KR100237337B1 - 셀 스위칭 및 스위치를 통해 셀을 루팅시키기 위한 방법 - Google Patents
셀 스위칭 및 스위치를 통해 셀을 루팅시키기 위한 방법 Download PDFInfo
- Publication number
- KR100237337B1 KR100237337B1 KR1019950705889A KR19950705889A KR100237337B1 KR 100237337 B1 KR100237337 B1 KR 100237337B1 KR 1019950705889 A KR1019950705889 A KR 1019950705889A KR 19950705889 A KR19950705889 A KR 19950705889A KR 100237337 B1 KR100237337 B1 KR 100237337B1
- Authority
- KR
- South Korea
- Prior art keywords
- cell
- switch
- port
- transmission
- core
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
- H04L49/505—Corrective measures
- H04L49/508—Head of Line Blocking Avoidance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/256—Routing or path finding in ATM switching fabrics
-
- 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/3009—Header conversion, routing tables or routing tags
-
- 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/5679—Arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/101—Packet switching elements characterised by the switching fabric construction using crossbar or matrix
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Preparation Of Compounds By Using Micro-Organisms (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
셀 스위치는 페이로드와 어드레싱 정보를 포함하는 사용자 단말기의 셀을 전송하고 수신하기 위한, 각 하나가 다수의 사용자 단말기에 연결된 다수의 스위치 포트(2, n)를 포함한다. 스위치 코어(4)는 스위치 포트 사이의 통신을 가능하게 하기 위해 스위치 포트들을 상호 연결시킨다. 태깅수단들이 사용자 단말기로 부터 수신된 셀(17)의 어드레싱 정보를 기초로 셀에 속하고 그리고 스위치 코어를 통한 셀의 루팅을 가능하게 하는 루팅정보를 포함하는 태그(14)를 발생시키기 위해 스위치포트내에 제공된다. 대응셀에 앞서 스위치 코어로 각 셀에 한 태그씩 태그들을 전송시키기위한 수단이 제공된다. 스위치코어내 스케쥴링 수단은 앞서 전송된 태그들을 수신하고 그리고 포함된 루팅정보를 기초로 스케쥴링을 위해 스위치포트로부터 각 셀의 전송시간에 관계하는 스케쥴링 정보를 발생시켜, 이들 전송시간동안 셀들이 다른 셀들과 발생하는 콘플릭트없이 수신지 포트로 전송될 수 있다. 스케쥴링 정보는 셀 기원의 포트로 전송되고, 셀들은 그들의 각 스케쥴된 전송시간이 나타나기 전까지 스위치포트내에 유지된다.
Description
[발명의 명칭]
셀 스위칭 및 스위치를 통해 셀을 루팅시키기 위한 방법
[발명의 기술분야]
본 발명은 페이로드(payload) 및 어드레싱 정보를 포함하는 사용자 단말기의 셀을 전송한고 수신하기 위한, 각 하나가 다수의 사용자 단말기에 연결된 다수의 스위치 포트, 포트 사이의 통신을 가능하게 하기 위해 상기 스위치 포트를 상호 연결시키는 스위치 코어, 사용자 단말기로 부터 수신된 셀의 어드레싱 정보를 기초로 셀에 속한 태그(tag)를 발생시키고 및 스위치 코어를 통한 셀의 루팅을 가능하게 하는 루틴 정보를 포함하는 스위치 포트내 태깅(tagging) 수단을 포함하는 셀 스위치에 관한 것이다.
또한, 본 발명은 페이로드 및 어드레싱 정보를 포함하는 사용자 단말기의 셀을 전송하고 수신하기 위한 각 하나가 다수의 사용자 단말기에 연결된 다수의 스위치 포트 사이의 통신을 가능하게 하기 위해 상기 스위치 포트를 상호 연결시키는 스위치 코어를 포함하는 셀 스위치를 통해 셀을 루팅시키기 위한 방법에 관한 것이다.
[관련 기술의 설명]
상기 지적된 종류의 스위치에서 셀 버퍼는 스위치에 동시에 도달하고 그리고 셀에 공통인 자원(resource), 예컨대 출력을 통과 하여야만 하는 셀의 손실을 피하도록 배열된다. 공지된 시스템에서, 셀 버퍼는 이 목적을 이루기 위해 스위치코어내에 위치될 필요가 있다. 따라서 높은 효율을 이루기 위해 상당한 수의 셀 버퍼가 스위치 코어내에 필요하게 된다.
스위치 포트내에만 셀 버퍼를 위치시킴으로서 코어의 크기와 이에 따른 비용이 감소될 수 있다. 이는 스위치 코어에 대한 저 비용이 다수의 포트로만 형상화된 스캐일 가능한 (scaleable) 시스템에 대한 비용을 감소시킨다는 점에서 장점이 있을 수 있다. 따라서, 스위치는 보다 모듈러(modular)될 수 있다. 그러나 한 문제점은 스위치 코어내에서 콘플릭트(conflict)를 어떻게 피하여야만 코어내에서 셀 버퍼의 필요성이 제거될 수 있는가 이다.
EP 268, 259 호에는 스위치 입력과 출력 사이의 다수의 스태지(stage) 패킷 전송을 가지는 스위치가 기술되어 있다. 태크가 적합한 출력에 패킷을 루팅시키기 위한 패킷 수신지를 확인하는 동안 전송 콘플릭트를 피한다. 콘플릭트 때문에 즉시 전송될 수 없는 패킷을 위해 버퍼링이 제공되는바, 상한(upper limilt) 이 패킷 전송망에서 패킷의 정지를 위해 설정되어 있다.
패킷은 몇 단계로 조종되고 태그들은 단계 사이에서 수정되지만, 태그들은 입력포트로 부터의 패킷의 전송 시간의 스케줄링을 위해 미리 전송되지 않는다.
US 4,630,258 호에는 다수의 입력 및 출력포트를 가지는 패킷 전송 노드가 기술되어 있다. 하나의 단일 큐(queue)가 모든 출력포트로 패킷을 송신하고 저장하기 위해 각 입력 포트에 연결된다. 콘 플릭트는 다른 포트들을 향한 패킷 사이에서 발생할 수 있다. 다수의 포트 메모리가 입력과 출력포트 사이에 연결된다. 제어 논리는 메모리로부터 사전 결정된 우선 계획을 기초로 대응 루팅 태그에서 식별된 출력포트로 패킷을 전송시키기 위해 배열된다. 버퍼 논리는 동일한 입력포트에 도달하고 동일한 출력포트와 경쟁하는 태그들을 조정한다. 또한 결정되지 않은 시간 동안 패킷이 대기할 필요없이 동일한 출력포트로 향한 패킷의 무작위 선택이 지속된다.
입력 포트에 아무런 태킹도 지속되지 않는다. 현존하는 태그들은 전송된 패킷을 따라가고, 그리고 따라서 미리 전송되지 않는다.
US 4,621,359에는 패킷 전송노드가 출력포트 수신지를 나타내는 루팅 태그를 포함하는 패킷을 조정하는 패킷 전송이 기술되어 있다. 목적은 각 출력포트를 위해 어드레스된 패킷수의 균형을 제고하는 것이다. 따라서 새로운 태그들이 출력포트 부하(load) 재분사시키기 위해 발생된다. 새로운 태그들은 사전 결정된 출력 우선 계획을 획득하기 위해 수정된다.
직후의 패킷을 위한 시간 제어 전송계획을 제공하기 위한 태그에 앞서 전송이 없다.
US 4,623,996호에는 출력포트 수신지를 나타내는 루팅 태그를 포함하는 패킷을 조종하는 패킷 전송 노드가 기술되어 있다. 다수의 큐 스위치가 다수의 입력포트와 그리고 출력포트 수신지의 함수에 따라 인가된 패킷를 저장하고 전송하는 다수의 큐를 포함하는 다수의 큐 세트 사이에 개별적으로 연결된다. 각 큐세트 큐들은 특정 출력포트에 대한 루팅을 제어하는 다른 출력 조정기에 연결된다.
[발명의 요약]
본 발명의 목적은 서론에서 확인된 종류의 스위치에서, 코어내에 셀 버퍼의 필요성이 제거되는 방식으로 코어에서 콘 플릭트로 문제를 해결하는 것이다.
본 발명에 따른 스위치는 대응 설에 앞서 스위치 코어에 태그 각 설에 한 태그씩 전송시키기 위한 수단, 미리 전송된 상기 태그들을 수신하기 위해, 그리고, 포함된 루팅 정보를 기초로 스케쥴링을 위해 스위치 포트로부터 각 셀의 전송 시간에 관한 스케쥴링 정보를 발생시켜 이들 전송시간 동안 셀들이 다른 셀들과 콘플리트 발생없이 수신지 포트로 전송될 수 있도록 하기 위한 수단, 상기 스케쥴링 정보를 셀의 기원의 스위치 포트로 전송시키기 위한 수단 스케쥴된 전송시간이 나타나기 전까지 스위치 포트에 셀들을 유지하기 위한 지연수단, 및 각 스케쥴된 전송시간에 스위치 코어내로 셀을 전송시키기 위한 수단을 포함한다.
본 발명에 따른 방법은 수신된 셀의 어드레싱 정보를 기초로 스위치 코어를 통해 소망된 수신지 포트로 셀의 루팅을 가능케하는 루팅 정보를 포함하는 각 수신된 셀의 대한 각 태그를 발생시키는 단계 대응 셀에 앞서 스위치 코어로 상기 태그들을 전송시키는 단계, 미리 전송된 상기 태그에 포함된 상기 루팅 정보를 기초로 스케쥴링을 위해 포트로 부터 각 셀의 전송시간에 관한 스케쥴링 정보를 발생시켜 이들 전송시간 동안 셀들이 다른 셀들과 발생되는 콘플릭트없이 수신지 포트로 전송될 수 있도록 하는 단계, 상기 스케쥴링 정보를 셀의 기원의 포트로 전송시키는 단계 각 스케쥴된 전송시간이 나타나기 전까지 포트에 셀들을 유지하는 단계, 및 각 스케쥴된 전송시간에 코어대로 셀들을 전송하는 단계를 포함한다.
본 발명에 따라서 콘플릭트는 스위치 포트가 미리 코어에 루팅 정보를 제공함으로서 회피된다. 이에 의해 포트에 대한 적합한 피드백이 획득될 수 있어서 셀들은 공통자원의 동시 통과를 피하기 위해 미리 전송될 수 있다.
셀들은 태그에 의해 코어를 통해 간다. 태그는 각 셀을 선행하는 루팅 정보이다. 각 태그는 즉시 도달하는 셀에는 관련되지 않지만, 그후 도달하는 셀에 관련된 루팅 정보를 포함하는 바 적합한 스케쥴링 정보가 포트에 피드백된다. 셀들은 전송주기라 불리는 인접한 고정된 길이 인터발(adjacent fixed length interval)로 전송되고 그리고 내부 셀 수신지를 포함하는 태그를 사용하는 동안 코어를 통해 전송된다. 셀 수신지는 공지된 방식으로 배트맴(bitmap) 내 비트로 제동될 수 있어서, 이에 의해 셀은 몇몇 수신지를 기질 수 있다. (그룹 어드레싱) 태킹을 포트에서 지속된다. 태그는 각을 셀을 선행한다. 셀 전송주기동안 태그들은 포트에서 코어로 전송된다. 반대 방향에서, 즉 코어에서 포트로 스케줄링 정보가 전송되고 그리고 타당한 셀에 대한 플래그(flag)가 전송주기동안 태그 대신에 전송된다.
입중계(incoming)과 출증계(outgoing) 전송 주기 사이의 위상 위치는 어느정도 달라서 포트에서 코어로 전송주기에서 셀을 코어를 통과할 시간을 가지고 그리고 어떠한 추가지연없이 코어에서 포트로 전송주기에 위치될 수 있다.
대응 태그가 코어에 전송된후 셀들을 포트에서 결정된 최소수의 전송주기로 지연되어 시간은 콘플릭트 회피를 위한 프로세싱을 위해 유보된다.
콘플릭트는 셀의 시간에서 분산에 의해 회피된다. 코어는 모든 셀들을 스케쥴하고 포트를 지시해 포트들은 특정 전송주기에서 셀들로 전송되게 된다. 공통자원에 대해 경쟁하는 셀들은 서로 다른 전송주기에서 전송된다. 루팅 정보가 없는 태그는 스케쥴되기 위해 대기하는 새로운 셀에 없다는 것을 코어에 지적한다. 본 발명에 따른 해법은 훌륭한 비용 효율로 특정 제한내에서 시스템의 크기에는 독립적으로 사용될 수 있는 작은 코어가 된다. 게다가 처음부터 작은 시스템은 본래 투자의 손실없이 쉽게 적상될 수 있다.
[도면의 간단한 설명]
본 발명은 첨부 도면을 참조해 아래에서 보다 상세히 기술될 것이다.
제1도는 본 발명이 사용된 예시적인 셀 스위치의 형태를 나타낸 도면.
제2도는 셀루팅 비트맵을 가지는 태그를 나타낸 도면.
제3도는 스케쥴링 정보의 포맷을 나타낸 도면.
제4도는 라벨(label)과 유용한 로드(load)로 구성된 셀을 나타낸 도면.
제5도는 포트-에서-코어 및 코어-에서-포트에 대한 전송주기 사이의 위상변위와 태그와 태그에 관련된 스케쥴링 정보 사이의 관계를 나타낸 도면.
제6도는 태그 및 두 전송주기로 지연된 그의 대응 셀의 국부화를 나타내는 도면.
제7도는 스케쥴러의 일부를 형성하고, 스케쥴링 순서와 시간 우선도를 제어하는 블럭도.
제8도는 스케쥴러의 일부를 형성하고, 제어 블럭내에 포함되는 상태 기계(state mdchine)를 보여주는 도면.
제9도는 스케쥴러의 일부를 형성하고, 스케쥴링 데이타를 위한 메모리를 위한 록 펄스를 발생시티는 블럭도.
제10도는 도달하는 태그를 위한 메모리를 보여주는 도면.
제11도는 도달하는 태그를 위한 메모리로부터 횡렬중 하나 사이를 선택하고 출력상에 이를 표시하는 데이터 스위치를 도시한 도면.
제12도는 스케쥴링 데이타를 위한 메모리내 몇몇 장소에 포함된 회로를 도시한 도면.
제13도는 스케쥴된 데이타를 위한 메모리의 예를 도시한 도면.
제14도는 콘플릭트 제어블럭의 예를 도시한 도면.
제15도는 제7도∼제14도에 도시된 다수의 블럭에 포함되는 스케쥴러를 도시한 도면.
제16도는 포트내 셀을 지체하여 스케쥴된 전송 주기로 코어에 이들을 전송하는 지연수단을 도시한 도면.
제17도는 지연 수단에 몇몇 예로 포함된 블럭을 도시한 도면.
제18도는 각 포트에서 제17도의 지연 수단에 따른 블럭의 일부를 형성하는 상태 기계를 도시한 도면.
제19도는 본 발명의 사용으로 셀들의 제안된 형태의 스위치를 통해 연결되는 동안의 계획안을 보여주는 도면.
[바람직한 실시예의 상세한 설명]
제1도는 본 발명이 사용될 수 있는 셀 스위치의 형태를 개략적으로 보여주는 도면이다.
스위치는 다수의 포트(2.n) 및 다수의 입력(6.n)과 출력 (8.n)을 가지는 스위치 코어(4)를 포함한다. 간단하게 하기 위하여 제1도에는 단지 네개의 포트(2.1-2.4) 네 개의 입력(6.1-6.4) 및 네개의 출력(8.1-8.4)만이 도시되어 있다. 포트(2.n)는 스위치의 외부 인터페이스를 형성한다. 다수의 사용자 단말기가 각 포트에 연결될 수 있다.
두개의 대향적으로 향한 전송채널(10.n 및 12.n)을 통해 각 포트(2.n)는 각각 스위치 코어의 대응입력(6.n) 및 출력(8.n)에 연결된다.
예컨대 스위치는 동등(coordinate) 스위치 형태 및 비-블럭킹(non-blocking)일수 있다. 즉, 입력및 출력의 임의 조합을 동시에 연결할 수 있어야 한다. 그러나 본 발명은 스위치의 어떠한 특정 내부 구조에 한정되지 않는다.
셀 버퍼들은 즉, 동일한 출력포트에 대해 저정된 몇몇 셀들이 시간 중첩으로 스위치에 전송될 때 출력에서 콘플릭트로 인한 셀들의 손실을 피할 필요가 있다.
본 발명의 중요한 특징에 따라 모든 셀 버퍼들은 포트에 대해 배속된다. 코어가 셀버퍼가 없기 때문에 셀의 콘플릭트를 피하기 위해 특별한 수단이 강구되어야만 한다. 이는 아래에서 보다 상세히 기술되는 방법을 코어의 출력에서 콘플릭트를 피하기 위해 코어에 셀의 도달의 스케쥴링하고 그리고 내에 그들을 둠으로써 수행된다.
모든 포트들은 셀-동기적으로 작동하고 그리고 셀들은 전송주기라 불리는 인접한 고정된 길이 인터발에 전송된다. 셀들은 그들의 각 전송시간을 기다리는 동안 메모리 원소내에 저장된다. 예로 주어진 시스템에서 셀들은 취합되고 그리고 테이블을 조사함으로서 비트 맵 형태인 내부루팅 정보로 번역되는 어드레싱 정보 형태를 가지는 것으로 가장한다. 비트맵에서 비트의 위치는 다른 출력을 나타낸다. 번역표로 부터 획득된 이들 맵은 치용개념인 태그로 불린다. 공지된 시스템에서 태그들은 그들의 대응셀들과 함께 전송되는 본 발명에 따른 시스템에서 태그와 대응셀들은 분리된다.
제2도는 상당히 간단히 주어진 예에서 스위치 코어의 네 종렬중 각 하나에 대응하는 것으로 묘사되는 네개의 필드(14.1-14,4) 포함하는 셀 수신지 비트맵을 가진 태그(14)가 개략적으로 도시되어 있다. 각 필드는 예컨대 만일 하나에 설정된다면, 대응셀이 문제의 종렬에 정해진다는 것을 지시하는 비트를 포함한다.
아래에서 보다 상세히 설명되는 바와 같이 각 전송주기동안 각포트(2.n)로부터 서로 대응하지 않는 태그와 셀이 전송된다. 태그는 스위치 코어(4)에 루팅 정보를 제공하고 그리고 대응 셀을 위한 전송주기를 청하는 이중 기능을 가진다. 코어(4)는 요구를 프로세스하고 그리고 포트(2.n)를 위해 셀 전송시간을 지시하는 전송주기를 할당한다. 포트는 이 시점을 기다리고 그리고 할당된 전송주기로 셀을 전송한다. 대기 기간 동안 다른 요구와 셀들이 조정될 수 있다.
전송주기내의 태그가 수신되었다면 모든 요청된 셀들을 스케쥴링하는 프로세스가 시작된다. 모든 태그와 대응 스케쥴링 정보는 셀들이 전소되기 전까지 저장된다. 스케쥴링 프로세스의 결과인 스케쥴링 정보(할당된 전송주기)는 즉시 후속하는 주기동안 코어(4)에서 문제의 포트(2.n)로 전송된다.
제3도는 보통 15로 표시되는 스케쥴링 정보의 포맷을 개략적으로 나타낸 것이다. 도시된 네개의 필드중 마지막 세 개는 세 비트 단어의 제1, 제2 및 제3비트와 각각 대응하는 비트(b0, b1 및 b2)에 각각 대응한다. 0(모든 비트가 0에 설정된다)은 결정된 최소수의 전송주기의 지연후 코어에 대한 액세스(access)가 허용된다는 것을 지시한다. 모든 다른 번호들은 다른 대기 주기를 지시한다. 예컨대 5는 셀이 다른 5전송주기 지연되어야만 한다는 것을 지시한다. 이 시간동안 다른 출력을 향한 셀들이 전송될 수 있다. 도시된 네 필드중 첫째는 타당한 셀에 대한 플래그(16)를 포함한다. 코어(4)에서 포트(2.n)로 전송된 셀이 타당하고 유휴 셀이 아니라면 플래그는 활성화된다.
제4도는 라벨(18)과 유용한 로드(20)로 구성된 셀(17)을 도시한다. 라벨은 스위치 포트에서 인터럽트만 되고 그리고 고 순위를 프로토콜에 의해 조작될 수 있다. 라벨을 기초로 직접 수행되는 내부 루팅이 없다.
제5도는 포트-에서-코어 방향으로 셀에 속하지 않는 태그(14)를 가지는 셀(17)에 대한 전송주기와 제3도에 따른 태그에 대응하는 스케쥴링 정보(15)와 코어-에서-포트 방향으로 타당한 셀을 위한 플래그(16)를 가지는 동일한 셀(17)에 대한 전송주기 사이의 위상 변위(dt)를 보여준다.
제6도는 셀이 두 전송주기 지연될 때 태그(14)의 국지화와 그의 대응 셀(17)을 보여준다. 본 실시예에서 이는 결정된 최소 지연이다.
스케쥴러는 제15도에 따른 서로 연결된 제7도∼제14도에 도시된 다수의 블럭으로 구성된다.
제5도에서 21로 표시되는 스케쥴러의 출력상에 스케쥴러는 포트로부터 도달하는 태그들-각 포트로 부터 한 태그를 수신한다. 이들 태그는 루팅 정보와 전송주기에 대한 요구를 포함한다.
스케쥴러는 전송주기 동안 포트로 부터의 모든 그러한 요구를 한번에 하나씩 프로세스한다. 요구가 프로세스됨에 따라 번갈아 전송주기 동안 출중계 전송 주기가 발견될 수 있는 것 콘플릭트가 발생할 수 없는 것이 연속적으로 가능하지 않다. 이 이유 때문에 요구 프로세싱의 순서가 포트 사이의 정의를 획득하기 위해 각 전송 주기에 대해 변경된다.
스케쥴러는 도입하는 제3∼제6전송주기에 대응하는 모든 태그들을 처리한다. 모든 태그들은 관련 전송시간을 나타내는 메모리 위치내에 저장된다. 각 전송주기가 진행함에 따라 모든 태그들은 보다 인접한 스케쥴링 시간을 나타내는 저장위치내로 시프트된다. 스케쥴러로 부터 시프트되어온 태그들은 태그들을 출중계 제1 및 제2전송주가 포함하는 두전송주기로 지연시키는 FIFO(도시되지 않음) 내로 시프트된다. 따라서 저장 위치는 항상 시간이 경과하고 이에 따라 관련 전송 시간이 변경됨에 따라 현재상태를 반영한다.
최원격(most remote) 전송주기에 속한 태그들은 포함하는 저장위치의 “연속로딩(looding)에 대한 입력에 “스케쥴 되지 않음”(0)이 공급된다. 상기 FIFO로 부터의 출력은 각 전송주기에서 활성화되게 되는 교차점에 맵오버(mapover)된다.
도달하는 각 태그는 콘 플릭트를 위해 위험(risk)에 관해 초기에 스케쥴된 태그들에 대해 체그된다. 도달하는 태그의 모든 프로세싱은 동시에 수행된다. 만일 콘플릭트가 발견되지 않는, 적어도 하나의 출중계 전송주기가 발견되었다면 태그는 최고 빠른 전송주기를 나타내는 저장위치에 저장된다.
입중계 전송주기의 모든 태그들의 프로세서의 완벽한 시퀸스후 이들 태그들에 대응하는 몇몇 모든 셀들을 스케줄되었을 수 있다. 프로세싱 동안에 그들의 각 전송시간이 획립되었고 그리고 포트로 스케쥴링 정보(셀 전송시간)의 전송을 구성하는 장치로 공급된다. 셀의 스케쥴링에서 실패는 예컨대 정확한 전송시간 대신에 유효한 수의 저장위치 보다도 더 큰 관련 전송시간을 명시함으로써 지시될 수 있다.
스케쥴러의 입력회로로서 작용하는 제어회로(22)가 제7도와 제15도에 도시되어 있다. 제어회로(22)는 제8도에서 부속 상태표(26)와 상태도표(28)가 함께 상세히 도시된 상태기기(state machine)(24)를 포함한다.
제어회로(22)는 아래에서 보다 상세히 설명되는 방법으로 스케쥴링 시퀸스와 시간 우선도를 제어한다.
상태표(26)를 참조하면, 상태기계(24)는 입력(START) 상에 도달하는 시작신호에 대해 민감한 네개의 휴지상태(S05, S15, S25 및 S35)를 가진다. 도달하는 태그들이 유용하면 시작신호(start signal)가 각 전송주기에 대해 한번씩 도달한다. 그리고나서 상태기계(24)는 계수(counting)동작(모듈로-4)을 수행하고, 이후 출력(SH)(시프트에 대한)이 활성화되었다는 상태가 나타난다. 그리고난 후 다음 휴지상태가 나타난다. 계수 상태동안 출력(SC)(스케쥴에 대한)이 활성화된다. 네개의 계수 시퀸스 각각은 상태표에서 나타나는 바와 같이 서로 다른 시작값을 가진다.
D-플립플롭(30)은 상태기계(24)로 가는 시작신호를 수신하여 시작신호가 상태기계(24)의 입력(START)에 공급되기 전에 클럭신호(K)와 동기화 시킨다. 클럭신호는 또한 인버터(32)에 공급되어 상태기계(24)의 클럭입력(CLK)에 대해 반위상(antiphase) 클럭을 발생시킨다. 클럭신호는 또는 다른 입력이 시작신호를 수신하기 위해 연결된 AND 게이트(34)의 한 입력에 공급되어, 게이트(34)는 그의 출력(35)에 도달하는 태그들을 위한 동기화된 록킹신호를 공급한다.
신호(SH)는 인버터(36)(1비트 해독기)에 의해 해독된다. 해독된 신호는 신호(SH)가 인버터(36)로 부터의 출력으로 구성된다. 도시된 방법으로 상태기계(24)에 연결된 해독기(38)는 그의 출력상에 활성화 신호(ENable)가 나타나면 그의 출력(Y0-Y3) 중 하나를 활성시켜, 따라서 계수 시퀸스 동안 실행된다.
우선(priority) 해독기 (40)는 그의 출력(P0-P3) 중 하나에 활성화된 가장 높은 치수(order)의 입력을 해독한다. 그의 출력중 어느것도 활성화되지 않으면 그의 출력상의 출력신호(ENable)은 0에 설정된다. 도시된 방식으로 부호기(40)에 연결된 해독기(42)는 해독기(38)와 동일하다.
우선 해독기(40)와 해독기(42)는 출력(Y0-Y3) 중 하나만을 활성화시키는 활성화된 가장 높은 순차의 입력에 대응하는 블럭을 함께 형성한다.
제7도에 도시된 제어회로의 기능은 다음의 스케쥴러 설명으로부터 명확해지고 그리고 제9도∼제15도와 관련해 그의 기능이 명백해진다.
입력(43)상의 스케쥴러에 도달하는 태그들은 제10도에 따른 메모리(44)에 저장된다. 이 메모리에서 각 횡렬은 특정 포트(2.n)에 대한 태그들을 나타내고 각 종렬은 출력포트(8.n) 중 하나에 대한 어드레스는 나타낸다. 태그들은 D-플립플롭(45) 내 메모리의 횡렬에 저장되고 상기에 따라 제어블럭(22) 내 AND 게이트(34)의 출력(35)상에 나타내는 록킹신호를 록된다. 메모리(44)의 출력들은 제11도를 참조해 아래에서 기술되는 데이터 스위치의 입력에 연결된다.
해독기(38, 42)의 출력신호는 제9도에 도시된 어드레싱(50)의 횡렬도선(46)과 종렬도선(48)에 각각 공급되어 데이타 스케쥴링을 위해 메모리를 위한 록킹펄스를 발생시킨다. 이는 제12도와 제13도를 참조해 아래에서 보다 상세히 기술된다. 횡렬 및 종렬도선(38, 42)에 각각 AND-게이트(52)의 입력이 연결되어 그후, 신호들-각 해독기(38, 42)에 대해 활성화한 한 신호-의조합이 이들 AND-게이트들중 하나의 출력을 활성화시킨다. 블럭(50)은 또한 한 입력이 대응 AND-게이트(52)의 출력에 연결되고 다른 입력이 제어블럭(22)의 출력(SHift)에 연결되는 OR-게이트(54)를 포함한다.
OR-게이트(54)의 출력들은 제어블럭(22)의 SHift가 활성화되면 되면, 모두 활성화된다. AND-게이트(52)에 대한 해독기 신호 또는 SHift 신호가 활성화되는 경우, 이특성 AND-게이트(52)에 연결된 OR-게이트(54)의 출력은 활성화되게 된다. OR-게이트(540의 출력들은 각 AND-게이트(56)의 한 입력에 연결된다. 각 AND-게이트(56)의 다른 입력은 클럭신호(K) 수령을 위해 연결되고, 그의 출력은 어드레싱 블럭(50)의 출력들(58) 중 하나를 형성하여 그 결과 나중에 나타나는 신호들은 클럭과 동기화 된다.
어드레싱 블럭(50)은 아래에서 보다 상세히 기술되는 특정 입력포트 및 출중계 전송주기를 나타내는 스케쥴된 요구에 대한 태그 메모리(60)의 저장위치(제13도) 또는 모든 저장위치를 클럭한다.
상기 기술된 바와 같이 제11도에 도시된 데이타 스위치(62)는 메모리(44)의 출력에 연결된 입력(64)과 해독기(38)의 출력에 연결된 제어입력(66, 68, 70, 72)를 가진다. 데이터와 스위치(62)는 부속제어입력(66-72)이 활성화되면 메모리(44)로 부터의 태그들중 하나를 그의 출력(73) 중 하나에 방출한다.
제12도는 플리 플롭(75) 및 AND-게이트(76, 77)와 OR-게이트(78)로 구성된 입력스위치를 가지는 블럭(72)을 보여준다. 제어입력(80, 82)들은 게이트(76, 77) 중 각 하나의 한 입력에 연결된다. 제어입력(80, 82) 중 하나가 활성화되고, 플립플롭(75)이 클럭되면, 활성화된 제어입력에 대응하는 데이타 입력상의 데이타는 록되고 그리고 플립플롭(75)의 출력(84) 상에 나타난다.
제12도에 도시된 종류의 블럭(74) 그룹이 스케쥴된 요구를 위해 메모리(60)(제13도에 도시됨) 내에 포함된다. 그룹의 각 횡렬을 한 태그들 수신할 수 있다.
제14도는 콘플릭트 제어 블럭의 예를 보여준다. 콘플릭트 제어블럭은 스케쥴된 태그들을 위한 대응예에 대비해 도달하는 태그들의 메모리로 부터 한번에 한 태그를 체크한다.
제11도에 도시된 데이타 스위치(62)로 부터의 출력들은 제14도에 따른 네개의 콘플릭트 체킹블럭(86) 각각의 입력(85)에 연결된다. 태그로부터 시그널 아우트된 비트들을 각 콘플릭트 체킹 블럭내 NAND-게이트(88, 90, 92, 94)의 한 입력에 공급된다. 각 콘플릭트 체킹 블럭(86)은 또한 제13도에 따른 스케쥴된 요구를 위한 네개의 태그 메모리(60) 중 대응하는 하나에 연결된다. 메모리(60)의 모든 횡렬과 종렬에 대한 출력들은 횡력 방향으로 NOR-게이트(98, 100, 102, 104)에 연결되고, 종령방향으로 OR-게이트 (106, 108, 110, 112)에 연결된다. NOR-게이트(98-104)들은 그들의 각 횡렬상의 임의 비트가 1에 설정되면 그들의 출력을 0에 설정한다. 횡렬중 하나가 AND-게이트(114, 116, 118, 120)와 OR-게이트(122)에 의해 지적되고, 그의 출력을 AND-게이트(124)의 다섯 입력중 하나에 연결된다. OR-게이트(106-112)로 부터의 출력은 그들의 각 종렬상의 임의 비트가 1에 설정되면, 1에 설정된다. NAND-게이트(88-94)의 다른 입력은 OR-게이트(106, 108, 110 및 112) 중 각 하나의 출력에 연결된다. 따라서 NAND-게이트(88-94) 입력 (85)상에서 수신된 그들의 각 태그 비트들과 그리고 대응 OR-게이트(106-112)로부터 수신된 종렬내 비트들중 한 임의 비트가 1에 설정되면 그들의 출력을 0에 설정한다. NAND-게이트(88-94)의 출력들은 AND-게이트(124)의 다른 입력들중 각 하나를 형성한다. 따라서 AND-게이트(124)의 출력을 지시한 횡력에 1에 설정된 비트가 없고 그리고 태그 메모리에서 1에 설정된 비트들과 같은 입력(85)상에서 1에 설정된 태그 비트들이 동일한 종렬상에 존재하지 않으면 1에 설정된다. 도달하는 태그는 다음에 나타나는 스케쥴된 요구를 위한 메모리 (60) 내에 위치될 수 있다.
모든 AND-게이트(124)의 출력들은 제어블럭(22)의 우선 부호기(40)에 연결되고, 이에 따라 우선 부호기의 입력(P0-P3)들은 전송주기에 대응하는 1에 설정되게 되는데 여기서 셀들은 성공적으로 스케쥴될 수 있다. 우선 부호기(40)은 가장 높은 순차 입력을 2진(2비트) 단어와 ENable 신호를 부호화한다. 우선 부호기(40)의 출력은 스케쥴되게 되는 셀에 대해 셀 콘플릭트를 야기시키지 않는 최선행 출중계 전송주기를 형성한다 (만인 하나가 있다면). 우선 부호기(40)의 모든 출력들은 부호기(42)의 입력과 플립플롭(도시되지 않음)에 연결되고 그리고 포트에 스케쥴링 정보를 전송하기 위해 배열된 장치에 연결된다. 부호기(42)의 출력들은 어드레싱 블럭(50)의 입력을 선택하는 종렬에 각 종렬에 대한 한 출력이 연결된다. 따라서 어드레싱 블럭의 종렬들은 출중계 전송주기를 나타낸다.
프로세스 되는 횡렬의 도달하는 태그는 스케쥴된 요구를 위한 모든 태그 메모리(60)의 입력에 공급되지만 어드레싱 블럭(50)으로부터 록킹 펄스는 프로세스된 요구가 오는 포트와 콘플릭트가 나타나지 않는 출중계 전송주기를 나타내는 태그 메모리내 저장 위치에만 도달하여 이에 의해 태그는 이 저장위치내 클럭만 될 수 있다.
SHift가 활성화되는 상태의 출시 인버터(36)를 포함하는 해독기는 다른 데이터 입력을 선택하기 위해 제12도의 블럭내에 포함된 입력 선택기를 가져오게 된다. 이들 입력들과 출력들(84)은 플립 플롭이 클럭되면 데이터 시프트가 수행되도록 연결된다.
각 포트(2.n)에는 제16도에 도시된 종류의 지연수단이 있다. 스케쥴러로 부터 스케쥴링 정보를 대기하는 동안 시스템의 외부로 부터 도달하는 셀은 포트내 셀 버퍼(도시되지 않음) 내에 즉시 저장된다. 셀은 셀의 또 다른 지연을 위해 지연수단내에 포함된 블럭(130)내 입력 셀내(CELLIN) 상에 주어지지만 블럭(130) 내 D-플립플롭(152) 내에만 저장된다. 블럭의 입력(저장(STORE)는 1에 설정된다. 코어로 부터 도달하고 입력(SCHEDULING INFO)를 위해 주어진 스케쥴링 정보를 기초로 출력(CELLOUT) 상의 셀은 셀이 포트로 전송되어야만 하는 시점에 제공된다.
상기에 언급된 종류의 블럭은 제17도에 보다 상세히 도시되어 있다. 그곳에 포함된 상태기계(132)는 대응 상태도표(130), 상태변경조건을 가지는 표(134) 및 상태표(135) 함께 제18도에 도시되어 있다.
각 블럭(130)은 1에 설정될 때 대응 버퍼가 새로운 셀을 저장할 수 있다는 것을 지시하는 출력(FREE)를 가진다. 블럭(130)으로 부터의 이들 출력들은 우선 부호기(13)의 입력(P0, P1, P2)에 각각 제공된다. 우선 부호기(136) 제16도에 도시된 방식으로 다른 입력이 플래그 [타당한 자원 셀 플래그(VALID SOURCE CELL FLAG)]를 수신하기 위해 연결되는 AND-게이트(138)의 한 입력에 연결된 출력(EN) (ENable에 대한)을 가진다. 1에 설정되면 이 플래그는 시스템 지부로 부터 도달하는 셀이 유혹셀이 아니라는 것을 지시한다. AND-게이트(138)의 출력은 해독기(140)의 입력(EN)(ENable에 대한)에 연결된다. AND-게이트와 두 입력이 1에 설정되면 플래그(타당한 자원 셀 플래그)와 입력(P0, P1 및 P2) 중 적어도 하나가 1에 설정되면, AND-게이트(138) 상의 출력은 1에 설정된다. 이에 의해 또한 해독기(140)로부터의 몇몇 출력(Y0, Y1 또는 Y2)이 1에 설정되는데, 우선 부호기(136)의 입력(P0, P1 및 P2)에 의해 활성화된 가장 높은 차수 입력에 대응한다. 이는 1에 설정된 그의 입력(STORE)를 가지는 블럭(130) 중 하나의 셀 버퍼(141)가 셀로 로드 되게되고, 그리고, 동일 블럭에서 수신된 스케쥴링 정보에 의해 인도된 것이 셀이 포트로 보내져야만 하는 전송주기에서 셀 버퍼의 출력(CELL OUT) 상에 주어진다는 결과를 가진다. 한번에 한 버퍼만이 1에 설정된 출력을 가지기 때문에 OR-게이트(42)를 통해 셀이 지연수단의 출력(144)상에 주어진다.
바른 전송주기에 셀 버퍼(141)로 부터 셀을 제공하기 위해 각 블럭(130)에 포함된 수단은 상태기계(132)를 포함하는데, 상태기계는 출력(LATCH) 상에 록킹 신호를 제공하고, 입력(SCHEDULING INFO) 상에 수신된 스케쥴링 정보에 의해 지시되는 전송주기의 수를 하향 계수하고, 그리고 하양 계수가 수행되었으면, 출력(DISPATCH) 상에 독출신호를 제공한다.
제18도의 상태도표(133)는 상태기계가 시간을 하향 계수하면 나타나는 상태와 상태전이를 보여준다. 상태(S00)는 상태기계가 셀이 전송되어졌고 셀 버퍼내에 저장되어야만 하는 새로운 셀이 없는 경우인 정지상태이다. 상태(S10)는 바로 후속하는 전송주기내 셀이 돌출에 관한 것인 반면, S20, S30 및 S40을 하향 계수후 독출에 관한 것이다.
상태 변경조건을 가지는 표(134)는 상태전이(state transition)의 나머지를 보여준다. S00(동일상태)(S10, S20, S30, S40)으로 부터 상태기계는 정지상태(S00)로 도달한다. 상태기계는 정지상태로 부터 또는 상태 S10(동일상태), S20, S30 또는 S40으로 부터 S10, S21, S32 및 S43으로 도달한다. 만일 셀이 즉시 후속하는 전송주기로 전송되어야 한다면 상태기계는 S10에 도달하는 반면, 만일, 셀이 다른 전송주기를 위해 지연되어야만 한다면 S21, S32 및 S43으로의 도달이 발생한다.
상태표(135)에서 출력의 상태들은 다른 상태로 도시되어 있다. 상태(S00)에서만 “FREE”는 1에 설정된다. 상태(S10, S21, S32 및 S43)에서 “LATCH”는 1에 설정된다. 상태(S10, S20, S30 및 S40)에서 “DISPATCH”는 1에 설정된다.
상태기계(132)에 대한 반위상(antiphase) 클럭을 얻기 위해 클럭신호는 인버터(146)를 통해 “CLOCK”에 전송된다.
AND-게이트(148)와 D-플립플롭(150)은 상태기계(132)의 출력 “LATCH” 및 “DISPATCH”에 연결된다. 클럭신호는 또한 AND-게이트(148)의 다른 입력과 D-플립플롭(150)의 클럭 입력에 연결되어, 이에 의해 클럭으로 신호 “LATCH” 및 “DISPATCH”의 동기화가 발생된다. AND-게이트(148)로 부터의 출력은 함께 셀 버퍼(141)를 형성하는 D-플립플롭(152.1-152.n)의 클럭 입력에 연결되고 데이타 입력(D)은 블럭(130)의 입력 “CELLIN”에 연결된다.
D-플립플롭(150)으로 부터의 출력은 제2입력이 D-플립플롭(152.1-152.n)의 각 출력에 연결된 AND-게이트(154.1-154.n)의 입력에 연결된다. AND-게이트(154)의 출력은 블럭(130)의 출력 “CELLOUT”에 연결된다. 따라서 셀 버퍼(129)의 클럭킹은 AND-게이트(148)를 통해 신호(LATCH)로 제어되고 그리고 D-플립플롭(150)를 통해 신호 “CDISPATCH”에 의해 블럭(130)의 출력 “CELLOUT” 상에 셀의 제공이 이루어진다.
클럭 펄스들은 동기적으로 및 출중계 전송주기와 위상이 맞추어져 도달한다. 셀에대한 스케줄링 정보가 도달함에 동일 전송주기기에서 스케쥴링 정보와 “STORE”는 상태기계가 클럭되는 시점에서 인정되어야만 한다.
제19도에는 시스템의 가능한 동작을 실증하기 위한 예시적인 커플링 계획이 도시되어 있다. 포트에서 코어, 코어-에서-포트를 위한 다섯 개의 완벽한 연속적인 전송주기가 도시되고 도면 아래에 표시되어 있다.
제19도에서, 태그, 셀 및 스케쥴링을 지시하기 위해 제2도∼제6도에 도시되고, 그리고 참조해 기술된 바와 같이 동일한 개념과 참조 문자가 사용되었다. 상호연결된 태그, 셀 및 스케줄링 정보의 다른 세트는 비록 태그, 셀 및 스케쥴링 정보에 공통이라 하더라도 한편으로는 각 참조문자후에 서로 다른 작은 문자를 부가함으로서 구별되고, 다른 한편으로는 도면에서 다른선 표시로 구별된다.
각 태그들은 제2도의 필드(14..1-14.4)와 대응하고 그리고 그단의 비트를 지시하는 네개의 동등한 크기의 직사각형 필드의 연속으로 표시된다. 이는 제3도의 필드(16, b2, b1, b0)에 대응하는 필드를 가지는 스케쥴링 정보에 대해서도 마찬가지다. 제5도에 도시된 바와 같이 각 셀들은 눕고 경사지게 절단된 직사각형으로 지시된다.
횡렬(1A 및 A2)는 제1도의 포트(2, 1)에 대응되도록 가정될 수 있는 제1포트에 관련되는 각각 포트-에서-코어 및 코어-에서 포트에 대한 전송주기를 나타낸다. 이는 포트(2.2, 2.3 및 2.4)에 관한 횡렬(B1, 및 B2, C1 및 C2, D1 및 D2)에 대해 마찬가지다.
제1전송주기동안 선(A1)으로부터 알 수 있는 바와 같이 포트(1)에서 코어로 태그(14a)가 공급된다. 앞서 기술된 바와 같이 셀(17)에는 태그(14a)에 속하지 않는 태그(14a)가 공급된다. 태그(14a)는 그의 제3비트(14.3)가 1에 설정됨으로서 문제의 필드의 선표시에 의해 지적되는 포트(3)로 셀을 전송하도록 하는 요구를 나타낸다. 포트로(3)로 셀을 전송하도록 하는 다른 요구가 나타나지 않기 때문에, 태그(14a)에 속하는 셀(17a)은 전송주기 그(모든 비트 b2, b1 및 b0가 0에 설정된다)에서 코어에서 포트1로의 스케쥴링 정보(15a)로 선(A2) 상에 나타나는 바와 같이 결정된 최소 지연으로 스케쥴링된다. 예시적인 시스템에서 최소 지연은 두 전송주기이다. 포트(1)는 스케쥴링 정보(15a)를 수신하고 그리고 선(A1)에 도시된 바와 같이 전송극기 3에서 코어로 셀(17a)을 전송한다. 코어는 전송주기 3에서 코어에서 포트(3) 방향으로 플래그(16a)로 나타나는 바와 같이 셀(17a)는 타당하다는 것을 나타낸다. 선(2) 동일한 전송주기에서 코어는 실제적으로 버퍼링 없이 또 다른 최소지연 cdt1로 포트(3)에 셀(17a)을 전송한다.
각 제1필드(제2도 14.1)로부터 나타나는 바와 같이 포트(1)에 대한 셀 수신지 콘플릭팅을 가지는 선(B1, C1 및 C3)내 세 태그(14b, 14c 및 14d)들은 전송주기 1동안 코어로 전송된다. 포트(3)의 태그(14c)는 그곳에 속하는 셀들이 몇몇 수신지, 즉 포트(1) 뿐만아니라 또한 포트(4)(제2도의 필드 14.1 및 14.4)를 가진다는 것을 나타낸다.
코어내에 존재하는 콘플릭트 프로세싱 알고리즘은 포트(1)에 공통수신지를 가지는 태그(14b, 14c 및 14d)들에 대응하는 포트(2, 3 및 4)로 부터 셀로 서로 다른 전송시간을 할당하였다. 예에서 상태기계(24)의 상태에 따라, 포트(3)로 부터의 태그(14b)는 코어에서 제일 먼저 프로세스 되게 (선(C2) 내 스케쥴링 정보(15c)를 참조하라) 이에 의해 가장 빠른 전송시간을 획득하고, 그후 포트(4 및 2)가 후속된다. 따라서 포트(3)로 부터의 셀(17c)은 전송주기 3에서 포트(1 및 4)로 전송된다. 코어에 대한 방향의 선(C1)과 각 포트로 향한 방향에 대한 선(A2 및 D2)를 참조하라, 그곳에 속하지 않는 태그와 함께 셀(17d)은 포트(4)에서 코어로 전송되고(선(D1)을 참조하라), 그리고 전송주가 4에서 거기에서 포트(1)로 전송된다. (선 A2를 참조하라), 셀(14b)과 함께 거기에 속하지 않는 태그는 포트(2)에서 코어로 전송되고(선 B1을 참조하라), 그리고 전송주기 5에서 거기에서 포트(1)로 전송된다.
수신지 포트(1)를 가지는 포트(4)의 스케쥴된 셀(17d)이 전송되기를 대기함에 따라, 수신지포트(3)를 가지는 포트(4)로 부터의 새로운 셀(17e)이 스케쥴된다. 포트(4)로 부터 가장 먼저 스케쥴된 셀이 전송주기 4에서 전송되어야만 하기 때문에, 셀(17e)에는 전송주기 5가 할당된다. (선 D1 및 C2를 참조하라), 수신지 포트(1)을 가지는 포트(2) 내 스케쥴된 셀(17b)이 전송되기를 대기함에 따라, 스케쥴되고 그리고 포트(2)에서 포트(3)로 다른 셀(17f)이 전송된다 (선 B1 및 C2)를 참조하라).
Claims (24)
- 페이로드와 어드레싱 정보를 포함하는 사용자 단말기의 셀을 전송하고 수신하기 위한, 각 하나가 다수의 사용자 단말기에 연결된 다수의 스위치 포트(2, n), 스위치포트 사이의 통신을 가능하게 하기 위해 스위치 포트를 상호 연결시키는 스위치 코어(4), 사용자 단말기로부터 수신된 셀(17)의 어드레싱 정보를 기초로 셀에 속하고 및 스위치 코어를 통한 셀의 루팅을 가능하게 하는 루팅정보를 포함하는 태그(14)를 발생시키기 위한 스위치 포트내 태깅수단, 대응 셀에 앞서 스위치코어에 각 셀에 한 태그의 태그들을 전송하기 위한 수단, 미리 전송된 태그들을 수신하고 및 포함된 루팅정보를 기초로 스케쥴링을 위해 스위치포트로 부터 각 셀의 전송시간에 관련되는 스케쥴링정보를 발생시켜 이들 전송시간동안 셀이 다른 셀들과 일어나는 콘플릭트없이 수신지포트로 전송될 수 있게 하는 스위치코어내 스케쥴링수단, 셀 기원의 스위치포트로 스케쥴링정보를 전송시키기 위한 수단, 그들의 각 스케쥴된 전송시간이 나타나기 전까지 스위치포트에 셀들을 유지하기 위한 지연수단, 그들의 각 스케쥴된 전송시간에 스위치코어대로 셀들을 전송하기위한 수단을 포함하는 셀스위치.
- 제1항에 있어서, 태그와 대응셀은 서로 다른 전송주기동안 대응포트(2, n)에서 코어(4)로 전송되는 것이 특징인 스위치.
- 제2항에 있어서, 태그의 전송을 위한 전송주기와 대응셀의 전송을 위한 전송주기 사이에는 콘플릭트를 파하기 위한 프로세싱을 가능하게 하기위해 필요한 최소수의 전송주기의 시간지연이 있는 것이 특징인 스위치.
- 제2항 또는 제3항에 있어서, 각 전송주기동안 스케쥴된 셀이 아직 스케쥴되지않은 셀의 태그와 함께 포트에서 코어로의 방향으로 전송될 수 있는 것이 특징인 스위치.
- 제1항∼제4항 중 어느 한 항에 있어서, 셀이 늦은 셀의 스케쥴링 정보와 타당한 셀에 대한 플래그와 함께 코어에서 포트로 전송되는 것이 특징인 스위치.
- 제1항∼제5항 중 어느 한 항에 있어서, 타당한 태그는 코어에 스케줄되기 위해 대기하는 새로운 셀이 없다는 것을 표시하는 것이 특징인 스위치.
- 제1항∼제6항 중 어느 한 항에 있어서, 포트로 부터 전송되고 루팅 정보를 포함하는 태그들 각각은 전송주기의 할당을 위한 절대요구를 포함하는 것이 특징인 스위치.
- 제7항에 있어서, 상기 스케줄링 수단은 전송주기동안 한번에 하나씩 모든 그러한 요구들을 프로세스하고, 프로세싱 순서는 포트 사이의 공정을 획득하기 위해 각 전송주기에 대해 병경되는 것이 특징인 스위치.
- 제7항 또는 제8항에 있어서, 상기 스케쥴링 수단은 스케쥴된 셀에 속하는 모든 태그들을 저장하는 것이 특징이 스위치.
- 제7항∼제9항 중 어느 한 항에 있어서, 모든 태그들은 그들의 대응셀을 위한 관련 전송시간들을 나타내는 저장위치에 절대적으로 저장되고, 모든 태그들은 각 새로운 전송주기동안 좀 더 근접한 전송시간을 나타내는 새로운 저장위치로 시프트되어 태그들을 항상 관련 전송시간을 반영하는 저장위치에 저장됨을 특징으로 하는 스위치.
- 제7항∼제10항 중 어느 한 항에 있어서, 코어에 도달하는 각 태그는 콘플릭트의 위험에 관계하는 먼저 스케쥴된 셀들의 태그들에 대해 동시에 체크되는 것이 특징인 스위치.
- 제7항∼제11항 중 어느 한 항에 있어서, 실패된 셀의 스케쥴링은 저장위치의 유용한 수보다 큰 셀에 대한 관련 전송시간을 저장함으로써 나타내는 것이 특징인 스위치.
- 페이로드와 어드레싱 정보를 포함하는 사용자 단말기의 셀을 전송하고 수신하기 위한 각 하나가 다수의 사용자 단말기에 연결된 다수의 스위치포트, 스위치 코어 사이의 통신을 가능하게 하기위해 스위치포트를 상호연결시키는 스위치코어를 포함하는 셀스위치를 통해 셀을 루팅시키기 위한 방법으로서, 수신된 셀의 어드레싱 정보를 기초로 스위치코어를 통해 소망된 수신지 포트로 셀의 루팅을 가능하게 하는 루팅정보를 포함하는 각 수신된 셀에 대한 각 태그를 발생시키는 단계, 대응 셀에 앞서 스위치코어로 상기 태그들을 전송시키는 단계, 앞서 전송된 태그들에 포함된 상기 루팅정보를 기초로 스케쥴링을 위해 포트로부터 각 셀의 전송시간에 관계되는 스케쥴링 정보를 발생시켜 이들 전송시간 동안 셀이 다른 셀들과 발생하는 콘플릭트없이 수신지 포트로 전송될 수 있게 하는 단계, 셀 기원의 포트로 상기 스케쥴링 정보를 전송하는 단계, 그들의 각 스케쥴된 전송시간이 나타나기 전까지 포트에 셀을 유지하는 단계, 그들의 각 스케쥴된 전송시간에 코어내로 셀들을 전송하는 단계를 포함하는 셀 스위치를 통해 셀을 루팅시키기 위한 방법.
- 제13항에 있어서, 서로 다른 전송주기동안 태그와 대응셀을 대응포트에서 코어로 전송시키는 단계를 포함하는 것이 특징인 방법.
- 제14항에 있어서, 태그의 전송을 위한 전송주기와 대응셀의 전송을 위한 전송주기 사이에 콘플릭트를 피하기 위한 프로세싱을 가능하게 하기 위해 필요한 최소수의 전송주기의 시간지연을 제공하는 단계를 포함하는 것이 특징인 방법.
- 제14항 또는 제15항에 있어서, 각 전송주기동안 아직 스케쥴되지 않은 태그와 함께 스케쥴된 셀을 포트에서 코어로의 방향으로 전송시키는 단계를 포함하는 것이 특징인 방법.
- 제13항∼제16항 중 어느 한 항에 있어서, 나중 셀의 스케쥴링 정보 및 타당한 셀에 대한 플래그와 함께 셀을 코어에서 포트로 전송시키는 단계를 포함하는 것이 특징인 방법.
- 제13항∼제17항 중 어느 한 항에 있어서, 타당한 태그로 스케쥴되기 위해 대기하는 새로운 셀이 없다는 것을 코어에 나타내는 단계를 포함하는 것이 특징인 방법.
- 제13항∼제18항 중 어느 한 항에 있어서, 포트로부터 전송되고 및 전송주기의 할당을 위한 절대적인 요구를 가지는 루팅정보를 포함하는 태그 각각을 제공하는 단계를 포함하는 것이 특징인 방법.
- 제19항에 있어서, 전송주기동안 모든 상기 요구들을 한번에 하나씩 프로세싱하고, 및 포트 사이의 공정을 획득하기 위해 각 전송주기동안 그러한 프로세싱의 순서를 변경시키는 단계를 포함하는 것이 특징인 방법.
- 제19항 또는 제20항에 있어서, 스케쥴된 셀들에 속하는 모든 태그들을 저장하는 단계를 포함하는 것이 특징인 방법.
- 제21항에 있어서, 저장위치가 그들의 대응셀에 대한 관련 전송시간을 절대적으로 지시하도록 모든 태그들을 저장하는 단계, 및 태그들이 항상 관련 전송 시간을 반영하는 저장위치에 저장되도록 각 새로운 전송주기에 대한 모든 태그들을 보다 인접한 전송시간을 나타내는 새로운 저장장소에 시프트시키는 단계를 포함하는 것이 특징인 방법.
- 제13항∼제22항 중 어느 한 항에 있어서, 콘플릭트의 위험에 관계하는 앞서 스케쥴된 셀들의 태그들에 대해 코어에 도달하는 각 태그들 동시에 체킹하는 단계를 포함하는 것이 특징인 방법.
- 제13항∼제23항 중 어느 한 항에 있어서, 저장위치의 유용한 숫자보다 큰 셀을 위한 관련 전송시간을 표시함으로써 셀의 실패된 스케쥴링을 나타내는 단계를 포함하는 것이 특징인 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9302176A SE515148C2 (sv) | 1993-06-23 | 1993-06-23 | Styrning av cellväljare |
SE9302176-4 | 1993-06-23 | ||
PCT/SE1994/000599 WO1995001031A1 (en) | 1993-06-23 | 1994-06-17 | A cell switch and a method for routing cells therethrough |
Publications (2)
Publication Number | Publication Date |
---|---|
KR960703299A KR960703299A (ko) | 1996-06-19 |
KR100237337B1 true KR100237337B1 (ko) | 2000-01-15 |
Family
ID=20390395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950705889A KR100237337B1 (ko) | 1993-06-23 | 1994-06-17 | 셀 스위칭 및 스위치를 통해 셀을 루팅시키기 위한 방법 |
Country Status (14)
Country | Link |
---|---|
US (1) | US5506841A (ko) |
EP (1) | EP0705511B1 (ko) |
JP (1) | JPH08512179A (ko) |
KR (1) | KR100237337B1 (ko) |
CN (1) | CN1073316C (ko) |
AU (1) | AU676926B2 (ko) |
BR (1) | BR9406843A (ko) |
CA (1) | CA2163342A1 (ko) |
DE (1) | DE69429773T2 (ko) |
FI (1) | FI956242A0 (ko) |
NO (1) | NO955275L (ko) |
SE (1) | SE515148C2 (ko) |
TW (1) | TW256980B (ko) |
WO (1) | WO1995001031A1 (ko) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5949781A (en) * | 1994-08-31 | 1999-09-07 | Brooktree Corporation | Controller for ATM segmentation and reassembly |
SE504985C2 (sv) * | 1995-05-09 | 1997-06-09 | Ericsson Telefon Ab L M | ATM-växelkärna |
US6185222B1 (en) * | 1995-09-28 | 2001-02-06 | Cisco Technology, Inc. | Asymmetric switch architecture for use in a network switch node |
SE513509C2 (sv) * | 1998-10-07 | 2000-09-25 | Net Insight Ab | Anordning för routing av datapaket i ett DTM-nät |
SE513515C2 (sv) | 1998-10-07 | 2000-09-25 | Net Insight Ab | Anordning för routing av asynkron trafik i ett kretskopplat nät |
US6449275B1 (en) | 1998-12-17 | 2002-09-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Internal routing through multi-staged ATM node |
US6396811B1 (en) | 1998-12-17 | 2002-05-28 | Telefonaktiebolaget Lm Ericsson | Segmented performance monitoring of multi-stage ATM node |
WO2000038383A2 (en) * | 1998-12-18 | 2000-06-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Internet protocol handler for telecommunications platform with processor cluster |
US7164698B1 (en) | 2000-03-24 | 2007-01-16 | Juniper Networks, Inc. | High-speed line interface for networking devices |
US7139282B1 (en) * | 2000-03-24 | 2006-11-21 | Juniper Networks, Inc. | Bandwidth division for packet processing |
US7356030B2 (en) * | 2000-11-17 | 2008-04-08 | Foundry Networks, Inc. | Network switch cross point |
US7596139B2 (en) | 2000-11-17 | 2009-09-29 | Foundry Networks, Inc. | Backplane interface adapter with error control and redundant fabric |
US20030039256A1 (en) * | 2001-08-24 | 2003-02-27 | Klas Carlberg | Distribution of connection handling in a processor cluster |
EP1309133A1 (de) * | 2001-10-31 | 2003-05-07 | Siemens Aktiengesellschaft | Verfahren, Empfangseinrichtung und Sendeeinrichtung zur Bestimmung des schnellsten Nachrichtenpfades ohne Uhrensynchronisation |
US20120155466A1 (en) | 2002-05-06 | 2012-06-21 | Ian Edward Davis | Method and apparatus for efficiently processing data packets in a computer network |
US7649885B1 (en) * | 2002-05-06 | 2010-01-19 | Foundry Networks, Inc. | Network routing system for enhanced efficiency and monitoring capability |
US7187687B1 (en) | 2002-05-06 | 2007-03-06 | Foundry Networks, Inc. | Pipeline method and system for switching packets |
US7468975B1 (en) | 2002-05-06 | 2008-12-23 | Foundry Networks, Inc. | Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability |
US7180894B2 (en) * | 2002-05-29 | 2007-02-20 | Intel Corporation | Load balancing engine |
US6901072B1 (en) | 2003-05-15 | 2005-05-31 | Foundry Networks, Inc. | System and method for high speed packet transmission implementing dual transmit and receive pipelines |
US7817659B2 (en) | 2004-03-26 | 2010-10-19 | Foundry Networks, Llc | Method and apparatus for aggregating input data streams |
US8730961B1 (en) | 2004-04-26 | 2014-05-20 | Foundry Networks, Llc | System and method for optimizing router lookup |
US7657703B1 (en) | 2004-10-29 | 2010-02-02 | Foundry Networks, Inc. | Double density content addressable memory (CAM) lookup scheme |
US20060165081A1 (en) * | 2005-01-24 | 2006-07-27 | International Business Machines Corporation | Deflection-routing and scheduling in a crossbar switch |
US8448162B2 (en) * | 2005-12-28 | 2013-05-21 | Foundry Networks, Llc | Hitless software upgrades |
US8238255B2 (en) | 2006-11-22 | 2012-08-07 | Foundry Networks, Llc | Recovering from failures without impact on data traffic in a shared bus architecture |
US20090279441A1 (en) | 2007-01-11 | 2009-11-12 | Foundry Networks, Inc. | Techniques for transmitting failure detection protocol packets |
US7929431B2 (en) * | 2007-03-19 | 2011-04-19 | Honeywell International Inc. | Port rate smoothing in an avionics network |
US8037399B2 (en) | 2007-07-18 | 2011-10-11 | Foundry Networks, Llc | Techniques for segmented CRC design in high speed networks |
US8271859B2 (en) | 2007-07-18 | 2012-09-18 | Foundry Networks Llc | Segmented CRC design in high speed networks |
US8509236B2 (en) | 2007-09-26 | 2013-08-13 | Foundry Networks, Llc | Techniques for selecting paths and/or trunk ports for forwarding traffic flows |
US8090901B2 (en) | 2009-05-14 | 2012-01-03 | Brocade Communications Systems, Inc. | TCAM management approach that minimize movements |
US8599850B2 (en) | 2009-09-21 | 2013-12-03 | Brocade Communications Systems, Inc. | Provisioning single or multistage networks using ethernet service instances (ESIs) |
US8776207B2 (en) | 2011-02-16 | 2014-07-08 | Fortinet, Inc. | Load balancing in a network with session information |
CN113472701B (zh) * | 2020-03-31 | 2023-10-10 | 深圳市中兴微电子技术有限公司 | 路由信息的处理方法、装置、设备及存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4630258A (en) * | 1984-10-18 | 1986-12-16 | Hughes Aircraft Company | Packet switched multiport memory NXM switch node and processing method |
US4623996A (en) * | 1984-10-18 | 1986-11-18 | Mcmillen Robert J | Packet switched multiple queue NXM switch node and processing method |
US4621359A (en) * | 1984-10-18 | 1986-11-04 | Hughes Aircraft Company | Load balancing for packet switching nodes |
US4817084A (en) * | 1986-10-16 | 1989-03-28 | Bell Communications Research, Inc. | Batcher-Banyan packet switch with output conflict resolution scheme |
IT1196791B (it) * | 1986-11-18 | 1988-11-25 | Cselt Centro Studi Lab Telecom | Elemento di commutazione per reti di interconnessione multistadio autoinstradanti a commutazione di pacchetto |
US4899334A (en) * | 1987-10-19 | 1990-02-06 | Oki Electric Industry Co., Ltd. | Self-routing multistage switching network for fast packet switching system |
EP0405042B1 (en) * | 1989-06-29 | 1994-09-14 | International Business Machines Corporation | High speed digital packet switching system |
US5166926A (en) * | 1990-12-18 | 1992-11-24 | Bell Communications Research, Inc. | Packet address look-ahead technique for use in implementing a high speed packet switch |
US5255265A (en) * | 1992-05-05 | 1993-10-19 | At&T Bell Laboratories | Controller for input-queued packet switch |
US5291482A (en) * | 1992-07-24 | 1994-03-01 | At&T Bell Laboratories | High bandwidth packet switch |
-
1993
- 1993-06-23 SE SE9302176A patent/SE515148C2/sv not_active IP Right Cessation
-
1994
- 1994-06-17 DE DE69429773T patent/DE69429773T2/de not_active Expired - Lifetime
- 1994-06-17 CA CA002163342A patent/CA2163342A1/en not_active Abandoned
- 1994-06-17 KR KR1019950705889A patent/KR100237337B1/ko not_active IP Right Cessation
- 1994-06-17 AU AU70887/94A patent/AU676926B2/en not_active Ceased
- 1994-06-17 CN CN94192579A patent/CN1073316C/zh not_active Expired - Fee Related
- 1994-06-17 EP EP94919940A patent/EP0705511B1/en not_active Expired - Lifetime
- 1994-06-17 JP JP7502715A patent/JPH08512179A/ja not_active Ceased
- 1994-06-17 BR BR9406843A patent/BR9406843A/pt not_active Application Discontinuation
- 1994-06-17 WO PCT/SE1994/000599 patent/WO1995001031A1/en active IP Right Grant
- 1994-06-20 US US08/262,453 patent/US5506841A/en not_active Expired - Lifetime
- 1994-06-24 TW TW083105772A patent/TW256980B/zh active
-
1995
- 1995-12-22 NO NO955275A patent/NO955275L/no not_active Application Discontinuation
- 1995-12-22 FI FI956242A patent/FI956242A0/fi unknown
Also Published As
Publication number | Publication date |
---|---|
EP0705511A1 (en) | 1996-04-10 |
US5506841A (en) | 1996-04-09 |
FI956242A (fi) | 1995-12-22 |
JPH08512179A (ja) | 1996-12-17 |
KR960703299A (ko) | 1996-06-19 |
SE515148C2 (sv) | 2001-06-18 |
DE69429773D1 (de) | 2002-03-14 |
EP0705511B1 (en) | 2002-01-30 |
AU7088794A (en) | 1995-01-17 |
BR9406843A (pt) | 1996-04-16 |
DE69429773T2 (de) | 2002-08-14 |
NO955275L (no) | 1996-02-16 |
NO955275D0 (no) | 1995-12-22 |
SE9302176L (sv) | 1994-12-24 |
CN1126012A (zh) | 1996-07-03 |
CA2163342A1 (en) | 1995-01-05 |
FI956242A0 (fi) | 1995-12-22 |
CN1073316C (zh) | 2001-10-17 |
WO1995001031A1 (en) | 1995-01-05 |
TW256980B (ko) | 1995-09-11 |
SE9302176D0 (sv) | 1993-06-23 |
AU676926B2 (en) | 1997-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100237337B1 (ko) | 셀 스위칭 및 스위치를 통해 셀을 루팅시키기 위한 방법 | |
KR100334922B1 (ko) | 효율적인출력요구패킷스위치와방법 | |
US4752777A (en) | Delta network of a cross-point switch | |
US4814762A (en) | Delta network control of a cross-point switch | |
EP0198010B1 (en) | Packet switched multiport memory nxm switch node and processing method | |
AU693084B2 (en) | Controlled access ATM switch | |
US4623996A (en) | Packet switched multiple queue NXM switch node and processing method | |
US6791992B1 (en) | Earliest-deadline-first queuing cell switching architecture and method | |
US4797880A (en) | Non-blocking, self-routing packet switch | |
US4821258A (en) | Crosspoint circuitry for data packet space division switches | |
US20030133465A1 (en) | System for reordering sequenced based packets in a switching network | |
WO1991002420A1 (en) | Communication switching element and method for transmitting variable length cells | |
US6061358A (en) | Data communication system utilizing a scalable, non-blocking, high bandwidth central memory controller and method | |
US5033045A (en) | Circuit element - cross-point between two bus lines | |
US7254139B2 (en) | Data transmission system with multi-memory packet switch | |
JPH07183897A (ja) | 空間分割交換マトリクスの入力へ接続するための入力待ち行列システム | |
US7130302B2 (en) | Self-route expandable multi-memory packet switch | |
US20040136391A1 (en) | Circuit arrangement for data stream distribution with conflict resolution | |
JPH11234333A (ja) | ゲートウェイ装置 | |
JPH0427243A (ja) | Atmセル集線方式 | |
JPS63287143A (ja) | 送信バッファ制御方式 | |
JPH0316348A (ja) | 競合パケットに対する調停機能を有するパケット交換システム | |
JPH01177744A (ja) | パケット交換方式 | |
JP2001285340A (ja) | パケットスイッチ装置 | |
JPH06177911A (ja) | パケットバッファ回路 |
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: 20071005 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |