KR100287942B1 - 최근 기한 우선 스케쥴러 및 최근 기한을 갖는셀을 우선적으로전송하는 방법 - Google Patents
최근 기한 우선 스케쥴러 및 최근 기한을 갖는셀을 우선적으로전송하는 방법 Download PDFInfo
- 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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000005540 biological transmission Effects 0.000 claims abstract description 121
- 238000003491 array Methods 0.000 claims abstract description 12
- 230000004044 response Effects 0.000 claims description 29
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000002459 sustained effect Effects 0.000 claims 2
- 230000002045 lasting effect Effects 0.000 claims 1
- 230000007246 mechanism Effects 0.000 abstract description 7
- 230000003247 decreasing effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 10
- 238000002360 preparation method Methods 0.000 description 5
- 230000008521 reorganization Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 101100233693 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ITC1 gene Proteins 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5651—Priority, marking, classes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5672—Multiplexing, e.g. coding, scrambling
- H04L2012/5675—Timeslot assignment, e.g. TDMA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5679—Arbitration 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
본 발명은 데이터 통신 네트워크를 통한 다중 데이터 스트림의 스케쥴링(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)
- 통신 네트워크에서의 복수의 데이터 스트림의 셀들의 전송을 스케쥴링하는 방법에 있어서,① 각 데이터 스트림의 데이터를 해당 데이터 셀 배열(a corresponding data cell queue)로 배열하는 단계와,② 각 데이터 스트림의 소정의 논리적 스케쥴링 전송속도 파라미터들을 활용하여 각각의 상기 데이터 셀 배열에 대해서 목표전송시기(a target transmission time)를 계산하는 단계와,③ 각각의 상기 계산된 다음 목표전송시기에 응답하여, 최대 전송 지연값의 부가를 활용하여 타이밍 휠의 타임 슬롯을 계산하고, 상기 인식된 타이밍 휠 타임 슬롯에 대해서 활동중 표시(an active indication)를 설정하며, 상기 인식된 타이밍 휠 타임 슬롯에 대해서 상기 해당 데이터 셀 배열을 지시하기 위한 엔트리(an entry)를 기억하는 단계와,④ 현재의 타이밍 휠 타임 슬롯에서 상기 활동중 표시를 점검함으로써 전송을 위한 다음 데이터 셀 배열을 선택하는 단계와,⑤ 상기 활동중 표시의 인식에 응답하여, 전송을 위한 첫 번째 데이터 셀 배열을 처리하고, 상기 데이터 셀 배열을 다시 스케쥴링하는 단계와,⑥ 상기 현재의 타이밍 휠 타임 슬롯으부터의 엔트리를 점검함으로써 다음 시기의 타이밍 휠 타임 슬롯으로 이동하는 단계와,⑦ 상기 엔트리의 인식에 응답하여, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 상기 인식된 엔트리를 처리하고, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 다음 엔트리를 다시 점검하는 단계와,⑧ 빈 타임 슬롯의 인식에 응답하여, 현재의 시간 값을 상기 현재의 타이밍 휠 타임 슬롯과 비교하는 단계와,⑨ 상기 현재의 타이밍 휠 타임 슬롯와 같거나 적은 현재 시간 값에 응답하여, 미리 정의된 범위를 전진주사(scan forward)하고, 상기 미리 정의된 범위 내의 임의의 타임 슬롯에서 상기 활동중 표시를 점검하는 단계를 포함하는 통신 네트워크에서의 복수의 데이터 스트림 셀 전송 스케쥴링 방법.
- 제 1 항에 있어서,상기 범위 안의 첫 번째 타이밍 휠 타임 슬롯으로부터 첫 번째로 인식된 엔트리를 처리하는 단계와, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 다음 엔트리를 다시 점검하는 단계를 포함하는 통신 네트워크에서의 복수의 데이터 스트림 셀 전송 스케쥴링 방법.
- 제 1 항에 있어서,상기 현재의 타이밍 휠 슬롯보다 큰 상기 현재의 시간 값의 인식에 응답하여, 다음 타이밍 휠 타임 슬롯으로 이동하는 단계와, 상기 현재의 타임 슬롯에 대해서 상기 활동중 표시를 다시 점검하는 단계를 포함하는 통신 네트워크에서의 복수의 데이터 스트림 셀 전송 스케쥴링 방법.
- 제 1 항에 있어서,각 데이터 스트림의 소정의 논리적 스케쥴링 전송속도 파라미터들을 활용하여 각 상기 데이터 셀 배열에 대한 상기 목표전송시기를 계산하는 단계는 타이밍 휠 타임 슬롯 간격들로 환산하여 최대 전송속도와 지속 가능한 전송속도 접속 파라미터들을 유지하는 단계와, new timestamp = MAX(old timestamp + sustained interval, current time - burst limit)의 수학식으로 표현되는 계산 알고리즘을 활용하는 단계를 포함하는 통신 네트워크에서의 복수의 데이터 스트림 셀 전송 스케쥴링 방법.
- 제 4 항에 있어서,최대 지연값의 부가를 활용하여 상기 타이밍 휠 안의 상기 타임 슬롯을 계산하는 단계는 new time slot = MAX(timestamp + sustained interval, current time + peak interval) + max delay의 수학식으로 표현되는 계산 알고리즘을 활용하는 단계를 포함하는 통신 네트워크에서의 복수의 데이터 스트림 셀 전송 스케쥴링 방법.
- 제 1 항에 있어서,각 데이터 스트림의 데이터를 상기 해당 데이터 셀 배열로 배열하는 단계는 각 상기 데이터 스트림에 대해서 각 상기 데이터 스트림의 데이터를 적어도 하나의 논리채널 디스크립터(at least one logical channel descriptor)로 배열하는 단계를 포함하는 통신 네트워크에서의 복수의 데이터 스트림 셀 전송 스케쥴링 방법.
- 제 6 항에 있어서,상기 목표전송시기를 계산하는 단계와 어떤 타이밍 슬롯 안의 상기 타임 슬롯을 계산하는 단계는 각 상기 데이터 스트림에 대한 각 논리채널 디스크립터에 대해서 수행되는 통신 네트워크에서의 복수의 데이터 스트림 셀 전송 스케쥴링 방법.
- 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 장치에 있어서,① 각 데이터 스트림의 데이터로 배열된 해당 데이터 셀 배열(a corresponding data cell queue)을 기억하는 메모리 수단과,② 각 데이터 스트림의 소정의 논리적 스케쥴링 전송속도 파라미터들을 활용하여 각각의 상기 데이터 셀 배열에 대해서 목표전송시기(a target transmission time)를 계산하는 수단과,③ 상기 다음 목표전송시기 계산수단에 응답하여, 최대 전송 지연값의 부가를 활용해 타이밍 휠의 타임 슬롯을 계산하는 수단과, 상기 인식된 타이밍 휠 타임 슬롯에 대해서 활동중 표시(an active indication)를 기억하는 수단과, 상기 인식된 타이밍 휠 타임 슬롯에 대해서 상기 해당 데이터 셀 배열을 지시하기 위한 엔트리(an entry)를 기억하는 수단과,④ 현재의 타이밍 휠 타임 슬롯에서 상기 활동중 표시를 점검하는 수단을 포함하는 전송을 위한 다음 데이터 셀 배열을 선택하는 수단과,⑤ 상기 활동중 표시의 인식에 응답하여, 전송을 위한 첫 번째 데이터 셀 배열을 처리하고, 상기 데이터 셀 배열을 다시 스케쥴링하는 수단과,⑥ 상기 현재의 타이밍 휠 타임 슬롯으부터의 엔트리를 점검하는 수단을 포함하는 다음 시기의 타이밍 휠 타임 슬롯으로 이동하는 수단과,⑦ 상기 엔트리 점검수단에 응답하여, 상기 현재의 타이밍 휠 타임 슬롯으로부터 인식된 엔트리를 처리하고, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 다음 엔트리를 다시 점검하는 수단과,⑧ 상기 엔트리 점검수단에 의해 인식된 빈 타임 슬롯에 응답하여, 현재의 시간 값을 상기 현재의 타이밍 휠 타임 슬롯과 비교하는 수단과,⑨ 상기 현재의 타이밍 휠 타임 슬롯과 같거나 적은 인식된 현재 시간 값에 응답하여, 미리 정의된 범위를 전진주사(scan forward)하고, 상기 미리 정의된 범위 내의 임의의 타임 슬롯에서 상기 활동중 표시를 점검하는 수단을 포함하는 통신 네트워크에서의 복수의 데이터 스트림 셀 전송 스케쥴링 장치.
- 제 8 항에 있어서,상기 타이밍 휠 타임 슬롯을 벗어난 계산된 다음 목표전송시기에 응답하는 최종 활동중 버켓(a last active bucket)을 더 포함하는 통신 네트워크에서의 복수의 데이터 스트림 셀 전송 스케쥴링 장치.
- 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 최근 기한 우선(earliest deadline first: EDF) 스케쥴러에 있어서,① 상기 복수의 데이터 스트림의 각각에 대해서 해당 데이터 셀 배열을 기억하는 메모리와,② 각 데이터 셀 배열에 대해서, 지연경계값(a delay bound value)을 갖는 소정의 논리채널 제어용 파리미터값들을 기억하는 수단과,③ 포인터들의 어레이를 상기 데이터 셀 배열들로 기억하고 타이밍 휠 타임 슬롯의 점유비트맵을 기억하는 수단과,④ 목표전송시기를 계산하고, 각 데이터 셀 배열에 대해서, 상기 지연경계값의 부가를 활용하는 타이밍 휠 타임 슬롯을 계산하는 수단과,⑤ 전송을 위해 일련의 데이터 스트림 셀 배열을 인식하기 위해 상기 타이밍 휠 타임 슬롯위를 전진 이동하는 타이밍 수단―상기 타이밍 수단은 상기 현재의 타이밍 휠 타임 슬롯으로부터의 엔트리를 점검하는 수단을 포함함―과,⑥ 상기 엔트리 점검 수단에 응답하여, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 인식된 엔트리를 처리하고, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 다음 엔트리를 점검하는 수단과, 상기 엔트리 점검 수단에 의해서 인식된 빈 타임 슬롯에 응답하여, 현재 시간 값을 상기 현재의 타이밍 휠 타임 슬롯과 비교하는 수단과,⑦ 상기 현재의 타이밍 휠 타임 슬롯과 같거나 적은 인식된 현재시간값에 응답하여, 미리 정의된 범위를 전진주사하고, 상기 미리 정의된 범위 안의 임의의 타임 슬롯에서 상기 활동중 표시를 점검하는 수단을 포함하는 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 최근 기한 우선 스케쥴러.
- 제 10 항에 있어서.상기 범위 안의 첫 번째 타이밍 휠 타임 슬롯으로부터 첫 번째로 인식된 엔트리를 처리하고, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 다음 엔트리를 점검하는 수단을 더 포함하는 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 최근 기한 우선 스케쥴러.
- 제 10 항에 있어서,상기 현재의 타이밍 휠 슬롯보다 큰 상기 현재의 시간 값의 인식에 응답하여, 다음 타이밍 휠 타임 슬롯으로 이동하고, 상기 현재의 타임 슬롯에 대해서 상기 활동중 표시를 점검하는 수단을 더 포함하는 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 최근 기한 우선 스케쥴러.
- 제 10 항에 있어서,상기 타이밍 휠 타임 슬롯을 벗어난 계산된 다음 목표전송시기에 응답하는 최종 활동중 버켓(a last active bucket)을 더 포함하는 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 최근 기한 우선 스케쥴러.
- 통신 네트워크에 있어서,① 네트워크 인터페이스를 포함하는 적어도 하나의 통신 시스템과,② 상기 통신 네트워크에 포함되고, 각 데이터 스트림의 데이터로 배열된 해당 데이터 셀 배열(a corresponding data cell queue)을 기억하는 메모리 수단을 포함하는 셀 스케쥴러와,③ 각 데이터 스트림의 소정의 논리적 스케쥴링 전송속도 파라미터들을 활용하여 각각의 상기 데이터 셀 배열에 대해서 목표전송시기(a target transmission time)를 계산하는 수단과,④ 상기 다음 목표전송시기 계산수단에 응답하여, 최대 전송 지연값의 부가를 활용하여 타이밍 휠의 타임 슬롯을 계산하는 수단과, 상기 인식된 타이밍 휠 타임 슬롯에 대해서 활동중 표시(an active indication)를 기억하는 수단과, 상기 인식된 타이밍 휠 타임 슬롯에 대해서 상기 해당 데이터 셀 배열을 지시하기 위한 엔트리(an entry)를 기억하는 수단과,⑤ 현재의 타이밍 휠 타임 슬롯에서 상기 활동중 표시를 점검하는 수단을 포함하는 전송을 위한 다음 데이터 셀 배열을 선택하는 수단과,⑥ 상기 활동중 표시의 인식에 응답하여, 전송을 위한 첫 번째 데이터 셀 배열을 처리하고, 상기 데이터 셀 배열을 다시 스케쥴링하는 수단과,⑦ 상기 현재의 타이밍 휠 타임 슬롯으부터의 엔트리를 점검하는 수단을 포함하는 다음 시기의 타이밍 휠 타임 슬롯으로 이동하는 수단과,⑧ 상기 엔트리 점검수단에 응답하여, 상기 현재의 타이밍 휠 타임 슬롯으로부터 인식된 엔트리를 처리하고, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 다음 엔트리를 다시 점검하는 수단과,⑨ 상기 엔트리 점검수단에 의해 인식된 빈 타임 슬롯에 응답하여, 현재의 시간 값을 상기 현재의 타이밍 휠 타임 슬롯과 비교하는 수단과,⑩ 상기 현재의 타이밍 휠 타임 슬롯와 같거나 적은 인식된 현재 시간값에 응답하여, 미리 정의된 범위를 전진주사(scan forward)하고, 상기 미리 정의된 범위 내의 임의의 타임 슬롯에서 상기 활동중 표시를 점검하는 수단을 포함하는 통신 네트워크.
- 제 14 항에 있어서,적어도 하나의 상기 셀 스케쥴러를 포함하는 내부 네트워크 라우팅 시스템을 더 포함하는 통신 네트워크.
- 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 최근 기한 우선 스케쥴러를 포함하는 데이터 통신 네트워크에 이용하기 위한 컴퓨터 프로그램 제품에 있어서,① 기록매체와,② 상기 기록매체에 기록되어, 상기 복수의 데이터 스트림의 각각에 대해서 해당 데이터 셀 배열을 기억하는 수단과,③ 상기 기록매체에 기록되어, 각 데이터 셀 배열에 대해서, 지연경계값(a delay bound value)을 갖는 소정의 논리채널 제어용 파리미터값들을 기억하는 수단과,④ 상기 기록매체에 기록되어, 포인터들의 어레이를 상기 데이터 셀 배열들로 기억하고 타이밍 휠 타임 슬롯의 점유비트맵을 기억하는 수단과,⑤ 상기 기록매체에 기록되어, 목표전송시기를 계산하고, 각 데이터 셀 배열에 대해서, 상기 지연경계값의 부가를 활용하는 타이밍 휠 타임 슬롯을 계산하는 수단과,⑥ 상기 기록매체에 기록되어, 전송을 위해 일련의 데이터 스트림 셀 배열을 인식하기 위해 상기 타이밍 휠 타임 슬롯위를 전진 이동하는 타이밍 수단―상기 타이밍 수단은 상기 현재의 타이밍 휠 타임 슬롯으로부터의 엔트리를 점검하는 수단을 포함함―과,⑦ 상기 엔트리 점검 수단에 응답하여, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 인식된 엔트리를 처리하고, 상기 현재의 타이밍 휠 타임 슬롯으로부터의 다음 엔트리를 점검하는 수단과, 상기 엔트리 점검 수단에 의해서 인식된 빈 타임 슬롯에 응답하여, 현재 시간 값을 상기 현재의 타이밍 휠 타임 슬롯과 비교하는 수단과,⑧ 상기 현재의 타이밍 휠 타임 슬롯과 같거나 적은 인식된 현재시간값에 응답하여, 미리 정의된 범위를 전진주사하고, 상기 미리 정의된 범위 안의 임의의 타임 슬롯에서 상기 활동중 표시를 점검하는 수단을 포함하는 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 최근 기한 우선 스케쥴러를 포함하는 데이터 통신 네트워크에 이용하기 위한 컴퓨터 프로그램 제품.
- 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 다단 셀 스케쥴러(a multiple tier cell scheduler)에 있어서,① 상기 복수의 데이터 스트림의 각각에 대해서 해당 데이터 셀 배열을 기억하는 메모리수단과,② 각 데이터 셀 배열에 대해서, 소정의 논리채널 제어용 파리미터값들을 기억하는 수단과,③ 각 데이터 스트림의 소정의 논리적 스케쥴링 전송속도 파라미터들을 이용하여 각각의 상기 데이터 셀 배열에 대한 목표전송시기를 계산하는 수단과,④ 각각의 상기 계산된 다음목표 전송시기에 응답하여, 고우선 순위 타이밍 휠 혹은 저우선 순위 타이밍 휠을 선택하는 수단과, 상기 선택된 타이밍 휠에서 어떤 타이밍 휠 타임 슬롯(a timing wheel time slot)을 계산하는 수단과, 상기 인식된 타이밍 휠 타임 슬롯에 대한 어떤 활동중 표시(an active indication)를 설정하는 수단과, 상기 인식된 타이밍 휠 타임 슬롯에 대한 상기 해당 데이터 셀 배열을 지시하기 위해 어떤 엔트리(an entry)를 기억하는 수단과,⑤ 상기 타이밍 휠 상의 스케쥴링 기회(scheduling opportunities)를 인식하기 위한 수단을 포함하는 전송을 위한 어떤 다음 데이터 셀 배열(a next data cell queue)을 선택하는 수단 및 인식된 스케쥴링 기회에 응답하여 엔트리들을 상기 저우선 순위 타이밍 휠에서 상기 고우선 순위 타이밍 휠로 이동시키는 수단을 포함하는 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 다단 셀 스케쥴러.
- 제 17 항에 있어서,상기 고우선 순위 타이밍 휠은 고우선 순위의 리키 버켓 타이밍 휠(a higher priority leaky bucket timing wheel)을 포함하고 상기 저우선 순위 타이밍 휠은 저순위 최근 기한 우선의 타이밍 휠(a lower priority deadline first timing wheel)을 포함하는, 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 다단 셀 스케쥴러.
- 제 17 항에 있어서,상기 고우선 순위 타이밍 휠은 고순위 최근 기한 우선의 리키 버켓 타이밍 휠을 포함하고 상기 저우선 순위 타이밍 휠은 저우선 순위 최대 노력의 타이밍 휠을 포함하는, 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 다단 셀 스케쥴러.
- 제 17 항에 있어서,상기 고우선 순위 타이밍 휠은 고우선 순위의 리키 버켓 타이밍 휠을 포함하고 상기 저우선 순위 타이밍 휠은 저순위 최대 노력 타이밍 휠을 포함하는, 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 다단 셀 스케쥴러.
- 제 17 항에 있어서,중위 우선 순위 타이밍 휠을 더 포함하는 , 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 다단 셀 스케쥴러.
- 제 21 항에 있어서,상기 고우선 순위 타이밍 휠은 고우선 순위 리키 버켓 타이밍 휠을 포함하고, 상기 중위 우선 순위 타이밍 휠은 최근 기한 우선의 중위 우선 순위 타이밍 휠(an earliest deadline first middle priority timing wheel)을 포함하며, 상기 저우선 순위 타이밍 휠은 저우선 순위 최대 노력 타이밍 휠을 포함하는, 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 다단 셀 스케쥴러.
- 제 22 항에 있어서,미리 정의된 의사 데이터 셀 배열(a predefined pseudo data cell queue)을 이용하여 상기 고우선 순위 리키 버켓 타이밍 휠과 상기 중위 우선 순위 최근 기한 우선 타이밍 휠중 적어도 하나 상에서 스케쥴링 기회들을 정의하는 수단을 더 포함하고, 각 데이터 스트림의 소정의 논리적 스케쥴링 전송속도 파라미터들을 이용하여 각각의 상기 데이터 셀 배열에 대해 상기 목표전송시기를 계산하는 상기 수단은 상기 미리 정의된 데이터 셀 배열을 포함함과 함께, 다단의 저우선 순위 최대 노력 타이밍 휠 타임 슬롯들의 스케쥴링 기회들을 정의하는 상기 미리 정의된 의사 데이터 셀 배열에 대한 상기 인식된 목표전송시기를 포함하는, 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 다단 셀 스케쥴러.
- 제 22 항에 있어서,전송을 위한 다음 데이터 셀 배열을 선택하는 상기 수단은 상기 고우선 순위 리키 버켓 타이밍 휠의 현재 타이밍 휠 타임 슬롯에서 상기 활동중 표시를 점검하는 수단과, 상기 현재 프레임에서 상기 활동중 표시가 없음에 응답하여 다음 프레임을 판독하는 수단 및, 어떤 엔트리(an entry)를 상기 저우선 순위 최대 노력 타이밍 휠로부터 상기 고우선 순위 리키 버켓 타이밍 휠과 상기 중위 우선 순위 최근 기한 우선 타이밍 휠중 적어도 하나로 이동시키는 수단을 포함하는, 통신 네트워크에서의 복수의 데이터 스트림의 셀 들의 전송을 스케쥴링하는 다단 셀 스케쥴러.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030027968A (ko) * | 2001-09-18 | 2003-04-08 | (주) 이노텔리텍 | 근거리 무선통신시스템의 무선자원분배를 위한 스케줄링방법 |
Families Citing this family (107)
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)
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 |
-
1997
- 1997-03-25 US US08/823,155 patent/US6028843A/en not_active Expired - Lifetime
-
1998
- 1998-02-10 KR KR1019980003884A patent/KR100287942B1/ko not_active IP Right Cessation
- 1998-03-05 GB GB9804618A patent/GB2324678B/en not_active Expired - Lifetime
- 1998-03-09 JP JP5634398A patent/JP3065983B2/ja not_active Expired - Fee Related
Cited By (1)
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 |