10 likes | 116 Views
Fast Server. Our New Policies. 1. Selections. 2. Existing Policies. 1. 2. Session Establishment (PU requests service from a pool): PU asks any PR (e.g. local PR in its LAN) to resolve pool handle to list of PEs PR selects set of PEs by pool's selection policy (e.g. round robin)
E N D
Fast Server Our New Policies 1 Selections 2 Existing Policies 1 2 • Session Establishment (PU requests service from a pool): • PU asks any PR (e.g. local PR in its LAN) to resolve pool handle to list of PEs • PRselects set of PEs by pool's selection policy (e.g. round robin) • PU puts PE set into its local cache • PU selectsone PE, again by policy, and establishes application connection • Subsequent requests may be satisfied from cache (default timeout: 30s) • Failover (PU handles a PE failure): • PU should report the PE's failure to its PR (PR may decide to remove this PE from the handlespace) • PU selects a new PE (from its cache , or by PR query ) • PU invokes an application-specificfailover procedure (Example: file download - tell new PE the file name and last position) 2 The Reliable Server Pooling Framework RSerPool Features: • Lightweight • Realtime • Scalable • Extendable • Simple • RSerPool Terminology: • Pool Element (PE): Server • Pool: Set of PEs • PE ID: Unique ID of PE • Pool Handle: Unique ID of pool • Handlespace: Set of pools • Registrar (PR) • Pool User (PU): Client • RSerPool Protocols: • ASAP (Aggregate Server Access Protocol) • ENRP (Endpoint HaNdlespace Redundancy Protocol) Our Demo System • Usage of SCTP for: • Multi-Homing • Network Path Redundancy • Dynamic Address Reconfiguration • Message Framing Thomas Dreibholz's Reliable Server Pooling Page http://tdrwww.exp-math.uni-essen.de/dreibholz/rserpool/ Policy-Based Server Selection Application Example SS7 Gateway for Telephone Signalling over IP Networks Client-Based Application State Sharing Our Research Activity • Selection Policy Performance: • Which server should be selected? • Different capacities • Current load status • => Definition of appropriate pool policies Our Prototype Implementation Our New Policies • Weighted Random • Static • Non-Deterministic • Priority Least Used • Dynamic • PE provides information ''How much does a new job increase my load?'' • Use PE that will be least loaded after it gets a new job • Design Decisions • Open Source (GPL License) • Platform independence Currently: Linux, FreeBSD, Darwin, Solaris • Implemented in ANSI-C • Basic Components • rsplib Library • ASAP protocol • Basic Mode API for PE/PU <-> PR communication • Enhanced Mode API: The RSerPool Session Layer • Registrar • ENRP protocol New policies achieve significant performance gain Contribution to the standard -> Internet Draft (Status: IETF RSerPool Working Group Document) http://tdrwww.exp-math.uni-essen.de/dreibholz/rserpool/