With the evolution of mobile technology, we have witnessed a great improvement in the communication ability, computing power and memory size of mobile devices. Mobile networks thus can provide much more interesting services and resources to users than before. Consequently storing, sharing and delivering resources efficiently have become popular topics in the field of mobile networks. The great success of P2P (Peer-to-Peer) networks has inspired academic and industrial researchers to propose mobile P2P networks to efficiently share network resources. However, due to the unique features of mobile networks, it is difficult to construct a P2P network over mobile networks. In this chapter, we discuss the design issues and approaches for constructing overlays in mobile P2P networks.
P2P Networks
P2P networks are widely deployed in existing non-mobile networks, such as LAN, WAN, and the Internet. Peers that join the network are organized into a logical topology, which is generally called an overlay network. Such an organization facilitates the data or information exchange among peers. In general, the construction and maintenance of a logical topology do not require any underlying topology information, though some researchers have proposed location-aware overlay construction (Liu et al., 2005) with the consideration of physical topology.
P2P networks can be considered as scalable and distributed application layer multicasts (Chu et al., 2002). However, P2P networks are different from the traditional application-layer multicast. Peers in P2P networks act as servers as well as clients, and therefore there is no peer that only plays the role of a router in the multicast. Consequently, P2P networks are highly distributed and self-organized (Padmanabhan, et al., 2003).
There are two main categories of P2P networks according to their major applications: (1) P2P File Sharing Networks, such as Gnutella (Klingberg & Manfredi, 2002) and BitTorrent (BitTorrent, 2001); (2) P2P Streaming Networks, such as Cool-Streaming (Zhang et al., 2005), PPLive (PPlive Inc., 2005) and PPStream (PPSteam, 2005). The key difference between these two kinds of networks is that data carried over streaming networks are time-sensitive, where every packet or block requested by the neighbors must meet the playback deadline, while in file sharing systems, there is no such time constraint. Deploying P2P streaming systems over mobile networks is more challenging than constructing mobile P2P file sharing networks, due to the low connectivity, low bandwidth and high peer mobility of mobile networks and the tight time constraints of streaming applications.
As discussed before, a P2P network constructs and maintains an overlay network, which is the basis for data delivery among peers. There are various overlay structures to support file sharing and streaming applications (Magharei et al., 2007; Castro et al., 2003), and all of them have two main procedures: overlay construction and overlay maintenance.
In summary, P2P networks are efficient overlay structures to facilitate data sharing among peers, and they have been widely used in non-mobile networks. A comprehensive survey of P2P overlay networks can be found in (Lua et al., 2004).