KR100293756B1 - 데이터 통신 네트워크에서 폭주 제어를 제공하기 위한 방법 및그 시스템 - Google Patents

데이터 통신 네트워크에서 폭주 제어를 제공하기 위한 방법 및그 시스템 Download PDF

Info

Publication number
KR100293756B1
KR100293756B1 KR1019980043070A KR19980043070A KR100293756B1 KR 100293756 B1 KR100293756 B1 KR 100293756B1 KR 1019980043070 A KR1019980043070 A KR 1019980043070A KR 19980043070 A KR19980043070 A KR 19980043070A KR 100293756 B1 KR100293756 B1 KR 100293756B1
Authority
KR
South Korea
Prior art keywords
bin
time
control interval
data
traffic
Prior art date
Application number
KR1019980043070A
Other languages
English (en)
Other versions
KR19990044866A (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 KR19990044866A publication Critical patent/KR19990044866A/ko
Application granted granted Critical
Publication of KR100293756B1 publication Critical patent/KR100293756B1/ko

Links

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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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/28Flow control; Congestion control in relation to timing considerations
    • 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
    • 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/13Flow control; Congestion control in a LAN segment, e.g. ring or bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element

Abstract

기존의 IEEE 802.3x 표준을 구현하는 이더넷 네트워크의 동작에 요구되는 정지 시간과 같은 컴퓨터 네트워크 동작을 스케줄하기 위하여 빈 패킹 알고리즘이 채용되었다. 그러한 네트워크에서는, 네트워크의 임의의 노드가 그 흐름 제어 노드에서의 폭주를 피하기 위하여 업스트림 스테이션으로부터의 트래픽 흐름을 제어할 수 있다. 폭주를 감지함에 따라, 상기 흐름 제어 노드는, 상기 폭주를 유발하는 각 업스트림 노드가 다음의 제어 간격에 걸쳐 전송을 얼마나 오랫동안 정지하여야 하는지를 판단한다. 본 발명에 의하면, 상기 정지 시간은 상기 소스들을 하나 또는 그 이상의 빈으로 정렬시키기 위하여 빈 패킹 알고리즘을 사용하여 스케줄되거나 시차를 갖게 된다. 빈 특성으로서 요구되는 것의 하나로는 특정의 빈내의 소스들에 대하여 정지 시간이 중복되지 않아야 한다는 것이다. 빈 특성으로서 요구되는 다른 것으로는, 빈내의 정지 시간들의 합이 제어 간격의 길이보다 크지 않아야 한다는 것이다. 본 발명의 바람직한 실시예에 의하면, 연산된 정지 시간은 서로 다른 숫자의 범위를 갖는 서로 다른 그룹으로 분류되고, 주어진 빈으로 패킹하기 위하여 임의의 특정의 그룹으로부터 단 하나의 정지 시간만이 선택된다.

Description

데이터 통신 네트워크에서 폭주 제어를 제공하기 위한 방법 및 그 시스템
본 발명은 데이터 통신 네트워크(data communications network)에 관한 것으로서, 특히 상기 네트워크에서 폭주 제어(congestion control)를 제공하기 위한 방법 및 그 시스템에 관한 것이다.
데이터 처리 시스템(data processing system)이 처음 상업적으로 널리 보급되었을 때, 그 표준 시스템 구성은 국지적으로 부착된 터미널을 통하여만 억세스할 수 있던 자율적인 메인프레임(mainframe) 또는 호스트 컴퓨터(host computer)였다. 그 시대에는 호스트 컴퓨터와의 상호 접속(interconnecting)으로부터 어떤 상당한 혜택을 인지한 사람은 드물었다.
시간이 흐름에 따라, 호스트 컴퓨터와의 상호 접속 또는 네트워킹(networking)에 의하여 상당한 상업적 이익을 얻을 수 있음이 이해되었다. 하나의 호스트 컴퓨터에서 사용자들에 의하여 생성된 데이터는, 비록 다른 호스트 컴퓨터들이 수 마일이나 멀리 떨어져 있을지라도, 그 다른 호스트 컴퓨터에 위치한 사용자들에 의하여 쉽게 또한 빠르게 공유되었다. 또한, 주어진 호스트 컴퓨터의 기능적 성능은 국지적으로 부착된 사용자들 사이에서뿐만 아니라 원격지에서 네트워크로 부착된 사용자들 사이에서도 공유될 수 있는 자원(resource)으로서 다루어질 수 있었다. 이러한 타입의 메인프레임 네트워크는 일반적으로 광역 네트워크(Wide Area Network ; WAN)라 불리게 되었다.
메인프레임 컴퓨터 기술의 개발과 보다 이후의 개인용 컴퓨터 기술의 개발에는 어떠한 병존이 있었다. 초기의 개인용 컴퓨터는 독립형 구성으로 개인 사용자에 의하여 사용되기 위한 상대적으로 소박한 장치였다. 궁극적으로, 메인프레임 네트워크의 개발을 이끌었던 것과 동일한 요구(데이터 공유 및 자원 공유)에 의하여 개인용 컴퓨터와 프린터 및 데이터 기억 장치와 같은 주변 장치(auxiliary device)의 네트워크의 개발이 추진되기 시작하였다.
메인프레임 네트워크는 주로 광범위하게 분리된 메인프레임간에 2지점간(point-to-point) 접속을 사용하여 개발되었으나, 개인용 컴퓨터 네트워크는 하나의 건물 또는 심지어 한 건물내의 한 영역과 같은 지리적으로 한정된 영역에서 개인용 컴퓨터들과 주변 장치들을 상호 접속시키는 공유된 또는 공통의 전송 매체(transmission media)를 사용하여 개발되었다. 이러한 타입의 네트워크는 일반적으로 근거리 네트워크(Local Area Network ; LAN)라 불리게 되었다.
서로 다른 LAN 기술들이 존재한다. 현재, 가장 인기 있는 LAN 기술은 이더넷(Ethernet) 기술이다. 이더넷 LAN에서는, 개인용 컴퓨터들과 주변 장치들은 공통의 양방향 데이터 버스를 공유한다. 이하의 설명에서는, LAN에 부속된 장치들을 일반적으로 스테이션(station) 또는 LAN 스테이션이라 부른다. 임의의 전송 가능 LAN 스테이션은 상기 버스에 전송을 개시할 수 있으며, 모든 전송은 양방향으로 전파되어 상기 전송 스테이션을 포함하여 상기 버스와 동일한 버스에 부속된 모든 LAN 스테이션에 의하여 수신된다.
몇몇 LAN 스테이션이 동시에 상기 버스를 요구할 수 있기 때문에, 충돌 감지 다중 억세스/반송파 검출 프로토콜(Collision Sense Multiple Access/Carrier Detect protocol ; CSMA/CD protocol)이 존재하여 부딪힌 사용자들 사이의 상충(conflict)을 해결한다. 상기 프로토콜은 상대적으로 간단하다. 하나의 스테이션이 전송할 데이터를 갖고 있을 때, 그것은 상기 버스가 이미 다른 스테이션으로부터의 데이터를 반송중인가를 알아보기 위하여 상기 버스를 "경청(listen)"한다. 만약 상기 버스가 사용중이지 않은 것으로 밝혀졌다면, 상기 경청하던 스테이션은 즉시 자신의 전송을 시작한다. 만약 상기 버스가 사용중인 것으로 밝혀졌다면, 송신하기 위한 데이터를 갖고 있는 상기 스테이션은 상기 버스 획득 프로세스(bus acquisition process)를 재시작하기 전에 미리 결정된 간격(interval) 동안 대기한다.
전기적 신호는 모든 도체를 따라 전파되는 데에 시간을 소요하기 때문에, 두 개 이상의 스테이션이 경청할 수 있고, 그 시점에서 상기 버스가 고요한 것으로 판단하여 동시에 전송을 시작할 수 있다. 만약 그런 일이 발생하면, 전송중인 스테이션으로부터의 데이터는 충돌하여 붕괴된다. 만약 전송중인 스테이션이 그가 전송한 데이터와 동일한 데이터를 검출하지 않았다면, 그 스테이션은 짧은 전파 방해 신호(jamming signal)를 송신하고 전송을 중지한다. 상기 전파 방해 신호는 모든 다른 전송중인 스테이션들이 그 충돌을 검출하여 스스로 전송을 중지할 기회를 증가시킨다. 임의의 지연후에, 전송중인 각 스테이션은 버스 획득 프로세스를 재시작한다.
이더넷 LAN의 개발을 이끌었던 것과 동일한 사용자 요구(데이터 공유 및 자원 공유)는, LAN 브리지(bridge) 또는 스위치라 알려진 경계 장치(boundary device)를 통해 상호 접속된 다수의 이더넷 LAN으로 구성된 이더넷 네트워크의 탄생을 이끌었다. LAN 스위치 사이의 2지점간 접속 또는 링크에 의하여 임의의 주어진 이더넷 LAN으로부터 시발된 트래픽(traffic)이 동일한 교환 이더넷 네트워크(switched Ethernet network)의 다른 임의의 LAN에 접속된 LAN 스테이션으로 수송(transport)될 수 있다. 주어진 스위치간 링크(switch-to-switch link)는 전형적으로 동시에 다수의 소스(source)로부터의 트래픽을 반송한다. 이더넷은 원래 공유된 매체 LAN 기술로서 개발되었지만, 전 이중 링크(full duplex link)를 지원하기 위하여 "교환" 이더넷 기술이 개발되고 있다.
상기 CSMA/CD 프로토콜은 하나의 공유된 이더넷 LAN내에서는 꽤 효율적인 흐름 제어 메카니즘을 제공하지만, 교환 링크에서의 흐름을 제어(폭주를 방지)하는 데에는 효율적이지 못하다. 스위치간 링크에서의 흐름 제어를 제공하기 위하여, 최소한 하나의 표준 그룹, 즉 IEEE 802.3 작업 그룹이 상기와 같은 링크에 대한 흐름 제어 표준(IEEE 802.3x)을 개발하였다. (현재 개발된 바와 같은)상기의 표준하에서, 네트워크에서의 하나 또는 그 이상의 업스트림(upstream) 스테이션으로부터의 데이터의 전송을 금지하기를 원하는 스테이션은, 무엇보다도 정지 시간(pause time) 및 예약된 다중 동보 통신 어드레스(reserved multicast address)를 포함하는 정지 프레임(pause frame)을 생성한다. 정지 시간은 다수의 시간 슬롯(time slot)으로서 표현되며, 상기 시간 슬롯은 상기 링크에 64 바이트(byte)의 패킷(packet)을 전송하는 데에 소요되는 시간이다. 상기 IEEE 802.3x 흐름 제어는, 전 이중 이더넷 링크에서의 흐름 제어의 부족을 극복하기 위하여 주로 설계된 것이지만, 공유된 세그멘트(shared segment)에서도 역시 사용될 수 있다.
브리지와 같은 링크 제어 스테이션은 상기 지정된 정지 시간 동안 상기 전체 링크에서의 트래픽을 정지시키기 위한 상기 예약된 다중 동보 통신 어드레스에 응답할 수 있다. 이론상으로는 링크 제어 스테이션 대신에 특정의 LAN 스테이션을 식별하는 목적지 어드레스(destination address)를 가진 정지 프레임을 송신하는 것이 가능하다. 현재의 실무에서는, 목적지 어드레스로서 예약된 다중 동보 통신 어드레스 이외의 다른 어떤 것을 구비하는 정지 프레임을 생성하는 것은 상기 표준을 위반한 것이 된다.
상기 표준에 현재 정의된 접근 방식의 일반적인 문제점은 흐름 제어가 개별 스테이션 레벨이 아니라 링크 레벨에서 수행된다는 것이다. 결과적으로, 폭주된 경로를 다루기 위하여 개시된 흐름 제어는 폭주되지 않은 경로를 따르는 흐름도 간섭하는 것으로 귀결될 수 있다.
흐름 제어 신호의 어드레스를 개별 스테이션으로 지정할 수 있도록 상기 표준을 확장하면, 문제의 전부는 아니지만 일부를 해결할 수 있다. 성공적인 정지 프레임 사이의 시간의 길이는 제어 간격(control interval)으로서 정의될 수 있다. 만약 흐름 제어 스테이션이 제어 간격의 시점에서 n 개의 서로 다른 트래픽 소스(traffic source)가 정지할 것을 요구한다면, 상기 모든 트래픽 소스는 본질적으로 동일한 시간에 정지할 것이며, 제어되는 링크에서 활성화된 접속의 개수는 n 개만큼 감소될 것이다. 그러나, 상기 트래픽 소스가 그들 각각의 정지 시간을 완료함에 따라, 다수의 소스가 본질적으로 동일한 시간에 송신을 재개할 것이다. 개별 소스에서의 이러한 의도되지 않았던 트래픽 행위(traffic action)의 "동기화(synchronization)"의 결과로서, 상기 흐름 제어 스테이션의 트래픽 속도(traffic rate)는 지나치게 적은 트래픽(소스 정지 시간의 착수(onset)시)과 지나치게 많은 트래픽(다수의 스테이션의 정지 시간이 완료될 때 또는 대략 그 때) 사이에서 진동하게 된다.
따라서, 본 발명의 목적은 제어 간격에 걸쳐 정지 시간을 분산시킴으로써 상기한 문제를 해결하는 것이다.
도 1은 본 발명이 구현된 메쉬 접속 네트워크를 도시한 도면.
도 2는 도시된 네트워크의 전형적인 스위칭 포인트를 보다 상세히 도시한 도면.
도 3은 본 발명을 위한 일반적인 환경을 도시한 도면.
도 4는 본 발명이 구현된 노드의 주요 기능적 구성요소를 도시한 도면.
도 5는 정지 제어 프레임의 구조를 도시한 도면.
도 6a 및 도 6b는 본 발명에 의한 활용가능한 대역폭의 효율적인 사용을 위한 정지 시간 계획 프로세스를 도시한 흐름도.
도 7은 도 6a 및 도 6b에 도시된 프로세스의 수차례 반복의 결과로서 정지 시간의 패킹(packing)을 도시한 도면.
도 8은 가정된 집합의 각 트래픽 소스에 대하여 계획된 전송 및 정지 시간의 차트.
* 도면의 주요 부분의 부호의 설명
10, 12 : 스테이션 14 : 노드
16 : 스위칭 장치 28 : 네트워크
본 발명은 데이터 통신 네트워크의 교환 장치들 사이에서 링크의 트래픽의 흐름을 제어하는 책임을 갖는 임의의 스테이션에서 수행되는 방법으로서 구현될 수 있다. 폭주의 착수를 감지하기 위하여 스테이션에서의 트래픽을 감시한다. 폭주가 감지되면, 상기의 폭주에 기여한 트래픽 소스들을 정의된 집합으로부터 식별한다. 상기 집합에 포함된 각 소스에 대한 정지 시간을 설정한다. 그 다음에, 상기 정지 시간을 제어 간격 동안에 걸쳐 분산시키도록 하는 알고리즘(algorithm)을 사용하여, 상기 집합의 각 소스에 대하여 설정된 정지 시간의 시작을 계획한다. 상기 제어 간격 동안 할당된 정지 시간 동안 각 스테이션이 침묵하여야 하는 요건을 계속하여 만족시키면서, 주어진 임의의 시간에 정지된 스테이션의 개수는 최소화된다.
본 명세서는, 본 발명으로서 파악되는 것을 특정적이고 명확하게 지적하여 청구하기 위한 특허청구범위로 결론을 맺지만, 본 발명의 바람직한 실시예의 상세는 첨부된 도면과 함께 이하의 상세한 설명으로부터 보다 잘 이해될 것이다.
도 1은 스테이션(10 및 12)으로 도시된 원격지의 사용자들 사이의 통신을 지원하는 데이터 통신 네트워크를 일반적으로 표현한 도면이다. 상기의 네트워크에서는, 상기 스테이션의 하나로부터 기원하는 데이터는 노드(node)(14)로 예시한 다수의 메쉬 접속 데이터 시스템(mesh-connected data system) 또는 노드로서 일반적으로 표현된 중간의 네트워크를 가로질러 다른 스테이션에 도달한다. 노드의 구성 및 기능은 네트워크에 구현된 네트워킹 프로토콜(networking protocol)의 함수로서 변화한다. 본 발명의 목적을 달성하기 위하여, 본 발명을 구현하는 노드는 동시에 다수의 소스로부터의 트래픽을 처리할 수 있어야 하며, 입력 링크의 임의의 집합으로부터의 트래픽을 출력 링크의 임의의 집합으로 경로 지정(routing)하거나 스위칭(switching)할 수 있어야 한다.
도 2를 참조하면, 노드는 단지 다른 노드와 접속하는 통과 장치(pass-through device)인 것만은 아니다. 물론, 스위칭 장치(16)는 화살표(18)에 의하여 집합적으로 표현된 입력 링크의 집합을 통해 다른 노드로부터의 데이터 트래픽을 수신할 수 있어야 하며, 화살표(20)에 의하여 집합적으로 표현된 출력 링크의 집합으로부터 선택된 출력 링크로 데이터 트래픽을 경로 지정하거나 스위칭할 수 있어야 한다. 전형적으로, 노드의 스위칭 장치도 또한 스위칭 장치(16)에 직접 접속된 워크스테이션(22 및 24)이나 국지적 네트워크(26)에 의하여 제공되는 것과 같은 국지적으로 발원된 데이터 트래픽을 처리할 수 있어야 한다. 워크스테이션(28, 30 및 32)과 같은 국지적 네트워크(26)의 스테이션의 관점에서는, 상기 스위칭 장치(16)는 다른 LAN 스테이션인 것처럼 보인다.
도 3을 참조하면, 데이터 경로 지정/스위칭을 수행하는 노드(34)는, 단지 네트워크 클라우드(network cloud)(38)로 표현한 중간의 네트워크와 상기 노드(34)로의 입력 링크의 집합(40)을 통하여 형성된 접속을 통해 상기 노드로 트래픽을 제공하는 다수의 독립적인 트래픽 소스(스테이션 36a, 36b, 36c 및 36d로 표현됨)에서 발원된 데이터 트래픽을 위한 집신기(concentrator)로서 동작할 필요가 있다. 트래픽 소스는 서로간에 독립적이기 때문에, 그들의 정규 동작중의 어떤 시점에서, 수용될 수 없는 지연 또는 손실을 초래하지 않으며 노드가 처리할 수 있는 것보다 많은 트래픽을 공급하려고 시도할 가능성이 존재한다. 수용할 수 있는 방식으로 대처할 수 있는 것보다 많은 트래픽을 수신하는 노드는 폭주 상태(congested condition)에 있다고 불린다. 본 발명은 폭주의 원인인 업스트림 스테이션으로부터의 트래픽의 흐름을 제어함으로써 노드가 폭주 상태로 유도될 가능성을 감소시킨다.
IEEE 802.3x에서 제안된 표준을 만족하는 네트워크에서는, 도 4에 블록도의 형식으로 도시된 종류의 노드(42)에서 트래픽 관리를 수행할 수 있다. 상기와 같은 노드는 데이터 처리 시스템의 특별한 형식으로 특징지워질 수 있다. 임의의 데이터 처리 시스템과 같이, 상기 노드(42)는 노드 프로세서(44), 메모리 시스템(46) 및 운영 체계(48)를 포함한다. 경로 지정 및 스위칭 동작을 지원하기 위하여, 노드(42)는 또한, 입력 링크의 서로 다른 접속을 통해 도착하는 데이터를 일시적으로 저장하기 위한 일단의 입력 버퍼(50), 스위치 조직(switch fabric)(52) 및 교환된 데이터 트래픽을 상기 노드로부터 출력 링크로 전달할 수 있을 때까지 일시적으로 저장하기 위한 일단의 출력 버퍼 등을 포함한다.
본 발명의 바람직한 실시예에 의하면, 본 발명은 상기 노드에서 실행되는 컴퓨터 애플리케이션 프로그램(computer application program)(56)에 의하여 수행되는 프로세스로서 구현될 수 있다. 상기 프로그램(56)은 폭주 감시기 구성 요소(congestion monitor component)(58), 정지 시간 생성기(pause time generator)(60) 및 정지 시간 스케줄러(pause time scheduler)(62)를 포함한다. 상기 폭주 감시기(58)는 상기 노드에서의 폭주 표시를 제공하는 임의의 적절한 기술을 사용할 수 있다. 상기 출력 버퍼(54)의 점유율(occupancy rate)을 감시하기 위하여 일반적으로 채택되는 기술의 하나로서, 임계 점유 수준(threshold occupancy level)이 정의된다. 버퍼의 점유 수준이 이 임계값 이하인 동안은, 상기 접속은 폭주되지 않은 것으로 판단되고 흐름 제어 동작이 수행되지 않는다. 그러나, 상기 버퍼가 상기 임계 점유 수준 이상으로 부하를 받게되면, 그 접속은 폭주된 것으로 판단되고 흐름 제어 동작이 개시된다.
상기한 바와 같이, IEEE 802.3x 요건을 충족하는 네트워크는 업스트림 트래픽 소스에 대한 정지 시간을 계산함으로써 흐름 제어를 수행한다. IEEE 802.3x 정지 제어 프레임의 일반적인 포맷(format)이 도 5에 도시되었다. 상기 프레임은 예약된 다중 동보 통신 어드레스 또는 특정의 업스트림 스테이션의 어드레스의 어느 하나를 포함하는 6 바이트(byte)의 목적지 어드레스 필드(Destination Address field)를 포함한다. 예약된 다중 동보 통신 어드레스를 인식하는 업스트림 노드는 링크 수준에서의 흐름 제어를 제공한다. 그 도메인(domain)의 특정의 업스트림 스테이션의 어드레스를 인식하는 업스트림 노드는 스테이션 수준에서의 흐름 제어를 제공한다.
상기 정지 제어 프레임은, 흐름 제어 동작을 수행하는 다운스트림 스테이션을 식별하는 6 바이트의 소스 어드레스(Source Address) 필드와, 상기 프레임을 제어 프레임으로서 식별하는 값으로 인코딩된 2 바이트의 길이/타입(Length/Type) 필드와, 상기 프레임을 정지 프레임으로서 식별하도록 인코딩된 2 바이트의 MAC 제어 옵코드(MAC Control OpCode) 필드와, 영향을 받는 스테이션 또는 링크에 대한 정지 시간을 규정하는 2 바이트의 MAC 제어 파라미터(MAC Control Parameters) 필드를 더 포함한다. 상기 프레임을 IEEE 802.3x 시스템에서 구현된 이더넷 프로토콜과 충족시키기 위하여, 상기 프레임은 그 프레임 길이를 이더넷 프레임에 요구되는 64 바이트의 최소 길이로 증가시키기 위한 충분한 비데이터 문자들(non-data characters)로 부연된다.
본 발명에 내재하는 전제는, 소정의 제어 간격 동안의 지정된 정지 시간 동안 다수의 업스트림 스테이션이 침묵하도록 유도되어야 하는 곳에서조차, 각 스테이션이 최소한 그 제어 간격 동안의 계획된 정지 시간 동안은 침묵하여야 한다는 요건을 계속하여 만족시키면서도 임의의 주어진 시점에서 정지된 또는 침묵하는 스테이션의 개수를 최소화하는 방식으로 상기 정지 시간을 계획하는 것 또는 시차를 두는 것이 바람직하다는 것이다. 정지 시간의 스케줄링은 각 제어 간격의 시초에 실행되는 일반적으로 빈 패킹 알고리즘(bin packing algorithm)으로 알려진 알고리즘을 사용하여 수행된다. 연산을 위한 초기 데이터는 흐름 제어 노드에서 검출된 폭주 접속에 기초하여 업스트림 노드에 대해 생성된 정지 시간의 집합으로 이루어진다. 폭주 검출 또는 정지 시간 연산의 상세는 본 발명의 이해를 위하여 필수적인 것은 아니며, 본 발명은 어떤 방식으로든 생성된 정지 시간의 스케줄링에 관한 것이다.
상기 빈 패킹 알고리즘의 바람직한 형태를 설명하기 위하여, 아래와 같은 임의적으로 생성된 정지 시간들의 집합이 15 개의 시간 슬롯(time slot)의 기간을 갖는 제어 간격의 초기에 존재한다고 가정한다. 즉,
8, 4, 3, 1, 11, 7, 2, 1, 9, 5, 3, 6, 2, 3, 5, 4 및 5.
설명을 간단히 하기 위하여, 이 집합의 정지 시간의 개수와 제어 간격의 기간의 개수를 적은 것으로 하였다. 실제로는, 정지 시간의 개수와 제어 간격의 기간의 개수는 제어되는 네트워크의 크기에 따라 여기에서 예시된 개수보다 상당히 많아진다.
만약 상기 제어 간격의 기간이 15 개의 시간 슬롯이라면, 정지 시간의 수용 가능한 범위는 하나로부터 15 개의 시간 슬롯이 된다. 이 범위의 십진 정지 시간값(decimal pause time value)은 4 비트의 이진 워드(word)로 표현될 수 있다. 본 발명에 의하면, 규정된 범위내에서의 각 정지 시간은 이진 "1" 값을 갖는 최상위 비트의 위치에 전적으로 의존하여, 이하의 표 1에 개시된 바와 같이 서로 다른 4 개의 숫자의 그룹에 할당된다. 즉,
십진 범위 그룹
8-15 1
4-7 2
2-3 3
0-1 4
상기의 기준을 사용하여, 상기 정지 시간의 집합을 재그룹화하면, 다음의 표 2와 같다. 즉,
십진형식 이진형식 그룹
8 1000 1
11 1011 1
9 1001 1
4 100 2
7 111 2
5 101 2
6 110 2
5 101 2
4 100 2
5 101 2
3 11 3
3 11 3
2 10 3
3 11 3
2 10 3
1 1 4
1 1 4
상기 정지 시간은 십진값에 기초하는 것이 아니라, 이진 "1" 값을 갖는 최상위 비트의 위치에 기초하여 그룹화되기 때문에 크기가 감소되는 순서로 재정렬될 필요는 없다.
도 6의 흐름도는 상기 제어 간격 동안의 임의의 주어진 시간에 침묵하고 있는 스테이션의 개수를 최소화하기 위하여 정지 시간을 스케줄링하기 위한 프로세스의 바람직한 일 실시예를 정의한다. 상기 프로세서의 목적은, 상기 정지 시간을 서로 다른 빈("bin")인 Bi- 여기서, i는 패킹 프로세스중에 할당됨 - 에 분산시키는 것이다. 본 발명의 바람직한 실시예에 의하면, 상기 정지 시간이 분배된 네 가지 숫자의 그룹 각각에 그룹 계수 kj(kj는 정수)를 할당할 수 있다. 그룹 계수는 상기 프로세스의 한 번의 순회중에 임의의 특정한 숫자의 그룹으로부터 선택될 수 있는 정지 시간의 최대 개수를 결정한다.
상기 프로세스의 최초의 단계(64)는 각 제어 간격의 초기의 집합 I로 로드(load)될 임의의 미리 연산된 정지 시간을 호출한다. 설명을 위하여 미리 연산된 정지 시간의 집합이 존재하는 것으로 가정하였으나, 그러한 정지 시간은 폭주 상황에 직면하였을 때에만 존재한다. 폭주 제어 동작이 필요한지를 판단하기 위하여, 집합 I가 비어있는지에 관하여 임계 판단이 수행된다(단계 65). 만약 집합 I가 비어있다면, 폭주 제어 동작은 필요하지 않으며, 상기 프로세스는 종료한다. 그러나, 집합 I가 하나 또는 그 이상의 정지 시간을 포함하고 있다면, 상기 프로세스는 상기 집합 I의 모든 정지 시간의 합이 상기 제어 간격의 길이 T보다 작은지에 관하여 판단하는 단계 66으로 진행한다. 만약 상기 단계 66의 판단의 결과가 긍정적이라면, 단계 68에서 모든 정지 시간을 하나의 빈(bin)에 패킹하고, 상기 프로세스는 종료한다.
그러나, 상기 가정된 정지 시간의 집합에 대하여, 그 결합된 합(combined sum)이 15 개의 시간 슬롯을 갖는 가정된 제어 간격을 훨씬 초과하면, 상기 프로세스는 상기 집합 I의 내용이 작업 집합(working set) C로 복사되는 단계 70으로 진행한다. 최초에는 B1인 빈(bin) Bi는 단계 72에서 비워지고, 가장 큰 값을 갖는 숫자의 그룹의 정지 시간은 단계 74에서 제 1 목록으로 그룹화된다. 상기 가장 큰 값을 갖는 숫자의 그룹에 어떤 정지 시간이 존재하리라는 것을 보장할 수 없기 때문에, 상기 프로세스의 첫 번째 순회중에도 상기 제 1 목록이 실제로 비어있는가에 관하여 판단한다(단계 76).
만약 상기 제 1 목록에 최소한 하나의 정지 시간이라도 존재한다면, 그 정지 시간은 단계 78에서 빈 B1로 패킹된다. 정의에 의하여, 최대 정지 시간값은 상기 제어 간격의 길이 T를 초과할 수 없는데, 이것은 상기 정지 시간들의 가장 큰 값을 갖는 숫자의 그룹으로부터의 최소한 하나의 정지 시간이 비어있는 빈과 조화된다는 것을 의미한다.
상기 가장 큰 값을 갖는 그룹으로부터의 정지 시간이 빈 B로 패킹된 후에, 또는 상기 가장 큰 값을 갖는 숫자의 그룹 목록이 실제로 비어있다는 것을 알게된 후에, 다음 그룹이 선택되고(단계 80), 그 숫자의 그룹에 속하는 작업 집합 C의 임의의 정지 시간의 목록이 생성된다. 여기에서, 변수 m이 0(영)으로 초기화된다(단계 81). 상기 변수 m은 각 빈을 패킹하는 프로세스 도중에 특정 숫자의 그룹으로부터 하나의 숫자를 선택하기 위한 시도의 최대 회수를 제어하기 위한 계수 루틴(counting routine)에서 채용된다. 동일한 단계에서, 동일한 계수 루틴에 사용하기 위하여 상기 그룹에 미리 할당된 상기 계수 kj를 리트리브한다. 이하에 보다 상세히 설명하는 바와 같이, 각 숫자의 그룹은 각 빈의 패킹중에 최대 kj번 고려된다.
특정한 숫자의 그룹에 대하여 기준을 만족하는 정지 시간이 존재하지 않을 가능성이 존재하기 때문에, 단계 82에서 상기 목록이 비어있는지에 관하여 판단한다. 상기 목록이 최소한 하나의 정지 시간을 포함한다고 가정하면, 상기 변수 m은 1씩 증가하며 상기 목록의 제 1 정지 시간의 값은 현재의 것에 이미 패킹된 임의의 정지 시간의 값과 결합된다(단계 84). 단계 86에서 제어 간격의 길이 T에 대하여 최종 합을 비교한다. 만약 상기 단계 86에서 획득한 상기 합이 상기 T보다 크다면, 상기 선택된 정지 시간은 작업 집합 C에 남겨둔다. 그러나, 상기 합이 상기 T보다 작거나 같다면, 상기 선택된 정지 시간은 상기 빈으로 패킹된다(단계 88).
그 다음에, 상기 단계 83에서 증가된 변수 m이 선택된 숫자의 그룹에 대한 그룹 계수 kj보다 작은지에 관하여 판단한다. 만약 상기 m이 상기 kj보다 작다면, 상기 프로세스는 고려중인 목록에 정지 시간값이 남아있는지를 판단하는 단계 82로 복귀한다. 단계 82, 83, 84, 86 및 90은, 현재의 목록이 단계 82에서 비어있는 것으로 판단되거나 또는 상기 m이 처리중인 숫자의 그룹에 대한 상기 kj와 동일하게 되도록 증가될 때까지 반복되는 프로그램 루프(loop)를 정의한다. 그리하여, 만약 kj= 3이라면, 상기 루프는 3회까지 반복될 수 있으며, 상기 현재의 목록이 단계 82에서 비어있는 것으로 판단되는 경우에만 미리 "중단(break)"된다.
규정된 탈출 조건의 어느 하나를 발견한 경우에는, 상기 프로세스는 모든 숫자의 그룹이 처리되었는지를 판단하는 단계 92로 진행한다. 상기 단계 92의 판단의 결과가 부정적이라면, 상기 프로세스는 그 다음의 낮은 값인 숫자의 그룹으로 이동한다.
상기한 단계들은, 상기 단계 92에서 모든 그룹이 처리되었다고 표시될 때까지, 이후의 각 숫자의 그룹에 속하는 정지 시간에 대하여 반복된다. 여기에서, 상기 빈은 표시된 프로세스에서 사용될 만큼 패킹된다. 현재의 빈 Bi에 패킹된 모든 정지 시간은 단계 94에서 집합 I로부터 제거되고, 상기 단계 94에서 i를 증가시킴으로써 새로운(비어있는) 빈을 선택한다. 단계 65에서 상기 전체 프로세스가 다시 시작되며, 상기 단계 65에서는 집합 I에 정지 시간이 잔류하는지를 판단한다.
상기 프로세스의 반복 동안 계속되는 각 빈이 패킹됨에 따라 집합 I의 크기가 감소되므로, 상기 집합 I는 궁극적으로는 비워지던가(단계 65의 판단의 결과가 긍정적인 경우에 표시됨), 잔류하는 모든 정지 시간이 그룹 단위의 프로세스를 수행하지 않고서 하나의 빈에 패킹될 수 있을 정도로 작아지게 된다. 상기 프로세스는 단계 68에서 잔류하는 정지 시간이 상기 빈으로 일단 전달됨에 따라 정지한다.
도 7은 상기한 프로세스의 후속되는 반복 동안, 정지 시간이 작업 집합 C로부터 계속되는 빈으로 이동하는 것을 도시한 도면이다. 반복 헤딩(Iteration heading) 아래의 수직 칼럼은 상기 프로세스의 각 반복에서의 작업 집합의 내용을 도시하며, 굵은 이탤릭(italic) 글씨체로 표현된 숫자들은 각 반복중에 현재의 빈으로 전달되는 정지 시간을 나타낸다. 예를 들어, 상기 프로세스의 제 1 반복중에는, 굵은 이탤릭 글씨체인 숫자 8, 4 및 3이 작업 집합으로부터 Bin 1로 이동한다. 프로세스 반복중에 빈으로 이동한 임의의 정지 시간은 작업 집합으로부터 제거되고, 따라서 상기 작업 집합은 각 반복마다 수축하게 된다. 이러한 수축은 상기 프로세스의 이전의 반복중에 이동한 정지 시간의 오른편에 나타나는 대시(dash ; -)로 도시하였다.
상기 각 숫자의 그룹에는 단일한 그룹 계수를 할당하는 것이 바람직하다. 이렇게 하는 것의 이점은 연산의 단순화이다. 프로세스의 반복 회수는 숫자의 그룹의 개수로 제한된다. 모든 그룹 계수를 하나로 설정하는 것의 단점으로서 가능한 것은, 각 그룹으로부터의 첫 번째 정지 시간만이 각 프로세스의 반복중에 고려될 것이라는 점이다. 만약 (빈 오버플로우(overflow)를 야기하기 때문에) 상기 첫 번째 정지 시간이 현재의 빈으로 패킹될 수 없다고 할 지라도, 현재의 프로세스중에는 동일한 숫자의 그룹에 속하는 잠재적으로 더 작을 수 있는 다른 정지 시간을 사용할 것을 고려할 수 없게 된다. 결과적으로, 몇몇 빈은 최적으로 패킹되지 못한다. 예를 들어, Bin 4 및 5는, 가정된 정지 시간 집합 및 하나로 제한된 그룹 계수 때문에, 각각 10 개 및 8 개의 시간 슬롯만으로 패킹되었다.
비단일(non-unitary) 그룹 계수가 사용되는 경우를 가정한다면, 다양한 방법으로 특정의 숫자의 그룹에 대한 바람직한 계수값을 획득할 수 있다. 대부분의 데이터 통신 네트워크가 확장된 시간의 주기에 걸쳐 동일한 일반적인 트래픽 패턴을 보이기 때문에, 각 숫자의 그룹에 대한 바람직한 계수는, 단지 확장된 주기에 걸친 정지 시간의 통계를 보고 각 그룹에 "영구적인" 계수를 할당함으로써 획득될 수 있다. 이러한 접근 방식이 간단하다는 장점은 갖지만, 그것은 명백히 네트워크 트래픽 패턴의 동적 변화를 고려에 넣지는 않는다. 얼마나 중대한 변화가 기대되는가에 따라, 네트워크 행동에 대한 실시간 또는 의사 실시간의 막대그래프식 또는 다른 통계적 분석을 수행하고, 최근에 활용가능한 그러한 분석에 기초하여 그룹 계수를 할당하는 것이 바람직하다.
임의의 작업 집합에서의 정지 시간의 값에 따라, "최적의" 빈 패킹 알고리즘("best fit" bin packing algorithm)을 사용하여 빈을 충만히 패킹하는 것도 수학적으로 가능하다. 상기와 같은 알고리즘을 사용하는 것은 본 발명의 범위내에 속하는 것이지만, 요구되는 연산이 추가적으로 복잡해진다는 점에 의하여 빈 패킹 효율에 관한 모든 개선점들은 그 가치가 희석될 수 있기 때문에, 그러한 알고리즘들이 언제나 바람직한 선택인 것은 아니다.
본 발명을 이해하기 위하여 필요하지만, 빈 패킹 프로세스의 상세에 관한 논의에 의하여 그 프로세스가 실제로 네트워크의 동작에 어떻게 영향을 주는지에 관하여 명확히 이해할 수 있게 하지는 않는다. 각 정지 시간은, 상기 프로세스를 구현하는 노드의 폭주 상태로 데이터 스트림을 송신하는 업스트림 스테이션과 연관된다는 것을 주의하여야 한다. 폭주 제어 프로세스의 목적은 상기와 같은 각 스테이션에 그것이 다음의 제어 간격동안 얼마나 오래 정지하여야 한다는 것뿐만 아니라 그 제어 간격중의 언제 정지 시간이 시작되는지에 관하여 알려주는 데에 필요한 정보를 생성하는 것이다.
도 8은 상기 프로세스로부터 유래하는 정지 제어 메시지에 대한 상기 업스트림 스테이션의 의도된 응답을 도시한 도면이다. 각 수평 막대기는 빗금 없는 영역으로 표시된 정지 시간과 빗금 영역으로 표시된 전송 시간을 갖는 하나의 스테이션을 나타낸다. 정의에 의하여, 정지되지 않은 임의의 소스는 전송중인 것으로 예기되며, 그것은 임의의 주어진 스테이션이 상기 제어 간격중에 전송-정지-전송의 시퀀스(sequence)를 갖는다는 것을 의미한다. 특정의 빈의 스테이션에 대한 정지 시간은 동일한 빈의 다른 어떤 스테이션에 대한 정지 시간과도 중복되지 않는다는 것을 주의하여야 한다. 이 도면은 상기 프로세스가 의도한 효과를 도시한다. 즉, 제어 간격의 길이에 걸쳐 정지 시간을 분산시켜, 임의의 주어진 시간에 침묵하거나 정지된 트래픽 소스의 개수를 최소화하면서 모든 정지 시간 의무를 만족시킨다.
본 발명의 바람직한 실시예로 판단되는 것에 관하여 설명하였으나, 본 발명의 기술 분야의 통상의 지식을 가진 자에게는 변경 및 수정이 가능할 것이다. 예를 들어, 본 발명은 네트워크의 특정 노드에서의 폭주를 피하기 위하여 정지 시간을 스케줄링하는 것을 개시하였으나, 본 발명은 또한 이미 알려진 제어 간격내에서 임의의 종류의 데이터 처리 동작을 담당하는 다수의 시스템이 존재하는 임의의 시스템에 적용될 수 있다. 본 발명을 사용함으로써, 상기 시스템에서의 동작의 시작 및 그 동안이 제어될 수 있다. 이하의 특허청구범위는 상기의 바람직한 실시예와 본 발명의 기술 사상의 범위내에 속하는 상기의 변경 및 수정 모두를 포함하는 것으로 해석되어야 한다.
도면과 상세한 설명에서 본 발명의 전형적인 바람직한 실시예를 개시하며 특정의 용어를 채용하였으나, 그것들은 일반적이고 기술적인 의미로만 사용되었을 뿐이며 한정의 목적을 가진 것은 아니며, 본 발명의 범위는 이하의 특허청구범위에 의하여 결정된다.
본 발명에 의하면, 제어 간격 동안 할당된 정지 시간 동안 각 스테이션이 침묵하여야 하는 요건을 계속하여 만족시키면서, 주어진 임의의 시간에 정지된 스테이션의 개수를 최소화할 수 있다.

Claims (7)

  1. 전송 링크(transmission link)에 의하여 상호 접속된 다수의 데이터 트래픽 소스(data traffic source)를 구비한 데이터 통신 네트워크(data communication network)에서, 미리 결정된 제어 간격(control interval)에 걸쳐 상기 소스로부터 특정의 노드(node)로의 데이터의 흐름을 제어하기 위한 방법에 있어서,
    상기 제어 간격 동안 각 데이터 트래픽 소스에 대한 원하는 전송 패턴(transmission pattern)을 결정하는 단계;
    하나 또는 그 이상의 트래픽 소스에 대한 엔트리(entry)를 각각 포함하는 하나 또는 그 이상의 빈(bin)을 정립하는 단계 - 단 하나의 트래픽 소스만이 상기 빈에 속하도록 선택된 상기 엔트리는 상기 제어 간격 동안의 임의의 주어진 시간에 정지하며, 상기 빈의 정지 시간(pause time)들의 합은 상기 제어 간격의 길이보다 크지 않음 - ; 및
    전송 제어 메시지(transmission control message)에 포함된 정보의 함수로서 상기 제어 간격 동안 상기 소스로 하여금 전송하거나 정지하게 하기 위하여 상기 각 데이터 트래픽 소스를 위한 상기 전송 제어 메시지를 생성하는 단계
    를 포함하는 데이터 트래픽 흐름 제어 방법.
  2. 제 1 항에 있어서,
    상기 정지 시간을 패킹(packing)하는 단계를 더 포함하며,
    상기 패킹하는 단계는,
    상기 트래픽 패턴의 정지 시간의 함수로서 상기 데이터 전송 소스를 서로 다른 중복되지 않는 그룹으로 그룹화하는 단계; 및
    특정의 그룹으로부터 하나의 소스를 빈으로 이동하는 단계
    를 포함하는 데이터 트래픽 흐름 제어 방법.
  3. 다수의 데이터 트래픽 소스(data traffic source), 상기 소스에 의하여 제공된 데이터 트래픽을 스위칭하기 위한 다수의 스위칭 장치(switching device) 및 상기 스위칭 장치를 상호 접속시키기 위한 다수의 링크(link)를 포함하는 데이터 통신 네트워크(data communication network)에서, 링크의 데이터 트래픽의 흐름을 제어하기 위한 방법에 있어서,
    폭주 상황(congestion condition)의 착수(onset)를 감지하기 위하여 상기 링크상의 데이터 트래픽을 감시하는 단계;
    폭주를 피하기 위하여 제어 간격중에 정지되어야 할 트래픽 소스로 구성된 집합을 정의하는 단계;
    미리 결정된 제어 간격중에 상기 정의된 집합의 각 트래픽 소스에 대한 정지 시간의 길이를 정립하는 단계;
    상기 제어 간격중의 주어진 임의의 시간에, 상기 집합중의 정지된 트래픽 소스의 개수를 최소화하기 위하여, 상기 정의된 집합의 각 트래픽 소스에 대하여 정립된 정지 시간의 개시를 스케줄링(scheduling)하는 단계
    를 포함하는 데이터 트래픽 흐름 제어 방법.
  4. 알려진 실행 시간을 각각 필요로 하는 데이터 처리 작업을 독립적으로 수행할 수 있는 다수의 시스템을 구비한 데이터 통신 네트워크에서, 상기 작업의 모두를 미리 결정된 제어 간격(control interval)중에 실행할 수 있도록 상기 시스템 각각에서의 작업의 시작을 스케줄링(scheduling)하기 위한 방법 - 상기 스케줄링은 작업이 수행될 시스템과 접속된 스케줄링 시스템에서 수행됨 - 에 있어서,
    다음의 제어 간격중에 일단의 작업을 실행하기 위하여 요구되는 시간으로 이루어진 숫자의 집합을 생성하는 단계;
    상기 숫자의 집합의 각 작업 실행 시간을 두 개 또는 그 이상의 중복되지 않는 숫자의 그룹의 어느 하나로 할당하는 단계 - 상기 숫자의 그룹의 각각은 미리 결정된 숫자의 범위내의 숫자값을 갖는 모든 작업 실행 시간을 포함함 - ;
    다수의 빈에 상기 작업 실행 시간을 할당하기 위한 빈 패킹 알고리즘을 실행하는 단계 - 상기 빈의 각각은 상기 숫자의 그룹 각각으로부터의 하나의 작업 실행 시간만을 포함함 - ;
    상기 시스템에 대한 시작 메시지를 생성하는 단계 - 상기 메시지의 각각은 시스템이 수행할 작업의 실행을 시작할 시간을 포함하며, 상기 시간은 그의 할당된 빈에서 상기 시스템에 대한 작업 실행 시간의 상대적 위치의 함수임 -
    상기 시스템으로 상기 시작 메시지를 분배하는 단계
    를 포함하는 데이터 통신 시스템에서의 작업 스케줄링 방법.
  5. 제 4 항에 있어서,
    상기 빈 패킹 알고리즘을 수행하는 단계가,
    a) 상기 모든 작업에 대한 작업 실행 시간의 합이 상기 제어 간격의 길이를 초과하는지를 판단하는 단계;
    b) 만약 상기 합이 상기 제어 간격의 길이와 같거나 그보다 작다면, 상기 모든 작업 실행 시간을 하나의 빈에 할당하고 상기 시작 메시지를 생성하는 단계로 진행하는 단계;
    c) 만약 상기 합이 상기 제어 간격의 길이보다 크다면,
    i) 새로운 비어있는 빈을 초기화하는 단계; 및
    ii) 이동할 빈의 내용의 합이 상기 제어 간격의 길이와 같거나 그보다 작은 경우에 작업 수행 시간을 각 숫자의 그룹으로부터 상기 빈으로 이동하는 단계
    에 의하여 패킹된 빈을 생성하는 단계;
    d) 상기 모든 작업 실행 시간이 빈으로 이동할 때가지 상기 단계 c)를 반복하고 상기 시작 메시지를 생성하는 단계로 진행하는 단계
    를 포함하는 데이터 통신 시스템에서의 작업 스케줄링 방법.
  6. 다수의 데이터 처리 시스템을 구비한 네트워크에서 이용하기 위한, 이미 알려진 길이를 갖는 제어 간격 동안에 걸쳐 상기 데이터 처리 시스템에서의 동작을 스케줄링하기 위한 스케줄링 장치에 있어서,
    상기 데이터 처리 시스템의 각각에 대한 적절한 동작 주기의 길이를 결정하기 위한 수단;
    동일한 빈내에서의 임의의 두 개의 동작 주기 사이에 중복이 존재하지 않고, 하나의 빈내에서의 동작 주기의 결합된 길이가 상기 제어 간격 동안보다 크지 않도록, 상기 데이터 처리 시스템에 대한 상기 동작 주기를 하나 또는 그 이상의 빈으로 패킹(packing)하기 위한 수단; 및
    상기 스케줄링 장치로부터 상기 데이터 처리 시스템의 각각으로 동작 제어 메시지를 분배하기 위한 수단
    을 포함하는 데이터 처리 시스템의 동작 스케줄링 장치.
  7. 다수의 데이터 트래픽 소스와 상기 소스간의 데이터 트래픽의 경로를 지정하기 위한 다수의 라우팅 장치(routing device)를 포함하는 데이터 통신 네트워크에서 이용하기 위한, 상기 라우팅 장치의 어느 하나에 위치하는 흐름 제어 장치에 있어서,
    네트워크의 미리 결정된 위치에서의 데이터 트래픽 폭주의 착수를 검출하기 위한 폭주 감시기(congestion monitor);
    상기의 폭주에 기여한 데이터 트래픽 소스를 식별하고 그들을 집합에 포함시키기 위한 소스 식별기(source identifier);
    상기 집합의 각 소스에 대한 적절한 정지 시간을 결정하기 위한 정지 시간 연산기(pause time calculator);
    상기 집합의 소스들 서로 다른 빈에 할당하기 위한 빈 패킹 콤포넌트(bin packing component) - 상기 각 빈은 중복되지 않는 정지 시간을 가지며, 상기 정지 시간의 합은 상기 제어 간격의 길이보다 크지 않음 - ;
    소스 제어 메시지를 생성하기 위한 스케줄링 구성 요소(scheduling element) - 상기 메시지의 각각은 상기 메시지에서 식별된 특정의 소스에 대한 정지 시간의 시작과 지속 기간을 규정함 -
    를 포함하는 흐름 제어 장치.
KR1019980043070A 1997-11-24 1998-10-14 데이터 통신 네트워크에서 폭주 제어를 제공하기 위한 방법 및그 시스템 KR100293756B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/977,252 1997-11-24
US8/977,252 1997-11-24
US08/977,252 US6035333A (en) 1997-11-24 1997-11-24 Method and system for providing congestion control in a data communications network

Publications (2)

Publication Number Publication Date
KR19990044866A KR19990044866A (ko) 1999-06-25
KR100293756B1 true KR100293756B1 (ko) 2001-07-12

Family

ID=25524966

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980043070A KR100293756B1 (ko) 1997-11-24 1998-10-14 데이터 통신 네트워크에서 폭주 제어를 제공하기 위한 방법 및그 시스템

Country Status (4)

Country Link
US (1) US6035333A (ko)
KR (1) KR100293756B1 (ko)
GB (1) GB2331679B (ko)
TW (1) TW386201B (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115356A (en) * 1997-12-18 2000-09-05 Advanced Micro Devices, Inc. Apparatus and method for generating flow control frames in a workgroup switch based on traffic contribution from a network switch port
US7734852B1 (en) * 1998-08-06 2010-06-08 Ahern Frank W Modular computer system
US7269680B1 (en) 1998-08-06 2007-09-11 Tao Logic Systems Llc System enabling device communication in an expanded computing device
US6167029A (en) * 1998-10-13 2000-12-26 Xaqti Corporation System and method for integrated data flow control
US6538990B1 (en) * 1999-04-15 2003-03-25 International Business Machines Corporation Method and system for congestion flow control in a high speed network
US6499072B1 (en) * 1999-09-02 2002-12-24 Ati International Srl Data bus bandwidth allocation apparatus and method
US6728253B1 (en) * 1999-09-24 2004-04-27 International Business Machines Corporation Mixed queue scheduler
US6594719B1 (en) 2000-04-19 2003-07-15 Mobility Electronics Inc. Extended cardbus/pc card controller with split-bridge ™technology
US7349960B1 (en) * 2000-05-20 2008-03-25 Ciena Corporation Throttling distributed statistical data retrieval in a network device
US20020063932A1 (en) * 2000-05-30 2002-05-30 Brian Unitt Multiple access system for communications network
US6957269B2 (en) * 2001-01-03 2005-10-18 Advanced Micro Devices, Inc. Method and apparatus for performing priority-based flow control
US20020188656A1 (en) * 2001-05-15 2002-12-12 Charles Patton Combining specialized, spatially distinguished, point to point communications with other wireless networking communications to provide networking configuration in classroom-like settings
US6980520B1 (en) * 2001-06-11 2005-12-27 Advanced Micro Devices, Inc. Method and apparatus for performing source-based flow control across multiple network devices
US20030083977A1 (en) * 2001-10-26 2003-05-01 Majid Syed System and method for providing electronic bulk buying
US6985952B2 (en) * 2001-10-31 2006-01-10 International Business Machines Corporation Energy-induced process migration
US7930341B1 (en) * 2001-12-26 2011-04-19 Marvell Israel (M.I.S.L.) Ltd. Extended flow-control for long-distance links
US7471630B2 (en) * 2002-05-08 2008-12-30 Verizon Business Global Llc Systems and methods for performing selective flow control
US7876681B2 (en) * 2002-05-24 2011-01-25 Verizon Business Global Llc Systems and methods for controlling network-bound traffic
US7327678B2 (en) * 2002-10-18 2008-02-05 Alcatel Lucent Metro ethernet network system with selective upstream pause messaging
US7496032B2 (en) * 2003-06-12 2009-02-24 International Business Machines Corporation Method and apparatus for managing flow control in a data processing system
JP3920818B2 (ja) * 2003-07-22 2007-05-30 株式会社東芝 スケジューリング方法および情報処理システム
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
US20050135401A1 (en) * 2003-12-18 2005-06-23 Michael Schmidt Multicast message routing systems and methods
US8929219B2 (en) * 2009-02-24 2015-01-06 Lg Electronics Inc. Method of limiting transmission rate
US8873389B1 (en) * 2010-08-09 2014-10-28 Chelsio Communications, Inc. Method for flow control in a packet switched network
US8438275B1 (en) * 2010-11-05 2013-05-07 Amazon Technologies, Inc. Formatting data for efficient communication over a network
WO2014087449A1 (en) * 2012-12-04 2014-06-12 Hitachi, Ltd. Network device and method of controlling the network device
US8918750B1 (en) 2013-12-06 2014-12-23 International Business Machines Corporation Multi-dimensional physical arrangement techniques using bin-packing with per-branch combination tries
US9396035B2 (en) 2013-12-06 2016-07-19 International Business Machines Corporation Multi-dimensional computing and communication resource allocation using bin-packing with per-branch combination tries
US9444754B1 (en) 2014-05-13 2016-09-13 Chelsio Communications, Inc. Method for congestion control in a network interface card
CN108282867B (zh) 2017-01-05 2021-09-21 华为技术有限公司 一种数据传输方法、装置及系统
US10917349B2 (en) 2017-08-11 2021-02-09 Marvell Israel (M.I.S.L) Ltd. Congestion avoidance in a network switch device
IT201700098767A1 (it) * 2017-09-04 2019-03-04 Panotec Srl Metodo e sistema per il posizionamento ottimizzato di oggetti all'interno di almento una scatola
CN114070796B (zh) * 2020-08-03 2023-08-29 瑞昱半导体股份有限公司 电子装置与用于电子装置的帧传送方法
CN113691457B (zh) * 2021-08-10 2023-07-18 中国银联股份有限公司 限流控制方法、装置、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5436903A (en) * 1993-06-30 1995-07-25 Digital Equipment Corporation Method and apparatus for use in a network of the ethernet type, to improve fairness by controlling collision backoff times and using stopped backoff timing in the event of channel capture
US5940399A (en) * 1996-06-20 1999-08-17 Mrv Communications, Inc. Methods of collision control in CSMA local area network
US5936962A (en) * 1996-07-02 1999-08-10 Extreme Networks, Inc. Method and apparatus for predicting and controlling data transmission in a CSMA/CD LAN
US5852723A (en) * 1996-08-06 1998-12-22 Advanced Micro Devices, Inc. Method and apparatus for prioritizing traffic in half-duplex networks
US5894559A (en) * 1996-08-15 1999-04-13 Advanced Micro Devices, Inc. System for selectively reducing capture effect in a network station by increasing delay time after a predetermined number of consecutive successful transmissions
US5905870A (en) * 1996-09-11 1999-05-18 Advanced Micro Devices, Inc Arrangement for initiating and maintaining flow control in shared-medium, full-duplex, and switched networks

Also Published As

Publication number Publication date
TW386201B (en) 2000-04-01
US6035333A (en) 2000-03-07
GB2331679A (en) 1999-05-26
GB9817208D0 (en) 1998-10-07
KR19990044866A (ko) 1999-06-25
GB2331679B (en) 2003-01-08

Similar Documents

Publication Publication Date Title
KR100293756B1 (ko) 데이터 통신 네트워크에서 폭주 제어를 제공하기 위한 방법 및그 시스템
KR100312238B1 (ko) 데이터 통신 네트워크에서 콘제스쳔 제어를 제공하기 위한 방법및 시스템
CN107241179B (zh) 一种时间触发业务静态调度表的生成方法
US9014156B2 (en) Traffic forwarding in mesh networks
US20220014297A1 (en) Scheduling deterministic flows in time synchronized networks
CN113872869A (zh) 基于优先级的流量控制防死锁方法及装置
US20110051699A1 (en) Traffic Forwarding in Mesh Networks
KR20020001403A (ko) Can 프로토콜내에서 대역폭을 할당하는 방법
CN111065169A (zh) 一种自主网系统信道时分复用的方法
KR102113641B1 (ko) 소프트웨어 정의 네트워크 시스템에서 다중 중요도 모드에 따른 패킷 스케줄링 방법, 그 방법을 구현한 컴퓨터프로그램 및 그 방법을 수행하는 스위치 장치
EP4020901B1 (en) Methods, systems, and apparatuses for enhanced parallelism of time-triggered ethernet traffic using interference-cognizant network scheduling
Liu et al. Deployment of Asynchronous Traffic Shapers in Data Center Networks
Yang et al. An Interruption-Resilient Service Priority-Oriented TDMA Scheme for NAANET
Li et al. Performance analysis of a shortest-delay protocol
Sawale et al. DMP packet scheduling for wireless sensor network
KR20180004829A (ko) 무선 통신 장치, 무선 통신 방법 및 무선 통신 프로그램
CN117749705A (zh) 流量调度方法、交换节点、控制器和时间敏感网络
Jerbi et al. An enhanced MSU‐TSCH scheduling algorithms for industrial wireless sensor networks
Kalilulah et al. Collisionless Data Transmission to Improve Throughput Using Additive Links On-line Hawaii Area Technique With Timeslot Communication
Li et al. Research on Emergency Communication Command and Scheduling Algorithm Based on Pattern Recognition
Chlamtac et al. A multiaccess protocol for multihop radio networks
CN115550237A (zh) 一种数据处理方法以及相关装置
JPH01215143A (ja) 通信方式
Obaidat A performance simulation study of the ethernet and token bus local computer networks
Li et al. PERFOID4ANCE ANALYSIS OF A SHORTEST-DELAY PROTOCOL

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