Chapter 2. Related Work
2.2 Peer-to-Peer Technology
In this section, we discuss the Peer-to-Peer network summary and Peer-to-Peer technology development on the Grid computing system.
2.2.1 Peer-to-Peer Network
Currently, Peer-to-Peer networks are almost applied to the file sharing and instant messaging applications, different from the traditional server/client architecture, the computer nodes in peer-to-peer network are all the same, and play server and client role at the same time. Each node is able to sharing out its resource and also can get the resources from other nodes. By this architecture, without server or client restrictions, computer nodes own more rule and the better flexibility, while reducing the network bottlenecks happened (the popular server often causes the congestion), and the network bandwidth has been properly applied, thus the network performance enhancing greatly. Peer-to-peer network is structured from a large-scale decentralized system platform and mappings object location to other nodes by its identification [40].
In research [3], authors proposed the definition for Peer-to-Peer Network.
Peer-to-Peer systems are distribution systems consisting of interconnected node able to
self-organize into network topologies with the purpose of sharing resources such as
content, CPU cycles, storage and bandwidth, capable of adapting to failures and
accommodating transient population of node while maintaining acceptable connectivity
and performance, without requiring the intermediation or support of a global centralized
server or authority.
The characteristics of peer-to-peer network are decentralized, high performance, excellent scalability, robustness, security, price advantage and load balancing, etc. [3, 26]. We describe these characteristics as the following:
Decentralization
The computer nodes in Peer-to-Peer network are distributed. Each nodes can send message to each other without centralized sever intervention. Therefore, it could avoid some unexceptional event, such as the bottlenecks, security and management issues.
Scalability
In the Peer-to-Peer network, self-organizing helps every node can join or leave anytime in the topology. With the user increase, not only the requirement of services has increased, but overall system resources and services also expand simultaneously. We could satisfy the user’s requirement more easily, which is unable to be done in the traditional distributed system.
Robustness
The advantages of Peer-to-Peer architecture are the high fault-tolerant and it could prevent from the network attack. As the services are scattered in various nodes, if some nodes or network were damaged, the system will have less influence from the damage.
Generally speaking, if some nodes lost or leave in Peer-to-Peer network, the topology will self-adjustment automatically, and to keep the link with other nodes. Peer-to-Peer network can also self-organizing constantly according with the network bandwidth, number of node and the system load.
Security/Privacy Protection
The beginning of system was established, the system designer consider the security problem about how to prevent the attack. Peer-to-Peer systems are deployed on unmanaged and geographically distributed hosts. All information transfer are scattered
between the nodes, without through centralized server or node, thus prevent the private information leaked and possibility of eavesdropping.
Loading Balance
The computer node in Peer-to-Peer network are both server and client, unlike the server/client architecture emphasized the computing power and storage capacity.
Meanwhile, because of the resource be distributed in number of nodes, the Peer-to-Peer network could achieve the network load balancing.
In the Peer-to-Peer network, it is not easy to regulate user behavior and the computer node quality, which are many different types of hazards, such as to abuse other nodes resources. In the Grid system, the computing nodes all have the safety certification and reliability account. We can use Peer-to-Peer technology to group the computing node and ensure that resources are used effectively and have a safety access mechanism.
Super node is an important development of the Peer-to-Peer technology. Compare with the super node and general node, super node is powerful than general node in its computing power, bandwidth and the storage capacity, etc. Therefore, super node can burden more work than other nodes [3]. The earliest application adopt the super node concept is KaZaa [30].
KaZaa is the one of the popular Peer-to-Peer software in the world. According to the statistics, the KaZaa has been downloaded more than 250 million times, and the file transfer in KaZaa consumed 40 percent of the global network bandwidth. KaZaa combines Napster and Gnutella common benefit. In the structure of KaZaa, uses the wide distributed architecture like Gnutella, and lets system can be expanded easily. Because the KaZaa is not necessary to save file name in the centralized index server, system will choose the node which have better performance to become the super node automatically, and save the neighbor nodes information, then link these neighbor nodes up to from an overlay network.
technologies, such as blind search and heuristic search. In many studies, research in search method and try to find the better path or improve the speed of search. As the super node indexing, search efficiency has improved greatly.
At present, well-known communications software Skype is a Peer-to-Peer VoIP application, it uses the same topology like KaZaa. The topology structure of KaZaa and Skype are slimier between Napster [36] and Gnutella, they both group the node in the region, and the formation of these groups may be from similar geographical or share similar resources.
Therefore, to share resources in the same region will bring the high query frequency and quantity.
2.2.2 Peer-to-Peer Grid System
Grid system and Peer-to-Peer system both are built from the community concept, when Grid computing has been widely used in the computing scientific, Peer-to-Peer applications are still most used in multimedia file exchange. Grid computing provides computing resources to the user, and resource management and task scheduling are the important services of the Grid system. In addition, Grid system focuses on deal with more powerful, more diverse, and a highly interconnected set of resources.
In the resource provision view, Grid system emphases on supply Quality of Service (QoS), but Peer-to-Peer system could not be fully guaranteed. Now, with the Grid system scale expand, Grid developers are facing the autonomic configuration and management issues [16]. In recent years many projects such as Jalapeno [48], SP2A [2], and JNGI [28], combine the Peer-to-Peer technology and the Grid system. Most of Grid computing projects application in resource collection and job management. JNG and Jalapeno used Peer-to-Peer technology to job execution in the Grid system. In the job management, JNG and Jalapeno taken a similar approach, both integrated computing resource in the group. Compare with
these two Peer-to-Peer Grid systems that Jalapeno collects the job which is already submitted, to extend jobs throughout the system and it not necessary to ask submitter any action or request. But the job submitter of JNGI, it must send request to worker group before submit job. After above action, the submitter was allowed assigns the job to worker group.
Unfortunately, JNGI could not distribute large number of jobs to worker groups at the same time.
Besides computing resources collection and utilization, the issues of resource integration are how to allocate large-scale resource and to collect the computing resources come from different domain. The Grid system common problem is that the users always like to use the powerful node, and the resource will be concentrated in these powerful nodes. Then, bring the resource imbalance problem. We could take on the Peer-to-Peer technology to help discovery the new resource quickly, add computing nodes more flexibly, and use computing resources more evenly.