Market Net Directory Services MDS Weibin Zhao Henning
Market. Net Directory Services (MDS) Weibin Zhao Henning Schulzrinne Department of Computer Science Columbia University
Directory Services l Replication: fault tolerance, availability and performance Client Registration Query Acknowledge Server 1 Reply Server 2 Advertisement Control Message Registration Propagation Server 3 Server Group MDS 2
MDS: Market. Net Directory Services * Approach l built on top of an existing directory service system í SLP: Service Location Protocol í lower cost, can be reused l enhance SLP reliability and scalability í adjust to service dynamic changes and losses í scale to large systems * Critical issues l l l MDS data organization and distribution handling failures: server crashes and network partitions server group management 3
MDS Design Overview * Peering architecture í multiple server groups * Asynchronous replication í high availability: anti-entropy (eventual consistency) * Direct forwarding í propagate new updates rapidly * Automated server group management í server advertisement & request * Dynamic states * Version resolution * Handling deleted states MDS 4
Peering Architecture * Peers l l share serving groups have a persistent peering connection í a reliable FIFO communication channel: TCP * Topology l l an arbitrary connected graph, multiple groups best for a full mesh y Server 1 (x, y) Server 2 (y, z) x Server 3 (x, z) MDS z 5
Controlling Timestamps * accept. ID l for updates propagation í accept. Server: the first replica that accepts the update í accept. TS: timestamp at accept. Server * arrival. TS l for dynamic states í purge expired states * version. TS l for version resolution í each registration only updated by one client í new version overwrites the old one MDS 6
Messages * Server group management í Advertisement: server domain name, serving groups í Advertisement. Request í Peer. List í Keep. Alive í Bye * Updates propagation í State. Report: summary of states í Batch. Begin í Batch. End í Mesh. Forward Extension: accept. ID, version. TS (append to update messages when propagated among replicas) MDS 7
Peering Connections * Identify l a connection í from which an original Advertisement is received l original Advertisement í advertised domain name = sender domain name * Maintain l l Keep. Alive handling failures í server crashes, network partitions MDS 8
Peer Management * Discover new peers l l static configuration, DHCP Advertisement: multicast, unicast exchange Peer. List with a new peer forward a new peer Advertisement to existing peers * Remove an old peer l l l MDS peering connection has been closed Keep. Alive time out Bye received 9
Ordering and Summary * Ordering: accept. ID l l total order: accepted by same server partial order: in the system * State summary l all the latest accept. IDs í ((S 1, T 1), (S 2, T 2), … (Sn, Tn)) l MDS carried by State. Report 10
Updates Propagations * Anti-entropy l pull model í when State. Report is received í uni-direction: from sender to receiver l scheduling State. Report í new peer and after failures (reboot and network partitions) í send to one peer at a time * Direct forwarding l l push model propagate new updates quickly í one-hop: from accept. Server to its peers MDS 11
Transfer Modes * Normal mode l ordering transfer * Batch Mode l l unsorted states between Batch. Begin and Batch. End deliver summary after a whole batch has been received new peer Anti-entropy after an anti-entropy Direct forwarding Sending new peer Receiving MDS receive Batch. Begin Normal Batch receive Batch. End 12
Performing Updates * Version control l use version. TS: new version overwrites the old one * Dynamic states l soft state: remove a state when it expires * Handling deleted states l l l MDS deletion flag propagation: (1) registration, (2) deregistration no special purging process 13
Survivability * Handling Failures í server crashes, network partitions l server side í Keep. Alive time out í deliver a batch after Batch. End l client side í automatically discover/select/switch servers í response time out Server 1 Server 2 Client MDS 14
Conclusions * MDS l l a robust distributed dynamic directory service for general purposes and customized applications * Contributions l defined a lightweight directory replication protocol í m. SLP - mesh-enhanced Service Location Protocol l l standalone and integrated implementation in Java Internet Draft and ICCCN’ 00 paper * Future work l MDS advance m. SLP to RFC 15
Demo l l Metro-north and Diablo (servers): peering Ruihan (client) discovers servers registration propagations failures: Diablo crashes and network partitions í Ruihan switches to Metro-north í Diablo recovers Metro-north Diablo Ruihan MDS 16
- Slides: 16