2010-03-24 5 views
2

저는 일부 DHT 시스템, 특히 Pastry and Chord를 조사했습니다. 나는 chord의 churn에 대한 반응에 대한 약간의 우려를 읽었다.하지만 나는 그것이 손에 가지고있는 작업에 문제가되지 않을 것이라고 생각한다. 코스 프로젝트를 위해 중앙 서버에 의존하지 않는 일종의 소셜 네트워크 서비스를 구현하고 있습니다. 조회를 위해 DHT가 필요합니다.어떤 DHT 알고리즘을 사용해야합니까 (두 개의 별도 DHT에 가입하고 싶다면)?

이제 처음에는 네트워크에있는 모든 서버를 알 수 없습니다. 앞에서 설명한 것처럼 주요 추적 서버는 없습니다. 이 방법으로 작동합니다. 각 클라이언트에는 3 개의 전용 서버가 있습니다. 세 개의 서버는 클라이언트의 프로필을 가지고 있으며 벽입니다. 복제 된 개인 정보입니다. 사용자가 친구를 추가 할 때 (클라이언트 주소 입력) 다른 서버 그룹에 대해서만 알게됩니다. 그래서 나는 세 개의 서버로 구성된 두 그룹에 두 개의 분리 된 DHT를 만들고, 서로 친구가되어 DHT에 가입하고 싶습니다. 나는 이것을 일관되게 원합니다. 나는 프로토콜에 익숙한 모든 사람들을 얻는데 많은 시간을 보지 못했고 두 개의 분리 된 DHT에 가입하고 싶다면 어떤 것이 더 좋은지 알고 싶습니다.

답변

2

분산 해시 테이블은 주어진 데이터 조각을 저장하는 노드를 찾는 문제를 자동으로 처리하도록 설계되었습니다. 따라서 DHT 디자인 철학에서는 프로필, 벽 등에 전용 서버가 없을 것입니다. 각 서버에 대한 전용 데이터 식별자가 있어야하며 DHT는 활성 서버간에 데이터를 배치하는 것을 처리합니다 주어진 데이터 조각에 대해 올바른 서버를 찾는 것.

Pastry와 Chord는 기능면에서 매우 유사하며 이웃 집합과 라우팅을 처리하는 방법이 대부분 다릅니다. 이런 종류의 적용을 위해 다른 것보다 나을 것이 나을지는 분명하지 않습니다.

자세한 내용은 Infocom 2005의 기술 비교 논문 (A performance vs. cost framework for evaluating DHT design tradeoffs under churn (PDF))을 참조하십시오.

관련 문제