KR20110021935A - 후속자 목록을 제공하는 방법 - Google Patents

후속자 목록을 제공하는 방법 Download PDF

Info

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
Application number
KR1020107028992A
Other languages
English (en)
Other versions
KR101224374B1 (ko
Inventor
니코 슈반
토마스 스트라우스
마르코 탐수
Original Assignee
알까뗄 루슨트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알까뗄 루슨트 filed Critical 알까뗄 루슨트
Publication of KR20110021935A publication Critical patent/KR20110021935A/ko
Application granted granted Critical
Publication of KR101224374B1 publication Critical patent/KR101224374B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/0836Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability to enhance reliability, e.g. reduce downtime
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/437Ring fault isolation or reconfiguration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1048Departure or maintenance mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1053Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing 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

후속자 목록을 제공하는 방법{Method of providing a successor list}
본 발명은 피어-투-피어 오버레이 네트워크에서 라우팅을 위한 후속자 목록(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 오버레이 네트워크를 도시한다. 특히, 도 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)

  1. 복수의 노드들(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)에 부가하는 단계를 포함하는, 후속자 목록 제공 방법.
  2. 제 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)에 부가하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법.
  3. 제 1 항에 있어서,
    참가 노드(joining node)(220)가 상기 후속자 목록(L)에 열거된 상기 후속자 노드들 사이에서 상기 피어-투-피어 오버레이 네트워크(N)에 참가할 때, 상기 참가 노드(220)의 식별자를 상기 후속자 목록(L)에 부가하는 단계;
    상기 참가 노드(220)가 동작하는 물리적인 하드웨어를 결정하는 단계; 및
    상기 적어도 하나의 부가적인 노드(240)를 제외하고 상이한 물리적인 하드웨어 상에서 동작하는 상기 후속자 목록(L)에 열거된 후속자 노드들의 총 수가 미리-정의된 리던던시 인자와 동일한 경우, 상기 후속자 목록(L)으로부터 상기 적어도 하나의 부가적인 노드(240)의 식별자를 제거하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법.
  4. 제 1 항에 있어서,
    상기 적어도 2개의 후속자 노드들(211,223) 및/또는 상기 적어도 하나의 부가적인 노드(240)의 플랫폼으로부터 각각 정보를 검색함으로써 상기 적어도 2개의 후속자 노드들(211,223) 및/또는 상기 적어도 하나의 부가적인 노드(240)가 동작하는 물리적인 하드웨어를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법.
  5. 제 3 항에 있어서,
    상기 참가 노드(220)의 플랫폼으로부터 정보를 검색함으로써 상기 참가 노드(220)가 동작하는 물리적인 하드웨어를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법.
  6. 제 1 항에 있어서,
    상기 적어도 2개의 후속자 노드들(211, 223) 및/또는 상기 적어도 하나의 부가적인 노드(240)와 링크된 외부 관리 유닛으로부터 정보를 각각 검색함으로써 상기 적어도 2개의 후속자 노드들(211,223) 및/또는 상기 적어도 하나의 부가적인 노드(240)가 동작하는 물리적인 하드웨어를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법.
  7. 제 3 항에 있어서,
    상기 참가 노드(220)와 링크된 외부 관리 유닛으로부터 정보를 검색함으로써 상기 참가 노드(220)가 동작하는 물리적인 하드웨어를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법.
  8. 제 1 항에 있어서,
    상기 피어-투-피어 네트워크(N)의 네트워크 운용자 및/또는 상기 적어도 2개의 후속자 노드들(211,223) 및/또는 상기 적어도 하나의 부가적인 노드(240)의 사용자로부터 각각 대응하는 정보를 검색하는 것에 의해 상기 적어도 2개의 후속자 노드들(211,223) 및/또는 상기 적어도 하나의 부가적인 노드(240)가 동작하는 물리적인 하드웨어를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법.
  9. 제 3 항에 있어서,
    상기 피어-투-피어 네트워크(N)의 네트워크 운용자 및/또는 상기 참가 노드(220)의 사용자로부터 대응하는 정보를 검색하는 것에 의해 상기 참가 노드(220)가 동작하는 물리적인 하드웨어를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법.
  10. 제 1 항에 있어서,
    상기 피어-투-피어 오버레이 네트워크(N)의 응용층 상의 레이턴시 측정에 의해 상기 적어도 2개의 후속자 노드들(211,223) 및/또는 상기 적어도 하나의 부가적인 노드(240)가 동작하는 물리적인 하드웨어를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법.
  11. 제 3 항에 있어서,
    상기 피어-투-피어 오버레이 네트워크(N)의 응용층 상의 레이턴시 측정에 의해 상기 참가 노드(220)가 동작하는 물리적인 하드웨어를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 후속자 목록 제공 방법.
  12. 복수의 노드들(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).
  13. 제 12 항에 있어서,
    상기 제어 유닛은 라우팅 정책에 기초하여 상기 제 1 노드(200)로부터의 피어-투-피어 메시지를 상기 후속자 목록(L)의 노드에 라우팅하고, 상기 후속자 목록(L)의 상기 노드가 피어-투-피어 오버레이 네트워크(N)에서 도달 가능하지 않은 경우, 상기 라우팅 정책에 기초하여 상기 제 1 노드(200)로부터의 상기 피어-투-피어 메시지를 상기 적어도 하나의 부가적인 노드(240)에 라우팅하도록 또한 구성되는 것을 특징으로 하는, 제 1 노드(200).
  14. 복수의 노드들(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)에 부가하는 단계를 수행하는, 컴퓨터 프로그램 제품이 저장된 컴퓨터 판독가능 저장 매체.
KR1020107028992A 2008-06-27 2009-06-19 후속자 목록을 제공하는 방법 KR101224374B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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