KR100553919B1 - 데이터 패킷 스위치의 멀티캐스트 트래픽을 제어하기 위한시스템 및 방법 - Google Patents

데이터 패킷 스위치의 멀티캐스트 트래픽을 제어하기 위한시스템 및 방법 Download PDF

Info

Publication number
KR100553919B1
KR100553919B1 KR1020037003384A KR20037003384A KR100553919B1 KR 100553919 B1 KR100553919 B1 KR 100553919B1 KR 1020037003384 A KR1020037003384 A KR 1020037003384A KR 20037003384 A KR20037003384 A KR 20037003384A KR 100553919 B1 KR100553919 B1 KR 100553919B1
Authority
KR
South Korea
Prior art keywords
multicast
traffic
data
switch
shared memory
Prior art date
Application number
KR1020037003384A
Other languages
English (en)
Other versions
KR20030036761A (ko
Inventor
윈드다니엘
로망띠에리
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20030036761A publication Critical patent/KR20030036761A/ko
Application granted granted Critical
Publication of KR100553919B1 publication Critical patent/KR100553919B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • 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/3009Header conversion, routing tables or routing tags
    • 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/3018Input 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/3027Output queuing

Abstract

본 발명은 고정 사이즈 데이터 패킷들을 입력 포트로부터 출력 포트로 라우팅하도록 고안된 종류의 데이터 스위치 내에서 버퍼 내에 고정 사이즈 데이터 패킷들의 단일 복사본을 일시적으로 보관하는 공유 메모리를 통하여 멀티캐스트 트래픽 레벨을 평가하도록 하는 발명이다. 출력 포트는 각각 이들을 통하여 데이터 스위치를 떠날 예정인 데이터 패킷들을 보관하는 버퍼들에 대한 포인터를 포함하는 출력 포트 큐를 갖추고 있다. 본 발명은 데이터 패킷을 현재 보관하는 공유 메모리 버퍼의 총 수가 카운트되고 출력 큐에서 발견된 버퍼 포인터들의 총 수와 비교된다고 가정한다. 이렇게 해서, 멀티캐스트 트래픽 레벨의 측정 기준이 유도되고, 이로부터 멀티캐스트 지수(Multicast Index, MCI)가 계산될 수 있다. 본 발명은 또한 데이터 스위치가 멀티캐스트 입력 큐를 포함하는 스위치 코어 적응 층(Switch Core Adaptation Layer, SCAL)과 함께 사용된다고 가정한다. 우선 순위 클래스의 집합에 기초하여 트래픽이 처리되기 때문에, 우선 순위마다 멀티캐스트 입력 큐와 관련된 멀티캐스트 임계값 MCT(P)가 설정되거나 갱신된다. 따라서, 입력 데이터 트래픽을 수신하는 동안, MCI가 계속 계산되고, 각 SCAL에서 각 우선 순위 클래스(P)에 대하여 MCI가 MCT(P)와 비교되어 대응하는 멀티캐스트 트래픽이 보관되어야 하는지 아닌지를 결정한다.
본 발명은 고정 사이즈 데이터 패킷 스위치를 사용하여 통신 네트워크에서 트래픽 혼잡을 방지하는데 도움이 되는데, 만일 이렇게 하지 않는다면, 높은 레벨의 멀티캐스트와 브로드캐스트가 네트워크 노드에서 지지되어야 할 때 트래픽 혼잡이 발생할 것이다.
트래픽, 멀티캐스트, 브로드캐스트, MCI, SCAL

Description

데이터 패킷 스위치의 멀티캐스트 트래픽을 제어하기 위한 시스템 및 방법 {SYSTEM AND METHOD FOR CONTROLLING THE MULTICAST TRAFFIC OF A DATA PACKET SWITCH}
본 발명은 개괄적으로 통신 네트워크에 관한 것이다. 본 발명은 보다 구체적으로 데이터 네트워크 교환 노드에서 사용되는 패킷 스위치의 멀티캐스트 및 브로드캐스트 트래픽을 제어하는 시스템 및 방법에 관한 것이다. 본 발명은 지나치게 높은 레벨의 멀티캐스트 및 브로드캐스트 트래픽이 허가될 경우 발생할 모든 종류의 트래픽 혼란을 예방하는 것을 목적으로 한다.
과거 몇 년 동안 통신 네트워크의 대역폭에 대한 요구가 지속적으로 커지면서 광섬유로 만들어진 통신선의 배치를 가속시켰다. 또한, 이러한 광섬유의 고유의 큰 대역폭 용량을 더욱 개발시키기 위해서, WDM(Wavelength Division Multiplexing, 파장 분할 다중) 시스템의 광범위한 사용이 관찰되었다. 따라서, 대규모 통신 네트워크에서 더욱 더 많은 데이터를 운반하는데 방해가 되는 것은 과거에서처럼 더 이상 링크가 아니라, 교환 노드에 있다. 데이터를 운송하기 위하여 ATM(Asynchronous Transfer Mode), 프레임 릴레이, 및 IP(Internet Protocol)과 같은 상이한 프로토콜이 사용되고 있지만, 초당 수백 기가 비트의 범위에 있거나 심 지어 초당 수 테라 비트인 전체 데이터 트래픽을 처리할 수 있는 네트워크 노드의 실제 구현은, 요즘 주로 특히 고성능 패킷 장치를 이용하는 스위칭 기술에 의존한다. 네트워크 노드에서 스위칭을 수행하기 위하여 많은 상이한 접근 방식이 이론적으로 가능하다면, 일반적인 방법은 전술한 바와 같이, 최종 사용자를 연결하는데 실제로 사용되는 더 고도의 통신 프로토콜에 관계없이, 고정 사이즈 패킷(여기서 셀이라 부름) 스위칭 장치를 채용하는 것이다. 이러한 장치는 다른 방법 특히, 링이나 버스 아키텍처에서 종종 설계된 가변 길이 패킷을 다루는 방법보다 성능에 비해 더 용이하게 조정할 수 있다. 이렇게 해서, N 개의 입력과 N 개의 출력을 가진 블랙 박스로서 볼 수 있는 N×N 스위치가 임의의 수신(incoming) 링크로부터 임의의 발신(outgoing) 링크로 고정 사이즈 패킷들을 옮길 수 있도록 만들어진다. 그러나, 수신 링크는 입력 포트를 통하여 스위치 패브릭에 간접적으로 연결되어 있다. 실제로는 물리적인 수신 링크, 예를 들어, 광섬유 연결과 실제 스위치 패브릭 입력 포트 간에 라인 어댑터로의 포트가 항상 존재하는데, 이는 스위치가 고정 사이즈 패킷을 다루도록 맞춰져 있고 많은 프로토콜의 가변 길이 패킷을 직접 옮길 수 없다는 사실을 고려하도록, SONET(Synchronous Optical Network Standard)와 같이 일반적으로 복잡한 물리적 프로토콜과 스위칭 노드간에 또한 종종 사용되는 더 고도의 통신 프로토콜 중 일부에 적합하도록 변경되기 위해서이다. 역으로, 스위치 패브릭과 발신 링크간의 인터페이스는 출력 포트라고 불리고, 또한 출력 어댑터가 존재한다.
따라서, 만일 스위치가 광 섬유의 배치의 결과인 대역폭의 엄청난 증가를 수 용하도록 허가되었다면, 이러한 장치들은 본질적으로 두 지점 간 통신을 구축하도록 만들어지므로, 이들의 아키텍처는 하나의 수신 링크와 하나의 발신 링크를 연결할 때 가장 적합하다. 자연스럽게 멀티캐스트 또는 브로드캐스트를 지지하는 링 또는 버스와 같은 고유 매체 아키텍쳐와 반대로, (공유 매체 상에 접속된 각 어댑터는 어쨌든 공유 매체의 모든 트래픽을 알기 때문에) 스위치에서 이러한 네트워크의 필수 기능을 수행하는 것은 간단한 일이 아니다. 어떤 식으로든 입력 포트를 통과하여 들어오는 패킷은 출력 포트의 일부(멀티캐스트)에 대하여 또는 모든 출력 포트(브로드캐스트)에 대하여 복제될 필요가 있다. 내부 메모리를 절약하기 위하여, 패킷이 실제로 복제되는 것은 아니기 때문에, 멀티캐스트와 브로드캐스트를 관리하는 것은 복잡해진다. 더욱 중요한 것은, 그것은 다른 스위치 자원들을 소비하기 쉬우므로, 특히 매우 귀중한 스위치 내부 대역폭이 유니캐스트 트래픽을 희생하여 트래픽 혼잡을 악화시키거나 생성하는데 상당히 큰 원인이 될 수 있다. 복잡성 증가의 한 예로서, 각 멀티캐스트 흐름에 대하여 동일한 패킷이 통과하여 전송된 출력 포트의 리스트가 유지되어야 하고, 복제될 패킷의 단일 복사본이 이 리스트의 마지막 포트가 역할을 할 때까지 해제될 수 없다. 링 또는 버스에 기초한 공유 매체 해결책이 광 섬유의 배치를 수반하는 대역폭에 대한 커다란 요구에 대처하지 못한 반면, 스위치 특히 고정 패킷 스위치의 사용이 테라 비트 스위칭 기능을 구현하는 실행가능한 해결책임이 증명되었다면, 이것은 아키텍처가 이러한 필수 동작과 잘 맞지 않고 적당히 제어되지 않는다면 트래픽 혼잡을 빨리 생성하기 쉬운(이것은 더 심각한 문제임) 장치를 사용하여, 브로드캐스트와 멀티캐스트를 효과적으로 지 지할 수 있는 복잡한 메카니즘을 스위치내에 구현해야 하는 댓가를 치루었다.
따라서, 본 발명의 목적은 멀티캐스트와 브로드캐스트 트래픽이 네트워크 노드에서 지지되는 결과로서 통신 네트워크에서 발생하는 트래픽 혼잡을 예방하는데 도움이 되는 것이다.
본 발명의 보다 구체적인 목적은 고정 사이즈 패킷 스위치에서 처리되는 멀티캐스트와 브로드캐스트 트래픽의 레벨을 제어하는 방법 및 시스템을 제공하는 것이다.
본 발명의 다른 목적은 고정 사이즈 패킷 스위치에서 임의의 주어진 순간에 처리된 멀티캐스트와 브로드캐스트 트래픽의 전체 레벨을 추정할 수 있는 간단한 측정 기준을 정의하는 것이다.
본 발명의 또다른 목적은 스위치 내부의 자원들을 더 잘 이용할 수 있도록 하는 것이다.
도면을 참조하여 다음의 상세한 설명을 읽어보면 당업자들은 본 발명의 다른 목적들, 특징, 장점을 명백히 알 수 있을 것이다. 더 이상의 장점이 있다면 본 명세서에 포함되어야 할 것이다.
데이터 스위치 내의 멀티캐스트 트래픽의 레벨을 평가하는 방법 및 시스템이 기재되어 있다. 본 발명은 고정 사이즈 데이터 패킷들을 입력 포트로부터 출력 포트로 향하게 하고 고정 사이즈 데이터 패킷의 단일 복사본을 일시적으로 보관하는 공유 메모리를 포함하는 데이터 스위치에 적용된다. 공유 메모리는 고정 사이즈 데이터 패킷을 저장하는 버퍼로 구성되어 있다. 출력 포트는 각각 출력 포트 큐를 구비하고 있는데, 출력 포트 큐는 출력 포트를 통하여 데이터 스위치를 떠날 예정인 데이터 패킷을 보관하는 버퍼들에 대한 포인터를 가지고 있다. 그래서, 본 발명은 데이터 스위치를 떠날 예정인 데이터 패킷을 현재 보관하는 공유 메모리 버퍼의 총 수가 카운트되어 있다고 가정한다. 또한, 모든 출력 포트 큐에 걸쳐, 버퍼에 대한 포인터의 전체 수가 카운트되어 있다. 이렇게 해서, 두 개의 수를 비교함으로써 멀티캐스트 트래픽의 레벨의 측정 기준이 유도되고, 그 결과 멀티캐스트 지수(MCI, MultiCast Index)를 계산해낼 수 있다. 본 발명은 또한 하나 이상의 출력 포트를 목적지로 하는 수신 트래픽을 보관하기 위하여 멀티캐스트 입력 큐를 포함하는 스위치 코어 적응 층(SCAL, Switch Core Adaptation Layer)과 함께 데이터 스위치가 사용된다고 가정한다. 트래픽은 트래픽 우선 순위 클래스의 집합에 기초하여 데이터 스위치와 SCAL에 의해 처리된다. 이렇게 해서, 우선 순위별로 멀티캐스트 입력 큐와 관련된 멀티캐스트 임계값 MCT(P)이 설정되거나 갱신된다. 입력 데이터 트래픽을 수신하는 동안 MCI가 계산되어 유지되고, 각 우선 순위 클래스(P)에 대하여 각 SCAL[150]에서 MCI가 MCT(P)와 비교되어 더 큰지 아닌지가 결정된다. 만일 더 크다면, SCAL은 멀티캐스트 입력 큐에 그 우선 순위와 더 낮은 모든 우선 순위에 대한 수신 트래픽을 보관하도록 지시된다. 만일 더 큰게 아니라면, SCAL은 만일 더 높은 우선 순위가 현재 보관되어 있는 것이 없다면 그 우선 순위에 대한 수신 트래픽을 방출(release)하도록 지시된다.
본 발명은 고정 사이즈 데이터 패킷 스위치를 사용하여 통신 네트워크에서 통신 혼잡을 방지하는데 도움이 되는데, 만일 이렇게 하지 않는다면 높은 레벨의 멀티캐스트와 브로드캐스트 트래픽이 네트워크 노드에서 지지되어야 할 때 통신 혼잡이 발생할 것이다.
도 1은 본 발명을 더 잘 이용할 수 있는 스위치 유형들을 도시하는 도면.
도 2는 본 발명이 어떻게 멀티캐스트 트래픽의 레벨을 평가하는 MCI(MultiCast Index)를 생성하는지 설명하는 도면.
도 3은 본 발명이 해결하여야 할 과제에 대하여 논의하고 본 발명을 수행하기 위하여 우선 순위 별로 MCI가 어떻게 MCT(P)(MultiCast Threshold)와 비교되어야 하는지를 도시하는 도면.
도 4는 본 발명에 따른 방법의 단계들을 도시하는 도면.
도 1은 본 발명을 더 잘 이용할 수 있는 종류의 스위치 소자(100)의 개념을 도시한다. 스위칭 소자는 입력 포트(120)와 출력 포트(130)를 가진 공유 메모리(110) 스위치인데, 본 특정 실시예에서는 8 포트 스위칭 소자인 것이 특징이다.
여기서, 스위칭 소자들과 같은 복수의 스위칭 소자(100, 101)가 일반적으로 사용되어야 할 수 있다는 것을 언급할 가치가 있다. 실질적으로 이들은 다양한 확장 모드에서 결합되어 포트의 수, 포트 속도, 및/또는 전체 스위치 성능을 증가시킬 수 있고, 이렇게 해서 특정 애플리케이션의 요구를 충족시킬 수 있는 스위치 패 브릭을 구현할 수 있다. 본 발명은 또한 스위칭 소자(100)와 같은 단일 스위칭 소자 또는 복수의 스위칭 소자로부터 실행될 수 있기 때문에 다음 설명에서는 단순함을 위하여 단일 스위치 소자가 사용된다고 가정한다. 만일 실제로 스위칭 소자 여러 개가 결합되어야 한다면, 그 디자인은 예를 들어 더 고속으로 더 많은 포트를 가진 단일 스위치 소자와 동등한 단일 개체로서 행동하는 것처럼 되어 있다고 가정한다.
포트와 관련하여, 입력 라우터(125)와 출력 라우터(135)가 있다. 입력 측에서 데이터 패킷은 입력 포트로부터 공유 메모리 내의 버퍼로 라우팅되고(126), 출력 라우터는 공유 메모리로부터 예를 들어 출력 포트 쪽으로 패킷을 읽어내는데(136) 사용된다. 따라서, 패킷이 수신될 때, 스위치 소자 제어부(140)에 의해 비어있는(free) 버퍼(115)에 할당된다. 스위칭 소자의 리스트와 각 스위칭 소자에서의 대응 포트 식별자를 나타내는 라우팅 벡터가 그 후 패킷에 추가된다. 이렇게 하는 방식은 스위치 패브릭에서 소스 라우팅이라 불리는데, 그 이유는 스위치에서 라우팅 테이블을 사용하여 스위치 패브릭 내의 초기 스위칭 소자에 의해 라우팅 벡터가 결정되기 때문이다. 패킷이 수신된 이후에, 제어 로직(140)은 현재의 라우팅 벡터를 분석하고, 패킷을 일시적으로 보관하는 패킷 버퍼(115)의 어드레스를 출력 큐(132)와 같은 출력 큐에 위치시킨다. 따라서, 패킷 버퍼 어드레스를 알면, 출력 큐(132)와 같은 출력 큐는 제어부에 의해 큐에 넣어졌던 순서대로 공유 메모리로부터 대응 패킷을 읽어낼 수 있으므로, 패킷은 결국 대응 출력 포트(130)를 통과하여 스위치 소자(100)를 빠져나갈 수 있다.
멀티캐스트와 브로드캐스트 동작은 포트 식별자에 대응하지 않는 특별한 라우팅 태그를 사용하여 수행된다. 멀티캐스트 동작을 수행하기 위해서는 패킷의 라우팅 태그는 출력 포트의 리스트에 대응한다. 패킷의 단일 복사본은 공유 메모리의 패킷 버퍼(115)에 보관되고, 버퍼의 어드레스는 모든 대응하는 출력 큐에 예를 들어, 두 개의 출력 큐(134)에서 복사된다. 따라서, 데이터 패킷은 한번만 저장되면 되고, 대신 복제되는 것은 공유 메모리에서 데이터가 저장된 곳에 대한 포인터이다. 이러한 방식은 RAS(Replication at sending)이라 불리는데, 패킷의 유일한 복사본이 두 번 판독되어(136, 137), 이러한 특정한 멀티캐스트 예에서 두 개의 대응 출력 포트를 통과하여 빠져나오는 것을 허용하면서, 최소한의 메모리 자원을 가지고 최고의 성능을 제공한다.
또한, 배경 기술에서 간단히 언급한 바와 같이, 스위치 패브릭은 스위치 코어 적응 층에 대해 명명된 SCAL 후에 포트를 통하여 라인 적응 층에 대한 통신 라인과 인터페이스해야 한다. 한 쌍의 IN, OUT 스위치 포트 당 하나의 SCAL(150)이 있다. SCAL의 무엇보다 중요한 목적은 예를 들어 광섬유와 같은 통신 라인의 IN 경로(161)와 OUT 경로(162) 상에서 데이터를 수송하는데 사용되는 일반적으로 복잡한 프로토콜을 스위치의 IN 포트(121)와 OUT 포트(131)에 적합하도록 만드는 것이다. 또한, SCAL의 또다른 중요한 역할은 스위칭 소자(100, 101)가 손실없는 스위칭 기능을 정말 구현하도록 도와주는 것이다. 트래픽 혼잡을 예방하는데 도움이 되고, 패킷을 버리는 것을 피하기 위하여, SCAL(150)의 입력 레그는 스위치 내에 존재하는 것, 즉 공유 메모리(110)의 위에 더 많은 버퍼링을 갖추고 있다. 실제 로 구현되는 방식과 상관없이, 이 여분의 버퍼링은 일련의 큐로서 조직되어 있는데, 출력 포트(171)당 하나 뿐만 아니라 멀티캐스트 트래픽(172)에 대하여 하나가 있다. 이러한 큐의 목적은 수신 트래픽이 스위치로 들어오기 전에 필요하다면 이것을 일시적으로 보관하는 것이다. 따라서, 하나 이상의 출력 포트 즉, 멀티캐스트 트래픽을 통하여 스위치를 빠져나가야 하는 모든 트래픽에 대한 공통 큐(172)가 존재한다. 단일 출력 포트를 목적지로 하는 트래픽, 즉, 유니캐스트 트래픽에 대해서는 포트 당 하나의 전용 큐(171)가 존재한다.
또한, 도 1에 도시된 종류의 스위칭 기능은 우선 순위를 기초로 하여 트래픽 클래스를 관리하여 최종 사용자에게 차별화된 유형의 서비스를 제공할 수 있어야 한다. 본 발명의 상세한 설명에서 예로서 네 개의 우선 순위 레벨(0-3)을 가정한다(더 많은 레벨이나 더 적은 레벨도 고려될 수 있다). 본 상세한 설명에서 레벨 0은 가장 높은 우선 순위를 가지고 있고, 대응하는 트래픽은 혼잡의 경우에 더 낮은 순위 즉, 레벨 1, 레벨 2, 레벨 3의 트래픽과 비교하여 신속히 처리되어야 한다. 또한, 패킷을 버리는 일이 발생해야 한다면, 혼잡을 예방하는 최후의 수단으로서, 우선 순위 3 트래픽에서 패킷을 버리는 것을 시작할 것이다. 따라서, 스위치 소자(예를 들어, 132) 내에 아니면 SCAL 내에서 사용된 다양한 큐와 관련하여, 우선 순위 레벨 별로 하나씩 워터 마크(180)가 존재한다. 큐가 채워지고 몇몇 워터 마크가 크로스(cross)될 때(예를 들어, 181), 이것은 앞으로 설명할 모든 적당한 조치에 대한 트리거로서 작용한다. 워터 마크는 또한 스위치 공유 메모리(110)를 채우는 것과 관련되어 있다. 후자의 경우 취해지는 조치는 광역적이다. 즉, 공유 메모리의 대응하는 우선 순위 워터 마크가 크로스된다면 예를 들어, 우선 순위 3의 스위치 입력 트래픽을 모두 보관해야 하는 모든 SCAL의 조치를 포함한다. 반대로, 크로스되는 것이 출력 큐(132)의 우선 순위 3 워터 마크라면, 조치는 더욱 선택적이다. 이들은 여전히 모든 SCAL의 조치를 포함하지만, 그 포트(132)에 대한 트래픽만이 대응 SCAL 입력 큐에 보관되어야 한다.
마지막으로 모든 당사자가 큐의 다양한 상태 및 공유 메모리의 점유도를 알게 되어지는 메카니즘은 스위치 패브릭을 구성하는 스위치 소자들의 특정 디자인에 크게 좌우된다. 본 발명의 범위를 넘어서지만, 본 발명을 실행하는데 많은 다른 대안적인 방법이 사용될 수 있고, 바람직한 동작 방식은 출력 포트(예를 들어 131) 또는 입력 포트(예를 들어, 121)를 통하여 각각 스위치를 떠나거나 스위치로 들어오는 패킷(190)의 헤더 부분(오버헤드)(191) 내에 이러한 유형의 정보를 운반하는 데 있다. 특히, 스위치 소자(100) 내에서 일어나고 있는 것은 예를 들어, 포트(131)를 빠져나오는 트래픽에 대하여 보고되고, SCAL의 입력 레그로 다시 넘겨질 수 있다(192). 후자는 스위치의 내부 상태에 대하여 갱신된 상태로 유지되고, 따라서, 포트 출력 큐(132)와 같은 모든 포트 출력 큐의 채움(filling) 상태를 항상 알고 있다. 따라서, 각 SCAL은 바쁜 출력 포트를 목적지로 하는 트래픽을 일시적으로 보관하는 것과 같은 적절한 조치를 취할 수 있다. 마찬가지로, 제어 정보는 입력 포트(121)를 통하여 스위치로 들어가는 데이터 패킷을 통해 운반될 수 있으므로, 이러한 정보는 모든 스위치 포트(130)를 빠져나가는 트래픽에 걸쳐 모든 다른 SCAL로 브로드캐스트될 수 있다.
이러한 방식은 대역 내 제어(in-band control)라고 불리는데, 최종 사용자에게 데이터를 전송하기 위하여 스위치 대역폭을 이용할 뿐만 아니라, 스위치 제어 정보를 이용하고, 스위치 제어 정보를 이를 수신할 필요가 있는 모든 당사자에게 용이하게 보급할 수 있도록 허용한다. 이러한 방식은 스위치 성능과 특성을 확대하기 위하여 스위치 소자(100, 101)가 부가되어야 할 때 매우 잘 확대된다. 특히, 이러한 방식은 특정 신호 I/O가 데이터처럼 데이터와 함께 전송되기 때문에 다양한 구성 요소간에 제어 정보를 교환하는 것을 다루는 것을 요구하지 않을 뿐 아니라, 개별 스위치 소자를 모니터링하는 책임을 맡고 있는 중심 제어부가 있다고 가정하지도 않는다.
도 2는 스위치내의 임의의 주어진 순간에 일어나는 멀티캐스트의 강도를 평가하는 측정 기준을 도시한다. 도 1에 도시된 바와 같은 스위치의 구조 때문에 공유 메모리(220)의 실제 채움(200)과 제어부에 의해 큐에 채워진 것(210)의 합을 비교하는데 있고 아직 포워드되지 않은 단순한 측정 기준이, 버퍼 포인터(예를 들어, 231)의 형태로 포트 출력 큐(230)에서 사용될 수 있다. 이렇게 해서 스위치된 트래픽을 일시적으로 보관하기 위하여 공유 메모리에서 현재 할당되어 있는 버퍼의 수와 여전히 포트 출력 큐에 있는 버퍼 포인터의 전체 수가 비교된다. 명백하게도, 만일 두 숫자가 동일하다면, 이는 일시적으로 보관된 각 패킷과 그 단일 목적지 포트 간에 일대일 대응 관계가 있으므로 이 순간 멀티캐스트가 필요하지 않다는 것을 의미한다. 그러나, 어떤 패킷은 복수의 출력 포트를 통하여 스위치를 빠져나오자 마자, 수신 트래픽의 일부에 멀티캐스트가 요구된다는 것이 결정되었기 때문 에, 이는 즉시 하나 이상의 출력 큐에서 버퍼 포인터를 복제하도록 야기한다. 따라서, 버퍼 포인터의 합은 공유 메모리에서 할당된 버퍼의 수보다 더 높아지게 됨으로써, 이에 의해 멀티캐스트의 강도를 측정할 수 있다. 트래픽 우선 순위 기반으로 적당한 조치가 취해질 수 있도록, 이러한 측정 기준에 기반을 둔 MCI(Multi Cast Index, MCI)(250)가 생성되어야 한다(240). 이러한 측정 기준을 생성하기 위한 여러가지 방법이 고려될 수 있다. 예로서, 결과가 1이거나 1보다 큰 MCI 지수가 되도록 출력 큐에 존재하는 버퍼 포인터의 전체 수와 공유 메모리내의 할당된 버퍼 수의 비가 계산될 수 있다. 지수값이 높을수록 구현에 의존하는 가능한 상위 값을 가진 멀티캐스트 레벨이 강해진다(이것은 공유 메모리의 각 크기 대 출력 큐 크기의 합에 달려있다). 이렇게 본 발명을 실현하는 방법은 나눗셈이 수행되어야 한다고 가정하는데, 이는 매우 고속으로 나눗셈을 수행하기 위하여 정교한 하드웨어 부분을 필요로 할 것이다. 더 간단한 방법은 대신 그 차이를 계산하는 것이다. 이는 간단한 가산기를 필요로 한다. 따라서, 멀티캐스트가 수행되지 않을 때 제로의 지수값이 반환되고, 이전의 경우처럼 지수값이 더 높을수록 구현에 의존적인 상한값을 가진 멀티캐스트 레벨이 더 강해진다. 따라서, 본 발명의 바람직한 실시예에서는 멀티캐스트 강도를 평가하기 위하여 사용되는 간단한 기준이 다음과 같다.
Figure 112003008034259-pct00001
여기서 MCI는 멀티캐스트 지수, OQPP는 출력 큐 패킷 포인터들(N 포트에 대하여), SMAPB는 공유 메모리 할당 패킷 버퍼들을 나타낸다.
그러나, 본 발명의 바람직한 실시예에서 이러한 간단한 멀티캐스트 지수를 선택하는 것은 멀티캐스트의 강도를 나타내는 지수를 생성하는 다른 더 정교한 방법을 사용하는 것을 배제하지는 않는다는 것을 이해해야 할 것이다.
간단히 전술한 바와 같이, 공유 메모리의 상대적인 채움(relative filling) 대 출력 포트 큐에 큐잉되어 있는 것의 합의 비 또는 이를 측정하는 다른 해결책이 본 발명의 사상을 벗어나지 않는 범위 내에서 특정한 구현에서 선호될 수 있다.
도 3은 한정되지 않은 멀티캐스트 레벨이 문제를 발생시키는 본 기술에서 일반적으로 나타나는 두가지 상황을 간단히 도시한다. 이것은 도 3c에서 더 논의되는 본 발명의 장점을 이해하는데 도움이 된다.
도 3a는 어떤 시점에 공유 메모리가 예를 들어 우선 순위가 3이고 동일한 출력 포트(310)를 목적지로 하는 많은 멀티캐스트 패킷(300)을 보관하고 있을 때 발생하는 문제점의 예를 도시한다. 그러면, 대응 출력 큐가 채워지고 있기 때문에, 우선 순위 3의 워터 마크(320)가 신속히 크로스된다. 따라서, 전술한 메카니즘을 통하여 스위치 제어 정보가 모든 스위치 구성 요소(325)로 보급될 수 있도록 허용하면서, 모든 SCAL 입력 레그(330)가 곧 주어진 출력 포트 큐(310)가 만들어지고 있다(building up)는 사실을 곧 알게 된다. 결과적으로, 우선 순위 3의 대응 유니캐스트 입력 큐(예를 들어, 331)내의 수신된 트래픽은 그 포트에 대한 모든 SCAL 유니캐스트 큐에 보관된다. 그러나, SCAL 입력 멀티캐스트 큐(예를 들어, 332)는 특정 포트에 제공된 것이 아니기 때문에, 이들은 우선 순위 3의 공유 메모리 워터 마크(340)가 크로스되지 않는 동안 그 우선 순위에 대한 트래픽을 보관하 도록 지시되지 않는다. 이는 멀티캐스트와 유니캐스트 트래픽 간에 상당한 불공정을 초래하는데, 그 이유는 특정 출력 큐가 만들어지고 있는 이유가 유일한 것이 아니라면 주로 전자의 결과인 반면 후자만이 유지되기 때문이다. 따라서, 이 경우에 유니캐스트 트래픽을 중지하는 것은 문제를 해결하는데 상당히 도움이 안 될 수도 있다.
도 3b는 멀티캐스트 레벨이 제어되지 않을 때 마주치는 어려움의 다른 예를 도시한다. 멀티캐스트 패킷이 공유 메모리에서 수용되고 이들이 주로 하나 이상의 출력 포트(350)를 목적지로 한다면, (이상적으로는 모든 출력 포트에 걸쳐 분포되어야 하지만) 멀티캐스트 트래픽이 일부 출력 포트로 일시적으로 편향되고 그러면 공유 메모리는 신속히 만들어지기 쉽고 대응 우선 순위(예를 들어, 우선 순위 3)의 워터 마크가 크로스된다(390). 따라서, 공유 메모리의 우선 순위 3의 워터 마크가 정말로 크로스되면(375) 그 우선 순위에 대한 모든 트래픽이 모든 SCAL(380)의 모든 유니캐스트와 멀티캐스트 큐(예를 들어, 381, 382)에 보관된다. 이는 나머지 출력 포트 큐(360)가 바쁘지 않더라도 일어나고, 그 우선 순위에 대한 트래픽을 완벽하게 처리할 수 있을 것이다. 이는 또한 불공정을 발생시키는데, 그 이유는 출력 포트 목적지에 관계 없이 특정 우선 순위(즉, 이 예에서는 레벨 3, 또는 우선 순위 2의 워터 마크가 크로스되었다면 레벨 2와 3)의 모든 트래픽이 무조건적으로 보관되어 있지만(예를 들어, 382), 이들 중 일부는 그 우선 순위에 대하여 단지 유휴 상태로 있을 수 있고 약간 로드되어(360) 있을 수 있으므로, 이는 스위치 자원을 최대한 이용하지 못하게 한다.
도 3c는 본 발명이 어떻게 실행되는지를 보여준다. 도 2에 설명된 바와 같이 계산되는 멀티캐스트 지수 MCI(395)는 우선 순위 별로 프로그램가능한 멀티캐스트 임계값(397)(MCT(p))과 비교된다(396). 이렇게 해서 스위치의 사용자는 그 특정 애플리케이션에 대한 행동을 자신의 주문대로 할 자유를 가지게 된다. 본 발명은 IN 포트와 OUT 포트 사이에 데이터의 흐름을 제어하는데 보통 사용되는 모든 다른 메카니즘에 더하여 SCAL(330, 380)의 멀티캐스트 큐를 제어하는 가능성을 가능하게 한다. 더욱 구체적으로, 멀티캐스트 레벨이 사용자에 의해 설정된 임계값보다 낮거나 동일하다면, 멀티캐스트 트래픽에 관한 한 특별히 아무 것도 시작되지 않는다. 그러나, 설정된 임계값이 크로스된다면, 즉, MCI가 MCT(P)(398)보다 크게 된다면, 멀티캐스트 큐(332, 382)의 트래픽을 보관하기 위하여 이것이 모든 SCAL 입력 레그(330, 380)로 보고된다. 이것은 공유 메모리의 실제 채움과 관계없이 행해지는데, 이는 도 2a를 가지고 논의된 문제가 일어나는 것을 막기 위해서다(멀티캐스트 트래픽은 하나 또는 그 이상의 출력 포트 큐(310)에서 관찰된 혼잡에 주요 원인이었지만 안으로 흐르도록 여전히 허용되었다). 다시 말해서, 도 3a의 구성에서 SCAL 멀티캐스트 큐는 스위치에서 주어진 순간에 관찰된 전체적인 멀티캐스트 실제 레벨에 기초하여 그들 자신의 독립적인 제어를 가지고 있으므로, 멀티캐스트 트래픽이 정말로 중지된다. 따라서, 멀티캐스트 큐를 유지하는 결정이 더 이상 공유 메모리의 채움에 기초하지 않기 때문에, 이러한 메카니즘은 도 3b에서 논의된 문제를 없앨 수 있게 한다. 따라서, SCAL 멀티캐스트 큐는 여전히 특정 우선 순위 레벨에서 트래픽을 전송할 수 있도록 허가될 수 있으므로, 멀티캐스트 지수가 대응 임계값 미만으로 유지되는 한, 그렇게 바쁘지 않은 포트(not-so-busy ports)(360)는 이를 처리할 수 있는 기회를 얻는다.
도 4는 본 발명에 의한 방법의 단계들을 도시한다. 그러므로, 멀티캐스트 지수, 즉, MCI(400)은 스위치내에 계속 계산된다. 이 전에, 가끔 또는 정기적으로 갱신되어 애플리케이션에 따라 우선 순위 당 멀티캐스트 임계값(MCT(P))(410)이 설정된다. 이 후자는 MCI와 비교된다(420). MCI가 MCT(P)보다 미만이거나 동일하면(431) 단계(430)에 대한 대답은 부정이고, 그러나, 만일 더 높은 우선 순위의 트래픽이 현재 벌써 보관되지 않는다면 SCAL은 그 우선 순위에 대응하는 이전에 보관된 가능한 상태를 방면(release)하도록 지시된다(440). 만일 단계(430)에 대한 답이 긍정이면, 즉, MCI가 더 크다면(432), SCAL은 현재 우선 순위의 트래픽 뿐만 아니라 더 낮은 우선 순위들이 만일 있다면 이 더 낮은 우선 순위들의 모든 트래픽을 보관하도록 (또는 먼저 유지된 것을 확인하도록) 지시된다(450). 그 후에 방법이 순환을 계속해서(460), 스위치가 분주히 동작하는 동안 단계(400)에서 다시 시작된다. 이것은 모든 우선 순위의 트래픽 클래스를 다루기 위하여 순차적으로 또는 병렬로 수행된다. 더 낮은 우선 순위의 트래픽 클래스가 먼저 보관되기 위하여 멀티캐스트 임계값(400)은 우선 순위가 더 높아질수록 임계값이 더 커지도록 설정된다.
도 1에서 알려진 종류의 스위치 소자(100, 101)의 환경에서 설명하였지만, 당업자는 본 발명이 또한 상이한 환경에서 실행될 수 있다는 것을 이해해야 한다. 특히, 본 발명은 하나 이상의 통신 라인(162)이 단일 SCAL로부터 처리되어 서브 포 트를 구현하는 경우에 대비하여 발신(outgoing) 트래픽을 더 유지하는 메모리를 가진 SCAL 함수(150)의 출력 레그에 적용된다. 이 경우에, 멀티캐스트가 각 서브포트쪽으로 아래로 수행되어야 하기 때문에, 이전의 도면에서 상세히 설명된 것과 동일한 종류의 문제가 SCAL 출력 레그에서 일어날 수 있으므로, 이 문제를 없애기 위하여 본 발명의 구현을 필요로 한다

Claims (7)

  1. 고정 사이즈 데이터 패킷들을 입력 포트들로부터 출력 포트들로 라우팅하는 데이터 스위치에서 멀티캐스트 트래픽 레벨을 평가하는 방법으로서,
    상기 데이터 스위치는 상기 고정 사이즈 데이터 패킷들의 단일 복사본을 일시적으로 보관하기 위한 공유 메모리를 포함하고, 상기 공유 메모리는 상기 고정 사이즈 데이터 패킷들을 저장하기 위한 버퍼들을 포함하고, 상기 출력 포트들 각각은 출력 포트 큐를 갖추고 있고, 상기 출력 포트 큐 각각은 상기 출력 포트를 통하여 상기 데이터 스위치를 떠날 예정인 상기 데이터 패킷들을 보관하는 상기 버퍼들을 가리키는 포인터들을 담고 있고, 상기 데이터 스위치는 SCAL(Switch Core Adaptation Layer)과 함께 사용되고, 상기 SCAL은, 상기 데이터 스위치를 통하여 라우팅되어 상기 출력 포트들 중 하나 이상의 출력 포트로 향하도록 정해지는 입력 데이터 트래픽을 보관하기 위한 멀티캐스트 입력 큐를 포함하고, 상기 데이터 스위치 및 상기 SCAL은 상기 입력 데이터 트래픽을 우선순위 클래스(P)의 집합에 기초하여 처리하는, 상기 멀티캐스트 트래픽 레벨 평가 방법에 있어서,
    상기 입력 데이터 트래픽을 수신하기 이전에 상기 멀티캐스트 입력 큐와 관련된 멀티캐스트 임계값(MCT(P))을 설정하는 단계와,
    상기 데이터 패킷을 현재 보관하는 공유 메모리 버퍼들의 총 수인 버퍼 카운트를 카운트하는 단계와,
    상기 데이터 패킷을 현재 보관하는 공유 메모리 버퍼들을 가리키는 상기 포인터들의 총 수인 포인터 카운트를 모든 상기 출력 포트 큐들에 대하여 카운트하는 단계와,
    상기 버퍼 카운트 및 상기 포인터 카운트로부터 상기 멀티캐스트 트래픽 레벨의 기준인 멀티캐스트 지수(MultiCast Index, MCI)를 유도하는 단계와,
    상기 입력 데이터 트래픽을 수신하는 동안에, 상기 멀티캐스트 임계값 MCT(P)를 선택적으로 갱신하는 단계를 포함하는 멀티캐스트 트래픽 레벨 평가 방법.
  2. 제1항에 있어서,
    현재의 상기 멀티캐스트 지수를 유지하는 단계와,
    각 상기 우선순위 클래스(P)에 대하여, 각 상기 SCAL에서 소정의 단계를 수행하는 단계를 더 포함하고,
    상기 소정의 단계는,
    상기 멀티캐스트 지수(MCI)를 상기 멀티캐스트 임계값(MCT(P))와 비교하는 단계와,
    상기 멀티캐스트 지수(MCI)가 상기 멀티캐스트 임계값(MCT(P))보다 더 큰 경우, 그 우선순위 및 더 낮은 우선순위의 모든 트래픽에 대하여 상기 멀티캐스트 입력 큐 내에 상기 입력 트래픽을 홀딩(holding)하는 단계와,
    상기 멀티캐스트 지수(MCI)가 상기 멀티캐스트 임계값(MCT(P))보다 크지 않은 경우, 더 높은 우선순위의 트래픽이 현재 보관되어 있지 않는 한 그 우선순위에 대하여 상기 입력 트래픽을 방출하는 단계와,
    입력 트래픽을 수신하는 동안 상기 단계들을 반복하는 단계를 포함하는 것인 멀티캐스트 트래픽 레벨 평가 방법.
  3. 제2항에 있어서, 상기 멀티캐스트 지수(MCI)는, 상기 데이터 패킷을 현재 보관하는 공유 메모리 버퍼들의 총 수와, 모든 상기 출력 포트 큐들에 존재하는 상기 공유 메모리 버퍼들을 가리키는 포인터들의 총 수의 차이로서 계산되는 것인 멀티캐스트 트래픽 레벨 평가 방법.
  4. 제2항에 있어서, 상기 멀티캐스트 지수(MCI)는, 상기 데이터 패킷을 현재 보관하는 공유 메모리 버퍼들의 총 수와, 모든 상기 출력 포트 큐들에 존재하는 상기 공유 메모리 버퍼들을 가리키는 포인터들의 총 수의 비(ratio)로서 계산되는 것인 멀티캐스트 트래픽 레벨 평가 방법.
  5. 삭제
  6. 고정 사이즈 데이터 패킷들을 입력 포트들로부터 출력 포트들로 라우팅하는 데이터 스위치에서 멀티캐스트 트래픽 레벨을 평가하는 시스템으로서,
    상기 데이터 스위치는 상기 고정 사이즈 데이터 패킷들의 단일 복사본을 일시적으로 보관하기 위한 공유 메모리를 포함하고, 상기 공유 메모리는 상기 고정 사이즈 데이터 패킷들을 저장하기 위한 버퍼들을 포함하고, 상기 출력 포트들 각각은 출력 포트 큐를 갖추고 있고, 상기 출력 포트 큐 각각은 상기 출력 포트를 통하여 상기 데이터 스위치를 떠날 예정인 상기 데이터 패킷들을 보관하는 상기 버퍼들을 가리키는 포인터들을 담고 있고, 상기 데이터 스위치는 SCAL(Switch Core Adaptation Layer)과 함께 사용되고, 상기 SCAL은, 상기 데이터 스위치를 통하여 라우팅되어 상기 출력 포트들 중 하나 이상의 출력 포트로 향하도록 정해지는 입력 데이터 트래픽을 보관하기 위한 멀티캐스트 입력 큐를 포함하고, 상기 데이터 스위치 및 상기 SCAL은 상기 입력 데이터 트래픽을 우선순위 클래스(P)의 집합에 기초하여 처리하는, 상기 멀티캐스트 트래픽 레벨 평가 시스템에 있어서,
    상기 데이터 패킷을 현재 보관하는 공유 메모리 버퍼들의 총 수인 버퍼 카운트를 카운트하는 제1 카운팅 회로와,
    상기 데이터 패킷을 현재 보관하는 공유 메모리 버퍼들을 가리키는 포인터들의 총 수인 포인터 카운트를 모든 상기 출력 포트 큐들에 대하여 카운트하는 제2 카운팅 회로와,
    상기 멀티캐스트 트래픽 레벨의 기준인 멀티캐스트 지수(MultiCast Index, MCI)를 유도하기 위하여, 상기 버퍼 카운트 및 상기 포인터 카운트를 이용하는 제1 비교기와,
    각 상기 트래픽 우선순위에 대하여 멀티캐스트 임계값(MCT(P))을 수신하고 저장하고 선택적으로 갱신하는, 각 멀티캐스트 입력 큐와 관련된 멀티캐스트 임계값 회로를 포함하는 멀티캐스트 트래픽 레벨 평가 시스템.
  7. 제1항 내지 제4항 중 어느 한 항에 의한 방법을 수행하는 명령어들을 포함하는 컴퓨터로 판독 가능한 기록 매체.
KR1020037003384A 2000-09-12 2001-09-06 데이터 패킷 스위치의 멀티캐스트 트래픽을 제어하기 위한시스템 및 방법 KR100553919B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP00480084.3 2000-09-12
EP00480084 2000-09-12
PCT/EP2001/010281 WO2002023816A2 (en) 2000-09-12 2001-09-06 System and method for controlling the multicast traffic of a data packet switch

Publications (2)

Publication Number Publication Date
KR20030036761A KR20030036761A (ko) 2003-05-09
KR100553919B1 true KR100553919B1 (ko) 2006-02-24

Family

ID=8174261

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037003384A KR100553919B1 (ko) 2000-09-12 2001-09-06 데이터 패킷 스위치의 멀티캐스트 트래픽을 제어하기 위한시스템 및 방법

Country Status (10)

Country Link
US (1) US7061909B2 (ko)
EP (1) EP1317825B1 (ko)
JP (1) JP3846880B2 (ko)
KR (1) KR100553919B1 (ko)
CN (1) CN1200543C (ko)
AT (1) ATE404001T1 (ko)
CA (1) CA2422221A1 (ko)
DE (1) DE60135234D1 (ko)
IL (1) IL154851A0 (ko)
WO (1) WO2002023816A2 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596627B2 (en) * 2001-12-18 2009-09-29 Cisco Technology, Inc. Methods and apparatus for network congestion control
US7734808B1 (en) 2001-12-18 2010-06-08 Cisco Technology, Inc. End-to-end congestion control in a Fibre Channel network
US7054962B2 (en) 2002-03-08 2006-05-30 Hewlett-Packard Development Company, L.P. Embedded system having broadcast data storing controller
US7292529B1 (en) 2002-07-31 2007-11-06 Juniper Networks, Inc. Memory load balancing for single stream multicast
JP4073754B2 (ja) * 2002-10-29 2008-04-09 富士通株式会社 フレーム転送装置
KR100564743B1 (ko) * 2002-12-18 2006-03-27 한국전자통신연구원 다기능 스위치 패브릭 장치 및 그 제어 방법
US7403536B2 (en) * 2002-12-19 2008-07-22 International Business Machines Corporation Method and system for resequencing data packets switched through a parallel packet switch
US7391766B2 (en) * 2002-12-19 2008-06-24 International Business Machines Corporation Packet unstopper system for a parallel packet switch
US20040184470A1 (en) * 2003-03-18 2004-09-23 Airspan Networks Inc. System and method for data routing
US7430167B2 (en) * 2003-09-18 2008-09-30 International Business Machines Corporation Method and system to enable an adaptive load balancing in a parallel packet switch
US20050135401A1 (en) * 2003-12-18 2005-06-23 Michael Schmidt Multicast message routing systems and methods
JP4394988B2 (ja) * 2004-03-19 2010-01-06 富士通株式会社 パケット読出し制御方法及び装置
US20060015695A1 (en) * 2004-06-30 2006-01-19 Cochran Robert A Method of device mirroring via packetized networking infrastructure
US7583664B2 (en) 2004-12-28 2009-09-01 Michael Ho Techniques for transmitting and receiving traffic over advanced switching compatible switch fabrics
US7802028B2 (en) * 2005-05-02 2010-09-21 Broadcom Corporation Total dynamic sharing of a transaction queue
KR100708608B1 (ko) * 2005-09-28 2007-04-18 한국전자통신연구원 오버레이 멀티캐스트 시스템용 중계 장치 및 그의 동작방법
US7180856B1 (en) 2005-12-13 2007-02-20 At&T Corp. Method and system of monitoring the receipt of multicast traffic
US7809009B2 (en) * 2006-02-21 2010-10-05 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
ES2351517T3 (es) * 2006-09-04 2011-02-07 Telefonaktiebolaget Lm Ericsson (Publ) Conmutación ethernet.
JP2009246855A (ja) * 2008-03-31 2009-10-22 Yamatake Corp 通信システム
US20110154420A1 (en) * 2009-12-17 2011-06-23 Level 3 Communications, Llc Data Feed Resource Reservation System
US8804719B2 (en) * 2010-06-29 2014-08-12 Cisco Technology, Inc. In-band multicast trace in IP and MPLS networks
EP2643763B1 (en) * 2010-11-22 2019-09-04 Marvell World Trade Ltd. Sharing access to a memory among clients
US9832030B2 (en) 2014-01-21 2017-11-28 International Business Machines Corporation Multicast packet routing via crossbar bypass paths
US10757039B2 (en) * 2014-12-24 2020-08-25 Intel Corporation Apparatus and method for routing data in a switch
US10015112B2 (en) * 2015-12-08 2018-07-03 Mellanox Technologies Tlv Ltd. Memory-efficient handling of multicast traffic
US11170294B2 (en) 2016-01-07 2021-11-09 Intel Corporation Hardware accelerated machine learning
US10817802B2 (en) 2016-05-07 2020-10-27 Intel Corporation Apparatus for hardware accelerated machine learning
US11120329B2 (en) * 2016-05-07 2021-09-14 Intel Corporation Multicast network and memory transfer optimizations for neural network hardware acceleration
US10419329B2 (en) 2017-03-30 2019-09-17 Mellanox Technologies Tlv Ltd. Switch-based reliable multicast service
TWI703840B (zh) * 2019-01-16 2020-09-01 瑞昱半導體股份有限公司 設置在交換器內的電路以及管理交換器中記憶體的方法
US11171884B2 (en) 2019-03-13 2021-11-09 Mellanox Technologies Tlv Ltd. Efficient memory utilization and egress queue fairness
CN110176135A (zh) * 2019-06-19 2019-08-27 中国人民解放军32181部队 一种数据采集装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3104429B2 (ja) * 1992-10-08 2000-10-30 株式会社日立製作所 コピー機能を有する共通バッファ形atmスイッチ及びそのコピー方法
DE69329709D1 (de) * 1993-04-29 2001-01-04 Ibm Verfahren und Gerät für Mehrfachübertragung von Daten in einem Kommunikationssystem
EP0748087A1 (en) * 1995-06-09 1996-12-11 International Business Machines Corporation Access control system for a shared buffer
JP2842522B2 (ja) * 1995-12-06 1999-01-06 日本電気株式会社 Atmスイッチ及びその制御方法
US5689505A (en) * 1996-01-16 1997-11-18 Lucent Technologies Inc. Buffering of multicast cells in switching networks
US5898687A (en) * 1996-07-24 1999-04-27 Cisco Systems, Inc. Arbitration mechanism for a multicast logic engine of a switching fabric circuit
US6665733B1 (en) 1996-12-30 2003-12-16 Hewlett-Packard Development Company, L.P. Network communication device including bonded ports for increased bandwidth
US6128295A (en) 1997-07-11 2000-10-03 Telefonaktiebolaget Lm Ericsson Buffering of point-to-point and/or point-to-multipoint ATM cells
JPH11275123A (ja) 1998-03-26 1999-10-08 Kawasaki Steel Corp ネットワーク中継装置
US6310875B1 (en) * 1998-03-30 2001-10-30 Nortel Networks Limited Method and apparatus for port memory multicast common memory switches
US6320861B1 (en) * 1998-05-15 2001-11-20 Marconi Communications, Inc. Hybrid scheme for queuing in a shared memory ATM switch buffer
EP0961442B1 (en) * 1998-05-29 2004-09-29 International Business Machines Corporation Switching architecture comprising two switch fabrics
JP2000049940A (ja) 1998-07-31 2000-02-18 Nippon Telegr & Teleph Corp <Ntt> トラヒック測定方法
US6760331B1 (en) * 1999-03-31 2004-07-06 Cisco Technology, Inc. Multicast routing with nearest queue first allocation and dynamic and static vector quantization
US6603772B1 (en) * 1999-03-31 2003-08-05 Cisco Technology, Inc. Multicast routing with multicast virtual output queues and shortest queue first allocation
JP3518441B2 (ja) * 1999-10-01 2004-04-12 日本電気株式会社 ユニキャスト/マルチキャスト方式

Also Published As

Publication number Publication date
JP2004509512A (ja) 2004-03-25
CN1200543C (zh) 2005-05-04
KR20030036761A (ko) 2003-05-09
DE60135234D1 (de) 2008-09-18
EP1317825A2 (en) 2003-06-11
US7061909B2 (en) 2006-06-13
CN1449611A (zh) 2003-10-15
JP3846880B2 (ja) 2006-11-15
ATE404001T1 (de) 2008-08-15
WO2002023816A3 (en) 2002-06-13
CA2422221A1 (en) 2002-03-21
WO2002023816A2 (en) 2002-03-21
US20020075871A1 (en) 2002-06-20
IL154851A0 (en) 2003-10-31
EP1317825B1 (en) 2008-08-06
WO2002023816A8 (en) 2003-11-20

Similar Documents

Publication Publication Date Title
KR100553919B1 (ko) 데이터 패킷 스위치의 멀티캐스트 트래픽을 제어하기 위한시스템 및 방법
US6907041B1 (en) Communications interconnection network with distributed resequencing
US7324460B2 (en) Event-driven flow control for a very high-speed switching node
US8345548B2 (en) Method of switching fabric for counteracting a saturation tree occurring in a network with nodes
US6563837B2 (en) Method and apparatus for providing work-conserving properties in a non-blocking switch with limited speedup independent of switch size
US7773602B2 (en) CAM based system and method for re-sequencing data packets
JP3652759B2 (ja) パケット流量監視制御方式
Newman A fast packet switch for the integrated services backbone network
JP4391636B2 (ja) 多段キューイング方式を備えたスイッチング装置
WO2004036844A1 (en) Method and arrangement in a packet switch for congestion avoidance using a common queue and several switch states
US7787446B2 (en) Packet unstopper system for a parallel packet switch
US20050036502A1 (en) System and method for handling multicast traffic in a shared buffer switch core collapsing ingress VOQ&#39;s
JPH08511142A (ja) 情報ネットワーク用の選択的混雑制御機構
JP3632229B2 (ja) Atm交換装置
EP1187402A2 (en) Switching apparatus, communication apparatus, and communication system
JP3848962B2 (ja) パケット交換機およびセル転送制御方法
Huang et al. Priority management to improve the QOS in ATM networks
Schoenen et al. Closed loop credit-based flow control with internal backpressure in input and output queued switches
KR100368439B1 (ko) 이중 스위칭 평면을 갖는 패킷 스위치에서 전송 순서 보장 방법 및 장치
JP3849635B2 (ja) パケット転送装置
JP3632655B2 (ja) Atm交換装置
Ryu et al. A novel address pointer switch architecture for variable length packets
Audzevich et al. Assessment and Open-Issues of the Load-Balanced Switching Architecture
Lautenschlaeger et al. Efficient implementation of a frame aggregation unit for optical frame-based switching

Legal Events

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

Payment date: 20090129

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee