Article Preview
TopIntroduction
Gnutella, Napster, etc. are some of the first-generation unstructured systems that started the P2P revolution, followed by the more efficient structured approaches such as Distributed Hash Tables (DHT) represented by Chord (Stoica, Morris, Karger, Kaashoek, & Balakrishnan, 2001), CAN (Ratnasamy, Francis, Handley, Karp, & Shenker, 2001), Pastry (Rowstron & Druschel, 2001), and a suite of similar systems which is based upon similar principle. Web caching, distributed storage, etc. are some of the earlier applications supported by P2P approach, followed recently by the more popular ones such as file sharing e.g., BitTorrent (Qiu & Srikant, 2004), multicasting e.g., Narada (Chu, Rao, & Zhang, 2000), and live streaming e.g., CoolStreaming (Zhang, Liu, Li, & Yum, 2005), PPLive (Hei, Liang, Liu, & Ross, 2007), AnySee (Liao, Jin, Liu, Ni, & Deng, 2006), etc. The potential advantage of P2P-based applications is mainly associated with the fact that peers share their resources such as processing power, storage, and bandwidth to help each other in searching/distributing content, thereby alleviating the server load. The management and distribution of multimedia content is particularly critical with respect to P2P applications and imposes more importance to the Internet traffic which is largely dominated by the ever-growing bandwidth-hungry multimedia data.
On-demand streaming can be enormously benefited from the application of P2P techniques as revealed in a recent study (Yann, Fu, Chiu, Lui, & Huang, 2008). We advocate a DHT-overlay based approach to address the challenging problem of efficient content discovery in On-demand system with asynchronous user interactivity. DHT overlays are already proved to be stable substrate with nice characteristics such as scalability, decentralized control, self-organizing, and resilience to network/peer dynamics. Incorporating DHT in one-demand streaming systems is not a trivial issue since it will generate a flurry of update operations with the continuously changing playback position of the user. The framework for Temporal-DHT (Bhattacharya, Yang, & Zhang, 2010) addressed this issue of accommodating a large number of update operations by exploiting the temporal dynamics of the content for estimating the current playing position of the peers automatically. Temporal-DHT combines the advantages of both the approaches of cache-relay and static-cache. Cache-relay based approach has a high streaming efficiency due to buffer-overlap relation between parent and child peers, whereas, on the contrary static-cache based approaches are more adapted for supporting dynamic and synchronous operations such as random jumps by avoiding the dependency on playing position between peers. Temporal-DHT employs a skilful integration of static and dynamic buffer management schemes to handle the request dynamics and streaming efficiency in a seamless fashion. We can describe Temporal-DHT as an augmented version of generic DHT semantics by incorporating the query reformulation, TTL filtering, and access workload self-profiling techniques.