The past few years have witnessed an increased popularity of real-time multimedia applications. Nevertheless, network congestion as well as unexpected intermittent interruption in the streaming of live videos usually undermine the quality of services offered to users. A recently published paper proposed a novel P2P framework for multimedia services based on the CHORD protocol, which is a routing-based architecture where data items and nodes are organized into a l-dimensional ring.
Throughout this article, we will examine the CHORD P2P protocol.
Overview of the CHORD protocol:
The CHORD protocol is a scalable P2P lookup protocol that can be used for online multimedia applications. The CHORD protocol relies on Distributed Hash Table (DHT). All nodes within the protocol are organized in a unique identifier circle, which is based on node identifiers as shown in the below figure.
Figure (1): The CHORD protocol ring
Keys are assigned to their successor nodes within the identifier circle. The hash function is used for even distribution of all nodes and keys on the CHORD ring. Within the ring, all peers as well as the resources are assigned to unique identifiers. The identity of each peer is stored in the format of (identifier key, value). To accomplish efficient data routing, each node within the ring stores the details regarding O (log N) of other nodes. It is relatively hard to maintain the consistency of details of the O value of nodes, because any node can join or leave the ring at any time.
When requesting content or a resource, e.g. video, each node performs a single operation – for the given key, the key is mapped onto a node. Depending on the type of application utilizing the CHORD protocol, that node is responsible for storing the value associated with the matching key. CHORD utilizes consistent hashing methods to associate identifier keys with CHORD nodes. Consistent hashing is used for load balancing, given the fact that each node has to store the number of keys and value pairs, and it required little movement of keys whenever any node joined or left the network.
CHORD protocol utilizes consistent hashing, like SHA-1, to create corresponding identifiers. It also generates the identifier key, which is the basis for assigning a node and its data item location on a circular CHORD overlay. Node identifiers are created via hashing an IP address, while hashing its unique name yields the data item’s key. Regular hashing maps identifier keys to nodes as follows: nodes are organized into an identifier circle. Thereafter, the key k is assigned to the corresponding node. Then, this node follows it directly in the identifier space and is designated the successor node of k. CHORD makes use of virtual nodes to promote uniform key distribution within the nodes. In such a scenario, multiple IDs are matched to every physical node within the same CHORD ring, guaranteeing uniform key distribution for all nodes. The peer ID can be retrieved by hashing the IP address of a given peer, and the data value is hashed to yield the resource ID. The resource ID is kept in the first peer, whose ID >= Resource ID. Finger table values are recorded by each peer within the circle, which stores records of routing information.
Each node has a finger table to record log N successors where N represents the number of peers. Every peer checks successor peers for the updating of the finger table. Every peer contacts a peer predecessor, as it is useful when a peer leaves the CHORD ring and asks the previous peer to update the finger table. CHORD routes the messages via means of forwarding to a successor node near to the destination identifier. The first peer checks the finger table records, chooses a successor node near the destination, and finally forwards a request to it. The peer, on receiving requests, would also undergo some form of checking and would forward a message to the successor peer node. The entire cost does not exceed the log N hops and ½ log N, where N represents the number of overlay peers. The CHORD protocol defines an advertisement function regarding the joining/leaving procedures for peer nodes.
CHORD and multimedia applications:
Experiments conducted by the researchers proved that the CHORD protocol can be effective in distributing multimedia applications in a P2P networking environment. A structured approach boosts the lookup performance of the CHORD protocol in a high bandwidth wired network, even though unnecessary overhead is generated in overlay networks that can undermine the performance of a Wireless Mesh Network (WMN). Experiments proved that a structured approach can boost lookup performance for multimedia applications within a high bandwidth wired network. Furthermore, overlay networks may yield pointless overhead that could negatively influence performance in an unstable environment such as a WMN.
This study investigates using existing CHORD protocol on WMN for distributing live videos. The performance of CHORD protocol for parameters, such as average search time and response time, were evaluated for WMN. Simulation results show that the dynamic nodes negatively affect the performance of the WMN, when compared to the static nodes.
CHORD based P2P multimedia services can solve many of the current problems associated with live video broadcasting. Further research is needed to compare the efficiency of CHORD based systems with that of distributed file sharing systems such as Lime Wire, Freenet, and Morpheus.