KR20110021935A - 후속자 목록을 제공하는 방법 - Google Patents
후속자 목록을 제공하는 방법 Download PDFInfo
- Publication number
- KR20110021935A KR20110021935A KR1020107028992A KR20107028992A KR20110021935A KR 20110021935 A KR20110021935 A KR 20110021935A KR 1020107028992 A KR1020107028992 A KR 1020107028992A KR 20107028992 A KR20107028992 A KR 20107028992A KR 20110021935 A KR20110021935 A KR 20110021935A
- Authority
- KR
- South Korea
- Prior art keywords
- nodes
- successor
- node
- peer
- physical hardware
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/0836—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability to enhance reliability, e.g. reduce downtime
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/437—Ring fault isolation or reconfiguration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1048—Departure or maintenance mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1053—Group management mechanisms with pre-configuration of logical or physical connections with a determined number of other peers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 피어-투-피어 오버레이 네트워크(N)에서 라우팅을 위한 후속자 목록(L)을 제공하는 방법, 및 이 방법을 실행하는 네트워크 노드 및 컴퓨터 프로그램 제품에 관한 것이다. 피어-투-피어 오버레이 네트워크(N)는 복수의 노드들(0,20,50,87,112,140,179,200,211,223,240)을 포함한다. 후속자 목록(L)은 피어-투-피어 오버레이 네트워크(N)의 토폴로지 구조와 관련하여 복수의 노드들(0,20,50,87,112,140,179,200,211,223,240)의 제 1 노드(200)에 후속하여 계속되는 적어도 2개의 후속자 노드들(211,223)을 포함하고, 후속자 목록(L)에 열거된 적어도 2개의 후속자 노드들(211,223)이 동일한 물리적 하드웨어 상에서 동작하는지를 결정하고, 적어도 2개의 후속자 노드들(211,223)이 동일한 물리적 하드웨어 상에서 동작하는 경우, 피어-투-피어 오버레이 네트워크(N)의 토폴러지 구조와 관련하여 적어도 2개의 후속자 노드들(211,223)에 후속하고 적어도 2개의 후속자 노드들(211,223)과 상이한 물리적인 하드웨어 상에서 동작하는 복수의 노드들(0,20,50,87,112,140,179,200,211,223,240) 중의 적어도 하나의 부가적인 노드(240)의 식별자가 후속자 목록(L)에 부가된다.
Description
본 발명은 피어-투-피어 오버레이 네트워크에서 라우팅을 위한 후속자 목록(successor list)을 제공하는 방법, 및 상기 방법을 실행하는 네트워크 노드 및 컴퓨터 프로그램 제품에 관한 것이다.
피어-투-피어(=P2P) 오버레이 네트워크는 VoIP(Voice over Internet Protocol)(예를 들어, 스카이프(Skype)) 또는 파일-공유(예를 들어, eMule)와 같은 광대한 수의 응용을 위해 이용된다. 높은 확장성, 자가-구성 및 내고장성(fault tolerance)과 같은 특징들이 분포된 아키텍처 및 집합적으로 제공 및 사용된 자원들상의 데이터 스토리지에 의해 달성된다. P2P 네트워크는 피어들로서, 즉 네트워크의 클라이언트들 및 서버들로서 작용하는 노드들로 구성된다. 이하의 설명에서, 용어들 "노드(node)" 및 "피어(peer)"는 교환 가능하게 사용된다. 네트워크의 각 노드는 오버레이 알고리즘에 관해 확립되고 메시지 전송에 이용되는 다른 노드들에 대한 하나 이상의 논리적 링크들을 유지한다.
최신의 P2P 네트워크들은 언더라잉(underlying) 네트워크 인프라구조의 불가지론적인 오버레이 특질 알고리즘들을 기반으로 한 논리적 토폴러지 구조를 형성한다. 각 노드는 방송 방식(구조화되지 않은 오버레이들, 예를 들어, Gnutella), 또는 ID-기반 방식(분배된 해쉬 테이블(=DHT)을 이용한 구조화된 오버레이들 예를 들어, 코드(Chord))(ID=identification/identifier)의 메시지 라우팅을 위해 이용되는 다른 노드들에 대한 하나 이상의 링크들을 유지한다. 일부 시스템들은 피어들의 구조화되지 않은 그룹들과의 하이브리드 아키텍처를 이용하고, 이들 그룹들은 보다 큰 토폴러지(예를 들어, Skype)로 구조화된다.
P2P 네트워크들은 총체적으로 분산된다. 오버레이에 참여하는 피어들은 돌연하게 임의의 시간에 네트워크를 떠날 수 있다. 노드 장애들의 경우에 P2P 네트워크의 토폴러지 구조를 유지하기 위해, 각 노드가 바로 이웃한 노드들에 대한 몇개의 링크들을 유지하는 것이 필수적이다. 코드에서(In Chord), 예를 들어, 후속하는 이웃한 피어들 중 하나 이상이 P2P 오버레이를 돌연히 떠나는 경우 각 피어는 P2P 링 토폴러지를 안정화하는 이른바 "리던던트 후속자 목록(redundant successor list)"을 유지한다.
도 1a는 복수의 노드들(0,20,50,87,112,140,179,200,211,223,240)을 포함하는 구조화된 종래의 P2P 오버레이 네트워크(N)를 도시한다. 특히, 도 1a는 코드 링(Chord ring)(N)을 예시한다. 노드들의 참조 부호들 (0,20,50,87,112,140,179,200,211,223,240)은 또한 노드들의 노드 ID들(0,20,50,87,112,140,179,200,211,223,240)을 나타내도록 의도된다. 코드에서, 노드들은 그들의 선행자 및 후속자 노드들에 대한 직접 접속들을 유지하고, 이는 결과적으로 링 토폴러지를 발생시킨다.
P2P 코드 링(N)에서, 링 토폴러지 구조는 이른바 리던던트 후속자 목록(=RSL)이라 불릴 수 있는 후속자 목록을 이용함으로써 안정을 유지한다. 도 1a에서 도시된 바와 같이, 복수의 노드들(0,20,50,87,112,140,179,200,211,223,240)의 제 1 노드(200)는 제 1 노드(200)에 후속하여 계속되는 2개의 후속자 노드들(211,223)의 식별자를 명기하는 후속자 목록을 유지한다. 도 1b에 도시된 바와 같이 제 1 후속자 노드(211)가 고장나서 링을 떠나는 경우, 제 1 노드(200)는 여전히 후속자 목록에 열거된 다른 후속자 노드(223)에 대한 링크를 갖는다. 후속자 목록의 후속자 노드들의 리던던시에 의해, 피어-투-피어 오버레이 네트워크의 토폴러지 구조는 유지될 수 있다. 제 1 노드(200)에 이웃한 다수의 후속하는 후속자 노드들이 고장나고 후속자 목록은 링이 닫힌 채로 남아있도록 후속자 노드들을 충분하게 열거하지 못하면, 토폴러지 구조는 유지될 수 없고, 링은 파손된다. 결과적으로, 링 토폴러지의 안정성은 후속자 목록에 열거된 후속자 노드들의 수에 의존하고; 후속자 노드들이 많을수록 링은 보다 안정화된다.
본 발명의 목적은 피어-투-피어 오버레이 네트워크에서 라우팅을 위한 후속자 목록을 제공하는 개선된 방법을 제공하는 것이다. 또한, 본 발명의 목적은 이 개선된 방법을 실행하기 위한 대응하는 네트워크 노드 및 대응하는 컴퓨터 프로그램 제품을 제공하는 것이다.
본 발명의 목적은 복수의 노드들을 포함하는 피어-투-피어 오버레이 네트워크에서 라우팅을 위한 후속자 목록을 제공하는 방법에 의해 달성되는데, 여기서 후속자 목록은 피어-투-피어 오버레이 네트워크의 토폴러지 구조와 관련하여 복수의 노드들의 제 1 노드에 후속하여 계속되는 적어도 2개의 후속자 노드들의 식별자들을 명기하고, 상기 방법은, 후속자 목록에 열거된 상기 적어도 2개의 후속자 노드들이 동일한 물리적 하드웨어 상에서 동작하는지를 결정하는 단계; 및 상기 적어도 2개의 후속자 노드들이 동일한 물리적 하드웨어 상에서 동작하는 경우, 피어-투-피어 오버레이 네트워크의 토폴러지 구조와 관련하여 적어도 2개의 후속자 노드들에 후속하고 적어도 2개의 후속자 노드들과 상이한 물리적인 하드웨어 상에서 동작하는 복수의 노드들 중의 적어도 하나의 부가적인 노드의 식별자를 후속자 목록에 부가하는 단계를 포함한다. 또한, 본 발명의 목적은 복수의 노드들을 포함하는 피어-투-피어 오버레이 네트워크의 제 1 노드에 의해 달성되는데, 여기서 상기 제 1 노드는 피어-투-피어 오버레이 네트워크에서 라우팅을 위한 후속자 목록을 유지하고, 후속자 목록은 상기 피어-투-피어 오버레이 네트워크의 토폴러지 구조와 관련하여 제 1 노드에 후속하여 계속되는 적어도 2개의 후속자 노드들의 식별자들을 명기하고, 상기 제 1 노드는 후속자 목록에 열거된 적어도 2개의 후속자 노드들이 동일한 물리적 하드웨어 상에서 동작하는지를 결정하고, 적어도 2개의 후속자 노드들이 동일한 물리적 하드웨어 상에서 동작하는 경우, 피어-투-피어 오버레이 네트워크의 토폴러지 구조와 관련하여 적어도 2개의 후속자 노드들에 후속하고 적어도 2개의 후속자 노드들과 상이한 물리적인 하드웨어 상에서 동작하는 복수의 노드들 중의 적어도 하나의 부가적인 노드의 식별자를 후속자 목록에 부가하도록 구성된 제어 유닛을 포함한다. 그리고 본 발명의 목적은 복수의 노드들을 포함하는 피어-투-피어 오버레이 네트워크에서 라우팅을 위한 후속자 목록을 제공하는 컴퓨터 프로그램 제품에 의해 달성되는데, 여기서 후속자 목록은 피어-투-피어 오버레이 네트워크의 토폴러지 구조와 관련하여 복수의 노드들의 제 1 노드에 후속하여 계속되는 적어도 2개의 후속자 노드들의 식별자들을 명기하고, 상기 컴퓨터 프로그램 제품은 제 1 노드에 의해 실행될 때, 후속자 목록에 열거된 적어도 2개의 후속자 노드들이 동일한 물리적 하드웨어 상에서 동작하는지를 결정하는 단계; 및 적어도 2개의 후속자 노드들이 동일한 물리적 하드웨어 상에서 동작하는 경우, 피어-투-피어 오버레이 네트워크의 토폴러지 구조와 관련하여 적어도 2개의 후속자 노드들에 후속하고 적어도 2개의 후속자 노드들과 상이한 물리적인 하드웨어 상에서 동작하는 복수의 노드들 중의 적어도 하나의 부가적인 노드의 식별자를 후속자 목록에 부가하는 단계를 수행한다.
리던던트 후속자 목록이 종래 기술의 시스템들의 경우와 같이 근원적인 물리적인 하드웨어를 고려하지 않고 오버레이 특질 노드 ID만을 기초로 하는 경우, 후속자 목록에 따라 라우트하는 노드에 후속하여 계속되는 2개의 후속자 노드들이 동일한 물리적인 기계(예를 들어, 개인용 컴퓨터)상에 위치되는 것이 가능하다. 이 물리적인 하드웨어가 장애가 생기면, 2개의 후속자 노드들은 동시에 DHT를 중지하고, P2P 오버레이 네트워크의 토폴러지 구조는 노드에 의해 유지되는 후속자 목록이 장애가 생긴 하드웨어 상에서 동작하는 피어들에 대한 링크들만을 갖는 경우 파손된다. 본 발명은 종래 기술의 직면한 이러한 문제를 해결한다.
본 발명은 오버레이 토폴러지 특질들에 기초하고 동시에 P2P 오버레이 네트워크의 근원적인 물리적인 하드웨어를 중요시하는 후속자 목록을 제공하는 알고리즘을 도입한다. 본 발명은 네트워크의 노드들이 동작하는 물리적인 하드웨어에 관한 정보를 후속자 목록 및 후속자 목록에 기초한 라우팅의 준비에 포함시키는 네트워크 노드(=논리적 피어)를 기술한다.
동일한 물리적 기계에 위치하는 노드들(예를 들어, XEN, VMware와 같은 운영 체제들의 가상화를 통해)이 이를 인지하고 있지 못하는 종래 기술과 달리, 본 발명은 네트워크 노드들 중 하나 이상이 동작중인 물리적인 하드웨어를 식별하고, 적합한 리던던트 후속자 목록에 대한 물리적인 하드웨어에 관한 정보를 고려하는 후속자 목록을 제공하는 시스템을 제시한다. 본 발명에 따라, 후속자 목록이 동일한 하드웨어(A) 상에서 동작하는 후속자 노드만을 열거하는 경우, 후속자 목록이 상이한 하드웨어(B) 상에서 동작하는 하나 이상의 후속자 노드들을 또한 포함하도록 후속자 목록이 보정된다.
본 발명은 후속자 목록을 제공하는 안전한 방식을 제공한다. 후속자 목록은 노드 장애의 경우 토폴러지 구조의 파괴를 방지하기 위한 전략이기 때문에, 본 발명에 따른 후속자 목록은 후속자 노드들이 동일한 물리적인 노드상에서 동작하지 않는다는 것을 보장하기 위해 잠재적인 또는 실제의 후속자 노드들의 물리적인 하드웨어를 중요시한다. 이는 종래 기술의 DHT 알고리즘들에서 고려되지 않는다. 특히, 소형 전개(약 100 노드들)에서, 노드들이 동일한 물리적 노드들상에서 호스팅된다(예를 들어, VMware, Xen,...과 같은 가상화 환경들에서처럼). 노드들의 물리적인 하드웨어가 무시되는 종래 기술에서, 이에 따라 토폴러지 구조는 다수의 피어들의 장애의 경우에 파손될 수 있을 수 있다. 본 발명은 노드의 물리적인 하드웨어를 고려하는 후속자 목록 준비에 의해 이러한 위험을 회피한다.
따라서, 본 발명은 이웃한 노드들이 동일한 물리적인 기계상에서 호스팅되는 가능성이 증가하는 작은 전개들에서 특히 유용하다. 본 발명은 물리적인 위치 및 오버레이 노드 ID의 맵핑에 의해 토폴러지 구조의 파손을 회피한다.
본 발명은 가상 환경들에서 P2P 토폴러지들의 리던던시를 유지한다. 그리고, 본 발명은 후속자 목록이 정당한 길이를 갖도록 자동으로 최적화되기 때문에 보다 높은 효율을 제공한다.
후속자 목록들이 오버레이 특질들에 기초하는 현재의 P2P 오버레이들에 대조적으로, 본 발명은 P2P 네트워크에서 리던던트 후속자 목록들의 준비 및 오버레이 토폴러지 생성을 위한 분배된 물리적인 하드웨어 인프라구조 위에서 가상화 해결책들을 고려하는 해결책을 제공한다.
또한, 본 발명은 서버 클러스터 또는 퓨어 P2P 전화통신 시스템들과 같은 분배된 환경들에서 유익하게 이용될 수 있는 기본적인 기술에 대한 개선을 개시한다. 특히, 이런 종류의 기술은 IETF P2P SIP(IETF=Internet Engineering Task Force; SIP=Session Initiaion Protocol)에 포함될 수 있다.
추가의 이점들은 종속 청구항들에 의해 표시된 본 발명의 실시예들에 의해 달성된다.
본 발명의 양호한 실시예에 따라, 적어도 2개의 후속자 노드들이 동일한 물리적 하드웨어 상에서 동작하는 경우, 상이한 물리적인 하드웨어 상에서 동작하는 후속자 목록에 열거된 후속자 노드들의 총 수가 미리-정의된 리던던시 인자(redundancy factor)와 동일하게 되도록 피어-투-피어 오버레이 네트워크의 토폴러지 구조와 관련하여 적어도 2개의 후속자 노드들에 후속하고 적어도 2개의 후속자 노드들과 상이한 물리적인 하드웨어 상에서 동작하는 복수의 노드들 중의 부가적인 노드들의 식별자들이 동일한 수만큼 후속자 목록에 부가된다,
본 발명의 양호한 실시예에 따라, 참가 노드(joining node)가 후속자 목록에 열거된 후속자 노드들 사이에서 피어-투-피어 오버레이 네트워크에 참가할 때, 참가 노드의 식별자가 후속자 목록에 부가된다. 참가 노드가 동작하는 물리적인 하드웨어가 결정된다. 바람직하게는, 상기 결정은 제 1 노드에 의해 수행된다. 상이한 물리적인 하드웨어 상에서 동작하는 후속자 목록에 열거된 후속자 노드들의 총 수가 미리-정의된 리던던시 인자와 동일한 경우, 적어도 하나의 부가적인 노드의 식별자는 후속자 목록에서 제거되는데, 여기서 상기 총 수는 상기 적어도 하나의 부가적인 노드를 제외한, 즉 상기 총 수는 상기 적어도 하나의 부가적인 노드를 계산하지 않고 결정된다.
제 1 노드는 그 자신의 하드웨어에 관한 정보 및 네트워크의 다른 노드들의 하드웨어에 관한 정보를 검출하는 것이 가능하다. 이 검출의 목적은 복수의 노드들 중 어느 노드들이 동일한 물리적 하드웨어 상에서 동작하는지를 밝혀내는 것이다. 물리적인 하드웨어를 검출하는 몇개의 가능한 방식들이 존재한다.
본 발명의 바람직한 실시예에 따라, 적어도 2개의 후속자 노드들의 플랫폼으로부터 정보를 검색함으로써 적어도 2개의 후속자 노드들이 동작하는 상기 물리적인 하드웨어가 결정된다. 바람직하게는, 상기 검색은 제 1 노드에 의해 수행된다. 적어도 2개의 후속자 노드들이 동작하는 상기 물리적인 하드웨어의 결정에 부가하여 또는 그 대안으로, 적어도 하나의 부가적인 노드들이 동작하는 물리적인 하드웨어가 적어도 하나의 부가적인 노드의 플랫폼으로부터 정보를 검색함으로써 결정된다. 바람직하게는, 상기 검색은 제 1 노드에 의해 수행된다. 적어도 2개의 후속자 노드들 및 적어도 하나의 부가적인 노드들이 동작하는 상기 물리적인 하드웨어의 결정에 부가하여 또는 그 대안으로, 참가 노드가 동작하는 하드웨어가 참가 노드의 플랫폼으로부터 정보를 검색함으로써 결정된다. 바람직하게는, 상기 검색은 제 1 노드에 의해 수행된다. 플랫폼은 예를 들어, CPU(중앙 처리 장치), 컴퓨터, 네트워크 유닛 등과 같이 적어도 2개의 후속자 노드들 및/또는 적어도 하나의 부가적인 노드 및/또는 참가 노드가 동작하는 물리적인 하드웨어일 수 있다. 정보는 적어도 2개의 후속자 노드들 및/또는 적어도 하나의 부가적인 노드 및/또는 참가 노드의 플랫폼과 연관되는 CPU ID, MAC(미디어 액세스 제어) 어드레스, 위치, IP 어드레스, 위치 등일 수 있다. 이는 소프트웨어 애플리케이션이 네트워크 노드들의 운영 체제(들)의 도움으로 밝혀낼 수 있는 임의의 정보를 포함한다. 예를 들어, MAC 어드레스는 보통 물리적인 호스트를 결정하는데 비교적 안전한 방식이지만, 이는 하드웨어 가상화 기술이 사용되는 경우 그렇지 않을 수 있다.
본 발명은 코드 피어들에 의해 실행되는 복제 방법(replication method)을 변형하고, 따라서, 물리적인 노드 장애들의 경우에 데이터의 가용성을 개선할 수 있다. 본 발명은 각각의 피어 노드를 예를 들어, 피어 노드를 호스팅하는 하드웨어 플랫폼을 식별하는 CPU ID, MAC 어드레스 등과 같은 하드웨어 식별자에 연관시킨다. 피어 노드는 상이한 하드웨어 플랫폼 상에서 동작하는 적어도 하나의 피어 노드 바람직하게는, 토폴러지 구조의 견지에서 예를 들어, 피어 ID들의 견지에서 가장 근접한 후속자를 책임질 수 있는 자원들의 세트를 복제하는데 하드웨어 식별자를 이용한다.
본 발명의 다른 바람직한 실시예에 따라, 적어도 2개의 후속자 노드들이 동작하는 상기 물리적인 하드웨어는 적어도 2개의 후속자 노드들과 링크된 또는 연관된 외부 관리 유닛으로부터 정보를 검색함으로써 결정된다. 바람직하게는, 상기 검색은 제 1 노드에 의해 수행된다. 적어도 2개의 후속자 노드들이 동작하는 상기 물리적인 하드웨어의 결정에 부가하여 또는 그 대안으로, 적어도 하나의 부가적인 노드가 동작하는 물리적인 하드웨어는 적어도 하나의 부가적인 노드와 링크된 또는 연관된 외부 관리 유닛으로부터 정보를 검색함으로써 결정된다. 바람직하게는, 상기 검색은 제 1 노드에 의해 수행된다. 적어도 2개의 후속자 노드들 및 적어도 하나의 부가적인 노드가 각각 동작하는 상기 물리적인 하드웨어의 결정에 부가하여 또는 그 대안으로, 참가 노드가 동작하는 하드웨어는 참가 노드와 링크된 또는 연관된 외부 관리 유닛으로부터 정보를 검색함으로써 결정된다. 바람직하게는, 상기 검색은 제 1 노드에 의해 수행된다. 외부 관리 유닛은 외부 클러스터 관리 엔티티일수도 있으며, 여기서 용어 '클러스터'는 네트워크 노드들의 클러스터와 같은 P2P 오버레이 네트워크를 지칭한다.
외부 클러스터 관리 엔티티가 예를 들어, 노드 ID들을 구성하는데 이용 가능한 경우, 외부 클러스터 관리 엔티티는 클러스터의 물리적인 토폴러지에 관한 정보를 또한 제공할 수 있다. 외부 클러스터 관리 엔티티는 중앙 등록 서버, 부트스트랩 서버(bootstrap server) 또는 네트워크 관리 및 모니터링 서버일 수 있다.
소프트웨어 애플리케이션이 필요한 하드웨어 정보를 검출할 수 없는 경우, 노드들의 관리자에 의한 노드들의 수동(사전)구성이 해결책이다. 바람직하게는, 적어도 2개의 후속자 노드들이 동작하는 상기 물리적인 하드웨어는 피어-투-피어 네트워크의 네트워크 운용자 및/또는 적어도 2개의 후속자 노드들의 사용자로부터 대응하는 정보를 검색함으로써 결정된다. 바람직하게는, 상기 검색은 제 1 노드에 의해 수행된다. 적어도 2개의 후속자 노드들이 동작하는 상기 물리적인 하드웨어의 결정에 부가하여 또는 그 대안으로, 적어도 하나의 부가적인 노드가 동작하는 물리적인 하드웨어가 피어-투-피어 네트워크의 네트워크 운용자 및/또는 적어도 하나의 부가적인 노드의 사용자로부터 대응하는 정보를 검색함으로써 결정된다. 바람직하게는, 상기 검색은 제 1 노드에 의해 수행된다. 적어도 2개의 후속자 노드들 및 적어도 하나의 부가적인 노드가 각각 동작하는 상기 물리적인 하드웨어의 결정에 부가하여 또는 그 대안으로, 참가 노드가 동작하는 하드웨어가 피어-투-피어 네트워크의 네트워크 운용자 및/또는 참가 노드의 사용자로부터 정보를 검색함으로써 결정된다.
바람직한 실시예에서, 적어도 2개의 후속자 노드들이 동작하는 상기 물리적인 하드웨어는 적어도 2개의 후속자 노드들과 연관된 응용층 상의 측정에 의해 결정된다. 바람직하게는, 상기 결정은 제 1 노드에 의해 수행된다. 적어도 2개의 후속자 노드들이 동작하는 상기 물리적인 하드웨어의 결정에 부가하여 또는 그 대안으로, 적어도 하나의 부가적인 노드가 동작하는 물리적인 하드웨어는 적어도 하나의 부가적인 노드와 연관된 응용층 상의 측정에 의해 결정된다. 바람직하게는, 상기 결정은 제 1 노드에 의해 수행된다. 적어도 2개의 후속자 노드들 및 적어도 하나의 부가적인 노드가 각각 동작하는 상기 물리적인 하드웨어의 결정에 부가하여 또는 그 대안으로, 참가 노드가 동작하는 하드웨어가 참가 노드에 연관된 응용층 상의 측정에 의해 결정된다. 바람직하게는, 상기 결정은 제 1 노드에 의해 수행된다.
응용층 상의 상기 측정은 "핑(ping)" 메시지 교환들과 같은 응용 레벨 규명 메커니즘들일 수 있다. 상기 핑 메시지 교환에 기초하여 노드들은, 다른 노드들이 동일한 디바이스상에서 호스팅되는 경우 접속 레이턴시로부터 추정된다. 또한 다른 이미 알려진 방법들은, 노드들이 동일한 하드웨어 상에 있는 경우 추정을 위해 이용될 수 있는데; 예를 들어, 네트워크 조직 시스템들(network co-ordinate system)은 모든 링크들의 명시적인 측정들이 필요 없이 일부 노드간의 레이턴시를 측정함으로써 근원적인 네트워크에 관한 지식을 얻고자 시도한다. 이는 노드들이 물리적인 토폴러지에서 가까이 있을 때 논리적인 오버레이에서 서로 가깝게 배치하는 것을 허용한다. 다른 예는 다른 노드들에 대한 레이턴시를 측정함으로써 지역성에 대해 연속적으로 자신의 라우팅 테이블을 조정하는 패이스트리(Pastry)이다.
바람직하게는, 제어 유닛은 라우팅 정책에 기초하여 제 1 노드로부터 후속자 목록의 노드로 피어-투-피어 메시지를 라우팅하도록 구성된다. 후속자 목록의 상기 노드가 피어-투-피어 오버레이 네트워크에서 예를 들어, 후속자 목록의 상기 노드가 동작중인(동작했던) 물리적인 하드웨어의 장애로 인해 도달 불가능한 경우, 제어 유닛은 라우팅 정책에 기초하여 제 1 노드로부터 적어도 하나의 부가적인 노드로 피어-투-피어 메시지를 라우팅하도록 구성된다.
바람직하게는, 라우팅 정책에 기초하여 제 1 노드로부터 적어도 2개의 후속자 노드들 중 하나 이상의 노드들로 피어-투-피어 메시지가 라우팅된다. 적어도 2개의 후속자 노드들 중 상기 하나 이상의 노드들이 피어-투-피어 오버레이 네트워크에서 예를 들어, 적어도 2개의 후속자 노드들이 동작중인(동작했던) 물리적인 하드웨어의 장애로 인해 도달 불가능한 경우, 라우팅 정책에 기초하여 제 1 노드로부터 적어도 하나의 부가적인 노드로 피어-투-피어 메시지가 라우팅된다.
라우팅 정책은 후속자 목록의 엔트리들을 어떤 순서로 이용할지를 명세한다. 후속자 목록이 노드들의 식별자들의 시퀀스를 포함하는 것이 가능하다. 그러면, 라우팅 정책은 제 1 노드가 먼저 그 식별자가 후속자 목록의 제 1 식별자인 후속자 목록의 후속자 노드로 P2P 메시지를 라우팅하도록 시도한다고 규정할 수 있다. 이것이 후속되지 않으면, 즉 P2P 메시지가 그 수신지에 도착하지 않으면, 제 1 노드가 그 식별자가 후속자 목록의 제 2 식별자인 적어도 하나의 부가적인 노드로 P2P 메시지를 라우팅하도록 시도하는 등과 같다.
본 발명에 따르면, 2개의 상이한 물리적인 하드웨어 유닛들은 동시에 장애가 있을 가능성이 없기 때문에, 적어도 하나의 부가적인 노드는, 적어도 하나의 부가적인 노드 및 적어도 2개의 후속자 노드들이 상이한 물리적인 하드웨어 상에서 동작하기 때문에 2개의 후속자 노드들이 도달 불가능할 때, 도달 가능할 것이다. 그러나, 더 높은 리던던시가 필요로 되는 경우, 상이한 물리적 하드웨어 상에서 동작하는 후속자 목록에 열거된 후속자 노드들의 총 수가 미리-정의된 리던던시 인자와 동일하게 되도록, 피어-투-피어 오버레이 네트워크의 토폴러지 구조와 관련하여 적어도 2개의 후속자 노드들에 후속하고 적어도 2개의 후속자 노드들과 상이한 물리적인 하드웨어 상에서 동작하는 복수의 노드들 중의 부가적인 노드들의 식별자가 동일한 수만큼 후속자 목록에 부가된다.
바람직하게는, 본 발명은 동일한 물리적인 하드웨어 상에서 동작하는 2개 이상의 후속하는 후속자 노드들이 오버레이를 중지하는 경우, P2P 오버레이를 유지하기 위한 동적 리던던트 후속자 목록 알고리즘(dynamic redundant successor list algorithm)을 도입한다. 동적 리던던트 후속자 목록 알고리즘은 RSL의 하나 이상의 후속자들이 예를 들어, 가상화 소프트웨어에 의해 동일한 하드웨어 상에서 동작하는 경우 후속자 노드들의 식별자들이 리던던트 후속자 목록에 부가되는 것을 제공한다. 퓨어 P2P 환경-여기서 각 피어는 그 자신의 하드웨어 상에서 동작함-과 동일한 가상화 환경에서 코드 리던던시 인자를 유지하기 위해, 피어는 상이한 하드웨어에 대해 퓨어 P2P 환경만큼 많은 리던던트 후속자들을 유지해야만 한다. 따라서, 얼마나 많은 피어들이 동일한 가상화 플랫폼 상에서 동작하는지는 중요하지 않다. 게다가, 동적 리던던트 후속자 목록 알고리즘은 RSL에 열거된 노드들과 상이한 하드웨어 상에서 동작하는 새로운 피어들이 P2P 네트워크에 참가하여 리던던트 후속자 목록에 부가되는 경우 리던던트 후속자 노드들의 식별자들이 RSL로부터 제거되는 것을 제공한다.
본 발명의 상기 및 다른 특징들 및 이점들은 첨부 도면들과 함께 이루어진 현재의 바람직한 예시적인 실시예들의 이하의 상세한 설명을 이해함으로써 보다 잘 이해될 것이다.
도 1a 및 도 1b는 복수의 노드들을 포함하는 구조화된 종래의 P2P 오버레이 네트워크를 도시한 도면.
도 2는 본 발명의 실시예에 따른 P2P 오버레이 네트워크를 도시하는 도면.
도 3a 및 도 3b는 도 2에 도시된 P2P 오버레이 네트워크에서 물리적인 하드웨어의 장애를 예시하는 도면.
도 4a 및 도 4b는 본 발명의 실시예에 따라 도 2에서 도시된 P2P 오버레이 네트워크에서의 부가 알고리즘을 예시하는 도면.
도 5a 및 도 5b는 본 발명의 실시예에 따라 도 2에서 도시된 P2P 오버레이 네트워크에서의 제거 알고리즘을 예시하는 도면.
도 2는 본 발명의 실시예에 따른 P2P 오버레이 네트워크를 도시하는 도면.
도 3a 및 도 3b는 도 2에 도시된 P2P 오버레이 네트워크에서 물리적인 하드웨어의 장애를 예시하는 도면.
도 4a 및 도 4b는 본 발명의 실시예에 따라 도 2에서 도시된 P2P 오버레이 네트워크에서의 부가 알고리즘을 예시하는 도면.
도 5a 및 도 5b는 본 발명의 실시예에 따라 도 2에서 도시된 P2P 오버레이 네트워크에서의 제거 알고리즘을 예시하는 도면.
도 2는 본 발명의 실시예에 따른 P2P 오버레이 네트워크를 도시한다. 특히, 도 2는 본 발명의 실시예에 따른 코드 링(N)을 예시한다. 코드 링(N)은 복수의 노드들(0,20,50,87,112,140,179,200,211,223,240)을 포함하고, 여기서 참조 부호들(0,20,50,87,112,140,179,200,211,223,240)은 노드들(0,20,50,87,112,140,179,200,211,223,240)의 노드 ID들을 또한 나타내도록 의도된다. 노드들의 노드 ID들은 오버레이 특질 DHT 알고리즘에 의해 할당되고 예를 들어, 등록 서버에 기초할 수 있거나 또는 노드에 의해 스스로 랜덤으로 선택될 수 있다. 각 노드는 코드 링(N)의 피어를 나타낸다.
방법의 제 1 단계에서, 제 1 노드(200)는 제 1 노드(200)에 의해 유지되는 후속자 목록에 포함된 후속자 노드들이 동작하는 물리적인 하드웨어를 결정한다. 제 1 노드(200)는 2개의 엔트리들을 갖는 후속자 목록(L)을 유지하고; 하나의 엔트리는 예를 들어, 노드(211)의 노드 ID와 같은 식별자이고, 다른 엔트리는 노드(223)의 노드 ID와 같은 식별자라고 가정한다.
제 1 노드(200)는 하나 또는 몇개의 상호-링크된 컴퓨터들, 즉 하드웨어 플랫폼, 하드웨어 플랫폼을 기반으로 하는 소프트웨어 플랫폼 및 소프트웨어 및 하드웨어 플랫폼에 의해 형성된 시스템 플랫폼에 의해 실행되는 몇개의 애플리케이션 프로그램들로 구성된다. 제 1 노드(200)의 기능성은 이 애플리케이션 프로그램들의 실행에 의해 제공된다. 애플리케이션 프로그램들 또는 이 애플리케이션 프로그램들의 선택된 부분은 시스템 플랫폼 상에서 실행될 때, 이하에 기술되는 바와 같이 라우팅 서비스를 제공하는 컴퓨터 소프트웨어 제품을 구성한다. 또한, 이러한 컴퓨터 소프트웨어 제품은 이 애플리케이션 프로그램들 또는 애플리케이션 프로그램들의 상기 선택된 부분을 저장하는 저장 매체에 의해 구성된다.
기능적인 관점으로부터, 제 1 노드(200)는 제 1 노드의 기능들의 제어를 위한 제어 유닛, 데이터 저장을 위한 저장 매체, 및 다른 노드들과 정보를 교환하기 위한 인터페이스를 포함한다.
물리적인 하드웨어의 결정에 있어서, 제 1 노드(200)는 후속자 노드들(211,223)이 동작하는 물리적인 하드웨어를 식별하는데 도움을 주는 임의의 이용 가능한 정보를 이용할 수 있다. 제 1 노드(200)는 후속자 노드들(211,223)의 플랫폼으로부터 예를 들어, CPU ID, MAC 어드레스, 위치, IP 어드레스 등과 같은 정보를 수집함으로써 후속자 노드들(211,223)의 물리적인 하드웨어에 관한 정보를 검색하는 것이 가능하다. 그러면, 제 1 노드(200)는 코드 링(N)의 다른 노드들(0,20,50,87,112,140,179,240)로부터 대응하는 정보를 수집하고 수집된 정보의 조각을 비교한다.
후속자 노드들(211,223)의 플랫폼으로부터 이용 가능한 정보(예를 들어, CPU ID, MAC 어드레스, 위치, IP,...)외에, 제 1 노드(211)는 외부 관리 엔티티로부터 검색된, 후속자 노드들(211,223)이 동작하는 하드웨어의 사용자에 의해 수행된 수동 구성에 의해 제공된, 응용층 측정들 등에 의해 수집된 정보를 이용할 수 있다. 유사하게, 다른 노드들(0,20,50,87,112,140,179,211,223,240) 각각은 그것이 동작하는 물리적인 하드웨어를 식별하는데 도움을 주는 임의의 이용 가능한 정보를 이용할 수 있다. 다른 노드들(0,20,50,87,112,140,179,211,223,240) 각각은 각자의 물리적인 하드웨어에 관해 수집된 정보를 제 1 노드(200)에 통신하는 것이 가능하다. 또한, 제 1 노드(200)는 다른 노드들(0,20,50,87,112,140,179,211,223,240)이 동작하는 물리적인 하드웨어에 액세스하고 다른 노드들(0,20,50,87,112,140,179,211,223,240)로부터 각자의 물리적인 하드웨어에 관한 정보의 조각들을 수집하는 것이 가능하다.
물리적인 하드웨어를 분류하는 이 단계의 결과는 하드웨어 분류를 도시하고 노드들(0,20,50,87,112,140,179,200,211,223,240)의 상이한 아이콘 모양들에 의해 이를 예시하는 도 2에서 예시된다. 각 모양은 다른 물리적 기계를 나타낸다. 이것은, 노드들(0,50,140,211 및 223)이 제 1 기계 상에서 동작한다는 것을 의미한다. 노드들(20,112,179 및 240)은 제 2 기계 상에서 동작한다. 노드들(87 및 200)은 제 3 기계 상에서 동작한다.
종래 기술이 직면한, 그리고 본 발명에 의해 해결되는 문제는 도 3a 및 3b에 의해 예시된다. 노드(211) 및 노드(223)는 도 3a에서 원으로 표시된 바와 같이 동일한 물리적인 하드웨어 상에서 동작한다(예를 들어, XEN, VMware와 같은 운영 체제들의 가상화를 통해). 도 3b는 후속자 목록(L)에 포함된 2개의 후속자 노드들이 동작하는 물리적인 하드웨어의 장애를 도시한다. 노드들(211 및 223)은 동일한 기계 상에서 동작한다. 도 3b에서, 이 기계는 고장나고 노드들(211 및 223)은 링(N)을 떠난다. 결과적으로 노드(200)는 링크 토폴러지를 유지하기 위한 활성의 피어들에 대한 링크들이 없어진다. 이 경우, 제 1 노드(200)는, 제 1 노드(200)와 연관된 RSL에 유지되었던 두 후속자 노드들(211,223)이 하드웨어 장애로 인해 도달 불가능하기 때문에 임의의 후속자 노드에 대한 접속을 상실한다.
도 4a는 동적 리던던트 후속자 목록 적응을 위해 본 발명에 따른 방법을 예시한다. 노드들(0,20,50,87,112,140,179,200,211,223,240)은 그들이 동작하는 물리적인 하드웨어를 식별한다. 제 1 노드(200)는 동일한 물리적인 하드웨어 상에서 호스팅되는 후속의 이웃한 피어들(211,223)이 고장 난 경우 P2P 오버레이 안정성을 유지하기 위해 동적 리던던트 후속자 목록 알고리즘을 도입한다. 따라서, 이 알고리즘은 2개의 서브-알고리즘들, 즉 부가 알고리즘 및 제거 알고리즘을 포함한다.
부가 알고리즘은, RSL에 열거된 다수의 후속의 인접한 피어들이 동일한 물리적인 기계 상에서 동작하는 경우 피어를 RSL에 부가한다.
도 4에 도시된 바와 같이, 제 1 노드(200)는 부가적인 노드(240)를 제 1 노드(200)의 후속자 목록(L)에 부가하고, 이에 따라 후속자 목록(L)을 확장한다. 이 부가의 이유는, 자신의 식별자들이 지금까지 제 1 노드(200)의 후속자 목록(L)의 유일한 엔트리들인 2개의 후속자 노드들(211,223)이 동일한 물리적인 기계 상에서 동작하기 때문이다. 그러므로, 두 후속자 노드들(211,223)이 동작하는 기계가 고장나는 경우, 제 1 노드(200)는 여전히 제 1 노드(200)의 후속자 목록(L)에 노드(240)를 남기고, 이는 제 1 노드(200)가 네트워크(N)의 링 토폴러지를 닫힌 채로 남아있게 하는 것을 가능하게 한다.
각 피어가 그 자신의 하드웨어 상에서 동작하는 보통의 코드 환경에서와 동일한 리던던시 인자를 얻기 위해, 피어는 리던던시 인자가 명기하는 것과 상이한 하드웨어들 상에서 동작하는 피어들의 동일한 양을 후속자 목록에 부가해야 한다.
도 4b는 코드 링(N)이 복수의 노드들(0,20,50,87,112,140,179,200,211,219,223,240 및 249)을 포함하는 상황을 도시한다. 3의 리던던시 인자가 본 발명의 방법에 따라 현실화되는 경우를 가정한다. 3의 코드 리던던시 인자는, 노드들(211 및 223)이 동일한 물리적인 기계 상에서 동작하고, 노드들(219 및 240) 역시 동일한 물리적인 기계 상에서 동작하기 때문에 5개의 노드들(211,219,223,240 및 249)이 후속자 목록(L)에 포함되도록 요구된다.
이전에 부가된 부가적인 노드가 더 이상 필요로 되지 않는 경우 제거 알고리즘은 RSL로부터 피어들을 제거한다. 노드가 RSL에 의해 커버되는 ID 공간에 참가하거나 떠나는 경우가 이 경우이다.
도 5a는 제 1 노드(200)가 2개의 원래의 후속자 노드들(211 및 223) 및 추후에 부가된 부가적인 노드(240)를 포함하는 후속자 목록(L)을 유지하는 상황을 도시한다. 2개의 원래의 후속자 노드들(211 및 223)이 동작하는 물리적인 하드웨어는 동일하다. 부가적인 노드(240)가 동작하는 물리적인 하드웨어는 2개의 원래의 후속자 노드들(211 및 223)이 동작하는 물리적인 하드웨어와는 상이하다.
참가 노드(220)는 후속자 목록(L)에 열거된 후속자 노드들(211 및 223) 사이의 피어-투-피어 오버레이 네트워크(N)에 참가한다. 예를 들어, 노드 ID(220)와 같은 참가 노드(220)의 식별자가 제 1 노드(200)의 후속자 목록에 부가된다. 바람직하게는, 제 1 노드(200)는 후속자 목록(L)에 대한 보정을 수행한다.
제 1 노드(200)는 참가 노드(220)가 동작하는 물리적인 하드웨어를 결정한다. 제 1 노드(200)는 참가 노드(220)가 동작하는 물리적인 하드웨어가 2개의 원래의 후속자 노드들(211 및 223)이 동작하는 물리적인 하드웨어와 상이하고 부가적인 노드(240)가 동작하는 물리적인 하드웨어와 상이하다는 것을 검출한다.
라우팅 정책이 2의 리던던시 인자이면 충분하다고 명기하고 있기 때문에, 제 1 노드(200)는 후속자 목록(L)으로부터 부가적인 노드(240)의 식별자를 제거한다. 그러면, 상이한 물리적인 하드웨어 상에서 동작하는 후속자 목록(L)에 열거된 후속자 노드들(211,220)의 총 수는 2의 미리-정의된 리던던시 인자와 동일하게 된다(식별자가 후속자 목록(L)으로부터 제거되는 적어도 하나의 부가적인 노드(240)를 계산하지 않음).
Claims (14)
- 복수의 노드들(0,20,50,87,112,140,179,200,211,223,240)을 포함하는 피어-투-피어 오버레이 네트워크(N)에서 라우팅을 위한 후속자 목록(successor list)(L)을 제공하는 방법으로서, 상기 후속자 목록(L)은 상기 피어-투-피어 오버레이 네트워크(N)의 토폴러지 구조와 관련하여 상기 복수의 노드들(0,20,50,87,112,140,179,200,211,223,240)의 제 1 노드(200)에 후속하여 계속되는 적어도 2개의 후속자 노드들(211,223)의 식별자들을 명기하는, 상기 후속자 목록 제공 방법에 있어서,
상기 후속자 목록(L)에 열거된 상기 적어도 2개의 후속자 노드들(211,223)이 동일한 물리적 하드웨어 상에서 동작하는지를 결정하는 단계; 및
상기 적어도 2개의 후속자 노드들(211,223)이 동일한 물리적 하드웨어 상에서 동작하는 경우, 상기 피어-투-피어 오버레이 네트워크(N)의 상기 토폴러지 구조와 관련하여 상기 적어도 2개의 후속자 노드들(211,223)에 후속하고 상기 적어도 2개의 후속자 노드들(211,223)과 상이한 물리적인 하드웨어 상에서 동작하는 상기 복수의 노드들(0,20,50,87,112,140,179,200,211,223,240) 중의 적어도 하나의 부가적인 노드(240)의 식별자를 상기 후속자 목록(L)에 부가하는 단계를 포함하는, 후속자 목록 제공 방법. - 제 1 항에 있어서,
상기 적어도 2개의 후속자 노드들(211,223)이 동일한 물리적 하드웨어 상에서 동작하는 경우, 상이한 물리적 하드웨어 상에서 동작하는 후속자 목록(L)에 열거된 후속자 노드들의 총 수가 미리-정의된 리던던시 인자(redundancy factor)와 동일하게 되도록, 상기 피어-투-피어 오버레이 네트워크(N)의 상기 토폴러지 구조와 관련하여 상기 적어도 2개의 후속자 노드들(211,223)에 후속하고 상기 적어도 2개의 후속자 노드들(211,223)과 상이한 물리적인 하드웨어 상에서 동작하는 복수의 노드들(0,20,50,87,112,140,179,200,211,223,240) 중의 부가적인 노드들(240)의 식별자를 동일한 수만큼 상기 후속자 목록(L)에 부가하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법. - 제 1 항에 있어서,
참가 노드(joining node)(220)가 상기 후속자 목록(L)에 열거된 상기 후속자 노드들 사이에서 상기 피어-투-피어 오버레이 네트워크(N)에 참가할 때, 상기 참가 노드(220)의 식별자를 상기 후속자 목록(L)에 부가하는 단계;
상기 참가 노드(220)가 동작하는 물리적인 하드웨어를 결정하는 단계; 및
상기 적어도 하나의 부가적인 노드(240)를 제외하고 상이한 물리적인 하드웨어 상에서 동작하는 상기 후속자 목록(L)에 열거된 후속자 노드들의 총 수가 미리-정의된 리던던시 인자와 동일한 경우, 상기 후속자 목록(L)으로부터 상기 적어도 하나의 부가적인 노드(240)의 식별자를 제거하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법. - 제 1 항에 있어서,
상기 적어도 2개의 후속자 노드들(211,223) 및/또는 상기 적어도 하나의 부가적인 노드(240)의 플랫폼으로부터 각각 정보를 검색함으로써 상기 적어도 2개의 후속자 노드들(211,223) 및/또는 상기 적어도 하나의 부가적인 노드(240)가 동작하는 물리적인 하드웨어를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법. - 제 3 항에 있어서,
상기 참가 노드(220)의 플랫폼으로부터 정보를 검색함으로써 상기 참가 노드(220)가 동작하는 물리적인 하드웨어를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법. - 제 1 항에 있어서,
상기 적어도 2개의 후속자 노드들(211, 223) 및/또는 상기 적어도 하나의 부가적인 노드(240)와 링크된 외부 관리 유닛으로부터 정보를 각각 검색함으로써 상기 적어도 2개의 후속자 노드들(211,223) 및/또는 상기 적어도 하나의 부가적인 노드(240)가 동작하는 물리적인 하드웨어를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법. - 제 3 항에 있어서,
상기 참가 노드(220)와 링크된 외부 관리 유닛으로부터 정보를 검색함으로써 상기 참가 노드(220)가 동작하는 물리적인 하드웨어를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법. - 제 1 항에 있어서,
상기 피어-투-피어 네트워크(N)의 네트워크 운용자 및/또는 상기 적어도 2개의 후속자 노드들(211,223) 및/또는 상기 적어도 하나의 부가적인 노드(240)의 사용자로부터 각각 대응하는 정보를 검색하는 것에 의해 상기 적어도 2개의 후속자 노드들(211,223) 및/또는 상기 적어도 하나의 부가적인 노드(240)가 동작하는 물리적인 하드웨어를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법. - 제 3 항에 있어서,
상기 피어-투-피어 네트워크(N)의 네트워크 운용자 및/또는 상기 참가 노드(220)의 사용자로부터 대응하는 정보를 검색하는 것에 의해 상기 참가 노드(220)가 동작하는 물리적인 하드웨어를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법. - 제 1 항에 있어서,
상기 피어-투-피어 오버레이 네트워크(N)의 응용층 상의 레이턴시 측정에 의해 상기 적어도 2개의 후속자 노드들(211,223) 및/또는 상기 적어도 하나의 부가적인 노드(240)가 동작하는 물리적인 하드웨어를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법. - 제 3 항에 있어서,
상기 피어-투-피어 오버레이 네트워크(N)의 응용층 상의 레이턴시 측정에 의해 상기 참가 노드(220)가 동작하는 물리적인 하드웨어를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법. - 복수의 노드들(0,20,50,87,112,140,179,200,211,223,240)을 포함하는 피어-투-피어 오버레이 네트워크(N)의 제 1 노드(200)로서, 상기 제 1 노드(200)는 상기 피어-투-피어 오버레이 네트워크(N)에서 라우팅을 위한 후속자 목록(L)을 유지하고, 상기 후속자 목록(L)은 상기 피어-투-피어 오버레이 네트워크(N)의 토폴러지 구조와 관련하여 상기 제 1 노드(200)에 후속하여 계속되는 적어도 2개의 후속자 노드들(211,223)의 식별자들을 명기하는, 상기 제 1 노드(200)에 있어서,
상기 후속자 목록(L)에 열거된 상기 적어도 2개의 후속자 노드들(211,223)이 동일한 물리적 하드웨어 상에서 동작하는지를 결정하고, 상기 적어도 2개의 후속자 노드들(211,223)이 동일한 물리적 하드웨어 상에서 동작하는 경우, 상기 피어-투-피어 오버레이 네트워크(N)의 상기 토폴러지 구조와 관련하여 상기 적어도 2개의 후속자 노드들(211,223)에 후속하고 상기 적어도 2개의 후속자 노드들(211,223)과 상이한 물리적인 하드웨어 상에서 동작하는 상기 복수의 노드들(0,20,50,87,112,140,179,200,211,223,240) 중의 적어도 하나의 부가적인 노드(240)의 식별자를 상기 후속자 목록(L)에 부가하도록 구성된 제어 유닛을 포함하는, 제 1 노드(200). - 제 12 항에 있어서,
상기 제어 유닛은 라우팅 정책에 기초하여 상기 제 1 노드(200)로부터의 피어-투-피어 메시지를 상기 후속자 목록(L)의 노드에 라우팅하고, 상기 후속자 목록(L)의 상기 노드가 피어-투-피어 오버레이 네트워크(N)에서 도달 가능하지 않은 경우, 상기 라우팅 정책에 기초하여 상기 제 1 노드(200)로부터의 상기 피어-투-피어 메시지를 상기 적어도 하나의 부가적인 노드(240)에 라우팅하도록 또한 구성되는 것을 특징으로 하는, 제 1 노드(200). - 복수의 노드들(0,20,50,87,112,140,179,200,211,223,240)을 포함하는 피어-투-피어 오버레이 네트워크(N)에서 라우팅을 위한 후속자 목록(L)을 제공하는 컴퓨터 프로그램 제품이 저장된 컴퓨터 판독가능 저장 매체에 있어서, 상기 후속자 목록(L)은 상기 피어-투-피어 오버레이 네트워크(N)의 토폴러지 구조와 관련하여 상기 복수의 노드들(0,20,50,87,112,140,179,200,211,223,240)의 제 1 노드(200)에 후속하여 계속되는 적어도 2개의 후속자 노드들(211,223)의 식별자들을 명기하는, 상기 컴퓨터 프로그램 제품은,
상기 제 1 노드(211)에 의해 실행될 때, 상기 후속자 목록(L)에 열거된 상기 적어도 2개의 후속자 노드들(211,223)이 동일한 물리적 하드웨어 상에서 동작하는지를 결정하는 단계; 및
상기 적어도 2개의 후속자 노드들(211,223)이 동일한 물리적 하드웨어 상에서 동작하는 경우, 상기 피어-투-피어 오버레이 네트워크(N)의 상기 토폴러지 구조와 관련하여 상기 적어도 2개의 후속자 노드들(211,223)에 후속하고 상기 적어도 2개의 후속자 노드들(211,223)과 상이한 물리적인 하드웨어 상에서 동작하는 상기 복수의 노드들(0,20,50,87,112,140,179,200,211,223,240) 중의 적어도 하나의 부가적인 노드(240)의 식별자를 상기 후속자 목록(L)에 부가하는 단계를 수행하는, 컴퓨터 프로그램 제품이 저장된 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP08290625A EP2139202B1 (en) | 2008-06-27 | 2008-06-27 | Method of providing a successor list |
EP08290625.6 | 2008-06-27 | ||
PCT/EP2009/057702 WO2009156352A1 (en) | 2008-06-27 | 2009-06-19 | Method of providing a successor list |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110021935A true KR20110021935A (ko) | 2011-03-04 |
KR101224374B1 KR101224374B1 (ko) | 2013-01-21 |
Family
ID=39941420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107028992A KR101224374B1 (ko) | 2008-06-27 | 2009-06-19 | 후속자 목록을 제공하는 방법 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8792331B2 (ko) |
EP (1) | EP2139202B1 (ko) |
JP (1) | JP5247882B2 (ko) |
KR (1) | KR101224374B1 (ko) |
CN (1) | CN101616013B (ko) |
AT (1) | ATE551818T1 (ko) |
WO (1) | WO2009156352A1 (ko) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102148740B (zh) * | 2010-02-05 | 2013-09-18 | 中国移动通信集团公司 | 一种邻区路由表的更新方法和系统 |
JP5604415B2 (ja) * | 2011-12-27 | 2014-10-08 | エヌ・ティ・ティ・コムウェア株式会社 | ネットワークシステム及びネットワーク構築方法、端末 |
US8849977B2 (en) * | 2012-03-09 | 2014-09-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and a control node in an overlay network |
US10904144B2 (en) | 2012-12-27 | 2021-01-26 | Sitting Man, Llc | Methods, systems, and computer program products for associating a name with a network path |
US10587505B1 (en) | 2012-12-27 | 2020-03-10 | Sitting Man, Llc | Routing methods, systems, and computer program products |
US10212076B1 (en) * | 2012-12-27 | 2019-02-19 | Sitting Man, Llc | Routing methods, systems, and computer program products for mapping a node-scope specific identifier |
US10397101B1 (en) * | 2012-12-27 | 2019-08-27 | Sitting Man, Llc | Routing methods, systems, and computer program products for mapping identifiers |
US10447575B1 (en) | 2012-12-27 | 2019-10-15 | Sitting Man, Llc | Routing methods, systems, and computer program products |
US10404583B1 (en) * | 2012-12-27 | 2019-09-03 | Sitting Man, Llc | Routing methods, systems, and computer program products using multiple outside-scope identifiers |
US10419335B1 (en) * | 2012-12-27 | 2019-09-17 | Sitting Man, Llc | Region scope-specific outside-scope indentifier-equipped routing methods, systems, and computer program products |
US10411997B1 (en) * | 2012-12-27 | 2019-09-10 | Sitting Man, Llc | Routing methods, systems, and computer program products for using a region scoped node identifier |
US10411998B1 (en) * | 2012-12-27 | 2019-09-10 | Sitting Man, Llc | Node scope-specific outside-scope identifier-equipped routing methods, systems, and computer program products |
US10419334B1 (en) * | 2012-12-27 | 2019-09-17 | Sitting Man, Llc | Internet protocol routing methods, systems, and computer program products |
US10397100B1 (en) * | 2012-12-27 | 2019-08-27 | Sitting Man, Llc | Routing methods, systems, and computer program products using a region scoped outside-scope identifier |
US10404582B1 (en) | 2012-12-27 | 2019-09-03 | Sitting Man, Llc | Routing methods, systems, and computer program products using an outside-scope indentifier |
US10075519B2 (en) * | 2013-01-10 | 2018-09-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Connection mechanism for energy-efficient peer-to-peer networks |
US9210219B2 (en) | 2013-07-15 | 2015-12-08 | Red Hat, Inc. | Systems and methods for consistent hashing using multiple hash rings |
US9800575B1 (en) * | 2014-09-24 | 2017-10-24 | Ebay Inc. | Assigning storage responsibility in a distributed data storage system with replication |
US11095715B2 (en) | 2014-09-24 | 2021-08-17 | Ebay Inc. | Assigning storage responsibility in a distributed data storage system with replication |
CN107171820B (zh) * | 2016-03-08 | 2019-12-31 | 北京京东尚科信息技术有限公司 | 信息传输、发送、获取方法和装置 |
US10608869B2 (en) * | 2017-03-20 | 2020-03-31 | Nicira, Inc. | Handling control-plane connectivity loss in virtualized computing environments |
US10747632B2 (en) * | 2017-08-11 | 2020-08-18 | T-Mobile Usa, Inc. | Data redundancy and allocation system |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6353412B1 (en) * | 1998-03-17 | 2002-03-05 | Qualcomm, Incorporated | Method and apparatus for determining position location using reduced number of GPS satellites and synchronized and unsynchronized base stations |
US7730207B2 (en) * | 2004-03-31 | 2010-06-01 | Microsoft Corporation | Routing in peer-to-peer networks |
DE102004044987A1 (de) * | 2004-09-16 | 2006-03-30 | Siemens Ag | Verfahren, Computerprogramm mit Programmcode-Mitteln und Computerprogramm-Produkt zur Überwachung eines Systemzustands eines Systems mit verteilten Komponenten, insbesondere eines Netzwerks mit verteilten Komponenten, Netzwerk mit verteilten Komponenten |
CN100452734C (zh) * | 2005-11-17 | 2009-01-14 | 中国科学院计算技术研究所 | 基于全局Internet拓扑知识的P2P应用构建方法 |
US7881223B2 (en) * | 2006-03-31 | 2011-02-01 | Panasonic Corporation | Method for on demand distributed hash table update |
US20070230468A1 (en) * | 2006-03-31 | 2007-10-04 | Matsushita Electric Industrial Co., Ltd. | Method to support mobile devices in a peer-to-peer network |
EP1876788B1 (en) | 2006-07-07 | 2008-11-05 | Alcatel Lucent | Distributed Hashing Mechanism for self-organizing networks |
JP2008152594A (ja) * | 2006-12-19 | 2008-07-03 | Hitachi Ltd | マルチコアプロセッサ計算機の高信頼化方法 |
US20080288654A1 (en) * | 2007-05-17 | 2008-11-20 | Nokia Corporation | Node and method to provide and keep real-time up-to-date data in a distributed hash table |
US20090213754A1 (en) * | 2008-02-26 | 2009-08-27 | Roie Melamed | Device, System, and Method of Group Communication |
EP2634997B1 (en) * | 2008-05-23 | 2018-03-07 | Telefonaktiebolaget LM Ericsson (publ) | Maintaining distributed hash tables in an overlay network |
-
2008
- 2008-06-27 EP EP08290625A patent/EP2139202B1/en not_active Not-in-force
- 2008-06-27 AT AT08290625T patent/ATE551818T1/de active
-
2009
- 2009-06-19 KR KR1020107028992A patent/KR101224374B1/ko not_active IP Right Cessation
- 2009-06-19 WO PCT/EP2009/057702 patent/WO2009156352A1/en active Application Filing
- 2009-06-19 JP JP2011515327A patent/JP5247882B2/ja not_active Expired - Fee Related
- 2009-06-26 US US12/492,872 patent/US8792331B2/en not_active Expired - Fee Related
- 2009-06-29 CN CN2009101509681A patent/CN101616013B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP5247882B2 (ja) | 2013-07-24 |
KR101224374B1 (ko) | 2013-01-21 |
CN101616013A (zh) | 2009-12-30 |
US8792331B2 (en) | 2014-07-29 |
US20090323696A1 (en) | 2009-12-31 |
EP2139202A1 (en) | 2009-12-30 |
ATE551818T1 (de) | 2012-04-15 |
JP2011525766A (ja) | 2011-09-22 |
EP2139202B1 (en) | 2012-03-28 |
CN101616013B (zh) | 2012-07-04 |
WO2009156352A1 (en) | 2009-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101224374B1 (ko) | 후속자 목록을 제공하는 방법 | |
US8126849B2 (en) | Method of redundant data storage | |
KR20110021931A (ko) | 라우팅 경로를 결정하는 방법 | |
AU2008334808B2 (en) | Method of establishing a connection | |
EP2137844B1 (en) | Distributed routing table architecture and design | |
US9160648B2 (en) | Content-centric network and method of performing routing between domains therefor | |
Janson et al. | A self-stabilizing locality-aware peer-to-peer network combining random networks, search trees, and dhts | |
Antonopoulos et al. | A Multi-Ring Method for Efficient Multi-Dimensional Data Lookup in P2P Networks. | |
Diane et al. | A hierarchical dht for fault tolerant management in p2p-sip networks | |
Leitao et al. | Large-scale peer-to-peer autonomic monitoring | |
JP2015207906A (ja) | ネットワーク構築方法及びネットワーク構築装置 | |
Gattermayer et al. | Using bootstraping principles of contemporary P2P file-sharing protocols in large-scale grid computing systems | |
Istin et al. | Sopsys: Self-organizing decentralized peer-to-peer system based on well balanced multi-way trees | |
EP4342163A1 (en) | Broker cell for distributed message system | |
Beitollahi et al. | Dependable overlay networks | |
Pandey et al. | A load balanced two-tier DHT with improved lookup performance of non-popular data items | |
Dobre et al. | DistHash: A robust P2P DHT-based system for replicated objects | |
Iancu et al. | A self-adapting peer-to-peer logical infrastructure, to increase storage reliability on top of the physical infrastructure | |
Beitollahi et al. | Analysis of peer-to-peer networks from a dependability perspective | |
Wu et al. | An improved Kademlia protocol in a VoIP system | |
Bonnel et al. | Search in p2p triangular mesh by space filling trees | |
Deng et al. | Honeycomb: A Peer-to-Peer substrate for on-demand media streaming service | |
Kumar et al. | Hybrid P2P Network Overlays |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160108 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170106 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180119 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |