초록
Pastry 오버레이 네트워크는 분산 해쉬 테이블(DHT : Distributed Hash Table)을 사용하는 구조적(Structured) P2P이다. Pastry에서는 노드들 사이의 메시지 수를 줄이기 위해 각각 공간적 지역성과 캐슁을 이용한 Rosary와 LAR이 제안되었다. Rosary는 Inter-Pastry와 Intra-Pastry로 구성된다. Rosary에서 루트 노드는 각 Intra-Pastry를 대표하는 노드가 할당되고 Inter-Pastry와 Intra-Pastry 라우팅을 책임진다. 이러한 구조로 인해 Rosary는 다음과 같은 단점을 가진다. 첫째는 루트 노드의 실패 시 고장 방지 능력(Fault Tolerance)에 약하다는 점이고, 둘째는 루트 노드를 사용하기 때문에 라우팅 홉 카운트가 기존 Structured P2P에 비해 증가한다는 점이다. 마지막으로 셋째는 통신 부하가 특정 지역에 집중한다는 점이다. LAR의 경우 캐슁이 Intra-Pastry내의 노드들 사이에 골고루 분포되지 않고 Intra-Pastry내의 특정 노드들에 의해서만 사용되어지는 단점을 가진다. 본 논문에서는 Rosary와 LAR의 문제점을 해결한 Doughnut이라 불리는 개선된 Pastry를 제안한다. Doughnut은 지역적 특성에 따라 노드들을 구분한 Inter-Pastry와 Intra-Pastry로 구성되고, 모든 노드들은 Inter-Pastry와 Intra-Pastry 라우팅을 책임진다. 이것은 모든 노드들이 기존의 루트 노드의 역할을 수행함을 의미한다. 이러한 방법은 고장 방지 능력이 감소하는 문제, 라우팅 홉 카운트가 증가하는 문제 및 통신 부하가 균일하게 분포하지 않는 문제를 해결한다. 또한 Doughnut은 지역적으로(Intra-Pastry) 캐쉬의 균일한 분포를 보장하고, 지역안의 캐쉬 콘텐츠는 다른 지역에서도 사용될 수 있기 때문에 효율적으로 캐쉬를 사용할 수 있다. 제안된 알고리즘은 시뮬레이터를 통해 구현되었고, 실험 결과는 기존 방법에 비해 제안된 방법이 효과적임을 보여준다.
Pastry overlay network is one of structured P2Ps using DHT(Distributed Hash Table). To reduce the number of messages among nodes, Rosary and LAR have been proposed by exploiting spatial locality and caching, respectively, in the Pastry. Rosary consists of Inter-Pastry and Intra-Pastry. A root node is assigned as a representative in each Intra-Pastry and it has the responsibility of Inter-Pastry and Intra-Pastry routing. Therefore, Rosary has several disadvantages; 1) low fault tolerance in case of root node failure 2) routing hop count increases because of the use of root nodes compared to the existing structured P2Ps, and 3) the communication load is concentrated in some specific areas. LAR has inefficient problems in that caching is not distributed among nodes in Intra-Pastry and caching is used by only nodes in the Intra-Pastry. In this paper, we propose an improved Pastry called Doughnut to overcome the above problems of Rosary and LAR. By dividing nodes with the local characteristics, the Doughnut consists of Inter-Pastry and Intra-Pastry, and all nodes have the responsibility of Inter-Pastry and Intra-Pastry routing. This results in that all nodes perform the role of the existing root node. This solves the problems of the reducing of fault-tolerance, the increasing of routing hop count, and the not-distributed communication load. Also Doughnut can use cache effectively because it guarantees the even cache distribution in local(Intra-Pastry) and the cache contents in local can be used in the other local. The proposed algorithm is implemented using simulator and the experimental results show the effectiveness of the proposed method compared to the existing method.