KR20150002622A - 동기화된 적응형 인프라(sain)네트워크에서 제어 벡터들을 가지고 라우팅하는 장치 및 방법 - Google Patents

동기화된 적응형 인프라(sain)네트워크에서 제어 벡터들을 가지고 라우팅하는 장치 및 방법 Download PDF

Info

Publication number
KR20150002622A
KR20150002622A KR20147026876A KR20147026876A KR20150002622A KR 20150002622 A KR20150002622 A KR 20150002622A KR 20147026876 A KR20147026876 A KR 20147026876A KR 20147026876 A KR20147026876 A KR 20147026876A KR 20150002622 A KR20150002622 A KR 20150002622A
Authority
KR
South Korea
Prior art keywords
node
network
source
destination
aggregation
Prior art date
Application number
KR20147026876A
Other languages
English (en)
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 레이 더블유. 샌더스
Publication of KR20150002622A publication Critical patent/KR20150002622A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1605Fixed allocated frame structures
    • H04J3/1623Plesiochronous digital hierarchy [PDH]
    • H04J3/1629Format building algorithm
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/24Time-division multiplex systems in which the allocation is indicated by an address the different channels being transmitted sequentially
    • H04J3/247ATM or packet multiplexing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/604Address structures or formats
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

동기화된 적응형 인프라(synchronized adaptive infrastructure; SAIN) 네트워크가 개시되어 있다. 스위치들, 동기화된 노드들, 및 지속적 접속(persistent connection)들이 사용될 수 있다. 또한 다음과 같은 기능들, 다시 말하면 해체 분할; 데이터 집성 및 해체; 패킷 기반 네트워크들과의 인터페이싱; 대역폭 관리; 보안, 어드레싱, 오류 제어, 라우팅 등등을 위한 제어 벡터들의 사용과 같은 기능들을 위한 방법 및 장치가 개시되어 있다. 회선 교환 노드들의 계층화된 계층 구조에서 신속한 접속 설정 및 해제를 가능하게 하는 동기화된 네트워크들이 개시되어 있다. 도플러(Doppler), 환경, 및 주파수 오프셋 효과들과 아울러, 데이터 스트림들을 동기화 및 변환하는 방법이 개시되어 있다.

Description

동기화된 적응형 인프라(SAIN)네트워크에서 제어 벡터들을 가지고 라우팅하는 장치 및 방법{Apparatus and methods of routing with control vectors in a synchronized adaptive infrastructure (SAIN)network}
관련 출원들
본원은 발명의 명칭이 "동기화된 네트워크들을 위한 장치 및 방법(Apparatus and Method for Synchronized Networks)"이며 2012년 3월 9일자 출원된 미국 임시특허출원 제61/609218호(본원에서는 RS2라고 언급됨) 및 발명의 명칭이 "동기화된 네트워크들을 위한 장치 및 방법(Apparatus and Method for Synchronized Networks)"이며 2013년 2월 19일자 출원된 미국 임시특허출원 제61/766661호(본원에서는 RS3라고 언급됨)의 본 출원이다. 위에서 언급한 임시특허출원들 양자 모두의 전체 개시내용은 이로써 각각의 임시특허출원이 포함하고 있는 모든 내용에 대해 참조병합된 것이다.
기술분야
본 개시내용의 실시예들은 동기화된 적응형 인프라(synchronized adaptive infrastructure; SAIN) 네트워크에서 제어 벡터들을 가지고 라우팅하는 장치 및 방법에 관한 것이다.
대규모 데이터 네트워크들에 대한 고-수준 아키텍처는 예측가능한 미래 동안 변경될 가능성이 없다는 점에서 합의가 이루어졌다. 이러한 아키텍처는 한 컴퓨터로부터 다른 한 컴퓨터로 메시지들 및 파일들을 포워딩하는 것으로부터 어느 한 발신지로부터 어느 한 수신지로 모든 타입들의 데이터 트래픽을 전체적으로 반송(搬送)할 수 있는 전면적인 구조로 진화되었다. 상기 아키텍처가 하나 이상의 실시예들(예컨대, ATM 및 MPLS)에 합의되고 하나 이상의 실시예들(예컨대, ATM 및 MPLS)로 구현되기 때문에, 현존하는 것 이상의 데이터 속도들로 적은 대기시간을 가지고 신뢰성 있게 비트들을 전송하는 신규한 방법 및 장치를 모색할 필요가 있다. 본원에는 단순함, 저비용, 및 저전력 소비에 치중하면서 상기의 목적들을 충족하는 방법 및 장치가 다수 개시되어 있다.
1970년대 초를 기점으로 하여, 아날로그 전화통신 및 전신의 한계들을 극복하도록 디지털 기술을 적용하는 주요 접근법이 2가지 존재하였다. 한가지 접근법은 고품질의 디지털화된 음성에 치중하는 디지털 전화 통신 네트워크를 구축하는 것이었고 나머지 한가지 접근법은 품질을 희생하고 신뢰도에 치중하는 저장 및 포워드 패킷 스위칭(P-스위칭)에 기반한 디지털 데이터 통신 네트워크를 구축하는 것이었다. 패킷 P-스위칭은 패킷 P-스위칭의 유연성 때문에 그리고 음성 통신 네트워크에 비해 유연성을 유지하면서 품질을 개선하도록 이루어진 막대한 투자 때문에 널리 보급되었다. 디지털화된 음성 결과는 진부화(obsolescence) 단계에 진입하고 있으며 패킷 P-스위칭 접근법은 오래전에 이루어진 구조 및 구현 결정들에 기반한 중대한 한계를 일부 가지고 있다.
네트워크들의 4 가지 기본 방법은 현재의 네트워크 환경에 비해 미래 네트워크의 기능들을 재정의하는데 근본적인 검토가 필요하다. 상기 기본 방법들에는 데이터 캡슐화 방법들, 데이터 P-스위칭 방법들, 패킷 버퍼링 방법들, 및 트래픽 라우팅 방법들이 있다.
제1 실시태양인 데이터 캡슐화는 데이터를 단편화하여 공유 콘테이너에서 한 포인트로부터 다른 한 포인트로 전달가능한 요소들을 이루는 방법을 나타낸다. 소스들은 컴퓨터들, 전화들, 카메라들, 마이크로폰들, 센서들 또는 디지털 형태를 이루고 있는 다른 장치들일 수 있다.
데이터 캡슐화는 디지털 음성 통신 네트워크들에서 매우 제한적이다. 이러한 디지털 음성 네트워크들은 디지털 시분할 다중 계층의 "옥텟(octet)들"을 기반으로 이루어진다. 구현된 바와 같이, 이러한 네트워크들에서는 존재하고 있는 전화 회사의 음성 통신 중심 네트워크들에 의해 드러나게 되는 바와 같이 데이터 트래픽을 다룰 수 있는 능력이 제한된다. 데이터 통신 중심 네트워크들은 음성 통신 네트워크와는 별개로 진화되었다. 이러한 데이터 통신 중심 네트워크들은 데이터를 패킷들로 캡슐화하는 것이 전형적이다. 패킷 다중화는 정보를 각각의 소스 데이터 프레그먼트에 추가하며 각각의 소스 데이터 프래그먼트는 다른 정보 외에도 발신지 및 수신지 위치들을 식별한다. 추가된 정보에는 서비스 클래스, 데이터 포맷 세부들, 오류 검출 및 정정, 및 네트워크 제어와 같은 다른 목적들이 포함될 수 있다. 바꾸어 말하면, 캡슐화는 "헤더들", "옵션들", "오류 제어", 및 다른 매개변수들의 추가를 포함한다. 데이터 캡슐화는 패킷 프로토콜들의 표준화 방법들의 일부로서 프로토콜 "계층들"에 이르기까지 확장한다. 각각의 계층은 명칭(예컨대, 링크, 네트워크, 전송 등등)을 지닌다. 이는 추가의 헤더들 및 다른 정보를 필요로 할 수 있다. 한 네트워크 내에 프로토콜 계층들을 포함하는 것은 일반적으로 패킷들이 길어지게 되는 결과를 초래한다. 결과적으로, 이러한 계층들은 종종 데이터를 전송하는데 필요한 것 이상의 상당한 오버헤드 대역폭을 사용한다.
이러한 헤더들을 사용하는 데이터 캡슐화가 패킷 기반 네트워크들에 있어서는 불가피한 것이지만, 그 방법에는 몇 가지 어려움이 있다. 한 가지 어려움은 요구된 패킷 오버헤드만큼 필요한 대역폭이다. 다른 한 가지 어려움은 디지털화된 음성과 같은 비교적 낮은 데이터 속도 소스들의 비트들로 패킷 버퍼를 채우는데 소요되는 지연이다. 음성을 캡슐화하는 프로세스에서는 짧은 음성 패킷들을 전송하는데 필요하게 되는 훨씬 큰 헤더 대역폭을 극복하는데 수십 밀리초가 소요된다. 그 외에도, 라우터들 내의 패킷 버퍼들은 결과적으로 지연 변이 및 지터가 초래될 수 있게 하는 트래픽을 순조롭게 하는데 필요하다. 여전히 다른 한 가지 어려움은 패킷 헤더에서의 단일 비트 오류라도 패킷들의 잘못된 전달 및/또는 폐기를 야기할 수 있다는 점이다. 그 결과로 라우터들 내에서 폐기된 패킷들을 다시 포워드하는데 상당한 프로세싱을 필요로 하는 것 외에도 지연을 야기하는 데이터가 손실되고 서비스가 중단된다. 본원에는 이러한 제약들을 극복하는 방법들이 개시되어 있다.
제2 실시태양인 C-스위치(C- Switch) 방법은 음성 네트워크에서 매우 단순하지만, C-스위치(C- Switch)의 캡슐화 방법은 데이터 네트워크의 사용을 제한한다. 그러한 데이터 네트워크에서는, 비동기식 P-스위칭 방법을 사용하여 한 수신지로부터 다른 한 수신지로 패킷들을 포워드하는 것이 (대역폭의 상당한 오버프로비저닝(overprovisioning)이 존재하는 동안) 상당한 시분할 다중화를 통한 메시지 전달을 보장하기 위한 타개책이었다. 상기 방법은 불완전한 전송 시설들을 가지거나 위험한 동작 조건들 하에 있는 네트워크에서 발신지로부터 수신지로의 전달을 보장한다. 상기 방법은 또한 정적 시분할 다중화를 통해 현재 존재하는 것보다 효율적인 가용 대역폭의 사용을 보장한다. 그러나, 40년 전에 흔히 있었던 환경들이 현재에는 더 이상 그다지 흔하지 않다. 통계적 다중화를 정적 시분할 다중화와 비교하는 것은 회선 C-스위칭에 비해 패킷의 편익을 "입증하는" 보편적인 방식이다. 이는 시분할 다중화가 적절히 설계되는 경우에 극히 동적일 수 있는 가능성을 간과한 것이다. 이러한 설계는 본원에 나타나 있다.
과거에는, 시분할 다중화가 여러 방식으로 제한되었다. 한가지 방식은 높은 데이터 속도 링크를 정수 분할하여 복수 개의 작은 데이터 속도 링크들을 이루는 인식된 규제이었다. 다른 한가지 방식은 회선으로서의 접속 설정이 전화 통화 동안 접속된 상태에 있었고 버스티 데이터(bursty data)를 다루는데 소요되는 수 밀리초, 수 마이크로초, 또는 수 나노초로 회선 에포크(circuit epoch)를 한정하는 메커니즘이 존재하지 않았다는 것이었다. 셋째로, 접속에 할당된 대역폭, 즉 멀티미디어 및 비디오 애플리케이션들을 위한 가용 대역폭의 효율적인 사용을 이루는 필수 요건을 신속하게 변경하는 방법이 존재하지 않았다.
데이터를 "패킷들"로 배치하는 것은 전화 통신 네트워크와 같은 "온-오프(on-off)" 시스템들의 제약들을 극복하도록 하는 솔루션의 일부로서 드러나게 되었다. 데이터 패킷들은 계속해서 예측되는 미래를 위한 위대한 발명일 것이다. 인터넷 프로토콜이 실제로는 모든 사용자 통신들을 위한 링구아프랑카(lingua franca)가 되었다. 이러한 문맥에서, "어느 곳에서나 IP를 사용함(IP everywhere)"이라는 슬로건을 사용하여 네트워크 에지를 언급하는 것은 좋은 아이디어이다. 이러한 것이 미래를 위해 네트워크 구간들에 적용되어야 할지는 의문의 여지가 상당하다. 본원의 목적은 현재 사례의 단점들을 극복하는 IP 중심의 인터넷에 대한 내부 네트워크 및 다른 네트워크들을 다음 세대에 제공하는 것이다.
사용자 데이터 도달의 임의적(즉, 확률적) 성질이 확률 네트워크 솔루션들을 필요로 함을 요구하는 자연법칙은 존재하지 않는다. 광범위한 오버레이들을 가지고 비동기식 패킷 네트워크들의 확률 특성들을 극복하는 복잡도는 다른 솔루션이 필요하다는 충분한 증거이다. 본 개시내용은 네트워크 복잡도를 감소시키고 C-스위칭 성능을 개선하도록 하는 방법들을 제공한다.
제3 실시태양인 현재의 네트워킹은 오늘날의 네트워크들 내에서의 패킷 버퍼들의 배치이다. 인터넷이 (미국 국방성 내의 아르파넷(ARPANET)으로서) 처음으로 창안되었을 때, 채용된 최소형 컴퓨터들은 미니 컴퓨터들이었다. 미니컴퓨터들이 상당한 처리 능력을 갖는 상업 용도로는 존재하지 않았다. 상업용 입/출력 장치들은 그다지 상당한 처리 또는 저장 능력을 지니지 않았던 단말기들이었다. "버스티" 데이터를 처리하기 위한 그 당시 예상가능한 최선의 방법은 모든 데이터가 도달함에 따라 모든 데이터를 전송할 정도로 충분한 통신 대역폭이 존재하지 않았을 때 미니 컴퓨터들 내에 도달하는 즉시 모든 데이터를 수용하는 것이었다. 메시지 교환용 저장 및 포워드 처리기들과 같은 초기 응답은 내부 선입선출(First-In-First-Out; FIFO) 버퍼들 내에 데이터를 저장하는 것이었다. 상기 버퍼들이 너무 작아서 착신 트래픽 모두를 수용할 수 없었던 경우에, 패킷들을 선택적으로 폐기하는 것은 정체 문제들을 해결하기 위한 선택 방법이 되었다. 이러한 결과에 대해 영향력이 큰 주요 매개변수는 비용이었다. 컴퓨터 데이터 저장은 매우 값비싼 것이었다. 컴퓨터 데이터 저장이 그다지 비싸지지 않음에 따라, 패킷 버퍼들도 커지게 되었다.
내부 네트워크 버퍼들은 현재 네트워크들의 확률적 성질을 높여서 네트워크 복잡도, 지터, 지연, 패킷 손실 속도들, 및 비용을 대단히 증가시킨다. 그 부작용은 고객의 대역폭 사용의 트래픽 셰이핑 및 폴리싱을 필요로 하는 것을 포함한다. 내부 네트워크 버퍼들은 종종 불량한 서비스의 주요인이다. 트래픽 강도가 높은 경우에, 이는 라우터보다 큰 트래픽이 존재하거나 송출 링크들이 다룰 수 있을 때 정체에 직면하게 된다. 해결책으로서 패킷들을 폐기하는 것은 손실된 패킷들을 재전송하는데 데이터 소스들을 필요로 한다. 이는 단지 트래픽 강도가 우선 정체의 원인이었을 때 트래픽을 강화시킬 뿐이다. 오늘날, 대형 컴퓨터 저장 유닛들, 즉 반도체와 아울러 하드 드라이브들의 가격이 싸지고 있다. 대형 컴퓨터 저장 유닛들은 패킷들을 폐기하지 않고 인그레스 포트(ingress port)들에 존재할 수 있다. 그렇기는 하지만, 정체에 대한 독특한 접근법들이 현재의 네트워크 아키텍처들에서 여전히 만연해 있다. 분명한 점으로는, 네트워크 내측 버퍼들이 서비스 품질 또는 성능을 향상시킨다는 점을 반박하는 것이 어렵다는 점인데, 그 이유는 네트워크 내측 버퍼들이 단지 예측되는 성능을 가지지 않고 확률적 "최선의 노력(best efforts)" 서비스를 초래할 뿐이기 때문이다. 이러한 버퍼링 문제들은 최근에 "버퍼 블로트(buffer bloat)"라 언급되어 왔으며 일부 높은 수준의 대기시간에 대한 원인들 및 네트워크 지연에 대한 원인들로 밝혀져 왔다. 질문, 다시 말하면 "여전히 동일한 방법들을 '그것이 우리가 항상 이를 수행해 왔던 방식이기' 때문에 사용하는가?, 아니면 네트워크들의 데이터 전송부 내측에 버퍼들을 배치할 필요가 있는 실제 운영 및 비용 이유들이 존재하는지?" 현재 네트워크들의 결함들 및 지연들이 본 개시내용에 제공되어 있는 방법들에 의해 개선될 수 있다.
제4 실시태양인 패킷 및 회선 교환 네트워크들은 패킷 및 회선 교환 네트워크들의 초점이 접속들의 동적 라우팅에 맞춰져 있다는 것이다. 패킷 교환 네트워크들은 대개 평면인 네트워크의 보더 게이트웨이(border gateway)들을 통해 "자율 시스템(autonomous system)들"을 상호접속시키는데 초점을 맞춘 것이다. 회선 교환(음성) 네트워크들은 단지 2개의 계층에만 시간 경과에 따라 좁혀진 5-중 계층 구조가 원래 있었던 대형 (클래스 4 및 클래스 5) C-스위치에 초점을 맞춘 것이다. 네트워크 아키텍처들은 접속들의 동적 라우팅의 사용을 요구하여 왔다. 수억 개의 (그리고 현재 수천억 개에 이르는) 접속가능한 엔티티들을 서로 접속하는 소위 n -제곱 문제를 극복하는 단순한 변형예가 존재하지 않았었다. [ n 이 접속가능한 엔티티들의 개수인 경우에, 각각의 엔티티가 다른 모든 엔티티에 접속되는 것을 허용하는데 이용가능한 n -1 개의 접속이 존재해야 한다. 필요한 접속들의 개수는 n -제곱에 근접한 n 의 큰 값들에 대해, 네트워크 라우팅 문제들의 공지된 소스인 n × ( n -1)이다.] 본 개시내용에 대한 일반적인 배경은 본원의 발명자 명의로 허여된 '동기화된 적응형 인프라(SAIN)네트워크들(Synchronized Adaptive Infrastructure (SAIN) networks)'에 관한 미국 특허 제5,502,723호 및 제6,041,050호를 포함한다. 본원은 이러한 특허들의 전체내용을 참고로 병합한 것이다. 상기 특허들에는 전송 링크 내에서 통신 채널들을 신속하게 확립하는 독특한 능력들을 구비한 장치 및 다중화 방법들이 기재되어 있다. 다른 공지된 능력들과는 달리, 상기 접근법은 신속한 접속 설정 및 해제를 허용함에 더하여 접속들의 대역폭을 신속하게 변경하는 것을 또한 허용한다.
위의 네트워킹의 4가지 실시태양들과 아울러 다른 실시태양들에 리스트된 현재 기술의 제약들을 극복하는데 초점을 맞춘 하부계층 구조에서 데이터를 스위칭 및 전송하도록 하는 기법들이 당해 기술에 필요하다.
한 실시예에서는, 시간에 기반하고 정확한 어드레스에 대한 전송을 용이하게 하도록 제1 공간/시간 데이터 스트림을 어드레싱하는 방법이 제공된다. 상기 방법은 다수의 접속을 포함하는 접속 도메인에서 제1 데이터 스트림을 하나 이상의 공간/시간 프레임들로 클러스터링하는 단계를 포함하고, 상기 프레임들은 가변 길이들을 지닌다. 한 실시예에서는, 상기 방법이 제1 데이터 스트림의 개시 프레임을 위한 셀렛(cellet)을 포함하여, 제1 데이터 스트림 내의 각각의 프레임에 대한 하나 또는 복수 개의 셀렛들을 추가함으로써 접속 도메인에 슈퍼 프레임(super frame)을 형성하는 단계를 부가적으로 포함한다. 더욱이, 상기 방법은 컴퓨터 하드웨어를 포함하는 컴퓨터 시스템에 의해 상기 슈퍼 프레임을 변환하여 공간/시간 도메인에서 묵시적으로 어드레싱된 제2 공간/시간 데이터 스트림을 형성하는 단계를 또 포함할 수 있다. 상기 방법은 상기 묵시적으로 어드레싱된 제2 공간/시간 데이터 스트림을 사용해 상기 다수의 접속 중 어느 접속에 어느 데이터가 속하는지를 식별하여, 시간에 기반하고 정확한 상기 어드레이스에 대한 전송을 제공하는 단계를 부가적으로 포함할 수 있다.
도 1은 한 실시예에 따른 데이터 전송 및 네트워크 제어로부터의 사용자 데이터의 명확한 계통 분리를 보여주는 도면이다.
도 2는 한 실시예에 따른 SAIN 기법을 사용한 계층적 코어 네트워크 계층들의 선도를 보여주는 도면이다.
도 3은 한 실시예에 따른 기본적인 집성/해체 스위치 쌍들을 보여주는 도면이다.
도 4.1, 도 4.2 및 도 4.3은 특정 실시예들에 따른 E-노드들 및 E-노드들의 T-노드 패런트들의 여러 구성을 보여주는 도면들이다.
도 5는 한 실시예에 따른 20 개의 T-노드 및 80 개의 심플렉스 트렁크들을 갖는 대도시권 통신 네트워크의 예를 보여주는 도면이다.
도 6은 한 실시예에 따른, 발신지 E-노드 - 발신지 패런트(라우팅) T-노드로부터 (필요에 따름) 포워딩 T-노드를 통해 수신지 패런트 T-노드 - 수신지 E-노드로 사용자 데이터를 전달하는데 사용되는 네트워크 대상들의 예시를 보여주는 도면이다.
도 6a는 한 실시예에 따른 패런트 T-노드 T3에 접속해 있는 발신지 E-노드들을 보여주는 도면이다.
도 6b는 한 실시예에 따른 SAIN 아키텍처에서의 포워딩 스위치들을 보여주는 도면이다.
도 6c는 한 실시예에 따른 교차-접속 스위치를 보여주는 도면이다.
도 6d는 한 실시예에 따른 T-노드 T7 레벨 4 포워딩 스위치 연결성 선도를 보여주는 도면이다.
도 6e는 한 실시예에 따른 SAIN 아키텍처에서의 포워딩 스위치들을 보여주는 도면이다.
도 6f는 한 실시예에 따른 패런트 T-노드 T11로부터 접속해 있는 수신지 E-노드를 보여주는 도면이다.
도 7은 한 실시예에 따른, 5개의 E-노드 차일드를 가진 다른 패런트 T-노드에 접속된 3개의 E-노드를 가진 패런트 T-노드의 동작을 예시하는 도면이다.
도 8은 한 실시예에 따른 포워딩 대상을 정의하는데 사용되는 (접속 식별자) CID + 대상 길이를 보여주는 도면이다.
도 9는 한 실시예에 따른 고정 길이 데이터 대상 CID 포워딩 대상을 보여주는 도면이다.
도 10은 한 실시예에 따른 고정 길이 데이터 단일 CID 포워딩 대상을 보여주는 도면이다.
도 11은 한 실시예에 따른 모델 CID 템플릿을 보여주는 도면이다.
도 12는 한 실시예에 따른 C-스위치 선택기의 단일 위치에서의 256개의 예상가능한 CID 각각에 대한 CTTL 테이블을 보여주는 도면이다.
도 13-1은 한 실시예에 따른 m-비트 셀렛 메시지들(데이터만)을 가진 고정 길이 제어 벡터를 보여주는 도면이다.
도 13-2는 한 실시예에 따른 CV 셀렛 어드레스 + 서로 다른 길이의 셀렛 데이터 메시지들을 보여주는 도면이다.
도 13-3은 한 실시예에 따른 복합 제어 벡터, 즉 1-비트 포인터 + m-비트 데이터 메시지들을 보여주는 도면이다.
도 13-4는 한 실시예에 따른, m-비트 메시지를 사용하는 단일 메시지 CV들에 대한 복합 CV들에 대한 상대 효율[복합 CV가 메시지당 단일 CV보다 더 효율적이게 하는데 필요한 최소 비트 벡터 1(%)]을 보여주는 도면이다.
도 13은 제어 벡터들의 여러 실시예를 보여주는 도면이다.
도 14는 제어 벡터들의 더 많은 실시예들을 테이블 형식으로 보여주는 도면이다.
도 15는 한 실시예에 따른 일반 제어 벡터 포워딩 장치를 보여주는 도면이다.
도 16은 한 실시예에 따른 도 5에 도시된 T-노드 쌍들 간의 트렁크들의 연결성 및 전파 대기시간 매트릭스를 보여주는 도면이다.
도 17은 홉 테이블: 한 실시예에 따른 할당된 홉 번호들 및 홉 대기시간들을 갖는 도 5로부터의 발신지 및 수신지 노드 번호들을 보여주는 도면이다.
도 18은 한 실시예에 따른 모델 네트워크에 기반한 네트워크에서 점 대 점 라우트를 개시하는 방법을 보여주는 도면이다.
도 19는 한 실시예에 따른 버스트 잡음에 영향을 받는 링크에서의 오류 정정 해밍 코드들의 예를 보여주는 도면이다.
도 20은 한 실시예에 따른 필요 이상의 대역폭을 필요로 하지 않는 포워딩 노드들의 대역폭들을 변경하는 방법을 예시하는 도면이다.
도 21은 한 실시예에 따른 16 4100-비트 세그먼트들을 사용하는 전형적인 프레임 시퀀스를 보여주는 도면이다.
도 22는 한 실시예에 따른 16 2050-비트 세그먼트들을 사용하는 전형적인 프레임 시퀀스를 보여주는 도면이다.
도 23은 한 실시예에 따른 3-비트 버퍼를 사용하는 플로팅 C-프레임 지터없는 독립동기(plesiochronous) 상태를 보여주는 도면이다.
본원은 다음과 같은 용어, 즉 1) 네트워크라 불리는 회선 기반 네트워크 및 P-네트워크라 불리는 패킷 기반 네트워크; 2) C- Switch 라 불리는 회선 기반 스위치; 이더넷 '스위치'와 같은 P-스위치라 불리는 패킷 기반 스위치; 및 3) C-프레임이라 불리는 회선 기반 프레임; P-프레임이라 불리는 (이더넷 프레임과 같은) 패킷 기반 프레임을 사용하게 된다. SAIN 원리들에 기반한 네트워크는 한 노드로부터 다른 한 노드로 데이터 패킷들 및 다른 통신 형태를 일반적으로 적용가능한 회선 기반 포맷으로 반송(搬送)할 수 있다. SAIN 네트워크에서의 스위칭은 공간/시간 분할 프레임들에 위치하는 셀렛들( cellets )이라 불리는 작은 데이터 요소들을 사용한다. 한 프레임 내에 각각의 셀렛을 배치하는 것은 셀렛이 속해 있는 접속을 정의한다(이러한 포워딩 데이터 접속 방법은 묵시적 어드레싱(implicit addressing)이라 불리게 된다).
본원의 도 1은 (본원에서 "RS1"이라 언급되는) 다음과 같은 특허출원, 즉 발명의 명칭이 "Apparatus and Method for Synchronized Networks"이며 2011년 1월 25일자 출원된 미국 공개특허출원 제2012/0030360호에 나타나 있으며, 상기 미국 공개특허출원의 개시내용 전체가 이로써 참조병합된 것이다. SAIN 언더레이 네트워크(100), 호스트, 단말기, 서버, 또는 네트워크(101), 및 사용자 인터페이스 접속부(290)가 RS1과는 변경되지 않은 상태에 있다.
SAIN 프로토콜 트랜슬레이터(204)는 물리적이거나 소프트웨어적인 장치가 아니다. 이는 본원에 좀더 구체적으로 개시되어 있는 장치를 사용하여 수행되는 프로세스를 나타낸다.
NIC(210)는 '네트워크 인터페이스 컨트롤러(Network Interface Controller)'를 의미한다. 용어 NIC를 사용하는 것은 본원을 당업자에게 좀더 이해하기 쉽게 해주지만, 이는 SAIN 아키텍처에서 특화된 기능을 지닌다. [네트워킹 문헌에서는, 이러한 용어가 종종 본원에서 사용된 바와 같은 약어로 종종 사용되지만, 여러 예에서는, 용어 NIC는 '네트워크 인터페이스 카드(Network Interface Card)'를 의미하는데 사용된다.
도 1의 목적은 SAIN 네트워크의 고유 속성을 보여주는 것이다. SAIN 네트워크의 접속은 한 쌍의 NIC들을 상호접속할 수 있는 한 쌍의 동적-가변-데이터-속도 모뎀들로서의 기능을 수행한다. 상기 한 쌍의 NIC들은 소정 세트의 애플리케이션들에 필요한 프로토콜들 에만 응답해야 한다. 이러한 속성은 SAIN 네트워크를 현재 여러 네트워크보다 훨씬 단순하게 한다. [한 쌍의 NIC들은 추가적이거나 서로 다른 세트들의 애플리케이션들을 지원하도록 하는 매개변수들을 조정할 수 있다.]
도 2는 E-노드 계층(20), T-노드 계층(30), 및 X-노드 계층(40)을 보여준다. 더욱이, 본원의 도 2는 E-노드 계층(20) 하부에 VE-노드 계층(10)으로 라벨링된 가상 E-노드 계층을 포함한다. 이러한 노드의 목적은 상당히 많은 사용자 인터페이스 접속부들(290)을 집성할 수 있게 하는 것이다. VE-노드들의 NIC들(210)은 이하에서 개시되는 확장된 SAIN 언더레이 네트워크(100)에 액세스할 수 있다.
도 3이 RS1에서는 도 13으로서 도시되어 있다. 본 도면은 RS1에 상당히 구체적으로 개시된 SAIN 네트워크의 주요 기본 요소들을 보여준다. 일반 집성 C-스위치(501) 및 일반 해체 C-스위치(502)는 일반 A/D C-스위치 쌍(503)이라 불릴 수 있다. 상호접속 요소들(599)은 네트워크 집성 및 C-스위칭 노드들 간의 트렁크들 내의 링크들인 것이 일반적이다. 트렁크(trunk)들은 RS1에 구체적으로 나타나 있는 SAIN 다중 변환 알고리즘을 사용하여 단지 다중화된 집성들만을 반송한다. 패킷들 및 다른 사용자 프로토콜들은 단지 SAIN 네트워크에 대한 NIC 접속들 내에만 존재한다. 본원의 실시예들에는 이전에 개시된 RS1에서의 기술을 이용한 부가적인 장치 및 방법이 개시되어 있다.
도 5는 RS1에서의 도 16을 수정한 것을 보여주는 도면이다. E-노드들 및 E-노드들의 패런트 T-노드들을 포함하는 네트워크의 2-계층 부분에는, 3 가지 변형이 존재한다. 가장 단순한 버전은 도 4.3에 도시되어 있다. 이는 한 쌍의 NIC들(210) 및 경로 A/D C-스위치 쌍(513)을 포함할 수 있는 단일 E-노드(200)를 보여준다. [다시 말하면, 발신지 E-노드(201)에서의 경로 집성 C-스위치(511)는 수신지 E-노드(202)에서의 경로 해체 C-스위치(512)에 접속해 있다. 대개는, 각각의 E-노드(200)가 복수 개의 경로 집성 C-스위치(511) 및 경로 해체 스위치(512) C-스위치들을 모두 포함한다. 동일한 E-노드에서 2개의 NIC 간에 접속이 이루어지게 되는 경우에, 상기 접속은 심플렉스(simplex)일 수도 있고 듀플렉스(duplex)일 수도 있다. 상기 접속이 듀플렉스인 경우에, 단일 경로 A/D C-스위치 쌍(513)은 각각의 방향으로 트래픽을 반송할 수 있다. 이하에서 언급되겠지만, VE-노드(180)는 참조번호가 서로 다른 E-노드(200)와 동일한 노드로 동작한다.]
도 4.3에서는 T-노드(300)가 필요하지 않지만, 도 4.2에서는 복수 개의 E-노드들(200)을 지니는 단일의 T-노드(300)가 필요하다. 각각의 E-노드(200)에서의 발신지 E-노드(201)는 패런트 T-노드(300)를 통해 상기 패런트 T-노드(300)에 또한 접속된 수신지 T-노드(302)에 접속해 있다. 이러한 경우에, 상기 패런트 T-노드(300)는 발신지 T-노드(301) 및 수신지 T-노드(302) 양자 모두로서, 즉 A/D T-노드 쌍(303)으로서 기능을 수행한다.
도 4.1에는 복수 개의 E-노드들(200)이 구비되어 있으며 상기 복수 개의 E-노드들(200)은 하나의 패런트 T-노드(300)의 발신지 T-노드(301)에 배속되어 있고 상기 하나의 패런트 T-노드(300)의 발신지 T-노드(301)는 한 네트워크에서 다른 한 T-노드(300) 패런트의 수신지 T-노드(302)에 접속해 있다.
도 5에는 T-노드들의 모델 메시 네트워크(model mesh network)가 예시되어 있다. 이는 RS1에서의 도 8과 관련지어 구체적으로 나타낸 것이었다.
도 6은 RS1에서의 도 21을 업데이트한 도면이다. 그의 주된 차이점들은 도 6에 포워딩 노드들에 더하여 다른 장치들에 대한 세부가 포함되어 있다는 점들이다. 그 추가사항들의 영향들이 본원의 개시내용들에 포함되어 있다.
SAIN 네트워크의 기본 구조
비록 다른 구조들이 사용될 수 있지만, 도 2에 도시된 계층 구조는 본원에서 기반이 되는 것으로 사용된 것이다. 그 외에도, 본원을 좀더 이해하기 쉽게 하기 위해, 어드레싱 구조가 계층 구조용으로 사용된다. 그러한 어드레싱 방법을 순응시키는 것은 데이터 저장 및 애플리케이션 처리로부터의 데이터 포워딩 및 스위칭의 분리를 단순화시킬 수 있다.
결정론적 및 확률론적 데이터 양자 모두를 지원하는 네트워크의 생성 방법들
데이터 트래픽의 성질은 인터넷이 약 40년 전에 창안되었던 당시와는 극적으로 달라졌다. 패킷-기반 데이터 포워딩은 전화 회사들의 네트워크가 음성 전용 통신에 대한 솔루션으로서 생성했던 것에 대한 솔루션이었다. 전화 회사들은 음성 통신이 항상 전화 회사들의 주된 업무인 것으로 생각했다. 데이터 통신은 통신의 미래의 아주 작은 부분이라고 간주하였고, 이는 음성 네트워크에 배속된 아날로그 모뎀들을 사용하여 다루어질 수 있었다. 디지털 스위칭 구조는 회선을 기반으로 한 글로벌 음성 네트워크의 구축에 기반하여 이루어졌던 것이다. 시간이 흐르면서, 음성 네트워크가 상당히 연장된 기간 동안 지속하게 되는 접속들을 설정할 수 있는 음성 네트워크의 스위칭 장치를 사용하여 데이터 통신을 위한 고정 세트의 데이터 속도들을 다룰 수 있었던 것으로 인정하게 되었다. 그러한 접근법은 한 데이터 소스로부터 데이터 싱크로 사용자 데이터를 다루는데 적합한 방식이라고 전화 회사들에 의해 추론되었다. 전화 회사들은 잘못 알고 있었던 것이다.
P-스위칭은 미니멀리스트 설계 원칙(minimalist design principle)들을 사용한 음성 네트워크의 설계의 인식되는 단점들 - 비동기식 P-스위칭, 한 네트워크 내의 버퍼들에 과부하가 걸린 경우의 패킷 폐기, 규칙에 어긋난 패킷들을 다루어야 했던 종점(end point)들, 명확한 규칙들 없이 한 종류의 패킷을 다른 한 종류의 패킷과 함께 포워딩하는데 주어지는 우선순위 기반 선호도, 및 쟁점들 간에 있는 것을 극복하도록 창안되었다. 그것은 기지가 있는 많은 사람이 그것의 개발에 기여함으로 인해 대성공을 거두었다. 공교롭게도, 최초의 미니멀리스트 아이디어들은 유념했던 쟁점들과 같은 쟁점들과 맞붙게 되는 매우 복잡한 오버레이 구조를 초래시켰다.
초기에는 '버스티' 데이터 - 다시 말하면 예측할 수 없는 데이터 도달 시간들을 가진 '버스티' 데이터를 다룰 수 있는데 상당 부분 초점이 맞춰져 있었다. 트래픽 밀도가 증가함에 따라, 다수의 문제가 트래픽 밀도와 함께 증가하였다. 이들은 다른 문제들 중에서 패킷 손실, 지터, 지연 변이, 규칙에 어긋난 패킷 전달과 함께 트래픽 정체를 포함한 서비스 품질 쟁점들로서 분류되었다. 문제들을 어느 정도 극복하도록 하는 '치유법들(cures)' 중의 하나는 트래픽 흐름들을 반송하도록 하는 '회선 에뮬레이션(circuit emulation)'의 구현이었다. 이는 네트워킹의 미래에 대한 하나 이상의 실마리(clue)이다. 오늘날의 트래픽은 주로 단순한 회선 기반 능력을 요구하는 '흐름-기반' 주도의 활용 사례이다. P-네트워크에서의 회선 에뮬레이션은 거의 SAIN 네트워크의 단순성(simplicity) 및 확장가능성(scalability)을 극히 높은 데이터 속도들에 매칭하게 될 수 없다.
데이터 서비스에 대해 전화 회사 타입 C-스위칭이 결코 진지하게 고려되지 않았던 근본적인 이유는 일단 접속이 설정된 경우에, 접속의 대역폭이 변경될 수 없었기 때문이었다. 이러한 제한을 극복하는 방법은 SAIN 네트워크들에서 사용되는 미국 특허 5502723 및 그의 계속 특허인 미국 특허 6041050에 기반하여 이루어진 것이고, 상기 미국 특허들의 개시내용들 전체는 이로써 본원에 참조병합된 것이다. 이러한 문헌들에는 원하는 결과들을 달성하는 단순한 방법들이 나타나 있다. SAIN 네트워크를 위한 SAIN 다중 변환으로서 사용될 수 있었던 다른 알고리즘 방법들이 있지만, 상기 특허들에 나타나 있는 방법들은 현재 오프 소스(open source)이며 단순하다.
데이터 통신 요구들이 40년 전과는 매우 다르다. 데이터 트래픽은 기하급수적으로 증가하고 있으며 그의 대부분은 매우 회선 지향된 비디오 및 스트리밍 데이터이다. 동기화된 노드들을 가지고 네트워크를 구축하는 것은 데이터 전달 메커니즘이 회선 기반 방법들을 사용하는 경우에 P-스위칭의 서비스 품질 쟁점들을 극복할 수 있다. SAIN 접근법은 확장가능성, 신뢰성, 가용성(availability), 에너지 효율, 및 여러 성능 쟁점과 함께 서비스 품질(Quality of Service; QoS) 쟁점들을 극복한다. 존재할 수 있는 유일한 QoS 메트릭은 사용자의 요건들을 충족시키도록 조정될 수 있는 패킷 지연이다. 다시 말하면, 요건들은 발신지 네트워크 포트로부터 수신지 네트워크 포트로 패킷을 전달하는데 소요되는 시간에 따라 달라진다. 모든 방법들은 네트워크 지연 외에도 전파 지연을 고려해야 한다. 이러한 지연에 더해서, 고주파 트레이딩(high frequency trading)은 1 마이크로초 이하를 필요로 할 수 있으며; 실시간 양방향 음성 및 화상 대화의 전송은 10 밀리초를 필요로 할 수 있고, 화상의 전송은 1초를 필요로 할 수 있으며, 한 장소로부터 다른 한 장소로 대용량 파일들을 전송하는 것은 수 분 또는 수 시간 이루어지도록 스케줄링될 수 있다. 이러한 변이들은 사용자의 관점에서 볼 때 비용 기반으로 이루어지게 되며 서비스 제공자에게 유익한 비용 효율적인 비율들을 제공할 수 있다.
SAIN 네트워크에서의 해체 분할 방법들
네트워크를 대상들 간의 복수 개의 2-점 접속들로 분할하는 것은 네트워크의 아키텍처를 크게 단순화시킬 수 있다. (그러한 대상들의 리스트는 문단 O의 개시부분에 열거되어 있다.) 네트워크 대상들 간의 의미론적인 연결성(semantic connectivity)을 최소화시키는 것은 복잡도를 최소화시킬 뿐만 아니라, 네트워크 보안성 및 다른 네트워킹 측면들을 향상시킬 수 있다. 제어된 의미론적인 연결성은 네트워크 내의 각각의 대상이 신뢰할 수 있는 것으로 쉽게 인증될 수 있는 제한된 개수의 의미론적인 연결들을 제외하고 네트워크 내의 각각의 대상이 다른 모든 대상으로부터 의미론적으로 해체되게 함으로써 달성될 수 있다. 그러한 연결들은 본원에 개시되어 있는 특정 기능성을 지원할 수 있는 고유 시스템 대상들로서 이하에서 언급되는 제어 벡터(Control Vector; CV)들을 사용하여 구현될 수 있다.
SAIN 네트워크에서의 해체 분할은 다음과 같은 것들을 이용할 수 있다.
1. 물리적 대상들 및 물리적 대상들의 상태들: SAIN 네트워크 내의 각각의 물리적 대상은 SAIN 네트워크 내의 각각의 물리적 대상이 다른 물리적 대상에 대한 의미론적인 연결을 지니지 않는 경우에 다른 모든 물리적 대상으로부터 해체된다. 좀더 구체적으로 기술하면, 2개의 대상은 상기 대상들 중 하나의 대상의 상태 변경이 다른 대상의 상태 변경을 초래시키지 않는 한 해체된다.
2. 동기화된 상태 대상들: 서로에 대해 동기화된 상태들을 가진 2개의 대상의 의미론적인 연결이 하나 또는 복수 개의 시스템 프로세스들을 제어할 수 있다. 자신들의 공간/시간 동기화된 상태들을 포함하는 대상들은 새로운 해체 대상을 한정할 수 있다. (이하에서 구체적으로 개시되는) 제어 벡터는 발신지 및 수신지 대상들 간의 통신 시설을 통해 하나 또는 복수 개의 메시지들을 전송함으로써 상태들의 동기성(synchrony)을 달성할 수 있다.
임의의 네트워크의 부분들이 상기 네트워크의 다른 부분들로부터 해체되게 하는 것은 어느 한 네트워크에서의 우수한 프라이버시(privacy) 및 보안성을 이루는데 필수적인 중요한 능력이다. 이러한 능력은 P-네트워크들에서 물리적으로 해체된 패킷들에 의존할 수 없다. 각각의 패킷이 네트워크를 통하게 됨에 따라 물리적으로 해체될 수 없는 어드레스 포워딩 정보를 각각의 패킷이 포함한다. 바꾸어 말하면, P-네트워크에서 패킷들을 포워딩하기 위한 주요한 요건은 패킷들의 라우팅을 가능하게 하는 어드레스, 라벨, 또는 태그를 포함하는 것이다. 현재의 P-네트워크 P-네트워크들에서, 이러한 능력은 암호화 방법을 이용하여 P-네트워크를 논리적으로 계층화된 구조로 분할할 수 있다. 이러한 아키텍처에서는, 이러한 목적을 위해 창안된 오버레이 프로토콜들이 다수 존재한다. 이는 많은 오버레이 프로토콜이 전체 P-네트워크에 영향을 주는 연속 발명의 경우에서 기하 급수적으로 증가하는 엄청난 복잡도를 초래시켰다. P-네트워크의 일부가 엄밀히 해체되게 하는 것은 매우 어려울 수 있다. 한 네트워크에서, 대상들이 해체되게 하는 것은 사용자 및 제공자 프라이버시 및 보안성을 강요할 수 있는 네트워크의 능력에 관련된 긍정적인 파생 효과들을 지닌다.
SAIN 네트워크 및 현재 사례 간에는 적어도 3 가지 근본적인 차이가 존재한다. 이들은 다음과 같은 것들이다.
1. SAIN 네트워크는 하부층(underlayer)으로서 나머지 모두로부터 네트워크 노드 중에서 묵시적 어드레스 형태를 이루는 데이터 전송을 분리시킨다. 하부층은 사용자 및 다른 P-네트워크 프로토콜들로부터 독립적이지만, 사용자 및 다른 P-네트워크 프로토콜들을 의미적으로 지원할 수 있다. 하부층의 관리는 단지 SAIN 노드들에서만 이루어짐으로써 SAIN 네트워크 경계 외부의 데이터 소스들 및 프로토콜들이 SAIN 네트워크의 제어 플레인 내로 관통할 수 없게 한다. 인그레스(ingress) 포인트들에서의 SAIN 네트워크 인터페이스 컨트롤러(Network Interface Controller; NIC)는 단지 하나 이상의 에그레스(egress) 포인트들에서의 양립가능한 NIC와만 통신할 수 있다. 이러한 포인트들은 현존하는 P-네트워크 대상들 간의 의미론적인 연결성을 허용한다.
SAIN 네트워크에 내재하는 모든 노드들은 공통 소스에 대한 타이밍을 하부층 네트워크에 내재하는 다른 모든 노드들과 동기화한다. 한 실시예에서는, 복수 개의 노드들이 대부분의 나라들에서 폭넓게 이용되고 있는 협정 세계시(Coordinated Universal Time; UTC) 소스들과 상호접속한다. 이는 상기 복수 개의 노드들이 다른 네트워크들과 동기화하게 한다. UTC 액세스 및 P-네트워크 대상들을 가지지 않는 독립 네트워크들은 독립동기 타이밍 방법(plesiochronous timing method)들을 사용하는 SAIN 네트워크를 통해 상호접속할 수 있다.
위의 단락 0에서 정의된 바와 같은 SAIN 네트워크 내의 모든 대상들은 다른 모든 대상으로부터 해체될 수 있다. 이러한 기본적인 특징은 다음과 같은 이점들을 지닌다.
SAIN 네트워크 내에서의 접속 제어는 데이터 트래픽 및 서로로부터 해체될 수 있는 이하에서 논의되는 제어 벡터(CV)들을 이용한다. 노드 쌍들을 포함하는 CV 집성들은 트래픽을 반송하는 라우트들로부터 해체되어 있는 라우트들을 사용할 수 있다.
사용자 데이터 패킷들 및 다른 트래픽은 SAIN 네트워크 내에 명시적으로 존재하지 않는데, 그 이유는 사용자 데이터 패킷들 및 다른 트래픽은 단지 인그레스 및 에그레스 NIC들에서만 존재하기 때문이다. 다시 말하면, NIC들은 인그레스 및 에그레스 프로토콜 양립성을 관리한다. 상기 NIC들은 인그레스 발신지 노드들 및 에그레스 수신지 노드들 간의 단 대 단(end-to-end) 모뎀과 같은 접속들을 설정하는 것을 허용하는 SAIN 컨트롤러에 대한 정보를 핸드 오프(hand off)한다.
네트워크 보안 강화들은 적어도 2 가지 방식으로 존재한다.
어떠한 네트워크 대상이라도 다른 한 대상 내의 상태가 대상 쌍을 접속하도록 하는 CV 또는 등가의 방법을 사용하지 않고 변하게 할 수 없다. 대상 연결성에 영향을 주는 CV들 또는 등가물들은 SAIN 네트워크의 동작 경계 내의 SAIN 소스 대상의 단독 제어하에 있을 수 있다.
SAIN 네트워크 토폴로지(topology)는 연결성에 관한 한 위치 중심일 수 있다. SAIN 네트워크 내의 2 개의 노드 간의 지연 및 대역폭 가용성의 측정은 실시간을 기반으로 하여 측정할 수 있다. 바꾸어 말하면, 매개변수들의 측정은 네트워크 컨트롤러들이 에포크 기간(epoch period)들을 설정할 수 있는 에포크들에서 이루어질 수 있다. 이러한 능력은 전기적 거리(electrical distance)가 알고 있는 경계들 내에 있음을 발신지 노드가 결정할 수 있게 해 준다.
SAIN 네트워크의 해체 대상들의 역할들
이하의 섹션들에는 SAIN 네트워크에서 유용한 대상들 중 일부 대상들이 정의되어 있다.
a. SAIN 네트워크의 해체 물리적 대상들
물리적 대상은 하나 또는 복수 개의 상태들을 지닐 수 있다. 물리적 대상의 상태(들)가 다른 대상들의 상태(들)로부터 독립적인 한은, 상기 물리적 대상이 다른 대상들로부터 해체된다. 그러한 물리적 대상들은 이하의 것들을 포함하지만 이하의 것들에 국한되지 않는 카테고리 타입들 내에 그리고 이하의 것들을 포함하지만 이하의 것들에 국한되지 않는 카테고리 타입들 중에 존재할 수 있다.
1. 사용자들, 단말기들, 및 다른 P-네트워크들 및 네트워크들에 대한 인그레스/에그레스 포트들
2. 인그레스/에그레스 NIC 쌍들
3. SAIN 네트워크 대상들에 대한 트렁크들 및 SAIN 네트워크 대상들 간의 트렁크들 [한 트렁크는 어느 한 논리적인 연결성으로부터 독립적인 물리적 연결이다.]
4. 한 네트워크 내측의 선입선출(First-In-First-Out; FIFO) 인그레스/에그레스 버퍼들 및 셀렛 포워딩 버퍼들 [한 셀렛은 다수의 바이트만큼 많을 수 있고 한 비트만큼 적을 수 있는 트렁크 또는 링크 내의 포워드된 트래픽의 할당량이다. 할당량 크기의 선택은 네트워크 전반에 걸친 것일 필요가 없는데, 이는 연결된 대상 쌍들의 의미론적인 의미에서 국부적이다.]
5. SAIN C-스위치들(경로 레벨 1, 집성 레벨 2, 집성 레벨 3, 및 포워딩 레벨 4)
6. SAIN 교차 접속 스위치들
7. 반도체 및 광학 게이트들
8. CV 컨트롤러들
9. 네트워크 컨트롤러들
10. VE-노드 물리적 구조들
11. E-노드 물리적 구조들
12. T-노드 물리적 구조들
13. X-노드 물리적 구조들
14. 필요에 따라 VE-, E-, T-, 및 X-노드 도메인들을 상호접속하는데 도움을 주도록 하는 다른 물리적 구조들
b. SAIN 네트워크의 해체 논리적 대상들
SAIN 네트워크의 논리적 대상들은 이하의 것들을 포함할 수 있지만 이하의 것들에 국한되지 않는다.
1. 한 네트워크에 내재하며 한 네트워크에 배속되어 있는 물리적 대상들의 논리적 어드레스 및 글로벌 어드레스
2. 연결성 테이블들
3. 물리적 대상 및 논리적 대상의 위치 테이블들
4. 한 세트의 네트워크 노드들 중의 루프가 없는 라우트들의 테이블들
c. SAIN 네트워크의 소프트웨어 대상들
SAIN 네트워크의 소프트웨어 대상들은 이하의 것들을 포함할 수 있지만 이하의 것들에 국한되지 않는다.
1. 제어 벡터 설정 및 인스턴스 생성(instantiation) 소프트웨어
2. 제어 벡터 관리 및 변경 소프트웨어
3. 대역폭 관리 소프트웨어
4. 라우팅 관리 소프트웨어
5. 네트워크 관리 소프트웨어
6. 네트워크 복구 소프트웨어
2. 데이터 집성 및 해체 방법들
도 6에는 발신지 T-노드(301) 및 포워딩 T-노드들(303)에서의 레벨 4 L4 집성 포워딩 C-스위치들(541)의 세부들이 도시되어 있다. 또한 도 6에는 포워딩 T-노드들(303) 및 수신지 T-노드(302)에서의 L4 해체 포워딩 C-스위치들(542)이 도시되어 있다. 도 6의 동반 도면들은 RS1 도면들, 즉 도 19, 도 20, 도 21, 도 22a, 도 22b, 도 23, 도 24 및 도 25로부터 업데이트된 도면들이다.
도 7에는 레벨 4 L4 A/D 스위치 쌍들(543)에 접속해 있는 SAIN 네트워크 데이터 집성 노드들을 포함하는 RS1에 개시된 방법들의 향상된 세부들이 도시되어 있다. 상기 도면에는 패런트 발신지 T-노드(301)에 접속된 3 개의 E-노드(200)를 지니는 네트워크가 도시되어 있다. 상기 발신지 T-노드(301)는 5개의 수신지 E-노드(202) 차일드를 지니는 수신지 T-노드(302)에 접속해 있다. 데이터 집성 및 해체 방법들의 동작에 대한 세부들을 명확하게 설명하기 위하여, 상기 도면에는 단지 하나의 발신지 E-노드(201)만의 세부들이 도시되어 있다. 발신지 E-노드(201)의 패런트는 발신지 T-노드(301)이다. 발신지 T-노드(301)는 수신지 T-노드(302)에 접속되어 있으며 수신지 T-노드(302)는 5개의 수신지 E-노드(202) 차일드를 지닌다. 상기 3 개의 발신지 E-노드들(201) 각각에서는, 5 개의 수신지 E-노드(202)에 상응하는 5개의 경로 집성 스위치(511)가 존재한다. 각각의 경로 집성 스위치(511)는 발신지 E-노드(201) 및 수신지 E-노드(202) 간의 접속을 나타낸다. 3 개의 발신지 E-노드(201)에서부터 5 개의 수신지 E-노드(202)에 이르기까지 트래픽을 반송하는 15 개의 경로 집성 스위치(511)가 존재한다. 각각의 수신지 E-노드(202)는 3 개의 발신지 E-노드(201)에 상응하는 3 개의 경로 해체 스위치(512)를 지닌다. 상기 발신지 E-노드(201) 중 하나의 발신지 E-노드(201) 내의 각각의 경로 집성 스위치(511)는 수신지 T-노드(302)인 패런트를 지니는 수신지 E-노드들(202)의 각각의 수신지 E-노드(202) 내의 경로 해체 스위치(512)와 매치(match)한다.
각각의 경로 집성 스위치(511)는 레벨 2 L2 발신지 집성 스위치(521)에 접속해 있는 발신지 경로(711)를 생성한다. 발신지 E-노드(201) 내의 L2 발신지 집성 스위치들(521)의 개수는 상기 네트워크 내의 E-노드들(300)의 개수와 동일하다. 도 6에 도시된 모델 네트워크에서는, 한 네트워크에서의 20 개의 L2 발신지 집성 스위치(521)를 초래시키는 상기 네트워크에서의 20 개의 E-노드(300)가 존재한다. 도 7에 도시된 훨씬 적은 네트워크에서는 설명의 단순화를 위해 한 수신지 T-노드(302)에 접속해 있는 단지 하나의 발신지 T-노드(301)만이 구체적으로 설명될 것이다.
도 7에서는, 각각의 L2 발신지 집성 스위치(521)의 출력이 특정 수신지 T-노드(302)를 통과하는 발신지 E-노드(201)에서 비롯된 모든 트래픽을 포함하는 발신지 L2 집성 슈퍼 경로(721)이다. 도시된 경우에서는, L2 발신지 집성 스위치(521)가 도시된 L2 발신지 집성 스위치(521)의 5 개의 발신지 경로(711)를 집성한다. 3개의 발신지 E-노드(201) 각각은 5 개의 수신지 E-노드(202) 중 하나에 존재하는 5개의 경로 해체 스위치(512) 각각에 트래픽을 반송하도록 하는 5개의 경로 집성 스위치(511)를 지닌다. 각각의 경로 집성 스위치(511)는 쌍을 이룬 에그레스 NIC들에 연관된 특정 수신지 E-노드(202)용으로 지정된 발신지 E-노드(201) 내에 모든 데이터 입력용 인그레스 NIC들을 집성한다.
도 6에서의 발신지 E-노드(201)가 모델 네트워크용으로 20개의 L2 발신지 집성 스위치(521)를 지니기 때문에, 20개의 L2 발신지 집성 스위치(521)는 20개의 발신지 L2 집성 슈퍼 경로를 생성한다. 이러한 20개의 슈퍼 경로를 패런트 발신지 T-노드(301)에 반송하는 것은 다른 레벨의 집성을 필요로 한다. 이는 본 도면에 도시된 발신지 L3 집성 슈퍼 경로(731)의 역할이다. 도시된 다른 모든 대상들과 같이 잉여(redundancy)로 생성된 하나 이상의 발신지 L3 집성 슈퍼 경로(731)가 존재할 수 있지만, 논리적으로는 단지 하나만이 필요하다.
또 도 7에서는, 수신지 T-노드(302)에서의 L3 해체 스위치(532)는 발신지 L3 집성 슈퍼 경로(731)를 해체할 수 있다. 여기서 유념할 점은 2개의 슈퍼 경로 콜아웃(superpath callout) 간의 물리적 차이가 존재하지 않기 때문에 이러한 슈퍼 경로가 명료함을 위해 상기 수신지 T-노드(302)에 내재하는 수신지 L3 해체 슈퍼 경로(732)로 된다는 점이다.
도 5의 모델 네트워크에서는, L3 해체 스위치(532)로부터의 출력이 20개의 수신지 L2 해체 슈퍼 경로(722)이며, 20개의 수신지 L2 해체 슈퍼 경로(722) 각각은 교차 접속 스위치(570)에 접속해 있다. 본 도면에는 20개의 교차 접속 스위치(570) 중 단지 하나만이 도시되어 있는데, 그 이유는 발신지 T-노드(301)에 존재하는 상기 네트워크 내에 각각의 T-노드(300)에 대한 하나의 교차 접속 스위치(570)가 존재하기 때문이다. 교차 접속 스위치(570)의 목적은 발신지 L2 집성 슈퍼 경로들(721)을 재집성하여 발신지 T-노드(301) 내의 경로 집성 스위치(511)에 의해 생성된 모든 발신지 경로(711)가 상기 네트워크 내의 수신지 E-노드들(202) 중 하나에 내재하는 수신지 경로(712)로 되게 하는 것이다.
도 7에 도시된 교차 접속 스위치(570)는 도시된 L3 해체 스위치(532)로부터 수신지 L2 해체 슈퍼 경로(722)를 수취한다. 교차 접속 스위치(570) 내부에는 발신지 T-노드(301)에 접속된 발신지 E-노드들(201) 각각에 대한 L2 해체 스위치(522)가 존재한다. L2 해체 스위치들(522)에 의해 생성된 15개의 수신지 경로(712)가 존재한다. 각각의 수신지 경로(712)는 수신지 T-노드(302)의 수신지 E-노드(202) 차일드들에 위치해 있는 L2 해체 스위치들(522)로 유동하는 L2 집성 슈퍼 경로들(721)을 생성하는 L2 발신지 집성 스위치(521)로 입력되는 발신지 경로(711)로 된다. 여기서 유념할 점은 교차 접속 스위치(570)에서 15개의 수신지 경로(712)를 생성하는 3개의 L2 해체 스위치(522)가 존재한다는 점이다. 또한, 각각이 5개의 L2 발신지 집성 스위치(521)를 위한 발신지 경로들(711)로 되는 15개의 수신지 경로(712) 중 3개의 수신지 경로를 집성하는 5개의 L2 발신지 집성 스위치(521)가 존재한다.
발신지 T-노드(301)에서의 각각의 L3 집성 스위치(531)는 3개의 L2 집성 슈퍼 경로(721)를 발신지 L3 집성 슈퍼 경로(731)로 집성한다. 상기 네트워크는 상기 네트워크의 슈퍼 경로를 수신지 E-노드들(202)을 향해 포워딩할 수 있다. 교차 접속 스위치(570)에 접속된 발신지 L3 집성 슈퍼 경로(731)는 15개의 재집성된 L2 집성 슈퍼 경로(721)를 수신지 T-노드(302)에 반송한다. 분명한 점으로는, 집성된 경로 집성 링크들(710)의 개수 및 상기 집성된 경로 집성 링크들(710)의 대역폭들의 합이 교차 접속 스위치(570)의 양 측면들 상에서 동일하다는 점이다. 이는 또한 L2 슈퍼 경로(720)에 대하여도 사실이다.
수신지 T-노드(302)에는 발신지 T-노드(301) 내의 L3 집성 스위치(531)와 쌍을 이루는 L3 해체 스위치(532)가 존재할 수 있다. L3 집성 스위치(531)에 의해 생성된 발신지 L3 집성 슈퍼 경로(731)는 본원의 다른 부분에 개시된 포워딩 노드들을 통과한다.
도 7에 도시된 수신지 T-노드(302)는 본 도면에 도시된 L3 집성 스위치(531)와 쌍을 이루는 L3 해체 스위치(532)를 포함한다. 그의 출력은 교차 접속 스위치(570)에 구성되는 5개의 재집성된 발신지 L2 집성 슈퍼 경로(721)이다. 상기 L2 집성 슈퍼 경로들(721) 각각은 수신지 T-노드(302)를 통해 자신의 차일드 수신지 E-노드들(202)로 유동하는 의미를 지니게 되는 L2 집성 슈퍼 경로들(721)을 형성하는 것으로 전용되는 그러한 교차 접속 스위치들(570)에 의해 생성된 L2 집성 슈퍼 경로들(721)을 전달하는 L3 집성 스위치(531)에 접속해 있다.
도 7에 도시된 5개의 수신지 E-노드들(202) 각각 내에는 패런트 수신지 T-노드(302) 내의 L3 집성 스위치(531)와 쌍을 이루는 L3 해체 스위치(532)가 존재한다. L3 해체 스위치(532)로부터의 출력은 발신지 T-노드(301) 내의 교차 접속 스위치(570) 내의 발신지 L2 집성 슈퍼 경로(721)와 쌍을 이루는 수신지 L2 해체 슈퍼 경로(722)를 포함한다. L2 해체 스위치(522)로부터의 3개의 출력은 수신지 E-노드(202) 내의 3개의 경로 해체 스위치(512)에 접속해 있을 수 있다.
경로 집성 스위치(511)에서부터 경로 해체 스위치(512)에 이르기까지 데이터를 전달하는데 취해진 동작들을 요약한 것이 단일 홉 접속이다. 사용된 2개의 L2 발신지 집성 스위치(521)/L2 해체 스위치(522) 쌍이 존재한다. 그 외에도, 사용된 3개의 L3 집성 스위치(531)/L3 해체 스위치(532) 쌍들이 존재한다. 다시 말하면, 2-홉 레벨 2 접속 및 3-홉 레벨 3 접속이 존재한다. 이러한 접속들은 단지 수 나노초 동안 종종 지속하는 짧은 C-프레임들에서 포워딩되는 대용량 데이터 집성들만을 다룬다. 그 결과는 극히 적은 지연을 가지고 한 사용자 포트로부터 다른 한 사용자 포트로 포워딩하는 1-홉(hop)이다. 사용자 접속들은 결정론적 대역폭을 가진 결정론적 라우트들을 통해 유동한다. SAIN 네트워크의 결정론적 성질은 단지 단일의 서비스 품질 매개변수 - 단 대 단 지연만을 요구하는 결과를 초래시킨다.
3. 집성 계층구조에서 이용가능한 확장 방법들
4. 단일 스택 선택기 위치에 복수 개의 접속들을 배치하는 방법 및 장치
접속 식별자(Connection Identifier; CID)들은 RS1에 간략하게 기재되어 있다. 네트워크 내의 각각의 CID는 인그레스 노드에서 제거되고 에그레스 노드에서 복원될 수 있는 패킷의 부분들을 언급하는 에일리어스(alias)일 수 있다. 이는 적어도 6 가지의 이점을 제공할 수 있다. 상기 이점들은 다음과 같다.
1. 발신지 및 수신지 어드레스들 및 다른 패킷 필드들과 같은 패킷들의 정적 부분들을 제거함으로써 네트워크 대역폭을 절약함;
2. 각각의 패킷 또는 흐름에 대해 개별적으로 단 대 단 방식으로 전송되는 메시지를 달리 요구하게 되는, NIC들의 포트 접속들과 같은 접속들에 관련된 정적 정보를 주입함; [주: 이러한 목적으로 CV들을 사용하는 것은 복잡하지 않지만, 대역폭 및 처리 전력을 낭비하게 된다.]
3. 데이터, 즉 시간 스탬프들을 사용하여 과거 내의 에포크 기반 접속을 통해 전송되는 배속된 CID가 프리펜드된 패킷들을 마킹함; 이는 이용가능한 CID들이 존재하는 것보다 많은 접속들이 존재하는 경우에 가장 오래된 CID의 폐기를 가능하게 할 수 있다; [주: 그 이점은 패킷 흐름들 및 돌발적으로 나타나는 패킷들 모두에 적용될 수 있다.]
4. 하나 또는 복수 개의 CID 에일리어스들에 대해 매개변수 테이블들을 정의함;
5. 서로 다른 패킷 타입들과 함께 사용가능한 매개변수 테이블 템플릿들을 정의함;
6. 하나 또는 복수 개의 에포크들에서 입력 버퍼들로부터 그룹을 클리어하게 하는 기간 동안 자신의 개시 포트 또는 다른 방법에 의해 결정되는 패킷 그룹에 대역폭의 양을 할당함. [주: 상기 그룹 내의 각각의 패킷에 대한 지연은 상기 기간 동안 전체로서 상기 그룹에 할당된 대역폭의 양에 반비례한다. 각각의 패킷의 지연은 상기 기간 동안 적용된 대역폭으로 나눠진 그룹의 크기이게 된다. 보장된 전달에 대하여는, 각각의 패킷이 에포크 기간보다 짧은 기간에 전달받게 된다. 다시 말하면, 복수 개의 패킷들은 모두가 한 에포크 동안 포워딩되게 하도록 충분한 대역폭으로 할당될 수 있다.]
도 8에는 일반 집성 C-스위치(501)/일반 해체 C-스위치(502) 쌍 내의 접속 위치에서의, 다시 말하면 A/D C-스위치 쌍(503)에서의 일련의 패킷들이 도시되어 있다. 각각의 패킷은 2개의 헤더 필드 - CID 및 길이 필드를 지닐 수 있다. 이러한 접근법은 각각의 패킷이 후속 외양에서 서로 다른 길이를 지닐 수 있는 경우에 필요하다. 소정의 패킷의 길이가 고정되어 있는 경우에, 소정의 패킷의 길이는 소정의 패킷의 CID 설명의 일부로서 엠베드(embed)될 수 있다. 에포크로부터 에포크로 변하는 길이들을 지니는 패킷들만이 한 에포크 내에서 전송된 패킷 길이들을 필요로 한다.
도 9에는 각각이 동일한 길이를 지니거나 자신의 특정 CID에 대한 설명으로 정의된 길이를 지니는 일련의 패킷들이 도시되어 있다. 도 10에는 동일한 CID를 가진 고정 길이의 각각의 패킷에 대한 단일 소스로부터의 흐름인 패킷 시퀀스가 도시되어 있다. 상기 패킷들 및 도 9 및 도 10의 경우에, 각각의 패킷의 길이는 발신지에서부터 수신지 C-스위치로 CV 내에서 전송될 수 있다. 도 10에서는, 단일 CID 서수(ordinal) 및 패킷 길이 양자 모두가 단일의 CV를 사용하여 스위치 스택 선택기(120)에서 자신의 위치에 의해 정의된 흐름의 지속기간 동안 발신지로부터 수신지로 정보를 전송할 수 있다.
제어 벡터(CV)들은 발신지 대상 상태들과 수신지 대상 상태들을 매치하는데 유용하다. CV들을 사용하는 CID들은 수신지 NIC에서의 패킷들의 정적 부분들을 발신지 NIC에서의 패킷들의 정적 부분들과 매치하는데 레벨 1 집성들에서 특히 유용하다. CID는 또한 물리적 포트 어드레스들, 패킷 타입 매개변수들, VLAN 어드레스들, 및 (802.1Q 필드들보다 훨씬 클 수 있는) VPN 어드레스들과 같은 패킷 내에 포함되지 않은 정적 정보를 위한 에일리어스일 수 있다. 각각이 CID 헤더를 지니는 복수 개의 패킷들은 경로 A/D C-스위치 쌍(513)에 내재하는 C-스위치 스택 선택기(120) 내의 위치에 주입될 수 있다.
이러한 프로세스는 가변-길이 패킷 또는 고정-길이 패킷에 적용될 수 있다. 이러한 접근법은 패킷 P-네트워크 내의 FIFO 버퍼들을 구현하도록 하는 단지 다른 한 방식인 것으로 보일 수 있다. 주된 차이점은 결과가 확률론적인 것이 아니라 결정론적인 것이라는 점이다. 미리 결정된 대역폭의 양을 복수 개의 패킷들에 적용하는 것은 복수 개 전체가 하나 또는 정의된 개수의 에포크들 동안 전달되게 할 수 있는 것이다. 확률론적인 패킷 P-네트워크에서 필요한 서비스 품질 메트릭들은 SAIN 네트워크에서 요구되지 않는다 . SAIN 네트워크에서 필요한 유일한 메트릭은 여러 서비스 타입에 요구되는 지연이다.
종래의 P-네트워크에서는, 시스템이 물리적 접속에서 패킷의 개시부분을 찾을 수 있게 하기 위해 패킷들이 패킷 프레이밍 포즈(packet framing pause)들에 의해 분리된다. 이더넷 패킷은 예를 들면 총 256 비트(32 바이트)에 대해 적어도 160 비트의 인터프레임 갭 및 다른 프리앰블 프레이밍 + 96 비트의 MAC 어드레스를 사용할 수 있다. SAIN 단일-홉 동기화된 노드 네트워크에서는, 복수 개의 패킷들이 패킷 길이를 사용하여 패킷들의 범위를 정할 수 있다. (예방 조치로서, 각각의 패킷의 길이는 수신된 바이트들의 개수를 카운트하고 패킷이 FIFO 버퍼를 채울 때 수신된 바이트들의 개수를 패킷의 길이 필드에 비교함으로써 검증될 수 있다. 그 외에도, 고성능 NIC(210)는 착신 패킷이 오류 없이 수신되었음을 보장하도록 착신 패킷의 CRC를 사용할 수 있을 것이다. 어느 경우든 간에, 오류가 생기는 경우에, 메시지는 CV에 의해, 다시 말하면 결정론적으로(즉, 이미 알고 있는 기간에) 패킷 소스에 전송될 수 있다.
SAIN 네트워크에서 패킷들을 전송하는 유용한 방법은 소스 할당 FIFO 버퍼들(243)이 단일의 에포크에서나 정수 개의 에포크들 내에서 복수 개의 전체 패킷들을 포함함을 상기 방법이 보장할 수 있다는 것이다. 이는 경로 해체 C-스위치(512)에서 CID-헤드 패킷들 간의 경계들을 결정하는 것을 단순화한다.
네트워크들은 여러 인터넷 엔지니어링 태스크 포스(Internet Engineering Task Force; IETF) RFC(Request for Comment)를 참고로 사용할 수 있다. 주된 RFC는 RFC 5795 ROHC(Robust Header Compression Framework)이다. 이러한 RFC는 또한 (168 페이지를 포함하는) 긴 참고 문헌으로서 RFC 3095를 사용한다. 다른 한 RFC 3759는 RFC 3095를 업데이트한다.
다중-홉 P-네트워크들에서 헤더 압축을 효율적으로 사용한다는 점에 비해 단일-홉 SAIN 네트워크에서 헤더 압축을 효율적으로 사용한다는 점에서 주된 차이점이 존재한다. 발신지 E-노드(201) 또는 발신지 VE-노드(181)에서 판독가능한 형태로 존재하는 패킷은 단지 하나의 다른 장소, 즉 수신지 E-노드(202) 또는 수신지 VE-노드(182)에서만 각각 판독가능한 형태로 존재한다. 다시 말하면, SAIN 네트워크 내에서 분해된 형태로 전체 패킷들을 포워딩하는 중간 노드들이 존재하지 않는다. 이는 상당한 단순화 및 CID들의 사용에 대한 중요성을 초래시킨다.
NIC(210)의 진입시, 프로세서는 패킷의 MAC 어드레스들 또는 다른 필드들의 조사(lookup) 테이블로부터 패킷의 수신지 E-노드(202) 또는 수신지 VE-노드(182)를 식별한다. 패킷의 필드들이 인식되지 않는 경우에, NIC 내의 프로세서 또는 시스템 컨트롤러는 큰 용량의 캐시 또는 테이블의 매치를 찾는다. 어떠한 캐시도 기존에 유지된 패킷 필드들을 지니지 않는 경우에, 새로운 진입이 관련 캐시들에 추가될 수 있다.
패킷에 프리펜드된 CID의 (비트들로 이루어진) 길이는 그것이 상주해 있는 분할(partition) 내의 고유 CID들의 개수에 의존한다. X-노드 도메인은 모든 T-노드들(300), E-노드들(200), 및 대도시권과 같은 네트워크 또는 데이터 센터에 속해 있는 VE-노드들(180)을 포함할 수 있다. CID 매개변수 테이블들의 대용량 캐시는 전체 X-노드(400) 도메인 내의 모든 대상들이 이용할 수 있다. 이러한 테이블들의 데이터베이스 캐시는 상기 도메인 내의 특정 장소에 존재할 수도 있고 예를 들면 그러한 환경에서 전에 사용되었던 패킷들에 대해 각각의 T-노드(300) 및/또는 E-노드(200)에 복사될 수 있다. 도 11에는 CID 매개변수 테이블들에 대한 대표적인 템플릿 포맷이 도시되어 있다. 사용될 수 있는 다수의 예상가능한 변이들이 명확하게 존재한다. 예를 들면, 특정 필드 1 및 특정 필드 2는 특정한 경우들에 정의될 수 있으며 소정 타입의 패킷에 대한 디폴트 값들에 추가되거나 소정 타입의 패킷에 대한 디폴트 값들이 제공될 수 있다. 적절한 라벨들을 지닌 '특정 필드들'의 개수에 대한 제한이 있어야 할 필요는 없다.
프로토콜 MD5와 같은 해싱 방법은 착신 매칭 패킷 필드들에 대한 정확한 매치들을 위해 CID 매개변수 테이블들을 신속하게 탐색하는 것을 가능하게 할 수 있다. MD5 필드는 또한 국부 테이블 내에서 특정 세트의 CID 매개변수들의 식별자로서 사용될 수 있다. 이러한 방식으로, 다른 위치들에 정적 네트워크 대상 값들을 지니는 CID를 추가하는 것은 단일의 매개변수 테이블 엔트리를 이용할 수 있다. 다시 말하면, CID는 위에 언급한 바와 같은 포워드된 패킷 내에 엠베드된 것보다 많은 요소들을 포함할 수 있다.
경로 집성 C-스위치(511)의 C-스위치 스택 선택기(120)에서의 단일 위치에 대한 CID들은 단지 단일 선택기 위치에서만 고유한 소형의 CID들을 지닐 수 있다. 예를 들면, 8-비트 CID는 시스템 프로세서들에 의해 활성 상태인 것으로 결정되는 256 개의 서로 다른 접속으로부터 단일 접속 또는 임의의 복수 개의 접속들을 나타낼 수 있는 것이다. 상기 스위치 스택 선택기(120)에서의 다른 한 위치는 다른 한 256개의 접속을 지닐 수 있다. 다시 말하면, 한 세트의 해체 대상들로의 SAIN 네트워크들의 나눔은 어떤 특정한 제한도 없이 다수의 예상가능한 접속들을 향상시킨다.
5. 최근의 활동과는 관련이 없는 다수의 CID 들을 제한하는 방법 및 장치
각각의 CID는 영구히 존재할 필요가 없다. 패킷에 프리펜드된 각각의 CID는 포워딩 접속을 통해 비교적 최근에 전송되었던 접속을 나타낸다. 국부 CID 캐시의 크기( size ) 를 제어하도록 하는 메커니즘이 필요하다. 이는 새로운 상이한 패킷이 동일한 CID 뉴머럴(numeral)를 사용할 수 있도록 훨씬 이전에 나타나 있었던 CID가 국부 시스템으로부터 플러싱(flushing)되는 것을 보장할 수 있다. 본원에 개시된 메커니즘은 CTTL(Connection Time to Live) 방법이라 불린다. 본원에 개시된 CTTL 값은 네트워크의 임의의 CID 캐시에 내재하는 각각의 현재 CID에 할당될 수 있다. CTTL의 목적은 라우터-기반 P-네트워크들에서 일반적인 TTL(Time to Live) 값과는 상당히 다르게 하는 것이다. 그러한 P-네트워크들에서는, 라우터들이 P-네트워크에서 루프를 형성하는데 위험이 존재하는 경우에, TTL이 패킷들을 폐기하는데 사용된다. [SAIN 네트워크는 네트워크 내에 루프들을 형성하지 못하게 하는 라우팅 수법을 사용한다.] SAIN 네트워크에서, CTTL은 적은 프로세싱을 가지고 현재 개수의 활성 상태 패킷 접속들을 매치하도록 단축된 CID 길이들을 사용하는 것을 가능하게 한다.
도 12에는 경로 집성 C-스위치(511)의 C-스위치 스택 선택기(120) 내에서의 소정 위치에 대한 CID 사용 테이블이 도시되어 있다. C-스위치 스택 선택기(120) 내에서의 각각의 다중-접속 위치는 도 12에 도시된 것과 유사한 자기 자신의 테이블을 지닌다. 각각의 테이블에는 각각의 CID의 최종 일자 및 사용 시간과 함께 자신들의 CTTL들을 지니는 CID들이 나타나 있다. 각각의 CID 값에 대하여 하나의 CTTL 엔트리가 존재한다. 테이블에서의 각각의 로우(row)는 CID의 최종 일자: 최근 사용 일자를 보여주면서 CID에 수용된다. 일자:시간 값들의 스택 하부에 가장 근접한 CTTL은 그것이 탭10065의 상측 로우에 있었던 이래로 얼마나 오래전에 있었는지를 보여준다. 도면에서는, 일자 및 시간이 연도의 최소 2개의 숫자인 값 'yy' + 달에 대하여 'MM', 일자에 대하여 'dd', (24-시) 시간에 대해 'HH', 분에 대해 'mm', 및 초에 대해 'ss'와 관련이 있는 4 가지 이상의 숫자 쌍 약어들을 사용한다. 도면에는 최근의 패킷이 수신되고 포워딩된 CTTL 테이블의 위치 '0'에 CID(72)가 도시되어 있다. 다시 말하면, 이는 경로 집성 C-스위치(511)의 C-스위치 스택 선택기(120)에서의 위치 내에 진입될 최종 패킷을 나타낸다. 패킷이 상기 시스템에 진입한 NIC(210)는 시스템의 포트 번호에 연관된다.
패킷이 NIC(210)에 의해 수신되는 경우에, 이는 상기 패킷과 매치하는 기술(description)을 지니는 CID를 찾아야 한다. 그러한 매치들은 CID 선택을 고유하게 하는데 충분한 매개변수들을 포함할 수 있다. 그러한 매치들은 발신지 포트 번호, 수신지 포트 번호, 발신지 MAC 어드레스, 수신지 MAC 어드레스, IP 발신지 어드레스, IP 발신지 어드레스, 및 다른 매개변수들을 포함할 수 있다. CID 매치의 제1 선택은 활성 상태의 CID에 연관되어 있는 매개변수들을 매치하는 것이다. 다음 선택은 국부 NIC 캐시로부터의 (아마도 포트 번호들을 포함하지 않은) CID이다. 매치가 발견되고 포트 번호들을 제외하고는, 매치가 또한 활성 상태의 CID에 존재하는 경우에, 현재 사용되고 있지 않은 제2 CID는 제1 단 대 단 접속으로부터 해체된 제2 단 대 단 접속을 마킹하도록 할당될 수 있다.
도 12에 도시된 바와 같이, 신규한 방식은 패킷들의 다른 정적 부분들을 어드레싱하기 전에 새로운 패킷이 최근에 전송되었던 것이라는 공산(likelihood)을 결정하는 것이다. 상기 테이블의 CTTL 스택에 이미 존재하는 것과 매치되는 새로운 패킷이 도달되는 경우에, 상기 CID 및 상기 CID의 일자:시간 값의 위치는 상기 테이블로부터 절단된다. 상기 절단 상부에 남아 있는 모든 값들은 상측 로우가 자신의 CID 및 일자:시간값 양자 모두를 비게 하도록 한 로우 씩 내려오게 된다. 상기 상측 로우에서는 현재의 일자:시간 값과 함께 새로운 CID가 진입된다.
새로운 패킷의 현재 CID가 도 12의 테이블 내 어딘가에 존재하는 한은, 이전의 CID가 제거되지 않게 된다. 상기 테이블에 새로운 패킷의 CID 값이 존재하지 않는 경우에, 상기 테이블의 하부에 비어 있는 모든 로우들이 기존의 활성 상태의 CID들로 대체될 때까지 전체 스택의 CID 및 일자:시간 값들이 내려오게 된다. 이러한 상태가 발생하는 경우에, 상기 테이블의 하부 CID는 상기 테이블에서 다음으로 높은 로우로 대체될 수 있으며 (현재 일자:시간 값을 지니는) 새로운 CID는 모든 값들이 한 로우 씩 내려오게 된 후에 상기 테이블의 상측에 배치된다.
도 12에 도시된 CID/CTTL 테이블의 최종 로우는 활성 상태의 접속 리스트에 포함되어 있던 제1 접속의 일자:시간이 다시 곧 생길 가능성이 있음을 보여준다. 다시 접속을 필요로 할 가능성이 있다는 결정이 내려지는 경우에, 상기 테이블에서 허용된 CID들의 개수는 확대되어야 한다.
국부 CTTL 테이블에서의 CID들의 개수를 증가시키는 방법이 다수 존재한다. 하나는 전체 8-비트-바이트를 CID 길이에 추가하는 것이다. 이는 작용하게 되겠지만, CID 길이가 한번에 1 비트씩 증가 또는 감소하게 될 수 있는 경우에 더 효율적일 것이다. 예를 들면, CID 길이가 8비트인 경우에는, CID 길이를 9비트로 증가시킨다. 이는 구현하기 어려운 것으로 보일 수 있는데, 그 이유는 대부분의 패킷들 내에서의 모든 활동이 8-비트 바이트들로 이루어지기 때문이다.
진행하기에 비교적 간단한 방법은 네트워크를 통해 패킷을 포워딩하기 위해 CID 헤더와 함께 패킷 길이에 대한 여분의 비트를 추가하는 것이지만, 인그레스 및 에그레스 메커니즘 내에서 CID의 크기에 전체 바이트를 추가하는 것이다. 예를 들면, CID가 8-비트 길이인 경우에는, CID 헤더에서의 바이트들의 개수는 1로부터 2로 증가한다. 이전의 바이트가 패킷에서 위치 2에 제공되지만 '00000001'인 8 비트를 지니는 제1 바이트에 여분의 비트가 상주하게 된다. 이는 CID들의 개수가 256 대신에 512인 결과를 초래시킨다. 이러한 것이 기존의 0 내지 255 CID들의 임의의 위치를 변경하지는 않지만 개수들을 256보다 크거나 같고 511보다 작거나 같게 한다.
CID들을 정의하고 CID들을 사용함에 있어서의 테이블 매개변수들은 이하의 것들을 포함할 수 있지만, 이하의 것들에 국한되지 않는다.
1. CID의 비트 길이
2. 패킷의 길이
3. 발신지 및 수신지 패킷 어드레스들
4. 데이터 포워딩 에포크의 지속 기간
5. CTTL 에포크의 지속 기간
6. 패킷의 시간 스탬프
한 에포크는 주기적이며 서로 다른 용도들로 선택된 지속 기간들을 지닐 수 있다. 예를 들면, 주기는 특정 서비스 애플리케이션에 대해 단 대 단 지연의 최소화를 보장하도록 매우 짧을 수 있을 것이다(예컨대, 1 마이크로초 이하). 데이터 스트리밍과 같은 다른 애플리케이션들에서는, 에포크가 1 또는 수 초일 수 있을 것이다. 이러한 접근법은 한 에포크 내의 데이터 버스트들을 상기 에포크의 길이에 대한 평균 데이터 흐름으로 변경하는 것이다. 어떤 상황에서는, 한 에포크가 아주 길 수 있을 것이다. 예를 들면, 온라인 신문의 부분들에 대한 업데이트들을 전송하는 것은 비교적 낮은 비-실시간 데이터 속도로 전송될 수 있을 것이다. TV 프로그래밍은 동일한 방식으로 다루어질 수 있을 것이다. 낮은 흐름 속도들로 데이터를 전송한 결과는 실시간(real-time; RT) 및 근접 실시간(near-real-time; NRT) 흐름들과 경쟁하지 않고 대량의 데이터의 전송을 가능하게 한다. 서비스 제공자는 RT 및 NRT 타입들에 비해 이러한 타입의 서비스에 대한 요금을 적게 청구할 수 있을 것이다. 시스템의 이용가능한 속도의 1/4로 전송되는 데이터는 RT 및 NRT 트래픽에 대해 3배의 낮은 데이터 속도(low data rate; LDR) 대역폭을 점유한다. 대체로 위에 언급한 방법은 프리미엄 서비스(premium service)용으로 예약되어야 하는, 다시 말하면 보장된 결정론적인 서비스 품질용으로 예약되어야 하는 예비 대역폭(spare bandwidth)의 양을 낮추는 결과를 초래시킬 수 있다.
위에서 시사한 바와 같이, 한 에포크가 데이터의 C-프레임일 필요는 없다. 한 에포크는 복수 개의 C-프레임 또는 하나 또는 복수 개의 서브프레임을 사용할 수 있다.
6. 믹싱된 길이 패킷들을 전송하기 위한 HOL ( Head of Line ) 블로킹을 제거하도록 하는 방법 및 장치
RS1에 나타나 있는 바와 같이, SAIN 다중화 알고리즘의 접속 도메인(150)에서 셀렛들의 범위로서 접속이 정의될 수 있다. 그 외에도, SAIN 네트워크는 에포크들을 사용하여 접속을 위한 소정의 대역폭의 양을 전송하도록 하는 소정의 시간을 정의할 수 있다. C-스위치 스택 선택기(120)에서의 각각의 위치는 접속을 정의할 수 있다.
a. 방법 1: 단입 접속을 사용하여 동일한 전달 속도로 서로 다른 크기의 패킷들을 전송함
접속을 사용하는 간단한 예는 소정의 에포크 동안 한 접속 내에서 한 번 전송하도록 하는 것일 것이다. 그리고 1 ms 에포크를 사용하는 520 바이트(4,160 비트)의 이더넷 P-프레임은 초당 4.16 Mb를 요구할 것이다. 상기 패킷을 전달함에 있어서는 1 ms 지연이 존재할 것이다. 동시에, 64 바이트 패킷이 동일한 1 ms 에포크 내에 도달하는 경우에, 이는 520 바이트 패킷에 추가되고 다음 에포크 까지 대기하지 않고 전달될 수 있을 것이다. 다시 말하면, 4,672 비트는 1 ms 에포크 동안 전송될 것이다. 이를 달성하는 방법들은 위에 설명되어 있다.
b. 방법 2: 서로 다른 패킷 크기들에 대하여 서로 다른 선택기들을 사용함
C-스위치 스택 선택기(120)에서의 위치는 소정의 범위 내에 있는 길이들을 지니는 패킷들을 전송하는데 사용될 수 있다. 예를 들면, 64-비트 이더넷 패킷들이 대개는 이더넷 기반 계층 2 P-네트워크 내에서 제어 메시지들을 전송한다. 이러한 메시지들은 종종 시간이 촉박할 수 있기 때문에, 상기 메시지들을 개별 C-스위치 스택 선택기(120) 접속에 배치하는 것은 그러한 네트워크의 성능을 개선할 수 있다. 그러한 경우들에서 CID들을 사용하는 것은 모든 64-비트 길이의 패킷들을 거의 50% 만큼 감소(다시 말하면 64바이트에서 32 바이트 + 1 바이트와 같은 CID의 길이를 뺀 값)할 수 있다 네트워크가 "점보(jumbo)" 이더넷 P-프레임들을 채용하는 경우에, 이러한 방법은 주된 이점을 지닐 수 있다. 웹-기반 트래픽은 일반적으로 MPEG 비디오 등등보다 작은 패킷들을 사용한다.
c. 방법 3: CV 들을 사용하여 매우 짧은 메시지들을 전송함
IP P-네트워크에서는, 계층 4 TCP 프로토콜이 가장 중요하다. SAIN 네트워크는 그의 사용에서 중요한 차이가 있을 수 있다. 네트워크가 동기화된 노드들을 지니기 때문에, 2개의 종점 간의 전달 시간은 대도시권 또는 데이터 센터 네트워크의 인스턴스 생성시 결정론적이며 (일반적으로 수 피코초 또는 나노초 내로) 이미 알고 있는 것이다. 그러한 메시지들에 대한 특정 에포크는 TCP ACK/NAK 및 다른 짧은 메시지들용으로 사용될 수 있다.
7. SAIN 네트워크에서 유선 속도로 패킷들을 포워딩하는 방법 및 장치
a. 방법 1: 짧은 에포크들을 가진 높은 대역폭을 사용하여 패킷을 포워딩함
경로 A/D C-스위치 쌍(513)에 대한 가상 접속 내에서의 접속은 어떠한 트래픽도 유동하지 않을 때 제로(zero) 대역폭으로 확립될 수 있다. 접속에 할당된 대역폭이 패킷의 도달 시간 이전에 이미 알려지게 되면, 접속 에포크는 전체 패킷이 도달하기를 기다리지 않고 패킷에 필요한 대역폭을 제공할 수 있다. 이러한 경우에, 패킷은 에포크가 개시되기 전에 FIFO를 충전할 필요가 없다. 포워딩 에포크는 1 또는 수 마이크로초와 같이 매우 짧은 값으로 설정될 수 있다. 이는 패킷의 제1 부분이 FIFO 버퍼에 진입할 때까지 제로 대역폭을 점유할 수 있다. 패킷의 길이 필드를 수신하기에 충분한 패킷을 수신하는 것이 필요하다. 그러한 정보를 가지고, 다음의 에포크가 전체 패킷을 전송하는데 필요한 대역폭을 포함할 수 있다.
예를 들면, 이더넷 P-프레임이 제거가능한 32 바이트 및 추가된 1 CID 바이트와 함께 576 바이트(4608 비트)를 지닌다고 가정하기로 한다. 총 P-프레임 길이는 전송될 545 바이트(4360 비트)이다. (길이 바이트들은 CID 내에서 전송되거나 P-프레임으로부터 제거되지 않는 것으로 가정될 수 있다.) '유선 속도'는 2가지 데이터 속도에 의해 결정되는데, 하나의 데이터 속도는 착신 패킷의 데이터 속도에 의한 것이고, 나머지 하나의 데이터 속도는 NIC FIFO에 할당된 SAIN 대역폭에 의한 것이다. FIFO에 할당된 SAIN 대역이 착신 패킷의 데이터 속도보다 클 경우에, 오류들을 포워딩할 가능성이 있다.
b. 방법 2: 짧은 에포크들을 가진 평균 대역폭을 사용하여 패킷을 포워딩함
8. 네트워크 제어 플레인 방법들
SAIN 네트워크는 제어 벡터(CV)들을 사용하여 네트워크 노드들 내에서 그리고 네트워크 노드들 사이에서 제어 메시지들을 전송할 수 있다. CV들은 물리적 접속 또는 물리적 동작을 제어하는 논리적 접속에 연관된 매개변수들을 확립 및 조정할 수 있다. CV의 구조는 이하에서 설명되겠지만 자신의 특정 애플리케이션에 의존한다. 일반적으로, CV의 정의는 이하의 것들을 포함하지만 이하의 것들에 국한되지 않는다.
1. CV의 동작상의 사용 전에 확립된 CV의 구조를 정의하는 매개변수 세트
2. CV의 속성들을 정의하는 (종종 테이블 형식을 이루고 있는) 리스트일 수 있는 매개변수 세트
3. CV 내에서의 하나 또는 복수 개의 메시지 타입들의 정의
4. 반-정적 매개변수 세트; 다시 말하면, CV를 위한 시스템 요건들이 동일한 상태에 있는 동안 유용한 세트
5. CV에 의해 반송되는 한 세트의 메시지들
6. 위의 정의들에 따른 메시지들
7. 위의 매개변수 리스트에 포함된 고정 길이의 메시지
8. 상기 메시지 자체와 함께 길이 매개변수를 필요로 하는 가변 길이 메시지
9. 어드레스, 길이 매개변수, 및 메시지와 같은 다중 매개변수 메시지들
10. 현재 사례 및 다른 SAIN 특정 매개변수들의 타입, 길이, 값(Type, Length, Value; TLV) 매개변수들을 포함할 수 있는 접속 식별자(Connection IDentifier; CID)와 같은 메시지
11. VLAN, VPN, 또는 태그들과는 달리 클래스 대상을 특정하는 다수의 비트들에 대한 제한을 지니지 않는 다른 속성 클래스에 속하는 것으로 패킷을 정의하는 태그들에 대한 대체물인 CID 메시지
제어 벡터 용례들
도 13에는 제어 벡터들이 SAIN 네트워크에 사용될 수 있는 방식들 중 일부 방식들이 여러 실시예들로 예시되어 있다.
위에서 언급한 바와 같이, CV들은 종점들 간의 논리적 접속에 연관된 매개변수들을 확립 및 조정하는데 SAIN 네트워크에서 사용될 수 있다. 접속된 종점들은 예를 들면 노드들, C-스위치들, 또는 다른 네트워크 대상들일 수 있다.
1. 여러 실시예에서는, CV가 종점들 간의 접속을 확립하는데 사용될 수 있다. 예를 들면, CV는 일반 집성 스위치(501) 및 일반 해체 스위치(502) 간의 접속, 일반 집성 스위치(501) 및 다음으로 높은 집성 레벨에 있는 일반 집성 스위치(501) 간의 접속, 일반 집성 C-스위치(501) 및 다음 하위 레벨에 있는 일반 해체 스위치(502) 간의 접속을 설정하는데 사용될 수 있다.
2. CV는 또한 기존의 접속의 대역폭을 변경하는데(예컨대, 기존의 2-점, 종단 대 종단 논리적 접속의 대역폭을 변경하는데) 사용될 수 있다.
CV는 접속에 연관된 다른 매개변수들을 수정하는데, 예를 들면 상기 접속에 연관된 접속 상태를 변경하는데 사용될 수 있다. 여러 실시예에서는, 논리적 접속이 가상 또는 현실 상태로 존재할 수 있다. 접속은 예를 들면 접속의 종점들 간의 대역폭이 제로(zero)인 경우(예컨대, 2개의 접속된 노드가 서로 활성적으로 통신하고 있지 않은 경우) 가상 상태에 있을 수 있다. 또한 예를 들면, 접속은 비-제로 대역폭이 접속된 종점들 간의 데이터 전송을 위해 할당된 경우 현실 상태에 있을 수 있다.
b. 제어 벡터 구조
도 13에는 타입에 연관될 수 있는 CV의 구조가 도시되어 있다. 예를 들면,
1. 셀렛들의 개수 및 (비트들로 이루어진) 셀렛 크기에 의해 정의된 접속 관련 묵시적으로 어드레싱된 매개변수들의 C-프레임으로서의 타입 1 단일 제어 벡터(SCV1) - 도 13-1에 도시된 바와 같은 SCV1 프레임(801)
2. 각각의 2-부분 셀렛이 (고정 크기 비트들로 이루어진) 매개변수가 이어지는 (고정 크기 비트들로 이루어진) 어드레스로 구성되는 다수의 2-부분 셀렛에 의해 정의된 접속 관련 매개변수들의 C-프레임으로서의 타입 2 단일 CV(SCV2) - 도 13-2에 도시된 바와 같은 어드레스|값 SCV2 프레임(803)
3. 도 13-3에는 각각의 비트가 CV에서의 선형 위치를 언급하는 2개(또는 그 이상)의 1-비트 셀렛 벡터로 구성되는 타입 1 복합 CV(CCV1)가 도시되어 있다. 도 13-3에서는, 제1 SVC가 1-비트 셀렛들을 지니는 SCV1 프레임(801)이다. 제2 SCV1 프레임(801)은 접속에 할당된 대역폭에 관련이 있는 5-비트 셀렛을 포함한다.
4. 1-비트 셀렛의 제로 비트는 CV 값이 자신의 현재 값으로부터 변경되지 않은 채로 남아 있을 수 있는데, 1-비트는 CV 값이 비트-벡터에서 "1"의 개수와 동일한 (이미 알고 있는 크기를 지니는) 셀렛들의 개수로 이루어진 SCV1에서의 값에 따라 변경함을 나타낸다.
c. 제어 벡터의 바람직한 실시예
1. 반-정적 매개변수들의 하나 이상의 테이블(들)은 동작상의 사용 이전에 CV를 정의할 수 있다. 도 13에는 이하의 것들 중 하나 이상을 종종 포함할 수 있는 그러한 매개변수들이 도시되어 있다.
a. 각각의 셀렛의 크기가 동일한 SCV에서의 셀렛들의 크기
b. 각각의 셀렛이 소정의 CV에서 동일한 크기인 경우에 CCV를 구성하는 각각의 CV에서의 셀렛들의 크기
c. 소정의 CV에 대한 C-프레임에서의 셀렛들의 개수
d. CV는 동작상의 사용을 위한 하나 또는 복수 개의 동적 매개변수들을 포함할 수 있다.
e. CV는 발신지 종단 및 수신지 종단 사이에서 클러스터들을 이루어 존재할 수 있다.
2. 이를 달성하는 간단한 방식은 다음과 같다.
a. 상기 시스템은 하나 이상의 스테이지들이 단일의 CV를 나타내는 경우에 한 쌍의 SAIN C-스위치들(스위치 스택 선택기(120))을 사용할 수 있다.
b. 상기 시스템은 각각이 전체 CV 또는 전체 CV의 부분들을 포함하는 한 쌍의 스위치 스택 선택기(120)를 사용할 수 있다.
c. CV들의 스위치 스택 선택기(120)를 제어하는 CV는 상기 스택 자체를 제어하는 CV를 포함할 수 있다.
d. 상기 스위치 스택 선택기(120)에 대한 CV는 전체 스택에 대한 CV들보다 앞선 에포크에서 발생할 수 있다.
3. CV들에 대한 베어러 접속들로서 C-스위치 쌍들을 사용하는 것에 대한 변형예는 CV 메시지들을 전송하기 위한 노드 쌍들 간의 반-영구적인 접속들을 사용하는 것이다.
4. CV 에포크들은 데이터 C-프레임 번호들과 매치하도록 순번을 사용하여 영향을 받은 데이터의 도달과 동기화된 CV 메시지들의 적용을 보장할 수 있다.
노드 쌍들 간의 제어 벡터들을 전송하는 바람직한 방법
1. 각각의 발신지-수신지 노드 쌍은 하나의 집성에 포함되는 복수 개의 CV들을 지닐 수 있다. 그 외에도, 상기 집성 내의 복수 개의 CV들 각각은 동반 수신지-발신지 응답 CV를 지닐 수 있다.
2. 발신지-수신지 노드 쌍들 외에도 특정 노드 쌍들은 또한 CV들의 그러한 집성을 요구할 수 있다.
3. 하나 이상의 CV들을 요구하는 각각의 노드 쌍은 노드들 양자 모두에 내재하는 상태 매개변수들에 영향을 주는 CV를 발생시키는 컨트롤러를 포함할 수 있다. 상기 컨트롤러는 상기 노드들을 접속하는 CV들의 집성 내에 상기 CV를 엠베드할 수 있다. 그러한 집성은 CV 채널(810)이다.
4. CV 채널(810)은 각각이 제어 벡터들(800)의 집성들을 포함할 수 있는 CV-부채널들(813)을 포함할 수 있다.
5. CV 부채널(813)에서의 제어 벡터들(810)의 집성들은 모두 SCV1 프레임(801), 어드레스|값 SCV2 프레임(803), 또는 복합 CCV 프레임(805)에 속할 수 있다.
6. 그러한 CV 부채널 프레임(813)에서의 각각의 제어 벡터(800)에 대한 매개변수들은 제어 벡터(800)의 길이를 제외하고 동일한 형식을 지닐 수 있다.
7. 그 외에도, 각각의 제어 벡터(800)는 리드-솔로몬(Reed-Solomon) 코드와 같은 배속된 포워드 오류 정정(Forward Error Correction; FEC) 및/또는 순환 중복 검사(Cyclic Redundancy Check; CRC)와 같은 오류 검출 코드를 지닐 수 있다.
8. 단일의 C-프레임은 복수 개의 제어 벡터들(800)을 조합하여 단일의 CRC를 지니는 단일의 대상을 이룰 수 있다. 상기 복수 개의 제어 벡터들은 모든 제어 벡터들(800) 또는 모든 제어 벡터들(800)의 부분집합들을 포함할 수 있다. 어느 경우든 간에, 단일 복귀 제어 벡터(800)는 단일의 짧은 메시지 또는 각각이 1 또는 2 비트만큼 작을 수 있는 복수 개의 메시지를 포함할 수 있다.
9. CV 채널(810)은 CV 메시지 부채널(815)인 적어도 하나의 CV 부채널(813)을 포함한다. CV 채널(810)에서의 각각의 CV 부채널(813)의 경우에, CV 메시지 부채널(815)은 이하의 것들을 포함한다.
10. CV 채널(810)에서의 CV 부채널(813)의 개수;
11. 이하의 것들을 포함할 수 있는 CV 채널(810)에서의 각각의 CV 부채널(813)에 대한 매개변수들의 테이블
12. 자신의 고유 인덱스 번호 isc;
13. 자신의 고유 라벨 명;
14. 자신의 CV 타입;
15. 자신의 셀렛 어드레스 및/또는 데이터 필드들의 개수;
16. 자신의 셀렛 필드 당 서브-셀렛들의 개수 및 서브-셀렛들의 길이들
17. 컨트롤러는 위에 언급한 오류 제어 코드들을 추가할 수 있다.
18. CV들의 가장 중요한 책임은 수신지 노드에서의 대상 매개변수들이 발신지 노드에서의 동일한 대상 매개변수들과 매치하는 것을 보장하는 것이다. 상기 세트에 적용된 개별적인 CV와는 대조적으로 대형 세트의 CV들을 가로지르는 해시 함수는 노드 쌍 내에서의 CV들의 동기성(synchrony)의 추가 보장을 제공할 수 있다.
CV 신뢰도를 보장하는 바람직한 방법
CV는 CV들에 대한 바람직한 서비스 클래스를 구현함으로써 노드들 간의 대역폭에 대해 보장된 우선순위를 지닐 수 있다.
1. 임의 타입의 CV는 CV 서비스 클래스(CV CoS) 내에 포함될 수 있다.
2. CV CoS는 CV 노드 쌍들 간의 복수 개의 (해체) 라우트들을 포함할 수 있다.
3. 특정한 하위 우선순위 CV는 CV CoS 를 사용할 수도 있고, 긴 CV들의 경우에, 요구/응답 오류 제어 기법들과 함께 단일의 CV 라우트를 사용하여 전송될 수 있다.
4. CV CoS를 사용하는 CV들의 경우에, CV는 복수 개의 CV 라우트들을 통해 2개(또는 그 이상)의 CV 카피를 전송할 수 있다.
5. 각각의 카피는 (강력한) 순환 중복 검사(CRC)를 포함할 수 있다. 이는 CV 컨트롤러의 원격 단(distant end)이 오류 없이 카피를 선택할 수 있게 한다.
6. 네트워크 내에서의 해체 CV CoS 라우트들의 최소 지연을 선택함으로써 양호한 시스템 성능을 초래시킬 수 있다.
7. CV CoS 라우트의 고장시, 최소 지연을 가진 이용가능한 라우트 리스트로부터 다른 한 해체된(또는 거의 해체된) 라우트는 고장이 난 CV CoS 라우트를 대체할 수 있다.
8. CV CoS 라우트는 이하에 개시되는 방법들을 사용할 수 있다.
9. 노드 쌍 인접부들을 연결시켜 주는 각각의 트렁크는 모든 CV CoS 라우트들을 조합하여 공통 CV CoS 링크를 이룰 수 있다. 이는 포워딩 홉의 각각의 발신지 단이 고장이 난 광학 링크를 동작상의 예비 부품으로 신속하게 대체하는 것을 허용할 수 있다.
SAIN 네트워크에서 모범 사례의 오류 제어를 보장하는 바람직한 방법
통신 시스템들에 대해 창안된 오류 제어 방법은 상당히 많이 존재한다. 상기 방법들 대부분은 특정 오류 생성 환경들을 극복하는 것을 최적화한다. 일부 코드들은 각각의 비트 오류가 다른 오류들로부터 확률론적으로 독립적인 무기억 채널들에서의 비트 오류들에 유용하다. 다른 코드들은 번개(lightning) 또는 우주 잡음(cosmic noise)으로 인한 것들과 같은 버스트들을 이루어 발생하는 오류들을 극복하는 것이다. 이러한 경우들에서는, 그러한 오류들을 극복하도록 하는 대부분의 접근법들은 데이터 패킷들을 사용한 데이터 전송에 기반한 통신 시스템들에서 필요한 인터리빙(interleaving)을 이용한다. 이러한 경우에서의 인터리빙은 다수의 패킷들을 포함하는 기간에 걸쳐 비트들을 재배열하는 것이다. 재배열은 상기 기간에 걸쳐 오류 비트들을 균일하게 확산시키는 알고리즘을 사용한다. 오류 정정 코드들은 오류 비트들이 클러스터들을 이루어 존재하지 않을 때 더 유용하다. 상기 인터리빙을 야기하는 알고리즘은 정정된 세그먼트를 자신의 초기 상태로 복귀하는 알고리즘을 지닌다.
단일 비트를 포함하는 셀렛들을 이용하는 SAIN 다중화 알고리즘은 독립적인 인터리빙/역인터리빙 동작들이 필요하지 않도록 데이터가 자동으로 인터리빙되는 결과를 초래시킬 수 있다. 그 결과는 단순화이며 좀더 중요한 점으로는 데이터 전송 프로세스에 지연을 추가시키지 않는다는 것이다.
SAIN 네트워크에서의 CV들의 중요한 속성은 CV에 캡슐화된 각각의 메시지에 대해 요구되는 비교적 적은 양의 데이터이다. 종종, 상기 메시지는 단지 몇 안되는 비트들로 구성될 수 있다. CV 내에 매개변수가 존재하는 네트워크를 통한 대상은 CV의 구조로서 묵시적 어드레싱을 사용하여 식별할 수 있다.
오류 정정 알고리즘들은 임의의 네트워크 내에서 메시지의 크기를 증가시킨다. SAIN 네트워크에서는, SAIN 다중화 알고리즘이 C-프레임 내에서 데이터를 확산시킨다는 점은 일부 단순한 오류 제어 방법들을 효율적으로 이용할 수 있다. 예를 들면, 간단한 해밍 (7,4) 코드는 4 데이터 비트 및 3 패리티 비트를 포함하는 7 비트 내에서 비트 오류를 정정할 수 있다. 여분의 패리티 비트를 추가하는 것은 상기 코드가 1 비트 오류를 정정하고 2개의 오류를 검출할 수 있게 한다. 후자의 경우를 사용하는 것은 CV를 전송하는데 필요한 대역폭을 2배로 한다. 그러나, 8 비트는 SAIN 다중화 알고리즘을 구현하는데 사용되는 방법에 따른 에포크를 통해 거의 균일하거나 또는 정확히 균일하게 확산된 채로 존재할 수 있다. 2개의 해체 라우트를 따라 CV 또는 CV의 집성에 CRC를 추가함과 함께 이러한 방법을 사용하는 것은 거의 오류 없는 CV들의 전송을 초래시킬 수 있는데 이 경우에는 버스트 잡음을 확률론적으로 추정하는 것이 가능하다.
예를 들면, 번개는 데이터 전송을 방해할 수 있는 이미 알고 있는 버스트 잡음이라고 가정하기로 한다. 버스트 지속 기간은 30 μ초 정도인 것으로 가정하기로 한다. 단일 비트 메시지가 그러한 기간 내에 발생하는 경우에, 단일 비트-오류 검출 방법은 번개에 의해 유발된 오류들을 극복하는 것일 것이다.
SAIN 다중화 알고리즘은 도 19에 도시된 바와 같은 그러한 시스템을 구현할 수 있다. 이러한 방법에 유용한 복수 개의 균일하게 배열된 해밍 코드들의 세그먼트가 도시되어 있다.
발신지 노드로부터 수신지 노드로 CV 들을 전송하는 바람직한 방법
도 15에는 SAIN 네트워크에서 일반적인 CV들을 전송하기 위한 바람직한 CV 포워딩 장치(840)가 도시되어 있다. 상기 도면에서는 접속 대역폭을 관리하는 대신에 네트워크 매개변수들을 제어하는 CV들을 전송하도록 구성된 SAIN C-스위치가 사용된다. 주된 차이점은 이하의 것들을 포함한다.
1. 시스템 대역폭을 제어하는 SAIN C-스위치에서는, RS1의 도 11 및 도 13에 도시된 바와 같은 2개의 접속 대역폭 레지스터(Connection Bandwidth Register; CBR) 스택(553a, 553b)이 존재한다. [본원에서는 이러한 CBR 스택들이 CBR 스택 A 555 및 CBR 스택 B 556으로서 지칭되어 있다.] SAIN CV C-스위치에서는, 발신지 및 수신지 노드에 있는 CBR 스택 A 555 및 CBR 스택 B 556과는 대조적으로 발신지 노드 및 수신지 노드 양자 모두에 단일의 CBR 스택 554가 존재한다.
2. CV C-스위치는 각각이 각각의 CV의 인스턴스 생성에서의 정의에 의해 결정되는 복수 개의 매개변수들을 포함할 수 있다. 일반적으로, C-스위치 스택의 각각의 위치는 전체 SCV에 관련된 것일 수 있다. CCV에서는, 그의 전체를 구성하는 각각의 CV는 복수 개의 위치들에 존재할 수 있다.
3. CV들은 에포크들에서 동작할 수 있다. 다시 말하면, CV를 전송하는 것은 주기적일 수 있다. 어떤 경우에는, 비교적 긴 기간이 SAIN 다중화 방식을 사용하는 정수 개의 서브-기간들을 포함할 수 있다. 더 짧은 기간들은 매우 낮은 지연 SAIN 연결성을 위한 대역폭 관리를 허용할 수 있다.
4. 각각의 CV는 에포크와 에포크 간에 변할 수 있는 길이 매개변수를 포함한다. SAIN 네트워크에서의 데이터 전송을 위한 대역폭 매개변수인 것은 CV들을 위한 한 세트의 길이 매개변수들일 수 있다.
RS1의 스위치 스택 선택기(120)의 다른 용례들에서 흔히 있는 경우이지만, 발신지 단 스위치 스택 선택기(120)는 수신지 단 스위치 스택 선택기(120)에 접속해 있을 수 있다. 도 11에는 그 차이점이 예시되어 있다. 비록 필수적인 것은 아니지만, 스위치 스택 선택기(120) 쌍들의 관리에서의 상당한 단순화는 동일한 국부 어드레스를 2개의 스택에서의 각각의 위치에 할당하는 것이다. 그 외에도, 상기 시스템은 신호 소스들(245) 및 신호 싱크들(246)과 아울러 소스 할당 FIFO 버퍼들(243) 및 싱크 할당 FIFO 버퍼들(244)을 동일한 방식으로 취급할 수 있다. 접속의 양 단들에 대해 동일한 국부 어드레스들을 사용하는 것은 시스템 관리 및 어드레스 동기화 리스트들 및 테이블들을 단순화시킨다.
임의의 CV 타입의 전송은 도 15에 도시된 CV 포워딩 장치(840)를 사용할 수 있다. 이는 상기 장치를 재귀적으로 사용하여 높은-수준의 동작을 위한 CV 포워딩 장치(840)를 초래시킬 수 있는 기본형 CV 포워딩 장치(840)를 초기 설정하는 방법을 포함한다.
CV 포워딩 장치(840)를 설정하는 것은 다음과 같은 단계들을 포함할 수 있다.
1. 발신지 위치 및 수신지 위치 양자 모두에서 동일한 어드레스일 수 있는 스위치 스택 선택기(120; RS1) 위치를 식별하는 단계. 그러한 위치는 CV를 설정하는 각각의 인스턴스에 대해 식별될 수도 있고 그러한 위치는 소정의 CV 타입을 설정하도록 식별되는 위치로서 선험적으로 식별될 수 있다. 그러한 접근법은 CV 설정 프로세스가 CV 인스턴스에 대해 1번만 이루어질 수 있기 때문에 가능하다.
2. RS1로부터의 참조 번호를 사용하여, CV의 설정을 위해 소스 할당 FIFO 버퍼(243) 및 싱크 할당 FIFO 버퍼(244)를 식별하는 단계 [발신지 및 수신지 FIFO 버퍼들을 각각의 스위치 스택 선택기(120) 위치에 결속(bind)하는 것은 CV들의 설정 및 동작상의 사용을 부가적으로 단순화시킨다.]
3. 발신지로부터 수신지로 CV를 전송하는 것은 CV의 매개변수들을 도 15의 CV 매개변수 버퍼(820) 내에 배치하는 것을 필요로 한다. 이는 발신지로부터 수신지로 CV를 전송하기 바로 전에 에포크 콘텍스트에서 발생할 수 있다.
4. CV 매개변수 버퍼(820) 내로 매개변수들을 로드하는 것 외에도, 발신지 CV 매개변수 버퍼(820)의 다수의 셀렛들을 접속 대역폭 레지스터(142) 내에 배치하는 것이 또한 필요하다. 도 13-1에서는, 프로세스의 관련 부분들의 어드레스가 라벨 k 를 지닌다.
5. 동작을 위한 CV와는 달리, 접속 대역폭 레지스터(142)의 콘텐츠는 명목상으로 접속 대역폭 레지스터(142)를 위한 대역폭 매개변수를 다른 CV 매개변수 버퍼(820) 데이터와 함께 전송한다.
6. 제어 벡터를 론칭(launching)하기 전에, 한 에포크 동안 이용가능한 대역폭의 양이 충분함을 보장하는 것이 항상 필요하다. 이는 간단한 태스크이여야 한다. CV들을 전송하는데 필요한 대역폭은 작고 다른 서비스들에 대한 대역폭에 비해 우선순위가 주어진다. 백그라운드 프로세스는 지속적인 메시지들에 대한 충분한 예약 대역폭(reserve bandwidth)이 존재함을 보장할 수 있다.
단일 메시지 SCV 또는 복수 개의 메시지들을 제공하는 바람직한 방법
도 CV1-1에는 SCV 메시지들의 일례가 도시되어 있다.
1. 단일의 메시지 SCV는 단일의 SCV2 셀렛, 다시 말하면 길이 1의 C-프레임으로 이루어질 수 있다.
2. 복수 개의 메시지들은 SCV2 셀렛의 프레임으로 이루어질 수 있다.
3. 타입 1 SCV 는 다음과 같은 미리 결정된 매개변수들을 지닐 수 있다.
4. SCV에 대한 참조 번호
5. SCV에 대한 접속 도메인에서의 위치
6. SCV의 셀렛들의 크기
7. 다음과 같은 매개변수들 중 어느 하나가 포함될 수 있다.
8. SCV에서의 셀렛들의 개수, 또는
9. SCV에 프리펜드된 길이 필드에서의 비트들의 개수(즉, SCV에서의 셀렛들의 개수)
10. 상기 길이 매개변수가 제로(zero)인 경우에, SCV는 SCV에 대한 가상 접속을 나타낼 수 있다(즉, 모든 SCV 위치들의 크기는 제로(zero)이다)
11. 타입 2 SCV에 대해, 각각의 셀렛은 2개의 부분을 지닌다. 제1 부분은 셀렛 값들의 C-프레임의 CV 값에 대한 위치를 나타낸다. 제2 부분은 상기 제1 부분에 의해 나타나게 되는 위치에 배치된 값이다. 예를 들면, 위치 번호가 128개의 위치(즉, 7 비트로 표현되는) 128개의 위치 중 하나를 나타내고 제2 부분(메시지)이 5-비트 길이인3 경우에, 총 셀렛 길이는 12 비트이다. 타입 2 SCV를 사용하는 것은 새로운 값이 새로운 타입 2 SCV에서 발생할 때까지 메시지가 변경되지 않은 상태에 있음을 의미할 수 있다.
12. 메시지의 정확한 수신들을 보장하기 위해, 상기 시스템은 (예를 들면, 리드-솔로몬(Reed-Solomon) 부호화와 같은 포워드 오류 정정 기법들을 사용하는) 일반 요구-응답 오류 정정 방법을 사용할 수 있다. 응답은 1-비트 길이 또는 2-비트 길이(또는 특정 목적들을 위해 다른 길이)일 수 있다. 2 비트의 응답의 경우에, 상기 비트들 중 하나는 CV의 (1|0)(예|아니오) 수신을 보일 수 있고 제2 비트는 어떠한 오류도 발생하지 않음(1|0)(예|아니오)을 보일 수 있다.
하나 또는 복수 개의 SCV 계층들을 CCV 에 제공하는 바람직한 방법
도 13-3 및 도 13-4에는 이하의 것들이 예시되어 있다.
1. 복합 제어 벡터(Compound Control Vector; CCV)들은 단일의 제어 벡터 대상으로서 복수 개의 제어 벡터(CV)들을 이용한다. 명목상으로는, 제1 CV는 복합 대상 내에 포함된 다른 CV들의 크기를 제한하는 것을 허용하는 정보를 포함한다.
2. CCV의 일례는 1-비트 셀렛들의 C-프레임인 비트 제어 벡터(Bit Control Vector; BCV)인데 이 경우에 한 프레임 내의 각각의 셀렛은 BCV에 관련된 대상을 나타낸다. BCV에 의해 나타나게 되는 그러한 대상은 RS1의 스위치 스택 선택기(120) 내의 범위에 있는 한 세트의 대역폭 값들일 수 있을 것이다.
3. BCV의 경우에, 한 셀렛의 2개의 값이 나타낼 수 있는 여러 가능성이 존재한다. 한가지 가능성은 스위치 스택 선택기(120) 내에서 나타나게 되는 현재 값이 변경되지 않은 상태에 있음을 "0"이 나타내고 "1"이 현재 값의 변경을 나타내는 것이다. 제2 CV는 각각의 "1" 셀렛에 상응하고, 순차적으로 BCV 내의 셀렛들에 상응하는 셀렛들을 포함할 수 있다.
4. CCV를 "가상" 또는 "현실" 상태로 설정하는 것은 제2 BCV를 사용하여(또는 1 셀렛 대신에 2를 포함하는 셀렛으로 BCV를 변경하여) 이루어질 수 있다. 어느 경우든 간에, 여분의 비트는 가상 또는 현실 상태를 나타낼 수 있을 것이다. 여분의 비트가 가상 상태를 나타내는 경우에, 가상 접속에 할당된 대역폭은 접속이 (상기 접속의 원격 단에서) 상기 접속의 실존적 상태(existential state)을 결정할 수 있게 하는 제로(zero) 또는 다소 낮은 값일 수 있다. 변형적으로는, 접속의 가상/현실 및 실존적 상태들이 (제2 BCV 또는 셀렛당 제2 비트 없이) BCV 단독으로 발생할 수 있다. 이러한 경우에, "0" 비트는 여전히 제어 벡터 상태가 변경하지 않았음을 나타낼 것이고, "1"은 변경이 배속된 CV에서 이루어지게 됨을 나타낸다. 배속된 CV가 대역폭을 "0"으로 설정하는 경우에, 상기 시스템은 상기 접속에 제로 대역폭을 할당한다. 이때, 상기 접속은 가상 상태에 있다. 접속 대역폭 레지스터(142)의 "0" 값은 스위치 스택 선택기(120)에 저장된 비-제로 값들과 동일한 다수의 비트들을 포함할 수 있을 것이다. 비트 벡터에서의 "0" 값은 비-제로 값들에 의해 사용되는 비트들의 개수를 저장하는 결과를 초래시킬 수 있을 것이다. 그 외에도, "0"보다 높은 다음으로 높은 대역폭 번호는 또한 가상 상태를 나타낼 수 있을 것이다. 이러한 경우에, 소량의 대역폭은 가상 상태 접속의 실존적 능력을 나타낼 수 있을 것이다.
5. 상기 도면들에 도시된 바와 같이, 동작을 위한 CV 내에 동일한 소정 개수의 매개변수 값들을 나타내는 방법이 다수 존재한다. 상기 방법들 간의 차이점은 발신지로부터 수신지로 전송된 비트들의 개수일 수 있다. 도 13-4는 N 이 2의 거듭제곱(power)일 때 CV 셀렛들의 C-프레임이 N 개의 값을 포함하는 경우에, CV를 나타내는데 필요한 비트들의 개수는 사용된 CV 타입에 의존한다. 예를 들면, CV C-프레임이 128개의 값, 즉 N = 128인 것임을 가정하기로 한다. 타입 2 SCV2는 C-프레임 길이보다 적거나 같은 복수 개의 변경들을 나타낼 수 있다. 한가지 대안은 변경을 필요로 하는 복수 개의 위치들을 보여주는 비트 벡터를 지니는 CCV이다. 본 도면에는 복수 개의 위치들이 C-프레임의 128개의 위치의 14.3%보다 작다면, 다시 말하면 복수 개의 위치들이 18개 이하의 위치들이라면 SCV2가 CCV 대안보다 적은 비트들을 요구하는 것이 도시되어 있다. 19개 이상의 위치들이 요구되는 경우에는 CCV가 우세하다.
6. 도 14에는 이러한 예에 대한 대안들의 완전한 리스트가 도시되어 있다. 각각의 위치에 있는 값이 5 비트인 것으로 가정하기로 한다. (a)로 지칭되어 있는 도면에서는 5-비트 값들을 지니는 가장 기본적인 128-셀렛 SCV1 C-프레임이 도시되어 있다. 이러한 경우에 대한 C-프레임 길이는 640 비트 길이이다. 이러한 경우에는 제로(가상 상태)를 나타내며 최종 에포크 이래로 변경하지 않았던 모든 값들을 포함하게 된다.
(b)로 지칭되어 있는 도면에서는 128개의 값 셀렛 중 단지 18개의 값 셀렛들만이 변경되는 SCV2 경우가 도시되어 있다. 각각의 엔트리는 5-비트 값이 이어지는 7-비트 어드레스를 포함한다. 이러한 경우에, C-프레임에서 요구되는 216 비트가 존재한다.
(d)로 지칭되어 있는 도면에서는 128개의 값 셀렛 중 47개의 값 셀렛들이 변경되는 SCV2 경우가 또한 도시되어 있다. C-프레임의 크기는 564 비트이다. 특정 경우에 변경되는 128개의 값 셀렛 중 54개의 값 셀렛이 포함된다면, C-프레임의 길이는 648일 것이다. 54개 이상의 값 변경이 생긴다면, 간단한 (a) 경우는 SCV2 접근법을 사용하는 것보다 작은 C-프레임을 사용할 것이다.
(c) 및 (e)로 지칭되어 있는 도면들에는 복합 CCV들로부터의 결과들이 도시되어 있다. 128 길이 비트 CV는 상기 (b) 경우와 동등하도록 (c) 경우에 대해 5 x 18 = 90 CV에 추가된다. 총 C-프레임 길이 결과는 218 비트가 된다. (d) 경우와 동등한 (e) 경우에 대해, 총 C-프레임 길이는 564 비트에 비해 363 비트 길이다. 128-비트 C-프레임의 값들의 개수가 제로이거나 이전의 값으로부터 변경되지 않는 한, 18개보다 큰 임의 값 변경들이 SCV2 방법에 의해 요구된 것보다 작은 C-프레임을 초래시키게 되고 103개보다 작은 임의 값 변경들이 SCV1에 의해 요구된 것보다 작은 C-프레임을 초래시키게 된다.
SAIN 네트워크에서의 CV 라우팅 방법들
본원에 기재되어 있는 "메시 네트워크에서 루프 없는 라우트들을 색출하는 바람직한 방법(the Preferred Method of Discovering Loop-Free Routes in a Mesh Network)"은 고정된 종점들을 통한 전송 방법들에 의해 상호접속되는 메시 네트워크용으로 구축된 SAIN 네트워크의 2개의 노드 간의 상당히 많은 라우트를 색출할 수 있는 방법을 보여준다. 상기 시스템은 지연이 어느 때라도 존재하기 때문에 지연을 증가시키는 순서로 라우트들을 정렬(sort)할 수 있다. (다시 말하면, 대부분의 네트워크는 고정 위치들 및 수 나노초 내에서 안정된 전송 매체 지연을 지니는데, 그 이유는 이동성이 포함되는 경우에 상기 시스템이 본원에 개시된 방법들에 의한 전송 설비들을 여전히 포함할 수 있기 때문이다.)
데이터를 전송하는 것과는 독립된 네트워크는 본원에 기재되어 있는 "CV 신뢰도를 보장하는 바람직한 방법(A Preferred Method of Assuring CV Reliability)"에서 설명되는 바와 같이, 가장 낮은 지연을 가진 2개(또는 그 이상)의 라우트들을 사용한 CV들의 전달을 보장할 수 있다. SAIN 네트워크에서는, CV들이 다른 네트워크 우선순위들에도 불구하고 가장 낮은 지연이 제공되는 라우트들로부터의 대역폭을 지속적으로 이용할 수 있다. 이는 CV 메시지들이 상기 메시지들에 의해 제어되는 데이터 전에나 상기 메시지들에 의해 제어되는 데이터와 동시에 도달함을 보장한다. [수신지 노드는 CV 메시지의 수신으로부터의 충분한 시간이 상기 메시지에 의해 영향을 받는 네트워크의 그러한 부분을 준비할 수 있게 해야 한다.]
메시 네트워크에서 루프 없는 라우트들을 색출하는 바람직한 방법
SAIN 네트워크에서는, 라우트가 기존의 일반 프로토콜들을 사용하여 확립될 수 있을 것이다. 그러나, 훨씬 간단하며 보다 결정론적인 방식들이 존재한다. 도 3-1에 도시된 바와 같이, 복수 개의 발신지 E-노드들(201)은 패런트 발신지 T-노드(301)에 접속해 있다. 각각의 발신지 T-노드(301)는 복수 개의 수신지 T-노드들(302)에 대한 패런트인 수신지 T-노드(302)에 접속해 있다. 이러한 구조는 각각의 발신지 E-노드(201)가 라우팅 테이블들을 관리할 것을 요구하지 않고 네트워크 내에서 각각의 발신지 E-노드(201)가 복수 개의 수신지 E-노드들(202)에 접속해 있을 수 있는 가능성을 초래시킨다.
T-노드에서 발생하는 모든 라우트들에 대한 라우트 테이블을 구축하는 간단한 방식은 네트워크에서 각각의 인접 노드 쌍 홉을 사용하여 라우팅 테이블을 구축하기 시작하는 것이다. 이러한 목적으로 선택된 노드들은 대도시권 이더넷 네트워크와 같은 네트워크 내의 T-노드들이다. 이는 다음과 같이 달성될 수 있다.
1. T-노드들의 네트워크에 대한 연결성 매트릭스를 준비하는 단계. 도 5를 참조하면, 이러한 맵은 그러한 n x n 정사각형 매트릭스가 되는데, 이 경우에 n 은 네트워크 내의 T-노드들의 개수이다. 상기 매트릭스의 각각의 엔트리는 T-노드들 중 2개의 T-노드를 직접 접속하는 트렁크의 길이다. (상기 길이가 전파 지연에 직접적인 관련이 있으므로, 상기 지연은 2개의 직접 접속된 T-노드 사이를 통과하는 사용자 접속들의 집성의 지연이다.) 도 16에는 도 5에 도시된 모델 네트워크에 기반하여 이루어진 그러한 매트릭스가 도시되어 있다.
2. 소정의 네트워크에 대하여, 지향형 인접 노드 쌍들을 사용하여 소정 개수의 홉들 및 소정 개수의 홉들의 단 대 단 대기 시간들에 이르기까지 모든 가능한 라우트들을 발견하는 단계. [지향형 인접 노드 쌍은 2개의 인접 노드인데, 이 경우에 상기 노드들 중 한 노드는 발신지 노드인 것으로 설정되고 나머지 한 노드는 포워딩 노드가 된다.] 이하의 단계들은 의도된 결과를 만들어낼 수 있다.
3. 네트워크 내의 각각의 지향형 인접 노드 쌍 간의 각각의 진행 방향에 고유 홉 번호를 할당하는 단계. 예를 들면, 한 쌍의 하위 노드로부터 한 쌍의 다른 노드로 진행하는 방향에 대해 사전에 사용되지 않은 홀수를 선택하는 단계; 반대 방향으로 진행하기 위해 상기 하위 노드를 1씩 증가시키는 단계.
4. 2개의 인접 노드 간의 (측정된) 지연의 양을 각각의 진행 방향으로 기록하는 단계. 대개, 각각의 방향에서의 지연은 각각의 방향에 대한 케이블이 동일한 물리적 덕트들을 점유하는 경우에 거의 동일하여야 한다. 그러나, 지연이 중요한 요소인 애플리케이션들에 대하여는, 이러한 근사치가 의도된 목적들에 충분하지 않을 수 있다.
5. 소정 개수의 홉들에 이르기까지 모든 라우트들(및 모든 라우트들의 단 대 단 대기 시간들)을 발견하기 위한 개시 라우트들은 도 17에 도시된 홉 지연을 지닌 프리미티브 홉 발신지-수신지(Source-Destination; SD) 테이블이다.
6. H 개의 홉에 이르는 그리고 H 개의 홉을 포함하는 기존의 모든 라우트들을 지니는 현재의 라우트 테이블을 고려해 볼 때, 이러한 홉들을 H + 1개의 홉을 지닌 모든 라우트들을 발견하기 위한 기본 라우트 테이블(Basis Route Table: BRT)로서 사용하는 단계. 도 5의 대표적인 네트워크에 대하여, 이는 H 개의 홉을 지닌 각각의 라우트에 대한 다음과 같은 프로세스들의 수행을 요구한다.
a. 단계 1: 도 17의 홉 SD 테이블로부터 라우트의 수신지 값을 포워딩 발신지 값(Forwarding Source Value; FSV)으로서 사용함.
b. 도 17의 SD 쌍의 수신지 값이 이미 기본 라우트에 존재하는 경우에,
i. 결과적으로 획득된 라우트가 루프를 포함하게 될 때, 상기 결과적으로 획득된 라우트를 무시함.
ii. 단계 1로 복귀함
c. 도 17의 SD 쌍의 수신지 값이 이미 기본 라우트에 존재하지 않는 경우에,
i. 상기 라우트를 H + 1개의 다수의 새로운 라우트들에 추가함.
ii. 상기 홉 지연을 기본 라우트의 이전의 단 대 단 지연 값에 추가함.
iii. 인덱스 포인터를 도 17의 SD 테이블에서의 FSV들로 전진시킴.
iv. 동일한 FSV가 존재하는 경우에,
1. 단계 1로 복귀시킴
v. 동일한 FSV가 존재하지 않는 경우에,
1. 인덱스 포인터를 BRT에서의 다음 라우트로 전진시킴
2. 다음 라우트가 존재하지 않는 경우에,
d. 종료
조건문 종료
SAIN 네트워크에서 라우트를 선택하는 바람직한 방법
1. 각각의 T-노드(300)는, 수신지 E-노드들(202)의 트래픽에 접속해 있는 상기 T-노드(300)에 배속되며 또한 T-노드(300)의 차일드인 발신지 E-노드(201)에서 발생된 트래픽을 반송하는 모든 라우트들을 제어할 수 있다.
2. 각각의 발신지 E-노드(201)는 모든 사용자 접속들을 집성하여 발신지 E-노드(201)에서부터 네트워크에서의 모든 수신지 E-노드들(202)에 이르기까지의 복수 개의 가상 또는 현실 발신지 경로들(711)을 이룰 수 있다.
3. 그 외에도, 각각의 발신지 E-노드(201)는 상기 발신지 경로들(711)을 분할하여 복수 개의 레벨 2 발신지 L2 집성 슈퍼 경로들(721)을 이룰 수 있다. 그러한 발신지 L2 집성 슈퍼 경로들(721)의 개수는 네트워크에서의 수신지 T-노드들(302)의 개수와 동일할 수 있다. 이러한 경우에, 각각의 발신지 E-노드(201)는 네트워크에서의 각각의 수신지 E-노드(202)에 접속해 있을 수 있다. 그 결과는 각각의 발신지 L2 집성 슈퍼 경로(721)가 네트워크에서의 수신지 T-노드들(302) 중 하나를 통과하는 모든 발신지 경로들(711)을 집성할 수 있다.
4. 발신지 L2 집성 슈퍼 경로들(721)의 목적은 상기 발신지 E-노드(201)의 패런트 발신지 T-노드(301)를 통과하는 모든 트래픽을 수신지 T-노드들(302) 중 하나의 차일드들인 모든 수신지 E-노드들(202)로 라우팅하는 수단을 제공하는 것이다. 도 3-1에는 발신지 L2 집성 슈퍼 경로(721)를 생성하는 발신지 T-노드(301) 중 하나에 배속된 발신지 E-노드들(201)에 대한 구성이 도시되어 있다. 도 3-2에는 발신지 T-노드 (301) 및 수신지 T-노드(302)가 동일한 T-노드(300)인 연결성이 도시되어 있다.
5. 발신지 L2 집성 슈퍼 경로(721)는 L2 집성 슈퍼 경로(720)가 되는데, 그 이유는 발신지 L2 집성 슈퍼 경로(721)가 발신지 T-노드(301)에서 진출하기 때문이다. 발신지 L2 집성 슈퍼 경로(721)가 자신의 수신지 T-노드(302)에 도달하는 경우에, 발신지 L2 집성 슈퍼 경로(721)는 수신지 L2 해체 슈퍼 경로(722)가 된다. 수신지 L2 해체 슈퍼 경로(722)로서, 이는 자신의 차일드 수신지 E-노드들(202) 상에 엠베드된 발신지 경로들(711)을 전달한다.
6. 본원에 기재되어 있는 바람직한 방법은 발신지 T-노드(301)에서 개시하여 수신지 T-노드(302)에서 종료되는 라우트들에 대한 루프 없는 라우트들의 테이블을 초래시킨다. 각각이 발신지 T-노드(301)에서부터 인접 수신지 T-노드(302)에 직접 접속되는 트렁크를 나타내는 홉 번호들의 리스트가 각각의 라우트를 식별한다.
7. 각각의 발신지 T-노드(301)에 대하여, 제어 채널이 각각의 수신지 T-노드(302)에 존재한다. 이러한 제어 채널은 대역 내에서나 대역 외에서 구현될 수 있다. 대역 내 제어 채널들은 설정 및 제어하기에 용이하다. 그러한 채널들은 요구-응답 메시지들을 다루기 위해 듀플렉스(duplex)이여야 한다.
L2 집성 슈퍼 경로들을 구현하는 바람직한 제어 벡터 방법
1. 도 6에 도시된 바와 같이, 레벨 2 L2 집성 슈퍼 경로(720)는 2개의 홉에 존재한다. 제1 홉은 발신지 E-노드(201)의 L2 집성 스위치(521) 및 상기 발신지 E-노드(201)의 패런트 발신지 T-노드(301) 교차 접속 스위치(570) 사이에 존재하는데, 이 경우에 L2 해체 스위치(522)가 존재한다. 제2 홉은 교차 접속 스위치(570)의 L2 발신지 집성 스위치(521) 및 수신지 E-노드(202)의 L2 해체 스위치(522) 사이에 존재한다.
2. 각각의 L2 집성 스위치(521)/L2 해체 스위치(522) C-스위치 쌍은 동반 CV를 요구한다. CV의 목적은 네트워크의 수신지 T-노드(302)의 차일드들인 수신지 E-노드들(202)의 경로 해체 스위치들(512)에 접속해 있는 발신지 E-노드(201)의 모든 경로 집성 스위치들(511)에 대한 집성 대역폭을 제어하는 것이다. 발신지 E-노드(201)의 경로 집성 스위치들(511)의 개수는 수신지 T-노드(302)의 수신지 E-노드(202) 차일드들의 개수와 동일하며, 이 경우에 각각의 수신지 E-노드(202)는 경로 해체 스위치(512)를 포함한다.
3. 각각의 발신지 E-노드(201)는 패런트 수신지 T-노드(302)에 접속해 있는 복수 개의 수신지 E-노드(202) 차일드들에 대한 발신지 L2 집성 슈퍼 경로(721)를 생성한다. 각각의 수신지 E-노드(202)는 패런트 발신지 T-노드(301)에 접속해 있는 복수 개의 발신지 E-노드(201) 차일드들에 대한 수신지 L2 해체 슈퍼 경로(722)를 수신한다.
4. 소정의 수신지 T-노드(302)에 대한 복수 개의 발신지 L2 집성 슈퍼 경로들(721)에 할당된 대역폭의 양은 소정의 발신지 T-노드(301)로부터의 복수 개의 수신지 L2 해체 슈퍼 경로들(722)에 할당된 대역폭의 양과 동일하여야 한다. 다시 말하면, 교차 접속 스위치(570)에 진입되는 모든 발신지 L2 집성 슈퍼 경로(721) 대역폭들의 합은 교차 접속 스위치(570)에서 진출하는 모든 수신지 L2 해체 슈퍼 경로(722) 대역폭들의 합과 동일하다.
5. 요약하면, 도 5를 참조하여, L3-11/D1으로 지칭된 L3 집성 슈퍼 경로(731) 내에 엠베드된 모든 발신지 L2 집성 슈퍼 경로들(721)에 대한 대역폭들의 합을 고려하기로 한다. 이러한 합은 L3A3/D3로 지칭되는 수신지 L3 해체 슈퍼 경로(732)에 대한 모든 대역폭의 전체 합과 동일하다. 이는 또한 L3A2/D2로 지칭되는 L3 집성 슈퍼 경로(730) 대역폭의 전체 합이다. 이는 발신지 T-노드(301)로부터 수신지 T-노드(302)로 라우팅되는 대역폭이다. 분명한 점으로는, 발신지 T-노드(301)의 교차 접속 스위치(570)에 의해 처리되는 전체 L2 집성 슈퍼 경로(720)가 수신지 T-노드(302)에 관련되어 있다는 점이다.
제어 벡터들을 사용하여 새로운 제어 벡터들을 구현하는 바람직한 방법
각각의 발신지 T-노드(301)는 네트워크의 각각의 T-노드(300)에 접속해 있는 복수 개의 제어 벡터들을 포함할 수 있다. 본원에 기재되어 있는 "메시 네트워크에서 루프 없는 라우트들을 색출하는 바람직한 방법(A Preferred Method of Discovering Loop-Free Routes in a Mesh Network)"에서의 라우트들의 발견 결과들에 기반하여, 상기 시스템은 적어도 지연 라우트들을 지원할 수 있는 해체되거나 거의 해체된 라우트들을 발견할 수 있다. 본원에 기재되어 있는 "CV 신뢰도를 보장하는 바람직한 방법(A Preferred Method of Assuring CV Reliability)"에 개시되어 있는 바와 같이, 상기 시스템은 각각의 T-노드(300) 쌍에 대해 하나 이상의 제어 벡터 집성(860)을 지원할 수 있다.
포워딩 노드들 간에 데이터 집성들을 포워딩하는 바람직한 방법
SAIN 네트워크에서, 레벨 4 L4 집성/해체 슈퍼 경로들(740)은 발신지 T-노드(301)로부터 데이터 집성들을 포워딩하는 것을 지원할 수 있다. 도 7에 도시된 바와 같이, 발신지 T-노드(301) 및 수신지 T-노드(302) 간의 포워딩은 발신지 L3 집성 슈퍼 경로(731)/수신지 해체 슈퍼 경로(732)가 접속을 안내하는 것을 의미할 수 있을 것이다. 이는 라우팅을 요구하지 않는 소규모 네트워크에 존재할 수 있다. 라우팅을 요구하는 보다 일반적인 경우에는, 도 5b, 도 5d, 및 도 5e가 더 적합하다.
도 5b에는 복수 개의 집성 포워딩 스위치들(541)에 접속해 있는 L3 집성 스위치(531)가 도시되어 있다. 발신지 L3 집성 슈퍼 경로(731)는 발신지 T-노드(301) 내의 집성 포워딩 스위치들(541)의 하나(또는 그 이상)에 접속해 있는 발신지 L4 집성 슈퍼 경로(741)가 될 수 있다. 점 대 점 라우트를 설정하거나 점 대 다점, 다점 대 점, 또는 다점 대 다점 접속의 제1 홉 또는 점 대 다점, 다점 대 점, 또는 다점 대 다점 접속에서의 참가자 홉(participant hop)을 설정하기 위한 단일의 발신지 L3 집성 슈퍼 경로(731) 접속이 존재할 수 있다. 본원 및 다른 출원들에는 네트워크에서 라우트들을 설정하는 방법이 다수 개시되어 있다. 이러한 섹션에 개시된 데이터 포워딩 방법은 라우팅 개시내용들과는 독립적이다.
레벨 3 집성 스위치로부터/로의 집성 포워딩 스위치 접속들
도 5에는 각각의 아웃바운드 발신지 - 수신지(T-노드 - T-노드) TT-트렁크(351)에 대한 발신지 T-노드(301)의 집성 포워딩 스위치(541)가 존재할 수 있음이 도시되어 있다. 라우트 접속은 교차 접속 스위치(570)로부터 접속된 L3 집성 스위치(531)로부터 발신지 L3 집성 슈퍼 경로(731)로서 개시하는 L4 집성/해체 슈퍼 경로(740)이다. 상기 슈퍼 경로는 집성 포워딩 스위치(541)에 대한 TT-트렁크(351)를 통과하는 발신지 L4 집성 슈퍼 경로(741)가 된다. C-스위치 및 상기 C-스위치의 배속된 발신지-수신지 TT-트렁크(351)는 식별 라벨 홉(23)을 지닌다. TT-트렁크(351)는 도 5d에 도시된 포워딩 T-노드(303) 또는 (도면에서는 다른 매개 홉들이 존재함을 가정하고 있기 때문에 도 5b에 도시된 것과는 다른 홉 번호들을 지니는) 도 5e에 도시된 수신지 T-노드(302)에서 동일한 라벨(홉 23)을 지니는 해체 포워딩 스위치(542)에 접속해 있다.
SAIN 네트워크에서의 제어 벡터들의 집성
네트워크에서 라우팅을 제어하는 제어 벡터는 제어 벡터 집성(860)을 이용할 수 있다. 각각의 특정 CV는 제어 벡터 집성(860)에 의해 접속된 발신지 T-노드(301) 및 수신지 T-노드(302) 양자 모두에서 테이블로 존재할 수 있는 고유 식별자를 지닐 수 있다. 제어 벡터 집성(860)은 한 쌍의 T-노드들(300) 사이에 존재하는 모든 제어 벡터들(800)을 포함할 수도 있고, 부분-집성들로 나뉘어질 수도 있다. 각각의 부분-집성은 고유 식별자를 지닐 수 있다.
식별자들을 명명하는 크기에서의 해체 분할들의 역할
SAIN 네트워크에서의 대상들의 해체 분할은 짧은 식별자들을 가진 대상들을 명명하는 결과를 초래시킬 수 있다. 예를 들면, 대상들의 집성의 크기는 임의 개수로 설정될 수 있다. 그러나, 2의 거듭제곱의 개수를 선택하는 것이 유용할 수 있는데, 그 이유는 한 대상의 대형 집성의 분할들이 효율적인 방식으로 식별자 비트들을 사용할 수 있음을 2의 거듭제곱의 개수를 선택하는 것이 보장하기 때문이다. 이러한 접근법은 CCV들이 상당히 많은 대상들 내에서 특정한 대상들을 식별하는 적합한 방식일 때 특히 효율적이다.
라우팅된 접속들에서의 포워딩 노드들의 역할
데이터를 전송하는 라우트가 설정되는 경우에, 상기 라우트가 존재하는 각각의 노드에서의 상기 라우트의 관련 매개변수들은 테이블로나 기타 적합한 리스트로 이루어진다. 위에 설명한 바와 같이, 라우트는 발신지 T-노드(301)로부터 설정된다. 예를 들면, 점 대 점 라우트는 경로 해체 스위치(512)의 수신지 L2 해체 슈퍼 경로(722)가 되도록 경로 집성 스위치(511)로부터의 발신지 L2 집성 슈퍼 경로(721)일 수 있다.
점 대 다점, 다점 대 점, 및 다점 대 다점 접속은 복수 개의 점 대 점 접속들이 네트워크 내에서 조정되는 결과를 초래시킬 수 있다. 이러한 타입들의 다점 접속들은 다른 실시예들에서 구체적으로 개시된 T-노드들(300) 내의 특정 구조들을 설정함으로써 연결성을 달성할 수 있다. 이러한 실시예의 목적을 위해, 본원에서 다루어지는 방법은 점 대 점 및 다점 접속들 양자 모두에 대한 포워딩 접속들의 설정이다.
단 대 단 사용자 접속들
본원에 기재되어 있는 바와 같이, 점 대 점 접속은 발신지 T-노드(301)의 교차 접속 스위치(570)에 의해 생성된 발신지 L2 집성 슈퍼 경로(721)일 수 있다. 점 대 점 접속은 발신지 E-노드(201)의 인그레스 NIC(211)에 접속된 사용자 소스 데이터 포트(291)로부터 시작한다. 상기 인그레스 NIC(211)에는 인그레스 E-노드 컨트롤러(221)가 배속된다.
인그레스 NIC(211)는 여러 프로토콜의 사용자 소스 데이터 포트(291)에 진입하는 데이터를 처리할 수 있다. 기본적으로, 착신 데이터는 적어도 3가지 타입, 즉 패킷 데이터, 고정 비트 속도(constant bit rate; CBR) 데이터, 또는 동반 SAIN 네트워크로부터의 SAIN 포맷 데이터 중 하나일 수 있다. 이러한 데이터는 3가지 콘텍스트 중 하나로 도달되는 것이 일반적이다. 패킷 데이터는 이더넷 패킷을 동반하는 것과 같은 P- Frames(패킷 데이터 프레임들)로 도달된다. CBR 데이터는 C- Frames(고정 비트 속도 데이터 프레임들)를 지닐 수 있다. Sframes(SAIN 데이터 프레임들)는 SAIN 네트워크로부터의 접속 데이터를 동반한다. P- Frames Sframes 는 SAIN 네트워크를 통해 데이터를 포워딩함에 있어서 SAIN 네트워크 능력들 모두를 사용하는데 중요할 수 있다. C- Frames 는 또한 SAIN 네트워크 능력들을 이용할 수 있다. 그러나, 모든 데이터 프레이밍 타입들에 대해, 사용자 소스 데이터 포트(291)에 진입하는 데이터는 라우트된 접속을 통해 수신지 데이터 포트(292)에 접속해 있을 수 있으며 이 경우에 상기 데이터는 원래 상태로 유지된다. 상기 접속은 사용자 인터페이스가 가변 데이터 속도 전송/수신 클록들을 포함하는 경우에 고정 데이터 속도로나 동적으로 변하는 데이터 속도로 존재할 수 있다.
SAIN 네트워크에서의 접속 식별자( CID )들 및 해체 분할 번호부여의 역할
발신지 E-노드(201)의 사용자 소스 데이터 포트(291)로부터 수신지 E-노드(202)의 수신지 데이터 포트로의 제1 접속 발생은 새로운 접속 식별자(CID)(851)를 정의하여 개시되게 할 수 있다. CID는 세그먼트들로 나눠질 수 있다. 하나의 세그먼트는 글로벌 엔티티(global entity)로서 CID에 관련될 수 있다. 예를 들면, 고정 길이를 지니고 7개의 MPEC 프레임을 캡슐화하는 이더넷 P-프레임은 일반적인 특정 프로토콜이다. 8 또는 10 바이트를 추가하는 것은 추가된 8-바이트 또는 10-바이트 리드-솔로몬 코드를 지니는 표준화된 7개의 MPEG C-프레임을 제공할 수 있다. 다른 고정 길이의 표준화된 이더넷 P-프레임의 예가 다수 존재한다. 인그레스 NIC(211)는 현재 최고 수준의 프로토콜 프로세서를 사용하여 이들 대부분을 인식할 수 있다. 표준화된 길이의 프로토콜들을 지니는 이더넷 P-프레임들의 정확한 개수는 알려져 있지 않지만, 아마도 16-비트 수로 65,536 미만이다. 이러한 결과는 비록 인터넷 프로토콜(Internet Protocol; IP) 계층 3 매개변수들이 포함되는 경우라도 얻어질 가능성이 있다. 어떤 상황에서는, "표준화된" 패킷 프로토콜이 상당히 많이 존재할 수 있다. 크기에 관계없이, CV 설정에서 이러한 지식을 사용해야 할 중요한 방식이 존재한다.
본 섹션에 개시되어 있는 방법의 중요한 개념은 해체된 대상들의 성질이 동일한 식별 클래스 내에서 대상들을 어드레싱하는 크기를 감소시킬 수 있다는 것이다. 예를 들면, 경로 집성 스위치(511) 및 경로 해체 스위치(512) 간의 2-점 경로 집성 링크(710) 접속을 고려해 보기로 한다. 상기 경로에서의 접속들의 개수는 많을 수 있지만, 해체된 분할들로 나눠질 수 있다. 분할 개수 및 분할 내의 짧은 접속 대상 개수는 각각의 접속을 식별할 수 있다.
예를 들면, 경로 집성 링크(710)의 접속들의 개수에 대한 상한이 65,536인 것으로 설정된다고 가정하기로 한다. 상기 분할을 256개의 부분-분할로 나누는 것은 각각의 부분 분할이 256개의 접속을 포함하는 결과를 초래시키게 할 것이다. 각각의 부분 분할은 8-비트 라벨을 지닐 수 있으며, 부분 분할 내의 각각의 접속은 다른 한 8-비트 라벨을 지닐 수 있다. 제어 벡터 메시지들을 사용하는 경우, 상기 라벨들은 각각의 부분 분할에 대한 CV를 사용함으로써 각각의 부분 분할에 대한 CV 내에서 묵시적 어드레싱을 이용할 수 있다. 기껏해야, 이는 복합 제어 벡터(Compound Control Vector; CCV)에서 1-비트 CV를 요구한다. 더군다나, 제2 계층 1-비트 CV를 사용하여 복수 개의 부분 분할들을 지정하는 것은 16-비트 접속 어드레스보다는 오히려 2개의 1-비트 라벨을 요구하는 결과를 초래시킨다. 주된 이점은 각각의 제어 벡터가 제어 패킷들에서 요구된 개수에 비해 소수의 비트들을 포함한다는 점이다. 예를 들면, 이더넷 P-프레임의 최소 크기는 (64 프레이밍 비트 및 침묵 기간(silence period)을 포함하지 않은) 512 비트이다. CRC에 대한 32-비트 및 다수의 짧은 메시지를 전송하기 위한 2-비트 CCV 어드레스에 비해 C-프레임의 적어도 144 비트가 부담된다.
위에 개시된 방법이 적어도 4가지 환경에서 유용하다.
접속들의 설정 및 종료
첫 번째의 환경은 접속을 설정 및 종료하는 것이다. 연결성 테이블들, 다시 말하면 발신지 스위치 스택 선택기(121) 및 수신지 스위치 스택 선택기(122) 내의 위치들이 동기화되기 때문에, 소정의 접속에 대하여 스위치 스택 선택기(120)의 쌍에서 동일한 위치를 지정하는 것이 가능하다. 이는 접속 프로세스가 완료된 경우에나 또는 상기 접속이 정의된 기간 이후에 가상 접속 모드로 배치된 경우에 인그레스 E-노드 제어기(221)가 2개의 스위치 스택 선택기(120)로부터의 접속을 해제하는 것을 가능하게 한다. 접속을 개시하고 종료하는 방법을 사용하는 것은 접속들을 집성하여 서로 다른 지속 기간의 클래스들을 이루는 것을 가능하게 한다. 하나의 클래스는 상당한 기간들(예컨대, 9시간 이상의 임의 기간) 동안 활성 상태를 이루고 활성 상태로 유지되는 접속들일 수 있을 것이며 가상 또는 현실 상태에 있을 수 있을 것이다. [가상 접속은 CV 에포크당 하나의 CCV로 1 비트 이상의 네트워크 대역폭을 소비할 것을 요구하지 않는다.] 접속을 현실 상태로 복귀하는 것은 즉각적으로(즉, 하나의 CCV 에포크 기간 이하로) 이루어진다.
접속 대역폭 관리
두 번째의 환경은 네트워크 대역폭 관리를 포함한다. CCV는 대역폭 할당을 변경되지 않게 할 수도 있고 새로운 대역폭을 할당하는 CV와 함께 셀렛 CV 당 1-비트를 사용하여 대역폭 할당을 수정할 수도 있다. 1-비트 셀렛은 대역폭이 변경되지않게 되는 경우에 "0"일 수 있다. [제로(0)의 대역폭은 "1"이 1-비트 셀렛 CV에서 생길 때까지 변경되지 않는 가상 접속을 나타낸다.] SAIN 네트워크 환경에서, 각각의 발신지 T-노드(301)는 자신의 아웃바운드 트렁크들 각각을 위한 가용 대역폭의 양을 네트워크 내의 각각의 다른 T-노드(300)로 포워딩할 수 있다. 이는 할당된 에포크 기간 동안 다른 모든 T-노드(300)에 대한 제어 벡터들을 사용할 수 있다. (예를 들면, 상기 에포크는 1 밀리초 동안 지속할 수 있을 것이다.)
가용 트렁크 대역폭 외에도, 발신지 T-노드(301)는 발신지 T-노드(301)로부터 각각의 수신지 E-노드(202) 차일드로 가용 대역폭을 전송할 수 있다. 각각의 발신지 T-노드(301)는 이러한 정보를 네트워크에서의 다른 모든 발신지 T-노드(301)에 브로드캐스트할 수 있다. 그 결과는 모든 발신지 T-노드(301)가 네트워크에서의 모든 수신지 E-노드(202)에 대한 대역폭 가용성에 관련된 완전한 정보를 지닌다는 것이다. 각각의 발신지 T-노드(301)는 이러한 정보를 자신의 발신지 E-노드들(201) 각각에 포워딩함으로써 요구된 대역폭이 존재하지 않을 때 어떠한 대역폭 구속(bandwidth commitment)도 생기지 않게 할 수 있다. [다수의 시나리오는 코어 네트워크 내에서의 이러한 이벤트의 발생을 최소화할 수 있다. 가용 대역폭이 없는 결과를 초래시키는 가장 큰 취약점은 E-노드 - T-노드 트렁크(231) 또는 T-노드 - E-노드 트렁크(322)에서 생길 수 있다. 서비스 제공자는 "시대에 앞서서(ahead of the curve)" 이러한 트렁크들에서 대역폭을 이용가능한 상태로 유지하는 것에 대한 책임을 느껴야 한다.]
서비스 클래스 분할들
세 번째의 환경은 접속을 서비스 클래스 분할들로 나누는 것을 포함한다. 예를 들면, 일부 네트워크 설계자들은 접속을 3개의 클래스로 나눈다. 첫 번째의 클래스는 상위 우선순위 트래픽을 위한 것이며, 두 번째의 클래스는 그다지 중요하지 않은 트래픽을 위한 것이고, 세 번째의 클래스는 "최선의 노력(best efforts)" 트래픽을 위한 것이다. SAIN 네트워크는 대역폭을 결정론적 지연의 라우트들에 할당하는 것에 대해 결정론적인 방식으로 동작할 수 있다. 이러한 능력을 사용하는 것은 사용자의 클래스에 의해 대역폭을 할당하는 것을 허용하는데, 이는 군사 및 정치 환경들에서 중요할 수 있다. 어떤 경우에, 이는 서비스 클래스로서 대역폭을 할당하는 것보다 중요하게 된다.
SAIN 환경에서, 네트워크 관리용으로 사용되는 대역폭은 기타의 대역폭 사용보다 우선시될 수 있다. 제어 벡터들은 포워딩 데이터에 비해 비교적 적은 대역폭의 양을 점유하지만, CV들의 다양한 사용 용도는 낮은 지연에 대한 우선순위로 궁극적인 것을 요구할 수 있다. [일부 CV들은 극히 낮은 지연을 요구하지 않는다. 예를 들면, 새로운 서비스들의 추가를 다루는 것들은 밀리초 및 마이크로초의 지연을 요구하지 않는 것이 일반적이다.]
비록 정치적 요구들이 서비스 클래스 요구들을 능가할 수 있지만, 서비스 요구들을 정의하는 양호한 방법은 임의적인 우선순위 클래스들에 의한 것이 아니다. 하나의 서비스 클래스의 트래픽이 다른 한 클래스의 트래픽보다 우선시 되었는지를 측정하는 것은 측정하기 어렵다. 이는 특히 대부분의 서비스가 한 우선순위 클래스에 존재하는 경우에 적용된다. 이러한 경우에는, 규칙이 결정론적인 측정들보다는 네트워크 지연, 즉 정체 문제들에 더 의존하게 된다.
SAIN 네트워크에서는, 단지 하나의 차별화 메트릭 - 지연만이 존재한다. 많은 경우에, 전파 지연은 전체 지연의 한정 부분이다. 이러한 경우에, 라우팅 방법들은 비교적 높은 지연 라우트들에 걸쳐 이용가능한 대역폭을 이용하도록 극히 낮은 지연을 요구하지 않는 트래픽을 허용할 수 있어야 한다. 네트워크의 서비스 품질(uality of Service; QoS)에 영향을 주는 일반적인 메트릭들은 패킷 손실, 지터, 비순차적(out-of-order) 패킷 전달 등등을 초래시키는 네트워크 내부의 정체이다. 이러한 매개변수들 중 어떤 것도 SAIN 네트워크에 필요하지 않다. 사용자들에 의해 요구되고 이용가능한 유일한 서비스 품질은 지연이다.
서비스 클래스 분할이 분할 경로 집성 링크(710) 접속 공간에 제한될 필요는 없다. 이는 발신지 L2 집성 슈퍼 경로들(721) 및 발신지 L3 집성 슈퍼 경로들(731) 양자 모두를 포함할 수 있다. 이러한 슈퍼 경로 공간들을 분할하는 것은 네트워크 운영자들이 네트워크 전체를 기반으로 하는 대역폭의 할당을 관리하게 할 수 있다. 이는 단지 훨씬 적은 대역폭 집성들에 대해서만 대역폭을 할당하는 것으로부터의 중요한 출발일 수 있다.
VLAN / VPN 의 개수에 대한 대규모 확장
종래의 이더넷 데이터 센서들 및 대도시권 네트워크들에서는, 현재 사례가 VLAN/VPN의 개수를 (대개 서비스 제공자에 의해 사용하도록 한정된 것과 동일한 길이의 제2 태그 개수를 포함하지 않은) 4,096 개로 제한한다. 대형 데이터 센터 또는 대도시권 이더넷 네트워크(Metropolitan Ethernet Network; MEN)에서는, 이러한 개수가 충분하지 않다. CID들을 사용하는 SAIN 접근법은 이러한 개수지정을 이러한 개수보다 훨씬 많게 확장시킨다. 네트워크 또는 데이터 센터는 필요한 만큼 클 수 있는 어드레스들을 사용하여 네트워크를 가상 VLAN/VPN들로 분할할 수 있다. CID는 접속의 식별에 VLAN/VPN 어드레스를 추가할 수 있다. 상기 어드레스는 자신의 사용 용도를 포트 번호들, MAC 어드레스들, 및 개인 식별정보, 애플리케이션 가용도, 가상 머신들 등등과 같은 추가 정보로 한정할 수 있다. 대형 VLAN 또는 VPN의 경우에, 접속 공간의 분할 또는 부분-분할은 적합할 수 있을 것이다. 적절한 관리 절차(administrative procedure)들과 함께 적절하게 사용되는 것은 네트워크 보안을 향상시킬 수 있다.
레벨 3 및 레벨 4 스위치들을 통한 트래픽 포워딩
RS1에 개시된 바와 같이, SAIN 네트워크는 데이터 포워딩에 대한 산업 표준들을 채택할 것을 요구하지 않는다. RS1 및 캐리어 이더넷과 같은 현재 설치된 네트워크들은 SAIN 전송 프로토콜을 지원함에 있어서의 물리 계층 써로게이트일 수 있을 것이다. 그렇게 하는 것은 기본 물리 계층들을 사용하는 SAIN 네트워크의 지연 및 대역폭 이용도의 이점들 중 일부를 초래시키지 않을 것이다. 그럼에도 불구하고, 이는 기존의 네트워크들이 SAIN의 가장 느린 예상가능한 지연을 보장하는 것과는 달리 많은 SAIN 이점을 이용하는 것을 허용할 것이다.
단락 [0050]에서 개시하고 있는 "메시 네트워크에서 루프 없는 라우트들을 색출하는 바람직한 방법(A Preferred Method of Discovering Loop-Free Routes in a Mesh Network)"에서의 알고리즘을 실행하는 것은 상기 시스템이 사용자 요건들을 충족시키는 네트워크를 통해 라우트를 선택하는 것을 허용할 수 있다. 선택된 라우트는 접속이 통과하게 되는 연속 홉 리스트일 수 있다.
도 5b에 도시된 바와 같이, 발신지 T-노드(301), T3에는 네트워크에서의 각각의 수신지 T-노드(302)에 대한 교차 접속 스위치(570)가 있다. 교차 접속 스위치들(570)은 발신지 T-노드(301) 패런트의 각각의 발신지 E-노드(201) 차일드에 의해 생성되는 모든 L2 집성 슈퍼 경로들(720)을 다룬다. 각각의 교차 접속 스위치(570)는 자신의 수신지 E-노드(202) 차일드들로 가는 도중에 수신지 T-노드들(302) 중 하나를 통과하는 그러한 L2 집성 슈퍼 경로들을 다룬다. 교차 접속 스위치(570)로부터의 출력들은 각각이 수신지 E-노드(202) 차일드들 중 하나에서 종단하는 L2 집성 슈퍼 경로들(720)이다. 종단하는 L2 집성 슈퍼 경로들(720) 각각은 복수 개의 수신지 경로들(712)을 포함하며, 복수 개의 수신지 경로들(712) 각각은 발신지 T-노드(301)의 각각에서 발신지 경로(711)로서 비롯된 것이다.
SAIN 네트워크에서의 라우트들은 네트워크의 T-노드들(300) 사이에 존재한다. 발신지 T-노드(301) - 수신지 T-노드(302)의 차일드들 간의 복수 개의 점 대 점 접속들은 상기 T-노드들(300) 사이에서 라우팅된 L2 집성 슈퍼 경로들(720) 내에 존재한다. [라우트들은 다점 접속들에 대해 존재할 수 있는데, 이 경우에 라우트들은 점 대 점 접속들의 부분 집합들로 이루어져 있으며 다수의 T-노드(300)를 통해 개시 및 종료할 수 있다. 이러한 실시예들은 다른 애플리케이션들에 포함되어 있다.]
RS1에서의 도 5b의 부분의 확장인 도 18에는 도 5에 도시된 모델 네트워크에 기반한 네트워크에서 점 대 점 라우트를 개시하는 방법이 개시되어 있다. T3:T11로 지칭되는 교차 접속 스위치(570)는 C-스위치가 발신지 T-노드(301) T3에 존재하며 C-스위치에 의해 다루어지는 트래픽이 수신지 T-노드(302) T11을 통과하는 L2 집성 슈퍼 경로들(720)이다. 도 5를 참조하면, 일례로서 선택된 라우트는 "23", "50", 및 "51"로 지칭되는 발신지-수신지 TT-트렁크들(351)을 통한 3가지 홉을 사용한다.
T3:T11로 지칭되는 L3 집성 스위치(531)는 2개의 할당 노드 사이에 모든 L2 집성 슈퍼 경로(720) 트래픽을 집성한다. 선택된 라우트를 사용하는 경우에, 첫 번째 홉은 발신지-수신지 TT-트렁크(351) "23"이다. 발신지 T-노드 컨트롤러(371)는 발신지 T-노드(301)를 통과하거나 발신지 T-노드(301)를 개시하는 트래픽을 제어할 수 있다. 이러한 경우에, 상기 컨트롤러는 "G3"로 지칭되는 게이트(550)를 선택한다.
5개의 발신지-수신지 TT-트렁크(351)는 발신지 T-노드(301)를 다른 인접 노드들에 접속한다. 이러한 5개의 발신지-수신지 TT-트렁크(351)는 발신지 T-노드(301)에서 진출하는 모든 송출 트래픽을 다룬다. 이는 다른 T-노드들(300)로부터의 송신 트래픽 및 제어 벡터들과 같은 발신지 T-노드(301) 내에서 발생된 예상가능한 트래픽 외에도 모든 교차 접속 스위치들(570)로부터의 트래픽을 포함한다.
교차 접속 스위치(570)로부터 접속된 L3 집성 스위치(531)로부터의 출력은 기능이 발신지 T-노드(301)에 있는 한 단일의 데이터 스트림이다. [L2 집성 슈퍼 경로들(720)은 수신지 T-노드(302)에서의 L3 집성 슈퍼 경로(730)로부터 해체된다. L2 슈퍼 경로들 각각은 수신지 T-노드(302)의 수신지 E-노드(202) 차일드에서 종단된다.] 경로들이 하나 이상의 홉을 포함하는 경우에, 포워딩 T-노드들(303)은 교차 접속 스위치들(570)로부터 L3 집성 슈퍼 경로들(730)을 수신지 T-노드들(302)에서의 L3 해체 스위치들(532)로 포워딩한다.
포워딩 노드들 간의 트래픽 포워딩
RS1의 도 5d에 도시된 바와 같이, 각각의 포워딩 T-노드(303)는 복수 개의 해체 포워딩 스위치들(542) 및 동일 개수의 집성 포워딩 스위치들(541)을 포함한다. 해체 포워딩 스위치들(542)의 개수는 포워딩 T-노드(303)에 진입하는 발신지-수신지 TT-트렁크들(352)의 개수와 동일하고, 집성 포워딩 스위치들(541)의 개수는 포워딩 T-노드(303)에서 진출하는 발신지-수신지 TT-트렁크들(352)의 개수와 동일하다. 상기 트렁크들 각각이 듀플렉스 TT-트렁크(350)인 동안, 포워딩 T-노드(303)에 진입하고 포워딩 T-노드(303)에서 진출하는 트렁크들의 개수는 동일하다.
그러나, 라우팅 관점에서 보면, 포워딩 T-노드(303)에서 진출하는 노드들의 개수는 상기 노드에 진입하는 개수보다 작은 것이다. 그 이유는 상기 노드에 진입하는 발신지-수신지 TT-트렁크(351)가 동일한 듀플렉스 TT-트렁크(350)의 발신지-수신지 TT-트렁크(352)를 사용하지 못하기 때문이다. 이는 단지 포워딩 T-노드(303)에 진입하는 데이터를 수신지 T-노드(302) 또는 다른 한 포워딩 T-노드(303)로 복귀하는 것일 뿐이므로, 하나의 루프를 야기하게 된다.
포워딩 T-노드(303)에서의 각각의 해체 포워딩 스위치(542)는 발신지 T-노드(301)에서의 한 라우트의 발신지인 L3 집성 스위치(531)와 유사한 구조를 지닌다. 각각의 해체 포워딩 스위치(542)는 포워딩 T-노드(303)에서의 집성 포워딩 스위치들(541)의 개수와 동일한 게이트들(550)의 개수를 지닌다. 그 외에도, 각각의 집성 포워딩 스위치(541)는 포워딩 T-노드(303)에서의 해체 포워딩 스위치들(542)의 개수와 동일한 게이트들(550)의 개수를 지닐 수 있다. 포워딩 T-노드(303)에서의 게이트들(550)은 상기 노드를 통과하는 각각의 링크에 대해 설정된다. 다시 말하면, 해체 포워딩 스위치(542)에서 진출하는 각각의 링크에 대한 데이터는 게이트(550)를 통해 아웃바운드 집성 포워딩 스위치(541) 측의 게이트(550)로 유동한다.
비록 발신지 T-노드(301)에서의 L3 집성 스위치들(531)에 의해 L2 집성 슈퍼 경로들(720)의 전체 집성을 포워딩하는 것 간의 유사점이 존재하지만, (RS1의 도 5b에서나 도 5d에 명시적으로 나타나 있지 않은) 상당한 차이점이 존재한다. 상기 모델 네트워크에서의 점 대 점 접속들의 경우에, L3 집성 스위치들(531)에서부터 발신지 T-노드(301)에서의 각각의 집성 포워딩 스위치(541)에 이르기까지 20개에 이르는 접속이 존재할 수 있다. L3 집성 스위치들(531)로부터의 접속들은 트렁크와 같은데, 그 이유는 상기 접속들이 하나의 집성의 일부가 아니기 때문이다. 상기 접속들은 집성 포워딩 스위치(541)에서 링크와 같은데, 그 이유는 그러한 C-스위치가 L3 집성 스위치들(531)로부터 복수 개의 발신지 L3 집성 슈퍼 경로(731)를 집성하기 때문이다. [RS1의 도 5d에 명시적으로 도시되어 있지 않지만, 집성 포워딩 스위치들(541)에 진입하는 그레이아웃(gray out)된 스터브들이 시사되어 있다.] 상당히 많은 개수의 점 대 점 레벨 2 집성들은 집성 포워딩 스위치(541)/해체 포워딩 스위치(542)에서 이루어질 수 있다. 상기 모델 네트워크에서는, T-노드들(300) 간에 점 대 점 접속들이 존재한다.
포워딩 접속들은 발신지 L3 집성 슈퍼 경로(731), 발신지 L4 집성 슈퍼 경로(741), 또는 수신지 L4 해체 슈퍼 경로(742) 접속에 대한 인그레스 접속에서 FIFO 버퍼들을 이용할 수 있다. 상기 버퍼들을 이용하는 이유는 네트워크 구성요소들 간의 예상가능한 타이밍 차 때문이다.
SAIN 포워딩 라우트들에 새로운 접속들을 추가하는 바람직한 방법
SAIN 네트워크는 4가지 데이터 집성 레벨로 동작할 수 있다. 4가지 데이터 집성 레벨은 다음과 같다.
1. 레벨 1: 이러한 경로 레벨은 사용자 접속들을 집성하고 발신지 E-노드(201) 및 수신지 E-노드(202) 쌍 간의 단일의 홉 라우트를 논리적으로 포함한다.
2. 레벨 2: 이러한 레벨은 레벨 1 접속들을 집성하며 발신지 E-노드들(201) 및 수신지 E-노드들(202) 간의 2개의 홉 라우트를 논리적으로 포함한다. 제1 홉들은 발신지 E-노드(201)에서의 L2 발신지 집성 스위치들(521) 및 발신지 E-노드(201)의 패런트 발신지 T-노드(301)에서의 각각의 교차 접속 스위치(570) C-스위치 내의 L2 해체 스위치들(522) 사이에 존재한다. 제2 홉들은 상기 교차 접속 스위치들(570)에서의 L2 발신지 집성 스위치들(521) 및 각각의 수신지 E-노드(202)에서의 L2 해체 스위치들(522) 사이에 존재한다.
3. 레벨 3: 이러한 레벨은 레벨 2 접속들을 집성하고 발신지 E-노드(201) 및 수신지 E-노드(202) 쌍 간의 3개의 홉 라우트를 논리적으로 포함한다. 제1 홉은 발신지 E-노드(201)에서의 L3 집성 스위치(531) 및 발신지 E-노드(201)의 패런트 발신지 T-노드(301) 사이에 존재한다. 이는 발신지 E-노드(201)에서 생성된 모든 발신지 L2 집성 슈퍼 경로(721)를 집성한다. L3 해체 스위치(532)는 교차 접속 스위치들(570)에서 종단하는 L3 집성 스위치들(531)에 의해 생성된 모든 수신지 L2 해체 슈퍼 경로들(722)을 해체한다. 제2 홉들은 교차 접속 스위치들(570)로부터 발신지 L2 집성 슈퍼 경로들(721)을 집성하는 L3 집성 스위치들(531) 및 수신지 T-노드들(302)에서의 매칭 L3 해체 스위치(532) 사이에 존재한다. 제3 홉들은 네트워크의 수신지 E-노드들(202) 각각에 접속해 있는 수신지 T-노드들(302)에서의 L3 집성 스위치들(531) 사이에 존재한다.
4. 레벨 4: 이러한 레벨은 각각이 네트워크의 수신지 T-노드(302)에서의 L3 해체 스위치(532)에서 종단하는 발신지 T-노드(301)에서의 L3 집성 스위치들(531)에 의해 생성된 모든 레벨 3 라우트들을 집성한다. 각각의 라우트의 홉들의 개수는 상기 T-노드들(300) 노드 쌍들 각각 간의 연결성을 이루는데 필요한 것들이다.
경로 집성 링크(710) 내에서 새로운 접속을 설정하는 것은 어느 쪽이든 동작하지 않는, 접속 대역폭 레지스터(553a) 또는 접속 대역폭 레지스터(553b)에 진입하는 접속을 단지 설정하는 것만을 요구한다. 상기 비-동작 접속 대역폭 레지스터(553)가 동작 상태로 되고 동작 접속 대역폭 레지스터(553)가 비-동작 상태로 되는 경우에 상기 접속은 동작 상태가 된다. 제어 벡터들은 이러한 프로세스를 쉽게 제어할 수 있다.
레벨 2에서, 각각의 L2 집성 슈퍼 경로(720)에 대한 2개의 홉은 교차 접속 스위치(570)를 포함한다. 이러한 경우에, 경로 집성 링크들(710)의 대역폭들은 교차 접속 스위치(570)를 통한 동기화를 요구한다. 이는 L2 발신지 집성 스위치(521)로부터 하나의 L2 해체 스위치(522)가 교차 접속 스위치(570)에 존재하고 다른 한 L2 해체 스위치(522)가 수신지 E-노드(202)에 있는 2개의 L2 해체 스위치(522)로의 제어 벡터들의 구현을 포함할 수 있다. 교차 접속 스위치(570)에서의 L2 해체 스위치(522)에 대한 제어 벡터는 교차 접속 스위치(570)에서의 L2 발신지 집성 스위치(521)를 부수적으로 지원할 수 있다. 상기 도면들에 도시되어 있는 바와 같이, 교차 접속 스위치(570)에서 진출하는 발신지 L2 집성 슈퍼 경로들(721)의 대역폭의 합은 교차 접속 스위치(570)에 진입하는 모든 수신지 L2 해체 슈퍼 경로들(722)의 대역폭의 합과 동일하다. 이러한 속성은 발신지 E-노드들(201) 및 수신지 E-노드들(202) 간의 점 대 점 접속들에 적용될 수 있다. 그러나, 이는 다점 접속들을 포함하는 네트워크에 적용될 수 없다.
3개의 레벨 3 홉은 수신지 E-노드(202)에서의 L3 해체 스위치(532)에서 종단되는 발신지 E-노드(201)에서의 L3 집성 스위치(531)로부터 L2 집성 슈퍼 경로들(720)을 라우팅한다. 그러나, 일반적인 경우에, 수신지 L3 해체 슈퍼 경로(732)는 발신지 L3 집성 슈퍼 경로(731)와 동일하지 않다. 하나의 발신지 E-노드(201)로부터의 각각의 발신지 L2 집성 슈퍼 경로(721)는 서로 다른 수신지 E-노드(202)에서 종단된다.
제1 홉은 발신지 E-노드(201) 내의 L3 집성 스위치(531)에서 개시되며 수신지 T-노드(302)의 패런트 발신지 T-노드(301)에서 종단된다. 점 대 점 접속의 경우에, 패런트 발신지의 각각의 차일드 발신지 E-노드(201)에 대해 하나의 수신지 T-노드(302)가 존재한다.
T-노드(301). 각각의 수신지 T-노드(302)는 각각이 교차 접속 스위치(570) 내의 L2 해체 스위치(522) C-스위치 상에서 종단되는 수신지 L2 해체 슈퍼 경로들(722)을 해체한다. 교차 접속 스위치(570)는 L2 집성 슈퍼 경로들(720) 내의 경로 집성 링크들(710)을 재배열한다. 그 결과는 각각이 상이한 수신지 E-노드(202)에서 종단되는 복수 개의 발신지 L2 집성 슈퍼 경로들(721)이다.
수신지 T-노드(302)에서부터 수신지 E-노드(202)에 이르기까지의 점 대 점 접속들에 대한 제3 홉은 하나의 주요한 예외를 갖는 제1 홉과 유사하다. 상기 복수 개의 수신지 L2 해체 슈퍼 경로들(722)은 상이한 발신지 E-노드(201)에서 유래된다.
접속을 추가하는 방법은 집성 레벨들 각각에서 이루어질 수 있다. 경로 집성 링크(710)의 경우에, 새로운 접속이 발신지 E-노드(201) 및 수신지 E-노드(202) 내의 스위치 스택 선택기(120)에서의 사용되지 않는 위치에 새로운 접속을 할당함으로써 이루어질 수 있다. 이러한 접속은 L2 집성 슈퍼 경로(720)에 어떠한 영향도 주지 않을 수 있는데, 이 경우에 상기 접속은 L2 집성 슈퍼 경로(720)의 대역폭에 대한 자신의 예상가능한 영향을 제외하고 존재한다.
L2 집성 슈퍼 경로(720)에서는, 새로운 T-노드(300)가 네트워크의 일부로 되는 경우에 새로운 접속이 이루어질 수 있다. 이러한 경우에, 네트워크에서의 각각의 L2 발신지 집성 스위치(521) 및 L2 해체 스위치(522) 상의 새로운 위치는 새로운 T-노드를 포함하는 트래픽을 지원하게 된다. 보안상의 이유로 그러한 위치들을 단지 액세스를 요구하는 접속들을 지니는 그러한 노드에만 추가하는 것이 가능하다. 비록 네트워크에서의 모든 E-노드(200)로부터의 물리적 액세스를 통한 새로운 T-노드(300)를 추가하더라도, VLAN 및 VPN 능력의 세심한 추가 및 감시는 특정한 E-노드들(200) 및/또는 T-노드들(300)로부터의 액세스를 허용하지 않게 하는 유사한 이점을 제공할 수 있다.
불필요한 대역폭을 요구하지 않고 포워딩 접속들의 대역폭들을 변경하는
바람직한 방법
대역폭들을 변경하는 것은 다중-홉 포워딩 네트워크를 통한 접속의 단 대 단 대역폭을 변경해야 하는 임의의 네트워크에 대한 어려운 문제일 수 있다. 그 어려움은 C-스위칭에 비해 P-스위칭을 선호하는 것에 대한 주된 이유이었다. 비동기식 P-스위치드 네트워크는 트래픽을 유연하게 하도록 각각의 노드에서의 버퍼들에 의존하여야 한다. 상기 어려운 문제는 버퍼 및 트렁크 정체를 극복할 수 있는 능력이었다. [패킷 폐기는 바람직하지 못한 해결책이었다.]
전화 통신 네트워크는 1970년에 유일한 정도의 C-스위칭 모델이었는데, 그 이유는 접속의 대역폭을 동적으로 변경하는 것이 그다지 중요한 점으로 나타나지 않았기 때문이다. 실제로, 본 발명자 및 2명의 공동 발명자의 특허("멀티플렉서 3,665,405(Multiplexer 3,665,405))에서는 C-스위치-기반 네트워크에서의 동적 대역폭 변경들이 허용될 수 있다. 이는 1972년에 공개되었으며 국내 도처에서 이용가능한 저-비용의 모뎀과 같은 데이터 전송을 이룬 (캐나다에서) 제일 큰 규모의 전국 디지털 네트워크의 기초를 이루었다. 이는 미국 국방성이 아르파넷(ARPANET)을 "운영하는 것"으로 선언하기 2년 전인 1973년에 11개의 노드를 가지고 운영하였다. 캐나다 네트워크는 이후 몇 달 그리고 몇 년 동안 약 200개의 노드에 이르기까지 확장하였으며 약 20년 동안 서비스하고 있었다. ("Pacuit" 스위칭이라 불리는) 알고리즘의 실시간 동적 버전은 1975년부터 여러 나라에서의 다중 노드 네트워크에 사용되었다. 현재의 SAIN 다중화 알고리즘은 1972년 버전보다 훨씬 간단하며 완전히 새로운 개념들 및 방법들을 도입한 것이다.
전화 통신 네트워크 방법들이 사용된 경우에, 그 중 하나는 제1 라우트에 비해 상이한 대역폭의 양을 반송하도록 제2 라우트를 설정하는 것일 것이다. 이러한 접근법에 대해 상당한 단점이 2가지 존재한다. 한가지의 단점은 이렇게 하는데 요구되는 총 네트워크 대역폭이 적어도 일시적으로 하나 이상의 라우트들의 결합 대역폭들의 설정을 포함한다는 것이다. 다른 한가지의 단점은 상기 라우트들이 상당히 다른 단 대 단 지연을 지닐 수 있다는 점이다. 일부 애플리케이션의 경우에, 이는 사용자에게 어려움들을 제시할 수 있다.
상기 방법의 다른 한가지 선택은 현재의 라우트 내에 접속을 추가하는 전화 통신 방법이다. 불행하게도, 이러한 접근법은 이전의 예상가능한 방법의 동일한 단점들 중 하나를 지닌다. 이는 트렁크 홉들 각각 내에 엠베드된 현재의 접속의 대역폭들의 최고치의 합(peak sum)을 보유하여야 한다.
또 다른 한 방법은 라우트에 속하는 트렁크에 의해 접속된 노드들 간의 제어 벡터를 설정하고 한 홉씩에 기반하여 라우트 대역폭들을 변경하는 것일 것이다. 이러한 방법은 비교적 많은 대역폭의 양을 일시적으로 설정하기 위한 요건을 극복하지만, 현재 성과는 각각의 홉의 할당된 접속 대역폭이 포워딩 T-노드(303)의 해체 포워딩 스위치(542)에 도달하는데 새로운 대역폭에 대해 단지 제시간에만 존재하게 할 것을 요구한다. 이는 정확한 타이밍을 보장하는 것이 어려울 수 있는 대규모 네트워크에서의 기존의 방법을 사용하는 발굴 태스크일 수 있을 것이다.
접속 대역폭을 변경하는 적합한 방법은 다음과 같다.
1. 그 요건이 접속 대역폭을 증가시키는 것이면, 이하의 태스크들을 수행한다.
a. 원하는 증가 대역폭을 포함하는 별도의 접속을 설정함
b. 각각의 홉이 요구된 증가 대역폭의 설정을 완료한 경우에, 2개의 접속을 결합하여 요구된 새로운 대역폭 전체를 포함하는 접속을 이룸
c. 발신지 및 수신지 대역폭을 결합하여 각각의 매개 홉의 결합 대역폭들을 이용하는 것을 지원할 수 있는 방식으로 각각의 홉에서 상기 2개의 접속을 구성함
2. 그 요건이 접속 대역폭을 감소시키는 것이면, 이하의 태스크들을 수행한다.
a. 인그레스 및 에그레스 접속 도메인(Connection Domain; CD)들에서의 단일의 범위를 점유하도록 기존의 접속을 변경함으로써 현재의 단 대 단 접속에서의 단 대 단 대역폭을 감소시킴
b. 각각의 홉의 CD를 하나가 새로운 대역폭이고 다른 하나가 나머지 대역폭인 2개의 분할로 나눔
c. 2개의 접속이 각각의 홉에서 단일의 접속으로서 일시적으로 나타나게 함.
d. 접속 종단들이 접속 대역폭을 2개의 접속으로 나누게 함
e. 존재하지 않는 트래픽에 대한 발신지 및 수신지 대역폭들이 현재 제로(zero)이며, 이는 각각의 CD가 자신의 크기를 새로운 낮은 대역폭으로 조정하는 것을 허용함.
위에 개략적으로 언급된 방법은 여러 방식으로 CD들을 사용할 수 있다. (도면에 도시되지 않은) 간단한 방법은 각각의 스택 위치를 동적 대역폭 변경들을 요구할 수 있는 그러한 접속들에 대한 2개의 인접 위치로 분할하는 것이다. 이러한 경우에, 다음과 같은 이벤트들이 생긴다.
1. 2개의 인접 스택 위치 각각은 2개의 인접 접속 도메인 범위 중 하나에 구속된다. 하나의 접속 도메인(CD-A)은 현재의 접속에 대한 대역폭을 한정하고, 다른 하나의 접속 도메인(CD-B)은 제로 대역폭을 지닌다.
2. 접속 대역폭을 증가시키기 위해, 다음과 같은 프로세스가 이루어질 수 있다.
3. 발신지 및 수신지 C-스위치들을 포함하는 라우트를 따른 각각의 C-스위치 쌍의 CD-B는 추가의 증가 대역폭으로 설정된다.
4. 2개의 인접 CD의 결합은 단일의 접속으로서 나타날 수 있다. 일단 라우트를 따른 각각의 홉에 대한 CD 쌍들이 새로운 설정들을 지니는 경우에, 발신지 및 수신지 CD들은 이들의 CD-A들을 새로운 접속 대역폭으로 설정하고 이들의 CD-B들을 제로(zero)로 설정할 수 있다.
5. 각각의 홉에서의 CD 쌍들은 서로로부터 독립적으로 또는 발신지/수신지 쌍으로부터 독립적으로 변경될 수 있다.
6. 접속 대역폭을 감소시키기 위해, 다음과 같은 프로세스가 이루어질 수 있다.
7. 접속 대역폭은 CD-A로 집중되며 사용되지 않는 대역폭은 CD-B로 집중된다.
8. 각각의 홉은 자신의 CD-A 및 CD-B를 변경하여 발신지/수신지 CD들을 매치시킨다.
9. CD-B는 발신지/수신지 CD들을 포함하는 각각의 홉에서 제로로 설정될 수 있다.
비록 이러한 것이 대역폭 변경들을 관리하는 간단한 방식이지만, 이는 접속 당 2개의 위치를 포함하는 각각의 스위치 스택 선택기(120)에서 위치들의 개수를 2배로 하는 것을 요구한다. 좀더 적합한 성과는 상기 위치들을 2배로 하는 것을 필요로 하지 않는 방법일 것이다.
도 20에는 이러한 요건을 충족시키는 방법이 도시되어 있다. 증가 대역폭은 스위치 스택 선택기(120) 내에서 임의의 비어 있는 위치를 사용하여 존재할 수 있다. 상기 방법은 큰 C-프레임 콘텍스트 내의 2의 거듭제곱의 길이 접속들의 정수 배를 사용하는 이점을 보여준다.
도 20의 접속 도메인 및 시간 도메인 C-프레임들의 C-프레임 작업은 2의 거듭제곱의 서브프레임들로 분할가능한 64개의 1-비트 셀렛을 포함하는 C-프레임을 사용하는 것이다. [일례로서 C-프레임은 모든 접속들 및 서브프레임들의 길이들의 합보다 긴 임의의 길이를 지닐 수 있다. 예를 들면, C-프레임 길이가 59개의 셀렛인 경우에는, C-프레임이 4개의 서브프레임으로 분할될 수 있을 것이다. 하나의 서브프레임이 14개의 셀렛을 포함할 것이고 3개의 서브프레임은 15개의 셀렛을 포함할 것이다. C-프레임의 길이에 관계없이, 이를 2의 거듭제곱으로 분할하는 것은 C-프레임들의 길이들이 하나 이하의 셀렛 만큼 다른 결과를 초래시킨다.]
시분할 다중화의 기본 원리는 데이터 스트림들을 자체 지원가능한 대역폭들을 정의함의 기반이 되는 프레임들로 나누는 것이다. 그러한 C-프레임들은 단일의 셀렛에 대한 양자 데이터 속도(Quantum Data Rate; QDR)를 결정한다. QDR은 셀렛 크기로 곱한 프레임 속도와 동일하다. [여기서 가정된 점은 셀렛의 크기가 C-프레임 내의 각각의 위치에서 동일하다는 점이다.] 자원가능한 대역폭은 QDR의 정수 배이다.
접속이 C-프레임 당 하나의 셀렛인 경우에, 데이터 속도는 QDR과 동일하다. C-프레임 내의 하나의 셀렛의 위치는 시간 도메인 내에서의 자신의 위치를 결정한다. 접속 도메인 및 시간 도메인에서의 셀렛 간에는 1 대 1 대응관계가 존재한다. 접속 및 시간 도메인 맵들은 집성 스위치(501) 및 해체 스위치(502) 양자 모두에서 동일할 수 있다. 이러한 경우에, 하나의 셀렛의 위치를 앎으로써 일반 해체 스위치(502)의 시간 도메인에서의 셀렛의 정확한 도달 시간이 결정될 수 있다. 하나의 셀렛 접속이 상당 기간 동안 발신지 접속 도메인의 동일 장소에 있는 경우, 이는 매우 낮은 지연 접속을 초래시킬 수 있을 것이다. 불행하게도, 많은 경우에, 접속들이 매우 동적이다. 접속들은 추가 및 제거되고 접속들의 대역폭들은 매우 신속하게 변경될 수 있다. 실제 성과는 간단하게 하기 위해 전체 C-프레임을 수용하는 것이 필요하다는 것이다.
다행히도, SAIN 네트워크에서, 고속 접속들에 대해 매우 낮은 지연을 제공하는 간단한 방법이 존재하는데, 이 경우에 발신지 C-프레임 속도는 비교적 느리다. 낮은 QDR을 지니는 C-프레임은 각각이 비교적 작은 서브프레임들로 분할될 수 있다. 이러한 경우에, QDR은 서브프레임 당 하나의 셀렛일 수 있다. 이는 데이터 싱크를 따라 통과시키기 전에 단지 짧은 서브프레임 기간 동안에만 데이터를 수신하는 것을 요구한다. 이러한 기법은 SAIN 네트워크를 설계하는 것을 허용하며 이 경우에 짧은 서브프레임들은 경로 레벨 1 상의 모든 집성 레벨들의 지연을 최소화할 수 있다.
2의 거듭제곱에 기반하여 C-프레임을 서브프레임들로 분할하는 것은 상기 프로세스를 매우 간단하게 한다. 도 20에는 그러한 접근법의 속성들 중 일부가 예시되어 있다. 각각의 64-셀렛 C-프레임은 4개의 16-셀렛 C-프레임이 된다. 이는 기본 대역폭( Base Bandwidth ), 다시 말하면 전체 C-프레임 속도의 4배인 QDR을 허용하는 것을 설정하는 결과를 초래시킨다. 전체 대역폭이 길이 면에서 2의 거듭제곱인지의 여부는 위에서 설명한 바와 같이 의미가 없는 것이다.
도 20(a)에는 접속 도메인에서의 셀렛 40에서 개시되는 "E"로 지칭되는 8-셀렛 접속의 접속 및 시간 도메인들이 도시되어 있다. 시간 도메인에서의 첫 번째 셀렛은 위치 5에 있다. [양자 모두의 도메인들의 번호지정은 0에서 개시된다.] 각각의 연속적인 "E" 셀렛은 시간 도메인 후반에 8개의 셀렛 간격으로 이루어져 있다. 접속 도메인의 첫 번째 셀렛이 8에 의해 나눠질 수 있는 모든 경우에 대해, 유사한 결과가 획득된다. 차이점은 시간 도메인에서의 맨 좌측 셀렛이 시간 도메인의 첫 번째 8-비트를 이루는 상이한 위치에 나타난다는 점이다.
도 20(b)에는 첫 번째 위치가 접속 도메인에서의 위치 28에 있는 동일한 "E" 셀렛이 도시되어 있다. 이러한 경우에, 시간 도메인에서, "E" 셀렛들은 더 이상 동일한 간격으로 이루어지지 않지만, "E" 셀렛들은 4개의 C-프레임 분할에서 동일한 위치들에 있게 된다. 본질적으로, 셀렛들은 단일의 서브프레임으로 결합되는 2개의 기저대역 4-셀렛 QDR을 나타낸다.
도 20(c)에는 접속 도메인 셀렛이 2 그룹으로 도시되어 있다. 한 그룹은 2개의 4-셀렛 QDR을 포함하는 원래의 (a) 그룹이며, 다른 한 그룹은 3개의 4-셀렛 QDR 그룹("C" 라벨들을 지니는 12개의 셀렛)이다. 타임 도메인에서, 그 결과는 4개의 서브-프레임이며, 4개의 서브-프레임 각각은 셀렛들의 동일 패턴을 지닌다.
도 20(d)에는 접속 도메인에서 동일 개수의 12-셀렛 및 4-셀렛 접속 그룹들이 도시되어 있다. 그들이 단일 접속 그룹인 경우에 그들은 20-셀렛 접속 도메인 그룹을 이룰 수 있을 것이다. 이는 마치 그룹들이 인접해 있는 것처럼 2개의 해체된 셀렛 그룹이 각각의 서브프레임에서 동일 개수의 셀렛을 생성하는 것을 보여준다. 다시 말하면, 고려할 문제인, 관심 있는 유일한 매개변수가 결합된 그룹에서의 셀렛들의 개수인 경우에, 양자 모두의 표현들은 동일하다. 양자 모두의 표현들에서, 개별 접속들, 즉 도 20(c)에서의 "C" 및 "E", 그리고 도 RT(d)에서의 "F" 및 "E"는 단일의 대형 셀렛 그룹을 생성하는 목적들과 관련이 없다. 결합 그룹은 하나의 대형 접속을 지원할 수 있다.
2개의 도면으로부터 알게 되는 교훈은 2개의 해체된 서브프레임 접속이 하나의 대형 접속으로 보인다는 것이다. 장치의 관점에서 볼 때 이는 이하의 것을 허용한다. 상기 방법은 "OR" 게이트를 사용하여 스위치 스택 선택기(120)에서의 "C"와 같은 그리고 "E"와 같은 위치들로부터의 2개의 "AND" 게이트 출력을 결합할 수 있다. 상기 방법은 임의의 복수 개의 스위치 스택 선택기(120) 출력들에 적용될 수 있다. 동작에 있어서는, 제어 벡터들(800)을 사용하여 발신지 스위치 스택 선택기(121)에 동기화되는 수신지 스위치 스택 선택기(122)가 존재할 수 있다. 또한 동일한 기법을 사용한 다점 접속들에 대한 다수의 홉이 존재할 수 있다.
도 20(e) 및 도 20(f)에는 지금까지 본원에 개시된 프로세스 방법의 극히 중요한 점이 예시되어 있다. "C", "F", 및 "E" 접속들은 2의 거듭제곱 경계상에 정착되어 있지 않다. 이것이 의미하는 것은 해체된 접속들을 결합하는 것이 정수 배의 대규모의 기저대역폭 QDR로의 2의 거듭제곱 접속들의 임의 결합을 포함할 수 있다는 것이다. 이는 대규모의 C-프레임이 복수 개의 서브프레임 분할들로 나눠질 수 있으며, 복수 개의 서브프레임 분할들 각각이 다른 하나로부터 독립적인 기저대역폭을 사용할 수 있음을 의미한다. 다시 말하면, 기저대역폭들이 2의 거듭제곱의 정수 배의 대규모 C-프레임의 QDR인 한은 대규모의 C-프레임 내에서 대역폭을 분할하는데에는 완전한 자유가 존재한다.
SAIN 네트워크에서 노드들을 동기화시키는 바람직한 방법
각각의 T-노드(300)는 모든 집성 및 해체 C-스위치들이 동기화될 수 있게 하는 T-노드 마스터 클록(380)을 포함한다. 상기 C-스위치들은 경로 A/D 스위치들(510), L2 A/D 스위치들(520), L3 A/D 스위치들(530), 및 L4 A/D 스위치들(540)을 포함하지만, 이들에 국한되지 않는다.
예를 들면, L3 해체 스위치(532) 클록은 T-노드(300)에서의 T-노드 마스터 클록(380)과 동기화한다. T-노드 송출 마스터 클록 신호(381)는 TE 트렁크(322)에서의 수신지 L3 해체 슈퍼 경로(732)와 함께 수신지 E-노드(202)에 전송된다.
각각의 E-노드(200)는 T-노드 송출 마스터 클록 신호(381)에 동기화하는 E-노드 마스터 수신지 클록(282)을 포함한다. 그 외에도, E-노드(200)는 E-노드 마스터 수신지 클록(282)에 주파수 동기화하는 제2 E-노드 마스터 발신지 클록(281)을 포함한다. 상기 E-노드 마스터 발신지 클록(281)은 상기 E-노드(200)에서의 발신지 E-노드(201) 분할에서 모든 클록 대상(clocked object)들을 동기화할 수 있다. 상기 E-노드 마스터 수신지 클록(282)은 상기 수신지 E-노드(202)에서 모든 클록 대상들을 동기화할 수 있다.
상기 E-노드 마스터 발신지 클록(281)은 상기 E-노드 마스터 발신지 클록(281)을 통해 상기 T-노드 마스터 클록(380)에 간접적으로 주파수 동기화된다. 이는 또한 당업계에 공지된 일반적인 방법들을 사용하여 상기 T-노드 마스터 클록(380)에 위상 동기화할 수 있다. 이것은 패런트 T-노드(300)가 E-노드 마스터 발신지 클록(281)으로부터 생성된 T-노드 복귀 마스터 클록 신호(382)의 도달 시간을 측정하는 수단을 포함한다. 상기 방법의 목적은 패런트 T-노드(300)에 접속된 모든 발신지 E-노드들(201)로부터의 데이터 및 제어 벡터 신호들이 다른 T-노드들(300)에 데이터 및 제어 벡터 신호들을 포워딩하는데 필요한 T-노드 프로세싱에 앞서서 적은 시간으로 T-노드 마스터 클록(380)과 동기를 이루게 하는 것이다.
발신지들 및 수신지들 간의 복수 개의 CV 들 및 데이터 C-프레임들의 다수
의 흐름을 동기화시키는 바람직한 방법
각각의 발신지 경로(711)는 발신지 경로(711) 또는 발신지 경로(711)의 부분들을 포워딩하는 C-프레임을 동반하는 발신지 E-노드 시간 스탬프(285)를 포함할 수 있다. 특정 프레임과 관련된 CV 또는 CV의 집성은 또한 발신지 E-노드 시간 스탬프(285)를 포함한다. 상기 시간 스탬프들은 수신지 E-노드(202) 컨트롤러로 하여금 경로 해체 스위치(512)가 그들이 제어하는 데이터 C-프레임의 제어 벡터 메시지들의 도달 시간과 동기화하게 하는 것을 허용할 수 있다.
(비트 단위의) 시간 스탬프 길이는 T-노드들(300)을 상호접속하는 라우트들 간의 지연 변이들을 충족시키기에 충분히 크지만 그다지 크지 않아야 한다.
유사한 방식으로, L2 A/D 스위치(520) 쌍들 및 L3 A/D 스위치(530) 쌍들은 또한 자신들의 제어 벡터 및 데이터 C-프레임들의 동기화를 보장하도록 시간 스탬프들을 채용할 수 있다. L4 A/D 스위치들(540)은 위에서 개략적으로 언급한 T-노드 간 프로세스들에서 사용된 것들보다 훨씬 작은(비트 단위의) 시간 스탬프들을 사용할 수 있다. 이러한 결과는 L4 A/D 스위치들(540)을 적용한 것에서 초래된다. 그들은 단일 홉 상황들에 적용되는 것이 일반적이다.
접속된 노드들 간에 프레임들을 동기화시키는 바람직한 방법
RS1의 도 27에는 2의 거듭제곱이 아닌 데이터 속도를 지니는 대규모 데이터 속도 트렁크를 이용하는 방법이 도시되어 있다. 상기 도면에는 그러한 트렁크가 해체를 위한 2의 거듭제곱의 개수로 분할될 수 있음이 나타나 있다. 2의 거듭제곱 속도가 아닌 임의의 기존 또는 미래의 트렁크에 대해 이러한 능력이 C-프레임의 사전 헤더(pre-header)로서 엠베드되는 비교적 긴 C-프레임 동기화 신호를 요구하지 않고 데이터 신호들로부터 프레이밍 신호를 분리하는 결과를 초래시킬 수 있다. 예를 들면, 현재 사례에서 이더넷 P-프레임 앞에 배치되는 (종종 96-비트 프레임간 갭이 더해지는) 64-비트 프리앰블이 존재한다. SAIN C-프레임에서 그러한 접근법을 요구하는 것은 1 Gbs 링크에 64 나노초를 추가하는 것일 것이다. 비록 10 Gbs 링크이더라도, 그 추가는 6.4 ns일 것이다. 한층 더, 이러한 지연은 발신지 및 수신지 간의 각각의 홉에서 이루어질 것이다.
RS1의 도 27에 도시된 결과를 사용함으로써, SAIN 네트워크는 각각의 트렁크의 개시시에 매우 짧은 시퀀스들을 전송하도록 대형 트렁크의 2의 거듭제곱의 작은 데이터 속도 분할을 이용할 수 있다. 예를 들면, 매 1000개의 데이터 심벌마다 하나의 심벌의 속도에서 "1" 및 "0"이 번갈아 사용되는 짧은 이더넷 프리앰블과 같은 심벌들이 사용될 수 있다. 이는 C-프레임 시그널링에 링크 대역폭의 0.1%를 충당하는 것을 요구하는 것일 것이다. 최소형 이더넷 C-프레임은 64바이트에 프리앰블을 더한 것이다. 많은 경우에 요구되는 프레임간 갭을 고려하지 않음으로써, 프리앰블의 크기에 의해 나눠진 프리앰블 크기(64 비트) 및 최소형 이더넷 P-프레임(576 비트)는 총 가용 대역폭의 11.1%와 동일하다. 비록 전형적인 이더넷 P-프레임(500 바이트)이더라도, 프리앰블은 프레임간 갭을 포함하지 않는 링크 대역폭의 1.6%를 요구한다. 프레임간 갭 및 최대 표준 이더넷 P-프레임 크기(1522 바이트)인 경우에, 프리앰블에 프레임간 갭을 추가하는 것은 링크 대역폭의 1.30%를 사용하는 것이다. 제시된 인터리브된 "1" 및 "0"을 사용하여 동기화를 유지하는 것이 재동기화를 이루는데 하나 이상의 P-프레임을 요구하는 것은 사실이다.
C-프레임들에서의 더 많은 것
이하의 내용은 추가의 종속 청구항들이 이루게 될 수 있는 3가지 영역이다. 그들 모두는 시리얼 통신 형태들을 다루는 SAIN 공간/시간 접근법을 이용한다.
데이터의 C-프레임은 묵시적 어드레싱, 다시 말하면 접속(또는 채널)에 대하여, 셀렛( cellet)이라 불리는 데이터 요소가 속해 있는지를 식별하는 로버스트 방법(robust method)을 사용한다. 접속은 본원에서 레벨 1 경로로 정의되고, 채널은 접속들의 집성 및 레벨 2 및 레벨 3 집성들이다. C-프레임의 시간 도메인 내에서 전달되는 셀렛들은 서수 방식(ordinal manner)으로 이루어진다. 시간 도메인에서의 각각의 셀렛은 접속 도메인(Connection Domain )이라 불리는 공간 도메인( space domain)에 대하여 하나의 1 대 1 대응관계를 지닌다. (이러한 문맥에서의 '접속'이라는 단어의 사용은 접속들 및 채널들 양자 모두에 적용될 수 있다.) 셀렛은 임의의 길이를 지닐 수 있다. 가장 바람직한 길이는 1 비트이다. 이는 네트워크를 통해 데이터를 전송하는 지연이 최소화되는 것을 보장한다. 상기 접속 도메인은 셀렛들의 인접 콜렉션(contiguous collection)으로서 접속(또는 채널)을 정의하는 것을 허용한다.
셀렛들은 미국 및 외국에 출원된 본 발명자의 특허출원에 정의되어 있다.
각각의 셀렛은 소정의 대역폭의 양을 나타낸다. 접속(또는 채널)의 대역폭은 셀렛의 양자 데이터 속도(Quantum Data Rate; QDR)에 의해 승산된 인접 셀렛(contiguous cellet)들의 개수와 동일하다. 한 링크 내에서의 C-프레임에 대한 QDR은 인접 셀렛들에 포함된 비트들의 개수에 의해 나눠진 길이의 대역폭과 동일한다. 인접 셀렛들에 포함된 비트들의 개수는 각각의 셀렛 내의 비트들의 개수에 의해 승산된 셀렛들의 개수와 동일하다. [C-프레임 내의 각각의 셀렛은 동일한 비트들의 개수를 지닌다.] C-프레임의 2개의 도메인 각각에서의 셀렛들의 개수는 동일하다.
1 대 1 대응관계의 색출은 C-프레임에서의 셀렛들의 개수보다 크거나 동일한 길이에서 최소의 2의 거듭제곱인 가상 C-프레임을 정의함으로써 이루어진다. 가상 도메인에서, 각각의 셀렛에는 "0"에서 시작하여 2 n -1로 끝나는 서수가 제공되는데, 이 경우에 n 은 요구된 2의 거듭제곱을 정의한다. 가상 C-프레임 길이 및 현실 C-프레임 길이 간의 차인 셀렛들은 가상 잔류 셀렛(virtual residue cellet)들이라 불리게 된다. 그들은 가상 접속 도메인 내의 어딘가에 배치될 수 있는 인접 그룹으로서 그룹화될 수 있다. 시간 도메인에서는, 가상 잔류 셀렛들이 가상 C-프레임 전역에 걸쳐 거의 균일하게 확산된다.
복수 개의 레인( rane )들 간에 대규모 접속들을 분배하는 방법 및 장치
이러한 방법 및 장치는 RS1 특허출원 및 임시 특허출원(RS2 및 RS3) 모두에서 구체적으로 정의된 SAIN 공간/시간 다중화 알고리즘을 사용한다. 복수 개의 레인들은 하나 또는 복수 개의 광섬유들의 광 파장들 내에서의 복수 개의 접속들 또는 다른 또는 다른 한 타입의 도체일 수 있다. 하나 이상의 레인을 사용하는 방식이 2가지 존재한다. 한가지 방식은 한 집성의 부분 집성 구성요소들을 이루도록 복수 개의 접속들(또는 채널들)을 나누는 것이다. 각각의 부분 집성은 상이한 레인에 할당될 수 있다. 이는 레인 고장(lane failure)을 극복하는 바람직한 방법일 수 있다. 그러한 고장의 경우에, 영향을 받는 유일한 트래픽은 복수 개의 레인들 중 고장이 난 레인 내에 포함된 트래픽이다.
변형적인 방법은 다음과 같은 방식으로 하나 이상의 광 레인을 사용할 수 있다.
1. 제1 레인(L 1 )에서의 제1 C-프레임(Fr 1 )의 접속 도메인 내의 셀렛들(RC 1 )의 범위는 대규모 접속(또는 채널)의 제1 부분을 이루도록 정의된다. 종종 상기 범위는 상기 접속 도메인의 현실 C-프레임에서의 최종 위치에 이르기까지 확장하지만, 이는 필수적이지 않다.
2. 제2 C-프레임(Fr 2 )은 RC 1 의 인접 확장으로서 다루어질 수 있는 제2 레인(L 2 )에서의 셀렛(RC 2 )의 범위를 정의할 수 있다. 이는 레인(L 2 )의 접속 도메인 내의 임의의 세그먼트일 수 있다. RC 2 는 또한 전체 접속 도메인을 나타내는 동작상의 C-프레임의 세그먼트일 수 있다.
3. 이러한 프로세스는 단지 자신들의 물리적 실재에 의해서만 정의되는 복수 개의 레인들을 포함할 수 있다.
4. 채널을 정의하는데 사용되는 모든 레인들은 디스큐(descew)되어야 한다. 이는 이하에 개시되어 있는 "공간/시간 분할 C-프레임들의 C-프레임 동기화를 위한 방법 및 장치(Method and Apparatus for C-Frame Synchronization of Space/Time Division C-Frames)"를 이용할 수 있다.
요약하면, 대규모 접속은 레인들의 순번를 이루는 복수 개의 접속들에 존재하는 복수 개의 접속 도메인 부분-접속들일 수 있다.
공간/시간 분할 C-프레임들의 C-프레임 동기화를 위한 방법 및 장치
C-프레임들
도 21에는 C-프레임에서의 총 데이터 프레임에 비해 작은 개수의 프레이밍 셀렛들을 사용하는 방법의 일례가 도시되어 있다. C-프레임은 임의의 길이를 지닐 수 있다. 일례의 목적들을 위해, 상기 도면에는 도 21(b)에 도시된 바와 같은 자신의 시간 도메인에서 시간 C-프레임 프리펜드 셀렛들(505)로 프리펜드된 2의 거듭제곱 길이의 C-프레임 210 = 1024 개의 셀렛들의 연속 블록들이 도시되어 있다. C-프레임 동기화를 이루기 위해 1024 개의 셀렛을 지니는 C-프레임에 추가되는 하나의 셀렛을 지니는 것은 C-프레임의 총 대역폭의 0.1% 미만을 사용하는 것이다. 그 외에도, 여분의 프리펜드된 셀렛으로 인한 지터(jitter)의 양은 C-프레임의 개시시에 함께 그룹화된 복수 개의 셀렛들을 배치하는 일반 사례로 인한 지터에 비해 미미한 것이다.
예시를 목적으로, 상기 예에서는 셀렛들 모두의 길이가 1 비트인 것으로 가정될 것이다. 도 21(a)에는 C-프레임의 접속 도메인에서의 시간 C-프레임 프리펜드 셀렛들(505)이 도시되어 있다. 이러한 시간 C-프레임 프리펜드 셀렛들(505)은 4개의 1024-셀렛 C-프레임으로 이루어진 슈퍼 C-프레임의 개시시에 접속 도메인에서 함께 클러스터되어 있다. 상기 접속 도메인에서의 프리펜드 셀렛들의 이러한 위치 결정은 시간 도메인 C-프레임 전역에 걸쳐 그것들을 균일하게 확산시킨다. (시간 C-프레임 프리펜드 셀렛들(505)은 균일한 간격으로 이루어져 있는데, 그 이유는 C-프레임의 길이가 1024 + 1 = 1025이기 때문이다. 참조 특허출원에서의 도 27 및 그의 논의 참조.)
도 21(c)에 도시된 시간 도메인에서의 프리펜드 그룹에는 개시된 C-프레임 동기화 방법이 수행될 수 있는 방식이 예시되어 있다. 각각의 프리펜드는 주기적인 방식으로 생긴다. 상기 도면에는 4개의 후속하는 1024-셀렛(다시 말하면, 1024 1-비트) C-프레임 전에 생기는 각각의 프리펜드 셀렛이 도시되어 있다. 각각의 후속하는 4개의 C-프레임은 16개의 4-C-프레임 에포크의 기간 동안 사전의 C-프레임 상에 스택(stack)된 것으로 도시되어 있다. 단일의 4-C-프레임 에포크에서의 프리펜드 그룹들은 "ACBC" 순서로 나타나 있다. 쌍 "AB"는 각각의 스택된 프레임 위치에서 0이 이어지는 "1"을 나타낸다. 이는 이더넷 패킷(본원에서는 P-프레임이라 불림)의 101010… 동기화 프로토콜과 다소 유사하다. (이는 "A" 스택에서의 8 번째의 위치가 "1" 대신에 "0"이도록 설정되는 경우에 동일할 것인데, 이는 많은 변형적인 실시예 중 하나이다.)
C-프레임의 시작을 발견하는 것은 "A" 및 "B" 스택을 사용하여 달성될 수 있다. 2개의 "C" 스택은 또한 그렇게 할 수도 있지만, 그들의 주된 이점은 시간 도메인 슬립 오류로부터 신속한 복구를 이루는 것일 수 있다. 이러한 것이 당업자에 의해 구현될 수 있는 방식들이 다수 존재한다. 간단한 방법은 일례로서 4100-비트 슈퍼 C-프레임을 사용하여 다음과 같이 수행하는 것이다.
1. 4-비트 시간 C-프레임 프리펜드 셀렛(505) 가산 카운터를 가지고 C-프레임에서 각각의 셀렛 위치를 제공함(또는 C-프레임들의 개수에 의존하는 기타의 길이가 사용됨). 이는 4100개의 4-비트 가산 카운터를 초래시킨다.
2. 상기 가산 카운터들은 이하에 기재되어 있는 바와 같이, "0"으로 모두 리세트될 수 있다.
3. 각각의 가산 카운터는 "1"이 착신 다중화 스트림에 나타나는 경우에 자신의 총합에 "1"을 추가한다.
[4] 개시내용의 동작이 다음과 같은 단계들을 포함할 수 있다.
1. 동기화가 이루어지지 않은 경우에, 모든 4-비트 카운터들을 "0"으로 리세트하고 슈퍼 C-프레임 클록 카운터를 "0"으로 설정함. 이러한 클록 카운터는 0 - 15의 범위를 지닐 수 있다.
2. 슈퍼 C-프레임에서의 각각의 위치에 대하여, 한 위치가 "0"인 경우에, 어떤 동작도 수행하지 않음. 한 위치가 "1"인 경우에, "1"을 상기 위치의 4-비트 카운터에 추가함.
3. 16-클록 카운터 에포크의 종료시, 합이 "0"인 시간 C-프레임 프리펜드 셀렛(505) 가산 카운터들의 임의의 위치를 발견함. 이는 모두 제로(zero)인 가산 카운터의 예상가능한 위치를 나타낸다.
4. 상기 가산 카운터의 합이 "0"인 각각의 위치에 대해, 이는 예상가능한 "B" 위치이다. 상응하는 "A" 위치의 가산 카운터는 그의 합으로서 "15"를 나타내야 한다. 예상가능한 "B" 및 "A" 위치들이 "0" 및 "15"인 하나 이상의 위치가 존재하는 경우에, 상기 에포크를 다시 또 실행하거나 다음으로 정의된 추가 방법을 사용함.
위의 방법을 사용하여 프레임 개시 위치를 발견하는 변형예에서는 양호한 자기 상관을 초래시키는 비트-패턴들을 사용할 수 있다. 사용될 수 있는 가능성이 많이 존재한다. 하나의 가능성은 솔로몬 골롬(Solomon Golomb)에 의해 발견된 m-시퀀스( m-sequence) 이다. 상기 방법은 주기적인 자기 상관이 매우 작거나 시프트 레지스터에서의 단들의 개수일 수 있는 최고치인 파형들을 형성할 수 있는 시프트 레지스터들을 통한 2진 시퀀스를 사용하는 것을 포함한다. m-시퀀스의 길이는 n 이 정수인 경우에 2 n -1이다. 상기 예에서는, 도 21에서 가정된 슈퍼 C-프레임은 도시된 슈퍼 C-프레임에 대해 n = 5인 시퀀스를 사용할 수 있는 2개의 "C"를 지닐 것이다. m-시퀀스는 "0" 또는 "1"일 수도 있는 여분의 비트를 추가한 31 비트의 길이일 것이다. 변형적으로는, 2n = 4m-시퀀스인 것이 사용될 수 있다. 이러한 경우에, 2개의 m-시퀀스에 속하는 30 비트 및 2개의 여분의 비트가 존재한다. 이하에 기재되어 있는 바와 같이, 하나 또는 2개의 여분의 비트는 16개의 1025-비트 서브프레임 당 독립 동기 비트들이 될 수 있다. 다시 말하면, 도 21에는 65,600-비트 동기화 C-프레임당 하나 또는 2개의 여분의 독립 동기 비트가 도시되어 있고, 도 22에는 32,800-비트 동기화 C-프레임당 하나 또는 2개의 여분의 독립 동기 비트가 도시되어 있다. 10 Gbps 레인의 경우에는, 도 21 및 도 22에 각각 도시된 152,439 또는 304,878 독립 동기 비트가 존재한다.
4100-비트 슈퍼 C-프레임에서의 모든 위치에 대한 m-시퀀스를 포함하기보다는 오히려, 이를 C-프레임의 현재 개시 위치에 대해 사용하고 시간 도메인에서 시간 슬립 오류로부터 신속하게 복구할 수 있는 소수 개의 시프트 레지스터들을 지니는 것이 가능할 것이다. 예를 들면, 현재의 C-프레임 개시 위치의 각각의 측면 상에서 10개의 위치에 할당된 21개의 시프트 레지스터가 사용될 수 있을 것이다.
다른 한 변형예는 4개 모두의 시간 C-프레임 프리펜드 셀렛(505) 위치들을 사용하거나 도 22에 도시된 바와 같이 4 대신에 2로 프리펜드 셀렛들의 개수를 감소시키는 것일 것이다. 이러한 방안 및 다른 방안은 m-시퀀스의 총 길이를 좀더 작은 길이로 분할하는 것과 그러한 시퀀스들에 알려져 있는 추가로서 여분의 비트들을 사용하는 것을 포함한다.
4개의 프리펜드 셀렛을 사용하는 이점은 이더넷과 같은 그리고 m-시퀀스 방법들 양자 모두가 항상 이용가능하다는 점이다. 4개의 프리펜드 셀렛은 도 22에 도시된 바와 같은 2개의 프리펜드 셀렛 각각의 2가지 모드로 나눠질 수 있다. 한가지 모드는 이더넷과 같은 방법이고 다른 한가지 모드는 m-시퀀스 방법이다. 2가지 모드를 지니는 이점은 모든 프레이밍 셀렛들을 각각의 모드로 제공한다는 점이다. 이러한 경우에, 2가지 방법 사이에서 토클링(toggling)하는 제어 메커니즘을 제공하는 것이 필요하다. 이는 체인 제어 벡터들을 사용하여 쉽게 획득될 수 있다.
데이터 네트워크들에서 도플러, 환경, 및 주파수 오프셋 효과들을
극복하는 방법 및 장치
SAIN 네트워크에서, 각각의 포워딩 노드는 광섬유 레인을 통해 또는 유선 또는 마이크로파 무선과 같은 다른 매체를 통해 자신의 인접 노드에 접속해 있을 수 있다. 포워딩 접속(또는 채널)의 길이는 시간에 따라 변할 수 있다. 다시 말하면, 2개의 접속된 노드 간의 클록 동기화는 독립 동기일 수 있다. 2개의 접속된 노드에서의 C-프레임들의 위상 차는 그들의 클록들에 관련된 초당 시간으로(다시 말하면 초당 마이크로초, 초당 나노초 등등으로) 측정될 수 있다. 유선 또는 광섬유 채널에서, 매체 길이의 변경이 온도 또는 다른 변화에 기인하여 이루어질 수 있는데, 마이크로파 무선의 경우에, 이는 서로 간에 방사상으로 이동하는 노드들에 기인하는 길이 변경일 수 있으며, 클록의 경우에, 이는 다른 것과는 다른 속성들을 지니는 주파수 차일 수 있다. 유사한 결합 효과들을 갖는 혼합체가 존재할 수 있다.
광섬유의 경우에, 섬유의 온도 변화는 일주(diurnal) 및 계절에 따른 지연 변화들에 대한 주된 이유일 수 있다. 변화는 거의 75 ps/도(섭씨)-킬로미터의 비율로 이루어진다. 다시 말하면, 광섬유의 각각의 킬로미터의 길이에 대하여, 지연은 약 75 ps/도(섭씨)의 비율로 변화된다. 예를 들면, 100 킬로미터의 링크에 대하여는, 지연이 7.5 ns/도이다.
마이크로파 무선의 경우에, 채널의 양단이 100 km/h의 비율로 서로에 대해 왕복하는 경우에, 채널의 변화 비율은 초당 약 92.59 ns[(100 km/h/킬로미터/3600/s/h) x 109 ns/s/3x105 km/s(개략적인 광속도)]이다. 각각이 1000 km/h로 이동하는, 서로에 대해 이동하는 2대의 비행기는 경로 길이가 약 1.852 μ초/초의 비율로 시간 변화하는 결과를 초래시킬 것이다. 그 외에도, 전파 지연 변화들은 또한 온도와는 다른 환경적 변화들에 기인하여 존재할 수 있다.
접속된 노드들에서의 2개의 클록이 2개의 서로 다른 주파수로 동작하는 경우에, 타이밍 차는 주파수 차이다. 예를 들면, 발신지 클록의 주파수가 수신지 클록보다 초당 비트들에서 1 헤르츠 큰 경우에, 위상 차는 초당 1초이다. 다시 말하면, 1 비트만큼 수신지 C-프레임의 길이를 순간적으로 감소시키거나 1 비트만큼 발신지 C-프레임의 길이를 증가시키는 것이 필요하다. 수신지 C-프레임으로부터 삭제되는 C-프레임당 여분의 비트를 발신지 노드가 전송하는 바람직한 방법. 그 외에도, 발신지 클록이 수신지 클록보다 1 헤르츠 느린 경우에는, 비트가 발신지 C-프레임으로부터 제거되어야 하거나 비트가 수신지 C-프레임에 의해 추가되어야 한다. 이러한 이벤트들은 2개의 클록의 상대적 위상에 의존하는 시간에 초당 한번 일어나야 한다.
모든 경우에 있어서의 바람직한 방법은 양호한 결과를 가져오도록 3-비트 버퍼를 사용할 수 있다. 이는 수신지 노드에서의 지터를 야기하지 않고 지연 차들을 극복할 수 있다. 그 결과는 수신지 C-프레임이 네트워크를 통해 플로팅(floating)하는 것을 허용한다. 이러한 방법은 C-프레임이 마스터 네트워크 클록 또는 UTC 국제 시계에 따라 조정되어야 하는 일반적인 방법들의 바람직하지 않은 결과들을 극복한다. 예를 들면, 네트워크들에서 사용되는 일반적인 방법은 전화 통신 네트워크용으로 설계된 것이다. 수신지 C-프레임 및 그의 국부 클록을 그의 발신지 C-프레임과 일치시키는 것은 C-프레임에 하나의 옥텟을 추가 또는 삭제하는 것을 필요로 한다. [본원에 개시된 방법은 위의 설명에서 단어 "셀렛"을 사용하여 단어 "비트"를 대체시킬 수 있다. 이는 인수(factor) 8에 따라 이루어지는 계산들을 조정하도록 판독기를 필요로 한다.] 비트 대신에 옥텟으로 국부 클록을 조정하는 것은 유해한 클록 지터를 야기할 수 있다.
시간 분할 C-프레임들을 사용하는 네트워크에서는, 위에 열거한 영향들을 극복하는 간단한 방법이 존재한다. SAIN 네트워크에서는, 데이터 포워딩이 동일하거나 거의 동일한 속도로 클로킹되는 2개의 노드 사이에서 이루어진다. 2개의 접속된 노드는 셀렛들(다시 말하면, 비트들)에서 동일한 길이를 지니는 C-프레임을 포함한다. 발신지 노드에 비해 수신지 노드에서의 C-프레임들 간의 위상(다시 말하면, 시간) 차의 작은 변위들을 극복하는 것은 동기화된 주파수를 지니는 클록들의 위상 오프셋을 극복하기에 충분히 큰 버퍼를 사용하여 달성될 수 있다. 이러한 접근법을 수행하게 하기 위해, 위상 변화들의 전체 범위에 대해 버퍼 크기가 충분할 필요가 있다. 예를 들면, 온도의 범위가 섭씨 100도인 것으로 가정하기로 한다. 위에서 인용한 100 킬로미터의 경우에, 지연 범위는 0.75 μs이다. 10 Gbps 링크에 대하여는, 초당 13,333 독립 동기 비트가 존재한다.
상기 방법의 기본적인 사상은 직관적이 아니다. 여러 네트워크에서 설치된 사례와는 대조적으로, 한 노드에서의 C-프레임의 위상을 단일 타이밍 소스에 동기화시키는 것이 필요하지 않다. C-프레임들을 서로와 동기화시키는 주된 사상은 시간에 따라 '플로팅(floating)'시키도록 탠덤(tendem) 노드들 간에 C-프레임을 포워딩하는 것을 고려하는 것이다. 이러한 접근법은 3-비트만큼 적은 비트를 지니는 (도 23에 도시된 바와 같은) 위상 정렬 버퍼(Phase Alignment Buffer; 569)를 이용할 수 있다. (5-비트 버퍼와 같은 기수(odd number)의 비트 크기와 같은) 대형 버퍼 크기는 독립 동기 비트들의 개수가 매우 많을 경우에 도움이 될 수 있다. 버퍼 지연은 링크의 데이터 속도에 의해 나눠진 버퍼의 크기이다.
광섬유 온도 변화들에 관련된 지연 변화는 넓은 온도 변이들에 걸쳐 한 비트를 생략하지 못하게 하도록 충분히 큰 버퍼들을 사용함으로써 극복될 수 있다. 그러나, 이러한 방법은 장거리에 걸쳐 지연을 최소화하는 것이 중대한 요구인 경우에 유용하지 않는 정도로 단 대 단 지연을 증가시킨다. 2개의 이동 대상 간의 도플러 지연들을 극복하도록 충분히 큰 버퍼를 사용하려고 시도한 것은 또한 상기 대상들 간의 속도 차가 클 경우에 유용한 옵션이 아니다.
국제 표준 전화 통신 네트워크에서는, 시분할 C-프레임들이 비교적 큰 버퍼들을 사용하여야 한다. 상기 버퍼들은 적어도 국부 C-프레임과 도달하는 C-프레임을 시간 정렬(time-align)시킬 수 있도록 C-프레임만큼 커야 한다. 본원에 개시된 방법은 위에 나타낸 경우들 및 그 밖의 경우들에서 C-프레임 동기화를 이용가능하게 함에 있어서의 이러한 어려움을 극복할 수 있다.
본원에 개시된 방법은 하나 또는 복수 개의 홉들로서 수신지 홉에 대한 발신지 노드를 다루는 것이다. 단 대 단 채널에 대한 지연은 발신지/수신지 쌍의 C-스위치들의 각각의 홉 채널의 지연의 합으로서 계산될 수 있다. 상기 홉 지연들을 가산하는 변형예는 거리측정(ranging)을 사용하여 발신지-수신지 지연을 결정하는 것이다. 수신지-발신지 접속의 거리측정은 수신지-발신지 접속의 지연을 결정할 수 있다. 이는 프라이버시 및 보안 대안들의 중요한 부분일 수 있다. 그러한 대안은 상기 지연이 이미 알고 있는 값들 내에 있는 것을 보장할 수 있다.
다수의 집성 레벨을 지니는 네트워크에 대하여, 각각의 레벨은 이하에 개시되어 있는 방법론을 사용하여 최저 집성 레벨이 적절한 기능을 수행하는 것을 보장할 수 있다. 최고 집성 레벨은 다음으로 낮은 레벨로부터 트래픽을 집성할 수 있다. 대도시권 네트워크로서 동작하는 SAIN 네트워크에서, 최고 트래픽 집성은 레벨 2 채널들을 집성하는 레벨 3에서 이루어진다. 레벨 3 자체는 다음으로 높은 레벨, 즉 광학의 물리적 레인에서나 물리적 분할에서 동작하는 포워딩 레벨에서 집성될 수 있다. 포워딩 레벨 4는 복수 개의 레벨 3 집성들을 집성할 수 있다. 상기 시스템은 하나 또는 복수 개의 레인들을 사용하여 발신지 T-노드로부터 복수 개의 다른 수신지 T-노드들로의 레벨 3 집성들에 대한 라우트들을 설정할 수 있다. 다수의 레인이 매우 높은 대역폭 채널들을 포워드하는데 사용될 수 있는 경우에, 각각의 레인에 대한 C-프레임 동기화는 개별적으로 다루어질 수 있게 된다.
E-노드는 3가지의 트래픽 집성 레벨을 포함할 수 있다. E-노드의 발신지 측 상에서는, 이러한 것들이 발신지 레벨 1 집성, 발신지 레벨 2 집성 및 발신지 레벨 3 집성을 포함한다. 발신지 레벨 3 집성 스위치는 E-노드의 패런트 발신지 T-노드에서의 수신지 레벨 3 집성 스위치와 쌍을 이룬다. 이러한 접속은 어떠한 C-프레임 동기화도 필요하지 않은데, 그 이유는 모든 요소들이 동일한 국부 클록을 사용하기 때문이다.
발신지 T-노드는 네트워크 내의 모든 T-노드들에 접속해 있을 수 있는 복수 개의 레벨 2 채널들을 설정할 수 있다. 각각의 수신지 T-노드에 대해 단일의 L3 집성 스위치는 네트워크를 통해 라우트의 일부를 L4 해체 포워딩 C-스위치에 접속시키는 L4 집성 포워딩 C-스위치에 접속해 있을 수 있다. 이는 일부 간단한 경우들에서 이루어질 수 있다. 좀더 현실적으로는, 복수 개의 L3 집성 스위치들이 설정된 레벨 2 채널들의 부분집합들을 집성한다. 각각의 레벨 3 부-채널은 이때 수신지 T-노드에서의 L3 해체 C-스위치들에 이르도록 서로 다른 라우트들을 통해 라우트될 수 있다.
수신지 T-노드에서의 각각의 레벨 3 해체 C-스위치는 수신지 E-노드들 각각에서의 레벨 2 해체 스위치에 접속해 있는 레벨 2 채널들을 포함한다. 레벨 3 트래픽을 포함하는 각각의 레인은 독립 동기 채널 접속들을 이용할 수 있다. 각각의 채널의 클록 속도는 선택된 구성요소들의 물리적 실재에 의해 결정된다.
레인에 접속해 있는 집성 레벨들은 현재의 트래픽을 다루는데 필요한 대역폭들에서 모든 낮은 레벨들을 집성할 수 있다. 상기 레인으로부터의 각각의 레벨이 낮아져 있는 상태에서, C-프레임 크기는 자신의 트래픽에 필요한 양자 데이터 속도(QDR)에 따라 선택된다. 예를 들면, 제2 QDR 당 20 Mb를 요구하는 제2 채널당 1 기가비트에 대해, C-프레임 크기는 1-비트 셀렛 크기에 대해 50 비트일 것이다. 이때, 각각의 채널은 20 Mb/초의 정수 배일 것이다. 문단 0에서 시작하는, 개시된 방법은 SAIN 다중화 알고리즘을 사용하여 더 작은 레인들로 나눠질 수 있는 고정된 슈퍼 C-프레임을 정의한다. 그 외에도, 이는 문단 0에서 시작하는 "복수 개의 레인들 간에 대용량 채널들을 분배하는 방법 및 장치"에 기재되어 있는 방법들의 속성들을 사용하여 대용량 트렁크에 다수의 레인이 필요할 때 디-스큐잉 메커니즘(de-skewing mechanism)으로서 사용될 수 있다.
레벨 1에서부터 레벨 4에 이르기까지의 각각의 하나의 홉 접속(또는 채널)은 자신의 C-프레임을 구분(delimit)하여 위에서 "공간/시간 분할 C-프레임들의 C-프레임 동기화를 위한 방법 및 장치"로 개시되어 있는 방법들을 사용할 수 있다. C-프레임의 개시부분은 타이밍 장치와 동시에 생길 수도 있고 타이밍 장치와 동시에 생기지 않을 수도 있다. 이러한 개시 내용의 목적들을 위해, 여기서 가정된 점은 접속들 및 채널들 간의 그러한 동기화가 사용되지 않는다는 점이다.
도 23에는 수신지 노드에서의 3-비트 위상 정렬 버퍼(569)가 도시되어 있다. 접속(또는 채널)의 설치시에는 수신지 C-스위치가 현재 3-비트 버퍼의 첫 번째 비트로부터 자신의 입력을 획득하도록 비트 클럭 시간의 지연이 생긴 것으로 가정되어 있다. 본원에 개시된 방법은 다음의 에포크의 첫 번째 비트가 생기도록 한 에포크에서의 최종 비트를 삭제할 수 있다.
한 에포크의 개시부분의 이러한 이동을 달성하도록 하는 방식이 여러 가지 존재한다. 한 가지 방식은 발신지 노드 C-프레임이 수신지 노드 C-프레임보다 클 경우에 생략될 수도 있고 한 링크가 한 비트만큼 단축되고 다음 에포크의 개시부분이 차후의 한 비트에서 개시되는 경우에 2 비트가 될 수도 있는 독립 동기 비트를 추가하는 것이다.
도 23에는 수신지 C-프레임보다 짧은 발신지 C-프레임의 연결성이 도시되어 있다. 도 23.1에는 수신지 노드의 3-비트 버퍼의 위치 2 내로의 발신지 노드에서의 C-프레임의 개시부분의 연결이 도시되어 있다. 수신지의 3-비트 버퍼의 위치 2는 노드의 개시 시간보다 1 비트 시간 미만 앞선 동안 수신지 노드의 C-프레임의 첫 번째 비트를 유지한다.
도 23.2에는 발신지 C-프레임의 위치 1이 현재 수신지 노드의 이전의 C-프레임의 최종 비트를 넘어서 존재하는 것이 도시되어 있다. 이는 또한 수신지 C-프레임에서의 상기 3-비트 버퍼의 위치 1을 지나서 발신지 C-프레임의 첫 번째 비트를 배치한다. 발신지 C-프레임의 위치 1은 현재 수신지 C-프레임의 위치 1에서 1 비트 이상 떨어져 존재한다.
도 23.3에는 수신지 C-프레임의 위치 n 이 그의 위치 1을 발신지 C-프레임의 위치 1에 1 비트 가깝게 하기 위해 삭제된 것이 도시되어 있다. 또한, 발신지 C-프레임의 위치 1은 현재 상기 3-비트 버퍼의 위치 2에 배치된다. 수신지 C-프레임의 개시 시간은 현재 그보다 1 비트 늦다. 다시 말하면, 수신지 C-프레임은 차후에 1 비트 플로팅(floating)한다. 다음 홉의 3-비트 버퍼는 자신의 착신 C-프레임의 자신의 위치 1을 현재 버퍼의 위치 1에서 발견하게 된다. 메시지는 착신 C-프레임의 위치 1을 자신의 3-비트 버퍼의 위치 2에 배치한 것을 알려주도록 원래의 수신지로부터 다음 홉의 버퍼 위치 1로 전송되어야 한다.
도 23 프로세스의 변형예는 발신지 노드가 수신지 노드에 의해 폐기될 수 있는 한 비트를 자신의 C-프레임에 추가하게 하는 것이다. 이러한 경우에 메시지는 여분의 비트를 추가하도록 수신지 노드로부터 발신지 노드로 전송된다. C-프레임이 차후에 1 비트 플로팅되게 하는 출력이 발생한다. 이는 상기 수신지 노드가 착신 C-프레임의 추가 비트를 폐기하게 하는 결과를 초래시킨다.
발신지 C-프레임이 자신의 수신지 C-프레임보다 클 경우에, m-시퀀스 발신지 C-프레임으로부터 최종-비트를 삭제하는 것은 자신의 C-프레임 최종-비트가 앞서와 같이 남아 있도록 C-프레임이 수신지에 즉시 나타나게 한다.
홉 쌍의 발신지 C-프레임에서 한 비트를 추가 또는 제거하는 것은 수신지 노드가 비트들을 다루게 하는 것에 비하면 변형적인 방법이다. 한 비트가 발신지 노드에 의해 추가 또는 삭제되어야 함을 신호 전송하는 메시지는 수신지 노드로부터 자신의 발신지 노드로 전송되어야 한다. 어느 경우든 간에, 2-비트 메시지 또는 그보다 큰 메시지가 필요하다. 이러한 두 번째 변형예는 특정 상황에서 바람직할 수 있다.
위에서 "공간/시간 분할 C-프레임들의 C-프레임 동기화를 위한 방법 및 장치"로 개시되어 있는 동기화 방법을 사용하는 것은 C-프레임들의 위상 시프트를 극복하는 간단한 방법으로 이끌 수 있다. 상기 방법은 단지 그 목적을 위해 별도의 독립 동기 비트를 필요로 하지 않는다. 이는 상기 방법에서 보인 C-프레임 동기화 비트들로부터의 비트들 중 하나를 사용할 수 있다. C-프레임의 m-시퀀스의 최종 비트는 그의 동기화 목적의 일부로서 필요하지 않다. m-시퀀스 동기화 코드를 포함하는 각각의 16번째 1025(즉, 16,400) 비트 서브-프레임으로부터 이용가능한 한 비트일 수 있다.
예를 들면, 독립 동기 비트로서 사용될 비트는 동기화 16,400-비트 에포크에서 첫 번째 또는 최종 비트일 수 있다. 상기 에포크는 독립 동기 비트로 시작되거나 독립 동기 비트에 앞서는 m-시퀀스를 포함하여야 한다. 어떤 비트가 사용되든 간에, 차후의 비트는 수신지 노드에서 3-비트 버퍼의 두 번째 비트로 초기 설정될 수 있다. 여기서 이루어졌던 점은 여분의 비트가 지터의 발생 없이 단 대 단 지연에 추가되었다는 점이다.
도 21에 도시된 C-프레임 동기화 비트들은 각각의 홉에 속할 수 있다. 이러한 방식으로, 단지 데이터 비트들만이 상기 시스템을 통해 포워딩된다. 이는 각각의 홉 다음에 상기 장치의 각각의 C-프레임 동기화 구조가 홉 C-프레임과 동기화될 필요가 있다. 이는 포워딩 에포크의 최종 홉 다음에 상기 장치를 포함한다. 이는 모든 집성 레벨들에 대해 이루어질 수 있다.
위에 개시된 절차는 단 대 단 접속(또는 채널)의 길이가 단일 비트(또는 다른 크기의 셀렛)에 의해 증가한 경우들에 대한 것이다. 상기 길이가 짧아지는 경우들에 대해, 상기 동기화 구조로부터 한 비트를 생략하는 대신에, 한 비트가 추가되고 상기 비트가 추가된 경우에 한 홉으로부터 포워딩된 제3 비트가 3-비트 버퍼의 두 번째 비트가 된다. 상기 두 번째 비트는 세 번째 비트가 수신된 다음에 첫 번째 데이터 비트로서 선택된다.
C-프레임 동기화 비트들은 포워딩 데이터 비트들에 포함되지 않는다. 동기화 비트들은 데이터 C-프레임을 동기화시키는데 사용된다. 이는 프레이밍 비트들을 무시하고 수신지 C-스위치로부터 단지 데이터 비트들만을 포워딩하도록 하는 데이터 포워딩에 대한 모범 사례이다. 도달 프레이밍 구조를 나타내는 비트들은 포워딩 프로세스에서 무시될 수 있다. 단지 C-프레임 데이터만이 상기 프로세스로부터 초래된다. 이는 해체 C-스위치로 전송되어 낮은 집성 레벨로 포워딩되거나 동기화되고 마킹된 C-프레임으로서 사용자에게 포워딩될 수 있다. 이는 또한 본원에 기재되어 있는 방법을 사용하여 포워딩 홉에 대한 입력으로의 기능을 수행할 수 있다.
위에 개시되어 있는 방법들을 구현하여 독립 동기 동작을 이루는 것은 한 홉의 수신지 노드가 상기 홉의 발신지 노드에 제어 신호를 전송할 필요가 있다. 이는 수신지-발신지 제어 벡터의 일부를 사용하여 달성될 수 있다.
간단한 제어 신호는 2-비트 엔티티가 4개의 메시지를 기술할 수 있는 홉 수신지로부터 주기적으로 전송된 2-비트 메시지를 포함할 수 있다. 예를 들면, 4개의 메시지는 '00': 'NoOp", '01': "발신지 비트의 삭제", '10': "발신지 비트의 추가", '11':"프레임 재취득(frame reacquisition)"일 수 있을 것이다. 여기서 가정된 점은 레인 데이터 속도가 10 Gbps이며 슈퍼 C-프레임이 1025 비트를 포함한다는 점이다. C-프레임 속도는 102.5 프레임/나노초이다. 단일 비트/C-프레임의 경우에, 프레이밍에 대한 데이터 속도는 또한 102.5 비트/나노초이다.
여기서 가정된 점은 C-프레임에 대한 2-비트 메시지가 수신지로부터 발신지로 전송된다는 점이다. 이러한 메시지에 대한 데이터 속도는 205 비트/나노초이다. 한 비트 메시지는 독립 동기 C-프레임이 전송되는 C-프레임을 식별하도록 발신지로부터 수신지로 전송될 수 있다. 결합된 프레이밍 및 복귀 메시징은 410 비트/나노초이다. 다시 말하면, 독립 동기 프레이밍에 대한 총 대역폭 비용은 0.41% 이다. 이러한 독립 동기 대역폭 접근법은 이것이 백분율로 환산하여 적용되는 데이터 속도로부터 독립적이다. 그러나, 많은 경우에, 발신지는 주파수의 클록 백분율 변화로 인해 변하지 않는다.
발신지 및 수신지 클록들 간에 주파수 오프셋이 존재하는 경우에, 독립 동기 이벤트가 주기적이다. 그러한 주기는 발신지 및 수신지 클록 간의 주파수 차에 의존하며 지속적이다.
전송 매체의 데이터에 대한 온도 영향과 같은 관련된 거리인 것으로 보이는 경우에 대해, 독립 동기 모멘트들의 개수는 데이터 속도와 아울러 영향에 의존한다. 예를 들면 여기서 가정된 점은 발신지 및 수신지 간의 채널이 100 km이고, 지연 변화가 7.5 나노초/℃이라는 점이다. 여기서 가정된 점은 상기 온도가 10도씩 변한다는 점이다. 이는 광 케이블 내에서 75 나노초의 변화를 일으킨다. 10 Gbps 홉 채널의 경우에, 단일 비트의 기간은 100 피코초이다. 1 Mbps의 경우에, 한 비트의 기간은 1 마이크로초이다. 10 Gbps 링크의 경우에는, 약 750 개의 독립동기 이벤트가 존재하게 된다. 1 Mbps의 경우에, 상기 변화는 0.750 개의 독립동기 이벤트이다. 이 중 후자의 경우에, 상기 시스템이 독립동기 이벤트를 지니는 것은 매우 드물게 된다.
온도를 포함하는 모든 경우에, 독립동기 이벤트들의 발생 속도는 온도 변화 속도에 의존한다. 여기서 가정된 점은 해질 녘에, 1도의 변화가 1분에 걸쳐 선형적으로 이루어진다는 점이다. 10 Gbps 링크는 8개의 독립동기 이벤트/초를 지닌다.
여기서 가정된 점은 차량이 100 km/hr 속도로 이동전화 기지국을 향해 주행한다는 점이다. 이는 27.77 m/s에 해당한다. 광속은 약 300,000,000 m/s이다. 100 Mbps는 3.00 m/b에 해당한다. 이는 9.26개의 독립동기 이벤트/초에 해당하는 9.26 비트/초를 초래시킨다. 1,000 km/hr로 서로 접근하는 2대의 비행기는 약 185.2 독립동기 이벤트/초를 초래시킨다.
(수정 발진기들을 가지고 발생할 수 있는) 1 부분/105 사이클만큼 차이가 나는 클록 속도를 지니는 2개의 접속 노드는 10 Gbps 링크에 대해 100,000 개의 독립동기 이벤트/초를 초래시킨다. 2개의 독립동기 비트/프레임과 4,100 비트/슈퍼 C-프레임을 사용하는 경우에, 상기 프레임들은 48.78 개의 독립동기 이벤트/마이크로초를 다룰 수 있다. 오프 주파수(off-frequency) 이벤트들은 0.1 개의 독립동기 이벤트/마이크로초의 속도로 생긴다. 다시 말하면, 상기 시스템은 478.77 개의 독립동기 비트/독립동기 발생을 제공할 수 있다. 요약하면, C-프레임 플로팅이 C-프레임의 데이터 속도와는 무관하게 10 μs/s이다.
용어
본원에서 사용되는 조건부 표현, 예를 들면 특히 "할 수 있다", "할 수도 있을 것이다", "할 수도 있다", "예컨대" 등등과 같은 조건부 표현은 달리 구체적인 언급이 없는 경우나 이와는 달리 사용된 문맥 내에서 이해될 수 있는 경우에, 특정 실시예들이 특정한 특징들, 요소들 및/또는 상태들을 포함하지만 다른 실시예들은 특정한 특징들, 요소들 및/또는 상태들을 포함하지 않음을 전달하는 것으로 의도되는 것이 일반적이다. 따라서, 그러한 조건부 표현은 일반적으로 특징들, 요소들 및/또는 상태들이 어떻게든 하나 이상의 실시예들에 필요함을 의미하거나 저자의 지식이나 설득을 통하거나 저자의 지식이나 설득을 통하지 않고 이러한 특징들, 요소들 및/또는 상태들이 어떤 특정한 실시예에 포함되는지 또는 어떤 특정한 실시예에서 수행될 것인지를 결정하기 위한 논리를 하나 이상의 실시예들이 반드시 포함함을 의미하는 것으로 의도된 것은 아니다. "구성하는", "포함하는", "지니는" 등등의 용어들은 동의어이며 개방형태의 방식으로 전부 사용되고, 추가 요소들,특징들, 행위들, 동작들 등등을 배제하지 않는다. 또한, "또는"이라는 용어는 자신을 포함하는 의미로 사용됨(자신을 배제하는 의미로 사용되지 않음)으로써 예를 들면 요소들의 리스트를 연결하는데 사용될 경우에, "또는"이라는 용어는 상기 리스트의 요소들 중 하나, 일부, 또는 모두를 의미하게 된다. 그 외에도, "어떤" 및 "하나의"라는 관사는 달리 특정되지 않는 한 "하나 이상의" 또는 "적어도 하나의"를 의미하는 것으로 해석되어야 한다.
달리 특정되어 있지 않은 경우나 이와는 달리 아이템, 용어 등을 전달하는데 일반적으로 사용되는 바와 같은 문맥으로 이해될 수 있는 경우에 "X, Y 및 Z 중 적어도 하나"라는 문구와 같은 접속 표현은 X, Y 또는 Z일 수 있다. 따라서, 그러한 접속 표현은 일반적으로 특정 실시예들이 각각이 존재하도록 X 중 적어도 하나, Y 중 적어도 하나 및 Z 중 적어도 하나를 필요로 함을 의미하는 것으로 의도된 것이 아니다.
위의 구체적인 설명에서 여러 실시예에 적용된 신규한 특징들이 나타나 있고, 기재되어 있으며, 지적되어 있지만, 당업자라면 예시된 장치들 또는 알고리즘들의 형태 및 세부들의 다양한 생략들, 치환들, 및 변경들이 본 개시내용의 정신으로부터 벗어나지 않고 이루어질 수 있다는 점을 이해할 것이다. 따라서, 위의 내용의 어떠한 것도 어떤 특정한 형태, 특징, 단계, 모듈, 또는 블록이 반드시 필요하다거나 필수불가결함을 의미하는 것으로 의도된 것이 아니다. 인식되겠지만, 본원에 기재되어 있는 프로세스들은 본원에 기재되어 있는 특징들 및 이점들 모두를 제공하지 않은 형태 내에서 구체화될 수 있는데, 그 이유는 일부 특징들이 다른 특징들과는 별개로 사용되거나 실시될 수 있기 때문이다. 보호 범위는 위의 설명에 의해 정의되기보다는 오히려 첨부된 청구항들에 의해 정의된다.

Claims (1)

  1. 시간에 기반하고 정확한 어드레스에 대한 전송을 용이하게 하도록 제1 공간/시간 데이터 스트림을 어드레싱하는 방법에 있어서,
    상기 방법은,
    다수의 접속을 포함하는 접속 도메인에서 제1 데이터 스트림을 하나 이상의 공간/시간 프레임들로 클러스터링하는 단계로서, 상기 프레임들은 가변 길이들을 지니는 단계;
    상기 제1 데이터 스트림의 개시 프레임을 위한 셀렛(cellet)을 포함하여, 상기 제1 데이터 스트림 내의 각각의 프레임에 대한 하나 또는 복수 개의 셀렛들을 추가함으로써 상기 접속 도메인에 슈퍼 프레임(super frame)을 형성하는 단계;
    컴퓨터 하드웨어를 포함하는 컴퓨터 시스템에 의해 상기 슈퍼 프레임을 변환하여 공간/시간 도메인에서 묵시적으로 어드레싱된 제2 공간/시간 데이터 스트림을 형성하는 단계; 및
    상기 묵시적으로 어드레싱된 제2 공간/시간 데이터 스트림을 사용해 상기 다수의 접속 중 어느 접속에 어느 데이터가 속해 있는지를 식별하여, 시간에 기반하고 정확한 상기 어드레이스에 대한 전송을 제공하는 단계;
    를 포함하는, 시간에 기반하고 정확한 어드레스에 대한 전송을 용이하게 하도록 제1 공간/시간 데이터 스트림을 어드레싱하는 방법.
KR20147026876A 2012-03-09 2013-03-08 동기화된 적응형 인프라(sain)네트워크에서 제어 벡터들을 가지고 라우팅하는 장치 및 방법 KR20150002622A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261609218P 2012-03-09 2012-03-09
US61/609,218 2012-03-09
US201361766661P 2013-02-19 2013-02-19
US61/766,661 2013-02-19
PCT/US2013/030040 WO2013134732A1 (en) 2012-03-09 2013-03-08 Apparatus and methods of routing with control vectors in a synchronized adaptive infrastructure (sain) network

Publications (1)

Publication Number Publication Date
KR20150002622A true KR20150002622A (ko) 2015-01-07

Family

ID=49117415

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20147026876A KR20150002622A (ko) 2012-03-09 2013-03-08 동기화된 적응형 인프라(sain)네트워크에서 제어 벡터들을 가지고 라우팅하는 장치 및 방법

Country Status (4)

Country Link
US (4) US9137201B2 (ko)
EP (1) EP2823621A4 (ko)
KR (1) KR20150002622A (ko)
WO (1) WO2013134732A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210038009A (ko) 2019-09-30 2021-04-07 주식회사 엘지화학 태양광 윈도우

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2823621A4 (en) * 2012-03-09 2015-12-16 Ray W Sanders APPARATUS AND METHODS FOR ROUTING WITH CONTROL VECTORS IN A SYNCHRONIZED ADAPTIVE INFRASTRUCTURE NETWORK (HEALTH)
US10511497B2 (en) 2012-10-04 2019-12-17 Fortinet, Inc. System and method for dynamic management of network device data
US10355930B2 (en) 2013-03-14 2019-07-16 Fortinet, Inc. System and method of subnetting a virtual network identifier
WO2015009209A1 (en) * 2013-07-15 2015-01-22 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for qos-aware routing in a li system
US9819515B1 (en) * 2014-07-24 2017-11-14 Qlogic Corporation Integrated fabric adapter and associated methods thereof
US20160164734A1 (en) 2014-12-01 2016-06-09 Stateless Networks, Inc. System and method of optimizing paths in a network
CN105871663B (zh) * 2015-01-19 2019-04-05 环旭电子股份有限公司 无线以太网络控制方法以及无线以太网络系统
US11096028B2 (en) * 2015-08-26 2021-08-17 Huawei Technologies Co., Ltd. Frame structure for machine-type communications with adjustable pulse bandwidth
WO2017101114A1 (zh) * 2015-12-18 2017-06-22 华为技术有限公司 一种数据中心网络组网的方法以及数据中心网络
KR102532645B1 (ko) * 2016-09-20 2023-05-15 삼성전자 주식회사 적응적 스트리밍 서비스에서 스트리밍 어플리케이케이션으로 데이터를 제공하는 방법 및 장치
CN106649668A (zh) * 2016-12-14 2017-05-10 华南师范大学 一种基于向量模型的海量时空数据检索方法及系统
JPWO2018173147A1 (ja) * 2017-03-22 2020-01-23 住友電気工業株式会社 上位装置、対向装置、通信システム及び通信方法
CN109104373B (zh) * 2017-06-20 2022-02-22 华为技术有限公司 网络拥塞的处理方法、装置及系统
CN108429595B (zh) * 2018-01-21 2019-06-21 西安电子科技大学 基于as6802标准的交换设备时钟同步装置及方法
US11190628B2 (en) * 2019-04-03 2021-11-30 National Chiao Tung University High-speed data-plane packet aggregation and disaggregation method
US12047296B2 (en) * 2021-08-12 2024-07-23 Viscore Technologies Inc. Scalable loss tolerant remote direct memory access over optical infrastructure with shaped quota management

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2541932A (en) 1948-05-19 1951-02-13 Bell Telephone Labor Inc Multiplex speech interpolation system
US2986723A (en) 1960-02-26 1961-05-30 Bell Telephone Labor Inc Synchronization in a system of interconnected units
US3162857A (en) 1960-03-14 1964-12-22 Space General Corp Pulse-position modulation telemetry system
US3168722A (en) 1961-03-21 1965-02-02 Space General Corp Electronic commutator with redundant counting elements
US3218557A (en) 1961-08-23 1965-11-16 Space General Corp Receiver employing phase-locked circuits for multiplexed phase modulated transmission system
US3383598A (en) 1965-02-15 1968-05-14 Space General Corp Transmitter for multiplexed phase modulated singaling system
US3480865A (en) 1965-09-27 1969-11-25 Space General Corp Phase locked crystal controlled voltage variable oscillator
US3486118A (en) 1966-12-28 1969-12-23 Aerojet General Co Fm sweep signal detection and signal quality evaluation circuit
US3665405A (en) 1970-03-17 1972-05-23 Computer Transmission Corp Multiplexer
US3715505A (en) * 1971-03-29 1973-02-06 Bell Telephone Labor Inc Time-division switch providing time and space switching
US3744051A (en) 1971-08-31 1973-07-03 Computer Transmission Corp Computer interface coding and decoding apparatus
US3978449A (en) 1975-01-27 1976-08-31 Computer Transmission Corporation Method and apparatus for in-band signalling in data transmission
GB2276292B (en) 1993-03-17 1997-01-08 Roke Manor Research Improvements in or relating to communication systems
WO1995031054A1 (en) * 1994-05-06 1995-11-16 Circuit Path Network Systems, Corp. Method of assigning slots by mapping channels to slots based on a one-to-one transformation
US6031864A (en) * 1996-10-29 2000-02-29 International Business Machines Corporation Method and system for controlling the time occupation of signalling frequencies in a frequency hopping system
US5802043A (en) * 1996-11-21 1998-09-01 Northern Telecom Limited Transport architecture and network elements
JPH10262020A (ja) * 1997-03-18 1998-09-29 Fujitsu Ltd 回線多重化方式
US6118792A (en) * 1997-11-21 2000-09-12 Nortel Networks Corporation Method and apparatus for a flexible access rate common-memory packet switch
EP1039709B1 (en) * 1997-12-17 2007-08-08 Kabushiki Kaisha Kenwood Receiver for signals modulated by a plurality of PSK modulation schemes
US6636512B1 (en) 1998-07-31 2003-10-21 International Business Machines Corporation System, method, and article of manufacture for increasing link bandwidth utilization in a high speed digital network
US6356951B1 (en) * 1999-03-01 2002-03-12 Sun Microsystems, Inc. System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction
US7017020B2 (en) * 1999-07-16 2006-03-21 Broadcom Corporation Apparatus and method for optimizing access to memory
SG114476A1 (en) 1999-11-04 2005-09-28 Ntt Docomo Inc Method, base station and mobile station for timeslot selection and timeslot assignment
US6374117B1 (en) * 1999-12-22 2002-04-16 Telefonaktiebolaget Lm Ericsson (Publ) Queue based power control scheduling
US6907020B2 (en) * 2000-01-20 2005-06-14 Nortel Networks Limited Frame structures supporting voice or streaming communications with high speed data communications in wireless access networks
US6920113B1 (en) 2000-03-28 2005-07-19 Telsima Inc. Transport of iscochronous and bursty data on a sonet ring
US6754221B1 (en) 2001-02-15 2004-06-22 General Bandwidth Inc. System and method for selecting a compression algorithm according to an available bandwidth
US6763025B2 (en) 2001-03-12 2004-07-13 Advent Networks, Inc. Time division multiplexing over broadband modulation method and apparatus
US20070067487A1 (en) 2001-10-04 2007-03-22 Newnew Networks Innovations Limited Communications node
US6879590B2 (en) * 2002-04-26 2005-04-12 Valo, Inc. Methods, apparatuses and systems facilitating aggregation of physical links into logical link
US7286552B1 (en) * 2002-07-26 2007-10-23 Extreme Networks Method and apparatus for providing quality of service across a switched backplane for multicast packets
US7420988B1 (en) 2002-08-14 2008-09-02 Juniper Networks, Inc. Network relay protocol having timed packet aggregation
US7590118B2 (en) * 2003-12-23 2009-09-15 Agere Systems Inc. Frame aggregation format
US20050207436A1 (en) 2004-03-18 2005-09-22 Anujan Varma Switching device based on aggregation of packets
US8948207B2 (en) 2004-04-05 2015-02-03 Verizon Patent And Licensing Inc. System and method for transporting time-division multiplexed communications through a packet-switched access network
US20050249247A1 (en) * 2004-05-05 2005-11-10 Transwitch Corporation Methods and apparatus for multiplexing multiple signal sources over a single full duplex ETHERNET link
EP1751921A1 (en) 2004-05-13 2007-02-14 Koninklijke Philips Electronics N.V. Superframe protocol packet data unit format having multirate packet aggregation for wireless systems
US7474676B2 (en) 2004-09-10 2009-01-06 Mitsubishi Electric Research Laboratories, Inc. Frame aggregation in wireless communications networks
US8811411B2 (en) * 2008-12-24 2014-08-19 Entropic Communications, Inc. Packet aggregation and fragmentation at layer-2 over a managed network
US8526458B1 (en) * 2009-05-27 2013-09-03 Lockheed Martin Corporation Framer and deframer for self-describing superframe
US8635347B2 (en) 2010-01-26 2014-01-21 Ray W. Sanders Apparatus and method for synchronized networks
US8639116B2 (en) * 2010-12-17 2014-01-28 Ron Hui Digital subcarrier optical network utilizing digital subcarrier cross-connects with increased energy efficiency
EP2823621A4 (en) * 2012-03-09 2015-12-16 Ray W Sanders APPARATUS AND METHODS FOR ROUTING WITH CONTROL VECTORS IN A SYNCHRONIZED ADAPTIVE INFRASTRUCTURE NETWORK (HEALTH)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210038009A (ko) 2019-09-30 2021-04-07 주식회사 엘지화학 태양광 윈도우

Also Published As

Publication number Publication date
US20170195224A1 (en) 2017-07-06
WO2013134732A1 (en) 2013-09-12
US20160173375A1 (en) 2016-06-16
US20180176131A1 (en) 2018-06-21
US20140056317A1 (en) 2014-02-27
EP2823621A4 (en) 2015-12-16
US9137201B2 (en) 2015-09-15
EP2823621A1 (en) 2015-01-14

Similar Documents

Publication Publication Date Title
US20180176131A1 (en) Apparatus and methods of routing with control vectors in a synchronized adaptive infrastructure (sain) network
Ding Communication systems
US10135721B2 (en) Apparatus and method for synchronized networks
US6553030B2 (en) Technique for forwarding multi-cast data packets
US9276870B2 (en) Switching node with load balancing of bursts of packets
US20020085565A1 (en) Technique for time division multiplex forwarding of data streams
US20020085567A1 (en) Metro switch and method for transporting data configured according to multiple different formats
JP4547339B2 (ja) 送信制御機能を備えるパケット中継装置
US20020085548A1 (en) Quality of service technique for a data communication network
US20020085507A1 (en) Address learning technique in a data communication network
EP1992126B1 (en) Aggregation of vci routing tables
US20020085545A1 (en) Non-blocking virtual switch architecture
CN102238164B (zh) 面向ip电信网的多协议报文适配方法
US20040215812A1 (en) Packet-drop tolerant method for transmitting time-critical data over ethernet
CN114401228B (zh) 一种端到端的跨广域确定性传输网络架构和方法
US20180167257A1 (en) Methods and systems for forming network connections
CN102811168B (zh) 同步网络交换机
US8515283B2 (en) Transparent fiber channel link management for protocol transport
CN116489079A (zh) Mpls网络transit节点的oam实现方法及设备
Joo et al. Integrated frame switch network guaranteeing customized end-to-end qualities
JP2000032058A (ja) 高効率パケットデ―タ伝送ネットワ―クおよびそれに用いられるインタフェ―ス
Gebali et al. Switches and Routers

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application