KR101128066B1 - 패킷 라우팅 방법, 시스템 및 장치, 그리고 백업 자원을 선택하는 방법 및 시스템 - Google Patents

패킷 라우팅 방법, 시스템 및 장치, 그리고 백업 자원을 선택하는 방법 및 시스템 Download PDF

Info

Publication number
KR101128066B1
KR101128066B1 KR20107002381A KR20107002381A KR101128066B1 KR 101128066 B1 KR101128066 B1 KR 101128066B1 KR 20107002381 A KR20107002381 A KR 20107002381A KR 20107002381 A KR20107002381 A KR 20107002381A KR 101128066 B1 KR101128066 B1 KR 101128066B1
Authority
KR
South Korea
Prior art keywords
node
packet
level
busy
busy level
Prior art date
Application number
KR20107002381A
Other languages
English (en)
Other versions
KR20100039385A (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 KR20100039385A publication Critical patent/KR20100039385A/ko
Application granted granted Critical
Publication of KR101128066B1 publication Critical patent/KR101128066B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/127Shortest path evaluation based on intermediate node capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • 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
    • 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/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 패킷 라우팅 방법, 시스템 및 디바이스, 그리고 백업 자원을 선택하는 방법 및 시스템을 개시한다. 패킷 라우팅 방법은, 미리 정해진 간격으로 노드의 비지 레벨을 갱신하는 단계; 및 DHT(Distributed Hash Table) 알고리즘 및 노드의 비지 레벨에 따라 패킷 수신 노드를 선택하고, 상기 선택된 패킷 수신 노드에 패킷을 전송하는 단계를 포함한다. 백업 자원을 선택하는 방법은, 상태 광고 노드가, 로컬 노드의 비지 레벨을 하나의 멀티캐스트 그룹 내의 다른 노드에 방송하는 단계; 및 백업 자원 선택 노드가, 수신된 노드의 비지 레벨에 따라 프록시 노드를 선택하는 단계를 포함한다. 본 발명에 따르면, 노드는 자신의 라우팅 테이블 내의 노드의 비지 레벨을 참조하여 패킷 수신 노드를 선택하며, 이로써 노드들 간의 부하의 균형을 잡고 네트워크의 혼잡 발생을 회피한다.

Description

패킷 라우팅 방법, 시스템 및 장치, 그리고 백업 자원을 선택하는 방법 및 시스템 {METHOD, SYSTEM AND DEVICE FOR PACKET ROUTING, METHOD AND SYSTEM FOR CHOOSING BACKUP RESOURCES}
본 발명은 통신에 관한 것으로, 특히 패킷 라우팅 방법, 시스템 및 디바이스, 그리고 백업 자원을 선택하는 방법 및 시스템에 관한 것이다.
피어투피어(Peer to Peer, P2P) 네트워크는 분산 네트워크(distributed network)이며, 참여자는 자신이 소유한 일부 하드웨어 자원(예컨대, 처리 능력, 저장 능력, 네트워크 접속 능력, 프린터)을 공유한다. 공유 자원은 어떠한 중간 엔티티(intermediate entity)의 필요도 없이, 네트워크가 제공한 서비스 및 컨텐츠를 통해 다른 피어 노드에 의해 액세스될 수 있다. 네트워크에서의 참여자는 자원(서비스 및 컨텐츠)의 제공자와 자원(서비스 및 컨텐츠)의 소비자 양쪽이다. P2P는 종래의 클라이언트/서버(Client/Server, C/S) 모델을 깨는 것이므로 네트워크 내의 모든 노드가 피어(peer)이다. 노드는 다른 노드에 서비스를 제공하는 서버와, 다른 노드가 제공한 서비스를 향수하는 클라이언트 양쪽이다. P2P는 시스템의 모든 노드의 능력을 완전히 사용하여 상호 서비스(mutual service)를 제공하므로, 노드의 활용을 증대시키고 네트워크, 디바이스 및 정보 서비스의 성능을 향상시킨다.
구조화 P2P 시스템에서, 자원의 공표(publication)는 네트워크 토폴로지와 밀접하게 관련되어 있고, 자원은 P2P 토폴로지 내의 논리 어드레스에 따라 네트워크 내에 정확하게 분포되어 있다. 이 시스템에서, 모든 노드는 가상의 논리 어드레스를 가지고 모든 노드는 그들의 어드레스에 따라 상대적으로 안정되고 긴밀한 토폴로지를 구성한다. 구조화 P2P 시스템에서, 자원에 대한 해시 연산(Hash operation)에 의해 생성된 값은 키(key)로 표시된, 자원 표기값(resource mark value)이다. 키의 명칭 공간(name space)는 노드의 명칭 공간에 매핑된다; 즉, 하나의 키는 하나의 노드에 대응한다. 자원은 키와 노드 간의 매핑에 따라 구조화 P2P 시스템 내에 분포되어 있으므로 대응하는 키에 따라 자원을 발견할 수 있다.
구조화 P2P 시스템에서, 각 노드는, 분산 해시 테이블(Distributed Hash Table, DHT)에 따라 계산된, 키 공간(key space)의 섹션(section)을 저장한다. 키 공간은 DHT 알고리즘에 따라 변화한다. 예를 들면, 코드 알고리즘(chord algorithm)에 따르면, 노드 A와 노드 B가 이웃하고 노드 A의 ID가 노드 B의 ID보다 작은 경우, 노드 A에 의해 관리되는 키 공간은 노드 A의 ID에서 노드 B의 ID까지의 수치 공간(numeral space) 내의 키로 구성된다.
DHT 알고리즘은 구조화 P2P 시스템에서 키 기반 자원 검색을 제공하는, 코드(chord)와 페이스트리(pastry)를 포함한다. 키에 따라 루트(root)를 발견하고 키에 대응하는 자원을 루트에서 취득하거나 저장한다.
구조화 P2P 시스템에서 패킷을 라우팅할 때, 패킷 내의 (목적 노드와 관련된) 키에 대응하는 경로는 키와 일정한 알고리즘에 따라 결정되고, 패킷은 점진적 접근법(gradual approaching method)으로 다수의 중간 노드에 의해 목적 노드(destination node)로 라우팅된다.
P2P 오버레이 네트워크(overlay network)에서 노드에 대한 라우팅 테이블은 DHT 알고리즘에 따라 계산되고 조사된다. 코드 알고리즘을 예로 들어, 노드에 대한 라우팅 테이블을 표 1에 나타낸다.
Figure 112010007069704-pct00001
코드 알고리즘에서, 노드가 패킷을 라우팅할 때, 노드는 패킷 내의 키에 따라 자신의 라우팅 테이블에서 최근접 노드(proximate node) ID를 찾아 이 노드 ID에 대응하는 노드로 패킷을 전달한다. 패킷이 목적 노드(노드 ID가 키임)에 도달할 때까지, 모든 노드는 이 규칙에 따라 패킷을 라우팅한다.
그러나 P2P 오버레이 시스템에서, 각 노드의 처리 능력은 다르고 상이한 키를 가지는 패킷은 상이한 홉의 수(numbers of hops)로 라우팅될 것이다. 그 결과, P2P 오버레이 시스템 내의 일부 노드는 더 많은 패킷을 처리할 것이고 나머지 노드는 더 적은 패킷을 처리할 것이다. 많은 패킷을 처리하는 노드 및 처리 능력이 부족한 노드는 충분한 능력을 제공하지 못할 수 있으며, 이는 P2P 오버레이 시스템에서 혼잡을 야기하고 그 결과 그 다음 패킷은 전달되지 않거나 처리되지 않을 것이다.
P2P 오버레이 시스템에서의 혼잡을 회피하기 위하여, 종래기술에서는 아래와 같은 경로 선택 방법을 제공한다:
(1) 목적 노드로 패킷을 전송하기 전에, 전송 노드(소스 노드)가 목적 노드로 혼잡 검출 패킷을 전송한다.
(2) 중간 노드(intermediate node)가 혼잡 검출 패킷을 수신한 후에, 혼잡이 발생하면, 중간 노드는 혼잡 검출 패킷의 명시적인 혼잡 통지(Explicit Congestion Notification, ECN)을 1로 설정하고 그 혼합 검출 패킷을 목적 노드로 전달한다.
(3) 목적 노드가 혼잡 통지를 전송 노드로 전송하며, 이 통지에는 그 경로가 혼잡하다는 것을 전송 노드에 알리는, 중간 노드의 혼잡 정보를 포함한다.
(4) 혼잡 통지를 수신한 때, 전송 노드는 그 경로 대신에 다른 경로를 선택한다.
P2P 오버레이 시스템 내의 노드의 라우팅 테이블에서, 노드는 k개의 이용 가능한 노드에서 다음홉(next hop)을 선택할 수 있다. k개의 노드 중에서, 하나는 DHT에 의해 검색된 최근접 노드이고 다른 노드들은 모두 최근접 노드에 인접한다. 혼잡 통지가 최근접 노드가 혼잡하다는 것을 나타내면, 송신 노드는 다른 k-1개의 노드 중 하나를 다음홉으로서 선택한다.
본 발명을 구현하는 동안에, 본 발명자는, 송신 노드가 패킷을 목적 노드로 전송할 때, 송신 노드는 먼저 혼잡 검출 패킷을 전송하여야 하는데, 이것이 송신 중에 지연을 유발하고; 또 상기한 해법에서 노드는 두 가지 상태, 혼잡 상태와 비혼잡 상태만을 가지며, P2P 오버레이 시스템에서는, 노드들 사이의 토폴로지 상태가 불안정한데, 이는 혼잡 검출 패킷이 전송된 후에도 라우팅 테이블이 동적으로 변화한다는 것을 의미하기 때문에, 오버레이 경로는 노드에서의 변화에 따라 변화할 수 있어 테스트 결과는 정확하지 않다는 것을 발견하였다.
또한 본 발명자는, 기존의 멀티캐스트 해법에서 백업 자원의 선택은 선택된 백업 자원의 실제 처리 능력을 완전히 고려하지 않아, 선택된 백업 자원이 충분한 처리 능력을 제공하는 데 실패할 수 있고, 그 결과 정보의 분실을 초래하고 멀티캐스트 트래픽의 정상적인 수송에 영향을 미친다는 것도 발견하였다.
경로에 대한 부하의 균형을 잡고 네트워크 혼잡을 피하기 위하여, 본 발명의 실시예는 패킷 라우팅 방법, 시스템 및 디바이스를 제공한다. 이 기술적 해법은 다음과 같다:
패킷 라우팅 방법은,
미리 정해진 간격으로 노드의 비지 레벨(busy level)을 갱신하는 단계; 및
DHT 알고리즘 및 노드의 비지 레벨에 따라 패킷 수신 노드를 선택하고 상기 선택된 패킷 수신 노드에 패킷을 전송하는 단계를 포함한다.
패킷 라우팅 시스템은,
미리 정해진 간격으로 노드의 비지 레벨을 갱신하고, DHT 알고리즘 및 라우팅 테이블 내의 노드의 비지 레벨에 따라 패킷 수신 노드를 선택하며, 상기 선택된 라우팅 노드에 패킷을 전송하도록 구성된, 전송 노드; 및
상기 전송 노드로부터 상기 패킷을 수신하고, 상기 DHT 알고리즘 및 로컬로 저장된 다른 노드의 비지 레벨에 따라 다음홉 라우팅 노드를 선택하도록 구성된, 상기 라우팅 노드를 포함한다.
또, 전송 노드는,
미리 정해진 간격으로 로컬 라우팅 테이블 내의 노드에 상태 레벨 질의 요청(state level query request)을 전송하도록 구성된, 메시지 전송 모듈;
상태 레벨 질의 응답을 수신하고, 상기 상태 레벨 질의 응답((state level query response)에 포함된 비지 레벨에 따라 상기 라우팅 테이블 내의 대응하는 노드의 비지 레벨을 갱신하도록 구성된, 비지 레벨 갱신 모듈; 및
DHT 알고리즘 및 상기 비지 레벨 갱신 모듈에 의해 갱신된 라우팅 테이블 내의 노드의 비지 레벨에 따라 패킷 수신 라우팅 노드를 선택하고, 상기 선택된 패킷 수신 라우팅 노드에 패킷을 전송하도록 구성된, 패킷 전송 모듈을 포함한다.
다른 전송 노드는,
미리 정해진 간격으로 로컬 노드에 의해 로컬 라우팅 테이블 내의 노드에 전송된 패킷의 수를 측정하도록 구성된, 측정 모듈(measuring module);
상기 측정 모듈에 의해 측정된 패킷의 수와 미리 협정된 최대 임계값(top threshold) 및/또는 중간 임계값(middle threshold)을 비교하도록 구성된, 비교 모듈;
상기 비교 모듈의 비교 결과에 따라 노드의 비지 레벨을 갱신하도록 구성된, 비지 레벨 갱신 모듈; 및
DHT 알고리즘 및 라우팅 테이블 내의 노드의 비지 레벨에 따라 패킷 수신 라우팅 노드를 선택하고, 상기 선택된 패킷 수신 라우팅 노드에 패킷을 전송하도록 구성된, 패킷 전송 모듈을 포함한다.
라우팅 노드는,
전송 노드로부터 상태 레벨 질의 요청을 수신한 때 로컬 노드의 비지 상태를 검사하도록 구성된, 비지 상태 검사 모듈(busy state checking module);
상기 비지 상태 검사 모듈의 검사 결과에 따라 비지 레벨을 결정하도록 구성된, 비지 레벨 결정 모듈(busy level determining module);
상기 비지 레벨 결정 모듈에 의해 결정된 비지 레벨을 포함하는 상태 레벨 질의 응답을 상기 전송 노드에 회신하도록 구성된, 메시지 응답 모듈(message responding module); 및
패킷을 수신하고 DHT 알고리즘 및 로컬로 저장된 다른 노드의 비지 레벨에 따라 다음홉 라우팅 노드를 선택하도록 구성된, 패킷 전달 모듈을 포함한다.
상기한 기술적 해법은 다음의 이점을 제공한다:
라우팅 테이블 내의 노드의 비지 레벨을 참조하여 패킷 수신 노드를 선택하기 때문에, 노드들 간의 부하의 분포가 균형을 이루고 네트워크 혼잡의 발생이 회피된다.
멀티캐스트 그룹(multicast group)에서 적절한 백업 자원을 선택하기 위하여, 본 발명은 백업 자원을 선택하는 방법을 및 시스템을 제공한다. 그 기술적 해법은 다음과 같다:
백업 자원을 선택하는 방법은,
상태 광고 노드(state advertising node)가, 로컬 노드의 비지 레벨을 하나의 멀티캐스트 그룹 내의 다른 노드에 방송하는 단계; 및
백업 자원 선택 노드(backup resource choosing node)가, 수신된 노드의 비지 레벨에 따라 프록시 노드(proxy node)를 선택하는 단계를 포함한다.
백업 자원을 선택하는 시스템은,
로컬 노드의 비지 레벨을 하나의 멀티캐스트 그룹 내의 다른 노드에 방송하도록 구성된, 상태 광고 노드; 및
상기 상태 광고 노드에 의해 방송된, 수신된 비지 레벨에 따라 프록시 노드를 선택하도록 구성된, 백업 자원 선택 노드를 포함한다.
상기한 기술적 해법은 다음의 이점을 제공한다.
다른 노드의 비지 레벨을 참조하여, 노드는 적절한 프록시 노드를 선택할 수 있으므로 이 선택은 자원의 백업에 적합하다.
도 1은 본 발명의 제1 실시예에 따른 패킷 라우팅 방법의 흐름도이다.
도 2는 본 발명의 제1 실시예에 따른 노드 A 내지 노드 I의 경로를 비교한 도면이다.
도 3은 본 발명의 제2 실시예에 따른 패킷 라우팅 방법의 흐름도이다.
도 4는 본 발명의 제3 실시예에 따른 패킷 라우팅 시스템의 개략도이다.
도 5는 본 발명의 제4 실시예에 따른 백업 자원을 선택하는 시스템의 네트워킹을 나타낸 도면이다.
도 6은 본 발명의 제5 실시예에 따른 백업 자원을 선택하는 시스템을 나타낸 도면이다.
본 발명의 기술적 해법, 목적 및 이점을 더욱 분명하게 하기 위해, 이하에 첨부도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
본 발명의 실시예에서, 하나의 노드의 비지 레벨은 다양한 레벨로 설정되고 다른 노드에 통지된다. 전송 노드가 패킷을 전송할 때, 전송 노드는 다른 노드의 비지 레벨에 따라 경로(route)를 선택한다. 이로써 네트워크의 혼잡을 방지하고 어느 정도로 부하 균형(load balancing)을 달성한다.
제1 실시예
본 발명의 제1 실시예는 패킷 라우팅 방법을 제공한다. 이 방법은, 미리 설정된 간격으로 노드의 비지 레벨을 갱신하는 단계; 및 DHT 알고리즘 및 노드의 비지 레벨에 따라 패킷 수신 노드를 선택하는 단계; 및 선택된 노드에 패킷을 전송하는 단계를 포함하며, 다수의 비지 레벨이 정의되어 있다.
노드의 비지 레벨은 노드의 처리 능력에 따라 미리 설정된다. 필요한 경우, 다수의 비지 레벨이 설정될 수 있다. 노드는 일정한 기간 내에 수신하는 패킷의 수를 측정하고 그 측정 결과, CPU(Central Processing Unit) 상태, 메모리 크기, 및 네트워크 대역폭에 따라 노드의 비지 레벨을 결정할 수 있다. 또한 이 결정에는 노드의 의지(will) 및 다른 하드웨어 성능 표시자(hardware performance indicator)를 참조할 수 있다. 수신된 패킷의 수가 동적이기 때문에, 노드의 비지 레벨 또한 동적이다.
도 1은 본 발명의 제1 실시예에 따른 패킷 라우팅 방법의 흐름도를 나타낸 것이다. 패킷 라우팅 방법은 다음의 단계를 포함한다:
단계 101: 전송 노드가 자신의 라우팅 테이블 내의 노드에 상태 레벨 질의 요청을 전송한다.
상태 레벨 질의 요청은 통상의 KeepAlive 메시지 또는 다른 노드가 온라인 상태인지의 여부는 물론 비지 레벨을 검사하기 위한 사용자 정의 메시지(user-defined message)일 수 있다.
단계 102: 전송 노드로부터 상태 레벨 질의 요청을 수신한 때, 노드가 현재의 비지 레벨을 검사하고 노드의 비지 레벨을 포함하는 상태 레벨 질의 응답을 전송 노드에 전송한다.
본 실시예에서, 노드의 상태는 세 개의 비지 레벨로 분류된다:
비지 레벨 1: 노드는 유휴 상태(idle)이고 모든 패킷을 처리(전달 또는 종결)할 수 있다;
비지 레벨 2: 노드는 바쁜 상태이지만 매우 바쁜 상태는 아니며, 목적지가 노드의 키 범위 내인 패킷을 처리할 수 있다;
비지 레벨 3: 노드가 매우 바쁜 상태이고, 다음의 패킷을 처리할 수 없으며, 이 노드로 향하는 패킷은 이 노드의 프록시 노드에 의해 처리되어야 하는 한편, 이 노드로 향하는 것이 아닌 패킷은 프록시 노드로 전달되지 않을 것이다.
노드의 현재 비지 레벨이 1인 경우, 노드의 상태 레벨 질의 응답은 비지 레벨 1을 포함하고; 노드의 현재 비지 레벨이 2인 경우, 노드의 상태 레벨 질의 응답은 비지 레벨 2 및 키 공간을 포함하고; 노드의 현재 비지 레벨이 3인 경우, 노드의 상태 레벨 질의 응답은 비지 레벨 3, 키 공간, 및 프록시 노드의 키를 포함한다.
필요한 경우, 네 개의 비지 레벨이 설정될 수 있다:
비지 레벨 1: 노드는 매우 유휴 상태(very idle)이고 다른 노드의 프록시 노드로서 대리할 수 있으며 모든 패킷을 처리할 수 있다;
비지 레벨 2: 노드는 유휴 상태(idle)이고 모든 패킷을 처리할 수 있지만 다른 노드의 프록시 노드로서 대리할 수는 없다;
비지 레벨 3: 노드는 바쁜 상태이지만 매우 바쁜 상태는 아니며, 목적지가 노드의 키 범위 내인 패킷을 처리할 수 있다;
비지 레벨 4: 노드가 매우 바쁜 상태이고 다음의 패킷을 처리할 수 없으며, 이 노드로 향하는 패킷은 이 노드의 프록시 노드에 의해 처리되어야 하는 한편, 이 노드로 향하는 것이 아닌 패킷은 프록시 노드로 전달되지 않을 것이다.
노드의 현재 비지 레벨이 1인 경우, 노드의 상태 레벨 질의 응답은 비지 레벨 1을 포함하고; 노드의 현재 비지 레벨이 2인 경우, 노드의 상태 레벨 질의 응답은 비지 레벨 2를 포함하고; 노드의 현재 비지 레벨이 3인 경우, 노드의 상태 레벨 질의 응답은 비지 레벨 3 및 키 공간을 포함하고; 노드의 현재 비지 레벨이 4인 경우, 노드에 의해 전송된 상태 레벨 질의 응답은 비지 레벨 4, 키 공간, 및 프록시 노드의 키를 포함한다.
비지 레벨에 대응하는 상태는 상대적이다. 세 개의 비지 레벨을 예로 들면, 세 개의 비지 레벨은 CPU 점유도(occupancy), 남은 대역폭 및 자유 메모리 크기를 비교함으로써 측정될 수 있다. 예를 들면, 1GHz CPU, 256MB 메모리, 그리고 500 kbps 대역폭을 가지는 노드의 경우, CPU 점유율이 50% 이하, 및/또는 자유 메모리 크기가 40MB 이상, 및/또는 자유 대역폭이 200kbps 이상일 때, 노드는 비지 레벨 1 상태이고; CPU 점유율이 50%에서 70% 사이, 및/또는 자유 메모리 크기가 10MB에서 40MB 사이, 및/또는 자유 대역폭이 50kbps에서 200 kbps 사이일 때, 노드는 비지 레벨 2 상태이고; CPU 점유율이 70% 이상, 및/또는 자유 메모리 크기가 10MB 이하, 및/또는 자유 대역폭이 50kbps 이하일 때, 노드는 비지 레벨 3 상태이다. 여기서 수치값은 일례일 뿐이며 다른 값과 특정한 기준이 채택될 수도 있다.
단계 103: 노드로부터 상태 레벨 질의 응답을 수신한 때, 전송 노드가 노드의 현재 비지 레벨을 저장한다.
상기한 노드의 현재 비지 레벨은 라우팅 테이블 또는 사용자 정의 테이블 내의 노드에 대응하는 라우팅 엔트리(routing entry)에 저장될 수 있다.
단계 104: 전송 노드가 패킷의 전송을 원할 때, 전송 노드는 DHT 알고리즘 및 노드의 비지 레벨을 참조하여 미리 정해진 정책에 따라 패킷을 수신하는 노드를 선택한다.
상기한 미리 정해진 정책은 각각의 비지 레벨에 대응하여 미리 설정된 처리를 의미하며, 예를 들면 비지 레벨 2의 노드에는 그 키 범위 내의 패킷만을 전송하는 것이다.
단계 105: 전송 노드가 선택된 수신 노드에 패킷을 전송한다
전송 노드는 라우팅 테이블 내의 노드의 비지 레벨에 따라 수신 노드를 결정한다. 세 개의 비지 레벨을 예로 들면, 특정한 처리는 다음과 같다:
(1) 비지 레벨 1인 노드의 경우, 모든 패킷이 이 노드로 전송될 수 있다.
(2) 비지 레벨 2인 노드의 경우, 이 노드의 키 공간 내의 노드로 향하는 패킷만이 이 노드에 전송될 수 있다.
(3) 비지 레벨 3인 노드의 경우, 이 노드의 키 공간 내의 노드로 향하는 패킷은 이 노드의 프록시 노드로 전달된다.
상기한 방법에서, 노드에 의해 송신 노드에 회신된 상태 레벨 질의 응답은 노드의 비지 레벨을 포함한다. 노드의 현재 상태가 노드의 처리 한계에 도달한 때, 노드는 특별한 메시지를 전송하여 전송 노드에 통지하여, 전송 노드가 노드의 현재 상태에 따라 다음 패킷을 위한 적합한 수신 노드를 선택하는 것을 도울 수 있다.
노드의 처리 능력 또한 노드의 비지 레벨에 영향을 미칠 수 있다. 예를 들면, 노드의 하드웨어 성능이 부족하기 때문에, 노드의 최고 유휴 상태는 비지 레벨 1까지 이를 수 없고 기껏해야 비지 레벨 2이다.
도 2는 본 발명의 제1 실시예에 따른 노드 A 내지 노드 I의 경로를 비교한 것이다. 노드의 비지 레벨은 라우팅 테이블에 저장되어 있는 것으로 가정한다:
(1) 노드 A와 노드 F를 예로 들면, 모든 노드가 유휴 상태일 때, 노드 A의 라우팅 테이블은 표 2에 나타냈고 노드 F의 라우팅 테이블은 표 3에 나타냈다.
Figure 112010007069704-pct00002
Figure 112010007069704-pct00003
패킷은, 도 2에 점선으로 나타낸 바와 같이, 경로 A→C→E→F→I를 따라 노드 A에서 노드 I로 라우팅된다.
(2) 경로 상의 일부 노드가 혼잡한 경우, 예를 들면, 노드 C, 노드 G 및 노드 H가 비지 레벨 2이고, 노드 I가 비지 레벨 3이며, 노드 I의 프록시 노드가 노드 G인 경우에, 노드 A에 대한 라우팅 테이블은 표 4에 나타냈고 노드 F에 대한 라우팅 테이블은 표 5에 나타냈다.
Figure 112010007069704-pct00004
Figure 112010007069704-pct00005
이 경우에, 노드 A가 노드 I에 패킷을 전송할 때, 노드 A는 로컬 라우팅 테이블 내의 노드의 비지 레벨을 검사한다. 노드 A가 노드 C의 비지 레벨이 2인 것을 발견한 경우, 노드 A는 노드 B에 패킷을 전송한다. 노드 B는 로컬 라우팅 테이블 내의 정보에 따라 노드 F에 그 패킷을 전달한다. 노드 F는 로컬 라우팅 테이블을 검사하여 노드 I가 비지 레벨 3인 것을 발견하고 그 패킷을 노드 I의 프록시 노드 G에 전달한다. 그러므로, 노드 A에서 노드 I로의 경로는, 도 2에 실선으로 나타낸 바와 같이, A→B→F→G이다.
본 실시예에서, 노드는 라우팅 테이블 내의 노드의 비지 레벨을 참조하여 패킷 수신 노드를 선택하여, 노드들 간의 부하의 균형을 잡고 네트워크의 혼잡 발생을 회피한다.
제2 실시예
본 발명의 제2 실시예는 패킷을 라우팅하는 다른 방법을 제공한다. 전송 노드는 주어진 기간 내에 노드로 전송되는 패킷의 최대 임계값 및 중간 임계값에 대해 미리 다운스트림 노드와 협상한다. 다운스트림 노드는 협상하는 동안에 자신의 프록시 노드를 전송 노드에 통지할 것이다. 이러한 정보는 라우팅 테이블 또는 다른 사용자 정의 테이블 내의 대응하는 엔트리에 기록될 수 있다. 본 실시예에서, 상기한 정보는 설명을 용이하게 하기 위해 라우팅 테이블 내에 기록된다. 도 3은 본 발명의 실시예에 따른 패킷 라우팅 방법의 흐름도를 나타낸 것으로, 다음의 단계를 포함한다:
단계 201: 규칙적인 간격으로 다운스트림 노드로 전송된 패킷의 수(t)를 카운팅한다.
단계 202: DHT 알고리즘에 따라 라우팅 테이블에서 다음홉 노드(next-hop node)를 검색하고 다음홉 노드로 전송된 패킷의 측정된 수와 중간 임계값(x) 및 최대 임계값(y)을 비교한다. t가 y 이상인 경우, 프로세스는 단계 203으로 진행하고; t가 x보다 작은 경우, 프로세스는 단계 204로 진행하며; t가 x에서 y 사이인 경우, 프로세스는 단계 205로 진행한다.
단계 203: 이 노드로의 패킷의 라우팅을 중지하고 다른 노드를 선택한다.
단계 204: 이 노드로의 패킷의 라우팅을 계속한다.
단계 205: 이 노드로 향하는 패킷을 이 노드로 라우팅하고, 이 노드로의 다른 패킷의 전달을 중지한다.
본 실시예에서, 노드의 키 범위가 변화할 때, 노드는 변경된 키 범위를 자신의 업스트림 노드에 통지할 것이다.
여전히 도 2에 도시된 노드를 예로 들면:
(1) 노드 A에 의해 측정된 노드 B로 전송된 패킷의 수는 중간 임계값(x)과 최대 임계값(y) 사이이고 다른 노드로 전송된 패킷의 수는 x보다 작다. 노드 A와 노드 F를 예로 들면, 노드 A에 대한 라우팅 테이블은 표 6에 나타냈고, 노드 F에 대한 라우팅 테이블은 표 7에 나타냈다.
Figure 112010007069704-pct00006
Figure 112010007069704-pct00007
패킷은, 도 2에 점선으로 나타낸 바와 같이, 경로 A→C→E→F→I를 따라 노드 A에서 노드 I로 라우팅된다.
(2) 일부 노드가 패킷을 더 많이 전달하는 경우, 예를 들면, 노드 C, 노드 G 및 노드 H로 전송된 패킷의 측정된 수가 x에서 y 사이이고, 노드 I로 전송된 패킷의 수가 y보다 많으며, 노드 I의 프록시 노드가 노드 G인 경우에, 노드 A에 대한 라우팅 테이블은 표 8에 나타냈고 노드 F에 대한 라우팅 테이블은 표 9에 나타냈다.
Figure 112010007069704-pct00008
Figure 112010007069704-pct00009
이 경우에, 노드 A가 노드 I에 패킷을 전송할 때, 노드 A는 일정한 기간 내에 로컬 라우팅 테이블 내의 노드로 전송된 패킷의 수(t)를 측정하고, 노드 C로 전송된 패킷의 수가 중간 임계값과 최대 임계값의 사이에 있다는 것을 발견한다. 그 후, 노드 A는 노드 B에 패킷을 전송한다. 노드 B는 로컬 라우팅 테이블 내의 정보에 따라 노드 F에 그 패킷을 전달한다. 노드 F는 로컬 라우팅 테이블을 검사하여 노드 I에 의해 처리되는 패킷의 수가 최대 임계값을 초과하였다는 것을 발견하고, 그 패킷을 노드 I의 프록시 노드 G에 전달한다. 그러므로, 노드 A에서 노드 I로의 경로는, 도 2에 실선으로 나타낸 바와 같이, A→B→F→G이다.
본 실시예에서, 노드는 라우팅 테이블 내의 노드의 비지 레벨을 참조하여 패킷 수신 노드를 선택하여, 노드들 간의 부하의 균형을 잡고 네트워크의 혼잡 발생을 회피한다. 또, 패킷의 목적지를 충분히 고려하여 최선의 노력으로 노드에 의해 처리될 패킷을 그 노드로 전송한다.
제3 실시예
도 4는 본 발명의 제3 실시예에 따른 패킷 라우팅 시스템의 개략도이다. 이 패킷 라우팅 시스템은,
미리 정해진 간격으로 노드의 비지 레벨을 갱신하고, DHT 알고리즘 및 라우팅 테이블 내의 노드의 비지 레벨에 따라 패킷 수신 노드를 선택하며, 선택된 라우팅 노드에 패킷을 전송하도록 구성된, 전송 노드; 및
전송 노드로부터 패킷을 수신하고, DHT 알고리즘 및 로컬로 저장된 다른 노드들의 비지 레벨에 따라 다음홉 라우팅 노드를 선택하도록 구성된, 상기한 라우팅 노드를 포함한다.
또, 전송 노드는,
미리 정해진 간격으로 로컬 라우팅 테이블 내의 노드에 상태 레벨 질의 요청을 전송하도록 구성된, 메시지 전송 모듈;
상태 레벨 질의 응답을 수신하고, 상태 레벨 질의 응답에 포함된 비지 레벨에 따라 라우팅 테이블 내의 대응하는 노드의 비지 레벨을 갱신하도록 구성된, 비지 레벨 갱신 모듈; 및
DHT 알고리즘 및 비지 레벨 갱신 모듈에 의해 갱신된 라우팅 테이블 내의 노드의 비지 레벨에 따라 패킷 수신 라우팅 노드를 선택하고, 선택된 패킷 수신 라우팅 노드에 패킷을 전송하도록 구성된, 패킷 전송 모듈을 포함한다.
또, 패킷 전송 모듈은,
DHT 알고리즘에 따라 라우팅 테이블에서 다음홉 라우팅 노드를 검색하고, 다음홉 라우팅 노드의 비지 레벨을 판정하도록 구성되고, 비지 레벨은 모든 패킷을 처리할 수있는 비지 레벨 1, 다음홉 라우팅 노드의 키 범위 내의 패킷만을 처리할 수 있는 비지 레벨 2, 및 패킷을 처리할 수 없는 비지 레벨 3을 포함하며; 비지 레벨이 2 또는 3인 경우, 패킷의 목적지가 다음홉 라우팅 노드가 담당하는 범위 내에 있는지 여부를 결정하는, 검사 유닛; 및
검사 유닛이, 패킷의 목적지가 다음홉 라우팅 노드가 담당하는 범위 내에 있는 것으로 결정하고 다음홉 노드의 비지 레벨이 2인 경우, 패킷을 다음홉 라우팅 노드로 전송하거나; 또는 다음홉 라우팅 노드의 비지 레벨이 3인 경우, 패킷을 다음홉 라우팅 노드의 프록시 노드로 전송하거나; 또는 다음홉 라우팅 노드의 비지 레벨이 1인 경우, 임의의 패킷을 다음홉 라우팅 노드로 전송하도록 구성된, 패킷 전송 유닛을 포함한다.
따라서, 상기한 라우팅 노드는,
전송 노드로부터 상태 레벨 질의 요청을 수신한 때, 로컬 노드의 비지 상태를 검사하도록 구성된, 비지 상태 검사 모듈;
비지 상태 검사 모듈의 검사 결과에 따라 비지 레벨을 결정하도록 구성된, 비지 레벨 결정 모듈;
비지 레벨 결정 모듈에 의해 결정된 비지 레벨을 포함하는 상태 레벨 질의 응답을 전송 노드에 회신하도록 구성된, 메시지 응답 모듈; 및
전송 노드로부터 패킷을 수신하고 DHT 알고리즘 및 로컬로 저장된 다른 노드의 비지 레벨에 따라 다음홉 라우팅 노드를 선택하도록 구성된, 패킷 전달 모듈을 포함한다.
다르게는, 다운스트림 노드의 비지 레벨을 로컬 노드에 의해 해당 노드에 전송된 패킷의 수로 측정하는 경우, 상기한 전송 노드는,
규칙적인 간격으로 로컬 노드에 의해 로컬 라우팅 테이블 내의 노드로 전송된 패킷의 수를 측정하도록 구성된, 측정 모듈;
측정 모듈에 의해 측정된 패킷의 수와 미리 협정된 최대 임계값 및/또는 중간 임계값을 비교하도록 구성된, 비교 모듈;
비교 모듈의 비교 결과에 따라 노드의 비지 레벨을 갱신하도록 구성된, 비지 레벨 갱신 모듈; 및
DHT 알고리즘 및 비지 레벨 갱신 모듈에 의해 갱신된 노드의 비지 레벨에 따라 패킷 수신 노드를 선택하고, 선택된 패킷 수신 노드에 패킷을전송하도록 구성된, 패킷 전송 모듈을 포함한다.
또한, 상기한 패킷 전송 모듈은,
DHT 알고리즘에 따라 라우팅 테이블 내의 다음홉 노드를 검색하고, 로컬 노드에 의해 다음홉 노드로 전송된 패킷의 수를 검사하며, 패킷의 수가 중간 임계값 이상인 경우, 패킷의 목적지가 다음홉 노드가 담당하는 키 범위 내에 있는지 여부를 결정하도록 구성된, 검사 유닛; 및
검사 유닛이, 패킷의 목적지가 다음홉 라우팅 노드가 담당하는 범위 내에 있는 것으로 결정하고 패킷의 수가 중간 임계값에서 최대 임계값 사이에 있는 경우, 패킷을 다음홉 노드로 전송하거나; 또는 패킷의 수가 최대 임계값 이상인 경우, 패킷을 다음홉 노드의 프록시 노드로 전송하거나; 또는 패킷의 수가 중간 임계값보다 작은 경우, 임의의 패킷을 다음홉 노드로 전송하도록 구성된, 패킷 전송 유닛을 포함한다.
따라서, 상기한 라우팅 노드는 전송 노드로부터 패킷을 수신하고 DHT 알고리즘 및 로컬로 저장된 다른 노드의 비지 레벨에 따라 다음홉 라우팅 노드를 선택하도록 구성된다.
본 실시예에서, 노드는 자신의 라우팅 테이블 내의 노드의 비지 레벨을 참조하여 패킷 수신 노드를 선택하여, 노드들 간의 부하의 균형을 잡고 네트워크의 혼잡 발생을 회피한다. 또, 패킷의 목적지를 충분히 고려하여 최선의 노력으로 노드에 의해 처리될 패킷을 해당 노드로 전송한다.
제4 실시예
본 발명의 제4 실시예는 백업 자원을 선택하는 방법을 제공한다. 이 백업 자원을 선택하는 방법은,
상태 광고 노드가 자신의 비지 레벨을 멀티캐스트 그룹 내의 다른 노드에 방송하는 단계; 및 백업 자원 선택 노드가, 수신된 노드의 비지 레벨에 따라 프록시 노드를 선택하는 단계를 포함한다.
도 5는 본 발명의 실시예에서 제공된 네트워킹 구조를 나타낸 것이다. IPTV 멀티캐스트 에이전트(IMA3)가 자신의 비지 레벨을 광고하고, 애플리케이션층 멀티캐스트 그룹에서 백업 자원을 선택하는 프로세스는 다음과 같다:
1. IMA3는 로컬 노드가 이용가능한 자원(대역폭, CPU 처리 능력 및 저장 공간)을 검사하고, 이용가능한 자원에 따라 자신의 비지 레벨을 결정하며, 다른 노드의 참조를 위해 Report(보고) 메시지를 통해 자신의 비지 레벨을 광고하므로, 다른 노드는 IMA3를 프록시 노드, 또는 백업 자원으로 선택할 것인지 여부를 결정할 수 있다.
2. Report 메시지가 상향으로 전달되는 경우, 모든 통과 노드(passed node)는, 기타 브랜치(branch)가 프록시 노드로서 대리하는 IMA3을 필요로 하는지를 판정하고, 필요로 하면, Report 메시지를 그 필요로 하는 브렌치에 중계하고 스스로를 백업 요청 처리 노드(backup request processing node)로 표시한다.
프록시 노드로서 대리하는 IMA3을 필요로 하는 다른 브랜치가 없는 경우, Report 메시지가 데이터 소스 노드 S에 도달할 때까지, 노드는 Report 메시지를 상향으로 계속하여 전달한다.
3. 데이터 소스 노드 S가, 로컬 노드의 다른 브랜치가 백업 자원을 필요로 한다는 것을 검출하고, 따라서 Report 메시지를 해당 브랜치로 중계하고 그 로컬 노드를 백업 요청 처리 노드로서 표시한다.
4. 데이터 소스 노드 S의 브랜치 내의 자식 노드(child node)가 Report 메시지를 수신한 경우, 그 자식 노드는 자신의 필요에 따라 선택하며, 필요하지 않은 경우, Report 메시지를 자신의 다운스트림 노드에 계속하여 전달하거나, 또는 필요한 경우, Report 메시지를 자신의 다운스트림 노드에 중계하지 않고, IMA3을 자신의 백업 자원으로서 선택한다.
5. 브랜치 내의 노드가 IMA3를 자신의 백업 자원으로서 선택하는 경우, 그 노드는 Backup Req를 데이터 소스 노드 S에 전송하고, 데이터 소스 노드 S는 선착순 원리(first-come-first-served principle)에 따라 OK 또는 Failure(실패) 메시지로 백업 요청 노드에 응답한다.
6. OK 메시지를 수신하는 노드는 IMA3을 자신의 프록시 노드로 삼고, Failure 메시지를 수신하는 노드는 Failure 메시지를 전달하지 않을 것이다.
예를 들면, IMA6은 IMA3을 자신의 백업 자원으로서 선택하고 Backup Req를 통해 그 선택을 데이터 소스 노드 S에 통지하며, 데이터 소스 노드 S는 Backup Req에 대한 응답으로 OK 메시지를 회신한다. OK 메시지를 수신한 때, IMA6는 IMA3을 자신의 프록시 노드로 간주한다.
본 실시예에서, 노드는 다른 노드의 비지 레벨(처리 능력)을 참조하여 적합한 노드를 자신의 프록시 노드로서 선택하므로, 선택된 노드는 적합하고 자원 백업을 이행할 수 있다.
제5 실시예
도 6은 본 발명의 제5 실시예에 따른 백업 자원을 선택하는 시스템을 나타낸 것이다. 상기한 시스템은,
로컬 노드의 비지 레벨을 하나의 멀티캐스트 그룹 내의 다른 노드에 방송하도록 구성된, 상태 광고 노드; 및
상태 광고 노드에 의해 방송된, 수신된 비지 레벨에 따라 프록시 노드를 선택하도록 구성된, 백업 자원 선택 노드를 포함한다.
제4 실시예 및 제5 실시예의 기술적 해법에서는, 멀티캐스트 그룹 내에서, 노드는 다른 노드의 비지 레벨(처리 능력)을 참조하여 적합한 노드를 자신의 프록시 노드를 선택하므로, 선택된 노드는 적합하고 자원 백업을 이행할 수 있다.
본 발명의 실시예에 제공된 기술적 해법에 대응하는 소프트웨어는 컴퓨터 하드 디스크 또는 컴팩트 디스크와 같은 컴퓨터로 판독가능한 저장 매체에 저장될 수있다.
실시예에서, 노드는 다른 노드의 비지 레벨(처리 능력)을 참조하여 적합한 노드를 자신의 프록시 노드로서 선택하므로, 선택된 노드는 적합하고 자원 백업을 이행할 수 있다.
본 발명을 수 개의 예시적인 실시예에 의해 설명하였지만, 본 발명은 그러한 실시예로 한정되지 않는다. 해당 기술분야의 당업자에게 있어 본 발명의 범위를 벗어나지 않으면서 본 발명에 대해 다양한 변경 및 변형이 가능하다는 것은 명백하다. 본 발명은, 이하의 특허청구범위 또는 그 등가물에 의해 정해지는 보호 범위 내에 속하는 것이라면 그러한 변경 및 변형을 포함하도록 의도된다.

Claims (21)

  1. 미리 정해진 간격으로 라우팅 테이블 내의 노드에 상태 레벨 질의 요청을 전송하는 단계;
    상기 상태 레벨 질의 요청을 수신하는 노드가, 자신의 비지 상태를 검사하고, 상기 비지 상태에 따라 자신의 비지 레벨를 결정하며, 상기 비지 레벨을 포함하는 상태 레벨 질의 응답을 회신하는 단계;
    상기 상태 레벨 질의 응답을 수신한 때, 상기 상태 레벨 질의 응답 내에 포함된 비지 레벨에 따라 상기 노드에 대응하는 비지 레벨을 갱신하는 단계; 및
    DHT(Distributed Hash Table) 알고리즘 및 상기 노드의 비지 레벨에 따라 패킷 수신 노드를 선택하고, 상기 선택된 패킷 수신 노드에 패킷을 전송하는 단계
    를 포함하는 패킷 라우팅 방법.
  2. 제1항에 있어서,
    상기 자신의 비지 상태를 검사하고, 상기 비지 상태에 따라 자신의 비지 레벨를 결정하는 단계는,
    상기 상태 레벨 질의 요청을 수신하는 노드가, 미리 정해진 간격 내에 로컬 노드에 의해 수신된 패킷의 수를 검사하고, 패킷의 수, CPU(Central Processing Unit) 상태, 메모리 크기, 네트워크 대역폭 및 상기 노드의 의지 중 적어도 하나에 따라 자신의 비지 레벨을 결정하는 단계를 포함하는, 패킷 라우팅 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 비지 레벨은, 모든 패킷을 처리할 수 있는 비지 레벨 1, 상기 노드가 담당하는 키 범위 내의 패킷만을 처리할 수 있는 비지 레벨 2, 및 어떠한 패킷도 처리할 수 없는 비지 레벨 3을 포함하고,
    상기 상태 레벨 질의 요청을 수신하는 노드의 비지 레벨이 비지 레벨 2인 경우, 상기 상태 레벨 질의 응답은 상기 상태 레벨 질의 요청을 수신하는 노드가 담당하는 키 범위를 포함하고;
    상기 상태 레벨 질의 요청을 수신하는 노드의 비지 레벨이 비지 레벨 3인 경우, 상기 상태 레벨 질의 응답은 상기 상태 레벨 질의 요청을 수신하는 노드가 담당하는 키 범위 및 그 프록시 노드의 키를 포함하는, 패킷 라우팅 방법.
  4. 제3항에 있어서,
    상기 DHT 알고리즘 및 상기 노드의 비지 레벨에 따라 패킷 수신 노드를 선택하고, 상기 선택된 패킷 수신 노드에 패킷을 전송하는 단계는,
    상기 DHT 알고리즘에 따라 라우팅 테이블에서 다음홉 노드를 검색하고, 상기 다음홉 노드의 비지 레벨을 판정하며, 상기 비지 레벨이 2 또는 3인 경우, 상기 패킷의 목적지가 상기 다음홉 노드가 담당하는 키 범위 내에 있는지 여부를 검사하고, 상기 목적지가 상기 키 범위 내에 있는 경우, 상기 다음홉 노드가 비지 레벨 2인 때, 상기 패킷을 상기 다음홉 노드에 전송하거나, 또는 상기 다음홉 노드가 비지 레벨 3인 때, 상기 패킷을 상기 다음홉 노드의 프록시 노드에 전송하는 단계를 포함하는, 패킷 라우팅 방법.
  5. 미리 정해진 간격으로 로컬 노드에 의해 로컬 라우팅 테이블 내의 노드에 전송된 패킷의 수를 측정하는 단계;
    상기 패킷의 수를 미리 협정된 최대 임계값 및 중간 임계값과 비교하는 단계;
    상기 비교 결과에 따라 노드의 비지 레벨을 갱신하는 단계; 및
    DHT(Distributed Hash Table) 알고리즘 및 상기 노드의 비지 레벨에 따라 패킷 수신 노드를 선택하고, 상기 선택된 패킷 수신 노드에 패킷을 전송하는 단계
    를 포함하는, 패킷 라우팅 방법.
  6. 제5항에 있어서,
    상기 DHT 알고리즘 및 노드의 비지 레벨에 따라 패킷 수신 노드를 선택하고, 상기 선택된 패킷 수신 노드에 패킷을 전송하는 단계는,
    상기 DHT 알고리즘에 따라 라우팅 테이블에서 다음홉 노드를 검색하고, 상기 로컬 노드에 의해 상기 다음홉 노드로 전송된 패킷의 수를 측정하며, 상기 패킷의 수가 상기 중간 임계값 이상인 경우, 상기 패킷의 목적지가 상기 다음홉 노드가 담당하는 키 범위 내에 있는지 여부를 검사하고, 상기 목적지가 상기 키 범위 내에 있는 경우, 상기 패킷의 수가 상기 중간 임계값에서 상기 최대 임계값 사이인 때, 상기 패킷을 상기 다음홉 노드에 전송하거나, 또는 상기 패킷의 수가 상기 최대 임계값 이상인 때, 상기 패킷을 상기 다음홉 노드의 프록시 노드에 전송하는 단계를 포함하는, 패킷 라우팅 방법.
  7. 미리 정해진 간격으로 로컬 라우팅 테이블 내의 노드에 상태 레벨 질의 요청을 전송하도록 구성된, 메시지 전송 모듈;
    상태 레벨 질의 응답을 수신하고, 상기 상태 레벨 질의 응답에 포함된 비지 레벨에 따라 상기 라우팅 테이블 내의 대응하는 노드의 비지 레벨을 갱신하도록 구성된, 비지 레벨 갱신 모듈; 및
    상기 DHT 알고리즘 및 상기 비지 레벨 갱신 모듈에 의해 갱신된 라우팅 테이블 내의 노드의 비지 레벨에 따라 패킷 수신 라우팅 노드를 선택하고, 상기 선택된 패킷 수신 라우팅 노드에 패킷을 전송하도록 구성된, 패킷 전송 모듈
    을 포함하는 전송 노드.
  8. 제7항에 있어서,
    상기 패킷 전송 모듈은,
    상기 DHT 알고리즘에 따라 상기 라우팅 테이블에서 다음홉 라우팅 노드를 검색하고, 상기 다음홉 라우팅 노드의 비지 레벨을 판정하도록 구성되고, 상기 비지 레벨은 모든 패킷을 처리할 수 있는 비지 레벨 1, 상기 다음홉 라우팅 노드가 담당하는 키 범위 내의 패킷만을 처리할 수 있는 비지 레벨 2, 및 어떠한 패킷도 처리할 수 없는 비지 레벨 3을 포함하며, 상기 비지 레벨이 2 또는 3인 경우, 상기 패킷의 목적지가 상기 다음홉 라우팅 노드가 담당하는 키 범위 내에 있는지 여부를 결정하는, 검사 유닛; 및
    상기 검사 유닛이, 상기 패킷의 목적지가 상기 다음홉 라우팅 노드가 담당하는 키 범위 내에 있는 것으로 결정한 경우, 상기 다음홉 라우팅 노드의 비지 레벨이 2인 경우, 상기 패킷을 다음홉 라우팅 노드로 전송하거나; 또는 상기 다음홉 라우팅 노드의 비지 레벨이 3인 경우, 상기 패킷을 다음홉 라우팅 노드의 프록시 노드로 전송하도록 구성된, 패킷 전송 유닛을 포함하는, 전송 노드.
  9. 미리 정해진 간격으로 로컬 노드에 의해 로컬 라우팅 테이블 내의 노드로 전송된 패킷의 수를 측정하도록 구성된, 측정 모듈;
    상기 측정 모듈에 의해 측정된 패킷의 수와 미리 협정된 최대 임계값 및 중간 임계값을 비교하도록 구성된, 비교 모듈;
    상기 비교 모듈의 비교 결과에 따라 노드의 비지 레벨을 갱신하도록 구성된, 비지 레벨 갱신 모듈; 및
    DHT 알고리즘 및 상기 라우팅 테이블 내의 비지 레벨에 따라 패킷 수신 라우팅 노드를 선택하고, 상기 선택된 패킷 수신 라우팅 노드에 패킷을 전송하도록 구성된, 패킷 전송 모듈
    을 포함하는 전송 노드.
  10. 제9항에 있어서,
    상기 패킷 전송 모듈은,
    상기 DHT 알고리즘에 따라 상기 라우팅 테이블 내에서 다음홉 라우팅 노드를 검색하고, 상기 로컬 노드에 의해 상기 다음홉 라우팅 노드로 전송된 패킷의 수를 검사하며, 상기 패킷의 수가 중간 임계값 이상인 경우, 상기 패킷의 목적지가 상기 다음홉 라우팅 노드가 담당하는 키 범위 내에 있는지 여부를 판정하도록 구성된, 검사 유닛; 및
    상기 검사 유닛이, 상기 목적지가 상기 다음홉 라우팅 노드가 담당하는 키 범위 내에 있는 것으로 결정한 때, 상기 패킷의 수가 중간 임계값에서 최대 중간값 사이에 있는 경우, 상기 패킷을 상기 다음홉 라우팅 노드로 전송하거나; 또는 상기 패킷의 수가 최대 임계값 이상인 경우, 상기 패킷을 상기 다음홉 라우팅 노드의 프록시 노드로 전송하도록 구성된, 패킷 전송 유닛을 포함하는, 전송 노드.
  11. 제7항 내지 제8항 중 어느 한 항에 따른 전송 노드; 및
    상기 전송 노드로부터 상태 레벨 질의 요청을 수신한 때 로컬 노드의 비지 상태를 검사하도록 구성된, 비지 상태 검사 모듈(busy state checking module);
    상기 비지 상태 검사 모듈의 검사 결과에 따라 비지 레벨을 결정하도록 구성된, 비지 레벨 결정 모듈(busy level determining module);
    상기 비지 레벨 결정 모듈에 의해 결정된 비지 레벨을 포함하는 상태 레벨 질의 응답을 상기 전송 노드에 회신하도록 구성된, 메시지 응답 모듈(message responding module); 및
    패킷을 수신하고 DHT 알고리즘 및 로컬로 저장된 다른 노드의 비지 레벨에 따라 다음홉 라우팅 노드를 선택하도록 구성된, 패킷 전달 모듈을 포함하는 라우팅 노드
    를 포함하는 패킷 라우팅 시스템.
  12. 제9항 내지 제10항 중 어느 한 항에 따른 전송 노드; 및
    상기 전송 노드로부터 상기 패킷을 수신하고, 상기 DHT 알고리즘 및 로컬로 저장된 다른 노드의 비지 레벨에 따라 다음홉 라우팅 노드를 선택하도록 구성된, 라우팅 노드
    를 포함하는 패킷 라우팅 시스템.
  13. 상태 광고 노드가, 로컬 노드의 비지 레벨을 하나의 멀티캐스트 그룹 내의 다른 노드에 방송하는 단계; 및
    백업 자원 선택 노드가, 수신된 노드의 비지 레벨에 따라 프록시 노드를 선택하는 단계
    를 포함하고,
    상기 로컬 노드의 비지 레벨을 하나의 멀티캐스트 그룹 내의 다른 노드에 방송하는 단계는,
    상기 상태 광고 노드가, 상기 로컬 노드의 비지 레벨을 검사하고 그 비지 레벨을 상기 멀티캐스트 그룹 내의 다른 노드에 방송하는 단계를 포함하고;
    따라서, 상기 수신된 노드의 비지 레벨에 따라 프록시 노드를 선택하는 단계는,
    상기 백업 자원 선택 노드가, 상기 상태 광고 노드에 의해 방송된 상기 비지 레벨을 수신한 때 상기 프록시 노드의 필요 여부를 판정하고, 필요한 경우에, 상기 수신된 노드의 비지 레벨에 따라 상기 프록시 노드를 선택하거나, 또는 필요하지 않은 경우에, 상기 비지 레벨을 다른 노드에 중계하는 단계를 포함하는, 백업 자원을 선택하는 방법.
  14. 로컬 노드의 비지 레벨을 검사하고 그 비지 레벨을 멀티캐스트 그룹 내의 다른 노드에 방송하도록 구성된, 상태 광고 노드 장치; 및
    상기 상태 광고 노드에 의해 방송된 상기 비지 레벨을 수신한 때 프록시 노드의 필요 여부를 판정하고, 필요한 경우에, 수신된 노드의 비지 레벨에 따라 상기 프록시 노드를 선택하거나, 또는 필요하지 않은 경우에, 상기 비지 레벨을 다른 노드에 중계하도록 구성된, 백업 자원 선택 노드 장치
    를 포함하는 백업 자원을 선택하는 시스템.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
KR20107002381A 2007-09-26 2008-09-25 패킷 라우팅 방법, 시스템 및 장치, 그리고 백업 자원을 선택하는 방법 및 시스템 KR101128066B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200710122463.5 2007-09-26
CN2007101224635A CN101399746B (zh) 2007-09-26 2007-09-26 报文路由方法、系统、设备和选择备份资源的方法、系统
PCT/CN2008/072532 WO2009039796A1 (fr) 2007-09-26 2008-09-25 Procédé, système et dispositif d'acheminement de messages et procédé et système de sélection de ressource de sauvegarde

Publications (2)

Publication Number Publication Date
KR20100039385A KR20100039385A (ko) 2010-04-15
KR101128066B1 true KR101128066B1 (ko) 2012-03-29

Family

ID=40510759

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20107002381A KR101128066B1 (ko) 2007-09-26 2008-09-25 패킷 라우팅 방법, 시스템 및 장치, 그리고 백업 자원을 선택하는 방법 및 시스템

Country Status (5)

Country Link
EP (2) EP2434704B1 (ko)
JP (2) JP5048134B2 (ko)
KR (1) KR101128066B1 (ko)
CN (1) CN101399746B (ko)
WO (1) WO2009039796A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101998515B (zh) * 2009-08-18 2015-12-16 中兴通讯股份有限公司 控制pcrf负载均衡的实现方法和实现系统
CN101662495B (zh) * 2009-09-16 2012-09-05 成都市华为赛门铁克科技有限公司 备份方法、主服务器、备份服务器以及备份系统
US8767742B2 (en) * 2010-04-22 2014-07-01 International Business Machines Corporation Network data congestion management system
WO2012102102A1 (ja) * 2011-01-25 2012-08-02 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム
CN102739711B (zh) * 2011-04-08 2017-10-17 中兴通讯股份有限公司 一种对等网络中控制过负荷的方法及系统
CN102307136B (zh) * 2011-07-06 2014-12-24 杭州华三通信技术有限公司 报文处理方法及其装置
CN103139079B (zh) * 2011-11-28 2018-01-19 中兴通讯股份有限公司 P2p叠加网中路由表修复方法及p2p叠加网节点
CN103166922B (zh) * 2011-12-12 2016-08-10 中国移动通信集团公司 点对点叠加网络中的呼叫请求处理方法、系统和装置
CN103780490B (zh) 2012-10-17 2018-03-30 中兴通讯股份有限公司 一种更新路由查找树的方法及装置
KR101689532B1 (ko) * 2015-07-07 2016-12-27 한국기술교육대학교 산학협력단 모바일 애드 혹 네트워크에서의 로드밸런싱을 이용한 분산 경로 설정 방법
CN106357552B (zh) 2015-07-13 2019-11-29 华为技术有限公司 一种拥塞控制方法及网络节点
US10382322B2 (en) * 2015-11-20 2019-08-13 Sap Se Data routing for electronic devices
CN106850419A (zh) * 2017-02-10 2017-06-13 北京汽车集团有限公司 车载网关和用于车载网关的方法
CN108306717B (zh) * 2018-01-30 2019-03-15 平安科技(深圳)有限公司 数据传输方法、服务器及存储介质
CN110392395B (zh) * 2018-04-23 2022-03-29 华为技术有限公司 发送报文的方法和发送报文的装置
DE112020002497T5 (de) 2019-05-23 2022-04-28 Hewlett Packard Enterprise Development Lp System und verfahren zur dynamischen zuweisung von reduktionsmotoren
CN114448889A (zh) * 2020-10-21 2022-05-06 华为技术有限公司 数据处理方法及装置
CN115208822B (zh) * 2022-09-15 2023-01-24 苏州浪潮智能科技有限公司 一种报文转发方法、装置、设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060045065A (ko) * 2004-03-31 2006-05-16 마이크로소프트 코포레이션 P2p 네트워크에서의 라우팅
KR20060045788A (ko) * 2004-04-16 2006-05-17 마이크로소프트 코포레이션 데이터 오버레이, 자가-조직 메타데이터 오버레이 및애플리케이션 레벨 멀티캐스팅
KR20060050918A (ko) * 2004-09-02 2006-05-19 톰슨 라이센싱 네트워크에서의 서비스 품질 관리를 개선하기 위한 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4221200B2 (ja) * 2002-08-19 2009-02-12 日本電気通信システム株式会社 移動体通信システムにおける負荷分散システム及び交換装置
JP2005065177A (ja) * 2003-08-20 2005-03-10 Nippon Telegr & Teleph Corp <Ntt> P2p通信システムにおける接続リンク数制御方法、情報処理装置、およびリンク数制御プログラム
US20050091399A1 (en) * 2003-09-30 2005-04-28 Candan Kasim S. Resource-aware adaptive multicasting in a shared proxy overlay network
JP2005130405A (ja) * 2003-10-27 2005-05-19 Nippon Telegr & Teleph Corp <Ntt> 中断中代理装置、任意端末が中断中にも情報を配信する方法、および中断中代理装置を用いた情報交換ネットワークシステム
US7421695B2 (en) * 2003-11-12 2008-09-02 Cisco Tech Inc System and methodology for adaptive load balancing with behavior modification hints
US7644167B2 (en) * 2004-01-30 2010-01-05 Hewlett-Packard Development Company, L.P. Identifying a service node in a network
CN100423501C (zh) * 2004-04-27 2008-10-01 Ut斯达康通讯有限公司 无线接入点负载均衡方法
JP4410082B2 (ja) * 2004-10-15 2010-02-03 株式会社山武 通信中継装置、通信中継方法および通信中継プログラム
JP4371056B2 (ja) * 2005-01-07 2009-11-25 ブラザー工業株式会社 ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
US7808971B2 (en) * 2005-07-01 2010-10-05 Miller John L Routing cache for distributed hash tables
CN1719805A (zh) * 2005-07-15 2006-01-11 中国人民解放军国防科学技术大学 3D Torus交换网络中报文保序的多路径路由方法
CN100450037C (zh) * 2006-08-30 2009-01-07 华为技术有限公司 一种ip报文负载分担实现方法及装置
CN100531098C (zh) * 2007-03-13 2009-08-19 华为技术有限公司 一种对等网络系统及重叠网间节点的互通方法
JP5526780B2 (ja) * 2007-09-13 2014-06-18 日本電気株式会社 負荷分散システム、サービス処理サーバ、負荷分散方法及び負荷分散プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060045065A (ko) * 2004-03-31 2006-05-16 마이크로소프트 코포레이션 P2p 네트워크에서의 라우팅
KR20060045788A (ko) * 2004-04-16 2006-05-17 마이크로소프트 코포레이션 데이터 오버레이, 자가-조직 메타데이터 오버레이 및애플리케이션 레벨 멀티캐스팅
KR20060050918A (ko) * 2004-09-02 2006-05-19 톰슨 라이센싱 네트워크에서의 서비스 품질 관리를 개선하기 위한 방법

Also Published As

Publication number Publication date
JP2010538552A (ja) 2010-12-09
WO2009039796A1 (fr) 2009-04-02
EP2187576B1 (en) 2013-11-06
EP2187576A1 (en) 2010-05-19
JP5048134B2 (ja) 2012-10-17
JP4951717B2 (ja) 2012-06-13
EP2187576A4 (en) 2010-10-06
JP2012055012A (ja) 2012-03-15
CN101399746B (zh) 2011-03-16
EP2434704A1 (en) 2012-03-28
EP2434704B1 (en) 2013-05-22
KR20100039385A (ko) 2010-04-15
CN101399746A (zh) 2009-04-01

Similar Documents

Publication Publication Date Title
KR101128066B1 (ko) 패킷 라우팅 방법, 시스템 및 장치, 그리고 백업 자원을 선택하는 방법 및 시스템
Soelistijanto et al. Transfer reliability and congestion control strategies in opportunistic networks: A survey
Marti et al. SPROUT: P2P routing with social networks
US8649296B2 (en) Apparatus, system and method for reliable, fast, and scalable multicast message delivery in service overlay networks
US7788400B2 (en) Utilizing proximity information in an overlay network
US20110205949A1 (en) Routing Mechanism for Distributed Hash Table Based Overlay Networks
US20100030909A1 (en) Contribution aware peer-to-peer live streaming service
Radenkovic et al. Congestion aware forwarding in delay tolerant and social opportunistic networks
KR20030019900A (ko) 분산 처리 및 피어 대 피어 통신을 이용한 네트워크 상의정보 전송 병렬화 방법 및 그 시스템
CA2441579A1 (en) Multi-path dynamic routing algorithm
JP6256343B2 (ja) ネットワーク、ネットワークノード、配信方法及びネットワークノード用プログラム
JP5871908B2 (ja) ネットワーク内部のデータ通信を制御するための方法およびシステム
Singh et al. An efficient load balancing method for ad hoc networks
Bhargavi et al. A hybrid secure routing scheme for MANETS
Jeremić Interpolative Boolean algebra based multicriteria routing algorithm
Praghash et al. Physical-traffic attentive vigorous routing (P-TAVR) and hot-spot detection to reduce the bottleneck in WSN
CN102148847B (zh) 基于reload的客户端接入对等网络的方法和系统
Boyana et al. Design And Analysis Of Qos Based Routing Protocols For Dynamic Data Transmission In Wireless Adhoc Networks
JP2012114649A (ja) コンテンツ配信方法及びシステム
Tavakoli Avoiding Congestion in a Data-Centric Opportunistic Network
Rekha An Effıcıent Fault Management in Communication Networks Usıng On Demand Link State Algorıthm
Bhutta et al. Edge-Based Congestion-Aware Datacenter Load Balancing with Smart Probing
Huang et al. A fair load balancing algorithm for hypercube-based dht networks
Nagaraj et al. Study of Load Balanced Routing Protocols in Mobile Ad hoc Networks
Ahmed et al. Zone-based congestion detection and control using routing method on the internet

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150217

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160219

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170221

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180220

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190219

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200218

Year of fee payment: 9