KR101408390B1 - 데이터 전송 레이트 모니터 및 최대 데이터 전송 레이트 제어 방법 - Google Patents

데이터 전송 레이트 모니터 및 최대 데이터 전송 레이트 제어 방법 Download PDF

Info

Publication number
KR101408390B1
KR101408390B1 KR1020107024255A KR20107024255A KR101408390B1 KR 101408390 B1 KR101408390 B1 KR 101408390B1 KR 1020107024255 A KR1020107024255 A KR 1020107024255A KR 20107024255 A KR20107024255 A KR 20107024255A KR 101408390 B1 KR101408390 B1 KR 101408390B1
Authority
KR
South Korea
Prior art keywords
data transfer
port
transfer rate
server
current
Prior art date
Application number
KR1020107024255A
Other languages
English (en)
Other versions
KR20100136527A (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 KR20100136527A publication Critical patent/KR20100136527A/ko
Application granted granted Critical
Publication of KR101408390B1 publication Critical patent/KR101408390B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet 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/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/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명의 실시예는 장치의 전송 레이트를 제약하거나 고정시킬 다중 장치 인클로저 내의 공통 통신 매체에도 불구하고, 다중 장치 인클로저 내의 장치에 대한 구성가능 전송 레이트를 제공하는 것에 관한 것이다. 다중 서버 인클로저 내에 포함되거나 이와 연관된 가상 접속 매니저 또는 다른 모듈 또는 장치 내에서 구현되는 본 발명의 일 실시예에서, 가상 접속 매니저는 각각의 서버가 최대 데이터 전송 레이트에 할당될 수 있는 관리 인터페이스를 제공한다. 이어서 가상 접속 매니저는 배압 또는 흐름 제어를 인가하도록 서버 및/또는 서버 내의 포트의 전송 레이트를 계속 모니터링하여, 서버 및/또는 서버 내의 포트가 구성된 최대 전송 레이트를 초과하지 않게 한다.

Description

데이터 전송 레이트 모니터 및 최대 데이터 전송 레이트 제어 방법{ADJUSTABLE SERVER-TRANSMISSION RATES OVER FIXED-SPEED BACKPLANE CONNECTIONS WITHIN A MULTI-SERVER ENCLOSURE}
본 발명은 외부 엔티티를 가진 다중 서버 인클로저 내의 서버의 통신에 관한 것으로, 특히, 서버 및/또는 서버 내의 개별 포트에 대한 조정가능한 최대 전송 레이트를 외부 엔티티에 제공하는 방법 및 시스템에 관한 것이다.
개별 컴퓨터 프로세서, 데이터 저장 장치 및 다른 컴퓨터 구성요소의 능력이 과거 50년 사이에 기하학적으로 증가하고, 그러한 구성요소의 용량이 현저히 감소함에 따라, 종래의 단일 프로세서 및 단일 대용량 저장 장치 컴퓨터 아키텍처는 점차 크기는 유사하지만 훨씬 더 강력한 다중 장치 인클로저로 대체되고 있으며, 이는 단일 인클로저 내에 다수의 대용량 저장 장치를 통합하는 디스크 어레이 및 단일 인클로저 내에 각기 하나 이상의 프로세서를 포함하는 다수의 서버를 통합하는 블레이드 시스템을 포함한다. 다중 구성요소 인클로저는 구성요소들 사이에 간단히 접속되고, 전원 및 환경 규제에 대한 통합 방안을 제공하며, 외부 엔티티에 대한 개별 구성요소를 추출하도록 유용한 가상 인터페이스를 제공할 수 있다.
다중 구성요소 인클로저는 흔히 유사하게 이용가능한 개별 구성요소 장치의 집합체에 비해 큰 이점을 제공하지만, 다중 구성요소 인클로저는 개별 구성요소에 대해 공통의 내부 및 외부 인터페이스를 제공하도록 때때로 다중 구성요소 인클로저 내의 구성요소를 제약하거나 제한할 수 있다. 예컨대, 블레이드 시스템 내의 서버 모듈의 상호 운용성 및 서버 모듈을 쉽게 교체하고 대체하는 능력을 용이하게 하도록, 모든 서버 모듈은 공통 백플레인을 통해 외부 통신 매체에 접속될 수 있으며, 그 공통 백플레인은 통신 매체에 직접 접속될 때 상이한 전송 레이트를 지원하는 서버의 능력에도 불구하고, 공통의 고정된 전송 레이트로 서버 모듈의 전송 레이트를 제한할 수 있다. 다중 장치 인클로저의 설계자, 개발자, 벤더 및 사용자는 대체로 다중 장치 인클로저의 유용성 및 융통성을 증가시키도록, 공유된 인터페이스에 의해 제한된 다중 구성요소 인클로저 내의 구성요소의 고유한 융통성과 능력을 다시 가능하게 해야 할 필요성 및 개별 구성요소에 대한 추가적인 융통성 및 능력을 제공해야 할 필요성을 인지해 왔다.
본 발명의 실시예는 장치의 전송 레이트를 제약하거나 고정시킬 다중 장치 인클로저 내의 공통 통신 매체에도 불구하고, 다중 장치 인클로저 내의 장치에 대한 구성가능 전송 레이트를 제공하는 것에 관한 것이다. 다중 서버 인클로저 내에 포함되거나 이와 연관된 가상 접속 매니저 또는 다른 모듈 또는 장치 내에서 구현되는 본 발명의 일 실시예에서, 가상 접속 매니저는 각각의 서버가 최대 데이터 전송 레이트에 할당될 수 있는 관리 인터페이스를 제공한다. 이어서 가상 접속 매니저는 배압 또는 흐름 제어를 인가하도록 서버 및/또는 서버 내의 포트의 전송 레이트를 계속 모니터링하여, 서버 및/또는 서버 내의 포트가 구성된 최대 전송 레이트를 초과하지 않게 한다.
도 1은 다중 서버 블레이드 시스템의 주요 구성요소를 도시한다.
도 2는 네트워크 인터페이스 카드와 호스트 버스 어댑터 사이의 단일 경로 접속을 제공하는 블레이드 시스템의 백플레인을 도시한다.
도 3a 및 도 3b는 외부 통신 매체에 블레이드 시스템 내의 서버를 상호접속하기 위한 가상 접속 매니저 방안을 도시한다.
도 4a 내지 도 4c는 이더넷 접속 장치의 반양방향 및 양방향 동작을 도시한다.
도 5는 전형적인 이더넷-Ⅱ 패킷을 도시한다.
도 6은 이더넷 링크에 대한 공통 대역폭을 도시한다.
도 7a 내지 도 7c는 전송 레이트에 대한 자동교섭을 도시한다.
도 8a 내지 도 8e는 이더넷-Ⅱ 순응 장치에 제공된 흐름 제어 메커니즘을 도시한다.
도 9a 내지 도 9k는 본 발명의 일 실시예에 따라, 블레이드 시스템 내의 NIC에 의해 최대 데이터 전송 레이트를 제한하는 일 방안을 도시한다.
도 10a 내지 도 10d는 본 발명의 제 2 실시예를 도시한다.
도 11a 및 도 11b는 본 발명의 실시예의 구현에 의해 생성된 전체 효과를 도시한다.
도 12는 본 발명의 2 개의 설명된 실시예 중 어느 하나를 구현하는 가상 접속 관리에 대한 제어 흐름도를 제공한다.
도 13은 본 발명의 일 실시예에 따라, 도 12의 단계(1208)에서 호출된 핸들러 "새로운 패킷"에 대한 제어 흐름도를 제공한다.
도 14는 본 발명의 일 실시예에 따라, 도 12의 단계(1210)에서 호출된 핸들러 "타이머 처리"의 제 1 부분에 대한 흐름 제어도를 제공한다.
도 15는 도 9a 내지 도 9k와 관련하여 설명된 본 발명의 제 1 실시예에 따라, 도 14의 단계(1410)에서 호출된 루틴 "전송 레이트 조정"의 제어 흐름도를 제공한다.
도 16은 도 10a 내지 도 10d와 관련하여 설명된 본 발명의 제 2 실시예에 따라, 도 14의 단계(1410)에서 호출된 루틴 "전송 레이트 조정"의 제 2 구현에 대한 제어 흐름도이다.
본 발명의 일 실시예는 하나 이상의 통신 매체에 대한 서버 또는 포트에 의해 최대 전송 레이트를 제어하도록 다중 서버 인클로저 내의 서버에 또는 다중 서버 인클로저 내의 서버의 개별 포트에 배압(back pressure) 또는 흐름 제어를 적용하는 방법 및 시스템에 관한 것이다. 다중 서버 인클로저는 먼저 본 발명의 다양한 실시예의 후속 설명에 대한 콘텍스트를 제공하도록 논의된다. 다른 구현에서, 여러 상이한 최대 전송 레이트가 구성되고 실시될 수 있다. 예컨대, 서버가 접속되는 모든 통신 매체에 대한 각각의 서버의 총 최대 전송 레이트가 구성되고 실시될 수 있다. 이와 달리, 서버가 접속되는 종류 또는 유형의 통신 매체의 모든 통신 매체에 대한 각각의 서버의 총 최대 전송 레이트가 구성되고 실시될 수 있다. 이와 달리, 서버 내의 개별 포트의 총 최대 전송 레이트가 구성되고 실시될 수 있다.
도 1은 다중 서버 블레이드 시스템의 주요 구성요소를 도시한다. 블레이드 시스템(102)은 다수의 온도 제어 구성요소(104-108), 2 개 이상의 전원 유닛(110, 112), 다수의 서버 모듈(114-121) 및 전력 라인, 제어 신호 라인 및 외부 이더넷, 광 채널(fiber channel) 및 다른 통신 매체로 데이터를 전송하고 이로부터 데이터를 수신하는 통신 매체를 포함하는 다양한 물리적 통신 매체를 통해 서버 모듈(114-121)과 다른 구성요소를 상호접속하는 다수의 상이한 유형의 물리적 접속을 포함하는 백플레인(124)을 포함한다. 물론, 블레이드 시스템은 다수의 다른 구성요소뿐만 아니라 블레이드 시스템 관리자에게 관리 인터페이스를 제공하고, 블레이드 시스템 내의 다양한 구성요소의 동작을 모니터링하고 관리하도록 관리 모듈 및 관리 모듈 내에서 구동하는 관리 루틴도 포함한다.
도 2는 네트워크 인터페이스 카드와 호스트 버스 어댑터 사이의 단일 경로 접속을 제공하는 블레이드 시스템의 백플레인을 도시한다. 도 2에서, 블레이드 시스템의 백플레인(202)은 각각 LAN 스위치(210) 내의 포트(208)와 SAN 스위치(214) 내의 포트(212)와 같은 로컬 영역 네트워크("LAN")와 저장 영역 네트워크("SAN") 내의 포트에 NIC(204) 및 HBA(206)과 같은 네트워크 인터페이스 카드("NIC")와 호스트 버스 어댑터("HBA") 사이의 단일 경로 접속을 제공한다. 스위치(210)와 같은 각각의 스위치는 하나 이상의 LAN 또는 SAN에 다양한 네트워크 인터페이스 카드 또는 호스트 버스 어댑터를 접속한다. 각각의 서버(216-219)는 서버가 각각 외부 LAN 및/또는 SAN으로의 접속을 잃지 않으면서 NIC 및/또는 HBA 고장을 용인할 수 있도록 일반적으로 2 개 이상의 NIC와 2 개 이상의 HBA를 포함한다. 각각의 NIC는 제조자 공급 매체 액세스 제어("MAC") 주소를 포함하고, 각각의 HBA는 각각 NIC 및 HBA가 각각 LAN과 SAN 내에 어드레싱되는 월드 와이드 네임("WWN")을 포함한다. 백플레인(202)은 수동적이며, 이더넷 및 광 채널 스위치를 포함하는 LAN 및 SAN 스위치 내의 서버와 포트 내의 NIC와 HBA 사이에 신호를 전송하는 데 사용될 수 있는 신호 라인을 제공한다. 블레이드 시스템 내의 서버 모듈은 서버 모듈이 블레이드 시스템에 설치될 때 또는 서버 모듈이 대체 또는 교환될 때 벌키한 에러 유발 와이어링이 필요하지 않도록, 백플레인 커넥터를 통해 백플레인에 플러깅된다.
도 3a 및 도 3b는 외부 통신 매체에 블레이드 시스템 내의 서버를 상호접속하기 위한 가상 접속 매니저 방안을 도시한다. 도 3a에 도시된 바와 같이, 백플레인을 통해 서버의 NIC와 HBA를 스위치에 직접 접속하기보다, NIC와 HBA는 백플레인을 통해 가상 접속 매니저 모듈(302, 304)에 접속될 수 있으며, 차례로 LAN 및 SAN 통신 매체를 포함하는 외부 통신 매체에 접속된다.
도 3b는 가상 접속 매니저 모듈에 의해 제공된 기능을 도시한다. 가상 접속 매니저 모듈 내에서 구동하는 가상 접속 매니저는 MAC, WWN 및 통신 포트에 대한 다른 고유한 주소의 풀(pool)(310, 312)을 각각의 유형의 주소마다 하나의 풀을 유지한다. 도 3b에서, 2 개의 풀(310, 312)은 MAC 주소 및 WWN 주소에 대응한다. 가상 접속 매니저는 또한 각각의 서버(318-321)마다 구성 프로파일(314-317)을 유지한다. 초기화 단계 동안에, 가상 접속 매니저는 각각의 서버의 NIC 및 HBA 내의 제조자 공급 MAC 및 WWN 주소를 대체하는, MAC 및 WWN 주소의 풀로부터의 MAC 및 WWN 주소를 모든 서버의 NIC 및 HBA에 할당한다. 가상 접속 매니저에 의해 사용된 MAC 주소 및 WWN 주소는 블레이드 시스템에서 사용하기 위해 이더넷 및 광 채널 협회에 의해 할당된다. 구성 프로파일(314-317)은 각각의 서버 상의 각각의 NIC 및 HBA가 접속되어야 하는 외부 LAN 및 SAN을 특정하는 정보를 포함한다. 가상 접속 매니저는 외부 LAN 및 SAN과 블레이드 시스템의 서버 모듈 내의 NIC 및 HBA 사이의 가상 인터페이스로서 기능할 뿐만 아니라, 블레이드 시스템 관리자에게 통신 관리에 대한 관리자 인터페이스도 제공한다. 외부 LAN 및 SAN과 서버 모듈 내의 NIC 및 HBA 사이의 인터페이스를 가상화함으로써, 가상 접속 매니저는 서버 모듈을 제거하고, 제거된 서버 모듈이 접속되었던 LAN과 SAN을 재구성할 필요 없이 및 블레이드 시스템 또는 블레이드 시스템 구성요소를 재와이어링할 필요 없이 제거된 서버 모듈을 새로운 서버 모듈로 대체하는 것을 가능하게 한다. 그 대신에, 가상 접속 매니저는 대체 서버의 전력 상승을 감지하면, 그 서버에 대한 구성 프로파일을 사용하여, 대체 서버 내의 NIC 및 HBA 카드 내의 MAC 주소와 WWN 주소를 제거된 서버에 의해 사용된 MAC 및 WWN 주소로 대체하고, 제거된 서버가 이전에 접속되었던 외부 LAN과 SAN과 새로 설치된 서버를 접속시킨다.
본 발명의 설명된 실시예는 이더넷 상호접속에 관한 것이며, 이더넷 통신의 다양한 양상은 다음에 설명된다. 그러나, 본 발명에 의해 기술된 방안은 추가적인 유형의 통신 매체 및 프로토콜에 적용될 수 있다.
도 4a 내지 도 4c는 이더넷 접속 장치의 반양방향 및 양방향 동작을 도시한다. 도 4a 내지 도 4c는 다음 도면에서 다시 사용되는 도시 규칙을 사용하는데, 그 도면에서 각각 이더넷 물리적 링크에 접속되는 NIC를 포함하는 2 개의 장치(402, 404)는 물리적 링크를 통해 데이터 인코딩 신호를 송신하고 수신한다. 도 4a 및 도 4b는 이더넷의 반양방향 동작을 도시한다. 도 4a에서, 장치(404)는 데이터를 장치(402)로 송신하고, 도 4b에서, 장치(402)는 물리적 링크를 통해 장치(404)로 정보를 송신한다. 반양방향 동작에서, 두 장치는 동시에 데이터를 송신할 수 없다. 반면에, 도 4c에 도시된 양방향 동작에서, 장치(402, 404)는 물리적 링크(406)를 통해 데이터를 동시에 송신하고 수신한다. 인터넷 접속의 유형 및 동작 속도에 따라, 물리적 매체를 통해 클록 사이클마다 8 비트, 16 비트 또는 32 비트 데이터 값이 송신된다. 이들 데이터 값은 메모리에 저장된 데이터의 패킷을 분해함으로써 송신 측 상에서 획득되고, 패킷을 재구성하고 메모리 내에 패킷을 저장하도록 수신 측에서 재조합된다.
도 5는 전형적인 이더넷-Ⅱ 패킷을 도시한다. 패킷은 7 바이트 프리앰블(502), 프레임의 시작 구분자(504), 패킷이 지시되는 NIC의 6 바이트 MAC 착신지 주소(508), 패킷이 송신되는 NIC의 MAC 발신지 주소(510), 2 바이트 이더넷 유형/길이 필드(512), 46 내지 1500 바이트를 포함하는 데이터 페이로드 필드(514) 및 패킷의 전송 동안에 발생하는 에러의 검출 및 정정을 위해 제공되는 4 바이트 CRC 필드(516)를 포함한다. 물리적 링크에서, 각각의 패킷에 대응하는 데이터 값은 고정된 수의 클록 사이클을 포함하는 프레임간 갭(518)에 의해 분리된다.
이더넷 물리적 링크는 연동선, 광섬유, 동축 케이블 및 블레이드 시스템의 백플레인 내의 신호 라인을 포함한다. 데이터는 포트, 물리적 링크, NIC 및 NIC 및 다른 구성요소에 전달된 제어 파라미터에 따라, 이더넷 물리적 링크 및 포트를 통해 상이한 레이트로 전송될 수 있다. 도 6은 이더넷 장치에 대한 공통 전송 레이트를 도시한다. 도 6에 도시된 바와 같이, 이더넷 링크의 공통 대역폭은 초당 10 메가비트(602), 초당 100 메가비트(604) 및 초당 1000 메가비트 또는 1 기가비트(606)를 포함한다. 초당 10 기가비트 이더넷 링크도 현재 이용가능하고, 초당 100 기가비트 링크는 몇 년 안에 이용가능할 것으로 예상된다. 다수의 NIC는 도 6에 도시된 최대 전송 레이트 중 어느 하나로 데이터를 전송하도록 구성될 수 있다.
통신 장치 내의 NIC는 특정 동작 모드를 자동교섭할 수 있다. 도 7a 내지 도 7c는 전송 레이트에 대한 자동교섭을 도시한다. 도 7a에서, 초당 100 메가비트의 최대 구성가능 데이터 전송 레이트를 가진 NIC를 포함하는 장치(702)는 초당 1 기가비트의 최대 구성가능 데이터 전송 레이트를 가진 NIC를 포함하는 장치(704)와 상호접속된다. 물리적 링크(706)는 각각의 방향으로 초당 1 기가비트로 데이터를 전달할 수 있다. 도 7b에 도시된 바와 같이, 구성 프로세스에서 전력 상승에 이어, 장치(702, 704)는 자동교섭 프로세스의 일부로서 링크 코드 워드(708, 710)를 교환하며, 이에 의해 각각의 장치는 원격 장치의 능력을 결정한 후 2 개의 장치 중 가장 느린 장치에 의해 처리될 수 있는 최대 전송 레이트로 전달하도록 동의한다. 도 7c에 도시된 바와 같이, 자동교섭의 결과로서, 장치(702, 704)는 2 개의 장치 중 더 느린 장치의 최대 전송 레이트인 초당 100 메가비트로 전송하도록 구성된다. 자동교섭은 또한 반양방향 또는 양방향 모드에서 동작하는지 여부를 판단하는 데 사용될 수 있으며, 2 개의 장치가 양방향 코드에서 동작할 수 있을 때 양방향 모드가 바람직하다.
특정 블레이드 시스템 내의 백플레인 상호접속의 특성 때문에, 자동교섭 및 전송 레이트 선택은 블레이드 시스템의 서버 내의 NIC에 이용가능하지 않다. 그 대신에, 이들 블레이드 시스템에서, 모든 NIC는 특정의 고정된 최대 전송 레이트로 동작하도록 요구된다. 본 발명의 실시예에 관한 일 종류의 블레이드 시스템의 경우에, 블레이드 시스템의 서버 내의 모든 NIC에 대한 고정된 최대 전송 레이트는 초당 1 기가비트이다. 재고해볼 때, 초당 1 기가비트는 서버 내에 통합된 다수의 공통으로 이용가능한 NIC에 의해 지원되는 최고 데이터 전송 레이트이므로, 데이터 전송용으로 적당한 고정 레이트이지만, 고정된 최대 데이터 전송은 블레이드 서버를 포함하는 시스템 내에 문제점을 제공할 수 있다.
구식 기술 서버 또는 서버 클러스터를 대체하기 위해 블레이드 시스템이 컴퓨팅 설비에 설치될 때의 문제점은, 구식 기술 서버 또는 서버 클러스터와 이전에 통신하였던 컴퓨팅 설비 내의 다양한 컴퓨터 및 구성요소가 블레이드 시스템 내의 다수의 서버의 증가한 총 데이터 전송 레이트에 의해 압도될 수 있다는 것이다. 이 문제는 독립형 대체 서버를 사용하여 쉽게 해결될 수 있다. 서버 내의 NIC는 최대 전송 레이트가 일반적으로 현대의 NIC용으로 구성가능하므로, 초당 100 메가비트 또는 초당 10 메가비트와 같은 낮은 최대 전송 레이트로 동작하도록 구성될 수 있다. 다수의 현재 이용가능한 NIC는 예컨대, 도 6에 도시된 3 개의 데이터 전송 레이트 중 하나의 선택을 제공한다. 그러나, 전술된 종류의 블레이드 시스템에서, 백플레인 접속의 제한 때문에, 낮은 최대 데이터 전송 레이트로 동작하도록 서버 내에 NIC를 구성하는 것은 가능하지 않다. 문제점을 해결하기 위한 다른 방안은 데이터 전송 서비스를 요청하는 애플리케이션 프로그램과 같은 서버 상에서 구동하는 더 높은 레벨의 엔티티를 감속하는 것이다. 그러나, 높은 레벨로의 변경은 어렵고, 부정확하며, 에러를 유발하고, 다수의 경우에, 애플리케이션 프로그램이 운영 시스템으로의 데이터 전송 요청에 의해 생성된 데이터 전송 레이트를 모니터링하고 감속하기 위해 설계되지 않고, 애플리케이션 프로그램이 종종 특별 환경에 대한 애플리케이션 프로그램을 변경하려 하지 않는 외부 벤더에 의해 생성되므로 가능하지 않다.
본 발명의 실시예는 블레이드 시스템 서버 내의 NIC에 대한 고정 최대 데이터 전송 레이트와 연관된 문제점을 해결하기 위한 상이한 방안에 관한 것이다. 이 방안에서, 도 3a 및 도 3b와 관련하여 전술된 가상 접속 매니저 인터페이스는 가상 접속 매니저에 의해 블레이드 시스템 관리자에 제공된 구성 인터페이스를 통해, 블레이드 시스템 관리자에 의해 블레이드 시스템의 서버 모듈 내의 NIC의 최대 데이터 전송 레이트의 구성을 제공하고, 데이터 전송 레이트를 모니터링하며 필요에 따라, 각각의 NIC가 구성된 최대 데이터 전송 레이트보다 높은 레이트로 데이터를 전송하지 않음을 보장하도록 배압 또는 흐름 제어를 가하도록 구현된다.
도 8a 내지 도 8e는 이더넷-Ⅱ 순응 장치에 제공된 흐름 제어 메커니즘을 도시한다. 제 1 장치(802)가 수신된 데이터를 처리하도록 제 2 장치의 능력을 초과하지 않는 데이터 전송 레이트로 제 2 장치(804)로 데이터를 전송하고 있는 도 8a에 도시된 상태에서, 도 8b에 도시된 제 2 장치는 제 1 장치가 지정된 시구간 동안 데이터 전송을 중지하게 하도록 제 1 장치(802)로 중지 메시지를 전송할 수 있다. 중지 메시지는 물리적 매체에 접속된 모든 NIC에 의해 수신될 수 있는 멀티캐스트 주소로 전송된다. 중지 메시지는 2 바이트 이더넷 유형/길이 필드(도 5에서 512)로 인코딩되고, 수신 장치가 데이터 전송을 중지시켜야 하는 시간을 지정하는 16 비트 값(808)을 포함한다. 이 값은 512 비트 전송 시간의 단위로 데이터 전송을 중지시키는 시간을 표현한다. 도 8c에 도시된 바와 같이, 중지 메시지를 수신하면, 수신 장치는 타이머(810)를 설정하고 타이머가 만료할 때까지 전송을 중지시킨다. 도 8d에 도시된 바와 같이, 중지 메시지를 전송하였던 장치는, 이하 타이머를 리셋하는 "재개 메시지"로서 지칭되며 "0"의 지정된 정지 기간을 포함하는 중지 메시지(812)를 전송함으로써 중지 메시지를 명백히 무시할 수 있다. 도 8e에 도시된 바와 같이, 중지 메시지를 수신하였던 장치는 타이머가 만료할 때 또는 재개 메시지의 수신시에 데이터 전송을 재개한다.
NIC에 의한 중지 메시지의 수신 및 NIC에 의한 데이터 전송의 중지는 NIC를 포함하는 서버 내에서 더 높은 레벨의 흐름 제어를 야기할 수 있다. 만일 데이터 전송이 충분한 시간 동안 중지되면, NIC 버퍼 및/또는 운영 시스템 버퍼가 채워질 수 있는데, 이는 높은 레벨의 데이터 전송 동작의 실패를 야기한다. 실패한 데이터 전송 동작은 운영 시스템에 의해 자동으로 재시도될 수 있고 또는 실패는 애플리케이션 프로그램을 포함하는 높은 레벨의 엔티티로 다시 흐를 수 있으며 이어서 실패한 데이터 전송 동작을 재시도한다.
도 9a 내지 도 9k는 본 발명의 일 실시예에 따라, 블레이드 시스템 내의 NIC에 의해 최대 데이터 전송 레이트를 제한하는 일 방안을 도시한다. 이 실시예에서, 이더넷-Ⅱ에 의해 제공된 앞서 논의된 중지 메시지는 NIC가 블레이드 시스템의 구성 동안 수립된 최대 데이터 전송 레이트를 초과할 때 NIC에 배압을 가하도록, 블레이드 시스템 내의 가상 접속 매니저에 의해 이용된다.
도 9a 내지 도 9k 및 이하 논의될 도 10a 내지 도 10d는 모두 동일한 도시 규칙을 사용한다. 이들 도면은 특정 서버 또는 서버 내의 특정 개별 포트의 최대 데이터 전송 레이트를 제한하도록 가상 접속 매니저 내에서 사용되는 특정 변수, 데이터 구조 및 다른 엔티티를 도시한다. 특정 실시예에서, 가상 접속 매니저는 블레이드 시스템 내의 각각의 서버에 대한 최대 데이터 전송 레이트를 제한하는 데 이용될 수 있고, 다른 실시예에서, 각각의 서버 내의 각각의 포트는 구성된 최대 데이터 전송 레이트로 개별적으로 제한될 수 있다.
각각의 서버 또는 서버/포트 쌍마다, 실시예에 따라, 가상 접속 매니저는 타이머(902), n-1 개의 누산기의 어레이 -각각의 누산기는 서버 또는 서버/포트(904)로부터 가상 접속 매니저에 의해 고정된 시구간 동안 수신된 비트의 수를 누적함- , 현재 사용된 누산기에 대한 포인터(906), 가상 접속 매니저가 서버 또는 서버/포트 쌍에 대하여 현재 가압을 가하고 있는지 여부를 나타내는 불(Boolean) 값 "배압(back pressure)"(908), 서버 또는 서버/포트 쌍에 대한 구성 테이블(910) 및 서버 또는 서버/포트 쌍으로부터의 이더넷-패킷 입력(912)을 유지한다. 또한, 도 9a에 도시되지 않았지만, 가상 접속 매니저는 누산기 어레이(904) 내에제 1 누산기의 주소 및 누산기의 수(n) 또는 누산기 어레이 내에 첫 번째 및 마지막 누산기의 주소를 저장한다. 이들 데이터 구조, 변수 및 엔티티 모두는 함께 그룹화되고 특정 서버 또는 서버/포트와 연산적으로 연관되어, 예컨대, 이더넷 패킷이 수신될 때, 이더넷 패킷에 포함된 발신지 주소가 인덱싱 또는 참조 동작 시에, 이더넷 패킷이 전송되었던 서버 또는 서버/포트 쌍에 대한 현재의 가상 접속 매니저 콘텍스트를 설명하는 데이터 구조, 변수 및 엔티티의 그룹을 배치하는 데 사용될 수 있다. 예컨대, 데이터 구조는 누산기 어레이, 현재의 누산기 포인터, 불 값 "배압", 타이머에 대한 참조, 및 구성 테이블에 대한 참조 및 서버 또는 서버/포트 쌍의 MAC 주소를 포함하도록 이용되어, 데이터 구조가 수신된 이더넷 패킷 내의 발신지 주소로부터 즉시 식별될 수 있다.
도 9a에 도시된 바와 같이, 가상 접속 매니저 콘텍스트는 누산기 포인터(906)가 누산기 어레이(904) 내의 제 1 누산기(914)를 참조하고 타이머가
Figure 112010070123020-pct00001
초 안에 만료하는 것으로 설정되도록 초기화되되, n은 누산기 어레이 내의 누산기의 수이다. 모든 누산기는 값 "0"을 가지도록 초기화된다. 일단 모든 서버가 전력 상승되고 초기화되고, 가상 접속 매니저가 전력 상승되면, 패킷은 블레이드 시스템 내의 서버 모듈로부터 가상 접속 매니저에 의해 수신되기 시작한다. 도 9b에 도시된 바와 같이, 다음 패킷이 도달할 때(916), 비트 단위의 패킷의 크기는 현재의 누산기 포인터(906)에 의해 현재 참조된 누산기(914)의 콘텐츠에 추가된다. 도 9c는 제 2 패킷의 도달 및 현재의 누산기 포인터(906)에 의해 참조된 누산기(914)에 대한 제 2 패킷 내에 포함된 비트 수의 추가를 도시한다.
도 9d에 도시된 바와 같이, 타이머가
Figure 112010080206247-pct00002
초에 만료할 때, 현재의 누산기 포인터는 모듈로 n 계산에 의해 소거되는 다음 누산기(918)로의 포인트까지 증분된다. 누산기 어레이(904) 내의 모든 누산기는 마지막 순간 동안 서버 또는 서버/포트로부터 수신된 비트(920)의 총 수를 산출하도록 함께 추가된다. 보다 정확하도록, 누산기의 총계에 비율
Figure 112010080206247-pct00003
을 곱하여 이전 순간 동안에 서버 또는 서버/포트에 의해 전송된 비트 수의 추정치를 산출한다. 도 9e에 도시된 바와 같이, 제 2 타이머 만료에 이어, 현재의 누산기 포인터(906)는 모듈로 n 덧셈에 의해 다시 증분되고, 누산기의 총계에 비율
Figure 112010080206247-pct00004
을 곱하여 이전 순간 동안에 서버 또는 서버/포트에 의해 수신된 비트 수(922)를 생성한다. 타이머가
Figure 112010080206247-pct00005
초의 후속 간격마다 만료하면서 이 프로세스는 계속된다. 도 9f에서, 누산기 어레이는 값으로 완전히 채워진다.
각각이
Figure 112010070123020-pct00006
초 간격으로, n 개의 누산기에 포함된 비트의 총수에 비율
Figure 112010070123020-pct00007
을 곱한 값은 구성 테이블(910)에 저장된 서버 또는 서버/포트용으로 구성된 최대 데이터 전송 레이트와 비교된다. 도 9g에 도시된 바와 같이, 지난 순간 동안 추정된 데이터 전송 레이트가 서버 또는 서버/포트용으로 구성된 최대 데이터 전송 레이트를 초과하면, 도 9h에 도시된 바와 같이, 불 변수 "배압"(908)은 참(TRUE)으로 설정되고, 고정된 시간 동안 서버 또는 서버/포트에 의해 전송을 중지시키도록 서버 또는 서버/포트의 포트로 중지 메시지(924)가 전송된다. 고정된 시간 또는 중지 시간은, 서버 또는 서버/포트가 그 시간 동안 초당 n 번 정지되면, 서버 또는 서버/포트의 데이터 전송 레이트가 현재의 데이터 전송 레이트로, 서버 또는 서버/포트가 구성되는 최대 데이터 전송 레이트 미만으로 감소하는 시간이도록 계산된다. 일반적으로, 추정된 중지 시간은 서버 또는 서버/포트의 데이터 전송 레이트가 몇몇 초기 시구간 동안 최대 데이터 전송 레이트 미만으로 상당히 떨어짐을 보장하도록, 이하에서 값 "슬롭(slop)"으로 지칭되는 몇몇 추가 요인에 의해 증가한다. 이어서 도 9i 및 도 9j에 도시된 바와 같이, 정규 동작이 계속된다. 각각의 타이머 만료시에, 또는
Figure 112010070123020-pct00008
초 간격으로, 불 변수 "배압"(908)은 여전히 참(TRUE)이고, 서버 또는 서버/포트의 포트로 중지 메시지가 전송된다. 그 후, 도 9k에 도시된 바와 같이, 지난 순간 동안 서버 또는 서버/포트에 대해 계산된 데이터 전송 레이트가 서버 또는 서버/포트가 구성되는 최대 데이터 전송 레이트보다 상당히 낮은 로우 임계치 미만으로 떨어지면, 불 값 "배압"(908)은 거짓(FALSE)으로 설정되고, 데이터 전송 레이트가 서버 또는 서버/포트에 대해 구성된 최대 데이터 전송 레이트를 다시 초과할 때까지 다른 중지 메시지는 전송되지 않는다. 따라서, 본 발명의 전술된 제 1 실시예에 따라, 일단 서버 또는 서버/포트의 데이터 전송 레이트가 서버 또는 서버/포트에 대해 구성된 최대 데이터 전송 레이트를 초과하면, 서버 또는 서버/포트의 전체 데이터 전송 레이트를 서버 또는 서버/포트에 대해 구성된 최대 데이터 전송 레이트보다 상당히 낮게 낮추기 위해, 각각의 시간 간격 내에서 짧은 시구간 동안 서버 또는 서버/포트를 중지시키도록 고정된 타이머 만료 검출 간격으로 중지 메시지가 전송된다.
도 10a 내지 도 10d는 본 발명의 제 2 실시예를 도시한다. 도 10a를 도 9a와 비교함으로써 알 수 있듯이, 제 1 실시예에서 이용된 것과 동일한 데이터 구조가 제 2 실시예에서 이용된다. 도 10a는 누산기 레지스터의 콘텐츠 및 불 변수 "배압"(908)의 현재 상태 및 타이머 만료 후 현재의 누산기 포인터(906)를 도시한다. 도 10b는 누산기(904)의 콘텐츠, 배압 레지스터(908) 및 다음 타이머 만료 후 현재의 누산기 레지스터(906)를 도시한다. 누산기(930) 내의 값에 의해 입증되는 바와 같이, 이전
Figure 112010080206247-pct00009
초 동안, 서버 또는 서버/포트의 데이터 전송 레이트의 매우 큰 증가가 발생함을 알아야 한다. 이는 지난 순간 동안 계산된 데이터 전송 레이트(932)가 2 배를 초과하게 하였고, 서버 또는 서버/포트에 대해 구성된 최대 데이터 전송 레이트를 크게 초과하게 하였다. 이 지점에서, 이전 실시예에서와 같이, 불 변수 "배압"은 참(TRUE)(908)으로 설정되고, 서버 또는 서버/포트로 중지 메시지(934)가 전송된다. 그러나, 이 경우에, 중지 메시지는 서버 또는 서버/포트의 수신 포트가 상당한 시구간 동안 데이터 전송을 간단히 중지할 수 있도록 최대 가능한 중지 시간을 포함한다. 이어서, 앞서 논의된 바와 같이, 동일한 타이머 리셋 및 후속하는 만료 패턴 및 현재의 누산기 포인터 모듈로 증분은 도 10d에 도시된 바와 같이, 지난 순간 동안 계산된 데이터 전송 레이트가 몇몇 로우 임계치(936) 미만으로 떨어질 때까지 계속된다. 이 지점에서, 데이터 전송을 재시작하도록 서버 또는 서버/포트로 재개 메시지(938)가 전송된다.
서버 또는 서버/포트에 대해 구성된 데이터 전송 레이트가 서버 또는 서버/포트에 대해 구성된 최대 데이터 전송 레이트를 초과하지 않음을 보장하도록 서버 또는 서버/포트에 배압을 가하는 데 이더넷 Ⅱ에서 이용가능한 중지 메시지를 사용하는 다수의 추가적인 다른 실시예가 존재한다. 보다 적은 누산기가 이용될 수 있고, 연속 방식으로 각각의 서버 또는 서버/포트를 모니터링하기 위해 모니터링 루틴을 깨우는 데 타이머 이벤트와 다른 이벤트가 사용될 수 있으며, 다른 대안적인 실시예도 가능하다. 그러나, 모든 경우에, 가상 접속 매니저는 각각의 서버 또는 서버/포트의 데이터 전송 레이트를 제어하는 데 이더넷-Ⅱ 중지 메시지를 사용한다.
도 11a 및 도 11b는 본 발명의 실시예의 구현에 의해 생성된 전체 효과를 도시한다. 도 11a에서, 세로축(1102)에 대하여 플롯화된 데이터 전송 레이트는 가로축(1104)에 대하여 플롯화된 시간에 대하여 그래프로 나타난다. 도 11a에서, 시간 증분은
Figure 112010070123020-pct00010
초 이하 정도로 상당히 짧다. 도 11a에 도시된 바와 같이, 데이터 전송 레이트는 시간이 지남에 따라 데이터 전송 레이트가 최대 데이터 전송 레이트(1106)를 초과할 때까지 변할 수 있으며, 그 지점에서 중지 메시지가 전송되고 소정 시구간 동안 데이터 전송 레이트는 0으로 떨어진다. 그 후, 중지(1110)에 이어, 데이터 전송 레이트는 몇몇 유한 값으로 되돌아가며, 다시 데이터 전송 레이트가 서버 또는 서버/포트에 대해 구성된 최대 데이터 전송 레이트를 초과할 때까지 계속 증가하고 감소하는데, 그 지점에서 다른 중지 메시지가 전송되고 다른 시구간(1112) 동안 데이터 전송 레이트는 0으로 떨어진다. 따라서, 시간의 작은 증분에서 볼 때, 서버 또는 서버/포트에 대한 데이터 전송 레이트는 상당히 불연속인 것처럼 보이고, 최대 데이터 전송 레이트보다 큰 피크와 데이터 전송이 없는 구간을 특징으로 한다. 그러나, 도 11b에 도시된 바와 같이, 서버 또는 서버/포트에 대한 데이터 전송 레이트가 훨씬 큰 시구간에 걸쳐 그래프로 나타날 때, 예컨대, 도 11b에서의 증분(1114)이 도 11a에서의 수백의 증분(1116)을 나타내면, 서버 또는 서버/포트(1118)에 대한 데이터 전송 레이트는 연속적인 것으로 나타나고, 결코 최대 데이터 전송 레이트를 초과하지 않는다. 실제로, 도 11에 도시된 바와 같이, 상당히 작은 시간 증분에 걸쳐 계산된 곡선에서, 데이터 전송 레이트는 짧은 시구간 동안 가끔 최대 데이터 전송 레이트를 초과하는 것처럼 보인다. 그러나, 도 11b에 도시된 바와 같이, 데이터 전송 레이트가 긴 시수간 동안 계산될 때, 데이터 전송 레이트가 연속적인 것으로 나타나고 항상 최대 데이터 전송 레이트 라인 미만이도록 짧은 스파이크가 긴 시구간으로 평균화된다.
도 12 내지 도 15는 도 9a 내지 도 9k 및 도 10a 내지 도 10d를 참조하여 전술된 본 발명의 2 개의 상이한 실시예를 도시하는 제어 흐름도를 도시한다. 도 12는 본 발명의 2 개의 설명된 실시예 중 어느 하나를 구현하는 가상 접속 매니저에 대한 제어 흐름도를 제공한다. 단계(1202)에서, 가상 접속 매니저는 전력 상승 또는 리셋시에, 구성 테이블에 저장된 구성 정보에 따라 블레이드 시스템 내의 모든 서버 및 서버 포트의 구성을 담당한다. 단계(1204)에서, 블레이드 시스템은 동작을 위해 개시된다. 이어서, 단계(1206-1211)를 포함하는 이벤트 루프에서, 가상 접속 매니저는 다수의 상이한 유형의 이벤트 중 임의의 이벤트를 대기하고 처리한다. 단계(1207)에서 결정된 바와 같이, 이벤트가 블레이드 시스템 내의 서버로부터의 인입 패킷인 경우에, 단계(1208)에서 핸들러 "새로운 패킷"이 호출된다. 단계(1209)에서 결정된 바와 같이, 이벤트가 최대 데이터 전송 레이트 타이머 만료와 연관되는 타이머 인터럽트인 경우에, 단계(1210)에서 핸들러 "타이머 처리"가 호출된다. 단계(1211)에서 관리자 인터페이스에 의해 생성된 이벤트, 통신 매체 문제와 관련된 이벤트, 블레이드 시스템 내의 전력 또는 환경 조건과 관련된 이벤트 및 다른 이벤트를 포함하는 다수의 다른 유형의 이벤트 중 임의의 이벤트가 캐치 올(catch all) 이벤트 핸들러에 의해 처리된다. 이 이벤트 루프는 가상 접속 매니저가 동작하는 한 계속된다.
도 13은 본 발명의 일 실시예에 따라, 도 12의 단계(1208)에서 호출된 핸들러 "새로운 패킷"에 대한 제어 흐름도를 제공한다. 단계(1302)에서, 가상 접속 매니저는 패킷이 수신되었던 서버 또는 서버/포트를 결정한다. 단계(1304)에서, 도 9a를 참조하여 설명된 바와 같이, 가상 접속 매니저는 서버 또는 서버/포트에 대응하는 데이터 구조 또는 데이터 구조들을 찾고, 현재의 누산기 포인터(도 9a에서 906)에 의해 참조된 현재의 누산기를 단계(1306)에서 수신된 패킷의 비트 단위의 크기만큼 증분한다. 따라서, 각각의 인입 패킷을 처리하기 위해 본 발명의 실시예에 의해 도입된 오버헤드는 최소이다.
도 14는 본 발명의 일 실시예에 따라, 도 12의 단계(1210)에서 호출된 핸들러 "타이머 처리"의 제 1 부분에 대한 흐름 제어도를 제공한다. 단계(1402)에서, 가상 접속 매니저는 만료된 타이머에 대응하는 서버 또는 서버/포트를 결정한다. 단계(1404)에서, 가상 접속 매니저는 현재의 누산기의 콘텐츠에 누산기의 수(n)를 곱한 값으로서 서버 또는 서버/포트에 대한 현재의 순시 데이터 전송 레이트를 계산한다. 단계(1406)에서, 가상 접속 매니저는 모듈로 n 계산에 의해 현재의 누산기 포인터를 증분하고, 단계(1408)에서, 다음 모니터링 간격의 종단의 검출을 위해 제공되도록 타이머 및 타이머 만료 인터럽트를 리셋한다. 이어서, 단계(1410)에서, 루틴 "전송 레이트 조정"이 호출된다.
도 15는 도 9a 내지 도 9k를 참조하여 설명된 본 발명의 제 1 실시예에 따라, 도 14의 단계(1410)에서 호출된 루틴 "전송 레이트 조정"의 제어 흐름도를 제공한다. 단계(1502)에서, 현재의 전송 레이트는 모든 누산기(도 9a에서 904)의 총계에 비율
Figure 112010080206247-pct00011
을 곱한 값으로서 계산된다. 단계(1504)에서 결정된 바와 같이, 현재의 전송 레이트가 로우 임계치 미만일 때, 단계(1506)에서 불 변수 "배압"은 거짓(FALSE)"으로 설정되고, 루틴은 종료된다. 이와 달리, 단계(1508)에서 결정된 바와 같이, 현재의 데이터 전송 레이트가 서버 또는 서버/포트에 대해 구성된 최대 데이터 전송 레이트보다 클 때, 단계(1510)에서 결정된 바와 같이, 불 변수 "배압"이 현재 값 참(TRUE)을 가질 때, 단계(1512)에서 결정된 바와 같이, 현재의 순시 데이터 전송 레이트(도 14에서 단계(1404) 참조)가 최대 데이터 전송 레이트보다 클 때, 단계(1514)에서 데이터 전송 레이트가 여전히 장치에 대해 구성된 최대 데이터 전송 레이트보다 크다는 사실을 반영하도록 서버 또는 서버/포트를 중지시키는 중지 시간이 증분된다. 단계(1512)에서 결정된 바와 같이, 순시 데이터 전송 레이트가 최대 데이터 전송 레이트보다 크지 않을 때, 중지 기간 재계산은 필요하지 않다. 불 변수 "배압"이 참(TRUE)이 아닐 때, 단계(1516)에서 불 변수 "배압"은 참(TRUE)으로 설정되고 중지 시간이 계산된다. 변수 "중지"에 저장된 중지 시간은 서버 또는 서버/포트의 데이터 전송 레이트를 서버 또는 서버/포트에 대핸 구성된 최대 데이터 전송 레이트 미만으로 감소시키도록, 각각의
Figure 112010080206247-pct00012
초의 시구간 동안 서버 또는 서버/포트가 정지되어야 하는 시간으로서 계산된다. 서버 또는 서버/포트에 대한 데이터 전송 레이트가 최대 데이터 전송 레이트 미만으로 푸시됨을 보장하도록 추가적인 값 "슬롭"이 추정된 값에 더해진다. 이어서, 단계(1518)에서, 변수 "중지"의 현재의 값을 사용하여 중지 메시지가 서버 또는 서버/포트의 포트로 전송된다. 단계(1508)에서 결정된 바와 같이, 현재의 데이터 전송 레이트가 장치에 대해 구성된 최대 데이터 전송 레이트를 초과하지 않을 때, 단계(1520)에서 결정된 바와 같이, 불 변수 "배압"의 현재 값이 참(TRUE)이 아닌 한, 루틴은 종료되며, 그 경우에 단계(1518)에서 다음 중지 메시지가 전송된다.
도 16은 도 10a 내지 도 10d를 참조하여 설명된 본 발명의 제 2 실시예에 따라, 도 14의 단계(1410)에서 호출된 루틴 "전송 레이트 조정"의 제 2 구현에 대한 제어 흐름도이다. 도 15에서와 같이, 단계(1602)에서 현재의 데이터 전송 레이트가 계산된다. 단계(1604)에서 결정된 바와 같이, 현재의 데이터 전송 레이트가 로우 임계치보다 클 때, 단계(1606)에서 결정된 바와 같이, 불 변수 "배압"이 값 참(TRUE)을 가질 때, 단계(1608)에서 재개 메시지가 서버 또는 서버/포트로 전송되고, 불 변수 "배압"이 거짓(FALSE)으로 설정된다. 이와 달리, 단계(1610)에서 결정된 바와 같이, 현재의 데이터 전송 레이트가 서버 또는 서버/포트에 대해 구성된 최대 데이터 전송 레이트를 초과할 때, 이어서 단계(1612)에서 결정된 바와 같이, 불 변수 "배압"이 현재 값 거짓(FALSE)을 가질 때, 단계(1614)에서 중지 메시지가 서버 또는 서버/포트로 전송된다.
본 발명은 특정 실시예에 관하여 설명되었지만, 본 발명이 이들 실시예로 제한되도록 의도되지 않는다. 본 발명의 사상 내에서의 변경은 당업자에게 자명할 것이다. 예컨대, 본 발명의 실시예는 블레이드 시스템의 가상 접속 매니저 내에서 또는 블레이드 시스템의 서버 내의 포트로부터의 데이터 전송을 모니터링할 수 있는 블레이드 시스템의 다른 구성요소에서 존재하거나 실행하는 하드웨어 회로, 펌웨어 및/또는 소프트웨어로 구현될 수 있다. 본 발명은 모듈러 구성, 제어 구조, 데이터 구조, 변수, 로직 구조 및 루틴 흐름과 같은 공통 하드웨어 설계, 펌웨어 설계, 및/또는 소프트웨어 설계 파라미터를 변경함으로써 다수의 상이한 방법으로 구현될 수 있다. 앞서 논의된 바와 같이, 서버는 구현에 따라, 특정 유형의 통신 매체를 통해, 모든 통신 매체를 통해, 또는 특정 포트를 통해 최대 전송 레이트에 대해 구성될 수 있다. 다른 구현에서, 최대 데이터 전송 레이트는 서버의 그룹에 대해 또는 전체 블레이드 시스템에 대해 구성될 수 있다. 특정 실시예에서, 개별 서버, 서버 내의 포트, 및 서버의 그룹의 임의의 조합은 최대 데이터 전송 레이트에 대해 구성될 수 있고, 구성된 최대 데이터 전송 레이트가 초과되지 않음을 보장하도록 흐름 제어될 수 있다. 모든 경우에, 제어된 서버, 포트, 또는 서버 그룹의 데이터 전송 레이트가 모니터링되고, 각각의 구성된 데이터 전송 레이트가 초과되지 않음을 보장하는 데 흐름 제어 메시지 또는 신호가 사용된다. 본 발명은 다중 서버 인클로저와 관련하여 앞서 논의되었지만, 본 발명은 다른 유형의 다중 장치 인클로저에 적용될 수 있으며, 그 장치는 통신 매체에 대한 포트를 포함한다. 앞서 논의된 구현에서, 각각의 서버 또는 서버/포트에 대한 각각의 간격마다 모니터링 루틴이 호출되지만, 다른 구현에서, 모니터링 루틴은 단일 호출 동안에 다수의 서버 및/또는 서버/포트를 모니터링하고 흐름 제어할 수 있다.
설명을 위해 앞선 설명은 본 발명의 완전한 이해를 제공하도록 특정 명명법을 사용하였다. 그러나, 본 발명을 실시하기 위해 특정 세부사항이 필요하지 않음은 당업자에게 자명할 것이다. 본 발명의 특정 실시예의 앞선 설명은 예시 및 설명을 위해 제공된다. 그 설명은 본 발명을 개시된 바로 그 형태로 제한하거나 소모하도록 의도되지 않는다. 이상의 교시에 비추어 다수의 변경 및 수정이 가능하다. 실시예는 본 발명의 원리 및 실제 애플리케이션을 최상으로 설명함으로써 당업자가 본 발명 및 고려된 특정 사용에 적합한 다양한 변경을 가진 다양한 실시예를 최상으로 이용할 수 있게 하도록 도시되고 설명된다. 본 발명의 범위가 후속하는 특허청구범위 및 그 균등물에 의해 규정되도록 의도된다.

Claims (16)

  1. 공통 백플레인(common backplane)에 장치를 접속시키는 포트를 포함하는 상기 장치를 구비한 다중 장치 인클로저(enclosure) 유닛 내에서 구현된 데이터 전송 레이트 모니터에 있어서,
    각각의 장치 또는 포트에 대해 구성된 최대 데이터 전송 레이트의 사양을 포함하는 전자 메모리에 저장된 데이터와,
    상기 다중 장치 인클로저 유닛 내의 장치 또는 포트에 대한 현재의 데이터 전송 레이트를 결정하고, 상기 장치 또는 포트에 대해 구성된 상기 최대 데이터 전송 레이트를 초과하는, 상기 장치 또는 포트에 대한 현재의 데이터 전송 레이트에 응답하여 상기 장치 또는 포트로 중지 명령을 전송하는 모니터링 구성요소를 포함하는
    데이터 전송 레이트 모니터.
  2. 제 1 항에 있어서,
    상기 데이터 전송 레이트 모니터는 블레이드 시스템(blade system)의 가상 접속 매니저 내에 구현되는
    데이터 전송 레이트 모니터.
  3. 제 1 항에 있어서,
    상기 공통 백플레인은 이더넷 링크를 포함하고, 상기 중지 명령은 이더넷 중지 메시지이며, 상기 이더넷 중지 메시지는 자신이 중지 메시지 및 중지 시간임을 나타내는 유형/길이 필드를 포함하거나, 또는
    상기 데이터 전송 레이트 모니터는,
    상기 다중 장치 인클로저의 동작 동안에 소정 간격으로 상기 모니터링 구성요소를 호출하는 간격 타이밍 구성요소와,
    상기 데이터 전송 레이트 모니터에 의해 상기 장치로부터 데이터 전송이 수신될 때, 현재의 시간 간격 동안에 상기 장치에 의해 전송된 총 데이터 양을 누적하는 누산기에, 상기 데이터 전송시에 상기 장치에 의해 전송된 데이터의 양을 추가하는 누산기 구성요소를 더 포함하는
    데이터 전송 레이트 모니터.
  4. 제 3 항에 있어서,
    상기 누산기 구성요소는 n 개의 누산기 중에서 현재의 누산기 참조에 의해 참조된 하나의 누산기에 상기 장치로부터 각각의 수신된 데이터를 전송할 때 전송된 데이터의 양을 추가하고,
    각각의 간격으로, 상기 모니터링 구성요소는 모듈로(modulo) n 계산 - n은 1보다 큰 정수임 - 에 의해 상기 현재의 누산기 참조를 증분하고, 상기 증분된 현재의 누산기 참조에 의해 참조된 상기 누산기를 소거하는
    데이터 전송 레이트 모니터.
  5. 제 4 항에 있어서,
    상기 간격 타이밍 구성요소는 상기 모니터링 구성요소를
    Figure 112014018029986-pct00053
    초의 간격으로 호출하는
    데이터 전송 레이트 모니터.
  6. 제 5 항에 있어서,
    상기 모니터링 구성요소는 상기 n 개의 누산기에 저장된 값을 추가함으로써 상기 장치 또는 포트에 대한 현재의 데이터 전송 레이트를 결정하는
    데이터 전송 레이트 모니터.
  7. 제 5 항에 있어서,
    간격 모니터링 구성요소는 총계를 생성하도록 상기 n 개의 누산기에 저장된 값을 추가하고, 상기 총계에
    Figure 112014018029986-pct00054
    을 곱함으로써 상기 장치 또는 포트에 대한 현재의 데이터 전송 레이트를 결정하는
    데이터 전송 레이트 모니터.
  8. 제 1 항에 있어서,
    상기 모니터링 구성요소는,
    상기 장치 또는 포트에 대한 현재의 데이터 전송 레이트가 로우 임계치 미만일 때, 상기 장치 또는 포트로 중지 명령이 전송되지 않아야 한다는 표시를 배압 변수(backpressure variable)에 저장하거나, 또는
    상기 모니터링 구성요소는, 상기 장치 또는 포트에 대한 현재의 데이터 전송 레이트가 상기 장치 또는 포트에 대해 구성된 상기 최대 데이터 전송 레이트보다 크고 배압 변수에 저장된 값이 중지 명령이 상기 장치 또는 포트로 전송되지 않음을 나타낼 때, 상기 장치 또는 포트로 중지 명령을 전송하고, 중지 명령이 상기 장치 또는 포트로 전송됨을 나타내는 표시를 상기 배압 변수에 저장하는
    데이터 전송 레이트 모니터.
  9. 제 1 항에 있어서,
    상기 데이터 전송 레이트 모니터는 관리자가 상기 다중 장치 인클로저 내의 각각의 장치 또는 포트마다 최대 데이터 전송 레이트를 구성하게 하도록 관리자 인터페이스를 더 제공하는
    데이터 전송 레이트 모니터.
  10. 공통 백플레인에 장치를 접속하는 포트를 포함하는 상기 장치를 구비한 다중 장치 인클로저 유닛 내의 장치 또는 포트의 최대 데이터 전송 레이트를 제어하는 방법에 있어서,
    상기 다중 장치 인클로저 유닛의 동작 동안에 소정 간격으로, 모니터링 구성요소에 의해, 상기 다중 장치 인클로저 유닛 내의 장치 또는 포트에 대한 현재의 데이터 전송 레이트를 결정하는 단계와,
    상기 장치 또는 포트에 대한 현재의 데이터 전송 레이트가 상기 장치 또는 포트에 대해 구성된 최대 데이터 전송 레이트를 초과한다고 결정하는 것에 응답하여, 상기 장치 또는 포트로 중지 명령을 전송하는 단계와,
    상기 장치 또는 포트로부터 데이터 전송을 수신하는 것에 응답하여, 현재의 시간 간격 동안에 상기 장치에 의해 전송된 총 데이터 양을 누적하는 누산기에, 상기 데이터 전송시에 상기 장치에 의해 전송된 데이터의 양을 추가하는 단계를 포함하는
    최대 데이터 전송 레이트 제어 방법.
  11. 제 10 항에 있어서,
    상기 방법은 블레이드 시스템의 가상 접속 매니저 내에서 실행되고, 또는
    상기 공통 백플레인은 이더넷 링크를 포함하고, 상기 중지 명령은 이더넷 중지 메시지이며, 상기 이더넷 중지 메시지는 자신이 중지 메시지 및 중지 시간임을 나타내는 유형/길이 필드를 포함하는
    최대 데이터 전송 레이트 제어 방법.
  12. 제 10 항에 있어서,
    n 개의 누산기 중에서 현재의 누산기 참조에 의해 참조된 하나의 누산기에 상기 장치로부터 각각의 수신된 데이터 전송시에 전송된 데이터의 양을 추가하는 단계와,
    각각의 간격으로, 모듈로 n 계산 - n은 1보다 큰 정수임 - 에 의해 상기 현재의 누산기 참조를 증분하고, 상기 증분된 현재의 누산기 참조에 의해 참조된 상기 누산기를 소거하는
    최대 데이터 전송 레이트 제어 방법.
  13. 제 12 항에 있어서,
    Figure 112014018029986-pct00055
    초의 간격으로 상기 모니터링 구성요소를 호출하는 단계를 더 포함하는
    최대 데이터 전송 레이트 제어 방법.
  14. 제 13 항에 있어서,
    상기 장치 또는 포트에 대한 현재의 데이터 전송 레이트를 결정하는 단계는 상기 n 개의 누산기에 저장된 값을 추가하는 단계를 포함하는
    최대 데이터 전송 레이트 제어 방법.
  15. 제 13 항에 있어서,
    상기 장치 또는 포트에 대한 현재의 데이터 전송 레이트를 결정하는 단계는,
    총계를 생성하도록 상기 n 개의 누산기에 저장된 값을 추가하는 단계와,
    상기 총계에
    Figure 112014018029986-pct00056
    을 곱하는 단계를 포함하는
    최대 데이터 전송 레이트 제어 방법.
  16. 제 10 항에 있어서,
    상기 장치 또는 포트에 대한 현재의 데이터 전송 레이트가 로우 임계치 미만일 때, 상기 장치 또는 포트로 중지 명령이 전송되지 않아야 한다는 표시를 배압 변수에 저장하는 단계, 또는
    상기 장치 또는 포트에 대한 현재의 데이터 전송 레이트가 상기 장치 또는 포트에 대해 구성된 상기 최대 데이터 전송 레이트보다 크고 배압 변수에 저장된 값이 중지 명령이 상기 장치 또는 포트로 전송되지 않음을 나타낼 때, 상기 장치 또는 포트로 중지 명령을 전송하고, 중지 명령이 상기 장치 또는 포트로 전송됨을 나타내는 표시를 상기 배압 변수에 저장하는 단계를 더 포함하는
    최대 데이터 전송 레이트 제어 방법.
KR1020107024255A 2008-04-28 2008-04-28 데이터 전송 레이트 모니터 및 최대 데이터 전송 레이트 제어 방법 KR101408390B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/005455 WO2009134219A1 (en) 2008-04-28 2008-04-28 Adjustable server-transmission rates over fixed-speed backplane connections within a multi-server enclosure

Publications (2)

Publication Number Publication Date
KR20100136527A KR20100136527A (ko) 2010-12-28
KR101408390B1 true KR101408390B1 (ko) 2014-06-17

Family

ID=41255269

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107024255A KR101408390B1 (ko) 2008-04-28 2008-04-28 데이터 전송 레이트 모니터 및 최대 데이터 전송 레이트 제어 방법

Country Status (6)

Country Link
US (1) US8903989B2 (ko)
EP (1) EP2272214B8 (ko)
JP (1) JP5400135B2 (ko)
KR (1) KR101408390B1 (ko)
CN (1) CN102017533B (ko)
WO (1) WO2009134219A1 (ko)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0221464D0 (en) * 2002-09-16 2002-10-23 Cambridge Internetworking Ltd Network interface and protocol
GB0304807D0 (en) 2003-03-03 2003-04-09 Cambridge Internetworking Ltd Data protocol
GB0404696D0 (en) 2004-03-02 2004-04-07 Level 5 Networks Ltd Dual driver interface
GB0408868D0 (en) 2004-04-21 2004-05-26 Level 5 Networks Ltd Checking data integrity
GB0408876D0 (en) 2004-04-21 2004-05-26 Level 5 Networks Ltd User-level stack
GB0505297D0 (en) 2005-03-15 2005-04-20 Level 5 Networks Ltd Redirecting instructions
GB0506403D0 (en) * 2005-03-30 2005-05-04 Level 5 Networks Ltd Routing tables
EP3217285B1 (en) * 2005-03-10 2021-04-28 Xilinx, Inc. Transmitting data
GB0505300D0 (en) 2005-03-15 2005-04-20 Level 5 Networks Ltd Transmitting data
US7634584B2 (en) 2005-04-27 2009-12-15 Solarflare Communications, Inc. Packet validation in virtual network interface architecture
WO2006134373A2 (en) 2005-06-15 2006-12-21 Solarflare Communications Incorporated Reception according to a data transfer protocol of data directed to any of a plurality of destination entities
US7984180B2 (en) 2005-10-20 2011-07-19 Solarflare Communications, Inc. Hashing algorithm for network receive filtering
GB0600417D0 (en) 2006-01-10 2006-02-15 Level 5 Networks Inc Virtualisation support
US8116312B2 (en) 2006-02-08 2012-02-14 Solarflare Communications, Inc. Method and apparatus for multicast packet reception
US9948533B2 (en) 2006-07-10 2018-04-17 Solarflare Communitations, Inc. Interrupt management
EP2552080B1 (en) 2006-07-10 2017-05-10 Solarflare Communications Inc Chimney onload implementation of network protocol stack
US9686117B2 (en) 2006-07-10 2017-06-20 Solarflare Communications, Inc. Chimney onload implementation of network protocol stack
GB0621774D0 (en) 2006-11-01 2006-12-13 Level 5 Networks Inc Driver level segmentation
GB0723422D0 (en) 2007-11-29 2008-01-09 Level 5 Networks Inc Virtualised receive side scaling
GB0802126D0 (en) 2008-02-05 2008-03-12 Level 5 Networks Inc Scalable sockets
US8560741B2 (en) * 2008-09-22 2013-10-15 Synopsys, Inc. Data processing system comprising a monitor
GB0823162D0 (en) 2008-12-18 2009-01-28 Solarflare Communications Inc Virtualised Interface Functions
US9256560B2 (en) 2009-07-29 2016-02-09 Solarflare Communications, Inc. Controller integration
US9210140B2 (en) 2009-08-19 2015-12-08 Solarflare Communications, Inc. Remote functionality selection
EP2309680B1 (en) 2009-10-08 2017-07-19 Solarflare Communications Inc Switching API
US8743877B2 (en) 2009-12-21 2014-06-03 Steven L. Pope Header processing engine
KR20110117815A (ko) * 2010-04-22 2011-10-28 삼성전자주식회사 복수 개의 마스터가 존재하는 시스템에서 데이터 트래픽 최적화 방법 및 장치
US10873613B2 (en) 2010-12-09 2020-12-22 Xilinx, Inc. TCP processing for devices
US9258390B2 (en) 2011-07-29 2016-02-09 Solarflare Communications, Inc. Reducing network latency
US9674318B2 (en) 2010-12-09 2017-06-06 Solarflare Communications, Inc. TCP processing for devices
US8996644B2 (en) 2010-12-09 2015-03-31 Solarflare Communications, Inc. Encapsulated accelerator
US9600429B2 (en) 2010-12-09 2017-03-21 Solarflare Communications, Inc. Encapsulated accelerator
US9008113B2 (en) 2010-12-20 2015-04-14 Solarflare Communications, Inc. Mapped FIFO buffering
US9384071B2 (en) 2011-03-31 2016-07-05 Solarflare Communications, Inc. Epoll optimisations
DE102011107092B4 (de) * 2011-07-11 2017-09-14 Fujitsu Ltd. Computersystem, Verfahren zum Starten eines Server-Computers, Server-Computer, Managementstation und Verwendung
US8763018B2 (en) 2011-08-22 2014-06-24 Solarflare Communications, Inc. Modifying application behaviour
EP2574000B1 (en) 2011-09-22 2020-04-08 Xilinx, Inc. Message acceleration
US9391840B2 (en) 2012-05-02 2016-07-12 Solarflare Communications, Inc. Avoiding delayed data
US9391841B2 (en) 2012-07-03 2016-07-12 Solarflare Communications, Inc. Fast linkup arbitration
US10505747B2 (en) 2012-10-16 2019-12-10 Solarflare Communications, Inc. Feed processing
US9426124B2 (en) 2013-04-08 2016-08-23 Solarflare Communications, Inc. Locked down network interface
US10742604B2 (en) 2013-04-08 2020-08-11 Xilinx, Inc. Locked down network interface
EP2809033B1 (en) 2013-05-30 2018-03-21 Solarflare Communications Inc Packet capture in a network
US10394751B2 (en) 2013-11-06 2019-08-27 Solarflare Communications, Inc. Programmed input/output mode
US10044795B2 (en) * 2014-07-11 2018-08-07 Vmware Inc. Methods and apparatus for rack deployments for virtual computing environments
US10740081B2 (en) 2015-06-30 2020-08-11 Vmware, Inc. Methods and apparatus for software lifecycle management of a virtual computing environment
US11316827B2 (en) * 2017-04-24 2022-04-26 Hewlett-Packard Development Company, L.P. Operating mode configuration
EP3461160A1 (en) * 2017-09-26 2019-03-27 Thomson Licensing Method of associating configuration settings with devices in a network and corresponding apparatus
US10901721B2 (en) 2018-09-20 2021-01-26 Vmware, Inc. Methods and apparatus for version aliasing mechanisms and cumulative upgrades for software lifecycle management

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7161907B2 (en) * 2002-03-05 2007-01-09 Sun Microsystems, Inc. System and method for dynamic rate flow control
US7266117B1 (en) * 2002-05-06 2007-09-04 Foundry Networks, Inc. System architecture for very fast ethernet blade

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930160A (en) * 1996-06-22 1999-07-27 Texas Instruments Incorporated Multiply accumulate unit for processing a signal and method of operation
US5978414A (en) 1996-07-03 1999-11-02 Matsushita Electric Industrial Co., Ltd. Transmission rate judging unit
US6445704B1 (en) * 1997-05-02 2002-09-03 Cisco Technology, Inc. Method and apparatus for virtualizing a locally initiated outbound connection from a connection manager
EP0963054A1 (en) * 1998-05-26 1999-12-08 Globalstar L.P. Communications terminal with hybrid battery/capacitor power supply
US6618591B1 (en) * 1999-10-28 2003-09-09 Nokia Mobile Phones Ltd. Mechanism to benefit from min and max bitrates
US7203508B2 (en) * 2001-06-13 2007-04-10 Ntt Docomo, Inc. Mobile communication systems, mobile communication methods, base stations, mobile stations, and signal transmission methods in the mobile communication systems
US7305492B2 (en) 2001-07-06 2007-12-04 Juniper Networks, Inc. Content service aggregation system
US7061866B2 (en) * 2002-01-10 2006-06-13 Intel Corporation Metered packet flow for packet switched networks
US20030152087A1 (en) * 2002-02-11 2003-08-14 Shahoumian Troy Alexander Excess-port switch
CN1245817C (zh) 2002-05-23 2006-03-15 威盛电子股份有限公司 网络传输速率的控制方法及使用该方法的以太网交换机
JP3815423B2 (ja) * 2002-11-07 2006-08-30 ソニー株式会社 送信装置及び送信方法、受信装置及び受信方法、パルス位置検出方法、並びにトラッキング方法
US20040267570A1 (en) * 2003-04-23 2004-12-30 Becker Robert E. Method for information and management system for health care
WO2005010736A1 (en) * 2003-07-30 2005-02-03 Koninklijke Philips Electronics N.V. Flexible power reduction for embedded components
US7564785B2 (en) * 2004-05-21 2009-07-21 Intel Corporation Dynamic flow control support
JP2008512024A (ja) * 2004-08-30 2008-04-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 無線網におけるリンク適応のための方法及びシステム
CN100499389C (zh) * 2004-12-29 2009-06-10 华为技术有限公司 一种主备单板之间传输数据的方法
US20060190484A1 (en) * 2005-02-18 2006-08-24 Cromer Daryl C System and method for client reassignment in blade server
US20060206602A1 (en) * 2005-03-14 2006-09-14 International Business Machines Corporation Network switch link failover in a redundant switch configuration
CN100502322C (zh) * 2005-04-25 2009-06-17 华为技术有限公司 实现流控测试的装置及方法
JP4168059B2 (ja) * 2006-04-10 2008-10-22 株式会社日立コミュニケーションテクノロジー Ponシステムおよび局側装置
JP4669454B2 (ja) * 2006-08-28 2011-04-13 日本電信電話株式会社 データフレーム中継装置、およびデータ通信網における輻輳制御方法
CN1972315A (zh) * 2006-11-28 2007-05-30 曙光信息产业(北京)有限公司 一种应用于刀片服务器usb虚拟媒体系统
US8284665B1 (en) * 2008-01-28 2012-10-09 Juniper Networks, Inc. Flow-based rate limiting

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7161907B2 (en) * 2002-03-05 2007-01-09 Sun Microsystems, Inc. System and method for dynamic rate flow control
US7266117B1 (en) * 2002-05-06 2007-09-04 Foundry Networks, Inc. System architecture for very fast ethernet blade

Also Published As

Publication number Publication date
CN102017533A (zh) 2011-04-13
JP2011519225A (ja) 2011-06-30
EP2272214A1 (en) 2011-01-12
CN102017533B (zh) 2014-06-11
US20110029669A1 (en) 2011-02-03
EP2272214B8 (en) 2016-08-10
US8903989B2 (en) 2014-12-02
EP2272214B1 (en) 2016-06-01
EP2272214A4 (en) 2013-09-11
JP5400135B2 (ja) 2014-01-29
KR20100136527A (ko) 2010-12-28
WO2009134219A1 (en) 2009-11-05

Similar Documents

Publication Publication Date Title
KR101408390B1 (ko) 데이터 전송 레이트 모니터 및 최대 데이터 전송 레이트 제어 방법
KR102304678B1 (ko) 베이스보드 관리 컨트롤러(BMC)를 사용하여 NVMe-oF 디바이스를 구성하는 시스템 및 방법
US6988161B2 (en) Multiple port allocation and configurations for different port operation modes on a host
US6389432B1 (en) Intelligent virtual volume access
US8493857B2 (en) Multiple logical channels for use in network devices
US8619809B2 (en) Method, system, and program for managing a speed at which data is transmitted between network adaptors
US20030061367A1 (en) Mechanism for preventing unnecessary timeouts and retries for service requests in a cluster
US8977733B1 (en) Configuring host network parameters without powering on a host server
US6304900B1 (en) Data processing system and method for permitting a server computer system to remotely modify operation of a client system's network hardware
US8155022B1 (en) Method and system for controlling power consumption in network nodes
US8441929B1 (en) Method and system for monitoring a network link in network systems
US8095862B2 (en) End-to-end cyclic redundancy check protection for high integrity fiber transfers
Cisco IBM Channel Attach Commands
Cisco PQUICC_ETHERNET through RESOURCE_MON
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco Configuring Frame Relay
KR20220147627A (ko) 저장 영역 네트워크에서의 호스트 개시 링크 재설정
US9003038B1 (en) Systems and methods for bandwidth scavenging among a plurality of applications in a network
US7539711B1 (en) Streaming video data with fast-forward and no-fast-forward portions

Legal Events

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

Payment date: 20180601

Year of fee payment: 5