KR20030050069A - 에이티엠 스위치 시스템의 트레인 패킷 구성 방법 - Google Patents

에이티엠 스위치 시스템의 트레인 패킷 구성 방법 Download PDF

Info

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
Application number
KR1020010080453A
Other languages
English (en)
Other versions
KR100459036B1 (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 KR10-2001-0080453A priority Critical patent/KR100459036B1/ko
Priority to CNB021567875A priority patent/CN100409633C/zh
Priority to US10/321,463 priority patent/US6931014B2/en
Publication of KR20030050069A publication Critical patent/KR20030050069A/ko
Application granted granted Critical
Publication of KR100459036B1 publication Critical patent/KR100459036B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/50Circuit switching systems, i.e. systems in which the path is physically permanent during the communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • H04L49/153ATM switching fabrics having parallel switch planes
    • H04L49/1538Cell slicing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • 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/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management
    • H04L2012/5683Buffer or queue management for avoiding head of line blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • H04L49/1523Parallel 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

에이티엠 스위치 시스템의 트레인 패킷 구성 방법{Method for Train Packet Generating in ATM Switch System}
본 발명은 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. 멀티캐스트 셀을 이용한 트레인 패킷 생성시 멀티캐스트 셀만으로 트레인 패킷을 생성하지 못하는 경우에, 유니캐스트 셀을 선택하여 트레인 패킷을 생성하는 트레인 패킷 구성 과정을 포함하여 이루어지는 에이티엠 스위치 시스템의 트레인 패킷 구성 방법.
  2. 제 1항에 있어서, 상기 트레인 패킷 구성 과정은,
    멀티캐스트 큐가 서비스 큐로 선택되면, 레벨 0 트레인 패킷 구성을 위해 유니캐스트 셀이 필요한 지를 판단하는 과정과;
    상기 판단결과 유니캐스트 셀이 필요한 경우에는 상기 멀티캐스트 큐에 저장된 멀티캐스트 셀의 라우팅 정보를 참조하여 레벨 0 트레인 패킷 구성에 필요한 유니캐스트 셀이 저장되어 있는 유니캐스트 큐를 선택하는 과정과;
    상기 선택된 유니캐스트 큐로부터 유니캐스트 셀을 읽어내고, 상기 읽어낸 유니캐스트 셀을 이용하여 레벨 0 트레인 패킷을 구성하는 과정으로 이루어지는 것을 특징으로 하는 에이티엠 스위치 시스템의 트레인 패킷 구성 방법.
  3. 제 2항에 있어서, 레벨 0 트레인 패킷 구성을 위해 유니캐스트 셀이 필요한 지에 대한 여부는,
    상기 선택된 멀티캐스트 큐의 첫 머리에 저장되어 있는 멀티캐스트 셀과 2단계 스위치 라우팅 정보와 3단계 스위치 라우팅 정보가 같은 셀이 그 뒤에 저장되어 있는 지에 따라 결정되는 것을 특징으로 하는 에이티엠 스위치 시스템의 트레인 패킷 구성 방법.
  4. 제 2항에 있어서, 레벨 0 트레인 패킷 구성을 위해 유니캐스트 셀이 필요한 지에 대한 여부는,
    상기 선택된 멀티캐스트 큐에 저장되어 있는 멀티캐스트 셀을 이용하여 레벨 1 트레인 패킷 구성에 필요한 레벨 0 트레인 패킷을 채울 수 있는 지에 따라 결정되는 것을 특징으로 하는 에이티엠 스위치 시스템의 트레인 패킷 구성 방법.
  5. 제 2항에 있어서, 상기 서비스 큐로 선택된 멀티캐스트 큐가 그룹화된 멀티캐스트 큐인 경우에는,
    상기 선택된 그룹화된 멀티캐스트 큐의 첫 머리에 저장되어 있는 그룹화된 멀티캐스트 셀을 읽어오는 과정과;
    상기 읽어온 그룹화된 멀티캐스트 셀과 2단계 스위치 라우팅 정보와 3단계 스위치 라우팅 정보가 같은 셀이 그 뒤에 저장되어 있는 지를 판단하는 과정과;
    상기 판단결과 상기 읽어온 그룹화된 멀티캐스트 셀과 2단계 스위치 라우팅 정보와 3단계 스위치 라우팅 정보가 같은 셀이 그 뒤에 저장되어 있지 않은 경우에는, 상기 읽어온 그룹화된 멀티캐스트 셀의 3단계 스위치 라우팅 정보에 의거하여 상기 읽어온 그룹화된 멀티캐스트 셀이 출력되는 출력 인터포져에 대응하는 다수개의 유니캐스트 큐 중에서 하나의 유니캐스트 큐를 선택하는 과정과;
    상기 선택된 유니캐스트 큐로부터 유니캐스트 셀 하나를 읽어오는 과정과;
    상기 읽어온 그룹화된 멀티캐스트 셀과 유니캐스트 셀로 레벨 0 트레인 패킷을 생성하고, 레벨 0 트레인 패킷의 수를 1 증가시키는 과정과;
    상기 레벨 0 트레인 패킷의 수가 스위치 플레인의 수와 동일한 지를 판단하는 과정과;
    상기 판단결과 레벨 0 트레인 패킷의 수가 스위치 플래인의 수와 동일한 경우에는 상기 생성된 레벨 0 트레인 패킷을 이용하여 레벨 1 트레인 패킷을 구성하는 과정을 더 포함하여 이루어지는 것을 특징으로 하는 에이티엠 스위치 시스템의 트레인 패킷 구성 방법.
  6. 제 5항에 있어서, 상기 판단결과 레벨 0 트레인 패킷의 수가 스위치 플레인의 수와 동일하지 않은 경우에는,
    상기 선택된 그룹화된 멀티캐스트 큐가 비어 있는 지를 판단하는 과정과;
    상기 판단결과 선택된 그룹화된 멀태캐스트 큐가 비어 있는 경우에는, 상기 선택된 그룹화된 멀티캐스트 큐로부터 읽어온 그룹화된 멀티캐스트 셀들의 3단계 스위치 라우팅 정보 중에서 하나를 선택하는 과정과;
    상기 선택된 3단계 스위치 라우팅 정보에 의거하여 셀이 출력되는 출력 인터포져에 대응하는 다수 개의 유니캐스트 큐 중에서 두 개의 유니캐스트 큐를 선택하는 과정과;
    상기 선택된 두 개의 유니캐스트 큐로부터 유니캐스트 셀을 하나씩 읽어오는 과정과;
    상기 읽어온 두 개의 유니캐스트 셀로 레벨 0 트레인 패킷을 생성하고, 레벨 0 트레인 패킷의 수를 1증가시키는 과정을 더 포함하여 이루어지는 것을 특징으로 하는 에이티엠 스위치 시스템의 트레인 패킷 구성 방법.
  7. 제 2항에 있어서, 상기 서비스 큐로 선택된 멀티캐스트 큐가 일반 멀티캐스트 큐인 경우에는,
    상기 선택된 일반 멀티캐스트 큐의 첫 머리에 저장되어 있는 일반 멀티캐스트 셀을 읽어오는 과정과;
    상기 읽어온 일반 멀티캐스트 셀과 2단계 스위치 라우팅 정보와 3단계 스위치 라우팅 정보가 같은 셀이 그 뒤에 저장되어 있는 지를 판단하는 과정과;
    상기 판단결과 상기 읽어온 일반 멀티캐스트 셀과 2단계 스위치 라우팅 정보와 3단계 스위치 라우팅 정보가 같은 셀이 그 뒤에 저장되어 있지 않은 경우에는, 상기 읽어온 일반 멀티캐스트 셀의 3단계 스위치 라우팅 정보에 의거하여 상기 읽어온 일반 멀티캐스트 셀이 출력되는 출력 인터포져에 대응하는 다수 개의 유니캐스트 큐 중에서 하나의 유니캐스트 큐를 선택하는 과정과;
    상기 선택된 유니캐스트 큐로부터 유니캐스트 셀 하나를 읽어오는 과정과;
    상기 읽어온 일반 멀티캐스트 셀과 유니캐스트 셀로 레벨 0 트레인 패킷을 생성하고, 레벨 0 트레인 패킷의 수를 1 증가시키는 과정과;
    상기 레벨 0 트레인 패킷의 수가 스위치 플레인의 수와 동일한 지를 판단하는 과정과;
    상기 판단결과 레벨 0 트레인 패킷의 수가 스위치 플래인의 수와 동일한 경우에는 상기 생성된 레벨 0 트레인 패킷을 이용하여 레벨 1 트레인 패킷을 구성하는 과정을 더 포함하여 이루어지는 것을 특징으로 하는 에이티엠 스위치 시스템의 트레인 패킷 구성 방법.
  8. 제 7항에 있어서, 상기 판단결과 레벨 0 트레인 패킷의 수가 스위치 플레인의 수와 동일하지 않은 경우에는,
    상기 선택된 일반 멀티캐스트 큐가 비어 있는 지를 판단하는 과정과;
    상기 판단결과 선택된 일반 멀태캐스트 큐가 비어 있는 경우에는, 상기 선택된 일반 멀티캐스트 큐로부터 읽어온 일반 멀티캐스트 셀들의 3단계 스위치 라우팅 정보 중에서 하나를 선택하는 과정과;
    상기 선택된 3단계 스위치 라우팅 정보에 의거하여 셀이 출력되는 출력 인터포져에 대응하는 다수 개의 유니캐스트 큐 중에서 두 개의 유니캐스트 큐를 선택하는 과정과;
    상기 선택된 두 개의 유니캐스트 큐로부터 유니캐스트 셀을 하나씩 읽어오는 과정과;
    상기 읽어온 두 개의 유니캐스트 셀로 레벨 0 트레인 패킷을 생성하고, 레벨 0 트레인 패킷의 수를 1증가시키는 과정을 더 포함하여 이루어지는 것을 특징으로하는 에이티엠 스위치 시스템의 트레인 패킷 구성 방법.
KR10-2001-0080453A 2001-12-18 2001-12-18 에이티엠 스위치 시스템의 트레인 패킷 구성 방법 KR100459036B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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