KR100287942B1 - 최근 기한 우선 스케쥴러 및 최근 기한을 갖는셀을 우선적으로전송하는 방법 - Google Patents

최근 기한 우선 스케쥴러 및 최근 기한을 갖는셀을 우선적으로전송하는 방법 Download PDF

Info

Publication number
KR100287942B1
KR100287942B1 KR1019980003884A KR19980003884A KR100287942B1 KR 100287942 B1 KR100287942 B1 KR 100287942B1 KR 1019980003884 A KR1019980003884 A KR 1019980003884A KR 19980003884 A KR19980003884 A KR 19980003884A KR 100287942 B1 KR100287942 B1 KR 100287942B1
Authority
KR
South Korea
Prior art keywords
timing wheel
time slot
transmission
data
current
Prior art date
Application number
KR1019980003884A
Other languages
English (en)
Other versions
KR19980079700A (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 KR19980079700A publication Critical patent/KR19980079700A/ko
Application granted granted Critical
Publication of KR100287942B1 publication Critical patent/KR100287942B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5672Multiplexing, e.g. coding, scrambling
    • H04L2012/5675Timeslot assignment, e.g. TDMA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

통신 네트워크 상에서 복수의 데이터 스트림의 셀 전송 스케쥴링을 위한 방법과 장치가 제공된다. 최근 기한(the earliest deadline)을 갖는 접속 혹은 데이터 스트림이 먼저 전송되게 하기 위해서 통신 네트워크 상에서 복수의 데이터 스트림의 셀 전송 스케쥴링을 위한 최근 기한 우선(EDF) 스케쥴러가 제공된다. 복수의 데이터 스트림의 각각은 지연경계 즉 기한(a delay bound or deadline)을 갖는다. 각 데이터 스트림의 데이터는 해당 데이터 셀 배열로 배열된다. 각 데이터 셀 배열에 대해서 인식된 목표전송시기를 기초로 한 타이밍 휠 타임 슬롯은 최대 지연값의 부가를 이용하여 계산된다. 전진 이동 타이밍 메카니즘(a move forward timing mechanism)은 전송을 위한 일련의 가상 접속 혹은 데이터 스트림 셀 배열을 인식하기 위한 전진주사기능(a scan forward feature)을 포함한다. 적어도 두 개의 스케쥴링 타이밍 휠을 포함하는 다단 셀 스케쥴러(a multiple tier cell scheduler)가 제공된다. 첫 번째 타이밍 휠의 우선 순위는 두 번째 타이밍 휠의 우선 순위 보다 높다. 그 두 번째 타이밍 휠의 우선 순위는 선택적인 세 번째 타이밍 휠의 우선 순위보다 높다. 그 세 번째 타이밍 휠은 최대 노력 동작모드를 포함한다. 데이터 스트림들의 절대 전송속도들이 최저위 우선 순위 휠에서 증가 혹은 저감되어 있는 동안에도, 데이터 스트림들 간의 상대 전송속도들은 유지된다.

Description

최근 기한 우선 스케쥴러 및 최근 기한을 갖는 셀을 우선적으로 전송하는 방법{AN EARLIEST DEADLINE FIRST COMMUNICATIONS CELL SCHEDULER AND SCHEDULING METHOD FOR TRANSMITTING EARLIEST DEADLINE CELLS FIRST}
본 발명은 데이터 통신 네트워크를 통한 다중 데이터 스트림의 스케쥴링(scheduling), 특히 전송 혹은 전달될 데이터를 갖고 있는 잠재적인 스트림이 여러개 있을 때 어떤 셀 혹은 패킷이 네트워크 요소(network element)로부터 전송 또는 통과되어야 하는지의 선택에 관한 것이다. 또한, 본 발명은 예비 데이터 전송속도(reserved data rate)와 지연 경계(delay bounds)에 의한 접속 분류 방법(a method of classifying connections)에 대해서 기술하고 있다. 이 지연 경계를 기한(deadline)이라고도 부른다.
관련되어 있는 특허출원건은 본 출원에 의해 본출원과 동일자로 출원된 "복수의 데이터 스트림의 셀 전송을 스케쥴링하는 방법과 장치 및, 최대 노력 스케쥴러", "Communications cell scheduler and scheduling method for providing proportional use of network bandwidth"이라는 제목의 특허출원번호 제 호이다.
멀티미디어 통신은 컴퓨터 데이터 프로세싱, 오디오/비디오, 그리고 디스플레이 기술을 하나의 대화형 환경으로 묶어주는 것이다. 데스크탑 컴퓨터 회의 및 주문형 비디오(video-on-demand)와 같은 멀티미디어 애플리케이션을 발전시키기 위해서는 공유 또는 공동의 실시간 데이터로 네트워크 액세스가 이루어져야 할 필요가 생긴다.
멀티미디어 스트림 전송에 관한 동화상 전문가그룹 MPEG-2 표준에 대해서는 "MPEG-2" 국제표준화기구(ISO/IEC ITC1/SC29/WG11) 동화상 및 관련 음성의 부호화부분에 설명되어 있다. MPEG-2 표준은 타임 스탬프 또는 프로그램 클럭 기준(Program Clock Reference: PCR)을 이용하여 복수개의 미디어 소스(media sources)를 하나의 단일 데이터 스트림으로 통합하는 시스템 계층에 대해서 정의하고 있다. MPEG-2 표준은 비디오 스트림의 크기와 질을 가변시킬 수 있는 비디오 스트림에 관한 고정 및 가변 전송속도 인코딩 구조(a fixed and variable rate encoding scheme for video streams)를 정의하고 있다. MPEG-2 표준은 다른 비디오 인코딩 구조, 예컨대 MPEG-1에 관한 전송 메카니즘을 정의하고 있다. MPEG-2 멀티미디어 스트림은 통상 비동기 전송방식(ATM)이라고 칭하는 ITU 표준을 이용하는 디지털 네크워크를 통해서 전송된다. 엠 드 프라이커(M de Prycker)의 저서 "Asynchronous Transfer Mode : Solution for Broadband ISDN", Ellis Horwood, 1991에 기술되어 있는 비동기 전송 방식 (ATM) 네트워크는 광대역 네트워크에서의 전송, 다중화 및 스위칭에 대해서 국제적으로 인정받는 기술이다. 이 방식에서는 전송단위로서 고정 크기의 셀을 사용하고 있다.
ATM 네트워크는 고품질의 음성, 비디오 및 고속 데이터 트래픽의 통합(integration)을 지원할 수 있도록 설계된다. 일반사용자(end-user)의 입장에서 보면, 이러한 설계는 접속지향형 및 접속무관형 트래픽(connection-oriented and connectionless traffic)을 일정 혹은 가변의 비트 전송속도로 전송할 수 있는 능력의 제공을 약속한다. 이는 요구에 따라 대역폭을 할당하도록 하고 타협된 서비스품질(negotiated Quality-of-Service)을 제공하도록 한다. 네트워크 제공자의 입장에서 보면, 이러한 설계는 동일한 네크워크를 통해서 다양한 트래픽 형태의 전송을 가능케 한다. 사용자가 어떤 세션에 대해 설정한 서비스품질의 요구를 네트워크가 만족시키기 위해서는, 그 네트워크는 그 세션의 트래픽특성에 관해 충분한 정보를 보유하고 있어야 한다. 이는 다음의 세가지 기본 파라미터(이것에 한정되는 것은 아니지만)에 의해서 근사될 수 있다. 1) 평균전송속도, 2) 최대전송속도, 3) 데이터가 최대전송속도로 전송될 수 있는 간격. 네트워크가 모든 사용자에게 서비스품질을 보장해주기 위해서는, 네트워크와의 서비스품질계약의 일부분으로서, 모든 세션들이 트래픽 파라미터들을 준수하고 이들 파라미터들을 위반하지 않아야 한다. 이는 각 세션들과 네트워크와의 계약을 위반하지 않아야 하는 네트워크 링크를 통해 그 다수의 세션들이 형성되어 있는 경우에 복잡한 스케쥴링 문제를 야기시킨다. 동시에, 모든 세션들은 네트워크로부터 필요한 용량을 확보해야 한다. 이 문제는 네트워크가 광범위한 트래픽 디스크립터들(traffic descriptors)을 갖고 있는 세션들을 상당수 포함하고 있을 때 특히 복잡하다. 상이한 세션들이 상이한 서비스품질을 요구한다는 사실은 또다른 문제를 제공한다. 따라서, 다툼(contention)이 있는 경우, 복수개의 세션들이 데이터를 전송해야 하고 그들 각각의 세션들과 네크워크와의 계약에 따라 데이터들을 전송허용해야 하는 경우에, 통상적으로 보다 엄격한 서비스품질 보장을 요구하는 세션들에게는 다른 세션들보다 우선 순위가 주어진다.
ATM 네트워크에 있어서, 리키 버켓 알고리즘(leaky bucket algorithm)으로 알려진 공지의 알고리즘이 한 세션에 대해 한 셀이 전송될 수 있는 시기를 판단하는데 사용되어 왔다. 이 리키 버켓 알고리즘은 어떤 셀이 주어진 시간에 어떠한 단일의 세션에 대해서 전송허용되는지의 여부를 판정하는데 이용될 수 있다. 복수의 세션을 스케쥴링하는 것은 소정의 시점 t에서 모든 세션에 대해 리키 버켓 알고리즘을 실행함으로써 제공될 수 있는데, 이로써 이 시점에서 어떤 세션이 전송을 위해 스케쥴링될 수 있는지 결정된다. 그러면, 이들 세션들로부터의 셀은 자신에게 부여된 우선 순위에 기초하여 스케쥴링될 수 있다. 리키 버켓 알고리즘에 대해서는 1996년 4월의 ATM 포럼 기술위원회 트래픽 관리 세칙(ATM Forum Technical Committee Traffic Management Specification) 버전 4.0 (af-tm-0056.000)에 설명되어 있다.
인터넷 엔지니어링 태스크 포스의 "자원보존 프로토콜" 버전 1 기능세칙("Resource ReSerVation Protocol (RSVP)" Version 1 Functional Specification of the Internet Engineering Task Force (IETF))이라고 명명된 인터넷 드래프트 문서(Internet Draft document)에서는 통합 서비스 인터넷(an integrated services Internet)용으로 설계된 자원보존 셋업 프로토콜인 RSVP의 버전 1에 대해서 설명하고 있다. RSVP는 다중방송과 단일방송 데이터 흐름(multicast and unicast data flows)에 대해서 스케일링과 견고성(robustness) 성질이 양호한, 수신자 발신 구동용 자원보존 셋업을 제공한다. 스케쥴링 알고리즘 구조는 바람직하게는 RSVP 프로토콜과 호환가능해야 한다.
어떤 흐름이 자신의 트래픽 계약 또는 트래픽 계약 전송속도 보장과 일치하는 방식으로 제공되는 것을 보장하는 것과 이 흐름이 자신의 트래픽 계약 전송속도 보장을 준수할 경우 이 흐름이 특정한 지연의 보장을 갖고 제공되는 것을 보장하는 것은 상당한 차이가 있다. 이 차이를 설명하는 예들은 다음과 같다.
두 개의 접속이 있으며, 또한 이 두 접속은 셀 5개의 토큰 버켓 크기를 갖음과 동시에, 토큰이 이용가능한 경우 매 슬롯마다 셀들이 전송될 수 있는 링크속도와 같은 최대 전송속도를 갖는다고 가정한다. 접속 1의 평균 토큰 생성율은 5개의 슬롯마다 한 개이고, 접속 2의 평균 토큰 생성율은 10개의 슬롯마다 한 개다. 이 트래픽 계약의 시행은 그 흐름을, 리키 버켓 전송속도 접속 파라미터를 이용하는 타이밍 휠(timing wheel)에 맞게 운전함으로써 이행될 수 있다. 또한, 접속 1의 지연 필요조건은 3개의 슬롯이고, 접속 2의 지연 필요조건은 6개의 슬롯이라 가정한다. 이것의 의미는, 접속 1의 경우 그 접속의 셀들은 그 셀들이 적격으로(eligible)되는 시점부터 최대 3개 슬롯이내에 링크를 통해 전송되는 것을 보장받고 싶어하고, 접속 2의 경우 그 접속의 셀들은 그 셀들이 적격으로되는 시점부터 최대 6개 슬롯이내에 링크를 통해 전송되는 것을 보장받고 싶어한다는 것이다.
아래의 예들에서, 타임 슬롯은 1부터 계수되어 다음 순번을 의미하는 높은 수로 세어 올라간다. 예컨대, 접속 1의 지연 필요조건은 3개의 슬롯이고, 만일 접속 1의 어떤 셀이 타임 슬롯 6에서 적격으로 되거나 슬롯 6에서 전송준비중이라면, 그 셀은 최종 슬롯에서 즉 슬롯 6으로부터 최대 3개의 슬롯이 지난 후에 링크를 통해서 전송되어야 할 것이다.
우선, 두 개의 접속 1과 2는 모두 슬롯 1에서 시작하는 다음의 도착패턴을 갖는다고 가정한다.
- 접속 1: 3,2,1,0,0,0,0,1,0,0,0,0,1,0,····
- 접속 2: 3,2,1,0,0,0,0,0,0,0,0,0,1,0,····
각 접속이 풀 토큰 버켓(a full token bucket)에서 시작하고 이미 한 토큰이 타임 0에서 생성되었으며 "*"가 토큰 생성 시기를 나타낸다고 가정하는 경우, 셀 적격성(eligibility)은 각 접속 다음에 대해서 리키 버켓을 중단한다.
* *
- 접속 1: 1,1,1,1,1,1,0,0,0,1,0,···· (5개마다 한번)
*
- 접속 2: 1,1,1,1,1,0,0,0,0,1,0,···· (10개마다 한번)
또한, 위의 시퀀스는 각 셀이, 적격으로 되는 시점에 전송될 수 있었다고 가정하거나, 혹은 이전의 셀이 실제로 떠난 시기가 아니라 이전의 셀이 이미 떠났어야 했을 시기를 기초로 하여 다음 셀의 적격시기가 계산됨이 적격으로 되는 시기에 셀이 전송될 수 없는 경우에 전송될 수 있다는 가정하에서 판정되었다. 이것은 최대 전송속도 시행에 관한 논제(a peak rate enforcement issue)이며, 지연보장제공에 관한 논제(the issue of providing delay quarantees)에는 영향을 미치지 않는다.
위의 적격시기(eligibility time) 시퀀스(순차)를 기준으로 한 실제 전송시기는 셀이 스케쥴을 어떻게 조절하는가에 달려있다.
우선, 두 개의 접속이 동일한 타이밍 휠상에서 운전된다고 가정해 보자. 이는 근본적으로 지연의 관점에서 보면 이 둘을 같다고 보는 것이 된다. 그러면 셀 전송의 시퀀스는 다음으로 된다.
1,2,1,2,1,2,1,2,1,2,1,1,2,_,1,_,···,
여기에서 위 시퀀스의 숫자는 전송된 셀이 속하는 접속 1 또는 2를 나타내고, "_"는 셀 전송이 전혀 없음을 나타낸다. 위의 예로 볼 때, 접속 1의 일부 셀들은 희망하는 지연필요조건인 3개 슬롯 이내에 전송되지 않고 있음을 알 수 있다. 특히, 접속 1과 2의 셀에 대한 적격시기 대 전송시기의 시퀀스는 다음과 같다.
접속 1:
적격시기: 1,2,3,4,5,6,10,···
전송시기: 1,3,5,7,9,11,12,··
접속 2:
적격시기: 1,2,3,4,5,10,···
전송시기: 2,4,6,8,10,13,··
위의 시퀀스로부터 알 수 있는 바와 같이, 타임 5와 6에서 적격이고 타임 9와 11에서 전송되는 접속 1의 셀들은 기한인 3개 슬롯을 위반하고 있다. 그러나, 접속 2의 셀들은 자신들의 기한인 6개 슬롯을 전혀 위반하지 않고 있다. 위의 예에서, 가장 가능성이 높은 시나리오는 접속 1의 셀들은 언제나, 접속 2의 셀들과 동일한 전송 슬롯상에 배열되어 있는 경우에 접속 2의 셀들보다 앞서서 스케쥴링되는, 즉 상황이 더욱 나빠질 수 있을 때 이용된다.
접속 1과 2를 구별하려고 하는데 유용한 한가지 접근법은 접속 2의 셀들에 선행해서 접속 1의 셀들이 전송될 수 있도록 부동의(static) 우선 순위를 이용하는 것이다. 예컨대, 접속 1의 셀들은 고급의 우선 순위 타이밍 휠에 배치되고, 접속 2의 셀들은 저급의 우선 순위 타이밍 휠에 배치된다. 그러나, 이것이 접속 1의 성능을 개선시키는 것은 분명하지만, 다음으로부터 부동 우선 순위 접근법이 문제를 뒤집어 놓은 것에 불과함을 알 수 있고, 이 경우 접속 2의 셀들은 자신들의 기한(deadline)을 놓친다. 이러한 것은 셀 전송의 시퀀스를 다음과 같은 부동 우선 순위 접근법에 맞게 구성함으로써 알 수 있다.
1,1,1,1,1,1,2,2,2,1,2,2,_,···
따라서, 접속 1과 2에 대한 적격시기 대 전송시기(eligibility versus transmission times)의 시퀀스는 다음과 같다.
접속 1:
적격 시기: 1,2,3,4,5,6,10,···
전송 시기: 1,2,3,4,5,6,10,··
접속 2:
적격 시기: 1,2,3, 4, 5,10,···
전송 시기: 7,8,9,11,12,13,··
위의 예는, 접속 1의 모든 셀들은 자신의 기한 이내에 전송되고 있고, 타임 4와 5에서 적격이었던 접속 2의 셀들은 각각 타임 11과 12에서 전송되었기 때문에 자신들의 기한을 놓쳤음을 보여주고 있다. 위의 예는 셀이 대기함으로서 주어진 시기에 확실하게 전송될 수 있도록 그 셀의 우선 순위를 높여야 한다는 사실을 고려할 수 없게 하는 부동 우선 순위의 근본 문제를 예시하고 있다. 이는 어떤 형태의 동적 우선 순위를 필요로 하지만, 그것은 상이한 우선 순위에 상이한 타이밍 휠이라는 부동의 할당(static assignment)으로 인해 지원이 쉽지 않다.
위의 모든 셀들의 기한들은 만족시킬 수 있을 것같은 유동(dynamic) 우선 순위 구조의 일 예는 최시한(earliest due date : EDD) 정책(policy)라고도 부르는 최근 기한 우선(earliest deadline first : EDF) 정책이다. 이 EDF 정책은 셀이 전송될 수 있는 가장 늦은 시기에 해당하는 자신의 기한의 순서에 그 셀 들을 보낸다. 위 예의 문맥에서, 이는 다음에 해당한다.
접속 1:
적격 시기: 1,2,3,4,5,6,10,···
기한: 4,5,6,7,8,9,13,··
접속 2:
적격 시기: 1,2,3,4,5,10,···
기한: 7,8,9,10,11,16,··
EDF 정책은 따라서 다음의 전송순서를 선택할 것이다.
접속: 1,1,1,1,2,1,2,1,2,2, 2, 1, 2
기한: 4,5,6,7,7,8,8,9,9,10,11,13,16
전송시기: 1,2,,4,5,6,7,8,9,10,11,12,13
보는 바와 같이, EDF 정책은 두 접속에 대한 전송시기들을 성공적으로 선택했고, 따라서 모든 셀 들이 자신의 기한 이내에 전송되었다. 주목할 것은 이것이 셀의 적격시기를 기준으로 이루어진 것이고 도착시기를 기준으로 이루어진 것은 아니라는 것이다. 이는 기한을 보장할 수 있는 능력이 확실히 각 접속이 생성하는 트래픽량, 즉 트래픽계약에 관한 가정에 의존한다는 것을 인식하는 것이 중요하다. 그러나, 위의 예에서는 셀이 전송대상으로 고려되기 전에 실제로 접속 1과 2의 트래픽이 그의 트래픽계약에 순응하도록 재편(reshape)된 예를 가정해왔지만, 다음에는 이것이 필요조건이 아님을 볼 것이다. 특히, 트래픽계약의 재편 혹은 시행이 물리적이기 보다 논리적이면 족하다.
따라서, 통신네트워크 상에서 셀 전송의 스케쥴링 방법 및 장치의 개선에 대한 필요성이 있다.
본 발명의 주요 목적은 통신 네트워크에서 셀 전송을 스케쥴링하는 개선된 방법 및 장치를 제공하고, 개선된 최근 기한 우선(earliest deadline first : EDF) 스케쥴러를 제공하며, 각 접속의 예약전송속도와 지연 경계에 의한 가상 접속 분류 방법을 제공하고, 그리고 종래 기술의 배열의 단점을 극복하는 그러한 방법 및 장치를 제공하는 것이다.
간략히 말하면, 통신 네트워크 상에서 복수의 데이터 스트림의 셀 전송 스케쥴링 방법 및 장치가 제공된다. 최근 기한을 갖는 접속 혹은 데이터 스트림이 우선 전송됨을 공고히 할 수 있도록 통신 네트워크 상에서 복수의 데이터 스트림의 셀 전송 스케쥴링하는 최근 기한 우선 (EDF) 스케쥴러가 제공된다. 복수개의 데이터 스트림은 각각 지연 경계 혹은 기한(deadline)을 갖는다. 각 데이터 스트림의 데이터는 상응하는 데이터 셀 배열에 맞추어진다. 각 데이터 셀 배열에 대해서 식별된 목표 전송시기를 기초로 한 타이밍 휠 타임 슬롯은 최대 지연값의 부가를 활용하여 계산된다. 전진 타이밍 메카니즘(move forward timing mechanism)은 전송에 맞는 일련의 가상 접속 혹은 데이터 스트림 셀 배열을 인식하기 위한 전사기능(scan forward feature)을 구비한다.
각 데이터 셀 배열에 대한 최종 목표전송시기는 소정의 논리 채널 디스크립터(descriptor) 파라미터를 활용하여 계산한다. 각각의 계산된 다음 목표전송시기에 응답해서, 타이밍 휠의 타임 슬롯은 최대 지연값의 부가를 활용하여 계산된다. 인식된 타이밍 휠 타임 슬롯을 위해서 활동중 표시(active indication)가 설치되고, 그 계산된 타이밍 휠 타임 슬롯에 상응하는 데이터 셀 배열에 대한 시점에는 엔트리가 저장된다. 현재의 타이밍 휠 타임 슬롯에 있는 활동중 표시를 점검함으로써 전송을 위한 다음의 데이터 셀 배열이 선택된다. 활동중 표시의 인식에 응답하여, 최초의 데이터 셀 배열이 전송 처리됨과 함께 데이터 셀 배열이 다시 스케쥴링된다. 이어서, 현재의 타이밍 휠 타임 슬롯으로부터의 다음 엔트리를 점검함으로써 다음의 타이밍 휠 타임 슬롯으로의 이동이 수행된다. 다음 엔트리의 인식에 응답하여, 현재의 타이밍 휠 타임 슬롯으로부터 인식된 엔트리가 처리되고, 이어서 현재의 타이밍 휠 타임 슬롯으로부터의 다음 엔트리를 점검한다. 빈타임 슬롯의 인식에 응답하여, 현재의 시기 값이 현재의 타이밍 휠 타임 슬롯과 비교된다. 현재의 시기 값이 현재의 타이밍 휠 타임 슬롯과 같거나 적을 경우, 미리 정의된 영역을 조사(scan)하여 향후 타임들의 미리 정의된 영역 내의 소정 타임 슬롯에 있는 활동중 표시를 점검한다.
한 개의 다단 셀 스케쥴러(a mulitple three tier cell scheduler)가 제공되며, 그 스케쥴러는 적어도 두 개의 스케쥴링 타이밍 휠을 포함한다. 제 1 타이밍 휠의 우선 순위는 제 2 타이밍 휠의 우선 순위보다 높다. 제 2 타이밍 휠의 우선 순위는 선택사항인 제 3 타이밍 휠의 우선 순위보다 높다. 제 3 타이밍 휠은 최대 노력(best effort) 동작 모드를 포함한다. 데이터 스트림들 간의 상대 전송속도는 유지되고, 데이터 스트림들의 절대 전송속도는 최하위 우선 순위 휠에서 증가 또는 감소된다.
도 1은 바람직한 실시예의 셀 스케쥴러를 포함하는 통신 네트워크 시스템을 설명하는 블록도,
도 2는 도 1의 바람직한 실시예의 셀 스케쥴러의 동작을 설명하는 블록도,
도 2a는 도 1의 바람직한 실시예의 셀 스케쥴러에 의해서 사용되는 데이터 스트림에 대한 논리 채널 디스크립터 (LCD)를 설명하는 도면,
도 2b는 일정 비트 전송속도, 가변 비트 전송속도 또는 리키 버켓 전송속도에 대한 스케쥴링 전송속도 파라미터를 설명하는 도면,
도 3은 도 1의 바람직한 실시예의 셀 스케쥴러의 타이밍 휠을 포함하는 데이터 구조를 설명하는 도식적인 블록도,
도 4는 도 1의 바람직한 실시예의 셀 스케쥴러의 고속 및 저속 타이밍 휠과 마지막 활동중 버켓(active bucket)을 설명하는 도식적인 블록도,
도 5는 셀들을 배열하기 위해 도 1의 바람직한 실시예의 셀 스케쥴러의 순차동작을 설명하는 흐름도,
도 6은 전송준비논리를 통과시키기 위해 다음의 논리 채널 디스크립터 (LCD)를 판정하도록 하기 위해서 도 1의 바람직한 실시예의 셀 스케쥴러의 순차동작을 설명하는 흐름도,
도 7은 다음 타임 슬롯으로의 이동(a move to a next time slot)을 판정하기 위해 도 1의 바람직한 실시예의 셀 스케쥴러의 순차동작을 설명하는 흐름도,
도 7a는 도 1의 바람직한 실시예의 셀 스케쥴러에 의한 다음 타임스탬프와 다음 타임 슬롯의 계산을 설명하는 흐름도,
도 8은 바람직한 실시예에 따른 컴퓨터 프로그램 제품(product)을 설명하는 블록도,
도 9는 도 1의 바람직한 실시예의 대안의 3단(three tier) 타이밍 휠 셀 스케쥴러를 설명하는 블록도,
도 10은 도 9의 3단 타이밍 휠 셀 스케쥴러의 예시적인 동작을 설명하는 흐름도.
도면의 주요 부분에 대한 부호의 설명
100 : 통신 네트워크 102 : 셀 스케쥴러
104 : 네트워크 인터페이스 106 : 통신 시스템
108 : 네트워크 교점 112 : 라우팅 시스템
이제 도 1의 도면을 참조하면, 바람직한 실시예의 적어도 한 개의 셀 스케쥴러(102)를 포함하는 통신 네트워크(100)가 도시되어 있다. 도 1에 도시된 바와 같이, 바람직하게는, 셀 스케쥴러(102)는 네트워크(100)로의 진입 또는 퇴출시 선택된 네트워크 교점(selected network interconnects)(108)에서 사용된다. 바람직하게는, 셀 스케쥴러(102)에는 네트워크 내부 교환기 혹은 라우팅 시스템(112)의 인바운드 정책 및 편성 입력(an inbound policing and shaping input)(110)에서 및/또는 교환기 혹은 라우터(112)의 아웃바운드 배열 및 편성 출력(an outbound queuing and shaping output)(114)에서 컴퓨팅 또는 통신 시스템(106)의 네트워크 인터페이스(104)가 포함된다.
셀 스케쥴러(102)는 바이른(Byrn) 등에 1996년 7월 2일 특허허여된 "ATM CELL SCHEDULER"이라는 제목의 미국특허번호 제5,533,020호에 공개된 스케쥴러의 기능동작을 포함한다. 이 특허의 요지는 본 명세서에서 참고로 인용되고 있다.
셀 스케쥴러(102)는 공지의 스케쥴러보다 나은 이점들을 제공하는 중요하고 실질적인 변화를 포함하고 있다. 셀 스케쥴러(102)는 재편기능을 갖는 최근 기한 우선 (EDF) 스케쥴링(earliest deadline first (EDF) scheduling with reshaping)을 제공한다. 재편기능(reshaping)은 셀이 적시에 분배된 데이터 스트림(a data stream with its cells distributed in time)을 수신하고 그 데이터 스트림을 선택적으로 상이한 시기 분배로 재전송하여, 그 데이터 스트림이 미리 정의된 트래픽 세칙, 예컨대 리키 버켓 세칙(leaky bucket specification)을 따르게 하는 것으로서 정의된다.
바람직한 실시예의 특징에 의하면, 셀 스케쥴러(102)는 논리적인 트래픽 재편과 기한 기반의 스케쥴링을 조합하는 최근 기한 우선 (EDF) 스케쥴링 정책을 제공한다. 셀 스케쥴러(102)에 의해서 수행되는 논리적 트래픽 재편에 있어서, 셀 또는 패킷의 적격시기(eligibility time)는 그것이 적격으로 될 때까지 패킷을 잡아두도록 강요할 필요없이 리키 버켓 상태를 기초로 하여 판정된다. 패킷의 적격시기는, 전송을 다투고 있는 상이한 흐름들로부터의 복수 패킷들이 존재하는 경우, 패킷들의 사이를 중재하는데 이용될 뿐이다. 바람직한 실시예의 이 논리적 트래픽 재편 및 기한 기반의 스케쥴링 정책은 전송되고 있는 패킷들의 흐름이 자신의 트래픽 계약을 따르게 함을 공고히 하는 것은 아님을 이해해야 한다. 예컨대, 네트워크 링크(100) 상에 현재 다른 경쟁중인 트래픽 흐름들이 없을 때 스트림 흐름은 자신의 트래픽 계약을 초과할 수 있다. 이것은 트래픽 계약, 즉 ATM 서비스 제공업자가 엄격한 준수를 요구하는 엔터티들(entities)을 접속하는 경우 적절한 접근방법이 될 수 없다. 그러나, 내부적인 네트워크 접속의 전후관계(context)에 있어서, 이것은 네트워크 노드들 간의 트렁크에는 아주 적합하다. 더욱이, 각 네트워크 노드의 입력에 필요할 때 수행되는 셀 스케쥴러(102)에 의한 재편은 트래픽 계약과의 편차(deviations)가 한계로 남아 있음을 확실하게 해준다.
트래픽 계약 시행과 셀 전송의 스케쥴링을 조합하기 위해서는, 다음 셀이 전송될 필요가 있는 최대 시기(maximum)를 판정하기 위해 그 다음 셀(the next cell)의 적격시기와 그의 접속에 할당된 지연 경계 혹은 기한이 함께 사용, 예컨대 더해진다. 이것은 다음의 예, 즉, 두 개의 접속 1과 2가 5개 셀의 토큰 버켓 크기를 갖는 경우의 전후관계(context)에서 가장 잘 설명된다. 다음의 예에서, 접속 1은 토큰 생성율이 5개 슬롯마다 한 개이고 지연 필요조건은 3개 슬롯이다. 접속 2는 토큰 생성율이 10개 슬롯마다 한 개이고, 지연 필요조건은 6개 슬롯이다.
접속 1과 접속 2는 슬롯 1부터 시작하는 다음의 도착패턴을 갖는 것으로 가정한다.
- 접속 1: 0,0,0,0,0,0,0,5,0,0,1,0,0,0,····
- 접속 2: 5,5,0,0,0,0,0,0,0,0,0,0,1,0,····
각 접속에 대한 리키 버켓으로부터의 셀 적격 시기들은 다음과 같다.
접속 1: 8,9,10,11,12,13,·····
접속 2: 1,2, 3, 4, 5,10,20,30,40,50,60,·····
위의 적격시기와 접속 1의 지연 경계가 3개 슬롯이고 접속 2의 지연 경계가 6개 슬롯이라는 사실을 기초로 하여, 두 접속의 셀들에 대해서 다음의 기한을 계산한다.
접속 1:
도착시기: 8,8, 8, 8, 8,11,···
적격시기: 8,9,10,11,12,13,···
기한: 11,12,13,14,15,16,···
접속 2:
도착시기: 1,1,1, 1, 1, 2, 2, 2, 2, 2,13,···
적격시기: 1,2,3, 4, 5,10,20,30,40,50,60,···
기한: 7,8,9,10,11,16,26,36,46,56,66,···
따라서, 이 결과는, 셀의 적격시기와 그의 지연 경계의 합과 같은 기한을 기초로 한 EDF 정책을 이용할 경우 다음의 셀 전송 순차로 된다.
접속: 2,2,2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,···
도착시기: 1,1,1, 1, 1, 2, 2, 8, 8, 8, 8, 8,11,···
기한: 7,8,9,10,11,16,26,11,12,13,14,15,16,···
전송시기: 1,2,3,4, 5, 6, 7, 8, 9,10,11,12,14,···
적격시기: 1,2,3,4, 5,10,20, 8, 9,10,11,12,13,···
위의 예는 접속 2로부터의 패킷이 자신의 적격시기 이전에 전송되고 있는 동안 이 전송이 접속 1에 충격을 미치지 않음을 보여준다. 이 결과는 패킷이 스케쥴링되어 자신들의 기한이 전혀 위반되지 않고 각 흐름이 물리적이 아닌 논리적으로 재편되었기 때문에 생긴다.
도 2를 참조하면, 셀 스케쥴러(102)는 각 배열이 논리 채널 디스크립터 (LCD)(206) 또는 그러한 다른 형태의 논리 접속 제어 블록을 포함하고 있는 데이터 배열 메카니즘(202)에 의해서 구동된다. 데이터 배열 메카니즘(202)은 네트워크(100), 저장된 프로그램 프로세서, 혹은 이들 메카니즘 모두의 조합으로부터의 논리를 수신할 수 있다. 셀 스케쥴러(102)는 각 스케쥴된 데이터 엔터티에 대한 데이터를 보유하는 논리채널 디스크립터 LCD(206)의 세트를 이용한다. 이것은 데이터 디스크립터들의 배열과 전송준비논리에 대한 구성정보를 포함할 수도 있다. 셀 스케쥴러(102)의 스케쥴링 선택논리는 LCD들의 순위를 선택하고 이 선택된 순위를 전송준비논리(208)로 전달한다. 전송준비논리(208)는 스케쥴링 선택논리(102)에 의해서 선택된 LCD 데이터 구조를 받아서 전송을 준비한다.
도 2a를 보면, 셀 스케쥴러(102)에 의해서 사용된 데이터 스트림에 대해서 논리채널 디스크립터 (LCD)(206)를 설명하는 도면이 도시되어 있다. LCD(206)는 데이터 스트림 셀 배열을 설명하는 데이터 구조이다. LCD(206)는 타이밍 휠 타임 슬롯에서 LCD들을 함께 링킹(linking)하기 위한 다음 LCD 포인터(pointer)(209)를 포함한다. LCD(206)는 셀/패킷 배열 포인터(210)의 머리부(a head) 셀/패킷 배열 포인터(212)의 꼬리부(a tail)를 포함하여 전송될 일련의 셀들 및/또는 패킷들에 대한 포인터들을 포함한다. LCD는 또한 스케쥴링 파라미터(214), 스케쥴링 상태(216) 및 타이밍 휠 선택기(218)로서 나타내어진 해당 데이터 스트림에 대한 스케쥴링 정보를 포함하고 있다. LCD는 또한 접속에 대한 타임스탬프를 유지하고 있다.
도 2b를 보면, 최대전송속도(222), 지속 가능한 전송속도(224), 최대 버스트 길이(226), 고정 비트 전송속도/가변 비트 전송속도 CBR/VBR 트래픽 형태(228), 그리고 최대 지연(230)을 포함하는 복수개의 스케쥴링 전송속도 파라미터(220)를 나열하고 있는 도면이 도시되어 있다. 이들 스케쥴링 전송속도 파라미터들(220)은 고정 비트 전송속도, 가변 비트 전송속도 또는 리키 버켓 전송속도 접속에 대해서 상술되어 있다. 이들 전송속도(222 및 224)는 복수개의 고속 타이밍 휠 슬롯과 단편들(fractions)로 환산하여 간격들(intervals)로 변환된다. 버스트 길이는 접속 타임스탬프와 현재 시기간의 최대 차이로서 유지된다.
도 3을 보면, 셀 스케쥴러(102)는 적어도 하나의 타이밍 휠, 예컨대 도 4에 예시된 타이밍 휠(400, 402)을 포함하는 데이터 구조로 구성되어 있다. 도 3에 도시된 바와 같이, 데이터 구조는, 타이밍 휠의 각 기억장소에 대한 비트를 구비하여, LCD들을 지시하기 위한 포인터들의 어레이(122)와 타이밍 휠의 선택적인 점유비트맵(120)을 포함한다. 각 비트는 타이밍 휠 슬롯이 유효한 포인터를 담고있는지의 여부를 표시하고 있다. 이 비트는 메모리 위치 판독의 요구를 제어하는데 사용되고, 고속 전진 주사(fast scan forward)를 지원하는데 사용된다. 이 비트 어레이는 한 번에 1비트이상 판독될 수 있을 수도 있다. 이 비트 어레이의 판독은 하나의 그룹으로서 평가될 수 있는 한 프레임의 비트들을 낸다. 추가적으로, LCD는 타이밍 휠의 동일 슬롯에 기억된 다음의 LCD를 지시하는데 사용될 수 있는 포인터를 포함하고 있다. 이 포인터는 각 활동중인 타임 슬롯에 대한 일련의 LCD들을 생성하는데 사용된다. 선택적으로 타이밍 휠은 그 일련의 LCD의 최종 엔트리를 지시하는 포인터 세트(a set of pointers)를 포함한다. 이 두 번째 포인터는 그 일련의 LCD의 말미에 고속 삽입에 사용될 수 있다. 요구되는 요소가 없는 동안(while not a required element)에는 바람직한 실시예에서 이 두 번째 포인터가 포함된다.
도 4를 보면, 고속 타이밍 휠(400)과 저속 타이밍 휠(402)이 선택적으로 사용된다. 각 타이밍 휠의 각 슬롯은 고속 타이밍 휠(400)이 보다 적은 시간범위에 대해서 사용되고 저속 타이밍 휠(402)이 보다 많은 시간범위에 대해서 사용되는 시간범위에 상응한다. 도 4는 저속 타이밍 휠(402)보다 큰 간격을 갖는 LCD에 사용되는 최종 활동중인 버켓(404)과 함께, 타이밍 휠(400 및 402) 간의 접속을 도시하고 있다.
셀 스케쥴러(102)는 슬롯들의 현재시기와 같은 글로벌 변수, curr_slot에 의해 시스템의 현재시기를 추적한다. 각 LCD 접속 (i)에 대해서, 유지되고 있는 상수들(constants)은 슬롯에서의 평균 간격 mean_int(i), 그 평균 간격과 슬롯에서의 버스트 크기의 곱(a product) bmproduct(i), 슬롯에서의 최소 셀 전송간 시기 peak_int(i), 그리고 접속 (i)의 슬롯에서의 지연 보장 또는 기한 max_delay(i)을 포함한다. 유지되고 있는 동적 접속 변수들은 state(i)와, mean_int(i)와 {curr_slot - bmproduct(i)}와의 합중 큰 것인 리키 버켓의 상태 state(i), 그리고 접속 (i)의 셀이 배치되어 있는 타이밍 휠의 슬롯 qslot(i)를 포함한다. 리키 버켓의 상태 state(i)는 이후에 추가로 정의된다. bmproduct(i)는 스케쥴링 상태의 임시 메모리에 대한 제한으로서 동작함을 주의한다.
셀 스케쥴러(102)의 기본 스케쥴링 알고리즘은 현재시기 curr_slot부터 제한된 예견능력(lookahead) L으로 타이밍 휠(400)을 전진주사(scan forward)한다. 첫 번째 접속, 즉 그 영역, 예컨대 하나의 LCD가 (qslot(i) - curr_slot) < L 내에서 타이밍 휠(TW)상에 배열된 접속 (i)을 발견하면, 셀 스케쥴러(102)는 a) 이 셀을 송출하고, b) curr_slot을 증분시키며, 그리고 c) 이 LCD가 타이밍 휠(400 또는 402)상에 배열되어 있어야 하는 다음 시기를 계산한다.
초기화시, 셀 스케쥴러(102)의 스케쥴링 알고리즘은 curr_slot = 0, 그리고 state(i) = curr_slot + mean_int(i) - bmproduct(i)을 설정한다.
이제, 스케쥴링 알고리즘이 타이밍 휠 상의 한 LCD를 배열하는 곳을 결정하는데 고려되어야 할 조건 1)과 2)에 대해서 설명한다.
1) 접속 (i)의 패킷(a packet from connection(i))은 스케쥴링 알고리즘에 대한 전송에 맞게 배열된다(Enqueued for Transmitt to the scheduling algorithm).
1a) 만일 타이밍 휠 상에 LCD가 이미 존재하고 있으면,
패킷을 그 LCD 배열에 더한다.
1b) 만일 타이밍 휠 상에 LCD가 존재하지 않으면,
state(i) = max{state(i), curr_slot + mean_int(i) - bmproduct(i)}
qslot(i) = max{state(i), curr_slot} + max_delay(i)
그 LCD를 qslot(i)에서의 TW 상에 배열시킨다.
2) 접속 (i)에 대한 LCD는 셀 스케쥴러(102)의 스케쥴링 알고리즘에 의해 막 전송하기로 선택된 슬롯 상에 존재하며, 따라서
2a) 만일 이 LCD 상에 배열된 패킷이 전혀 없다면,
타이밍 휠에서 LCD를 제거한다(전송 없음).
2b) 만일 전송되어야 할 셀 들이 더 있다면,
state(i) = mean_int(i) + state(i)
qslot(i) = max{state(i) + max_delay(i), qslot(i)}
를 설정하고, 그 LCD를 qslot(i)에서 TW 상에 배열시킨다.
위의 동작 2a)는 슬롯을 허비하지 않는 것으로 가정되었다. 즉, 다시 말하면, 몇몇 유효 셀들(존재하는 경우에)은 이 슬롯동안 전송될 수 있다. 만일 유효 셀들이 존재하지 않는다면, 이러한 슬롯의 손실, 기본적으로는 셀 허가 논제를 고려해야 한다. 예견능력 L은 슬롯을 허비하지 않는다. 이러한 예견능력 L은 통상 소정 노드에 대해 max_delay(i)의 최대값 또는 충분한 범위의 max_delay들을 커버할 수 있을 만큼 크다.
도 5를 보면, 배열을 위해서 셀 스케쥴러(102)에 의해 사용되는 일반처리(블록(500)에서 시작하는 예시적인 단계들을 포함함)에 관해 설명하고 있다. 배열되어야 할 데이터 대기의 점검은 판정블록(502)에서 나타내는 바와 같이 수행된다. 만일 그렇다면, 그 데이터 대기는 블록(504)에서 나타내는 바와 같은 LCD 데이터 배열로 배열된다. 각 논리 접속에 대해서 한 개 이상의 LCD 데이터 배열이 제공될 수 있다. 다음에, 타이밍 휠(400)에 이미 활성화되어 있는 LCD의 점검은 판정블록(506)에서 나타내는 바와 같이 제공된다. 만일 그렇다면, 순차적인 동작들은 블록(500)의 개시로 복귀한다. LCD가 타이밍 휠(400)에서 이미 활성화되어 있다면, 블록(508)에서 나타내는 바와 같이 다음 단계는 다음 목표 전송 시기를 계산하고, 타이밍 휠(400 또는 402)을 선택하고, 타임 슬롯에 대한 활동중 비트(active bit)를 설정(set)하고, 그리고 이 LCD에 있는 다음 LCD 포인터를 클리어하는 것을 포함한다. 다음으로 활동중 꼬리부 포인터의 점검은 판정블록(510)에서 나타내는 바와 같이 제공된다. 활동중 꼬리부 포인터의 경우, 그 꼬리부 포인터에 의해서 지시되는 LCD에 있어서, 블록(512)에서 나타내는 바와 같이 LCD 어드레스는 다음의 LCD 포인터 위치에 기록되고, 또한 LCD 어드레스는 이 타임 슬롯에 대한 꼬리부 포인터에도 기록된다. 그 외의 경우에는, 블록(514)에서 나타내는 바와 같이 이 타임 슬롯에 대해 머리부와 꼬리부 포인터 슬롯에 기록된다. 이어서, 순차동작은 블록(500)의 개시로 복귀한다.
도 6을 보면, 셀 스케쥴러(102)가 전송준비논리(208)를 통과시키기 위해 다음 LCD를 판정하는데 사용하는 일반적인 처리에 대해 설명되어 있다. 도 6에 도시되어 있는 바와 같이, 어떤 LCD가 이동되어야 할 다음 전송 타임 슬롯을 계산하는데는 이용가능한 몇가지 메카니즘이 있고, 또한 그 다음 시기로의 이동(the move to the next time)을 계산하는데 사용될 수 있는 몇가지 메카니즘도 있다. 블록(600)에서 시작해서, 판정블록(602)에서 나타내는 바와 같이 현재시기에 대해 활동중 비트가 온(on) 인지를 점검한다. 현재시기에 활동중 비트가 온 임이 인식되지 않을 때에는 블록(604)에서 나타내는 바와 같이 몇가지 이용가능한 방법중 한 방법을 이용하여 다음 타임 슬롯으로의 이동이 이루어진다. 이어서, 순차적인 동작은 블록(600)의 개시로 복귀한다. 그렇지 않은 경우, 현재시기에 대해 활동중 비트가 온 임이 인식될 때에는 블록(606)에서 나타내는 바와 같이 첫 번째 LCD가 전송(TX) 준비되고, 그 LCD로부터의 다음 포인터가 저장되며, 이용가능한 몇가지 방법중 한 방법을 이용하여 그 LCD가 다시 스케쥴된다. 판정블록(608)에서 나타내는 바와 같이 다음 포인터가 활동중 상태에 있는지에 대한 점검(checking for a next pointer being active)이 이루어진다. 만일 그렇다면, 블록(610)에서 나타내는 바와 같이 그 다음 포인터(the next pointer)는 그 첫 번째 LCD에 저장된다. 이어서, 그 첫 번째 LCD를 전송준비하기 위해 순차적인 동작은 블록(606)으로 복귀한다. 그렇지 않을 경우, 그 다음 포인터(the next pointer)가 활동중 상태에 있지 않을 때에는, 블록(612)에서 나타내는 바와 같이 그 활동중 비트가 클리어되고 그 첫 번째 포인터도 클리어되며 최종 포인터도 클리어된다. 이어서, 블록(604)에서 다음 시기로의 이동이 수행된다. 이어서, 순차적인 동작은 블록(600)의 개시로 복귀한다.
도 7을 보면, 다음 시기로의 이동에 대한 예시적인 단계들이 도시되어 있다. 순차적인 단계는 블록(700)에서 개시한다. 판정블록(702)에서 나타내는 바와 같이 비어있는 현재 타임 슬롯에 대한 점검이 수행된다. 만일 현재 타임 슬롯이 비어있지 않으면, 블록(704)에서 나타내는 바와 같이 현재 타임 슬롯으로부터의 엔트리가 처리된다. 이어서, 순차적인 동작은 블록(700)의 시작으로 복귀한다. 현재 타임 슬롯이 비어있는 경우, 판정블록(706)에서 나타내는 바와 같이 현재 시기는 현재 타임 슬롯과 비교된다. 현재 시기가 현재 타임 슬롯보다 크면, 블록(708)에서 나타내는 바와 같이 현재 타임 슬롯은 한 타임 슬롯 앞으로 이동된다. 만일 현재 시기가 현재 타임 슬롯과 같거나 적다면, 블록(710)에서 나타내는 바와 같이 한 프레임의 활동중 비트들의 전진주사(scanning forward one frame of active bits)가 수행된다. 그 프레임 안의 임의의 타임 슬롯에 대해 활동중 비트가 온 인지에 대한 점검이 수행된다. 블록(712)에서 그 프레임 안의 임의의 타임 슬롯에 대해 활동중(active) 비트가 온임이 인식되는 경우, 블록(714)에서 나타내는 바와 같이 그 프레임에서 활동중 비트가 설정(세트)되어 있는 첫 번째 타임 슬롯(the first time slot in the frame with the active bit set)으로부터의 한 엔트리가 처리되고, 순차적인 동작은 블록(700)의 시작으로 복귀한다. 블록(712)에서 그 프레임 안의 임의의 타임 슬롯에 대한 활동중 비트가 온임이 인식되지 않는 경우, 판정블록(716)에서 나타내는 바와 같이 범위 L안에 프레임이 더 있는지의 점검이 수행된다. 그 범위 안의 다른 프레임이 인식되는 경우, 순차적인 동작은 한 프레임의 활동중 비트들을 전진주사하기 위해 블록(710)으로 복귀한다. 그 범위 안의 다른 프레임이 인식되지 않는 경우, 순차적인 동작은 블록(700)의 시작으로 복귀한다.
도 7a는 셀 스케쥴러(102)에 의한 새로운 타임스탬프와 새로운 타임 슬롯의 계산법에 대해서 설명하고 있다. 새로운 타임스탬프는 블록(720)에서 나타내는 바와 같이 다음 수학식을 이용하여 계산된다.
새로운 타임 슬롯은 블록(722)에서 나타내는 바와 같이 다음 수학식을 이용하여 계산된다.
여기에서, 최대 간격(peak interval)은 슬롯들 안에서의 최소 셀 도착간 시간(minimum cell inter-arrival time)이다. 도 7의 전진이동법과 도 7a의 새로운 타임스탬프 및 새로운 타임 슬롯 계산 알고리즘은, 새로운 타임 슬롯 항목에 기한(deadline) 항목을 추가한 결과, LCD 리스트를 기한에 의해서 구분되는 미래로 유지하는 효과(the effect of maintaining a list of LCDs into the future that is sorted by deadline)를 제공한다. 기한이 가장 빨리 연결된 셀이 먼저 전송된다. 전송자원, 즉 네트워크(100)가 사용 만료되지 않은 경우, 많은 데이터 스트림의 각 셀은 그의 기한 이전에 전송된다.
도 8을 보면, 본 발명의 제조물(an article of manufacture) 즉 컴퓨터 프로그램 제품(800)에 대해서 설명되어 있다. 컴퓨터 프로그램 제품(800)은 기록매체(802), 예컨대 플로피 디스크, 광학적 판독의 콤팩트 디스크 혹은 CD-ROM 형태의 대용량 읽기 전용 메모리장치, 테이프, 디지털 또는 아날로그 통신 링크와 같은 전송형 매체, 혹은 유사한 컴퓨터 프로그램 제품을 포함한다. 기록매체(802)는 도 1의 통신시스템(100)에서의 셀 스케쥴링 방법을 수행하기 위해 매체(802)상에 프로그램 수단(804, 806, 808, 810)을 저장한다.
기록된 프로그램 수단(804, 806, 808, 810)에 의해서 정의되는 일련의 프로그램 명령들 혹은 하나 이상의 상호 관련된 모듈들의 논리적인 어셈블리는 통신네트워크(100) 상에서의 셀과 프레임의 전송을 스케쥴링하기 위한 셀 스케쥴러(102)를 지도한다.
도 9는 대체 가능한 3단 타이밍 휠 셀 스케쥴러(an alternative three tier timing wheel cell scheduler)(102)를 설명하고 있는 블록도이다. 3단 타이밍 휠 셀 스케쥴러(102)는 최고위의 우선 순위를 갖는 리키 버켓 타이밍 휠(902), 중위의 우선 순위를 갖는 최근 기한 우선 타이밍 휠(904) 및 최하위의 우선 순위를 갖는 최대 노력 타이밍 휠(906)을 포함한다. 3단 타이밍 휠 셀 스케쥴러(102)에서, 새로운 타임 슬롯은 다음 수학식으로 나타내는 바와 같이, 최대 지연(230)의 부가를 포함하지 않는 최대 노력 타이밍 휠(906)에 대해서 계산된다.
도 10은 블록(1000)에서 시작하는 3단 타이밍 휠 셀 스케쥴러(102)의 예시적인 동작에 대해서 설명하고 있다. 우선, 판정블록(1002)에서 나타내는 바와 같이 어떤 LCD가 최고위 우선 순위 리키 버켓 휠 상에서 전송준비 중인 지의 여부에 대한 점검이 수행된다. 만일 어떤 LCD가 최고위 우선 순위 리키 버켓 휠(902)상에서 전송준비 중이라면, 블록(1004)에서 나타내는 바와 같이 리키 버켓 타이밍 휠 상의 LCD로부터 한 개의 셀이 전송된다. 이어서, 순차적인 동작이 블록(1000)의 개시로 복귀한다.
어떤 LCD가 최고위 우선 순위 리키 버켓 휠(902)상에서 전송준비 중에 있지 않은 경우, 판정블록(1006)에서 나타내는 바와 같이 어떤 LCD가 중위 우선 순위 최근 기한 우선 휠(904)상에서 전송준비 중에 있는지의 여부에 대한 점검이 수행된다. 만일 어떤 LCD가 중위 우선 순위 최근 기한 우선 타이밍 휠(904) 상에서 전송준비 중에 있다면, 블록(1008)에서 나타내는 바와 같이 최근 기한 우선 타이밍 휠(904) 상의 LCD로부터 한 개의 셀이 전송된다. 이어서, 순차적인 동작이 블록(1000)의 개시로 복귀한다.
중위 우선 순위 최근 기한 우선 타이밍 휠(904) 상에서 어떤 LCD가 전송준비 중에 있지 않은 경우, 판정블록(1010)에서 나타내는 바와 같이 어떤 LCD가 최하위 우선 순위 최대 노력 타이밍 휠(906)상에서 전송준비 중에 있는지의 여부에 대한 점검이 수행된다. 만일 어떤 LCD가 최하위 우선 순위 최대 노력 타이밍 휠(904) 상에서 전송준비 중에 있다면, 블록(1012)에서 나타내는 바와 같이 최하위 우선 순위 최대 노력 타이밍 휠(906) 상의 LCD로부터 한 개의 셀이 전송된다. 최하위 우선 순위 최대 노력 타이밍 휠(906) 상에서 어떤 LCD가 전송준비 중에 있지 않은 경우, 순차적인 동작은 블록(1000)의 개시로 복귀한다.
따라서, 본 발명에 따르면, 통신네트워크 상에서 셀 전송을 스케쥴링하는 개선된 방법 및 장치가 제공된다.
본 발명은 도면에 도시된 본 발명의 실시예들의 상세한 설명을 참고로 설명되었지만, 이 상세한 설명은 첨부된 특허청구범위에서 청구된 바와 같은 본 발명의 범위를 제한하려는 것이 아니다.

Claims (24)

  1. 통신 네트워크에서의 복수의 데이터 스트림의 셀들의 전송을 스케쥴링하는 방법에 있어서,
    ① 각 데이터 스트림의 데이터를 해당 데이터 셀 배열(a corresponding data cell queue)로 배열하는 단계와,
    ② 각 데이터 스트림의 소정의 논리적 스케쥴링 전송속도 파라미터들을 활용하여 각각의 상기 데이터 셀 배열에 대해서 목표전송시기(a target transmission time)를 계산하는 단계와,
    ③ 각각의 상기 계산된 다음 목표전송시기에 응답하여, 최대 전송 지연값의 부가를 활용하여 타이밍 휠의 타임 슬롯을 계산하고, 상기 인식된 타이밍 휠 타임 슬롯에 대해서 활동중 표시(an active indication)를 설정하며, 상기 인식된 타이밍 휠 타임 슬롯에 대해서 상기 해당 데이터 셀 배열을 지시하기 위한 엔트리(an entry)를 기억하는 단계와,
    ④ 현재의 타이밍 휠 타임 슬롯에서 상기 활동중 표시를 점검함으로써 전송을 위한 다음 데이터 셀 배열을 선택하는 단계와,
    ⑤ 상기 활동중 표시의 인식에 응답하여, 전송을 위한 첫 번째 데이터 셀 배열을 처리하고, 상기 데이터 셀 배열을 다시 스케쥴링하는 단계와,
    ⑥ 상기 현재의 타이밍 휠 타임 슬롯으부터의 엔트리를 점검함으로써 다음 시기의 타이밍 휠 타임 슬롯으로 이동하는 단계와,
    ⑦ 상기 엔트리의 인식에 응답하여, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 상기 인식된 엔트리를 처리하고, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 다음 엔트리를 다시 점검하는 단계와,
    ⑧ 빈 타임 슬롯의 인식에 응답하여, 현재의 시간 값을 상기 현재의 타이밍 휠 타임 슬롯과 비교하는 단계와,
    ⑨ 상기 현재의 타이밍 휠 타임 슬롯와 같거나 적은 현재 시간 값에 응답하여, 미리 정의된 범위를 전진주사(scan forward)하고, 상기 미리 정의된 범위 내의 임의의 타임 슬롯에서 상기 활동중 표시를 점검하는 단계
    를 포함하는 통신 네트워크에서의 복수의 데이터 스트림 셀 전송 스케쥴링 방법.
  2. 제 1 항에 있어서,
    상기 범위 안의 첫 번째 타이밍 휠 타임 슬롯으로부터 첫 번째로 인식된 엔트리를 처리하는 단계와, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 다음 엔트리를 다시 점검하는 단계를 포함하는 통신 네트워크에서의 복수의 데이터 스트림 셀 전송 스케쥴링 방법.
  3. 제 1 항에 있어서,
    상기 현재의 타이밍 휠 슬롯보다 큰 상기 현재의 시간 값의 인식에 응답하여, 다음 타이밍 휠 타임 슬롯으로 이동하는 단계와, 상기 현재의 타임 슬롯에 대해서 상기 활동중 표시를 다시 점검하는 단계를 포함하는 통신 네트워크에서의 복수의 데이터 스트림 셀 전송 스케쥴링 방법.
  4. 제 1 항에 있어서,
    각 데이터 스트림의 소정의 논리적 스케쥴링 전송속도 파라미터들을 활용하여 각 상기 데이터 셀 배열에 대한 상기 목표전송시기를 계산하는 단계는 타이밍 휠 타임 슬롯 간격들로 환산하여 최대 전송속도와 지속 가능한 전송속도 접속 파라미터들을 유지하는 단계와, new timestamp = MAX(old timestamp + sustained interval, current time - burst limit)의 수학식으로 표현되는 계산 알고리즘을 활용하는 단계를 포함하는 통신 네트워크에서의 복수의 데이터 스트림 셀 전송 스케쥴링 방법.
  5. 제 4 항에 있어서,
    최대 지연값의 부가를 활용하여 상기 타이밍 휠 안의 상기 타임 슬롯을 계산하는 단계는 new time slot = MAX(timestamp + sustained interval, current time + peak interval) + max delay의 수학식으로 표현되는 계산 알고리즘을 활용하는 단계를 포함하는 통신 네트워크에서의 복수의 데이터 스트림 셀 전송 스케쥴링 방법.
  6. 제 1 항에 있어서,
    각 데이터 스트림의 데이터를 상기 해당 데이터 셀 배열로 배열하는 단계는 각 상기 데이터 스트림에 대해서 각 상기 데이터 스트림의 데이터를 적어도 하나의 논리채널 디스크립터(at least one logical channel descriptor)로 배열하는 단계를 포함하는 통신 네트워크에서의 복수의 데이터 스트림 셀 전송 스케쥴링 방법.
  7. 제 6 항에 있어서,
    상기 목표전송시기를 계산하는 단계와 어떤 타이밍 슬롯 안의 상기 타임 슬롯을 계산하는 단계는 각 상기 데이터 스트림에 대한 각 논리채널 디스크립터에 대해서 수행되는 통신 네트워크에서의 복수의 데이터 스트림 셀 전송 스케쥴링 방법.
  8. 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 장치에 있어서,
    ① 각 데이터 스트림의 데이터로 배열된 해당 데이터 셀 배열(a corresponding data cell queue)을 기억하는 메모리 수단과,
    ② 각 데이터 스트림의 소정의 논리적 스케쥴링 전송속도 파라미터들을 활용하여 각각의 상기 데이터 셀 배열에 대해서 목표전송시기(a target transmission time)를 계산하는 수단과,
    ③ 상기 다음 목표전송시기 계산수단에 응답하여, 최대 전송 지연값의 부가를 활용해 타이밍 휠의 타임 슬롯을 계산하는 수단과, 상기 인식된 타이밍 휠 타임 슬롯에 대해서 활동중 표시(an active indication)를 기억하는 수단과, 상기 인식된 타이밍 휠 타임 슬롯에 대해서 상기 해당 데이터 셀 배열을 지시하기 위한 엔트리(an entry)를 기억하는 수단과,
    ④ 현재의 타이밍 휠 타임 슬롯에서 상기 활동중 표시를 점검하는 수단을 포함하는 전송을 위한 다음 데이터 셀 배열을 선택하는 수단과,
    ⑤ 상기 활동중 표시의 인식에 응답하여, 전송을 위한 첫 번째 데이터 셀 배열을 처리하고, 상기 데이터 셀 배열을 다시 스케쥴링하는 수단과,
    ⑥ 상기 현재의 타이밍 휠 타임 슬롯으부터의 엔트리를 점검하는 수단을 포함하는 다음 시기의 타이밍 휠 타임 슬롯으로 이동하는 수단과,
    ⑦ 상기 엔트리 점검수단에 응답하여, 상기 현재의 타이밍 휠 타임 슬롯으로부터 인식된 엔트리를 처리하고, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 다음 엔트리를 다시 점검하는 수단과,
    ⑧ 상기 엔트리 점검수단에 의해 인식된 빈 타임 슬롯에 응답하여, 현재의 시간 값을 상기 현재의 타이밍 휠 타임 슬롯과 비교하는 수단과,
    ⑨ 상기 현재의 타이밍 휠 타임 슬롯과 같거나 적은 인식된 현재 시간 값에 응답하여, 미리 정의된 범위를 전진주사(scan forward)하고, 상기 미리 정의된 범위 내의 임의의 타임 슬롯에서 상기 활동중 표시를 점검하는 수단
    을 포함하는 통신 네트워크에서의 복수의 데이터 스트림 셀 전송 스케쥴링 장치.
  9. 제 8 항에 있어서,
    상기 타이밍 휠 타임 슬롯을 벗어난 계산된 다음 목표전송시기에 응답하는 최종 활동중 버켓(a last active bucket)을 더 포함하는 통신 네트워크에서의 복수의 데이터 스트림 셀 전송 스케쥴링 장치.
  10. 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 최근 기한 우선(earliest deadline first: EDF) 스케쥴러에 있어서,
    ① 상기 복수의 데이터 스트림의 각각에 대해서 해당 데이터 셀 배열을 기억하는 메모리와,
    ② 각 데이터 셀 배열에 대해서, 지연경계값(a delay bound value)을 갖는 소정의 논리채널 제어용 파리미터값들을 기억하는 수단과,
    ③ 포인터들의 어레이를 상기 데이터 셀 배열들로 기억하고 타이밍 휠 타임 슬롯의 점유비트맵을 기억하는 수단과,
    ④ 목표전송시기를 계산하고, 각 데이터 셀 배열에 대해서, 상기 지연경계값의 부가를 활용하는 타이밍 휠 타임 슬롯을 계산하는 수단과,
    ⑤ 전송을 위해 일련의 데이터 스트림 셀 배열을 인식하기 위해 상기 타이밍 휠 타임 슬롯위를 전진 이동하는 타이밍 수단―상기 타이밍 수단은 상기 현재의 타이밍 휠 타임 슬롯으로부터의 엔트리를 점검하는 수단을 포함함―과,
    ⑥ 상기 엔트리 점검 수단에 응답하여, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 인식된 엔트리를 처리하고, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 다음 엔트리를 점검하는 수단과, 상기 엔트리 점검 수단에 의해서 인식된 빈 타임 슬롯에 응답하여, 현재 시간 값을 상기 현재의 타이밍 휠 타임 슬롯과 비교하는 수단과,
    ⑦ 상기 현재의 타이밍 휠 타임 슬롯과 같거나 적은 인식된 현재시간값에 응답하여, 미리 정의된 범위를 전진주사하고, 상기 미리 정의된 범위 안의 임의의 타임 슬롯에서 상기 활동중 표시를 점검하는 수단
    을 포함하는 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 최근 기한 우선 스케쥴러.
  11. 제 10 항에 있어서.
    상기 범위 안의 첫 번째 타이밍 휠 타임 슬롯으로부터 첫 번째로 인식된 엔트리를 처리하고, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 다음 엔트리를 점검하는 수단을 더 포함하는 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 최근 기한 우선 스케쥴러.
  12. 제 10 항에 있어서,
    상기 현재의 타이밍 휠 슬롯보다 큰 상기 현재의 시간 값의 인식에 응답하여, 다음 타이밍 휠 타임 슬롯으로 이동하고, 상기 현재의 타임 슬롯에 대해서 상기 활동중 표시를 점검하는 수단을 더 포함하는 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 최근 기한 우선 스케쥴러.
  13. 제 10 항에 있어서,
    상기 타이밍 휠 타임 슬롯을 벗어난 계산된 다음 목표전송시기에 응답하는 최종 활동중 버켓(a last active bucket)을 더 포함하는 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 최근 기한 우선 스케쥴러.
  14. 통신 네트워크에 있어서,
    ① 네트워크 인터페이스를 포함하는 적어도 하나의 통신 시스템과,
    ② 상기 통신 네트워크에 포함되고, 각 데이터 스트림의 데이터로 배열된 해당 데이터 셀 배열(a corresponding data cell queue)을 기억하는 메모리 수단을 포함하는 셀 스케쥴러와,
    ③ 각 데이터 스트림의 소정의 논리적 스케쥴링 전송속도 파라미터들을 활용하여 각각의 상기 데이터 셀 배열에 대해서 목표전송시기(a target transmission time)를 계산하는 수단과,
    ④ 상기 다음 목표전송시기 계산수단에 응답하여, 최대 전송 지연값의 부가를 활용하여 타이밍 휠의 타임 슬롯을 계산하는 수단과, 상기 인식된 타이밍 휠 타임 슬롯에 대해서 활동중 표시(an active indication)를 기억하는 수단과, 상기 인식된 타이밍 휠 타임 슬롯에 대해서 상기 해당 데이터 셀 배열을 지시하기 위한 엔트리(an entry)를 기억하는 수단과,
    ⑤ 현재의 타이밍 휠 타임 슬롯에서 상기 활동중 표시를 점검하는 수단을 포함하는 전송을 위한 다음 데이터 셀 배열을 선택하는 수단과,
    ⑥ 상기 활동중 표시의 인식에 응답하여, 전송을 위한 첫 번째 데이터 셀 배열을 처리하고, 상기 데이터 셀 배열을 다시 스케쥴링하는 수단과,
    ⑦ 상기 현재의 타이밍 휠 타임 슬롯으부터의 엔트리를 점검하는 수단을 포함하는 다음 시기의 타이밍 휠 타임 슬롯으로 이동하는 수단과,
    ⑧ 상기 엔트리 점검수단에 응답하여, 상기 현재의 타이밍 휠 타임 슬롯으로부터 인식된 엔트리를 처리하고, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 다음 엔트리를 다시 점검하는 수단과,
    ⑨ 상기 엔트리 점검수단에 의해 인식된 빈 타임 슬롯에 응답하여, 현재의 시간 값을 상기 현재의 타이밍 휠 타임 슬롯과 비교하는 수단과,
    ⑩ 상기 현재의 타이밍 휠 타임 슬롯와 같거나 적은 인식된 현재 시간값에 응답하여, 미리 정의된 범위를 전진주사(scan forward)하고, 상기 미리 정의된 범위 내의 임의의 타임 슬롯에서 상기 활동중 표시를 점검하는 수단
    을 포함하는 통신 네트워크.
  15. 제 14 항에 있어서,
    적어도 하나의 상기 셀 스케쥴러를 포함하는 내부 네트워크 라우팅 시스템을 더 포함하는 통신 네트워크.
  16. 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 최근 기한 우선 스케쥴러를 포함하는 데이터 통신 네트워크에 이용하기 위한 컴퓨터 프로그램 제품에 있어서,
    ① 기록매체와,
    ② 상기 기록매체에 기록되어, 상기 복수의 데이터 스트림의 각각에 대해서 해당 데이터 셀 배열을 기억하는 수단과,
    ③ 상기 기록매체에 기록되어, 각 데이터 셀 배열에 대해서, 지연경계값(a delay bound value)을 갖는 소정의 논리채널 제어용 파리미터값들을 기억하는 수단과,
    ④ 상기 기록매체에 기록되어, 포인터들의 어레이를 상기 데이터 셀 배열들로 기억하고 타이밍 휠 타임 슬롯의 점유비트맵을 기억하는 수단과,
    ⑤ 상기 기록매체에 기록되어, 목표전송시기를 계산하고, 각 데이터 셀 배열에 대해서, 상기 지연경계값의 부가를 활용하는 타이밍 휠 타임 슬롯을 계산하는 수단과,
    ⑥ 상기 기록매체에 기록되어, 전송을 위해 일련의 데이터 스트림 셀 배열을 인식하기 위해 상기 타이밍 휠 타임 슬롯위를 전진 이동하는 타이밍 수단―상기 타이밍 수단은 상기 현재의 타이밍 휠 타임 슬롯으로부터의 엔트리를 점검하는 수단을 포함함―과,
    ⑦ 상기 엔트리 점검 수단에 응답하여, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 인식된 엔트리를 처리하고, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 다음 엔트리를 점검하는 수단과, 상기 엔트리 점검 수단에 의해서 인식된 빈 타임 슬롯에 응답하여, 현재 시간 값을 상기 현재의 타이밍 휠 타임 슬롯과 비교하는 수단과,
    ⑧ 상기 현재의 타이밍 휠 타임 슬롯과 같거나 적은 인식된 현재시간값에 응답하여, 미리 정의된 범위를 전진주사하고, 상기 미리 정의된 범위 안의 임의의 타임 슬롯에서 상기 활동중 표시를 점검하는 수단
    을 포함하는 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 최근 기한 우선 스케쥴러를 포함하는 데이터 통신 네트워크에 이용하기 위한 컴퓨터 프로그램 제품.
  17. 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 다단 셀 스케쥴러(a multiple tier cell scheduler)에 있어서,
    ① 상기 복수의 데이터 스트림의 각각에 대해서 해당 데이터 셀 배열을 기억하는 메모리수단과,
    ② 각 데이터 셀 배열에 대해서, 소정의 논리채널 제어용 파리미터값들을 기억하는 수단과,
    ③ 각 데이터 스트림의 소정의 논리적 스케쥴링 전송속도 파라미터들을 이용하여 각각의 상기 데이터 셀 배열에 대한 목표전송시기를 계산하는 수단과,
    ④ 각각의 상기 계산된 다음목표 전송시기에 응답하여, 고우선 순위 타이밍 휠 혹은 저우선 순위 타이밍 휠을 선택하는 수단과, 상기 선택된 타이밍 휠에서 어떤 타이밍 휠 타임 슬롯(a timing wheel time slot)을 계산하는 수단과, 상기 인식된 타이밍 휠 타임 슬롯에 대한 어떤 활동중 표시(an active indication)를 설정하는 수단과, 상기 인식된 타이밍 휠 타임 슬롯에 대한 상기 해당 데이터 셀 배열을 지시하기 위해 어떤 엔트리(an entry)를 기억하는 수단과,
    ⑤ 상기 타이밍 휠 상의 스케쥴링 기회(scheduling opportunities)를 인식하기 위한 수단을 포함하는 전송을 위한 어떤 다음 데이터 셀 배열(a next data cell queue)을 선택하는 수단 및 인식된 스케쥴링 기회에 응답하여 엔트리들을 상기 저우선 순위 타이밍 휠에서 상기 고우선 순위 타이밍 휠로 이동시키는 수단
    을 포함하는 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 다단 셀 스케쥴러.
  18. 제 17 항에 있어서,
    상기 고우선 순위 타이밍 휠은 고우선 순위의 리키 버켓 타이밍 휠(a higher priority leaky bucket timing wheel)을 포함하고 상기 저우선 순위 타이밍 휠은 저순위 최근 기한 우선의 타이밍 휠(a lower priority deadline first timing wheel)을 포함하는, 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 다단 셀 스케쥴러.
  19. 제 17 항에 있어서,
    상기 고우선 순위 타이밍 휠은 고순위 최근 기한 우선의 리키 버켓 타이밍 휠을 포함하고 상기 저우선 순위 타이밍 휠은 저우선 순위 최대 노력의 타이밍 휠을 포함하는, 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 다단 셀 스케쥴러.
  20. 제 17 항에 있어서,
    상기 고우선 순위 타이밍 휠은 고우선 순위의 리키 버켓 타이밍 휠을 포함하고 상기 저우선 순위 타이밍 휠은 저순위 최대 노력 타이밍 휠을 포함하는, 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 다단 셀 스케쥴러.
  21. 제 17 항에 있어서,
    중위 우선 순위 타이밍 휠을 더 포함하는 , 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 다단 셀 스케쥴러.
  22. 제 21 항에 있어서,
    상기 고우선 순위 타이밍 휠은 고우선 순위 리키 버켓 타이밍 휠을 포함하고, 상기 중위 우선 순위 타이밍 휠은 최근 기한 우선의 중위 우선 순위 타이밍 휠(an earliest deadline first middle priority timing wheel)을 포함하며, 상기 저우선 순위 타이밍 휠은 저우선 순위 최대 노력 타이밍 휠을 포함하는, 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 다단 셀 스케쥴러.
  23. 제 22 항에 있어서,
    미리 정의된 의사 데이터 셀 배열(a predefined pseudo data cell queue)을 이용하여 상기 고우선 순위 리키 버켓 타이밍 휠과 상기 중위 우선 순위 최근 기한 우선 타이밍 휠중 적어도 하나 상에서 스케쥴링 기회들을 정의하는 수단을 더 포함하고, 각 데이터 스트림의 소정의 논리적 스케쥴링 전송속도 파라미터들을 이용하여 각각의 상기 데이터 셀 배열에 대해 상기 목표전송시기를 계산하는 상기 수단은 상기 미리 정의된 데이터 셀 배열을 포함함과 함께, 다단의 저우선 순위 최대 노력 타이밍 휠 타임 슬롯들의 스케쥴링 기회들을 정의하는 상기 미리 정의된 의사 데이터 셀 배열에 대한 상기 인식된 목표전송시기를 포함하는, 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 다단 셀 스케쥴러.
  24. 제 22 항에 있어서,
    전송을 위한 다음 데이터 셀 배열을 선택하는 상기 수단은 상기 고우선 순위 리키 버켓 타이밍 휠의 현재 타이밍 휠 타임 슬롯에서 상기 활동중 표시를 점검하는 수단과, 상기 현재 프레임에서 상기 활동중 표시가 없음에 응답하여 다음 프레임을 판독하는 수단 및, 어떤 엔트리(an entry)를 상기 저우선 순위 최대 노력 타이밍 휠로부터 상기 고우선 순위 리키 버켓 타이밍 휠과 상기 중위 우선 순위 최근 기한 우선 타이밍 휠중 적어도 하나로 이동시키는 수단을 포함하는, 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 다단 셀 스케쥴러.
KR1019980003884A 1997-03-25 1998-02-10 최근 기한 우선 스케쥴러 및 최근 기한을 갖는셀을 우선적으로전송하는 방법 KR100287942B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/823,155 US6028843A (en) 1997-03-25 1997-03-25 Earliest deadline first communications cell scheduler and scheduling method for transmitting earliest deadline cells first
US8/823,155 1997-03-25

Publications (2)

Publication Number Publication Date
KR19980079700A KR19980079700A (ko) 1998-11-25
KR100287942B1 true KR100287942B1 (ko) 2001-05-02

Family

ID=25237956

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980003884A KR100287942B1 (ko) 1997-03-25 1998-02-10 최근 기한 우선 스케쥴러 및 최근 기한을 갖는셀을 우선적으로전송하는 방법

Country Status (4)

Country Link
US (1) US6028843A (ko)
JP (1) JP3065983B2 (ko)
KR (1) KR100287942B1 (ko)
GB (1) GB2324678B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030027968A (ko) * 2001-09-18 2003-04-08 (주) 이노텔리텍 근거리 무선통신시스템의 무선자원분배를 위한 스케줄링방법

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805595A (en) * 1996-10-23 1998-09-08 Cisco Systems, Inc. System and method for communicating packetized data over a channel bank
US6446125B1 (en) * 1997-03-28 2002-09-03 Honeywell International Inc. Ripple scheduling for end-to-end global resource management
JP2965070B2 (ja) * 1997-04-23 1999-10-18 日本電気株式会社 Atm装置及びポートシェーピング方法
US6205151B1 (en) * 1997-11-21 2001-03-20 Texas Instruments Incorporated ATM cell scheduler which uses a heap memory and associates timestamps with each channel
US6396834B1 (en) * 1997-11-24 2002-05-28 Riverstone Networks, Inc. Flexible scheduler in an asynchronous transfer mode (ATM) switch
JP3927714B2 (ja) * 1997-12-31 2007-06-13 ユーティースターコム コリア リミテッド 予想型/保障型サービスを提供するためのトラフィック制御方法
CA2228331C (en) * 1998-01-30 2002-01-15 Ibm Canada Limited-Ibm Canada Limitee A token-based deadline enforcement system for electronic document submission
US6389019B1 (en) * 1998-03-18 2002-05-14 Nec Usa, Inc. Time-based scheduler architecture and method for ATM networks
FR2782434B1 (fr) * 1998-08-13 2002-12-20 Alsthom Cge Alkatel Methode de gestion d'une file d'attente de paquets numeriques
GB9821770D0 (en) * 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821800D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821763D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821792D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821766D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821768D0 (en) * 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821791D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
GB9821789D0 (en) 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Jitter handling
US6490629B1 (en) * 1998-10-13 2002-12-03 Genuity Inc. System and method for scheduling the transmission of packet objects having quality of service requirements
JP2000134218A (ja) * 1998-10-28 2000-05-12 Fujitsu Ltd パケット多重処理方式
US6654345B1 (en) * 1998-11-05 2003-11-25 Agere Systems Inc. Single-bit timestamps for data transfer rate and delay guarantees in a packet network
US6661774B1 (en) * 1999-02-16 2003-12-09 Efficient Networks, Inc. System and method for traffic shaping packet-based signals
US6813249B1 (en) 1999-02-16 2004-11-02 Efficient Networks, Inc. System and method for prefetching data
JP3382176B2 (ja) * 1999-03-26 2003-03-04 株式会社東芝 要求処理方法および要求処理装置
ES2394623T3 (es) * 1999-07-15 2013-02-04 Telefonaktiebolaget Lm Ericsson (Publ) Control de admisión y planificación de tráfico de datos por paquetes
WO2001013590A1 (en) * 1999-08-17 2001-02-22 Conexant Systems, Inc. Integrated circuit with a core processor and a co-processor to provide traffic stream processing
US6781956B1 (en) * 1999-09-17 2004-08-24 Cisco Technology, Inc. System and method for prioritizing packetized data from a distributed control environment for transmission through a high bandwidth link
CN1390426A (zh) * 1999-11-17 2003-01-08 西门子公司 在一个无线通信系统内传输消息的方法
JP3387464B2 (ja) 1999-11-25 2003-03-17 日本電気株式会社 通信制御システムとその制御方法
US6785283B1 (en) * 1999-12-30 2004-08-31 Lucent Technologies Inc. Quality of service (QOS) enforcement method
US6982991B1 (en) * 2000-03-10 2006-01-03 International Business Machines Corporation Cell or fram assembly method and apparatus optimizing the moving of data
US7111163B1 (en) 2000-07-10 2006-09-19 Alterwan, Inc. Wide area network using internet with quality of service
KR100343935B1 (ko) * 2000-10-09 2002-07-20 주식회사 하이닉스반도체 Imt-2000 시스템내 atm 교환기에서의 dbwrr 셀스케줄링 장치 및 방법
US7016296B2 (en) * 2000-10-16 2006-03-21 Broadcom Corporation Adaptive modulation for fixed wireless link in cable transmission system
JP4403348B2 (ja) * 2000-12-14 2010-01-27 ソニー株式会社 通信装置及び通信方法
DE10062640B4 (de) * 2000-12-15 2006-11-02 Infineon Technologies Ag Verfahren zur zeitlichen Steuerung der Ausgabe von Datenpaketen aus Netzknoten, Netzknoten und konfiguriertes Netz
US7065569B2 (en) * 2001-01-09 2006-06-20 Turin Networks, Inc. System and method for remote traffic management in a communication network
JP4755390B2 (ja) 2001-01-31 2011-08-24 インターナショナル・ビジネス・マシーンズ・コーポレーション メモリを介してデータ処理システムの間でデータのフローを制御する方法および装置
KR20030071856A (ko) * 2001-01-31 2003-09-06 인터내셔널 비지네스 머신즈 코포레이션 메모리를 통해 데이터 처리 시스템들간의 데이터 흐름을제어하기 위한 방법 및 장치
US7230923B2 (en) * 2001-03-09 2007-06-12 Vitesse Semiconductor Corporation Time based packet scheduling and sorting system
JP3698079B2 (ja) * 2001-08-22 2005-09-21 日本電気株式会社 データ転送方法、データ転送装置及びプログラム
US7904931B2 (en) * 2001-09-12 2011-03-08 Cox Communications, Inc. Efficient software bitstream rate generator for video server
US7283530B2 (en) * 2001-09-27 2007-10-16 International Business Machines Corporation Apparatus and method to coordinate calendar searches in a network scheduler
US7113517B2 (en) * 2001-09-27 2006-09-26 International Business Machines Corporation Configurable hardware scheduler calendar search algorithm
US7046676B2 (en) 2001-11-01 2006-05-16 International Business Machines Corporation QoS scheduler and method for implementing quality of service with cached status array
US6973036B2 (en) 2001-11-01 2005-12-06 International Business Machines Corporation QoS scheduler and method for implementing peak service distance using next peak service time violated indication
US7280474B2 (en) 2001-11-01 2007-10-09 International Business Machines Corporation Weighted fair queue having adjustable scaling factor
US7103051B2 (en) * 2001-11-01 2006-09-05 International Business Machines Corporation QoS scheduler and method for implementing quality of service with aging time stamps
US7187684B2 (en) 2001-11-01 2007-03-06 International Business Machines Corporation Weighted fair queue having extended effective range
US7310345B2 (en) 2001-11-01 2007-12-18 International Business Machines Corporation Empty indicators for weighted fair queues
US7317683B2 (en) * 2001-11-01 2008-01-08 International Business Machines Corporation Weighted fair queue serving plural output ports
US6982986B2 (en) * 2001-11-01 2006-01-03 International Business Machines Corporation QoS scheduler and method for implementing quality of service anticipating the end of a chain of flows
US7379420B2 (en) * 2001-12-28 2008-05-27 Network Equipment Technologies, Inc. Method and apparatus for multiple qualities of service to different network connections of a single network path
DE10204616A1 (de) * 2002-02-05 2003-08-14 Siemens Ag Verfahren zur Übertragung von Datenpaketen verschiedender Verkehrsklassen über eine Verbindung zwischen zwei Knoten eines Kommunikationssystems
US7680043B2 (en) * 2002-03-20 2010-03-16 International Business Machines Corporation Network processor having fast flow queue disable process
US7257124B2 (en) * 2002-03-20 2007-08-14 International Business Machines Corporation Method and apparatus for improving the fairness of new attaches to a weighted fair queue in a quality of service (QoS) scheduler
US7409456B2 (en) 2002-04-10 2008-08-05 Akami Technologies, Inc. Method and system for enhancing live stream delivery quality using prebursting
US7069557B2 (en) * 2002-05-23 2006-06-27 International Business Machines Corporation Network processor which defines virtual paths without using logical path descriptors
US20060164987A1 (en) * 2002-07-18 2006-07-27 Carles Ruiz Floriach Adaptive dropping of prioritized transmission packets
US7093256B2 (en) * 2002-12-13 2006-08-15 Equator Technologies, Inc. Method and apparatus for scheduling real-time and non-real-time access to a shared resource
US7260640B1 (en) * 2003-02-13 2007-08-21 Unisys Corproation System and method for providing an enhanced enterprise streaming media server capacity and performance
US9544860B2 (en) * 2003-02-24 2017-01-10 Qualcomm Incorporated Pilot signals for use in multi-sector cells
US8811348B2 (en) * 2003-02-24 2014-08-19 Qualcomm Incorporated Methods and apparatus for generating, communicating, and/or using information relating to self-noise
US9661519B2 (en) * 2003-02-24 2017-05-23 Qualcomm Incorporated Efficient reporting of information in a wireless communication system
US7218948B2 (en) * 2003-02-24 2007-05-15 Qualcomm Incorporated Method of transmitting pilot tones in a multi-sector cell, including null pilot tones, for generating channel quality indicators
DE10308954A1 (de) * 2003-02-28 2004-09-09 Siemens Ag Übertragung von Daten in einem schaltbaren Datennetz
US7499398B2 (en) * 2003-04-16 2009-03-03 International Business Machines Corporation Method and system for oversubscribing bandwidth in a communications network
KR100524763B1 (ko) * 2003-07-23 2005-10-31 엘지전자 주식회사 개선된 edf 스케쥴링 방법
US7444419B2 (en) * 2003-10-10 2008-10-28 Microsoft Corporation Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints
US7583596B1 (en) * 2004-06-28 2009-09-01 Juniper Networks, Inc. Priority scheduling using per-priority memory structures
US7346050B2 (en) * 2005-01-31 2008-03-18 International Business Machines Corporation Method, system, and storage medium for delay optimization for scheduling in bufferless crossbar switches
US9191840B2 (en) * 2005-10-14 2015-11-17 Qualcomm Incorporated Methods and apparatus for determining, communicating and using information which can be used for interference control
US8989084B2 (en) * 2005-10-14 2015-03-24 Qualcomm Incorporated Methods and apparatus for broadcasting loading information corresponding to neighboring base stations
JP4974508B2 (ja) * 2005-10-28 2012-07-11 キヤノン株式会社 バスマスタ装置、バス調停装置及びバス調停方法
US9119220B2 (en) * 2005-12-22 2015-08-25 Qualcomm Incorporated Methods and apparatus for communicating backlog related information
US20070249287A1 (en) * 2005-12-22 2007-10-25 Arnab Das Methods and apparatus for selecting between a plurality of dictionaries
US9338767B2 (en) * 2005-12-22 2016-05-10 Qualcomm Incorporated Methods and apparatus of implementing and/or using a dedicated control channel
US9473265B2 (en) * 2005-12-22 2016-10-18 Qualcomm Incorporated Methods and apparatus for communicating information utilizing a plurality of dictionaries
US20070149132A1 (en) 2005-12-22 2007-06-28 Junyl Li Methods and apparatus related to selecting control channel reporting formats
US9125093B2 (en) * 2005-12-22 2015-09-01 Qualcomm Incorporated Methods and apparatus related to custom control channel reporting formats
US8437251B2 (en) 2005-12-22 2013-05-07 Qualcomm Incorporated Methods and apparatus for communicating transmission backlog information
US9451491B2 (en) * 2005-12-22 2016-09-20 Qualcomm Incorporated Methods and apparatus relating to generating and transmitting initial and additional control information report sets in a wireless system
US9148795B2 (en) 2005-12-22 2015-09-29 Qualcomm Incorporated Methods and apparatus for flexible reporting of control information
US8514771B2 (en) 2005-12-22 2013-08-20 Qualcomm Incorporated Methods and apparatus for communicating and/or using transmission power information
US9125092B2 (en) 2005-12-22 2015-09-01 Qualcomm Incorporated Methods and apparatus for reporting and/or using control information
US9572179B2 (en) 2005-12-22 2017-02-14 Qualcomm Incorporated Methods and apparatus for communicating transmission backlog information
US9137072B2 (en) 2005-12-22 2015-09-15 Qualcomm Incorporated Methods and apparatus for communicating control information
US20070243882A1 (en) * 2006-04-12 2007-10-18 Qualcomm Incorporated Method and apparatus for locating a wireless local area network associated with a wireless wide area network
US7756134B2 (en) * 2006-05-02 2010-07-13 Harris Corporation Systems and methods for close queuing to support quality of service
US20070258459A1 (en) * 2006-05-02 2007-11-08 Harris Corporation Method and system for QOS by proxy
US7894509B2 (en) * 2006-05-18 2011-02-22 Harris Corporation Method and system for functional redundancy based quality of service
US8516153B2 (en) 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US7990860B2 (en) * 2006-06-16 2011-08-02 Harris Corporation Method and system for rule-based sequencing for QoS
US20070291767A1 (en) * 2006-06-16 2007-12-20 Harris Corporation Systems and methods for a protocol transformation gateway for quality of service
US8064464B2 (en) 2006-06-16 2011-11-22 Harris Corporation Method and system for inbound content-based QoS
US7856012B2 (en) * 2006-06-16 2010-12-21 Harris Corporation System and methods for generic data transparent rules to support quality of service
US7916626B2 (en) * 2006-06-19 2011-03-29 Harris Corporation Method and system for fault-tolerant quality of service
US8730981B2 (en) 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service
US7769028B2 (en) * 2006-06-21 2010-08-03 Harris Corporation Systems and methods for adaptive throughput management for event-driven message-based data
US8300653B2 (en) 2006-07-31 2012-10-30 Harris Corporation Systems and methods for assured communications with quality of service
US20100241759A1 (en) * 2006-07-31 2010-09-23 Smith Donald L Systems and methods for sar-capable quality of service
US20100238801A1 (en) * 2006-07-31 2010-09-23 Smith Donald L Method and system for stale data detection based quality of service
CN100456232C (zh) * 2007-03-19 2009-01-28 中国人民解放军国防科学技术大学 针对流处理的存储访问与调度装置
JP4508210B2 (ja) * 2007-05-14 2010-07-21 株式会社日立製作所 受信装置及び受信システム
US20120089759A1 (en) * 2010-10-08 2012-04-12 Qualcomm Incorporated Arbitrating Stream Transactions Based on Information Related to the Stream Transaction(s)
US8787873B1 (en) 2011-11-04 2014-07-22 Plusn Llc System and method for communicating using bandwidth on demand
EP3076619A1 (en) * 2015-04-02 2016-10-05 Alcatel Lucent Method, system and computer-readable medium to schedule the processing of a plurality of data packets
JP6768625B2 (ja) * 2017-11-17 2020-10-14 株式会社東芝 情報処理装置、情報処理方法、およびプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61207810A (ja) * 1985-03-12 1986-09-16 Nissan Motor Co Ltd エンジンオイルの交換時期警告装置
US5640563A (en) * 1992-01-31 1997-06-17 International Business Machines Corporation Multi-media computer operating system and method
US5381407A (en) * 1992-06-04 1995-01-10 Bell Communications Research, Inc. Method and system for controlling user traffic to a fast packet switching system
CA2104753C (en) * 1992-10-29 1999-02-16 Kotikalapudi Sriram Bandwidth allocation, transmission scheduling, and congestion avoidance in broadband atm networks
US5359592A (en) * 1993-06-25 1994-10-25 Stratacom, Inc. Bandwidth and congestion control for queue channels in a cell switching communication controller
US5627970A (en) * 1994-08-08 1997-05-06 Lucent Technologies Inc. Methods and apparatus for achieving and maintaining optimum transmission rates and preventing data loss in a processing system nework
US5533020A (en) * 1994-10-31 1996-07-02 International Business Machines Corporation ATM cell scheduler
US5533021A (en) * 1995-02-03 1996-07-02 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of multimedia data
US5631908A (en) * 1995-03-28 1997-05-20 Digital Equipment Corporation Method and apparatus for generating and implementing smooth schedules for forwarding data flows across cell-based switches
US5535201A (en) * 1995-05-10 1996-07-09 Mitsubishi Electric Research Laboratories, Inc. Traffic shaping system using two dimensional timing chains
US5604742A (en) * 1995-05-31 1997-02-18 International Business Machines Corporation Communications system and method for efficient management of bandwidth in a FDDI station
US5633870A (en) * 1995-07-07 1997-05-27 Sun Microsystems, Inc. Method and apparatus for controlling data flow through an ATM interface
AU1420197A (en) * 1995-12-14 1997-07-03 Cisco Systems, Inc. Multi-level rate scheduler
US5751709A (en) * 1995-12-28 1998-05-12 Lucent Technologies Inc. Adaptive time slot scheduling apparatus and method for end-points in an ATM network
US6064677A (en) * 1996-06-27 2000-05-16 Xerox Corporation Multiple rate sensitive priority queues for reducing relative data transport unit delay variations in time multiplexed outputs from output queued routing mechanisms
US5953336A (en) * 1996-08-05 1999-09-14 Virata Limited Method and apparatus for source rate pacing in an ATM network
US5844890A (en) * 1997-03-25 1998-12-01 International Business Machines Corporation Communications cell scheduler and scheduling method for providing proportional use of network bandwith

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030027968A (ko) * 2001-09-18 2003-04-08 (주) 이노텔리텍 근거리 무선통신시스템의 무선자원분배를 위한 스케줄링방법

Also Published As

Publication number Publication date
GB2324678A (en) 1998-10-28
KR19980079700A (ko) 1998-11-25
US6028843A (en) 2000-02-22
GB2324678B (en) 2000-05-24
JP3065983B2 (ja) 2000-07-17
GB9804618D0 (en) 1998-04-29
JPH10276221A (ja) 1998-10-13

Similar Documents

Publication Publication Date Title
KR100287942B1 (ko) 최근 기한 우선 스케쥴러 및 최근 기한을 갖는셀을 우선적으로전송하는 방법
KR100304088B1 (ko) 복수의데이터스트림의셀전송을스케쥴링하는방법과장치및,최대노력스케쥴러
US6442164B1 (en) Method and system for allocating bandwidth and buffer resources to constant bit rate (CBR) traffic
US6198724B1 (en) ATM cell scheduling method and apparatus
US6047000A (en) Packet scheduling system
JP2831600B2 (ja) 固定長セル交換ネットワーク・ノード内の出力トラフィックをシェーピングするための方法および装置
JPH10242999A (ja) トラフィック成形装置
JPH10215257A (ja) パケット交換通信システム
JPH10215258A (ja) パケット交換通信システム
JPH0846590A (ja) データ伝送システム
JPH1174909A (ja) 資源を共有するシステムにおけるサービス要求受付管理方法
Lee et al. Queueing system with multiple delay and loss priorities for ATM networks
EP1471694B1 (en) Method for dimensioning bandwidth in voice-over-IP networks
Liebeherr Multimedia networks: issues and challenges
Mowbray et al. Capacity reservation for multimedia traffic
JPH0818576A (ja) 通信システム
Millan-Lopez et al. Using the imprecise-computation technique for congestion control on a real-time traffic switching element
GB2341751A (en) A multiple tier communications cell scheduler
Peha Scheduling and admission control for integrated-services networks: the priority token bank
Philp Scheduling real-time messages in packet-switched networks
Tse et al. Efficient distributed scheduling architecture for wireless atm networks
Minami et al. Design of buffer controller for flow-based high quality communications
KR0185858B1 (ko) 에이티엠망에서의 이디디를 이용한 스톱-앤-고우 큐 서비스방법
Yuan A study on ATM multiplexing and threshold-based connection admission control in connection-oriented packet networks
Field Network architecture frameworks to support real-time communication performance guarantees

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