KR20150111908A - 수동 상호 연결 및 분산 스위치리스 스위칭의 라우터 - Google Patents

수동 상호 연결 및 분산 스위치리스 스위칭의 라우터 Download PDF

Info

Publication number
KR20150111908A
KR20150111908A KR1020157015743A KR20157015743A KR20150111908A KR 20150111908 A KR20150111908 A KR 20150111908A KR 1020157015743 A KR1020157015743 A KR 1020157015743A KR 20157015743 A KR20157015743 A KR 20157015743A KR 20150111908 A KR20150111908 A KR 20150111908A
Authority
KR
South Korea
Prior art keywords
processing engine
node
destination
data
nodes
Prior art date
Application number
KR1020157015743A
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 KR20150111908A publication Critical patent/KR20150111908A/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/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/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3045Virtual queuing

Landscapes

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

Abstract

완전 메시 내의 복수의 노드를 연결하기 위한 수동 상호 연결 및 분산 스위치리스 상호 연결의 멀티-섀시 라우터가 개시된다. 이러한 시스템은 소스 노드와 목적지 노드 사이의 직접 및 간접 통신을 허용한다. 직접 통신에 있어서, 데이터는 소스 및 목적지 노드를 연결하는 링크를 통해 전파된다. 간접 통신에 있어서, 데이터는 먼저 소스 및 중간 노드를 연결하는 링크를 통해 중간 노드로 전송된다. 중간 노드는 중간 노드와 목적지 노드를 연결하는 링크를 통해 어느 하나의 목적지 노드에 데이터를 전송한다. 플러그가 교체 가능한 수동 소자는 완전 메시 형태로 복수의 노드를 연결한다. 수동 소자는 네트워크의 설정 및 업데이트를 용이하게 한다.

Description

수동 상호 연결 및 분산 스위치리스 스위칭의 라우터{ROUTER WITH PASSIVE INTERCONNECT AND DISTRIBUTED SWITCHLESS SWITCHING}
본 개시는 완전 메시 네트워크에서 데이터를 전송하기 위한 방법에 관한 것이다. 구체적으로, 본 개시는 다수의 링크 및 다중 중간 노드를 통한 데이터의 분배 및 전송에 관한 것이다.
고속 시스템은 프로세싱 엔진들 사이의 완전한 연결을 필요로 한다. 프로세싱 엔진("노드")은 특정 처리 능력을 갖는다. 프로세싱 엔진은 일반적으로, 물리적 위치, 예를 들어, 특정 라인 카드, 셸프(shelf) 또는 랙(rack)에 제한된 하드웨어 자원의 특정 세트와 관련되어 있다.
전통적으로, 노드 간 연결은 다음의 2가지 방법 중 한가지 방법을 통해 통신 및 컴퓨팅 산업에서 이용된다: (i) 스위치 연결 및 (ii) 완전 메시(full mesh) 연결. 스위치 연결의 한 예는 노드들 간의 스위칭 스테이지를 이용하는 클로스 스위칭(Clos switching)이다. 다른 노드로 데이터를 전송하고자 하는 각각의 노드는 데이터를 스위치로 전송한다. 스위치는 하나의 목적지 노드 또는 다수의 목적지 노드 중 어느 하나에 데이터를 전송한다(브로드캐스트 또는 멀티캐스트). 스위치 연결의 한가지 단점은 스위치의 사이즈 및 복잡성이 노드의 수가 증가함에 따라 증가한다는 것이다. 노드의 수가 많은 스위치는, 예를 들어, 다수의 노드로부터 동일한 목적지 노드로의 트래픽을 스케줄링할 시 스위치 오버 헤드에 대해 그리고 비효율성에 대해 수용하도록 더 많은 처리 능력을 필요로 한다.
완전 메시 연결에서는, 각각의 노드는 모든 다른 노드들(포인트-투-포인트 연결)과 연결되어 있다. 소스 노드가 목적지 노드에 데이터를 전송할 때, 직접 목적지 노드에 연결된 링크를 통해 데이터를 전송한다. 멀티캐스트 트래픽의 경우, 소스 노드는 데이터를 로컬적으로 승산하고 직접 목적지 노드에 연결된 링크들을 통해 각 목적지 노드로 카피를 전송한다. 완전 메시 연결은 특정 단점을 갖는다. 예를 들어, 추가 노드가 시스템에 추가될 때, 추가 링크가 노드 간 링크 용량을 위한 충분한 용량을 갖고 기존의 각 노드와 신규 노드 사이에 연결되어야 한다. 모든 기존 노드로부터의 적어도 하나의 링크는 서로 분리되고 새로운 노드에 연결된다. 재연결(re-plugged)될 링크의 수는 기존 노드의 수와 동일하거나 그보다 많고, 또는 새로운 링크가 추가되어야 한다.
전형적인 완전 메시 연결에서, 각각의 노드가 용량 CN 및 M개의 링크를 갖는 N개의 노드의 시스템은, 각각의 노드가 적어도 (N-1)*CN의 총 용량을 수용할 것을 요구한다. 이 경우, 링크의 수는 적어도 (N-1)*CN/CL일 수 있는데, 여기서 CL은 단일 링크 용량에 해당한다. 또한, 일단 N 노드가 완전 메시 형태로 연결되면, 추가 노드를 시스템에 추가하는 것은 노드 당 링크의 총 수 M이 증가하지 않는 한, 성능을 떨어뜨린다.
본 개시의 양태에 따르면, 완전 메시 형태로 복수의 노드를 연결하기 위한 멀티-섀시 라우터가 제공된다. 이러한 시스템에서, 소스 노드는 다수의 중간 노드에 데이터를 전송하고, 다수의 중간 노드는 목적지 노드에 데이터를 전송한다. 본 개시는 또한, 완전 메시 네트워크 내에서 복수의 중간 노드를 사용하여 데이터를 전송하는 방법에 관한 것이다. 수동 연결 광학 모듈("PassCOM")은 교체가능 플러그를 사용하여 완전 메시 형태의 복수의 노드들 간의 링크를 연결한다.
본 개시의 한 양태에서, 시스템은 완전 메시 연결을 제공하는 멀티-섀시 라우터에서의 복수의 프로세싱 엔진에 연결된 복수의 프론트-엔드 커넥터를 포함한다. 시스템은 또한 복수의 프로세싱 엔진을 연결하도록 구성된 적어도 하나의 교체가능 플러그, 및 상기 적어도 하나의 교체가능 플러그를 수용하기 위한 적어도 하나의 백-엔드 커넥터를 포함한다. 상기 시스템은 또한 적어도 하나의 백-엔드 커넥터에 복수의 프론트-엔드 커넥터를 연결하는 복수의 링크를 포함한다. 시스템의 제1 프로세싱 엔진은 목적지 프로세싱 엔진을 나타내는 데이터를 제2 프로세싱 엔진에 전송하도록 구성된다. 또한, 제2 프로세싱 엔진은, 제2 프로세싱 엔진이 목적지 프로세싱 엔진인 경우, 제1 프로세싱 엔진으로부터의 데이터를 처리하도록 구성된다. 대안적으로, 제2 프로세싱 엔진은, 제2 프로세싱 엔진이 목적지 프로세싱 엔진이 아닌 경우, 목적지 프로세싱 엔진이나 중간 프로세싱 엔진에 데이터를 전송하기로 결정하도록 구성된다. 제2 프로세싱 엔진은, 제2 프로세싱 엔진이 목적지 프로세싱 엔진이 아닌 경우, 목적지 프로세싱 엔진 또는 중간 프로세싱 엔진에 제1 프로세싱 엔진으로부터의 데이터를 전송하도록 구성된다.
본 개시의 또 다른 양태에서, 데이터는 적어도 하나의 패킷을 포함하는 적어도 하나의 마스터 셀을 포함할 수 있다. 적어도 하나의 마스터 셀은 큐 시퀀스 번호를 가진 헤더를 포함할 수 있다. 제1 프로세싱 엔진은 적어도 하나의 중간 프로세싱 엔진에 수신된 데이터를 전송하도록 구성될 수 있다.
추가 특징이 본 개시의 양태에서 나타날 수 있다. 예를 들어, 시스템은 또한 제1 교체가능 플러그가 제거될 때 제1 교체가능 플러그가 제거되는 것을 브로드캐스트하도록 구성되는 제어 플레인을 포함할 수 있다. 제1 프로세싱 엔진은, 제1 교체가능 플러그가 제거될 때 제1 교체가능 플러그가 제1 프로세싱 엔진과 제2 프로세싱 엔진을 연결하는지의 여부를 결정하도록 구성된다.
본 개시의 또 다른 양태에서, 제1 프로세싱 엔진은, 제1 프로세싱 엔진이 제2 프로세싱 엔진으로부터 킵 얼라이브 메시지를 수신하지 못하는 경우, 제1 프로세싱 엔진에 제2 프로세싱 엔진을 연결하는 제1 링크가 비활성 상태임을 브로드캐스트하도록 구성될 수 있다. 제1 프로세싱 엔진은 제2 프로세싱 엔진에 제1 킵 얼라이브 메시지를 전송하도록 구성될 수 있다. 제1 프로세싱 엔진은 또한 제1 프로세싱 엔진이 제1 킵 얼라이브 메시지에 응답하여 상기 제2 프로세싱 엔진으로부터 메시지를 수신하지 못하는 경우, 제2 프로세싱 엔진에 제1 프로세싱 엔진을 연결하는 제1 링크가 비활성 상태임을 브로드캐스트하도록 구성된다. 제1 프로세싱 엔진은 제2 프로세싱 엔진에 제1 킵 얼라이브 메시지를 전송하도록 구성될 수 있다. 제1 프로세싱 엔진은 또한 제1 프로세싱 엔진이 제1 킵 얼라이브 메시지의 수신 실패를 나타내는 메시지를 제2 프로세싱 엔진으로부터 수신하는 경우, 제2 프로세싱 엔진에 제1 프로세싱 엔진을 연결하는 제1 링크가 비활성 상태임을 브로드캐스트하도록 구성된다.
본 개시의 한 양태에서, 방법은 완전 메시 연결을 제공하는 멀티-섀시 라우터에서의 복수의 프로세싱 엔진의 복수의 프론트-엔드 커넥터를 연결하는 단계를 포함한다. 방법은 또한 복수의 링크를 통해 적어도 하나의 백-엔드 커넥터에 복수의 프론트-엔드 커넥터를 연결하는 단계를 포함한다. 방법은 또한 적어도 하나의 백-엔드 커넥터에 의해, 복수의 프로세싱 엔진을 연결하도록 구성된 적어도 하나의 교체가능 플러그를 수용하는 단계를 포함한다. 방법은 또한 제1 프로세싱 엔진에 의해, 제2 프로세싱 엔진에 목적지 프로세싱 엔진을 나타내는 데이터를 전송하는 단계를 포함한다. 방법은 또한 제2 프로세싱 엔진에 의해, 제2 프로세싱 엔진이 목적지 프로세싱 엔진인지를 결정하는 단계를 포함한다. 방법은 또한 제2 프로세싱 엔진이 목적지 프로세싱 엔진인 경우, 제2 프로세싱 엔진에 의해, 제1 프로세싱 엔진으로부터의 데이터를 처리하는 단계를 포함한다. 방법은 또한 제2 프로세싱 엔진이 목적지 프로세싱 엔진이 아닌 경우, 제2 프로세싱 엔진에 의해, 목적지 프로세싱 엔진 또는 중간 프로세싱 엔진에 데이터를 전송하기로 결정하는 단계를 포함한다. 방법은 또한 제2 프로세싱 엔진이 목적지 프로세싱 엔진이 아닌 경우, 제2 프로세싱 엔진에 의해, 목적지 프로세싱 엔진 또는 중간 프로세싱 엔진에 제1 프로세싱 엔진으로부터의 데이터를 전송하는 단계를 포함한다.
본 개시의 한 양태에서, 상기 방법은 또한 적어도 하나의 교체가능 플러그의 제1 교체가능 플러그를 제거하고 제2 교체가능 플러그를 연결하는 단계를 포함할 수 있다.
도 1은 본 개시의 양태에 따른 네트워크에 프로세싱 유닛을 연결하는 노드를 도시한다.
도 2는 본 개시의 양태에 따른 마스터 셀의 어셈블링하는 흐름도를 도시한다.
도 3은 본 개시의 양태에 따른 수신된 마스터 셀을 처리하는 흐름도를 도시한다.
도 4는 본 개시의 양태에 따른 로직을 재정렬하는 흐름도를 도시한다.
도 5는 본 개시의 양태에 따른 마스터 셀에 대응하는 비트를 갖는 시퀀스 번호 및 패킷 끝 데이터베이스(end-of-packet database)를 도시한다.
도 6은 본 개시의 양태에 따른 분산 스위치리스 상호 연결 시스템에서 직접 및 간접 링크를 통해 소스 노드로부터 목적지 노드로의 데이터 전달을 도시한다.
도 7은 본 개시의 양태에 따른 분산 스위치리스 상호 연결 시스템에서 데이터를 수신하고 이 데이터를 다른 노드로 전송하는 노드를 도시한다.
도 8은 본 개시의 양태에 따른 상이한 능력의 링크를 갖는 분산 스위치리스 상호 연결 시스템을 도시한다.
도 9는 본 개시의 양태에 따른 노드 간에 상이한 수의 링크를 갖는 분산 스위치리스 상호 연결 시스템을 도시한다.
도 10은 본 개시의 양태에 따른 단절 링크를 갖는 분산 스위치리스 상호 연결 시스템을 도시한다.
도 11은 완전 메시 형태로 연결된 시스템을 도시한다.
도 12는 본 개시의 양태에 따른 다수의 노드를 연결하는 PassCOM를 도시한다.
도 13은 본 개시의 양태에 따른 다수의 노드를 연결하는 PassCOM의 내부 링크 구성을 도시한다.
도 14a는 본 개시의 양태에 따른 4개의 노드를 연결하도록 설계된 플러그로 2개의 노드를 연결하는 PassCOM의 내부 링크 구성을 도시한다. 도 14b는 본 개시의 양태에 따른 2개의 노드를 연결하도록 설계된 플러그로 2개의 노드를 연결하는 PassCOM의 내부 링크 구성을 도시한다.
도 15는 본 개시의 양태에 따른 2개의 플러그로 4개의 노드를 연결하는 PassCOM의 내부 링크 구성을 도시한다.
도 16은 본 개시의 양태에 따른 2개의 프론트-엔드 커넥터 및 4개의 백-엔드 커넥터로 4개의 노드를 연결하는 PassCOM의 내부 링크 구성을 도시한다.
도 17은 본 개시의 양태에 따른 다수의 노드를 연결하는 2개의 PassCOM를 도시한다.
도 18은 본 개시의 양태에 따른 다수의 노드를 연결하는 2개의 PassCOM의 내부 링크 구성을 도시한다.
본 개시의 양태에 따르면, 수동 상호 연결 및 분산 스위치리스 스위칭의 멀티-섀시 라우터가 제공된다. 이러한 시스템은 완전 메시 형태로 다수의 노드를 연결하고 데이터의 직접 및 간접 전송을 허용한다. 멀티-섀시 라우터는 또한 멀티-클러스터 컴퓨팅 환경에서 연산 프로세서를 연결하기 위해 사용될 수 있다. 또한, 멀티-섀시 라우터는 연산 프로세서와 저장 프로세서를 연결할 수 있다. 라우터는 완전 메시 네트워크를 설정 또는 업데이트하는 프로세스를 간소화하기 위해 수동 연결 광학 모듈("PassCOM")을 사용한다. PassCOM는 전자 부품을 포함하지 않는 수동 소자이다.
물리적 노드 구조와 노드 기능
도 1은 네트워크에 프로세싱 유닛(105)을 연결하는 노드(100)를 도시한다. 노드(100)는 프로세싱 유닛(105)에 연결되고 링크(110)를 사용하여 다른 노드에 연결된다. 링크(110)를 사용하여, 노드(100)는 프로세싱 유닛(105)과, 라인 카드, 셸프, 랙, 또는 다른 물리적 위치에 걸쳐 분산된 다른 프로세싱 유닛과의 사이의 연결을 제공한다.
프로세싱 유닛(105)은 노드(100)의 클라이언트이다. 통신 시스템에서, 프로세싱 유닛(105)은, 예를 들어, 외부 인터페이스(106)에 연결된 네트워크 프로세서일 수 있다. 프로세싱 유닛(105)은 인터페이스(106)로부터 수신된 패킷을 검사하고 라우팅 및/또는 스위칭 동작에 기초하여 상기 수신된 패킷의 목적지를 결정한다. 다른 패킷 정보, 예를 들어, 서비스 품질(QoS), 큐잉, 및 수정은, 또한 목적지를 결정하는데 사용될 수 있다. 목적지는 유니캐스트 통신에 대한 하나의 프로세싱 유닛 또는 멀티캐스트 통신을 위한 다수의 프로세싱 유닛일 수 있다.
프로세싱 유닛(105)으로부터 데이터의 패킷이 도달하면, 패킷은 스위칭 유닛(103)에 전송될 수 있는데, 이 스위칭 유닛(103)은 그 다음, 패킷을 다른 노드에 전송한다. 이 경우, 패킷은 직접 다른 노드로 전송된다. 어셈블리 유닛(101)은 다른 노드로 전송된 패킷의 헤더에 패킷 시퀀스 번호를 기입할 수 있다. 대안적으로, 패킷 도달시, 어셈블리 유닛(101)은 마스터 셀 내로 패킷을 어셈블링할 수 있고 스위칭 유닛(103)을 통해 다른 노드에 마스터 셀을 전송할 수 있다. 어셈블리 유닛(101)은 마스터 셀의 헤더에 마스터 셀 시퀀스 번호를 기입할 수 있다.
도 2는 마스터 셀을 어셈블링하는 흐름도를 도시한다. 어셈블리 유닛(101)은 패킷을 수신하고(단계 210), 그들의 목적지에 기초하여 패킷을 분할한다(단계 220). 어셈블리 유닛(101)은 동일한 목적지에 대한 패킷들을 포함하는 마스터 셀에 패킷들 각각을 추가한다(단계 230). 완전히 충전되지 않은 기존 마스터 셀이 있는 경우, 어셈블리 유닛(101)은 기존의 마스터 셀에 패킷을 추가한다. 그렇지 않으면, 어셈블리 유닛(101)은 새로운 마스터 셀을 형성하고 충전된 마스터 셀을 가상 출력 큐잉(VOQ)에 방출한다(단계 240). 패킷이 마스터 셀의 길이를 초과하면, 어셈블리 유닛은 마스터 셀을 충전하고 이 충전된 마스터 셀을 전송하며, 패킷의 나머지 부분은 다음의 마스터 셀에 배치된다. 다음 마스터 셀은 다음 패킷을 대기한다.
방출된 마스터 셀은 외부 메모리의 VOQ에 기입된다(단계 250). VOQ 로직은 목적지 노드 당 적어도 하나의 큐를 유지한다. 그래서, 특정 목적지에 대한 배압(특정 링크에서 데이터의 빌드-업)의 경우에는, 단지, 특정 목적지에 관련된 큐 또는 큐들의 마스터 셀의 전송이 정지된다. 다른 목적지에 대한 큐의 다른 마스터 셀은 계속 전송될 수 있다. 마스터 셀이 전송될 준비가 되면, 마스터 셀은 메모리로부터 판독되어(단계 260) 다른 노드로 전송된다(단계 270). VOQ는 마스터 셀 생성 프로세스에 의해 개별적으로 관리될 수 있는데, 여기서 어셈블리 유닛은 단지 각각의 목적지에 대한 현재의 마스터 셀을 보유하고 VOQ 외부 버퍼는 외부 관리된다. 그 다음, 어셈블리 유닛은 스위칭 유닛(103) 쪽으로 마스터 셀의 방출 속도에 기초하여 VOQ로부터 패킷을 인출한다.
마스터 셀은 패킷의 부분적 페이로드를 포함할 수 있다. 이 때, 어셈블리 유닛(101)은 다음의 마스터 셀에 패킷의 나머지를 추가한다. 어셈블리 유닛(101)은 목적지 노드 당 여러 큐를 보유할 수 있고, 각각의 큐는 상이한 서비스 등급(COS)을 나타낸다.
마스터 셀의 사용은 효율적인 스위치 간 메모리 관리 및 큐잉 관리를 가능하게 하는데, 그 이유는 마스터 셀이 하나의 사이즈로 만들어질 수 있기 때문이다. 고정된 사이즈의 셀을 사용하는 것은 몇 가지 성능의 이점을 제공한다. 예를 들면, DRAM 뱅크 충돌을 회피하면서, 상대적으로 큰 블록 사이즈의 동적 랜덤 액세스 메모리(DRAM)에 기입하고 이로부터 판독하는 것이 더 효율적이기 때문에, 고정된 사이즈의 셀은 효율적인 프로세싱 및 외부 메모리 관리를 가능하게 한다. 전형적으로, 평균 패킷 사이즈는 최적의 블록 사이즈보다 작은데, 이는 마스터 셀의 사이즈에 의해 매칭된다. 또한, 링크가 작은 대역폭을 가질 때, 큰 패킷이 여러 마스터 셀들로 분할될 수 있다. 다수의 마스터 셀을 전송하기 위해 다수의 링크를 사용하는 것은, 목적지 노드가 하나의 레인의 사용에 비해 감소된 지연 및 지터와 병행하여 전체 패킷을 수신하게 한다. 또한, 네이티브 프로세싱 유닛이 사이즈가 제한되는 경우에 큐 및 버퍼 관리는 간단한데, 그 이유는 디스크립터의 수가 대량의 작은 패킷에 비해 적게 만들어질 수 있기 때문이다. 마스터 셀의 사용은 또한 링크 로드의 밸런싱에 필요한 어카운팅을 단순화하는데, 그 이유는 어카운팅이 가변 패킷 사이즈보다는 고정 사이즈의 셀에 기초하여 만들어질 수 있기 때문이다.
마스터 셀이 충전되면, 마스터 셀은 스위칭 유닛(103)에 전달된다. 스위칭 유닛(103)은 마스터 셀을 목적지에 전송하기 위해 어느 링크를 사용할지를 결정한다. 특정 목적지/COS 연결에 대한 스위칭 유닛(103)으로부터 배압이 없다면, 마스터 셀은 목적지로 즉시 전송될 수 있다.
마스터 셀의 사이즈는 변할 수 있다. 예를 들어, 높은 우선순위 COS가, 추가 패킷들로 마스터 셀을 충전함으로 인한 과도한 지연을 방지하기 위해서는 마스터 셀 사이즈가 작아질 수 있다. 마스터 셀 사이즈는 또한 네트워크에서의 이용 가능 대역폭에 따라 다를 수 있다. 이용 가능 대역폭은 노드의 수와 링크의 수에 의해 결정될 수 있다. 어셈블리 유닛(101)은 또한 시간 제한을 채택하고 과도한 지연을 방지하기 위해 부분적으로 충전된 마스터 셀을 전송할 수 있다. 또한, 어셈블리 유닛(101)은 상호 연결 링크에 대한 불필요한 대역폭의 소모를 방지하기 위해 부분적으로 충전된 마스터 셀을 방출할 수 있다.
스위칭 유닛(103)은 또한 다른 노드들로부터 데이터를 수신할 수 있다. 스위칭 유닛(103)은, 데이터의 목적지가 로컬 프로세싱 유닛(105)인지 또는 다른 노드의 프로세싱 유닛인지를 판정한다. 최종 목적지가 다른 노드의 프로세싱 유닛이면, 스위칭 유닛(103)은 목적지 노드 또는 다른 중간 노드에 데이터를 전송한다.
스위칭 유닛(103)이 로컬 프로세싱 유닛에 대한 데이터를 수신하면, 스위칭 유닛(103)은 재정렬 및 디-어셈블리 유닛(102)에 데이터를 전달한다. 재정렬 및 디-어셈블리 유닛(102)은 메모리 내의 재정렬 큐(107)에 데이터를 저장한다. 데이터가 마스터 셀의 형태로 존재할 경우, 재정렬 및 디-어셈블리 유닛(102)은 마스터 셀을 재정렬 및 디-어셈블링한다. 재정렬 및 디-어셈블리 프로세스는 2개의 별도의 장치 또는 하나의 장치에 대해 개별적으로 동작할 수 있다.
도 3은 재정렬 및 디-어셈블리 유닛(102)에서 수신된 마스터 셀을 처리하는 흐름도를 도시한다. 재정렬 및 디-어셈블리 유닛(102)은 마스터 셀을 수신하고(단계 310), 재정렬 및 디-어셈블리 유닛(102)은 메모리의 재정렬 큐(107)에 마스터 셀을 저장할 수 있다(단계 320). 재정렬 및 디-어셈블리 유닛(102)은, 마스터 셀이 유래하는 노드에서 정의된 마스터 셀 시퀀스 번호에 기초하여 마스터 셀을 그의 소스에 의해 분할한다(단계 330). 재정렬 및 디-어셈블리 유닛(102)은, 수신된 마스터 셀의 마스터 셀 시퀀스 번호들을 비교하고, 이들을 재정렬 로직을 이용하여 큐 내에 정확하게 배치하고, 재정렬된 마스터 셀을 방출한다(단계 340).
도 4는 단계(340)의 재정렬 로직의 흐름도를 도시한다. 각각의 마스터 셀은 마스터 셀 시퀀스 번호에 기초하여 결정되는 해당 비트를 갖는다. 재정렬 및 디-어셈블리 유닛(102)은 수신된 마스터 셀에 해당하는 비트를 설정한다(단계 410). 비트의 설정은, 비트를 0에서 1로 변경하여, 마스터 셀이 수신되었음을 나타냄으로써 수행될 수 있다. 마스터 셀이 패킷의 단부(EOP)를 포함하면, 재정렬 및 디-어셈블리 유닛(102)은 EOP를 나타내기 위해 추가 비트를 설정한다(단계 410).
도 5는 마스터 셀에 대응하는 비트를 갖는 시퀀스 번호 및 EOP 데이터베이스를 도시한다. 시퀀스 번호 데이터베이스(500)에서는, 두 가지 유형의 비트가 있다: 수신 비트 및 EOP 비트. 한 실시 형태에서, 제1 열의 비트는, 대응하는 마스터 셀의 도달 여부를 나타내는 수신된 비트이다. 제2 열의 비트는, 대응하는 마스터 셀 EOP를 포함하는지 여부를 나타내는 EOP 비트이다. 한 실시 형태에서, 값 0을 갖는 수신 비트는, 해당 마스터 셀이 도달하지 않은 것을 나타내고, 값 1을 갖는 수신 비트는, 해당 마스터 셀이 도달했음을 나타낸다. 값 1을 갖는 EOP 비트는, 해당 마스터 셀이 패킷의 끝을 포함하는 것을 나타내고, 값 0을 갖는 EOP 비트는, 그렇지 않음을 나타낸다.
수신 비트(501)는 큐의 선두에 있는 비트이며, 수신 비트(504)는 종래 비트 누락없이 큐의 마지막 비트이다. EOP가 수신 비트(501)와 수신 비트(504) 사이에 존재하면, 재정렬 및 디-어셈블리 유닛(102)은 EOP로 끝나는 전체 패킷이 수신된 것을 알고 있다. 예를 들어, EOP 비트(513)는 수신 비트(501)와 수신 비트(504) 사이에 EOP가 있음을 보여준다. 대조적으로, 수신 비트가 EOP의 전방에 0을 가지면, 패킷을 포함하는 모든 마스터 셀이 도달하지 않았음을 나타낸다. EOP 비트(517)의 전방에는, 예를 들어, 0을 갖는 수신 비트(505 및 506)가 있다. 따라서, EOP 비트(517)의 해당 마스터 셀 상에서 종료하는 전체 패킷은 도달하지 않았다.
재정렬 및 디-어셈블리 유닛(102)은, 수신 비트를 확인함으로써 패킷을 포함하는 모든 마스터 셀이 도달했는지를 확인한다(단계 420). 패킷을 포함하는 모든 마스터 셀이 도달하지 않으면, 재정렬 및 디-어셈블리 유닛(102)은 다음 마스터 셀을 대기한다(단계 430). 패킷을 포함하는 모든 마스터 셀이 도달한 경우, 재정렬 및 디-어셈블리 유닛(102)은 마스터 셀을 방출한다(단계 440). 재정렬 및 디-어셈블리 유닛(102)은 또한 시간 제한이 만료될 때 마스터 셀을 방출할 수 있다.
방출된 마스터 셀은 중재 로직을 사용하여 디-큐(de-queued)된다(단계 360). 디-큐 중재 로직은 프로세싱 유닛(105)에 전송될 준비가 되어 있는 모든 마스터 셀 중에서 가장 높은 우선순위를 가진 마스터 셀을 선택한다. 재정렬 및 디-어셈블리 유닛(102)은 메모리로부터 마스터 셀을 판독하여, 마스터 셀을 원래의 패킷으로 디-어셈블링하는데(단계 370), 이 원래의 패킷은 그 다음 프로세싱 유닛(105)(단계 380)에 전송된다. 재정렬 프로세스는 각각의 소스/COS 조합에 대한 내부 큐(107)를 보유할 수 있다. 내부 큐는 예를 들어, 노드 내에 위치한 버퍼일 수 있다.
시스템은 단순화된 형태를 사용할 수 있는데, 이 경우 패킷은 다른 패킷과 함께 마스터 셀 내에 어셈블링되지 않는다. 패킷은 여러 개의 마스터 셀로 분할될 수 없다. 또한, 마스터 셀은 하나의 패킷을 포함할 수 있다. 이 경우, 재정렬 및 디-어셈블리 유닛(102)은 전술한 바와 같이 동일한 로직을 사용하지만, EOP 비트를 표시할 필요는 없다. 동일한 로직은 재정렬 목적으로만 사용된다.
각각의 마스터 셀 도달 시간은 재정렬 및 디-어셈블리 유닛(102)에 의해 기록된다. 마스터 셀이 프로세싱 유닛(105)에 전송된 후, 재정렬 및 디-어셈블리 유닛(102)은 프로세싱 유닛(105)에 전송된 마지막 마스터 셀의 마스터 셀 시퀀스 번호에 큐 헤드 시퀀스 번호를 설정한다. 마스터 셀이 큐 헤드보다 낮은 마스터 셀의 시퀀스 번호로 수신되면, 마스터 셀은 디-어셈블리 후 즉시 프로세싱 유닛(105)로 전송된다.
프로세싱 유닛(105)은 또한 트래픽 관리 및 큐잉과 같은 QoS 기능을 구축할 수 있다. 프로세싱 유닛(105)은, 필요한 경우, 멀티캐스트 트래픽에 대한 로컬 카피를 만들 수 있다. 프로세싱 유닛(105)은 또한, 수신된 패킷의 포맷을 수정하고 이들을 인터페이스(106)에 전송할 수 있다. 전형적인 네트워킹 시스템에 있어서, 입력 인터페이스에 대한 패킷 포맷은, 라우팅 헤더 및 MPLS 레이블과 같은 추가된 정보 때문에 출력 인터페이스에 대한 패킷 포맷과는 다를 수 있다. 이 경우, 패킷 포맷 변형 중 일부는 입구 라인 카드 상의 프로세싱 유닛에 의해 처리되고, 헤더 조작의 일부는 출구 라인 카드 상의 프로세싱 유닛에서 수행된다.
노드(100)가 분산 스위치리스 상호 연결 시스템에서의 일시적인 혼잡으로 인해 프로세싱 유닛(105)에 배압 상태를 나타내면, 노드(100)는 다수의 QoS 전략을 구현할 수 있다. 배압은 모든 트래픽에 대해 또는 특정 목적지에 대한 또는 우선순위에 따라 트래픽의 일부에 대해 발생할 수 있다.
하나의 예시적인 전략은 배압이 목적지에 따른 것인지의 여부에 관계없이, 배압의 경우에는 프로세싱 유닛(105)으로부터 노드(100)로의 패킷 전송을 중지하는 것이다. 전송 노드가 배압 기간 동안에 정체되는 노드에 데이터를 전송하지 않기 때문에, 헤드-오브-라인 블로킹(head-of-line blocking)이 발생할 수 있다. 헤드-오브-라인 블로킹은, 모든 노드에 대한 트래픽이 노드의 일부에 대한 트래픽에서의 정체로 인해 정지되는 상태이다. 이는, 큐의 헤드에 있는 패킷이 배압을 경험하고 패킷을 수신할 수 있는 다른 노드에 대해 다음 패킷을 차단하기 때문에 발생한다. 헤드-오브-라인 블로킹은 효율적이지 않고 종종 매우 바람직하지 않다.
배압이 우선순위에 따르면, 노드는 우선순위가 높은 트래픽만을 허용하고 낮은 우선순위의 트래픽을 중지할 수 있다. 이 방법은, 단지 프로세싱 유닛(105) 및/또는 어셈블리 유닛(101)에 적은 수의 큐만이 필요하기 때문에 유익할 수 있다.
또 다른 전략은 목적지 노드 당 여러 개의 큐를 사용하는 것이다. 배압이 특정 노드로의 라우팅에 정체를 나타내는 것으로 수신되면, 프로세싱 유닛(105) 및 어셈블리 유닛(101)은 특정 노드에 데이터의 전송을 중지할 수 있다. 프로세싱 유닛(105) 및 어셈블리 유닛(101)은 노드에 특정한 우선순위를 전송할 수 있게 한다. 예를 들어, 높은 우선순위의 트래픽만이 허용될 수 있다. 이러한 전략은 헤드-오브-라인 블로킹을 피할 수 있지만, 더 복잡한 트래픽 관리를 필요로 한다.
QoS 관리에 관한 노드(100)와 프로세싱 유닛(105) 사이의 논리적 분리는 단지 설명을 위한 것이다. 대안적인 실시 형태에 따르면, 어셈블리 유닛(101) 및 프로세싱 유닛(105)은 마스터 셀 어셈블리를 연결하고 큐잉할 수 있는 하나의 물리적 디바이스일 수 있다. 하나의 물리적 디바이스는 프로세싱 유닛(105)의 부하를 줄일 수 있다.
또한, 어셈블리 유닛(101), 재정렬 및 디-어셈블리 유닛(102) 및 스위칭 유닛(103)은 다양한 종류의 인터페이스와 다수의 물리적 디바이스들로 구성될 수 있다. 각 기능은 본 개시에 기재된 로직 함수를 이용하기 위해서 예를 들어, FPGA, ASIC, 또는 조합으로 구현될 수 있다.
다수의 노드의 연결
분산 스위치리스 상호 연결 시스템은, 물리적 완전 메시 연결을 통해 스위치리스, 확장 가능한 노드 연결을 할 수 있다. 일부 실시 형태에서, 시스템은 내부 노드 간 스위칭을 이용한다. 특히, 시스템은, 1) 소스와 목적지 노드를 직접 연결하는 링크, 및 2) 소스 노드로부터 데이터를 수신하고 이를 목적지 노드로 다시 라우팅하는 중간 노드를 사용하여, 소스 노드로부터 목적지 노드로의 데이터 전송을 허용한다.
완전 메시 형태로 N 개의 노드를 연결하기 위해, M 개의 링크를 갖는 각각의 노드는 자체 M 개의 링크를 다른 N-1 개의 노드로 분할할 수 있다. 따라서, 시스템 내에서 연결될 수 있는 노드들의 수는 링크의 수 + 1보다 작거나 같다(N ≤ M+1). 링크는 노드 간에 균등하게 분할될 수도 있고 아닐 수도 있다. 모든 노드가 동일한 용량을 가질 경우, 각 노드는 동일한 수의 링크를 사용하여 임의의 다른 노드에 연결할 수 있다. 분산 스위치리스 상호 연결 시스템은 광 링크, 전자 링크 또는 노드 간의 2개의 조합을 사용할 수 있다.
노드는 노드 용량, 예를 들어, CN을 갖는다. 노드에 연결된 M 개의 링크들 각각은 링크 용량, 예를 들어, CL을 갖는다. CN은 통신 또는 다른 프로세스를 제어하는 대응하는 프로세싱 유닛에의 노드의 연결에 의해 결정된다. 예를 들어, 10Gbps의 10개의 인터페이스를 갖는 노드, 및 모든 인터페이스를 처리할 수 있는 프로세싱 유닛은 100Gbps와 동일한 용량 CN을 갖는다.
임의의 2개의 노드들 사이에 하나의 링크를 갖는 전형적인 완전 메시 시스템에서, 각각의 링크에 대한 노드 용량 대 링크 용량의 비,
Figure pct00001
는 전체 처리 용량을 처리하도록 네트워크를 인에이블링하기 위해 1보다 클 필요가 있다. 그렇지 않으면, 노드에 의한 처리 속도는 링크를 이용하여 전송 속도를 초과할 것이고, 따라서 트래픽을 차단한다. 본 개시의 양태에 따르면, 트래픽이 다수의 링크로 분할될 수 있다. 따라서, 노드가 M 개의 링크를 가질 때의 통신 시스템은,
Figure pct00002
이 되도록 설계될 수 있다. 비,
Figure pct00003
는 로컬 과속으로서 지칭된다. 로컬 과속이 1보다 큰 경우, 네트워크는 프로세싱 유닛의 전체 처리 용량을 처리할 수 있다.
본 개시의 양태에 따르면, 분산 스위치리스 상호 연결 시스템은,
Figure pct00004
의 동시 시스템 입력이 가능한
Figure pct00005
의 효율적인 스위칭 용량을 갖는다.
각 노드는
Figure pct00006
의 대역폭까지 모든 다른 소스로부터 피크 트래픽을 수신할 수 있다.
Figure pct00007
는 노드의 물리적 인터페이스 용량에 대한 피크 연결 간의 임시 가용 과속을 나타낸다. 각각의 출사 링크에서, 노드는 로컬 유래의 데이터를 다른 노드로부터 수신된 데이터와 응집한다. 이어서, 노드는 링크 뒤의 다른 노드로 데이터를 전송한다.
도 6은 본 개시의 양태에 따른 분산 스위치리스 상호 연결 시스템의 예를 도시한다. 도면의 각 라인(612)은 2개의 노드를 연결하는 하나 이상의 물리적 링크를 나타낸다. 이러한 실시 형태에서, 소스 노드(620)는 목적지 노드(624)에 데이터를 전송한다. 소스 노드(620)는 전체 시스템 부하가 고르게 분산되도록 모든 활성 링크(612) 사이에 균등하게 트래픽을 분산할 수 있다. 모든 노드가 균일하게 트래픽을 분산하면, 글로벌 시스템 부하 밸런싱이 달성될 수 있다. 분산 스위치리스 상호 연결 시스템은, 시스템 내에서의 부분 배압의 경우 트래픽을 분산하기 위해 결손 라운드 로빈(DRR: Deficit Round Robin) 또는 가중 DRR을 사용할 수 있다.
적어도 하나의 링크-링크(611)-는 소스 노드(620)와 목적지 노드(624)를 직접 연결한다. 다른 링크는 소스 노드(620) 또는 목적지 노드(624) 중 어느 하나를 중간 노드: 노드(621-623 및 625-627)에 연결한다. 중간 노드는 소스 노드(620)로부터 데이터를 수신하고, 목적지 노드로서 노드(624)를 식별하고, 노드(624)에 데이터를 전송한다. 중간 노드는 노드(624)에 직접 링크를 이용하여 데이터를 전송할 수 있다. 이 경우, 데이터는 2개의 홉(hop)을 거쳐 전송된다. 홉은 한 노드로부터 다른 노드로의 직접 전송을 의미하고, 그래서 2개의 홉은 하나의 중간 노드를 갖는 것으로 한다. 소스 노드는 중간 노드로 패킷을 전송하는데, 이 중간 노드는 목적지 노드로 패킷을 전송한다. 대안적으로, 중간 노드는 데이터가 2개 초과의 홉을 이용하여 전송되도록, 다른 중간 노드에 데이터를 전송할 수 있다.
도 7은 분산 스위치리스 상호 연결 시스템의 노드(726)를 도시한다. 링크(712)는 노드(726)를 다른 노드와 연결한다. 링크(712)를 통해, 노드(726)는 다른 노드로부터 데이터를 수신하고 다른 노드로 데이터를 전송할 수 있다. 노드(726)가 다른 노드로부터 데이터를 수신하면, 노드(206)는 소스 노드의 프로세싱 유닛에 의해 삽입된 패킷 헤더에 표시된 바와 같이, 데이터의 목적지를 결정한다. 패킷 헤더는 목적지 노드 번호를 포함한다.
목적지가 다른 노드이면, 노드(726)는 목적지 노드로 데이터를 전송하는 중간 노드로서 기능한다. 노드(726)는 소스 노드(720)로부터 데이터를 수신하고, 목적지 노드(724)로 데이터를 전송한다. 노드(726)는, 패킷 목적지가, 목적지 노드 번호를 명시적으로 식별함으로써 또는 패킷이 패킷 헤더에 표시될 수도 있는 하나의 홉이라는 것을 내재적으로 식별함으로써 로컬 노드라고 판단할 수 있다.
본 개시의 한 실시 형태에 따르면, 분산 스위치리스 상호 연결 시스템은 선택적 로드 밸런싱을 구현한다. 예를 들어, 로드 밸런싱은 중간 노드를 통해서만 목적지로 데이터를 전송함으로써 달성될 수 있다. 이는 상이한 수의 링크를 통해 유통하는 트래픽으로부터 오는 도달 시간의 차이를 줄일 수 있기 때문에 선택적 로드 밸런싱이 유리할 수 있다. 선택적 로드 밸런싱의 예시적인 방법에서, 일부의 링크는 특정 트래픽 우선순위에 전용될 수 있다.
본 개시의 또 다른 실시 형태에 따르면, 분산 스위치리스 상호 연결 시스템은 먼저 목적지 노드로 직접 전송하도록 선택할 수 있고, 직접 링크가 과부하되는 경우에만 중간 노드를 사용할 수 있다. 이는 직접 링크를 통해 유통하는 트래픽에 대한 지연을 최소화하기 때문에 이러한 선택적 로드 밸런싱이 유리할 수 있다. 이는 특정 트래픽 우선순위에 속하는 트래픽에 대해서만 채택될 수 있다.
멀티 레벨의 우선순위는 각 로드 밸런싱 엔티티에서 노드에 걸쳐 있는 배압 및 혼잡을 피하기 위해 사용될 수 있다. 배압은, 글로벌 배압과 같이, 여러 레벨에서, 목적지 노드 배압마다, 그리고 목적지 인터페이스 배압마다 발생할 수 있다. 배압은 또한 우선순위마다 있을 수 있다. 글로벌 배압은 포워딩 노드로부터 스위칭 노드로의 모든 트래픽을 제어한다. 목적지 노드에서의 배압은 특정 노드로 예정된 트래픽을 제어한다. 목적지 인터페이스 배압마다 특정 노드의 특정 인터페이스로 예정된 트래픽을 제어한다. 이는, 우선순위마다 있을 수 있고 또는 마찬가지로 더 높은 입도(granularity)마다 있을 수 있다. 더 높은 입도 QoS의 예는, 예를 들어 서비스 큐마다 목적지 포트와 COS의 조합에 대한 큐, 또는 더 높은 입도를 이용하는 것이다.
링크의 수 및 링크 용량이 가변적인 분산 스위치리스 상호 연결 시스템
본 개시의 일부 실시 형태에 따라, 시스템은 상이한 수의 링크 및 상이한 링크 용량을 가진 노드를 지원할 수 있다. 도 8은 서로 다른 용량의 링크를 가진 분산 스위치리스 상호 연결 시스템을 도시한다. 도 8에서, 노드(820, 825, 826 및 827) 간의 점선(813)은 더 높은 용량의 링크를 나타낸다. 더 높은 용량의 링크를 가진 노드는, 더 높은 용량의 링크를 통한 고속 연결 및 더 낮은 용량의 링크를 통한 저속 연결을 만들 수 있다.
도 9는 분산 스위치리스 상호 연결 시스템을 도시한다. 도 9에서, 노드(920, 925, 926 및 927) 간의 이중 파선(914)은 더 높은 수의 링크를 나타낸다. 더 높은 수의 링크를 가진 노드는, 낮은 수의 링크를 갖는 다른 노드로의 연결을 유지하면서, 더 높은 총 용량을 가진 임의 연결(any-to-any connectivity)을 생성할 수 있다.
비활성 링크를 방지하기 위해 트래픽을 다시 라우팅하기
소스 노드와 목적지 노드 사이의 트래픽이 특정 링크에 한정되지 않기 때문에, 시스템은 소정의 링크가 비활성 또는 혼잡한 경우에도 실행할 수 있다. 트래픽은 나머지 기능적 링크를 사용하기 위해 라우팅될 수 있다. 본 개시의 실시 형태에 따르면, 시스템의 모든 노드는 고정된 간격마다 모든 다른 노드로 킵 얼라이브 메시지를 전송한다. 대안적으로, 링크 실패는 예를 들어, 광 링크 상의 광의 손실뿐만 아니라 다른 수단에 의해서도 검출될 수 있다.
노드는 링크가 실패할 때 또는 링크가 혼잡할 때, 킵 얼라이브 메시지를 수신하지 못할 것이다. 수신 노드가 킵 얼라이브 메시지를 수신하지 못한 경우, 수신 노드는 킵 얼라이브 메시지를 전송하는 노드로 메시지를 전송할 수 있다. 수신 노드로부터의 메시지는 링크가 비활성 상태임을 보고한다. 대안적으로, 수신 노드는 킵 얼라이브 메시지의 수신을 애크하는 회신 메시지를 전송할 수 있다. 전송 노드가 제1 킵 얼라이브 메시지에 응답하여 회신 메시지를 수신하지 않을 때, 전송 노드는 또한 링크가 비활성 상태임을 검출한다.
비활성 링크가 감지되면, 2개의 메시지가 브로드캐스트될 수 있다. 비활성 링크의 수신 노드는 비활성 링크를 사용하여 데이터를 전송하지 않음을 나타내는 메시지를 다른 모든 노드에 브로드캐스트할 수 있다. 후술하는 바와 같이, 비활성 링크의 전송 노드는 또한 비활성 링크를 사용하여 데이터를 전달하지 않음을 다른 노드에 나타내는 동일한 메시지를 모든 다른 노드에 브로드캐스트할 수 있다.
비활성 링크가 활성화될 때, 링크의 수신 노드와 전송 노드 둘 다는 링크가 활성 상태임을 나타내는 2개의 개별 메시지를 브로드캐스트할 수 있다. 2개의 다른 소스로부터 전송된 링크 상태 변화를 나타내는 메시지를 가짐으로써, 시스템은 메시지의 전달의 신뢰성을 증가시킨다.
도 10은 비활성 링크를 갖는 분산 스위치리스 상호 연결 시스템의 일례를 도시한다. 이 예에서, 노드(1021)로부터 노드(1022)까지의 링크는 비활성 상태이다. 첫째, 노드(1022)는 어떠한 킵 얼라이브 메시지도 노드(1021)로부터 수신되지 않았음을 식별한다. 그 다음, 노드(1022)는 그들 사이의 링크가 비활성 상태인 것을 나타내는 메시지를 노드(1021)에 전송한다. 노드(1022)는 노드(1021)를 통해 노드(1022)에 데이터를 전송하지 않도록 나타내는 브로드캐스트 메시지를 모든 노드에 전송한다. 노드(1021)는 또한 모든 다른 노드들에 대해 동일한 브로드캐스트 메시지를 전송한다. 다른 모든 노드는 노드(1021)를 통해 노드(1022)에 데이터의 전송을 중지하도록 그들의 동적 트래픽 분산 로직을 업데이트한다.
동적 트래픽 분산 로직은, 가능한 균일하게 시스템에 걸쳐 트래픽을 분산하기 위해, 배압 메커니즘에 의해 사용 가능하게 만들어진, 시스템에 걸쳐 링크의 상태 및 버퍼의 상태를 이용한다. 통상적으로, 각 소스 노드가 가능한 링크에 기초하여 각 목적지에 가능한 균등하게 트래픽을 분산할 때 광역 로드 밸런싱이 달성된다. 이용 가능한 링크는 직접 링크와 중간 노드를 통한 간접 링크를 모두 포함할 수 있다. 동적 트래픽 분산 로직은, 그러나, 적은 수의 간접 링크가 사용 가능한 경우 간접 링크를 통해 트래픽의 작은 부분을 전송한다. 동적 트래픽 분산 로직은 여러 루트를 통해 목적지로 전달되는 트래픽의 부분들을 제어하기 위해 가중 라운드 로빈을 사용한다. 네트워크 내의 노드가 다른 노드로 데이터를 전송하는 경우, 소스 노드는 노드(1021)로부터 노드(1022)까지의 링크를 이용하는 것을 방지하고 다른 기능적 링크를 이용하여 데이터를 재분산한다.
트래픽 분산 로직은 모든 링크의 이용 가능성을 나열하는 테이블을 보유할 수 있다. 이러한 테이블의 예는 목적지 노드 당 하나의 행을 포함한다. 각 행은 이러한 각 중간 노드에 대한 링크의 리스트와 함께 목적지에 대한 중간 노드로서 사용할 수 있는 노드의 리스트를 포함하고 있다. 테이블은 또한 각 목적지에 대한 직접 연결된 링크들의 리스트를 포함할 수 있다. 테이블 내의 모든 링크는 소스 및 목적지 노드로 표시될 수 있다. 이러한 테이블은 목적지에 대한 직접 링크와 간접 링크 모두를 포함할 수 있다.
테이블의 각 링크의 상태는, 상술한 바와 같이, 자동으로, 또는 제어 플레인에 의해 수동으로 업데이트될 수 있다. 제어 플레인은 노드의 CPU에서 실행되는 프로세스이고 시스템의 동작을 제어한다. 제어 플레인에 대한 입력은, 시스템 상태에 대한 오퍼레이터 구성 명령과 하드웨어 표시일 수 있다. 자동 업데이트는 시스템의 오류를 검출 및 복구하는 데 유용할 수 있고, 수동 업데이트는 유지 보수를 위해 유용할 수 있다.
제어 플레인은 유지 보수가 특정 링크에 예상될 때 링크를 디스에이블 또는 인에이블시킬 수 있다. 유지 보수 또는 업그레이드를 수행할 때, 오퍼레이터는 수동으로 테이블을 업데이트함으로써 특정 링크를 수동으로 디스에이블시킬 수 있다. 유지 보수를 완료한 후, 오퍼레이터는 테이블을 업데이트하고 링크를 인에이블시킬 수 있다. 다수의 링크가 업그레이드될 필요가 있을 때, 링크는 다음과 같은 순차로 하나씩 대체될 수 있다. 이러한 기능은 추가 노드를 도입하는 프로세스를 간소화할 수 있다.
PassCOM
본 개시의 양태에 따르면, 수동 연결 광학 모듈이 제공된다. PassCOM은 완전 메시 형태로 여러 노드를 연결하고 기존 완전 메시 네트워크에 노드를 추가하기 쉽게 만든다. PassCOM의 물리적 형상 또는 상간(interphase) 연결은 전통적인 스위치와 유사할 수 있다. 그러나, 전통적인 스위치와는 달리, PassCOM는 전자 부품을 포함하지 않는 수동 소자이다.
도 11에서, 6개의 노드(1121 내지 1126)들은 완전 메시 형태로 연결된다. 완전 메시 연결성은 적어도 N(N-1)/2 개의 링크(1150)를 필요로 하는데, 여기서 N은 노드의 개수이다. 완전 메시 형태로 노드들을 연결하기 위해 N(N-1)/2 개의 링크를 갖는 것은, 물리적으로 시스템을 구축하고 기존 시스템에 노드를 추가하기 어렵게 만든다.
도 12는 다수의 노드를 연결하기 위해 PassCOM를 이용하는 시스템의 일례를 도시한다. PassCOM(1201)은 노드(1221-1226)를 연결한다. 모든 링크 그룹(1260)은 PassCOM(1201)에 단일 노드를 연결한다. 루프백 루프, 또는 자체 루프를 포함함으로써, 이러한 구성은 노드와 PassCOM(1201) 사이의 링크 그룹(1260) 당 N 개의링크를 필요로 한다. 예를 들어, 도 12에서, 각 링크 그룹(1260)은 5개의 링크를 포함한다. 요약하면, 시스템에는 적어도 N2 개의 링크가 있다. 이는, 전체 대역폭 및 탄력성을 개선하기 위해 링크 그룹 당 N보다 많은 링크를 사용하는 것이 가능하다. 링크의 물리적 구성은, 그러나, 모든 링크가 PassCOM(1201)의 형태로 중앙 허브에 연결되어 있기 때문에 간단하다.
PassCOM은 N 프론트-엔드 커넥터, K 플러그, K 백-엔드 커넥터, 및 프론트-엔드 커넥터와 백-엔드 커넥터를 연결하는 내부 광섬유를 포함할 수 있다. 도 13은 4개의 노드(1321-1324)를 연결하는 PassCOM(1301)을 도시한다. PassCOM(1301)은 4개의 프론트-엔드 커넥터(1331-1334)를 포함하고, 외부 링크 그룹(1360)은 대응하는 프론트-엔드 커넥터에 노드를 연결한다. 내부 링크(1370)는 백-엔드 커넥터(1381-1384)들의 각각에 프론트-엔드 커넥터(1331-1334)들의 각각을 연결한다. 백-엔드 커넥터(1381-1384)들은 교체가능 플러그(1341-1344)를 수용한다. 교체가능 플러그(1341-1344)로 구성된 플러그-세트는 식별된 프론트-엔드 커넥터에의 연결을 제공한다.
플러그(1341)는 루프백 연결을 제공한다. 일부 경우에는, 모든 가능한 경로에 걸쳐 동일한 지연을 유지하는 것이 중요하다. 루프백 연결이 모든 경로를 정확히 동일하게 만들 수 있다. 노드는 데이터를 그 자체로 내부적으로 전송하거나 PassCOM을 통해 데이터를 전송할 수 있다. 노드가 데이터를 그 자체로 내부적으로 전송할 때, 노드는 데이터를 그 자체로 전송하기 위한 별도의 로직을 구현해야 한다. 또한, 데이터를 내부적으로 수신하기 위한 대기 시간은 PassCOM을 통해 데이터를 수신하기 위한 대기 시간과 상이하다. 또한, 내부 루프는 잠재적인 정체를 처리하기 위해 추가 와이어, 멀티플렉서, 디멀티플렉서, 및 메모리를 필요로 할 수 있다. 따라서, 모든 데이터를 PassCOM에 전송하고 루프백 연결을 통해 PassCOM 루트를 되돌리게 하기가 쉬울 수 있다. 플러그(1342)는 2개의 프론트-엔드 커넥터(1331 및 1332)를 연결하고 또한 2개의 프론트-엔드 커넥터(1333 및 1334)를 연결한다. 플러그(1343)는 2개의 프론트-엔드 커넥터(1331 및 1333)를 연결하고 또한 2개의 프론트-엔드 커넥터(1332 및 1334)를 연결한다. 마찬가지로, 플러그(1344)는 2개의 프론트-엔드 커넥터(1331 및 1334)를 연결하고 또한 2개의 프론트-엔드 커넥터(1332 및 1333)를 연결한다.
본 개시의 양태에 따르면, 각 프론트-엔드 커넥터는 각각의 백-엔드 커넥터에 연결된다. 이러한 방식으로, 모든 노드는 가장 균형있게 완전 메시 형태로 연결될 수 있다. 예를 들어, 하나의 플러그가 분리될 때, 각 노드는 동일한 수의 링크 연결을 잃는다. PassCOM(1301)의 경우, 각 노드는 임의의 주어진 플러그가 제거되면 하나의 연결을 잃는다. 따라서, 각 노드마다 균형잡힌 대역폭 저하가 존재한다.
물리적 연결이 플러그 분리로 인해 부분적으로 손실되지만, 논리적 연결(즉, 노드 사이의 패킷 전송 기능)은 아직 2개의 홉 스위칭 방법으로 인해 존재한다.
본 개시의 양태에 따르면, K 플러그(1341-1344)의 플러그-세트는 완전 메시 토폴로지로 노드들을 물리적으로 연결한다. 모든 노드 간 연결은 동일한 대역폭이나 상이한 대역폭을 가질 수 있다. 또한, 각 연결은 한 쌍의 노드를 연결하기 위해 동일한 수의 링크(1370) 또는 상이한 수의 링크를 사용할 수 있다.
PassCOM(1301)은 동일한 수의 프론트-엔드 커넥터, 백-엔드 커넥터 및 플러그를 가진다. 그러나, PassCOM은 이러한 구성에 한정되지 않는다. PassCOM은 임의의 수의 프론트-엔드 커넥터, 백-엔드 커넥터 및 플러그를 가질 수 있다.
한 실시 형태에서, 시스템의 모든 노드로부터 링크를 수신 및 전송하는 번들은 프론트-엔드 PassCOM 커넥터에 연결된다. 플러그-세트는 한 노드로부터의 하나 이상의 전송 링크를 다른 노드 내의 동일한 수의 수신 링크에 연결한다. 수신 및 전송 링크는 광섬유일 수 있다. 내부 링크도 광섬유일 수 있다. 수신 및 전송 링크는 K 그룹들로 분할되고, 내부 링크는 수신 및 전송 링크의 각 그룹을 해당 K 플러그에 연결한다.
PassCOM은 내부 노드 간 스위칭 시스템과 함께 사용될 수 있는데, 여기서 각 노드는 다른 노드로 데이터를 전송할 수 있다. 소스 노드는 다른 노드의 수신 링크에 연결되는 특정 전송 링크를 통해 데이터를 전송할 수 있다.
PassCOM의 한가지 장점은 간단한 업그레이드 프로세스이다. 노드의 수를 증가시키면, 오퍼레이터는 PassCOM의 프론트-엔드 커넥터에 새로운 노드로부터의 링크를 연결함으로써 기존 PassCOM에 새로운 노드를 연결할 수 있다. 모든 링크가 개별 노드가 아닌 PassCOM에 연결되어 있기 때문에, 배선 처리는 간단하다. 플러그-세트의 변경은 PassCOM의 연결을 변경하기 때문에, 내부 링크는 정적으로 연결되어 있다. 즉, 내부 링크는 동일하게 유지된다.
PassCOM이 상이한 수의 노드들을 연결하기 위한 상이한 플러그-세트를 사용할 수 있기 때문에 업그레이드 프로세스는 교체용 플러그를 필요로 할 수 있다. 임의의 2개의 노드를 연결하는 더 많은 링크를 갖는 것은 시스템의 대역폭을 증가시킬 수 있다. 완전 메시 연결에서, 비
Figure pct00008
는 로컬 과속인데, 여기서 M은 시스템의 사용 가능한 링크의 수이고, CL은 링크의 용량이며, CN은 노드의 용량(즉, 처리 능력 + 평균 전송 용량)이다. 로컬 과속이 1보다 큰 경우, 시스템은 그 노드의 전체 처리 용량을 취급할 수 있다. 1보다 큰 임계 수보다 더 크게 로컬 과속을 유지하는 것이 바람직하다.
로컬 과속이 1보다 크게 되도록 링크 용량이 크거나 노드 용량이 작은 경우, 시스템 스케일(즉, 노드들의 수)의 업그레이드 또는 다운그레이드는 단지 부분적 트래픽 손실 또는 손실 없이 행해질 수 있다. 이러한 트래픽 손실은 M의 값에 의존한다.
도 14a는, 2개의 노드를 연결하지만, 도 13에서 사용된 플러그(1341-1344)를 갖는 플러그-세트와 동일한 플러그-세트 - 플러그(1441-1444) - 를 갖는 PassCOM을 도시한다. 2개의 노드(1421 및 1422)는 2개의 프론트-엔드 커넥터(1431 및 1432)에 각각 연결되어 있다. 플러그(1441-1444) 중에서, 플러그(1442)만이 노드(1421과 1422) 사이의 연결을 제공한다. 또한, 플러그(1441)는 단지 루프백 연결을 제공하는 플러그이다.
대조적으로, 도 14b는 다른 플러그-세트: 플러그(1446-1449)를 갖는 PassCOM을 도시한다. 이러한 예에서, 플러그-세트는, 2개의 노드(1421 및 1422)가 2개의 링크에 의해 서로 연결되고, 각 노드가 2개의 루프백 링크를 갖게 되는 방식으로 정의된다. 2개의 노드(1421 및 1422)는 2개의 프론트-엔드 커넥터(1431 및 1432)에 각각 연결되어 있다. 플러그(1446-1449) 사이에서, 2개의 플러그(1448 및 1449)는 노드(1421) 및 노드(1422)를 연결하여, 대역폭을 2배로 한다. 이러한 설정에서, 2개의 플러그(1446 및 1447)는 루프백 연결을 허용한다.
예를 들어, 2개의 프론트-엔드 커넥터(N = 2), 및 4개의 백-엔드 커넥터(K = 4)를 가진 PassCOM이 도시된다. 그러나, N과 K의 임의의 조합은 K보다 작은 N에 대해 가능하다. N이 K보다 작은 경우에도, 또는 노드의 수가 백-엔드 커넥터의 수보다 작을 때, 동일한 전체 상호 연결 대역폭은 도 14b에 도시된 바와 같이 하나보다 많은 링크에 의해 노드들의 쌍을 연결함으로써 달성될 수 있다.
노드 간의 최소 요구 대역폭에 따라, 적은 수의 연결로 노드를 연결하는 것이 가능하다. 예를 들어, 하나의 링크의 대역폭이 1421과 1421을 연결하기에 충분하다면, 1441-1444를 사용하여 충분한 대역폭을 제공할 것이다. 그래서, PassCOM은 플러그(1446-1449)를 가진 플러그-세트를 사용할 필요가 없다.
기존 노드(1421 및 1422) 이외에, 플러그(1446-1449)를 가진 PassCOM(1401)에 노드를 추가하면, 오퍼레이터는 플러그를 변경할 것이다. 플러그(1446-1449)를 가진 플러그-세트가 2개의 노드를 연결하도록 설계되어 있기 때문에, 프론트-엔드 커넥터(1433 및 1434)는 프론트-엔드 커넥터(1431 및 1432)에 연결되어 있지 않다. 그 결과, 새롭게 도입된 노드가 기존 노드(1421 및 1422)에 연결되지 않을 것이다. 대신, 플러그(1441-1444)를 가진 플러그-세트는 노드를 추가할 때 사용될 수 있다.
PassCOM을 가진 라우터 및 분산 스위치리스 스위칭
분산 스위치리스 상호 연결 시스템에서 PassCOM의 사용의 이점은 데이터의 간접 전송이 허용되는 경우, 시스템이 트래픽의 주요 중단없이 업그레이드될 수 있다는 것이다. 첫째, 오퍼레이터는 대체될 플러그에 연결된 링크의 사용을 중지하도록 모든 노드에 명령을 전송할 수 있다. 오퍼레이터가 플러그를 교체한 후, 오퍼레이터는 링크를 사용하여 시작하도록 모든 노드에 명령을 전송할 수 있다.
전통적인 완전 메시 네트워크에서, 업그레이드된 연결을 사용하는 트래픽은 업그레이드 프로세스 동안 중지된다. 그러나, 멀티-홉 전송을 허용하는 제안된 분산 스위치리스 시스템에서, 트래픽이 계속 흐를 수 있다. 우선, 새로운 노드는 PassCOM의 프론트-엔드 커넥터에 연결된다. PassCOM 내의 플러그가 교체되면, 교체되는 플러그를 사용하는 트래픽은 중간 노드로서의 새로운 노드를 통해 라우팅된다.
PassCOM은 적은 수의 대형 플러그(즉, 연결 횟수가 많은 플러그), 좀 더 많은 수의 소형 플러그(즉, 연결 횟수가 적은 플러그), 또는 소형 및 대형 플러그들의 조합으로 동작할 수 있다. 동일한 연결은 플러그의 사이즈와 관계없이 달성될 수 있다. 그러나, 시스템 업그레이드 중에(즉, 노드의 추가 또는 제거), 상이한 사이즈의 플러그를 사용하기 위한 트레이드-오프가 있다. 플러그가 제거되면, 시스템은 대역폭의 1/Kth 부분을 잃는다. 플러그를 사용할 수 없는 동안, 시스템은 전체 대역폭의 (K-1)/Kth 부분을 이용한다. 대형 플러그가 사용되는 경우, 또는 플러그의 수 K가 적은 경우, 대역폭 감소가 크다. 그러나, 더 많은 링크를 연결하기 위해 대형 플러그를 사용하는 것은 업그레이드를 완료하기 위해 더 적은 수의 단계를 필요로 한다. 소형 플러그를 사용하는 경우에는 그와 반대이다. 소형 플러그를 교체할 때, 대역폭 감소는 작지만, 시스템을 업그레이드하기 위한 단계들의 수는 요구되는 동작의 수가 많기 때문에 더 크다.
도 15는 대형 플러그(1541 및 1542)를 가진 PassCOM(1501)을 도시한다. 연결은 도 13의 플러그(1341-1344)를 가진 PassCOM(1301)과 동일하지만, 플러그(1541 및 1542)는 개별 플러그(1341-1344)보다 2배 많은 링크를 개별적으로 연결한다. 도 15에 도시된 바와 같이, 대형 플러그는 더 많은 수의 연결로 플러그될 수 있다. 플러그(1541)는 백-엔드 커넥터(1581 및 1582)에 플러그되고, 플러그(1542)는 백-엔드 커넥터(1583 및 1584)에 플러그된다. 이러한 예에서, 2개의 백-엔드 커넥터는 하나의 플러그를 수용한다. 그러나, 2개보다 많은 백-엔드 커넥터는 하나의 플러그를 수용할 수 있다.
도 16은 4개의 노드(1621, 1622, 1623 및 1624)를 연결하는 2개의 프론트-엔드 커넥터(1631 및 1632)를 가진 PassCOM(1601)을 도시한다. 이 경우, 각각의 커넥터는 2개의 노드를 연결한다. 그러나, 본 개시는 도면에 도시된 구성에 한정되지 않는다. 프론트-엔드 커넥터와 노드의 임의의 조합이 가능한다. 제시된 바와 같이, 노드의 수는 프론트-엔드 커넥터의 수보다 작을 수 있다. 대안적으로, 노드의 수는 프론트-엔드 커넥터의 수보다 클 수 있다.
PassCOM의 실패 확률은 수동 부품을 갖기 때문에 낮다. 그러나, PassCOM 실패로부터 시스템을 더 보호하기 위해, 연결은 플러그들의 수까지, 다수의 PassCOM으로 분할될 수 있다. 한 실시 형태에서, 모든 노드는 2개 이상의 PassCOM에 연결된다. 도 17은 PassCOM(1701 및 1702)에 연결된 노드(1721-1726)를 도시한다.
도 18은 PassCOM(1801a 및 1801b)에서 프론트-엔드 커넥터와 플러그 사이에 링크가 연결되는 방법의 논리적 도면을 도시한다. 각 프론트-엔드 커넥터는 2개의 PassCOM으로부터 2개의 프론트-엔드 커넥터에 연결된다. 예를 들어, 노드(1821, 1822, 1823 및 1824)는 각각 2개의 프론트-엔드 커넥터(1831a와 1831b, 1832a와 1832b, 1833a와 1833b 및 1834a와 1834b)에 연결되어 있다. PassCOM(1801a)의 내부 링크는 프론트-엔드 커넥터(1831a-1834a)를 백-엔드 커넥터(1881a-1884a)에 연결한다. 마찬가지로, PassCOM(1801b)의 내부 링크는 프론트-엔드 커넥터(1831b-1834b)를 백-엔드 커넥터(1881b-1884b)에 연결한다.
본 개시를 읽음으로써 당업자에게 명백한 바와 같이, 본 개시는 구체적으로 상술된 것 이외의 형태로 실시될 수 있다. 따라서, 상술한 특정 실시 형태들은, 제한적인 것이 아니라 예시적인 것으로 간주되어야 한다. 본 분야의 숙련자들은, 일상적인 실험만을 사용하여, 본원에 기재된 특정 실시 형태에 대한 수많은 등가물을 인식하거나 확인할 수 있을 것이다. 본 발명의 범위는, 첨부된 특허 청구 범위 및 그 등가물에 기재된 바와 같고, 전술한 설명에 포함된 예에 한정되는 것은 아니다.

Claims (17)

  1. 시스템으로서,
    완전 메시 연결을 제공하는 멀티-섀시 라우터(multi-chassis router)에서의 복수의 프로세싱 엔진에 연결된 복수의 프론트-엔드 커넥터;
    상기 복수의 프로세싱 엔진을 연결하도록 구성된 적어도 하나의 교체가능 플러그;
    상기 적어도 하나의 교체가능 플러그를 수용하기 위한 적어도 하나의 백-엔드 커넥터; 및
    상기 적어도 하나의 백-엔드 커넥터에 상기 복수의 프론트-엔드 커넥터를 연결하는 복수의 링크를 포함하고,
    제1 프로세싱 엔진은 목적지 프로세싱 엔진을 나타내는 데이터를 제2 프로세싱 엔진에 전송하도록 구성되고;
    상기 제2 프로세싱 엔진은 상기 제2 프로세싱 엔진이 목적지 프로세싱 엔진인 경우, 상기 제1 프로세싱 엔진으로부터의 데이터를 처리하도록 구성되고;
    상기 제2 프로세싱 엔진은 상기 제2 프로세싱 엔진이 상기 목적지 프로세싱 엔진이 아닌 경우, 상기 목적지 프로세싱 엔진에 또는 중간 프로세싱 엔진에 상기 데이터를 전송하기로 결정하도록 구성되고;
    상기 제2 프로세싱 엔진은 상기 제2 프로세싱 엔진이 상기 목적지 프로세싱 엔진이 아닌 경우, 상기 목적지 프로세싱 엔진에 또는 상기 중간 프로세싱 엔진에 상기 제1 프로세싱 엔진으로부터의 데이터를 전송하도록 구성되는, 시스템.
  2. 제1항에 있어서,
    상기 데이터는 적어도 하나의 패킷을 포함하는 적어도 하나의 마스터 셀을 포함하는, 시스템.
  3. 제2항에 있어서,
    상기 적어도 하나의 마스터 셀은 큐 시퀀스 번호를 가진 헤더를 포함하는, 시스템.
  4. 제1항에 있어서,
    상기 제1 프로세싱 엔진은 적어도 하나의 중간 프로세싱 엔진에 상기 데이터를 전송하도록 구성되는, 시스템.
  5. 제1항에 있어서,
    제1 교체가능 플러그가 제거될 때 상기 제1 교체가능 플러그가 제거됨을 브로드캐스트하도록 구성된 제어 플레인을 더 포함하는, 시스템.
  6. 제1항에 있어서,
    상기 제1 프로세싱 엔진은 상기 제1 교체가능 플러그가 제거될 때 상기 제1 교체가능 플러그가 상기 제1 프로세싱 엔진과 상기 제2 프로세싱 엔진을 연결하는지를 결정하도록 구성되는, 시스템.
  7. 제1항에 있어서,
    상기 제1 프로세싱 엔진은 상기 제1 프로세싱 엔진이 상기 제2 프로세싱 엔진으로부터 킵 얼라이브 메시지(keepalive message)를 수신하지 못하면 상기 제1 프로세싱 엔진에 상기 제2 프로세싱 엔진을 연결하는 제1 링크가 비활성 상태임을 브로드캐스트하도록 구성되는, 시스템.
  8. 제1항에 있어서,
    상기 제1 프로세싱 엔진은 상기 제2 프로세싱 엔진에 제1 킵 얼라이브 메시지를 전송하도록 구성되고;
    상기 제1 프로세싱 엔진은 상기 제1 프로세싱 엔진이 상기 제1 킵 얼라이브 메시지에 응답하여 상기 제2 프로세싱 엔진으로부터 메시지를 수신하지 못하면 상기 제2 프로세싱 엔진에 상기 제1 프로세싱 엔진을 연결하는 제1 링크가 비활성 상태임을 브로드캐스트하도록 더 구성되는, 시스템.
  9. 제1항에 있어서,
    상기 제1 프로세싱 엔진은 상기 제2 프로세싱 엔진에 제1 킵 얼라이브 메시지를 전송하도록 구성되고;
    상기 제1 프로세싱 엔진은 상기 제1 프로세싱 엔진이 상기 제1 킵 얼라이브 메시지의 수신 실패를 나타내는 메시지를 상기 제2 프로세싱 엔진으로부터 수신하면 상기 제2 프로세싱 엔진에 상기 제1 프로세싱 엔진을 연결하는 제1 링크가 비활성 상태임을 브로드캐스트하도록 더 구성되는, 시스템.
  10. 방법으로서,
    완전 메시 연결을 제공하는 멀티-섀시 라우터에서의 복수의 프로세싱 엔진에 복수의 프론트-엔드 커넥터를 연결하는 단계;
    복수의 링크를 통해 적어도 하나의 백-엔드 커넥터에 상기 복수의 프론트-엔드 커넥터를 연결하는 단계;
    상기 적어도 하나의 백-엔드 커넥터에 의해, 상기 복수의 프로세싱 엔진을 연결하도록 구성된 적어도 하나의 교체가능 플러그를 수용하는 단계;
    제1 프로세싱 엔진에 의해, 목적지 프로세싱 엔진을 나타내는 데이터를 제2 프로세싱 엔진에 전송하는 단계;
    상기 제2 프로세싱 엔진에 의해, 상기 제2 프로세싱 엔진이 상기 목적지 프로세싱 엔진인지를 결정하는 단계;
    상기 제2 프로세싱 엔진이 상기 목적지 프로세싱 엔진인 경우, 상기 제2 프로세싱 엔진에 의해 상기 제1 프로세싱 엔진으로부터의 데이터를 처리하는 단계;
    상기 제2 프로세싱 엔진이 상기 목적지 프로세싱 엔진이 아닌 경우, 상기 제2 프로세싱 엔진에 의해, 상기 데이터를 상기 목적지 프로세싱 엔진에 또는 중간 프로세싱 엔진에 전송하기로 결정하는 단계; 및
    상기 제2 프로세싱 엔진이 상기 목적지 프로세싱 엔진이 아닌 경우, 상기 제2 프로세싱 엔진에 의해, 상기 제1 프로세싱 엔진으로부터의 데이터를 상기 목적지 프로세싱 엔진에 또는 상기 중간 프로세싱 엔진에 전송하는 단계를 포함하는, 방법.
  11. 제10항에 있어서,
    상기 데이터는 적어도 하나의 패킷을 포함하는 적어도 하나의 마스터 셀을 포함하는, 방법.
  12. 제10항에 있어서,
    상기 제1 프로세싱 엔진에 의해, 상기 데이터를 적어도 하나의 중간 프로세싱 엔진에 전송하는 단계를 더 포함하는 방법.
  13. 제10항에 있어서,
    상기 적어도 하나의 교체가능 플러그의 제1 교체가능 플러그를 제거하는 단계; 및
    제2 교체가능 플러그를 플러그 인(plugging in)하는 단계를 더 포함하는, 방법.
  14. 제13항에 있어서,
    제어 플레인에 의해, 상기 제1 교체가능 플러그가 제거됨을 브로드캐스트하는 단계를 더 포함하는, 방법.
  15. 제10항에 있어서,
    상기 제1 프로세싱 엔진이 상기 제2 프로세싱 엔진으로부터 킵 얼라이브 메시지를 수신하지 못하는 경우, 상기 제1 프로세싱 엔진에 의해, 상기 제2 프로세싱 엔진에 상기 제1 프로세싱 엔진을 연결하는 제1 링크가 비활성 상태임을 브로드캐스트하는 단계를 더 포함하는, 방법.
  16. 제10항에 있어서,
    상기 제1 프로세싱 엔진에 의해, 상기 제2 프로세싱 엔진에 제1 킵 얼라이브 메시지를 전송하는 단계; 및
    상기 제1 프로세싱 엔진이 상기 제1 킵 얼라이브 메시지에 응답하여 상기 제2 프로세싱 엔진으로부터 메시지를 수신하지 못하는 경우, 상기 제1 프로세싱 엔진에 의해, 상기 제2 프로세싱 엔진에 상기 제1 프로세싱 엔진을 연결하는 제1 링크가 비활성 상태임을 브로드캐스트하는 단계를 더 포함하는, 방법.
  17. 제10항에 있어서,
    상기 제1 프로세싱 엔진에 의해, 상기 제2 프로세싱 엔진에 제1 킵 얼라이브 메시지를 전송하는 단계; 및
    상기 제1 프로세싱 엔진이 상기 제1 킵 얼라이브 메시지의 수신 실패를 나타내는 메시지를 상기 제2 프로세싱 엔진으로부터 수신하는 경우, 상기 제1 프로세싱 엔진에 의해, 상기 제2 프로세싱 엔진에 상기 제1 프로세싱 엔진을 연결하는 제1 링크가 비활성 상태임을 브로드캐스트하는 단계를 더 포함하는, 방법.
KR1020157015743A 2012-11-15 2013-11-13 수동 상호 연결 및 분산 스위치리스 스위칭의 라우터 KR20150111908A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/678,388 2012-11-15
US13/678,388 US9197541B2 (en) 2012-11-15 2012-11-15 Router with passive interconnect and distributed switchless switching
PCT/IB2013/003053 WO2014076574A2 (en) 2012-11-15 2013-11-13 Router with passive interconnect and distributed switchless switching

Publications (1)

Publication Number Publication Date
KR20150111908A true KR20150111908A (ko) 2015-10-06

Family

ID=50681653

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157015743A KR20150111908A (ko) 2012-11-15 2013-11-13 수동 상호 연결 및 분산 스위치리스 스위칭의 라우터

Country Status (6)

Country Link
US (1) US9197541B2 (ko)
EP (1) EP2920920A4 (ko)
JP (1) JP2016501475A (ko)
KR (1) KR20150111908A (ko)
CN (1) CN104995872A (ko)
WO (1) WO2014076574A2 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9277300B2 (en) * 2012-11-15 2016-03-01 Compass Electro Optical Systems Ltd. Passive connectivity optical module
CN103777280B (zh) 2014-01-27 2016-06-15 华进半导体封装先导技术研发中心有限公司 一种具有倾斜角度的光纤装配体及其装配方法
TW201547239A (zh) * 2014-06-03 2015-12-16 Univ Nat Cheng Kung 適用平行運算之無交換器網路建構系統及方法
US10644958B2 (en) * 2016-01-30 2020-05-05 Western Digital Technologies, Inc. All-connected by virtual wires network of data processing nodes
US10222992B2 (en) 2016-01-30 2019-03-05 Western Digital Technologies, Inc. Synchronization method and apparatus for an interconnection network using parallel-headerless TDMA routing
JP6932793B2 (ja) * 2017-06-23 2021-09-08 華為技術有限公司Huawei Technologies Co.,Ltd. データ処理方法および装置ならびにスイッチングデバイス
CN109412964B (zh) * 2017-08-18 2022-04-29 华为技术有限公司 报文控制方法及网络装置
US10742513B2 (en) * 2018-02-05 2020-08-11 David I-Keong Wong Network interconnect as a switch
JP2020046713A (ja) * 2018-09-14 2020-03-26 日本電気株式会社 並列計算機システム、並列計算機システムの制御方法、及びプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWM270514U (en) * 2004-12-27 2005-07-11 Quanta Comp Inc Blade server system
US8064467B2 (en) * 2005-02-04 2011-11-22 Level 3 Communications, Llc Systems and methods for network routing in a multiple backbone network architecture
US8213409B2 (en) * 2007-02-20 2012-07-03 Harris Corporation System and method for communicating over mesh networks using waveform-enhanced, link-state routing
US20090282291A1 (en) * 2008-05-08 2009-11-12 Nortel Networks Limited Internal maintenance association end point (mep) for sharing state information
WO2010027495A1 (en) * 2008-09-04 2010-03-11 Trilliant Networks, Inc. A system and method for implementing mesh network communications using a mesh network protocol
US7983194B1 (en) * 2008-11-14 2011-07-19 Qlogic, Corporation Method and system for multi level switch configuration
JP5168230B2 (ja) * 2009-05-26 2013-03-21 富士通株式会社 通信システム、エッジルータ及び信号転送方法
US8139492B1 (en) * 2009-06-09 2012-03-20 Juniper Networks, Inc. Local forwarding bias in a multi-chassis router
US8139490B2 (en) * 2009-12-21 2012-03-20 Google Inc. Deadlock prevention in direct networks of arbitrary topology
US8218557B2 (en) * 2010-04-09 2012-07-10 Telefonaktiebolaget L M Ericsson (Publ) Scalable distributed user plane partitioned two-stage forwarding information base lookup for subscriber internet protocol host routes
US9306769B2 (en) * 2010-10-05 2016-04-05 Mellanox Technologies Tlv Ltd. Cell-based link-level retry scheme
US9071503B2 (en) * 2010-10-25 2015-06-30 Ciena Corporation Highly scalable OSPF routing in support of full mesh optical networks
US8885562B2 (en) * 2012-03-28 2014-11-11 Telefonaktiebolaget L M Ericsson (Publ) Inter-chassis redundancy with coordinated traffic direction

Also Published As

Publication number Publication date
WO2014076574A3 (en) 2014-09-12
EP2920920A4 (en) 2016-05-11
EP2920920A2 (en) 2015-09-23
US9197541B2 (en) 2015-11-24
JP2016501475A (ja) 2016-01-18
WO2014076574A2 (en) 2014-05-22
CN104995872A (zh) 2015-10-21
US20140133487A1 (en) 2014-05-15

Similar Documents

Publication Publication Date Title
US9319310B2 (en) Distributed switchless interconnect
KR20150111908A (ko) 수동 상호 연결 및 분산 스위치리스 스위칭의 라우터
US7733781B2 (en) Distributed congestion avoidance in a network switching system
US7298752B2 (en) Packet communication device
US9426085B1 (en) Methods and apparatus for multi-path flow control within a multi-stage switch fabric
CN1663194B (zh) 用于在光纤信道结构中选择性地传递帧的方法和系统
US10097479B1 (en) Methods and apparatus for randomly distributing traffic in a multi-path switch fabric
JP4822997B2 (ja) 通信装置および通信方法
WO2020236261A1 (en) Dragonfly routing with incomplete group connectivity
US7957293B2 (en) System and method to identify and communicate congested flows in a network fabric
EP1856921B1 (en) Multi-stage packet switching system with alternate traffic routing
US9197539B2 (en) Multicast miss notification for a distributed network switch
US8369296B2 (en) Distributed link aggregation
US20070147364A1 (en) Local and remote switching in a communications network
CA2334131A1 (en) Data channel reservation in optical burst-switched networks
US7633861B2 (en) Fabric access integrated circuit configured to bound cell reorder depth
EP1501247B1 (en) Software configurable cluster-based router using stock personal computers as cluster nodes
WO2013054344A2 (en) Method and apparatus for end-end communication and inter-domain routing in omnipresent ethernet networks with an option to migrate to mpls-tp
US7660239B2 (en) Network data re-routing
US8953605B1 (en) Methods and apparatus for a handshake protocol in a LAG-based multipath switch fabric for multipath OAM
US9277300B2 (en) Passive connectivity optical module
JP3278519B2 (ja) 情報通信システム
JP6236925B2 (ja) 伝送装置および伝送方法
US20060056424A1 (en) Packet transmission using output buffer

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