KR20150016328A - 데이터 유닛을 라우팅하기 위한 방법 및 컴퓨터 프로그램 제품 - Google Patents

데이터 유닛을 라우팅하기 위한 방법 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR20150016328A
KR20150016328A KR20147035173A KR20147035173A KR20150016328A KR 20150016328 A KR20150016328 A KR 20150016328A KR 20147035173 A KR20147035173 A KR 20147035173A KR 20147035173 A KR20147035173 A KR 20147035173A KR 20150016328 A KR20150016328 A KR 20150016328A
Authority
KR
South Korea
Prior art keywords
node
address
hop
data unit
routing
Prior art date
Application number
KR20147035173A
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 KR20150016328A publication Critical patent/KR20150016328A/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/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data 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/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • 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

Abstract

노드들(101, 102, 103, 104, 105, 106, 10i,...,10N)의 체인을 통해 데이터 유닛을 라우팅하기 위해, 노드들은 체인 내 노드들이 나타나는 하나의 방향으로 증가하는 어드레스(1, 2, 3, 4, 5, 6, i, N)를 할당받는다. 데이터 유닛을 라우팅하기 위해, 수신 노드(103)는 우선 데이터 유닛의 목적지 어드레스가 자신의 제 1 홉 이웃(102, 104) 또는 자신의 제 2 홉 이웃(101, 105)의 어드레스(2, 4, 1, 5)에 대응하는지 여부를 확인하고, 대응하는 경우에 노드(103)는 자신의 제 1 홉 이웃(102, 104) 또는 자신의 제 2 홉 이웃(101, 105)에 직접 데이터 유닛을 라우팅한다. 그렇지 않다면, 노드(103)는 자신의 어드레스(3)와 데이터 유닛의 목적지 어드레스 사이의 차이, 또는 데이터 유닛의 목적지 어드레스와 소스 어드레스 사이의 차이를 결정하고, 그 차이의 부호에 따라 라우팅 방향을 선택하고, 차이의 크기가 임계값 미만인 경우에는 제 1 홉 링크(132, 134)를 선택하거나 차이가 임계값을 초과하는 경우에는 제 2 홉 링크(131, 135)를 선택한다.

Description

데이터 유닛을 라우팅하기 위한 방법 및 컴퓨터 프로그램 제품{A METHOD AND COMPUTER PROGRAM PRODUCTS FOR ROUTING A DATA UNIT}
본 발명은 전반적으로 네트워크의 노드를 통한, 일반적으로 데이터 유닛이라 지칭되는, 데이터 프레임, 데이터 셀, 데이터 패킷 등의 라우팅에 관한 것이다. 특히, 본 발명은 1차원 토폴로지(one-dimensional topology)를 갖는 네트워크, 예를 들어, 멀티 홉 백플레인(a multi-hop backplane)에서 적용될 수 있는 효율적인 라우팅 메커니즘에 관한 것이다.
1차원 토폴로지를 갖는 네트워크에서, 노드들은 연결되어 체인을 형성한다. 전형적으로, 각각의 노드는 이른바 제 1 홉 연결을 통해 체인 내의 노드 자신의 두 개의 직계 이웃(direct two neighbours)에 연결될 것이다. 또한, 각각의 노드는 이른바 제 2 홉 연결을 통해 자신의 직계 이웃의 이웃에 연결될 수 있다. 각각의 노드는 고유 어드레스 또는 신원을 가질 것이다. 데이터 유닛에 대한 특정 소스 어드레스(source address) 및 목적지 어드레스(destination address)가 주어지면, 데이터 유닛이 소스로부터 목적지까지 라우팅될 수 있는 복수의 경로가 존재한다. 소스로부터 목적지까지 가능한 루트의 개수는 전형적으로 네트워크 내 노드의 개수에 따라 지수적으로 스케일링된다. 따라서, 소스와 목적지 사이의 최적 경로를 수립하는 것이 기술적 과제이다.
소스 어드레스를 갖는 소스 노드로부터 목적지 어드레스를 갖는 목적지 노드로 데이터 유닛을 라우팅하는 기존 메커니즘은 거리-벡터 라우팅 프로토콜(distance-vector routing protocol) 및 링크-상태 라우팅 프로토콜(link-state routing protocol)을 포함한다.
거리-벡터 라우팅 프로토콜에 따르면, 각각의 노드는 모든 다른 노드로의 최소 거리에 관한 벡터 테이블을 유지한다. 본 문맥에서의 거리는 넓은 의미로 해석되어야 하며 일반적으로 목적지 노드에 도달하기 위한 비용, 예를 들어, 홉의 양, 지연, 이용가능한 대역폭 등을 나타낸다. 주기적으로, 각각의 노드는 자신의 라우팅 테이블의 전부 또는 일부를 자신의 이웃들에게 분배한다. 데이터 유닛의 수신 시, 수신 노드(receiving node)는 목적지로의 최소 거리를 갖는 루트, 및 그 결과에 따라 데이터 유닛을 다음 노드에 전송하기 위해 사용될 방향(또는 출구 인터페이스(exit interface))을 결정한다. 거리-벡터 라우팅 프로토콜에 관한 더 많은 세부사항은 URL: http://en.wikipedia.org/wiki/Distance-vector_routing_protocol를 통해 Wikipedia에서 검색가능하다.
링크-상태 라우팅 프로토콜에 따르면, 각각의 노드는 그래프의 형태로 나머지 네트워크에 대한 연결성 맵(a connectivity map)을 유지한다. 노드들이 공유한 정보만이 관련 연결성인데, 즉, 각각의 노드가 네트워크에게 자신의 이웃에 대하여 알리며, 이 정보는 각각의 노드로 하여금 어느 노드가 어느 다른 노드에 연결될지를 독립적으로 결정하게 한다. 데이터 유닛의 수신 시, 수신 노드는 데이터 유닛의 목적지로의 최상의 논리 경로(logical path)를 결정할 수 있고, 이로부터 데이터 유닛을 전송하기 위한 출구 인터페이스를 도출할 수 있다. 링크-상태 라우팅 프로토콜에 관한 더 많은 세부사항은 URL: http://en.wikipedia.org/wiki/Link-state_routing_protocol을 통해 Wikipedia에서 검색가능하다.
거리-벡터 라우팅 프로토콜 및 링크-상태 라우팅 프로토콜 모두 라우팅 테이블의 구성 및 유지를 위한 광범위한 정보 교환을 요구한다. 이러한 라우팅 테이블을 저장하기 위한 메모리 요구사항, 이러한 라우팅 테이블의 유지의 결과인 오버헤드, 및 다음 홉을 결정할 때 이러한 라우팅 테이블을 검색하는데 필요한 시간은 네트워크 크기에 비례하여 증가한다. 특히, 네트워크 토폴로지가, 1차원 네트워크 토폴로지를 갖는 경우와 같이, 제한을 도입하는 경우에 기존 라우팅 메커니즘의 복잡성이 너무 높다.
본 발명의 목적은 앞서 정의된 기존 라우팅 프로토콜의 결점을 극복하는, 데이터 유닛을 라우팅하기 위한 방법 및 컴퓨터 프로그램 제품을 개시하는 것이다. 특히, 본 발명의 목적은 상이한 노드에서의 라우팅 테이블의 유지 및 구성을 피하고 데이터 유닛을 라우팅하는데 필요한 시간을 상당히 감소시키는, 1차원 네트워크에서의 라우팅을 위한 방법 및 컴퓨터 프로그램 제품을 교시하는 것이다. 다른 목적은 1차원 토폴로지를 갖는 네트워크 내 노드들에 대한 메모리 요구사항을 감소시키는 것 및 그러한 메모리 요구사항이 네트워크 크기에 의존하지 않게 하는 것이다. 또 다른 목적은 1차원 토폴로지를 갖는 네트워크에서 소스로부터 목적지로 데이터 유닛을 라우팅하기 위한 전반적인 복잡성을 감소시키는 것이다.
본 발명에 따라, 앞서 정의된 목적들은, 노드들의 체인을 통해 데이터 유닛을 라우팅하기 위한 데이터 프로세싱 시스템을 노드에서 동작시키는 청구항 1의 방법 ― 각각의 노드는 제 1 홉 링크를 통해 자신의 제 1 홉 이웃(first hop neighbours)에 연결되고, 각각의 노드는 제 2 홉 링크를 통해 자신의 제 2 홉 이웃에 연결되고, 노드들은 체인 내에서 노드들이 나타나는 하나의 방향으로 증가하는 고유 어드레스를 할당받음 ― 에 의해 실현되며, 상기 방법은,
A. 상기 노드에서, 데이터 유닛의 목적지 어드레스(a destination address)가 노드의 제 1 홉 이웃의 어드레스 또는 제 2 홉 이웃의 어드레스에 대응하는지 여부를 확인(verifying)하는 단계와,
B. 목적지 어드레스가 제 1 홉 이웃 또는 제 2 홉 이웃의 어드레스에 각각 대응하는 경우, 상기 노드에 의해 데이터 유닛을 제 1 홉 이웃 또는 제 2 홉 이웃에 직접 라우팅하는 단계, 또는
C1. 목적지 어드레스와 노드의 어드레스 사이의 차이 또는 목적지 어드레스와 데이터 유닛의 기점 어드레스(an origin address) 사이의 차이를 상기 노드에서 결정하는 단계와,
C2. 상기 노드에 의해, 차이의 부호(sign)에 따라 라우팅 방향을 선택하는 단계와,
C3. 상기 노드에 의해 차이의 크기(magnitude)가 임계값 미만인 경우 제 1 홉 링크를 선택하거나, 차이의 크기가 임계값을 초과하는 경우 제 2 홉 링크를 선택하는 단계와,
C4. 선택된 바에 따라 제 1 홉 링크 또는 제 2 홉 링크를 통해 라우팅 방향으로 데이터 유닛을 라우팅하는 단계를 포함한다.
따라서, 본 발명에 따른 방법은 1차원 네트워크의 토폴로지 정보를 노드들의 어드레싱 체계 상에 부여함으로써 라우팅 복잡성을 해결한다. 실제로, 그러한 1차원 네트워크에서, 노드들은 체인을 형성하고, 노드들은 왼쪽에서 오른쪽으로(또는 오른쪽에서 왼쪽으로) 오름차순으로 어드레싱될 수 있다. 그러한 어드레싱 체계의 결과로서, 노드가 수신한 데이터 유닛에 대한 라우팅 결정은, 데이터 유닛의 목적지 어드레스 및 소스 어드레스에 기초하거나 데이터 유닛을 수신하는 노드의 어드레스 및 데이터 유닛의 목적지 어드레스에 기초하여 노드에 의해 개별적으로 실시될 수 있다. 라우팅 테이블을 구성 및 유지하는 것이 더 이상 필요하지 않고, 노드들은 기존 라우팅 프로토콜에서 요구되는 연결성 또는 거리 정보를 공유하지 않아도 된다. 이는 오버헤드를 상당히 감소시킨다. 본 발명에 따른 라우팅 결정은 데이터 유닛의 소스 어드레스와 목적지 어드레스 사이의 차이를 계산함으로써 또는 라우팅 결정을 하는 노드의 어드레스와 목적지 어드레스 사이의 차이를 계산함으로써 빨라질 수 있다. 그러한 차이의 부호는 체인 내에서 데이터 유닛을 전송할 방향을 결정할 것이지만, 그 차이의 크기(magnitude)는 제 1 홉 또는 제 2 홉 연결이 데이터 패킷을 전송하는데 사용될 것인지 여부를 결정할 것이다. 라우팅 결정을 하는데 어떤 테이블 검색(table lookup)도 필요하지 않으며, 이로 인해 복잡성, 메모리 및 프로세싱 요구사항을 감소시킨다.
청구항 2에 정의되는 바와 같이, 본 발명에 따른 방법은,
목적지 어드레스가 노드의 어드레스에 대응하는지 여부를 확인하는 단계와,
목적지 어드레스가 노드의 어드레스에 대응하는 경우, 노드에 의한 프로세싱을 위해 체인으로부터 데이터 유닛을 회수하는(withdrawing) 단계를 더 포함한다.
따라서, 데이터 유닛을 수신하는 현재 노드가 목적지 노드인 경우, 노드는 프로세싱을 위해 네트워크로부터 데이터 유닛을 추출할 것이다.
청구항 3에 정의된, 본 발명에 따른 방법의 선택적인 양태에 따라, 임계값은 체인의 길이의 함수 또는 시스템 요구사항의 함수로 결정된다.
실제로, 제 1 홉 연결 또는 제 2 홉 연결이 사용될 것인지 여부를 결정하는 기준으로 사용되는 임계값은 바람직하게 네트워크의 크기에 따라 달라지며, 또한 시스템 요구사항, 예를 들어, 최소 레이턴시, 최대 처리량에 기초하여 결정될 수 있다. 임계값은 시스템 시작시에 또는 토폴로지 업테이트 후에, 예를 들어, 노드의 제거 또는 삽입 후에, 네트워크 내 각각의 노드에 부여될 수 있다. 임계값은 동적으로, 예를 들어, 변화하는 트래픽 흐름에 기초하여 변경될 수 있다.
또한 선택적으로, 청구항 4에 정의된 바와 같이, 노드들의 체인은 백플레인 시스템의 일부를 형성할 수 있다.
실제로, 고속 백플레인 시스템과 같은 소정의 애플리케이션에서, 높은 메모리 및 오버헤드 요구사항을 갖는 복잡한 라우팅 프로토콜 및 시간 소모가 많으며 프로세싱 집약적인 라우팅 알고리즘은 용인되지 않는다. 그러한 애플리케이션에서, 본 발명에 따라 네트워크의 토폴로지의 이점을 취하는, 최소 복잡성을 갖는 라우팅은 이점이 있다.
청구항 5에 정의된 바와 같이, 차이가 목적지 어드레스와 데이터 유닛의 기점 어드레스 사이에서 계산되는 본 발명의 일 실시예에서, 본 방법은,
선택된 라우팅 방향을 표시하는 제 1 비트를 데이터 유닛에 추가하는 단계와,
제 1 홉 링크 또는 제 2 홉 링크의 선택을 표시하는 제 2 비트를 데이터 유닛에 추가하는 단계를 더 포함한다.
실제로, 라우팅을 위한 기준이 데이터 유닛의 소스 어드레스와 목적지 어드레스 사이의 차이에 기초하는 경우, 라우팅 결정은 소스 노드에서 한번 실시되고 데이터 유닛에(예를 들어, 데이터 유닛의 헤더에) 추가된 2개의 비트를 통해 다른 노드들에 전달될 수 있다. 제 1 비트는 방향 선택을 나타내지만, 제 2 비트는 긴/짧은 경로 선택을 나타낸다. 소스 노드는 차이의 크기 및 부호를 확인하고, 결정하고 대응하는 2개의 비트를 헤더에 추가하거나 변경한다. 이와 같이, 중간 노드들은 데이터 유닛을 전송할 곳을 결정하기 위해 헤더 내 대응 비트를 확인만 하면 되고, 이는 라우팅 절차를 더 간소화할 수 있다.
청구항 1에 정의된 바와 같은 컴퓨터 구현 방법 외에, 본 발명은 그러한 방법을 실행하기 위한 수단을 포함하는 대응하는 데이터 프로세싱 시스템에 관한 것이다. 그러한 데이터 프로세싱 시스템은 청구항 6에 의해 정의된다.
또한, 청구항 7 및 8에 나타낸 바와 같이, 본 발명은 방법을 수행하도록 구성된 소프트웨어 코드를 포함하는 대응 컴퓨터 프로그램 및 그러한 컴퓨터 프로그램을 포함하는 컴퓨터 판독가능 저장 매체에 관한 것이다.
도 1은 노드들이 본 발명에 따른 라우팅 방법의 실시예를 구현하는 1차원 토폴로지를 갖는 네트워크를 도시한다.
도 2는 도 1의 노드들에 의해 적용되는 본 발명에 따른 라우팅 방법의 일 실시예를 도시하는 흐름도이다.
도 1은 체인 토폴로지에 배치된 네트워크를 도시한다. 각각의 노드, 즉, 101, 102, 103, 104, 105, 106,..., 10i,... 10N는 자신의 직계 이웃 및 자신의 이웃의 이웃에 연결된다. 각각의 노드는 고유 어드레스를 할당받는다. 도 1의 특정 실시예에서, 어드레스 할당은 왼쪽에서 오른쪽으로 오름차순이며, 즉, 노드 101은 어드레스 1을 할당받고, 노드 102는 어드레스 2를 할당받고, 노드 103은 어드레스 3을 할당받고, 노드 104는 어드레스 4를 할당받고, 노드 105는 어드레스 5를 할당받고, 노드 106은 어드레스 6을 할당받고, 노드 10i는 어드레스 i를 할당받고, 노드 10N은 어드레스 N을 할당받는다. 이와 같이, 토폴로지 정보가 노드 어드레스에 부여된다. 예를 들어, 어드레스 6을 갖는 노드는 어드레스 1을 갖는 노드의 오른편에 위치된다. 또한, 어드레싱 체계(addressing scheme)는 소스 노드와 목적지 노드가 서로 얼마나 멀리 존재하는지에 관한 정보를 제공한다. 목적지 어드레스와 소스 어드레스를 감산(subtract)함으로써, 소스와 목적지 사이의 거리를 표시하는 정보가 획득된다. 각각의 노드는 어드레싱 체계의 상향(upward) 방향 및 하향(downward) 방향에 있는 자신의 직계 이웃에 연결된다. 여기서, 제 1 홉 연결이 고려된다. 도 1에서, 이러한 제 1 홉 링크는 상향 방향의 112, 123, 134, 145, 156,...,16i,...1iN 및 하향 방향의 121, 132, 143, 154, 165,...1i6,...1Ni로 표시된다. 각각의 노드는 또한 자신의 이웃의 이웃들로의 제 2 홉 링크를 통해 연결된다. 도 1에서, 이러한 제 2 홉 링크는 어드레싱 체계의 상향 방향의 113, 124, 135, 146,...,15i, 16N 및 하향 방향의 131, 142, 153, 164,...1i5,...1N6으로 표시된다.
데이터 패킷이 소스로부터 목적지로 노드에 도착하는 중인 경우, 수신 노드는 라우팅 결정을 위해 도 2의 흐름도에 도시된 방법을 적용할 것이다. 먼저, 단계 201에서 목적지 어드레스가 데이터 패킷으로부터 추출된다. 단계 202에서, 패킷의 목적지 어드레스는 현재 노드의 어드레스와 비교된다. 어드레스가 동일한 경우, 단계 203에서 데이터 패킷은 체인으로부터 회수(withdrawn)되고 프로세싱을 위해 로컬 카드(a local card)에 송신된다. 동일하지 않은 경우, 단계 204에서 패킷의 목적지 어드레스는 현재 노드의 제 1 홉 이웃의 어드레스 및 제 2 홉 이웃의 어드레스와 비교된다. 패킷의 목적지 노드가 현재 노드에 직접 연결된 경우, 단계 205에서 데이터 패킷은 이의 직접 링크(direct link)를 사용하여 자신의 목적지에 송신될 것이다. 직접 연결되지 않은 경우, 단계 206에서 현재 노드는 목적지 어드레스에서 자신의 어드레스를 감산한다. 단계 207에서 차이의 부호는 현재 노드로 하여금 라우팅 방향을 결정할 수 있게 한다. 단계 206에서 계산된 차이가 음의 값인 경우, 패킷은 도 1의 체인에서 좌측으로의 전송을 위해 큐잉되고(queued), 음의 값이 아닌 경우 도 1의 체인에서 우측으로의 전송을 위해 큐잉된다. 그 이후, 현재 어드레스와 목적지 어드레스 사이의 차이에 기초하여, 이웃의 이웃으로의 제 2 홉 링크 또는 직계 이웃으로의 제 1 홉 링크 중 하나가 선택될 것이다. 이는 단계 208에서 현재 어드레스와 목적지 어드레스 사이의 차이를 임계값과 비교함으로써 실현된다. 전체 홉 카운트를 감소시키기 위해, 현재 노드와 목적지가 서로 먼 경우(차이 > 임계값, 단계 210)에는 제 2 홉 링크가 선택된다. 현재 및 목적지가 가까운 경우(차이 <= 임계값, 단계 209)에는 제 1 홉 링크가 선택된다.
단계 208에서 사용된 임계값은 바람직하게 네트워크의 크기에 따라 결정된다는 것이 주목된다. 이 임계값은 시스템 시작 시에 각 노드에 부여될 수 있고/있거나 각각의 토폴로지 업데이트 이후, 예를 들어, 체인 내 노드의 제거 또는 삽입의 결과로서, 각각의 노드에 전달될 수 있다. 또한 임계값은 예를 들어, 링크 상의 트래픽을 최적화하기 변화하는 트래픽 흐름 등에 기초하여 동적으로 설정될 수 있다.
단계 206에서 현재 노드의 어드레스와 목적지 어드레스 사이의 차이에 대한 대안으로서 소스 노드 어드레스와 목적지 노드 어드레스 사이의 차이를 사용할 수 있다는 것이 또한 주목된다. 전형적으로 소스 노드 어드레스는 데이터 패킷으로부터 추출될 수 있으며 이에 따라 데이터 패킷을 수신하는 각각의 중간 노드에서 이용가능하다.
본 발명에 따른 방법은 각각의 노드의 어드레스에 토폴로지 정보(topological information)를 부여함으로써 라우팅 복잡성을 해결한다. 그 결과, 분배된 라우팅 결정이 현재 노드의 어드레스, 패킷/프레임 소스 어드레스 및 패킷/프레임 목적지 어드레스에 기초하여 각각의 개별 노드에서 실시될 수 있다. 이와 같이, 각각의 노드에서의 최신 링크 상태 정보의 보급(dissemination) 및 큰 라우팅 테이블 유지가 제거된다.
예를 들어, 고속 백플레인 시스템과 같은 일부 애플리케이션에서, 라우팅 테이블을 위한 메모리 요구사항의 면에서의 복잡한 라우팅, 그러한 라우팅 테이블을 검색하는데 필요한 시간, 및 그러한 라우팅 테이블을 유지/업데이트하는데 필요한 오버헤드는 하드웨어 복잡성, 전력 소비, 및 처리량 오버헤드(throughput overhead) 면에서 고비용을 야기한다. 따라서, 본 발명에 의해 가능한 최소 복잡성을 갖는 라우팅이 필요할 것이다.
본 발명에 따른 방법은 전형적으로 노드, 예를 들어, 라우터 또는 스위치 내 데이터 프로세서 상에서 구동하는 소프트웨어를 통해 컴퓨터 구현될 것이다. 전반적으로, 본 발명에 따라 동작되는 컴퓨팅 디바이스 또는 데이터 프로세싱 시스템은, 본 기술분야의 당업자가 이해할 수 있는 바와 같이, 마이크로프로세서, 프로세서, 워크스테이션, 서버, 랩탑, 데스크탑 또는 다른 컴퓨팅 디바이스를 포함할 수 있다.
데이터 프로세싱 시스템 또는 컴퓨팅 디바이스는, 다수의 컴포넌트, 즉, 하나 이상의 메모리 디바이스, 하나 이상의 프로세서, 입력/출력 포트, 전력 공급기 등 사이에서의 직접 또는 간접적 연결성을 위한 버스 또는 네트워크를 포함할 수 있다. 본 기술분야의 당업자는 버스 또는 네트워크가 어드레스 버스, 데이터 버스, 또는 이들의 조합과 같은 하나 이상의 버스를 포함할 수 있고, 또는 하나 이상의 네트워크 링크를 포함할 수 있다는 것을 이해할 것이다. 또한, 본 기술분야의 당업자는 대상 애플리케이션 및 특정 실시예의 사용에 따라, 복수의 이러한 컴포넌트가 단일 디바이스에 의해 구현될 수 있음을 이해할 것이다. 이와 마찬가지로, 일부 경우에서, 단일 컴포넌트가 복수의 디바이스에 의해 구현될 수 있다.
데이터 프로세싱 시스템 또는 컴퓨팅 디바이스는 다양한 컴퓨터 판독가능 매체를 포함하거나 다양한 컴퓨터 판독가능 매체와 상호작용할 수 있다. 예를 들어, 컴퓨터 판독가능 매체는, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 전기적 소거가능 프로그래머블 판독 전용 메모리(EEPROM), 플래시 메모리 또는 다른 메모리 기법, CDROM, DVD 또는 다른 광학 또는 홀로그래픽 매체, 자기 카세트, 자기 테이프, 자기 디스크 저장매체, 또는 정보를 인코딩하는데 사용될 수 있고 데이터 프로세싱 시스템 또는 컴퓨팅 디바이스에 의해 액세스될 수 있는 다른 자기 저장 디바이스를 포함할 수 있다.
메모리는 휘발성 및/또는 비휘발성 메모리의 형태인 컴퓨터 저장 매체를 포함할 수 있다. 메모리는 탈착가능, 비탈착가능, 또는 이들의 임의의 조합일 수 있다. 예시의 하드웨어 디바이스는 하드 드라이브, 고체 상태 메모리, 광학 디스크 드라이브 등과 같은 디바이스이다. 데이터 프로세싱 시스템 또는 컴퓨팅 디바이스는 메모리, 다양한 I/O 컴포넌트 등과 같은 컴포넌트로부터 데이터를 판독하는 하나 이상의 프로세서를 포함할 수 있다.
본 발명은 특정 실시예들을 참조하여 설명되었지만, 본 발명은 앞서 예시된 실시예들의 세부사항에 제한되지 않는다는 것 및 본 발명은 이의 범주를 벗어나지 않으면서 다양한 변경 및 수정이 채용될 수 있다는 것이 본 기술분야의 당업자에게는 명백할 것이다. 따라서, 본 실시예들은 제한적인 것이 아닌 예시적인 것으로서 모든 측면에서 고려되며, 본 발명의 범주는 첨부된 특허청구범위에 의해서 보다는 전술된 설명에 의해 나타나며, 따라서, 본원에서 특허청구범위의 균등물의 범위 및 의미 내에 있는 모든 변경을 포괄하고자 한다. 다시 말해, 기초가 되는 일반적인 원리의 범위 내에 있는 임의의 및 모든 수정, 변형 또는 균등물을 포괄하고자 하며, 이들의 필수 속성들은 본 특허 출원에서 주장된다. 더욱이, 본 특허 출원서의 독자는 단어 "포함하는" 또는 "포함하다"가 다른 요소 또는 단계를 제외하는 것이 아니라는 것, 단어 "일(a 또는 an)"은 복수를 제외하지 않는다는 것, 및 컴퓨터 시스템, 프로세서 또는 다른 통합 유닛과 같은 단일 요소는 특허청구범위에 언급된 복수의 수단의 기능들을 수행할 수 있다는 것이 이해될 것이다. 특허청구범위 내 임의의 참조 부호는 고려되는 각각의 특허청구범위를 제한하는 것으로 이해되어서는 안 된다. 용어 "제 1", "제 2", "제 3", "a", "b", "c" 등은, 상세설명 또는 특허청구범위에서 사용될 때, 유사한 요소들 또는 단계들 사이에서의 구별을 위해 도입되는 것이며, 명시되지 않는 경우 반드시 순차적 또는 시간 순서의 순서를 설명하는 것은 아니다. 이와 마찬가지로, 용어 "상부(top)", "하부(bottom)", "위에(over)", "아래에(under)" 등은 설명의 목적을 위해 도입되며 반드시 상대적 위치를 지칭하는 것은 아니다. 그렇게 사용된 용어들은 적절한 상황 하에서 교환가능하며 본 발명의 실시예들은 앞서 예시되거나 설명된 것(들)과 상이한 방향으로 또는 다른 순서로 본 발명에 따라 동작할 수 있다는 것이 이해되어야 한다.

Claims (8)

  1. 노드들(101, 102, 103, 104, 105, 106,..., 10i,...,10N)의 체인을 통해 데이터 유닛을 라우팅하기 위한 데이터 프로세싱 시스템을 노드(103)에서 동작시키는 방법 ― 각각의 노드(103)는 제 1 홉 링크(132, 134)를 통해 자신의 제 1 홉 이웃(first hop neighbours)(102, 104)에 연결되고, 각각의 노드(103)는 제 2 홉 링크(131, 135)를 통해 자신의 제 2 홉 이웃(101, 105)에 연결되고, 상기 노드들(101, 102, 103, 104, 105, 106,..., 10i,...,10N)은 상기 체인 내에서 상기 노드들(101, 102, 103, 104, 105, 106,..., 10i,...,10N)이 나타나는 하나의 방향으로 증가하는 고유 어드레스(unique addresses)(1, 2, 3, 4, 5, 6,..., i,...,N)를 할당받음 ― 으로서,
    상기 방법은,
    상기 노드(103)에서, 상기 데이터 유닛의 목적지 어드레스(a destination address)가 상기 노드(103)의 제 1 홉 이웃(102, 104)의 어드레스(2, 4) 또는 제 2 홉 이웃(101, 105)의 어드레스(1, 5)에 대응하는지 여부를 확인(verifying)하는 단계를 포함하되,
    상기 방법은,
    상기 목적지 어드레스가 상기 제 1 홉 이웃 또는 상기 제 2 홉 이웃의 어드레스(2, 4, 1, 5)에 각각 대응하는 경우, 상기 노드(103)에 의해 상기 데이터 유닛을 상기 제 1 홉 이웃(102, 104) 또는 상기 제 2 홉 이웃(101, 105)에 직접 라우팅하는 단계를 포함하거나, 또는 상기 방법은
    상기 목적지 어드레스와 상기 노드(103)의 어드레스(3) 사이의 차이 또는 상기 목적지 어드레스와 상기 데이터 유닛의 기점 어드레스(an origin address) 사이의 차이를 상기 노드(103)에서 결정하는 단계와,
    상기 노드(103)에 의해, 상기 차이의 부호(sign)에 따라 라우팅 방향을 선택하는 단계와,
    상기 노드(103)에 의해, 상기 차이의 크기(magnitude)가 임계값 미만인 경우 제 1 홉 링크(132, 134)를 선택하거나, 상기 차이의 크기가 상기 임계값을 초과하는 경우 제 2 홉 링크(131, 135)를 선택하는 단계와,
    선택된 바에 따라 제 1 홉 링크(132, 134) 또는 제 2 홉 링크(131, 135)를 통해 상기 라우팅 방향으로 상기 데이터 유닛을 라우팅하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 목적지 어드레스(3)가 상기 노드(103)의 어드레스에 대응하는지 여부를 확인하는 단계와,
    상기 목적지 어드레스가 상기 노드(103)의 어드레스(3)에 대응하는 경우, 상기 노드(103)에 의한 프로세싱을 위해 상기 체인으로부터 상기 데이터 유닛을 회수(withdrawing)하는 단계를 더 포함하는
    방법.
  3. 제 1 항에 있어서,
    상기 임계값은 시스템 요구사항 또는 상기 체인의 길이의 함수로 결정되는
    방법.
  4. 제 1 항에 있어서,
    상기 노드들의 체인은 백플레인 시스템(a backplane system)의 일부를 형성하는
    방법.
  5. 제 1 항에 있어서,
    상기 차이는 상기 목적지 어드레스와 상기 데이터 유닛의 기점 어드레스 사이에서 결정되고, 상기 방법은,
    선택된 라우팅 방향을 표시하는 제 1 비트를 상기 데이터 유닛에 추가하는 단계와,
    상기 제 1 홉 링크 또는 상기 제 2 홉 링크의 선택을 표시하는 제 2 비트를 상기 데이터 유닛에 추가하는 단계를 더 포함하는
    방법.
  6. 제 1 항의 방법을 실행하기 위한 수단을 포함하는
    데이터 프로세싱 시스템.
  7. 제 1 항의 방법을 수행하도록 구성된 소프트웨어 코드를 포함하는
    컴퓨터 프로그램.
  8. 제 7 항의 컴퓨터 프로그램을 포함하는
    컴퓨터 판독가능 저장 매체.
KR20147035173A 2012-05-16 2013-05-13 데이터 유닛을 라우팅하기 위한 방법 및 컴퓨터 프로그램 제품 KR20150016328A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP12290163.0A EP2665231B1 (en) 2012-05-16 2012-05-16 A method and computer program products for routing a data unit
EP12290163.0 2012-05-16
PCT/EP2013/059777 WO2013171145A1 (en) 2012-05-16 2013-05-13 A method and computer program products for routing a data unit

Publications (1)

Publication Number Publication Date
KR20150016328A true KR20150016328A (ko) 2015-02-11

Family

ID=48463959

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20147035173A KR20150016328A (ko) 2012-05-16 2013-05-13 데이터 유닛을 라우팅하기 위한 방법 및 컴퓨터 프로그램 제품

Country Status (6)

Country Link
US (1) US9338081B2 (ko)
EP (1) EP2665231B1 (ko)
JP (1) JP5913741B2 (ko)
KR (1) KR20150016328A (ko)
CN (1) CN104285412B (ko)
WO (1) WO2013171145A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102130632B1 (ko) * 2013-01-02 2020-07-06 엘지전자 주식회사 아이스 메이커
CN110875938A (zh) * 2018-08-31 2020-03-10 元一科技控股有限公司 一种区块链中信息的发送方法及装置
US20220400073A1 (en) * 2021-06-15 2022-12-15 Applied Materials, Inc. Router architecture for multi-dimensional topologies in on-chip and on-package networks
CN114430580B (zh) * 2022-02-10 2024-04-02 西南科技大学 一种无人机中继节点优化方法、装置及可存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1226638A (en) * 1982-08-19 1987-09-08 Mitsuji Takao Data communication method
US5204669A (en) * 1990-08-30 1993-04-20 Datacard Corporation Automatic station identification where function modules automatically initialize
JPH08116578A (ja) 1994-10-17 1996-05-07 Fuji Photo Optical Co Ltd 雲台制御システムにおけるアドレス決定方法
EP1124351A3 (en) * 2000-02-11 2003-11-05 Alcatel USA Sourcing, L.P. Communication protocol for nodes connected in a daisy chain
US7139839B2 (en) * 2001-11-26 2006-11-21 Schneider Automation Inc. Method and apparatus for assigning a network node address
JP4971129B2 (ja) 2004-03-10 2012-07-11 スケールアウト ソフトウェア インコーポレイテッド 拡張可能で高度に利用可能なクラスタメンバーシップアーキテクチャ
ATE532369T1 (de) * 2004-08-06 2011-11-15 Panasonic Corp Konstruktion eines multi-hop funksystems mit baumstruktur durch wahl eines funk-knotens, der eine verbindung als host annimmt, basierend auf der anzahl von hops und entweder des funkknotens an der basis oder der anzahl angeschlossener funkknoten
CN110047528A (zh) * 2005-09-30 2019-07-23 考文森智财管理公司 多个独立的串行链接存储器
DE102005056294B4 (de) * 2005-11-24 2016-04-28 Sew-Eurodrive Gmbh & Co Kg Verfahren zum Zuordnen von Adressen an Busteilnehmer eines Bussystems und Anlage
US8364861B2 (en) * 2006-03-28 2013-01-29 Mosaid Technologies Incorporated Asynchronous ID generation
US7587539B2 (en) * 2006-04-25 2009-09-08 Texas Instruments Incorporated Methods of inter-integrated circuit addressing and devices for performing the same
US8700818B2 (en) * 2006-09-29 2014-04-15 Mosaid Technologies Incorporated Packet based ID generation for serially interconnected devices
US8331361B2 (en) * 2006-12-06 2012-12-11 Mosaid Technologies Incorporated Apparatus and method for producing device identifiers for serially interconnected devices of mixed type
JP2009212865A (ja) * 2008-03-04 2009-09-17 Univ Of Electro-Communications 通信装置および通信方法、並びにプログラム
CN102006651A (zh) * 2010-12-02 2011-04-06 电子科技大学 基于链路生命期的分布式自组网稳定路径路由方法
US9231906B2 (en) * 2011-10-07 2016-01-05 Defond Components Limited Method of assigning identification codes to devices in a network
US20140173081A1 (en) * 2012-11-13 2014-06-19 Joshua P. Knapp Method and apparatus for discovery and enumeration of sequentially networked devices

Also Published As

Publication number Publication date
US20150124819A1 (en) 2015-05-07
EP2665231A1 (en) 2013-11-20
US9338081B2 (en) 2016-05-10
JP5913741B2 (ja) 2016-04-27
CN104285412A (zh) 2015-01-14
JP2015520574A (ja) 2015-07-16
EP2665231B1 (en) 2017-07-05
WO2013171145A1 (en) 2013-11-21
CN104285412B (zh) 2017-03-15

Similar Documents

Publication Publication Date Title
US11824771B2 (en) Packet processing method, related device, and computer storage medium
CN107409091B (zh) 用于分组交换网络的流量工程馈线
JP6093867B2 (ja) インターコネクトにおける不均一なチャネル容量
CN109691037B (zh) 用于数据中心负载均衡的方法和系统
US10951463B2 (en) BGP aggregation in Clos networks
CN105337858A (zh) 虚拟路由器集群、数据转发方法和装置
JP2015136168A (ja) ネットワークにおけるメッセージおよび計算オーバーヘッドの軽減
EP3186928B1 (en) Bandwidth-weighted equal cost multi-path routing
CN107659426B (zh) 分配物理资源的方法和网络侧设备
US20130308463A1 (en) Path selection method and control server
JP7250871B2 (ja) 伝送パスを決定する方法およびノード
KR20150016328A (ko) 데이터 유닛을 라우팅하기 위한 방법 및 컴퓨터 프로그램 제품
CN111490937A (zh) 一种建立跨域转发路径的方法、装置及系统
CN102143041B (zh) 一种网络流量分担的方法、装置及系统
EP3585016B1 (en) Forwarding multicast data packets using bit index explicit replication (bier) for bier-incapable network devices
EP3474504B1 (en) Leaf-to-spine uplink bandwidth advertisement to leaf-connected servers
US10855572B2 (en) Area abstraction extensions to routing protocols
EP3063969B1 (en) System and method for traffic engineering using link buffer status
CN111464439B (zh) 段标识发布方法和装置
CN113364679B (zh) 一种基于分段路由的转发控制方法、报文转发方法及装置
CN107959610B (zh) 确定虚拟网络拓扑结构的方法和运营商边缘设备
CN107566302A (zh) 报文转发方法和装置
CN115208829A (zh) 报文处理的方法及网络设备
CN117978737A (zh) 报文传输方法、设备、存储介质和程序产品
Mu et al. Nearest Access Routing Algorithm for the ZigBee Network in 5G Environment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application