KR20030050069A - 에이티엠 스위치 시스템의 트레인 패킷 구성 방법 - Google Patents
에이티엠 스위치 시스템의 트레인 패킷 구성 방법 Download PDFInfo
- Publication number
- KR20030050069A KR20030050069A KR1020010080453A KR20010080453A KR20030050069A KR 20030050069 A KR20030050069 A KR 20030050069A KR 1020010080453 A KR1020010080453 A KR 1020010080453A KR 20010080453 A KR20010080453 A KR 20010080453A KR 20030050069 A KR20030050069 A KR 20030050069A
- Authority
- KR
- South Korea
- Prior art keywords
- cell
- multicast
- train
- unicast
- queue
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/50—Circuit switching systems, i.e. systems in which the path is physically permanent during the communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1515—Non-blocking multistage, e.g. Clos
- H04L49/153—ATM switching fabrics having parallel switch planes
- H04L49/1538—Cell slicing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3081—ATM peripheral units, e.g. policing, insertion or extraction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5681—Buffer or queue management
- H04L2012/5683—Buffer or queue management for avoiding head of line blocking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1515—Non-blocking multistage, e.g. Clos
- H04L49/1523—Parallel switch fabric planes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 SPTP(Sequential-to-Parallel Train Packet) 방식을 채용한 ATM 스위치 시스템에서 유니캐스트 셀을 이용하여 트레인 패킷을 구성할 수 있도록 하는 ATM 스위치 시스템의 트레인 패킷 구성 방법에 관한 것이다.
종래에는 뒤에 오는 셀이 같은 커넥션 ID에 속한 셀이 아니면 더미 셀을 사용하여 레벨 0 트레인 패킷을 구성하고, 스위치 플레인 개수에 대응하는 레벨 0 트레인 패킷을 생성할 수 없을 경우에는 더미 레벨 0 트레인 패킷을 생성·패딩하므로, 전체적인 스위치 처리율을 저하시키는 문제점이 있다.
본 발명은, 멀티캐스트 트래픽 처리를 위해 트레인 패킷을 구성할 때, 더미 셀이 요구되는 시점에서 2차 스케줄러를 통해 선택된 유니캐스트 큐로부터 유효한 셀을 읽어 내어 더미 셀 없이 유효한 셀로만 트레인 패킷을 생성함으로써, 스위치의 처리율을 향상시킬 수 있게 된다.
Description
본 발명은 ATM(Asynchronous Transfer Mode) 스위치 시스템의 트레인 패킷 구성 방법에 관한 것으로서, 특히 SPTP(Sequential-to-Parallel Train Packet) 방식을 채용한 ATM 스위치 시스템에서 유니캐스트 셀을 이용하여 트레인 패킷을 구성할 수 있도록 하는 ATM 스위치 시스템의 트레인 패킷 구성 방법에 관한 것이다.
인터넷의 빠른 보급에 따라 보다 큰 가입자 어플리케이션이 발생하고, 이를 지원하기 위해 스위치가 대용량화되고 있다. 이와 같이, 스위치 포트의 대역폭이 증가하고 단위 스위치가 대용량화 됨에 있어서, 스위치에서의 메모리 억세스 시간, 스위칭 프로세싱 시간 등 하드웨적인 병목 현상이 가장 큰 장애 요인으로 지적되고있다.
전술한 문제점을 해결하기 위해 SPTP 방식이 제안되었는 데, SPTP 방식은 스위치의 스위칭 프로세싱 빈도수를 줄이기 의해 다수 개의 셀을 하나로 묶어 스위칭하는 방식으로, SPTP 방식을 채용한 ATM 스위치는 스위칭 프로세싱 빈도수를 줄이기 위해 다수 개의 셀을 묶어 하나의 단위로 스위칭하는 순차열 패킷(Sequential Train Packet) 기술과 스위칭 데이터율을 향상시키기 위한 비트 슬라이싱(Bit-Slicing) 기술을 함께 사용한다.
도 1은 종래 SPTP 방식을 채용한 ATM 스위치 시스템의 구성을 보인 도로, 도 1에 도시하는 바와 같이, N개의 스위치 플레인(40) 전단에 위치한 SPP(Sequential-to-Parallel Packet) 맵퍼(10)와 트레인 변환부(Train Formmatter)(20)는 동일한 스위치 플레인 라우팅 정보를 갖는 입력 셀을 다수 개 묶어 하나의 트레인 패킷을 생성하고, SPP 맵퍼(10)와 트레인 변환부(20)를 통해 생성된 트레인 패킷은 슬라이싱부(Slicing Unit)(30)를 통과하면서 N개의 서브 트레인 패킷으로 나뉘어져 각 스위치 플레인(40)에 입력된다. 따라서, 트레인 패킷이 M개의 셀로 이루어져 있다면, 각 서브 트레인 패킷은 M/N 개의 셀로 구성된다.
여기서, 비트 슬라이싱 방식으로 운용되는 N개의 스위치 플레인(40)은 항상 동기되어 동작하므로, 동일한 라우팅 정보를 갖는 N개의 서브 트레인 패킷은 동일 위상에서 동일한 스위치 플레인 출력 포트로 출력된다.
전술한 바와 같이, 동일한 스위치 플레인 출력 포트로 출력된 N개의 서브 트레인 패킷은 스위치 플레인 후단에 위치한 병합부(Merging Unit)(50)로 입력되는데, 병합부(50)는 N개의 스위치 플레인(40)으로부터 입력되는 서브 트레인 패킷을 묶어 원래의 트레인 패킷으로 구성하고, 트레인 역변환부(Train De-formatter)(60)는 병합부(50)에서 구성된 트레인 패킷을 원래의 셀들로 해체하여 각 셀을 해당 출력 포트(Destination Port)로 출력한다.
전술한 바와 같이 동작하는 SPTP 방식을 채용한 ATM 스위치 시스템에서 유니캐스트(Unicast) 트래픽이나 브로드캐스트(Broadcast) 트래픽을 스위칭할 경우에는, 스위치 플래인 출력 포트로 구별하여 유니캐스트 트래픽 큐와 브로드캐스트 트래픽 큐가 관리되고, 스케쥴링을 통해 유니캐스트 트래픽 큐나 브로드캐스트 트래픽 큐가 선택되면 해당 큐에서 M개의 셀을 읽어내어 트레인 패킷을 구성하여 스위칭한다.
한편, 멀티캐스트(Multicast) 트래픽을 스위칭할 경우에는, 스위치 플레인(40)에서의 출력 포트 특성에 따라 멀티캐스트 큐가 관리된다. 즉, 멀티캐스트 셀의 출력 포트가 하나의 스위치 플레인 출력 포트를 가질 경우, 즉, 스위치 플레인(40)에서 복사할 필요가 없는 경우에는 해당 멀티캐스트 셀이 그룹화된 멀티캐스트 트래픽(Grouped Multicast Traffic)으로 분류되어 각 스위치 플레인 출력 포트별로 관리되는 큐로 큐잉되는 반면에, 멀티캐스트 셀의 출력 포트가 다수 개의 스위치 플레인 출력 포트를 가질 경우, 즉, 스위치 플레인(40)에서 복사가 필요한 경우에는 해당 멀티캐스트 셀이 일반 멀티캐스트 트래픽(General Multicast Traffic)으로 분류되어 하나의 큐안에 모두 수용된다.
전술한 바와 같이, 그룹화된 멀티캐스트 트래픽으로 분류된 멀티캐스트 셀이각 스위치 플레인 출력 포트별로 관리되는 큐로 큐잉되면, 동일한 스위치 플레인 출력 포트를 갖는 멀티캐스트 셀을 해당 큐에서 M개 읽어내어 트레인 패킷을 구성하여 스위칭하는 데, 스위치 플레인(40) 입장에서는 유니캐스트 트래픽이나 브로드캐스트 트래픽과 동일한 과정을 거쳐 스위칭 기능을 수행하고, 병합부(50)/트레인 역변환부(60)에서는 각 멀티캐스트 셀의 해당 출력 포트로 셀을 복사하여 출력한다.
반면, 일반 멀티캐스트 트래픽으로 분류된 멀티캐스트 셀이 하나의 큐로 큐잉되면, 각 스위치 플레인(40)에서는 서브 트레인 패킷을 복사하고, 병합부(50)/트레인 역변환부(60)에서 다시 각 멀티캐스트 셀의 해당 출력 포트별로 셀을 복사하여 출력한다.
전술한, 그룹화된 멀티캐스트 트래픽이나 일반 멀티캐스트 트래픽의 경우 해당 큐에 큐잉된 셀이 M개보다 적을 경우에는 아이들한 셀을 패딩하여 M개의 셀로 구성된 트레인 패킷을 구성한다. 여기서, 패팅된 셀은 병합부(50)/트레인 역변환부(60)에서 삭제된다.
이상에서 살펴본 바와 같이, 종래 SPTP 방식을 채용한 ATM 스위치 시스템에서 큐에 큐잉된 셀이 셀이 M개보다 적을 경우에는, M개의 셀로 구성된 트레인 패킷을 구성하기 위해 부족한 숫자 만큼의 아이들한 셀을 패딩하게 됨에 따라, 패딩된 셀의 갯수 만큼의 스위치 대역폭 낭비가 초래되므로, 멀티캐스트 트래픽이 적을 경우에는 스위치 처리율이 크게 저하되는 문제점이 있다.
한편, 도 2는 종래 5 단계로 구성된 SPTP 방식을 채용한 ATM 스위치 시스템의 구성을 보인 도로, 최대 4개의 네트워크 프로세서 카드가 연결될 수 있는 0번째 단계의 입력 인터포져(Ingress Interposer)(110)에서는 동일한 스위치 플레인 라우팅 정보를 갖는 입력 셀을 다수개 묶어 하나의 트레인 패킷을 생성하고, 입력 인터포져(110)에서 생성된 트레인 패킷은 1번째 단계의 스위치(XeC(1, *);이하, '1단계 스위치'라 한다)(120)를 통과하면서 N개의 서브 트레인 패킷으로 나누어진다.
전술한 바와 같이, 1단계 스위치(XeC(1, *))(120)에서 나누어진 서브 트레인 패킷은 2번째 단계의 스위치(XeC(2, *);이하, '스위치 플레인'라 한다)(130)로 입력되며, 1단계 스위치(XeC(1, *))(120)로부터 서브 트레인 패킷을 입력받은 스위치 플레인(XeC(2, *))(130)에서는 동일한 라우팅 정보를 갖는 N개의 서브 트레인 패킷을 동일 위상에서 동일한 스위치 플레인 출력 포트로 출력한다.
스위치 플레인(XeC(2, *))(130)에서 출력된 서브 트레인 패킷은 3번째 단계의 스위치(XeC(3, *);이하, '3단계 스위치'라 한다)(140)에서 병합되어 원래의 트레인 패킷을 구성되고, 4번째 단계의 출력 인터포져(Egress Interposer)(150)는 트레인 패킷을 원래의 셀들로 해체하여 각 셀을 해당 출력 포트로 출력한다.
전술한, 5 단계로 구성된 SPTP 방식을 채용한 ATM 스위치 시스템으로 입력되는 셀은 스위치 플레인 출력 포트 수와 그 특성에 따라 4 가지의 트래픽(유니캐스트 트래픽, 그룹화된 멀티캐스트 트래픽, 일반 멀티캐스트 트래픽, 브로드캐스트 트래픽)으로 분류되어 큐가 관리되고, 큐에 저장된 셀은 다시 두 단계의 트레인 패킷(레벨 0 트레인 패킷, 레벨 1 트레인 패킷)으로 만들어져 스위칭된다.
즉, 입력 인터포져(110)는 입력되는 셀의 출력 포트 특성에 따라 유니캐스트큐(64 큐:64개의 출력 인터포져), 그룹화된 멀티캐스트 큐(8 큐:8개의 스위치 플레인 출력 포트), 일반 멀티캐스트 큐(1 큐), 브로드캐스트 큐(1 큐) 가운데 하나의 큐에 셀을 저장한다.
이후, 입력 인터포져(110)는 도 3a 및 도 3b에 도시하는 트래픽별 레벨 0 트레인 패킷 생성 알고리즘을 통해 큐에 저장되어 있는 셀로 레벨 0 트레인 패킷을 구성하는 데, 레벨 0 트레인 패킷은 두 개의 셀로 구성된다.
전술한 바와 같이, 입력 인터포져(110)에서 레벨 0 트레인 패킷을 구성할 때, 멀티캐스트 트래픽{그룹화된 멀티캐스트 트래픽(도 3a) 또는 일반 멀티캐스트 트래픽(도 3b)}에 대해서는 같은 커넥션 ID에 속한 셀이 아니면{큐에 저장되어 있는 첫번째 셀의 B 비트(큐에 저장되어 있는 다음 셀이 앞의 셀과 같은 커넥션 ID를 갖는 지를 나타내는 비트로, 비트 값이 '0'로 설정되어 있으면 같은 커넥션 ID를 갖고, 비트 값이 '1'로 설정되어 있으면 서로 다른 커넥션 ID를 갖는다) 값이 '1'인 경우}, 하나의 셀만 큐에서 읽어 내고, 다른 셀은 더미 셀(Dummy Cell)을 사용하여 레벨 0 트레인 패킷을 구성한다.
레벨 0 트레인 패킷을 구성한 후에는 레벨 0 트레인 패킷으로 레벨 1 트레인 패킷을 구성하는 데, 도 2에 도시하는 바와 같이, 본 실시예에서는 스위치 플레인(XeC(2, *))(130)이 총 8개 존재하므로, 입력 인터포져(110)는 8개의 레벨 0 트레인 패킷으로 레벨 1 트레인 패킷을 구성하여 1단계 스위치(XeC(1, *))(120)로 전송한다. 여기서, 도 4에 도시하는 레벨 1 트레인 패킷 생성을 위한 큐 선택 알고리즘을 수행하는 스케쥴러에 의해 선택된 큐에 저장되어 있는 셀을 이용하여 도3a 및 도 3b의 트래픽별 레벨 0 트레인 패킷 생성 알고리즘을 통해 생성된 레벨 0 트레인 패킷이 8개보다 모자를 경우에는 더미 레벨 0 트레인 패킷을 생성하여 레벨 1 트레인 패킷을 생성한다.
전술한 바와 같이, 입력 인터포져(110)로부터 레벨 1 트레인 패킷을 입력받은 1단계 스위치(XeC(1, *))(120)는 입력된 레벨 1 트레인 패킷을 8개의 서브 트레인 패킷(각각 한 개의 레벨 0 트레인 패킷으로 구성)으로 비트 슬라이싱을 수행하여 스위치 플레인(XeC(2, *))(130)으로 패러렐하게 전송하고, 스위치 플레인(XeC(2, *))(130)은 동일 위상에서 각 서브 트레인 패킷을 3단계 스위치(XeC(3, *))(140)로 전송한다.
3단계 스위치(XeC(3, *))(140)는 8개의 서브 트레인 패킷을 이용하여 원래대로 하나의 레벨 1 트레인 패킷을 생성하고, 각 레벨 0 트레인 패킷의 출력 인터포져(150)로 레벨 0 트레인 패킷을 스위칭하고, 출력 인터포져(150)는 레벨 0 트레인 패킷 내의 셀의 출력 포트에 연결되어 있는 네트워크 프로세서 카드에 셀을 전송함으로써 스위칭 동작을 종료한다.
이상에서 살펴본 바와 같이 동작하는 5 단계로 구성된 SPTP 방식을 채용한 ATM 스위치 시스템에서, 그룹화된 멀티캐스트 트래픽을 스위칭하고자 하는 경우에, 도 5에 도시하는 바와 같이, 그룹화된 멀티캐스트 큐에 B 비트가 '1'로 설정되어 있고, S2RT(Stage 2 Routing Tag;스위치 플레인에서 사용하는 서브 트레인 패킷 라우팅 정보) 정보는 동일하며, S3RT(Stage 3 Routing Tag;3단계 스위치에서 사용하는 레벨 0 트레인 패킷 라우팅 정보) 정보는 상이한 셀이 4개 저장되어 있다고 가정했을 때, 입력 인터포져(110)에서 생성되어 하나의 레벨 1 트레인 패킷을 구성하는 8개의 레벨 0 트레인 패킷 가운데 4개는 더미 레벨 0 트레인 패킷으로 이루어져 있고, 유효한 4개의 레벨 0 트레인 패킷도 각각 1개의 유효한 셀만을 포함하고 있다.
따라서, 최대 16 셀{8 레벨 0 트레인 패킷 ×2셀(또는 레벨 0 트레인 패킷)}의 스위칭이 가능한 ATM 스위치 시스템에서 4개의 셀만이 스위칭 되어 3단계 스위치(XeC(3, *))(140)에서 해당 출력 인터포져(150)로 레벨 0 트레인 패킷이 복사된다.
한편, 일반 멀티캐스트 트래픽을 스위칭하고자 하는 경우에, 도 6에 도시하는 바와 같이, 일반 멀티캐스트 큐에 B 비트가 '1'로 설정되어 있고, S2RT 정보와 S3RT 정보가 상이한 셀이 4개 저장되어 있다고 가정했을 때, 입력 인터포져(110)에서 생성되어 하나의 레벨 1 트레인 패킷을 구성하는 8개의 레벨 0 트레인 패킷 가운데 4개는 더미 레벨 0 트레인 패킷으로 이루어져 있고, 유효한 4개의 레벨 0 트레인 패킷도 각각 1개의 유효한 셀만을 포함하고 있다.
전술한 바와 같이, 입력 인터포져(110)에서 생성된 레벨 1 트레인 패킷은 1단계 스위치(XeC(1, *))(120)에서 서브 트레인 패킷으로 분해되어 스위치 플레인(XeC(2, *))(130)으로 전송되고, 스위치 플레인(XeC(2, *))(130)에서 서브 트레인 패킷에 대한 복사가 일어난다. 여기서, 레벨 1 트레인 패킷을 구성하는 8개의 레벨 0 트레인 패킷의 스위치 플레인 출력 포트가 서로 다르므로, 1단계 스위치(XeC(1, *))(120)는 각각의 레벨 0 트레인 패킷에 대한 스위치 플레인 출력 포트정보를 논리합하여 스위치 플레인(XeC(2, *))(130)에서의 라우팅 정보로 생성하여 스위치 플레인(XeC(2, *))(130)으로 트레인 패킷을 전송한다.
이후, 3단계 스위치(XeC(3, *))(140)에서 해당 출력 인터포져(150)로 레벨 0 트레인 패킷이 복사된다.
이상에서 살펴본 바와 같이, 종래 5 단계로 구성된 SPTP 방식을 채용한 ATM 스위치 시스템에서는 스위칭 효율성을 고려하여 두 개의 셀을 이용하여 레벨 0 트레인 패킷을 구성하는 데, 멀티캐스트 트래픽(그룹화된 멀티캐스트 트래픽 또는 일반 멀티캐스트 트래픽)에 대해서는 같은 커넥션 ID에 속한 셀이 아니면 해당 큐에서 하나의 셀만 읽어 내고, 더미 셀을 사용하여 레벨 0 트레인 패킷을 구성한다. 또한, K개(=스위치 플레인의 개수)의 레벨 0 트레인 패킷을 생성할 수 없을 경우에는 더미 레벨 0 트레인 패킷을 생성·패딩하여 레벨 1 트레인 패킷을 생성한다.
그러나, 실제로는 같은 커넥션 ID를 갖는 멀티캐스트 셀이 연속해서 스위치에 입력될 가능성이 낮고, 모든 멀티캐스트 큐에 레벨 1 트레인 패킷 생성 사이클마다 충분한 양(K개)의 멀티캐스트 셀이 저장되어 있지 않게 되는 경우가 대부분이므로, 더미 셀이나 더미 레벨 0 트레인 패킷이 포함되는 경우가 대부분이다.
전술한 바와 같이, 종래 5 단계로 구성된 SPTP 방식을 채용한 ATM 스위치 시스템에서는 레벨 0 트레인 패킷이나 레벨 1 트레인 패킷을 생성할 경우 더미 셀을 사용해야 하는 경우가 빈번히 발생하여 전체적인 스위치 처리율을 저하시키는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위해 안출된 것으로서, 멀티캐스트 트래픽에 대해서 트레인 패킷을 구성할 때, 더미 셀이 요구되는 시점에서 유니캐스트 큐로부터 유효한 셀을 읽어 내어 더미 셀없이 트레인 패킷을 구성할 수 있도록 하는 ATM 스위치 시스템의 트레인 패킷 구성 방법을 제공함에 그 목적이 있다.
도 1은 종래 SPTP 방식을 채용한 ATM 스위치 시스템의 구성을 보인 도.
도 2는 종래 5 단계로 구성된 SPTP 방식을 채용한 ATM 스위치 시스템의 구성을 보인 도.
도 3a 및 도 3b는 종래 트래픽별 레벨 0 패킷 트레인 생성 과정을 설명하기 위한 플로우챠트.
도 4는 종래 레벨 1 트레인 패킷 생성을 위한 큐 선택 방법을 설명하기 위한 도.
도 5는 종래 그룹화된 멀티캐스트 트래픽에 대한 스위치 내 라우팅 과정을 설명하기 위한 도.
도 6은 종래 일반 멀티캐스트 트래픽에 대한 스위치 내 라우팅 과정을 설명하기 위한 도.
도 7a 및 도 7b는 본 발명에 따른 ATM 스위치 시스템의 트레인 패킷 구성 방법을 설명하기 위한 플로우챠트.
도 8은 본 발명에 따른 그룹화된 멀티캐스트 트래픽에 대한 스위치 내 라우팅 과정을 설명하기 위한 도.
도 9는 본 발명에 따른 일반 멀티캐스트 트래픽에 대한 스위치 내 라우팅 과정을 설명하기 위한 도.
*** 도면의 주요 부분에 대한 부호의 설명 ***
110. 입력 인터포져,120. 1단계 스위치(XeC(1, *)),
130. 스위치 플레인(XeC(2, *)),140. 3단계 스위치(XeC(3, *)),
150. 출력 인터포져
전술한 목적을 달성하기 위한 본 발명에 따른 ATM 스위치 시스템의 트레인 패킷 구성 방법은, 멀티캐스트 큐가 서비스 큐로 선택되면, 레벨 0 트레인 패킷 구성을 위해 유니캐스트 셀이 필요한 지를 판단하는 과정과; 상기 판단결과 유니캐스트 셀이 필요한 경우에는 상기 멀티캐스트 큐에 저장된 멀티캐스트 셀의 3단계 스위치 라우팅 정보를 참조하여 레벨 0 트레인 패킷 구성에 필요한 유니캐스트 셀이 저장되어 있는 유니캐스트 큐를 선택하는 과정과; 상기 선택된 유니캐스트 큐로부터 유니캐스트 셀을 읽어내고, 상기 읽어낸 유니캐스트 셀을 이용하여 레벨 0 트레인 패킷을 구성하는 과정을 포함하여 이루어진다.
여기서, 레벨 0 트레인 패킷 구성을 위해 유니캐스트 셀이 필요한 지에 대한 여부는, 상기 선택된 멀티캐스트 큐의 첫 머리에 저장되어 있는 멀티캐스트 셀과 2단계 스위치 라우팅 정보와 3단계 스위치 라우팅 정보가 같은 셀이 그 뒤에 저장되어 있는 지에 따라 결정되는 것을 특징으로 한다.
그리고, 레벨 0 트레인 패킷 구성을 위해 유니캐스트 셀이 필요한 지에 대한여부는, 상기 선택된 멀티캐스트 큐에 저장되어 있는 멀티캐스트 셀을 이용하여 레벨 1 트레인 패킷 구성에 필요한 레벨 0 트레인 패킷을 채울 수 있는 지에 따라 결정되는 것을 특징으로 한다.
그리고, 상기 서비스 큐로 선택된 멀티캐스트 큐가 그룹화된 멀티캐스트 큐인 경우에는, 상기 선택된 그룹화된 멀티캐스트 큐의 첫 머리에 저장되어 있는 그룹화된 멀티캐스트 셀을 읽어오는 과정과; 상기 읽어온 그룹화된 멀티캐스트 셀과 2단계 스위치 라우팅 정보와 3단계 스위치 라우팅 정보가 같은 셀이 그 뒤에 저장되어 있는 지를 판단하는 과정과; 상기 판단결과 상기 읽어온 그룹화된 멀티캐스트 셀과 2단계 스위치 라우팅 정보와 3단계 스위치 라우팅 정보가 같은 셀이 그 뒤에 저장되어 있지 않은 경우에는, 상기 읽어온 그룹화된 멀티캐스트 셀의 3단계 스위치 라우팅 정보에 의거하여 상기 읽어온 그룹화된 멀티캐스트 셀이 출력되는 출력 인터포져에 대응하는 다수 개의 유니캐스트 큐 중에서 하나의 유니캐스트 큐를 선택하는 과정과; 상기 선택된 유니캐스트 큐로부터 유니캐스트 셀 하나를 읽어오는 과정과; 상기 읽어온 그룹화된 멀티캐스트 셀과 유니캐스트 셀로 레벨 0 트레인 패킷을 생성하고, 레벨 0 트레인 패킷의 수를 1 증가시키는 과정과; 상기 레벨 0 트레인 패킷의 수가 스위치 플레인의 수와 동일한 지를 판단하는 과정과; 상기 판단결과 레벨 0 트레인 패킷의 수가 스위치 플래인의 수와 동일한 경우에는 상기 생성된 레벨 0 트레인 패킷을 이용하여 레벨 1 트레인 패킷을 구성하는 과정을 더 포함하여 이루어지는 것을 특징으로 한다.
여기서, 상기 판단결과 레벨 0 트레인 패킷의 수가 스위치 플레인의 수와 동일하지 않은 경우에는, 상기 선택된 그룹화된 멀티캐스트 큐가 비어 있는 지를 판단하는 과정과; 상기 판단결과 선택된 그룹화된 멀태캐스트 큐가 비어 있는 경우에는, 상기 선택된 그룹화된 멀티캐스트 큐로부터 읽어온 그룹화된 멀티캐스트 셀들의 3단계 스위치 라우팅 정보 중에서 하나를 선택하는 과정과; 상기 선택된 3단계 스위치 라우팅 정보에 의거하여 셀이 출력되는 출력 인터포져에 대응하는 다수 개의 유니캐스트 큐 중에서 두 개의 유니캐스트 큐를 선택하는 과정과; 상기 선택된 두 개의 유니캐스트 큐로부터 유니캐스트 셀을 하나씩 읽어오는 과정과; 상기 읽어온 두 개의 유니캐스트 셀로 레벨 0 트레인 패킷을 생성하고, 레벨 0 트레인 패킷의 수를 1증가시키는 과정을 더 포함하여 이루어지는 것을 특징으로 한다.
한편, 상기 서비스 큐로 선택된 멀티캐스트 큐가 일반 멀티캐스트 큐인 경우에는, 상기 선택된 일반 멀티캐스트 큐의 첫 머리에 저장되어 있는 일반 멀티캐스트 셀을 읽어오는 과정과; 상기 읽어온 일반 멀티캐스트 셀과 2단계 스위치 라우팅 정보와 3단계 스위치 라우팅 정보가 같은 셀이 그 뒤에 저장되어 있는 지를 판단하는 과정과; 상기 판단결과 상기 읽어온 일반 멀티캐스트 셀과 2단계 스위치 라우팅 정보와 3단계 스위치 라우팅 정보가 같은 셀이 그 뒤에 저장되어 있지 않은 경우에는, 상기 읽어온 일반 멀티캐스트 셀의 3단계 스위치 라우팅 정보에 의거하여 상기 읽어온 일반 멀티캐스트 셀이 출력되는 출력 인터포져에 대응하는 다수 개의 유니캐스트 큐 중에서 하나의 유니캐스트 큐를 선택하는 과정과; 상기 선택된 유니캐스트 큐로부터 유니캐스트 셀 하나를 읽어오는 과정과; 상기 읽어온 일반 멀티캐스트 셀과 유니캐스트 셀로 레벨 0 트레인 패킷을 생성하고, 레벨 0 트레인 패킷의 수를1 증가시키는 과정과; 상기 레벨 0 트레인 패킷의 수가 스위치 플레인의 수와 동일한 지를 판단하는 과정과; 상기 판단결과 레벨 0 트레인 패킷의 수가 스위치 플래인의 수와 동일한 경우에는 상기 생성된 레벨 0 트레인 패킷을 이용하여 레벨 1 트레인 패킷을 구성하는 과정을 더 포함하여 이루어지는 것을 특징으로 한다.
여기서, 상기 판단결과 레벨 0 트레인 패킷의 수가 스위치 플레인의 수와 동일하지 않은 경우에는, 상기 선택된 일반 멀티캐스트 큐가 비어 있는 지를 판단하는 과정과; 상기 판단결과 선택된 일반 멀태캐스트 큐가 비어 있는 경우에는, 상기 선택된 일반 멀티캐스트 큐로부터 읽어온 일반 멀티캐스트 셀들의 3단계 스위치 라우팅 정보 중에서 하나를 선택하는 과정과; 상기 선택된 3단계 스위치 라우팅 정보에 의거하여 셀이 출력되는 출력 인터포져에 대응하는 다수 개의 유니캐스트 큐 중에서 두 개의 유니캐스트 큐를 선택하는 과정과; 상기 선택된 두 개의 유니캐스트 큐로부터 유니캐스트 셀을 하나씩 읽어오는 과정과; 상기 읽어온 두 개의 유니캐스트 셀로 레벨 0 트레인 패킷을 생성하고, 레벨 0 트레인 패킷의 수를 1증가시키는 과정을 더 포함하여 이루어지는 것을 특징으로 한다.
이하에서는 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 따른 ATM 스위치 시스템의 트레인 패킷 구성 방법에 대해서 상세하게 설명한다.
설명에 앞서, 본 발명에 따른 트레인 패킷 구성 방법이 적용되는 ATM 스위치 시스템의 구성은 도 2에 도시하는 5 단계로 구성된 SPTP 방식을 채용한 ATM 스위치 시스템과 유사하므로, 이하에서는 도 2를 참조하여 본 발명에 따른 ATM 스위치 시스템의 트레인 패킷 구성 방법에 대해서 설명을 진행하기로 한다.
그리고, 본 발명의 ATM 스위치 시스템의 트레인 패킷 구성 방법에 따라 생성되는 레벨 0 트레인 패킷은 최대 두 개의 유효 셀로 구성되는 데, 두 셀은 모두 같은 스위치 플레인 라우팅 정보(S2RT)와 3단계 스위치 라우팅 정보를 갖는다.
도 7a 및 도 7b는 본 발명에 따른 ATM 스위치 시스템의 트레인 패킷 구성 방법을 설명하기 위한 플로우챠트이다.
우선, 1차 스케줄러를 통해 서비스될 큐가 선택되면, 그룹화된 멀티캐스트 큐가 서비스 큐로 선택되었는 지를 판단한다(S100, S102).
상기한 과정 S102의 판단결과 그룹화된 멀티캐스트 큐가 서비스 큐로 선택된 경우에는, 레벨 0 트레인 패킷의 수를 나타내는 파라미터 i를 0으로 설정하고, 상기한 과정 S100에서 선택된 그룹화된 멀티캐스트 큐로부터 새로운 HOL(Head of Line) 멀티캐스트 셀을 읽어온다(S104, S106).
이후, 상기한 과정 S106에서 읽어온 그룹화된 멀티캐스트 셀의 B 비트 값이 '0'으로 설정되어 있는 지, 즉, 스위치 플레인 라우팅 정보와 3단계 스위치 라우팅 정보가 같은 셀이 뒤에 저장되어 있는 지를 판단한다(S108).
상기한 과정 S108의 판단결과 상기한 과정 S106에서 읽어온 그룹화된 멀티캐스트 셀의 B 비트 값이 '0'으로 설정되어 있지 않은 경우, 즉, 스위치 플레인 라우팅 정보와 3단계 스위치 라우팅 정보가 같은 셀이 뒤에 저장되어 있지 않은 경우에는, 상기한 과정 S100에서 선택된 그룹화된 멀티캐스트 큐에서 읽어낸 그룹화된 멀티캐스트 셀의 3단계 스위치 라우팅 정보(S3RT)를 이용하여, 읽어낸 그룹화된 멀티캐스트 셀이 출력되는 팬아웃 포트(Fan-out Port)에 대응하는 다수 개의 유니캐스트 큐 중에서 라운드 로빈 방식으로 하나의 유니캐스트 큐를 선택하고, 선택된 유니캐스트 큐로부터 유니캐스트 셀 하나를 읽어온다(S110, S112). 예를 들어, 상기한 과정 S100에서 선택된 그룹화된 멀티캐스트 큐에서 읽어낸 그룹화된 멀티캐스트 셀의 스위치 플레인 정보(S2RT)가 01000000이고, 3단계 스위치 라우팅 정보(S3RT)가 01000001인 경우에는 읽어낸 그룹화된 멀티캐스트 셀이 출력되는 출력 인터포져에 대응하는 유니캐스트 큐가 #48, #54이므로, 이 중에서 라운드 로빈 방식으로 하나의 유니캐스트 큐를 선택하고, 선택된 유니캐스트 큐로부터 유니캐스트 셀 하나를 읽어온다.
이후에는, 상기한 과정 S106에서 읽어온 그룹화된 멀티캐스트 셀과 상기한 과정 S112에서 읽어온 유니캐스트 셀로 레벨 0 트레인 패킷을 생성하고(S114), 레벨 0 트레인 패킷의 수를 나타내는 파라미터 i를 1 증가시킨다(S116).
상기한 과정 S114에서 생성된 레벨 0 트레인 패킷과 같이, 레벨 0 트레인 패킷에 유니캐스트 셀이 포함되어 있는 경우에는 레벨 0 트레인 패킷 헤더 내에 저장되는 스위치 라우팅 필드에 스위치 플레인 라우팅 정보(S2RT)와, 3단계 스위치 라우팅 정보(S3RT)와, 출력 인터포져 라우팅 정보(S4RT)가 저장되어야 하는 데, 스위치 플레인 라우팅 정보(S2RT)와, 3단계 스위치 라우팅 정보(S3RT)는 유니캐스트 셀과 함께 레벨 0 트레인 패킷을 생성한 그룹화된 멀티캐스트 셀의 스위치 플레인 라우팅 정보(S2RT) 및 3단계 스위치 라우팅 정보(S3RT)와 동일하게 지정하고, 출력 인터포져 라우팅 정보(S4RT)는 포함된 유니캐스트 셀의 셀 헤더에 저장되어 있는셀 라우팅 정보를 이용하여 지정한다.
이후, 상기한 과정 S116에서 증가된 파라미터 i의 값이 스위치 플레인(XeC(2, *))(130)의 개수(K개)와 동일한 지를 판단한다(S118).
상기한 과정 S118의 판단결과 파라미터 i의 값이 스위치 플레인(XeC(2, *))(130)의 개수(K개)와 동일하지 않은 경우에는, 상기한 과정 S100에서 선택된 그룹화된 멀티캐스트 큐가 비어 있는 지를 판단한다(S120).
상기한 과정 S120의 판단결과 상기한 과정 S100에서 선택된 그룹화된 멀티캐스트 큐가 비어있지 않은 경우에는, 상기한 과정 S106로 진행하여 상기한 과정 S100에서 선택된 그룹화된 멀티캐스트 큐로부터 새로운 HOL 멀티캐스트 셀을 읽어온다.
한편, 상기한 과정 S120의 판단결과 상기한 과정 S100에서 선택된 그룹화된 멀티캐스트 큐가 비어있는 경우에는, 상기한 과정 S100에서 선택된 그룹화된 멀티캐스트 큐에서 읽어낸 그룹화된 멀티캐스트 셀들의 3단계 스위치 라우팅 정보(S3RT) 중에서 하나를 선택하고, 선택된 3단계 스위치 라우팅 정보(S3RT)를 이용하여 그룹화된 멀티캐스트 셀이 출력되는 출력 인터포져(150)에 대응하는 다수 개의 유니캐스트 큐 중에서 라운드 로빈 방식으로 두 개의 유니캐스트 큐를 선택하고, 선택된 두 개의 유니캐스트 큐로부터 유니캐스트 셀을 하나씩 읽어온다(S122, S124). 예를 들어, 상기한 과정 S100에서 선택된 그룹화된 멀티캐스트 큐에서 읽어낸 일반 멀티캐스트 셀들의 스위칭 플레인 라우팅 정보(S2RT)가 모두 01000000이고, 3단계 스위치 라우팅 정보(S3RT)가 각각 01000001(<-첫번째 셀의 S3RT),00000010(<-두번째 셀의 S3RT), 10000100(<-세번째 셀의 S3RT), 00101000(<-네번째 셀의 S3RT)인 경우에, 유니캐스트 셀로만 구성되는 레벨 0 트레인 패킷이 마지막 셀(네번째 셀)을 따라가도록 설정되어 있다면, 네번째 그룹화된 멀티캐스트 셀이 출력되는 출력 인터포져에 대응하는 유니캐스트 큐가 #50, #52이므로, 이 중에서 라운드 로빈 방식으로 두 개의 유니캐스트 큐를 선택하고, 선택된 두 개의 유니캐스트 큐로부터 유니캐스트 셀을 하나씩 읽어온다.
이후에는, 상기한 과정 S124에서 읽어온 두 개의 유니캐스트 셀로 레벨 0 트레인 패킷을 생성하고(S126), 상기한 과정 S116으로 진행하여 레벨 0 트레인 패킷의 수를 나타내는 파라미터 i를 1 증가시킨다.
여기서, 상기한 과정 S100에서 선택된 그룹화된 멀티캐스트 큐와 같은 그룹에 속해 있는 8개의 유니캐스트 큐에, 셀이 존재하지 않는 경우에는 두 개의 더미 셀로 레벨 0 트레인 패킷을 생성하고, 레벨 0 트레인 패킷의 수를 나타내는 파라미터 i를 1 증가시킨다. 예를 들어, 도 8에 도시하는 바와 같이, #48~#55 유니캐스트 큐에 레벨 0 트레인 패킷을 구성할 유니캐스트 셀이 더 이상 존재하지 않을 경우에는 두 개의 더미 셀로 레벨 0 트레인 패킷을 4개 더 생성하여, 8개의 레벨 0 트레인 패킷을 생성한다.
한편, 상기한 과정 S108의 판단결과 상기한 과정 S106에서 읽어온 그룹화된 멀티캐스트 셀의 B 비트 값이 '0'으로 설정되어 있는 경우, 즉, 스위치 플레인 라우팅 정보와 3단계 스위치 라우팅 정보가 같은 셀이 뒤에 저장되어 있는 경우에는, 상기한 과정 S100에서 선택된 그룹화된 멀티캐스트 큐로부터 그룹화된 멀티캐스트셀을 하나 더 읽어온다(S128).
이후에는 상기한 과정 S106에서 읽어온 그룹화된 멀티캐스트 셀과 상기한 과정 S128에서 읽어온 그룹화된 멀티캐스트 셀을 이용하여 레벨 0 트레인 패킷을 생성하고(S130), 상기한 과정 S116으로 진행하여 레벨 0 트레인 패킷의 수를 나타내는 파라미터 i를 1 증가시킨다.
이상에서 살펴본 바와 같이, 그룹화된 멀티캐스트 트래픽은 입력 인터포져(110)에서 상기한 과정 S102 내지 과정 S130을 통해 K개의 레벨 0 트레인 패킷으로 구성되고, K개의 레벨 0 트레인 패킷은 다시 레벨 1 트레인 패킷으로 다시 구성되는 데, 입력 인터포져(110)에서 구성된 레벨 1 트레인 패킷은 도 8에 도시하는 바와 같이, 1단계 스위치(XeC(1, *))(120)로 입력된다.
1단계 스위치(XeC(1, *))(120)에서는 입력된 레벨 1 트레인 패킷을 서브 트레인 패킷으로 나누어 스위치 플레인(XeC(2, *))(130)으로 입력하고, 스위치 플레인(XeC(2, *))(130)에서는 레벨 0 트레인 패킷 헤더에 포함되어 있는 스위치 플레인 라우팅 정보(S2RT)를 이용하여 3단계 스위치(XeC(3, *))(140)로 서브 트레인 패킷을 전송한다.
3단계 스위치(XeC(3, *))(140)에서는 레벨 0 트레인 패킷 헤더에 포함되어 있는 3단계 스위치 라우팅 정보(S3RT)를 이용하여 해당 레벨 0 트레인 패킷을 해당 출력 인터포져(150)로 복사하여 보내고, 출력 인터포져(150)에서는 레벨 0 트레인 패킷을 분해하여 두 개의 셀로 나누어 그룹화된 멀티캐스트 셀은 스위치 단에서 투명하게 셀 헤더를 통해 전달되는 커넥션 ID를 통해 멀티캐스트 검색을 수행하여 해당 포트에 그룹화된 멀티캐스트 셀을 복사하고, 유니캐스트 셀은 레벨 0 트레인 패킷 헤더에 포함되어 있는 4단계 스위치 라우팅 정보(S4RT)를 이용하여 해당 포트로 유니캐스트 셀을 전송한다.
한편, 상기한 과정 S02의 판단결과 그룹화된 멀티캐스트 큐가 서비스 큐로 선택되지 않은 경우에는, 일반 멀티캐스트 큐가 서비스 큐로 선택되었는 지를 판단한다(S132).
상기한 과정 S132의 판단결과 일반 멀티캐스트 큐가 서비스 큐로 선택된 경우에는, 레벨 0 트레인 패킷의 수를 나타내는 파라미터 i를 0으로 설정하고, 상기한 과정 S에서 선택된 일반 멀티캐스트 큐로부터 새로운 HOL 멀티캐스트 셀을 읽어온다(S134, S136).
이후, 상기한 과정 S136에서 읽어온 일반 멀티캐스트 셀의 B 비트 값이 '0'으로 설정되어 있는 지, 즉, 스위치 프레인 라우팅 정보(S2RT)와 3단계 스위치 라우팅 정보(S3RT)가 같은 셀이 뒤에 저장되어 있는 지를 판단한다(S138).
상기한 과정 S138의 판단결과 상기한 과정 S136에서 읽어온 일반 멀티캐스트 셀의 B 비트 값이 '0'으로 설정되어 있지 않은 경우, 즉, 스위치 플레인 라우팅 정보(S2RT)와, 3단계 스위치 라우팅 정보가 같은 셀이 뒤에 저장되어 있지 않은 경우에는, 상기한 과정 S100에서 선택된 일반 멀티캐스트 큐에서 읽어낸 일반 멀티캐스트 셀의 3단계 스위치 라우팅 정보(S3RT)를 이용하여, 읽어낸 일반 멀티캐스트 셀이 출력되는 출력 인터포져(150)에 대응하는 다수 개의 유니캐스트 큐 중에서 라운드 로빈 방식으로 하나의 유니캐스트 큐를 선택하고, 선택된 유니캐스트 큐로부터유니캐스트 셀 하나를 읽어온다(S140, S142). 예를 들어, 상기한 과정 S100에서 선택된 일반 멀티캐스트 큐에서 읽어낸 일반 멀티캐스트 셀의 3단계 스위치 라우팅 정보(S3RT)가 00000000 10001000 00000000 00000000 00000000 00000000 00000000 01000011인 경우에는 읽어낸 일반 멀티캐스트 셀이 출력되는 출력 인터포져에 대응하는 유니캐스트 큐가 #0, #1, #6, #51, #55이므로, 이 중에서 라운드 로빈 방식으로 하나의 유니캐스트 큐를 선택하고, 선택된 유니캐스트 큐로부터 유니캐스트 셀 하나를 읽어온다.
이후에는, 상기한 과정 S136에서 읽어온 일반 멀티캐스트 셀과 상기한 과정 S142에서 읽어온 유니캐스트 셀을 이용하여 레벨 0 트레인 패킷을 생성하고(S144), 레벨 0 트레인 패킷의 수를 나타내는 파라미터 i를 1 증가시킨다(S146).
상기한 과정 S144에서 생성된 레벨 0 트레인 패킷과 같이, 레벨 0 트레인 패킷에 유니캐스트 셀이 포함되어 있는 경우에는 레벨 0 트레인 패킷 헤더 내에 저장되는 스위치 라우팅 필드에 스위치 플레인 라우팅 정보(S2RT)와, 3단계 스위치 라우팅 정보(S3RT)와, 출력 인터포져 라우팅 정보(S4RT)가 저장되어야 하는 데, 스위치 플레인 라우팅 정보(S2RT)와, 3단계 스위치 라우팅 정보(S3RT)는 유니캐스트 셀과 함께 레벨 0 트레인 패킷을 생성한 일반 멀티캐스트 셀의 스위치 플레인 라우팅 정보(S2RT) 및 3단계 스위치 라우팅 정보(S3RT)와 동일하게 지정하고, 출력 인터포져 라우팅 정보(S4RT)는 포함된 유니캐스트 셀의 셀 헤더에 저장되어 있는 셀 라우팅 정보를 이용하여 지정한다.
이후, 상기한 과정 S146에서 증가된 파라미터 i의 값이 스위치플레인(XeC(2, *))(130)의 개수(K개)와 동일한 지를 판단한다(S148).
상기한 과정 S148의 판단결과 파라미터 i의 값이 스위치 플레인(XeC(2, *))(130)의 개수(K개)와 동일하지 않은 경우에는, 상기한 과정 S100에서 선택된 일반 멀티캐스트 큐가 비어 있는 지를 판단한다(S150).
상기한 과정 S150의 판단결과 상기한 과정 S100에서 선택된 일반 멀티캐스트 큐가 비어있지 않은 경우에는, 상기한 과정 S136로 진행하여 상기한 과정 S100에서 선택된 일반 멀티캐스트 큐로부터 새로운 HOL 멀티캐스트 셀을 읽어온다.
한편, 상기한 과정 S150의 판단결과 상기한 과정 S100에서 선택된 일반 멀티캐스트 큐가 비어있는 경우에는, 상기한 과정 S100에서 선택된 일반 멀티캐스트 큐에서 읽어낸 일반 멀티캐스트 셀들의 3단계 스위치 라우팅 정보(S3RT) 중에서 하나를 선택하고, 선택된 3단계 스위치 라우팅 정보(S3RT)를 이용하여 일반 멀티캐스트 셀이 출력되는 출력 인터포져(150)에 대응하는 다수 개의 유니캐스트 큐 중에서 라운드 로빈 방식으로 두 개의 유니캐스트 큐를 선택하고, 선택된 두 개의 유니캐스트 큐로부터 유니캐스트 셀을 하나씩 읽어온다(S152, S154, S156). 예를 들어, 상기한 과정 S100에서 선택된 일반 멀티캐스트 큐에서 읽어낸 일반 멀티캐스트 셀들의 3단계 스위치 라우팅 정보(S3RT)가 00000000 10001000 00000000 00000000 00000000 00000000 00000000 01000011(<-첫번째 셀의 S3RT), 10010000 00000000 00000000 00000000 00000000 00000000 00011100 00000000(<-두번째 셀의 S3RT), 00101000 00000000 00000000 00000000 00000000 01000011 00000000 00000000(<-세번째 셀의 S3RT), 00000000 00000000 01001001 00000000 11100011 0000000000000000 00000000(<-네번째 셀의 S3RT)인 경우에, 유니캐스트 셀로만 구성되는 레벨 0 트레인 패킷이 마지막 셀(네번째 셀)을 따라가도록 설정되어 있다면, 네번째 일반 멀티캐스트 셀이 출력되는 출력 인터포져에 대응하는 유니캐스트 큐가 #24, #25, #29, #30, #31, #40, #43, #46이므로, 이 중에서 라운드 로빈 방식으로 두 개의 유니캐스트 큐를 선택하고, 선택된 두 개의 유니캐스트 큐로부터 유니캐스트 셀을 하나씩 읽어온다.
이후에는, 상기한 과정 S156에서 읽어온 두 개의 유니캐스트 셀로 레벨 0 트레인 패킷을 생성하고(S158), 상기한 과정 S146으로 진행하여 레벨 0 트레인 패킷의 수를 나타내는 파라미터 i를 1 증가시킨다.
한편, 상기한 과정 S138의 판단결과 상기한 과정 S100에서 읽어온 일반 멀티캐스트 셀의 B 비트 값이 '0'으로 설정되어 있는 경우, 즉, 스위치 플레인 라우팅 정보(S2RT)와 3단계 스위치 라우팅 정보(S3RT)가 같은 셀이 뒤에 저장되어 있는 경우에는, 상기한 과정 S100에서 선택된 일반 멀티캐스트 큐로부터 일반 멀티캐스트 셀을 하나 더 읽어온다(S160).
이후에는 상기한 과정 S136에서 읽어온 일반 멀티캐스트 셀과 상기한 과정 S160에서 읽어온 일반 멀티캐스트 셀을 이용하여 레벨 0 트레인 패킷을 생성하고(S162), 상기한 과정 S146로 진행하여 레벨 0 트레인 패킷의 수를 나타내는 파라미터 i를 1 증가시킨다.
이상에서 살펴본 바와 같이, 일반 멀티캐스트 트래픽은 입력 인터포져(110)에서 상기한 과정 S132 내지 과정 S162를 통해 K개의 레벨 0 트레인 패킷으로 구성되고, K개의 레벨 0 트레인 패킷은 다시 레벨 1 트레인 패킷으로 다시 구성되는 데, 입력 인터포져(110)에서 구성된 레벨 1 트레인 패킷은 도 9에 도시하는 바와 같이, 1단계 스위치(XeC(1, *))(120)로 입력된다.
1단계 스위치(XeC(1, *))(120)에서는 입력된 레벨 1 트레인 패킷을 서브 트레인 패킷으로 나누어 스위치 플레인(XeC(2, *))(130)으로 입력하고, 스위치 플레인(XeC(2, *))(130)에서는 레벨 0 트레인 패킷 헤더에 포함되어 있는 스위치 플레인 라우팅 정보(S2RT)를 이용하여 3단계 스위치(XeC(3, *))(140)로 서브 트레인 패킷을 복사하여 전송한다.
3단계 스위치(XeC(3, *))(140)에서는 레벨 0 트레인 패킷 헤더에 포함되어 있는 3단계 스위치 라우팅 정보(S3RT)를 이용하여 해당 레벨 0 트레인 패킷을 해당 출력 인터포져(150)로 복사하여 보내고, 출력 인터포져(150)에서는 레벨 0 트레인 패킷을 분해하여 두 개의 셀로 나누어 일반 멀티캐스트 셀은 스위치 단에서 투명하게 셀 헤더를 통해 전달되는 커넥션 ID를 통해 멀티캐스트 검색을 수행하여 해당 포트에 일반 멀티캐스트 셀을 복사하고, 유니캐스트 셀은 레벨 0 트레인 패킷 헤더에 포함되어 있는 4단계 스위치 라우팅 정보(S4RT)를 이용하여 해당 포트로 유니캐스트 셀을 전송한다.
본 발명의 ATM 스위치 시스템의 트레인 패킷 구성 방법은 전술한 실시예에 국한되지 않고 본 발명의 기술 사상이 허용하는 범위 내에서 다양하게 변형하여 실시할 수 있다.
이상에서 설명한 바와 같은 본 발명의 ATM 스위치 시스템의 트레인 패킷 구성 방법에 따르면, 멀티캐스트 트래픽 처리를 위해 트레인 패킷을 구성할 때, 더미 셀이 요구되는 시점에서 2차 스케줄러를 통해 선택된 유니캐스트 큐로부터 유효한 셀을 읽어 내어 더미 셀 없이 유효한 셀로만 트레인 패킷을 생성함으로써, 스위치의 처리율을 향상시킬 수 있게 된다.
Claims (8)
- 멀티캐스트 셀을 이용한 트레인 패킷 생성시 멀티캐스트 셀만으로 트레인 패킷을 생성하지 못하는 경우에, 유니캐스트 셀을 선택하여 트레인 패킷을 생성하는 트레인 패킷 구성 과정을 포함하여 이루어지는 에이티엠 스위치 시스템의 트레인 패킷 구성 방법.
- 제 1항에 있어서, 상기 트레인 패킷 구성 과정은,멀티캐스트 큐가 서비스 큐로 선택되면, 레벨 0 트레인 패킷 구성을 위해 유니캐스트 셀이 필요한 지를 판단하는 과정과;상기 판단결과 유니캐스트 셀이 필요한 경우에는 상기 멀티캐스트 큐에 저장된 멀티캐스트 셀의 라우팅 정보를 참조하여 레벨 0 트레인 패킷 구성에 필요한 유니캐스트 셀이 저장되어 있는 유니캐스트 큐를 선택하는 과정과;상기 선택된 유니캐스트 큐로부터 유니캐스트 셀을 읽어내고, 상기 읽어낸 유니캐스트 셀을 이용하여 레벨 0 트레인 패킷을 구성하는 과정으로 이루어지는 것을 특징으로 하는 에이티엠 스위치 시스템의 트레인 패킷 구성 방법.
- 제 2항에 있어서, 레벨 0 트레인 패킷 구성을 위해 유니캐스트 셀이 필요한 지에 대한 여부는,상기 선택된 멀티캐스트 큐의 첫 머리에 저장되어 있는 멀티캐스트 셀과 2단계 스위치 라우팅 정보와 3단계 스위치 라우팅 정보가 같은 셀이 그 뒤에 저장되어 있는 지에 따라 결정되는 것을 특징으로 하는 에이티엠 스위치 시스템의 트레인 패킷 구성 방법.
- 제 2항에 있어서, 레벨 0 트레인 패킷 구성을 위해 유니캐스트 셀이 필요한 지에 대한 여부는,상기 선택된 멀티캐스트 큐에 저장되어 있는 멀티캐스트 셀을 이용하여 레벨 1 트레인 패킷 구성에 필요한 레벨 0 트레인 패킷을 채울 수 있는 지에 따라 결정되는 것을 특징으로 하는 에이티엠 스위치 시스템의 트레인 패킷 구성 방법.
- 제 2항에 있어서, 상기 서비스 큐로 선택된 멀티캐스트 큐가 그룹화된 멀티캐스트 큐인 경우에는,상기 선택된 그룹화된 멀티캐스트 큐의 첫 머리에 저장되어 있는 그룹화된 멀티캐스트 셀을 읽어오는 과정과;상기 읽어온 그룹화된 멀티캐스트 셀과 2단계 스위치 라우팅 정보와 3단계 스위치 라우팅 정보가 같은 셀이 그 뒤에 저장되어 있는 지를 판단하는 과정과;상기 판단결과 상기 읽어온 그룹화된 멀티캐스트 셀과 2단계 스위치 라우팅 정보와 3단계 스위치 라우팅 정보가 같은 셀이 그 뒤에 저장되어 있지 않은 경우에는, 상기 읽어온 그룹화된 멀티캐스트 셀의 3단계 스위치 라우팅 정보에 의거하여 상기 읽어온 그룹화된 멀티캐스트 셀이 출력되는 출력 인터포져에 대응하는 다수개의 유니캐스트 큐 중에서 하나의 유니캐스트 큐를 선택하는 과정과;상기 선택된 유니캐스트 큐로부터 유니캐스트 셀 하나를 읽어오는 과정과;상기 읽어온 그룹화된 멀티캐스트 셀과 유니캐스트 셀로 레벨 0 트레인 패킷을 생성하고, 레벨 0 트레인 패킷의 수를 1 증가시키는 과정과;상기 레벨 0 트레인 패킷의 수가 스위치 플레인의 수와 동일한 지를 판단하는 과정과;상기 판단결과 레벨 0 트레인 패킷의 수가 스위치 플래인의 수와 동일한 경우에는 상기 생성된 레벨 0 트레인 패킷을 이용하여 레벨 1 트레인 패킷을 구성하는 과정을 더 포함하여 이루어지는 것을 특징으로 하는 에이티엠 스위치 시스템의 트레인 패킷 구성 방법.
- 제 5항에 있어서, 상기 판단결과 레벨 0 트레인 패킷의 수가 스위치 플레인의 수와 동일하지 않은 경우에는,상기 선택된 그룹화된 멀티캐스트 큐가 비어 있는 지를 판단하는 과정과;상기 판단결과 선택된 그룹화된 멀태캐스트 큐가 비어 있는 경우에는, 상기 선택된 그룹화된 멀티캐스트 큐로부터 읽어온 그룹화된 멀티캐스트 셀들의 3단계 스위치 라우팅 정보 중에서 하나를 선택하는 과정과;상기 선택된 3단계 스위치 라우팅 정보에 의거하여 셀이 출력되는 출력 인터포져에 대응하는 다수 개의 유니캐스트 큐 중에서 두 개의 유니캐스트 큐를 선택하는 과정과;상기 선택된 두 개의 유니캐스트 큐로부터 유니캐스트 셀을 하나씩 읽어오는 과정과;상기 읽어온 두 개의 유니캐스트 셀로 레벨 0 트레인 패킷을 생성하고, 레벨 0 트레인 패킷의 수를 1증가시키는 과정을 더 포함하여 이루어지는 것을 특징으로 하는 에이티엠 스위치 시스템의 트레인 패킷 구성 방법.
- 제 2항에 있어서, 상기 서비스 큐로 선택된 멀티캐스트 큐가 일반 멀티캐스트 큐인 경우에는,상기 선택된 일반 멀티캐스트 큐의 첫 머리에 저장되어 있는 일반 멀티캐스트 셀을 읽어오는 과정과;상기 읽어온 일반 멀티캐스트 셀과 2단계 스위치 라우팅 정보와 3단계 스위치 라우팅 정보가 같은 셀이 그 뒤에 저장되어 있는 지를 판단하는 과정과;상기 판단결과 상기 읽어온 일반 멀티캐스트 셀과 2단계 스위치 라우팅 정보와 3단계 스위치 라우팅 정보가 같은 셀이 그 뒤에 저장되어 있지 않은 경우에는, 상기 읽어온 일반 멀티캐스트 셀의 3단계 스위치 라우팅 정보에 의거하여 상기 읽어온 일반 멀티캐스트 셀이 출력되는 출력 인터포져에 대응하는 다수 개의 유니캐스트 큐 중에서 하나의 유니캐스트 큐를 선택하는 과정과;상기 선택된 유니캐스트 큐로부터 유니캐스트 셀 하나를 읽어오는 과정과;상기 읽어온 일반 멀티캐스트 셀과 유니캐스트 셀로 레벨 0 트레인 패킷을 생성하고, 레벨 0 트레인 패킷의 수를 1 증가시키는 과정과;상기 레벨 0 트레인 패킷의 수가 스위치 플레인의 수와 동일한 지를 판단하는 과정과;상기 판단결과 레벨 0 트레인 패킷의 수가 스위치 플래인의 수와 동일한 경우에는 상기 생성된 레벨 0 트레인 패킷을 이용하여 레벨 1 트레인 패킷을 구성하는 과정을 더 포함하여 이루어지는 것을 특징으로 하는 에이티엠 스위치 시스템의 트레인 패킷 구성 방법.
- 제 7항에 있어서, 상기 판단결과 레벨 0 트레인 패킷의 수가 스위치 플레인의 수와 동일하지 않은 경우에는,상기 선택된 일반 멀티캐스트 큐가 비어 있는 지를 판단하는 과정과;상기 판단결과 선택된 일반 멀태캐스트 큐가 비어 있는 경우에는, 상기 선택된 일반 멀티캐스트 큐로부터 읽어온 일반 멀티캐스트 셀들의 3단계 스위치 라우팅 정보 중에서 하나를 선택하는 과정과;상기 선택된 3단계 스위치 라우팅 정보에 의거하여 셀이 출력되는 출력 인터포져에 대응하는 다수 개의 유니캐스트 큐 중에서 두 개의 유니캐스트 큐를 선택하는 과정과;상기 선택된 두 개의 유니캐스트 큐로부터 유니캐스트 셀을 하나씩 읽어오는 과정과;상기 읽어온 두 개의 유니캐스트 셀로 레벨 0 트레인 패킷을 생성하고, 레벨 0 트레인 패킷의 수를 1증가시키는 과정을 더 포함하여 이루어지는 것을 특징으로하는 에이티엠 스위치 시스템의 트레인 패킷 구성 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0080453A KR100459036B1 (ko) | 2001-12-18 | 2001-12-18 | 에이티엠 스위치 시스템의 트레인 패킷 구성 방법 |
CNB021567875A CN100409633C (zh) | 2001-12-18 | 2002-12-18 | 在atm交换系统中生成并传输串列分组的方法 |
US10/321,463 US6931014B2 (en) | 2001-12-18 | 2002-12-18 | Method for generating and transmitting a train packet in an ATM switch system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0080453A KR100459036B1 (ko) | 2001-12-18 | 2001-12-18 | 에이티엠 스위치 시스템의 트레인 패킷 구성 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030050069A true KR20030050069A (ko) | 2003-06-25 |
KR100459036B1 KR100459036B1 (ko) | 2004-12-03 |
Family
ID=19717158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0080453A KR100459036B1 (ko) | 2001-12-18 | 2001-12-18 | 에이티엠 스위치 시스템의 트레인 패킷 구성 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6931014B2 (ko) |
KR (1) | KR100459036B1 (ko) |
CN (1) | CN100409633C (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4394988B2 (ja) * | 2004-03-19 | 2010-01-06 | 富士通株式会社 | パケット読出し制御方法及び装置 |
US7916687B2 (en) * | 2006-03-03 | 2011-03-29 | Qualcomm Incorporated | Standby time improvements |
US8880104B2 (en) | 2006-03-03 | 2014-11-04 | Qualcomm Incorporated | Standby time improvements for stations in a wireless network |
US8433374B2 (en) | 2006-04-27 | 2013-04-30 | Qualcomm Incorporated | Method and system for selecting a sleep interval to improve battery life |
MX2010010930A (es) * | 2008-04-04 | 2011-03-21 | Neos Int Llc | Sistema y metodo para tratamiento de agua. |
CN101404616A (zh) * | 2008-11-04 | 2009-04-08 | 北京大学深圳研究生院 | 一种负载均衡分组交换结构及其构造方法 |
US8325726B2 (en) * | 2010-02-09 | 2012-12-04 | Juniper Networks, Inc. | Data structure-less distributed fabric multicast |
EP2661845B1 (en) * | 2011-01-04 | 2014-08-13 | Napatech A/S | Apparatus and method for receiving and forwarding data |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5365519A (en) * | 1991-03-05 | 1994-11-15 | Hitachi, Ltd. | ATM switch1ng system connectable to I/O links having different transmission rates |
GB9011743D0 (en) * | 1990-05-25 | 1990-07-18 | Plessey Telecomm | Data element switch |
FR2741763B1 (fr) * | 1995-11-23 | 1998-01-23 | Jean Louis Simon | Systeme de regulation de trains d'information pour commutateur paquet |
GB2316572B (en) * | 1996-08-14 | 2000-12-20 | Fujitsu Ltd | Multicasting in switching apparatus |
CA2276526A1 (en) * | 1997-01-03 | 1998-07-09 | Telecommunications Research Laboratories | Method for real-time traffic analysis on packet networks |
KR100227334B1 (ko) * | 1997-05-09 | 1999-11-01 | 서평원 | Atm 스위치의 다중 경로 전달망 |
KR100268498B1 (ko) * | 1997-06-26 | 2000-10-16 | 윤종용 | 셋탑박스를이용한pc통신및인터넷서비스장치와그방법 |
KR100263201B1 (ko) * | 1998-05-23 | 2000-08-01 | 윤종용 | 씨리얼 라인과 에이티엠 망을 이용한 인터넷 서비스용프로토콜 처리장치 |
US6618379B1 (en) * | 1998-12-08 | 2003-09-09 | Nec Corporation | RRGS-round-robin greedy scheduling for input/output terabit switches |
US6477169B1 (en) * | 1999-05-14 | 2002-11-05 | Nortel Networks Limited | Multicast and unicast scheduling for a network device |
KR100307926B1 (ko) * | 1999-08-04 | 2001-09-29 | 서평원 | 멀티캐스트 서비스가 가능한 공유 메모리형 에이티엠 스위치 |
US20020131412A1 (en) * | 2001-01-12 | 2002-09-19 | Dipak Shah | Switch fabric with efficient spatial multicast |
US7106738B2 (en) * | 2001-04-06 | 2006-09-12 | Erlang Technologies, Inc. | Method and apparatus for high speed packet switching using train packet queuing and providing high scalability |
-
2001
- 2001-12-18 KR KR10-2001-0080453A patent/KR100459036B1/ko not_active IP Right Cessation
-
2002
- 2002-12-18 CN CNB021567875A patent/CN100409633C/zh not_active Expired - Fee Related
- 2002-12-18 US US10/321,463 patent/US6931014B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN100409633C (zh) | 2008-08-06 |
CN1427590A (zh) | 2003-07-02 |
US6931014B2 (en) | 2005-08-16 |
KR100459036B1 (ko) | 2004-12-03 |
US20030112815A1 (en) | 2003-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4679522B2 (ja) | エラー訂正を利用した高度並列スイッチング・システム | |
US7154885B2 (en) | Apparatus for switching data in high-speed networks and method of operation | |
US7961721B2 (en) | Router, network comprising a router, method for routing data in a network | |
US6747972B1 (en) | Method and apparatus for reducing the required size of sequence numbers used in resequencing packets | |
US8824491B2 (en) | Distributed scheduling for variable-size packet switching system | |
US20070053356A1 (en) | Nonblocking and deterministic multirate multicast packet scheduling | |
US20140269684A1 (en) | Switch fabric with collector-based cell reordering | |
US20050117575A1 (en) | Nonblocking and deterministic unicast packet scheduling | |
KR100459036B1 (ko) | 에이티엠 스위치 시스템의 트레인 패킷 구성 방법 | |
EP1187402B1 (en) | Switching apparatus, communication apparatus, and communication system | |
US12028263B2 (en) | Telemetry and buffer-capacity based circuits for load-balanced fine-grained adaptive routing in high-performance system interconnect | |
US20050129043A1 (en) | Nonblocking and deterministic multicast packet scheduling | |
Newman | A broad-band packet switch for multi-service communications | |
Li et al. | Scalable schedulers for high-performance switches | |
Smit et al. | Multicast and Broadcast in the Rattlesnake ATM Switch. | |
US20050094644A1 (en) | Nonblocking and deterministic multirate unicast packet scheduling | |
EP4109852A1 (en) | Load-balanced fine-grained adaptive routing in high-performance system interconnect | |
EP4109853A1 (en) | Filter with engineered damping for load-balanced fine-grained adaptive routing in high-performance system interconnect | |
Li et al. | Orthogonal-path Schedule Algorithm for MSM Clos-network Switching Fabric | |
JP3079068B2 (ja) | Atmスイッチ | |
CN118200767A (zh) | 一种光纤网络的数据交换与监听方法 | |
Brown et al. | Future information in input queueing | |
Ling et al. | D-ARM: a new proposal for multi-dimensional interconnection networks | |
Bianchi | CCG MMMMMMM SSMMMMM SS 00SJ | |
Nabeshima | Input-queued switches using two schedulers in parallel |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20081031 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |