KR100236035B1 - Atm 망접속기에서 서브 테이블을 이용하여 가상채널의 대역을 할당하는 방법 - Google Patents

Atm 망접속기에서 서브 테이블을 이용하여 가상채널의 대역을 할당하는 방법 Download PDF

Info

Publication number
KR100236035B1
KR100236035B1 KR1019970011848A KR19970011848A KR100236035B1 KR 100236035 B1 KR100236035 B1 KR 100236035B1 KR 1019970011848 A KR1019970011848 A KR 1019970011848A KR 19970011848 A KR19970011848 A KR 19970011848A KR 100236035 B1 KR100236035 B1 KR 100236035B1
Authority
KR
South Korea
Prior art keywords
entry
virtual channel
pointer
main
bit
Prior art date
Application number
KR1019970011848A
Other languages
English (en)
Other versions
KR19980075606A (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 KR1019970011848A priority Critical patent/KR100236035B1/ko
Priority to GB9806825A priority patent/GB2325587B/en
Priority to JP8691798A priority patent/JP3992823B2/ja
Priority to US09/052,412 priority patent/US6175572B1/en
Publication of KR19980075606A publication Critical patent/KR19980075606A/ko
Application granted granted Critical
Publication of KR100236035B1 publication Critical patent/KR100236035B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • H04L12/433Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
    • 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/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5672Multiplexing, e.g. coding, scrambling
    • H04L2012/5675Timeslot assignment, e.g. TDMA

Abstract

본 발명은 ATM 망접속기(NIC:Network Interface Card)에서 가상채널에 대역폭을 할당하는 방법에 관한 것으로, 특히 서브 테이블을 이용하여 대역 양자화 손실을 최소로 하면서 대역폭을 할당하는 방법에 관한 것이다.
이러한 본 발명은 호스트시스템의 요구에 따라 적어도 하나 이상의 가상채널들에 대역할당 테이블을 이용하여 대역을 할당한 후 소정의 링크속도로 해당 가상채널의 셀들을 전송하도록 된 ATM 망접속기에 있어서, 엔트리 포인터(41)가 가리키는 메인 테이블의 엔트리를 읽어 오는 단계(100); 메인 엔트리의 플래그(F) 비트가 가상채널을 나타내면 엔트리의 가상채널 인덱스를 읽어 오는 단계(101,102); 메인 엔트리의 플래그(F) 비트가 서브 테이블의 포인터를 나타내면 해당 서브 테이블의 엔트리로부터 가상채널 인덱스를 읽어 오는 단계(101,102,103); 서브 엔트리의 포인터를 증가시키는 단계(104); 읽어온 가상채널 인덱스의 해당 셀을 서비스하는 단계(105); 및 메인 엔트리 포인터를 증가시키는 단계(106)로 구성되어 대역 양자화 손실을 감소시켜 보다 효율적으로 대역을 할당할 수 있다.

Description

ATM 망접속기에서 서브 테이블을 이용하여 가상채널의 대역을 할당하는 방법
본 발명은 ATM 망접속기(NIC:Network Interface Card)에서 가상채널에 대역폭을 할당하는 방법에 관한 것으로, 특히 서브 테이블을 이용하여 대역 양자화 손실을 최소로 하면서 대역폭을 할당하는 방법에 관한 것이다.
일반적으로 ATM 통신방식은 소비자의 다양한 서비스를 하나의 통합된 망으로 지원할 수 있도록 계층화된 프로토콜로 구현된다. 즉, 종래의 공중전화망이나 패킷교환망이 음성 서비스 혹은 데이터 서비스를 제공하기 위한 전용망이었음에 비해 ATM망은 음성, 데이터, 영상 서비스등을 하나의 통합망으로 제공할 수 있도록 설계된 것으로 B-ISDN망의 근간을 이루고 있다.
도 1은 ATM 프로토콜 참조 모델(protocol reference model)을 도시한 개념도이다. 개념도의 프로토콜 참조 모델은 관리 평면(management plane)과, 제어 평면(control plane), 및 사용자 평면(user plane)으로 구성되고, 상기 관리 평면은 다시 계층 관리와 평면 관리로 구성되게 된다. 그리고, 평면 관리는 시스템의 전반적인 관리를 의미하고, 계층관리는 자원 및 사용 변수의 관리와 OAM 정보관리를 수행하게 된다.
또한, 제어 평면에서는 호 제어 및 접속 제어 정보를 관장하고, 사용자 평면에서는 사용자 정보의 전달을 수행하게 된다. 그리고, 제어 평면과 사용자 평면의 프로토콜은 상위 계층과, ATM 적응(AAL) 계층, ATM 계층, 및 물리 계층으로 구성되게 된다.
여기서, ATM 적응계층(ATM Adaptation Layer)은 ATM계층에서 제공하는 서비스를 상위계층 사용자의 요구사항에 적응시키는 기능을 수행하게 된다. 따라서, ATM 적응계층은 사용자 평면, 제어평면의 상위기능 및 관리평면의 지원을 수행함과 더불어 ATM 통신방식 환경과 비 ATM 통신방식 환경과의 접면을 제공할 수 있어야 한다.
또한, ATM 적응계층에서는 상위계층의 프로토콜 데이터 유니트(PDU; protocol data unit)를 ATM셀의 유료부하 구간에 매핑시킴과 더불어 전송오류를 처리하고, 손실된 셀과 삽입된 셀의 처리 및 흐름제어와 타이밍 제어기능을 제공해야 한다. 이러한 ATM 적응계층은 분할 및 재결합(SAR; segmentation and reassembly) 부계층과 수렴 부계층(CS; convergence sublayer)의 두 부계층으로 더욱 세분된다.
수렴 부계층(CS)은 특정 서비스에 관련된 기능을 수행하고, 분할 및 재결합(SAR)은 서비스 종류에 관계없는 기능을 처리하여 사용자 정보의 분할과 재결합에 관련된 기능을 처리하게 된다. 따라서, 송신측에서는 상기 수렴 부계층(CS)이 상위계층으로부터 사용자 정보로 인가받아 헤더와 트레일러를 붙여 수렴 부계층 프로토콜 데이터 유니트(CS-PDU)를 형성하여 분할 및 재결합(SAR) 부계층으로 보내고, 이 분할 및 재결합(SAR) 부계층은 이를 ATM 셀의 크기로 절단한 후 헤더와 트레일러를 붙여 분할 및 재결합 프로토콜 데이터 유니트(SAR-PDU)를 형성하여 ATM계층을 통해 전송하게 된다.
그리고, 수신측에서는 분할 및 재결합(SAR) 부계층이 ATM계층을 통해 수신된 분할 및 재결합 프로토콜 데이터 유니트(SAR-PDU) 중 유료부하 구간만을 추출하여 수렴 부계층 프로토콜 데이터 유니트(CS-PDU)를 형성한 후 수렴 부계층(CS)으로 전달하고, 이 수렴 부계층(CS)에서는 수신된 수렴 부계층 프로토콜 데이터 유니트(CS-PDU) 중 상위계층 사용자 정보만 추출하여 상위계층으로 전달하게 된다.
이때, 송신 과정에 있어서 각 부계층을 통과할 때마다 붙는 헤더와 트레일러는 오류처리와 버퍼관리 및 순서보존 등과 관련된 것이고, 수신 과정에 있어서는 이들 정보를 분석하여 오류가 없다고 판단되면 사용자 정보를 상위의 계층으로 전달하게 된다.
이러한 비동기 전송모드 통신방식은 다음 표 1에서와 같이 계층적인 구조를 이루고, 각각의 계층별로 표준화된 기준을 가지고 있다.
[표 1]
계 층 부 계 층 기 능
상위계층 상위계층기능
ATM 적응계층 수렴(CS) 부계층 수렴기능
절단및 재결합(SAR) 절단기능 및 재결합기능
ATM 계층 일반흐름제어 및 셀헤더 처 리기능
물리 계층 전송수렴(TC) HEC 신호발생 및 추출기능
물리매체 비트시간 정보기능
상기 표 1에서와 같이 비동기 전송모드 통신방식은 물리계층, ATM 계층, ATM 적응계층(AAL: ATM adaptation layer), 상위 프로토콜 계층과 같이 수직적인 구조로 구분되고, AAL 계층은 절단 및 재결합 부계층(SAR: segmentation and reassembly sublayer)과 수렴(CS: convergence sublayer) 부계층으로 구분되며, 물리계층은 물리매체(PM)와 전송수렴(TC: transmission convergence) 부계층으로 다시 구분되게 된다.
또한, 비동기 전송모드 통신방식에서 사용자가 요구하는 서비스는 그 특성에 따라 다음 표 2와 같이 분류될 수 있다.
[표 2]
서비스의 종류 종단간의시간관계 비트율 연결모드 서비스의 예
A종 실시간성 항등 연결성 항등율 영상신호
B종 실시간성 가변 연결성 가변율 영상신호
C종 비실시간성 가변 연결성 연결성 데이터
D종 비실시간성 가변 비연결성 비연결성 데이터
상기 서비스에 대응하는 AAL 프로토콜은 다음 표 3과 같이 AAL 1 에서부터 AAL 5까지로 구분되게 된다.
[표 3]
AAL 형태 대표적인 기능
AAL 1 항등비트율의 A종 서비스를 지원
AAL 2 실시간성, 가변비트율의 B종 서비스를 지원
AAL 3/4 가변비트율의 C종 및 D종 서비스를 지원
AAL 5 AAL 3/4 기능을 간소화하여 고속서비스 지원
상기 표 3에 있어서 AAL 계층은 서비스의 종류에 따라 해당 서비스를 효율적으로 처리해 주기 위해 AAL 1, AAL 2, AAL 3/4, AAL 5와 같이 수평적으로 구분되게 된다.
한편, 일반적으로 AAL 계층의 분할 및 재결합(SAR) 부계층에서는 스케쥴링 테이블(혹은 대역할당 테이블이라고도 한다)을 사용하여 스케쥴링(즉, 대역할당)을 하게 되는데, 상기 스케쥴링 테이블에는 송신할 패킷이 저장된 버퍼들을 기술하기 위한 디스크립터 링을 지시하는 인덱스가 기록되어 각 디스크립터 링에 따른 대역을 할당하도록 되어 있다. 이때 대역할당 테이블의 크기(즉, 대역할당 테이블을 구성하는 엔트리의 수:N)와 전송속도(V bps)가 정해지면 대역할당 테이블의 하나의 엔트리에 해당되는 속도(Cv)가 다음 수학식 1과 같이 정해지게 된다.
[수학식 1]
Figure kpo00001
따라서 전송속도가 100Mbps이고 100개의 엔트리로 구성된 대역할당 테이블의 하나의 엔트리는 1Mbps이다.
그리고 임의의 가상채널에 대한 대역폭 할당은 대역할당 테이블에 가상채널의 인덱스를 기입하므로써 이루어지는데, 상기에서와 같이 하나의 엔트리가 1Mbps일 경우 임의의 가상채널이 5개의 엔트리를 차지한다면 그 가상채널의 대역폭은 5Mbps가 된다.
그런데 이와 같이 엔트리당 단위 대역이 크면 임의의 가상채널에 대역할당을 할 경우에 대역손실(이를 대역 양자화손실이라 한다)이 발생되게 된다. 즉, 가상채널 1에 1.5Mbps를 할당하고, 가상채널 2에 64Kbps를 할당해야 할 경우에 엔트리당 기본 단위가 1Mbps이면 가상채널 1에 2개의 엔트리를 할당해야하고, 가상채널2에 1개의 엔트리를 할당해야 하므로 가상채널 1에서 0.5Mbps의 대역이 손실되고 가상채널2에서 936Kbps의 대역이 손실되게 된다. 따라서 대역손실을 줄이기 위해서는 대역할당 테이블의 크기(N)를 크게 하는 것이 바람직하나 이를 크게 함에 있어 제한이 따르게 된다.
이에 본 발명은 상기한 문제점을 해결하기 위한 것으로, 서브 테이블을 이용하여 대역 할당 테이블을 형성하므로써 대역 양자화 손실을 최소화하면서 가상채널에 대역을 할당할 수 있는 방법을 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 방법은, 호스트시스템의 요구에 따라 적어도 하나 이상의 가상채널들에 대역할당 테이블을 이용하여 대역을 할당한 후 소정의 링크속도로 해당 가상채널의 셀들을 전송하도록 된 ATM 망접속기에 있어서, 엔트리 포인터(41)가 가리키는 메인 테이블의 엔트리를 읽어 오는 단계; 메인 엔트리의 플래그(F) 비트가 가상채널을 나타내면 엔트리의 가상채널 인덱스를 읽어 오는 단계; 메인 엔트리의 플래그(F) 비트가 서브 테이블의 포인터를 나타내면 해당 서브 테이블의 엔트리로부터 가상채널 인덱스를 읽어 오는 단계; 서브 엔트리의 포인터를 증가시키는 단계; 읽어온 가상채널 인덱스의 해당 셀을 서비스하는 단계; 및 메인 엔트리 포인터를 증가시키는 단계로 구성되는 것을 특징으로 한다.
도 1은 일반적인 ATM 프로토콜 참조모델을 도시한 개념도,
도 2는 본 발명이 적용되는 전형적인 ATM 망접속기의 구성을 도시한 블록도,
도 3은 도 2의 ATM 망접속기에서 호스트와 AAL계층간에 송수신처리를 위해 사용되는 데이터구조를 도시한 개략도,
도 4는 도 3에서 송신 디스크립터 링의 예를 도시한 개념도,
도 5는 도 3에서 대역할당 테이블의 예를 도시한 개념도,
도 6은 본 발명의 제1 실시예에 따른 대역할당 테이블의 예를 도시한 개념도,
도 7은 본 발명의 제1 실시예에 따른 순서도,
도 8은 본 발명의 제2 실시예에 따른 대역할당 테이블의 예를 도시한 개념도,
도 9는 본 발명의 제2 실시예에 따른 순서도,
도 10은 본 발명의 제3 실시예에 따른 대역할당 테이블의 예를 도시한 개념도,
도 11은 본 발명의 제3 실시예에 따른 순서도이다.
* 도면의 주요부분에 대한 부호의 설명
10: 호스트시스템11: 호스트 메모리
12: 프로세서13: 버스제어기
20: ATM 망접속기21: AAL처리부
22: SONET/ATM 라인정합부23: 송수신기
30: 입출력버스41,51,61: 엔트리 포인터
42,52,62: 메인 테이블43,44,53,54,55,56,64,66: 서브 테이블
45,46,57: 엔트리 포맷63,65: 서브엔트리 포인터
이하, 본 발명의 바람직한 실시예들을 첨부한 예시도면을 참조하여 상세히 설명한다.
먼저, 본 발명이 적용되기에 적합한 전형적인 ATM 망접속기의 구성 및 동작예를 설명한 후 본 발명에 따른 대역할당 방법의 실시예를 설명하기로 한다.
도 2는 본 발명이 적용되기에 적합한 ATM 망접속기의 예를 도시한 블록도이다. 도 2를 참조하면, 호스트시스템(10)은 ATM 망접속기(20)를 통해 도시되지 않은 ATM 망에 접속되어 상대측 호스트시스템과 ATM방식으로 데이터를 교환하도록 되어 있다.
본 발명의 실시예에서 호스트시스템(10)은 워크스테이션(Workstation)과 같은 컴퓨터로서, 적어도 호스트 메모리(11)와 프로세서(12), 및 버스제어기(13)를 구비하고 있으며 입출력버스(본 발명의 실시예에서는 S버스:30)를 통해 ATM 망접속기(20)와 연결되어 있다. 그리고 호스트시스템의 프로세서(12)에서는 사용자에게 서비스를 제공해주기 위한 응용 프로그램이 최상위에서 수행되고 있고, 응용 프로그램의 요구에 따라 ATM통신기능을 제공해줄 수 있는 망접속기(NIC) 드라이버가 설치되어 있다. 따라서 초기화과정에서 망접속기(NIC) 드라이버가 ATM 통신과 관련된 각종 테이블 및 링들을 셋업 해주고, 응용 프로그램의 요구에 따라 각종 테이블들의 데이터를 업데이트시켜준다.
ATM 망접속기(NIC:20)는 NIC드라이버의 직접적인 제어를 받으면서 응용 프로그램의 요구에 따라 송신할 패킷을 ATM셀로 분할하여 ATM망측으로 송신하고, 수신된 ATM 셀들을 재조립하여 패킷을 형성한 후 응용 프로그램측에 전달한다. 이러한 ATM 망접속기(20)는 통상 호스트시스템의 확장슬롯에 실장되도록 되어 있고, 호스트시스템(10)과 입출력버스(30)를 통해 접속되도록 되어 있다.
이와 같은 ATM 망접속기(20)는 도 2에 도시된 바와 같이, AAL처리부(21), SONET/ATM 라인 정합부(22), 송수신기(23), 제어메모리(25), 이피롬(26) 등으로 구성되어 ATM통신방식의 물리계층, ATM 계층, AAL계층의 기능등을 처리한다. 특히, 본 발명의 실시예에서 ATM 망접속기(NIC)는 ATM 셀들을 동기식광네트웍(SONET: Synchronous Optical NETwork) STS-3c 프레임 포맷(155.52M bps)으로 매핑한 후 광동기식 전송망을 통해 ATM망에 연결되도록 되어 있다.
도 2를 참조하면, AAL처리부(21)는 로칼 메모리 버스(Local memory bus)를 통해 제어 메모리(RAM:25)과 연결되며, 로칼 슬레이브 버스(Local slave bus)를 통해 이피롬(26)과 연결된다. 이때 이피롬(26)은 SONET/ATM 라인정합부(22)와도 로칼버스를 통해 연결된다.
그리고 AAL처리부(21)는 S버스(30)와 접속되어 호스트시스템의 메모리(11)를 직접 억세스할 수 있음과 아울러 제어 메모리(25)를 리드/라이트할 수 있고, 호스트시스템의 프로세서(12)도 입출력버스(30)를 통해 제어 메모리(25)를 직접 억세스하여 리드/라이트할 수 있도록 되어 있다.
호스트시스템(10)에서 운용되는 응용 프로그램이 ATM관련 서비스를 요청하면, 호스트시스템(10)에서 운용되는 NIC드라이버가 그 요청에 따라 ATM 망접속기(20)를 제어하여 ATM관련 서비스를 응용 프로그램에 제공하게 한다. 예컨대, 응용 프로그램이 소정의 메시지 데이터를 호스트 메모리(11)에 저장해 놓고 데이터를 전송해주길 요구하면, NIC 드라이버가 입출력버스(30)를 통해 AAL처리부(21)에 데이터 전송을 요구한다.
AAL처리부(21)는 호스트 메모리(11)에 저장된 메시지를 소정 길이( 48바이트) 단위로 읽어와 AAL 프로토콜 포맷에 맞춰 ATM 셀을 형성한 후 물리계층의 라인 정합부(22)로 내려 보낸다. SONET/ATM 라인정합부(22)는 ATM셀들을 SONET STS-3c 포맷으로 매핑하고, 송수신기(23)는 SONET STS-3c 포맷의 직렬 데이터를 광신호로 변환하여 광케이블을 통해 ATM망측으로 출력한다.
한편, 송수신기(23)를 통해 수신된 데이터는 SONET/ATM 라인정합부(22)에서 ATM 셀로 분리 추출된 후 AAL처리부(21)로 입력된다. AAL 처리부(21)는 수신된 ATM셀들에서 헤더와 유료부하(payload)를 분리한 후 유료부하를 다시 재결합하여 메시지(패킷)를 복원하고, 메세지의 재조립이 완료되면 호스트시스템(10)에 인터럽트로 이를 알린다. 그리고 AAL처리부(21)로부터 재조립완료를 나타내는 인터럽트가 수신되면, 호스트시스템의 NIC드라이버가 소정의 처리절차에 따라 수신된 메시지를 응용 프로그램측에 전달한다.
이와 같이 AAL 처리부(21)에서는 상위계층으로부터 전달된 메시지를 ATM셀들로 분할하여 상대측으로 전송함과 아울러 수신된 ATM셀들을 재조립하여 메시지를 복원하고, 재조립이 완료되면 인터럽트를 통해 호스트시스템의 NIC 드라이버에 이를 알려준다.
이러한 ATM 망접속기(20)에서 상위계층기능을 수행하는 호스트시스템(10)과 AAL처리부(21) 사이에 데이터들이 전달되는 구조를 좀더 자세히 살펴보면 다음과 같다.
호스트시스템(10)과 AAL처리부(20) 사이에 전달되는 데이터 포맷은 도 3에 도시된 바와 같이, 송신과 수신으로 구분되어 호스트 메모리(11)와 제어 메모리(25)에 각각 위치한다. 즉, 호스트 메모리(11)에는 송신시에 사용되는 송신 디스크립터 링과, 송신 완료 링, 및 데이터 버퍼들이 위치함과 아울러, 수신시에 사용되는 데이터 버퍼, 수신 완료 링, 2개의 프리 버퍼 링이 위치한다. NIC의 제어 메모리(25)에는 송신시에 이용되는 대역 할당 테이블과 송신 DMA 상태 테이블이 위치하고, 수신시 사용되는 수신 DMA 상태 테이블이 위치한다.
호스트 메모리(11)에 구현되는 송신 디스크립터 링(TX descriptor rings)은 도 4에 도시된 바와 같이, 255개로 이루어져 255개의 가상채널(Virtual Channel:VC)을 가질 수 있으며, 각 링은 256개의 엔트리를 가지고 있다. 그리고 각 엔트리는 4워드(1워드는 32비트)로 구현되어 송신을 위해 큐잉된 하나의 송신 데이터 버퍼를 가리킨다. 통상적으로, 255개의 모든 송신 디스크립터 링이 사용되지는 않고, 각 링은 필요한 가상채널 수만큼만 사용된다. 예컨대, 제1 송신 디스크립터 링은 음성채널로 사용되고, 제2 송신 디스크립터 링은 비디오 채널로 사용되며, 제3 디스크립터 링은 TCP/IP를 위해 사용될 수 있다.
이때 송신 디스크립터 링의 각 엔트리는 4 워드로 구성되는데, 워드 3은 AAL5의 테일(tail)을 나타내고, 워드 2는 4 바이트의 ATM 헤더를 나타내며, 워드 1은 송신 데이터 버퍼의 시작 위치를 가리키는 버퍼 포인터이고, 워드 0은 제어필드, 패킷 길이, 및 버퍼길이 등을 나타낸다. 워드 0을 좀더 살펴보면, 워드 0의 비트 31은 오운(OWN)비트로서 송신을 위한 패킷이 큐잉되면 호스트시스템에 의해 셋되어 AAL계층이 억세스하도록 하고, 패킷의 송신이 완료되면 리셋되어 호스트시스템이 억세스할 수 있게 한다. 워드 0의 비트 30은 하나의 패킷을 전송하는데 다수개의 버퍼가 사용될 경우에 시작 버퍼를 나타내고, 비트 29는 마지막 버퍼를 나타낸다. 비트 27은 AAL 타입을 나타내고, 비트 26 내지 비트 16은 패킷의 길이를 나타내고, 비트 15 내지 비트 0은 버퍼의 길이를 나타낸다. 이때 버퍼의 최대 크기는 64K 바이트이다. 이와 같이 송신 디스크립터는 전송할 패킷이 있는 호스트 메모리 상의 버퍼들을 나타낸다.
송신 데이터 버퍼들은 송신할 데이터들을 저장하고 있으며, 송신준비가 완료된 후 AAL계층에 의해 송신 버퍼에 저장된 데이터들이 읽혀져 전송된다.
도 3을 참조하면, 송신 완료 링은 256개의 엔트리를 가지고 있으며, 하나의 엔트리는 하나의 패킷이 송신 완료된 것을 나타내는데, 각 엔트리는 4워드로 구성된다. 그리고 4워드중 워드 0의 비트 31은 오운(OWN)비트로서 1로 셋되어 있으면 AAL 계층에서 사용권이 있고, 0으로 리셋되면 호스트가 사용권이 있는 것을 나타낸다. 워드 0의 비트 30 내지 비트 8은 사용되지 않고, 비트7 내지 비트0은 대역할당 테이블의 인덱스를 나타낸다.
수신 프리 버퍼링은 서로 다른 크기의 프리 버퍼들을 가리키기 위한 2개의 링으로 이루어져 있고, 각 링은 256개의 엔트리로 구성되어 있다. 그리고 호스트시스템은 비어 있는 버퍼의 포인터를 각 링에 써놓으며, 초기화 과정에서 버퍼의 크기를 결정한다. 예컨대, 2개의 프리 버퍼 링은 제1 프리 버퍼 링과 제2 프리 버퍼 링으로 구분되어 제1 프리 버퍼 링은 TCP/IP에 기초한 응용을 위한 8K 바이트 크기의 버퍼들을 가리키는데 이용되고, 제2 프리 버퍼 링은 CBR 서비스를 위한 48바이트의 버퍼들을 가리키는데 이용될 수 있다. 따라서 CBR응용을 위해 설정된 가상채널은 제2 프리 버퍼 링에 의해 지시되는 버퍼들을 사용하고, TCP/IP 응용을 위해 설정된 가상채널은 제1 프리 버퍼 링에 의해 지시되는 버퍼들을 사용한다.
이때 각 프리 버퍼 링의 엔트리는 4워드로 이루어지는데, 워드 0의 비트31은 오운(OWN)비트로서 각 프리 버퍼 링의 엔트리가 AAL처리부(21)에 의해 소유될 때는 셋되고, 호스트에 의해 소유될 때는 리셋된다. 그리고 비트 30 내지 비트 28은 사용되지 않고, 비트27 내지 비트0은 버퍼의 시작 포인터를 나타낸다. 초기화과정에서 2개의 프리 버퍼 링에 의해 수신 버퍼들은 최소 48바이트의 크기에서 64K 바이트의 길이까지 16바이트 바운더리로 형성되는데, 하나의 프리 버퍼 링에 의해 지시되는 버퍼들의 크기는 동일하다.
수신 완료 링은 256개의 엔트리로 구성되고, 각 엔트리는 4워드로 이루어지는데, 워드 0은 제어필드, 패킷 길이 등을 나타내기 위해 사용되고, 워드 1은 28비트의 시작 버퍼의 포인터를 나타내고, 워드 2는 4바이트의 ATM 헤더를 나타낸다. 워드0의 비트 31은 오운(OWN)비트로서 셋일 경우에는 AAL처리부(21)에 의해 처리되는 것을 나타내고, 리셋일 경우에는 호스트시스템(10)에 의해 처리되는 것을 나타낸다. 비트30은 패킷 오버 플로워 비트로서 현재 패킷을 처리하는 중에 수신 버퍼에 오버 플로워가 발생되는 것을 나타내고, 비트 29는 CRC 조건 비트로서 AAL5 패킷에서 CRC에러가 발생된 것을 호스트에 알린다. 비트 21 내지 비트 11은 혼잡 셀의 수신을 나타내고, 비트10 내지 비트0은 패킷의 길이를 나타낸다.
또한 수신 완료 링은 처리되어야할 호스트 메모리(11)에 있는 수신된 패킷의 포인터를 포함하고 있고, 호스트시스템은 인터럽트를 수신하면 수신 완료 링을 조사한 후 오운(OWN)비트가 리셋된 엔트리들을 처리한다.
한편, 제어 메모리에는 도 3에 도시된 바와 같이, 대역 할당 테이블, 송신 DMA 상태 테이블, 수신 DMA 상태 테이블이 있다. 이러한 테이블들은 AAL 처리부(21) 및 호스트시스템에 의해 억세스될 수 있다.
대역 할당 테이블은 4800개의 엔트리를 가지고 있는데, 각 엔트리는 1바이트로 이루어진다. 송신 DMA 상태 테이블은 255개의 DMA 엔트리로 구성되고, 각 DMA 엔트리는 8워드로 이루어지며, 수신 DMA 상태 테이블은 수신에 이용되며 1024개의 DMA 엔트리(각 엔트리는 8워드)로 구성된다.
대역 할당 테이블은 도 5에 도시된 바와 같이, 각 8비트 엔트리에 0부터 255까지의 인덱스를 각각 할당하므로써 255개의 송신 디스크립터 링에 대해 대역을 할당한다. 이때 "0"은 무효 셀이 전송되는 것을 나타낸다. 이러한 대역 할당 테이블은 초기화 과정에서 설정된다. 그리고 대역 할당 테이블은 송신 DMA 상태 테이블을 가리키는 포인터가 포함되어 있으며, AAL처리부(21)는 초기화 과정에서 정해진 크기의 테이블을 순차적으로 억세스하여 테이블의 인덱스가 가리키는 송신 디스크립터 링의 데이터를 전송한다.
예컨대, 도 5에서와 같이 송신 테이블에 '123', '12', '16',...'9'가 기록되어 있으면 이에 따라 123 송신 디스크립터 링의 엔트리가 지시하는 버퍼의 데이터를 송신하고, 이어서 12 송신 디스크립터 링의 엔트리가 지시하는 버퍼의 데이터를 송신하며 동일한 방식으로 대역할당 테이블의 인덱스가 지시하는 송신 디스크립터 링의 엔트리를 처리한다.
이때 대역 할당 테이블의 한 개 엔트리에 할당되는 대역폭(전송속도)은 앞서 설명한 바와 같이 물리계층의 전송속도와 테이블의 크기에 의해 수학식 1로 정해지는데, 예컨대 물리계층의 전송속도가 155Mbps 이고, 4800개의 엔트리를 전부 사용한다면 엔트리 한 개의 전송속도는 약 32Kbps이다. 따라서 제1 응용에 이용되는 가상채널이 320 Kbps를 요구하고, 제1 송신 디스크립터 링에 의해 패킷이 저장된 데이터 버퍼를 가리키도록 한다면 10개의 엔트리에 "1"을 기입하므로써 제1 응용에 대역을 할당한다. 제2 응용에 이용되는 가상채널이 64Kbps를 요구하고 제2 송신 디스크립터 링에 의해 패킷이 저장된 데이터 버퍼를 가리키도록 한다면 2개의 엔트리에 "1"을 기입하므로써 제2 응용에 대역을 할당한다.
송신 DMA 상태 테이블은 255 개의 대역할당 DMA 엔트리로 이루어지고, 각 DMA 엔트리는 8워드로 구성되어 분할될 송신버퍼를 나타낸다. DMA엔트리를 구성하는 8워드중에서 워드0, 워드1, 워드2, 및 워드 7은 송신 디스크립터 링으로부터 그대로 복사된 것으로 워드0은 제어필드, 패킷길이, 버퍼길이를 나타내고, 워드1은 현재버퍼의 포인터를 나타내며, 워드2는 4바이트 ATM헤더를 나타내고, 워드7은 AAL5의 테일을 나타낸다. 워드3은 호스트에 의해서만 프로그램되는 영역으로서 워드3의 비트31은 BWG_ON 비트로서 "1"이면 대역 할당 테이블에 기초하여 데이터를 전송하고, "0"이면 송신 데이터가 전송되지 않고 널(NULL) 셀이 전송된다. 워드 4에서 비트 31 내지 비트 12는 송신 디스크립터 링 포인터로서 해당 송신 디스크립터 링의 현재 엔트리의 위치를 가리키는 DVMA 어드레스이다. 워드6은 AAL5 패킷의 CRC 계산을 위해 사용되는 부분이다.
수신 DMA 상태 테이블은 수신을 위해 사용되는 테이블로서 1024개의 수신 DMA 엔트리로 이루어지고, 각 DMA 엔트리는 8워드로 구성된다. 워드0의 비트31은 DMA채널이 활성화될 경우에 셋되고, 비트21 내지 비트11은 Explicit Forward Congestion Notification(EFCN) 셀 카운터로 사용되고, 비트10 내지 비트0은 패킷의 길이를 나타낸다. 워드1은 현재 버퍼 포인터를 나타내고, 워드2는 시작 버퍼 포인터를 나타내며, 워드3은 AAL 패킷 길이를 나타낸다. 워드4의 VC_ON비트는 패킷 재조립중에 온되는데, 리셋되어 있으면 AAL처리부(21)는 해당 VC의 수신 셀을 버린다. 버퍼 타입 비트는 해당 버퍼가 제1 프리버퍼 링 혹은 제2 프리버퍼 링에 속하는지를 나타낸다.
이와 같은 데이터 포맷을 통해 패킷이 송수신되는 것을 구체적으로 설명하면 다음과 같다.
송신 버퍼는 호스트 메모리(11)상의 임의의 위치에 형성될 수 있는데, 그 크기는 최대 64K 바이트이다. 호스트시스템(10)으로부터 전송될 패킷이 준비되면 ATM 망접속기(20)는 순서대로 각 패킷에 포함된 데이터들을 송신한다. 수신된 패킷은 호스트 메모리(11)에 있는 하나의 수신 버퍼에 저장된다. 이때 버퍼의 크기는 두 종류가 있으며 제1 프리버퍼 링 혹은 제2 프리버퍼 링에 의해 지시된다.
먼저, 호스트의 응용 프로그램이 송신할 데이터를 송신 데이터 버퍼에 저장하고, 송신 디스크립터 링에 이 버퍼들의 포인터를 기록하여 송신 디스크립터 링을 설정한다. 패킷에 대한 호스트의 처리가 완료되면 송신 디스크립터 링의 해당 엔트리의 오운(OWN)비트를 셋하여 호스트시스템(10)에서 AAL처리부(21)로 해당 패킷의 처리를 넘긴다.
AAL처리부(21)는 대역 할당 테이블을 순차적으로 순환하면서 대역 할당 테이블 엔트리의 인덱스가 가리키는 DMA상태 테이블에 따라 데이터 버퍼에 저장된 데이터를 처리한다. 이때 DMA 상태 테이블에는 송신 디스크립터 링의 해당 엔트리 데이터가 카피(COPY)되어 있다. 따라서 AAL처리부(21)는 DMA 상태 테이블의 포인터가 지시하는 송신 데이터 버퍼로부터 48바이트씩의 데이터를 읽어와 송신한다.
이어 48바이트의 유료부하가 송신되면 AAL 처리부(21)는 내부 레지스터를 업데이트(update)한 후, 대역 할당 테이블의 다음 엔트리가 지시하는 DMA 상태 테이블의 엔트리를 처리한다. 이와 같이 AAL 처리부(21)는 대역 할당 테이블을 순환하면서 엔트리의 인덱스에 따라 계속 데이터를 송신하다가 다시 처리중인 DMA 상태 테이블로 돌아오면 송신 디스크립터 링을 억세스하지 않고, DMA 상태 테이블만 억세스하여 처리한다. 이때 DMA 상태 테이블은 다음에 전송할 셀을 가리키는 버퍼의 포인터로 업데이트되어 있다.
이와 같이 데이터를 전송하여 하나의 데이터 버퍼에 대한 전송이 완료되면 AAL처리부(21)는 송신 디스크립터 링의 다음 엔트리의 데이터를 송신 DMA 상태 테이블의 엔트리에 복사하여 제2 버퍼에 대해 처리를 계속하게 된다. 즉, 송신 디스크립터 링의 하나의 엔트리는 하나의 송신 버퍼를 가리키고 있는데, 만일 송신할 패킷이 5개의 버퍼를 요구한다면 해당 패킷을 처리하기 위해서 5개의 송신 디스크립터 링 엔트리가 필요하게 된다. 이때 제1 버퍼가 48바이트 단위로 끝나지 않고 16바이트의 데이터가 남아 있을 경우에는 AAL처리부(21)가 제1 버퍼의 16바이트를 처리한 후 DMA 상태 테이블을 업데이트하여 제2 버퍼로부터 나머지 32바이트의 데이터를 읽어 48바이트 단위로 처리한다.
이와 같이 하여 하나의 패킷을 형성하는 마지막 버퍼에 대한 처리가 완료되어 패킷의 전송이 종료되면 엔드오브패킷(EOP) 처리절차를 수행한다. 예컨대, AAL5 타입에 따른 전송일 경우에 EOP 처리절차는 패드를 채우고, AAL5 테일을 형성하는 것이다.
이와 같이 하나의 패킷에 대한 전송이 완료되면 해당 패킷에 할당된 송신 디스크립터 링 엔트리의 오운(OWN)비트를 클리어시키고, 송신 완료 링 엔트리를 형성한 후 호스트에 인터럽트를 발생한다. 이때 송신 완료 링 엔트리에는 오운(OWN)비트와 대역할당 인덱스가 기록되어 있는데, 이 대역할당 인덱스는 호스트가 처리된 패킷의 메모리를 다시 이용할 수 있도록 하는데 사용된다.
한편, 수신과정을 살펴보면, 수신된 ATM 셀의 10비트 VCI에 따라 수신 DMA 테이블록의 하나의 엔트리가 할당된다. 그리고 수신 DMA 테이블의 하나의 엔트리는 2개의 수신 프리 버퍼 링 중의 하나의 엔트리와 각각 일대일로 대응된다.
만일 수신된 ATM 셀이 해당 VCI의 첫 번째 셀일 경우 DMA 엔트리는 수신된 셀을 저장하기 위하여 어떤 프리 버퍼가 사용될 것인지를 가리킨다. 예컨대, VCI에 의해 지시된 DMA 엔트리에 할당될 버퍼가 제1 프리버퍼 링 혹은 제2 프리 버퍼링에 속하는지를 판단한 후, 해당 프리버퍼 링의 첫 번째 디스크립터를 억세스하여 프리버퍼의 어드레스를 DMA 엔트리에 복사한다. 이어서 첫 번째 수신된 셀을 해당 DMA엔트리가 지시하는 버퍼에 저장한다.
이어 VCI가 동일한 다음 셀이 수신될 경우에는 수신 프리버퍼 링을 억세스하지 않고 DMA 엔트리가 지시하는 버퍼에 48바이트를 저장한다. 이때 DMA 엔트리는 업데이트되어 다음에 저장할 어드레스를 가리키고 있다.
만일 수신된 ATM셀의 VCI가 이전 셀의 VCI와 다를 경우에는 해당 DMA 엔트리를 억세스한 다음 수신 프리버퍼 링으로부터 프리버퍼의 시작 어드레스를 구한 후 해당 버퍼에 ATM 셀을 저장한다.
이와 같은 동작이 반복되어 어느 한 패킷에 대한 수신이 종료되면 수신 완료 링에 이를 기록한 후 인터럽트를 발생하여 호스트에 알린다. 이때 수신 디스크립터의 오운(OWN)비트와 수신 완료 링 엔트리의 오운(OWN)비트를 리셋하여 호스트시스템에 억세스 권한을 넘긴다.
이상에서 설명한 ATM 망접속기는 호스트 메모리에 송신 및 수신버퍼를 구현하였으나 이러한 송수신 버퍼는 망접속기 내부의 메모리에 구현될 수도 있고, 송수신 제어를 위한 제어 데이터 포맷도 매우 다양한 형태가 사용될 수 있다.
이상의 설명에 의해 ATM 망접속기의 동작을 이해한 후, 본 발명에 따른 실시예들을 각각 설명한다.
제1 실시예
도 6은 본 발명의 제1실시예를 나타내는 개념도이고, 도 7은 제1실시예의 순서를 도시한 순서도이다.
도 6을 참조하면, 본 발명에 따라 가상채널에 대역을 할당하는 대역할당 테이블은 하나의 메인 테이블(42)과, 이 메인 테이블의 엔트리에 의해 지시되는 적어도 하나 이상의 서브 테이블(43,44)로 이루어진다. 그리고 메인 테이블의 엔트리는 도 6의 참조번호 45와 같이 플래그(F)에 의해 엔트리에 저장된 내용이 가상채널인지 혹은 서브 테이블의 엔트리를 지시하는 포인터인지를 구분한다. 예컨대, 플래그(F)비트가 "0"이면 메인 테이블(42)의 엔트리에 저장된 인덱스는 가상채널(즉, 송신 디스크립터 링)을 나타내고, "1"이면 서브 테이블의 엔트리를 나타내는 포인터를 나타낸다. 서브 테이블의 엔트리는 도 6의 참조번호와 46과 같이 가상채널이 기록되어 있다. 이때 메인 테이블의 엔트리들은 엔트리 포인터(41)에 의해 지시된다.
이와 같이 본 발명에 따라 서브 테이블을 사용할 경우에 대역할당시 각 엔트리의 대역폭은 다음과 같이 보다 세분된다.
메인 테이블(42)의 엔트리 수를 N, 제1 서브테이블(43)의 엔트리 수를 N1, 제2 서브테이블(44)의 엔트리 수를 N2라 하고, 물리 링크의 속도를 !이라 하면 하나의 메인 테이블 엔트리의 대역폭은
Figure kpo00002
이고, 제1 서브 테이블의 대역폭은
Figure kpo00003
이며, 제2 서브 테이블의 대역폭은
Figure kpo00004
이다. 따라서 서브 테이블의 엔트리의 대역폭은 메인 테이블의 대역폭보다 훨씬 작아 보다 세밀하게 대역을 할당할 수 있다.
제1 실시예에 따라 가상채널들에 대해 각각 대역을 할당하는 순서는 도 7에 도시된 바와 같이, 엔트리 포인터(41)가 가리키는 메인 테이블의 엔트리를 읽어 오는 단계(100); 메인 엔트리의 플래그(F) 비트가 가상채널을 나타내면 엔트리의 가상채널 인덱스를 읽어 오는 단계(101,102); 메인 엔트리의 플래그(F) 비트가 서브 테이블의 포인터를 나타내면 해당 서브 테이블의 엔트리로부터 가상채널 인덱스를 읽어 오는 단계(101,102,103); 서브 엔트리의 포인터를 1증가시키는 단계(104); 읽어온 가상채널 인덱스의 해당 셀을 서비스하는 단계(105); 및 메인 엔트리 포인터를 1증가시키는 단계(106)로 구성된다.
도 7을 참조하면, AAL처리부(21)가 호스트시스템으로부터 데이터 전송을 요구받으면 대역할당 테이블의 각 엔트리를 순환하면서 엔트리에 의해 지시되는 가상채널의 데이터를 전송한다. 이때 본 발명에 따라 대역할당 테이블은 도 6과 같이 메인테이블(42)과 서브 테이블들(43,44)로 이루어져 있다.
메인 테이블의 엔트리를 가리키는 엔트리 포인터(41)가 지시하는 메인 테이블의 엔트리를 읽어와 플래그(F) 비트를 확인한다. 플래그(F) 비트가 '0'이면 메인 엔트리의 가상채널 인덱스를 읽어와 해당 가상채널의 데이터를 전송한 후 엔트리 포인터의 값을 1 증가시켜 다음 메인 엔트리를 읽어와 상기 처리절차를 반복한다.
플래그(F)비트가 '1'이면 서브 테이블의 엔트리 포인터가 지시하는 서브 테이블의 엔트리를 읽어와 그 엔트리에 기록된 가상채널의 데이터를 전송함과 아울러 서브 테이블의 엔트리를 가리키는 포인터의 값을 1증가시킨다. 이어서 메인 엔트리 포인터값을 1증가시켜 다음 메인 엔트리에 대한 처리절차를 반복한다.
제2 실시예
도 8은 본 발명의 제2 실시예를 나타내는 개념도이고, 도 9는 제2 실시예의 순서를 도시한 순서도이다. 제2 실시예는 제1 실시예의 서브 테이블 개념을 더욱 확장하여 서브 테이블이 또 다른 서브 테이블을 지시할 수 있도록 한 것으로 일종의 계층화된 서브 테이블 구조를 형성한다. 이와 같이 서브 테이블이 낮은 계층의 다른 서브 테이블을 다시 지시할 경우 낮은 계층으로 갈수록 대역폭이 더욱 세분된다.
도 8을 참조하면, 본 발명에 따라 가상채널에 대역을 할당하는 대역할당 테이블은 하나의 메인 테이블(52)과, 이 메인 테이블의 엔트리에 의해 지시되는 적어도 하나 이상의 서브 테이블(53,55), 및 이 서브 테이블의 엔트리에 의해 다시 지시되는 서브 테이블(54,56)들로 이루어진다. 그리고 메인 테이블의 엔트리 및 다른 서브 테이블을 지시하는 서브 테이블의 엔트리는 도 8의 참조번호 57과 같이 플래그(F)에 의해 엔트리에 저장된 내용이 가상채널인지 혹은 다른 서브 테이블을 지시하는 포인터인지를 구분한다. 예컨대, 플래그비트가 "0"이면 메인 테이블의 엔트리에 저장된 인덱스는 가상채널(즉, 송신 디스크립터 링)을 나타내고, "1"이면 서브 테이블 혹은 다른 서브 테이블을 나타내는 포인터를 나타낸다.
이와 같이 본 발명에 따라 다수의 연결된 서브 테이블을 사용할 경우에 대역할당시 각 엔트리의 대역폭은 다음과 같이 보다 세분된다.
메인 테이블의 엔트리 수를 N, 제1-1 서브테이블의 엔트리 수를 N11, 제1-2 서브테이블의 엔트리 수를 N12, 제2-1 서브테이블의 엔트리 수를 N21, 제2-2 서브테이블의 엔트리 수를 N22라 하고, 물리 링크의 속도를 !이라 하면 하나의 메인 테이블 엔트리의 대역폭은
Figure kpo00005
이고, 제1-1 서브 테이블의 대역폭은
Figure kpo00006
, 제1-2 서브 테이블의 대역폭은
Figure kpo00007
, 제2-1 서브 테이블의 대역폭은
Figure kpo00008
, 제2-2 서브 테이블의 대역폭은
Figure kpo00009
이다. 이와 같이 계층화된 서브 테이블의 엔트리의 대역폭은 메인 테이블의 대역폭보다 훨씬 작아 보다 세밀하게 대역을 할당할 수 있다.
제2 실시예에 따라 가상채널들에 대해 각각 대역을 할당하는 순서는 도 9에 도시된 바와 같이, 메인 엔트리 포인터가 가리키는 메인 테이블의 엔트리를 읽어 오는 단계(200); 메인 엔트리의 플래그(F) 비트가 가상채널을 나타내면 메인 엔트리의 가상채널 인덱스를 읽어 오는 단계(206); 메인 엔트리의 플래그(F) 비트가 서브 테이블의 포인터를 나타내면 해당 서브 테이블의 엔트리를 읽어 오는 단계(201,202); 서브 테이블의 엔트리 플래그를 판단하여 다른 서브 테이블을 지시하고 있으면 상기 서브 테이블의 엔트리를 읽어와 플래그를 판단하는 단계를 반복하고, 서브 엔트리 플래그가 가상채널 인덱스를 나타내면 해당 가상채널 인덱스를 읽어오는 단계(203,204); 각 서브 엔트리 포인터를 1증가시키는 단계(205); 읽어온 가상채널 인덱스의 해당 셀을 서비스하는 단계(207); 및 메인 엔트리 포인터를 1증가시키는 단계(208)로 구성된다.
도 9를 참조하면, 메인 엔트리 포인터가 지시하는 메인 테이블의 엔트리를 읽어와 플래그 비트가 '0'이면 메인 엔트리의 가상채널의 해당 셀을 전송한 후 메인 엔트리 포이터의 값을 1증가시킨다. 플래그 비트가 '1'이면 엔트리의 포인터가 가리키는 서브 테이블의 엔트리를 읽어와 플래그 비트를 판단한다.
만일, 서브 테이블의 플래그(F) 비트가 '1'이면 다시 서브 테이블의 엔트리 포인터가 지시하는 다른 서브 테이블의 엔트리를 읽어와 플래그 판정단계를 반복한다. 만일 서브 테이블의 플래그 비트가 '0' 이면 해당 가상채널의 셀을 전송하고, 각 서브 테이블의 포인터값을 1 증가시킨다. 이어 메인 엔트리 포인터값을 증가시켜 다음 엔트리에 대한 처리를 반복한다.
제3 실시예
도 10은 본 발명의 제3 실시예를 나타내는 개념도이고, 도 11은 제3 실시예의 순서를 도시한 순서도이다.
도 10을 참조하면, 본 발명에 따라 가상채널에 대역을 할당하는 대역할당 테이블은 하나의 메인 테이블(62)과, 이 메인 테이블의 엔트리에 의해 지시되는 적어도 하나 이상의 서브 테이블(64,66)로 이루어진다. 이때 제1 실시예와는 달리 각 서브 테이블은 억세스하기 위한 서브 테이블 포인터(63,65)를 각각 가지고 있고, 메인 테이블의 엔트리에는 해당 서브 테이블의 포인터(63,65)를 억세스하기 위한 포인터가 기록되어 있다.
이와 같이 제3 실시예에서는 서브 테이블의 엔트리가 메인 테이블 엔트리의 포인터에 의해 직접 억세스되지 않고, 해당 서브 테이블 포인터에 의해 지시되므로써 각 서브 테이블은 메인 테이블의 모든 엔트리에 의해 공유될 수 있다. 즉, 제1 실시예에서는 하나의 서브 테이블은 특정한 메인 테이블 엔트리에 의해서만 억세스되었기 때문에 다른 메인 테이블 엔트리는 그 서브 테이블을 억세스하지 못하였고, 따라서 대역할당이 유연하지 못하였으나 제3 실시예에서는 서브 테이블이 메인 테이블의 모든 엔트리에 의해 억세스될 수 있으므로 대역할당이 유연하게 된다.
제3 실시예에 따라 가상채널들에 대해 각각 대역을 할당하는 순서는 도 11에 도시된 바와 같이, 메인 엔트리 포인터가 가리키는 메인 테이블의 엔트리를 읽어 오는 단계(300); 메인 엔트리의 플래그(F) 비트가 가상채널을 나타내면 엔트리의 가상채널 인덱스를 읽어 오는 단계(302); 메인 엔트리의 플래그(F) 비트가 서브 테이블 포인터를 나타내면, 해당 서브 테이블 포인터가 가리키는 엔트리로부터 가상채널 인덱스를 읽어 오는 단계(303); 서브 테이블 포인터의 포인터를 1증가시키는 단계(304); 읽어온 가상채널 인덱스의 해당 셀을 서비스하는 단계(305); 및 메인 엔트리 포인터(306)를 1 증가시키는 단계(306)로 구성된다.
도 11을 참조하면, 메인 엔트리 포인터가 가리키는 메인 엔트리를 읽어와 플래그 비트를 판단한다. 플래그비트가 0이면 메인 엔트리가 지시하는 가상채널인덱스의 셀을 전송한 후 메인 엔트리 포인터 값을 1증가시킨다.
메인 엔트리의 플래그 비트가 1이면 포인터가 가리키는 서브 테이블 포인터를 읽어와 그 포인터가 지시하는 서브 테이블의 엔트리를 읽어온다. 이때 제3 실시예에서는 메인 엔트리의 포인터가 임의의 서브 테이블 엔트리를 가리킬 수 있으므로 제1 실시예에서와 같이 서브 테이블 할당이 고정되지 않는다.
이어 서브 테이블 엔트리가 지시하는 가상채널의 셀을 전송함과 아울러 서브 테이블 엔트리의 포인터를 증가시킨다. 그리고 메인 테이블의 엔트리 포인터값을 1증가시켜 다음 엔트리에 대한 처리를 계속하게 한다.
이와 같이 서브 테이블을 이용하여 대역 양자화 손실을 줄이고자하는 본 발명의 기술적 사상은 상기 실시예들에 국한되지 않고, 당업계에서 통상의 지식을 가진자라 다양한 다른 실시예의 형태로 구현할 수 있을 것이다. 예컨대, 서브 테이블을 구현함에 있어서 널리 알려진 연결 리스트를 이용할 수도 있으며, 기타 다양한 자료구조를 이용할 수 있을 것이다.
이상에서 살펴본 바와 같이 본 발명에 따라 가상채널에 대역을 할당함에 있어( 이를 가상채널을 스케줄링한다고도 한다) 보다 세분된 속도단위까지 할당할 수 있는 서브 테이블을 사용하므로써 대역 양자화 손실을 감소시켜 보다 효율적으로 대역을 할당할 수 있다.

Claims (3)

  1. 호스트시스템의 요구에 따라 적어도 하나 이상의 가상채널들에 대역할당 테이블을 이용하여 대역을 할당한 후 소정의 링크속도로 해당 가상채널의 셀들을 전송하도록 된 ATM 망접속기에 있어서,
    엔트리 포인터(41)가 가리키는 메인 테이블의 엔트리를 읽어 오는 단계(100);
    메인 엔트리의 플래그(F) 비트가 가상채널을 나타내면 엔트리의 가상채널 인덱스를 읽어 오는 단계(101,102);
    메인 엔트리의 플래그(F) 비트가 서브 테이블의 포인터를 나타내면 해당 서브 테이블의 엔트리로부터 가상채널 인덱스를 읽어 오는 단계(101,102,103);
    서브 엔트리의 포인터를 증가시키는 단계(104);
    읽어온 가상채널 인덱스의 해당 셀을 서비스하는 단계(105); 및
    메인 엔트리 포인터를 증가시키는 단계(106)로 구성되는 ATM 망접속기에서 서브 테이블을 이용하여 가상채널의 대역을 할당하는 방법.
  2. 제1항에 있어서, 상기 서브 테이블의 엔트리가 다른 서브 테이블을 가리키는 포인터를 가질 수 있어 일련의 서브 테이블들이 계층화된 구조로 구성된 것을 특징으로 하는 ATM 망접속기에서 서브 테이블을 이용하여 가상채널의 대역을 할당하는 방법.
  3. 제1항에 있어서, 상기 서브 테이블들이 해당 서브 테이블의 엔트리를 지시하기 위한 각각의 서브 테이블 포인터를 구비하여 상기 메인 테이블의 엔트리가 서브 테이블 포인터를 지시할 수 있도록 한 것을 특징으로 하는 ATM 망접속기에서 서브 테이블을 이용하여 가상채널의 대역을 할당하는 방법.
KR1019970011848A 1997-03-31 1997-03-31 Atm 망접속기에서 서브 테이블을 이용하여 가상채널의 대역을 할당하는 방법 KR100236035B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1019970011848A KR100236035B1 (ko) 1997-03-31 1997-03-31 Atm 망접속기에서 서브 테이블을 이용하여 가상채널의 대역을 할당하는 방법
GB9806825A GB2325587B (en) 1997-03-31 1998-03-30 Bandwidth allocating method by using sub-tables in an atm network interface card
JP8691798A JP3992823B2 (ja) 1997-03-31 1998-03-31 帯域幅割当方法
US09/052,412 US6175572B1 (en) 1997-03-31 1998-03-31 Bandwith allocating method by using sub-tables in an ATM network interface card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970011848A KR100236035B1 (ko) 1997-03-31 1997-03-31 Atm 망접속기에서 서브 테이블을 이용하여 가상채널의 대역을 할당하는 방법

Publications (2)

Publication Number Publication Date
KR19980075606A KR19980075606A (ko) 1998-11-16
KR100236035B1 true KR100236035B1 (ko) 1999-12-15

Family

ID=19501587

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970011848A KR100236035B1 (ko) 1997-03-31 1997-03-31 Atm 망접속기에서 서브 테이블을 이용하여 가상채널의 대역을 할당하는 방법

Country Status (4)

Country Link
US (1) US6175572B1 (ko)
JP (1) JP3992823B2 (ko)
KR (1) KR100236035B1 (ko)
GB (1) GB2325587B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3211880B2 (ja) * 1998-05-18 2001-09-25 日本電気株式会社 帯域制御方式
US6813249B1 (en) * 1999-02-16 2004-11-02 Efficient Networks, Inc. System and method for prefetching data
US6628668B1 (en) * 1999-03-16 2003-09-30 Fujitsu Network Communications, Inc. Crosspoint switch bandwidth allocation management
WO2000076152A1 (en) * 1999-06-03 2000-12-14 Fujitsu Network Communications, Inc. Method and system for transmitting traffic in a virtual tunnel of a transmission line
KR100470331B1 (ko) * 2001-12-29 2005-02-05 엘지전자 주식회사 Aal0와 aal1 sar 계층에서 셀 송신 스케쥴링장치 및 방법
KR100507806B1 (ko) * 2003-01-29 2005-08-17 삼성전자주식회사 링구조 비동기전송 모드방식의 시스템에 있어서 노드그룹을 이용한 보호 절체 장치 및 그 방법
US7587287B2 (en) * 2003-04-04 2009-09-08 Abbott Diabetes Care Inc. Method and system for transferring analyte test data
US9402544B2 (en) 2009-02-03 2016-08-02 Abbott Diabetes Care Inc. Analyte sensor and apparatus for insertion of the sensor
US20100228600A1 (en) * 2009-03-09 2010-09-09 Eric Lempel System and method for sponsorship recognition
EP4245220A3 (en) 2010-03-24 2023-12-20 Abbott Diabetes Care, Inc. Medical device inserters

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE133524T1 (de) * 1991-02-13 1996-02-15 Bell Telephone Mfg Bandbreitezuteilung für permanente virtuelle verbindungen
CA2104753C (en) * 1992-10-29 1999-02-16 Kotikalapudi Sriram Bandwidth allocation, transmission scheduling, and congestion avoidance in broadband atm networks
EP0690596B1 (en) * 1994-06-28 2002-05-15 Hewlett-Packard Company, A Delaware Corporation Method and apparatus for scheduling the transmission of cells of guaranteed-bandwidth virtual channels
US5734825A (en) * 1994-07-18 1998-03-31 Digital Equipment Corporation Traffic control system having distributed rate calculation and link by link flow control
US5867663A (en) * 1995-07-19 1999-02-02 Fujitsu Network Communications, Inc. Method and system for controlling network service parameters in a cell based communications network
US5712851A (en) * 1995-12-28 1998-01-27 Lucent Technologies Inc. Adaptive time slot scheduling apparatus and method utilizing a linked list mechanism
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
US5966381A (en) * 1996-03-20 1999-10-12 Sun Microsystems, Inc. Method and apparatus for explicit rate flow control in ATM networks
US8316130B2 (en) * 2004-12-22 2012-11-20 International Business Machines Corporation System, method and computer program product for provisioning of resources and service environments

Also Published As

Publication number Publication date
JPH10285188A (ja) 1998-10-23
JP3992823B2 (ja) 2007-10-17
GB2325587B (en) 2002-05-15
KR19980075606A (ko) 1998-11-16
GB9806825D0 (en) 1998-05-27
GB2325587A (en) 1998-11-25
US6175572B1 (en) 2001-01-16

Similar Documents

Publication Publication Date Title
US5917828A (en) ATM reassembly controller and method
US5796735A (en) System and method for transmission rate control in a segmentation and reassembly (SAR) circuit under ATM protocol
US6084880A (en) Asynchronous transfer mode adapter for desktop applications
US5751951A (en) Network interface
US5459723A (en) Packet management device for fast-packet network
US5448564A (en) Modular architecture for fast-packet network
US6466997B1 (en) Method and apparatus for performing TX raw cell status report frequency and interrupt frequency mitigation in a network node
KR100236035B1 (ko) Atm 망접속기에서 서브 테이블을 이용하여 가상채널의 대역을 할당하는 방법
US5922046A (en) Method and apparatus for avoiding control reads in a network node
EP0993218A1 (en) Data transfer
US6661801B1 (en) Data transfer
US6731097B1 (en) Reception of multiple data messages over a transmission medium with conversion into suitable form
US6804698B1 (en) Data transfer
US6970457B1 (en) Data transmission apparatus for transmitting ATM data streams
KR100236036B1 (ko) Atm 망접속기에서 수신 셀 폐기방법
US6614793B1 (en) Device for segmentation and transmission of messages stored as blocks of variable length
KR100236037B1 (ko) Atm 망접속기에서 수신 셀 폐기방법
US6212567B1 (en) Method and apparatus for performing raw cell status report frequency mitigation on receive in a network node
US6771647B1 (en) Data transfer
US6801535B1 (en) Data reception apparatus for receiving ATM data streams
KR19980075620A (ko) Atm 망접속기에서 재조립된 패킷들을 처리하는 방법
US6621822B1 (en) Data stream transfer apparatus for receiving a data stream and transmitting data frames at predetermined intervals
KR19980040452A (ko) 비동기전송모드 통신방식에서 데이터 전송플로우 제어방법
KR19980019792A (ko) 비동기전송모드 통신방식에서 브릿지 포맷 데이터 전송방법
KR19980040451A (ko) 비동기전송모드 통신방식에서 주가상채널을 이용한 고속데이터 수신방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090901

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee