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