KR20110021931A - 라우팅 경로를 결정하는 방법 - Google Patents
라우팅 경로를 결정하는 방법 Download PDFInfo
- Publication number
- KR20110021931A KR20110021931A KR1020107028934A KR20107028934A KR20110021931A KR 20110021931 A KR20110021931 A KR 20110021931A KR 1020107028934 A KR1020107028934 A KR 1020107028934A KR 20107028934 A KR20107028934 A KR 20107028934A KR 20110021931 A KR20110021931 A KR 20110021931A
- Authority
- KR
- South Korea
- Prior art keywords
- node
- peer
- path
- nodes
- zero
- Prior art date
Links
Images
Classifications
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
-
- 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/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- 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
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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 피어-투-피어 오버레이 네트워크(N)에서 라우팅 경로를 결정하는 방법, 및 방법을 실행하는 네트워크 노드(20) 및 컴퓨터 프로그램 제품에 관한 것이다. 피어-투-피어 오버레이 네트워크(N)는 복수의 노드들(0, 20, 50, 87, 112, 140, 179, 200, 211, 223, 240)를 포함한다. 복수의 노드들(0, 20, 50, 87, 112, 140, 179, 200, 211, 223, 240)의 제 1 노드(20)가 구동하는 물리적 하드웨어가 식별된다. 제 1 노드(20)와 동일한 물리적 하드웨어 상에서 구동하는 복수의 노드들(0, 2O, 50, 87, 112, 140, 179, 200, 211, 223, 240)의 적어도 하나의 제 2 노드(112, 211)가 식별된다. 적어도 하나의 제 2 노드(112, 211)의 식별자를 명시하는 데이터 세트가 생성된다. 데이터 세트는 제 1 노드(20)에 연관된 제로-경로 테이블로서 저장된다. 라우팅 경로를 결정할 때, 데이터 세트가 액세스되고 제로-경로 테이블에 기초하여 제 1 노드(20)와 적어도 하나의 제 2 노드(112, 211) 사이의 링크(ZL1, ZL2)가 선택된다.
Description
본 발명은 피어-투-피어 오버레이 네트워크(peer-to-peer overlay network)에서 라우팅 경로를 결정하는 방법, 및 상기 방법을 실행하는 네트워크 노드 및 컴퓨터 프로그램 제품에 관한 것이다.
피어-투-피어(Peer-to-peer; P2P) 오버레이 네트워크들은 음성 패킷망(Voice over Internet Protocol; VoIP)(예를 들면, 스카이프(Skype)) 또는 파일-공유(예를 들면, 이뮬(eMule))와 같은 매우 많은 애플리케이션들(applications)을 위해 이용된다. 고 확장성, 자기-구성 및 내고장성(fault tolerance)과 같은 특징들은 집합적으로 제공되어 이용되는 리소스들(resources) 상의 분산 아키텍처 및 데이터 저장에 의해 달성된다. P2P 네트워크는 피어들로서, 즉 양쪽 모두 클라이언트들로서 및 네트워크의 서버들로서 동작하는 노드들로 구성된다. 다음 설명에서, 용어들 "노드" 및 "피어"는 서로 바꾸어가며 이용된다. 네트워크의 각각의 노드는 오버레이 알고리즘(overlay algorithm)와 관련하여 확립되고 메시지 송신을 위해 이용되는 다른 노드들로의 하나 이상의 논리적 링크들을 유지한다.
최신 기술의 P2P 네트워크들은 기반 네트워크 인프라스트럭처에 무관한 오버레이에 특정한 알고리즘에 기초한 논리적 토폴로지 구조를 구축한다. 각각의 노드는 브로드캐스트 방식으로(비구조형 오버레이들 예를 들면, 그누텔라(Gnutella)) 또는 ID(Identification/identifier) 기반의 방식으로(분산 해시 테이블(DHT), 예를 들면, 코드(Chord)를 이용하는 구조형 오버레이들) 라우팅(routing)하는 메시지에 대해 이용되는 다른 노드들로의 하나 이상의 링크들을 유지한다. 일부 시스템들은 비구조형의 다수 그룹들의 피어들을 갖는 하이브리드 아키텍처들을 이용하며, 이들 그룹들은 더 큰 토폴로지로 구조화된다(예를 들면, 스카이프). 라우팅 알고리즘들은 논리적 오버레이에서 중간 전달 피어들의 홉(hop) 수를 최소화하게 최적화된다.
도 1a는 복수의 노드들(0, 20, 50, 87, 112, 140, 179, 200, 211, 223, 240)을 포함하는 종래 기술의 구조형 P2P 오버레이 네트워크(N)를 도시한 것이다. 특히, 도 1a는 코드 링(N)을 도시한 것이다. 코드 링(N)에서 라우팅은 노드(20)가 몇몇의 이웃들(0, 50, 87, 112, 179)에 대해 유지하는 링크들(PL, SL, SC1, SC2, SC3, SC4)에 기초한다. 이들 링크들은 목적지 피어를 향하여 홉단위로 메시지들을 전달하기 위해 이용된다. 발신지와 목적지 피어 사이에 어떠한 직접적인 연결도 필요하지 않다. 코드에서 노드들은 링 토폴로지를 야기하는 이들의 전임자 및 후임자 노드들로의 직접 연결들을 유지한다. 예를 들면, 도 1a에 도시된 코드 링(N)에서, 노드(20)는 이의 전임자 노드(0)로의 직접 연결(PL)과 이의 후임자 노드(50)로의 직접 연결(SL)을 유지한다. 또한, 노드들은 메시지 라우팅을 위해 이용되고 ID 공간의 2의 멱 거리들로 피어를 따라가는 노드들로 구성되는 추가의 단축경로들을 갖는 핑거 테이블을 유지한다. 예를 들면, 도 1a에 도시된 코드 링(N)에서, 노드(20)는 노드들(50, 87, 112, 179)로의 단축경로 링크들(SC1, SC2, SC3, SC4)을 유지한다. 도 1b는 노드(20)가 단축경로 링크들을 유지하는 노드들이 열거된 노드(20)에 연관된 핑거 테이블(FT)을 보인 것이다. 핑거 테이블(FT)을 유지함으로써, 코드 아키텍처를 갖는 네트워크의 한 노드는 log n의 오더, 즉, O(log n)의 최대 홉 수를 달성하며, 여기서 n은 네트워크의 노드들의 수이다.
본 발명의 목적은 피어-투-피어 오버레이 네트워크에서 라우팅 경로를 결정하는 개선된 방법을 제공하는 것이다. 또한, 본 발명의 목적은 대응하는 네트워크 노드 및 이 개선된 방법을 실행하는 대응하는 컴퓨터 프로그램 제품을 제공하는 것이다.
본 발명의 목적은 복수의 노드들을 포함하는 피어-투-피어 오버레이 네트워크에서 라우팅 경로를 결정하는 방법에 의해서 달성되는 것으로, 방법은 복수의 노드들 중 제 1 노드가 구동하는 물리적 하드웨어를 식별하는 단계; 제 1 노드와 동일한 물리적 하드웨어 상에서 구동하는 복수의 노드들 중 적어도 하나의 제 2 노드를 결정하는 단계; 적어도 하나의 제 2 노드의 식별자를 명시하는 데이터 세트를 생성하는 단계; 데이터 세트를 제 1 노드에 연관된 제로-경로 테이블로서 저장하는 단계; 및 라우팅 경로를 결정할 때, 데이터 세트에 액세스하고, 제로-경로 테이블에 기초하여 제 1 노드와 적어도 하나의 제 2 노드 사이의 링크를 선택하는 단계를 포함한다. 또한, 본 발명의 목적은 복수의 노드들을 포함하는 피어-투-피어 오버레이 네트워크의 제 1 노드에 의해 달성되는 것으로, 제 1 노드는 제 1 노드가 구동하는 물리적 하드웨어를 식별하고, 제 1 노드와 동일한 물리적 하드웨어 상에서 구동하는 복수의 노드들 중 적어도 하나의 제 2 노드를 결정하고, 적어도 하나의 제 2 노드의 식별자를 명시하는 데이터 세트를 생성하고, 제 1 노드에 연관된 제로-경로 테이블로서 데이터 세트의 저장을 개시하고, 라우팅 경로를 결정할 때, 데이터 세트에 액세스하고, 제로-경로 테이블에 기초하여 제 1 노드와 적어도 하나의 제 2 노드 사이의 링크를 선택하도록 구성된 제어 유닛을 포함한다. 본 발명의 목적은 복수의 노드들을 포함하는 피어-투-피어 네트워크에서 라우팅 경로를 결정하기 위한 컴퓨터 프로그램 제품에 의해 달성되는 것으로서, 컴퓨터 프로그램 제품은 복수의 노드들의 노드에 의해 실행될 때, 복수의 노드들 중 제 1 노드가 구동하는 물리적 하드웨어를 식별하는 단계, 제 1 노드와 동일한 물리적 하드웨어 상에서 구동하는 복수의 노드들 중 적어도 하나의 제 2 노드를 결정하는 단계, 적어도 하나의 제 2 노드의 식별자를 명시하는 데이터 세트를 생성하는 단계, 데이터 세트를 제 1 노드에 연관된 제로-경로 테이블로서 저장하는 단계, 및 라우팅 경로를 결정할 때, 데이터 세트에 액세스하고, 제로-경로 테이블에 기초하여 제 1 노드와 적어도 하나의 제 2 노드 사이의 링크를 선택하는 단계를 실행한다.
본 발명은 오버레이 토폴로지 세부사항에 기초하면서도 P2P 오버레이 네트워크의 기반 물리적 하드웨어를 준수하는 라우팅 알고리즘을 도입한다. 본 발명은 네트워크의 노드들이 P2P 시스템의 복제 알고리즘으로 구동하는 물리적 하드웨어에 관한 정보를 포함하는 네트워크 노드(논리적 피어)를 기술한다.
동일한 물리적 머신 상에 위치된 노드들(예를 들면, 운영 시스템들로서, 예를 들면, XEN, VMware의 가상화를 통해서)이 이것을 모르는 종래 기술과는 달리, 본 발명은 하나 이상의 네트워크 노드들이 구동하고 있는 물리적 하드웨어를 식별하고 라우팅 경로의 결정을 위해 물리적 하드웨어에 관한 이 정보를 고려하는 라우팅 시스템을 제안한다.
본 발명은 동일 머신 상에 호스트된 노드들 사이의 제로-경로 링크들을 오버레이 라우팅 계층에 도입한다. 그러므로, 본 발명은 동일한 물리적 하드웨어(예를 들면, 물리적 머신인 개인용 컴퓨터) 상에 호스트되었지만 상이한 인터넷 프로토콜(Internet Protocol; IP) 어드레스들을 갖는 2개의 상이한 가상 머신들에 있는 2개의 노드들은 대개는 몇몇의 외부 피어들을 통해 중계되고 전달되는 메시지들을 교환할 것이라는 사실에 의해 종래 기술의 시스템들에서 야기되는 시스템에 대해 불필요하게 큰 네트워크 트래픽 및 메시지 레이턴시(message latency)를 피하게 한다.
라우팅 알고리즘들이 오버레이 세부사항에 기초하는 현재의 P2P 오버레이들과는 반대로, 본 발명은 오버레이 토폴로지 생성 및 P2P 네트워크의 라우팅 최적화를 위해 분산 물리 하드웨어 인프라스트럭처 상에서 가상화 해결책들을 고려하는 해결책을 제공한다.
종래 기술 예를 들면, 최신 기술의 코드 토폴로지에서, 핑거 테이블은 오버레이에서 노드들의 ID들에 따라 구성된다. 이들 ID들은 무작위로 생성되며 물리적 네트워크 토폴로지를 나타내지 않는다. 피어들이 상이한 가상 IP 어드레스들을 갖는 가상화 플랫폼 위에서 구동하고 있을 때 노드 ID의 구성을 위한 피어의 IP 어드레스를 이용하는 것은 적용되지 않기 때문에, 동일한 물리적 머신 상에 호스트되는 노드들 사이에 메시지들은 목적지에 도달하기 전에 몇 개의 중간 피어들을 통해 네트워크를 걸쳐 전달될 것이다. 본 발명은 P2P 오버레이 네트워크에 있는 물리적 하드웨어를 고려함으로써 종래 기술의 이 문제를 회피한다.
본 발명은 클러스터 상호연결 대역폭 이용을 감소시키고, 감소된 메시징 레이턴시에 의해 시스템 속도를 증가시키기 위해, 네트워크 인터페이스들 및 네트워킹 스택들의 부하를 감소시킬 수 있게 한다.
또한, 본 발명은 서버 클러스터들 또는 순수 P2P 전화 시스템들과 같은 분산 환경들에서 이익이 있게 이용될 수 있는 기본 기술에 대한 개선을 기술한다. 특히, 이러한 종류의 기술은 IETF(Internet Engineering Task Force) P2P-SIP(Session Initiation Protocol)에 포함될 수도 있을 것이다.
또 다른 잇점들이 종속 청구항들에 나타낸 본 발명의 실시예들에 의해 달성된다.
본 발명의 바람직한 실시예에 따라, 복수의 노드들 중 식별자가 제로-경로 테이블에 포함되어 있지 않은 노드와 제 1 노드 사이의 링크보다, 제로-경로 테이블에 기초한 제 1 노드와 적어도 하나의 제 2 노드 사이의 링크에 더 짧은 경로 길이가 할당된다. 할당은 제 1 노드에 의해 행해진다. 원 노드로부터 목적지 노드로의 라우팅 경로의 결정을 위해, 라우팅 경로는 라우팅 경로를 구성하는 복수의 노드들 사이에 하나 이상의 링크들이 결정된 라우팅 경로의 최소 총 경로 길이를 야기하도록 선택된다. 바람직하게, 선택은 제 1 노드에 의해 실행된다.
본 발명의 또 다른 바람직한 실시예에 따라, 제 1 노드의 제로-경로 테이블 및 단축경로 테이블이 제 1 노드의 결합된 라우팅 테이블로 결합된다. 바람직하게, 결합은 제 1 노드에 의해 실행된다. 단축경로 테이블은 피어-투-피어 오버레이 네트워크의 토폴로지 구조와 관련하여 제 1 노드가 단축경로 링크들을 유지하는 복수의 노드들 중 하나 이상의 노드들의 식별자들을 명시한다. 피어-투-피어 오버레이 네트워크의 토폴로지 구조는 예를 들면, P2P 오버레이 네트워크의 노드들에 할당된 IP 어드레스들을 갖는 IP 어드레스 공간이다. 제로-경로 테이블의 엔트리들에 대응하는 결합된 라우팅 테이블의 엔트리들은 선호도로서 예를 들면, 선호도를 나타내는 플래그(flag) 또는 마킹(marking)에 할당된다. 바람직하게, 할당은 제 1 노드에 의해 행해진다. 원 노드로부터 목적지 노드로의 라우팅 경로의 결정을 위해, 결합된 라우팅 테이블이 액세스되고, 선호도를 고려하여 결합된 라우팅 테이블의 명시된 제 1 노드와 노드 사이의 링크가 선택된다. 바람직하게, 액세스 및 선택은 제 1 노드에 의해 실행된다.
제 1 노드는 자신의 하드웨어 및 네트워크의 다른 노드들의 하드웨어에 관한 정보를 검출하는 것이 가능하다. 이 검출의 목적은 동일한 물리적 하드웨어 상에서 복수의 네트워크 노드들 중 어느 노드들이 구동하고 있는지를 찾아내는 것이다. 동일한 물리적 하드웨어 상에서 구동하나 상이한 IP 어드레스를 갖는 노드들 사이의 링크를 "제로-경로 링크들"이라 한다. 물리적 하드웨어를 검출하는 몇 가지 가능한 방식들이 있다.
본 발명의 바람직한 실시예에 따라, 제 1 노드가 구동하는 물리적 하드웨어는 제 1 노드의 플랫폼으로부터 정보를 검색함으로써 결정된다. 바람직하게, 검색은 제 1 노드에 의해 실행된다. 제 1 노드가 구동하는 물리적 하드웨어의 결정에 더하여 또는 이에 대안적으로, 제 1 노드와 동일한 물리적 하드웨어 상에서 구동하는 적어도 하나의 제 2 노드는 적어도 하나의 제 2 노드의 플랫폼으로부터 정보를 검색함으로써 결정된다. 바람직하게, 검색은 제 1 노드에 의해 실행된다. 플랫폼은 제 1 노드 및/또는 적어도 하나의 제 2 노드가 구동하는 물리적 하드웨어, 예를 들면, 중앙 처리 장치(Central Processing Unit; CPU), 컴퓨터, 네트워크 유닛, 등일 수 있다. 정보는 예를 들면, 제 1 노드 및/또는 적어도 하나의 제 2 노드의 플랫폼에 연관된, CPU ID, 미디어 액세스 제어(Media Access Control; MAC) 어드레스, 위치, IP 어드레스, 위치, 등일 수 있다. 이것은 소프트웨어 애플리케이션이 네트워크 노드들의 운영 시스템(들)의 도움으로 찾아낼 수 있는 임의의 정보를 포함한다. 예를 들면, MAC 어드레스는 일반적으로 물리 호스트를 결정하는 상대적으로 안전한 방식이지만, 이것은 하드웨어 가상화 기술이 이용된다면 그렇지 않을 수도 있을 것이다.
본 발명의 또 다른 바람직한 실시예에 따라, 제 1 노드가 구동하는 물리적 하드웨어는 제 1 노드에 링크된 또는 이에 연관된 외부 관리 유닛으로부터 정보를 검색함으로써 결정된다. 바람직하게, 검색은 제 1 노드에 의해 실행된다. 제 1 노드가 구동하는 물리적 하드웨어의 결정에 더하여 또는 이에 대안적으로, 제 1 노드와 동일한 물리적 하드웨어 상에서 구동하는 적어도 하나의 제 2 노드는 제 2 노드에 링크된 또는 이에 연관된 외부 관리 유닛으로부터의 정보를 검색함으로써 결정된다. 바람직하게, 검색은 제 1 노드에 의해 실행된다. 또한, 외부 관리 유닛은 외부 클러스터 관리 엔티티일 수 있으며 "클러스터"라는 용어는 한 클러스터의 네트워크 노드들로서 P2P 오버레이 네트워크를 지칭한다.
예를 들면, 노드 ID들을 구성하기 위해 외부 클러스터 관리 엔티티가 이용가능하다면, 외부 클러스터 관리 엔티티는 클러스터의 물리적 토폴로지에 관한 정보를 제공할 수도 있을 것이다. 외부 클러스터 관리 엔티티는 중앙 등록 서버, 부트스트랩 서버 또는 네트워크 관리 및 모니터링 서버일 수 있다.
소프트웨어 애플리케이션이 필요한 하드웨어 정보를 검출할 수 없다면, 노드들의 관리자에 의한 노드들의 수동적 (사전-) 구성이 해결책이다. 바람직하게, 제 1 노드가 구동하는 물리적 하드웨어는 피어-투-피어 네트워크의 네트워크 운영자 및/또는 제 1 노드의 이용자로부터 대응 정보를 검색함으로써 결정된다. 바람직하게, 검색은 제 1 노드에 의해 실행된다. 제 1 노드가 구동하는 물리적 하드웨어의 결정에 더하여 또는 이에 대안적으로, 제 1 노드와 동일한 물리적 하드웨어 상에서 구동하는 적어도 하나의 제 2 노드는 피어-투-피어 네트워크의 네트워크 운영자 및/또는 적어도 하나의 제 2 노드의 이용자로부터 대응 정보를 검색함으로써 결정된다. 바람직하게, 검색은 제 1 노드에 의해 실행된다.
바람직한 실시예에서, 제 1 노드가 구동하는 물리적 하드웨어는 제 1 노드에 연관된 애플리케이션 계층 상에서의 측정에 의해 결정된다. 바람직하게, 결정은 제 1 노드에 의해 실행된다. 제 1 노드가 구동하는 물리적 하드웨어의 결정에 더하여 또는 이에 대안적으로, 제 1 노드와 동일한 물리적 하드웨어 상에서 구동하는 적어도 하나의 제 2 노드에 연관된 애플리케이션 계층 상에서의 측정에 의해 결정된다. 바람직하게, 결정은 제 1 노드에 의해 실행된다.
애플리케이션 계층 상에서의 측정은 "핑(ping)" 메시지 교환들과 같은 애플리케이션 레벨 프로빙 메커니즘들(application level probing mechanisms)일 수 있다. 핑 메시지 교환에 기초하여, 노드들은 다른 노드들이 동일 디바이스 상에 호스트된다면 연결 레이턴시로부터 추정할 수 있다. 또한, 노드들이 동일 하드웨어 상에 있는지 추정하기 위해 다른 이미 공지된 방법들이 이용될 수 있는데, 예를 들면, 네트워크 코디네이트 시스템들은 모든 링크들의 분명한 측정들의 필요성 없이 어떤 노드간 레이턴시를 측정함으로써 기반 네트워크에 관한 지식을 얻으려고 한다. 이것은 노드들이 물리적 토폴로지에서 가까이 있을 때 이들 노드들을 논리적 오버레이에서 함께 가까이 있게 한다. 또 다른 예는 다른 노드들로의 레이턴시를 측정함으로써 로컬리티(locality)에 대해 연속적으로 자신의 라우팅 테이블을 조절하는 패스트리(Pastry)이다.
본 발명의 또 다른 바람직한 실시예에 따라, 제로-경로 테이블(소위 "제로-경로 링크")에 기초하여 제 1 노드와 적어도 하나의 제 2 노드 사이의 링크가 바람직하게는 라우팅 알고리즘에 의해서, 제 1 노드로부터 다음 홉으로서 선택된다.
본 발명의 또 다른 특징들 및 잇점들 뿐만 아니라, 이들은 첨부한 도면과 함께 취해진 본 바람직한 실시예들의 다음 상세한 설명을 판독함으로써 더 잘 알게 될 것이다.
도 1a는 복수의 노드들을 포함하는 종래 기술의 구조형 P2P 오버레이 네트워크(N)를 도시한 도면.
도 1b는 노드가 단축경로 링크들을 유지하는 노드들이 열거된 노드에 연관된 핑거 테이블(FT)을 도시한 도면.
도 2는 본 발명의 일 실시예에 따른 P2P 오버레이 네트워크를 도시한 도면.
도 3a는 도 2에 도시된 P2P 오버레이 네트워크에서 제로-경로 링크들을 도시한 도면.
도 3b는 도 2에 도시된 P2P 오버레이 네트워크에서 노드에 연관된 제로-경로 테이블을 도시한 도면.
도 4a는 도 2에 도시된 P2P 오버레이 네트워크에서 노드에 연관된 결합된 라우팅 테이블에 따른 링크들을 도시한 도면.
도 4b는 본 발명의 일 실시예에 따른 결합된 라우팅 테이블을 도시한 도면.
도 1b는 노드가 단축경로 링크들을 유지하는 노드들이 열거된 노드에 연관된 핑거 테이블(FT)을 도시한 도면.
도 2는 본 발명의 일 실시예에 따른 P2P 오버레이 네트워크를 도시한 도면.
도 3a는 도 2에 도시된 P2P 오버레이 네트워크에서 제로-경로 링크들을 도시한 도면.
도 3b는 도 2에 도시된 P2P 오버레이 네트워크에서 노드에 연관된 제로-경로 테이블을 도시한 도면.
도 4a는 도 2에 도시된 P2P 오버레이 네트워크에서 노드에 연관된 결합된 라우팅 테이블에 따른 링크들을 도시한 도면.
도 4b는 본 발명의 일 실시예에 따른 결합된 라우팅 테이블을 도시한 도면.
도 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 노드(20)는 어느 물리적 하드웨어에서 구동하고 있는지를 결정한다. 그리고, 제 1 노드(20)는 어느 물리적 하드웨어에서 코드 링(N)의 다른 노드들(0, 50, 87, 112, 140, 179, 200, 211, 223, 240)이 구동하고 있는지를 결정한다.
제 1 노드(20)는 하나 또는 몇 개의 서로 연결된 컴퓨터들, 즉 하드웨어 플랫폼과, 하드웨어 플랫폼에 기초한 소프트웨어 플랫폼과, 소프트웨어 및 하드웨어 플랫폼에 의해 형성된 시스템 플랫폼에 의해 실행된 몇 개의 애플리케이션 프로그램들로 구성된다. 제 1 노드(20)의 기능성은 이들 애플리케이션 프로그램들의 실행에 의해 제공된다. 애플리케이션 프로그램들 또는 이들 애플리케이션 프로그램들 중 선택된 부분은 시스템 플랫폼 상에서 실행될 때, 다음에서 기술되는 바와 같은 라우팅 서비스를 제공하는 컴퓨터 소프트웨어 제품을 구성한다. 또한, 이러한 컴퓨터 소프트웨어 제품은 이들 애플리케이션 프로그램들 또는 애플리케이션 프로그램들의 선택된 부분을 저장하는 저장 매체에 의해 구성된다.
기능 관점에서, 제 1 노드(20)는 제 1 노드의 기능들의 제어를 위한 제어 유닛, 데이터를 저장하기 위한 저장 매체, 및 다른 노드들과의 정보의 교환을 위한 인터페이스를 포함한다.
물리적 하드웨어의 결정을 위해, 제 1 노드(20)는 이것이 구동하고 있는 물리적 하드웨어를 식별할 수 있게 하는 임의의 이용가능한 정보를 이용할 수 있다. 제 1 노드(20)는 자신의 플랫폼으로부터 정보로서, 예를 들면, CPU ID, MAC 어드레스, 위치, IP 어드레스, 등을 수집함으로써 자신이 구동하고 있는 물리적 하드웨어에 관한 정보를 검색하는 것이 가능하다. 이어서, 제 1 노드(20)는 코드 링(N)의 다른 노드들(0, 50, 87, 112, 140, 179, 200, 211, 223, 240)로부터 대응하는 정보를 수집하고 수집된 피스들(pieces)의 정보들을 비교할 수도 있다. 예를 들면, 제 1 노드(20)가 구동하고 있는 컴퓨터의 CPU ID가 노드(112)가 구동하고 있는 컴퓨터의 CPU ID와 같다면, 제 1 노드(20)는 제 1 노드(20)가 구동하고 있는 물리적 하드웨어가 노드(112)가 구동하고 있는 물리적 하드웨어와 동일하다는 결과에 도달한다.
자신의 플랫폼으로부터 이용가능한 정보(예를 들면, CPU ID, MAC 어드레스, 위치, IP, ...) 외에도, 제 1 노드(20)는 외부 관리 엔티티로부터 검색하거나, 제 1 노드(20)가 구동하고 있는 하드웨어의 이용자에 의해 실행된 수동적 구성에 의해 제공되거나, 애플리케이션 계층 측정들에 의해 수집되거나, 등에 의한 정보를 이용할 수도 있다. 마찬가지로, 다른 노드들(0, 50, 87, 112, 140, 179, 200, 211, 223, 240) 각각은 구동하고 있는 물리적 하드웨어를 식별할 수 있게 하는 임의의 이용가능한 정보를 이용할 수도 있다. 다른 노드들(0, 50, 87, 112, 140, 179, 200, 211, 223, 240) 각각이 각각의 물리적 하드웨어에 관한 수집된 정보를 제 1 노드(20)에 알리는 것이 가능하다. 제 1 노드(20)가 다른 노드들(0, 50, 87, 112, 140, 179, 200, 211, 223, 240)이 구동하고 있는 물리적 하드웨어에 액세스하여 이들의 각각의 물리적 하드웨어에 관한 피스들의 정보들을 다른 노드들(0, 50, 87, 112, 140, 179, 200, 211, 223, 240)로부터 수집하는 것도 가능하다.
하드웨어 분류을 나타내고 노드들(0, 20, 50, 87, 112, 140, 179, 200, 211, 223, 240)에 대해 상이한 아이콘 모양들에 의해 이를 도시한 물리적 하드웨어를 분류하는 이 단계의 결과가 도 2에 도시되었다. 각각의 모양은 또 다른 물리적 머신을 나타낸다. 이것은 노드들(0, 50, 140, 200, 223)이 제 1 머신 상에서 구동됨을 의미한다. 노드들(20, 112, 211)은 제 2 머신 상에서 구동한다. 노드들(87, 179, 240)은 제 3 머신 상에서 구동한다.
분류 절차 후에, 노드(20)는 동일 머신 상에 호스트되는 제 2 노드들(112, 211)에 대한 제로-경로 링크 테이블을 유지한다. 바람직하게, 코드 링(N)의 각각의 노드(0, 20, 50, 87, 112, 140, 179, 200, 211, 223, 240)는 각각의 노드와 동일한 머신 상에 호스트되는 노드들에 대한 각각의 제로-경로 링크 테이블을 유지한다.
도 3a는 제 1 노드(20)와 동일한 물리적 하드웨어 상에서 구동하는 제 1 노드(20)와 제 2 노드들(112, 211) 사이의 제로-경로 링크들(ZL1, ZL2)을 도시한 것이다. 제로-경로 링크들(ZL1, ZL2)을 통해 전송되는 메시지들은 네트워크(N)를 통해 전송될 필요는 없으나 단일 물리적 하드웨어에서 이용가능한 연결들을 통해 교환된다. 그러므로, 제로-경로 링크들(ZL1, ZL2)을 통해 전송되는 메시지들은 네트워크(N)의 인프라스트럭처에 부담을 주지 않으며 최소 레이턴시에 의해 송신될 수 있다.
식별자들, 즉, 노드들(112, 211)의 노드 ID들(112, 211)은 도 3b에 도시된 제로-경로 테이블(ZPT)의 노드(20)에 의해 유지된다. 노드(20)는 노드(20)의 메모리 유닛 예를 들면, 랜덤 액세스 메모리(Random Access Memory; RAM)에 제로-경로 테이블(ZPT)을 저장하는 것이 가능하다.
제 1 노드(20)는 도 4b에 도시된 바와 같은 결합된 라우팅 테이블(CRT)로 핑거 테이블(FT) 및 제로-경로 테이블(ZPT)을 통합한다. 핑거 테이블(FT) 및 제로-경로 테이블(ZPT)을 결합된 라우팅 테이블(CRT)로 통합함으로써, 제 1 노드(20)는 제로-경로 링크들(ZL1, ZL2)을 이용할 수 있다. 제 1 노드(20)는 제로-경로 링크들(ZL1, ZL2)에 선호도를 할당한다. 선호도는 제로-경로 링크들(ZL1, ZL2)에 연관시킴으로써, 단축경로 링크들(SC1 내지 SC4)에 연관된 량보다 더 잇점이 있는 량이 할당될 수 있다.
예를 들면, 제로-경로 링크들(ZL1, ZL2)은 제로인 경로 길이, 즉 1인 경로 길이에 할당될 수 있는 단축경로 링크들(SC1 내지 SC4)보다 짧은 경로 길이가 할당된다. 라우팅 경로를 결정할 때, 제 1 노드(20)는 소스 노드부터 목적지 노드에 도달하기 위한 이용가능한 라우팅 대안들의 총 경로 길이를 계산한다. 라우팅 경로의 총 경로 길이는 라우팅 경로를 함께 형성하는 경로 섹션들의 경로 길이들의 합으로서 계산될 수 있고, 이어서 제 1 노드(20)는 최소 총 경로 길이를 갖는 라우팅 경로를 선택한다. 제로-경로 링크들(ZL1, ZL2)에 제로인 경로 길이가 할당되므로, 단축경로 링크들(SC1 내지 SC4) 중 하나를 통한 라우팅 경로보다는 제로-경로 링크들(ZL1, ZL2) 중 하나를 통한 라우팅 경로가 선택되는 것이 개연성이 있다.
제 1 노드(20)가 제로-경로 링크들(ZL1, ZL2)에 제로의 홉 수, 즉 한 홉이 할당되는 단축경로 링크들(SC1 내지 SC4)에 할당하는 것보다 적은 홉 수를 할당하는 것 또한 가능하다. 라우팅 경로를 결정할 때, 제 1 노드(20)는 소스 노드로부터 목적지 노드에 도달하는 이용가능한 라우팅 대안들에서 필요한 홉들을 계산한다. 이어서 제 1 노드(20)는 최소 수의 홉들을 갖는 라우팅 경로를 선택한다. 제로-경로 링크들(ZL1, ZL2)에 제로 홉들이 할당되므로, 단축경로 링크들(SC1 내지 SC4) 중 하나를 통한 라우팅 경로보다는 제로-경로 링크들(ZL1, ZL2) 중 하나를 통한 라우팅 경로가 선택되는 것이 개연성이 있다.
도 4a는 결합된 라우팅 테이블(CRT)에 따라 제 1 노드(20)에서 이용가능한 링크들을 도시한 것이다. 단축경로 링크(SC3)는 제로-경로 링크(ZL1)와 같다. 표준 단축경로 링크들에 비해 제로-경로 링크의 잇점에 기인하여 제로-경로 링크가 바람직하므로, 이 링크는 결합된 라우팅 테이블(CRT)에 단축경로 링크(SC2)로서가 아니라 제로-경로 링크(ZL1)로서 리스트되어 있다.
DHT 라우팅 알고리즘들은 오버레이 홉 수와 관련하여 최적화된다. 네트워크 메트릭들(예를 들면, 지연, IP 홉 수,..,)은 라우팅 알고리즘에 의해 명시되는 다음 홉에 영향을 미치지 않는다. 이것은 각 피어가 메시지의 총 경로에 관해서가 아니라 자신의 이웃 피어들(다음 홉)로의 링크들에 관한 지식만을 갖는다는 사실에 기인한다. 네트워크 메트릭들와 관련하여 다음 홉를 선택하는 것은 총 경로와 관련하여 더 나은 성능을 보증하지 않을 것이다.
그러나, 링크들을 주기적으로 프로빙하고 라우팅 테이블을 업데이트(update)함으로써 네트워크 로컬리티와 관련하여 이웃 피어들을 선택하는 DHT 알고리즘들 유사 패스트리가 있다. 여기에서 본 발명에 의해 제공되는 제로-경로 링크들에 관한 지식은 이들 링크들이 특정 ID 공간으로의 최적 링크들이므로 포함될 수 있다. 프로빙 및 업데이팅은 특정 ID 공간으로의 제로-경로 링크가 발견된다면 필요하지 않게 된다.
라우팅 알고리즘이 경로 길이 또는 홉 수와 같은 메트릭들을 해석하지 않고 오버레이 특정의 ID들만을 해석하는 P2P 알고리즘들에서, 제로-경로 링크들은 이들이 결합된 라우팅 테이블을 통해 다음 홉으로서 라우팅 알고리즘에 의해 선택된다면, 최신 기술의 P2P 알고리즘들에 비해서 네트워크 트래픽이 감소되고 메시지 레이턴시가 개선되기 때문에 여전히 유용하다.
본 발명에 따른 조인 알고리즘(join algorithm)은 제로-경로 링크들의 일관성을 보증하기 위해, 최신 기술의 방식들와 관련하여 수정된다. 본 발명에 따른 조인 알고리즘의 설명에서, 피어들이 어느 하드웨어에서 구동하고 있는지를 이들 피어들이 결정하는 절차가 위에 기술된 바와 같이 이미 완료된 것으로 가정된다. 조인하는 피어는 이에 따라 어느 피어들이 동일한 물리적 하드웨어 상에 위치되어 있는지를 안다. 이에 따라 조인 프로세스 동안에, 동일한 물리적 하드웨어 상에 위치되어 있는 피어들을 향한 직접적인 제로-경로 링크들을 확립한다. 또한, 새로이 확립된 링크들은 단축경로 링크들이 아니고 제로-경로 링크들임을 이들 피어들에 알린다. 이에 따라, 모든 피어들은 조인 프로세스가 종료된 후에 최신의 제로-경로 테이블을 유지한다.
0, 20, 50, 87, 112, 140, 179, 200, 211, 223, 240: 노드
Claims (10)
- 복수의 노드들(0, 20, 50, 87, 112, 140, 179, 200, 211, 223, 240)을 포함하는 피어-투-피어 오버레이 네트워크(peer-to-peer overlay network)(N)에서 라우팅 경로를 결정하는 방법에 있어서:
상기 복수의 노드들(0, 20, 50, 87, 112, 140, 179, 200, 211, 223, 240) 중 제 1 노드(20)가 구동하는 물리적 하드웨어를 식별하는 단계;
상기 제 1 노드(20)와 동일한 물리적 하드웨어 상에서 구동하는 상기 복수의 노드들(0, 20, 50, 87, 112, 140, 179, 200, 211, 223, 240) 중 적어도 하나의 제 2 노드(112, 211)를 결정하는 단계;
상기 적어도 하나의 제 2 노드(112, 211)의 식별자를 명시하는 데이터 세트를 생성하는 단계;
상기 데이터 세트를 상기 제 1 노드(20)에 연관된 제로-경로 테이블(ZPT)로서 저장하는 단계; 및
상기 라우팅 경로를 결정할 때, 상기 데이터 세트에 액세스하고, 상기 제로-경로 테이블(ZPT)에 기초하여 상기 제 1 노드(20)와 상기 적어도 하나의 제 2 노드(112, 211) 사이의 링크(ZL1, ZL2)를 선택하는 단계를 포함하는, 피어-투-피어 오버레이 네트워크(N)에서 라우팅 경로를 결정하는 방법. - 제 1 항에 있어서,
상기 복수의 노드들(0, 20, 50, 87, 112, 140, 179, 200, 211, 223, 240) 중 식별자가 상기 제로-경로 테이블(ZPT)에 포함되어 있지 않은 노드(50, 87, 179)와 상기 제 1 노드(20) 사이의 링크보다, 상기 제로-경로 테이블(ZPT)에 기초한 상기 제 1 노드(20)와 상기 적어도 하나의 제 2 노드(112, 211) 사이의 상기 링크(ZL1, ZL2)에 더 짧은 경로 길이를 할당하는 단계; 및
결정된 라우팅 경로의 최소 총 경로 길이를 야기하는 상기 복수의 노드들(0, 20, 50, 87, 112, 140, 179, 200, 211, 223, 240) 사이에 하나 이상의 링크들을 선택함으로써 상기 라우팅 경로를 결정하는 단계를 추가로 포함하는 것을 특징으로 하는, 피어-투-피어 오버레이 네트워크(N)에서 라우팅 경로를 결정하는 방법. - 제 1 항에 있어서,
상기 제 1 노드(20)의 제로-경로 테이블(ZPT) 및 단축경로 테이블(SCT)을 상기 제 1 노드(20)의 결합된 라우팅 테이블(CRT)로 결합하는 단계로서, 상기 단축경로 테이블(SCT)은 상기 제 1 노드(20)가 상기 피어-투-피어 오버레이 네트워크(N)의 토폴로지 구조와 관련하여 단축경로 링크들을 유지하는 상기 복수의 노드들(0, 20, 50, 87, 112, 140, 179, 200, 211, 223, 240) 중 하나 이상의 노드들(50, 87, 112, 179)의 식별자들을 명시하는, 상기 결합 단계;
상기 제로-경로 테이블(ZPT)의 엔트리들에 대응하는 상기 결합된 라우팅 테이블(CRT)의 엔트리들에 선호도를 할당하는 단계; 및
상기 라우팅 경로를 결정할 때, 상기 결합된 라우팅 테이블(CRT)에 액세스하고, 상기 선호도를 고려하여 상기 결합된 라우팅 테이블(CRT)에 명시된 노드(50, 87, 112, 179, 211)와 상기 제 1 노드(20) 사이의 링크를 선택하는 단계를 추가로 포함하는 것을 특징으로 하는, 피어-투-피어 오버레이 네트워크(N)에서 라우팅 경로를 결정하는 방법. - 제 1 항에 있어서,
상기 제 1 노드(20)가 구동하는 상기 물리적 하드웨어를 식별하고/식별하거나 상기 제 1 노드(20)의 플랫폼 및/또는 상기 적어도 하나의 제 2 노드(112, 211)로부터 각각 정보를 검색함으로써 상기 적어도 하나의 제 2 노드(112, 211)를 결정하는 단계를 추가로 포함하는 것을 특징으로 하는, 피어-투-피어 오버레이 네트워크(N)에서 라우팅 경로를 결정하는 방법. - 제 4 항에 있어서,
상기 제 1 노드(20)의 플랫폼 및/또는 상기 적어도 하나의 제 2 노드(112, 211)로부터 각각 검색된 상기 정보는 제 1 노드(20) 및/또는 상기 적어도 하나의 제 2 노드(112, 211)가 각각 구동하는 상기 물리적 하드웨어에 연관된 다음의 데이터: 중앙 처리 장치의 식별자, MAC 어드레스, IP 어드레스, 및 위치 중 적어도 하나를 포함하는 것을 특징으로 하는, 피어-투-피어 오버레이 네트워크(N)에서 라우팅 경로를 결정하는 방법. - 제 1 항에 있어서,
제 1 노드(20)가 구동하는 상기 물리적 하드웨어를 식별하고/식별하거나 제 1 노드(20) 및/또는 상기 적어도 하나의 제 2 노드(112, 211)에 링크된 외부 관리 유닛으로부터 각각 정보를 검색함으로써 상기 적어도 하나의 제 2 노드(112, 211)를 결정하는 단계를 추가로 포함하는 것을 특징으로 하는, 피어-투-피어 오버레이 네트워크(N)에서 라우팅 경로를 결정하는 방법. - 제 1 항에 있어서,
제 1 노드(20)가 구동하는 상기 물리적 하드웨어를 식별하고/식별하거나 상기 피어-투-피어 네트워크(N)의 네트워크 운영자 및/또는 상기 제 1 노드(20)의 이용자 및/또는 상기 적어도 하나의 제 2 노드(112, 211)의 이용자로부터 각각 대응 정보를 검색함으로써 상기 적어도 하나의 제 2 노드(112, 211)를 결정하는 단계를 추가로 포함하는 것을 특징으로 하는, 피어-투-피어 오버레이 네트워크(N)에서 라우팅 경로를 결정하는 방법. - 제 1 항에 있어서,
제 1 노드(20)가 구동하는 상기 물리적 하드웨어를 식별하고/식별하거나 상기 피어-투-피어 오버레이 네트워크(N)의 애플리케이션 계층 상에서의 레이턴시 측정에 의해 상기 적어도 하나의 제 2 노드(112, 211)를 결정하는 단계를 추가로 포함하는 것을 특징으로 하는, 피어-투-피어 오버레이 네트워크(N)에서 라우팅 경로를 결정하는 방법. - 복수의 노드들(0, 20, 50, 87, 112, 140, 179, 200, 211, 223, 240)을 포함하는 피어-투-피어 오버레이 네트워크(N)의 제 1 노드(20)에 있어서:
상기 제 1 노드(20)가 구동하는 물리적 하드웨어를 식별하고, 상기 제 1 노드(20)와 동일한 물리적 하드웨어 상에서 구동하는 상기 복수의 노드들(0, 20, 50, 87, 112, 140, 179, 200, 211, 223, 240) 중 적어도 하나의 제 2 노드(112, 211)를 결정하고, 상기 적어도 하나의 제 2 노드(112, 211)의 식별자를 명시하는 데이터 세트를 생성하고, 상기 제 1 노드(20)에 연관된 제로-경로 테이블(ZPT)로서 상기 데이터 세트의 저장을 개시하고, 라우팅 경로를 결정할 때, 상기 데이터 세트에 액세스하고, 상기 제로-경로 테이블(ZPT)에 기초하여 상기 제 1 노드(20)와 상기 적어도 하나의 제 2 노드(112, 211) 사이의 링크를 선택하도록 구성된 제어 유닛을 포함하는, 피어-투-피어 오버레이 네트워크(N)의 제 1 노드(20). - 복수의 노드들(0, 20, 50, 87, 112, 140, 179, 200, 211, 223, 240)을 포함하는 피어-투-피어 네트워크(N)에서 라우팅 경로를 결정하기 위한 컴퓨터 프로그램이 기록된 컴퓨터 판독가능한 기록 매체에 있어서,
상기 컴퓨터 프로그램은 상기 복수의 노드들(0, 20, 50, 87, 112, 140, 179, 200, 211, 223, 240)의 노드에 의해 실행될 때:
상기 복수의 노드들(0, 20, 50, 87, 112, 140, 179, 200, 211, 223, 240) 중 제 1 노드(20)가 구동하는 물리적 하드웨어를 식별하는 단계;
상기 제 1 노드(20)와 동일한 물리적 하드웨어 상에서 구동하는 상기 복수의 노드들(0, 20, 50, 87, 112, 140, 179, 200, 211, 223, 240) 중 적어도 하나의 제 2 노드(112, 211)를 결정하는 단계;
상기 적어도 하나의 제 2 노드(112, 211)의 식별자를 명시하는 데이터 세트를 생성하는 단계;
상기 데이터 세트를 상기 제 1 노드(20)에 연관된 제로-경로 테이블(ZPT)로서 저장하는 단계; 및
상기 라우팅 경로를 결정할 때, 상기 데이터 세트에 액세스하고, 상기 제로-경로 테이블(ZPT)에 기초하여 상기 제 1 노드(20)와 상기 적어도 하나의 제 2 노드(112, 211) 사이의 링크를 선택하는 단계를 실행하는, 컴퓨터 판독가능한 기록 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP08290626.4 | 2008-06-27 | ||
EP08290626A EP2139178A1 (en) | 2008-06-27 | 2008-06-27 | Method of determining a routing path |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20110021931A true KR20110021931A (ko) | 2011-03-04 |
Family
ID=39952397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107028934A KR20110021931A (ko) | 2008-06-27 | 2009-06-19 | 라우팅 경로를 결정하는 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20090323700A1 (ko) |
EP (1) | EP2139178A1 (ko) |
JP (1) | JP2011525767A (ko) |
KR (1) | KR20110021931A (ko) |
CN (1) | CN101616089B (ko) |
WO (1) | WO2009156353A1 (ko) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9264498B2 (en) * | 2009-03-11 | 2016-02-16 | Qualcomm Incorporated | Methods and apparatus for creation, advertisement, and discovery of peer-to-peer overlay networks |
CN101895482A (zh) * | 2009-05-18 | 2010-11-24 | 华为技术有限公司 | 对点到点技术网络的逻辑拓扑信息进行抽象的方法和装置 |
CN102148740B (zh) * | 2010-02-05 | 2013-09-18 | 中国移动通信集团公司 | 一种邻区路由表的更新方法和系统 |
CN101867990A (zh) * | 2010-04-29 | 2010-10-20 | 顾翠红 | 具有优先级的电器无线控制网络 |
CN101917338B (zh) * | 2010-08-13 | 2013-06-26 | 浙江大学 | 基于路径相关性的p2p覆盖网络最优路径组选择方法 |
US8806049B2 (en) * | 2011-02-15 | 2014-08-12 | Peerialism AB | P2P-engine |
CN103460780B (zh) | 2011-03-31 | 2017-11-14 | 安华高科技通用Ip(新加坡)公司 | 用于促进设备到设备通信的方法和装置 |
EP2740242B8 (en) * | 2011-08-04 | 2019-01-23 | Mido Holdings Ltd. | System and method for implementing and managing virtual networks |
US8898327B2 (en) | 2011-10-05 | 2014-11-25 | Peerialism AB | Method and device for arranging peers in a live streaming P2P network |
US20130107889A1 (en) * | 2011-11-02 | 2013-05-02 | International Business Machines Corporation | Distributed Address Resolution Service for Virtualized Networks |
US8799498B2 (en) | 2011-11-18 | 2014-08-05 | Peerialism AB | Method and device for peer arrangement in streaming-constrained P2P overlay networks |
US8713194B2 (en) | 2011-11-18 | 2014-04-29 | Peerialism AB | Method and device for peer arrangement in single substream upload P2P overlay networks |
US10333839B2 (en) | 2012-03-20 | 2019-06-25 | Raytheon Company | Routing a data packet in a communication network |
US9686189B2 (en) * | 2012-12-26 | 2017-06-20 | Microsoft Technology Licensing, Llc | Routing data in a bi-directional communication session over an overlay network using relay nodes |
US9787576B2 (en) * | 2014-07-31 | 2017-10-10 | Microsoft Technology Licensing, Llc | Propagating routing awareness for autonomous networks |
US9537789B2 (en) | 2014-10-31 | 2017-01-03 | Raytheon Company | Resource allocating in a network |
WO2020010270A1 (en) * | 2018-07-04 | 2020-01-09 | Neji, Inc. | Dynamic routing using a distributed hash table |
JP7074018B2 (ja) * | 2018-10-22 | 2022-05-24 | 日本電信電話株式会社 | 分散処理システムおよび分散処理方法 |
CN109831533A (zh) * | 2019-03-19 | 2019-05-31 | 上海沐桦科技有限公司 | 一种网络节点查找方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7639681B2 (en) * | 2004-11-23 | 2009-12-29 | Microsoft Corporation | System and method for a distributed server for peer-to-peer networks |
WO2007034313A1 (en) * | 2005-09-23 | 2007-03-29 | Thomas Friedrich Theo Fuhrmann | Routing method and apparatus |
-
2008
- 2008-06-27 EP EP08290626A patent/EP2139178A1/en not_active Ceased
-
2009
- 2009-06-19 WO PCT/EP2009/057704 patent/WO2009156353A1/en active Application Filing
- 2009-06-19 KR KR1020107028934A patent/KR20110021931A/ko not_active Application Discontinuation
- 2009-06-19 JP JP2011515328A patent/JP2011525767A/ja not_active Withdrawn
- 2009-06-26 US US12/492,744 patent/US20090323700A1/en not_active Abandoned
- 2009-06-29 CN CN200910150962.4A patent/CN101616089B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2009156353A1 (en) | 2009-12-30 |
CN101616089A (zh) | 2009-12-30 |
EP2139178A1 (en) | 2009-12-30 |
JP2011525767A (ja) | 2011-09-22 |
CN101616089B (zh) | 2012-07-04 |
US20090323700A1 (en) | 2009-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20110021931A (ko) | 라우팅 경로를 결정하는 방법 | |
EP2139202B1 (en) | Method of providing a successor list | |
US8126849B2 (en) | Method of redundant data storage | |
EP2058980B1 (en) | A method, system and device for establishing a peer to peer connection in a p2p network | |
Jafari Navimipour et al. | A comprehensive study of the resource discovery techniques in Peer-to-Peer networks | |
US7978631B1 (en) | Method and apparatus for encoding and mapping of virtual addresses for clusters | |
EP2086206A1 (en) | System for operating a peer-to-peer network taking into account access network subscriber information | |
EP2612487B1 (en) | Method and arrangement in a peer-to-peer network | |
Woungang et al. | MR-Chord: Improved chord lookup performance in structured mobile P2P networks | |
Karagiannis | Compute node communication in the fog: Survey and research challenges | |
US9160648B2 (en) | Content-centric network and method of performing routing between domains therefor | |
Sacha et al. | Discovery of stable peers in a self-organising peer-to-peer gradient topology | |
WO2006062623A1 (en) | Determining highest workloads for nodes in an overlay network | |
Shen et al. | A proximity-aware interest-clustered P2P file sharing system | |
CN111010444B (zh) | 一种实现Wowza流媒体引擎分布式集群的系统及方法 | |
Shukla et al. | Towards software defined low maintenance structured peer-to-peer overlays | |
Tato et al. | Koala: Towards lazy and locality-aware overlays for decentralized clouds | |
Sproull et al. | Distributed algorithms for the placement of network services | |
Shukla et al. | Software defined underlay-aware structured peer-to-peer overlay | |
Guo et al. | Theory and network applications of balanced Kautz tree structures | |
Amad et al. | Pancake graphs for lookup acceleration and optimization in P2P networks | |
Abdeljaouad et al. | A game-theoretic approach for dynamic and adaptive managers selection in service specific overlay networks | |
Aditya et al. | An Innovative Approach to Content Search Across P2P Inter-Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E601 | Decision to refuse application |