KR20040071220A - 네트워크 혼잡 제어를 위한 방법 및 장치 - Google Patents

네트워크 혼잡 제어를 위한 방법 및 장치 Download PDF

Info

Publication number
KR20040071220A
KR20040071220A KR10-2004-7009498A KR20047009498A KR20040071220A KR 20040071220 A KR20040071220 A KR 20040071220A KR 20047009498 A KR20047009498 A KR 20047009498A KR 20040071220 A KR20040071220 A KR 20040071220A
Authority
KR
South Korea
Prior art keywords
switch
node
frame
network
erase
Prior art date
Application number
KR10-2004-7009498A
Other languages
English (en)
Other versions
KR100977651B1 (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
Priority to US10/026,583 priority Critical patent/US7596627B2/en
Priority to US10/026,583 priority
Application filed by 씨스코 테크놀러지, 인코포레이티드 filed Critical 씨스코 테크놀러지, 인코포레이티드
Priority to PCT/US2002/040513 priority patent/WO2003053016A1/en
Publication of KR20040071220A publication Critical patent/KR20040071220A/ko
Application granted granted Critical
Publication of KR100977651B1 publication Critical patent/KR100977651B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/26Explicit feedback to the source, e.g. choke packet
    • H04L47/263Source rate modification after feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/12Congestion avoidance or recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/17Hop by hop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/26Explicit feedback to the source, e.g. choke packet
    • H04L47/263Source rate modification after feedback
    • H04L47/266Stopping or restarting the source, e.g. X-on or X-off
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/30Flow control or congestion control using information about buffer occupancy at either end or transit nodes
    • Y02D50/10

Abstract

방법 및 장치들이 파이버 채널 네트워크와 같은 네트워크에서 혼잡을 제어하기 위해 제공된다. 기술들은 혼잡 네트워크 노드에서 트래픽 흐름을 특징짓기 위해 제공된다. 상기 혼잡한 네트워크 노드는 상기 혼잡한 네트워크 노드 쪽으로 트래픽 흐름을 제어하기 위해 소거 메시지들과 같은 다양한 지시들을 발생할 수 있다. 상기 소거 메시지들은 선택적으로 혼잡의 특징에 관한 정보를 포함한다. 상기 지시들은 네트워크 내에서 다른 노드들로 분배된다. 상기 다른 네트워크 노드들은 지시들을 해석하고 그리고 상기 혼잡한 노드 쪽으로 트래픽 흐름을 제어할 수 있다.

Description

네트워크 혼잡 제어를 위한 방법 및 장치{METHOD AND APPARATUS FOR NETWORK CONGESTION CONTROL}

방법과 장치들이 파이버 채널 네트워크와 같은 네트워크에서 혼잡을 제어하기 위해 제공된다. 기술들이 혼잡한 네트워크 노드에서 트래픽 흐름을 특징짓기 위해 제공된다. 상기 혼잡한 네트워크 노드는 혼잡한 네트워크 노드 쪽으로 트래픽을 제어하기 위해 소거(quench) 메시지와 같은 다양한 지시들을 발생할 수 있다. 상기소거 메시지들은 혼잡의 특성에 관한 정보를 임의적으로 포함할 수 있다. 상기 지시들은 네트워크에서 다른 노드들로 분배된다. 다른 네트워크 노들들은 상기 혼잡한 노드 쪽으로 트래픽 흐름을 제어하거나 지시를 해석할 수 있다.

한 실시예에서, 네트워크 스위치에서 혼잡의 제어를 위한 방법이 제공되었다. 소스 노드에 대응하는 소스 식별자 필드를 지니는 프레임과 목적지 노드에 대응하는 목적지 식별자 필드가 수신되고, 상기 네트워크 스위치 그리고 상기 소스 노드 간의 첫 번째 매개적 스위치를 통해 상기 네트워크 스위치로 전송되어 왔다. 네트워크 스위치에서 트래픽 흐름이 특징지어진다. 제 1 지시는 소스 노드로부터 상기 목적지 노드까지 트래픽을 제어하기 위해 상기 네트워크 스위치로부터 상기 제 1 매개적 스위치까지 전송된다.

또 다른 실시예에서, 제 1 그리고 제 2 매개적 노드들을 통해 제 1 그리고 제 2 엔드(end) 노드들 간의 트래픽 흐름을 제어하기 위한 방법이 제공되었다. 상기 제 1 엔드 노드에 대응하는 소스 식별자 그리고 상기 제 2 엔드 노드에 대응하는 목적지 식별자를 지니는 제 1 프레임이 전송되었다. 상기 프레임이 상기 제 1 매개적 노드 그리고 상기 제 2 엔드 노드 간의 제 2 매개적 노드로 제 1 매개적 노드에서 전송되었다. 제 2 프레임은 상기 제 2 매개적 노드로부터 수신된다. 상기 제 2 프레임은 상기 제 2 엔드 노드에 대응하는 소스 식별자 그리고 상기 제 1 엔드 노드에 대응하는 목적지 식별자를 지닌다. 상기 제 2 프레임은 상기 제 1 엔드 노드로부터 상기 제 2 엔드 노드까지 현재 허용된 비율을 조정하기 위한 지시들을 포함한다. 상기 제 1 엔드 노드로부터 상기 제 2 엔드 노드까지 현재 허용된 비율은 상기 제 2 프레임을 수신하는 것에 기초하여 조절된다.

또 다른 실시예에 따라, 소스 노드와 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치가 제공된다. 상기 스위치는 제 1 외부 노드에 결합하기 위한 제 1 포트, 제 2 외부 노드에 결합하기 위한 제 2 포트, 상기 제 1 외부 노드로부터 데이터를 수신하기 위한 제 1 포트와 관련된 제 1 대기열(queue), 상기 제 1 대기열은 상기 제 2 포트를 통해 전송하기 위한 데이터를 잡기 위한 제 2 부분 그리고 제 1 부분을 통해 전송하기 위한 데이터를 잡기 위한 제 1 부분을 포함하고, 그리고 상기 제 1 대기열에 결합된 필터, 상기 제 1 대기열로부터 데이터를 수신되기 위해 구현된 필터를 포함하고 그리고 상기 데이터의 전송이 상기 제 2 외부 노드로부터 수신되는 정보에 기초하여 지연되어야 하는지를 결정한다.

당해 발명의 또 다른 측면은 전체 또는 부분적으로 위에서 언급된 기술들 또는 방법들을 구현하기 위해 제공된 프로그램 지시들 상의 기계-판독형 미디어를 포함하는 컴퓨터 프로그램 상품에 속한다. 당해 발명의 방법은, 전체 또는 부분으로, 기계-판독형 미디어와 같은 곳에 제공될 수 있는 프로그램 지시들을 표현한다. 게다가, 당해 발명은 여기서 설명되는 것과 같이 사용되거나 그리고/또는 발생되는 데이터의 배열 그리고 다양한 조합에 속한다. 예를 들어, 여기서 설명되는 포맷을 지니고 적합한 미디어 상에서 제공되는 소거 프레임들은 당해 발명의 부분이다.

많은 종래의 네트워크 프로토콜들은 네트워크 노드에서 혼잡을 완화하기 위해 패킷 드랍핑을 이용한다. 한 실시예에서, IP 기반 네트워크에서 네트워크 노드는 그의 출력 밴드위스를 초과하는 비율에서 다중 소스들로부터 입력 데이터를 수신한다. 종래의 구현에서, 선택된 패킷들은 할당된 출력 할당된 출력 밴드위스 이내에서 남아 있는 패킷들의 전송을 허용하기 위해 드랍된다. 패킷들은 다양한 선택 기준을 이용함으로써 또는 무작위로 드랍될 수 있다. 상기 드랍된 패킷들은 TCP와 같은 더 높은 레벨 프로토콜의 제어 하에서 궁극적으로 재전송된다.

방화 채널 네트워크와 같은 네트워크에서, 패킷 드랍핑은 일반적으로 허용되지 않는다. 대신, 방화 채널 네트워크와 같은 네트워크들은 end-to-end 그리고 buffer-to-buffer 흐름 제어 체계를 구현한다. end-to-end 그리고 buffer-to-buffer 흐름 제어 체계는 제 2 네트워크 노드가 프레임을 받을 준비가 될 때까지 제 2 네트워크 노드는 특히 제 1 네트워크 노드로 신뢰를 줌으로써 프레임을 수신할 준비가 되었다는 것을 표시한다. 프레임들이 전송될 때, 신뢰가 사용된다. 어떠한 신뢰도 남아 있지 않을 때, 상기 제 1 네트워크 노드는 상기 제 2 네트워크 노드로 더 이상 전송할 수 없다. 그러나 end-to-end 그리고 buffer-to-buffer 흐름제어 체계는 특정 링크에 따른 모든 트래픽의 체계 블락과 같이, 혼잡을 제어하기 위한 매우 거친 기술만을 제공한다. 그러한 블락킹은 파이버 채널 네트워크 토폴로지에서 다른 링크로 빠르게 업스트림을 전송할 수 있다. 이러한 링크들의 일부는 본질적으로 혼잡된 링크를 포함하지 않는 경로를 위한 통로로서 역할 한다. 그러므로 하나의 네트워크 경로의 한 링크에서 혼잡은 파이버 채널 토폴로지의 훨씬 더 넓은 부분에 대한 블락킹을 일으키는 원인이 될 수 있다.

상기 end-to-end 신뢰 체계는 수신 노드에서 버퍼의 이용성을 고려한다. 그러나 그것은 네트워크 환경에서 변화를 위해 다시 반응하지 않으며, 그 결과 네트워크상에서 혼잡 그리고 블락킹이 여전히 발생할 수 있다. 그 위에, 상기 end-to-end 신뢰 체계는 특히 Class 2 트래픽을 교환하는 엔드 노드들 간에 적용된다. 결과적으로, 양 end-to-end 그리고 buffer-to-buffer 신뢰 체계는 네트워크에서 트래픽 흐름을 최적화하거나 또는 최적화하기 위한 노력을 하지 않는다.

위에서 언급된 수행 제한들 모두 또는 일부와 관하여 파이버 채널 네트워크와 같은 네트워크상의 네트워크 노드들에서 혼잡 제어를 향상시키기 위한 방법과 장치를 제공하는 것이 바람직하다.

도 1 은 당해 발명의 기술을 이용할 수 있는 네트워크의 다이어그램식 표현이다.

도 2 는 블락킹의 헤드 오프라인(head-of-line)을 보여주는 다이어그램이다.

도 3 은 혼잡 검출의 한 실시예를 구현할 수 있는 스위치의 다이어그램 식 표현이다.

도 4는 버퍼 레벨을 기초로 하여 얼마나 자주 소거 메시지들을 생성할 수 있는지를 보여주는 테이블이다.

도 5는 스위치 감지 혼잡을 보이는 프로세스 흐름 다이어그램이다.

도 6은 소거 메시지 발생을 위해 사용될 수 있는 대기열 레벨들의 그래픽 표현이다.

도 7은 발생될 수 있는 모서리 소거 또는 경로 소거 메시지의 다이어그램 표현이다.

도 8은 모서리 소거 또는 경로 소거 메시지의 전송 그리고 발생을 보여주는 프로세스 흐름 다이어그램이다.

도 9 는 혼잡 제어를 구현할 수 있는 네트워크의 다이어그램 표현이다.

도 10 은 제어 혼잡을 구현할 수 있는 혼합된 네트워크의 다이어그램 표현이다.

도 11 은 소거 메시지를 내보내기 위한 기술을 보여주는 프로세스 흐름 다이어그램이다.

도 12 는 소거 메시지를 수신하는 것에 기초한 혼잡 제어의 하나의 가능한 구현을 구현할 수 있는 스위치의 다이어그램 표현이다.

도 13 은 수신된 모서리 소거 그리고 경로 소거 메시지들에 기초하여 변하는허용된 비율의 그래픽 표현이다.

도 14 는 혼잡 제어의 구현을 보여주는 프로세스 흐름 다이어그램이다.

당해 발명은 네트워크에서 혼잡을 제어하는 것에 관련된다. 보다 상세히, 당해 발명은 상기 혼잡한 네트워크 노드로 트래픽 흐름을 제어하기 위해 혼잡한 네트워크 노드에서 다른 네트워크 노드까지 소거 메시지들을 전송하기 위한 방법 및 장치에 관련한 것이다.

당해 발명의 일부 특정 실시예에 대한 상세 점에 대한 기준이 만들어 질 것이고, 이는 당해 발명을 수행하기 위한 발명자들에 의해 숙고되는 최상 모드들을 포함한다. 특정 실시예들의 예는 첨부되는 도면에서 설명된다. 당해 발명이 이러한 특정 실시예들과 관련하여 설명되는 동안, 설명된 실시예로 당해 발명을 제한할 의도는 없다고 이해하여야 할 것이다.

예를 들어, 당해 발명의 기술들은 저장장치 지역 네트워크에서 사용되는 파이버 채널의 내용에서 설명될 것이다. 그러나 주의할 것은 당해 발명의 기술들은 다양한 다른 프로토콜들과 네트워크들에 적용될 수 있다. 또한, 당해 발명에 의해 제공될 수 있는 해결책들은 비-파이버 채널 네트워크에도 동일하게 적용될 수 있다. 한 실시예에서, 상기 기술들은, 당해 발명의 기술들이 IP 네트워크들을 포함하는 다양한 다른 네트워크들에 적용될 수 있음에도 불구하고, 패킷 드랍핑을 일반적으로 허용하지 않는 네트워크에 적용될 수 있다. 다음의 설명에서, 다수의 특정 설명들이 당해 발명의 이해를 통해 제공하기 위해 설명되었다. 당해 발명은 이러한상세한 설명의 모두 또는 일부에 관계없이 실행 될 수 있다. 예를 들어, 잘 알려진 프로세스 작동들은 당해 발명을 불필요하게 모호하지 않게 하기 위해 상세히 설명되지 않았다.

방법 및 장치들이 네트워크 노드에서 혼잡을 감소시키기 위해 제공되었다. 네트워크에서 상기 혼잡은 데이터의 다양한 타입들을 전송함에 있어 지연을 일으킬 수 있다. 특히, 화이어 채널을 이용하는 네트워크 노드는 특히 위험하다. 왜냐하면 캐스케이드 혼잡 그리고 헤드-오프-라인 블락킹과 같은 효과들이, 아래에 설명된, 네트워크 쪽으로 설명될 것이다. 결과적으로, 기술들이 네트워크 노드에서 혼잡을 특징화하고 검출하기 위해 제공된다. 상기 혼잡된 네트워크 노드 쪽으로 트래픽 흐름을 제어하기 위한 다른 타입들의 지시들이 네트워크 노드에서 혼잡을 특징짓기 위한 정보와 함께 발생되고 전송된다. 지시들을 수신하는 일부 다른 네트워크 노드들은 상기 혼잡한 네트워크 노드 쪽으로 선택적으로 트래픽 흐름을 제어하기 위한 지시들 내에서 제공되는 정보를 이용한다.

도 1 은 당해 발명의 기술을 이용할 수 있는 네트워크의 다이어그램식 표현이다. 당해 발명의 기술들이 저장장치 지역 네트워크에서 파이버 채널의 내용에서 설명될 것임에도, 위에서 언급된 바에서 중요시해야 할 것은 당해 발명의 기술은 다양한 지역적 그리고 넓은 지역 네트워크들을 포함하는 다수의 내용들에 적용될 수 있다는 점이다. 다양한 기술들이 단일 네트워크 노드가 다중 흐름 또는 패스들을 위한 혼잡의 지점으로서 활동할 수 있는 곳에서 네트워크 내에 적용될 수 있다.도 1 은 파이버 채널을 이용하여 구현되는 저장장치 지역 네트워크를 보여준다. 스위치(101)는 호스트(111) 그리고 저장장치(121)에 연결되는 것과 마찬가지로 스위치들(103,105)에 연결된다. 한 실시예에서, 호스트(111)는 저장장치(121)가 단일 디스크 또는 독립적 디스크의 중복 배열(RAID)이 될 수 있다. 내부적으로 연결된 스위치들(103,105)은 둘 다 스위치(107)에 연결된다. 스위치(107)는 호스트(103)에 연결되고 그리고 스위치(103)는 저장장치(123)에 연결된다. 스위치(109)는 호스트(115), 스위치(107), 디스크 배열(153), 그리고 파이버 채널을 이용하거나 또는 이용하지 않는 외부 네트워크(151)에 연결된다. 네트워크(151)에 액세스하기 위한 호스트(111)를 위해, 다수의 패스들이 사용된다. 하나의 패스는 다른 패스들이 스위치(105)를 통과하는 동안, 스위치(103)를 통과한다. 그러나 스위치(109)에서 혼잡은 호스트(111) 그리고 네트워크(151) 간에서 통신을 늦출 수 있다.

위에서 언급한 것과 같이, 종래의 IP 네트워크에서 스위치 또는 라우터가 혼잡할 때, 패킷들은 드랍된다. 패킷들은 어느 정도의 정보와 함께 선택적 또는 임의적으로 드랍된다. 패킷들이 드랍됨으로써, 다량의 밴드위스를 소모하는 흐름은 일반적으로 더 적은 양의 밴드위스를 사용하고 있는 흐름을 드랍하는 더 많은 패킷들을 지닐 것이다. 혼잡한 스위치 또는 라우터를 통한 흐름 비율들이 패킷들의 드랍과 함께 감소될 것임에도 불구하고, 패킷들은 네트워크(151)로 스위치(109)를 통과할 것이다. 스위치(103,105)에서 혼잡은 스위치(107) 또는 스위치(109)에서 혼잡 때문에 소개되지 않는다.

파이버 채널은, 그러나, 패킷들의 드랍을 허용하지 않는다. 대신, 더 많은프레임들을 수신하기 위해 네트워크(151)의 불가능 또는 실패와 같은 다양한 이유 때문에 스위치(109)가 혼잡할 때, buffer-to-buffer 신뢰 체계는 스위치(107)로부터 스위치(109)까지 트래픽 흐름을 제어하기 위해 사용된다. 특정 구현에서, 스위치(109)는 미리 지정된 다수의 신뢰들을 스위치(107)로 할당한다. 항상 상기 스위치(107)는 프레임에서 스위치(109)로 전송하고, 신뢰들이 이용된다. 스위치(109)는 그 후 상기 스위치(109)가 이용 가능한 버퍼들을 지닐 때 스위치(107)로 부가적인 신뢰들을 할당할 수 있다. 스위치(107)가 신뢰들을 다 썼을 때, 더 이상 스위치(109)로 전송할 수 없다. 더 많은 프레임들을 수신하기 위해 네트워크(151)의 불가능 또는 실패 때문에, 스위치(109) 그리고 결과적으로 스위치(107)는 네트워크(151)로 전송할 수 없다. 주의할 것은 네트워크가 한 실시예에서 혼잡의 정도로서 설명되었음에도 불구하고, 다른 실시예에서, 디스크 배열(153) 또는 호스트(115)는 혼잡의 소스가 된다.

buffer-to-buffer 신뢰 체계는 스위치(109)로 트래픽 흐름을 감소하기 위한 매우 거친 방법이다. 상기 신뢰 체계는 스위치(107)로부터 스위치(109)까지 전송으로부터 트래픽을 방지할 뿐만 아니라, 호스트(115) 그리고 그의 관련 링크가 스위치(109)로부터 부가적 프레임들을 수신하기 위한 대역폭을 지님에도 불구하고, 호스트(115)로 스위치(107)로부터 스위치(109)까지 트래픽을 방지한다. 상기 buffer-to-buffer 신뢰 체계는 호스트(115)와 같은 혼잡하기 않은 목적지로 트래픽 전송의 블락킹을 초래할 수 있다. 한 실시예에서, 호스트(111)는 혼잡한 네트워크(151)와 함께 통신할 수 있다. 네트워크(151)에서 혼잡 때문에, 스위치는 호스트로부터 다수의 프레임들을 대기열에 넣고, 그리고 결과적으로 스위치가 상기 프레임들이 호스트(111) 또는 호스트(113)으로부터 인지에 따라 더 이상의 프레임들의 전송 되지 않도록 하기 위해 buffer-to-buffer 신뢰 체계를 이용한다.

호스트(113)는, 반면, 일부의 프레임들을 호스트(115)로 전송하기 위해 시도하는 노력만을 한다. 왜냐하면 네트워크 혼잡은 스위치(109)가 스위치(107) 그리고 스위치(109) 간에 buffer-to-buffer 신뢰 체계를 구현하는 것을 일으키는 원인이 되기 때문이며, 어떠한 프레임들도 혼잡의 진짜 지점이 네트워크(151)임에도 불구하고, 스위치(107)와 스위치(109)를 연결하는 상기 링크를 통해 호스트(113)로부터 호스트(115)까지 전송할 수 없기 때문이다. 프레임들은 더 이상 호스트(115) 또는 네트워크(151)로 네트워크(151) 또는 디스크 배열(153) 내의 혼잡 때문에 전송되지 않는다.

프레임들은 일반적으로 레이어 3 패킷 구조를 포함하는 레이어 2 구조라는 점을 주의하여야 한다. 프레임들 그리고 패킷들은 일반적으로 여기서 네트워크 전송을 설명하는 것으로 교환 가능할 수 있도록 사용된다. 여기서 혼잡의 지점이 네트워크(151)임에도 불구하고, 다른 숙고된 혼잡의 지점은 스위치(109)에 연결된 디스크 배열(153) 또는 호스트(115)가 될 수 있다.

스위치(107)가 더 이상 스위치(109)로 전송되지 않을 수 있기 때문에, 스위치(107)는 스위치들(103,105)을 지닌 동일한 buffer-to-buffer 신뢰 체계를 구현하여야 한다. 스위치들(103,105)이 더 이상 스위치(107)로 전송할 수 없을 때, 스위치들(103,105)은 스위치(101)를 지닌 buffer-to-buffer 신뢰 체계를 구현해야만 한다. 혼잡은 결과적으로 네트워크를 통하여 캐스케이드 할 수 있다. 상기 캐스케이드 혼잡 현상은 혼잡 스프레딩(spreading)으로서 간주될 수 있다.

도 2 는 헤드-오프-라인 블락킹을 표시하는 단순화된 네트워크의 다이어그램식 표현이다. 도 2에서, 소스 노드(211)는 스위치(201, 203)를 통해 목적지 노드(217)로 데이터를 전송하고 있다. 주의할 것은 목적지 노드들(217,219)과 마찬가지로 소스 노드들(211,213)은 스위치들, 호스트들, 외부 네트워크들, 또는 디스크들과 같은 엔트리가 될 수 있다. 한 실시예에서, 링크들(221,223,229) 각각은 초당 10바이트에서 전송을 허용한다. 링크(227)는, 그러나, 단지 초당 한 바이트에서 전송을 허용한다. 소스 노드(211) 그리고 소스 노드(213)가 초당 10바이트에서 각각의 목적지(217,219)로 전송하는 경우, 혼잡은 링크(227)가 단지 초당 한 바이트에서 전송할 수 있기 때문에 스위치(203)에서 초래될 수 있다. 소스 노드(211)로부터 패킷들 또는 프레임들은 스위치(203)에서 축적될 것이다. 왜냐하면 스위치(203)는 충분한 속도에서는 목적지(217)로 전송할 수 없기 때문이다. 스위치(203)는 링크(225)와 관련된 분할된 메모리(231)를 지닌다. 스위치(201)는 각각 링크(221,223)와 관련된 분할된 메모리(223) 그리고 분할된 메모리(235)를 지닌다. 각 스위치의 혼잡 특징 그리고 분할된 메모리상에서 더 상세한 것은 아래의 도 3과 관련하여 제공될 것이다.

분할된 메모리 구현에서, 스위치(203)는 링크(225)로부터 모든 트래픽 발생을 위해 분할된 메모리(231)를 지닌다. 이 분할된 메모리(231)는 목적지 노드(217) 또는 목적지 노드(219)를 위해 정해지는 프레임들과 패킷들을 포함할 수 있다. 목적지 노드(217)를 위해 정해진 프레임들 또는 패킷들이 스위치(203)와 관련된 상기 분할된 메모리를 채우는 경우, 목적지 노드(217) 또는 목적지 노드(219)를 위해 정해진 프레임들은 더 이상 스위치(203)에서 받아들일 수 없다. 스위치(203)는 그 때 buffer-to-buffer 신뢰 체계를 이용함으로써 부가적 들어오는 트래픽을 막을 수 있다. 상기 buffer-to-buffer 신뢰 체계는 소스(211)로부터 목적지(217)까지 혼잡한 패스를 따라서 뿐만이 아니라, 소스(213)로부터 목적지(219)까지 원래의 혼잡하지 않은 경로를 따라서 전송을 느리게 한다. 느려진 전송의 결과로서, 링크(225) 상의 대역폭이 심지어 노드(213,219)간에서 트래픽을 전송하기에 더 적합함에도, 노드(213)는 노드(219)로 단지 1 바이트 초만을 전송할 수 있을 것이다.

당해 발명의 기술들은 혼잡을 검출하기 위한 체계를 제공하고 그리고 다른 트래픽 흐름을 허용하는 것을 지속하는 동안 혼잡한 패스를 따른 흐름에서 트래픽을 감소시킬 수 있는 지시들을 발생한다. 당해 발명의 상기 기술들은 목적지와 관계없이 무분별하게 트래픽을 막는 표준 buffer-to-buffer 신뢰 체계의 기원을 피하기 위한 시도를 한다. 무분별한 블락킹은 파이버 채널 표준 존재가 변함으로써 파이버 채널 네트워크에서 주로 발생할 수 있다. 한 실시예에서, 라인들은 다른 라인들이 초당 2 또는 10 기가비트를 처리하도록 설정되는 동안 초당 1기가비트를 처리하도록 설정된다.

도 3 은 buffer-to-buffer 신뢰 체계와 마찬가지로 당해 발명의 기술들을 구현할 수 있는 스위치의 다이어그램 표현이다. 스위치(301)는 외부 노드(351,353,355,357)로 연결된다. 상기 스위치(301)는 각 스위치 포트와 관련된 분할된 메모리의 버퍼(303)를 포함한다. 버퍼(303)는 외부 노드9351)과 연관된다. 외부 노드들(353,355,357)과 연관된 버퍼들은 명확성을 위해 도시하지 않는다. 상기 버퍼(303)는 외부 노드들(353,355,357)을 위해 지정된 트래픽, 그리고 외부 노드(351)로 루프 백 트래픽을 유지할 수 있다.

특정 구현에서, 다양한 외부 노드들을 위해 지정된 프레임들은 동일한 버퍼(303) 내에 모두 배치된다. 결과적으로, 스위치(301)가 외부 노드(353)와 같은 특정 노드를 위해 지정된 다량의 프레임들을 수신할 때, 외부 노드와 연관된 프레임들은 전체 버퍼(303)를 소비할 수 있다. 상기 버퍼(303)가 채워졌을 때, 외부 노드(351)로부터 부가적 트래픽은 차단된다. 왜냐하면 상기 스위치(301)는 외부 노드(351)로 부가적 신뢰를 할당하지 않기 때문이다. 외부 노드(353)를 위해 지정된 트래픽은 다른 혼잡하지 않은 외부 노드들을 위해 지정된 트래픽을 따라 차단된다.

다양한 실시예에 따라, 버퍼(303) 내에 저장된 프레임들은 프레임 서술자 대기열(311-347)에서 포인터들에 의해 기준 된다. 각 프레임 서술자는 프레임이 상기 버퍼(303) 내에 저장된 곳에서 확인되는 포인터 또는 기준을 포함한다. 분할된 버퍼로의 포인터들 또는 기준들은 여기서 서술자로서 언급된다. 서술자들은 또한 프레임 우선권과 같은 다른 정보를 식별할 수 있다.

한 실시예에서, 중재인(305)은 원탁회의(round-robin)식 방법을 이용하는 프레임을 선택한다. 첫 번째 라운드에서, 외부 노드(353)로 지정된 프레임이 선택된다. 두 번째 라운드에서, 외부 노드(355)로 지정된 프레임이 선택된다. 보다 상세히, 상기 중재인(305)은 먼저 외부 노드(353)를 위해 지정된 서술자(311)와 관련된높은 우선순위 프레임을 선택하고, 그 후 외부 노드(355)를 위해 지정된 서술자(321)와 관련된 높은 순위 프레임을 선택하며, 그 다음 외부 노드(357)를 위해 지정된 서술자(331)와 관련된 높은 순위 프레임을 선택하는 등이다. 프레임을 선택하는 다양한 방법이 당업자에 의해 이해될 수 있도록 사용되는 것을 유의하여야 한다. 목적지에 기초하여 할당된 버퍼들을 지니는 대기 시스템은 가상 출력 대기(VOQ)로서 언급될 수 있다. VOQ 는 Tamir Y. Frazier G. 의" High Performance multi-queue buffers for VLSI communications switches", Proc. Of 15th Ann. Symp. On Comp. Arch., pp 343-354, June 1988 에서 더 상세히 설명된다. 이는 모든 목적을 위한 기준에 의해 통합되는 전체이다. 위에서 설명된 것과 같이, 특정 외부 노드와 관련된 분할된 버퍼 공간이 특정 목적지를 위해 정해진 트래픽에 따라 채워져 갈 때, 그 특정 외부 노드로부터 목적지를 향해 지정된 모든 트래픽이 차단된다. 이것은 심지어 이전의 혼잡하지 않은 목적지들로 흐름으로부터 트래픽을 방지할 수 있고, 그리고 캐스케이딩 혼잡을 일으킬 수 있다. 결과적으로, 원하는 흐름상의 혼잡을 특히 경감하고 그리고 감지하기 위한 기술들을 제공하는 것이 바람직하다. 두 개의 노드들 간의 특정 특징들을 지닌 트래픽을 확인하는 추상개념이 여기서는 흐름(flow)으로서 간주된다. 한 실시예에서, 흐름은 소스 식별자, 목적지 식별자, 우선순위, 클래스, 그리고 교환 식별자로서 언급된다. 다른 특징들이 또한 가능하다. 그러나 유의할 점은, 흐름은 소스 그리고 목적지 식별자에 의해서만 단지 언급된다는 점이다.

도 4는 혼잡 검출을 위해 사용될 수 있는 테이블이다. 도 4는 혼잡을 경갑하기 위한 지시가 발생하여야 할 때를 표시하는 값을 지닌 테이블을 보여준다. 혼잡을 경갑하기 위해 네트워크에서 혼잡한 네트워크로부터 다른 노드까지 전송되는 메시지들과 지시들은 여기서 소거 메시지로서 간주된다.

테이블(401)에서 칼럼(403)은 소거 메시지들을 발생하는 스위치의 버퍼 레벨을 보인다. 상기 버퍼 레벨 칼럼(403)은 소거 메시지 발생 간에 수신되는 다수의 수신된 프레임들을 보여준다. 열(411)은 패킷들을 유지 할 수 있는 버퍼 내의 다수의 패킷들이 0과 10 사이일 때를 표시하고, 어떠한 소거 메시지들도 발생하지 않는다. 다수의 패킷들이 11에서 15 사이일 때, 하나의 소거 메시지가 매 260 프레임마다 발생된다. 큐 내의 다수의 패킷들이 112 그리고 127 간일 때, 하나의 소거 메시지가 6개의 프레임들이 진행된 이후에 발생된다. 소거 메시지 발생 간의 인터벌을 결정하기 위한 하나의 공식은 다음과 같다.

X = 512 패킷들의 버퍼 용량에 기초한 패킷에서 버퍼 레벨

N = 소거 메시지 발생 간의 인터벌

IF X/16>= 8, then N=4,

else N= 4+2∧(8-(X/16)).

당업자들에 의해 이해되는 것과 같이, 다양한 다른 공식들이 사용될 수 있다. 방정식들은 서비스 변수들의 네트워크 퀄리티 또는 버퍼 용량에 기초하여 변할 수 있다.

도 4에서 보이는 테이블은 소거 메시지들을 발생할 때를 결정하기 위한 결정적 기술들을 제공한다. 유의할 것은 다양한 다른 기술들이 사용될 수 있다는 점이다. 한 실시예에서, 각 버퍼 레벨은 소거 메시지 발생의 확률과 연관될 수 있다. 예를 들어, 상기 버퍼 레벨이 80%에 도달할 때, 소거 메시지가 프레임의 수령에 기초하여 발생되는 70% 확률이 있다. 상기 버퍼 레벨이 50%의 능력에 도달할 때, 소거 메시지가 프레임의 수령에 기초하여 발생되는 10%의 확률이 있다. 상기 버퍼 레벨이 10%의 용량일 때, 소거 메시지가 프레임의 수령에 기초하여 발생되는 0.01 % 확률이 있다.

결정론적 기술들은, 그러나, 비결정적 기술들에 대해 다수의 이점들을 제공한다. 특히, 결정론적 기술들은 소거 메시지의 파열의 발생을 방지한다. 랜덤 확률 함수를 이용하여, 다수의 소거 메시지들은 상기 임의적 다수의 발생기의 특징에 기초하여 가까운 근접성 내에서 발생된다. 일련의 소거 메시지들은 고쳐지지 않은 혼잡을 초래하는 파열들 간의 지체동안 트래픽의 감소에 매우 큰 영향을 지닌다. 결정론적 기술들은 덜 파열될 수 있다. 그러나 유의할 점은, 비결정적 기술들은 소거 메시지 파열을 최소화하기 위한 더 많은 복잡 제어 알고리듬을 사용할 수 있다는 점이다.

많은 테이블들과 많은 다른 값들은 소거 메시지들의 전송을 위한 주파수들과 인터벌들을 결정하기 위해 사용될 수 있다. 테이블 값들을 세팅하기 위한 요소들은 네트워크 크기, 다수의 출력 포트들, 버퍼 크기, 그리고 지연의 내성을 포함할 수 있다. 소거 메시지들은 트래픽이 더 느려질 때보다 덜 자주 발생될 수 있는 동안 트래픽의 성질은 파열적일 때 더 자주 발생될 수 있다. 다양한 실시예에 따라, 소거 메시지들을 발생하기 위한 주파수 그리고 인터벌 등은 버퍼 크기 그 자체 뿐만아니라, 버퍼 크기에서 변화 또는 버퍼 크기 내의 변화의 미분 값에 의존한다. 상기 버퍼 레벨이 빠르게 증가하고 있는 경우, 소거 메시지들은 더 자주 발생하게 된다. 한 실시예에서, 상기 버퍼 레벨이 충분히 빠른 비율에서 증가하고 있는 경우, 일련의 소거 메시지들은 즉각 발생된다.

도 5는 혼잡을 감지하기 위한 기술을 보여주는 프로세스 플로우 다이어그램이다. 501에서, 하나의 프레임은 업스트림 외부 노드로부터 수신된다. 503에서, 상기 프레임은 특정 외부 노드와 관련된 버퍼에서 수정한 큐 쪽으로 분류된다. 분류기 로직은 목적지 포트, 우선순위, 그리고 정확한 큐 내의 프레임을 배치하기 위한 소스와 목적지 어드레스들과 같은 다양한 변수들을 이용할 수 있다. 505에서, 특정 외부 노드와 관련된 버퍼의 레벨이 결정된다.

버퍼 레벨 결정을 이용하여, 도 4에서 보이는 것과 같은 하나의 데이터 구조는 507에서 전송되는 소거 메시지들 간의 프레임 구간을 찾기 위한 기준이 될 수 있다. 한 실시예에서, 소거 메시지들은 N 프레임들이 수신된 이후에 전송된다. 즉, 스위치는 소거 메시지들을 업스트림 외부 노드로 전송하기 전에 상기 업스트림 외부 노드로부터 다양한 외부 노드들까지 N 개의 프레임들을 내보낸다. 509에서, 마지막 소거 메시지들이 발생된 이래로 N 개의 프레임들 이상이 보내졌는지가 결정 된다. 상기 N 프레임 구간들이 경과된 경우, 511에서 상기 버퍼 레벨이 로우(low) 스레쉬홀드 이하인지가 결정된다. 상기 버퍼 레벨이 로우 스레쉬홀드 이하인 경우, 어떠한 소거 메시지도 발생하지 않고, 상기 프레임은 513에서 스케줄링을 전송하기 위해 대기열에 넣어진다. 그렇지 않으면, 소거 메시지는 515에서 발생된다. 상기소거 메시지는 상기 업스트림 외부 노드 쪽으로 보내진다. 상기 업스트림 외부 노드로부터 수신된 프레임은 상기 프레임 내에서 상기 목적지 식별자에 의해 표시되는 것과 같은 목적지 노드 쪽으로 스케줄링을 전송하기 위해 대기열에 넣어진다.

유의할 것은 언제 소거 메사지가 발생되는지를 결정하기 위한 다양한 기술들을 숙고해야 되는 점이다. 예를 들어, 소거 메시지들은 주기적 시간 구간들에서 발생될 수 있다. 즉, 소거 메시지들은 특정 구간이 경과된 이후에 발생된다. 상기 주기적 시간 구간들은 미리 지정되거나 또는 동적으로 세트될 수 있다. 상기 버퍼 레벨은 또한 어떠한 소거 메시지들이 발생되는지 간의 시간 구간에 영향을 미치도록 사용될 수 있다. 상기 버퍼 레벨이 높을 때, 소거 메시지들은 더 작은 시간 인터벌을 지니고 더 자주 발생될 수 있다. 상기 버퍼 레벨이 낮을 때, 더 큰 시간 구간은 소거 메시지들이 발생되기 전에 경과된다. 또 다른 실시예에서, 소거 메시지들은 동일한 흐름과 관련된 다수의 프레임들이 버퍼의 특정 세트 부분을 초과할 때 발생된다. 한 실시예에서, 상기 버퍼의 50% 이상이 동일한 소스 그리고 목적지 쌍과 관련하여 프레임들로 채워질 때, 소거 메시지는 발생되고 상기 소스 노드 쪽으로 전송된다. 여전히 또 다른 실시예에서, 소거 메시지들은 작은 시간 구간에서 소스 노드로부터 다수의 프레임들의 수령에 임의적으로 기초하여 발생될 수 있다.

버퍼에서 프레임들의 특징과 버퍼를 분석함으로써, 소거 메시지들은 필요로 하는 기초에 따라 발생되고 그리고 특정 흐름 쪽으로 향할 수 있다. 소거 메시지들은 또한 특정 흐름을 위한 서비스의 퀄리티를 제공하기 위해 사용될 수 있다. 예를 들어, 버퍼의 특정 퍼센트는 중요한 외부 노드로부터 우선순위의 트래픽을 위한 프레임들을 수신하기 위해 예약될 수 있다. 상기 버퍼 레벨이 상기 예약된 레벨에 접근할 때, 소거 메시지들은 우선순위 트래픽과 관련되지 않은 다양한 흐름으로 전송되고 발생될 수 있거나 또는 소거 메시지들은 발생되고 중요하지 않은 외부 노드로 전송될 수 있다. 우선순위 트래픽이 상기 중요한 외부 노드로부터 수신될 때, 어떠한 소거 메시지들도 상기 버퍼 레벨이 거의 완전히 채워질 때까지는 발생하지 않는다. 상기 예약된 버퍼 부분들은 다중 외부 노드들을 위한 다중 흐름을 위해 할당될 수 있다. 한 실시예에서, 4개의 외부 노드들의 각각으로 출력 버퍼의 25%를 제공하는 것이 목적이다. 소거 메시지들은 하나의 특정 외부 노드와 연관된 버퍼의 부분이 35%를 초과할 때 또는 상기 전체 버퍼 레벨이 80%를 초과할 때에 발생될 수 있다. 소거 메시지들은 그 후 상기 버퍼 레벨이 85 또는 90%를 초과할 때 더 자주 발생될 수 있다. 서비스의 퀄리티를 제공하기 위한 다양한 체계들이 소거 메시지들의 발생을 이용하여 구현될 수 있다. 상기 분석과 관련된 정보 그리고 버퍼 레벨들의 특징은 또한 소거 메시지들 내에서 제공될 수 있다.

심지어 더 정확한 혼잡 제어는 다른 소거 메시지들을 이용하거나 또는 각각의 소거 메시지에서 정보를 제공함으로써 구현될 수 있다. 도 6은 버퍼 또는 대기 레벨들에 기초한 혼잡된 스위치에서 다양한 소거 메시지들의 발생을 설명하는 그래픽 표현이다. 상기 버퍼 레벨이 하이(high) 스레쉬홀드(607)를 초과할 때, 패스 소거는 발생될 수 있다. 패스 소거가 상기 혼잡한 스위치로 특정 흐름과 관련되는 트래픽 전송을 즉각 멈추기 위해 상기 소스 노드 그리고 상기 혼잡한 스위치 간의 모든 스위치들을 초과할 수 있다. 패스 소거는 상기 혼잡한 스위치에서 상기 버퍼 레벨이 용량 가까이 이고, 즉각적 트래픽 감소가 신뢰와 buffer-to buffer 신뢰 체계의 고갈을 피하기 위해 필요할 때에 사용될 수 있다. 한 실시예에서, 하이 스레쉬홀드는 버퍼 크기의 90%에서 세트된다.

상기 버퍼 레벨이 하이 스레쉬홀드(607) 그리고 로우 스레쉬홀드(603)간 일 때, 모서리 소거 메시지는 상기 혼잡한 스위치에 의해 발생될 수 있다. 상기 모서리 소거는 상기 혼잡한 스위치 쪽으로 트래픽 흐름을 감소하기 위해 상기 소스 노드에 가장 가까운 혼잡 제어 스위치를 지시한다. 트래픽 흐름을 감소하기 위해 다른 네트워크 노드로부터 지시들을 인식할 수 있는 네트워크 노드들은 여기서 혼잡 제어 스위치들로서 언급된다. 컷 오프 스레쉬홀드(601)는 또한 소거 메시지들의 발생을 방지하기 위해 제공될 수 있다. 소거 메시지를 전송하지 않음으로써, 혼잡 제거 그리고 다른 트래픽의 늦춤은 상기 소거 메시지가 필요하지 않을 때 피할 수 있다.

소거 메시지들은 상기 버퍼 레벨에 관한 정보를 또한 포함할 수 있다. 한 실시예에서, 패스 소거 그리고 모서리 소거 메시지들은 상기 버퍼 레벨이 목적 또는 평형 레벨을 초과하는지에 따라 정보를 제공하는 지시자(indicator)를 포함한다. 상기 목적 또는 평형 레벨(605)은 특정 혼잡 제어 스위치에서 최대 처리량을 제공하기 위한 최적 버퍼 레벨일 수 있다. 상기 버퍼 레벨이 목표 레벨(605) 이하이거나 또는 이상인 경우, 상기 정보는 상기 혼잡 제어 스위치가 다양한 배수에서 전송 비율을 더 잘 결정하는 것을 허용하는 혼잡 제어 스위치로 전송될 수 있다. 한 실시예에서, 상기 버퍼 레벨이 상기 목적 레벨(605)의 위인 경우, 혼잡 제어 스위치는 흐름과 관련된 그의 흐름 비율을 감소하기 위해 선택하고 보다 점차적으로 상기 조정 이후에 전송 비율을 증가시킨다. 대안적으로, 상기 버퍼가 상기 목표 레벨(605) 이하인 경우, 혼잡 제어 스위치는 상기 흐름과 관련된 전송 비율을 감소시키고 그리고 보다 점차적으로 상기 조정 이후에 전송 비율을 증가시키기 위해 선택된다.

현재 그리고 과거 버퍼 레벨 정보는 상기 혼잡 제어 스위치로 제공될 수 있다. 한 실시예에서, 상기 버퍼 레벨에서 변화들은 또한 상기 혼잡 제어 스위치로 제공될 수 있다. 상기 버퍼 레벨이 증가되고 있는 경우, 상기 혼잡 제어 스위치는 상기 흐름과 관련된 그의 전송 비율을 감소하기 위해, 더 낮은 전송 비율을 유지하고, 순차적으로 상기 시간의 경과 이후 그의 전송 비율을 점차적으로 증가시키기 위해 선택된다.

도 6은 패스 소거 또는 모서리 소거 메시지를 전송하는지를 결정하는지를 위한 하이 그리고 로우 스레쉬홀드를 보여준다. 유의할 것은 다양한 다수의 스레쉬홀드들이 사용될 수 있다는 점이다. 한 실시예에서, 패스 소거는 0으로의 특정 흐름과 관련된 전송 비율을 드랍 시키기 위해 상기 혼잡한 스위치와 상기 소스 노드 간의 모든 혼잡 제어 스위치들을 지시한다. 모서리 소거는 1/2로 이전에 허용된 비율로 특정 흐름과 관련된 전송 비율을 드랍하기 위해 소스 노드에 가장 가까운 상기 혼잡 제어 스위치를 지시한다. 또 다른 실시예에서, 3가지 소거 메시지들이 3가지 다른 스레쉬홀드에 대하여 버퍼 레벨의 비교에 기초하여 사용된다.

패스 소거는 0으로 특정 흐름과 관련된 전송 비율들을 드랍하기 위해 상기소스 노드와 상기 혼잡한 스위치들 간의 모든 혼잡 제어 스위치들을 지시한다. 유의할 것은, 그러나, 이 경우에 상기 회복 비율은 신속할 수 있다. 에지 소거는 이분의 일( one half)의 허용된 비율로 전송 비율을 드랍 시키기 위해 상기 소스 노드에 가장 가까운 상기 혼잡 제어를 지시한다. 일부 실시예에서, 에지 소거 그리고 경로 소거 메시지들은 버퍼 특징 정보를 포함하지 않는다. 또 다른 실시예에서, 단일 소거 메시지는 현재, 과거, 그리고 버퍼 레벨 내에서의 변화에 대한 충분한 정보를 포함하는 곳에서 사용될 수 있다. 유의할 것은 하나의 소거 메시지는 호스트가 경로 소거 또는 모서리 소거 메시지를 이해하지 못하는 것과 같이, 다양한 실시예에 따라 상기 네트워크의 모서리에서 멈추어야만 하는 점이다.

도 7은 혼잡한 스위치에서 발생할 수 있는 소거 메시지의 다이어그램식 표현이다. 혼잡한 스위치는 프레임(700)을 식별한다. 상기 프레임(700)은 N 개의 프레임 구간 이후에 선택된 프레임이 되거나 또는 임의적으로 선택될 수 있다. 상기 프레임(700)은 패킷 헤더(703)와 패킷 페이로드(705)를 포함한다. 패킷 헤더(703)는 어드레스 A를 지닌 목적지 식별자(711) 그리고 어드레스 B를 지닌 소스 식별자(713)를 포함한다. 상기 패킷 헤더는 OX_ID(717)와 마찬가지로, 또한 타입(715), 변수 정보(721)를 포함할 수 있다. 전송 패스를 따른 각 스위치는 상기 소스 식별자(713), 목적지 식별자(711), 그리고 다음 홉(hop)을 결정하기 위한 OX_ID를 이용할 수 있다. 패킷 페이로드(705)는 목적지 노드에 의한 추출을 위한 데이터(723)를 포함할 수 있다.

상기 혼잡한 스위치는, 특히, 혼잡 제어 스위치 그 자체로서, 어드레스 A를지닌 목적지 식별자 그리고 어드레스 B를 지닌 소스 식별자를 취하고 그리고 어드레스 B로 세트되는 목적지 식별자(771) 그리고 어드레스 A로 세트되는 소스 식별자(773)를 포함한다. 상기 소거 메시지 패킷 헤더(753)는 상기 프레임이 패스 소거 또는 모서리 소거와 같은 소거 메시지라는 것을 알려주는 타입(775)이다. 상기 프레임(750)이 패스 또는 모서리 소거 메시지라는 것을 표시하기 위해 사용되는 값은 상기 타입 필드(775)를 위해 세트되는 벤더(vendor) 특정 값이 될 수 있다. 다양한 실시예에 따라, 상기 소거 메시지 패킷은 또한 버퍼 특징 정보를 포함하는 상기 OX_ID(717) 그리고 변수 정보(781)와 다른 OX_ID(777)를 포함할 수 있다. 다른 OX_ID(777)을 지님으로써, 소스 식별자(773)를 이용하는 경로 선택, 목적지 식별자(771), 그리고 OX_ID 는 다른 경로를 생성한다. 다른 OX_ID 는 임의적으로 선택될 수 있다. 패킷 페이로드(775)와 관련하여, 상기 소거 메시지는 어떠한 데이터(783)도 포함할 필요가 없다.

도 8은 소거 메시지의 발생을 묘사하는 흐름 프로세스 다이어그램이다. 다양한 실시예에 따라, 상기 마지막 소거 메시지가 발생된 이래로 수신되는 N번째 프레임과 관련된 상기 흐름은 , 다른 기술들이 위에서 언급한 것과 같이 사용됨에도 불구하고 소거를 위해 선택된다. 803 에서, 상기 프레임 소스 식별자 S 그리고 상기 프레임 목적지 식별자 D 가 추출된다. 805에서, 상기 버퍼는 발생해야할 소거 메시지의 타입이 무엇인지를 결정할 뿐만 아니라, 상기 혼잡한 스위치 그리고 소스 노드 간의 혼잡 제어 스위치로 정보를 제공하기 위해 특징지어질 수 있다.

805에서, 상기 버퍼 레벨이 하이(high) 스레쉬홀드보다 위인 경우, D 로 세트되는 상기 소스 식별자를 지닌 패스 소거 메시지 그리고 S로 세트되는 목적지 식별자는 821에서 발생된다. 다른 변수 정보를 따른 버퍼 특징 정보는 825에서 소거 메시지로 부가될 수 있다. 상기 소거 메시지는 그 후 827에서 파이버 채널을 이용하여 스케줄링을 전송하기 위해 대기 될 수 있다. 그렇지 않은 경우, D 로 세트된 소스 식별자 세트를 지닌 모서리 소거 메시지 그리고 S로 세트된 목적지 식별자 세트는 823에서 발생된다. 버퍼 특징 그리고 변수 정보는 비슷하게 825에서 모서리 소거 메시지로 부가될 수 있고, 상기 소거 메시지는 827에서 파이버 채널을 이용하여 실질적으로 포워딩을 위해 대기열에 넣을 수 있다.

도 9 는 경로 소거 또는 모서리 소거 프레임과 같은 소거 메시지를 수신할 수 있는 네트워크 노드를 포함하는 네트워크의 다이어그램식 표현이다. 위에서 설명한 것과 같이, 혼잡 제어 스위치(909)는 수신된 프레임의 소스 그리고 목적지를 바꿈으로써 소거 메시지를 발생한다. 한 실시예에서, 수신된 프레임의 소스는 상기 수신된 프레임의 목적지가 네트워크(951)의 노드가 되는 동안 호스트(911)일 수 있다. 상기 프레임은 스위치들(901,903, 907)을 통해 스위치(909)로 전송된다. 상기 혼잡 제어 스위치(909)는 위에서 설명한 것과 같이 소거 메시지를 발생한다. 상기 소거 메시지는 호스트(911)로 목적지 세트를 지닌다. 패스 소거 메시지가 발생되는 경우, 어떠한 패스 소거 메시지가 제출되는가를 따라 모든 혼잡 제어 스위치는 혼잡 제어 체계를 구현할 수 있다. 이 실시예에서, 혼잡 제어 스위치들(907,903,901) 각각은 혼잡 제어를 구현한다.

유의할 점은 상기 패스 소거 메시지는 스위치(903) 대신에 스위치(905)로 제출된다. 상기 패스 소거가 혼잡 제어 스위치(901)에 도달하기 전에 903 으로 대신에 스위치(905)로 포워드 되는 경우, 혼잡 제어 스위치(905)는 상기 소거 메시지를 무시한다. 왜냐하면, 그것은 호스트(911)로 세트된 소스를 지닌 프레임 그리고 네트워크(951)로 세트된 목적지가 혼잡 제어 스위치(905)를 통해 전송되지 않는 것을 인식하기 위해 설정될 수 있다. 그럼에도 불구하고, 혼잡 제어는 여전히 수행될 수 있다.

모서리 소거 메시지가 발생하는 경우에, 상기 호스트(911)에 가장 가까운 스위치는 혼잡 제어 체계를 이행한다. 상기 모서리 소거는 혼잡 제어 스위치(907)로 그리고 계속해서 혼잡 제어 스위치(903) 또는 혼잡 제어 스위치(905)로 포워드 되며, 이들 모두는 모서리 소거 메시지를 무시한다. 혼잡 제어 스위치(901)는 호스트(911)에 직접적으로 결합되고 결과적으로 상기 모서리 소거 메시지와 관련된 혼잡 제어 체계들을 구현할 것을 인식할 수 있다.

도 10 은 혼잡 제어 스위치가 상기 소거 메시지를 발생하는 상기 프레임으로 전송되는 상기 호스트에 직접적으로 결합되지 않는 곳에서 모서리 소거 프레임들과 같은 소거 메시지들을 수신할 수 있는 네트워크 노드들을 포함하는 네트워크의 다이어그램식 표현이다. 이 실시예에서, 호스트(1011)는 혼잡 제어 스위치(1009)에서 모서리 소거 메시지의 발생을 초래하는 네트워크(1051)쪽으로 프레임을 전송한다. 혼잡 제어 스위치(1009)는 혼잡 제어 스위치(1007)를 통해 상기 호스트(1011) 쪽으로 모서리 소거 메시지를 전송한다. 모든 혼잡 제어 스위치에서, 결정은 상기 혼잡 제어 스위치가 상기 호스트(1011)에 가장 가까운 것인지에 관해 결정될 수 있다.한 실시예에서, 상기 혼잡 제어 스위치가 호스트(1011)와 동일한 영역에 있는 경우, 혼잡 제어는 특정 스위치에서 즉시 구현될 수 있다. 도메인 정보는 소거 메시지 내에서 제공될 수 있고 그리고 혼잡 제어 스위치 내의 어떠한 도메인 정보와 매치된다. 또 다른 실시예에서, 혼잡 제어 스위치는 인접하는 스위치들의 리스트 그리고 그들과 관련된 도메인들을 유지한다. 그리고 여전히 다른 실시예에서, 토플러지(topology) 정보는 인접한 노드들이 혼잡 제어 스위치인지에 관한 특정 데이터와 함께 저장될 수 있다. 저장장치 지역 네트워크의 토플러지 맵과 같은 전체 토플러지 맵은 혼잡 제어 스위치가 모서리 소거 제어 체계를 구현할 것인지 아닌지를 결정하는 것을 허용하기 위해 유지될 수 있다.

상기 토폴로지 정보는 그래프, 테이블, 그리고 다른 네트워크 노드들로부터 개개의 링크 제어 정보 프레임들을 포함하는 다양한 포맷들 내에서 유지될 수 있다. 토폴로지 맵을 발생하기 위한 방법 및 장치들은 모든 목적을 위한 참고 자료로서 통합되는 Andrew S. Tanenbaum(ISBN:0133499456)에 의한 Computer Network에서 설명된다. 파이버 채널 네트워크에서, 파이버 채널 스위치 설정 서버(FCS)라고 불리는 프로토콜은 물리적 토플러지의 발견을 허용한다.

도 11 은 소거 메시지를 포워딩하기 위한 기술을 보여주는 프로세스 플로우 다이어그램이다. 1101에서, 소거 메시지는 혼잡 제어 스위치에서 수신된다. 우선순위, 소스 식별자, 목적지 식별자, 포트 그리고 버퍼 레벨 정보와 같은 흐름 변수들은 혼잡 제어를 위해 추출될 수 있다. 1105에서, 상기 소거 메시지에 의해 표시되는 것과 같은 목적지 이전에 다른 혼잡 제어 스위치들이 있는 경우인지가 결정된다. 위에서 설명한 것과 마찬가지로, 혼잡 제어 스위치들은 패스 소거 그리고 모서리 소거 메시지들과 같은 소거 메시지들을 인식하는 스위치가 될 수 있다. 1107에서, 상기 목적지 전에 다른 혼잡 제어 스위치들이 있기 때문에, 상기 소거 메시지는 패스 소거 또는 모서리 소거 메시지들인지와 관계없이 파이버 채널을 이용하는 스케줄링을 전송하기 위해 대기열에 넣어진다. 1109에서, 상기 소거 메시지가 모서리 소거 인경우인지를 결정한다. 상기 소거 메시지가 모서리 소거인 경우, 어떠한 다른 액션들도 취해질 필요가 없다. 반면, 상기 메시지가 패스 소거이면, 혼잡 제어에 상대적인 변수들은 1111에서 저장된다.

한 실시예에서, 소거 변수들은 1111에서 혼잡 제어 스위치와 관련된 필터 또는 컨트롤러에 저장될 수 있다. 1113에서, 특정 변수 정보와 관련된 흐름의 전송을 위해 현재 허용된 비율이 상기 지시가 모서리 소거 메시지인 경우 반까지 감소된다. 다양한 실시예에 따라, 각 흐름은 최대 허용된 비율을 지닐 수 있다. 반면, 상기 변수 정보와 관련된 흐름을 위한 현재 허용되는 비율은 0으로 드랍 된다. 특정 흐름을 위한 최대 전송 비율은 여기서 최대 허용 비율로서 간주된다. 소거 지시들에 의해 조정되는 전송 비율은 여기서 현재 허용 비율로서 간주된다. 한 실시예에서, 상기 전송 비율은 초기에 최대 허용된 비율이고 수신하는 소거 지시들에 기초하여 현재 허용되는 비율로 감소된다. 상기 현재 허용되는 비율은 그 후 그것이 또 다른 소거 지시를 수신하고 그리고 최대 허용 비율에 도달할 때까지 회복 비율에서 증가될 수 있다. 유의할 것은, 이 실시예에서, 소거 메시지들의 두 가지 타입들이 사용된다. 다양한 실시예에 따라, 모서리 소거 메시지들은 목적지에 가장 가까운혼합 제어 스위치에서 반까지 허용된 비율로 떨어진다. 패스 소거 메시지들은 0까지 목적지 쪽으로 패스를 따라 모든 혼잡 제어 스위치들에서 허용된 비율로 떨어진다.

도 12는 혼잡 제어 스위치의 한 실시예의 다이어그램식 표현이다. 혼잡 제어 스위치(1201)는 외부 노드(1251,1253,1255, 그리고 1257)에 결합된다. 그러나 외부 노드(1251)로부터 수신하는 프레임들을 위한 버퍼만이 명확성을 위해 보인다. 프레임이 외부 노드(1251)로부터 스위치(1201)에서 수신될 때, 분류기 로직(1299)은 분리된 버퍼 풀(1203)쪽으로 프레임을 배치하고 그리고 서술자 또는 포인터(1211-1247)와 함께 그것을 참고 한다. 서술자들은 프레임 우선순위를 표시하는 정보와 관련될 수 있다.

다양한 실시예에 따라, 당해 발명의 기술들은 수신된 소거 메시지와 관련된 프레임들을 위한 필터 대기열(1261-1277)을 제공한다. 필터(1209)는 패스 소거 또는 모서리 소거 메시지들과 같은 소거 메시지들로부터 추출되는 소거 변수들을 유지할 수 있다. 중재기(arbitrator)(1205)는 FIFO와 같은 다른 방법들이나 랜덤으로 마찬가지로 사용될 수 있음에도 불구하고, 특히 원탁회의식 방법을 이용하여 전송을 위해 프레임들을 선택한다. 프레임이 버퍼(1203)로부터 외부 노드까지 전송을 위해 상기 중재기(1205)에 의해 선택될 때, 필터(1209)는 수신된 소거 메시지들과 관련된 소거 메시지들과 함께 선택된 프레임의 변수를 비교한다. 한 실시예에서, 필터는 소거 변수들의 32 세트들과 선택된 프레임의 변수들 간의 32개의 동시적 비교를 수행한다. 소거 변수들의 32 세트들 중의 하나와 매칭 되는 프레임 서술자는필터 대기열(1207) 내의 32개의 다른 큐들 중의 하나에 배치된다.

프레임 서술자들은 상기 소스 그리고 목적지 어드레스 쌍, 출력 포트, 우선순위, 그리고/또는 다른 변수들이 대응하는 경우 상기 필터 대기열 내의 배치를 위해 선택된다. 유의할 것은 서술자는 입력 대기열들(1211-1247)중의 하나로부터 상기 분리된 버퍼 풀(1203)을 변화시킴 없이 필터 대기열(1261-1277)까지 이동될 수 있다. 상기 프레임 중의 변수가 필터(1209) 내에 유지되는 변수에 대응하지 않는 경우, 상기 프레임 서술자는 외부 노드들(1253,1255,1257, 그리고 1251)과 같은 외부 노드들로 포워드 된다. 반면, 상기 프레임은 상기 비율 제한기와 관련된 필터 대기열 쪽으로 배치될 수 있다. 한 실시예에서, 필터 프레임은 비율 제한기(1281)와 관련된 필터 대기열(1261)쪽으로 배치된다. 비율 제한기(1281)는 필터 큐(1261)에서 서술자와 관련된 프레임이 현재 허용되는 비율에 기초하여 전송될 수 있는지를 결정한다.

도 13은 소거 메시지의 수령에 기초한 하나 이상의 비율 제한기들과 관련된 허용된 비율에서 가능한 변화들을 보여주는 그래픽 표현이다. 위에서 설명되는 것과 같이, 일부 실시예에서, 패스 소거 메시지는 모서리 소거 메시지가 허용된 비율을 반까지 감소하는 동안 0으로 허용된 비율을 감소한다. 그래픽 표현에 따라, 1301에서 수신된 모서리 소거는 반까지 허용된 비율을 감소시킨다. 1301 그리고 1303간에서, 상기 허용된 비율은 점차적으로 스위치 제어기에 의해 결정되는 회복 비율에서 증가한다. 상기 회복 비율은 미리 지정된 비율이 되거나 또는 소거 메시지들에서 제공된 버퍼 레벨 특징 정보와 같은 정보에 기초하여 동적으로 세트된 비율이다.

한 실시예에서, 상기 회복 비율은 상기 버퍼 레벨 특징 정보가 혼잡된 스위치가 평형 지점에 상대적으로 낮은지를 표시할 때 증가된다. 대안적으로, 상기 회복 비율은 상기 버퍼 레벨 특징 정보가 상기 혼잡 스위치의 버퍼 레벨이 평형 지점에 대해 높을 때를 표시할 때 감소된다. 1303에서, 상기 비율 제한기와 관련된 또 다른 모서리 소거 메시지들이 수신된다. 상기 허용된 비율은 다시 1303에서 반으로 감소된다. 1303 그리고 1305간에서, 감소된 회복 비율은 버퍼 레벨 특징화 정보와 같은 요소 때문에 적용된다. 1305에서, 패스 소거 메시지는 수신되고 그리고 상기 허용된 비율은 0으로 감소된다. 증가된 비율은 1305 그리고 1307간에 적용된다. 상기 허용된 비율은 최대 허용 또는 1307에서 라인 비율에 도달하고, 상기 필터 대기열은 이 지점에서 방출될 수 있다.

도 14는 소거 메시지를 수신하는 스위치에서 혼잡 제어의 구현을 보여주는 프로세스 흐름 다이어그램이다. 1401에서, 프레임이 확인된다. 1403에서, 프레임 변수들은 필터내의 변수들과 비교된다. 상기 비교되는 변수들은 소스 그리고 목적지 어드레스들, 우선순위, 그리고 출력 포트를 포함한다. 상기 변수들이 1403에서 매치되는 경우, 상기 프레임 식별자들은 1407에서 비율 제한기와 관련된 필터 큐로 배치된다. 상기 필터 큐는 프레임의 전송을 지연시킬 수 있다. 상기 비율 제한기는 특징 버킷들, 누설 버킷들, 그리고 가상 시간 비율 제한기들을 포함하는 다양한 체계들을 이용하여 구현될 수 있다. 상기 비율 제한기에 의해 사용되는 비율은 수신되는 소거 메시지들의 타입 그리고 상기 소거 메시지들 내의 버퍼 레벨 특징 정보에 기초하여 세트될 수 있다. 1409에서, 상기 비율 제한기는 허용 비율에 기초한 프레임의 제어 전송이다. 전송을 제어하는 것은 프레임의 전송 지연을 포함한다. 1405에서, 상기 프레임은 파이버 채널을 이용하는 포워딩을 위해 대기열에 넣어진다. 상기 식별된 프레임의 변수들이 1403에서 필터 내의 변수들과 매치되지 않는 경우, 상기 프레임은 1405에서 파이버 채널을 이용하여 즉시 포워딩을 위해 대기열에 넣어질 수 있다.

Claims (55)

  1. 네트워크 스위치에서 혼잡을 제어하기 위한 방법으로서, 상기 방법은,
    - 소스에 대응하는 소스 식별자 필드 그리고 목적지 노드에 대응하는 목적지 식별자 필드를 지니는 프레임을 수신하고, 상기 프레임은 상기 네트워크 스위치 그리고 상기 소스 노드 간의 제 1 매개적 스위치를 통해 상기 네트워크 스위치 쪽으로 전송되며,
    - 상기 네트워크 스위치에서 트래픽 흐름을 특징짓고, 그리고,
    - 상기 소스 노드로부터 상기 목적지 노드까지 트래픽을 제어하기 위해 상기 네트워크 스위치로부터 상기 제 1 매개적 스위치까지 제 1 지시를 전송하는
    단계를 포함하는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  2. 제 1 항에 있어서, 이 때 상기 제 1 매개적 스위치는 상기 소스 노드에 결합된 모서리 스위치인 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  3. 제 1 항 또는 제 2 항에 있어서, 이 때 상기 제 1 지시는 모서리 소거 프레임을 포함하는 상기 제 1 매개적 스위치로 전송되는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  4. 제 3 항에 있어서, 이 때 상기 모서리 소거 프레임은 상기 목적지 노드에 대응하는 소스 식별자 피드 그리고 상기 소스 노드에 대응하는 목적지 식별자 필드를 지니는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  5. 제 4 항에 있어서, 이 때 상기 모서리 소거 프레임은 네트워크 스위치 혼잡 정보를 포함하는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  6. 제 4 항 또는 제 5항에 있어서, 이 때 상기 모서리 소거 프레임은 네트워크 스위치 대기열 레벨 정보를 포함하는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  7. 제 4 항 내지 제 6 항 중 어느 한 항에 있어서, 이 때 상기 모서리 소거 프레임은 상기 소스 노드 그리고 상기 목적지 노드로부터 전송을 위한 허용 비율을 반까지 제어하기 위해 상기 제 1 매개적 스위치로 향하는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서, 이 때 상기 제 1 매개적 스위치 그리고 상기 네트워크 스위치는 파이버 채널을 이용하여 연결되는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  9. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서, 이 때 상기 프레임은 상기 제 1 매개적 스위치 그리고 상기 네트워크 스위치 간의 제 2 매개적 스위치를 통해 전송되는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  10. 제 9 항에 있어서, 상기 방법은 또한,
    - 상기 네트워크로부터 상기 제 2 매개적 스위치까지 상기 소스노드로부터 상기 목적지 노드까지 트래픽을 제어하기 위해 제 2 지시를 전달하는
    단계를 포함하는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  11. 제 10 항에 있어서, 이 때 상기 제 1 지시는 패스 소거 프레임을 포함하는 상기 제 1 매개적 스위치로 전송되는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  12. 제 11 항에 있어서, 이 때 상기 제 2 지시는 상기 패스 소거 프레임을 포함하는 상기 제 2 매개적 스위치로 전송되는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  13. 제 11 항 또는 제 12 항에 있어서, 이 때 사기 패스 소거 프레임은 상기 목적지 노드에 대응하는 소스 식별자 필드 그리고 상기 소스 노드에 대응하는 목적지 식별자 필드를 지니는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  14. 제 11 항 내지 제 13 항 중 어느 한 항에 있어서, 이 때 사기 패스 소거 프레임은 네트워크 스위치 혼잡 정보를 포함하는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  15. 제 11 항 내지 제 14 항 중 어느 한 항에 있어서, 이 때 상기 패스 소거 프레임은 네트워크 스위치 대기열 레벨 정보를 포함하는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  16. 제 11 항 내지 제 15 항 중 어느 한 항에 있어서, 이 때 상기 패스 소거 프레임은 상기 소스 노드 그리고 상기 목적지 노드로부터 0bps까지 전송하기 위해 허용되는 비율을 감소하기 위해 상기 제 1 그리고 제 2 매개적 스위치들로 향하는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  17. 제 1 항 내지 제 17 항 중 어느 한 항에 있어서, 이 때, 트래픽 흐름은 상기 네트워크 스위치 대기열 레벨을 체킹 하는 것을 포함하는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  18. 제 17 항에 있어서, 이 때 트래픽 흐름을 특징짓는 것은 패스 소거 또는 모서리 소거 프레임들을 전송해야 하는지를 결정하는 단계를 포함하는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  19. 제 17 항 또는 제 18 항에 있어서, 이 때 패스 소거 프레임들은 상기 대기열 레벨이 하이(high) 스레쉬홀드를 초과할 때 전송되는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  20. 제 17 항 내지 제 19 항 중 어느 한 항에 있어서, 이 때 모서리 소거 프레임들은 상기 대기열 레벨이 하이 스레쉬홀드와 로우 스레쉬홀드 간일 때 전송되는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  21. 제 17 항 내지 제 20항 중 어느 한 항에 있어서, 이 때 상기 모서리 소거 그리고 패스 소거 프레임들은 버퍼 레벨 지시자를 포함하는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  22. 제 1 그리고 제 2 매개적 노드들을 통한 제 1 그리고 제 2 엔드(end)노드들 간의 트래픽 흐름을 제어하기 위한 방법으로서, 상기 방법은,
    - 상기 제 1 엔드 노드에 대응하는 소스 식별자 그리고 상기 제 2 엔드 노드에 대응하는 목적지 식별자를 지니는 제 1 프레임을 전송하고, 이 때 상기 프레임은 상기 제 1 매개적 노드 그리고 상기 제 2 엔드 노드 간의 제 2 매개적 노드로 제 1 매개적 노드에서 전송되며,
    - 상기 제 2 매개적 노드로부터 제 2 프레임을 수신하고, 상기 제 2 프레임은 상기 제 2 엔드 노드에 대응하는 소스 식별자 그리고 상기 제 1 엔드 노드에 대응하는 목적지 식별자를 지니며, 이 때 상기 제 2 프레임은 상기 제 1 엔드 노드로부터 상기 제 2 엔드 노드까지 현재 허용된 비율을 조정하기 위한 지시들을 포함하고, 그리고,
    - 상기 제 2 프레임의 수신에 기초하여 상기 제 1 엔드 노드로부터 상기 제 2 엔드 노드까지 현재 허용된 비율을 조정하는
    단계를 포함하는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  23. 제 22 항에 있어서, 이 때 상기 현재 허용된 비율은 상기 최대 허용된 비율을 초과하지 못하는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  24. 제 21 항 또는 22 항에 있어서, 이 때 현재 허용된 비율을 조정하는 단계는,
    - 상기 제 2 프레임이 모서리 소거 프레임인가를 결정하는
    것을 포함하는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  25. 제 21 항 내지 제 24 항에 있어서, 이 때 상기 현재 허용된 비율은 상기 제 1 매개적 노드가 상기 제 1 엔드 노드에 결합된 모서리 스위치 인가를 결정한 이후에 조정되는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  26. 제 24 항에 있어서, 이 때 상기 현재 허용된 비율은 상기 제 1 매개적 노드가 상기 현재 허용된 비율은 혼잡 제어를 지원하지 못하는 이웃의 노드로 결합되는지를 결정한 이후에 조정되는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  27. 제 21 항 내지 제 25 항에 있어서, 이 때 상기 현재 허용된 비율은 처음으로 상기 최대 허용된 비율인 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  28. 제 21 항 내지 제 27 항 중 어느 한 항에 있어서, 이 때 상기 현재 허용된 비율은 모서리 소거 프레임을 수신하는 것에 기초하여 둘로 나뉘는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  29. 제 21 항 내지 제 28 항에 있어서, 이 때 상기 현재 허용된 비율은 회복 비율에서 증가하는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  30. 제 29 항에 있어서, 이 때 상기 회복 비율은 상기 제 2 매개적 노드와 관련된 입력 대기열에 기초하여 세트되는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  31. 제 29 항 또는 제 30 항에 있어서, 이 때 상기 회복 비율은 상기 제 2 매개적 노드와 관련된 입력 대기열에 기초하여 세트되는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  32. 제 29 항 내지 제 31 항 중 어느 한 항에 있어서, 이 때 상기 현재 허용된 비율을 조정하는 것은,
    - 상기 제 2 프레임이 패스 소거 프레임인가를 결정하는
    단계를 포함하는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  33. 제 32 항에 있어서, 이 때 현재 허용된 비율은 최초의 상기 최대 허용 비율인 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  34. 제 33 항에 있어서, 이 때 상기 현재 허용된 비율은 패스 소거 프레임을 수신하는 것에 기초하여 0 bps 로 감소되는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  35. 제 34 항에 있어서, 이 때 상기 허용된 비율은 회복 비율에서 증가하는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  36. 제 33 항 내지 35 항 중 어느 한 항에 있어서, 이 때 상기 회복 비율은 상기 수신된 패스 소거 프레임 내에 포함된 정보에 기초하여 세트되는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  37. 제 36 항에 있어서, 이 때 상기 회복 비율은 상기 제 2 매개적 노드와 연관된 입력 대기열에 기초하여 세트되는 것을 특징으로 하는 네트워크 스위치에서 혼잡을 제어하기 위한 방법.
  38. 소스 노드 그리고 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치로서, 상기 스위치는,
    - 제 1 외부 노드에 결합되기 위한 제 1 포트,
    - 제 2 외부 노드에 결합하기 위한 제 2 포트,
    - 상기 제 1 외부 노드로부터 데이터를 수신하기 위한 제 1 포트와 연관된 제 1 대기열로서, 상기 제 1 대기열은 상기 제 1 포트를 통한 전송을 위해 데이터를 붙잡기 위한 제 1 부분 그리고 상기 제 2 포트를 통한 전송을 위해 데이터를 붙잡기 위한 제 2 부분을 포함하는, 상기 제 1 대기열,
    - 상기 제 1 대기열에 결합된 필터로서, 상기 필터는 데이터의 전송이 상기 제 2 외부 노드로부터 수신된 정보에 기초하여 지연되는가를 결정하고, 상기 제 1 대기열로부터 데이터를 수신하기 위해 설정되는, 상기 필터,
    를 포함하는 것을 특징으로 하는 소스 노드 그리고 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치.
  39. 제 38 항에 있어서, 상기 스위치는 또한 필터 대기열들을 포함하고, 이 때 상기 필터 대기열들은 지연된 전송을 위한 데이터 세트를 유지하기 위해 설정되는 것을 특징으로 하는 소스 노드 그리고 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치.
  40. 제 39 항에 있어서, 이 때 각 필터 대기열은 흐름과 관련되는 것을 특징으로 하는 소스 노드 그리고 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치.
  41. 제 38 항 내지 제 40 항 중 어느 한 항에 있어서, 이 때 상기 흐름은 소스 노드로부터 목적지 노드까지 트래픽인 것을 특징으로 하는 소스 노드 그리고 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치.
  42. 제 41 항에 있어서, 이 때 상기 제 1 대기열은 가상 출력 대기열인 것을 특징으로 하는 소스 노드 그리고 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치.
  43. 제 38 항 내지 제 42 항 중 어느 한 항에 있어서, 이 때 각 필터 대기열은 우선순위와 관련되는 것을 특징으로 하는 소스 노드 그리고 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치.
  44. 제 38 항 내지 제 43 항 중 어느 한 항에 있어서, 이 때 각 필터 대기열은 입력 포트 그리고 출력 포트와 연관되는 것을 특징으로 하는 소스 노드 그리고 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치.
  45. 제 38 항 내지 제 44 항 중 어느 한 항에 있어서, 상기 스위치는 또한 필터 대기열에 결합된 비율 제한기를 포함하는 것을 특징으로 하는 소스 노드 그리고 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치.
  46. 제 45 항에 있어서, 이 때 상기 지연의 정보는 상기 비율 제한기에 의해 결정되는 것을 특징으로 하는 소스 노드 그리고 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치.
  47. 제 46 항에 있어서, 이 때 상기 비율 제한기는 토큰 버킷들을 이용하는 것을 특징으로 하는 소스 노드 그리고 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치.
  48. 제 47 항에 있어서, 이 때 지연의 정도는 상기 제 2 외부 노드로부터 수신된 정보에 기초하여 결정되는 것을 특징으로 하는 소스 노드 그리고 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치.
  49. 제 48 항에 있어서, 이 때 흐름과 관련된 필터 대기열에 할당된 다수의 토큰들은 흐름을 확인하는 상기 제 2 외부 노드로부터 모서리 소거 프레임의 수령에 기초하여 반감되는 것을 특징으로 하는 소스 노드 그리고 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치.
  50. 제 47 항 내지 제 49 항 중 어느 한 항에 있어서, 이 때 상기 흐름과 관련된 상기 필터 대기열에 할당된 다수의 토큰들은 회복 비율에서 증가하는 것을 특징으로 하는 소스 노드 그리고 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치.
  51. 제 47 항 내지 제 50 항 중 어느 한 항에 있어서, 이 때 상기 회복 비율은제 2 외부 노드 대기열 레벨 정보에 기초하여 세트되는 것을 특징으로 하는 소스 노드 그리고 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치.
  52. 제 47 항 내지 제 51 항 중 어느 한 항에 있어서, 이 때 특정 흐름과 연관된 필터 대기열에 할당된 다수의 토큰들은 특정 흐름을 확인하는 상기 제 2 외부 노드로부터 패스 소거 프레임의 수령에 기초하여 영으로 세트되는 것을 특징으로 하는 소스 노드 그리고 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치.
  53. 제 52 항에 있어서, 이 때 흐름과 연관된 상기 필터 대기열에 연관된 다수의 토큰들은 회복 비율에서 증가하는 것을 특징으로 하는 소스 노드 그리고 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치.
  54. 혼잡을 제어하기 위한 장치로서,
    - 소스 노드에 대응하는 소스 식별자 필드 그리고 목적지 노드에 대응하는 목적지 식별자 필드를 지니는 프레임을 수신하기 위한 수단으로서, 상기 프레임은 상기 네트워크 스위치 그리고 상기 소스 노드 간의 제 1 매개적 스위치를 통해 상기 네트워크 스위치로 전송되는, 상기 수단,
    - 네트워크 스위치에서 트래픽 흐름을 특징짓기 위한 수단, 그리고,
    - 상기 소스 노드로부터 상기 목적지 노드까지 트래픽을 제어하기 위해 상기 네트워크 스위치로부터 상기 제 1 매개적 스위치까지 제 1 지시를 보내기 위한 수단,
    을 포함하는 것을 특징으로 하는 혼잡을 제어하기 위한 장치.
  55. 혼잡을 제어하기 위한 컴퓨터 판독형 매체로서, 상기 컴퓨터 판독형 매체는,
    - 소스 노드에 대응하는 소스 식별자 필드 그리고 목적지 노드에 대응하는 목적지 식별자 필드를 지니는 프레임을 수신하기 위한 컴퓨터 코드로서, 상기 프레임은 상기 네트워크 스위치 그리고 상기 소스 노드 간의 제 1 매개적 스위치를 통해 네트워크 스위치로 전송되는, 상기 컴퓨터 코드,
    - 상기 네트워크 스위치에서 트래픽 흐름을 특징짓기 위한 컴퓨터 코드, 그리고,
    - 상기 소스 노드로부터 상기 목적지 노드까지 트래픽을 제어하기 위해 상기 네트워크 스위치로부터 상기 제 1 매개적 스위치까지 제 1 지시를 전송하기 위한 컴퓨터 코드,
    를 포함하는 것을 특징으로 하는 혼잡을 제어하기 위한 컴퓨터 판독형 매체.
KR1020047009498A 2001-12-18 2002-12-17 네트워크 혼잡 제어를 위한 방법 및 장치 KR100977651B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/026,583 US7596627B2 (en) 2001-12-18 2001-12-18 Methods and apparatus for network congestion control
US10/026,583 2001-12-18
PCT/US2002/040513 WO2003053016A1 (en) 2001-12-18 2002-12-17 Methods and apparatus for network congestion control

Publications (2)

Publication Number Publication Date
KR20040071220A true KR20040071220A (ko) 2004-08-11
KR100977651B1 KR100977651B1 (ko) 2010-08-24

Family

ID=21832622

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047009498A KR100977651B1 (ko) 2001-12-18 2002-12-17 네트워크 혼잡 제어를 위한 방법 및 장치

Country Status (10)

Country Link
US (1) US7596627B2 (ko)
EP (1) EP1457008B1 (ko)
JP (1) JP4260631B2 (ko)
KR (1) KR100977651B1 (ko)
CN (1) CN1689278B (ko)
AT (1) AT483295T (ko)
AU (1) AU2002359740B2 (ko)
CA (1) CA2469803C (ko)
DE (1) DE60237845D1 (ko)
WO (1) WO2003053016A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100748187B1 (ko) * 2007-06-01 2007-08-10 인하대학교 산학협력단 노드 가용도 예측 기반의 그리드 네트워크 혼잡 제어 장치및 방법
KR100757872B1 (ko) * 2006-02-06 2007-09-11 삼성전자주식회사 네트워크에서의 혼잡 발생 예고 시스템 및 방법

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1303089A4 (en) * 2001-02-14 2009-09-09 Panasonic Corp Digital content distribution system and its apparatus
US7734808B1 (en) * 2001-12-18 2010-06-08 Cisco Technology, Inc. End-to-end congestion control in a Fibre Channel network
US7139692B2 (en) * 2001-12-21 2006-11-21 Opnet Technologies, Inc. Flow propagation analysis using iterative signaling
US20030210703A1 (en) * 2002-05-13 2003-11-13 Accton Technology Corporation Method of managing frame and switch and network structure thereof
US7397768B1 (en) 2002-09-11 2008-07-08 Qlogic, Corporation Zone management in a multi-module fibre channel switch
US7689708B1 (en) * 2002-10-28 2010-03-30 Netapp, Inc. Apparatus to flow control frames in a networked storage virtualization using multiple streaming protocols
US7603475B2 (en) * 2003-03-31 2009-10-13 Alcatel-Lucent Usa Inc. Method for flow control in a communication system
US7397764B2 (en) * 2003-04-30 2008-07-08 Lucent Technologies Inc. Flow control between fiber channel and wide area networks
US7324441B1 (en) * 2003-07-14 2008-01-29 Cisco Technology, Inc. Methods and apparatus for alleviating deadlock in a fibre channel network
US7525910B2 (en) * 2003-07-16 2009-04-28 Qlogic, Corporation Method and system for non-disruptive data capture in networks
US7406092B2 (en) * 2003-07-21 2008-07-29 Qlogic, Corporation Programmable pseudo virtual lanes for fibre channel systems
US7420982B2 (en) * 2003-07-21 2008-09-02 Qlogic, Corporation Method and system for keeping a fibre channel arbitrated loop open during frame gaps
US7430175B2 (en) * 2003-07-21 2008-09-30 Qlogic, Corporation Method and system for managing traffic in fibre channel systems
US7684401B2 (en) 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
US7646767B2 (en) 2003-07-21 2010-01-12 Qlogic, Corporation Method and system for programmable data dependant network routing
US7894348B2 (en) 2003-07-21 2011-02-22 Qlogic, Corporation Method and system for congestion control in a fibre channel switch
US7792115B2 (en) 2003-07-21 2010-09-07 Qlogic, Corporation Method and system for routing and filtering network data packets in fibre channel systems
US7277960B2 (en) * 2003-07-25 2007-10-02 Hewlett-Packard Development Company, L.P. Incorporating constraints and preferences for determining placement of distributed application onto distributed resource infrastructure
US20050114498A1 (en) * 2003-11-06 2005-05-26 International Business Machines Corporation Method and apparatus for managing data transfer in a data processing system
US7809007B2 (en) * 2004-03-05 2010-10-05 David Mayhew Low cost implementation for a device utilizing look ahead congestion management
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
US7672243B2 (en) * 2004-06-04 2010-03-02 David Mayhew System and method to identify and communicate congested flows in a network fabric
US8295299B2 (en) 2004-10-01 2012-10-23 Qlogic, Corporation High speed fibre channel switch element
US7801125B2 (en) * 2004-10-22 2010-09-21 Cisco Technology, Inc. Forwarding table reduction and multipath network forwarding
US7602720B2 (en) * 2004-10-22 2009-10-13 Cisco Technology, Inc. Active queue management methods and devices
US7969971B2 (en) 2004-10-22 2011-06-28 Cisco Technology, Inc. Ethernet extension for the data center
US7564869B2 (en) * 2004-10-22 2009-07-21 Cisco Technology, Inc. Fibre channel over ethernet
US8238347B2 (en) * 2004-10-22 2012-08-07 Cisco Technology, Inc. Fibre channel over ethernet
US7830793B2 (en) * 2004-10-22 2010-11-09 Cisco Technology, Inc. Network device architecture for consolidating input/output and reducing latency
US7693051B2 (en) * 2004-12-17 2010-04-06 Meshnetworks, Inc. System and method for controlling congestion in multihopping wireless networks
US7912032B2 (en) * 2004-12-17 2011-03-22 Motorola, Inc. System and method for communicating within a wireless communication network
US7961621B2 (en) 2005-10-11 2011-06-14 Cisco Technology, Inc. Methods and devices for backward congestion notification
US7602724B2 (en) * 2005-11-14 2009-10-13 Cisco Technology, Inc. Method and apparatus for transmitting circuitry that transmit data at different rates
CN1996933B (zh) * 2005-12-31 2010-08-11 华为技术有限公司 对实时组播业务进行拥塞控制的方法
US9621375B2 (en) * 2006-09-12 2017-04-11 Ciena Corporation Smart Ethernet edge networking system
US8831024B2 (en) * 2006-12-29 2014-09-09 Broadcom Corporation Dynamic header creation and flow control for a programmable communications processor, and applications thereof
CN101009652A (zh) * 2007-01-23 2007-08-01 中兴通讯股份有限公司 以太网无源光网络下行流控信息传递方法
US8259720B2 (en) 2007-02-02 2012-09-04 Cisco Technology, Inc. Triple-tier anycast addressing
US20090077229A1 (en) * 2007-03-09 2009-03-19 Kenneth Ebbs Procedures and models for data collection and event reporting on remote devices and the configuration thereof
US8149710B2 (en) * 2007-07-05 2012-04-03 Cisco Technology, Inc. Flexible and hierarchical dynamic buffer allocation
US8121038B2 (en) * 2007-08-21 2012-02-21 Cisco Technology, Inc. Backward congestion notification
CN101141410B (zh) * 2007-10-24 2011-05-11 中兴通讯股份有限公司 一种千兆无源光网络系统中下行流控信息的传递方法
US8407364B2 (en) 2007-10-25 2013-03-26 Cisco Technology, Inc. Apparatus and method for providing a congestion measurement in a network
US8385207B2 (en) * 2008-05-27 2013-02-26 International Business Machines Corporation Method and apparatus for end-to-end network congestion management
US8180823B2 (en) * 2008-08-27 2012-05-15 International Business Machines Corporation Method of routing messages to multiple consumers
MY155379A (en) * 2008-09-26 2015-10-15 Ericsson Telefon Ab L M Congestion control method and devices
US20110239226A1 (en) * 2010-03-23 2011-09-29 Cesare Placanica Controlling congestion in message-oriented middleware
JP2011203810A (ja) * 2010-03-24 2011-10-13 Hitachi Ltd サーバ、計算機システム及び仮想計算機管理方法
US9602439B2 (en) 2010-04-30 2017-03-21 Juniper Networks, Inc. Methods and apparatus for flow control associated with a switch fabric
US8593965B2 (en) * 2010-07-19 2013-11-26 Cisco Technology, Inc. Mitigating the effects of congested interfaces on a fabric
JP5655453B2 (ja) * 2010-09-16 2015-01-21 セイコーエプソン株式会社 電子機器、電子機器の制御方法、及び、プログラム
US8705544B2 (en) * 2011-03-07 2014-04-22 Broadcom Corporation Method and apparatus for routing in a single tier switched network
US8811183B1 (en) * 2011-10-04 2014-08-19 Juniper Networks, Inc. Methods and apparatus for multi-path flow control within a multi-stage switch fabric
WO2013147654A1 (en) * 2012-03-26 2013-10-03 Telefonaktiebolaget Lm Ericsson (Publ) Smart delivery of li data in emergency conditions
US8730806B2 (en) * 2012-04-03 2014-05-20 Telefonaktiebolaget L M Ericsson (Publ) Congestion control and resource allocation in split architecture networks
US8989010B2 (en) * 2012-07-10 2015-03-24 Telefonaktiebolaget L M Ericsson (Publ) Delayed based traffic rate control in networks with central controllers
CN104092623A (zh) * 2013-04-01 2014-10-08 株式会社日立制作所 对网络节点或服务器进行过载保护的方法和装置
US9246816B2 (en) 2013-09-10 2016-01-26 Globalfoundries Inc. Injecting congestion in a link between adaptors in a network
US9338103B2 (en) 2013-09-10 2016-05-10 Globalfoundries Inc. Injecting congestion in a link between adaptors in a network
US10027590B2 (en) * 2014-02-24 2018-07-17 Avago Technologies General Ip (Singapore) Pte. Ltd. End to end flow control
CN104066122B (zh) * 2014-07-09 2018-05-08 东南大学 一种蜂窝与d2d混合网络中的拥塞控制和传输调度方法
CN107005467A (zh) * 2014-12-24 2017-08-01 英特尔公司 用于在交换机中路由数据的装置和方法
US9979662B2 (en) 2015-04-17 2018-05-22 International Business Machines Corporation Storage area network workload balancing
US10218625B2 (en) * 2016-03-30 2019-02-26 New York University Methods and apparatus for alleviating congestion at a switch, such as a shallow buffered switch

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377327A (en) * 1988-04-22 1994-12-27 Digital Equipment Corporation Congestion avoidance scheme for computer networks
JP3187230B2 (ja) * 1993-09-06 2001-07-11 株式会社東芝 ふくそう制御方法及びふくそう制御装置
FI94815C (fi) 1993-11-30 1995-10-25 Nokia Telecommunciations Oy Menetelmä sekä järjestelmä kehysvälitysverkon ylikuormitustilanteiden hallitsemiseksi
US5617421A (en) * 1994-06-17 1997-04-01 Cisco Systems, Inc. Extended domain computer network using standard links
US5809285A (en) * 1995-12-21 1998-09-15 Compaq Computer Corporation Computer system having a virtual drive array controller
US6035105A (en) * 1996-01-02 2000-03-07 Cisco Technology, Inc. Multiple VLAN architecture system
US5764636A (en) * 1996-03-28 1998-06-09 Cisco Technology, Inc. Color blocking logic mechanism for a high-performance network switch
US5742604A (en) * 1996-03-28 1998-04-21 Cisco Systems, Inc. Interswitch link mechanism for connecting high-performance network switches
US5740171A (en) * 1996-03-28 1998-04-14 Cisco Systems, Inc. Address translation mechanism for a high-performance network switch
US6101497A (en) * 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
US5999930A (en) * 1996-08-02 1999-12-07 Hewlett-Packard Company Method and apparatus for distributed control of a shared storage volume
JP3525656B2 (ja) * 1996-12-06 2004-05-10 株式会社日立製作所 パケット交換機、および輻輳通知方式
US6202135B1 (en) * 1996-12-23 2001-03-13 Emc Corporation System and method for reconstructing data associated with protected storage volume stored in multiple modules of back-up mass data storage facility
US5978379A (en) * 1997-01-23 1999-11-02 Gadzoox Networks, Inc. Fiber channel learning bridge, learning half bridge, and protocol
JP3156623B2 (ja) * 1997-01-31 2001-04-16 日本電気株式会社 ファイバチャネルファブリック
US6118776A (en) * 1997-02-18 2000-09-12 Vixel Corporation Methods and apparatus for fiber channel interconnection of private loop devices
US6209059B1 (en) * 1997-09-25 2001-03-27 Emc Corporation Method and apparatus for the on-line reconfiguration of the logical volumes of a data storage system
US6188694B1 (en) * 1997-12-23 2001-02-13 Cisco Technology, Inc. Shared spanning tree protocol
US6208649B1 (en) * 1998-03-11 2001-03-27 Cisco Technology, Inc. Derived VLAN mapping technique
CA2237208A1 (en) * 1998-05-08 1999-11-08 Northern Telecom Limited Congestion notification from router
EP0955749A1 (en) 1998-05-08 1999-11-10 Northern Telecom Limited Receiver based congestion control and congestion notification from router
US6070200A (en) * 1998-06-02 2000-05-30 Adaptec, Inc. Host adapter having paged data buffers for continuously transferring data between a system bus and a peripheral bus
US6295575B1 (en) * 1998-06-29 2001-09-25 Emc Corporation Configuring vectors of logical storage units for data storage partitioning and sharing
US6260120B1 (en) * 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
US6269381B1 (en) * 1998-06-30 2001-07-31 Emc Corporation Method and apparatus for backing up data before updating the data and for restoring from the backups
US6269431B1 (en) * 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6266705B1 (en) * 1998-09-29 2001-07-24 Cisco Systems, Inc. Look up mechanism and associated hash table for a network switch
US6970424B2 (en) * 1998-11-10 2005-11-29 Extreme Networks Method and apparatus to minimize congestion in a packet switched network
US6226771B1 (en) * 1998-12-14 2001-05-01 Cisco Technology, Inc. Method and apparatus for generating error detection data for encapsulated frames
US6675220B1 (en) * 1999-08-11 2004-01-06 Cisco Technology, Inc. Techniques for the hardware implementation of random early detection mechanisms
US6721789B1 (en) * 1999-10-06 2004-04-13 Sun Microsystems, Inc. Scheduling storage accesses for rate-guaranteed and non-rate-guaranteed requests
US6757248B1 (en) * 2000-06-14 2004-06-29 Nokia Internet Communications Inc. Performance enhancement of transmission control protocol (TCP) for wireless network applications
CA2422221A1 (en) * 2000-09-12 2002-03-21 International Business Machines Corporation System and method for controlling the multicast traffic of a data packet switch
US7042842B2 (en) * 2001-06-13 2006-05-09 Computer Network Technology Corporation Fiber channel switch

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100757872B1 (ko) * 2006-02-06 2007-09-11 삼성전자주식회사 네트워크에서의 혼잡 발생 예고 시스템 및 방법
KR100748187B1 (ko) * 2007-06-01 2007-08-10 인하대학교 산학협력단 노드 가용도 예측 기반의 그리드 네트워크 혼잡 제어 장치및 방법

Also Published As

Publication number Publication date
DE60237845D1 (de) 2010-11-11
KR100977651B1 (ko) 2010-08-24
AU2002359740A1 (en) 2003-06-30
EP1457008A1 (en) 2004-09-15
CN1689278B (zh) 2012-02-01
CA2469803C (en) 2014-04-22
JP4260631B2 (ja) 2009-04-30
CN1689278A (zh) 2005-10-26
CA2469803A1 (en) 2003-06-26
EP1457008B1 (en) 2010-09-29
US20030115355A1 (en) 2003-06-19
US7596627B2 (en) 2009-09-29
JP2005535154A (ja) 2005-11-17
AT483295T (de) 2010-10-15
WO2003053016A1 (en) 2003-06-26
AU2002359740B2 (en) 2007-11-22

Similar Documents

Publication Publication Date Title
US9705827B2 (en) Methods and apparatus for virtual channel flow control associated with a switch fabric
US9100314B2 (en) Dequeuing and congestion control systems and methods for single stream multicast
US8705355B1 (en) Network switch and method for asserting flow control of frames transmitted to the network switch
Ghorbani et al. Drill: Micro load balancing for low-latency data center networks
US8654645B2 (en) Systems and methods for dropping data using a drop profile
US8976669B2 (en) Switch fabric end-to-end congestion avoidance mechanism
US9185047B2 (en) Hierarchical profiled scheduling and shaping
US10243865B2 (en) Combined hardware/software forwarding mechanism and method
US9077466B2 (en) Methods and apparatus for transmission of groups of cells via a switch fabric
US9154394B2 (en) Dynamic latency-based rerouting
US8416795B2 (en) Ethernet switching
US7961606B2 (en) Packet flow control in switched full duplex ethernet networks
US7743108B2 (en) Method and apparatus for reducing pool starvation in a shared memory switch
JP2693266B2 (ja) 通信網におけるデータセルの輻輳制御方法
KR100407039B1 (ko) 서비스 품질 보증을 지원하기 위한 버퍼 관리 방법과데이터 교환시의 데이터 흐름 제어 방법
US6914881B1 (en) Prioritized continuous-deficit round robin scheduling
US8619793B2 (en) Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
US7558270B1 (en) Architecture for high speed class of service enabled linecard
US6981054B1 (en) Flow control arrangement in a network switch based on priority traffic
US7092387B2 (en) Method and switch controller for easing flow congestion in network
US8599868B2 (en) Systems and methods for determining the bandwidth used by a queue
US7106731B1 (en) Router with class of service mapping
US9185015B2 (en) Application aware elephant flow identification
CA2480461C (en) Methods and apparatus for fibre channel frame delivery
US6515963B1 (en) Per-flow dynamic buffer management

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
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: 20130808

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140805

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150804

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160805

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170808

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180807

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190806

Year of fee payment: 10