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

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

Info

Publication number
KR100977651B1
KR100977651B1 KR1020047009498A KR20047009498A KR100977651B1 KR 100977651 B1 KR100977651 B1 KR 100977651B1 KR 1020047009498 A KR1020047009498 A KR 1020047009498A KR 20047009498 A KR20047009498 A KR 20047009498A KR 100977651 B1 KR100977651 B1 KR 100977651B1
Authority
KR
South Korea
Prior art keywords
switch
frame
congestion
delete delete
fiber channel
Prior art date
Application number
KR1020047009498A
Other languages
English (en)
Other versions
KR20040071220A (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 KR20040071220A publication Critical patent/KR20040071220A/ko
Application granted granted Critical
Publication of KR100977651B1 publication Critical patent/KR100977651B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/38Flow control; Congestion control by adapting coding or compression rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/17Interaction among intermediate nodes, e.g. hop by hop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • 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 control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Crystals, And After-Treatments Of Crystals (AREA)
  • Selective Calling Equipment (AREA)

Abstract

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

Description

네트워크 혼잡 제어를 위한 방법 및 장치{METHOD AND APPARATUS FOR NETWORK CONGESTION CONTROL}
많은 종래의 네트워크 프로토콜들은 네트워크 노드에서 혼잡을 완화하기 위해 패킷 드랍핑을 이용한다. 한 실시예에서, IP 기반 네트워크에서 네트워크 노드는 그의 출력 밴드위스를 초과하는 속도에서 다중 소스들로부터 입력 데이터를 수신한다. 종래의 구현에서, 선택된 패킷들은 할당된 출력 할당된 출력 밴드위스 이내에서 남아 있는 패킷들의 전송을 허용하기 위해 드랍된다. 패킷들은 다양한 선택 기준을 이용함으로써 또는 무작위로 드랍될 수 있다. 상기 드랍된 패킷들은 TCP와 같은 더 높은 레벨 프로토콜의 제어 하에서 궁극적으로 재전송된다.
방화 채널 네트워크와 같은 네트워크에서, 패킷 드랍핑은 일반적으로 허용되지 않는다. 대신, 방화 채널 네트워크와 같은 네트워크들은 end-to-end 그리고 buffer-to-buffer 흐름 제어 체계를 구현한다. end-to-end 그리고 buffer-to-buffer 흐름 제어 체계는 제 2 네트워크 노드가 프레임을 받을 준비가 될 때까지 제 2 네트워크 노드는 특히 제 1 네트워크 노드로 크레딧(credit)를 줌으로써 프레임을 수신할 준비가 되었다는 것을 표시한다. 프레임들이 전송될 때, 크레딧(credit)가 사용된다. 어떠한 크레딧(credit)도 남아 있지 않을 때, 상기 제 1 네트워크 노드는 상기 제 2 네트워크 노드로 더 이상 전송할 수 없다. 그러나 end-to-end 그리고 buffer-to-buffer 흐름 제어 체계는 특정 링크에 따른 모든 트래픽의 체계 블락과 같이, 혼잡을 제어하기 위한 매우 거친 기술만을 제공한다. 그러한 블락킹은 파이버 채널 네트워크 토폴로지에서 다른 링크로 빠르게 업스트림을 전송할 수 있다. 이러한 링크들의 일부는 본질적으로 혼잡된 링크를 포함하지 않는 경로를 위한 통로로서 역할 한다. 그러므로 하나의 네트워크 경로의 한 링크에서 혼잡은 파이버(fibre) 채널 토폴로지의 훨씬 더 넓은 부분에 대한 블락킹을 일으키는 원인이 될 수 있다.
상기 end-to-end 크레딧(credit) 체계는 수신 노드에서 버퍼의 이용성을 고려한다. 그러나 그것은 네트워크 환경에서 변화를 위해 다시 반응하지 않으며, 그 결과 네트워크상에서 혼잡 그리고 블락킹이 여전히 발생할 수 있다. 그 위에, 상기 end-to-end 크레딧(credit) 체계는 특히 Class 2 트래픽을 교환하는 엔드 노드들 간에 적용된다. 결과적으로, 양 end-to-end 그리고 buffer-to-buffer 크레딧(credit) 체계는 네트워크에서 트래픽 흐름을 최적화하거나 또는 최적화하기 위한 노력을 하지 않는다.
위에서 언급된 수행 제한들 모두 또는 일부와 관하여 파이버(fibre) 채널 네트워크와 같은 네트워크상의 네트워크 노드들에서 혼잡 제어를 향상시키기 위한 방법과 장치를 제공하는 것이 바람직하다.
방법과 장치들이 파이버(fibre) 채널 네트워크와 같은 네트워크에서 혼잡을 제어하기 위해 제공된다. 기술들이 혼잡한 네트워크 노드에서 트래픽 흐름을 특성화하기 위해 제공된다. 상기 혼잡한 네트워크 노드는 혼잡한 네트워크 노드 쪽으로 트래픽을 제어하기 위해 소거(quench) 메시지와 같은 다양한 명령(instruction)들을 발생할 수 있다. 상기 소거 메시지들은 혼잡의 특성에 관한 정보를 임의적으로 포함할 수 있다. 상기 명령(instruction)들은 네트워크에서 다른 노드들로 분배된다. 다른 네트워크 노드들은 상기 혼잡한 노드 쪽으로 트래픽 흐름을 제어하거나 명령(instruction)을 해석할 수 있다.
한 실시예에서, 네트워크 스위치에서 혼잡의 제어를 위한 방법이 제공되었다. 소스 노드에 대응하는 소스 식별자 필드를 지니는 프레임과 목적지 노드에 대응하는 목적지 식별자 필드가 수신되고, 상기 네트워크 스위치 그리고 상기 소스 노드 간의 첫 번째 매개 스위치를 통해 상기 네트워크 스위치로 전송되어 왔다. 네트워크 스위치에서 트래픽 흐름이 특성화된다. 제 1 명령(instruction)은 소스 노드로부터 상기 목적지 노드까지 트래픽을 제어하기 위해 상기 네트워크 스위치로부터 상기 제 1 매개 스위치까지 전송된다.
또 다른 실시예에서, 제 1 그리고 제 2 매개 노드들을 통해 제 1 그리고 제 2 엔드(end) 노드들 간의 트래픽 흐름을 제어하기 위한 방법이 제공되었다. 상기 제 1 엔드 노드에 대응하는 소스 식별자 그리고 상기 제 2 엔드 노드에 대응하는 목적지 식별자를 지니는 제 1 프레임이 전송되었다. 상기 프레임이 상기 제 1 매개 노드 그리고 상기 제 2 엔드 노드 간의 제 2 매개 노드로 제 1 매개 노드에서 전송되었다. 제 2 프레임은 상기 제 2 매개 노드로부터 수신된다. 상기 제 2 프레임은 상기 제 2 엔드 노드에 대응하는 소스 식별자 그리고 상기 제 1 엔드 노드에 대응하는 목적지 식별자를 지닌다. 상기 제 2 프레임은 상기 제 1 엔드 노드로부터 상기 제 2 엔드 노드까지 현재 허용 속도를 조정하기 위한 명령(instruction)들을 포함한다. 상기 제 1 엔드 노드로부터 상기 제 2 엔드 노드까지 현재 허용 속도는 상기 제 2 프레임을 수신하는 것에 기초하여 조절된다.
또 다른 실시예에 따라, 소스 노드와 목적지 노드 간의 트래픽 흐름을 제어하기 위한 스위치가 제공된다. 상기 스위치는 제 1 외부 노드에 결합하기 위한 제 1 포트, 제 2 외부 노드에 결합하기 위한 제 2 포트, 상기 제 1 외부 노드로부터 데이터를 수신하기 위한 제 1 포트와 관련된 제 1 대기열(queue), 상기 제 1 대기열은 상기 제 2 포트를 통해 전송하기 위한 데이터를 잡기 위한 제 2 부분 그리고 제 1 부분을 통해 전송하기 위한 데이터를 잡기 위한 제 1 부분을 포함하고, 그리고 상기 제 1 대기열에 결합된 필터, 상기 제 1 대기열로부터 데이터를 수신되기 위해 구현된 필터를 포함하고 그리고 상기 데이터의 전송이 상기 제 2 외부 노드로부터 수신되는 정보에 기초하여 지연되어야 하는지를 결정한다.
당해 발명의 또 다른 측면은 전체 또는 부분적으로 위에서 언급된 기술들 또는 방법들을 구현하기 위해 제공된 프로그램 명령(instruction)들 상의 기계-판독형 미디어를 포함하는 컴퓨터 프로그램 상품에 속한다. 당해 발명의 방법은, 전체 또는 부분으로, 기계-판독형 미디어와 같은 곳에 제공될 수 있는 프로그램 명령(instruction)들을 표현한다. 게다가, 당해 발명은 여기서 설명되는 것과 같이 사용되거나 그리고/또는 발생되는 데이터의 배열 그리고 다양한 조합에 속한다. 예를 들어, 여기서 설명되는 포맷을 지니고 적합한 미디어 상에서 제공되는 소거 프레임들은 당해 발명의 부분이다.
도 1 은 당해 발명의 기술을 이용할 수 있는 네트워크의 다이어그램식 표현이다.
도 2 는 블락킹의 헤드 오프라인(head-of-line)을 보여주는 다이어그램이다.
도 3 은 혼잡 검출의 한 실시예를 구현할 수 있는 스위치의 다이어그램 식 표현이다.
도 4는 버퍼 레벨을 기초로 하여 얼마나 자주 소거 메시지들을 생성할 수 있는지를 보여주는 테이블이다.
도 5는 스위치 감지 혼잡을 보이는 프로세스 흐름 다이어그램이다.
도 6은 소거 메시지 발생을 위해 사용될 수 있는 대기열 레벨들의 그래픽 표현이다.
도 7은 발생될 수 있는 모서리 소거 또는 경로 소거 메시지의 다이어그램 표현이다.
도 8은 모서리 소거 또는 경로 소거 메시지의 전송 그리고 발생을 보여주는 프로세스 흐름 다이어그램이다.
도 9 는 혼잡 제어를 구현할 수 있는 네트워크의 다이어그램 표현이다.
도 10 은 제어 혼잡을 구현할 수 있는 혼합된 네트워크의 다이어그램 표현이다.
도 11 은 소거 메시지를 내보내기 위한 기술을 보여주는 프로세스 흐름 다이어그램이다.
도 12 는 소거 메시지를 수신하는 것에 기초한 혼잡 제어의 하나의 가능한 구현을 구현할 수 있는 스위치의 다이어그램 표현이다.
도 13 은 수신된 모서리 소거 그리고 경로 소거 메시지들에 기초하여 변하는 허용 속도의 그래픽 표현이다.
도 14 는 혼잡 제어의 구현을 보여주는 프로세스 흐름 다이어그램이다.
당해 발명은 네트워크에서 혼잡을 제어하는 것에 관련된다. 보다 상세히, 당해 발명은 상기 혼잡한 네트워크 노드로 트래픽 흐름을 제어하기 위해 혼잡한 네트워크 노드에서 다른 네트워크 노드까지 소거 메시지들을 전송하기 위한 방법 및 장치에 관련한 것이다.
당해 발명의 일부 특정 실시예에 대한 상세 점에 대한 기준이 만들어 질 것이고, 이는 당해 발명을 수행하기 위한 발명자들에 의해 숙고되는 최상 모드들을 포함한다. 특정 실시예들의 예는 첨부되는 도면에서 설명된다. 당해 발명이 이러한 특정 실시예들과 관련하여 설명되는 동안, 설명된 실시예로 당해 발명을 제한할 의도는 없다고 이해하여야 할 것이다.
예를 들어, 당해 발명의 기술들은 저장장치 지역 네트워크에서 사용되는 파이버(fibre) 채널의 내용에서 설명될 것이다. 그러나 주의할 것은 당해 발명의 기술들은 다양한 다른 프로토콜들과 네트워크들에 적용될 수 있다. 또한, 당해 발명에 의해 제공될 수 있는 해결책들은 비-파이버(non-fibre) 채널 네트워크에도 동일하게 적용될 수 있다. 한 실시예에서, 상기 기술들은, 당해 발명의 기술들이 IP 네트워크들을 포함하는 다양한 다른 네트워크들에 적용될 수 있음에도 불구하고, 패킷 드랍핑을 일반적으로 허용하지 않는 네트워크에 적용될 수 있다. 다음의 설명에서, 다수의 특정 설명들이 당해 발명의 이해를 통해 제공하기 위해 설명되었다. 당해 발명은 이러한 상세한 설명의 모두 또는 일부에 관계없이 실행 될 수 있다. 예를 들어, 잘 알려진 프로세스 작동들은 당해 발명을 불필요하게 모호하지 않게 하기 위해 상세히 설명되지 않았다.
방법 및 장치들이 네트워크 노드에서 혼잡을 감소시키기 위해 제공되었다. 네트워크에서 상기 혼잡은 데이터의 다양한 타입들을 전송함에 있어 지연을 일으킬 수 있다. 특히, 화이어 채널을 이용하는 네트워크 노드는 특히 위험하다. 왜냐하면 캐스케이드 혼잡 그리고 헤드-오프-라인 블락킹과 같은 효과들이, 아래에 설명된, 네트워크 쪽으로 설명될 것이다. 결과적으로, 기술들이 네트워크 노드에서 혼잡을 특성화하고 검출하기 위해 제공된다. 상기 혼잡된 네트워크 노드 쪽으로 트래픽 흐름을 제어하기 위한 다른 타입들의 명령(instruction)들이 네트워크 노드에서 혼잡을 특성화하기 위한 정보와 함께 발생되고 전송된다. 명령(instruction)들을 수신하는 일부 다른 네트워크 노드들은 상기 혼잡한 네트워크 노드 쪽으로 선택적으로 트래픽 흐름을 제어하기 위한 명령(instruction)들 내에서 제공되는 정보를 이용한다.
도 1 은 당해 발명의 기술을 이용할 수 있는 네트워크의 다이어그램식 표현이다. 당해 발명의 기술들이 저장장치 지역 네트워크에서 파이버(fibre) 채널의 내용에서 설명될 것임에도, 위에서 언급된 바에서 중요시해야 할 것은 당해 발명의 기술은 다양한 지역적 그리고 넓은 지역 네트워크들을 포함하는 다수의 내용들에 적용될 수 있다는 점이다. 다양한 기술들이 단일 네트워크 노드가 다중 흐름 또는 패스들에 대한 혼잡 포인트로서 작용할 수 있는 어느 네트워크에서든 적용될 수 있다. 도 1 은 파이버(fibre) 채널을 이용하여 구현되는 저장장치 지역 네트워크를 보여준다. 스위치(101)는 호스트(111) 그리고 저장장치(121)에 연결되는 것과 마찬가지로 스위치들(103,105)에 연결된다. 한 실시예에서, 호스트(111)는 서버나 클라이언트 시스템이고, 저장장치(121)는 단일 디스크 또는 독립적 디스크의 중복 배열(RAID)이 될 수 있다. 내부적으로 연결된 스위치들(103,105)은 둘 다 스위치(107)에 연결된다. 스위치(107)는 호스트(103)에 연결되고 그리고 스위치(103)는 저장장치(123)에 연결된다. 스위치(109)는 호스트(115), 스위치(107), 디스크 배열(153), 그리고 파이버(fibre) 채널을 이용하거나 또는 이용하지 않는 외부 네트워크(151)에 연결된다. 네트워크(151)에 액세스하기 위한 호스트(111)를 위해, 다수의 패스(path)들이 사용된다. 하나의 패스는 스위치(103)를 통과하나 다른 패스들이 스위치(105)를 통과한다. 그러나 스위치(109)에서 혼잡은 호스트(111) 그리고 네트워크(151) 간에서 통신을 늦출 수 있다.
위에서 언급한 것과 같이, 종래의 IP 네트워크에서 스위치 또는 라우터가 혼잡할 때, 패킷들은 드랍된다. 패킷들은 어느 정도의 정보와 함께 선택적 또는 임의적으로 드랍된다. 패킷들이 드랍됨으로써, 다량의 밴드위스를 소모하는 흐름은 일반적으로 더 적은 양의 밴드위스(bandwidth)를 사용하고 있는 흐름(flow)을 드랍하는 더 많은 패킷들을 지닐 것이다. 혼잡한 스위치 또는 라우터를 통한 흐름 속도가 패킷들의 드랍과 함께 감소될 것임에도 불구하고, 패킷들은 네트워크(151)로 스위치(109)를 통과할 것이다. 스위치(103,105)에서 혼잡은 스위치(107) 또는 스위치(109)에서 혼잡 때문에 개입되지 않는다.
파이버(fibre) 채널은, 그러나, 패킷들의 드랍을 허용하지 않는다. 대신, 더 많은 프레임들을 수신하기 위해 네트워크(151)의 불가능 또는 실패와 같은 다양한 이유 때문에 스위치(109)가 혼잡할 때, buffer-to-buffer 크레딧(credit) 체계는 스위치(107)로부터 스위치(109)까지 트래픽 흐름을 제어하기 위해 사용된다. 특정 구현예에서, 스위치(109)는 미리 지정된 다수의 크레딧(credit)들을 스위치(107)로 할당한다. 항상 상기 스위치(107)는 프레임에서 스위치(109)로 전송하고, 크레딧(credit)들이 이용된다. 스위치(109)는 그 후 상기 스위치(109)가 이용 가능한 버퍼들을 지닐 때 스위치(107)로 부가적인 크레딧(credit)들을 할당할 수 있다. 스위치(107)가 크레딧(credit)들을 다 썼을 때, 더 이상 스위치(109)로 전송할 수 없다. 더 많은 프레임들을 수신하기 위해 네트워크(151)의 불가능 또는 실패 때문에, 스위치(109) 그리고 결과적으로 스위치(107)는 네트워크(151)로 전송할 수 없다. 주의할 것은 네트워크가 한 실시예에서 혼잡의 정도로서 설명되었음에도 불구하고, 다른 실시예에서, 디스크 배열(153) 또는 호스트(115)는 혼잡의 소스가 된다.
buffer-to-buffer 크레딧(credit) 체계는 스위치(109)로 트래픽 흐름을 감소하기 위한 매우 거친 방법이다. 상기 크레딧(credit) 체계는 스위치(107)로부터 스위치(109)까지 전송으로부터 트래픽을 방지할 뿐만 아니라, 호스트(115) 그리고 그의 관련 링크가 스위치(109)로부터 부가적 프레임들을 수신하기 위한 대역폭을 지님에도 불구하고, 호스트(115)로 스위치(107)로부터 스위치(109)까지 트래픽을 방지한다. 상기 buffer-to-buffer 크레딧(credit) 체계는 호스트(115)와 같은 혼잡하지 않은 목적지로 트래픽 전송의 블락킹을 초래할 수 있다. 한 실시예에서, 호스트(111)는 혼잡한 네트워크(151)와 함께 통신할 수 있다. 네트워크(151)에서 혼잡 때문에, 스위치는 호스트로부터 다수의 프레임들을 대기열에 넣고, 그리고 결과적으로 스위치가 상기 프레임들이 호스트(111) 또는 호스트(113)으로부터 인지에 따라 더 이상의 프레임들의 전송 되지 않도록 하기 위해 buffer-to-buffer 크레딧(credit) 체계를 이용한다.
호스트(113)는, 반면, 소수의 프레임들을 호스트(115)로 전송하기 위해 시도만을 한다. 왜냐하면 네트워크 혼잡은 스위치(109)가 스위치(107) 그리고 스위치(109) 간에 buffer-to-buffer 크레딧(credit) 체계를 구현하는 원인이 되기 때문이며, 혼잡의 실제 포인트가 네트워크(151)임에도 불구하고, 스위치(107)와 스위치(109)를 연결하는 상기 링크를 통해 호스트(113)로부터 호스트(115)까지 어떠한 프레임들도 전송할 수 없기 때문이다. 프레임들은 더 이상 호스트(115) 또는 네트워크(151)로 네트워크(151) 또는 디스크 배열(153) 내의 혼잡 때문에 전송되지 않는다.
프레임들은 일반적으로 레이어 3 패킷 구조를 포함하는 레이어 2 구조라는 점을 주의하여야 한다. 프레임들 그리고 패킷들은 일반적으로 여기서 네트워크 전송을 설명하는 것으로 교환 가능할 수 있도록 사용된다. 여기서 혼잡의 지점이 네트워크(151)임에도 불구하고, 다른 숙고된 혼잡의 지점은 스위치(109)에 연결된 디스크 배열(153) 또는 호스트(115)가 될 수 있다.
스위치(107)가 더 이상 스위치(109)로 전송되지 않을 수 있기 때문에, 스위치(107)는 스위치들(103,105)을 지닌 동일한 buffer-to-buffer 크레딧(credit) 체계를 구현하여야 한다. 스위치들(103,105)이 더 이상 스위치(107)로 전송할 수 없을 때, 스위치들(103,105)은 스위치(101)를 지닌 buffer-to-buffer 크레딧(credit) 체계를 구현해야만 한다. 혼잡은 결과적으로 네트워크를 통하여 캐스케이드 할 수 있다. 상기 캐스케이드 혼잡 현상은 혼잡 스프레딩(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 크레딧(credit) 체계를 이용함으로써 부가적 들어오는 트래픽을 막을 수 있다. 상기 buffer-to-buffer 크레딧(credit) 체계는 소스(211)로부터 목적지(217)까지 혼잡한 패스를 따라서 뿐만이 아니라, 소스(213)로부터 목적지(219)까지 원래의 혼잡하지 않은 경로를 따라서 전송을 느리게 한다. 느려진 전송의 결과로서, 링크(225) 상의 대역폭이 심지어 노드(213,219)간에서 트래픽을 전송하기에 더 적합함에도, 노드(213)는 노드(219)로 단지 1 바이트 초만을 전송할 수 있을 것이다.
당해 발명의 기술들은 혼잡을 검출하기 위한 체계를 제공하고 그리고 다른 트래픽 흐름을 허용하는 것을 지속하는 동안 혼잡한 패스를 따른 흐름에서 트래픽을 감소시킬 수 있는 명령(instruction)들을 발생한다. 당해 발명의 상기 기술들은 목적지와 관계없이 무분별하게 트래픽을 막는 표준 buffer-to-buffer 크레딧(credit) 체계의 기원을 피하기 위한 시도를 한다. 무분별한 블락킹은 파이버(fiber) 채널 표준 존재가 변함으로써 파이버(fiber) 채널 네트워크에서 주로 발생할 수 있다. 한 실시예에서, 라인들은 다른 라인들이 초당 2 또는 10 기가비트를 처리하도록 설정되는 동안 초당 1기가비트를 처리하도록 설정된다.
도 3 은 buffer-to-buffer 크레딧(credit) 체계와 마찬가지로 당해 발명의 기술들을 구현할 수 있는 스위치의 다이어그램 표현이다. 스위치(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)로 부가적 크레딧(credit)를 할당하지 않기 때문이다. 외부 노드(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는 혼잡을 경갑하기 위한 명령(instruction)을 발생 할 때를 표시하는 값을 지닌 테이블을 보여준다. 혼잡을 경감하기 위해 네트워크에서 혼잡한 네트워크로부터 다른 노드까지 전송되는 메시지들과 명령(instruction)들은 여기서 소거 메시지로서 간주된다.
테이블(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 % 이다.
결정론적 기술들은, 그러나, 비결정론적 기술들에 대해 다수의 이점들을 제공한다. 특히, 결정론적 기술들은 일련의 소거 메시지의 갑작스런 발생을 방지한다. 랜덤 확률 함수를 이용하여, 다수의 소거 메시지들은 상기 랜덤 넘버 발생기의 특성에 기초하여 매우 밀접하게 발생된다. 일련의 소거 메시지들은 트래픽의 감소에 매우 큰 영향을 미치며, 일련의 소거 메시지 사이의 래그(lag)는 해결될 수 없는 혼잡으로 이어진다. 결정론적 기술들은 덜 갑작스럽게 메시지를 발생할 수 있다. 그러나 유의할 점은, 비결정론적 기술들은 소거 메시지 버스트를 최소화하기 위한 더 많은 복잡 제어 알고리즘을 사용할 수 있다는 점이다.
많은 테이블들과 많은 그 외의 값들이 소거 메시지들의 전송을 위한 주파수들과 인터벌들을 결정하기 위해 사용될 수 있다. 테이블 값들을 세팅하기 위한 요소들은 네트워크 크기, 다수의 출력 포트들, 버퍼 크기, 그리고 지연의 내성을 포함할 수 있다. 소거 메시지들은 트래픽의 성질이 갑작스러울 때 더 자주 발생될 수 있으며, 반면이 트래픽이 안정적일 때 덜 발생될 수 있다. 다양한 실시예에 따라, 소거 메시지들을 발생하기 위한 주파수 그리고 인터벌 등은 버퍼 크기 그 자체뿐 아니라, 버퍼 크기의 변화 또는 버퍼 크기 내의 변화의 미분 값에 의존한다. 상기 버퍼 레벨이 빠르게 증가하고 있는 경우, 소거 메시지들은 더 자주 발생하게 된다. 한 실시예에서, 상기 버퍼 레벨이 충분히 빠른 속도로 증가하고 있는 경우, 일련의 소거 메시지들은 즉각 발생된다.
도 5는 혼잡을 감지하기 위한 기술을 보여주는 프로세스 플로우 다이어그램이다. 501에서, 하나의 프레임은 업스트림 외부 노드로부터 수신된다. 503에서, 상기 프레임은 특정 외부 노드와 관련된 버퍼에서 수정한 큐 쪽으로 분류된다. 분류기 로직은 목적지 포트, 우선순위, 그리고 정확한 큐 내의 프레임을 배치하기 위한 소스와 목적지 어드레스들과 같은 다양한 변수들을 이용할 수 있다. 505에서, 특정 외부 노드와 관련된 버퍼의 레벨이 결정된다.
버퍼 레벨 결정을 이용하여, 도 4에서 보이는 것과 같은 하나의 데이터 구조는 507에서 전송되는 소거 메시지들 간의 프레임 구간을 찾기 위한 기준이 될 수 있다. 한 실시예에서, 소거 메시지들은 N 프레임들이 수신된 이후에 전송된다. 즉, 스위치는 소거 메시지들을 업스트림 외부 노드로 전송하기 전에 상기 업스트림 외부 노드로부터 다양한 외부 노드들까지 N 개의 프레임들을 내보낸다. 509에서, 마지막 소거 메시지들이 발생된 이래로 N 개의 프레임들 이상이 보내졌는지가 결정 된다. 상기 N 프레임 구간들이 경과된 경우, 511에서 상기 버퍼 레벨이 하한값(low threshold) 이하인지가 결정된다. 상기 버퍼 레벨이 하한값 이하인 경우, 어떠한 소거 메시지도 발생하지 않고, 상기 프레임은 513에서 스케줄링을 전송하기 위해 대기열에 넣어진다. 그렇지 않으면, 소거 메시지는 515에서 발생된다. 상기 소거 메시지는 상기 업스트림 외부 노드 쪽으로 보내진다. 상기 업스트림 외부 노드로부터 수신된 프레임은 상기 프레임 내에서 상기 목적지 식별자에 의해 표시되는 것과 같은 목적지 노드 쪽으로 스케줄링을 전송하기 위해 대기열에 넣어진다.
유의할 것은 언제 소거 메시지가 발생되는지를 결정하기 위한 다양한 기술들을 고려해야 한다는 것이다. 예를 들어, 소거 메시지들은 주기적 시간 구간에서 발생될 수 있다. 즉, 소거 메시지들은 특정 구간이 경과된 이후에 발생된다. 상기 주기적 시간 구간들은 미리 지정되거나 또는 동적으로 세트될 수 있다. 상기 버퍼 레벨은 또한 어떠한 소거 메시지들이 발생하든 간에 시간 구간에 영향을 미치도록 사용될 수 있다. 상기 버퍼 레벨이 높을 때, 소거 메시지들은 더 작은 시간 인터벌을 지니고 더 자주 발생될 수 있다. 상기 버퍼 레벨이 낮을 때, 소거 메시지들이 발생되기 전에 더 큰 시간 구간이 경과한다. 또 다른 실시예에서, 소거 메시지들은 동일한 흐름과 관련된 다수의 프레임들이 버퍼의 특정 세트 부분을 초과할 때 발생된다. 한 실시예에서, 상기 버퍼의 50% 이상이 동일한 소스 그리고 목적지 쌍과 관련하여 프레임들로 채워질 때, 소거 메시지는 발생되고 상기 소스 노드 쪽으로 전송된다. 여전히 또 다른 실시예에서, 소거 메시지들은 작은 시간 구간에서 소스 노드로부터 다수의 프레임들의 수령에 임의적으로 기초하여 발생될 수 있다.
버퍼 내 프레임들의 특성과 버퍼를 분석함으로써, 소거 메시지들이 필요한 근거에 따라 발생되고 그리고 특정 흐름(flow) 쪽으로 향할 수 있다. 소거 메시지들은 또한 특정 흐름(flow)을 위한 서비스의 퀄리티(질)를 제공하기 위해 사용될 수 있다. 예를 들어, 버퍼의 특정 퍼센트는 중요한 외부 노드로부터 우선순위의 트래픽을 위한 프레임들을 수신하기 위해 예약될 수 있다. 상기 버퍼 레벨이 상기 예약된 레벨에 접근할 때, 소거 메시지들은 우선순위 트래픽과 관련되지 않은 다양한 흐름으로 전송되고 발생될 수 있거나 또는 소거 메시지들은 발생되고 중요하지 않은 외부 노드로 전송될 수 있다. 우선순위 트래픽이 상기 중요한 외부 노드로부터 수신될 때, 어떠한 소거 메시지들도 상기 버퍼 레벨이 거의 완전히 채워질 때까지는 발생하지 않는다. 상기 예약된 버퍼 부분들은 다중 외부 노드들을 위한 다중 흐름을 위해 할당될 수 있다. 한 실시예에서, 4개의 외부 노드들의 각각으로 출력 버퍼의 25%를 제공하는 것이 목적이다. 소거 메시지들은 하나의 특정 외부 노드와 연관된 버퍼의 부분이 35%를 초과할 때 또는 상기 전체 버퍼 레벨이 80%를 초과할 때에 발생될 수 있다. 소거 메시지들은 그 후 상기 버퍼 레벨이 85 또는 90%를 초과할 때 더 자주 발생될 수 있다. 서비스의 퀄리티를 제공하기 위한 다양한 메커니즘들이 소거 메시지들의 발생을 이용하여 구현될 수 있다. 상기 분석과 관련된 정보 그리고 버퍼 레벨들의 특성은 또한 소거 메시지들 내에서 제공될 수 있다.
다른 소거 메시지들을 이용하거나 또는 각각의 소거 메시지에서 정보를 제공함으로써 더 정확한 혼잡 제어가 구현될 수 있다. 도 6은 버퍼 또는 대기 레벨들에 기초하여 혼잡한 스위치에서 다양한 소거 메시지들의 발생을 설명하는 그래프이다. 상기 버퍼 레벨이 상한값(607, high threshold)을 초과할 때, 패스 소거 메시지가 발생될 수 있다. 패스 소거 메시지가 상기 소스 노드 그리고 상기 혼잡한 스위치 사이의 모든 스위치에 상기 혼잡한 스위치로 특정 흐름과 관련되는 트래픽 전송을 즉각 멈추도록 명령한다. 상기 혼잡한 스위치에서의 버퍼 레벨이 용량에 근접하고, 즉각적 트래픽 감소가 크레딧(credit)과 buffer-to buffer 크레딧(credit) 메커니즘의 고갈을 방지하기 위해 필수적인 때, 패스 소거가 사용될 수 있다. 한 실시예에서, 상한값은 버퍼 크기의 90%에서 세트된다.
상기 버퍼 레벨이 상한값(607) 그리고 하한값(603) 사이 일 때, 모서리 소거 메시지는 상기 혼잡한 스위치에 의해 발생될 수 있다. 상기 모서리 소거 메시지는 상기 혼잡한 스위치 쪽으로 트래픽 흐름을 감소시키기 위해, 상기 소스 노드에 가장 가까운 혼잡 제어 스위치에 명령(instruction)한다. 트래픽 흐름을 감소하기 위해 다른 네트워크 노드로부터의 명령(instruction)들을 인식할 수 있는 네트워크 노드들이, 여기서 혼잡 제어 스위치로서 언급된다. 컷 오프 임계값(601)은 또한 소거 메시지들의 발생을 방지하기 위해 제공될 수 있다. 소거 메시지를 전송하지 않음으로써, 상기 소거 메시지가 필요하지 않을 때 혼잡 제거 및 다른 트래픽이 감소되는 것을 방지될 수 있다.
소거 메시지들은 상기 버퍼 레벨에 관한 정보를 또한 포함할 수 있다. 한 실시예에서, 패스 소거 그리고 모서리 소거 메시지들은 상기 버퍼 레벨이 목적 또는 평형 레벨을 초과하는지에 따라 정보를 제공하는 식별자(indicator)를 포함한다. 상기 목적 레벨 또는 평형 레벨(605)은 특정 혼잡 제어 스위치에서 최대 처리량을 제공하기 위한 최적 버퍼 레벨일 수 있다. 상기 버퍼 레벨이 목표 레벨(605) 이하이거나 이상인 경우, 상기 정보는 혼잡 제어 스위치로 전송되어 상기 혼잡 제어 스위치가 다양한 시점에서 전송 속도를 더 잘 결정할 수 있도록 한다. 한 실시예에서, 상기 버퍼 레벨이 상기 목적 레벨(605)의 웃도는 경우, 혼잡 제어 스위치는 흐름과 관련된 그의 흐름 속도를 감소시키도록 선택하고 보다 점차적으로 상기 조정 이후에 단일 소거 메시지는 전송 속도를 증가시킨다. 대안적으로, 상기 버퍼가 상기 목표 레벨(605) 이하인 경우, 혼잡 제어 스위치는 상기 흐름과 관련된 전송 속도를 감소시키고 그리고 보다 점차적으로 상기 조정 이후에 전송 속도를 증가시키기 위해 선택된다.
현재 그리고 과거 버퍼 레벨 정보는 상기 혼잡 제어 스위치로 제공될 수 있다. 한 실시예에서, 상기 버퍼 레벨에서 변화들은 또한 상기 혼잡 제어 스위치로 제공될 수 있다. 상기 버퍼 레벨이 증가되고 있는 경우, 상기 혼잡 제어 스위치는 상기 흐름과 관련된 그의 전송 속도를 감소하기 위해, 더 낮은 전송 속도를 유지하고, 순차적으로 상기 시간의 경과 이후 그의 전송 속도를 점차 증가시키기 위해 선택된다.
도 6은 패스 소거 또는 모서리 소거 메시지를 전송할 것인지를 결정하기 위한 상한 그리고 하한값을 보여준다. 유의할 것은 다양한 다수의 임계값들이 사용될 수 있다는 점이다. 한 실시예에서, 패스 소거는 특정 흐름과 관련된 전송 속도를 0으로 드랍 시키기 위해 혼잡한 스위치와 상기 소스 노드 간의 모든 혼잡 제어 스위치들을 제어한다. 모서리 소거는 특정 흐름과 관련된 전송 속도를 이전 허용 속도의 1/2로 드랍하도록 소스 노드에 가장 가까운 상기 혼잡 제어 스위치에 명령한다. 또 다른 실시예에서, 3가지 소거 메시지들이 3가지 다른 임계값에 대하여 버퍼 레벨의 비교에 기초하여 사용된다.
패스 소거는 특정 흐름과 관련된 전송 속도들을 0으로 드랍하기 위해 상기 소스 노드와 상기 혼잡한 스위치들 간의 모든 혼잡 제어 스위치들을 제어한다. 유의할 것은, 그러나, 이 경우에 상기 전송 속도의 회복 속도가 빠르다. 에지(모서리) 소거는 이분의 일(one half)의 허용 속도로 전송 속도를 드랍 시키기 위해 상기 소스 노드에 가장 가까운 노드에 상기 혼잡 제어를 명령(instruction)한다. 일부 실시예에서, 에지 소거 그리고 경로 소거 메시지들은 버퍼 특성 정보를 포함하지 않는다. 또 다른 실시예에서, 소거 메시지가 현재, 과거, 그리고 버퍼 레벨의 변화에 대한 충분한 정보를 포함하는 경우에, 단일 소거 메시지가 사용될 수 있다. 유의할 것은 다양한 실시예에 따라, 호스트가 경로 소거 또는 모서리 소거 메시지를 이해하지 못하여, 소거 메시지가 네트워크의 모서리에서 중단될 수 있다는 점이다.
도 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 threshold)보다 위인 경우, 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에서, 특정 변수 정보와 관련된 흐름의 전송을 위해 현재 허용 속도가 상기 명령(instruction)이 모서리 소거 메시지인 경우 반으로 감소된다. 다양한 실시예에 따라, 각 흐름은 최대 허용 속도를 지닐 수 있다. 반면, 상기 변수 정보와 관련된 흐름을 위한 현재 허용 속도는 0으로 드랍 된다. 특정 흐름을 위한 최대 전송 속도는 여기서 최대 허용 속도로서 간주된다. 소거 명령(instruction)들에 의해 조정되는 전송 속도는 여기서 현재 허용 속도로서 간주된다. 한 실시예에서, 상기 전송 속도는 초기에 최대 허용 속도와 수신한 소거 명령(instruction)들에 기초하여 현재 허용 속도로 감소된다. 상기 현재 허용 속도는 그 후 그것이 또 다른 소거 명령(instruction)을 수신하고 그리고 최대 허용 속도에 도달할 때까지 회복 속도에서 증가될 수 있다. 유의할 것은, 이 실시예에서, 소거 메시지들의 두 가지 타입들이 사용된다. 다양한 실시예에 따라, 모서리 소거 메시지들은 목적지에 가장 가까운 혼합 제어 스위치에서 허용 속도를 절반으로 떨어뜨린다. 패스 소거 메시지들은 목적지를 향하는 패스를 따라 존재하는 모든 혼잡 제어 스위치들에서 허용 속도를 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 매개 스위치를 통해 상기 파이버 채널 네트워크 스위치로 전송되는 단계, 그리고
    - 상기 파이버 채널 네트워크 스위치에서 트래픽 흐름을 특성화하는 단계를 포함하되,
    상기 트래픽 흐름을 특성화하는 단계는 파이버 채널(fibre channel) 구조에서 필요한 혼잡 제어(congestion control)의 정도를 결정하는 단계를 포함하며, 제 1 크기의 혼잡도에 대한 혼잡 제어가 필요한 경우 제 1 명령을 발생하고, 상기 제 1 크기보다 큰 제 2 크기의 혼잡도에 대한 혼잡 제어가 필요한 경우에 제 2 명령을 발생하며,
    상기 제 1 명령은 상기 목적지 노드에 대응하는 소스 식별자 필드와, 상기 소스 노드에 대응하는 목적지 식별자 필드를 가지며, 상기 제 1 매개 스위치에서의 전송량만을 감소시키고, 상기 제 2 명령은 상기 제 1 매개 스위치를 포함하는 복수의 스위치에서 전송량을 감소시키는 것을 특징으로 하는 제어 방법.
  2. 제 1 항에 있어서, 상기 제 1 매개 스위치는 상기 소스 노드에 연결된 모서리(edge) 스위치인 것을 특징으로 하는 제어 방법.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 제 1 명령은 상기 제 1 매개 스위치로 전송되고, 모서리 소거 프레임(edge quench frame)을 포함하는 것을 특징으로 하는 제어 방법.
  4. 제 3 항에 있어서, 상기 모서리 소거 프레임은 네트워크 스위치 혼잡 정보를 포함하는 것을 특징으로 하는 제어 방법.
  5. 제 3 항에 있어서, 상기 모서리 소거 프레임은, 대기열 레벨(queue level)이초과되었는지 여부를 나타내는 네트워크 스위치 대기열 레벨(queue level) 정보를 포함하는 것을 특징으로 하는 제어 방법.
  6. 제 5 항에 있어서, 상기 모서리 소거 프레임은 상기 소스 노드 그리고 상기 목적지 노드에서의 전송 허용 속도를 반으로 줄이도록 상기 제 1 매개 스위치를 제어하는 것을 특징으로 하는 제어 방법.
  7. 제 6 항에 있어서, 상기 제 1 매개 스위치 그리고 상기 파이버 채널 네트워크 스위치는 파이버 채널을 이용하여 연결되는 것을 특징으로 하는 제어 방법.
  8. 제 1 항에 있어서, 상기 프레임은 상기 제 1 매개 스위치 그리고 상기 파이버 채널 네트워크 스위치 사이의 제 2 매개 스위치를 통해 전송되는 것을 특징으로 하는 제어 방법.
  9. 제 8 항에 있어서, 상기 방법은
    - 상기 소스 노드로부터 상기 목적지 노드까지 트래픽을 제어하기 위해 상기 파이버 채널 네트워크 스위치로부터 상기 제 2 매개 스위치까지 제 2 명령을 전달하는 단계
    를 더 포함하는 것을 특징으로 하는 제어 방법.
  10. 제 9 항에 있어서, 상기 제 2 명령은 상기 제 2 매개 스위치로 전송되며, 패스 소거 프레임을 포함하는 것을 특징으로 하는 제어 방법.
  11. 제 10 항에 있어서, 상기 패스 소거 프레임은 상기 목적지 노드에 대응하는 소스 식별자 필드 그리고 상기 소스 노드에 대응하는 목적지 식별자 필드를 지니는 것을 특징으로 하는 제어 방법.
  12. 제 10 항에 있어서, 상기 패스 소거 프레임은 네트워크 스위치 혼잡 정보를 포함하는 것을 특징으로 하는 제어 방법.
  13. 제 10 항에 있어서, 상기 패스 소거 프레임은 네트워크 스위치 대기열 레벨(queue level) 정보를 포함하는 것을 특징으로 하는 제어 방법.
  14. 제 13 항에 있어서, 상기 패스 소거 프레임은 상기 소스 노드 그리고 상기 목적지 노드에서의 전송 허용 속도를 0bps로 감소시키도록 상기 제 1 및 제 2 매개 스위치들을 제어하는 특징으로 하는 제어 방법.
  15. 제 1 항에 있어서, 상기 트래픽 흐름을 특성화하는 단계는 상기 파이버 채널 네트워크 스위치의 대기열 레벨(queue level)을 확인하는 것을 포함하는 것을 특징으로 하는 제어 방법.
  16. 제 15 항에 있어서, 상기 대기열 레벨(queue level)이 상한값(high threshold)을 초과할 때 패스 소거 프레임들이 전송되는 것을 특징으로 하는 제어 방법.
  17. 제 16 항에 있어서, 상기 대기열 레벨(queue level)이 상한값(high threshold)과 하한값(low theshold) 사이일 때 모서리 소거 프레임들이 전송되는 것을 특징으로 하는 제어 방법.
  18. 제 17 항에 있어서, 상기 모서리 소거 그리고 패스 소거 프레임들은 버퍼 레벨 식별자를 포함하는 것을 특징으로 하는 제어 방법.
  19. 혼잡을 제어하기 위한 장치로서,
    - 소스 노드에 대응하는 소스 식별자 필드 그리고 목적지 노드에 대응하는 목적지 식별자 필드를 지니는 프레임을 수신하기 위한 수단으로서, 상기 프레임은 파이버 채널 네트워크 스위치 그리고 상기 소스 노드 간의 제 1 매개 스위치를 통해 상기 파이버 채널 네트워크 스위치로 전송되는, 상기 수단, 그리고
    - 상기 파이버 채널 네트워크 스위치에서 트래픽 흐름을 특성화하기 위한 수단을 포함하되,
    상기 트래픽 흐름을 특성화하는 수단은 파이버 채널(fibre channel) 구조에서 필요한 혼잡 제어(congestion control)의 정도를 결정하고, 제 1 크기의 혼잡도에 대한 혼잡 제어가 필요한 경우 제 1 명령을 발생하고, 상기 제 1 크기보다 큰 제 2 크기의 혼잡도에 대한 혼잡 제어가 필요한 경우에 제 2 명령을 발생하며,
    상기 제 1 명령은 상기 목적지 노드에 대응하는 소스 식별자 필드와, 상기 소스 노드에 대응하는 목적지 식별자 필드를 가지며, 상기 제 1 매개 스위치에서의 전송량만을 감소시키고, 상기 제 2 명령은 상기 제 1 매개 스위치를 포함하는 복수의 스위치에서 전송량을 감소시키는 것을 특징으로 하는 혼잡을 제어하기 위한 장치.
  20. 삭제
  21. 제 19 항에 있어서, 상기 제 1 매개 스위치는 상기 소스 노드에 연결된 모서리(edge) 스위치인 것을 특징으로 하는 혼잡을 제어하기 위한 장치.
  22. 제 21 항에 있어서, 상기 제 1 명령은 상기 제 1 매개 스위치로 전송되고, 상기 제 1 명령은 모서리 소거 프레임(edge quench frame)을 포함하는 것을 특징으로 하는 혼잡을 제어하기 위한 장치.
  23. 혼잡을 제어하기 위한 컴퓨터 프로그램을 포함한 컴퓨터 판독형 매체로서, 상기 컴퓨터 판독형 매체는,
    - 소스 노드에 대응하는 소스 식별자 필드 그리고 목적지 노드에 대응하는 목적지 식별자 필드를 지니는 프레임을 수신하기 위한 컴퓨터 코드로서, 상기 프레임은 파이버 채널 네트워크 스위치 및 소스 노드 사이에 제 1 매개 스위치를 포함하는 복수의 스위치를 통해 상기 파이버 채널 네트워크 스위치(fibre channel network switch)로 전송되는 것이 특징인, 상기 프레임을 수신하기 위한 컴퓨터 코드, 그리고
    - 상기 파이버 채널 네트워크 스위치에서 트래픽 흐름을 특성화하기 위한 컴퓨터 코드를 포함하되,
    상기 트래픽 흐름을 특성화하는 것은 상기 파이버 채널 구조에 필요한 혼잡 제어 정도를 결정하는 것을 포함하고, 제 1 크기의 혼잡도에 대한 혼잡 제어가 필요한 경우 제 1 명령을 발생하고, 상기 제 1 크기보다 큰 제 1 크기의 혼잡도에 대한 혼잡 제어가 필요한 경우에 제 2 명령을 발생하며,
    상기 제 1 명령은 상기 목적지 노드에 대응하는 소스 식별자 필드와, 상기 소스 노드에 대응하는 목적지 식별자 필드를 가지고, 상기 제 1 매개 스위치에서의 전송량만을 감소시키며, 상기 제 2 명령은 상기 제 1 매개 스위치를 포함하는 복수의 스위치에서 전송량을 감소시키는 것을 특징으로 하는 혼잡을 제어하기 위한 컴퓨터 프로그램을 포함하는 컴퓨터 판독형 매체.
  24. 제 23 항에 있어서, 상기 제 1 매개 스위치는 상기 소스 노드에 연결된 모서리(edge) 스위치인 것을 특징으로 하는 혼잡을 제어하기 위한 컴퓨터 프로그램을 포함하는 컴퓨터 판독형 매체.
  25. 제 24 항에 있어서, 상기 제 1 명령은 상기 제 1 매개 스위치로 전송되고, 상기 제 1 명령은 모서리 소거 프레임(edge quench frame)을 포함하는 것을 특징으로 하는 혼잡을 제어하기 위한 컴퓨터 프로그램을 포함하는 컴퓨터 판독형 매체.
  26. 네트워크 시스템에 있어서,
    - 소스 노드로부터 파이버(fibre) 채널 프레임을 수신하는 인터페이스로서, 상기 파이버 채널 프레임은 상기 소스 노드에 연결된 모서리 스위치를 포함하는 복수의 파이버 채널 스위치를 통해 전송되는 상기 인터페이스, 그리고
    상기 인터페이스에서 트래픽 흐름을 특성화하고 버퍼 레벨(level)을 결정하는 프로세서로서, 상기 버퍼 레벨(level)이 상한값(high threshold)을 초과하면 트래픽 흐름을 제한하기 위한 모서리 스위치를 포함하는 복수의 파이버 채널 스위치를 통해 상기 인터페이스 전송되는 패스 소거 프레임이 발생되고, 상기 버퍼 레벨(level)이 하한값과 상한값 사이이면 상기 모서리 스위치로부터 인터페이스로의 트래픽 흐름을 감소시키도록 상기 모서리 스위치로 전달되는 모서리 소거 프레임이 발생되며,
    상기 모서리 소거 프레임은 상기 네트워크 시스템에 대응하는 소스 식별자 필드와 상기 소스 노드에 대응하는 목적지 식별자 필드를 가지는 것을 특징으로 하는 네트워크 시스템.
  27. 제 26 항에 있어서,
    상기 패스 소거 프레임은 상기 모서리 스위치를 포함하는 복수의 파이버 채널 스위치가 파이버 채널 프레임을 상기 인터페이스에 전송하는 것을 중단시키는 것을 특징으로 하는 네트워크 시스템.
  28. 제 27 항에 있어서,
    상기 모서리 소거 프레임은 파이버 채널 프레임의 상기 인터페이스로의 전송량을 줄이는 것을 특징으로 하는 네트워크 시스템.
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
KR1020047009498A 2001-12-18 2002-12-17 네트워크 혼잡 제어를 위한 방법 및 장치 KR100977651B1 (ko)

Applications Claiming Priority (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 KR20040071220A (ko) 2004-08-11
KR100977651B1 true 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) ATE483295T1 (ko)
AU (1) AU2002359740B2 (ko)
CA (1) CA2469803C (ko)
DE (1) DE60237845D1 (ko)
WO (1) WO2003053016A1 (ko)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030147414A1 (en) * 2001-02-14 2003-08-07 Yoshimitsu Hirata 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
US7430175B2 (en) * 2003-07-21 2008-09-30 Qlogic, Corporation Method and system for managing traffic in fibre channel systems
US7792115B2 (en) 2003-07-21 2010-09-07 Qlogic, Corporation Method and system for routing and filtering network data packets in fibre channel systems
US7894348B2 (en) 2003-07-21 2011-02-22 Qlogic, Corporation Method and system for congestion control in a fibre channel switch
US7406092B2 (en) * 2003-07-21 2008-07-29 Qlogic, Corporation Programmable pseudo virtual lanes for fibre channel systems
US7646767B2 (en) 2003-07-21 2010-01-12 Qlogic, Corporation Method and system for programmable data dependant network routing
US7420982B2 (en) * 2003-07-21 2008-09-02 Qlogic, Corporation Method and system for keeping a fibre channel arbitrated loop open during frame gaps
US7684401B2 (en) 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
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
US7830793B2 (en) * 2004-10-22 2010-11-09 Cisco Technology, Inc. Network device architecture for consolidating input/output and reducing latency
US7801125B2 (en) * 2004-10-22 2010-09-21 Cisco Technology, Inc. Forwarding table reduction and multipath network forwarding
US7564869B2 (en) 2004-10-22 2009-07-21 Cisco Technology, Inc. Fibre channel over ethernet
US7602720B2 (en) * 2004-10-22 2009-10-13 Cisco Technology, Inc. Active queue management methods and devices
US8238347B2 (en) * 2004-10-22 2012-08-07 Cisco Technology, Inc. Fibre channel over ethernet
US7969971B2 (en) 2004-10-22 2011-06-28 Cisco Technology, Inc. Ethernet extension for the data center
US7912032B2 (en) * 2004-12-17 2011-03-22 Motorola, Inc. System and method for communicating within a wireless communication network
WO2006065896A2 (en) * 2004-12-17 2006-06-22 Meshnetworks, Inc. System and method for controlling congestion in multihopping wireless networks
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 华为技术有限公司 对实时组播业务进行拥塞控制的方法
KR100757872B1 (ko) * 2006-02-06 2007-09-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
KR100748187B1 (ko) * 2007-06-01 2007-08-10 인하대학교 산학협력단 노드 가용도 예측 기반의 그리드 네트워크 혼잡 제어 장치및 방법
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
US8774005B2 (en) * 2008-09-26 2014-07-08 Telefonaktiebolaget L M Ericsson (Publ) 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
EP2832038A4 (en) * 2012-03-26 2015-12-09 Ericsson Telefon Ab L M INTELLIGENT DISTRIBUTION OF LEGAL INTERCEPTION DATA (LI) 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
US9013995B2 (en) * 2012-05-04 2015-04-21 Telefonaktiebolaget L M Ericsson (Publ) Congestion control in packet data networking
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 株式会社日立制作所 对网络节点或服务器进行过载保护的方法和装置
US9338103B2 (en) 2013-09-10 2016-05-10 Globalfoundries Inc. Injecting congestion in a link between adaptors in a network
US9246816B2 (en) 2013-09-10 2016-01-26 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混合网络中的拥塞控制和传输调度方法
CN107005467B (zh) * 2014-12-24 2021-03-26 英特尔公司 用于在交换机中路由数据的装置和方法
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
US11012378B2 (en) * 2016-08-02 2021-05-18 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for shared buffer allocation in a transport node
US11082347B2 (en) * 2018-03-26 2021-08-03 Nvidia Corporation Techniques for reducing congestion in a computer network
JP7456603B2 (ja) * 2019-11-22 2024-03-27 Necソリューションイノベータ株式会社 スイッチ装置
US11818046B2 (en) 2021-01-26 2023-11-14 Samsung Electronics Co., Ltd. Coordinated congestion control in network-attached devices

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6614796B1 (en) 1997-01-23 2003-09-02 Gadzoox Networks, Inc, Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost

Family Cites Families (33)

* 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
US5742604A (en) * 1996-03-28 1998-04-21 Cisco Systems, Inc. Interswitch link mechanism for connecting high-performance network switches
US5764636A (en) * 1996-03-28 1998-06-09 Cisco Technology, Inc. Color blocking logic mechanism for a high-performance network switch
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
ATE262196T1 (de) * 1996-08-02 2004-04-15 Hewlett Packard Co Verfahren und gerät das verteilte steuerung von gemeinsamen betriebsmitteln erlaubt
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
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 Nortel Networks Corporation 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
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
US6295575B1 (en) * 1998-06-29 2001-09-25 Emc Corporation Configuring vectors of logical storage units for data storage partitioning and sharing
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6614796B1 (en) 1997-01-23 2003-09-02 Gadzoox Networks, Inc, Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100977651B1 (ko) 네트워크 혼잡 제어를 위한 방법 및 장치
US7327680B1 (en) Methods and apparatus for network congestion control
EP3763094B1 (en) Flow management in networks
US7916718B2 (en) Flow and congestion control in switch architectures for multi-hop, memory efficient fabrics
US7911960B1 (en) Delayed-start method for minimizing internal switch congestion
US9112786B2 (en) Systems and methods for selectively performing explicit congestion notification
US7450509B2 (en) Adaptive flow control method and apparatus
US7675857B1 (en) Method and apparatus to avoid network congestion
US7414973B2 (en) Communication traffic management systems and methods
EP1810466B1 (en) Directional and priority based flow control between nodes
US20130279340A1 (en) Congestion control in packet switches
US10728156B2 (en) Scalable, low latency, deep buffered switch architecture
JP5034491B2 (ja) スイッチにおける優先度帯域制御方法
CN118233381A (zh) 协议不可知认知拥塞控制
US7324441B1 (en) Methods and apparatus for alleviating deadlock in a fibre channel network
US7734808B1 (en) End-to-end congestion control in a Fibre Channel network
CN116455822A (zh) 数据中心网络中基于异构流量的自适应负载均衡方法
Heying et al. Preferential Bandwidth Allocation for Short Flows with Active Queue 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