1 / 21

Banana Tree Protocol

Banana Tree Protocol. Properties. Banana Tree Protocol (BTP) is based on a tree topology Each host in the group is a node in the tree The node may be a parent or a child or both The host that created the tree is the root node and has no parent. Consequently, all other nodes have a parent.

zulema
Download Presentation

Banana Tree Protocol

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Banana Tree Protocol

  2. Properties • Banana Tree Protocol (BTP) is based on a tree topology • Each host in the group is a node in the tree • The node may be a parent or a child or both • The host that created the tree is the root node and has no parent. Consequently, all other nodes have a parent

  3. The parent is the next node on the path to the root A node may have multiple children Node’s parent or children are also its neighbors Other children of a node’s parent is called siblings Properties (2)

  4. Properties (3) toward root parent node child node node sibling sibling

  5. Joining Group • A host joins a group by becoming the child of a nodes currently in the tree (e.g. the root node) • We assume the existence of a bootstrap protocol • With bootstrapping protocol, host can learn of a node in a multicast group • A node that joining a multicast group with no member become the root node

  6. Switching in The Group • Nodes can change parent in some situations, it’s called switch • Example: node A switches to node C root root C B B C A A

  7. Sending Packets • To send a multicast packet, a node sends the packet to its neighbors • When a node receives a multicast packet from its neighbor, it forwards the packet to its other neighbors

  8. Partitioning • If node’s parent leaves or fails, a partition is formed. • The node then reconnect to the root • This can’t create a loop because the root can’t be the node’s descendant • If the node’s child fails, the node does nothing, because if the child had children, they will reconnect to the root themselves

  9. Optimization Algorithm • Nodes can switch parents to optimize the tree • For avoiding loop, a node can’t switch to an arbitrary node • A node can only switch to: 1. root 2. siblingbecause a root and a sibling is not descendant of the node

  10. Optimization Algorithm (2) • Looping case: root root 3 3 3 3 1 1 Loop 3 3

  11. Optimization Algorithm (3) • The purpose of switching to a sibling is to optimize the tree for low cost. Because BTP is designed without considering low latency. R R R 3 3 A B A B A B 1 Tree cost = 6 Tree cost = 4

  12. Optimization Algorithm (4) • When a node is switching to a sibling, another rules are: 1. the sibling is still the node’s sibling 2. the sibling is not trying to switch to another node at the same time

  13. Switching Algorithm • Assume a node has received a list of its siblings from its parent and has found a sibling closer than its parent. • That node may find this sibling by pinging each sibling. • This sibling is called potential parent.

  14. Switching Algorithm (2) • When a node wants to switch to a potential parent, it must first send a switch request to the potential parent. • The node has to wait for an acceptance or rejection message.

  15. parent parent Switching Algorithm (3) • Problem: • To ensure that siblings do not try to switch each other at the same time, a node which is trying to switch to a potential parent will always reject a request from the potential parent to switch to it.

  16. parent parent A A B B C C Switching Algorithm (4) • Problem: • To prevent such loops from happening, BTP adopted the policy that a node will reject all attempts at switching if it is itself in the process of switching parents.

  17. Switching Algorithm (5) • For avoiding an out-of-date information, the node has to include the current parent information in the switch request. • The potential parent checks that the node and itself are actually sharing the same parent.

  18. Closeness Metric • Closeness Metric, C = ds/dc ds: the distance from node to the closest node found by switching dc: the distance from node to the closest possible node in the tree C ≥ 1, but if C = 1  ideal

  19. BTSMP and BTFTP • There are two protocols built on top of BTP that give additional features: 1. Banana Tree Simple Multicast Protocol(BTSMP) 2. Banana Tree File Transfer Protocol (BTFTP) • BTSMP provide many-to-many group communication for sending and receiving packets. • BTFTP provides one-to-many file distribution.

  20. BTSMP and BTFTP (2) • The only feature of BTSMP is caching. Each node can keep a cache of the last few packet sent or received. • The good thing is when a new node joins the tree, it can request the contents of the cache from its parent. • BTFTP provides reliable one-to-many file transfer. It is assumed that the root has the file.

  21. Related Work • Several end-host multicast protocols related to this protocol are:1. Yoid2. Narada3. AMRoute

More Related