KR100407039B1 - 서비스 품질 보증을 지원하기 위한 버퍼 관리 방법과데이터 교환시의 데이터 흐름 제어 방법 - Google Patents
서비스 품질 보증을 지원하기 위한 버퍼 관리 방법과데이터 교환시의 데이터 흐름 제어 방법 Download PDFInfo
- Publication number
- KR100407039B1 KR100407039B1 KR10-2001-0059077A KR20010059077A KR100407039B1 KR 100407039 B1 KR100407039 B1 KR 100407039B1 KR 20010059077 A KR20010059077 A KR 20010059077A KR 100407039 B1 KR100407039 B1 KR 100407039B1
- Authority
- KR
- South Korea
- Prior art keywords
- pdu
- data
- network node
- pdus
- processing
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9078—Intermediate storage in different physical parts of a node or terminal using an external memory or storage device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/266—Stopping or restarting the source, e.g. X-on or X-off
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
데이터 교환 노드에서 PDU(Protocol Data Units)를 교환시 공유 메모리 자원을 이용하는 방법이 개시된다. 이 방법은 그 처리를 위해 큐잉에 앞서 PDU들을 기억하기 위한 임시 메모리 기억부와, QoS 보증을 지원하기 위한 CoS 메모리 기억부와, 비블록킹 입력 포트의 흐름 제어를 인에이블시키는 공유 메모리-풀 부 및 입력 포트 메모리 기억부를 예약하는 단계를 포함하고 있다. PDU 다음의 헤더들이 각각의 PDU의 수신에 이어 검사될 때까지는 PDU의 폐기 결정을 지연시키는 규정이 마련된다. 입력 포트를 통해 전달되는 체계적으로 동작하는 데이터 흐름이 데이터 교환 노드의 다른 입력 포트를 통해 전달되는 오동작 데이터 흐름으로 인해 블록킹되는 것을 방지하기 위한 규정이 마련된다. PDU의 폐기에 동일하게 적용될 수 있는 메모리 관리 기법과, 메모리 기억의 필요 조건을 감소시키면서 상기 메모리 관리 기법을 구현하는 데이터 네트워크 노드에서의 PDU를 폐기시키는 사례를 줄이기 위한 흐름 제어 환경으로부터 본 발명의 여러 이점들이 얻어진다
Description
본 발명은 데이터 전송 네트워크에서의 데이터 교환에 관한 것으로, 특히 데이터 교환 노드에서의 메모리 기억 자원을 관리하는 개선된 방법에 관한 것이다.
데이터 교환 분야에서, 데이터 전송 네트워크에 관여하는 데이터 교환 노드의 성능은 극히 중요한 문제이다.
데이터 전송 서비스의 제공시, 데이터는 사용되는 데이터 전송 프로토콜에 의해 특정되는 대로 데이터 네트워크 노드들 간에 전달된다. 데이터의 바디는 통상 소스 데이터 네트워크 노드에 의해 생성되고, 데이터 교환 장비에 의해 데이터 전송 네트워크를 통해 관련 상호 접속 데이터 전송 링크를 경유하여 목적지 데이터 네트워크 노드쪽으로 보내진다. 데이터는 상응하는 데이터 전송 프로토콜 사양대로 PDU(Protocol Data Unit) 혹은 PDU들(Payload Data Units)로 요약화된다.
적어도 하나의 데이터 전송 프로토콜에 따라, 전달되는 데이터는 루팅 정보와 함께 PDU들로 요약화된다. PDU들은 셀, 프레임, 패킷 등을 포함하고 있지만, 여기에 국한되는 것은 아니다. 각각의 PDU는 크기를 갖고 있으며, 셀들이 고정된 크기를 갖는데 비해, 프레임과 패킷들은 크기가 변경될 수 있다.
각각의 PDU는 운반될 데이터의 바디의 적어도 일부를 유지하고 있는 페이로드부와; 루팅 정보, PDU 처리 파라미터 등을 유지하고 있는 헤더부를 포함하고 있다. 헤더 정보의 적어도 일부는 목적지 데이터 네트워크 노드쪽으로 PDU들을 포워드하게 될 루트를 결정하기 위해 전송로를 따라 각각의 데이터 스위칭 노드에서 참고된다. PDU는 멀티케스트 데이터 트래픽의 경우처럼 목적지 데이터 네트워크 노드군쪽으로 포워드될 수 있다.
헤더 정보는 상세히 기술해 보면, PDU 타입, PDU의 크기, 페이로드의 크기, 헤더의 크기와 구조, 소스 데이터 네트워크 노드, 목적지 데이터 네트워크 노드, 및 우선 순위, CoS(서비스 등급) 등과 같은 상기 PDU를 처리하는데 있어서의 기타특수 명령어들인 규칙자(specifiers)를 포함하고 있다.
데이터 전송 네트워크의 관점에서 보면, 데이터는 데이터 네트워크 노드들 간에 데이터 전송 세션의 지속 기간 동안 데이터 전송 네트워크 홉 단위(hop-by-hop)로 운반된다. PDU들은 데이터 교환 노드들에 의해 이 노드에 접속되어 있는 데이터 전송 링크를 경유하여 수신되며, 의도된 목적지쪽으로 PDU들을 운반하게될 데이터 전송 링크를 결정하기 위한 처리가 수행된다.
데이터 교환 노드의 관점에서 보면, 데이터 교환 노드는 입력 포트와 출력 포트간에 PDU들을 보내게 되는 다중 포트화된(multi-ported) 데이터 네트워크 노드이다. PDU들의 포워딩은 데이터 교환 노드의 교환 기능을 나타내는 것이다. 데이터 교환 노드의 기본적인 동작은 적어도 하나의 PDU를 수신하고, 적절한 출력 포트가 결정되는 동안 메모리 기억 장치에 PDU를 기억시키고, 출력 포트를 결정하고, 전송을 위해 PDU의 스케쥴링을 행하고, 결정된 출력 포트를 통해 PDU를 전송하는 동작을 포함하고 있다. 데이터 전송 분야에서 이러한 동작은 데이터 교환 노드의 동작에 대한 "기억 및 포워드" 방법으로 알려져 있다. 데이터 교환 노드의 동작은 개념적으로 간단하기는 하지만, 이러한 장치를 구현하는 것은 쉬운 일이 아니다.
메모리 기억 장치 내에 PDU들을 기억하면 입력 포트, 출력 포트와 같은 속도 매칭 기능과, 상이한 데이터 처리 속도로 동작하는 교환 기능을 제공하게 된다. 이러한 이유로 메모리 기억 장치는 메모리 버퍼로도 알려져 있다.
메모리 기억 장치 내에 PDU들을 기억하면, 데이터 흐름의 통계(통계 생성 기능)를 수집할 수 있으므로 데이터 전송 자원의 사용을 단속하고자하는 경우에 데이터 흐름을 통제하는 것을 지원할 수도 있다.
메모리 기억 장치 자체는 한정된 사이즈를 갖는 관계로 PDU의 처리시 제한된 자원을 나타내게 된다. 만일 PDU가 데이터 교환 노드에 도달하고 메모리 기억 장치의 자원이 고갈되면, PDU는 폐기될 것이다. 효율적인 데이터 전송은 PDU가 폐기되는 경우를 최소화하는 것이다.
하나의 해결책은 교환 노드에 이용될 수 있는 메모리 기억 장치의 자원의 크기를 증가시키는 것이다. 메모리 기억 장치 자원의 크기를 증가시키면 데이터 교환 노드의 설계가 복잡해지고, 개발 비용, 부품 비용, 그리고 관리 비용 등이 증가하게 된다. 데이터 교환 분야에서 추진되고 있는 경향은 이제까지 데이터 처리량을 증가시키는 경우 요구되고 있는 것과 같은, 데이터 흐름에 부과될 QoS(Quality-of-Service)의 필요 조건들을 보다 엄격하게 요구하고 있다. 데이터 교환 노드에서 메모리 기억 장치의 자원을 증가시키는 것은 단기적인 해결 방안이다.
PDU가 폐기되는 상황이 발생하는 것을 줄이기 위한 시도로, 데이터 흐름의 통제를 달성하기 위해 데이터 교환 노드를 적절히 변경시키고 있었다. 그러한 것으로서는, 데이터 교환 노드의 통계 수집 기능이 관련 데이터 흐름에 따라 PDU를 분류하는데 이용되고 있다. 데이터 흐름은 특정의 집행 가능한 데이터 흐름 파라미터에 따라 전달된다. PDU의 포워드나, 폐기 혹은 데이터 교환 노드에서 데이터 흐름을 조절할 지를 결정하기 위해 휴리스틱 기법(Heuristics)이 이용된다.
PDU 포워딩 룰의 일례는 PDU는 체계적으로 움직이는(well-behaved) 데이터 흐름으로부터는 폐기되어서는 안될 것을 특정하고 있다. 메모리 기억 장치 자원을독점하는 데이터 흐름은 오동작하는 것으로 고려된다.
통상적인 데이터 교환 노드의 설계는 전달되는 모든 데이터 흐름에 대해 공유 메모리 버퍼를 사용하는 것을 포함하고 있다. 이러한 배치(arrangemment)를 당해 분야에서는 공유 메모리 교환 아키텍쳐라고 한다.
공유 메모리 버퍼를 사용하면, 상기한 방식의 설계는 당해 분야에서 블록킹으로 알려져 있는 현상을 일으킬 수 있다는 사실로 인해 체계적으로 움직이는 데이터 흐름과 관련하여 PDU를 폐기하지 않도록 하는 필요 조건의 수행을 곤란하게 만들 수 있다.
블록킹 상태는, 하나의 특정 데이터 흐름이 이용 가능한 모든 공유 메모리 자원을 이용하는 경우, 그리고 데이터 교환 노드가 유입 PDU들을 폐기하도록 강제되는 경우 나타나게 되며, 체계적으로 동작하는 데이터 흐름과 관련된 PDU들을 포함하고 있다.
흐름의 제어가 입력 포트에 대해 인에이블되고, PDU가 제한된 메모리 기억 장치 자원을 갖는 데이터 교환 노드에 도달하는 경우, 수신 입력 포트는 흐름 제어 중지 명령 메시지 업스트림을 발행하도록 지시 받게 되므로, 데이터 교환 노드의 데이터 네트워크 노드 업스트림은 데이터 전송을 일시 중지하게 된다.
예를 들어, 1998년의 IEEE 표준 802.3의 부속 서류 31A에 입각한 강제 규정인 흐름 제어의 현재 사양에 따르면, 흐름 제어를 초래하는 입력 포트를 경유하여 데이터를 전달하는 모든 데이터 흐름은 데이터 전송을 일시 중지시키도록 영향을 받고 또한 요구받으며, 체계적으로 동작하는 데이터 흐름을 포함하고 있다.
QoS 지원시, PDU들은 PDU 헤더들에 특정되어 있는 CoS(Class-of-Service)/포워딩 우선 순위에 관해서도 특성을 나타낸다. 데이터 교환 노드에서도 강제되는 QoS 보증은, 흐름 제어의 현재 사양에 대한 중지 명령을 사용하는 것이 모든 데이터 흐름으로 하여금 체계적으로 동작하는 데이터 흐름을 포함한 전송을 중지시키도록 할 수 있기 때문에 제어 흐름이 활성인 경우에는 보장될 수 없다. 따라서 흐름 제어는 QoS를 보장하는 것과는 본래 거리가 있다.
PDU 포워딩 룰의 또 다른 예로서, PDU들은 높은 포워딩 우선 순위를 갖는 데이터 흐름으로부터는 폐기되어서는 안된다. 공유 메모리 버퍼 자원을 취하는 낮은 포워딩 우선 순위의 PDU들 때문에, 정체된 데이터 교환 노드에 도달하는 높은 포워딩 우선 순위의 PDU들이 폐기될 수도 있다는 점에서, 높은 포워딩 우선 순위를 갖는 데이터 흐름의 경우, 체계적으로 동작하는 데이터 흐름에 대해 설명한 바와 같은, 유사한 문제가 존재할 수 있다.
1992년에 공개된 D. Bertsekas와 R. Gallager에 의해 공개된 "데이터 네트워크" 2판 496 - 498 페이지의 종래 기술은 공유 버퍼 공간의 배분을 통해 버퍼 관리를 구현하는 이론적 방법을 설명하고 있다. 여기서 소개되고 있는 접근법은 전체 공유 버퍼 공간을 다수의 예약 영역과 하나의 공유 풀(pool)로 분할하는 것이다. 예약 영역들은 각각의 데이터 흐름이나 CoS에 대한 소량의 버퍼 공간을 보장하게 되므로, 정체 상태 하에서도, 체계적으로 동작하는 흐름은 보증된 버퍼 공간을 갖게 된다.
소개된 방법이 버퍼 관리의 이론적 방법을 제공하고는 있지만, 실제로는 일단 공유 버퍼 공간이 채워지면, 모든 데이터 흐름이 정체될 수도 있다. 이론에서는 일단 공유 버퍼 공간이 채워지면, 다음 PDU를 전달하기 위한 데이터 흐름은 아마도 오동작하는 데이터 흐름이 될 것이고, 이에 따라 흐름 제어로 들어가는 것을 가정하고 있는 것이다. 실제로는 체계적으로 동작하는 데이터 흐름은 데이터 처리 레벨을 특정하는 서비스 레벨의 일치시 혹은 그 레벨 밑에서 데이터를 전달하게 되며, 많은 경우에 있어서, 오동작하는 데이터 흐름보다 더 큰 처리량을 가질 수도 있다. 체계적으로 동작하는 데이터 흐름을 포함한, 데이터 교환 노드를 통해 전달되는 모든 데이터 흐름은, 공유 버퍼 공간이 소모됨에 따라, 처리량에 변화를 겪게 되고, 비록 소량이라도 데이터 처리량에서의 변화는 체계적으로 동작하는 데이터 흐름을 흐름 제어에 대해 치명적으로 노출시킨다.
따라서, 블록킹이 발생하는 사례를 최저 발생 레벨로 감소시키기 위한 방법과 데이터 교환 아키텍처가 요구된다.
도 1은 본 발명의 바람직한 실시예에 따른 분할된 공유 메모리 버퍼를 나타내는 개략도.
도 2는 본 발명의 바람직한 실시예에 따른 데이터 교환 노드에 의해 수행되는 PDU 수신 서브프로세스의 처리 단계를 나타내는 흐름도.
도 3은 본 발명의 바람직한 실시예에 따른 데이터 교환 노드에 의해 수행되는 큐잉 서브프로세스의 처리 단계를 나타내는 흐름도.
도 4는 본 발명의 바람직한 실시예에 따른 데이터 교환 노드에 의해 수행되는 흐름 제어 서브프로세스의 처리 단계를 나타내는 흐름도.
도 5는 본 발명의 바람직한 실시예에 따른 데이터 교환 노드에 의해 수행되는 교환 서브프로세스의 처리 단계를 나타내는 흐름도.
도 6은 본 발명의 바람직한 실시예에 따른 데이터 교환 노드에 의해 수행되는 전송 서브프로세스의 처리 단계를 나타내는 흐름도.
도 7은 본 발명의 바람직한 실시예에 따른 데이터 교환 노드에 의해 수행되는 디큐잉(dequeuing) 서브프로세스의 처리 단계를 나타내는 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
100 : 공유 메모리 버퍼
102 : 예약 임시 메모리 기억부
104 : PDU 큐잉 메모리 기억부
106 : 예약 CoS PDU 큐잉 메모리 기억부
108 : 예약 CoS PDU 처리 큐
110 : 공유 메모리-풀 부
112 : 예약된 입력 포트 메모리 기억부
114 : 예약 입력 포트 PDU 처리 큐
116 : 관련 하위 워터마크 레벨 (LW)
118 : 상위 워터마크 점유 레벨 (HW)
본 발명의 양상에 따르면, 복수의 데이터 포트간에 데이터 네트워크 노드 교환 프로토콜 데이터 유닛들(PDU)이 제공된다. 각각의 PDU는 헤더 정보를 기억하는 헤더와, 적어도 전달될 데이터의 일부를 기억하는 페이로드를 갖고 있다. 데이터 네트워크 노드는 프로세서 교환 PDU들과 공유 메모리 버퍼를 포함한다. 공유 메모리 버퍼는 예약 임시 메모리 기억부와 PDU 큐잉 메모리 기억부로 분할된다. 임시 메모리 기억부는, 큐잉에 앞서 헤더 정보의 예비 검사가 미해결 동안, 복수의 데이터 포트의 입력 포트를 통해 수신되는 PDU들을 유지하고 있다. PDU 큐잉 메모리 기억부는 복수의 데이터 포트 중에서 PDU들이 스위치될 출력 포트 결정시 처리 중인 미해결의 PDU들을 유지하고 있다. 이러한 방식은 그 큐잉에 앞서 오동작하는 데이터 흐름과 관련된 PDU들 중에서 체계적으로 동작하는 데이터 흐름과 관련된 PDU들을 식별할 수 있도록 함으로써 데이터 네트워크 노드에서 PDU가 폐기되는 경우를 감소시킨다.
본 발명의 또 다른 양상에 따르면, PDU 큐잉 메모리 기억부는 CoS PDU 큐잉부를 더 포함하고 있다. CoS PDU 큐잉부는, 복수의 예약 CoS 처리 큐로 다시 나누어진다. 각각의 CoS 처리 큐는 처리가 미해결 동안, QoS 보장을 위한 지원 제공시 데이터 네트워크 노드에서 지원되는 복수의 CoS 중 하나와 관련된 PDU들을 유지하고 있으며, 데이터 네트워크 노드에서의 데이터 흐름에 대한 최소한의 메모리 기억 자원을 이용할 수 있도록 보장해준다.
본 발명의 또 다른 양상에 따르면, PDU 큐잉 메모리 기억부는 공유 메모리-풀 부를 더 포함하고 있다. 공유 메모리-풀 부는, 처리가 미해결 동안, QoS 보장 제공시의 예약 데이터 속도 이상의 데이터 속도로 PDU들을 전달하는 데이터 흐름과 관련된 PDU들을 유지하고 있다.
본 발명의 또 다른 양상에 따르면, PDU 큐잉 메모리 기억부는 입력 포트 PDU 큐잉 부를 더 포함하고 있다. 입력 포트 PDU 큐잉 부는 복수의 예약 입력 포트 처리 큐로 다시 나누어진다. 각각의 입력 포트 처리 큐는, 처리가 미결인 동안, 데이터 네트워크 노드의 다수의 입력 데이터 포트 중 하나와 관련된 PDU들을 유지하고 있다. 복수의 입력 포트 처리 큐 각각은 해당되는 입력 포트를 통해 PDU들을 전달하는 데이터 흐름과 관련된 PDU들에 대한 부가적인 기억 장소를 제공한다. 블록킹에 대한 보호책은 다른 정체된 입력 포트를 통해 전달되는 오동작 데이터 흐름으로부터 입력 포트들을 통해 전달되는 데이터 흐름을 위해 제공된다.
본 발명의 또 다른 양상에 따르면, 데이터 네트워크 노드에서 PDU들을 처리하는 방법이 제공된다. 이 방법은 처리를 위한 큐잉에 앞서 데이터 네트워크 노드의 공유 메모리 버퍼의 예약된 임시 메모리 기억부에 수신된 PDU들을 일시 기억하는 단계를 포함하고 있다. 처리를 위한 큐잉에 앞서 임시 메모리 기억부에 수신된 PDU를 기억하면 헤더 검사를 인에이블시켜 PDU들의 폐기에 관한 적격 판정을 행할 수 있다.
본 발명의 또 다른 양상에 따르면, PDU들을 처리하는 방법은 추출된 헤더 정보에 유지되고 있는 CoS 사양에 따라 상응하는 CoS 처리 큐에 수신된 PDU들을 큐잉하는 것이다. CoS 처리 큐의 사용은 데이터 네트워크 노드에서의 데이터 흐름에 대한 최소한의 데이터 처리량을 보장해준다.
본 발명의 또 다른 양상에 따르면, PDU들을 처리하는 방법은 PDU들이 각각 수신되고 있는 입력 포트에 대응하고 있는 상응하는 입력 포트 처리 큐들에 수신된 PDU들을 큐잉시킨다. 입력 포트 처리 큐의 사용은 CoS PDU 큐잉 메모리 기억 자원으로 이루어지는 것이며, 공유 메모리-풀 부는 고갈되어 오동작하는 데이터 흐름이데이터 네트워크 노드에서의 메모리 기억 자원을 독점하는 것을 제한하게 된다. 이러한 방식은 입력 포트를 거쳐 전달되는 체계적으로 동작하는 데이터 흐름이 다른 입력 데이터 포트를 거쳐 전달되는 오동작하는 데이터 흐름으로 인해 블록킹되는 것을 방지한다.
본 발명의 여러 이점은 PDU 폐기에 동일하게 적용될 수 있는 버퍼 관리 기법과, 메모리 기억 장치의 필요 조건을 감소시키면서 블록킹이 발생하는 경우를 최소화시키는 흐름 제어 환경, 이들 두 케이스로부터 얻어지는 것이다. PDU 이후의 헤더들이 검사되기까지 PDU 폐기 결정을 지연시키기 위한 규정이 제공된다. 체계적으로 동작하는 데이터 흐름을 감당하는 입력 포트들이 차단(blocking)되는 것을 보호하기 위해 가능한 오래 동안 PDU 폐기 결정을 지연시키는 규정이 더 제공된다. 본 발명은 그 구현시 최소한의 메모리 기억 자원을 이용하는 방법을 제공한다.
<실시예>
본 발명의 특징과 그 이점은 첨부 도면을 참조한 바람직한 실시예의 상세한 기재로부터 보다 명확해진다.
당해 분야에서의 다양한 시도는 블록킹의 사례를 초래하는 데이터 교환 노드에서의 정체 상태를 유발하는 것이 아마도 "베스트 에포트" 데이터 트래픽임을 보여주고 있다. 데이터 교환 노드에서의 블록킹의 사례를 감소시키는 해결책으로서 메모리 기억 장치의 크기를 증가시키는 것은 불필요한 추가 비용과 단기간 이득에 대해 복잡한 문제를 유발시키는 것으로 나타나고 있다.
본 발명에 따르면, 데이터 교환 노드에서 PDU 폐기 사례를 최소화하는 해결책이, 그러한 사례가 드물다고 하는 가정하에, 메모리 기억 자원의 지능적 관리가 장기간 해결책이 된다는 것을 조건으로 하여 제공된다. 블록킹으로부터 체계적으로 동작하는 데이터 흐름을 보호하기 위해, PDU를 폐기하는 사례는 아마도 베스트 에포트 데이터 트래픽과 관련될 것이다.
도 1은 본 발명의 바람직한 실시예에 따른 데이터 교환 노드에 의해 사용되는 분할된 공유 메모리 버퍼를 나타내는 개략도이다.
동작시, PDU가 데이터 교환 노드(도시 생략)에서 수신됨에 따라, 그 헤더 정보는 CoS 및/또는 관련 포워딩 우선 순위 등과 같은 관련 PDU 처리를 결정하기 위해 아직 검사되지는 않는다. 본 발명에 따르면, PDU를 드롭(drop) 할지의 결정은 적어도 헤더 정보가 데이터 교환 노드의 정체 상태에 상관없이 검사될 때 까지는 연기된다.
공유 메모리 버퍼(100)는, 바람직한 메모리 관리 기법에 따라, 예약 임시 메모리 기억부(102)와 PDU 큐잉 메모리 기억부(104)로 나누어진다. 임시 메모리 기억부(102)는 그 검사에 앞서 수신된 PDU들을 기억하는데 사용된다.
임시 메모리 기억부(102)의 크기는 데이터 교환 노드의 의도된 PDU 처리 속도로 유입 PDU들에 대한 기억 장소를 제공하도록 설계될 수 있다. 이러한 메모리 기억부의 필요한 메모리 크기에 대한 상위 바운드는 계산될 수 있는 것이며, 이에 따라 이 메모리 기억 자원은 결코 낭비되지 않는다.
본 발명의 또 다른 양상에 따르면, 데이터 교환 노드의 N개의 입력 포트 중적어도 하나가 조정 가능한 속도로의 전송을 위해 적절히 조절되며, 임시 메모리 기억부(102)의 크기가 이에 부합하여 수정될 수 있으므로, 데이터 교환 노드에서의 메모리 기억 자원을 최적으로 이용할 수 있게 된다.
임시 메모리 기억부(102)의 크기는 데이터 교환 노드와 관련된 관리 콘솔, 이 데이터 교환 노드의 재구성에 따라 행해지는 테이블 룩업 액세스, 상위 레벨 프로토콜 등을 통해, 본 발명의 취지를 벗어나지 않으면서 수동으로 수정될 수도 있다.
임시 메모리 기억부(102)에 기억된 PDU들을 검사하는 경우, 헤더 정보가 그 기억부로부터 추출되며, 헤더 정보는 PDU가 수신되는 입력 포트 목적지, 국한되는 것은 아니지만, CoS 및/또는 PDU의 처리시 사용될 포워딩 우선 순위, 목적지 데이터 네트워크 노드 식별자, PDU의 크기, PDU에 의해 전달되는 페이로드의 크기 등과 같은 PDU 처리에 필요한 취급 사항(processing treatments)을 포함하고 있다.
본 발명은 앞서 기술한 추출된 헤더 정보의 처리에만 국한되는 것은 아니며; 당해 분야의 숙련된 자라면, 본 발명의 취지를 벗어나지 않으면서, 다양한 파라미터들을 헤더 정보로부터 추출하여 데이터 교환 노드에서 PDU의 처리시 필요에 따라 이용할 수 있다는 것을 인식할 것이다.
바람직한 PDU 교환 처리의 상세를 나타내는 서브 프로세스가 도 2를 참조하여 본 명세서에서 소개되고 있으며, 이러한 처리는 유입 PDU들에 적용된다.
상기한 바람직한 메모리 관리 방식에 따르면, PDU 큐잉 메모리 기억부(104)는 예약 CoS PDU 큐잉 메모리 기억부(106)를 포함하고 있다.
CoS PDU 큐잉부(106)는 예약 CoS PDU 처리 큐(108)를 정의하는 부분으로 더 나누어지며; 각각의 CoS 처리 큐(108)는 데이터 교환 노드에서 지원되는 M개의 CoS 중 대응하는 하나와 연관되어 있다.
본 발명의 구현에 따르면, CoS와 관련되지 않은 데이터 흐름은 베스트 에포트 트래픽으로서 디폴트로 분류되고, CoS 처리 큐(108) 예를 들어, MthCoS 처리 큐(108)를 통해 처리된다.
헤더 정보의 추출에 이어, 임시 메모리 기억부(102)에 기억된 PDU들은 메모리 기억 공간이 이용가능한 상태라면 대응하는 CoS 처리 큐(108)와 관련된다. 각각의 CoS 처리 큐(108)는 데이터 교환 노드에서 지원되는 대응하는 CoS와 관련된 데이터 처리량을 수용하도록 설정된 관련 메모리 크기를 갖는다.
각각의 데이터 흐름이 관련 CoS를 가짐에 따라, 그 흐름은 데이터 전송부와도 연관된다. 각각의 데이터 전송부는 시간의 주기로 정의된다. 데이터 교환 노드에서의 메모리 자원의 효율적인 사용은 주의 깊은 배분(allotment)을 요구하고 있다. CoS 처리 큐(108)의 메모리 크기가 조정될 수 있는 방식은 국한되는 것은 아니지만, 데이터 교환 노드와 관련된 관리 콘솔의 사용과, QoS 보장을 강제하는 상위 레벨 프로토콜 등을 포함하고 있다.
QoS 보장에 따라 전달되는 데이터 흐름은 미리 정의된 최소의, 유지 가능한 최대 전송 데이터 속도를 갖는다. 통상 데이터 전송부의 구성에 대해, 데이터 교환 노드는 메모리 자원을 포함한 자원들을 예약하며, 최소한의 보장된 전송 데이터속도 사양에 따라, 어떠한 환경하에서나 처리량을 보장할 수 있다. 최대 데이터 전송 속도는 단기간 데이터 버스트 크기 제한을 특정하고 있으며, 유지 가능한 데이터 전송 속도는 자원의 이용가능성을 추정하는 장기간 최대 전송 속도를 나타낸다. 데이터 흐름은 체계적으로 동작하는 것으로 생각되지만, CoS 처리 큐(108) 예약부 이외에 메모리 기억 자원의 이용을 필요로 할 수도 있는 유지가능한 전송 속도나 혹은 그 이하의 속도로 전송된다.
CoS 처리 큐(108)의 예약은 데이터 교환 노드에서의 정체 상태의 원인이 되는 낮은 포워딩 우선 순위나 베스트 에포트 PDU들로 하여금 이용가능한 전체 메모리 기억 자원을 독점할 수 없도록 한다. CoS 처리 큐(108)를 통한 베스트 에포트 데이터 트랙픽의 처리는 이 처리에 할당되는 처리량이 최저가 되도록 해준다.
본 발명의 바람직한 구현에 따르면, CoS 처리 큐(108)에 기억된 PDU들은 그 나름대로 분류되고 있다. PDU들을 분류하는 다양한 방법이 CoS 처리 큐(108)에 기억되는 PDU와 그 각각이 연관되는 CoS 처리 큐 기억 비트의 바람직한 이용과 표명(assertion)을 포함하여 본 발명의 취지를 벗어나지 않으면서 이용될 수도 있다.
상기한 바람직한 메모리 관리 기법에 따르면, PDU 큐잉 부(104)는 공유 메모리-풀 부(110)를 더 포함하고 있다.
공유 메모리-풀 부(110)는 CoS 처리 큐(108)의 개별적인 점유 레벨이 각각의 메모리 할당을 초과함에 따라 오버플로우로서 사용된다.
본 발명의 또 다른 구현에 따르면, 베스트 에포트 데이터 트래픽은 CoS 처리큐(108)에 대해 예약된 자원들을 사용하지 않고 공유 메모리-풀 부(110)를 통해 주로 처리된다.
상기한 바람직한 메모리 관리 기법에 따르면, PDU 큐잉 메모리 기억부(104)는 예약된 입력 포트 메모리 기억부(112)를 더 포함한다. 입력 포트 메모리 기억부(112)는 예약 입력 포트 PDU 처리 큐(114)로 분할되며, 입력 포트 처리 큐(114)는 데이터 교환 노드의 N개의 입력 포트 중 각각에 대한 것이다. CoS 처리 큐(108)와 마찬가지로, 입력 포트 처리 큐(114)는 입력 포트를 통해 전달되는 체계적으로 동작하는 데이터 트래픽 흐름이 또다른 입력 포트를 통해 전달되는 오동작 데이터 트래픽 흐름으로 인해 차단되는 것을 방지한다.
입력 포트 처리 큐(114)는 공유 메모리-풀 부(108)가 사용됨에 따라 오버플로우 메모리 기억 공간으로 사용된다.
각각의 입력 포트 처리 큐(114)는 관련된 메모리 크기를 갖는다. 각각의 입력 포트 처리 큐(114)의 메모리 크기는 데이터 교환 노드에서의 PDU 폐기 사례를 최소화하도록 수정될 수 있다. 메모리 크기의 수정은 데이터 교환 노드와 관련된 관리 콘솔, 이 데이터 교환 노드에서의 흐름 제어를 강제하는 상위 레벨 프로토콜, QoS 보장을 강제하는 상위 레벨 프로토콜 등을 통해 수동으로 실행될 수도 있다.
입력 포트 처리 큐(114)가 채워짐에 따라, 대응하는 입력 포트를 통해 전달되는 데이터 흐름과 관련하여 연속적으로 도달하는 PDU들만이 다른 입력 포트들이 블록킹 상태를 겪는 것을 방지하기 위해 폐기된다.
흐름 제어의 제공시, 각각의 입력 포트 처리 큐(114)는 관련 하위 워터마크레벨(LW)(116)과 상위 워터마크 점유 레벨(HW)(118)을 갖는다. 이하, 데이터 흐름 제어를 실행하는 방법을 도 4를 참조하여 설명한다.
본 발명의 바람직한 실시예에 따르면, 공유 메모리 버퍼(100)의 분할은 가상적인 것(virtual)이며, 메모리 크기 레지스터와, 얼마나 많은 메모리 기억 공간이 각각의 처리 큐와 임시 메모리 기억 부(102)에 언제라도 할당되는 지를 나타내는 메모리 할당 카운터를 통해 유지된다. 공유 메모리-풀 부(110)의 크기는 공유 메모리 버퍼(100)의 리마인더를 만회한다.
일단 공유 메모리 버퍼(100)에 기억되면, PDU들은 임시 메모리 기억부(102)와 연관되며, 이 임시 메모리 기억부(102)에 기억되는 PDU들로 갱신되는 상기한 메모리 할당 카운터를 통한 다양한 처리 큐가 공유 메모리-풀 부(110)와 PDU 큐잉 메모리 기억부(104)와 연관된다.
도 2는 본 발명의 바람직한 실시예에 따른, 입력 포트를 통한 PDU 수신시 데이터 교환 노드에 의해 수행되는 처리 단계를 나타내는 흐름도이다.
PDU는 단계 202에서 입력 포트를 통해 수신되고, 임시 메모리 기억부(102)내 공유 메모리 버퍼(100)의 일부가 PDU를 위해 예약되고 (단계 204), 그 PDU가 버퍼 내에 기억된다 (단계 206). 기억된 PDU는 헤더 정보의 추출을 위해 단계 208에서 검사된다. CoS 사양 및/또는 PDU와 관련된 포워딩 우선 순위 사양 등과 같은 PDU 취급이 단계 210에서 결정된다. PDU 처리는 PDU의 큐잉과 함께 계속된다.
도 3은 본 발명의 바람직한 실시예에 따른 수신 PDU의 큐잉시 데이터 교환 노드에 의해 수행되는 처리 단계를 나타내는 흐름도이다.
수신된 PDU의 큐잉시, 처리는 대응하는 CoS 처리 큐가 풀(full) 상태인지를 체크한다 (단계 302).
대응하는 CoS 처리 큐(108)가 풀이 아니면, 이어서 메모리 기억 공간이 예약되고 (단계 304), PDU가 CoS 처리 큐(108)에 기억된다 (단계 306). 단계 308에서, PDU가 대응하는 CoS 처리 큐(108)에 기억됨에 따라, PDU는 나름대로 PDU와 관련된 CoS 처리 큐 기억 비트를 표명함으로써 구별된다. 임시 메모리 기억부(102)에 사용되는 대응하는 기억 공간은 임시 메모리 기억부(102)로 복귀된다 (단계 316).
만일 단계 302에서, 대응하는 CoS 처리 큐가 풀이라면, 이어서 처리는 공유 메모리-풀 부(110)에 이용가능한 기억 공간이 있는지를 체크한다 (단계 310).
공유 메모리-풀 부(110)에 이용가능한 메모리 기억 공간이 있다면, 공유 메모리-풀 부(110)에 메모리 기억 공간을 예약하고 (단계 312), 공유 메모리-풀 부에 PDU를 기억하며 (단계 314), 유지되고 있는 임시 메모리 기억 공간을 임시 메모리 기억부(102)로 복귀시킴으로써 (단계 316) 처리가 계속된다. 이 처리는 PDU의 교환과 함께 지속된다.
도 4는 본 발명의 바람직한 실시예에 따른 흐름 제어시 데이터 교환 노드에 의해 수행되는 처리 단계를 나타내는 흐름도이다.
단계 310에서 공유 메모리-풀 부(110)가 풀 상태인 것으로 판명되면, 단계 400에서는 흐름 제어가 데이터 교환 노드에서 활성인지가 체크된다.
흐름 제어가 활성이면, 단계 402에서, 처리는 PDU가 수신되는 입력 포트와 연관된 입력 포트 처리 큐(114)의 점유가 대응하는 하위 워터마크 레벨(116) 이하인지를 체크한다.
입력 포트 처리 큐(114)의 점유가 하위 워터마크 레벨(116) 이하이면, 이어서 단계 404에서는 중지 명령이 효력이 있는지가 체크된다.
중지 명령이 효력이 있는 것으로 단계 404에서 판명되면, 단계 406에서는 중지 명령 상태를 취소하게 되고, 단계 408에서는 입력 포트 처리 큐(114)내 메모리 기억 공간을 예약하며, 입력 포트 처리 큐내에 PDU를 기억하고 (단계 410), PDU에 의해 유지되고 있는 메모리 기억 자원을 임시 메모리 기억부(102)로 되돌려 단계 316부터 재개한다.
단계 404에서 중지 명령이 효과적인 것으로 판명되지 않으면, 처리는 단계 408부터 재개된다.
단계 402에서 입력 포트 처리 큐(114)의 점유가 발견되고, 하위 워터마크(116) 이상인 것으로 판명되면, 단계 412에서는 입력 포트 처리 큐(114)의 점유가 상위 워터마크(118) 이상인지를 체크한다.
흐름 제어 처리 큐(114)의 점유 레벨이 상위 워터마크(118) 이상인 것으로 판명되지 않으면, 입력 포트 처리 큐(114)내 수신 PDU에 대한 기억 공간 예약시의 단계 408부터 처리가 재개된다.
단계 412에서 점유 레벨이 상위 워터마크(118) 이상인 것으로 판명되면, 중지 명령이 효력이 있는지를 체크하는 처리가 단계 414에서 이루어진다.
단계 414에서 중지 명령이 효과적인 것으로 발결되면, 입력 포트 처리 큐(114)가 풀인지를 체크하는 처리가 단계 420에서 이루어진다.
입력 포트 처리 큐(114)가 풀이 아니면, 처리는 단계 408부터 계속된다.
단계 420에서 흐름 제어 처리 큐(114)가 풀인 것으로 발견되면, 처리는 단계 422에서 PDU를 폐기함으로써 지속된다.
단계 414에서 중지 명령이 효과적인 것으로 판명되지 않으면, 단계 416에서는 중지 명령 상태를 활성화시키고, 수신된 PDU와 관련되는 관련 입력 포트를 통해 데이터 교환 노드의 중지 명령 업스트림을 전송하여 (단계 418), 그것을 통해 전달되는 데이터 흐름을 조정한다. 처리는 흐름 제어 처리 큐(114)에 수신된 PDU를 기억하려는 시도의 단계 420부터 재개된다.
흐름 제어가 데이터 교환 노드에서 강제되지 않는다면, 처리는 단계 420부터 재개된다.
상술한 흐름 제어를 트리거링하는 방법은 중지 명령 상태의 표명을 지연시키고, 일단 표명되면, 흐름 제어 처리 큐(114)의 대부분이 해제(히스테리시스)될 때까지는 그 리세팅을 지연시킨다.
하나의 점유 레벨 임계치의 사용을 포함한 흐름 제어를 트리거링하는 방법이 본 발명의 취지를 벗어나지 않고 사용될 수도 있다.
도 5는 본 발명의 바람직한 실시예에 따른 큐된 PDU의 교환시 데이터 교환 노드에 의해 수행되는 처리 단계를 나타내는 흐름도이다.
큐된 PDU들의 교환시, 단계 502에서는 교환할 PDU를 선택하는 처리가 수행된다. 포워딩 우선 순위 처리를 위한 지원을 포함한, 교환을 위해 PDU를 선택하는 여러 방법이 존재하고 있지만, 본 발명의 설명 범위 밖이다. 단계 504에서는 PDU를 교환할 출력 포트를 결정하며, 단계 506에서는 전송을 위해 교환된 PDU의 스케쥴을 잡는다. 처리는 PDU의 전송과 함께 지속된다.
도 6은 본 발명의 바람직한 실시예에 따른 큐된 PDU의 전송시 데이터 교환 노드에 의해 수행되는 처리 단계를 나타내는 흐름도이다.
단계 602에서 PDU가 선택되고, 단계 604에서 전송된다. 도시된 전송 서브 프로세스(600)가 간략히 예시되어 있다. 당해 분야의 숙련된 자라면, 본 발명의 취지를 벗어나지 않으면서, 전송 서브프로세스가, 멀티 캐스팅시 데이터 트래픽을 복제하기 위한 흐름 제어, 규정을 추가로 강제하는 단계와; 데이터 요약화 등과 같은 단계를 더 포함할 수도 있음을 이해할 것이다. PDU 전송이 완료되는 대로, PDU는 디큐잉을 위해 플래그된다.
도 7은 본 발명의 바람직한 실시예에 따른 전송 PDU의 디큐잉시 데이터 교환 노드에 의해 수행되는 처리 단계를 나타내는 흐름도이다.
전송 PDU의 디큐잉시(702), 예약 메모리 기억 공간이 단계 704에서 해제된다. 처리 큐(108, 104)는 상기한 메모리 크기 레지스터를 통해 특정되는 소정의 메모리 크기와 상기한 메모리 할당 카운터를 통해 특정되는 점유 레벨을 갖는다.
CoS 처리 큐 기억 비트가 설정되면 (단계 706), 이어서 해제된 메모리 기억 공간은 전송된 PDU에 대응하는 CoS 처리 큐(108)에 반환(return)된다 (단계 708).
CoS 처리 큐 기억 비트가 설정되지 않으면 (단계 706), 이어서, 단계 710에서는 전송 PDU가 수신되는 입력 포트에 대응하는 처리 큐(114)의 입력 포트의 점유가 검사된다.
점유 레벨이 0 이상이면, 이어서 해제된 기억 공간은 단계 712에서 입력 포트 처리 큐(114)에 반환된다.
대응하는 입력 포트 처리 큐(114)의 점유가 0이면, 이어서, 처리는 해제된 메모리 기억 공간을 공유 메모리-풀 부(110)로 복귀시킨다 (단계 714).
본 발명의 추가적인 상세는 다음의 부기(附記)를 참조하여 소개된다.
이상 소개된 본 발명의 실시예는 단지 예시적인 것일 뿐이므로, 당업자라면 본 발명의 취지를 벗어나지 않는 변형실시가 행해질 수 있음을 인식할 것이다. 본 발명의 범위는 첨부한 청구범위에 의해서만 제한되는 것이다.
<부기>
버퍼 공간으로의 입출입
패킷은 다음의 서열에 기초하여 버퍼에 할당된다.
1. 클래스당 예약된 버퍼 (Per-class reserved buffer)
2. 공유풀 버퍼 (Shared pool buffer)
3. 포트당 예약된 버퍼 (Per-port reserved buffer)
즉, 가능하다면, 패킷의 트래픽 클래스에 대응하는 메모리의 예약 영역에 패킷이 기억된다. 그 영역이 풀이면, 패킷은 공유 풀내에 위치하는 어느 버퍼에나 기억될 수도 있다. 최종 수단(last resort)으로서, 클래스당 예약 버퍼와 공유 풀 버퍼 모두가 완전히 점유되면, 이어서 패킷은 패킷의 소스 포트에 대응하는 메모리의 예약부에 기억될 수도 있다. 버퍼 스페이스의 특정 영역에 패킷을 기억하는 것은 적절한 버퍼 카운터를 증가시킴으로써 구현되어 새로운 점유를 나타낸다.
버퍼 관리 기법의 작업을 위해서는, 패킷은 클래스당 예약 버퍼에 프레임이 기억되었는지를 나타내는 비트를 운반해야한다.
전송 후, 각 버퍼부의 점유는 갱신되어야 한다. 벗어난 패킷(departing packet)이 클래스당 예약 버퍼에 기억되면, 적절한 클래스당 버퍼 카운터는 감소되어야 한다. 한편, 벗어난 패킷이 클래스당 예약 버퍼에 기억되지 않으면, 물론, 적절한 포트당 버퍼 카운터나 공유 풀 카운터 중 어느 하나가 감소될 필요가 있다. 버퍼는 다음의 서열에 기초하여 복귀되어야 한다.
1. 포트당 예약 버퍼 (Per-port reserved buffer)
2. 공유 풀 버퍼 (Shared pool buffer)
가능하다면, 패킷은 포트당 예약 버퍼 풀 대신에 공유 버퍼 풀에 기억되어야 함에 주목한다. 대조적으로, 가능하다면, 패킷은 공유 버퍼 풀 대신에 포트당 예약 버퍼 풀로 반환되어야 한다. 더욱이, 소스 포트의 예약 버퍼는 최종 수단으로는 드물게 사용되므로, 가능한한 빨리 복귀되어야 한다.
드롭핑과 흐름 제어 (Dropping and Flow Control)
버퍼 관리 룰에 따르면, 만일 공유 풀과 예약 풀이 모두 사용 중이기 때문에 패킷이 갈곳이 없다면, 그 패킷은 드롭된다.
동일한 방식이 흐름 제어에 이용될 수 있다. 흐름 제어는 포트의 소스당 예약 버퍼가 특정 임계치 이하로 떨어질 때 트리거될 수 있다. 소스당 예약 버퍼는 최종 수단으로서만 이용되기 때문에, 그 방식은 흐름 제어의 트리거링을 가능한 적게할 수 있다는 이점을 갖고 있다.
본 발명에 따르면, 예약 영역들은 각각의 데이터 흐름이나 CoS에 대한 소량의 버퍼 공간을 보장하게 되므로, 정체 상태 하에서도, 체계적으로 동작하는 흐름에 대한 보증된 버퍼 공간을 갖게 되며, 블록킹이 발생하는 상황을 최저 수준으로 줄일 수 있다.
Claims (37)
- 복수의 데이터 포트간에 PDU(프로토콜 데이터 유닛;Protocol Data Units) - 각각의 PDU는 헤더 정보가 기억되는 헤더와 전달될 데이터의 적어도 일부가 기억되는 페이로드를 가짐 - 를 교환하는 데이터 네트워크 노드에 있어서, 상기 데이터 네트워크 노드는a. PDU들을 교환하는 프로세서와;b. 공유 메모리 버퍼를 포함하되,상기 공유 메모리 버퍼는i. 큐잉에 앞서 헤더 정보의 예비 검사가 미결인 동안, 복수의 데이터 포트의 입력 포트를 통해 수신된 PDU들을 유지하기 위한 예약 임시 메모리 기억부와;ii. 상기 복수의 데이터 포트 중에서 PDU가 교환될 적어도 하나의 출력 포트 결정시 처리가 미결인 PDU들을 유지하기 위한 PDU 큐잉 메모리 기억부를 포함하고,이러한 방식은 그 큐잉에 앞서 오동작하는 데이터 흐름과 관련된 PDU들 중에서 체계적으로 동작하는 데이터 흐름과 관련된 PDU들을 식별할 수 있도록 함으로써 데이터 네트워크 노드에서 PDU가 폐기되는 경우를 감소시키는 것을 특징으로 하는 데이터 네트워크 노드.
- 제1항에 있어서, 상기 임시 메모리 기억부는 상기 데이터 네트워크 노드에서의 PDU의 처리량을 수용하도록 설계된 메모리 크기를 갖는 것을 특징으로 하는 데이터 네트워크 노드.
- 제2항에 있어서, 상기 임시 메모리 기억부의 메모리의 크기는 고정되며 설계된 데이터 처리량을 수용하는 것을 특징으로 하는 데이터 네트워크 노드.
- 제2항에 있어서, 상기 임시 메모리 기억부의 메모리 크기는 조절가능하며 상기 데이터 네트워크 노드에서 전달되는 데이터 처리량을 수용하고, 상기 데이터 네트워크 노드는 조절가능한 데이터 전달 속도를 갖는 적어도 하나의 데이터 포트를 더 포함하는 것을 특징으로 하는 데이터 네트워크 노드.
- 제4항에 있어서, 임시 메모리 기억부의 메모리 크기는 상기 데이터 네트워크 노드와 관련된 관리 콘솔을 통해 수정되는 것을 특징으로 하는 데이터 네트워크 노드.
- 제4항에 있어서, 상기 임시 메모리 기억부의 메모리 크기는 조절 가능한 데이터 전송 속도를 갖는 적어도 하나의 데이터 포트의 데이터 전송 속도의 수정에 이어 테이블 룩업을 통해 갱신되는 것을 특징으로 하는 데이터 네트워크 노드.
- 제4항에 있어서, 상위 레벨 프로토콜은 상기 데이터 네트워크 노드에서의 데이터 처리량을 모니터하고, 상기 데이터 네트워크 노드의 집합 데이터 처리 속도에 관하여 상기 임시 메모리 기억부의 메모리 크기를 조절하는 것을 특징으로 하는 데이터 네트워크 노드.
- 제1항에 있어서,상기 PDU 큐잉 메모리 기억부는 복수의 예약 CoS 처리 큐를 포함하는 CoS PDU 큐잉부를 더 포함하고, 각각의 CoS는, 처리가 미결인 동안, 상기 데이터 네트워크 노드에서의 데이터 흐름에 대한 최소한의 메모리 기억 자원을 이용할 수 있도록 하는 QoS 보장을 위한 지원 제공시 상기 데이터 네트워크 노드에서 지원되는 복수의 CoS 중 하나와 관련된 PDU들을 유지하고 있는 것을 특징으로 하는 데이터 네트워크 노드.
- 제8항에 있어서, CoS 처리 큐는 처리가 진행되는 동안, 특정 CoS가 없는 PDU들(베스트 에포트 데이터 트래픽 PDU들)을 기억하도록 지명되는 것을 특징으로 하는 데이터 네트워크 노드.
- 제8항에 있어서, 적어도 하나의 CoS 처리 큐는 조정 가능한 메모리 크기를 갖는 것을 특징으로 하는 데이터 네트워크 노드.
- 제10항에 있어서, 적어도 하나의 CoS 처리 큐의 메모리 크기는 관리 콘솔 및 QoS 보장을 강제하는 상위 레벨 프로토콜 중 하나를 통해 수정되는 것을 특징으로 하는 데이터 네트워크 노드.
- 제8항에 있어서, 상기 데이터 네트워크 노드는 복수의 CoS 처리 큐 기억 비트를 더 포함하고, 각각의 CoS 처리 큐 기억 비트는 CoS 처리 큐내에 기억되는 PDU와 관련되는 것을 특징으로 하는 데이터 네트워크 노드.
- 제1항에 있어서, 상기 PDU 큐잉 메모리 기억부는 처리가 미결인 동안, QoS 보장 제공시 예약된 데이터 속도 이상의 데이터 속도로 PDU들을 전달하는 데이터 흐름과 관련된 PDU들을 유지하는 공유 메모리-풀 부를 더 포함하는 것을 특징으로 하는 데이터 네트워크 노드.
- 제13항에 있어서, 상기 공유 메모리-풀 부는 처리가 미결인 동안 특정 CoS없이 PDU들(베스트 에포트 데이터 트래픽)을 추가로 유지하는 것을 특징으로 하는 데이터 네트워크 노드.
- 제1항에 있어서, 상기 PDU 큐잉 메모리 기억부는 처리가 미결인 동안, 입력 포트를 통해 PDU들을 전달하는 데이터 흐름과 관련된 PDU들을 위한 추가 기억 장소를 제공하는 데이터 네트워크 노드의 다수의 입력 데이터 포트 중 하나와 관련된 PDU들을 유지하는 복수의 예약 입력 포트 처리 큐를 포함하는 입력 포트 PDU 큐잉 부를 더 포함하고, 다른 정체된 입력 포트를 통해 전달되는 오동작 데이터 흐름 중에서 입력 포트를 통해 전달되는 데이터 흐름에 블록킹이 제공되는 것을 방지하는 것을 특징으로 하는 데이터 네트워크 노드.
- 제15항에 있어서, 적어도 하나의 입력 포트 처리 큐는 조절가능한 메모리 크기를 갖는 것을 특징으로 하는 데이터 네트워크 노드.
- 제16항에 있어서, 적어도 하나의 입력 포트 처리 큐의 메모리 크기는 관리 콘솔, QoS 보장을 강제하는 상위 레벨 프로토콜, 및 흐름 제어를 강제하는 상위 레벨 프로토콜 중 하나를 통해 수정되는 것을 특징으로 하는 데이터 네트워크 노드.
- 제15항에 있어서, 각각의 입력 포트 처리 큐는 입력 포트 흐름 제어 실행시 입력 포트 흐름 제어 처리 큐의 점유 레벨에 대한 비교를 위한 관련 상위 워터마크 레벨을 갖는 것을 특징으로 하는 데이터 네트워크 노드.
- 제18항에 있어서, 적어도 하나의 상위 워터마크 레벨이 조정가능한 것을 특징으로 하는 데이터 네트워크 노드.
- 제19항에 있어서, 상기 상위 워터마크 레벨의 값은 관리 콘솔, QoS 보장을 강제하는 상위 레벨 프로토콜, 및 흐름 제어를 강제하는 상위 레벨 프로토콜 중 하나를 통해 수정되는 것을 특징으로 하는 데이터 네트워크 노드.
- 제18항에 있어서, 각각의 입력 포트 처리 큐는 입력 포트 흐름 제어 실행시 입력 포트 처리 큐의 점유 레벨에 대한 비교를 위해 관련 하위 워터마크 레벨을 갖는 것을 특징으로 하는 데이터 네트워크 노드.
- 제21항에 있어서, 적어도 하나의 하위 워터마크 레벨이 조절 가능한 것을 특징으로 하는 데이터 네트워크 노드.
- 제22항에 있어서, 상기 하위 워터마크 레벨의 값은 관리 콘솔, QoS 보장을 강제하는 상위 레벨 프로토콜, 및 입력 포트 흐름 제어를 강제하는 상위 레벨 프로토콜 중 하나를 통해 수정되는 것을 특징으로 하는 데이터 네트워크 노드.
- 프로세서 교환 PDU들과 공유 메모리 버퍼를 갖는 데이터 네트워크 노드에서 PDU(Protocol Data Units)를 처리하는 방법에 있어서, 상기 방법은a. 데이터 네트워크 노드의 입력 포트를 통해 PDU를 수신하는 단계와;b. 공유 메모리 버퍼의 예약된 임시 메모리 기억부에 수신된 PDU를 임시로 기억하는 단계와;c. 상기 기억된 PDU로부터 헤더 정보를 추출하는 단계와;d. 처리를 위해 상기 PDU를 선택적으로 큐잉하는 단계와;e. 상기 PDU를 교환하는 단계와;f. 상기 데이터 네트워크 노드의 출력 데이터 포트를 통해 PDU를 전송하는 단계; 및g. 상기 전송된 PDU에 의해 사용되는 자원들을 할당해제하는 단계를 포함하고,헤더의 검사에 앞서 상기 임시 메모리 기억부의 수신된 PDU의 기억을 PDU들의 폐기시 행해질 적격 판정을 위해 제공하는 것을 특징으로 하는 PDU 처리 방법.
- 제24항에 있어서, 메모리 기억 자원이 처리를 위한 PDU의 큐잉에 이용가능하지 않다면 PDU를 폐기하는 단계를 더 포함하는 것을 특징으로 하는 PDU 처리 방법.
- 제24항에 있어서,상기 공유 메모리 기억부는 PDU 큐잉 메모리 기억부를 더 포함하고, 상기 PDU 큐잉 메모리 기억부는 CoS PDU 메모리 기억부를 더 포함하며, 상기 CoS PDU 메모리 기억부는 상기 데이터 네트워크 노드에서 지원되는 CoS의 그룹과 관련된 복수의 CoS 처리 큐를 더 포함하며, 처리를 위해 PDU를 선택적으로 큐잉하는 단계를 더포함하고, 상기 방법은CoS 처리 큐가 풀 상태가 아니라면 추출된 헤더 정보에 유지되고 있는 CoS 사양에 따라 대응하는 CoS 처리 큐에 PDU를 큐잉하는 단계를 포함하는 것을 특징으로 하는 PDU 처리 방법.
- 제26항에 있어서, 대응하는 CoS 처리 큐에 PDU를 큐잉하고, 상기 방법은 규잉된 각각의 PDU에 대응하는 관련 CoS 처리 큐 기억 비트를 설정하는 단계를 더 포함하는 것을 특징으로 하는 PDU 처리 방법.
- 제26항에 있어서, 상기 PDU 큐잉 메모리 기억부는 공유 메모리-풀 부를 더 포함하고, 처리를 위해 PDU를 선택적으로 큐잉하는 단계를 더 포함하며,상기 방법은 PDU에 대응하는 CoS 처리 큐가 풀 상태라면 공유 메모리-풀 부에 PDU를 큐잉하는 단계를 더 포함하는 것을 특징으로 하는 PDU 처리 방법.
- 제28항에 있어서, 상기 공유 메모리-풀 부에 특정 CoS(베스트 에포트 데이터트래픽) 없이 PDU들을 우선적으로 큐잉하는 단계를 더 포함하는 것0을 특징으로 하는 PDU 처리 방법.
- 제28항에 있어서, 상기 PDU 큐잉 메모리 기억부는 입력 포트 PDU 큐잉 기억부를 더 포함하고, 이 입력 포트 PDU 큐잉 기억부는 복수의 입력 포트 처리 큐를 더 포함하며, 각각의 입력 포트 처리 큐는 상기 데이터 네트워크 노드의 입력 포트와 관련되며, 처리를 위해 PDU를 선택적으로 큐잉하는 단계를 더 포함하고,상기 방법은 공유 메모리-풀 자원이 고갈되었다면 PDU가 수신되는 입력 포트에 대응하는 입력 포트 처리 큐에 PDU를 큐잉하는 단계를 더 포함하는 것을 특징으로 하는 PDU 처리 방법.
- 제30항에 있어서, 입력 포트 흐름 제어를 강제하는 단계를 더 포함하는 것을 특징으로 하는 PDU 처리 방법.
- 제31항에 있어서, 상기 입력 포트의 흐름 제어를 강제하는 단계에서, 각각의 입력 포트 큐는 입력 포트 처리 큐의 점유 레벨이 흐름 제어의 실행시 비교되는 것에 대한 관련 상위 워터마크 레벨을 갖는 것을 특징으로 하는 PDU 처리 방법.
- 제31항에 있어서, 상기 입력 포트의 흐름 제어를 강제하는 단계에서, 각각의 입력 포트 흐름 제어 큐는 입력 포트 처리 큐의 점유 레벨이 데이터 네트워크 노드의 정체 상태의 클리어시와 비교되는 것에 대한 관련 하위 워터마크 레벨을 갖는 것을 특징으로 하는 PDU 처리 방법.
- 제24항에 있어서, 전송된 PDU에 의해 사용되는 자원을 할당해제되며, 상기 방법은 PDU가 처리를 위해 큐잉되었다면 해제된 메모리 공간을 CoS 처리 큐에 반환하는 것을 특징으로 하는 PDU 처리 방법.
- 제34항에 있어서, 상기 해제된 메모리 공간을 CoS 처리 큐에 반환하며, 상기 방법은 상기 전송된 PDU와 관련된 CoS 처리 큐 기억 비트가 미리 설정되었는지를 결정하는 단계를 더 포함하는 것을 특징으로 하는 PDU 처리 방법.
- 제30항에 있어서, 상기 전송된 PDU에 의해 사용된 자원이 할당 해제되며, 상기 방법은 그 점유 레벨이 제로가 아니라면 해제된 메모리 공간을 대응하는 입력 포트 처리 큐에 반환하는 단계를 더 포함하는 것을 특징으로 하는 PDU 처리 방법.
- 제36항에 있어서, 전송된 PDU에 의해 사용되는 메모리 자원을 할당 해제하고, 상기 방법은 대응하는 흐름 제어 처리 큐 점유 레벨이 제로이면 해제된 메모리 공간을 공유 메모리-풀 부에 반환하는 단계를 더 포함하는 것을 특징으로 하는 PDU 처리 방법.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US23616800P | 2000-09-29 | 2000-09-29 | |
US60/236,168 | 2000-09-29 | ||
US09/935,533 | 2001-08-23 | ||
US09/935,533 US6999416B2 (en) | 2000-09-29 | 2001-08-23 | Buffer management for support of quality-of-service guarantees and data flow control in data switching |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020025722A KR20020025722A (ko) | 2002-04-04 |
KR100407039B1 true KR100407039B1 (ko) | 2003-11-28 |
Family
ID=22888403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0059077A KR100407039B1 (ko) | 2000-09-29 | 2001-09-24 | 서비스 품질 보증을 지원하기 위한 버퍼 관리 방법과데이터 교환시의 데이터 흐름 제어 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6999416B2 (ko) |
KR (1) | KR100407039B1 (ko) |
CN (1) | CN100401791C (ko) |
CA (1) | CA2355473A1 (ko) |
TW (1) | TW522675B (ko) |
Families Citing this family (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3566218B2 (ja) * | 2001-02-19 | 2004-09-15 | 株式会社東芝 | Bluetoothネットワーク通信方法およびシステム |
US7899067B2 (en) * | 2002-05-31 | 2011-03-01 | Cisco Technology, Inc. | Method and apparatus for generating and using enhanced tree bitmap data structures in determining a longest prefix match |
US7224670B2 (en) * | 2002-06-03 | 2007-05-29 | International Business Machines Corporation | Flow control in computer networks |
JP4206707B2 (ja) * | 2002-08-27 | 2009-01-14 | 株式会社日立製作所 | 通信品質設定装置、方法及びプログラム |
US20040047367A1 (en) * | 2002-09-05 | 2004-03-11 | Litchfield Communications, Inc. | Method and system for optimizing the size of a variable buffer |
US7783759B2 (en) * | 2002-12-10 | 2010-08-24 | International Business Machines Corporation | Methods and apparatus for dynamic allocation of servers to a plurality of customers to maximize the revenue of a server farm |
KR100927313B1 (ko) | 2003-01-24 | 2009-11-18 | 주식회사 케이티 | 이더넷 서비스의 대역폭 제어 장치 및 그 방법 |
AU2003202593A1 (en) * | 2003-01-28 | 2004-08-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and device for congestion notification in packet networks indicating several different congestion causes |
WO2005048533A1 (en) * | 2003-11-05 | 2005-05-26 | Interdigital Technology Corporation | Quality of service management for a wireless local area network |
CN101116274B (zh) * | 2004-12-27 | 2011-07-06 | Lg电子株式会社 | 利用扩展子报头发送反馈信息的方法 |
US7565496B2 (en) * | 2005-01-22 | 2009-07-21 | Cisco Technology, Inc. | Sharing memory among multiple information channels |
US7802028B2 (en) * | 2005-05-02 | 2010-09-21 | Broadcom Corporation | Total dynamic sharing of a transaction queue |
US20080063004A1 (en) * | 2006-09-13 | 2008-03-13 | International Business Machines Corporation | Buffer allocation method for multi-class traffic with dynamic spare buffering |
US9769016B2 (en) | 2010-06-07 | 2017-09-19 | Brocade Communications Systems, Inc. | Advanced link tracking for virtual cluster switching |
US8867552B2 (en) | 2010-05-03 | 2014-10-21 | Brocade Communications Systems, Inc. | Virtual cluster switching |
US9270486B2 (en) | 2010-06-07 | 2016-02-23 | Brocade Communications Systems, Inc. | Name services for virtual cluster switching |
US9001824B2 (en) | 2010-05-18 | 2015-04-07 | Brocade Communication Systems, Inc. | Fabric formation for virtual cluster switching |
US8989186B2 (en) | 2010-06-08 | 2015-03-24 | Brocade Communication Systems, Inc. | Virtual port grouping for virtual cluster switching |
US9461840B2 (en) | 2010-06-02 | 2016-10-04 | Brocade Communications Systems, Inc. | Port profile management for virtual cluster switching |
US9716672B2 (en) | 2010-05-28 | 2017-07-25 | Brocade Communications Systems, Inc. | Distributed configuration management for virtual cluster switching |
US9628293B2 (en) | 2010-06-08 | 2017-04-18 | Brocade Communications Systems, Inc. | Network layer multicasting in trill networks |
US9806906B2 (en) | 2010-06-08 | 2017-10-31 | Brocade Communications Systems, Inc. | Flooding packets on a per-virtual-network basis |
US9608833B2 (en) | 2010-06-08 | 2017-03-28 | Brocade Communications Systems, Inc. | Supporting multiple multicast trees in trill networks |
US9246703B2 (en) | 2010-06-08 | 2016-01-26 | Brocade Communications Systems, Inc. | Remote port mirroring |
US9807031B2 (en) | 2010-07-16 | 2017-10-31 | Brocade Communications Systems, Inc. | System and method for network configuration |
WO2012068302A2 (en) * | 2010-11-16 | 2012-05-24 | Tibco Software Inc. | Locking and signaling for implementing messaging transports with shared memory |
US9270572B2 (en) | 2011-05-02 | 2016-02-23 | Brocade Communications Systems Inc. | Layer-3 support in TRILL networks |
US9336060B2 (en) * | 2011-06-17 | 2016-05-10 | Microsoft Technology Licensing, Llc | Middleware services framework for on-premises and cloud deployment |
US9736085B2 (en) * | 2011-08-29 | 2017-08-15 | Brocade Communications Systems, Inc. | End-to end lossless Ethernet in Ethernet fabric |
US9699117B2 (en) | 2011-11-08 | 2017-07-04 | Brocade Communications Systems, Inc. | Integrated fibre channel support in an ethernet fabric switch |
US9450870B2 (en) | 2011-11-10 | 2016-09-20 | Brocade Communications Systems, Inc. | System and method for flow management in software-defined networks |
US8995272B2 (en) | 2012-01-26 | 2015-03-31 | Brocade Communication Systems, Inc. | Link aggregation in software-defined networks |
US9742693B2 (en) | 2012-02-27 | 2017-08-22 | Brocade Communications Systems, Inc. | Dynamic service insertion in a fabric switch |
US9154416B2 (en) | 2012-03-22 | 2015-10-06 | Brocade Communications Systems, Inc. | Overlay tunnel in a fabric switch |
US9374301B2 (en) | 2012-05-18 | 2016-06-21 | Brocade Communications Systems, Inc. | Network feedback in software-defined networks |
US10277464B2 (en) | 2012-05-22 | 2019-04-30 | Arris Enterprises Llc | Client auto-configuration in a multi-switch link aggregation |
EP2853066B1 (en) | 2012-05-23 | 2017-02-22 | Brocade Communications Systems, Inc. | Layer-3 overlay gateways |
US9602430B2 (en) | 2012-08-21 | 2017-03-21 | Brocade Communications Systems, Inc. | Global VLANs for fabric switches |
US9401872B2 (en) | 2012-11-16 | 2016-07-26 | Brocade Communications Systems, Inc. | Virtual link aggregations across multiple fabric switches |
KR102011135B1 (ko) * | 2012-12-11 | 2019-08-14 | 삼성전자주식회사 | 모바일 장치 및 그것의 스왑을 통한 데이터 관리 방법 |
US9548926B2 (en) | 2013-01-11 | 2017-01-17 | Brocade Communications Systems, Inc. | Multicast traffic load balancing over virtual link aggregation |
US9350680B2 (en) | 2013-01-11 | 2016-05-24 | Brocade Communications Systems, Inc. | Protection switching over a virtual link aggregation |
US9413691B2 (en) | 2013-01-11 | 2016-08-09 | Brocade Communications Systems, Inc. | MAC address synchronization in a fabric switch |
US9565113B2 (en) | 2013-01-15 | 2017-02-07 | Brocade Communications Systems, Inc. | Adaptive link aggregation and virtual link aggregation |
US9565099B2 (en) | 2013-03-01 | 2017-02-07 | Brocade Communications Systems, Inc. | Spanning tree in fabric switches |
US9401818B2 (en) | 2013-03-15 | 2016-07-26 | Brocade Communications Systems, Inc. | Scalable gateways for a fabric switch |
US9699001B2 (en) | 2013-06-10 | 2017-07-04 | Brocade Communications Systems, Inc. | Scalable and segregated network virtualization |
US9565028B2 (en) | 2013-06-10 | 2017-02-07 | Brocade Communications Systems, Inc. | Ingress switch multicast distribution in a fabric switch |
US9338105B2 (en) * | 2013-09-03 | 2016-05-10 | Broadcom Corporation | Providing oversubscription of pipeline bandwidth |
US9806949B2 (en) | 2013-09-06 | 2017-10-31 | Brocade Communications Systems, Inc. | Transparent interconnection of Ethernet fabric switches |
US9912612B2 (en) | 2013-10-28 | 2018-03-06 | Brocade Communications Systems LLC | Extended ethernet fabric switches |
US9548873B2 (en) | 2014-02-10 | 2017-01-17 | Brocade Communications Systems, Inc. | Virtual extensible LAN tunnel keepalives |
US10581758B2 (en) | 2014-03-19 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Distributed hot standby links for vLAG |
US10476698B2 (en) | 2014-03-20 | 2019-11-12 | Avago Technologies International Sales Pte. Limited | Redundent virtual link aggregation group |
US10063473B2 (en) | 2014-04-30 | 2018-08-28 | Brocade Communications Systems LLC | Method and system for facilitating switch virtualization in a network of interconnected switches |
US9800471B2 (en) | 2014-05-13 | 2017-10-24 | Brocade Communications Systems, Inc. | Network extension groups of global VLANs in a fabric switch |
US10616108B2 (en) | 2014-07-29 | 2020-04-07 | Avago Technologies International Sales Pte. Limited | Scalable MAC address virtualization |
US9544219B2 (en) | 2014-07-31 | 2017-01-10 | Brocade Communications Systems, Inc. | Global VLAN services |
US9807007B2 (en) | 2014-08-11 | 2017-10-31 | Brocade Communications Systems, Inc. | Progressive MAC address learning |
US9524173B2 (en) | 2014-10-09 | 2016-12-20 | Brocade Communications Systems, Inc. | Fast reboot for a switch |
US9699029B2 (en) | 2014-10-10 | 2017-07-04 | Brocade Communications Systems, Inc. | Distributed configuration management in a switch group |
CN105701019A (zh) | 2014-11-25 | 2016-06-22 | 阿里巴巴集团控股有限公司 | 一种内存管理方法以及装置 |
US9626255B2 (en) | 2014-12-31 | 2017-04-18 | Brocade Communications Systems, Inc. | Online restoration of a switch snapshot |
US9628407B2 (en) | 2014-12-31 | 2017-04-18 | Brocade Communications Systems, Inc. | Multiple software versions in a switch group |
US9942097B2 (en) | 2015-01-05 | 2018-04-10 | Brocade Communications Systems LLC | Power management in a network of interconnected switches |
US10003552B2 (en) | 2015-01-05 | 2018-06-19 | Brocade Communications Systems, Llc. | Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches |
KR102012261B1 (ko) * | 2015-03-03 | 2019-10-21 | 한국전자통신연구원 | 메모리 할당의 부분 해제를 지원하는 메모리 관리 장치 및 방법 |
US10038592B2 (en) | 2015-03-17 | 2018-07-31 | Brocade Communications Systems LLC | Identifier assignment to a new switch in a switch group |
US9807005B2 (en) | 2015-03-17 | 2017-10-31 | Brocade Communications Systems, Inc. | Multi-fabric manager |
US10579406B2 (en) | 2015-04-08 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Dynamic orchestration of overlay tunnels |
US10439929B2 (en) | 2015-07-31 | 2019-10-08 | Avago Technologies International Sales Pte. Limited | Graceful recovery of a multicast-enabled switch |
US10171303B2 (en) | 2015-09-16 | 2019-01-01 | Avago Technologies International Sales Pte. Limited | IP-based interconnection of switches with a logical chassis |
US9912614B2 (en) | 2015-12-07 | 2018-03-06 | Brocade Communications Systems LLC | Interconnection of switches based on hierarchical overlay tunneling |
WO2017123849A1 (en) * | 2016-01-14 | 2017-07-20 | Ab Initio Technology Llc | Recoverable stream processing |
US10250530B2 (en) * | 2016-03-08 | 2019-04-02 | Mellanox Technologies Tlv Ltd. | Flexible buffer allocation in a network switch |
US10237090B2 (en) | 2016-10-28 | 2019-03-19 | Avago Technologies International Sales Pte. Limited | Rule-based network identifier mapping |
US10608943B2 (en) * | 2017-10-27 | 2020-03-31 | Advanced Micro Devices, Inc. | Dynamic buffer management in multi-client token flow control routers |
CN109086227A (zh) * | 2018-08-01 | 2018-12-25 | 长沙市极云网络科技有限公司 | 一种独占输入方法、输入转换设备、输入装置及智能终端 |
TWI703840B (zh) * | 2019-01-16 | 2020-09-01 | 瑞昱半導體股份有限公司 | 設置在交換器內的電路以及管理交換器中記憶體的方法 |
US20230138522A1 (en) * | 2021-11-02 | 2023-05-04 | Mellanox Technologies, Ltd. | Queue Bandwidth Estimation for Management of Shared Buffers and Allowing Visibility of Shared Buffer Status |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1079774A (ja) * | 1996-09-02 | 1998-03-24 | Kokusai Denshin Denwa Co Ltd <Kdd> | プロトコルデータの処理方式 |
JPH11122260A (ja) * | 1997-10-17 | 1999-04-30 | Fujitsu Ltd | 通信制御装置及びその方法 |
JPH11298490A (ja) * | 1998-04-14 | 1999-10-29 | Nec Corp | 選択的パケット廃棄制御装置 |
KR100279560B1 (ko) * | 1998-12-31 | 2001-02-01 | 이계철 | 사용자 데이터 전송 및 수신을 위한 버퍼제어 방법 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2655464B2 (ja) * | 1992-12-25 | 1997-09-17 | 日本電気株式会社 | パケット交換方式 |
US5931916A (en) * | 1994-12-09 | 1999-08-03 | British Telecommunications Public Limited Company | Method for retransmitting data packet to a destination host by selecting a next network address of the destination host cyclically from an address list |
US6219728B1 (en) * | 1996-04-22 | 2001-04-17 | Nortel Networks Limited | Method and apparatus for allocating shared memory resources among a plurality of queues each having a threshold value therefor |
US6463068B1 (en) * | 1997-12-31 | 2002-10-08 | Cisco Technologies, Inc. | Router with class of service mapping |
US6510160B1 (en) * | 1999-02-04 | 2003-01-21 | Cisco Technology, Inc. | Accurate computation of percent utilization of a shared resource and fine resolution scaling of the threshold based on the utilization |
US6298340B1 (en) * | 1999-05-14 | 2001-10-02 | International Business Machines Corporation | System and method and computer program for filtering using tree structure |
US6687247B1 (en) * | 1999-10-27 | 2004-02-03 | Cisco Technology, Inc. | Architecture for high speed class of service enabled linecard |
-
2001
- 2001-08-17 CA CA002355473A patent/CA2355473A1/en not_active Abandoned
- 2001-08-23 US US09/935,533 patent/US6999416B2/en not_active Expired - Fee Related
- 2001-09-24 KR KR10-2001-0059077A patent/KR100407039B1/ko not_active IP Right Cessation
- 2001-09-24 TW TW090123484A patent/TW522675B/zh not_active IP Right Cessation
- 2001-09-24 CN CNB01141460XA patent/CN100401791C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1079774A (ja) * | 1996-09-02 | 1998-03-24 | Kokusai Denshin Denwa Co Ltd <Kdd> | プロトコルデータの処理方式 |
JPH11122260A (ja) * | 1997-10-17 | 1999-04-30 | Fujitsu Ltd | 通信制御装置及びその方法 |
JPH11298490A (ja) * | 1998-04-14 | 1999-10-29 | Nec Corp | 選択的パケット廃棄制御装置 |
KR100279560B1 (ko) * | 1998-12-31 | 2001-02-01 | 이계철 | 사용자 데이터 전송 및 수신을 위한 버퍼제어 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN100401791C (zh) | 2008-07-09 |
US6999416B2 (en) | 2006-02-14 |
CA2355473A1 (en) | 2002-03-29 |
CN1356831A (zh) | 2002-07-03 |
KR20020025722A (ko) | 2002-04-04 |
US20020039350A1 (en) | 2002-04-04 |
TW522675B (en) | 2003-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100407039B1 (ko) | 서비스 품질 보증을 지원하기 위한 버퍼 관리 방법과데이터 교환시의 데이터 흐름 제어 방법 | |
US9112786B2 (en) | Systems and methods for selectively performing explicit congestion notification | |
US9100314B2 (en) | Dequeuing and congestion control systems and methods for single stream multicast | |
US7983287B2 (en) | Backpressure mechanism for switching fabric | |
CN113785543A (zh) | 用于在应用之间提供网络入口公平性的方法和系统 | |
US6934250B1 (en) | Method and apparatus for an output packet organizer | |
US7558197B1 (en) | Dequeuing and congestion control systems and methods | |
US8520522B1 (en) | Transmit-buffer management for priority-based flow control | |
US7953002B2 (en) | Buffer management and flow control mechanism including packet-based dynamic thresholding | |
CA1286758C (en) | Packet switching system arranged for congestion control through bandwidth management | |
US6757249B1 (en) | Method and apparatus for output rate regulation and control associated with a packet pipeline | |
US6882642B1 (en) | Method and apparatus for input rate regulation associated with a packet processing pipeline | |
EP0872988A2 (en) | A method for supporting per-connection queuing for feedback-controlled traffic | |
JP2001285364A (ja) | スイッチング装置とその方法 | |
US7209440B1 (en) | Method and apparatus for preventing blocking in a quality of service switch | |
US20100172363A1 (en) | Systems and methods for congestion control using random early drop at head of buffer | |
US20050195845A1 (en) | Low cost implementation for a device utilizing look ahead congestion management | |
US20050068798A1 (en) | Committed access rate (CAR) system architecture | |
US8086770B2 (en) | Communication apparatus with data discard functions and control method therefor | |
Astuti | Packet handling | |
Cisco | Congestion Management Overview | |
EP1797682B1 (en) | Quality of service (qos) class reordering | |
Loh et al. | A simple packet scheduling and buffer management scheme for scalable support of QoS in the Internet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |