KR100276079B1 - A cell spacer using bucket calendar and its cotrol method - Google Patents
A cell spacer using bucket calendar and its cotrol method Download PDFInfo
- Publication number
- KR100276079B1 KR100276079B1 KR1019980035645A KR19980035645A KR100276079B1 KR 100276079 B1 KR100276079 B1 KR 100276079B1 KR 1019980035645 A KR1019980035645 A KR 1019980035645A KR 19980035645 A KR19980035645 A KR 19980035645A KR 100276079 B1 KR100276079 B1 KR 100276079B1
- Authority
- KR
- South Korea
- Prior art keywords
- cell
- cdv
- bucket
- spacer
- buffer
- Prior art date
Links
- 125000006850 spacer group Chemical group 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000012544 monitoring process Methods 0.000 claims description 9
- 230000001934 delay Effects 0.000 claims 1
- 230000006727 cell loss Effects 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
ATM 정합 장치의 셀 스페이서에 있어서, 시스템 내에서 발생된 CDV를 측정하여 CDV를 제거하고 셀을 상대방으로 전송함으로써 종단 사용자에게까지 셀 손실이 없이 셀이 전달 될 수 있도록 CDV를 제거하는 셀 스페이서 및 그 제어방법을 제공하기 위한 것이다. 본 발명은, 각 셀 슬롯마다 출력 셀의 버퍼 어드레스를 저장하는 FIFO와 같은 동작을 하는 버킷을 가진 버킷 칼렌다 및 방출 FIFO를 포함하는 셀 스페이서를 구성하고, 상기 버킷은, 해당 셀 슬롯에 등록되어 있는 셀의 수를 나타내는 하나의 셀 카운터 및 셀이 저장 되어 있는 셀 버퍼 어드레스를 등록하기 위한 7개의 셀 포인터로 구성하며, 그 셀 스페이서가 ATM셀과 CDV 및 셀도착시간 t를 입력받고, 임의의 시간에 셀이 입력되면 이를 셀 버퍼에 저장하고, 저장된 셀 버퍼 어드레스를 현재의 시간보다 CDV 만큼 뒤에 있는 슬롯의 버킷에 셀 버퍼 어드레스를 등록시키고, 출력 시간이 되면 해당 슬롯에 등록되어 있는 셀 버퍼 어드레스를 읽어 셀을 출력 시키는 방식으로 입력된 셀을 CDV 만큼 지연시켜 스페이싱을 수행하도록 ATM 정합장치의 셀 스페이서 및 그의 제어방법을 제공한다. 따라서, 본 발명에서 제안한 셀 스페이서는 제어구조가 간단하고, 단순한 RAM을 이용하여 버킷을 구성할 수 있으므로 셀 스페이서를 간단하게 효율적으로 구성할 수 있다.A cell spacer of an ATM matching device, which measures a CDV generated in a system, removes the CDV, and transmits the cell to the other party, thereby removing the CDV so that the cell can be delivered to the end user without cell loss. To provide a control method. The present invention constitutes a cell spacer including a bucket calendar having a bucket acting like an FIFO for storing a buffer address of an output cell for each cell slot and an emitting FIFO, wherein the bucket is registered in the cell slot. It consists of one cell counter indicating the number of cells and seven cell pointers for registering the cell buffer address where the cells are stored. The cell spacer receives an ATM cell, a CDV, and a cell arrival time t. When a cell is input to the cell buffer, it is stored in the cell buffer, and the stored cell buffer address is registered in the bucket of the slot that is CDV later than the current time, and when the output time is reached, the cell buffer address registered in the corresponding slot is stored. Cell spacer of ATM matching device to perform spacing by delaying input cell by CDV in such a way as to read cell and outputting cell Provide control method. Therefore, the cell spacer proposed in the present invention has a simple control structure, and since the bucket can be configured using a simple RAM, the cell spacer can be simply and efficiently configured.
Description
본 발명은 ATM 교환기 정합 장치에 있어서, 종단 사용자에게까지 셀 손실이 없이 셀이 전달 될 수 있도록 다중화 과정에서 발생되는 셀 지연 변이(Cell Delay Variance, 이하 CDV)를 제거하기 위한 셀 스페이서 장치를 제공하기 위한 것이다.According to an aspect of the present invention, there is provided a cell spacer device for removing a cell delay variation (CDV) generated in a multiplexing process so that a cell can be delivered to an end user without cell loss. It is for.
일반적으로, ATM 정합 장치는, 악의의 사용자가 협상된 대역보다 높은 대역을 갖는 셀을 전송하여 발생되는 망의 폭주로 인하여 선의의 가입자가 피해를 입지 않도록 모든 사용자로부터 입력되는 셀의 속도를 감시하여 협상된 대역보다 높은 대역으로 입력되는 셀을 검출하여 셀을 폐기 함으로써 악의의 가입자에 의한 망의 폭주를 예방하는 셀 속도 감시 기능을 가지고 있다.In general, the ATM matching apparatus monitors the speed of a cell input from all users so that a good subscriber does not suffer from network congestion caused by transmitting a cell having a higher band than a negotiated band. It detects cells that enter the band higher than the negotiated band and discards them, and has a cell speed monitoring function to prevent network congestion by malicious subscribers.
그런데 정합장치의 속도 감시 기능에서는 협상된 대역을 준수한 것으로 판단되어 망으로 전달하는 셀이 스위치 등의 다중화 장치를 거치게 되면 다중화 과정에서 새로운 셀 지연 변이(CDV)가 발생되어 다시 정합 장치로 출력될 때에는 순간적으로 협상된 대역을 위반하는 경우가 발생될 수 있다. 이렇게 되면 사용자는 정확하게 협상 대역폭을 준수하여 셀을 전송하였음에도 불구하고 망에서 발생된 CDV로 인하여 다음 노드에서는 협상된 대역을 위반한 셀로 간주되어 셀이 폐기 되므로 종단 사용자가 셀을 수신하였을 때는 셀 손실이 발생하게 된다.However, in the speed monitoring function of the matching device, it is determined that the negotiated band is observed and when a cell delivered to the network passes through a multiplexing device such as a switch, a new cell delay variation (CDV) is generated during the multiplexing process and outputted to the matching device. A violation of the negotiated band may occur instantaneously. In this case, although the user correctly transmits the cell in compliance with the negotiation bandwidth, due to the CDV generated by the network, the cell is discarded because the next node is considered to be in violation of the negotiated band and the cell is lost when the end user receives the cell. Will occur.
이를 방지하기 위하여 ATM 정합 장치에서는 셀이 출력될 때 시스템 내에서 발생된 CDV를 측정하여 CDV를 제거하고 셀을 상대방으로 전송함으로써 종단 사용자에게까지 셀 손실이 없이 셀이 전달 될 수 있도록 CDV를 제거하는 셀 스페이서를 구성하여야 한다.To prevent this, ATM matching device removes CDV by measuring CDV generated in the system when cell is output and removes CDV and transmits cell to the other party so that cell can be delivered to end user without cell loss. Cell spacers should be constructed.
기존의 셀 스페이서는, 셀을 CDV 만큼 지연시키기 위해 칼렌다 메모리라고 불리는 메모리에 셀이 저장되어 있는 위치를 기록할 때 현재 출력되고 있는 칼렌다로부터 CDV만큼 뒤에 있는 메모리에 셀의 위치를 기록하고, 셀 출력장치는 순서대로 칼렌다에 등록되어 있는 셀을 읽어 출력 시키는 형태로 셀 스페이서를 구성하였다.Conventional cell spacers record the position of the cell in memory behind the current output calendar by CDV when recording the location where the cell is stored in a memory called calendar memory to delay the cell by CDV. The device configures the cell spacers in order to read and output the cells registered in the calendar.
그런데 CDV 만큼 지연시키기 위해 현재 시간에 CDV를 더한 칼렌다 메모리에 셀을 등록할 때 이미 해당 위치가 다른 셀에 의해 점유되어 있다면 다음 메모리에 저장하고, 또 다시 해당 메모리가 점유되어 있으면 다음메모리에 저장하는 식으로 셀의 출력 시간을 등록하였다. 이렇게 하기 위해서는 출력될 시간 이후의 칼렌다 메모리에서 점유되지 않은 메모리를 찾기 위해 시간이 필요하므로 칼렌다에 등록하기 위한 큐가 필요하게 되었으며, 셀 타이머의 불일치 등으로 인하여 셀 전송 순서가 뒤바뀌는 등의 문제가 발생할 수 있다.However, when you register a cell in calendar memory that adds the CDV to the current time to delay the CDV, if the location is already occupied by another cell, it is stored in the next memory. In this way, the output time of the cell was registered. In order to do this, a time is needed to find unoccupied memory in the calendar memory after the output time, so a queue for registering with the calendar is needed. The problem of cell transfer order may be reversed due to the inconsistency of the cell timer. Can be.
본 발명에서는 상기한 문제점을 해결하기 위하여 단순 메모리를 이용한 칼렌다를 대신하여 각 셀 시간마다 별도의 큐를 갖는 버킷 칼렌다를 사용하여 셀의 전송 순서를 보장하고 점유되지 않은 셀 슬롯을 찾기 위해 대기하는 큐를 없애는 버킷 칼렌다를 이용한 셀 스페이서를 제공함에 목적이 있다.In the present invention, in order to solve the problem described above, a queue is used to guarantee the cell transmission order and to wait for an unoccupied cell slot by using a bucket calendar having a separate queue for each cell time instead of a calendar using a simple memory. It is an object to provide a cell spacer using a bucket calendar to eliminate.
이와 같은 목적을 달성하기 위한 본 발명은, 각 셀 슬롯마다 출력 셀의 버퍼 어드레스를 저장하는 FIFO와 같은 동작을 하는 버킷을 가진 버킷 칼렌다 및 방출 FIFO를 포함하는 셀 스페이서를 구성하고, 상기 버킷은, 해당 셀 슬롯에 등록되어 있는 셀의 수를 나타내는 하나의 셀 카운터 및 셀이 저장 되어 있는 셀 버퍼 어드레스를 등록하기 위한 7개의 셀 포인터로 구성하며, 그 셀 스페이서가 ATM셀과 CDV 및 셀도착시간 t를 입력받고, 임의의 시간에 셀이 입력되면 이를 셀 버퍼에 저장하고, 저장된 셀 버퍼 어드레스를 현재의 시간보다 CDV 만큼 뒤에 있는 슬롯의 버킷에 셀 버퍼 어드레스를 등록시키고, 출력 시간이 되면 해당 슬롯에 등록되어 있는 셀 버퍼 어드레스를 읽어 셀을 출력 시키는 방식으로 입력된 셀을 CDV 만큼 지연시켜 스페이싱을 수행하도록 ATM 정합장치의 셀 스페이서 및 그의 제어방법을 제공함으로써, 달성된다.In order to achieve the above object, the present invention provides a cell spacer including a bucket calendar having a bucket acting like an FIFO for storing a buffer address of an output cell for each cell slot, and a discharge FIFO, wherein the bucket includes: It consists of one cell counter indicating the number of cells registered in the corresponding cell slot and seven cell pointers for registering the cell buffer address in which the cell is stored. The cell spacer is composed of ATM cell, CDV, and cell arrival time t. When the cell is input at any time, the cell buffer address is stored in the cell buffer, and the stored cell buffer address is registered in the bucket of the slot that is CDV later than the current time. ATM is configured to delay the input cell by CDV by reading the registered cell buffer address and outputting the cell. By providing a cell spacer of the matching device and a control method thereof.
도 1은 본 발명을 적용하기 위한 ATM 정합 장치 구성도.1 is a block diagram of an ATM matching device for applying the present invention.
도 2는 본 발명을 적용하기 위한 ATM 정합 장치의 송신 셀 처리부의 구성도.2 is a block diagram of a transmission cell processing unit of an ATM matching device for applying the present invention.
도 3은 본 발명을 적용하기 위한 VSA를 이용한 셀 스페이서 구성도.Figure 3 is a cell spacer configuration using a VSA for applying the present invention.
도 4는 본 발명의 VSA 알고리즘의 흐름도.4 is a flow chart of the VSA algorithm of the present invention.
도 5는 종래 단순 칼렌다를 이용한 셀 스페이서 구성도.Figure 5 is a cell spacer configuration using a conventional simple calendar.
도 6은 본 발명의 버킷 칼렌다를 이용한 셀 스페이서 구성도.Figure 6 is a cell spacer configuration using a bucket calendar of the present invention.
도 7은 본 발명의 버킷 칼렌다의 구성.7 is a configuration of a bucket calendar of the present invention.
<도면의 주요부분에 대한 부호의 설명><Description of the code | symbol about the principal part of drawing>
1 : 가입자 선로 2 : 물리계층 처리부1: subscriber line 2: physical layer processing unit
3 : 수신셀 처리부 4 : 송신 셀 처리부3: receiving cell processing section 4: transmitting cell processing section
5 : 스위치 링크 정합부 6 : 스위치 링크5 switch link matching unit 6 switch link
7 : 제어부 9 : 연결 식별자 관리부7: control unit 9: connection identifier management unit
10 : 셀 스페이서부 11 : 출력 셀 처리부10 cell spacer 11 output cell processor
12 : VSA 엔진 13 : 스페이서12: VSA engine 13: spacer
23 : 쓰기 제어부 24 : 셀 버퍼23: write control unit 24: cell buffer
25 : 읽기 제어부 26 : 유휴 FIFO25 read control 26 idle FIFO
30 : 칼렌다 제어부 31 : 버킷 칼렌다30: calendar control unit 31: bucket calendar
32 : 방출 FIFO 33 : 스페이서 제어부32: emission FIFO 33: spacer control unit
이하 첨부된 도면을 통해 본 발명의 구성 및 작용을 상세히 설명한다.Hereinafter, the configuration and operation of the present invention through the accompanying drawings will be described in detail.
도 1은 본 발명을 적용하기 위한 ATM 교환기의 정합 장치 구성을 나타내었다. ATM 정합 장치는 물리 계층 처리부(2), 수신 셀 처리부(3), 송신 셀 처리부(4), 스위치 링크 정합부(5), 제어부(7) 등으로 구성된다.1 shows a configuration of a matching device of an ATM switch for applying the present invention. The ATM matching device includes a physical layer processing section 2, a receiving cell processing section 3, a transmitting cell processing section 4, a switch link matching section 5, a control section 7 and the like.
물리 계층 처리부(2)에서는 가입자 선로(1)로부터 수신한 신호에서 데이터와 클럭을 복원하고, 가입자 선로(1)의 종류에 따라 프레임을 추출하여 프레임을 처리하고 ATM 셀을 추출하여 수신 셀 처리부(3)로 전달하거나, 송신 셀 처리부(4)에서 수신한 ATM 셀을 가입자 종류에 따라 프레임을 생성하여 그 프레임에 ATM 셀을 실어 가입자 선로(1)를 통해 가입자로 전달한다.The physical layer processor 2 restores data and clocks from the signal received from the subscriber line 1, extracts a frame according to the type of the subscriber line 1, processes the frame, and extracts an ATM cell, thereby extracting the received cell processor ( 3) or the ATM cell received by the transmitting cell processor 4 generates a frame according to the type of subscriber, and loads the ATM cell in the frame to the subscriber through the subscriber line (1).
수신 셀 처리부(3)에서는 물리 계층 처리부(2)로부터 셀을 수신하였음을 통보 받으면 해당 물리 계층 처리부(2)에서 셀을 읽어내어 다중화하고, 수신 연결 정보를 이용하여 수신 셀의 헤더를 변환하고 스위치 링크 정합부(5)로 전달한다.When the receiving cell processing unit 3 is informed that the cell has been received from the physical layer processing unit 2, the corresponding physical layer processing unit 2 reads and multiplexes the cell, converts the header of the receiving cell using the receiving connection information, and switches Transfer to link matching section 5.
스위치 링크 정합부(5)에서는 수신 셀 처리부(3)로부터 셀을 수신하여 스위치 링크(6)에서 사용하는 형태로 셀을 변환하여 스위치 링크(6)로 셀을 전송한다. 또한, 스위치 링크(6)로부터 셀을 수신하면 송신 셀 처리부(4)로 셀을 전달하는 기능을 수행한다.The switch link matching unit 5 receives the cell from the reception cell processing unit 3, converts the cell into a form used by the switch link 6, and transmits the cell to the switch link 6. In addition, when the cell is received from the switch link 6, the cell transmits the cell to the transmitting cell processing section 4.
송신 셀 처리부(4)에서는 스위치 링크 정합부(5)로부터 수신한 사용자 셀과 제어부(7)로부터 수신한 관리 셀 등을 다중화 하여 송신 연결 정보에 따라 출력 선로를 선택하여 해당 물리 계층 처리부(2)로 셀을 전달한다.The transmission cell processing section 4 multiplexes the user cell received from the switch link matching section 5 and the management cell received from the control section 7, selects an output line according to the transmission connection information, and selects the corresponding physical layer processing section 2. Pass the cell to
제어부(7)에서는 물리 계층 처리부(2)의 상태를 관리하고 수신 셀 처리부(3)에 있는 수신 연결 정보를 관리하며, 송신 셀 처리부(4)의 송신 연결 정보를 관리하는 기능을 수행한다.The control unit 7 manages the state of the physical layer processing unit 2, manages the reception connection information in the reception cell processing unit 3, and manages the transmission connection information of the transmission cell processing unit 4.
도 2는 본 발명이 적용되는 송신 셀 처리부(4)의 상세한 구성을 나타내었다.2 shows a detailed configuration of the transmission cell processing section 4 to which the present invention is applied.
송신 셀 처리부(4)는 연결 식별자 관리부(9)와 셀 스페이서부(10), 출력 셀 처리부(11)로 구성된다.The transmission cell processing unit 4 is composed of a connection identifier management unit 9, a cell spacer unit 10, and an output cell processing unit 11.
연결 식별자 관리부(9)에서는 스위치 링크 정합부로부터 셀을 수신하면 셀의 VPI, VCI를 참조하여 연결 식별자를 추출하여 연결 식별자와 셀 데이터를 셀 스페이서부(10)로 전달한다. 셀 스페이서부(10)에서는 입력되는 셀의 CDV를 계산하여 계산된 CDV만큼 셀의 출력 속도를 조절하여 출력 셀 처리부(11)로 전달한다. 출력 셀 처리부(11)에서는 셀 스페이서부(10)에서 수신한 셀의 성능 감시 등의 OAM 기능을 수행하고 출력 선로를 찾아 물리 계층 처리부로 셀을 출력한다.When receiving the cell from the switch link matching unit, the connection identifier managing unit 9 extracts the connection identifier by referring to the VPI and VCI of the cell and transfers the connection identifier and the cell data to the cell spacer unit 10. The cell spacer 10 calculates the CDV of the input cell, adjusts the output speed of the cell by the calculated CDV, and transmits the output speed to the output cell processor 11. The output cell processor 11 performs an OAM function such as monitoring the performance of the cell received by the cell spacer 10, finds an output line, and outputs the cell to the physical layer processor.
도 3은 본 발명이 적용된 셀 스페이서부(10)의 상세한 구성을 나타내었다.3 shows a detailed configuration of the cell spacer 10 to which the present invention is applied.
셀 스페이서부(10)는 입력되는 셀의 속도 감시를 수행하고 CDV를 계산하는 VSA(Virtual Scheduling Algorithm) 엔진(12)과, 입력된 셀을 CDV 만큼 지연시켜 스페이싱을 수행하는 스페이서(13)로 구성된다.The cell spacer 10 includes a VSA (Virtual Scheduling Algorithm) engine 12 that performs speed monitoring of an input cell and calculates a CDV, and a spacer 13 that performs spacing by delaying the input cell by CDV. do.
VSA 엔진(12)에서는 연결 식별자 관리부(9)로부터 연결 식별자와 ATM 셀을 수신하면, 연결 식별자를 이용하여 해당 연결에 대한 파라메터 테이블로부터 해당 연결에 대한 속도 감시의 결과로 저장되어 있는 파라메터를 읽어와서 도 4에 나타낸 흐름도에 따라 셀 속도 감시를 수행하고 CDV를 계산한다.When the VSA engine 12 receives the connection identifier and the ATM cell from the connection identifier manager 9, the VSA engine 12 reads the parameters stored as a result of the speed monitoring for the connection from the parameter table for the connection using the connection identifier. According to the flowchart shown in FIG. 4, cell rate monitoring is performed and CDV is calculated.
도 4에 도시된 바와 같이, CDV를 계산하는 절차는 다음과 같다.As shown in Figure 4, the procedure for calculating the CDV is as follows.
임의의 연결에 대한 셀이 시간 t에 도착하면(S41), 이전셀도착시간(이하; TAT)이 만료(expire)가 되었는지를 조사한다(S42). 이전셀도착시간이 만료 되었다는 것은 해당 연결에 대한 셀이 협상된 최소 셀 간격 T보다 상당히 큰 시간동안 셀이 입력되지 않았음을 의미한다. 따라서 해당 연결이 만료 되었다는 것은 입력된 셀이 협상된 대역을 위반하지 않았음을 의미하며 이때는 CDV가 0이다.When a cell for any connection arrives at time t (S41), it is checked whether the previous cell arrival time (hereinafter referred to as TAT) has expired (S42). A previous cell arrival time has expired, meaning that the cell has not been entered for a time significantly greater than the negotiated minimum cell interval T. Therefore, the connection expired means that the input cell did not violate the negotiated band, in which case the CDV is zero.
만료되지 않았을 때는 해당 연결의 이전 셀이 도착한 이론적 시간인 TAT에 최소 셀 간격 T를 더하여(X=TAT+T)(S43), 그 더한 값이 현재의 시간 t보다 작은지를 검사(X<t ?)한다(S44). t보다 작은 경우는 최소 셀 간격보다 크게 셀이 입력되었다는 것을 의미하므로 이 때도 협상된 대역폭을 위반하지 않고 셀이 입력되었음을 나타내며 이 때의 CDV도 0이 된다(S49).If it has not expired, the TAT, the theoretical time the previous cell of the connection arrived, is added to the minimum cell interval T (X = TAT + T) (S43), to check if the sum is less than the current time t (X <t? (S44). A smaller value than t means that the cell has been input larger than the minimum cell spacing, and this time indicates that the cell has been entered without violating the negotiated bandwidth. The CDV at this time is also zero (S49).
그렇지만 t보다 큰 경우는 협상된 최소 셀 간격보다 작은 셀 간격을 가지고 셀이 입력되었음을 의미하기 때문에 협상된 셀 속도를 위반한 것이 된다.However, if it is larger than t, it means that the cell has been entered with a cell interval smaller than the negotiated minimum cell interval, thus violating the negotiated cell rate.
그런데 셀 속도 협상을 할 때 각종 다중화 장치들을 거치면서 발생되는 CDV를 고려한 CDVT(Cell Delay Variance Tolerance of PCR =τ)를 협상하기 때문에 입력된 셀이 CDVT를 위반하였는지를 다시 검사한다. CDVT를 검사하기 위해서 현재 시간 t에 CDVT(=τ)를 더한 값이 TAT+T보다 큰지를 검사한다(S45). TAT+T(=X)보다 t+τ가 작은 경우는 협상된 대역폭과 허용되는 CDV를 초과하여 셀이 입력되었음을 의미하므로 셀을 폐기한다(S48).However, when negotiating cell rate, the cell negotiates Cell Delay Variance Tolerance of PCR (τV) considering CDV generated through various multiplexing devices. Therefore, it checks again whether the input cell violates the CDVT. In order to check the CDVT, it is checked whether the current time t plus the CDVT (= τ) is greater than TAT + T (S45). If t + τ is smaller than TAT + T (= X), the cell is discarded because the cell is input beyond the negotiated bandwidth and the allowed CDV (S48).
그렇지 않은 경우는 셀 속도를 위반하였지만 허용되는 CDV를 위반하지 않고 입력된 셀이므로 CDV를 계산한다(S46). CDV는 이론적 도착 시간인 TAT+T에서 현재 시간 t를 뺀 값(CDV=X-t)이 된다. 셀 속도와 CDV를 위반하지 않은 경우에는 TAT를 TAT+T값이나 현재 시간 t로 저장하고, 셀과 CDV를 출력한다(S47).Otherwise, the cell rate is violated, but the CDV is calculated because the cell is input without violating the allowed CDV (S46). CDV is the theoretical arrival time TAT + T minus the current time t (CDV = X-t). If the cell rate and the CDV are not violated, the TAT is stored as a TAT + T value or the current time t, and the cell and the CDV are output (S47).
VSA 엔진(12)은 위와 같은 방법으로 계산된 CDV와 현재 시간 t, 그리고 셀을 스페이서(13)로 전달한다.The VSA engine 12 delivers the CDV, the current time t, and the cell calculated in the above manner to the spacer 13.
도 5는 기존에 사용되던 DPRAM으로 구성된 칼렌다를 사용한 스페이서의 상세한 구성도를 나타내었으며, 도 6은 본 발명이 적용된 버킷 칼렌다를 이용한 스페이서의 구성을 나타내었다.FIG. 5 shows a detailed configuration diagram of a spacer using a calendar composed of a DPRAM that has been used in the past, and FIG. 6 shows a configuration of a spacer using a bucket calendar to which the present invention is applied.
스페이서(13)는 셀을 스페이싱하기 위해 제어하는 스페이서 제어기(33)와 셀을 저장하는 셀 버퍼(24)로 구성되며 스페이서 제어기(33)는 FPGA(Field Programmable Gate Array)로 구성되고, 셀 버퍼(24)는 이중 포트 램(Dual Port RAM, DPRAM)으로 구성한다.The spacer 13 is composed of a spacer controller 33 for controlling the spacing of the cell and a cell buffer 24 for storing the cell. The spacer controller 33 is composed of a field programmable gate array (FPGA). 24 is composed of dual port RAM (DPRAM).
먼저 도 5에 나타낸 스페이서 제어기(33)의 동작에 대해 설명하면 다음과 같다.First, the operation of the spacer controller 33 shown in FIG. 5 will be described.
스페이서 제어기(33)의 쓰기 제어부(23)에서는 VSA 엔진으로부터 셀 데이터와 계산된 CDV 그리고 현재 시간 t를 입력으로 받아 셀 버퍼의 점유되지 않은 유휴 어드레스를 저장하고 있는 유휴(Idle) FIFO(26)으로부터 유휴 어드레스를 읽어와서 해당 쓰기어드레스(waddr)의 셀 버퍼(24)에 셀을 기록하고 CDV와 쓰기어드레스(waddr)를 CDV FIFO(27)에 저장한다.The write control unit 23 of the spacer controller 33 receives the cell data, the calculated CDV, and the current time t from the VSA engine as an input from an idle FIFO 26 storing an unoccupied idle address of the cell buffer. The idle address is read, the cell is written to the cell buffer 24 of the corresponding write address waddr, and the CDV and the write address waddr are stored in the CDV FIFO 27.
CDV FIFO(27)에 저장된 데이터가 있으면 칼렌다 제어부(28)에서는 CDV FIFO(27)에 있는 CDV와 셀이 저장되어 있는 셀 버퍼 어드레스를 읽어, 현재 시간(t)보다 CDV 만큼 뒤에 있는 칼렌다(29) 메모리를 읽어 해당 슬롯에 이미 등록되어 있는 셀이 있는지를 검사하고, 점유되어 있지 않으면 셀 버퍼 어드레스를 기록하고 해당 슬롯이 점유되었음을 표시한다. 슬롯이 이미 다른 셀에 의해 점유되어 있다면 그 다음 어드레스를 순차적으로 읽어 비어 있는 슬롯을 찾아 셀을 등록한다.If there is data stored in the CDV FIFO 27, the calendar control unit 28 reads the CDV and the cell buffer address in which the cells are stored in the CDV FIFO 27, and the calendar 29 after the current time t by CDV. The memory is read to see if there is a cell already registered in the slot. If not, the cell buffer address is recorded and the slot is occupied. If the slot is already occupied by another cell, the next address is read sequentially to find an empty slot and register the cell.
읽기 제어부(25)에서는 현재 시간의 칼렌다 메모리를 읽어 셀이 등록되어 있으면 등록되어 있는 셀 버퍼 어드레스를 이용하여 셀 버퍼로부터 셀을 읽어내어 출력하고 셀 버퍼 어드레스를 유휴 FIFO에 저장한다. 셀이 등록되어 있지 않으면 유휴 셀을 출력한다. 여기서 현재 시간 t는 매 셀 시간마다 1씩 증가 한다.The read control unit 25 reads the calendar memory of the current time and, if the cell is registered, reads the cell from the cell buffer using the registered cell buffer address and outputs the cell buffer address to the idle FIFO. If no cell is registered, output an idle cell. Here, the current time t increases by 1 every cell time.
이와 같은 방법의 셀 스페이서는 비교적 제어기가 간단하고 칼렌다 메모리가 시스템에서 허용하는 CDV 만큼의 크기를 가지면 되기 때문에 비교적 적은 메모리를 사용하여 구현할 수 있다.The cell spacer of this method can be implemented using a relatively small memory because the controller is relatively simple and the calendar memory needs to be as large as the CDV allowed by the system.
그러나, 칼렌다 메모리에서 충돌이 발생하면 비어있는 슬롯을 찾을 때까지 다음 메모리를 검색하여야 하므로 1셀 시간동안 처리하지 못하는 경우가 발생될 수 있으므로 CDV FIFO(27)가 필요하게 되고, 이러한 처리 도중에 셀의 순서가 뒤바뀌는 경우가 발생할 수 있다.However, if a collision occurs in calendar memory, the next memory must be searched until an empty slot is found, and thus, the CDV FIFO 27 may be required. The order may be reversed.
이와 같은 문제를 해결하기 위한 도 6에 나타낸 본 발명이 적용된 셀 스페이서 제어기(33)의 동작에 대해 설명하면 다음과 같다. 여기서는 CDV FIFO(27)와 칼렌다 메모리(29)를 대신하여 각 셀 슬롯마다 출력 셀의 버퍼 어드레스를 저장하는 FIFO와 같은 동작을 하는 버킷을 갖고 있는 버킷 칼렌다(31)와 출력 셀의 버퍼 어드레스를 저장하고 있는 방출 FIFO(32)를 갖는다.The operation of the cell spacer controller 33 to which the present invention shown in FIG. 6 is applied to solve such a problem is as follows. Here, instead of the CDV FIFO 27 and the calendar memory 29, each of the cell slots stores a bucket calendar 31 having a bucket acting as an FIFO which stores the buffer address of the output cell, and the buffer address of the output cell. It has an emitting FIFO 32.
도 5에서 설명한 것처럼 쓰기 제어부(23)에서는 유휴 어드레스 FIFO(26)로부터 유휴 어드레스를 읽어와서 해당 셀 버퍼(24)에 셀을 저장하고 CDV와 버퍼 어드레스를 칼렌다 제어부(30)로 전달한다.As described in FIG. 5, the write control unit 23 reads the idle address from the idle address FIFO 26, stores the cell in the cell buffer 24, and transfers the CDV and the buffer address to the calendar control unit 30.
칼렌다 제어부(30)에서는 현재 시간(t)에 CDV를 더한 시간에 있는 버킷에 버퍼 어드레스를 저장한다. 또 현재 시간의 버킷에 등록되어 있는 버퍼 어드레스를 모두 읽어 방출 FIFO(32)에 저장한다.The calendar control unit 30 stores the buffer address in the bucket at the current time t plus the CDV. In addition, all buffer addresses registered in the bucket of the current time are read and stored in the discharge FIFO 32.
한편, 읽기 제어부(25)에서는 방출 FIFO(32)로부터 출력되어야 할 셀 버퍼의 어드레스를 가져와서 셀 버퍼(24)에 있는 셀을 읽어 출력하고 버퍼 어드레스를 유휴 FIFO(26)에 저장한다.On the other hand, the read control unit 25 takes the address of the cell buffer to be output from the emission FIFO 32, reads out the cell in the cell buffer 24 and outputs it, and stores the buffer address in the idle FIFO 26.
여기에서 사용된 버킷 칼렌다(31)의 구조와 동작에 대해 좀 더 상세하게 설명하면, 버킷 칼렌다(31)의 구조는 도 7에 나타낸 바와 같이 일반적인 RAM을 이용하여 구성되며, 각 셀 슬롯마다 등록되어 있는 셀의 수를 나타내는 셀 카운터와 셀이 저장 되어 있는 셀 버퍼 어드레스를 등록하기 위한 버킷(34)으로 구성된다.The structure and operation of the bucket calendar 31 used herein will be described in more detail. The structure of the bucket calendar 31 is configured using a general RAM as shown in FIG. 7 and is registered for each cell slot. It consists of a cell counter indicating the number of cells present and a bucket 34 for registering the cell buffer address in which the cell is stored.
임의의 시간 t에 셀이 입력되었고, CDV가 Δ라고 하면, 해당 셀 슬롯에 등록되어 있는 셀의 수를 알기 위해 (t+Δ) * 8에 있는 메모리를 읽는다. 여기서 읽은 셀의 수가 n이라고 하면 (t+Δ) * 8에 n+1을 다시 써넣고, (t+Δ) * 8 + n+1에 셀 버퍼 어드레스를 써 넣으면 버킷 칼렌다에 셀을 등록하는 절차가 끝난다.If a cell is input at any time t, and CDV is Δ, then the memory at (t + Δ) * 8 is read to know the number of cells registered in the corresponding cell slot. Here, if the number of cells read is n, n + 1 is rewritten in (t + Δ) * 8, and the cell buffer address is written in (t + Δ) * 8 + n + 1. Ends.
그리고 버킷 칼렌다에서 셀 포인터를 읽는 절차는 임의의 시간 t에서 t*8에 등록되어 있는 셀 카운터를 읽어 카운터를 저장하고 t*8+1부터 카운터가 0이 될 때까지 셀 포인터를 읽어 방출 FIFO(32)에 저장한다. 카운터를 읽었을 때 카운터가 0이면 해당 슬롯에 출력할 셀이 없음을 나타내므로 아무런 동작을 취하지 않는다.The procedure for reading the cell pointer in the bucket calendar reads the cell counter registered at t * 8 at any time t, stores the counter, and reads the cell pointer from t * 8 + 1 until the counter becomes 0. 32). When the counter is read, if the counter is 0, it indicates that there is no cell to output in the corresponding slot, so no action is taken.
본 발명은 ATM망에서 가상 연결에서 사용자와 망간에 협상한 전송 대역을 위반하지 않고 입력된 셀이 스위치, 다중화기 등의 망의 전송 장치를 거치면서 발생되는 CDV로 인하여 대역폭을 위반하여 전송되는 셀을 방지하기 위한 셀 스페이서를 구성함에 있어서, 버킷 칼렌다를 이용하여 셀 스페이서를 구성함으로써, 셀 출력시간 등록 지연과 셀 전송 순서의 바뀌는 현상을 제거할 수 있는 효과가 있다.The present invention does not violate the transmission band negotiated between the user and the network in a virtual connection in the ATM network, the cell is transmitted in violation of the bandwidth due to the CDV generated while passing through the transmission device of the network, such as switches, multiplexers, etc. In configuring the cell spacer for preventing the cell spacer, the cell spacer is configured using the bucket calendar, thereby eliminating the cell output time registration delay and the change of the cell transmission order.
특히 본 발명에서 구성한 버킷 칼렌다는 일반 RAM 구조를 이용하여 각 전송 슬롯마다 FIFO를 구성하기 위한 구조를 제공함으로써, 제어구조가 간단해지는 효과가 있다.In particular, the bucket calendar configured in the present invention provides a structure for configuring a FIFO for each transmission slot using a general RAM structure, thereby simplifying the control structure.
따라서 본 발명을 이용하면 흔히 사용되는 일반적인 FPGA를 이용하여 버킷 칼렌다 구조의 셀 스페이서를 효율적으로 구성할 수 있다.Therefore, according to the present invention, it is possible to efficiently construct a cell calendar of a bucket calendar structure using a general FPGA which is commonly used.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980035645A KR100276079B1 (en) | 1998-08-31 | 1998-08-31 | A cell spacer using bucket calendar and its cotrol method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980035645A KR100276079B1 (en) | 1998-08-31 | 1998-08-31 | A cell spacer using bucket calendar and its cotrol method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000015618A KR20000015618A (en) | 2000-03-15 |
KR100276079B1 true KR100276079B1 (en) | 2000-12-15 |
Family
ID=19548995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980035645A KR100276079B1 (en) | 1998-08-31 | 1998-08-31 | A cell spacer using bucket calendar and its cotrol method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100276079B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100317122B1 (en) * | 1999-12-27 | 2001-12-24 | 오길록 | Cdv calculate method of cell spacer for vbr service |
-
1998
- 1998-08-31 KR KR1019980035645A patent/KR100276079B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20000015618A (en) | 2000-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5859835A (en) | Traffic scheduling system and method for packet-switched networks | |
US5757770A (en) | Method and device for the control of congestion in sporadic exchanges of data packets in a digital transmission network | |
US6907001B1 (en) | Packet switch for switching variable length packets in the form of ATM cells | |
US5278828A (en) | Method and system for managing queued cells | |
US5982749A (en) | ATM communication system interconnect/termination unit | |
US5848068A (en) | ATM communication system interconnect/termination unit | |
US5920561A (en) | ATM communication system interconnect/termination unit | |
US6535512B1 (en) | ATM communication system interconnect/termination unit | |
JP3632229B2 (en) | ATM switching equipment | |
US6661801B1 (en) | Data transfer | |
KR100276079B1 (en) | A cell spacer using bucket calendar and its cotrol method | |
EP0810805B1 (en) | ATM cell forming device | |
JP3602893B2 (en) | ATM interface and shaping method | |
US6804698B1 (en) | Data transfer | |
JP2964968B2 (en) | Shaping processing apparatus and shaping processing method | |
US6466542B1 (en) | Multiple phase time counter for use in a usage parameter control device for an asynchronous transfer mode system | |
US7145908B1 (en) | System and method for reducing jitter in a packet transport system | |
KR100333475B1 (en) | Rate proportional self-clocked fair queueing apparatus and method for high-speed packet-switched networks | |
KR0175486B1 (en) | Re-release interval control method of asynchronous transfer mode interval controller | |
US6801535B1 (en) | Data reception apparatus for receiving ATM data streams | |
JP2864071B2 (en) | Cell traffic monitoring device | |
KR100317122B1 (en) | Cdv calculate method of cell spacer for vbr service | |
JP3587708B2 (en) | Cell management processing circuit and network system | |
KR0151911B1 (en) | Cell gap control apparatus and method for controlling through put band in atm network | |
JP3103120B2 (en) | Cell converter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20040831 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |