WS-Memebrship Paper from Cornell by Vogels and Re

1. Development of advanced distributed system services in the context of WS-coordination framework.
    -- will include failure management, a consensus service, and light-weight state-sharing engine.

2. This service will be more an enabler for other services. Other services may use this service.

3. Architecture: "A membership Framework"
   

     Coordination Service 
     Membership Service (MSS)
     Member service (MS)
     Membership Proxy (MP)
     Membership Monitor    (MM)

 4. Protocols and API:
    Coordination service: described in ws-coordination; receives service activation and registration requests and routes them to MSS.
   Activation and Registration (protocol)
     -- CreateCoordinationContext (URI) will instantiate a MSS at the requetsed site if URI is new;
           MSS is created and added to existing set of MSSs.
     -- If no services request registration within a certain period MSS will deactivate and remove itself from member list.
     -- MSS does not become a member of exiting set until MS request regitry.

    -- A service instance (MS) will request added to membership thru' RequestMemberService action.
          Parameters include URI for MS and CoordinationContext that represents all the coodination MSS, port number for probes.
         -- MemberProbe, MemberAlive and MemberLeaves are other messages and notofications.
   
    -- Alternetive way for a service to be added to membership is thru' MP (proxy).
          Proxies register with MSS thry' RegsiterMembershipProxy. Many services can be handled by a single proxy.
          ProxyAlive, MemberLeaves, and MemberFailed are some of the messages.

    -- Membership Monitor register using RegisterMemshipMonitor which has port reference to receive MembershipUpdate messages.
         Messages could be  list of currenly alive  MS, MS that have left, MS that have failed, MS that have reportedly failed.

5. The Epidemic Memebership Service (EMS)
     Based on epidemic state maintenance techniques which provide an excellent foundation for constructing loosely coupled,
      asynchronous and autonomous distributed components.
      Gossip style failure detetection
      Read teh advantages and disadvantages. Can we improve on the disadvantages?

6. Operation of EMS
     Each paricipant maintians a list of known peers inclduign self
     For each peer the entry has id, timestamp and integer representing heartbeat counter
     Periodically the participant will update its own hearbeat counter and transmit all the enties in its membership to peers.
     Each peer on receipt of the message will merge the received list with its won, adapt largest heart beat value for
     an entry and update timestamp when a chnage is made in the entry. see Fig.2
     If a participant's entry has not been updated for configurable time period it is declared to have failed.
     Works on push-pull model rather than simple push.
      When a participant finds newer values than the one pushed it sends the newer values to sender. See. fig. for push and pull
      gossip.

7. Service Membership
    Membership protocol operates between instances of Membership Services;
   
    To implement Member Service membership, the list is extended to include a list of member services registered with each Membership Service
    instances. If a Membership service fails all the Member Services associated with it are marked failed.

     If a Member Service fails the services is marked as failed in the membership list.  Other intsnaces will receive information about its
     failure thru' epidemic spread of membership info. Failure is deteed thru' repeated interrogation and/ot memberFailed indication from a
      proxy.
   
     Information sent in the gossip is organized in 5 sets:
     Members, Joined, Left, Failed, Suspected.   "Lifecycle" draw a picture

8. Optimizing current activations
    -- common communication engine for multiple instances of the protocol
    --  stable service groups gossip not the entire but updated list

9. Implementation
    Coordination and Membership frameworks, and EMS are implemneted using Base Obdure Toolkit based on MS WSDK.
     3 failure detections:
member services --- thru' MemberProbe
proxy services --- ProxyProbe
Membership Services -- using EMS protocols


10. Paper format:
Abstract
Keywords
Categories and Subject Descriptions
General Terms
Introduction
The Obduro Project (Context and Relevance)
 Architecture/Framework
Protocols and API    
Original Contribution (protocol?/API/?)
Implementation (Operational Details)
Simulation Results
Related work
Future Work
References