40 likes | 131 Views
Resource related. Commit request. Plug-In Related. Group Related. Query request. Server related. Task related. Failure. …. …. …. …. …. …. …. …. …. …. Algorithm for Merging Rings. Start. What type of State request was received. Ring merge inf. req. Local connection. unknown.
E N D
Resource related Commit request Plug-In Related Group Related Query request Server related Task related Failure … … … … … … … … … … Algorithm for Merging Rings Start What type of State request was received Ring merge inf. req Local connection unknown Initiate recovery & security routine VM Related unknown Is this request already in my MINE queue? What type of VM request? N Y
… … Generate a commit, place commit in MINE, and pass commit along. Delete ring Rank shift Add ring stop Ring merge request released from hold. Continue processing Am I the split point? Record the request as Pending N Y Pass along the request to next member Y Is another merge in progress? Does this request have priority? stop N Y N
Y Is a split in progress? N Put this request on HOLD until notified of higher rank request(s) completion(s) Consolidate local ring information. Generate RMIR (RMIR: Ring Merge Information Request) stop Place RMIR in PENDING Pass RMIR point-to-point to contact in complement ring
Did point-to-point communication fail? Y Generate an add-ring-request failure notice N Put the add ring request on HOLD until RMIR commit received Place add-ring-request in HOLD until ARR failure committed stop stop