KR20030056287A - An Apparatus and Method for scheduling the ATM cell using a Calendar - Google Patents

An Apparatus and Method for scheduling the ATM cell using a Calendar Download PDF

Info

Publication number
KR20030056287A
KR20030056287A KR1020010086484A KR20010086484A KR20030056287A KR 20030056287 A KR20030056287 A KR 20030056287A KR 1020010086484 A KR1020010086484 A KR 1020010086484A KR 20010086484 A KR20010086484 A KR 20010086484A KR 20030056287 A KR20030056287 A KR 20030056287A
Authority
KR
South Korea
Prior art keywords
cell
calendar
storage address
scheduler
cells
Prior art date
Application number
KR1020010086484A
Other languages
Korean (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 한국전자통신연구원
Priority to KR1020010086484A priority Critical patent/KR20030056287A/en
Publication of KR20030056287A publication Critical patent/KR20030056287A/en

Links

Classifications

    • 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
    • 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
    • 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/5681Buffer or queue management
    • 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/5685Addressing issues

Landscapes

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

Abstract

PURPOSE: An ATM(Asynchronous Transfer Mode) cell scheduling apparatus using a calendar and a method therefor are provided to enhance switch efficiency by scheduling the transmission of a traffic according to a traffic state of a switch output port when a cell inputted in an ATM switch is switched and by restraining a temporary overload state of the traffic. CONSTITUTION: A VC(Virtual Connection) buffer(20) stores cells by a VC unit, and transmits a storing address of a primary cell among corresponding VC cells. If the storing addresses of the cells are received from the VC buffer(20), a plurality of calendar schedulers(30-33) calculate start times of the cells and store the storing addresses of the cells in corresponding slots. A service scheduling(40) schedules whether a certain storing address of the cell is primarily started among the storing addresses of the cells, which are outputted from the calendar schedulers(30-33). VCQs(Virtual Output Queues)(60-63) read and store cells corresponding to the storing addresses of the cells, which are outputted from the service scheduling(40). A scheduler schedules and outputs the cells stored in the VCQs(60-63) according to the state of an output port and a service level.

Description

캘린더를 이용한 비동기전송모드 셀 스케쥴링 장치 및 그 방법{An Apparatus and Method for scheduling the ATM cell using a Calendar}An Apparatus and Method for scheduling the ATM cell using a Calendar}

본 발명은 캘린더를 이용한 비동기전송모드 셀 스케쥴링 장치 및 그 방법에 관한 것으로, 더욱 자세하게는 캘린더를 이용해 비교적 간단한 구조로 서비스 등급과 가상 연결(VC) 단위로 셀 트래픽을 스케쥴링 하여, 협상된 트래픽 파라미터를 준수할 수 있는 트래픽 스케쥴링 장치 및 그 방법에 관한 것이다.The present invention relates to an asynchronous transmission mode cell scheduling apparatus using a calendar and a method thereof, and more particularly, to schedule cell traffic in terms of service class and virtual connection (VC) in a relatively simple structure using a calendar, and to negotiate a negotiated traffic parameter. The present invention relates to a traffic scheduling apparatus and a method thereof.

비동기전송모드(ATM: Asynchronous Transfer Mode) 교환기(이하, ATM 교환기라 칭함)에서는 각 서비스의 종류에 따라 통신 품질의 등급을 정하여 두고, 가입자가 서비스를 요구할 때 그 품질 등급에 맞는 서비스를 제공한다. 이를 위해서, ATM 교환기에서는 가입자와 가상 연결(VC: Virtual Connection)을 설정할 때, 가상연결(VC)의 트래픽 파라미터를 협상하고, 가입자가 보낸 셀 트래픽을 받으면, 협상한 값에 따라 품질을 준수하며, 셀 트래픽을 전달한다. 그러나, 이때 ATM 교환기에서는 다른 가입자가 보낸 트래픽과 섞이고, 교환될 때. 셀 충돌이 발생되며, 충돌에 의해 밀려난 셀은 출발이 지연되고, 이로 인해 협상된 트래픽 파라미터를 준수하기가 어렵게 된다. 더구나, 인터넷 트래픽과 같이 가입자가 임의로 셀 트래픽을 보낼 때에는 링크 대역을 초과하는 경우가 자주 발생하고, 이에 따라 셀 트래픽의 전송 손실이 생긴다. 이와 같이 링크 대역을 초과할 때에 고급 품질의 셀 트래픽은 전달하며, 저급의 트래픽을 폐기하고, 고급 트래픽에 대해서는 충돌에 의해 변형된 트래픽의 패턴을 스케쥴링하여 트래픽 파라미터를 준수하고, 통신 품질을 유지할 수 있게 하여야 할 것이다. 이를 위해서는 서비스의 품질 등급에 따라 셀 트래픽을 스케쥴링 하고, 필요에 따라서는 가상 연결(VC)별 스케쥴링도 수행되어야 가입자의 정보를 제대로 서비스 할 수 있다.Asynchronous Transfer Mode (ATM) exchanges (hereinafter referred to as ATM exchanges) classify the communication quality according to each service type, and provide a service that meets the quality class when the subscriber requests the service. To this end, the ATM exchange negotiates the traffic parameters of the virtual connection (VC) when establishing a virtual connection (VC) with the subscriber, and receives the cell traffic sent by the subscriber, and observes the quality according to the negotiated value. Pass cell traffic. However, at this time, the ATM exchange is mixed with traffic from other subscribers and exchanged. A cell collision occurs, and the cell pushed by the collision delays departure, which makes it difficult to comply with the negotiated traffic parameters. In addition, when a subscriber randomly sends cell traffic such as Internet traffic, it often occurs that the link band is exceeded, resulting in transmission loss of cell traffic. When the link bandwidth is exceeded, high-quality cell traffic can be delivered, low-level traffic can be discarded, and high-quality traffic can be scheduled by collision-modified traffic patterns to comply with traffic parameters and maintain communication quality. Should be. To this end, cell traffic is scheduled according to the quality of service, and if necessary, scheduling for each virtual connection (VC) can be performed to properly service subscriber information.

종래의 셀 스케쥴러는 서비스 등급에 따라 스케쥴링 하며, 가상연결(VC) 단위로는 스케쥴링하지 않았기 때문에, 고정비트율(CBR: constant bit rate)이나 가변비트율(VBR: variable bit rate)과 같은 서비스 등급에 대해서는 VC 단위의 협상 파라미터를 준수하기 어려웠고, UBR(unspecified bit rate) 등의 베스트 에포트 서비스(best effort)에 대해서는 VC 단위로 대역을 공평하게 분배하여 사용하기가 어려웠다.The conventional cell scheduler schedules according to the service class and is not scheduled in the virtual connection (VC) unit. Therefore, for the service class such as the constant bit rate (CBR) or the variable bit rate (VBR), It was difficult to comply with the negotiation parameters in units of VC, and it was difficult to distribute the bands evenly in units of VC for best effort such as unspecified bit rate (UBR).

서비스 등급 및 VC 단위로 스케쥴링 하는 또 다른 기존의 스케쥴러는 동종의 VC 여러 개를 하나의 그룹으로 묶어서 VC 그룹 단위로 스케쥴링 하며, 스케쥴링 시에 서비스의 특성에 맞도록 각 VC의 그룹 단위로 셀 트래픽을 스케쥴링 하므로, 서비스마다 스케쥴링 방법이 달라서 스케쥴러를 설계하기가 매우 복잡하고 어려웠다.Another existing scheduler that schedules by class of service and VC unit combines several VCs of the same group into one group and schedules them by group of VC groups, and schedules cell traffic by group of each VC to meet the characteristics of the service. Because of the scheduling, the scheduling was very complicated and difficult because the scheduling method was different for each service.

따라서, 본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위해, 가상연결(VC) 별로 버퍼를 갖추고, 가상연결(VC)의 요구 사항에 맞도록 스케쥴링 하며, 과부하 시에도 가상연결(VC) 단위로 공평하게 서비스 할 수 있으면서, 동일한 구조를 갖는 여러 개의 캘린더 스케쥴러를 갖추고 캘린더의 액세스 방법에 따라 각 서비스의 통신 품질을 유지하며 스케쥴링 할 수 있고, 또한 출력 포트 별로 버퍼를 갖추고, 출력 포트의 상태에 따라 트래픽의 전달을 제어할 수 있는 스케쥴링 장치 및 그 방법을 제공하는데 그 목적이 있다.Accordingly, the present invention, in order to solve the above problems of the prior art, has a buffer for each virtual connection (VC), scheduling to meet the requirements of the virtual connection (VC), virtual connection (VC) unit in case of overload It is able to service evenly, and it has several calendar schedulers with the same structure, and it can schedule and maintain the communication quality of each service according to the calendar access method, and also has a buffer for each output port, Accordingly, an object of the present invention is to provide a scheduling apparatus and method for controlling traffic delivery.

도 1은 본 발명이 적용되는 비동기전송모드 교환 시스템의 블럭 구성도.1 is a block diagram of an asynchronous transmission mode switching system to which the present invention is applied.

도 2는 본 발명에 따른 트래픽 스케쥴링 장치의 구성도.2 is a block diagram of a traffic scheduling apparatus according to the present invention.

도 3은 본 발명에 따른 트래픽 스케쥴링 장치의 상세 블럭도.3 is a detailed block diagram of a traffic scheduling apparatus according to the present invention.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

20 : 가상연결(VC) 버퍼 30, 31, 32 : 캘린더 스케쥴러20: VC buffer 30, 31, 32: calendar scheduler

40 : 서비스 스케쥴링 50 : 셀 복사40: Service Scheduling 50: Copy Cell

60 : 가상출력포트버퍼(VOQ)60: virtual output port buffer (VOQ)

상기 목적을 달성하기 위한 본 발명은, 가상연결단위로 셀을 버퍼에 저장하고, 해당 가상연결 셀 중에서 첫 번째 셀의 저장주소를 전달하는 가상연결버퍼;The present invention for achieving the above object, the virtual connection unit for storing the cell in the buffer, the virtual connection buffer for transferring the storage address of the first cell of the virtual connection cell;

각각에는 그에 해당되는 서비스가 지정되어 있고, 상기 가상연결버퍼로부터 셀의 저장주소가 전달되면, 셀의 출발 시각을 계산하여, 해당되는 슬롯에 상기 셀의 저장주소를 저장하는 다수개의 캘린더 스케쥴러;A plurality of calendar schedulers, each of which has a corresponding service and a storage address of the cell transmitted from the virtual connection buffer, calculates a departure time of the cell and stores the storage address of the cell in a corresponding slot;

상기 다수개의 캘린더 스케쥴러로부터 출력되는 셀의 저장주소 중에서 어느 것이 먼저 출발하여야 하는지를 스케쥴링하는 제1 스케쥴러;A first scheduler which schedules which of the storage addresses of cells output from the plurality of calendar schedulers should start first;

우선 서비스 등급별로 구비되고, 상기 제1 스케쥴러로부터 출력된 셀의 저장주소에 해당되는 셀을 읽어와 저장하는 다수개의 가상출력포트버퍼; 및A plurality of virtual output port buffers provided for each service class and reading and storing cells corresponding to storage addresses of the cells output from the first scheduler; And

상기 가상출력포트버퍼에 저장된 셀을 출력포트의 상태와 서비스 등급에 따라 스케쥴링하여 출력하는 제2 스케쥴러를 포함하는 것을 특징으로 한다.And a second scheduler configured to output the cells stored in the virtual output port buffer according to the state and service level of the output port.

또한 본 발명은, ATM 셀을 스케쥴링하기 위한 방법에 있어서,The present invention also provides a method for scheduling an ATM cell,

가상연결(VC) 단위로 셀을 버퍼에 저장하고, 해당 가상연결의 셀 중에서 첫번째 셀의 저장주소를 해당되는 서비스의 캘린더 스케쥴러에 전달하는 제1 단계;A first step of storing a cell in a buffer on a virtual connection (VC) basis and transferring a storage address of a first cell among cells of the virtual connection to a calendar scheduler of a corresponding service;

상기 캘린더 스케쥴러가 셀이 출발할 시각을 계산하여, 상기 계산된 출발 시각에 해당되는 슬롯에 상기 첫 번째 셀의 저장주소를 삽입하는 제2 단계;A second step of the calendar scheduler calculating a time at which a cell starts and inserting a storage address of the first cell into a slot corresponding to the calculated start time;

상기 서비스별 캘린더 스케쥴러들 중에서 어느 셀의 저장주소가 먼저 출발하여야 하는지를 다시 스케쥴링하여, 해당되는 캘린더 스케쥴러의 셀 저장주소를 출력하는 제3 단계;A third step of rescheduling which cell storage address of the service scheduler of each service should start first, and outputting a cell storage address of a corresponding calendar scheduler;

상기 셀 저장주소가 전달될 가상출력포트버퍼가 비어 있지 않으면, 상기 해당되는 캘린더 스케쥴러의 입력으로 전달하는 제4 단계;If the virtual output port buffer to which the cell storage address is to be transmitted is not empty, transferring it to an input of the corresponding calendar scheduler;

상기 셀 저장주소가 전달될 가상출력포트버퍼가 비어 있으면, 상기 셀 저장주소가 가르키는 상기 가상연결버퍼로부터 셀을 읽어와 상기 가상출력포트버퍼에 저장하는 제5 단계; 및A fifth step of reading a cell from the virtual connection buffer indicated by the cell storage address and storing it in the virtual output port buffer when the virtual output port buffer to which the cell storage address is to be transferred is empty; And

상기 가상출력포트버퍼에 저장된 셀을 출력포트의 상태와 서비스 등급에 따라 스케쥴링하여 출력하는 제6 단계를 포함하는 것을 특징으로 한다.And a sixth step of scheduling and outputting the cells stored in the virtual output port buffer according to the state and service level of the output port.

또한 본 발명은, 프로세서에서, 가상연결(VC) 단위로 셀을 버퍼에 저장하고, 해당 가상연결의 셀 중에서 첫번째 셀의 저장주소를 해당되는 서비스의 캘린더 스케쥴러에 전달하는 제1 기능;The present invention also provides a processor comprising: a first function of storing a cell in a buffer in units of a virtual connection (VC) and transferring a storage address of a first cell among cells of the virtual connection to a calendar scheduler of a corresponding service;

상기 캘린더 스케쥴러가 셀이 출발할 시각을 계산하여, 상기 계산된 출발 시각에 해당되는 슬롯에 상기 첫 번째 셀의 저장주소를 삽입하는 제2 기능;A second function of the calendar scheduler calculating a time at which the cell starts and inserting a storage address of the first cell into a slot corresponding to the calculated start time;

상기 서비스별 캘린더 스케쥴러들 중에서 어느 셀의 저장주소가 먼저 출발하여야 하는지를 다시 스케쥴링하여, 해당되는 캘린더 스케쥴러의 셀 저장주소를 출력하는 제3 기능;A third function of rescheduling which cell storage address of the service scheduler of each service should start first, and outputting a cell storage address of a corresponding calendar scheduler;

상기 셀 저장주소가 전달될 가상출력포트버퍼가 비어 있지 않으면, 상기 해당되는 캘린더 스케쥴러의 입력으로 전달하는 제4 기능;A fourth function of transferring the virtual output port buffer to which the cell storage address is to be transferred to an input of the corresponding calendar scheduler;

상기 셀 저장주소가 전달될 가상출력포트버퍼가 비어 있으면, 상기 셀 저장주소가 가르키는 상기 가상연결버퍼로부터 셀을 읽어와 상기 가상출력포트버퍼에 저장하는 제5 기능; 및A fifth function of reading a cell from the virtual connection buffer indicated by the cell storage address and storing it in the virtual output port buffer when the virtual output port buffer to which the cell storage address is to be transferred is empty; And

상기 가상출력포트버퍼에 저장된 셀을 출력포트의 상태와 서비스 등급에 따라 스케쥴링하여 출력하는 제6 기능을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.A computer-readable recording medium having recorded thereon a program for executing a sixth function of scheduling and outputting a cell stored in the virtual output port buffer according to a state and a service level of an output port.

가상연결(VC) 버퍼는 하나의 메모리로 구현되는데, 메모리는 셀을 저장하는 셀 버퍼와, VC 별로 셀의 저장 상황을 기록하는 VC 관리 테이블, 그리고 메모리의빈 곳을 가리키고 있는 빈 슬롯 FIFO로 구성된다. VC 관리 테이블은 VC 별로 첫번째 셀이 저장된 셀 버퍼의 주소와 마지막 셀이 저장된 주소, 및 셀의 개수를 기록해 두고 관리한다. 그 주소의 메모리에는 셀이 저장되어 있고 셀의 끝에는 해당 VC의 다음 셀이 저장된 주소가 기록되어 있다(링크드 리스트 방식). 빈 슬롯 FIFO는 셀 버퍼 중에서 셀이 저장되어 있지 않은 주소 목록을 가지고 있으면서 새로운 셀을 저장하면 빈 슬롯을 하나 내어 주고, 셀을 출력하게 되면 빈 슬롯을 회수한다. 새로운 셀이 입력되면 빈 슬롯 FIFO에서 셀의 저장 주소를 할당 받아서, 그곳에 셀을 저장하고 저장된 주소를 VC 관리 테이블에 기록하며, 또한 셀 버퍼에서 해당 VC의 마지막 셀을 읽어서 셀의 끝에 기록된 다음 셀의 저장 주소를 이번에 입력된 셀이 저장된 주소로 변경한다. 셀 버퍼에 저장된 셀을 출력할 경우에는 첫번째 셀이 저장된 메모리에서 셀을 읽어서 출력하고, 그 다음 셀(두 번째 셀)이 저장된 주소 값을 읽어와서 VC 관리 테이블에 기록된 첫 번째 셀의 주소 값으로 취한다. VC 버퍼에서는 VC 단위로 맨 먼저 출발해야 할 셀의 주소 값(head of line, 이하 HOL이라 함)을 캘린더 스케쥴러로 전달한다. 그리고, 셀이 VC 버퍼에서 출력하여 다음 셀이 해당 VC의 새로운 HOL로 지정되면 VC 버퍼는 그 HOL을 캘린더 스케쥴러로 전달한다.The virtual link (VC) buffer is implemented as a memory, which consists of a cell buffer that stores cells, a VC management table that records the cell's storage status per VC, and an empty slot FIFO that points to a free space in memory. do. The VC management table records and manages the address of the cell buffer in which the first cell is stored, the address in which the last cell is stored, and the number of cells for each VC. A cell is stored in the memory of the address, and an address at which the next cell of the VC is stored is recorded at the end of the cell (linked list method). An empty slot FIFO has a list of addresses in which no cells are stored in the cell buffer, and when a new cell is saved, an empty slot is given. When a new cell is entered, an empty slot FIFO is assigned the cell's storage address, saves the cell there, writes the stored address to the VC management table, reads the last cell of that VC from the cell buffer, and writes it to the end of the cell. Change the storage address of to the address where the cell entered this time is saved. When outputting a cell stored in the cell buffer, read the cell from the memory where the first cell is stored and output it, and then read the address value stored in the next cell (the second cell) to the address value of the first cell recorded in the VC management table. Take it. In the VC buffer, an address value (head of line, hereinafter referred to as HOL) of a cell to be started first in VC units is transmitted to the calendar scheduler. When the cell outputs from the VC buffer and the next cell is designated as a new HOL of the corresponding VC, the VC buffer delivers the HOL to the calendar scheduler.

서비스 스케쥴링을 위한 캘린더 스케쥴러는 여러 개가 있는데, 각 캘린더 스케쥴러는 서비스 등급이 지정된다. 캘린더는 여러 개의 셀 슬롯의 집합체이다. 셀 슬롯에는 VC 버퍼에 대기 중인 셀 중에서 첫 번째 셀의 주소(HOL)가 기록된다. 셀 슬롯은 스케쥴링 방법에 따라 다른 방식으로 액세스 된다. 하나의 대표적인 예로CBR 서비스를 들면 다음과 같다.There are several calendar schedulers for service scheduling. Each calendar scheduler is assigned a service class. A calendar is a collection of several cell slots. In the cell slot, the address (HOL) of the first cell among the cells waiting in the VC buffer is recorded. Cell slots are accessed in different ways depending on the scheduling method. One typical example is the CBR service.

CBR 서비스에 해당되는 셀의 HOL이 캘린더 스케쥴러에 입력되면, 그 셀의 가상연결(VC)이 출력되어야 할 시각을 계산한다. 이전에 출발한 셀의 출발 시각에 피크 셀 간격(1/PCR, PCR: peak cell rate) 만큼 더한 시각이 이번 셀의 출발 시각이다. 계산된 출발 시각에 해당되는 캘린더의 셀 슬롯에 HOL을 기록한다. 그리고, 한편으로 캘린더에서는 셀 슬롯을 차례대로 하나씩 액세스 하여, 액세스 된 슬롯에 HOL이 있으면 그 셀을 셀 버퍼에서 읽어와서 출력한다. 이것은 VC 버퍼에 대기 중인 해당 VC의 첫 번째 셀이 출력되는 것이다. 만약, 액세스 슬롯에 HOL이 없으면 셀을 출력하지 않는다. 따라서 슬롯에 셀을 저장하는 시각과 이것을 읽어가는 시각의 차이로 셀의 출발 시각을 지연시킬 수 있다. 셀 출발 시각 계산에는 가상 스케쥴링 알고리즘(VSA: virtual scheduling algorithm) 엔진을 이용하여, PCR을 기준으로 셀의 출발 시각을 계산한다. VBR 서비스와 같이 PCR(peak cell rate)과 SCR(sustainable cell rate)의 계산이 동시에 필요한 경우에는 VSA엔진을 2개 사용한다. VSA는 ITU-T에서 권고한 알고리즘으로 VC 단위로 PCR이나 SCR을 계산하고 감시하는 방법이다.When the HOL of the cell corresponding to the CBR service is input to the calendar scheduler, the time at which the virtual connection (VC) of the cell should be output is calculated. The starting time of the cell starting from the previous starting cell is added by the peak cell interval (1 / PCR, PCR: peak cell rate). Record the HOL in the cell slot of the calendar corresponding to the calculated start time. On the other hand, the calendar accesses the cell slots one by one, and if there is a HOL in the accessed slot, the cell is read from the cell buffer and output. This outputs the first cell of the corresponding VC waiting in the VC buffer. If there is no HOL in the access slot, no cell is output. Therefore, the start time of the cell can be delayed by the difference between the time of storing the cell in the slot and the time of reading the cell. For cell departure time calculation, a virtual scheduling algorithm (VSA) engine is used to calculate a cell departure time based on PCR. When VCR service requires simultaneous calculation of peak cell rate (PCR) and sustainable cell rate (SCR), two VSA engines are used. VSA is an algorithm recommended by ITU-T that calculates and monitors PCR or SCR in units of VC.

캘린더 스케쥴링의 다른 예로서 베스트 에포트(best effort) 서비스로 알려진 ABR(available bit rate) 서비스나 UBR(unspecified bit rate) 또는 GFR(guaranteed frame rate) 서비스에 대해서는 캘린더 슬롯의 액세스 방법이 실 시간 서비스인 CBR이나 VBR과는 다르다. 베스트 에포트 서비스의 액세스 방법은 다음과 같다. 현재 액세스 위치에 셀(HOL)이 있으면 그 셀을 출력하고, 셀(HOL)이없으면 그 다음 슬롯에 셀(HOL)이 있는지 찾는다. 셀(HOL)이 있으면 그 셀을 출력하지만, 셀(HOL)이 없으면 역시 그 다음 슬롯을 찾는다. 이러한 액세스 방법을 라운드 로빈(RR: round robin)이라고 한다. 이 액세스 방법에서는 캘린더에 기록된 셀(HOL)이 있을 경우에 셀은 항상 출력된다.As another example of calendar scheduling, the calendar slot access method is a real-time service for an available bit rate (ABR) service, which is known as a best effort service, an unspecified bit rate (UBR), or a guaranteed frame rate (GFR) service. It is different from CBR or VBR. The access method of the best effort service is as follows. If there is a cell (HOL) at the current access location, the cell is outputted. If there is no cell (HOL), the next slot is searched for a cell (HOL). If there is a cell HOL, the cell is output. If there is no cell HOL, the next slot is also found. This access method is called round robin (RR). In this access method, when there is a cell HOL recorded in a calendar, the cell is always output.

캘린더에 셀(HOL)를 기록할 때, 셀의 출발 시각을 계산하는 방법과, 또 출력할 때 캘린더를 액세스 하는 방법은 서비스의 종류마다 다르다. 따라서 본 발명에 따른 스케쥴러는 동일한 구조의 캘린더를 여러 개 갖추고서 각 캘린더는 서비스에 맞도록 출발 시각 계산 방법과 액세스 방법을 별도로 지정한다. 따라서 본 발명은 동일한 캘린더를 갖추고도 다양한 서비스에 맞는 스케쥴링을 할 수 있게 한다.When recording a cell HOL in a calendar, the method of calculating the start time of the cell and the method of accessing the calendar when outputting differ according to the type of service. Therefore, the scheduler according to the present invention includes a plurality of calendars having the same structure, and each calendar separately designates a departure time calculation method and an access method to fit the service. Therefore, the present invention enables scheduling for various services even with the same calendar.

캘린더 스케쥴러를 출발한 셀이 방송용 셀인 경우에는 셀을 복사한다. 방송용 연결(VC)에 속하는 셀은 복사되어, 하나는 가상 출력 포트 버퍼로 전달되고, 하나는 다음 출발 시각을 잡기 위해 캘린더 스케쥴러로 되돌아 간다.If the cell starting the calendar scheduler is a broadcast cell, the cell is copied. Cells belonging to the broadcast connection (VC) are copied, one is passed to the virtual output port buffer, and one is returned to the calendar scheduler to set the next departure time.

가상 출력 포트 버퍼(VOQ: virtual output queue)에 전달된 셀은 셀의 서비스 등급과 셀이 가야 할 출력 포트에 해당되는 가상 포트 버퍼에 저장된다. ATM 교환기에서는 가입자 링크를 통해 입력된 셀을 모아서 고속으로 셀을 처리하고, 스위치 모듈로 전달하는데, 스케쥴러는 이때 스위치의 각 출력 포트의 상태에 따라 셀의 전달을 제어한다. 즉, 과부하가 걸린 스위치의 출력 포트로는 셀을 전달하지 않도록 한다. 또한, 스위치를 통과한 셀은 ATM 정합부에서 각 가입자 링크로 분배되는데, 이때에도 가입자 링크에 과부하가 걸리지 않도록 제어하여야 한다. 이러한 기능을 VOQ가 수행한다. VOQ는 출력 포트 별 버퍼(ATM 정합부의 입력 측에서는 스위치 출력 포트가 여기에 해당되고, ATM 정합부의 출력 측에서는 가입자 링크가 여기에 해당된다.)에서도 역시 서비스에 따라 우선 순위가 필요하므로, 먼저 서비스 별로 버퍼가 있고, 각 서비스 별 버퍼 내에 가상 출력 포트 별로 버퍼를 가지고 있다. VOQ의 서비스 등급의 종류는 스위치 출력 포트나 가입자 링크 포트의 서비스 등급의 종류와 맞추어야 할 것이다. VOQ 내에서 포트 별 버퍼들 간에는 라운드로빈 방식이나 또는 가중치 라운드 로빈 방식(WRR: weighted round robin)으로 액세스가 이루어지고, 여러 개의 VOQ 간에는 우선 순위에 따라 셀이 출력된다.Cells delivered to a virtual output queue (VOQ) are stored in a virtual port buffer corresponding to the cell's class of service and the output port to which the cell should go. The ATM switch collects the cells input through the subscriber link, processes the cells at high speed, and delivers them to the switch module. The scheduler then controls the transfer of the cells according to the state of each output port of the switch. That is, do not forward the cell to the output port of the overloaded switch. In addition, the cell passing through the switch is distributed to each subscriber link in the ATM matching unit, and at this time, the subscriber link must be controlled so as not to overload the subscriber link. This function is performed by VOQ. VOQ also requires buffers for each output port, since the switch output port is the input port of the ATM matching unit and the subscriber link is the output unit of the ATM matching unit. There is a buffer for each virtual output port in each service buffer. The type of service class of VOQ should match the type of service class of switch output port or subscriber link port. In the VOQ, buffers for each port are accessed in a round robin manner or a weighted round robin (WRR) method, and cells are output in order of priority among a plurality of VOQs.

따라서, 본 발명에 따른 스케쥴러는 VC 버퍼, 캘린더 스케쥴러, VOQ를 갖추고서, 서비스 등급에 따른 다양한 스케쥴링은 물론, 과부하 시에도 VC 별로 공평하게 전달할 수 있다.Therefore, the scheduler according to the present invention includes a VC buffer, a calendar scheduler, and a VOQ, so that various schedules according to service grades can be delivered fairly even for each VC even when overloaded.

이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명하면 다음과 같다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 ATM 교환기(10)에서 셀 스케쥴러(13)의 위치를 나타낸 것이다.1 shows the location of the cell scheduler 13 in an ATM switch 10.

ATM 교환기(10)에서 ATM 정합부(11)를 통해 입력된 셀은 스위치 모듈(12)을 통과하면서, 다른 곳으로부터 입력된 셀들과 혼합되고 다중화되어 과부하가 발생할 수 있다. 스케쥴러(13)는 스위치의 출력 포트에 과부하가 발생되면, 해당 포트로 나가는 셀 트래픽을 억제한다. 또한 스위치를 통과한 트래픽을 가입자 링크로 출력하고자 할 때, 링크의 대역 보다 많은 트래픽이 인가되면, 역시 과부하가 발생되는데, 이때에도 스케쥴러(13)는 그 링크로 출력되는 트래픽을 억제한다. 즉, 스케쥴러(13)는 ATM 정합부(11)의 수신측과 송신측에 각각 필요하다.The cells input through the ATM matching unit 11 in the ATM switch 10 may pass through the switch module 12 and may be mixed and multiplexed with cells input from other places, resulting in an overload. The scheduler 13 suppresses cell traffic to the corresponding port when the output port of the switch is overloaded. In addition, when trying to output the traffic through the switch to the subscriber link, if more traffic is applied than the bandwidth of the link, the overload is also generated. In this case, the scheduler 13 suppresses the traffic output to the link. That is, the scheduler 13 is required for the receiving side and the transmitting side of the ATM matching section 11, respectively.

도 2는 본 발명에 따른 스케쥴러(13)의 구성도를 나타낸 것이다.2 shows a schematic diagram of a scheduler 13 according to the present invention.

스케쥴러(13)는 VC 버퍼(20), 여러 개의 캘린더 스케쥴러(30, 31, 32), 셀 복사(50), 여러 개의 가상 출력 포트 버퍼(VOQ)(60, 61, 62)로 구성되며, 캘린더 스케쥴러(30, 31, 32)와 VOQ(60, 61, 62)는 각각 다수의 출력 중에서 하나를 선택하는 스케쥴링 기능(40, 70)을 가지고 있다. 셀이 입력되면 일단 VC 버퍼(20)에 저장된다. 그리고, 셀의 저장 위치를 가리키는 주소(HOL)를 캘린더 스케쥴러(30, 31, 32)로 전달한다. 캘린더 스케쥴러(30, 31, 32)는 각각 그에 해당되는 서비스가 지정되어 있다. 따라서 셀의 주소(HOL)는 그 셀이 속하는 캘린더 스케쥴러(30)에 전달되어, 셀의 출발 시각을 스케쥴링한다. 또한 캘린더 스케쥴러(30, 31, 32)에서는 출발 시각이 된 셀을 출력하는데, 여러 개의 캘린더 스케쥴러(30, 31, 32)가 있으므로, 이들 간에 어느 것이 먼저 출발하여야 하는지를 다시 스케쥴링 한다. 이것이 서비스 스케쥴링 기능(40)이다. 서비스 간에도 스케쥴링이 이루진 후, 그 셀이 방송용 셀일 때에 셀을 복사(50)한다. 셀의 복사 기능(50)은 출력측에서만 필요한 기능이다. 그리고 나서, 셀은 VOQ(60, 61, 62)에 인가된다. VOQ(60, 61, 62)도 서비스의 종류에 따라 여러 개로 구성된다. 스케쥴러(13)가 입력측에 적용될 때, VOQ(60, 61, 62)는 스위치의 출력 포트를 제어하기 위한 것이고, 출력측에 적용될 때는 가입자 링크 포트를 제어하기 위한 것이다. VOQ(60, 61, 62)는 출력 포트의 상태와 서비스의 등급에 따라 셀을 스케쥴링(70) 한다.The scheduler 13 is composed of a VC buffer 20, multiple calendar schedulers 30, 31, 32, cell copy 50, and multiple virtual output port buffers (VOQs) 60, 61, 62. The schedulers 30, 31, 32 and VOQs 60, 61, 62 each have a scheduling function 40, 70 that selects one of a plurality of outputs. Once the cell is input it is stored in the VC buffer 20. Then, the address HOL indicating the storage location of the cell is transmitted to the calendar schedulers 30, 31, and 32. The calendar schedulers 30, 31, and 32 are respectively assigned a corresponding service. Therefore, the address HOL of the cell is transmitted to the calendar scheduler 30 to which the cell belongs, so as to schedule the start time of the cell. In addition, the calendar scheduler 30, 31, 32 outputs the cell at the start time. Since there are several calendar schedulers 30, 31, and 32, the schedule scheduler 30, 31, and 32 re-schedules which one should start first. This is the service scheduling function 40. After scheduling is performed between services, the cell is copied 50 when the cell is a broadcast cell. The copy function 50 of the cell is a function required only at the output side. The cell is then applied to VOQs 60, 61, 62. VOQ (60, 61, 62) is also composed of several depending on the type of service. When the scheduler 13 is applied to the input side, the VOQs 60, 61 and 62 are for controlling the output port of the switch and for the subscriber link port when applied to the output side. The VOQs 60, 61, and 62 schedule the cell 70 according to the state of the output port and the class of service.

도 3은 본 발명에 따른 스케쥴러(13)의 상세한 블럭도를 나타낸다.3 shows a detailed block diagram of the scheduler 13 according to the present invention.

이것은 도2를 더 구체화하고 동작 원리를 추가한 것이다. 셀이 VC 버퍼(20)에 입력되면, VC 버퍼(20)에서는 가상연결(VC) 단위로 셀을 버퍼에 저장하고, 해당 VC의 셀 중에서 첫번째 셀의 저장 주소(HOL)를 캘린더 스케쥴러(30, 31, 32)에 전달한다. 캘린더 스케쥴러(30, 31, 32)는 각각 그에 해당되는 서비스가 지정되어 있다. 따라서, 셀의 주소(HOL)는 그 셀의 해당 캘린더 스케쥴러(30)에 전달되어, 셀이 출발할 시각이 계산된다. 캘린더 스케쥴러(30, 31)에 있는 캘린더(301, 311)는 여러 개 슬롯의 집합체이다. 각 슬롯은 차례대로 액세스 되어 출력되므로, 슬롯마다 출발 시각이 정해져 있다. 계산된 출발 시각에 해당되는 슬롯에다 셀의 주소(HOL)를 넣어두면, 그 시각에 셀이 출발하게 될 것이다. 여기에서 캘린더(301, 311)의 액세스 방법은 서비스의 종류에 따라 다르다. 앞에서 기술한 바와 같이 CBR이나 실시간 VBR(real-time VBR)과 같이 실시간 서비스인 경우에는 셀 슬롯을 하나씩 액세스 하여 셀을 출력시키되, 출력할 셀이 없으면 그 시간은 쉰다. 반면에, ABR, UBR, 또는 GFR과 같은 베스트 에포트 서비스인 경우에는 출발할 셀이 없으면 셀이 있는 다음 슬롯을 찾아서 그 슬롯에 있는 셀을 출력시킨다. 그리고 캘린더 스케쥴러(30, 31, 32)는 여러 개이므로, 캘린더 스케쥴러를 떠난 셀의 주소(HOL) 중에서 이들 간에 어느 것이 먼저 출발하여야 하는지를 다시 스케쥴링 한다. 이것이 서비스 스케쥴링 기능(40)으로 본 발명의 예인 도3에서는 SCFQ(self-clocked fair queuing)와 우선 순위의 예를 보였다. SCFQ는 각 서비스 간에 하나의 서비스가 다른 서비스에 우선하지 않고 서로 적절한 가중치로 공평하게 선택되는 방식이며, 우선 순위는 우선 순위가 높은 서비스의 셀(HOL)을 먼저 출력한 다음에, 낮은 순위의셀(HOL)을 출력하는 방식이다. 서비스 스케쥴링 기능(40)에서 서비스 간에 스케쥴링이 이루지면, 이제 셀을 가상출력포트버퍼(VOQ)(60, 61, 62)에 전달해야 하는데, 셀을 전달하기 전에 먼저 VOQ(60, 61, 62)의 버퍼 상태를 확인한다. 셀이 전달될 곳에 버퍼가 비어 있지 않으면, 셀을 VOQ(60, 61, 62)로 전달하지 않고 다시 캘린더 스케쥴러(30, 31, 32)의 입력으로 되돌려 보낸다. VOQ(60, 61, 62)가 비어 있으면 셀을 VOQ(60, 61, 62)로 전달하는데, 이제는 방송용인지를 확인한다. 방송용이면, 그 셀의 주소(HOL)을 복사하여 복사된 값을 다시 캘린더 스케쥴러(30, 31, 32)의 입력으로 보내고, 한편으로는 그 셀을 VC 버퍼(20)에서 읽어와서 셀 자체를 VOQ(60, 61, 62)로 전달한다. 캘린더 스케쥴러에서는 셀의 주소(HOL)를 가지고, 셀과 같이 처리하였지만, VOQ에서는 셀 자체를 다시 저장하고 처리하기 때문이다.This further embodies Figure 2 and adds an operating principle. When the cell is input to the VC buffer 20, the VC buffer 20 stores the cell in the buffer in units of virtual connection (VC), and stores the storage address (HOL) of the first cell among the cells of the VC in the calendar scheduler 30, 31, 32). The calendar schedulers 30, 31, and 32 are respectively assigned a corresponding service. Thus, the address HOL of the cell is passed to the corresponding calendar scheduler 30 of the cell, so that the time at which the cell will start is calculated. The calendars 301, 311 in the calendar scheduler 30, 31 are a collection of several slots. Since each slot is accessed and output in turn, a departure time is determined for each slot. If the cell address (HOL) is put in the slot corresponding to the calculated start time, the cell will start at that time. Here, the access methods of the calendars 301 and 311 vary depending on the type of service. As described above, in the case of a real-time service such as CBR or real-time VBR, cell slots are accessed one by one to output cells. If there are no cells to be output, the time is rested. On the other hand, in the case of a best effort service such as ABR, UBR, or GFR, if there is no cell to start, the next slot in which the cell is located is found and the cell in the slot is output. Since there are several calendar schedulers 30, 31, and 32, it reschedules which of the cells (HOL) of the cell leaving the calendar scheduler should be departed first. This is an example of the present invention as the service scheduling function 40, which shows an example of self-clocked fair queuing (SCFQ) and priority. SCFQ is a method in which one service is selected equally with each other, with appropriate weights among each service. The priority is to output the high priority cell (HOL) first, and then the low priority cell. (HOL) is output. When scheduling is performed between services in the service scheduling function 40, the cell should now be delivered to the virtual output port buffers (VOQs) 60, 61, and 62. Before the cell is delivered, the VOQs (60, 61, 62) must be transferred. Check the buffer status. If the buffer is not empty where the cell is to be delivered, the cell is sent back to the input of the calendar scheduler 30, 31, 32 without passing it to the VOQs 60, 61, 62. If the VOQs 60, 61, 62 are empty, the cell is forwarded to the VOQs 60, 61, 62. Now, it is checked whether the broadcast is for broadcast. If broadcasting, copy the cell's address (HOL) and send the copied value back to the input of the calendar scheduler (30, 31, 32), while reading the cell from the VC buffer 20 and VOQ the cell itself. Pass it to (60, 61, 62). This is because the calendar scheduler has a cell address (HOL) and processes it like a cell, but VOQ stores and processes the cell itself.

VOQ(60, 61, 62)는 우선 서비스 등급에 따라 여러 개가 있으며, 하나의 VOQ(60) 내에는 다시 가상 출력 포트 별로 버퍼가 있다. VOQ(60, 61, 62)에 전달된 셀은 서비스의 종류 및 출력될 포트 번호에 따라 해당 버퍼에 저장된다. 스케쥴러(13)가 입력측에 적용될 때, VOQ(60, 61, 62)는 스위치의 출력 포트를 제어하기 위한 것이고, 출력측에 적용될 때는 가입자 링크 포트를 제어하기 위한 것이다. 따라서 VOQ(60, 61, 62)의 서비스 등급의 종류는 스위치 출력 포트나 가입자 링크 포트의 서비스 등급의 종류와 맞추어야 할 것이다. VOQ(60, 61, 62) 내에서 포트 별 버퍼들 간에는 라운드 로빈 방식(RR)이나 또는 가중치 라운드 로빈 방식(WRR)으로 액세스가 이루어지고, 여러 개의 VOQ (60, 61, 62)간에는 우선 순위(70)에 따라 셀이 출력된다.First, there are several VOQs 60, 61, and 62 according to service class, and there is a buffer for each virtual output port in one VOQ 60 again. Cells delivered to VOQs 60, 61, and 62 are stored in the corresponding buffers according to the type of service and port number to be output. When the scheduler 13 is applied to the input side, the VOQs 60, 61 and 62 are for controlling the output port of the switch and for the subscriber link port when applied to the output side. Therefore, the type of service class of the VOQs 60, 61, and 62 should match the type of service class of the switch output port or the subscriber link port. VOQ (60, 61, 62) access between the port-specific buffers in a round robin (RR) or weighted round robin (WRR), the priority between several VOQ (60, 61, 62) The cell is output in accordance with 70).

상기와 같은 본 발명은 ATM 교환기에 입력된 셀이 스위칭 될 때, 스위치 출력 포트의 트래픽 상태에 따라 트래픽의 전달을 스케쥴링 하여, 트래픽의 일시적인 과부하 상태를 억제하므로, 스위치 효율을 높일 수 있다. 그리고, 이러한 조절을 서비스의 품질을 등급에 따라 달리 수행하므로, 서비스의 품질을 지킬 수 있다. 또한, VC 단위로 제어하므로, VC 간의 공평성을 유지할 수 있다. 본 발명에 따른 스케쥴러는 이와 같이 서비스 종류에 따라 다양한 스케쥴링을 동일한 기본 구조의 캘린더를 가지고 수행하므로, 버퍼의 제어 구조가 간단하여 동작의 신뢰성이 높아서 구현이 용이하다.As described above, when the cell input to the ATM exchanger is switched, the transfer of traffic is scheduled according to the traffic state of the switch output port, thereby suppressing a temporary overload state of the traffic, thereby increasing the switch efficiency. In addition, since the quality of the service is differently performed according to the grade, the quality of service can be kept. In addition, since control is performed in units of VC, fairness between VCs can be maintained. Since the scheduler according to the present invention performs various scheduling with the same basic structure of calendar according to the service type, the control structure of the buffer is simple and the operation reliability is high and the implementation is easy.

Claims (7)

가상연결단위로 셀을 버퍼에 저장하고, 해당 가상연결 셀 중에서 첫 번째 셀의 저장주소를 전달하는 가상연결버퍼;A virtual connection buffer which stores cells in a virtual connection unit and transfers a storage address of the first cell among the virtual connection cells; 각각에는 그에 해당되는 서비스가 지정되어 있고, 상기 가상연결버퍼로부터 셀의 저장주소가 전달되면, 셀의 출발 시각을 계산하여, 해당되는 슬롯에 상기 셀의 저장주소를 저장하는 다수개의 캘린더 스케쥴러;A plurality of calendar schedulers, each of which has a corresponding service and a storage address of the cell transmitted from the virtual connection buffer, calculates a departure time of the cell and stores the storage address of the cell in a corresponding slot; 상기 다수개의 캘린더 스케쥴러로부터 출력되는 셀의 저장주소 중에서 어느 것이 먼저 출발하여야 하는지를 스케쥴링하는 제1 스케쥴러;A first scheduler which schedules which of the storage addresses of cells output from the plurality of calendar schedulers should start first; 우선 서비스 등급별로 구비되고, 상기 제1 스케쥴러로부터 출력된 셀의 저장주소에 해당되는 셀을 읽어와 저장하는 다수개의 가상출력포트버퍼; 및A plurality of virtual output port buffers provided for each service class and reading and storing cells corresponding to storage addresses of the cells output from the first scheduler; And 상기 가상출력포트버퍼에 저장된 셀을 출력포트의 상태와 서비스 등급에 따라 스케쥴링하여 출력하는 제2 스케쥴러를 포함하는 것을 특징으로 하는 ATM 셀 스케쥴링장치.And a second scheduler configured to output the cells stored in the virtual output port buffer according to the state and service level of the output port. 제 1 항에 있어서,The method of claim 1, 상기 제1 스케쥴러로부터 출력되는 셀 저장주소가 방송용 셀인 경우 상기 셀 저장주소를 복사하여 상기 캘린더 스케쥴러의 입력으로 제공하는 셀 복사수단을 더 포함하는 것을 특징으로 하는 ATM 셀 스케쥴링장치.And a cell copying means for copying the cell storage address and providing the cell storage address as an input of the calendar scheduler when the cell storage address output from the first scheduler is a broadcast cell. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 가상연결 버퍼는,The virtual connection buffer, 셀을 저장하는 셀 버퍼;A cell buffer for storing the cell; 가상연결별로 셀의 저장 상황을 기록하는 가상연결 관리 테이블; 및A virtual connection management table for recording a storage state of a cell for each virtual connection; And 상기 셀 버퍼의 빈 곳을 가리키고 있는 빈 슬롯 FIFO를 포함하는 것을 특징으로 하는 ATM 셀 스케쥴링장치.And an empty slot FIFO pointing to an empty portion of the cell buffer. 제 3 항에 있어서,The method of claim 3, wherein 상기 캘린더 스케쥴러 각각은, 캘린더를 포함하고 상기 캘린더는 여러 개의 셀 슬롯의 집합체인 것을 특징으로 하는 ATM 셀 스케쥴링장치.Wherein each of the calendar schedulers includes a calendar and the calendar is a collection of multiple cell slots. ATM 셀을 스케쥴링하기 위한 방법에 있어서,A method for scheduling an ATM cell, the method comprising: 가상연결(VC) 단위로 셀을 버퍼에 저장하고, 해당 가상연결의 셀 중에서 첫번째 셀의 저장주소를 해당되는 서비스의 캘린더 스케쥴러에 전달하는 제1 단계;A first step of storing a cell in a buffer on a virtual connection (VC) basis and transferring a storage address of a first cell among cells of the virtual connection to a calendar scheduler of a corresponding service; 상기 캘린더 스케쥴러가 셀이 출발할 시각을 계산하여, 상기 계산된 출발 시각에 해당되는 슬롯에 상기 첫 번째 셀의 저장주소를 삽입하는 제2 단계;A second step of the calendar scheduler calculating a time at which a cell starts and inserting a storage address of the first cell into a slot corresponding to the calculated start time; 상기 서비스별 캘린더 스케쥴러들 중에서 어느 셀의 저장주소가 먼저 출발하여야 하는지를 다시 스케쥴링하여, 해당되는 캘린더 스케쥴러의 셀 저장주소를 출력하는 제3 단계;A third step of rescheduling which cell storage address of the service scheduler of each service should start first, and outputting a cell storage address of a corresponding calendar scheduler; 상기 셀 저장주소가 전달될 가상출력포트버퍼가 비어 있지 않으면, 상기 해당되는 캘린더 스케쥴러의 입력으로 전달하는 제4 단계;If the virtual output port buffer to which the cell storage address is to be transmitted is not empty, transferring it to an input of the corresponding calendar scheduler; 상기 셀 저장주소가 전달될 가상출력포트버퍼가 비어 있으면, 상기 셀 저장주소가 가르키는 상기 가상연결버퍼로부터 셀을 읽어와 상기 가상출력포트버퍼에 저장하는 제5 단계; 및A fifth step of reading a cell from the virtual connection buffer indicated by the cell storage address and storing it in the virtual output port buffer when the virtual output port buffer to which the cell storage address is to be transferred is empty; And 상기 가상출력포트버퍼에 저장된 셀을 출력포트의 상태와 서비스 등급에 따라 스케쥴링하여 출력하는 제6 단계를 포함하는 것을 특징으로 하는 ATM 셀의 스케쥴링방법.And a sixth step of outputting the cells stored in the virtual output port buffer according to the status and service level of the output port. 제 5 항에 있어서,The method of claim 5, 상기 제3단계에서 출력되는 셀 저장주소가 방송용 셀인 경우 상기 셀 저장주소를 복사하여 상기 캘린더 스케쥴러의 입력으로 제공하는 단계를 더 포함하는 것을 특징으로 하는 ATM 셀 스케쥴링방법.And if the cell storage address output in step 3 is a broadcast cell, copying the cell storage address and providing the cell storage address as an input of the calendar scheduler. 프로세서에서,On the processor, 가상연결(VC) 단위로 셀을 버퍼에 저장하고, 해당 가상연결의 셀 중에서 첫번째 셀의 저장주소를 해당되는 서비스의 캘린더 스케쥴러에 전달하는 제1 기능;A first function of storing a cell in a buffer in units of a virtual connection (VC) and transferring a storage address of a first cell among cells of the virtual connection to a calendar scheduler of a corresponding service; 상기 캘린더 스케쥴러가 셀이 출발할 시각을 계산하여, 상기 계산된 출발 시각에 해당되는 슬롯에 상기 첫 번째 셀의 저장주소를 삽입하는 제2 기능;A second function of the calendar scheduler calculating a time at which the cell starts and inserting a storage address of the first cell into a slot corresponding to the calculated start time; 상기 서비스별 캘린더 스케쥴러들 중에서 어느 셀의 저장주소가 먼저 출발하여야 하는지를 다시 스케쥴링하여, 해당되는 캘린더 스케쥴러의 셀 저장주소를 출력하는 제3 기능;A third function of rescheduling which cell storage address of the service scheduler of each service should start first, and outputting a cell storage address of a corresponding calendar scheduler; 상기 셀 저장주소가 전달될 가상출력포트버퍼가 비어 있지 않으면, 상기 해당되는 캘린더 스케쥴러의 입력으로 전달하는 제4 기능;A fourth function of transferring the virtual output port buffer to which the cell storage address is to be transferred to an input of the corresponding calendar scheduler; 상기 셀 저장주소가 전달될 가상출력포트버퍼가 비어 있으면, 상기 셀 저장주소가 가르키는 상기 가상연결버퍼로부터 셀을 읽어와 상기 가상출력포트버퍼에 저장하는 제5 기능; 및A fifth function of reading a cell from the virtual connection buffer indicated by the cell storage address and storing it in the virtual output port buffer when the virtual output port buffer to which the cell storage address is to be transferred is empty; And 상기 가상출력포트버퍼에 저장된 셀을 출력포트의 상태와 서비스 등급에 따라 스케쥴링하여 출력하는 제6 기능을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing a sixth function of scheduling and outputting a cell stored in the virtual output port buffer according to the state and service level of the output port.
KR1020010086484A 2001-12-28 2001-12-28 An Apparatus and Method for scheduling the ATM cell using a Calendar KR20030056287A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010086484A KR20030056287A (en) 2001-12-28 2001-12-28 An Apparatus and Method for scheduling the ATM cell using a Calendar

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010086484A KR20030056287A (en) 2001-12-28 2001-12-28 An Apparatus and Method for scheduling the ATM cell using a Calendar

Publications (1)

Publication Number Publication Date
KR20030056287A true KR20030056287A (en) 2003-07-04

Family

ID=32214493

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010086484A KR20030056287A (en) 2001-12-28 2001-12-28 An Apparatus and Method for scheduling the ATM cell using a Calendar

Country Status (1)

Country Link
KR (1) KR20030056287A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100959397B1 (en) * 2007-12-07 2010-05-24 한국전자통신연구원 Packet scheduling apparatus
KR100987388B1 (en) * 2008-07-23 2010-10-12 한국전자통신연구원 Method and apparatus for calendar queue scheduling with dynamic time-slot

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950016085A (en) * 1993-11-06 1995-06-17 양승택 Asynchronous transfer method (ATM) multiplexing processing apparatus and method of broadband access information subscriber network access device
JPH11122252A (en) * 1997-10-13 1999-04-30 Fujitsu Ltd Short-cell multiplexer
JPH11239159A (en) * 1994-07-21 1999-08-31 Fujitsu Ltd Atm exchange
KR20000028082A (en) * 1998-10-30 2000-05-25 서평원 Cell switching apparatus and method of private exchange

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950016085A (en) * 1993-11-06 1995-06-17 양승택 Asynchronous transfer method (ATM) multiplexing processing apparatus and method of broadband access information subscriber network access device
JPH11239159A (en) * 1994-07-21 1999-08-31 Fujitsu Ltd Atm exchange
JPH11122252A (en) * 1997-10-13 1999-04-30 Fujitsu Ltd Short-cell multiplexer
KR20000028082A (en) * 1998-10-30 2000-05-25 서평원 Cell switching apparatus and method of private exchange

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100959397B1 (en) * 2007-12-07 2010-05-24 한국전자통신연구원 Packet scheduling apparatus
KR100987388B1 (en) * 2008-07-23 2010-10-12 한국전자통신연구원 Method and apparatus for calendar queue scheduling with dynamic time-slot

Similar Documents

Publication Publication Date Title
JP3813695B2 (en) Packet switched communication system
JP3813696B2 (en) Packet switched communication system
US6064677A (en) Multiple rate sensitive priority queues for reducing relative data transport unit delay variations in time multiplexed outputs from output queued routing mechanisms
US5926459A (en) Rate shaping in per-flow queued routing mechanisms for available bit rate service
EP0944208B1 (en) Time based scheduler architecture and method for ATM networks
US6038217A (en) Rate shaping in per-flow output queued routing mechanisms for available bit rate (ABR) service in networks having segmented ABR control loops
JP3859864B2 (en) Queue management system
US6064651A (en) Rate shaping in per-flow output queued routing mechanisms for statistical bit rate service
GB2324678A (en) An earliest deadline first communications cell scheduler
GB2324679A (en) Communications cell scheduler
JP2000501260A (en) Scheduler for information packet switch
JPH1023012A (en) Transmission traffic controller
US6526062B1 (en) System and method for scheduling and rescheduling the transmission of cell objects of different traffic types
EP0817433B1 (en) Packet switched communication system and traffic shaping process
US6822939B2 (en) Method and apparatus for guaranteeing a minimum cell rate (MCR) for asynchronous transfer mode (ATM) traffic queues
EP1111851B1 (en) A scheduler system for scheduling the distribution of ATM cells
KR20030056287A (en) An Apparatus and Method for scheduling the ATM cell using a Calendar
EP0817431B1 (en) A packet switched communication system
EP0817435B1 (en) A switch for a packet communication system
JP3601449B2 (en) Cell transmission control device
EP0817434B1 (en) A packet switched communication system and traffic shaping process
EP0817432B1 (en) A packet switched communication system
JPH1155276A (en) Shaping device
JP3159961B2 (en) Cell receiving device and traffic control system
JP3813700B2 (en) Packet time-multiplexed continuous flow shaping method

Legal Events

Date Code Title Description
A201 Request for examination
WITB Written withdrawal of application