KR20120100908A - 복수의 동일 코스트 경로들 사이에서 선택하기 위한 방법 및 장치 - Google Patents

복수의 동일 코스트 경로들 사이에서 선택하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20120100908A
KR20120100908A KR20127009069A KR20127009069A KR20120100908A KR 20120100908 A KR20120100908 A KR 20120100908A KR 20127009069 A KR20127009069 A KR 20127009069A KR 20127009069 A KR20127009069 A KR 20127009069A KR 20120100908 A KR20120100908 A KR 20120100908A
Authority
KR
South Korea
Prior art keywords
ids
node
path
link
paths
Prior art date
Application number
KR20127009069A
Other languages
English (en)
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 KR20120100908A publication Critical patent/KR20120100908A/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/24Multipath
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's

Landscapes

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

Abstract

각 동일 코스트 경로에는 네트워크를 통해 경로를 형성하는 링크 ID들의 순서화된 세트를 연결시킴으로써 생성되는 경로 ID가 할당된다. 링크 ID들은 링크의 어느 하나의 세트 상의 노드 ID들로부터 생성된다. 링크 ID들은 경로 ID를 생성할 때 최저에서 최고로 소팅되어 경로들의 랭킹을 용이하게 한다. 로우 및 하이 랭크된 경로들은 네트워크를 통한 제1 세트의 다양한 경로들로서 이러한 랭크된 리스트로부터 선택된다. 각 경로들 상의 링크 ID들의 각각은 모든 하이 노드 ID들 또는 모든 로우 노드 ID들 중 어느 하나를 인버팅함으로써 재명명된다. 링크들을 재명명한 후, 새로운 경로 ID들은 순서화된 세트의 재명명된 링크 ID들을 연결시킴으로써 생성된다. 그리고나서, 경로들은 재랭크되고, 로우 및 하이 재랭크된 경로들은 이러한 재-랭크된 리스트로부터 네트워크를 통한 제2 세트의 다양한 경로들로서 선택된다. 노드 ID들의 선택적인 명명 및 상이한 인버전 함수들의 이용은 네트워크 상의 트래픽의 분산을 더 최적화하도록 활용될 수 있다.

Description

복수의 동일 코스트 경로들 사이에서 선택하기 위한 방법 및 장치{METHOD AND APPARATUS FOR SELECTING BETWEEN MULTIPLE EQUAL COST PATHS}
관련 출원서들에 대한 교차-참조
본 출원서는 2009년 10월 7일에 출원된 미국특허 출원서 제12/574,872호, 발명의 명칭이 "Enhanced Symmetric Tie Breaking Algorithms"이고 2009년 9월 8일에 출원된 미국 가특허 출원 제61/240,420호, 및 발명의 명칭이 "Enhanced Symmetric Tie Breaking Algorithms"이고 2009년 9월 26일에 출원된 미국 가특허 출원 제61/246,110에 대한 우선권을 청구하고, 이들 각각의 내용은 참고로 여기에 포함되어 있다.
본 발명은 통신 네트워크들에 관한 것으로, 특히 복수의 동일 코스트 경로들 사이에서 선택하기 위한 방법 및 장치에 관한 것이다.
데이터 통신 네트워크들은, 함께 결합되고 데이터를 서로에게 패싱하도록 구성된 다양한 컴퓨터들, 서버들, 노드들, 라우터들, 스위치들, 브리지들, 허브들, 프록시들, 및 그외의 네트워크 디바이스들을 포함할 수 있다. 이들 디바이스들은 여기에서 "네트워크 요소들"로 지칭될 것이다. 데이터는 하나 이상의 통신 링크들을 활용하여 네트워크 요소들 사이에서, 데이터 프레임들, 패킷들, 셀들, 또는 세그먼트들과 같은 프로토콜 데이터 유닛들을 패싱함으로써 데이터 통신 네트워크를 통해 통신된다. 특정 프로토콜 데이터 유닛은 복수의 네트워크 요소들에 의해 핸들링될 수 있고, 네트워크를 통해 그 소스와 그 목적지 사이에서 이동하는 것과 같이, 복수의 통신 링크들을 지나갈 수 있다.
통신 네트워크 상의 다양한 네트워크 요소들은 여기에서 프로토콜들로 지칭되는 미리 정의된 규칙들의 세트들을 이용하여 서로 통신한다. 상이한 프로토콜들은, 예를 들면 네트워크 요소들 사이의 송신을 위해 신호들이 형성되야 하는 방법, 프로토콜 데이터 유닛들이 닮아 보여야 하는 다양한 양태들, 패킷들이 네트워크 요소들에 의해 핸들링되거나 네트워크를 통해 라우팅되야 하는 방법, 및 라우팅 정보와 연관된 정보가 네트워크 요소들 사이에서 교환되야 하는 방법과 같은 상이한 통신 양태들을 관리하는데 이용된다. 상이한 프로토콜들을 이용하는 네트워크들은 상이하게 동작하고, 상이한 타입들의 통신 네트워크들인 것으로 간주된다. 주어진 통신 네트워크는 상이한 네트워크 계층들에서 복수의 프로토콜들을 이용하여 네트워크 요소들이 네트워크에 걸쳐 서로 통신할 수 있게 할 수 있다.
패킷-포워딩 통신 네트워크에서, 노드는 네트워크의 토폴로지를 배울 수 있고, 토폴로지에 대해 획득하는 지식에 기초하여, 다른 네트워크 노드들의 각각에 트래픽을 라우팅하는 방법을 결정할 수 있다. 빈번하게는, 경로를 선택하기 위한 주요한 기초는 경로 코스트로서, 이는 노드들 사이의 홉들의 개수의 측면에서, 또는 노드들을 접속하는 링크들의 대역폭과 같은 일부 다른 메트릭에 의해, 또는 양쪽 모두에 의해 지정될 수 있다. OSPF(Open Shortest Path First) 및 IS-IS(Intermediate System-to-Intermediate System)은 경로 코스트의 각 노드의 광고들에 기초하여 최단 경로들을 확립하는 널리 이용되는 링크-상태 프로토콜들이다.
다양한 최단 경로 알고리즘들은 주어진 노드가 주어진 브리지들의 쌍 사이에서 최단 경로 상에 있는지를 결정하는데 이용될 수 있다. 플로이드(Floyd)의 알고리즘 또는 다익스트라(Dijkstra)의 단일-소스 최단 경로 알고리즘과 같은 모든-쌍들 최단 경로 알고리즘은 노드들 쌍 사이에서 최단 경로를 계산하도록 노드들에 의해 구현될 수 있다. 임의의 다른 적합한 최단 경로 알고리즘이 또한 활용될 수 있다는 것은 자명하다. 최단 경로 알고리즘에 의해 이용되는 링크 메트릭은 정적이거나, 트래픽 엔지니어링 정보를 고려하도록 동적으로 수정될 수 있다. 예를 들면, 링크 메트릭은 용량, 속도, 사용량(usage) 및 가용성과 같은 코스트의 측정수단을 포함할 수 있다.
주어진 노드들의 쌍 사이에서 네트워크를 통한 복수의 동일 코스트 경로들이 존재하는 상황들이 있다. ISIS 및 OSPF는 극도로 단순화한 단방향 타이-브레이킹(tie-breaking) 프로세스를 이용하여 이들 복수의 동일 코스트 경로들 사이에서 선택하거나, 단지 동일 코스트 경로들에 걸쳐 트래픽을 확산시킨다. 확산 알고리즘들은 지정되지 않고 라우터에 따라 가변될 수 있다. 다르게는, 각 라우터는 하나의 단일 경로에 대한 로컬 선택을 수행할 수 있지만, 다른 라우터들에 의해 행해진 선택과의 일관성에 대해 고려하지 않는다. 결과적으로, 어느 경우든, 플로우의 역 방향은 순 방향에 의해 이용되는 경로를 이용하도록 보장되지 않는다. 이것은 모든 디바이스가 모든 목적지에 대해 전체 포워딩 테이블을 가지고 있을 것이고 모든 인터페이스들 상의 모든 목적지들로의 패킷들을 마구잡이로 수락하는 유니캐스트 포워딩에는 충분하다. 그러나, 이것은 멀티캐스트 라우팅, 일관된 결정들이 수행되어야 되는 때, 및 안정된 네트워크의 실제 포워딩 경로들이 접속 지향(connection oriented) 속성들을 나타낼 수 있도록 양방향 대칭성이 요구되는 때와 같은 다른 상황들에서는 잘 작동하지 않는다.
멀티캐스트 개방형 최단 경로 우선(MOSPF)과 같은 멀티캐스트 라우팅 프로토콜들은 동일한 최단 경로 트리를 구성하는 네트워크의 각 라우터에 좌우된다. 이러한 이유 때문에, MOSPF는 링크 타입, LAN 대 점대점, 및 라우터 식별자에 기초하여 타이-브레이킹 스킴을 구현하여, 동일한 트리들이 생성될 수 있도록 보장한다. 그러나, 타이-브레이킹 결정을 최대 식별자를 갖는 부모(parent)에 기초하는 것은, 역방향 플로우들에 의해 이용되는 경로들이 순방향 플로우들에 의해 이용되는 경로들과 동일하지 않을 수도 있다는 것을 의미한다.
IEEE(Institute of Electrical and Electronics Engineers)에 의해 제안된 표준 802.1aq로서 정의되고 있는 PLSB(Provider Link State Bridging)과 같은 일부 대두되고 있는 프로토콜들에서, 트래픽이 순방향 및 역방향 플로우 방향들 양쪽에서 공통 경로를 이용하도록, 유니캐스트 및 멀티캐스트 트래픽 양쪽 모두를 위한 네트워크에 걸친 포워딩의 양방향 조화를 유지해야 한다는 요구조건이 있다. 따라서, 노드들이 동일 코스트 경로들 사이에서 타이-브레이킹할 때 동일한 결정에 일관되게 도달되는 것과 주어진 계산에 대해 어느 노드가 루트인 지에 대해 타이 브레이킹 프로세스가 독립적인 것이 중요하다. 또한, 노드는 최소 양의 처리 노력으로 타이-브레이킹을 수행할 수 있는 것이 바람직하다.
일반적으로, 임의의 타이-브레이킹 알고리즘은 완전해야 하고, 이는 그것이 2개의 경로들 사이에서 항상 선택할 수 있어야 한다는 것을 의미한다. 추가적으로, 타이-브레이킹 알고리즘은 교환적이고, 결합적이며, 대칭적이고, 로컬이어야 된다. 이들 속성들은 아래 표 I에 제시되어 있다.
Figure pct00001
타이-브레이킹 알고리즘의 본질은 항상 '작동하는'것이다. 알고리즘에 어느 세트의 경로들이 제공되든지 간에, 알고리즘은 하나 및 단 하나의 경로를 항상 선택할 수 있어야만 한다. 첫번째로, 그리고 최우선적으로, 타이-브레이킹 알고리즘은 따라서 완전해야 한다. 일관된 타이-브레이킹을 위해, 알고리즘은 동일 코스트 경로들이 발견되고 타이-브레이킹이 수행되는 순서에 관계없이 동일한 결과들을 생성해야 한다. 즉, 타이-브레이킹 알고리즘은 교환적이고 결합적이어야 한다. 경로들의 쌍들이 고려되는 순서에 관계없이 3개의 경로들 사이의 타이-브레이킹이 동일한 결과들을 생성해야 한다는 요구조건은, 이해하기 쉬운 것은 아니지만, 동일 코스트 경로들이 네트워크를 통한 계산 방향에 따라 상이한 순서들로 발견되기 때문에, 일관된 결과들을 위해 절대적으로 필요하다. 타이-브레이킹 알고리즘은 또한 대칭적이어야 하고, 즉 타이-브레이킹 알고리즘은 경로의 방향에 관계없이 동일한 결과를 생성해야 하며, 2개의 노드들 A 및 B 상의 최단 경로는 B와 A 사이의 최단 경로의 역방향(reverse)이 되어야 된다.
마지막으로, 로컬리티(locality)는 라우팅 시스템들에 의해 활용되는 최단 경로의 매우 중요한 속성이다. 로컬리티 속성은 단순히 말해서, 최단 경로의 서브-경로가 또한 최단 경로라는 것이다. 이러한 최단 경로들의 외관상으로 사소한 속성은 목적지-기반 포워딩을 이용하는 패킷 네트워크들에서 중요한 어플리케이션을 가지고 있다. 이들 네트워크들에서, 경로를 따른 중간 노드들에서의 포워딩 결정은 그 소스 어드레스가 아니라, 단지 패킷의 목적지 어드레스에만 기초하고 있다. 결과적으로, 그 포워딩 정보를 생성하기 위해, 노드는 그 자신으로부터 모든 다른 노드들로의 최단 경로를 계산하는 것만이 필요하고, 생성되는 포워딩 정보의 양은 네트워크에서 노드들의 개수에 따라, 2차 함수적으로가 아니라 선형으로 증가한다. 목적지-기반 포워딩을 가능하게 하기 위해, 타이-브레이킹 알고리즘은 최단 경로들의 로컬리티 속성을 보존해야 하고, 타이-브레이킹 알고리즘에 의해 선택된 최단 경로의 서브-경로는 타이-브레이킹 알고리즘에 의해 선택된 최단 경로여야 된다.
계산상 효율의 고려는 타이-브레이킹 알고리즘에 대해 또 하나의 외관상으로 상이한 요구조건을 필요로 한다, 즉 알고리즘은 동일 코스트 경로들이 발견되자마자 타이-브레이킹 결정을 할 수 있어야 한다. 예를 들면, 중간 노드 I가 2개의 동일 코스트 경로들 p 및 q에 의해 노드 A에, 그리고 또 하나의 동일 코스트 경로들의 쌍, r 및 s에 의해 노드 B에 접속되는 경우에, 노드들 A 및 B 사이에 4개의 동일 코스트 경로들, p+r, p+s, q+r, 및 q+s가 있고, 모두가 노드 I를 통과한다.
A와 I 사이의 동일 코스트 서브-경로들(p 및 q)은 노드들 A 및 B 사이에서 경로를 계산할 때 처음으로 발견될 것이다. 이들 2개의 경로들의 지식을 이월해야하는 것을 피하기 위해, 타이-브레이킹 알고리즘은 제2 동일 코스트 최단 서브-경로의 존재가 발견되자마자 이들 사이에서 선택할 수 있어야 한다. 중간 노드들에서 수행된 타이-브레이킹 결정들은 계산 결과에 최종적으로 영향을 미칠 것이다. 노드들 A 및 I 사이에서 2개의 서브-경로들 p 및 q 중 하나를 제거함으로써, 알고리즘은 추가 고려로부터 노드들 A 및 B 사이에서 4개의 최단 경로들 중 2개를 제거한다. 유사하게, 역 방향에서, 타이-브레이킹 알고리즘은 A와 I 사이에서 경로에 대한 최종 결정을 수행하기 이전에 서브 경로들 r 및 s 사이에서(노드들 B 및 I 사이에서) 선택할 것이다. 이들 로컬 결정들은 서로 일관되어야 되고, 특히 2개의 동일 코스트 경로들 사이의 선택은 경로들이 네트워크의 후속 노드로 연장되는 경우에 동일하게 유지되어야 한다.
복수의 동일 코스트 최단 경로들의 존재 시에 단일-소스 최단 경로 알고리즘의 매우 효율적인 구현들을 생성하도록 활용될 수 있다는 사실은 결과적으로 대칭성 및 로컬리티 조건들이 양쪽 모두 필요하고 타이-브레이킹 알고리즘이 일관된 로컬 결정들을 수행하는 것을 보장하기에 충분하다는 것을 나타낸다.
표 1에 제시된 요구조건들의 리스트는 완전한 것으로 의도된 것이 아니고, 표 1에 포함될 수 있었던 최단 경로들의 다른 속성들이 존재한다. 예를 들면, 최단 경로의 일부가 아닌 링크가 그래프로부터 제거되는 경우, 최단 경로 선택은 영향을 받지 않을 것이다. 마찬가지로, 이러한 링크가 알고리즘에 의해 거절되었던 일부의 동일 코스트 경로들 중 일부라 하더라도, 선택된 경로의 일부가 아닌 링크가 네트워크를 표현하는 그래프로부터 제거되는 경우에, 복수의 동일 코스트 경로들 사이의 타이-브레이킹 알고리즘의 선택이 영향을 받지 않을 것이다.
다수의 네트워킹 기술들은 이들이 네트워크의 임의의 2개의 포인트들 사이의 단일 최단 경로로 제한되지 않도록 복수의 경로들을 활용할 수 있다. 이것은 무접속 네트워크들의 형태로 될 수 있고, 그럼으로써 복수의 경로들로의 다음 홉(hop)의 선택은 매 홉마다 임의적일 수 있고, 어떠한 대칭성 요구조건을 가지지 않거나, 또는 엔드 대 엔드(end to end) 경로로의 할당이 네트워크로의 인그레스(ingress) 포인트로 제한되는, 엄격한 접속 지향형일 수 있다. 이더넷, 및 특히 대두되고 있는 802.1aq 표준은 대칭성 및 접속 지향형 행태 양쪽 모두에 대한 요구조건이 존재하는 예이고, 데이터 플레인은 네트워크에서 임의의 2개의 포인트들 사이의 복수의 경로들을 지원할 수 있다. 이더넷은 고유한 경로가 VLAN마다 존재할 수 있도록 VLAN에 의해 필터링 데이터베이스를 논리적으로 파티셔닝(partition)할 수 있게 함으로서 이것을 달성한다. 도전은 각 VLAN에서 접속 변동들을 예시하고 최소 개수의 경로 변동들이 네트워크를 완전하게 활용하도록 경로 세트의 다이버시티를 최대화시킴으로써 가용한 접속을 효율적으로 활용하는 것이다. 네트워크를 활용하는데 요구되는 경로 변동들 대 실제로 존재하는 가능한 고유한 경로들의 개수의 비율은 다일레이션(dilation) 비율로 불려지고, 바람직한 목표는 네트워크를 완전하게 활용하는 것과 연관된 상태 및 계산의 양을 최소화함에 따라 이러한 비율을 최소화시키는 것이다.
다수의 기술들은 상기 표 1에 윤곽지어진 속성들을 명시적으로 유지하려고 노력하면서도 복수의 동일 코스트 경로들이 노드들의 쌍 사이에 존재하는 경우에 경로 다이버시티를 증가시키려고 노력해 왔다. 미국특허출원공보 제2009/0168768호는 하나의 기술을 제공하고, 이에 대한 확장이 또한 시도되었다. 예를 들면, 노드 ID들의 알고리즘적 조작은 작동하는 것으로 발견되었지만, 경로 다이버시티의 양을 크게 증가시키지 못한다. 예를 들면, 8×4 완전하게 메시된(meshed) 노드 어레이에 대한 링크 활용도는 노드 ID 조작을 이용하여 63% 내지 67%의 범위였다. 추가적으로, 4개의 경로들보다 더 작은 경로가 있는 경우에, 노드 ID들의 세트 상에서 4개의 고유한 경로들을 랭크하려고 시도하는 것은 와해되어, 중첩되는 순열들을 조사하는 대신에 제2 최고 경로가 최저 경로 또는 제2 최저 경로와 동일한 것으로 종료되게 된다. 추가적으로, 노드 식별자의 크기, 및 노드 ID 공간이 드물거나 밀집되어 있는지는 거의 영향을 미치지 않았다.
시도되었던 또 하나의 기술은 부하 다이버시티를 최대화하는 것을 기초로 하여 경로들을 분산시키는 것이다. 이러한 기술은 비순환(acyclic) 평면 그래프를 생성하지 않기 때문에 작동하지 않은 것으로 발견되었고, 이는 단일 최단 경로 트리에서 주어진 노드에 대해 하나보다 많은 경로를 필요로 한다는 것을 의미한다. 추가적으로, 이러한 기술은 네트워크가 컴퓨팅 노드로부터 더 트래버싱되기(traversed) 때문에 미래의 계산 결과들의 앞선 지식을 요구한다. 실질적으로, 어느 하나의 엔드로부터 네트워크의 중간으로 나아갈 때 갭을 이을 것이 아무것도 없다.
시도되었던 또 다른 하나의 기술은 특정 공지된 랭킹들(최저, 최고, 다음 최저, 다음 최고, ...)을 선택하는 것이다. 이것은 2개의 경로들(하이/로우)에 대해 작동하지만, 다수의 경로들의 선택으로 확장되는 경우에는 와해된다. 다음 홉에서 다른 노드들의 랭크된 세트들과 조합될 때 중간 노드들은 그들이 생성한 랭크된 세트의 경로들이 진행되는 방법을 예상할 수 없기 때문에 이러한 기술은 실패하고, 따라서 로컬리티 속성이 손실된다. 결과적으로, 부모에 의해 랭크된 최단 경로의 프래그먼트들은 자식에 의해 예상되는 경로와 불연속적일 것이다. 또한, 자식들 노드에서 로우 및 하이인 것 이외의 경로 랭킹들이 비순환 트리를 생성할 것이라는 보장이 없다. 추가적으로, 최고 경로 또는 최저 경로의 오류(failure)가 그 경로를 따라 랭크된 모든 경로들에게 영향을 미칠 것이므로, 제2 최고, 제2 최저, 등을 선택하는 것은 종속성들을 생성할 것이다. 그리고, 마지막으로, 그러한 알고리즘이 작동하도록 될 수 있다고 가정하더라도, 식별된 바와 같이 최단 경로의 부분들을 분해할 수 있는 속성을 잃어버릴 것이고, 모든 상태는 다익스트라 계산이 진행됨에 따라 이월될 필요가 있으며, 따라서 알고리즘의 성능에 크게 영향을 미친다. 결과적으로, 로우 및 하이 랭킹들은 랭크된 경로들의 세트로부터 선택될 수 있는 신뢰성있는 랭킹들일 뿐이다. 그러므로, 추가 랭킹들을 단순히 선택하는 것은 2개보다 많은 경로들을 선택할 때 경로 다이버시티를 증가시키는데 이용될 수 없다.
미국특허출원공보 제2009/0168768호는 하나의 타이 브레이킹 프로세스를 개시하고 있고, 그 내용은 여기에 참고로 포함되어 있다. 본 출원서에 기재된 프로세스는 잘 작동하지만, 트래픽이 가용한 경로들을 통해 확산될 수 있도록 복수 경로들의 존재 시에 양호한 경로 분산을 얻는 또 하나의 방식을 제공하는 것이 여전히 유리할 것이다. 추가적으로, 분산은 바람직하게는 정상 동작의 특징이어야 하고, 복잡한 네트워크 설계를 요구하지 않으며, 네트워크 관리자에 의한 임의의 명시적인 구성을 최소화시켜야 한다.
이하의 발명의 내용 및 본 출원서의 마지막에 제시되는 요약서는 이하의 상세한 설명에 기재된 일부 개념들을 소개하기 위해 제공된다. 발명의 내용 및 요약서 섹션들은 포괄적이지 않고, 이하에 제시된 청구항들에 의해 제시된 보호가능한 주제의 범주를 기술하려는 것은 아니다.
복수의 동일 코스트 경로들 사이에서 선택하기 위한 방법 및 장치는 중요한 핵심 속성들을 유지하면서도, 상당한 수준의 경로 다이버시티로, 복수(2개보다 큼)의 경로들이 분산형 알고리즘을 이용하여 복수의 동일 코스트 경로들로부터 선택될 수 있게 한다. 즉, 확장된 알고리즘은 대칭성을 달성한다 - 그 결과는 그래프에 걸친 계산의 방향에 관계없이 동일할 것이다. 제안된 알고리즘은 또한 다운스트림 조화(congruency)를 제공하여, 주어진 랭킹에 대한 최단 경로의 임의의 부분이 또한 최단 경로이다. 최종적으로, 이러한 알고리즘은 비순환 최단 경로 트리를 생성한다.
본 발명의 실시예에 따르면, 네트워크의 각 링크에 접속하는 노드 ID들은 링크 ID들을 생성하는데 이용된다. 예를 들면, 링크의 어느 하나의 엔드에서의 노드 ID들은 링크 ID를 생성하는데 이용될 수 있다. 네트워크를 통한 경로를 형성하는 순서화된 세트의 링크 ID들을 연결시킴으로써(concatenating), 네트워크를 통한 각 경로에는 경로 ID가 주어진다. 경로 ID를 생성할 때 링크 ID들이 최저에서 최고까지 소팅되어 경로들의 랭킹을 용이하게 한다. 로우 및 하이 랭크된 경로들은 이러한 랭크된 리스트로부터, 네트워크를 통한 다양한 경로들의 제1 세트로서 선택된다. 네트워크의 모든 컴퓨팅 노드들이 공통된 변동을 이용하도록 구성되었다면, 링크 ID들의 노드 ID들을 로우-하이 대신에 하이-로우로서 순서화하거나 경로 ID들을 랭킹에 앞서서 하이에서 로우로 소팅하는 것과 같이, 유사한 속성들을 가지는 이것의 변동들은 동일하게 알고리즘의 유효한 예시들이 될 수 있다는 것을 관측하는 것은 흔한 것이다.
추가적인 경로들을 선택하는 경우에, 링크들이 명명되는 방식이 변경되어, 경로들에게 새로운 경로 ID들이 할당될 수 있게 하고 원래 선택된 로우 및 하이 경로들로부터 유리한 다이버시티 속성들을 가질 랭킹을 용이하게 한다. 예를 들면, 각 링크와 연관된 하이 노드 ID가 인버팅되어, 새로운 링크 ID들이 원래의 로우 노드 ID 및 인버팅된 하이 노드 ID를 이용하여 생성될 수 있다. 예를 들면, 노드 ID들은, 노드 ID들이 범위 1 내지 (2^16-1)의 범위에서 할당되는 경우에 대해 이들을 2^16으로부터 감산함으로써, 또는 노드 ID들을 0xffff 또는 일부 유사한 값들과 XOR 연산함으로써 인버팅될 수 있다. 이들 새로운 링크 ID들은 나중에 랭크되는 새로운 경로 ID들(연결된 링크 ID들의 순서화된 리스트)을 생성하는데 이용되고, 재-랭크된 세트의 경로들로부터의 로우 및 하이 랭킹 경로들은 제2의 경로들 쌍으로 취해진다. 다시, 동일하게 유효한 링크 ID의 로우 노드 ID에 변환을 적용하는 것과 같은 변동들이 가정될 수 있다.
링크 ID들을 구성하는 노드 ID들의 소팅된 연결(concatenation)은 고유하고, 따라서 네트워크를 통한 각 경로 ID가 고유하며, 링크 ID의 노드 ID들 중 어느 하나에 어떤 변환들이 적용되든지 이러한 고유성을 보존할 필요가 있고, 따라서 "손실형"일 수 없고 일정하게 적용되어야 되며, 간단한 비트 인버전이 이러한 요구조건을 충족하는 예이다. 그러므로, 예를 들면, 로우 노드 ID들과 인버팅된 더 높은 노드 ID들의 소팅된 연결(예를 들면, Inverse(nodeB)와 결부된 nodeA, 여기에서 nodeA < nodeB)은 또한 고유하고, 단순히 경로들의 재-랭킹을 유도한다. 그러므로, 제1 로우/하이 경로 랭킹 및 제1로부터의 상당한 다이버시티를 가지는 제2 로우/하이 경로 랭킹은 네트워크의 링크 활용도의 수준을 증가시키도록 얻어질 수 있다. 또한, 어떠한 상대적 랭킹도 없으므로, 경로 오류의 결과들은 캐스케이딩되지 않는다 - 하나 이상의 이전에 선택된 경로들에 의해 공유된 링크의 오류는 이들 경로들을 고려로부터 제거하지만, 나머지의 랭킹들, 및 따라서 그 기술로 선택된 나머지 실행가능한 경로들의 라우팅에 영향을 미치지 않을 것이다.
본 발명의 양태들은 첨부된 청구항들에서 특별히 지시되어 있다. 본 발명은 유사한 참조부호들이 유사한 구성요소들을 나타내는 이하의 도면들에서 예로서 예시되어 있다. 이하의 도면들은 단지 예시의 목적으로 본 발명의 다양한 실시예들을 개시하고 있고 본 발명의 범주를 제한하려는 것은 아니다. 명료하게 하기 위해, 모든 컴포넌트가 모든 도면에서 라벨링되는 것은 아니다.
도 1은 본 발명의 실시예가 구현될 수 있는 통신 네트워크 예의 기능적 블록도이다.
도 2는 도 1의 통신 네트워크의 노드 예의 기능적 블록도이다.
도 3a-3e는 참조 네트워크에서 노드들의 쌍 사이의 동일 코스트 경로들의 예를 도시하고 있다.
도 4는 본 발명의 하나의 실시예에 따라 복수의 동일 코스트 경로들 사이에서 선택하는 프로세스, 및 엔드 노드들에서 도 3a-3e에 도시된 동일 코스트 경로들로의 그 프로세스의 어플리케이션의 플로우차트의 예를 도시하고 있다.
도 5a-5b는 도 3a-3e에 도시된 경로들 상의 중간 노드들에서 도 4의 프로세스의 어플리케이션을 도시하고 있다.
도 6은 엔드 포인트들(도 4에 도시된 바와 같음) 및 중간 포인트들(도 5a-5b에 도시된 바와 같음)에서 복수의 동일 코스트 경로들 사이에서 선택할 때 그 프로세스의 조화(congruency)를 예시하고 있다.
도 7-8은 본 발명의 하나의 실시예에 따라, 인버전(inversion) 함수의 조작이 노드 ID들의 관리적 할당과 조합하여, 네트워크 상의 경로 선택을 조정하는데 이용될 수 있는 방법을 도시하고 있다.
도 9-10은 본 발명의 하나의 실시예에 따라 에지 노드가 네트워크 상에서 타이-브레이킹 포인트가 되도록 유발함으로써 노드 ID들의 조작이 링크가 다양한 경로들의 선택을 강제하는데 이용될 수 있는 방법을 도시하고 있다.
도 1은 본 발명이 구현될 수 있는 링크 상태 프로토콜 제어형 이더넷 네트워크(10)의 예를 도시하고 있고, 도 2는 본 발명의 실시예를 구현하는데 이용될 수도 있는 노드들 중 하나의 기능적 블록도를 도시하고 있다. 도 1의 메시 네트워크를 형성하는 노드들(11-18)(또한 브리지들 또는 브리징 노드들로 불려짐)은 서로 링크 상태 광고들(메시지들)(26)을 교환한다. 이것은 링크 상태 라우팅 시스템의 공지된 메커니즘을 통해 달성된다. 라우팅 시스템 모듈(21)은 링크 상태 라우팅 프로토콜을 이용하여 네트워크 토폴로지에 관해 네트워크의 피어 노드들과 정보(26)를 교환한다. 이러한 정보 교환은 노드들이 네트워크 토폴리지의 동기화된 뷰를 생성할 수 있게 한다. 각 노드에서, 최단 경로 결정 모듈(22)은 노드 상호간으로의 최단 경로를 결정하는 최단 경로 트리를 계산한다. 모듈(22)에 의해 결정된 최단 경로들은 네트워크를 통해 트래픽을 다이렉팅(directing)하기 위한 엔트리들로 포워딩 정보 베이스(24)를 파퓰레이트(populate)하는데 이용된다.
상기 언급된 바와 같이, 네트워크를 통한 복수의 동일 코스트 경로들이 존재하는 상황들이 발생한다. 이러한 인스턴스에서, 타이-브레이킹 모듈(23)은 일관된 방식으로 동일 코스트 경로들 중 하나(또는 그 이상)를 선택한다. 정상 동작 시에, 패킷들은 노드에서 수신되고, 목적지 룩업 모듈(25)은 FIB(24)를 이용하여, 수신된 패킷이 포워딩되어야 되는 포트(또는 멀티캐스트 분배(multicast distribution)의 경우에는 복수의 포트들)를 결정한다. FIB(24)에 어떠한 유효한 엔트리도 없는 경우에, 패킷이 폐기될 수 있다. 도 2에 도시된 모듈들은 단지 예시적 목적을 위한 것이고 본 기술분야의 숙련자들에게 자명한 바와 같이 노드의 모듈들 사이에서 기능들을 조합하거나 분산시킴으로써 구현될 수 있다는 것은 자명하다.
완전한 노드 다이버시티가 불가능하거나 제한되어 있지만 경로들 간의 링크 다이버시티가 가능한 상황들이 있다. 유사하게, 데이터 센터 어플리케이션들에서, 패트(fat)-트리 네트워크 아키텍쳐들이 종종 전개되는 경우에, 빈번하게는 2개보다 많은 동일 코스트 경로들이 가용하다. 특정 링크들을 오버로딩하는 것을 피하기 위해, 모든 가용한 경로들에 걸쳐 트래픽을 확산시켜, 링크 배열들을 "세이크 업(shake up)"하고 경로들 사이의 링크 다이버시티의 정도를 증가시키는 것이 바람직하다. 그러므로, 이들 및 다른 상황들에서, 노드들의 쌍 사이에서 트래픽을 포워딩하는데 이용되는 네트워크를 통한 동일 코스트 경로들 중 복수(2개보다 많음)를 선택하는 것이 바람직하다.
본 발명의 하나의 실시예에 따르면, 링크 ID들은 노드 ID들의 순서화된 연결로부터 구성되고, 경로 ID들은 링크 ID들의 순서화된 연결로부터 구성되어 경로 ID들이 랭크될 수 있게 한다. 이러한 랭킹은 이들 랭크된 경로들의 최저 및 최고를 선택함으로써 타이 브레이킹 알고리즘에서 초기 경로 선택을 구현하는데 이용된다.
하나의 실시예에서, 네트워크의 각 링크에 접속하는 노드 ID들은 링크 ID들을 생성하는데 이용된다. 이러한 컨텍스트에서, 링크 ID들은 링크의 어느 하나의 엔드 상의 노드 ID들을 연결시킴으로써 생성된다. 노드 ID들의 연결은 노드 ID들이 링크 ID 내에서 랭크되도록 구현되고, 따라서 하나의 예에서, 최저 노드 ID가 첫 번째가 되며, 더 높은 노드 ID가 두 번째가 된다. 그러므로, 링크가 노드(48)로부터 노드(23)까지 연장되는 경우에, 링크 ID는 (48, 23)이 아니라 (23, 48)이 될 것이다. 랭킹 이전에 노드 ID들을 소팅하는 것은 계산 순서에 관계없이 공통 결과가 계산될 수 있게 한다. 그리고나서, 네트워크를 통한 엔드 대 엔드 경로들의 세트가 생성되고, 이들 경로들 상의 링크들의 링크 ID들이 연결되어 경로 ID들을 형성한다. 경로 ID들의 링크 ID들은 유사하게 소팅되고, 그리고나서 경로 ID들이 랭크되며, 하이/로우 경로 ID들은 제1 다양한 경로들의 쌍으로 선택된다.
그리고나서, 제2 경로 선택을 얻기 위해, 예를 들면 링크 ID들을 생성하는데 이용된 2개의 노드 ID들 중 하나에 변환을 보편적으로 적용함으로써, 경로 ID들을 생성하는데 이용되었던 링크 ID들이 재명명된다. 변환은 링크 ID를 형성하는 연결된 노드 ID들의 제2(즉, 가장 덜 중요한) 노드 ID에 항상 적용된다. 개정된 링크 ID들은 동일 코스트 경로들의 각각에 대한 새로운 경로 ID들을 생성하는데 이용된다. 새로운 경로 ID들이 랭크되고, 제2 세트의 경로들은 변환된 경로 ID들의 최저 및 최고 랭크된 것을 취하여 제2 로우-하이 랭크된 경로 쌍을 생성함으로써 선택된다. 이러한 제2 로우-하이 랭크된 경로 쌍은 원래의 선택된 경로 쌍으로부터 상당한 정도의 링크 다이버시티를 가지고 있지만, 노드 ID들의 배열에 대해 여전히 종속성들이 있을 것이므로 완전하게 링크 다양화되어 있는 것을 보증하지 않을 것이다. 링크 ID들의 다른 변환들은 밀집되게 메시된 네트워크들에서 더 다양한 경로 순열들을 생성하는데 이용될 수도 있다. 그러나, 유의할 점은, 링크 ID들에서 로우 및 하이 노드 ID들 양쪽의 공통 변환이 상당한 다이버시티를 생성하기에는 너무 과다하게 상관된다는 점이다.
노드 ID들의 간단한 반복된 랜덤 할당을 이용하는 접근법을 비교하는 것은 접근법의 이점들을 예시한다. 랜덤 노드 ID들이 반복적으로 할당되고 로우 경로 ID가 취해지는 경우, 얻어지는 결과는 생일 문제(birthday problem) 수학식, 1-(1-1/n)**k(n = 링크들, k = 실제 이용되는 경로들의 개수)에 의해 직접 예측될 수 있다. 그러므로, (예를 들면) 듀얼 업링크들을 구비하는 패트(fat) 트리에서, 그 계층(hierarchy)의 임의의 레벨에서 통상적으로 4개의 레벨들이 있다. 따라서, 평균적으로, 4개의 트리들을 가지는 동일 코스트 멀티-트리(ECMT)가 이용되는 경우에, 이러한 프로세스는 링크들의 대략 68%를 이용할 것이다. 네트워크를 완전하게 활용하도록 이를 개선하는 것은 조사되는 동일 코스트 트리 변동들의 개수의 상당한 팽창을 요구하고, 링크 활용도의 표준 편차가 크게 가변된다.
선호되는 알고리즘은 링크 ID들의 하이 노드 ID의 간단한 인버전에 있어서, 변환이 노드 ID들의 상대적 랭킹들만을 고려하고 노드 ID들이 할당되는 방법(연속적, 랜덤, 범위들, 등)에 민감하지 않은 바람직한 속성을 가지고 있다. 그러므로, 성능은 관리적 실행(practice)에 면역성이 있을 것이고 네트워크 행태를 관리하는 것이 요구되었던 상황들에 대해 설계 규칙들을 쉽게 용이하게 할 것이다.
선호되는 알고리즘은 달성되는 경로 다이버시티의 정도가 동일 코스트 경로들의 세트에 의해 횡단되는 홉들의 개수에 독립적이라는 추가의 바람직한 속성을 가지고 있다. 그러므로, 다이버시티의 양은 네트워크 직경이 증가함에 따라 저하되지 않는다.
고도로 대칭적인 계층적 네트워크에 적용되는 작은 정도의 관리는 이러한 알고리즘이 달성하는 다이버시티의 정도를 추가 향상시킬 수 있다. 스위칭 계층의 레벨들이 홀수 또는 짝수인 것으로 식별될 수 있도록 열거되고 홀수 또는 짝수 행들 중 어느 하나의 ID들이 대량 프로모팅되었다면, 알고리즘이 링크가 다양한 경로들을 선택하지 못하도록 유발하는 다수의 상황들이 제거된다. 예를 들면, 최대 노드 ID 값이 2^16-1인 경우, 계층의 홀수 레벨들에서 모든 노드들의 노드 ID들에게 2^16을 가산하는 것은 경로의 노드들의 순서가 로컬 최소 및 로컬 최대 사이에서 교대하도록 유발한다. 로컬 최소를 통과하는 하나보다 많은 경로 가능성이 있는 경우, 다음 스위칭 레벨에서, 로컬 최소가 접속되는 모든 노드들은 공통적으로 로컬 최대가 되도록 보증되고, 노드 ID를 인버팅하는 것은 랭킹들을 인버팅할 것이며, 상이한 링크가 선택된 다음 경로에 이용되는 것을 보장한다.
도 3a-3e는 참조 네트워크 예를 통한 5개의 동일 코스트 경로들의 세트를 도시하고 있고, 도 4, 5a-b 및 6은 참조 네트워크 예 상의 노드들의 쌍 사이에서 경로들의 세트를 선택하는 프로세스를 도시하고 있다. 도 3a-3e에서, 동일한 참조 네트워크는 도면들의 각각이 노드들(1 및 8) 사이에서 5개의 상이한 동일 코스트 경로들 중 하나를 도시하고 있는 상태로 도시되어 있다. 예를 들면, 도 3a는 노드들(1, 4, 2 및 8)을 포함하는, 노드들(1 및 8) 사이의 참조 네트워크(30)의 예를 통한 제1 경로를 도시하고 있다. 이러한 경로 상의 링크들은 링크의 어느 하나의 엔드 상의 노드 ID들을 연결시킴으로써 명명될 것이다. 그러므로, 노드 1 내지 노드 4로의 제1 링크는 링크 1-4가 될 것이고, 다음 링크는 링크 2-4가 되며, 최종 링크는 링크 2-8이 될 것이다. 관례 상, 연결된 노드 ID들을 구성할 때, 더 낮은 노드 ID가 항상 첫 번째가 된다는 점에 유의한다. 네트워크 상의 모든 노드들이 동일한 관례를 이용하는 한, 또 하나의 관례(예를 들면, 항상 더 높은 노드 ID를 처음으로 가짐)가 마찬가지로 채택될 수 있다.
도 3b-3e는 노드들(1 및 8) 사이의 4개의 다른 대안적인 동일 코스트 경로들을 도시하고 있다. 구체적으로는, 도 3b는 노드들 1, 4, 3 및 8을 통한 경로를 도시하고 있다. 이러한 경로는 링크 ID들 1-4, 3-4 및 3-8을 이용하여 명명된다. 도 3c는 노드들 1, 5, 2 및 8을 통한 경로를 도시하고 있다. 이러한 경로는 링크 ID들 1-5, 2-5 및 2-8을 이용하여 명명된다. 도 3d는 노드들 1, 5, 3 및 8을 통한 경로를 도시하고 있다. 이러한 경로는 링크 ID들 1-5, 3-5 및 3-8을 이용하여 명명된다. 도 3e는 노드들 1, 5, 7 및 8을 통한 경로를 도시하고 있다. 이러한 경로는 링크 ID들 1-5, 5-7 및 7-8을 이용하여 명명된다.
도 4는 네트워크에서 노드들의 쌍 사이에서 2개의 세트들의 다양한 경로들을 선택하는 프로세스를 도시하고 있다. 프로세스는 우측 사이드에 도시되어 있고, 도 3a-3e의 네트워크에 대한 프로세스의 어플리케이션 예는 본 도면에서 좌측 칼럼에 도시되어 있다. 좌측 칼럼을 형성하는 박스들에 도시된 예에서의 숫자들은 참조 네트워크 및 도 3a-3e에 도시된 경로들의 예로부터 취해진다.
처음에, 최단 경로 라우팅 시스템은 노드들의 쌍 사이에서 동일 코스트 경로들의 세트를 찾을 것이다(100). 경로들 식별자들(ID들)은 링크 ID들의 소팅된 리스트로서 구성된다(102). 도 4에 도시된 바와 같이, 소팅된 경로 ID들은 도 3a-3e에 도시된 경로들에 대응한다. 가능한 동일 코스트 경로들이 랭크되고 랭크된 경로 ID들은 제1 세트의 2개의 다양한 경로들을 선택하는데 이용된다. 특히, 로우 및 하이 랭크된 경로들은 이러한 랭크된 리스트로부터 선택된다(104). 예시된 예에서, 로우 경로는 경로 1248(도 3a)이고 하이 경로는 1578(도 3e)이다. 이들 선택된 경로들은 박스(102)에서 원으로 표시되어 있다.
이러한 랭킹 프로세스는 2개의 다양한 경로들이 선택될 수 있게 한다. 추가 경로들을 선택하기 위해, 본 발명의 하나의 실시예에 따르면, 경로들을 생성하는데 이용된 링크 ID들은 변경되어(여기에서는 링크들을 재-명명하는 것으로 지칭됨), 새로운 경로 ID가 동일한 경로에 할당될 수 있게 한다. 예를 들면, 하나의 실시예에서, 각 링크 ID의 최고 노드 ID가 인버팅된다(106). 이것은 각 링크 ID가 네트워크 내에서 고유하게 유지되는 것을 보장하면서도 링크 ID들이 재명명될 수 있게 한다. 이것이 네트워크의 예에 적용될 수 있는 방식은 예에서 박스(108)에 의해 도시되어 있다. 예를 들면, 경로 1에서, 링크 1-4는 4의 노드 ID를 가지는 하이 노드를 가지고 있다. 이러한 노드 ID는 인버팅되어, 링크 ID가 1-12가 된다. 도 4에 도시된 예에서, 노드 인버전은 비트별 인버전에 의해 수행되거나, 노드 ID들이 여전히 고유하기에 충분히 큰 값으로부터 이들을 감산함으로써 수행된다. 이러한 예에 대해, 노드 ID들은 16으로부터의 감산에 의해 인버팅될 수 있다. 노드 ID들을 인버팅하는 다른 방식들이 물론 이용될 수 있다. 예를 들면, 노드 ID들은 특정 값과 X-OR 연산될 수 있다. 노드 ID들이 범위 0 내지 2^N-1에서 할당되는 경우, 적절한 특별 값은 또한 2^N-1이다. 노드 ID들을 인버팅하여 링크들을 재명명하는 다른 방식들이 물론 이용될 수도 있다. 예를 들면, 하이 노드 ID가 인버팅되었던 실시예가 도시되었지만, 다른 실시예들은 로우 노드 ID를 인버팅하는 것과 같이, 링크들을 재명명하는 다른 방식을 찾을 수 있다.
일단 링크들이 재명명되었다면(예를 들면, 하이 노드들이 인버팅되었다면), 경로 ID들이 연결된 링크들의 순서화된 리스트를 다시 한번 포함하도록, 각 경로 내의 링크들이 소팅된다. 이러한 프로세스에서, 연결된 링크들은 최저 링크들이 첫 번째이고 더 높은 링크들이 최저 링크 상에 후속적으로 연결되도록 순서화된다. 그러므로, 예를 들면 박스(108)에서, 인버전 이후에, 경로 1이 링크들 1-12, 2-12 및 2-8을 포함했다. 2-8은 2-12보다 더 낮으므로, 이러한 경로는 박스(112)에 도시된 바와 같이 재순서화되어, 경로 1이 링크들 1-12, 2-8 및 2-12의 연결로서 표현될 수 있게 한다. 경로들의 각각은 개별적으로 재순서화되어, 새로운 경로 식별자가 최저 링크 식별자로부터 최고 링크 식별자로 순서화되는 링크들의 연결된 세트를 가질 수 있게 한다. 링크들을 재순서화하는 것은 경로의 랭킹을 용이하게 하지만, 랭킹 프로세스가 미-순서화된 세트들의 링크 ID들을 이용하여 경로들을 랭크할 수 있는 경우에 선택적으로 생략될 수도 있다.
경로 ID들이 처음으로 형성되었던 때에(100, 102), 개별 링크 ID는 처음에 최저 노드 ID 그리고 이어서 최고 노드 ID를 가지도록 설정되었다. 링크들이 재명명되고(106, 108) 최고 노드 ID가 인버팅되는 경우에, 이것은 개별 링크 ID들의 일부가 첫 번째로 더 높은 노드 ID를, 두 번째로 더 낮은 노드 ID를 가지도록 유발할 수 있다. 이러한 측면에서, 초기 링크 ID들은 더 낮은 노드 ID를 항상 첫 번째로 가지고 더 높은 노드 ID와 연결됨으로써 생성되었다. 더 높은 노드 ID를 인버팅하는 것은 이러한 정상 순서가 스위칭되도록 유발할 수 있다. 그러나, 인버전 프로세스 이후에, 특정 링크와 연관된 노드 ID들의 순서는 이것이 발생하더라도 변경되지 않을 것이고, 이는 그렇게 하는 것이 링크가 네트워크 내에서 글로벌적으로 더 이상 고유하지 않도록 유발할 수 있기 때문이다.
일단 경로와 연관된 링크 ID들을 재명명하고(106) 링크 ID들을 재배열함으로써(110) 경로들에 대해 새로운 경로 ID들이 생성되었다면, 경로들이 재-소팅되어 새롭게 명명된 경로들을 재-랭크한다(114). 상기 예에 대한 이러한 재-순서화 단계의 결과는 박스(116)에 도시되어 있다. 이러한 예에 도시된 바와 같이, 초기 랭킹 프로세스 동안에 제2 최저 경로 ID였던 경로는 링크들을 재명명하여 새로운 경로 ID들을 생성한 후에, 최저 경로 ID가 되었다. 유사하게, 초기 랭킹 동안에 제3 최저 경로 ID였던 경로는 이제 최고 랭크된 경로가 되었다. 개정된 경로 리스트에서 로우 및 하이 경로들을 취함으로써, 다양한 경로들의 제2 쌍이 얻어질 수 있다(118).
노드 ID들의 원래의 소팅된 연결은 고유하고, 따라서 네트워크를 통한 특정 경로에 대해 생성된 각 경로 ID가 고유하다. 마찬가지로, Inverse(노드B)와 연결된 노드 A는 또한 고유하고, 간단히 고유한 경로들의 재-랭킹을 유도한다. 그러므로, 제1 로우/하이 쌍 및 제2 로우/하이 쌍 양쪽 모두는 네트워크 상의 링크 사용의 양을 증가시키도록 얻어질 수 있다. 원하는 경우에, 링크 ID들의 제2 재명명은 예를 들면 하이 노드 ID 대신에 로우 노드 ID를 인버팅함으로써 구현될 수 있고, 프로세스는 네트워크를 통한 제3 세트의 다양한 경로들을 구하도록 반복될 수 있다. 유사하게, 경로 ID들을 변경할 때 링크들을 재명명하는데 이용되는 인버전 함수를 교체함으로써, 상이한 랭킹들이 생성될 수 있다.
알 수 있는 바와 같이, 다양한 경로들의 후속적인 세트들을 선택하는 프로세스는 원래의 랭킹에 좌우되지 않는다. 그러므로, 어떠한 상대 랭킹이 없으므로, 경로 오류는 캐스케이딩되지 않는다 - 주어진 랭킹 프로세스 동안에 경로가 또 다른 경로에 관해 랭크되었기 때문에 어떠한 경로도 단독으로 선택되지 않는다. 그러므로, 하나 이상의 이전에 선택된 경로들에 의해 공유된 링크의 오류는 그 링크를 포함하는 이들 경로들을 고려로부터 제거할 것이지만, 다른 독립적인 랭킹 동작들 동안에 다른 경로들이 선택되었기 때문에, 살아남은 경로들의 랭킹 순서에 영향을 미치지 않을 것이다. 다르게 말한다면, 다른 경로들의 각각이 독립적으로 선택되었으므로, 선택된 경로들 중 하나에 대한 링크의 오류는 다른 경로들의 선택에 영향을 미치지 않을 것이고, 따라서 오류는 다른 경로 선택들에 영향을 미치도록 캐스케이딩되지 않을 것이다.
엔드-포인트들에서 다양한 경로들을 구하는 것뿐만 아니라, 중간 노드들에 의해 구해진 임의의 경로들이 엔드-포인트들에 의해 선택된 다양한 경로들과 조화되는 것이 중요하다. 도 5a-5b 및 6은 중간 노드들에 의해 선택된 경로 세그먼트들이 엔드-포인트들에 의해 선택된 다양한 경로들과 조화되는 것을 도시하도록 제공된다.
상기 설명된 바와 같이, 예시된 실시예에서, 초기 경로 랭킹은 경로들 1248 및 1578의 제1 쌍이 노드들(1 및 8) 사이에서 선택될 수 있게 했다. 링크들을 재명명하고 재명명된 링크들로 경로들을 재순서화하는 것은, 결과적으로 제2 세트의 경로들 1258 및 1348이 노드들(1 및 8) 사이에서 선택되는 것으로 나타난다. 이들 선택된 경로들은 도 6에 리스트되어 있다.
하나의 실시예에 따르면, 각 중간 노드는 엔드 포인트들 1 및 8에 의해 수행되었던 동일한 프로세스를 수행한다. 그러나, 노드는, 중간 노드가 계산을 이용하여 자신과 의도된 엔드-포인트 사이에서 복수의 경로들을 선택하도록 경로의 엔드-포인트로서 그 자신을 대체할 것이다. 그러므로, 각 노드 4 및 5는 목적지로의 동일 코스트 경로들의 세트를 결정하고, 경로들을 랭킹하며, 하이 및 로우를 선택하고, 링크들을 재명명하며, 경로들을 재랭킹하고, 다시 한번 하이 및 로우 랭크된 경로들을 선택한다.
도 5a 및 5b는 중간 노드 5 및 중간 노드 4에 대한 이러한 프로세스의 결과를 도시하고 있다. 도 5a에 도시된 바와 같이, 중간 노드 5는 노드 8로의 동일 코스트 경로들 258, 358 및 578을 찾을 것이다. 연결된 엔드포인트 노드 ID들을 이용하여 이들 경로들을 따라 링크들을 명명하는 것은, 결과적으로 박스(120)에 도시된 링크들의 세트로 나타난다. 즉, 경로 258은 링크들 2-5 및 5-8을 포함하는 경로 ID를 가지고 있고, 경로 358은 링크들 3-5 및 5-8을 포함하는 경로 ID를 가지고 있으며, 경로 578은 링크들 5-7 및 7-8을 포함하는 경로 ID를 가지고 있다. 이들 경로들은 도시된 바와 같이 랭크될 것이고, 최고 및 최저가 선택될 것이다. 그리고나서, 링크들은 박스(122)에 도시된 바와 같이 하이 노드 ID를 인버팅함으로써 재명명될 것이다. 그리고나서, 링크들의 순서가 재-조정되어 링크 ID들을 상승하는 순서(최저 링크 ID들이 처음으로)로 순서화하고, 새로운 경로 ID들이 재-랭크될 것이다. 다시 한 번, 리스트의 최고 및 최저 경로 ID들이 선택될 것이며, 이는, 이러한 예시에서, 경로들의 초기 세트와 동일하다. 그러므로, 중간 노드 5는 노드 5를 통과했던 1 내지 8의 선택된 경로들의 세트와 조화되는 이러한 프로세스를 이용하여 경로 578 및 258을 선택할 것이다. 특히, 도 6에 도시된 바와 같이, 프로세스는 노드 1로부터 노드 8까지의 경로의 선택에 대해 구현되는 경우에, 경로들 1248, 1578, 1258 및 1348을 선택했다. 이들 경로들 중 2개는 노드 5를 통과했다 - 1578 및 1258. 프로세스가 노드 5에서 구현되었던 경우에, 중간 노드가 엔드-대-엔드 경로 선택과 조화되는 경로들을 선택하도록 노드 5는 유사하게 578 및 258을 선택했다.
도 5b는 중간 노드 4에 대한 동일한 프로세스를 도시하고 있다. 박스들(126, 128 및 130)에 도시된 바와 같이, 그리고 도 6의 박스(132)에 도시된 바와 같이, 노드 4는 엔드-대-엔드 선택 프로세스 동안에 선택된 2개의 경로들과 조화되는 경로 248 및 348을 선택할 것이다. 그러므로, 상기 기재된 프로세스를 이용하는 중간 결과들은 엔드-대-엔드 결과들과 조화된다. 유사한 계산들이 수행되어, 역방향 경로 선택 프로세스 - 노드(8)로부터 노드(1)까지 -는 또한 결과적으로 동일한 세트의 선택된 경로들로 나타난다는 것을 보여주고 있다. 유사하게, 노드 9와 노드 8의 사이와 같이, 다른 세트들의 노드들 사이의 경로들은 노드들 1 및 8 사이의 경로들과 비순환적/평면적(planar)이라는 것을 알 수 있다.
이전 예들에서, 경로들을 랭크하고 로우 및 하이 경로들을 선택한 후, 링크들은 하이 노드 ID를 인버팅함으로써 재명명되었다. 선택적으로는, 이것은 예를 들면 로우 노드 ID도 인버팅함으로써 두 번째로 수행될 수 있다. 이러한 실시예에서, 링크 ID들을 재명명하고(106), 재명명된 링크들로부터 경로 ID들을 재구성하며(110), 경로들을 재순서화하고(114), 로우 및 하이 경로들을 취한(118) 후에, 프로세스는 다시 상이한 재명명 관례를 이용하여 원래의 링크 ID들을 재명명하도록 반복될 수 있다. 하나의 예로서, 로우 노드 ID는 이러한 반복 동안에 인버팅될 수 있다. 제2 재명명 프로세스 이후에, 재명명된 링크들로부터 경로 ID들을 재구성하고(110), 경로들을 재순서화하며(114) 및 로우 및 하이 경로들을 취하는(118) 다른 단계들은 추가 세트의 경로들을 선택하도록 구현될 것이다.
일반적으로, 가능하다면 네트워크 관리를 피하는 것이 바람직하다. 그러나, 특히 네트워크의 계층의 주어진 레벨에서 경로 순열들의 개수가 4보다 큰 경우에, 네트워크에서 랜덤하게 할당된 노드 ID들은 네트워크 상에서 가용한 다이버시티의 전체 양을 자주 적절하게 활용하지 못할 수 있다. 본 발명의 하나의 실시예에 따르면, 네트워크에서 특정 노드 ID들을 선택적으로 조정하는 것은, 상기 설명된 경로 선택 프로세스와 조합하여 이용되는 경우에, 동일 코스트 경로들 사이에서 선택할 때 달성되는 다이버시티의 양을 향상시킬 수 있다.
상기 설명된 프로세스에서, 노드 ID들을 첫 번째로 최저 노드와, 두 번째로 최고 노드와 연결시킴으로써 링크 ID들이 생성되는 경우에, 최저 노드 ID는 링크 ID의 최상위 비트들에 포함될 것이고, 최고 노드 ID는 링크 ID의 최하위 비트들에 포함된다. 따라서, 최고 노드 ID를 인버팅하는 것은, 링크 ID의 최하위 비트에 영향을 미칠 것이므로, 링크 ID 값에 거의 영향을 미치지 않을 것이다. 그러므로, 최저 노드 ID가 노드들의 쌍 사이의 경로의 일부로서 선택되는 경우에, 상기 설명된 재명명 프로세스는 또한 동일한 노드를 통과하는 제2 경로를 선택할 가능성이 있다.
이러한 속성은, 네트워크의 구조가 알려져 있는 경우에, 노드 ID 값들의 선택적 조정이 알고리즘으로 하여금 네트워크 상의 원하는 노드를 통과하는 경로들을 선택할 수 있게 하도록 활용될 수 있다. 그러므로, 노드 ID들의 적어도 일부를 관리적으로 설정함으로써, 관리자는 경로들이 네트워크 상에서 통과할 핵심 중간지점을 선택할 수 있다. 유사하게, 특정 노드 ID 인버전 함수를 선택함으로써, 관리자는 경로들이 특정 노드를 통과하도록 강제할 수 있고, 따라서 상이한 인버전 함수들을 이용하는 것은 상이한 경로 선택 프로세스들이 상이한 노드들을 통과하고 네트워크 상의 이들 노드들에서 링크가 다양하게 될 수 있게 유발할 수 있다. 이러한 인버전 함수는 네트워크의 모든 노드 ID들에게 균일하게 적용되어 중간지점(waypoint)들을 선택한다. 그리고나서, 상기 설명된 링크 명명 및 재명명 절차들이 각 노드 ID 인버전 함수에 의해 생성된 경로들에 순서대로 적용되고, 효과는 현재 노드 ID 인버전 함수에 의해 선택된 중간지점을 통과하는 상이한 엔드 대 엔드 경로들을 선택하게 되는 것이다.
도 7 및 8은 경로 선택이 코어 노드들 중 선택된 하나를 선택적으로 횡단하도록 유발하는 상이한 노드 ID 인버전 함수들을 이용하는 경로 선택 프로세스의 어플리케이션을 도시하고 있다. 특히, 도 7에서, 코어 노드들에는 노드 ID들 0x00, 0x08, 0x10 및 0x18이 할당되었다. 그리고나서, 상기 설명된 상이한 경로 선택 프로세스들은 링크 명칭들을 형성하기 이전에 모든 노드 ID들에게 균일하게 적용된 상이한 인버전 함수들을 이용하여 구현되었다. 예를 들면, 링크들을 재명명하는데 이용되는 인버전 함수는 노드 ID들이 순서대로 0x00, 0x08, 0x10 및 0x18 또는 다른 값들과 XOR 연산되도록 유발할 수 있다. 제1 인버전 함수를 이용하는 것은 도 7에 도시된 바와 같이 최상부(top) 코어 노드를 통과하는 경로가 선택되도록 유발하고, 이는 그 노드 ID가 값 제로를 가지고 있기 때문이며, 이는 그것에 부착된 모든 링크들이 제로의 낮은 노드 ID를 가지게 하고, 따라서 경로 ID들을 랭킹할 때 선택되도록 보장되게 한다. 노드 ID들이 상이한 값과 XOR 연산되도록 인버전 함수를 조정하는 것은, 예를 들면 0x10과 노드 ID들을 XOR 연산한 결과인 도 8에 도시된 바와 같이, 선택된 경로들이 상이한 코어 노드를 통과하도록 유발할 것이다. 따라서, 네트워크 구조의 지식 및 초기 링크 명명 프로세스 동안의 인버전 함수의 모든 노드들로의 선택적 어플리케이션은 관리자가 경로들이 통과할 코어 노드를 선택할 수 있게 한다. 그러므로, 코어 노드들 모두가 이용되도록 네트워크 내의 트래픽을 더 잘 확산시키기 위해, 코어 노드들을 통해 순환시키는 것과 경로 선택 프로세스들이 코어 노드들의 각각을 활용하도록 강제하는 것이 가능할 수 있다. 이러한 초기 노드 ID 인버전 프로세스를 이용하여 초기 코어 노드가 선택된 후, 링크들은 상기 설명된 바와 같이 각 링크의 노드 ID들 중 하나에 제2 함수를 균일하게 적용함으로써 재명명되어, 제2 경로 선택 프로세스가 발생할 수 있게 한다. 그러므로, 이러한 노드 ID 인버전 프로세스는 도 7 및 8에 도시된 바와 같이, 상이한 에지 노드들이지만 공통된 코어 노드를 통한 가용한 복수의 경로들을 순서대로 선택하기 위해, "내부 루프"로서 운용되고 있는 이전에 기재된 링크 재명명 프로세스와 함께 적용된다.
네트워크 상에서 경로 선택이 구현되는 방법을 관리적으로 조정하는 또 하나의 방식은 상이한 범위들로부터 노드 ID들을 할당하는 것이다. 도 9는 모든 노드들에게 동일한 범위로부터의 숫자들이 할당되는 예를 도시하고 있다. 도 9에서, 동일 코스트 경로들이 노드 A로부터 노드 Z까지 계산되고 있다고 가정한다. 이러한 예에서, 중간 노드들 D 및 F는 로우 노드 ID 값들을 가지고 있고, 따라서 경로들이 네트워크 상에서 분기하는 로케이션을 형성할 것이다. 이것은, D 및 F의 하나 또는 나머지가 최저 링크 ID를 가질 것이기 때문이다(그 로우 노드 ID 컴포넌트에 기초함). 선택된 제1 경로가 최상부 코어 노드를 통과하는 경우, 그 노드 ID가 기저부 코어 노드보다 더 낮기 때문에, 링크 재명명 인버전 프로세스 이후에 기저부 코어 노드를 통한 링크는 최저 노드 ID를 가질 것이다.
도 10은 네트워크에 접속하는 외부 노드들(도 10의 노드 A 및 Z)에게 네트워크 상의 노드들과는 상이한 범위로부터의 노드 ID 값들이 할당되는 또 하나의 예를 도시하고 있다. 특히, 도 10에서, 노드들 A 및 Z는 1 내지 1023의 숫자들을 이용하여 노드 ID 값들이 할당되었다. 그리고나서, 에지, 애그리게이션(aggregation), 코어 노드들, 등은 1025 내지 2047과 같은 상이한 더 높은 범위로부터의 숫자가 할당되었다. 물론, 다른 범위들도 이용될 수 있고, 이들 범위들은 단지 하나의 예를 제공하려는 것이다.
네트워크에 접속한 노드들에게 로우 노드 ID 값들을 할당하고 네트워크 상의 나머지 노드들에게 하이 노드 ID 값들을 할당함으로써, 네트워크에 접속하는 노드는 선택된 동일 코스트 경로들이 분기하는 피봇(pivot) 포인트로서 선택될 수 있다. 그러므로, 예를 들면 도 10에 도시된 바와 같이, 링크가 다양한 경로들은 네트워크에 접속하는 노드들에서 선택되게 되어 있고, 따라서 네트워크에 접속하는 노드들은 네트워크에 듀얼 호밍되는(dual homed) 경우에 복수의 액세스 링크들에 걸쳐 트래픽을 확산시킬 수 있다. 추가적으로, A 및 Z 양쪽 모두에 로우 노드 ID 값들이 할당되었으므로, 이러한 경로 분기는 및 Z 양쪽 모두에서 발생할 것이고, 따라서 A 및 Z 양쪽 모두는 네트워크에 접속하는 링크가 다양한 대안의 동일 코스트 경로들을 가지도록 보장된다. 추가적으로, 경로들이 네트워크 내에서 모일 수 있지만, 경로들은 도 10에 도시된 예와 같이 네트워크 전체에 걸쳐 링크가 다양하게 유지될 상당한 가능성이 있다.
그러므로, 노드 ID 값들을 관리적으로 조정하는 것은 상기 설명된 프로세스를 이용하여 선택된 경로들이 네트워크 상의 특정 로케이션에서 발생하도록 유발할 수 있다. 이것은, 다양한 경로 선택이 네트워크 내의 특정 로케이션들에서 발생하도록 하고, 따라서 경로 선택이 트래픽 분산 관점에서 더 최적인 방식으로 발생하게 함으로써 관리자가 네트워크 주위에 트래픽을 의도적으로 확산시킬 수 있게 한다. 또한, 노드 ID들은 이러한 기술을 이용할 때 개별적으로가 아니라 별개의 범위들로부터 할당되므로 관리적 부담이 비교적 최소인데, 왜냐하면 범위들 내의 노드 ID들의 정확한 선택이 도 10에 도시된 트래픽 패턴과 같은 트래픽 패턴들을 발생하게 하기에는 핵심적이지 않으며, 범위 내의 고유한 노드 ID들이 다수의 공지된 기술들에 의해 자동-할당될 수 있기 때문이다. 네트워크에 접속하는 노드들이 네트워크 노드들의 나머지에 할당된 노드 ID들과는 상이한(더 낮은) 범위로부터 선택되는 한, 노드들 A 및 Z로부터의 초기 경로 분기는 도 10에 도시된 바와 같이 발생할 것이다.
노드 ID들의 특정 범위를 이용하는 노드들의 이러한 관리적 할당은 노드 ID들을 핵심 중간지점 노드들에게 할당하며 전술한 노드 ID 인버전 함수를 이용하는 기술과 유리하게 조합될 수 있다. 중간지점 선택 프로세스는 코어를 통한 루트들의 하이 레벨 선택이 제어될 수 있게 하고, 다른 노드들로의 범위들의 관리적 할당은 선택된 중간지점들을 통과하는 링크-다양한 엔드-대-엔드 경로들의 빈 부분(opening)을 최대화시키는데 이용될 수 있다.
상기 설명된 기능들은 컴퓨터 판독가능 메모리에 저장되고 컴퓨터 플랫폼 상의 하나 이상의 프로세서들 상에서 실행되는 프로그램 명령들의 세트로서 구현될 수 있다. 그러나, 본 기술분야의 숙련자들에게는, 여기에 기재된 모든 로직이 이산 컴포넌트들, 어플리케이션 특정 집적 회로(ASIC)와 같은 집적된 회로, 필드 프로그램가능한 게이트 어레이(FPGA) 또는 마이크로프로세서와 같은 프로그램가능한 로직 디바이스와 조합하여 이용되는 프로그램가능한 로직, 상태 머신, 또는 그 임의의 조합을 포함하는 임의의 다른 디바이스를 이용하여 실시될 수 있다는 것은 자명할 것이다. 프로그램가능한 로직은 판독전용 메모리 칩, 컴퓨터 메모리, 디스크, 또는 다른 저장 매체와 같은 유형 매체에 임시적으로 또는 영구적으로 고정될 수 있다. 프로그램가능한 로직은 반송파로 실시되는 컴퓨터 데이터 신호에 고정될 수도 있고, 이는 프로그램가능한 로직이 컴퓨터 버스 또는 통신 네트워크와 같은 인터페이스를 통해 송신될 수 있게 한다. 모든 그러한 실시예들은 본 발명의 범주 내에 든다고 할 것이다.
도면들에 도시되어 있고 명세서에 기재된 실시예들의 다양한 변경들 및 변형들은 본 발명의 사상 및 범주 내에서 만들어질 수 있다는 것은 자명하다. 따라서, 상기 설명에 포함되고 첨부된 도면에 도시된 모든 주제는 제한적 의미가 아니라 예시적 의미로 해석되어야 될 것이다.

Claims (23)

  1. 통신 네트워크에서 복수의 동일 코스트 경로들 사이에서 선택하기 위한 장치로서,
    하나 이상의 프로세서들 및 하나 이상의 메모리들
    을 포함하고,
    상기 하나 이상의 메모리들은, 상기 하나 이상의 프로세서들에 로딩되는 경우에, 상기 장치를 상기 복수의 동일 코스트 경로들 사이에서 선택하는 방법을 수행하도록 구성하는 데이터 및 명령어들을 포함하며,
    상기 방법은,
    통신 네트워크 상의 노드들의 쌍 사이에서 동일 코스트 경로들의 세트를 결정하는 단계 - 각 경로는 복수의 링크들을 포함함 -;
    상기 동일 코스트 경로들 각각 상의 각 링크에 대한 제1 링크 ID들을 구성하는 단계 - 상기 제1 링크 ID들 각각은 상기 네트워크 상에서 링크에 접속하는 노드들의 순서화된 노드 ID들을 연결시킴으로써(concatenating) 생성됨 -;
    상기 동일 코스트 경로들 각각에 대한 제1 경로 ID들을 구성하는 단계 - 상기 제1 경로 ID들 각각은 상기 통신 네트워크를 통해 그 경로를 형성하는 복수의 링크들의 제1 링크 ID들을 연결시킴으로써 생성됨 -;
    상기 통신 네트워크를 통한 제1 세트의 다양한 경로들을 선택하도록 상기 제1 경로 ID들을 경로 독립적인 방식으로 랭크하는(ranking) 단계;
    상기 동일 코스트 경로들 상의 각 링크에 대한 제2 링크 ID들을 구성하는 단계 - 상기 제2 링크 ID들 각각은 상기 네트워크 상에서 링크에 접속하는 노드들 중 하나의 노드의 노드 ID를, 상기 네트워크 상에서 그 링크에 접속하는 노드들 중 다른 노드의 인버팅된(inverted) 노드 ID와 연결시킴으로써 생성되고, 상기 노드 ID들은 상기 제1 링크 ID들을 구성할 때 결정된 것과 동일한 순서로 상기 제2 링크 ID들을 형성하도록 연결됨 -;
    상기 동일 코스트 경로들 각각에 대한 제2 경로 ID들을 구성하는 단계 - 상기 제2 경로 ID들 각각은 상기 통신 네트워크를 통해 그 경로를 형성하는 복수의 링크들의 제2 링크 ID들을 연결시킴으로써 생성됨 -; 및
    상기 통신 네트워크를 통한 제2 세트의 다양한 경로들을 선택하도록 상기 제2 경로 ID들을 경로 독립적인 방식으로 랭크하는 단계
    를 포함하는 장치.
  2. 제1항에 있어서,
    상기 제1 링크 ID들을 형성하는데 이용되는 상기 연결되고 순서화된 노드 ID들은, 로우(low) 노드 ID가 링크 ID의 최상위 비트들을 형성하고 하이(high) 노드 ID가 링크 ID의 최하위 비트들을 형성하도록 순서화되는 장치.
  3. 제1항에 있어서,
    상기 제1 경로 ID들을 구성하는 단계는, 상기 제1 링크 ID들이 상기 제1 경로 ID들 내에서 나타나는 순서가 경로 독립적이도록 상기 제1 링크 ID들을 소팅하는 단계를 포함하는 장치.
  4. 제1항에 있어서,
    상기 동일 코스트 경로들 각각에 대한 제1 경로 ID들을 구성하는 단계는, 링크 ID들을 최저로부터 최고로 소팅하는 단계를 포함하는 장치.
  5. 제1항에 있어서,
    상기 제1 경로 ID들을 랭크하는 단계는, 상기 제1 경로 ID들을 최저로부터 최고로 순서화하는 단계를 포함하는 장치.
  6. 제5항에 있어서,
    상기 통신 네트워크를 통한 상기 제1 세트의 다양한 경로들은, 최저 랭크된 제1 경로 ID를 갖는 경로 및 최고 랭크된 제1 경로 ID를 갖는 경로인 장치.
  7. 제1항에 있어서,
    상기 제2 링크 ID들을 구성하는 단계는, 동일한 인버전(inversion) 함수를 링크들 각각의 노드 ID들 중 하나에 적용하여 인버팅된 노드 ID들을 생성하는 단계를 포함하는 장치.
  8. 제7항에 있어서,
    상기 인버전 함수는 XOR 함수인 장치.
  9. 제7항에 있어서,
    상기 제2 링크 ID들을 형성하는데 이용되는 상기 연결되고 순서화된 노드 ID들은 로우 노드 ID가 링크 ID의 최상위 비트들을 형성하며 하이 노드 ID가 링크 ID의 최하위 비트들을 형성하도록 순서화되고, 상기 인버전 함수는 상기 하이 노드 ID에 적용되는 장치.
  10. 제1항에 있어서,
    상기 제2 경로 ID들을 구성하는 단계는, 상기 제2 링크 ID들이 상기 제2 경로 ID들 내에서 나타나는 순서가 경로 독립적이도록 상기 제2 링크 ID들을 소팅하는 단계를 포함하는 장치.
  11. 제1항에 있어서,
    상기 제2 링크 ID들은 상기 제2 경로 ID들을 형성할 때 연결 전에 최저로부터 최고로 순서화되는 장치.
  12. 제1항에 있어서,
    상기 제2 경로 ID들을 랭크하는 단계는, 상기 제2 경로 ID들을 최저로부터 최고로 순서화하는 단계를 포함하는 장치.
  13. 제12항에 있어서,
    상기 통신 네트워크를 통한 상기 제2 세트의 다양한 경로들은, 최저 랭크된 제2 경로 ID를 갖는 경로들 및 최고 랭크된 제2 경로 ID를 갖는 경로인 장치.
  14. 제1항에 있어서,
    상기 제1 및 제2 링크 ID들을 생성하기 전에 제1 인버전 함수를 모든 노드 ID들에게 적용하여, 상기 제1 세트의 경로들이 통과할 네트워크 상의 통과 노드(transit node)를 우선적으로 선택하는 단계를 더 포함하는 장치.
  15. 제14항에 있어서,
    상기 제2 링크 ID들을 구성하는 단계는, 제2 인버전 함수를 링크들 각각의 노드 ID들 중 하나에 적용하여 인버팅된 노드 ID들을 생성함으로써, 상기 통과 노드를 지나가고 상기 통과 노드로부터 분기하는 제2 세트의 경로들이 선택될 수 있게 하는 단계를 포함하는 장치.
  16. 통신 네트워크로서,
    링크들에 의해 상호접속된 복수의 노드들
    을 포함하고,
    각 노드는 노드 ID를 가지고 있으며 적어도 하나의 프로세서 및 연관된 메모리를 포함하고, 각 노드의 상기 메모리는, 상기 프로세서에 로딩되는 경우에, 상기 노드로 하여금 링크 상태 라우팅 프로토콜 프로세스를 구현하게 하여 상기 노드가 네트워크 상의 다른 노드들과 네트워크 구성 정보를 교환하고 상기 네트워크를 통한 경로들을 계산할 수 있게 하는 데이터 및 명령어들을 더 포함하며,
    각 노드의 상기 메모리는, 상기 프로세서에 로딩되는 경우에, 상기 노드로 하여금,
    통신 네트워크 상의 노드들의 쌍 사이에서 동일 코스트 경로들의 세트를 결정하는 단계 - 각 경로는 복수의 링크들을 포함함 -;
    상기 동일 코스트 경로들 각각 상의 각 링크에 대한 제1 링크 ID들을 구성하는 단계 - 상기 제1 링크 ID들 각각은 상기 네트워크 상에서 링크에 접속하는 노드들의 순서화된 노드 ID들을 연결시킴으로써 생성됨 -;
    상기 동일 코스트 경로들 각각에 대한 제1 경로 ID들을 구성하는 단계 - 상기 제1 경로 ID들 각각은 상기 통신 네트워크를 통해 그 경로를 형성하는 복수의 링크들의 제1 링크 ID들을 연결시킴으로써 생성됨 -;
    상기 통신 네트워크를 통한 제1 세트의 다양한 경로들을 선택하도록 상기 제1 경로 ID들을 경로 독립적인 방식으로 랭크하는 단계;
    상기 동일 코스트 경로들 상의 각 링크에 대한 제2 링크 ID들을 구성하는 단계 - 상기 제2 링크 ID들 각각은 상기 네트워크 상에서 링크에 접속하는 노드들 중 하나의 노드의 노드 ID를, 상기 네트워크 상에서 그 링크에 접속하는 노드들 중 다른 노드의 인버팅된 노드 ID와 연결시킴으로써 생성되고, 상기 노드 ID들은 상기 제1 링크 ID들을 구성할 때 결정된 것과 동일한 순서로 연결됨 -;
    상기 동일 코스트 경로들 각각에 대한 제2 경로 ID들을 구성하는 단계 - 상기 제2 경로 ID들 각각은 상기 통신 네트워크를 통해 그 경로를 형성하는 복수의 링크들의 제2 링크 ID들을 연결시킴으로써 생성됨 -; 및
    상기 통신 네트워크를 통한 제2 세트의 다양한 경로들을 선택하도록 상기 제2 경로 ID들을 경로 독립적인 방식으로 랭크하는 단계
    를 포함하는 방법을 수행하게 하는 데이터 및 명령어들을 더 포함하는 통신 네트워크.
  17. 제16항에 있어서,
    각 노드 ID들은 노드 분류에 따라 관리적으로(administratively) 노드 ID들의 별개의 범위들로부터 할당되어 상기 제1 및 제2 세트의 다양한 경로들이 상기 네트워크의 선택된 로케이션들에서 분기할 수 있게 하는 통신 네트워크.
  18. 제17항에 있어서,
    상기 네트워크의 에지 상의 노드들은 로우 범위로부터 노드 ID들이 할당되고, 상기 네트워크의 내부 상의 노드들은 하이 범위로부터 노드 ID들이 할당되어, 상기 제1 및 제2 세트의 다양한 경로들이 상기 네트워크의 에지에서 링크가 다양하게 되게 하는 통신 네트워크.
  19. 제16항에 있어서,
    상기 제2 링크 ID들을 구성하는 단계는, 링크들 각각의 노드 ID들 중 하나의 노드 ID에 동일한 인버전 함수를 적용하여 인버팅된 노드 ID들을 생성하는 단계를 포함하는 통신 네트워크.
  20. 제19항에 있어서,
    상기 제2 링크 ID들을 형성하는데 이용되는 상기 연결되고 순서화된 노드 ID들은 로우 노드 ID가 링크 ID의 최상위 비트들을 형성하며 하이 노드 ID가 링크 ID의 최하위 비트들을 형성하도록 순서화되고, 상기 인버전 함수는 상기 하이 노드 ID에 적용되는 통신 네트워크.
  21. 제16항에 있어서,
    통과 노드들의 노드 ID들은, 상기 통과 노드들이 상기 제1 및 제2 링크 ID들의 구성의 연속적인 반복들 동안에 순서대로 통과 포인트들이 되도록 관리적으로 할당되는 통신 네트워크.
  22. 제21항에 있어서,
    상기 통과 노드들의 관리적으로 할당된 노드 ID들을 매칭하도록 채택된 선택적 인버전 함수들은, 제1 및 제2 링크 ID들을 생성하는 단계, 제1 및 제2 경로 ID들을 생성하는 단계 및 상기 제1 및 제2 경로 ID들을 랭크하는 단계의 반복들 동안에 모든 노드 ID들에 순차적으로 적용되어, 상이한 경로들이 상기 반복들 동안에 순서대로 상기 네트워크 상의 각각의 할당된 통과 노드를 통해 선택되게 하는 통신 네트워크.
  23. 제22항에 있어서,
    상기 인버전 함수는 XOR 함수인 통신 네트워크.
KR20127009069A 2009-09-08 2010-09-08 복수의 동일 코스트 경로들 사이에서 선택하기 위한 방법 및 장치 KR20120100908A (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US24042009P 2009-09-08 2009-09-08
US61/240,420 2009-09-08
US24611009P 2009-09-26 2009-09-26
US61/246,110 2009-09-26
US12/574,872 2009-10-07
US12/574,872 US8248925B2 (en) 2009-09-08 2009-10-07 Method and apparatus for selecting between multiple equal cost paths

Publications (1)

Publication Number Publication Date
KR20120100908A true KR20120100908A (ko) 2012-09-12

Family

ID=43648527

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20127009069A KR20120100908A (ko) 2009-09-08 2010-09-08 복수의 동일 코스트 경로들 사이에서 선택하기 위한 방법 및 장치

Country Status (9)

Country Link
US (3) US8248925B2 (ko)
EP (2) EP2476226B1 (ko)
JP (1) JP5551253B2 (ko)
KR (1) KR20120100908A (ko)
CN (1) CN102804712B (ko)
CA (1) CA2773400A1 (ko)
ES (1) ES2527224T3 (ko)
IN (1) IN2012DN02332A (ko)
WO (1) WO2011029179A1 (ko)

Families Citing this family (184)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9456054B2 (en) 2008-05-16 2016-09-27 Palo Alto Research Center Incorporated Controlling the spread of interests and content in a content centric network
US8248925B2 (en) * 2009-09-08 2012-08-21 Rockstar Bidco, LP Method and apparatus for selecting between multiple equal cost paths
US8923293B2 (en) 2009-10-21 2014-12-30 Palo Alto Research Center Incorporated Adaptive multi-interface use for content networking
US9210071B2 (en) * 2010-08-16 2015-12-08 Telefonaktiebolaget L M Ericsson (Publ) Automated traffic engineering for fat tree networks
US8773992B2 (en) * 2010-10-11 2014-07-08 At&T Intellectual Property I, L.P. Methods and apparatus for hierarchical routing in communication networks
CN102546255B (zh) * 2012-01-11 2015-01-21 华为技术有限公司 一种网络路径组的管理、显示方法、装置及网管系统
US8982689B2 (en) 2012-04-20 2015-03-17 Telefonaktiebolaget L M Ericsson (Publ) Split tiebreakers for 802.1AQ
US8848509B2 (en) 2012-04-27 2014-09-30 Telefonaktiebolaget L M Ericsson (Publ) Three stage folded Clos optimization for 802.1aq
US10025877B2 (en) * 2012-06-06 2018-07-17 23Andme, Inc. Determining family connections of individuals in a database
US9049233B2 (en) 2012-10-05 2015-06-02 Cisco Technology, Inc. MPLS segment-routing
US9280546B2 (en) 2012-10-31 2016-03-08 Palo Alto Research Center Incorporated System and method for accessing digital content using a location-independent name
US9400800B2 (en) 2012-11-19 2016-07-26 Palo Alto Research Center Incorporated Data transport by named content synchronization
US9529785B2 (en) 2012-11-27 2016-12-27 Google Inc. Detecting relationships between edits and acting on a subset of edits
US10430839B2 (en) 2012-12-12 2019-10-01 Cisco Technology, Inc. Distributed advertisement insertion in content-centric networks
US10374938B1 (en) 2012-12-27 2019-08-06 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
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
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
US10419334B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Internet protocol routing methods, systems, and computer program products
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
US10404582B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using an outside-scope indentifier
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
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
US10476787B1 (en) 2012-12-27 2019-11-12 Sitting Man, Llc Routing methods, systems, and computer program products
US10587505B1 (en) 2012-12-27 2020-03-10 Sitting Man, Llc Routing methods, systems, and computer program products
US10397101B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products for mapping 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
US20150193089A1 (en) * 2013-01-15 2015-07-09 Google Inc. Dynamic presentation systems and methods
US9537718B2 (en) 2013-03-15 2017-01-03 Cisco Technology, Inc. Segment routing over label distribution protocol
US9978025B2 (en) 2013-03-20 2018-05-22 Cisco Technology, Inc. Ordered-element naming for name-based packet forwarding
US9935791B2 (en) 2013-05-20 2018-04-03 Cisco Technology, Inc. Method and system for name resolution across heterogeneous architectures
US9185120B2 (en) 2013-05-23 2015-11-10 Palo Alto Research Center Incorporated Method and system for mitigating interest flooding attacks in content-centric networks
US9444722B2 (en) 2013-08-01 2016-09-13 Palo Alto Research Center Incorporated Method and apparatus for configuring routing paths in a custodian-based routing architecture
US9971752B2 (en) 2013-08-19 2018-05-15 Google Llc Systems and methods for resolving privileged edits within suggested edits
US9348803B2 (en) 2013-10-22 2016-05-24 Google Inc. Systems and methods for providing just-in-time preview of suggestion resolutions
US9407549B2 (en) 2013-10-29 2016-08-02 Palo Alto Research Center Incorporated System and method for hash-based forwarding of packets with hierarchically structured variable-length identifiers
US9276840B2 (en) 2013-10-30 2016-03-01 Palo Alto Research Center Incorporated Interest messages with a payload for a named data network
US9282050B2 (en) 2013-10-30 2016-03-08 Palo Alto Research Center Incorporated System and method for minimum path MTU discovery in content centric networks
US9401864B2 (en) 2013-10-31 2016-07-26 Palo Alto Research Center Incorporated Express header for packets with hierarchically structured variable-length identifiers
US9311377B2 (en) 2013-11-13 2016-04-12 Palo Alto Research Center Incorporated Method and apparatus for performing server handoff in a name-based content distribution system
US10101801B2 (en) 2013-11-13 2018-10-16 Cisco Technology, Inc. Method and apparatus for prefetching content in a data stream
US10129365B2 (en) 2013-11-13 2018-11-13 Cisco Technology, Inc. Method and apparatus for pre-fetching remote content based on static and dynamic recommendations
US10089655B2 (en) 2013-11-27 2018-10-02 Cisco Technology, Inc. Method and apparatus for scalable data broadcasting
US9503358B2 (en) * 2013-12-05 2016-11-22 Palo Alto Research Center Incorporated Distance-based routing in an information-centric network
US9379979B2 (en) 2014-01-14 2016-06-28 Palo Alto Research Center Incorporated Method and apparatus for establishing a virtual interface for a set of mutual-listener devices
US10098051B2 (en) 2014-01-22 2018-10-09 Cisco Technology, Inc. Gateways and routing in software-defined manets
US10172068B2 (en) 2014-01-22 2019-01-01 Cisco Technology, Inc. Service-oriented routing in software-defined MANETs
US9374304B2 (en) 2014-01-24 2016-06-21 Palo Alto Research Center Incorporated End-to end route tracing over a named-data network
US9954678B2 (en) 2014-02-06 2018-04-24 Cisco Technology, Inc. Content-based transport security
US9531679B2 (en) 2014-02-06 2016-12-27 Palo Alto Research Center Incorporated Content-based transport security for distributed producers
US9678998B2 (en) 2014-02-28 2017-06-13 Cisco Technology, Inc. Content name resolution for information centric networking
US10089651B2 (en) 2014-03-03 2018-10-02 Cisco Technology, Inc. Method and apparatus for streaming advertisements in a scalable data broadcasting system
US9836540B2 (en) 2014-03-04 2017-12-05 Cisco Technology, Inc. System and method for direct storage access in a content-centric network
US9762488B2 (en) 2014-03-06 2017-09-12 Cisco Technology, Inc. Segment routing extension headers
US9391896B2 (en) 2014-03-10 2016-07-12 Palo Alto Research Center Incorporated System and method for packet forwarding using a conjunctive normal form strategy in a content-centric network
US9473405B2 (en) 2014-03-10 2016-10-18 Palo Alto Research Center Incorporated Concurrent hashes and sub-hashes on data streams
US9626413B2 (en) 2014-03-10 2017-04-18 Cisco Systems, Inc. System and method for ranking content popularity in a content-centric network
US9407432B2 (en) 2014-03-19 2016-08-02 Palo Alto Research Center Incorporated System and method for efficient and secure distribution of digital content
US9916601B2 (en) 2014-03-21 2018-03-13 Cisco Technology, Inc. Marketplace for presenting advertisements in a scalable data broadcasting system
US9363179B2 (en) 2014-03-26 2016-06-07 Palo Alto Research Center Incorporated Multi-publisher routing protocol for named data networks
US9363086B2 (en) 2014-03-31 2016-06-07 Palo Alto Research Center Incorporated Aggregate signing of data in content centric networking
US9716622B2 (en) 2014-04-01 2017-07-25 Cisco Technology, Inc. System and method for dynamic name configuration in content-centric networks
US9473576B2 (en) 2014-04-07 2016-10-18 Palo Alto Research Center Incorporated Service discovery using collection synchronization with exact names
US10075521B2 (en) 2014-04-07 2018-09-11 Cisco Technology, Inc. Collection synchronization using equality matched network names
US9390289B2 (en) 2014-04-07 2016-07-12 Palo Alto Research Center Incorporated Secure collection synchronization using matched network names
US9451032B2 (en) 2014-04-10 2016-09-20 Palo Alto Research Center Incorporated System and method for simple service discovery in content-centric networks
US9203885B2 (en) 2014-04-28 2015-12-01 Palo Alto Research Center Incorporated Method and apparatus for exchanging bidirectional streams over a content centric network
US9992281B2 (en) 2014-05-01 2018-06-05 Cisco Technology, Inc. Accountable content stores for information centric networks
US9609014B2 (en) 2014-05-22 2017-03-28 Cisco Systems, Inc. Method and apparatus for preventing insertion of malicious content at a named data network router
US9455835B2 (en) 2014-05-23 2016-09-27 Palo Alto Research Center Incorporated System and method for circular link resolution with hash-based names in content-centric networks
US9276751B2 (en) 2014-05-28 2016-03-01 Palo Alto Research Center Incorporated System and method for circular link resolution with computable hash-based names in content-centric networks
US9467377B2 (en) 2014-06-19 2016-10-11 Palo Alto Research Center Incorporated Associating consumer states with interests in a content-centric network
US9516144B2 (en) 2014-06-19 2016-12-06 Palo Alto Research Center Incorporated Cut-through forwarding of CCNx message fragments with IP encapsulation
US9537719B2 (en) 2014-06-19 2017-01-03 Palo Alto Research Center Incorporated Method and apparatus for deploying a minimal-cost CCN topology
US9426113B2 (en) 2014-06-30 2016-08-23 Palo Alto Research Center Incorporated System and method for managing devices over a content centric network
US9699198B2 (en) 2014-07-07 2017-07-04 Cisco Technology, Inc. System and method for parallel secure content bootstrapping in content-centric networks
US9959156B2 (en) 2014-07-17 2018-05-01 Cisco Technology, Inc. Interest return control message
US9621354B2 (en) 2014-07-17 2017-04-11 Cisco Systems, Inc. Reconstructable content objects
US9807001B2 (en) 2014-07-17 2017-10-31 Cisco Technology, Inc. Segment routing using a remote forwarding adjacency identifier
US9590887B2 (en) 2014-07-18 2017-03-07 Cisco Systems, Inc. Method and system for keeping interest alive in a content centric network
US9729616B2 (en) 2014-07-18 2017-08-08 Cisco Technology, Inc. Reputation-based strategy for forwarding and responding to interests over a content centric network
US9535968B2 (en) 2014-07-21 2017-01-03 Palo Alto Research Center Incorporated System for distributing nameless objects using self-certifying names
US9882964B2 (en) 2014-08-08 2018-01-30 Cisco Technology, Inc. Explicit strategy feedback in name-based forwarding
US9729662B2 (en) 2014-08-11 2017-08-08 Cisco Technology, Inc. Probabilistic lazy-forwarding technique without validation in a content centric network
US9503365B2 (en) 2014-08-11 2016-11-22 Palo Alto Research Center Incorporated Reputation-based instruction processing over an information centric network
US9391777B2 (en) 2014-08-15 2016-07-12 Palo Alto Research Center Incorporated System and method for performing key resolution over a content centric network
US9800637B2 (en) 2014-08-19 2017-10-24 Cisco Technology, Inc. System and method for all-in-one content stream in content-centric networks
US9467492B2 (en) 2014-08-19 2016-10-11 Palo Alto Research Center Incorporated System and method for reconstructable all-in-one content stream
US9497282B2 (en) 2014-08-27 2016-11-15 Palo Alto Research Center Incorporated Network coding for content-centric network
US10204013B2 (en) 2014-09-03 2019-02-12 Cisco Technology, Inc. System and method for maintaining a distributed and fault-tolerant state over an information centric network
US9553812B2 (en) 2014-09-09 2017-01-24 Palo Alto Research Center Incorporated Interest keep alives at intermediate routers in a CCN
US10069933B2 (en) 2014-10-23 2018-09-04 Cisco Technology, Inc. System and method for creating virtual interfaces based on network characteristics
US9590948B2 (en) 2014-12-15 2017-03-07 Cisco Systems, Inc. CCN routing using hardware-assisted hash tables
US9536059B2 (en) 2014-12-15 2017-01-03 Palo Alto Research Center Incorporated Method and system for verifying renamed content using manifests in a content centric network
US10237189B2 (en) 2014-12-16 2019-03-19 Cisco Technology, Inc. System and method for distance-based interest forwarding
US9846881B2 (en) 2014-12-19 2017-12-19 Palo Alto Research Center Incorporated Frugal user engagement help systems
US10003520B2 (en) 2014-12-22 2018-06-19 Cisco Technology, Inc. System and method for efficient name-based content routing using link-state information in information-centric networks
US9473475B2 (en) 2014-12-22 2016-10-18 Palo Alto Research Center Incorporated Low-cost authenticated signing delegation in content centric networking
US10243832B2 (en) 2014-12-23 2019-03-26 Industrial Technology Research Institute Routing message delivery method applicable to network node and network node using the same and communication network using the same
US9660825B2 (en) 2014-12-24 2017-05-23 Cisco Technology, Inc. System and method for multi-source multicasting in content-centric networks
US9954795B2 (en) 2015-01-12 2018-04-24 Cisco Technology, Inc. Resource allocation using CCN manifests
US9916457B2 (en) 2015-01-12 2018-03-13 Cisco Technology, Inc. Decoupled name security binding for CCN objects
US9602596B2 (en) 2015-01-12 2017-03-21 Cisco Systems, Inc. Peer-to-peer sharing in a content centric network
US9946743B2 (en) 2015-01-12 2018-04-17 Cisco Technology, Inc. Order encoded manifests in a content centric network
US9832291B2 (en) 2015-01-12 2017-11-28 Cisco Technology, Inc. Auto-configurable transport stack
US9832085B1 (en) * 2015-01-20 2017-11-28 Mehdi Malboubi System for estimating unknown attributes of interest in the under-determined inverse problem and a process of accomplishing the same
US9462006B2 (en) 2015-01-21 2016-10-04 Palo Alto Research Center Incorporated Network-layer application-specific trust model
US9552493B2 (en) 2015-02-03 2017-01-24 Palo Alto Research Center Incorporated Access control framework for information centric networking
US10333840B2 (en) 2015-02-06 2019-06-25 Cisco Technology, Inc. System and method for on-demand content exchange with adaptive naming in information-centric networks
EP3247077B1 (en) * 2015-02-12 2019-07-31 Huawei Technologies Co., Ltd. Path selection method, device and system
US10341221B2 (en) 2015-02-26 2019-07-02 Cisco Technology, Inc. Traffic engineering for bit indexed explicit replication
US10075401B2 (en) 2015-03-18 2018-09-11 Cisco Technology, Inc. Pending interest table behavior
US10116605B2 (en) 2015-06-22 2018-10-30 Cisco Technology, Inc. Transport stack name scheme and identity management
US10075402B2 (en) 2015-06-24 2018-09-11 Cisco Technology, Inc. Flexible command and control in content centric networks
US10701038B2 (en) 2015-07-27 2020-06-30 Cisco Technology, Inc. Content negotiation in a content centric network
US9986034B2 (en) 2015-08-03 2018-05-29 Cisco Technology, Inc. Transferring state in content centric network stacks
US10610144B2 (en) 2015-08-19 2020-04-07 Palo Alto Research Center Incorporated Interactive remote patient monitoring and condition management intervention system
US9832123B2 (en) 2015-09-11 2017-11-28 Cisco Technology, Inc. Network named fragments in a content centric network
US10355999B2 (en) 2015-09-23 2019-07-16 Cisco Technology, Inc. Flow control with network named fragments
US9977809B2 (en) 2015-09-24 2018-05-22 Cisco Technology, Inc. Information and data framework in a content centric network
US10313227B2 (en) 2015-09-24 2019-06-04 Cisco Technology, Inc. System and method for eliminating undetected interest looping in information-centric networks
US10454820B2 (en) 2015-09-29 2019-10-22 Cisco Technology, Inc. System and method for stateless information-centric networking
US10263965B2 (en) 2015-10-16 2019-04-16 Cisco Technology, Inc. Encrypted CCNx
US9794238B2 (en) 2015-10-29 2017-10-17 Cisco Technology, Inc. System for key exchange in a content centric network
US10009446B2 (en) 2015-11-02 2018-06-26 Cisco Technology, Inc. Header compression for CCN messages using dictionary learning
US9807205B2 (en) 2015-11-02 2017-10-31 Cisco Technology, Inc. Header compression for CCN messages using dictionary
US10021222B2 (en) 2015-11-04 2018-07-10 Cisco Technology, Inc. Bit-aligned header compression for CCN messages using dictionary
US10097521B2 (en) 2015-11-20 2018-10-09 Cisco Technology, Inc. Transparent encryption in a content centric network
US9912776B2 (en) 2015-12-02 2018-03-06 Cisco Technology, Inc. Explicit content deletion commands in a content centric network
US10097346B2 (en) 2015-12-09 2018-10-09 Cisco Technology, Inc. Key catalogs in a content centric network
US10078062B2 (en) 2015-12-15 2018-09-18 Palo Alto Research Center Incorporated Device health estimation by combining contextual information with sensor data
US10257271B2 (en) 2016-01-11 2019-04-09 Cisco Technology, Inc. Chandra-Toueg consensus in a content centric network
US9949301B2 (en) 2016-01-20 2018-04-17 Palo Alto Research Center Incorporated Methods for fast, secure and privacy-friendly internet connection discovery in wireless networks
US10305864B2 (en) 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network
US10043016B2 (en) 2016-02-29 2018-08-07 Cisco Technology, Inc. Method and system for name encryption agreement in a content centric network
US10742596B2 (en) 2016-03-04 2020-08-11 Cisco Technology, Inc. Method and system for reducing a collision probability of hash-based names using a publisher identifier
US10003507B2 (en) 2016-03-04 2018-06-19 Cisco Technology, Inc. Transport session state protocol
US10051071B2 (en) 2016-03-04 2018-08-14 Cisco Technology, Inc. Method and system for collecting historical network information in a content centric network
US10038633B2 (en) 2016-03-04 2018-07-31 Cisco Technology, Inc. Protocol to query for historical network information in a content centric network
US9832116B2 (en) 2016-03-14 2017-11-28 Cisco Technology, Inc. Adjusting entries in a forwarding information base in a content centric network
US10212196B2 (en) 2016-03-16 2019-02-19 Cisco Technology, Inc. Interface discovery and authentication in a name-based network
US10067948B2 (en) 2016-03-18 2018-09-04 Cisco Technology, Inc. Data deduping in content centric networking manifests
US11436656B2 (en) 2016-03-18 2022-09-06 Palo Alto Research Center Incorporated System and method for a real-time egocentric collaborative filter on large datasets
US10091330B2 (en) 2016-03-23 2018-10-02 Cisco Technology, Inc. Interest scheduling by an information and data framework in a content centric network
US10033639B2 (en) 2016-03-25 2018-07-24 Cisco Technology, Inc. System and method for routing packets in a content centric network using anonymous datagrams
US10320760B2 (en) 2016-04-01 2019-06-11 Cisco Technology, Inc. Method and system for mutating and caching content in a content centric network
US9930146B2 (en) 2016-04-04 2018-03-27 Cisco Technology, Inc. System and method for compressing content centric networking messages
US10425503B2 (en) 2016-04-07 2019-09-24 Cisco Technology, Inc. Shared pending interest table in a content centric network
US10027578B2 (en) 2016-04-11 2018-07-17 Cisco Technology, Inc. Method and system for routable prefix queries in a content centric network
US10404450B2 (en) 2016-05-02 2019-09-03 Cisco Technology, Inc. Schematized access control in a content centric network
US10320675B2 (en) 2016-05-04 2019-06-11 Cisco Technology, Inc. System and method for routing packets in a stateless content centric network
US10547589B2 (en) 2016-05-09 2020-01-28 Cisco Technology, Inc. System for implementing a small computer systems interface protocol over a content centric network
US10116526B2 (en) * 2016-05-13 2018-10-30 Ivanti, Inc. Systems and methods for providing a self-electing service
US10063414B2 (en) 2016-05-13 2018-08-28 Cisco Technology, Inc. Updating a transport stack in a content centric network
US10084764B2 (en) 2016-05-13 2018-09-25 Cisco Technology, Inc. System for a secure encryption proxy in a content centric network
DE112016006749T5 (de) 2016-05-16 2019-01-03 Mitsubishi Electric Corporation Übertragungseinrichtung, Anpassungseinrichtung und Parameteranpassungsverfahren
US10263881B2 (en) 2016-05-26 2019-04-16 Cisco Technology, Inc. Enforcing strict shortest path forwarding using strict segment identifiers
US10103989B2 (en) 2016-06-13 2018-10-16 Cisco Technology, Inc. Content object return messages in a content centric network
US10305865B2 (en) 2016-06-21 2019-05-28 Cisco Technology, Inc. Permutation-based content encryption with manifests in a content centric network
US10148572B2 (en) 2016-06-27 2018-12-04 Cisco Technology, Inc. Method and system for interest groups in a content centric network
US10009266B2 (en) 2016-07-05 2018-06-26 Cisco Technology, Inc. Method and system for reference counted pending interest tables in a content centric network
US9992097B2 (en) 2016-07-11 2018-06-05 Cisco Technology, Inc. System and method for piggybacking routing information in interests in a content centric network
US10122624B2 (en) 2016-07-25 2018-11-06 Cisco Technology, Inc. System and method for ephemeral entries in a forwarding information base in a content centric network
US10069729B2 (en) 2016-08-08 2018-09-04 Cisco Technology, Inc. System and method for throttling traffic based on a forwarding information base in a content centric network
US10956412B2 (en) 2016-08-09 2021-03-23 Cisco Technology, Inc. Method and system for conjunctive normal form attribute matching in a content centric network
US10274331B2 (en) 2016-09-16 2019-04-30 Polaris Industries Inc. Device and method for improving route planning computing devices
US10033642B2 (en) 2016-09-19 2018-07-24 Cisco Technology, Inc. System and method for making optimal routing decisions based on device-specific parameters in a content centric network
US10212248B2 (en) 2016-10-03 2019-02-19 Cisco Technology, Inc. Cache management on high availability routers in a content centric network
US10447805B2 (en) 2016-10-10 2019-10-15 Cisco Technology, Inc. Distributed consensus in a content centric network
US10135948B2 (en) 2016-10-31 2018-11-20 Cisco Technology, Inc. System and method for process migration in a content centric network
US10243851B2 (en) 2016-11-21 2019-03-26 Cisco Technology, Inc. System and method for forwarder connection information in a content centric network
CN106789643B (zh) * 2016-11-30 2019-05-31 中国人民解放军国防科学技术大学 一种适用于园区网的扁平单播路由方法
CN110798332B (zh) * 2018-08-03 2022-09-06 Emc Ip控股有限公司 用于搜索目录访问组的方法和系统
US11240355B2 (en) 2019-05-17 2022-02-01 Arista Networks, Inc. Platform agnostic abstraction for forwarding equivalence classes with hierarchy
CN116233950A (zh) * 2019-08-15 2023-06-06 华为技术有限公司 一种路由方法及装置
US11536573B2 (en) 2019-09-03 2022-12-27 Here Global B.V. Method, apparatus, and computer program product for generating correspondence between map versions
US11112251B2 (en) 2019-09-03 2021-09-07 Here Global B.V. Method, apparatus, and computer program product for generating correspondence between map versions
US11140074B2 (en) 2019-09-24 2021-10-05 Cisco Technology, Inc. Communicating packets across multi-domain networks using compact forwarding instructions
US11411855B1 (en) * 2020-06-30 2022-08-09 Amazon Technologies, Inc. Computation of ranked path options in networks
JP7409503B2 (ja) * 2020-07-01 2024-01-09 日本電信電話株式会社 パス設定システム、制御装置、プログラムおよびパス設定方法
US11700201B2 (en) * 2021-07-26 2023-07-11 Arista Networks, Inc. Mechanism to enforce consistent next hops in a multi-tier network
US11632323B2 (en) * 2021-08-18 2023-04-18 Microsoft Technology Licensing, Llc Routing information exchange between separate networks to improve end-to-end network performance for users
CN114296445B (zh) * 2021-11-26 2024-03-29 山东大学 基于回环路网随机树的最优路径实时规划方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633544B1 (en) 1998-06-24 2003-10-14 At&T Corp. Efficient precomputation of quality-of-service routes
WO2001024111A1 (en) * 1999-09-30 2001-04-05 Routech, Inc. Automatic routing system for pc board design
US6728779B1 (en) * 1999-12-01 2004-04-27 Lucent Technologies Inc. Method and apparatus for exchanging routing information in a packet-based data network
US6928484B1 (en) * 2000-01-18 2005-08-09 Cisco Technology, Inc. Method and apparatus for discovering edge-disjoint shortest path pairs during shortest path tree computation
JP2002359636A (ja) * 2001-05-31 2002-12-13 Nec Corp 経路ペア設計方法、経路ペア設計装置及びプログラム
US7046634B2 (en) 2002-04-15 2006-05-16 Tropic Networks Inc. Method and apparatus for selecting maximally disjoint shortest paths in a network
US20040032832A1 (en) 2002-07-30 2004-02-19 Snehal Desai System and method for determining the shortest path between a pair of nodes in an equal cost network
WO2005036839A2 (en) * 2003-10-03 2005-04-21 Avici Systems, Inc. Rapid alternate paths for network destinations
US7903573B2 (en) * 2006-02-01 2011-03-08 Cisco Technology, Inc. Method and system for network traffic matrix analysis
US8374092B2 (en) * 2006-08-28 2013-02-12 Cisco Technology, Inc. Technique for protecting against failure of a network element using multi-topology repair routing (MTRR)
US8094555B2 (en) * 2006-11-27 2012-01-10 Cisco Technology, Inc. Dynamic weighted-fair load-balancing
US8014291B2 (en) * 2006-11-28 2011-09-06 Cisco Technology, Inc. Relaxed constrained shortest path first (R-CSPF)
US8953486B2 (en) * 2007-11-09 2015-02-10 Cisco Technology, Inc. Global auto-configuration of network devices connected to multipoint virtual connections
US7911944B2 (en) * 2007-12-26 2011-03-22 Nortel Networks Limited Tie-breaking in shortest path determination
US8565247B2 (en) * 2009-08-19 2013-10-22 Brocade Communications Systems, Inc. Techniques for efficiently updating routing information upon shortest path tree computation
US8248925B2 (en) * 2009-09-08 2012-08-21 Rockstar Bidco, LP Method and apparatus for selecting between multiple equal cost paths
US20110216769A1 (en) * 2010-03-08 2011-09-08 Brocade Communications Systems, Inc. Dynamic Path Selection

Also Published As

Publication number Publication date
JP5551253B2 (ja) 2014-07-16
ES2527224T3 (es) 2015-01-21
CA2773400A1 (en) 2011-03-17
EP2793435A1 (en) 2014-10-22
JP2013504272A (ja) 2013-02-04
EP2476226A1 (en) 2012-07-18
US20140286334A1 (en) 2014-09-25
EP2476226A4 (en) 2013-04-24
US20110060844A1 (en) 2011-03-10
CN102804712A (zh) 2012-11-28
IN2012DN02332A (ko) 2015-08-21
US20120307832A1 (en) 2012-12-06
US8248925B2 (en) 2012-08-21
WO2011029179A1 (en) 2011-03-17
CN102804712B (zh) 2015-05-27
EP2476226B1 (en) 2014-11-26
US8750820B2 (en) 2014-06-10

Similar Documents

Publication Publication Date Title
US8248925B2 (en) Method and apparatus for selecting between multiple equal cost paths
US11671329B2 (en) Computation of network flooding topologies
US9246810B2 (en) Hash-based load balancing with per-hop seeding
TWI493926B (zh) 複雜型樹狀網路之自動化訊務工程
JP6117911B2 (ja) 802.1aqのための3段折り返しclosの最適化
KR101809779B1 (ko) 타이-브레이킹 메커니즘에의 피드백으로서의 링크 사용률의 이용에 기초한 802.1aq에 대한 자동화된 트래픽 엔지니어링
WO2015090240A1 (en) Source routing with entropy-header
KR20100112144A (ko) 최단 경로 결정시의 타이브레이킹
US9654382B2 (en) Use of alternate paths in forwarding of network packets
KR20150030644A (ko) 최단 경로 결정에서의 타이 브레이킹
KR20140059160A (ko) 동일 비용 다중 경로 패킷 스위칭 네트워크들을 위한 다음 홉 계산 함수들
US20230396546A1 (en) Increasing multi-path size using hierarchical forwarding equivalent classes
US10218538B1 (en) Hybrid Clos-multidimensional topology for data center networks
CN115914234A (zh) 负载均衡的哈希算法信息的确定方法、装置及存储介质
Singh Performance evaluation of different routing algorithms in network on chip
CN114827008A (zh) 一种最短路径的确定方法以及相关设备
Mubeen et al. On source routing for mesh topology network on chip
Kanagavelu et al. Adaptive routing for layer-2 load balancing in data center networks

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid