Scribe: Kasper Egdø and Morten Bjerre

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 19

Scribe

An application level multicast infrastructure

Kasper Egdø and Morten Bjerre


Motivating Scribe:
Tracking stock prices
• Users wish to track the price of stocks
• Prices need to be broadcast
• Many stocks, many users
• Dynamic set of users and stocks
• Faulttolerant and decentralized
Overview
• Pastry: Object location and routing scheme
used by Scribe
• Scribe: An application level multicast
infrastructure
• Anycast: An application layer built using
Scribe
• Conclusion
Quick Pastry
• 128-bit node/object space
• Prefix routing
• Good locality
• ”Short routes” property
• Non-FIFO
• deliver, forward, newLeafs
What is Scribe?
• Application level multicast infrastructure
• Built ontop of Pastry
• Scales well
• Best effort delivery
Group management
• Rendezvous Point (RP)
• Access control done at RP
Creating a group (1100)
1111
0100

GroupID 1100

ACL xxx

Parent Null

1100 1101

1001
Rendezvous Point
(Pastry root) Group Creator
0111
creates Group 1100
Member management
• Joining a group
• Children table
• Leaving a group
• A multicast tree is created
Joining a group GroupID 1100
Parent 1001
Child 0100
1111
0100

GroupID 1100

ACL xxx

Parent Null

1100 1101
GroupID 1100
1001 Join request
Rendezvous Point GroupID 1100 Parent 1001

(Pastry root) Parent 1100


GroupID 1100
Child 0111
Child 1001
Parent 1101 0111
Child 0100
Child 0111
Joining member
Leaving a group
1111
0100
GroupID 1100
ACL xxx
Parent Null
Child 1101

Leave request
1100 1101
GroupID 1100
1001 Leave request
Rendezvous Point Member Parent 1001
(Pastry root) GroupID 1100 GroupID 1100
Parent 1100 Parent 1101 0111
Child 1101

Leaving member
Multicasting
1111
0100
Message

1100 1101

1001
Multicast down tree
Rendezvous Point
(Pastry root)
0111
Maintaining the tree
• Parent heartbeats check if nodes are alive
• Children rejoin group if parent dies
• RP state information replicated to leaf
nodes
Repairing the tree GroupID 1100
GroupID 1100 Parent 1001
Parent 1100 Child 0100
Child 1001
1111
0100
Join request
Join request

1100 1101

Rendezvous Point 1001


(Pastry root) Failed Node
GroupID 1100
GroupID 1100
Parent 1111 0111
ACL Xxx
Child 0100
Parent Null
Child 0111
Child 1111 GroupID 1100
Parent 1001
Child 0111
Problems with Scribe
• Best-effort delivery
• No built-in protection of information
• Possible concurrency problems
More reliability
• Number and buffer messages
• Applications can choose to improve
reliability
• Encryption of messages
Comparing Scribe and IP
multicast
• Scribe scales better and supports dynamic
groups
• Scribe nearly as efficient as IP multicast
Application of Scribe
• Anycast offers anycast and manycast
Anycast
Scribe group Client B

Client A

Resource offered
Conclusion
• Scribe is very good for large scale multicast
• Easy to implement applications which use
Scribe

You might also like