KR100977653B1 - 통신 네트워크에서의 데이터 콘텐츠의 송수신 방법, 그에대응하는 기억 매체 및 장치 - Google Patents

통신 네트워크에서의 데이터 콘텐츠의 송수신 방법, 그에대응하는 기억 매체 및 장치 Download PDF

Info

Publication number
KR100977653B1
KR100977653B1 KR1020080035825A KR20080035825A KR100977653B1 KR 100977653 B1 KR100977653 B1 KR 100977653B1 KR 1020080035825 A KR1020080035825 A KR 1020080035825A KR 20080035825 A KR20080035825 A KR 20080035825A KR 100977653 B1 KR100977653 B1 KR 100977653B1
Authority
KR
South Korea
Prior art keywords
cycle
data
network
node device
transmission
Prior art date
Application number
KR1020080035825A
Other languages
English (en)
Other versions
KR20080093922A (ko
Inventor
삐에르 비자
로랑 프루엥
아르노 끌로쎄
야씬느 엘 꼴리
Original Assignee
캐논 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20080093922A publication Critical patent/KR20080093922A/ko
Application granted granted Critical
Publication of KR100977653B1 publication Critical patent/KR100977653B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/204Multiple access
    • H04B7/212Time-division multiple access [TDMA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6445Admission control
    • H04L2012/6448Medium Access Control [MAC]
    • H04L2012/6451Deterministic, e.g. Token, DQDB

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

통신 네트워크에서 데이터 콘텐츠를 송수신하는 방법, 이에 대응하는 컴퓨터 프로그램 제품, 저장 수단, 및 장치가 개시된다. 송신 방법은, 각각이 어플리케이션과 관련되는 복수의 노드를 포함하는 통신 네트워크에서, 각각 소비자 어플리케이션에 관련되는 적어도 하나의 목적지 노드에, 생성자 어플리케이션에 관련되는 소스 노드에 의해 적어도 하나의 데이터 콘텐츠를 송신하는 송신 방법으로서, 네트워크는 네트워크의 데이터 송신을 위하여 네트워크 사이클이라고 하는 제1 사이클을 정의하는 제1 클록킹을 구현한다. 네트워크의 각각의 노드는, 네트워크의 노드와 관련 어플리케이션 사이의 데이터 송신을 위해, 로컬 사이클이라고 하는 제2 사이클을 정의하는 제2 클록킹을 구현하고, 네트워크 사이클은 로컬 사이클의 정수배 P(P≥1)이며, 네트워크 사이클의 시작은 로컬 사이클의 시작과 일치하고, 로컬 사이클은 시간 슬롯에 대응하는 복수의 가상 채널들을 포함하며, 가상 채널들의 세트가 콘텐츠 또는 콘텐츠들의 송신에 할당된다.
Figure R1020080035825
홈 시네마, 시간 스탬핑, TDMA, null, 메쉬 네트워크

Description

통신 네트워크에서의 데이터 콘텐츠의 송수신 방법, 그에 대응하는 기억 매체 및 장치{METHOD FOR THE TRANSMISSION AND RECEPTION OF DATA CONTENTS IN A COMMUNICATIONS NETWORK, CORRESPONDING STORAGE MEDIUM AND DEVICES}
본 발명의 분야는 통신 네트워크에서의 데이터 콘텐츠의 송신에 관한 것이다.
본 발명은, 특히, 동기식 무선 네트워크에서의 콘텐츠 송신에 관한 것이며, 더욱 자세하게는, 60 GHz 무선 송신 시스템에서의 콘텐츠의 송신에 관한 것이다.
60 GHz 무선 송신 시스템은, 특히, 단거리에 걸친 매우 높은 비트율의 데이터 송신에 적합하다. 예를 들어, 이러한 종류의 송신 시스템은 "홈 시네마(home cinema)"의 상이한 구성요소들 간의 연결성에 매우 적합하다. 이러한 사용예에 있어서, 송신 범위는 수십 미터로 제한되지만, 관련 비트율은 매우 높으며, 때로는 송신되는 정보의 고해상도와 자연적 특성(오디오 및 비디오 쌍방)으로 인하여 초당 1 기가비트보다 높다. 60 GHz 무선 시스템에서 데이터 송신에 필요한 전력을 제한하기 위하여, 전자적으로 스티어링 가능한 안테나를 사용하는 것이 바람직하다. 이러한 안테나는 실제로는 데이터 송신 및/또는 수신의 각도(또는 방향)를 정의하 도록 활성화되는 전자기적 포인트 매트릭스이다.
이러한 통신 네트워크에 있어서, 수개의 동시발생형의 음향시각적 어플리케이션을 동기적으로 동시에 지원할 수 있어야 한다. 이러한 네트워크로서는, 예를 들어, 이하의 것이 있다:
- 무선 스피커를 갖는 홈 시네마(점 대 다점형 네트워크(point-to-multipoint type network));
- 디스플레이 장치에 연결된 다수의 비디오 소스에 기초한 네트워크(다점 대 점형 네트워크(multipoint-to-point type network));
- 다수의 디스플레이 장치에 연결된 다수의 비디오 소스에 기초한 네트워크(다점 대 다점형 네트워크(multipoint-to-multipoint type network)).
수개의 동시발생형의 음향시각적 어플리케이션을 동기적으로 관리할 수 있기 위해서, 통신 네트워크는 소스 노드로부터 하나 이상의 목적지 노드로의 데이터 송신에 의해 야기된 고정된 미리 결정된 레이턴시 시간을 제공할 수 있어야 한다. 예를 들어, 홈 시네마 어플리케이션의 경우, 수개의 스피커에 의해 브로드캐스트되어야 하는 하나의 오디오 데이터가, 통신 네트워크에 의해 스피커들의 오디오 데이터 처리 계층(또는 어플리케이션 층)에 대하여 동시에 제공되어야 한다. 통신 네트워크는 또한 이하의 것이 가능하여야 한다:
- 목적지 노드의 출력에서 샘플링 데이터의 속도를 재생가능하여야 함;
- 다수의 목적지 노드로부터의 데이터 출력의 제공을 동기화할 수 있어야 함.
이러한 전제조건들은 이하의 사항들을 필요로 하게 한다:
- 노드의 모든 기준 클록들이 서로 동기화되도록 할 것;
- 네트워크의 송신 시간이 고정된 미리 결정된 값으로 제한되도록 할 것;
- 미리 결정된 정확한 시점에 데이터를 제공하기 위한 수단이 구현되어야 할 것.
동시발생형의 동기식 어플리케이션을 구현하는 통신 네트워크에 있어서, 송신된 데이터를 미리 결정된 정확한 순간에 데이터 처리 계층(또는 어플리케이션)에 제공하기 위하여 시간 스탬핑(time-stamping) 기법이 광범위하게 구현된다. 간략화된 방법으로서, 시간 스탬프는 소스 장치에 의해 각각의 데이터와 상관되며, 목적지 노드에 통신된다. 데이터의 수신과, 관련 시간 스탬프의 수신 후에, 목적지 노드는 자신의 로컬 클록 값을 시간 스탬프에 표시된 값과 비교하여, 데이터 처리 계층(또는 어플리케이션)에 대한 데이터의 제공이, 소스에 의해 결정되는 정확한 시점에 이루어지도록 보장할 수 있다. 이러한 종류의 시간 스탬프 기법은, 예를 들어, IEC 611883-4 문서 <<Large-Scale Consumption Audio/Video Equipment - Digital Interface - Part 4: MPEG2-TS Data Transmission>> 에 기재되어 있다.
그러나, 시간 스탬핑은 몇 개의 단점을 갖는다. 먼저, 각각의 패킷에 추가 데이터의 도입을 필요로 하여, 유용한 대역폭의 감소와 수신 버퍼 메모리 크기의 증가를 가져온다. 또한, 시간 스탬핑은 로컬 클록의 값을 소망하는 제공 순간과 비교하기 위한 추가의 처리 수단, 및 동일한 절대 시간을 참조할 수 있도록 하기 위하여 통신 네트워크의 노드들의 상이한 클록들을 동기화하기 위한 수단을 필요로 한다. 이러한 동일한 절대 시간에 대한 참조는, 예를 들어, 상기 IEC 61883 표준의 보충판으로 사용되는 IEEE 1394 표준 "IEEE Standard for a High Performance Serial Bus, IEEE1394-1995"에 정의된 바와 같이 동기화된 사이클 시간 레지스터를 사용함에 있어서, 클록 사이클의 넘버링에 의해 얻어질 수 있다. 그 후, 마스터 노드 또는 사이클 마스터는 사이클 시작 패킷을 통해 자신의 "사이클 시간 레지스터"의 값을 네트워크의 다른 노드들의 값에 복사하여, 네트워크의 모든 노드들에 대하여 일정한 위상에서의 동기화를 제공한다. 모든 노드들은 따라서 동일한 시간 기준을 갖게 되며, 데이터 시간 스탬핑에 의해서, 미리 결정된 정확한 순간에서 데이터 처리 계층(또는 어플리케이션)에 송신되는 데이터의 제공을 가능하게 할 수 있다.
따라서, 네트워크 사이클을 고정된 시간 슬롯 또는 시간 간격으로 분할하고, 각각의 노드에 대하여 데이터 송신을 위한 시간 슬롯의 세트를 할당함으로써, 통신 네트워크에서 일정한 송신 시간을 제공할 수가 있으며, 이에 따라, 통신 네트워크의 사이클 내의 미리 결정된 시간에 송신할 수가 있다. 이러한 종류의 기법은, 무선 통신 네트워크에서 자주 사용되는 TDM(Time Division Multiplex) 또는 TDMA(Time Division Multiple Access)로서 알려져 있다. 그러나, 이러한 종류의 기법은 단점을 갖는다. 동일한 목적지 노드가 송신 소스 노드에 따라서 상이한 안테나 방향을 요구하는 수개의 소스와 동시 통신할 수 있는 통신 네트워크에서, 60 GHz 무선 송신 시스템의 경우에서와 같이, 하나의 통신 시간 슬롯과 다른 통신 시간 슬롯과의 사이의 "갭" 또는 대기 시간 간격은 통신 네트워크의 사이클에서 무시 하지 못하게 되며, 통신 시간 슬롯이 짧은 경우에는 특히 그러하다.
네트워크의 노드들이 (네트워크의 사이클의 지속기간(duration)과 비교하여) 실질적인 안테나 배향 시간(antenna orientation time)을 필요로 하는 경우에는, 버스트 송신 모드가 특히 유용하다. 스위칭 동작의 수를 제한하기 위하여, 버스트 송신 모드는 동일한 프레임에서 대량의 데이터 송신을 가능하게 한다. 결과적으로, 스위칭 동작에 전용되는 시간은 데이터의 송수신에 전용되는 시간에 비하여 무시할 수 있는 것이며, 따라서, 네트워크의 대역폭이 효율적으로 사용된다. 그러나, 이러한 접근법은 데이터 시간 스탬핑의 사용을 피할 수 있을 만큼 짧고 정확한 노드당 통신 시간 슬롯을 얻기 위하여는 사용될 수 없다.
본 발명은, 특히, 적어도 하나의 실시예에 있어서, 이러한 종래 기술의 단점을 극복하는 것에 목적이 있다.
더 구체적으로, 본 발명의 목적은, 적어도 하나의 실시예에 있어서, 적어도 하나의 데이터 콘텐츠를 수신하는 수개의 목적지 노드들을 포함하는 통신 네트워크에서, 적어도 2개의 목적지 노드들이 그 출력에서 동일한 데이터 콘텐츠의 동일한 부분을 제공하는 경우, 동일한 미리 결정된 정확한 순간에 상기 적어도 하나의 데이터 콘텐츠의 적어도 일부를 목적지 노드들로부터 출력에서 제공하는 것을 가능하게 하며, 어떠한 시간 스탬핑도 구현하지 않는 기법을 제공하는 것이다.
본 발명의 다른 목적은, 적어도 하나의 실시예에 있어서, 네트워크의 소스 노드와 목적지 노드와의 사이의 다른 통신과 각각의 시간 슬롯 사이의 갭이 무시될 수 있는 이러한 종류의 기법을 구현하는 것이다.
본 발명의 다른 목적은, 적어도 하나의 실시예에 있어서, N 대 N형 통신, 즉, 다점 대 다점형 통신을 구현하는 통신 네트워크와 호환가능한 이러한 종류의 기법을 구현하는 것이다.
본 발명의 다른 목적은, 적어도 하나의 실시예에 있어서, 각각 미리 결정된 샘플링 속도에 관련되는, 하나 이상의 동기 스트림에 대하여 구현될 수 있는 이러한 종류의 기법을 구현하는 것이다.
본 발명의 다른 목적은, 적어도 하나의 실시예에 있어서, 임의의 샘플링 속도에서 어떠한 종류의 동기 스트림에 대해서도 구현될 수 있는 이러한 종류의 기법을 구현하는 것이다.
본 발명의 또 다른 목적은, 적어도 하나의 실시예에 있어서, 구현하기 용이하고 비용이 적게 드는 이러한 종류의 기법을 구현하는 것이다.
본 발명의 특정한 일 실시예에서는, 복수의 노드를 포함하는 통신 네트워크에서, 각각 소비자 어플리케이션에 관련되는 적어도 하나의 목적지 노드에, 생성자 어플리케이션에 관련되는 전송자 또는 소스 (또는 송신자) 노드에 의해 적어도 하나의 데이터 콘텐츠를 송신하는 송신 방법으로서, 네트워크는 상기 네트워크상에서의 데이터 송신을 위하여, 네트워크 사이클이라고 하는 제1 사이클을 정의하는 제1 클록킹을 구현하는 송신 방법을 제안한다.
본 발명에 따르면, 소스 노드는 각각의 상기 소스 노드 및 목적지 노드와 그것의 관련 어플리케이션 사이의 데이터 송신을 위해, 로컬 사이클이라고 하는 제2 사이클을 정의하는 제2 클록킹을 구현하고, 상기 네트워크 사이클은 로컬 사이클의 정수배 P(P≥1)이며, 네트워크 사이클의 시작은 로컬 사이클의 시작과 일치하고, 로컬 사이클은 시간 슬롯에 대응하는 복수의 가상 채널들을 포함하며, 상기 가상 채널들의 세트는 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되며;
소스 노드는,
- 적어도 하나의 연쇄된 데이터 블록을 형성하기 위해, P개의 연속적인 로컬 사이클에서 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되는 가상 채널들에 대응하는 시간 슬롯 동안 상기 소스 노드에 관련되는 생성자 어플리케이션으로부터 취득되는 데이터를 연쇄시키는 단계; 및
- 미리 결정된 후속하는 네트워크 사이클 동안에 상기 소스 노드에 할당된 스피치(speech) 시간 동안 상기 연쇄된 데이터 블록 또는 블록들을 통신 네트워크 상에서 송신하는 단계를 수행한다.
본 발명의 일반적인 원리는, 통신 네트워크에서 적어도 하나의 콘텐츠의 송신의 맥락에서, 통신 네트워크는 네트워크 상에서의 데이터 송신을 위하여, 네트워크 사이클이라고 하는 사이클을 정의하는 제1 클록킹 동작과, 네트워크의 노드들 내의 데이터 송신을 위하여, 로컬 사이클(또는 TDM 사이클)이라고 하는 사이클을 정의하는 제2 클록킹 동작을 구현하고, 네트워크 사이클은 로컬 사이클(또는 TDM 사이클)의 정수배 P(P≥1)이며, 네트워크 사이클의 시작은 로컬 사이클(또는 TDM 사이클)의 시작과 일치하고, 로컬 사이클(또는 TDM 사이클)은 시간 슬롯에 대응하는 복수의 가상 채널들을 포함하며, 상기 가상 채널들의 세트는 콘텐츠 또는 콘텐츠들의 송신에 할당된다.
또한, 소스 노드는,
- 적어도 하나의 데이터 블록을 형성하기 위해, P개의 연속적인 로컬 사이클(또는 TDM 사이클)에서 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되는 각각의 가상 채널들 동안 상기 소스 노드에 관련되는 생성자 어플리케이션으로부터 취득되는 데이터를 연쇄시키는 단계; 및
- 미리 결정된 후속하는 네트워크 사이클 동안에 상기 소스 노드에 할당된 스피치 시간 동안 상기 연쇄된 데이터 블록 또는 블록들을 통신 네트워크 상에서 송신하는 단계를 수행한다.
따라서, 도 2a를 참조하여 후술하는 바와 같이, 특히 네트워크 사이클은 네트워크의 각 노드의 로컬 사이클(또는 TDM 사이클)의 정수배(a multiple)이며, 또한, 미리 결정된 로컬 사이클(또는 TDM 사이클)의 세트에 대하여 연쇄시킨 후의 데이터들이 미리 결정된 사이클에서 송신되므로, 본 발명은 적어도 하나의 실시예에 있어서, 미리 결정된 정확한 순간에 데이터 콘텐츠 중 하나의 적어도 일부를 네트워크의 노드들 중 적어도 2개의 출력에서 제공할 수 있도록 보장하는 기법을 제공하며, 상기 기법은 어떠한 시간 스탬핑도 구현하지 않는다. 적어도 2개의 목적지 노드가 그 출력에서 데이터 콘텐츠의 동일한 부분을 제공하는 경우, 이러한 미리 결정된 정확한 순간은 동일하다.
또한, 이러한 기법은 다점 대 다점형 통신 또는 점 대 다점형 통신을 구현하는 통신 네트워크와 호환가능하다.
또한, 이러한 기법은 그 각각이 미리 결정된 샘플링 속도에 관련되는 하나 이상의 동기 스트림에 대하여 구현될 수 있으며, 임의의 샘플링 주파수에서 임의의 형태의 동기 스트림에 대하여 구현될 수 있다.
바람직하게는, 연쇄시키는 단계는 네트워크 사이클과 일치하는 P개의 연속적인 로컬 사이클에서 수행된다.
그 후, 네트워크 사이클 동안 데이터의 연쇄가 수행되어, 네트워크 상의 데이터 송신 시퀀스에서 소스 노드의 스피치 시간의 위치가 어디인지와는 무관하게, 차기 네트워크 사이클 동안 형성되는 데이터 블록들의 송신을 가능하게 한다.
바람직하게, 연쇄시키는 단계는, 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되는, 빈 가상 채널 또는 채널들이라고 하는 적어도 하나의 상기 가상 채널에 대응하는 시간 간격 또는 간격들 동안, 상기 소스 노드에 관련되는 생성자 어플리케이션으로부터 어떠한 데이터도 취득되지 않는 경우, 패딩 정보라고 하는 적어도 하나의 정보를 삽입하는 단계를 포함한다.
예를 들어, 노드는, 기입 모드에서 할당된 가상 채널(즉, 통신 네트워크에 대한, 생성자 어플리케이션에 의해 제공되는 콘텐츠들 중 하나의 데이터 송신을 위해 설계된 가상 채널)에서 생성자 어플리케이션으로부터 취득되는 데이터 샘플이 없는 경우, "null" 심볼(패딩 정보)을 기입한다. 이러한 "null" 심볼의 도입은, 로컬 사이클(또는 TDM 사이클)의 지속기간이 생성자 어플리케이션에 의해 사용되는 넓은 스펙트럼의 샘플링 주파수에 적응되도록 하는 한편, 동시에, 정확한 미리 결정된 순간에 소비자 어플리케이션에 데이터를 전달하는 것을 보장한다. 샘플링 주파수가, 로컬 사이클(또는 TDM 사이클)의 클록킹 주파수의 배수도 아니고, 약수도 아니면, 특정한 시간 슬롯(또는 가상 채널) 동안 생성자 어플리케이션이 데이터를 제공하지 않는다는 것을 의미한다. 그러나, 소스 노드가 생성자 어플리케이션으로부터 나오는 데이터 스트림에서 중단을 식별하는 null 심볼을 생성하는 경우, 목적지 노드는 데이터 스트림에서 식별되는 중단을 재생함에 있어서, (생성자 어플리케이션에 의해 이용되는 주파수와 동일한 주파수를 이용하여) 소비자 어플리케이션과의 데이터 공급의 동기화를 유지할 수 있다.
바람직하게는, 패딩 정보의 일부는 상기 빈 가상 채널 또는 채널들에 대응하는 시간 슬롯 또는 시간 간격 동안 소스 노드가 취득할 수 있는 데이터의 양과 동일한 크기이며, 상기 패딩 정보의 일부는 빈 가상 채널 또는 채널들 동안 생성자 어플리케이션으로부터 수신된 것처럼 상기 데이터 블록 중 하나에 삽입된다.
그 후, 패딩 정보(또는 그 일부)는 가상 채널 동안 송신되는 데이터와 동일한 크기를 가지며, 네트워크 상의 소스 노드에 의해 송신되는 프레임에 삽입되어, 생성자 어플리케이션의 샘플링 주파수에 무관하게, 일정한 크기의 프레임이 소스 노드에 의해 통신 네트워크 상에서 송신되도록 보장하며, 따라서, 목적지 노드에 의해 소비자 어플리케이션과의 데이터 스트림의 동기화를 용이하게 한다.
바람직하게, 상기 연쇄시키는 단계는, P개의 연속적인 로컬 사이클 동안에 생성자 어플리케이션으로부터 취득되는 데이터에 대하여 컨테이너 또는 청 크(chunk)를 형성하도록 가상 채널에 의해 그룹핑(grouping)을 수행하는 데이터 인터리빙 단계를 포함한다.
이에 따라, 데이터들은 소스 노드의 로컬 사이클(또는 TDM 사이클)에서 사용되는 그들의 가상 채널(목적지 노드의 로컬 사이클(또는 TDM 사이클)에서 사용되는 가상 채널과 동등함)에 따라 그룹핑된다. 그 후, 이에 따라 얻어진 그룹핑(또는 컨테이너 또는 청크)에 의해, 송신 네트워크 상에서 생기는 에러가 송신 중의 모든 콘텐츠에 영향을 미치는 것을 방지하기 위하여, 에러 정정 메카니즘을 적용할 수 있다. 홈 시네마 어플리케이션의 맥락에서, 이는 네트워크 상의 송신 에러가 다른 스피커에 의해 재생되는 오디오 채널의 콘텐츠에 영향을 미치지 않고서 하나의 스피커에 의해 재생되는 오디오 채널의 콘텐츠에만 영향을 미치도록 한다.
또한, 본 발명은, 복수의 노드를 포함하는 통신 네트워크에서 각각 생성자 어플리케이션에 관련되는 적어도 하나의 소스 노드로부터 나오는 적어도 하나의 데이터 콘텐츠를, 소비자 어플리케이션에 관련되는 목적지 노드에 의해 수신하는 수신 방법으로서, 네트워크는 상기 네트워크 상의 데이터 송신을 위하여, 네트워크 사이클이라고 하는 제1 사이클을 정의하는 제1 클록킹을 구현하는 방법에 관한 것이다.
본 발명에 따르면, 목적지 노드는 각각의 상기 소스 노드 및 목적지 노드와 그것의 관련 어플리케이션 사이의 데이터 송신을 위하여, 로컬 사이클이라고 하는 제2 사이클을 정의하는 제2 클록킹을 구현하고, 상기 네트워크 사이클은 로컬 사이클의 정수배 P(P≥1)와 동일하며, 네트워크 사이클의 시작은 로컬 사이클의 시작과 일치하고, 로컬 사이클은 시간 슬롯들에 대응하는 복수의 가상 채널들을 포함하며, 상기 가상 채널의 세트는 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되고,
목적지 노드는,
- 상기 소스 노드 중 적어도 하나에 할당되는 스피치 시간 동안 연쇄된 데이터의 적어도 하나의 블록을 통신 네트워크로부터 수신하는 단계;
- 수신된 연쇄된 데이터의 블록 또는 블록들로부터, 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되는 가상 채널들 중, 가상 판독 채널이라고 하는 가상 채널에 관련되는 데이터를 추출하는 단계; 및
- 미리 결정된 후속하는 네트워크 사이클로부터, P개의 연속적인 로컬 사이클의 지속기간 동안에 상기 가상 판독 채널에 대응하는 시간 슬롯 동안 상기 목적지 노드에 관련되는 소비자 어플리케이션에 추출된 데이터를 공급하는 단계를 수행한다.
따라서, 통신 네트워크로부터 데이터 블록들을 수신하는 목적지 노드는, 미리 결정된 가상 채널(판독 모드에서 할당되는 가상 채널)에서 미리 결정된 로컬 사이클(또는 TDM 사이클) 동안 소비자 어플리케이션에 데이터를 제공한다. 그 후, 생성자 어플리케이션으로부터 소스 노드에 의해 제공되는 시간과, 목적지 노드에 의해 소비자 어플리케이션에 제공되는 시간과의 사이의 데이터들은, 어떠한 시간-스탬핑 정보를 사용하지 않고도 고정된 미리 결정된 지연을 거친다.
바람직하게, 각각의 목적지 노드는, 상기 데이터 블록에서, 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되는 적어도 하나의 가상 채널에 관련되는 패딩 정보라 고 하는 적어도 하나의 정보의 존재를 검출하는 단계를 구현하며, 상기 패딩 정보 또는 패딩 정보들은 상기 공급 단계 동안 상기 소비자 어플리케이션에 제공되지 않는다.
주어진 가상 채널에 관련되는 패딩 정보의 검출 시, 목적지 노드는 주어진 가상 채널에서 소비자 어플리케이션 데이터를 제공하지 않으며, 따라서, 그 샘플링 주파수가 로컬 사이클(또는 TDM 사이클)의 클록킹 주파수의 배수 또는 약수가 아니더라도, 생성자 어플리케이션 및 소비자 어플리케이션의 동기화를 유지한다.
바람직하게는, 패딩 정보 또는 패딩 정보들의 일부는, 목적지 노드가 상기 패딩 정보 또는 패딩 정보들이 관련되는 가상 채널 또는 채널들에 대응하는 시간 슬롯 또는 시간 슬롯들 동안 제공할 수 있는 데이터의 양과 같은 크기이다.
그 후, 패딩 정보(또는 그 일부)는 가상 채널에서 송신되는 데이터와 동등한 크기를 가지며, 네트워크 상의 소스 노드에 의해 송신되는 프레임에 삽입되어, 생성자 어플리케이션의 샘플링 주파수와 무관하게, 통신 네트워크 상에 소스 노드에 의해 일정한 크기의 프레임이 송신되도록 보장하여, 목적지 노드에 의한 소비자 어플리케이션과의 데이터 스트림의 동기화를 용이하게 한다.
바람직하게는, 목적지 노드는 패딩 정보 또는 패딩 정보들이 관련되는 가상 채널 또는 채널들에 대응하는 시간 슬롯 동안 패딩 정보 또는 패딩 정보들을 삭제한다.
그 후, 네트워크 사이클 동안 수신된 데이터들은 P개의 로컬 사이클(또는 TDM 사이클) 동안 이들이 송신되어야 하는 순서로 FIFO 유닛에 저장될 수 있으며, 판독 모드에서 할당되는 가상 채널의 시작의 검출 시, 목적지 노드는 FIFO로부터 차기에 이용가능한 데이터를 추출하고, 이를 분석하여, 패딩 정보에 대응하는지 여부를 알아 내고, 만일 그렇다면, 관련되는 가상 채널의 시간 경과 중에 이 데이터를 삭제할 수 있으며, 이에 따라, 차기의 데이터는 차기의 판독 할당되는 가상 채널에서 소비자 어플리케이션에 송신될 준비가 되어 있다.
바람직하게, 상기 추출 단계는, 상기 소스 노드들 중 하나에 관련되는 생성자 어플리케이션으로부터 취득되는 데이터에 대하여 가상 채널에 의해, 청크라고 하는 그룹핑을 식별하며, 상기 목적지 노드의 소비자 어플리케이션에 대한 공급의 로컬 사이클에 의해 데이터를 재정렬(re-ordering)하는, 데이터 디인터리빙(de-interleaving) 단계를 포함한다.
따라서, 데이터들은, 소스 노드의 로컬 사이클(또는 TDM 사이클)에서 사용되는 자신의 가상 채널(목적지 노드의 로컬 사이클(또는 TDM 사이클)에 사용되는 가상 채널과 동등함)에 따라서 그룹핑된다. 그 후, 이에 따라 얻어진 그룹핑(청크)에 의해, 송신 네트워크에서 생긴 에러가 목적지 노드에 의해 소비자 네트워크에 제공되어야 하는 모든 콘텐츠에 영향을 미치지 않도록 에러 정정 메카니즘을 적용할 수 있다.
본 발명은 또한, 이상 설명한 송신 방법 및/또는 이상 설명한 수신 방법의 구현을 위한 프로그램 코드 명령어를 포함하는, 통신 네트워크로부터 다운로드 가능하고/하거나, 컴퓨터 판독가능 보조물에 기록되고/되거나, 프로세서에 의해 실행되는 컴퓨터 프로그램 제품에 관한 것이다.
본 발명은 또한, 이상 설명한 송신 방법 및/또는 이상 설명한 수신 방법의 구현을 위한, 컴퓨터에 의해 실행될 수 있는 명령어 세트를 저장하는, 전체적으로 또는 부분적으로 착탈가능하고, 컴퓨터에 의해 판독가능한 저장 수단에 관한 것이다.
본 발명은 또한, 생성자 어플리케이션에 관련되는 소스 노드에 관한 것으로서, 상기 소스 노드는 복수의 노드를 포함하는 통신 네트워크에서, 각각 소비자 어플리케이션에 관련되는 적어도 하나의 목적지 노드에 적어도 하나의 데이터 콘텐츠를 송신하는 수단을 포함하며, 네트워크는 상기 네트워크 상의 데이터 송신을 위하여, 네트워크 사이클이라고 하는 제1 사이클을 정의하는 제1 클록킹을 구현한다.
본 발명에 따르면, 상기 소스 노드는 각각의 상기 소스 노드 및 목적지 노드와 그것의 관련 어플리케이션 사이의 데이터 송신을 위해, 로컬 사이클이라고 하는 제2 사이클을 정의하는 제2 클록킹을 구현하고, 상기 네트워크 사이클은 로컬 사이클의 정수배 P(P≥1)이며, 네트워크 사이클의 시작은 로컬 사이클의 시작과 일치하고, 로컬 사이클은 시간 슬롯에 대응하는 복수의 가상 채널들을 포함하며, 상기 가상 채널들의 세트가 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되고,
송신 수단은,
- 적어도 하나의 연쇄된 데이터 블록을 형성하기 위해, P개의 연속적인 로컬 사이클에서 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되는 가상 채널들에 대응하는 시간 슬롯 동안 상기 소스 노드에 관련되는 생성자 어플리케이션으로부터 취득되는 데이터를 연쇄시키는 수단; 및
- 미리 결정된 후속하는 네트워크 사이클 동안에 상기 소스 노드에 할당된 스피치 시간 동안 상기 연쇄된 데이터 블록 또는 블록들을 통신 네트워크 상에서 송신하는 수단을 포함하며,
연쇄시키는 수단은, 네트워크 사이클과 일치하는 P개의 연속적인 로컬 사이클에서 활성화된다.
바람직하게, 연쇄시키는 수단은, 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되는, 빈 가상 채널 또는 채널들이라고 하는 상기 적어도 하나의 가상 채널에 대응하는 시간 슬롯 또는 시간 슬롯들 동안, 상기 소스 노드에 관련되는 생성자 어플리케이션으로부터 어떠한 데이터도 취득되지 않는 경우, 패딩 정보라고 하는 적어도 하나의 정보를 삽입하는 수단을 포함한다.
바람직하게는, 상기 패딩 정보의 일부는, 상기 빈 가상 채널 또는 채널들에 대응하는 시간 슬롯 또는 시간 슬롯들 동안 소스 노드가 취득할 수 있는 데이터의 양과 동일한 크기이며, 소스 노드는, 상기 패딩 정보의 일부를, 빈 가상 채널 또는 채널들에서 상기 생성자 어플리케이션으로부터 수신된 것처럼 상기 데이터 블록 중 하나에 삽입하는 수단을 포함한다.
바람직하게, 연쇄시키는 수단은, P개의 연속적인 로컬 사이클 동안 생성자 어플리케이션으로부터 취득되는 데이터에 대하여 청크를 형성하도록 가상 채널에 의해 그룹핑을 수행하는 데이터 인터리빙 수단을 포함한다.
본 발명은 또한, 소비자 어플리케이션에 관련되는 목적지 노드에 관한 것으로서, 목적지 노드는, 복수의 노드를 포함하는 통신 네트워크에서 각각 생성자 어 플리케이션에 관련되는 적어도 하나의 소스 노드로부터 나오는 적어도 하나의 데이터 콘텐츠를 수신하는 수단을 포함하며, 네트워크는 상기 네트워크 상의 데이터 송신을 위하여 네트워크 사이클이라고 하는 제1 사이클을 정의하는 제1 클록킹을 구현한다.
본 발명에 따르면, 목적지 노드는 각각의 상기 소스 노드 및 목적지 노드와 그것의 관련 어플리케이션 사이의 데이터 송신을 위하여, 로컬 사이클이라고 하는 제2 사이클을 정의하는 제2 클록킹을 구현하고, 상기 네트워크 사이클은 로컬 사이클의 정수배 P(P≥1)와 동일하며, 네트워크 사이클의 시작은 로컬 사이클의 시작과 일치하고, 로컬 사이클은 시간 슬롯들에 대응하는 복수의 가상 채널들을 포함하며, 상기 가상 채널의 세트는 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되고,
수신 수단은,
- 상기 소스 노드 중 적어도 하나에 할당되는 스피치 시간 동안 연쇄된 데이터의 적어도 하나의 블록을 통신 네트워크로부터 수신하는 수단;
- 수신된 연쇄된 데이터의 블록 또는 블록들로부터, 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되는 상기 가상 채널들 중, 가상 판독 채널이라고 하는 가상 채널에 관련되는 데이터를 추출하는 수단; 및
- 미리 결정된 후속하는 네트워크 사이클로부터, P개의 연속적인 로컬 사이클의 지속기간 동안에 상기 가상 판독 채널에 대응하는 시간 슬롯 동안 상기 목적지 노드에 관련되는 소비자 어플리케이션에 추출된 데이터를 공급하는 수단을 포함한다.
컴퓨터 프로그램 제품, 저장 수단, 소스 노드, 및 목적지 노드의 장점들은 실질적으로 이상 설명한 송수신 방법의 그것들과 동일하다.
바람직하게는, 목적지 노드는 상기 데이터 블록에서, 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되는 적어도 하나의 가상 채널에 관련되는 패딩 정보라고 하는 적어도 하나의 정보의 존재를 검출하는 수단을 포함하며, 상기 패딩 정보 또는 패딩 정보들은 상기 공급하는 수단에 의해 상기 소비자 어플리케이션에 제공되지 않는다.
바람직하게는, 상기 패딩 정보 또는 패딩 정보들의 일부는, 목적지 노드가 상기 패딩 정보 또는 패딩 정보들이 관련되는 가상 채널 또는 채널들에 대응하는 시간 슬롯 또는 시간 슬롯들 동안 제공할 수 있는 데이터의 양과 같은 크기이다.
바람직하게는, 목적지 노드는, 상기 패딩 정보 또는 패딩 정보들이 관련되는 가상 채널 또는 채널들에 대응하는 시간 슬롯 동안 상기 패딩 정보 또는 패딩 정보들을 삭제하는 수단을 포함한다.
바람직하게, 추출하는 수단은 데이터 디인터리빙(de-interleaving) 수단을 포함하며, 상기 디인터리빙 수단은, 상기 소스 노드 중 하나에 관련되는 생성자 어플리케이션으로부터 취득되는 데이터에 대하여, 가상 채널에 의해, 청크라고 하는 그룹핑을 식별하는 수단, 및 목적지 노드의 소비자 어플리케이션에 공급하기 위해 로컬 사이클에 의해 데이터를 재정렬할 수 있도록 하는 수단을 포함한다.
본 발명의 특정한 일 실시예에 따른 송수신 방법의 특정 어플리케이션에 의 하면, 도 1에 도시된 5.1형 홈 시네마 또는 홈 씨어터 네트워크인 통신 네트워크(1000)의 맥락에서 이하의 설명이 제공된다. 자연적으로, 본 발명은 7.1형 홈 시네마 네트워크의 맥락에 적용될 수도 있다.
당연히, 본 발명의 적어도 하나의 다른 실시예에 따른 방법은, 예를 들어, 이하의 네트워크들 중 하나와 같은 수개의 동시발생형의 동기식 어플리케이션을 동시에 구현하기 위하여 필요한 임의의 통신 네트워크에서 구현될 수 있다:
- 디스플레이 장치에 연결된 다수의 매체 소스에 기초한 네트워크(다점 대 점형 네트워크);
- 다수의 디스플레이 장치에 연결된 다수의 매체 소스에 기초한 네트워크(다점 대 다점형 네트워크).
5.1 홈 시네마 네트워크(1000)의 맥락에서, 메쉬형 무선 네트워크(101)를 통해 오디오 소스에 스피커들이 연결된다.
5.1 홈 시네마 네트워크(1000)는 오디오-비디오 소스 단말(102)(예를 들어, DVD 판독기)과, 텔레비젼 화면(103)과, 제1 스피커(104), 소위 중앙 스피커(104)와, 제2 스피커, 소위 서브우퍼(105)와, 제3 스피커, 소위 전면좌측 스피커(106)와, 제4 스피커(107), 소위 전면우측 스피커(107)와, 제5 스피커(108), 소위 우측 주변 스피커(108)와, 제6 스피커(109), 소위 좌측 주변 스피커(109)를 구비한다. 각각의 스피커는 소스 단말(102)에 의해 전달되는 6개의 오디오 채널 중 하나를 재생한다.
메쉬형 무선 네트워크(101)를 만들기 위하여, 본 발명은, 무선 주변 제어 기(110)(이하, WSC(Wireless Surround Controller) 노드(110)라 함) 및 제1, 제2, 제3, 제4, 제5, 및 제6 활성 무선 노드(111)(이하, WAS(Wireless Active Speaker) 노드(111)라 함)를 구현하며, 그 각각은 전술한 스피커들 중 하나에 관련된다.
WAS 노드(111)의 기능은 무선 메쉬형 네트워크(101)에서 WSC 노드(110)와 관련 스피커와의 사이의 인터페이스를 셋업하는 것이다. 각각의 WAS 노드(111)는 동축 케이블(116)에 의해 관련 스피커에 연결된다. 주어진 WAS 노드(111)에 있어서, 증폭기의 위치 및 디지털/아날로그 변환기의 위치에 따라서(WAS 노드 또는 스피커에 있어서), 케이블(116)은 디지털 또는 아날로그 오디오 신호를 운반한다.
WAS 노드(111) 및 WSC 노드(110)는 각각 전원 커넥터(113)(이 전원 커넥터는 도 1의 각각의 노드(110, 111)에 대하여 나타내어 있지 않음)에 의해 각각 전원이 공급되며, 그 각각은 무선 통신을 구현하기 위하여 하나의 안테나(112)를 구비한다. 안테나(112)는 전자적으로 제어되는 전자기 안테나인 것이 바람직하다.
WSC 노드(110)는 케이블(115)을 통해 오디오-비디오 소스 단말(102)에 의해 송신되는 오디오-비디오 스트림을 수신한 후, 무선 통신을 통해, 수신된 오디오-비디오 스트림으로부터의 디지털 비디오 데이터를 모든 스피커에 송신하고, 케이블(114)을 통해, 수신된 오디오-비디오 스트림으로부터의 디지털 비디오 데이터를 텔레비젼 화면(103)에 송신한다. 예를 들어, 케이블(114 및 115)은 HDMI(High Definition Multimedia Interface) 프로토콜을 준수하는 케이블이다. 소스 단말(102) 또는 WSC 노드(110)는 각각의 채널의 오디오 데이터 샘플들을 식별하여 분리하기 위해 오디오 채널 디코더를 구비한다. 또한, 실내의 음향 특성 함수로서 변경 사항을 오디오 샘플에 적용하기 위한 주변 프로세서를 포함한다.
시스템의 조밀성을 향상시키기 위하여, WSC 노드(110)가 소스 단말(102)에 통합될 수 있으며, 각각의 WAS 노드(111)가 관련 스피커에 통합될 수 있다.
본 네트워크(1000)에 있어서, 이하의 시간 제약사항이 중요하다:
- 동일한 오디오-비디오 콘텐츠로부터 나오는 오디오 신호와 비디오 신호 사이의 상대 시간 지연이 최소화되어야 함:
- 상이한 스피커들로부터의 송신 사이의(오디오 채널들 사이의) 상대 시간 지연이 최소화되어야 함.
일반적으로, "립 동기화(lip synchronization)"라고 하는, 동일한 오디오-비디오 콘텐츠로부터 나오는 오디오 신호와 비디오 신호 사이의 상대 시간 천이는 최소화되어야 한다. 사용자 편의를 위하여, 오디오 신호와 비디오 신호 사이의 상대 시간 지연은 -30 ms 내지 +100 ms 범위의 간격 내에 유지되어야 한다. 무선 연결의 경우, 무선 송신기/수신기는 송신으로 인한 시간 지연을 부가한다. 따라서, 오디오 신호는 비디오 신호로부터 상대적으로 오프셋된다. 이러한 오프셋이 수백 밀리초보다 더 크다면, 소스 단말(102)의 출력에서 비디오 신호를 지연시킬 필요가 있다.
홈 시네마 네트워크(100)에 있어서, 일반적으로 스피커와 사용자에 대한 청취국들(listening stations) 사이의 거리는 고려되는 스피커에 따라서 변화한다. 공기중의 음향 전파 속도(약 343 m/s)로 인하여, 스피커로부터 청취국까지의 음파의 전파 시간은 각각의 오디오 채널마다 상이하다. 예를 들어, 2개의 오디오 채널 간의 34 cm의 전파 경로에 있어서의 차이는, 2개의 오디오 채널 간의 수신에 있어서 1 ms의 시간 지연을 의미한다. 따라서, 수용가능한 상대 시간 지연(즉, 100 μs보다 낮은 시간 지연)을 유지하기 위하여, 대부분의 홈 시네마 시스템은 이러한 시간 지연을 자동 보상하기 위한 메카니즘을 구현한다.
메쉬형 네트워크(101)의 장착에 있어서, 시간 제약사항의 준수에 대하여 특히 주의를 기울여야 한다. 본 발명은 네트워크 내의 송신 시간이 고정되는 것을 보장한다. 또한, 네트워크(1000)의 맥락에서, 거리의 효과로 인한 시간 지연에 대한 보상이 WAS(111)의 출력에서 얻어진다.
따라서, 각각의 WAS 노드(111)는 자신의 소비자(수신기) 어플리케이션 계층에서 오디오 샘플을 동시에 전달하며, 이 오디오 샘플은 WAS 노드들에 대하여 고정적이며 공통적인 지연 후에 WSC(110)의 생성자(송신기) 어플리케이션으로부터 나온다. 증폭단에 진입하기 전에 각각의 WAS 노드에서, 거리의 효과로 인한 시간 지연에 대한 보상이 얻어진다.
이러한 도 1의 네트워크(1000)에 있어서, WSC 노드(110)로부터 6개의 WAS 노드(111)에 대하여 1 대 N(N=6)형 통신(즉, 점 대 다점형 통신)이 이루어진다. 바람직하게, WSC 노드와 WAS 노드는 각각 데이터를 전송(송신) 및 수신할 수 있으므로, N 대 N, 즉 다점 대 다점형 통신이 셋업될 수 있도록 한다.
이하의 설명은 어플리케이션, 예를 들어, 오디오 콘텐츠의 WSC 노드를 통한 네트워크(1000) 내에서의 브로드캐스팅의 맥락에서 적합한 것이다.
본 발명의 송신 및 수신 방법(도 12 내지 18을 참조하여 더 상세하게 설명 함)은, 네트워크(1000)의 수개의 머신, 예를 들어, WSC 노드(110) 및 WAS 노드들(111)에서 실행되는 소프트웨어 프로그램 및/또는 복수의 소프트웨어 서브프로그램(이하 후술하는 복수의 알고리즘을 구비함)의 형태로 구현된다.
도 2a 및 도 2b를 참조하면, 도 1의 네트워크(1000)의 WSC 노드(110) 및 WAS 노드(111)에서 오디오 데이터의 샘플들의 시간적 진행의 그래프의 예가 제공되어 있다.
도 2a(본 발명에 따른 송수신 방법의 전체 네트워크(1000)에 대한 설명도를 제공함)에 도시된 바와 같이, WSC 노드(110)는 시간 축상에 나타낸 제1 TDM(Time Division Multiplexing) 버스(201)의 클록킹을 발생시킨다. 이 제1 TDM 버스의 맥락에서, TDM 사이클 시작 이벤트는 화살표 202에 도시되어 있으며, 무선 메쉬형 네트워크(101) 상의 송신을 위한 사이클 시작 식별 이벤트(네트워크 사이클)는 화살표 203으로 도시되어 있다. 도 2에서, 제1 노드 WAS1, 제2 노드 WAS2, 제3 노드 WAS3, 제4 노드 WAS4, 제5 노드 WAS5, 및 제6 노드 WAS6을 포함하는 WAS 노드(111)들 중에서, 제2 WAS 노드 WAS2만이 도시되어 있으며, 이는 제2 TDM 버스(221)의 클록킹을 발생시킨다.
WAS 노드들 각각은, 즉, 제1 노드 WAS1, 제2 노드 WAS2, 제3 노드 WAS3, 제4 노드 WAS4, 제5 노드 WAS5, 및 제6 노드 WAS6 각각은, 제1 오디오 채널(이하, 채널 1), 제2 오디오 채널(이하, 채널 2), 제3 오디오 채널(이하, 채널 3), 제4 오디오 채널(이하, 채널 4), 제5 오디오 채널(이하, 채널 5), 및 제6 오디오 채널(이하, 채널 6)에 관련된다. 홈 시네마 어플리케이션의 경우, (간단한 "서라운드" 효과를 위해) 2개의 스피커에 대하여 동일한 오디오 채널이 송신될 수 있음을 주지해야 한 다.
WAS 노드의 제2 TDM 버스(221)에서의 각각의 네트워크 사이클 시작 식별 이벤트(223)는 WSC 노드(110)의 제1 TDM 버스(201)에서의 네트워크 사이클 시작 식별 이벤트와 동기화된다. 이러한 예에 있어서, 무선 메쉬 네크워크(101)의 하나의 사이클 동안, 그 시작이 네트워크 사이클 시작으로 표시된 TDM0 내지 TDM7로 참조된 8개의 TDM 사이클이 존재한다.
무선 메쉬 네트워크(101) 내의 수퍼-프레임은 7개의 MAC 프레임(210 내지 216)을 포함하며, 그 각각은 네트워크 사이클 중 메쉬형 네트워크(101)의 노드들 WSC, WAS1, WAS2, WAS3, WAS4, WAS5 및 WAS6 중 하나에 의한 데이터의 송신에 대응한다. 제1 MAC 프레임(210)은 WSC 노드(110)에 의해 송신되며, 제2 MAC 프레임(211)은 노드 WAS1에 의해 송신되며, 제3 MAC 프레임(212)은 노드 WAS2에 의해 송신되며, 제4 MAC 프레임(213)은 노드 WAS3에 의해 송신되며, 제5 MAC 프레임(214)은 노드 WAS4에 의해 송신되며, 제6 MAC 프레임(215)은 노드 WAS5에 의해 송신되며, 제7 MAC 프레임(216)은 노드 WAS6에 의해 송신된다.
WSC 노드(110)에서, 채널 1 내지 채널 6으로 참조된 오디오 채널들에 대한 오디오 샘플들은 각각 채널 1에 관련되는 제1 데이터 스트림 송신 FIFO(First In First Out)(205.1), 채널 2에 관련되는 제2 데이터 송신 FIFO(205.2), 채널 3에 관련되는 제3 FIFO(205.3), 채널 4에 관련되는 제4 FIFO(205.4), 채널 5에 관련되는 제5 FIFO(205.5), 및 채널 6에 관련되는 제6 FIFO(205.6)에서 수집된다.
이러한 예들에 있어서, (TDM 버스, 즉, 제1 버스(201) 및 제2 버스(221) 중 하나의) TDM 사이클은 고정된 125 μs 지속기간을 가지며, 오디오 샘플링 주파수는 96 kHz와 같다. 이는 각각의 TDM 사이클에서, WSC 노드(110)의 FIFO들(205.1 내지 205.6)에서 채널당 12개의 새로운 오디오 샘플들이 이용가능하다는 것을 의미한다.
도 2b(본 발명의 송신 방법의 WSC 노드(110)에서의 특정한 예시를 제공함)에 더 구체적으로 나타낸 바와 같이, WSC 노드(110)는 FIFO들(205.1 내지 205.6)에서 수집된 데이터로부터 제1 버스(201)의 TDM 사이클(204)을 채운다. 이를 위하여, (125 μs 지속기간을 갖는) TDM 사이클(204)이 시간 슬롯에 대응하는 특정수의 가상 채널, 예를 들어, 100개의 가상 채널(VC0 내지 VC99)로 분할되며, 따라서, 오디오 샘플의 크기(예를 들어, 24 비트)와 동일한 가상 채널 용량을 취하면, 오디오 채널에 대하여(기입 동작 또는 판독 동작에 대하여) 이들 가상 채널 중 72개가 할당 또는 전용된다(예를 들어, 네트워크(101)의 각각의 노드에 액세스 가능한 TDM 분배 TDM_MAP 레지스터에 저장된 미리 결정된 시퀀스에 따라서, 도 4를 참조하여 이하에 나타내고, 도 8을 참조하여 이하에 설명하는 바와 같이). 나머지 28개의 가상 채널들은 자유로우며, 다른 데이터 콘텐츠를 전달하기 위하여 사용될 수 있다.
통신 노드 내의 채널에 대한 "판독 동작"이라는 용어는, 통신 네트워크로부터 나오는 하나의 데이터를 취득하기 위한 동작으로서, 소비자 어플리케이션에 대하여 의도된 것이며, 통신 노드 내의 채널에 대한 "기입 동작"이라는 용어는 생성자 어플리케이션으로부터 나오는 하나의 데이터를 취득하기 위한 동작으로서, 통신 네트워크에 대하여 의도된 것이다.
따라서, WSC 노드에 있어서는, 오디오 콘텐츠에 대하여 유보된 72개의 가상 채널들이 판독 할당되는 반면, 각각의 WAS 노드에 있어서는, 이들 72개 가상 채널 중 12개가 기입 할당된다(각각의 WAS 노드는 하나의 오디오 채널을 가지며, 이와 관련되는 스피커에 의해 재생시켜야 함).
따라서, 미리 결정된 시퀀스는 예를 들어 이하를 나타낸다:
- 사이클(204)의 제1 가상 채널 VC0은 제2 FIFO(205.2)에 관련된 제2 오디오 채널 2에 할당되므로, 가상 채널 VC0 도중에 WSC 노드는 제2 FIFO(205.2)의 샘플을 검색한다;
- 사이클(204)의 제2 가상 채널 VC1은 제3 FIFO(205.3)에 관련된 제3 오디오 채널 3에 할당되므로, 가상 채널 VC0 도중에 WSC 노드는 제3 FIFO(205.3)의 샘플을 검색한다;
- ...;
- 사이클(204)의 제71 가상 채널 VC71은 제4 FIFO(205.4)에 관련된 제4 오디오 채널 4에 할당되므로, 가상 채널 VC0 도중에 WSC 노드는 제4 FIFO(205.4)의 샘플을 검색한다.
그 후, WSC 노드는 메쉬 네트워크(101)의 하나의 사이클을 구성하는 8개의 TDM 사이클 중에 어플리케이션에 의해 기입된 데이터를 검색하고, (예를 들어, 인터레이싱 기법을 통해서) 이들을 연쇄시켜, 내부 메모리(206)에 위치하는 연쇄된 세트를 셋업한다. 그 후, 이 데이터들은 메쉬 네트워크(101)의 사이클 C+1 중에 WSC 노드에 부여되는 차기의 스피치 시간에 MAC 프레임(210)으로 보내진다. 동일한 방법으로, 이들 노드 WAS1 내지 WAS6 각각은 자신에 할당(배당)되는 스피치 시간을 갖는다. 이러한 스피치 시간 중에, 관련 노드는 MAC 프레임(211 내지 216 각각)을 송신한다. 노드에 할당(배당)되는 스피치 시간은 이하와 같이 정의된다:
- 송신 시퀀스에서 이에 앞서는 노드가 송신을 중단한 순간에 의존하는 시작 시간, 이에는 대기 시간 간격 또는 갭이 추가된다(안테나의 재배향을 가능케 하고 무선 네트워크(101)에 내재하는 지터를 보상하기 위하여):
- 노드가 송신해야 하는 데이터의 수에 의존하는 지속기간(버스트 모드).
WSC 노드에 의해 송신되는 연쇄된 패킷들은 노드의 세트 WAS1 내지 WAS6에 의해 수신되며, 그 각각은 그것에 의도된 데이터를 검색한다. 예를 들어, 노드 WAS2는 WSC 노드에 의해 송신된 전술한 연쇄된 패킷(207)을, 제2 TDM 버스(221)에 대하여 이 연쇄된 패킷의 데이터 패킷들을 분배하기 전에 내부 메모리(207)에 위치시키고, 이로부터 그것에 대하여 의도된 데이터들을 위치시킨다.
도 2a는 특히 메쉬 네트워크(101)의 C로 참조된 사이클 동안 TDM 버스에 존재하고, C+1로 참조된 차기 사이클 동안 WSC(110)에 의해 버스트 모드에서 송신되는 오디오 샘플을 취득하는 것을 도시한다. 메쉬 네트워크(101)의 C+1로 참조된 사이클 중 제1 TDM 사이클의 시작에서, TDM 버스(201)에 할당되는 가상 기입 채널의 리듬에서 FIFO들(205.1 내지 205.6)이 판독되며, 그 세트가 메모리(206)에 전달된다. 이는 FIFO들(205.1 내지 205.6)에서 이용가능한 새로운 오디오 샘플들로 8개의 TDM 사이클 동안 반복된다. 메쉬 네트워크(101)의 C+1로 참조된 사이클 중 제8 TDM 사이클의 끝에서, 메모리(206)는 메쉬 네트워크(101)의 하나의 사이클의 지속기간에 대응하는 8개의 TDM 사이클 중에 수집되는 오디오 샘플들을 포함한다. 결국, 12개의 샘플을 6개의 채널로 곱하고, 8개의 TDM 사이클로 곱하면, 576개의 오디오 샘플이 주어진다.
네트워크 사이클 C+2의 WSC 노드에 부여되는 차기 스피치 시간에서, WSC(110)는 무선 메쉬 네트워크(101)의 MAC 프레임(210)을 송신한다. 이 MAC 프레임(210)은 자신의 페이로드 데이터에 전술한 576개의 오디오 샘플들을 포함한다.
각각의 WAS 노드, 특히, WAS 노드 WAS2는 WSC 노드(110)에 의해 송신된 MAC 프레임(210)을 수신한다. WSC에 의해 송신되는 MAC 프레임(210)의 수신 시작 순간은 메쉬 네트워크(101)의 사이클의 시작의 관련 WAS 노드에 대한 표시를 부여한다. 각각의 WAS 노드는 이 표시에 자신의 TDM 버스의 차기 TDM의 시작을 동기시킨다. 따라서, 메쉬 네트워크의 WAS 노드의 TDM 버스의 세트는 WSC 노드(110)의 TDM 버스의 클록킹과 동기된다.
본 경우, 각각의 WAS 노드는 네트워크 사이클 C+1의 끝에서 WSC 노드로부터 나오는 MAC 프레임을 수신한 것으로 생각된다. 도 2a에서는, 특히, 노드 WAS2에 포함된 수신 메모리(207)를 나타낸다(각각의 WAS 노드는 이러한 종류의 내부 메모리를 구비함). 이러한 수신 메모리(207)는 WSC 노드에 의해 송신되는 MAC 프레임(210)으로부터 나오는 데이터를 포함한다: 메쉬 네트워크(101)의 사이클 C 동안 WSC 노드에 의해 앞서 송신된 576개의 오디오 샘플.
메쉬 네트워크(101)의 사이클 시작 이벤트(223)의 발생시, 각각의 WAS 노드는 이전의 네트워크 사이클로부터 나와서 내부 메모리(예를 들어, 노드 WAS2에 대 한 수신 메모리(207))에 저장된 데이터를 추출한다. 도 2에 도시된 바와 같이, 노드 WAS2는 자신의 TDM 버스(221)에 할당되는 가상 판독 채널들을 사용하여, 수신 메모리(207)로부터 동기 스트림 수신 FIFO(209)로, 채널 2에 대한 오디오 샘플들을 전달한다. 주어진 오디오 채널과 관련된 데이터의 전달을 위해 WAS의 TDM 버스에 할당된 가상 판독 채널들은, 주어진 오디오 채널로부터 이러한 동일한 오디오 데이터를 전달하기 위해 WSC(110)의 TDM 버스에 할당되는 가상 기입 채널들에 대응한다.
따라서, 도 2b를 참조하면, WSC(110)의 TDM 버스의 가상 채널 VC1은 오디오 채널 2의 데이터의 기입(생성자 어플리케이션의 데이터의 검색)에 대하여 할당되며, 노드 WAS2(111)의 TDM 버스의 가상 채널 VC1은 오디오 채널 2의 데이터의 판독(소비자 어플리케이션에 대한 데이터의 제공)에 대하여 할당된다.
네트워크 사이클 C+2(도시 생략)에 이어지는 네트워크 사이클 C+3(도시 생략)의 제1 TDM 사이클 이후에, FIFO(209)는 오디오 채널 2에 대하여 12개의 새로운 오디오 샘플들을 포함한다. 이 오디오 샘플들은 노드 WAS2가 관련되는 스피커(소비자 어플리케이션)에, 96 kHz의 샘플링 속도로, 전달될 준비가 되어 있다. 이 동작은 각각의 TDM 사이클에서 반복된다. 어플리케이션이 시작되면, 각각의 WAS는 제1 TDM 판독 사이클로부터 나오는 첫번째 12개 오디오 샘플들이 수신 FIFO에 제공되기를 기다린 후, 차기 TDM 사이클의 시작에서 스피커에 대한 데이터의 전달을 시작한다. 결과적으로, 주어진 채널에 관련되는 각각의 WAS 노드는 모든 WAS 노드에 대하여 동일한 미리 결정된 정확한 순간에서 주어진 채널의 오디오 샘플들을 자신 의 스피커에 전달할 수 있다.
따라서, 본 발명은, 그 실시예들 중 적어도 하나에 있어서, 그것에 대한 판독 및 기입 시간 슬롯의 할당이 통신 네트워크의 모든 노드들에 분포되어 있는 원격통신 노드의 내부의 데이터 버스 사이클의 시간 분할 다중화 또는 TDM의 메카니즘에 기초한다. 각각의 노드의 클록킹은 로컬 클록에 의해 이루어지며, 네트워크의 상이한 노드들의 로컬 클록들은 위상과 주파수가 동기된다.
각각의 TDM 사이클은 정수 M개(M은, 예를 들어, 네트워크 상의 노드들의 수와 적어도 동일함)의 가상 채널을 포함하며, 그 각각은 노드에 의한 기입에 전용되는 시간 슬롯에 관련된다. 이러한 조건은, 각각의 노드가 메쉬 네트워크(101) 상에서 통신하기 위하여 TDM 사이클에 데이터를 도입할 수 있도록, TDM 사이클에 적어도 하나의 유보된 가상 채널을 갖는 것을 보장한다. 또한, 바람직하게는, 시분할 다중화 또는 TDM이 네트워크의 피크 데이터 비트율을 흡수할 수 있도록 사이징된다(특히, TDM 사이클당 가상 채널의 수, 가상 채널의 비트에 있어서의 크기의 측면에서).
바람직하게는, TDM 사이클 동안 각각의 노드는 이하의 것을 갖는다:
- 데이터를 입력하기 위한, 미리 결정된 정수 X개의 가상 기입 채널(X≥1);
- 데이터를 취득하기 위한, 미리 결정된 정수 Y개의 가상 판독 채널(M≥X+Y).
TDM 분배 레지스터 또는 TDM 맵 레지스터 TDM_MAP(415)에 영구 저장된 채널의 분배 테이블을 통해, 네트워크의 노드 각각에 존재하는 네트워크의 각각의 노드 는 TDM 사이클 중 어느 가상 채널이 기입 모드에 할당되는지, 즉, 기입 할당 채널들인지를 판정할 수 있다.
각각의 TDM 사이클에서, 각각의 노드는 자신의 송신 FIFO들(예를 들어, 노드 WAS2에 대한 FIFO(206))에 데이터 샘플들을 기입하기 위하여 자신에 할당되는 가상 기입 채널들을 이용한다. 자신에 할당된 가상 기입 채널들에 대하여 어떠한 데이터 샘플도 기입되지 않아야 한다면, 즉, 대응하는 어플리케이션 FIFO(예를 들어, WSC의 FIFO(205.1 내지 205.6) 중 하나)가 비어 있는 경우, 노드는 "null" 심볼을 기입한다. 이러한 "null" 심볼의 도입은 통신 네트워크(101) 상의 노드들의 스피치 시간 지속기간을 어플리케이션의 샘플링 주파수(즉, 어플리케이션에 의해 송신되는 데이터의 양)와 무관하도록 만든다.
따라서, 노드들은 (메쉬 네트워크(101)의 사이클의 지속기간에 대응하는) 소정 수의 TDM 사이클 동안 (기입 모드에서 이들에 할당되는 가상 채널의 수에 대응하는) 소정 양의 데이터 세트를 연쇄시킨다는 사실에 더하여, 버스트 모드에서 메쉬 네트워크(101) 상의 각각의 노드의 스피치 시간은 지배되며, 결정적이다.
정수 P(P≥1)개의 TDM 사이클 동안, 각각의 노드는 TDM 버스로부터 수집된 데이터를 연쇄시킨다. P개의 TDM 사이클의 지속기간은 메쉬 네트워크(101)의 하나의 사이클의 지속기간에 대응한다. 이러한 P개의 TDM 사이클의 끝에서, 각각의 노드는 MAC 데이터 프레임이 연쇄된 데이터를 포함하도록 한다. 그 후, 이후의 네트워크 사이클 내에서, 각각의 노드는 메쉬 네트워크에 대하여 연속적으로 액세스하여 자신의 MAC 프레임을 송신한다.
각각의 노드는 다른 노드들로부터 나오는 MAC 프레임들을 수신하여, 수신 FIFO 중 하나에 수신된 데이터를 저장한다. 적어도 네트워크의 레이턴시(예를 들어, 네트워크 사이클의 지속기간)보다 더 큰 고정된 지속기간 후에, 각각의 노드는 네트워크 상에 송신된 MAC 프레임의 세트를 수신하였다. 따라서, 각각의 노드는 차기 네트워크 사이클의 시작을 대기한다. 이러한 정확한 순간(차기 네트워크 사이클의 시작)에, 각각의 노드는 판독 모드에서 자신에 할당되는 가상 채널들에서 수신되는 데이터를 추출하기 시작한다.
TDM 맵 레지스터 TDM_MAP(415)에 저장된 테이블을 통해, 각각의 노드는 판독 모드에서 자신에게 할당되는 가상 채널들을 파악한다. 가상 판독 채널의 시작을 식별하는 이벤트의 발생 시, (가상 채널이 할당되는) 노드는 수신에서 적절한 수신 FIFO로부터 데이터 샘플들을 취득한다. "null" 심볼이 검출되는 경우, 대응 샘플은 사용되지 않고 삭제되며, 심볼이 속하는 오디오 채널의 소비자 어플리케이션에서 제공하도록 할당되는 가상 채널 내의 노드의 출력에는 임의의 다른 심볼이 존재한다.
결과적으로, 어플리케이션의 데이터 샘플들은 어플리케이션을 앞서 수신한 노드(샘플들의 송신기)의 입력에 존재하였던 것과 동일한 순서로 (이 샘플들을 수신한) 각각의 노드의 출력에 주어진다. 또한, 적어도 2개의 목적지 노드가 자신의 출력에서 데이터 콘텐츠의 동일한 부분을 제공하는 경우, 각각의 목적지 노드 상에서 동일한 TDM 사이클의 동일한 시간 슬롯(가상 채널)에 데이터 샘플들이 제공되어, 목적지 노드들의 클록들은 위상과 주파수가 동기되므로, 네트워크의 이들 노드 각각은 동일한 미리 결정된 정확한 시점에 어플리케이션의 데이터 샘플들을 제공한다. 따라서, 네트워크 상에서 브로드캐스트되는 데이터 샘플들은 동일한 미리 결정된 정확한 순간에서 네트워크의 복수의 노드들의 출력에 제공될 수 있다.
도 3은 무선 메쉬 네트워크(101)의 송신의 네트워크 사이클(313)을 나타낸다.
수퍼 프레임(300)은, 예를 들어, 1ms의 고정된 지속기간의 네트워크 사이클(313)의 일부이다. 이러한 지속기간에, 네트워크(101)의 각각의 노드 WSC 또는 WAS는 미리 결정된 송신 시퀀스에 따라서 자신의 스피치 시간 중에 자신의 MAC 프레임을 무선 메쉬 네트워크(101)에 송신한다. 따라서, WSC 노드(110)에 의해 프레임 1이 송신되며, 제1 내지 제6 WAS 노드에 의해 각각 제2 내지 제7 프레임(프레임 2 내지 프레임 7)이 송신된다. 이들 제1 내지 제7 MAC 노드들은 수퍼-프레임(300)을 형성한다.
수퍼-프레임(300)의 제1 프레임(프레임 1)은 WSC 노드(110)인 마스터 노드의 MAC 프레임의 송신에 대응한다. 이 프레임은 "head_frame"이라 한다. 노드 WAS1 내지 WAS6은 슬레이브 노드이다. WSC 노드(110)는 네트워크 사이클 시작 신호(203)를 생성함에 있어서 메쉬 네트워크(101)를 클록킹시키고 메쉬 네트워크의 사이클을 정의하는 네트워크의 노드이다.
각각의 MAC 프레임은 MAC 헤더(308)와 페이로드 데이터 필드(309)를 포함한다. MAC 헤더(308)는 3개의 필드를 갖는다:
- 수퍼-프레임(300)을 식별하는 "SF_id" 필드(310);
- 수퍼-프레임의 프레임들의 시퀀스에서 MAC 프레임을 식별하는 "MF_id" 필드(311);
- MAC 프레임을 송신하는 노드의 식별자를 포함하는 <<NODE_id>> 필드(312).
바람직하게는, 네트워크의 상이한 노드들에 의해 발생되는 지터를 흡수하고, 송신 모드와 수신 모드 사이의 전환을 가능하게 하거나, 안테나의 재배향을 가능하게 하기 위하여, 프레임들(프레임 1 내지 프레임 7) 사이에서 프레임들 간의 대기 시간 또는 갭("inter_frames 316.1 내지 316.7")이 계획된다.
도 4는 본 발명의 특정 실시예에 따른 무선 메쉬 네트워크(101)의 일반 노드(400)의 도면이다.
예를 들어, 무선 메쉬 네트워크(101)의 WSC 노드와 WAS 노드 각각은 일반 노드(400)와 동일하다.
일반 노드(400)는 이하의 5개의 모듈을 구비한다:
- 데이터 송신(또는 생성) 모듈로부터 데이터를 취득하여, 데이터를 데이터 수신(또는 소비) 모듈에 제공 또는 부여하는 데이터 제공 모듈(401);
- 메쉬 네트워크(101)의 노드 내에서 TDM형 시분할 다중화를 구현하는 TDM 관리자 모듈(402a)(이 모듈은 데이터 제공 모듈(401)에 의해 운송(transportation) 계층으로 사용된다);
- 무선 메쉬 네트워크(101)의 구현을 가능하게 하고, TDM 관리자 모듈(402a)의 가상 채널 형태의 배치와 후술하는 MAC 동기화 모듈(403)의 MAC 프레임 형태의 배치 사이의 적응을 수행하는 MAC 적응 모듈(402b);
- 매체 액세스 프로토콜을 구현하는 MAC 동기화 모듈(403). 재송신 에러 정정과 매체 액세스 동기화를 담당한다. 슬레이브 노드인 경우, TDM 관리자 모듈(402a)에 대하여 타이밍 동기화를 부여한다. 또한, 후술하는 무선 모듈(404)로부터 나오거나, 그것에 어드레싱되는 데이터의 변복조를 수행한다;
- 무선 모듈(404)은 매체에 대한 액세스의 아날로그 부분이다. 밀리미터파를 통해 통신(송수신)하도록 적응된다.
송신(또는 생성자) 어플리케이션으로부터 나오는 데이터들은 주파수 Fs_IN 에서 송신기(또는 생성자) 어플리케이션에 의해 동기 스트림 송신 FIFO(SSTF)들(408)의 세트에 저장된다.
수신기 어플리케이션에 어드레싱된 데이터는 TDM 버스 관리자(414)에 의해 SSRF(Synchronous Stream Receive FIFO)들(407)의 세트에 저장된다. 이 데이터들은 주파수 Fs_OUT에서 수신기 어플리케이션에 의해 판독된다.
어플리케이션은 커맨드 관리자 인터페이스(409)와, SMRF(Synchronous Message Receive FIFO)들(410)의 세트 및 SMTF(Synchronous Message Transmit FIFO)들의 세트를 포함하는 한 쌍의 FIFO를 통해 제어 커맨드를 송수신할 수 있다. 일반 노드(400)는 TDM 사이클과 네트워크 사이클을 정의하기 위하여 TDM 버스 관리자(414)에 의해 사용되는 기준 클록(405)을 포함한다. 이러한 기준 클록은 또한 주파수 Fs_OUT을 생성하기 위하여 PLL(Phase Locked Loop)(406)에 의해 사용된다.
주파수 Fs_OUT의 생성을 위한 PLL(406)의 구성은 커맨드 관리 인터페이스(409)에 의해 성취된다. 일반 노드(400)의 입력에서, 커맨드 관리 노드(409)는 주파수 Fs_IN의 값을 검출하여 동기 메시지 송신 FIFO(411)를 통해 송신한다. 원거리 노드에서(즉, 노드(400)에 비하여 원거리), 이 원거리 노드의 커맨드 관리 인터페이스는 이 원거리 노드의 동기 메시지 수신 FIFO를 통해 주파수 Fs_IN의 값을 수신한다. 따라서, 원거리 노드는 동일한 주파수 값을 전달하도록 자신의 위상 고정 루프를 구성할 수 있다.
TDM 버스 관리자(414)는 SSRF(407), SSTF(408), SMRF(410), SMTF(411) 등의 FIFO들, "null" 값의 분석을 위한 장치인 "null 분석기(416)", 및 "null" 값의 삽입을 위한 장치인 "null 삽입기(418)"를 연결하는 데이터 버스(435)를 제어한다. TDM 버스 관리자(414)는 전술한 TDM 맵 레지스터 TDM_MAP(415)에 의해 정의된 TDM 가상 채널들에 대하여 어플리케이션 데이터를 분배한다.
각각의 TDM 사이클에서, TDM 버스 관리자(414)는 기입 모드에서 할당된 가상 채널들 모두에 대하여 SSTF FIFO(408)로부터 또는 SMTF FIFO(411)로부터 송신기 어플리케이션의 데이터를 판독하도록 null 삽입기(418)에 요청한다. 모든 할당된 가상 채널들을 만족하도록 SSTF 및 SMTF FIFO들 내에 충분한 데이터가 없을 수도 있다. 이러한 경우, null 삽입기(418)는 대량의 데이터가 손실되는 기입 할당된 가상 채널들을 채우도록 "null" 심볼들을 추가한다.
또한, 각각의 TDM 사이클에 있어서, TDM 버스(414)의 관리자는 SyncRF_from_MAC FIFO(417)로부터 TDM 값을 취득하도록 null 분석기(416)에 요청한다. 이 데이터들은 TDM 맵 레지스터 TDM_MAP(415)을 이용하여 SSRF(407) 또는 SMRF(410)에 기입된다. 특정한 가상 채널들이 "null" 심볼을 갖는 TDM 데이터 스트림들을 운반한다. null 분석기(416)는 TDM 버스 관리자(414)에 의해 어플리케이션 데이터로 해석될 수 없도록 "null" 심볼들을 처리한다. "null" 심볼들은 null 삽입기(418)에 의해 삽입되었으므로, 그들은 수신기(또는 소비자) 어플리케이션에 대하여 통신되지 않아야 한다. 판독 모드에 할당되는 대응하는 가상 채널은 그 후 비어 있게 된다. 각각의 네트워크 사이클에서 일반 노드(400)에 의해 동일한 양의 데이터가 송신되도록, 즉, 송신기(또는 생성자) 어플리케이션의 비트율이 무엇이건, 생성하는 MAC 프레임이 네트워크 사이클마다 고정된 크기를 갖도록, "null" 심볼들이 사용된다. 또한, 수신기(소비자) 어플리케이션은 송신기(또는 생성자) 어플리케이션에 의해 사용되는 주파수 Fs_IN에 대응하는 주파수 Fs_OUT에서 데이터를 검색하여, 전술한 바와 같이 데이터의 송신(또는 생성)을 클록킹시킨다. "null" 심볼들은 수신기(또는 소비자) 어플리케이션에 송신되지 않으므로, 송신기 어플리케이션이 송신한 데이터를 더 이상 수신하지 않으며, 따라서, 데이터 수신 시의 임의의 시간 지연을 방지하고, SSRF FIFO(407)의 오버플로우를 방지한다. 따라서, "null" 심볼들은 특정 개수의 TDM 사이클 이전에, 소스 노드 상에서 사용되었던 것과 동일한 가상 채널 동안 하나의 데이터가 제공되도록 하여, 이 동일한 데이터를 송신하는 것이 가능하도록 보장할 수 있다.
"MAC" 적응 모듈(402b)의 MAC 어댑터(428)는 각각의 TDM 사이클에서 SyncTF_to_MAC MAC FIFO(419)로부터 기입 할당된 가상 채널들로부터 데이터를 취득한다. 그 후, 데이터 블록들을 형성하는 청크에 TDM 가상 채널들을 배치한다. MAC 프레임에서 운반되는 데이터는 관련되는 가상 채널의 함수로서 함께 그룹화된다. MAC 어댑터(428)는 링크(457)를 통해 TDM 맵 레지스터 TDM_MAP(415)에 대하여 액세스함으로써 (판독 모드 뿐만 아니라) 기입 모드에서 사용되는 가상 채널들의 할당을 파악한다. 일단 구축되면, 이 청크들은 MAC 제어기(420)에 의해 전달되는 Tx_cycle_event(451) 신호(일반 노드(400)의 스피치 시간의 시작을 나타냄)의 수신 중에 MAC 프레임의 형태로 인코딩 모듈(424)에 송신된다. 이 청크들은 그 후 일반 노드(400)에 의해 송신된 MAC 프레임의 페이로드 데이터(309)를 구성한다.
이와 병행하여, 인코딩 모듈(424)은 일단 Tx_cycle_event 신호(451)가 활성화되면 SF_id 필드(310), MF_id 필드(311), 및 NODE_id 필드(312)에 미리 결정된 값을 할당한다.
그 후, 바람직하게, MAC 프레임이 MAC 프레임 변조기(425)에 송신되기 전에 인코딩 모듈(424)에 의해 MAC 프레임에 대하여 FEC(Forward Error Correction) 형태의 정정이 이루어질 수 있다.
역으로, 일단 MAC 프레임이 MAC 프레임 복조기(422)에 의해 수신되면, FEC 형태의 정정을 구현할 수 있는 MAC 프레임 디코더(423)에 송신된다.
MAC 프레임의 헤더가 정확하다면, 신호 frame_Rx_event가 링크(454)에 의해 활성화되는 것과 동시에 MAC 헤더(308)의 MF_id 필드(311)의 사본 frame_Rx_frame_id가 MAC 제어기(420)에 송신된다. 그 후, 이러한 정보는 액세스 제어를 동기화하는데 이용된다.
이와 병행하여, MAC 헤더(308)의 SF_id 필드(310)의 사본 frame_Rx_event 및 NODE_id 필드(312)의 사본 frame_Rx_Node_id가 링크(453)를 통해 MAC 어댑터(428) 에 송신되며, MAC 어댑터는 MAC 프레임 디코더(423)에 의해 전달된 MAC 프레임의 페이로드 데이터 필드(309)의 데이터 블록을 판독하여, 이들을 메모리에 저장한다. MAC 어댑터(428)는 청크의 형태로 MAC 프레임 디코더(423)로부터 나오는 데이터를 수신하는데, 즉, MAC 프레임에서 운반되는 데이터는 관련되는 가상 채널에 따라서 함께 그룹화된다. 그 후, MAC 어댑터(428)는 TDM 사이클마다 버스(435)에 제공되어야 하는 순서에 따라서, SyncRF_from_MAC FIFO(417)에 데이터를 주입하도록, 데이터를 재정렬하는 것을 담당한다. MAC 어댑터(428)는 링크(457)를 통해 TDM 맵 레지스터 TDM_MAP에 액세스함으로써 (기입 모드뿐만 아니라) 판독 모드에서 사용되는 가상 채널의 할당을 파악한다.
MAC 제어기(420)는 스피치 시간의 시작(Tx_cycle_event 신호(451)의 생성)을 결정하고, 또한 슬레이브 노드에 대한 네트워크 사이클 시작을 나타내는 신호 (SF_slave_cycle_start 신호(524))를 생성하도록 MAC 동기화 처리를 구현하는 것을 담당한다. 송신 시퀀스에서 이에 앞서는 노드가 송신을 중단한 순간에 이어서, 노드가 네트워크 상에서 송신 또는 전송할 수 있는 순간을 나타내는 TX_cycle_event 신호(451)에는, 대기 시간 간격(또는 갭)이 추가되어, 안테나의 재배향을 가능하게 하고, 무선 네트워크(101)에 내재하는 지터를 보상한다.
이 때, 마스터 노드의 경우, 네트워크 사이클 시작을 나타내는 신호의 생성은 SF_master_cycle_start 신호(520)이며, 이는 TDM 버스 관리자(414)에 의해 생성된다. MAC 제어기(420)는 또한 Antenna_Ctrl 신호(455)를 통해 수신 시 안테나(112)의 배향을 체크한다. 여기서, 메쉬 네트워크(101)의 구현의 특정한 모드에 서, 모든 노드들이 송신기 노드에 의해 브로드캐스트되는 정보를 수신하는 한편, 동시에 무선 신호의 송신에 필요한 전력을 제한할 수 있도록, 노드들이 수신 시 자신의 무선 안테나를 배향시키며, 송신 시 단방향 모드로 안테나들을 이용하는 것은 당연한 것으로 여겨진다.
RF(Radio Frequency) 송신 모듈(434)은 무선 송신기의 통상의 기능을 수행하는데, 즉, 변조기(425)의 출력에서 무선 송신에 사용되는 캐리어 주파수로의 중간 주파수 변환(고주파 변환), 증폭, 및 안테나를 통한 송신 등을 수행한다.
RF 수신기 모듈(433)은 무선 수신기의 통상의 기능을 수행하는데, 즉, 안테나를 통한 수신, 필터링, 레벨의 검출, 자동 이득 제어, 저주파수로의 변환 등을 수행한다.
도 5는 본 발명의 특정 실시예에 따른 일반 노드(400)의 TDM 버스 관리자(414)에 의한 TDM_cycle_start 신호(531) 및 SF_cycle_start 신호(532)(또는 이벤트)의 생성을 나타낸다.
제1 비교기(504)에 관련되는 제1 카운터(501)는 TDM 사이클마다 펄스를 생성한다.
제1 카운터(501)는 기준 클록(405)에 의해 클록킹된다. 제1 카운터(501)의 출력은 제1 비교기(504)의 입력(512)에 연결되어, 이 비교기가 제1 카운터(501)의 출력과 TDM 사이클의 지속기간을 나타내는 TDM_cycle_duration 신호(513)의 값을 비교하도록 한다. 제1 카운터(501)가 TDM_cycle_duration 신호(513)의 값에 도달하는 때에, 제1 비교기(504)의 출력(531)은 값 1로 전환되며, 제1 카운터(501)는 후술되는 신호(530)에 의해 리셋된다.
결과적으로, TDM 사이클마다 출력(531)에서 펄스가 생성되며, 펄스가 TDM_cycle_start 신호(531)를 구성하여, 각각의 TDM 사이클의 시작을 마킹한다.
제2 카운터(502)는 TDM 사이클의 수를 계수한다. 그 출력은 제2 비교기(505)의 입력(515)에 연결되어, 이 비교기가 그러한 출력을 메쉬 네트워크(101)의 사이클당 TDM 사이클의 수를 나타내는 Nb_TDM_per_SF 신호(516)의 값과 비교한다. 제2 카운터(502)가 Nb_TDM_per_SF 신호의 값에 도달하는 경우, 제2 비교기(505)의 출력(520)은 값 1로 전환되며, 제1 카운터(501) 및 제2 카운터(502)가 리셋된다. 결과적으로, 제2 비교기(505)의 출력(520)에서의 펄스가 메쉬 네트워크(101)의 각 사이클에서 생성되어, SF_master_cycle_start 신호(520)를 구성한다.
일반 노드(400)가 마스터 노드(WSC 노드(110))이면, SEL 신호(523)가 다중화기(508)의 입력에 인가되어, 다중화기(508)의 출력(532)을 SF_master_cycle_start 신호(520)에 연결시킨다.
일반 노드(400)가 슬레이브 노드(노드 WAS1 내지 WAS6)이면, SEL 신호(523)가 다중화기(508)의 입력에 인가되어, 다중화기(508)의 출력(532)을 SF_slave_cycle_start 신호(524)에 연결시킨다.
TDM_cycle_start 신호를 운반하는 제1 비교기(504)의 출력(531)과 SF_cycle_start 신호를 운반하는 다중화기(508)의 출력은 AND 게이트(507)의 입력에 연결되어, 제1 카운터(501)의 리셋을 위한 신호(530)의 생성을 가능하게 한다. 이러한 리셋은 노드의 리셋 시에 마스터 노드와 슬레이브 노드 사이에 존재하는 시 간 지연을 제거하기 위하여 수행된다. 이러한 리셋은 제1 신호 SF_cycle_start가 TDM 사이클의 시작과 동기화될 수 있도록 한다.
TDM_cycle_start 신호는, TDM 가상 채널 상에서의 기입 및 판독 동작을 활성화시키기 위하여 TDM 버스 관리자(414)에 의해 사용된다. SF_master_cycle_start 신호(520)는 MAC 제어기(420)에 송신된다.
도 4를 참조하여 설명한 바와 같이, TDM_cycle_start 메시지(531) 및 SF_cycle_start 메시지(532)가 MAC 어댑터(428)에 송신된다.
도 6은 본 발명의 특정 실시예에 따른 일반 노드(400)의 TDM 버스 관리자(414), null 삽입기(418), SSTF FIFO들(408)의 세트(간략화를 위하여, 간단히 SSTF FIFO라고도 함), SMTF FIFO들(411)의 세트(간략화를 위하여, 간단히 SMTF FIFO라고도 함), 및 SyncTF_to_MAC FIFO(419) 사이의 교환을 나타낸다.
도 4를 참조하여 전술한 바와 같이, 어플리케이션은 어플리케이션의 샘플링 주파수 Fs_IN에서 SSTF FIFO(408)에 데이터 샘플을 기입하고, SMTF FIFO(411)에 커맨드 샘플을 기입한다.
샘플의 크기는 16 비트, 24 비트, 48 비트, 64 비트, 또는 임의의 다른 크기일 수 있다.
SSTF FIFO들(408)의 세트는 m+1개의 FIFO SSTF[0] 내지 SSTF[m]을 포함하며, SMTF FIFO들(411)의 세트는 n+1개의 FIFO SMTF[0] 내지 SMTF[n]을 포함하는 것으로 가정한다. 도 6에 있어서, SSTF[0](408.0), SSTF[1](408.1), SSTF[m](408.m), SMTF[0](411.0), SMTF[1](411.1) 및 SMTF[n](411.n)의 FIFO들만이 그들 각각의 제 어(Ctrl) 신호 및 데이터(Data) 신호와 함께 도시되어 있다. SSTF FIFO와 SMTF FIFO의 크기는 TDM 사이클 동안 송신기(또는 생성자) 어플리케이션에 의해 부여될 수 있는 어플리케이션 데이터의 최대량을 수용할 수 있도록 선택된다. 이 최대량은 주파수 Fs_IN과 어플리케이션 데이터 샘플의 크기에 의해 계산될 수 있다.
TDM 버스 관리자(414)는 null 삽입기(418)에 의해 판독되어야 하는 FIFO를 선택하도록 사용되는 FIFO_Enable[0, m+n+1] 신호(602)를 제어한다. FIFO_Enable[0, m+n+1](602) 신호는 또한 null 삽입기(418)가 선택된 FIFO에 연결되도록 다중화기(600)를 구성하기 위하여 사용된다. null 삽입기(418)와 SSTF/SMTF FIFO 사이의 데이터 버스의 크기는 48 비트이며, 이는 TDM 버스의 가상 채널의 크기이다.
null 삽입기(418)는 또한 SyncTF_to_MAC FIFO(419)에 데이터를 기입한다. 이 경우, 데이터 버스는 null 삽입기(418)가 가상 채널의 유효성(validity)에 대한 정보를 제공하는 헤더 비트를 추가시킨다는 사실로 인해, 49 비트의 크기를 갖는다. 이 헤더 비트는 SyncTF_to_MAC FIFO(419)에 기입되는 데이터의 MSB(most significant bit)이다. 헤더 비트는 값 1을 취하여 가상 채널이 유효하다는 것을 나타내며, 값 0을 취하여 null 삽입기(418)가 null 심볼을 SyncTF_to_MAC FIFO(419)에 기입한다는 것을 나타낸다. 예를 들어, "null" 심볼이 값 0으로 인코딩된다.
SyncTF_to_MAC FIFO(419)의 크기는 TDM 사이클 동안 모든 가상 채널의 데이터를 수용할 수 있도록 선택된다. null 삽입기(418)에 대하여 각각의 기입 할당된 가상 채널을 도 12 및 도 13a의 알고리즘을 참조하여 후술하는 바와 같이 처리하도록 요청하기 위하여 TDM 버스 관리자(414)에 의해 커맨드 인터페이스(601)가 사용된다.
도 7은 본 발명의 특정 실시예에 따른 일반 노드(400)의 TDM 버스 관리자(414), null 분석기(416), SSRF FIFO들(407)의 세트(간략화를 위해, 간단히 SSRF FIFO라고도 함), SMRF FIFO들(410)의 세트(간략화를 위해, 간단히 SMRF FIFO라고도 함), 및 SyncRF_from_MAC FIFO(417) 사이의 교환을 나타낸다.
도 4를 참조하여 전술한 바와 같이, 어플리케이션은 어플리케이션의 샘플링 주파수 Fs_OUT에서 SSRF FIFO(407)로부터 데이터 샘플들을 판독하고, SMRF FIFO(410)로부터 제어 샘플들을 판독한다.
샘플의 크기는 16 비트, 24 비트, 48 비트, 64 비트, 또는 임의의 다른 크기일 수 있다.
SSRF FIFO들(407)의 세트는 k+1개의 FIFO SSRF[0] 내지 SSRF[k]를 포함하며, SMRF FIFO들(411)의 세트는 j+1개의 레지스터 SMRF[0] 내지 SMRF[j]를 포함하는 것으로 가정한다. 이러한 도 7은 그들 각각의 제어(Ctrl) 신호 및 데이터(Data) 신호와 함께 레지스터들 SSRF[0](407.0), SSRF[1](407.1), SSRF[m](407.m), SMRF[0](410.0), SMRF[1](410.1), 및 SMRF[j](410.j)만을 나타낸다. SSRF FIFO 및 SMRF FIFO의 크기는 TDM 사이클 동안에 수신기(또는 소비자) 어플리케이션에 제공될 수 있는 어플리케이션 데이터의 최대량을 수용할 수 있도록 선택된다. 이 최대량은 주파수 Fs_OUT과 어플리케이션 데이터 샘플의 크기에 의해 계산될 수 있다.
TDM 버스 관리자(414)는 null 분석기(416)에 의해 기입되어야 하는 FIFO를 선택하기 위하여 이용되는 FIFO_Enable[0, k+j+1] 신호(702)를 제어한다. FIFO_Enable[0, k+j+1] 신호(702)는 또한 null 분석기(416)가 선택된 FIFO에 연결되도록 다중화기(700)를 구성하기 위하여 이용된다. null 분석기(416)와 SSRF/SMRF FIFO 사이의 데이터 버스의 크기는 48 비트이며, 이는 TDM 버스의 가상 채널의 크기이다.
null 분석기(416)는 또한 SyncRF_from_MAC FIFO(417)의 데이터를 판독한다. 이 경우, 데이터 버스는 가상 채널이 채널의 유효성에 대한 표시를 제공하는 헤더 비트와 관련되는 사실로 인해, 49 비트의 크기를 갖는다.
null 분석기(416)는 SyncRF_from_MAC FIFO(417)에서 판독된 데이터의 헤더 비트(MSB)를 추출한다. 헤더 비트가 값 1을 가지면, 가상 채널의 데이터 샘플이 선택된 FIFO(SSRF 또는 SMRF FIFO)에 기입된다. 헤더 비트가 "null" 심볼에 대응하는 값 0을 가지면, 가상 채널의 데이터(즉, "null" 심볼)가 제거된다.
SyncRF_from_MAC FIFO(417)의 크기는 TDM 사이클 동안의 모든 가상 채널의 데이터를 수용할 수 있도록 선택된다. null 분석기(416)에 대하여 도 12 및 도 13b의 알고리즘을 참조하여 후술하는 바와 같이 판독 할당된 가상 채널 각각을 처리하도록 요청하기 위하여, TDM 버스 관리자(414)에 의해 커맨드 인터페이스(701)가 또한 사용된다.
도 8은 본 발명의 특정 실시예에 따른 TDM 맵 레지스터 TDM_MAP(415)의 일례를 나타낸다.
TDM 맵 레지스터 TDM_MAP(415)은 가상 채널마다 32 비트의 메모리 영역을 포함한다.
TDM 맵 레지스터 TDM_MAP(415)의 데이터들은 주어진 바와 같이 가상 채널들의 넘버링의 순서를 따르는데, 즉, 레지스터의 32 비트에 정렬된 제1 오프셋 어드레스에는, 가상 채널 0에 대응하는 메모리 영역이 있으며, 레지스터의 32 비트에 정렬된 제n 오프셋 어드레스에는, 가상 채널 n에 대응하는 메모리 영역이 있다.
주어진 가상 채널의 메모리 영역(800)은 6개의 필드를 갖는다:
- "기능(function)" 필드(801): 2 비트를 포함하며, 가상 채널의 특성을 식별한다. 예를 들어, b00은 판독 모드의 "가상 채널"을 의미하고, b01은 "기입 모드의 가상 채널"을 의미하며, b1x는 "사용되지 않는 가상 채널"을 의미한다.
- "SSRF" 필드(802): 6 비트를 포함하며, 가상 채널에 관련되는 SSRF FIFO를 식별한다. 예를 들어, b000000은 그것이 SSRF[0] FIFO임을 의미하고, b000001은 그것이 SSRF[1] FIFO임을 의미하며, b111111은 가상 채널에 관련된 SSRF FIFO가 없다는 것을 의미한다.
- "SMRF" 필드(803): 6 비트를 포함하며, 가상 채널에 관련되는 SMRF FIFO를 식별한다. 예를 들어, b000000은 그것이 SMRF[0] FIFO임을 의미하고, b000001은 그것이 SMRF[1] FIFO임을 의미하며, b111111은 가상 채널에 관련된 SMRF FIFO가 없다는 것을 의미한다.
- "SSTF" 필드(804): 6 비트를 포함하며, 가상 채널에 관련되는 SSTF FIFO를 식별한다. 예를 들어, b000000은 그것이 SSTF[0] FIFO임을 의미하며, b000001은 그것이 SSTF[1] FIFO임을 의미하며, b111111은 가상 채널에 관련된 SSTF FIFO가 없다는 것을 의미한다.
- "SMTF" 필드(805): 6 비트를 포함하며, 가상 채널에 관련되는 SMTF FIFO를 식별한다. 예를 들어, b000000은 그것이 SMTF[0] FIFO임을 의미하고, b000001은 그것이 SMTF[1] FIFO임을 의미하며, b111111은 가상 채널에 관련된 SMTF FIFO가 없다는 것을 의미한다.
- "유보(reserved)" 필드(806): 6 비트를 포함하며, 임의의 다가올 어플리케이션을 위하여 유보된다.
도 9는 본 발명의 특정 실시예에 따른 MAC 어댑터(428)의 아키텍쳐의 일례를 나타낸다.
MAC 어댑터(428)는 메모리(900)(예를 들어, RAM(Random Access Memory) 형태), Mux_demux 레지스터(906), 및 이하의 4개의 모듈을 포함한다:
- 송신 청크 관리자 모듈(901): 청크 또는 컨테이너를 생성하도록 메모리(900)에 SyncTF_to_MAC FIFO(419)의 TDM 버스의 가상 채널 배치를 담당한다; 이 송신 청크 관리자(901)는 데이터의 기입을 위한 기저 어드레스를 부여하는 RefBaseAddrRegister 레지스터(911)를 통해 메모리(900)와 인터페이싱한다;
- MAC 계층으로의 송신을 위한 Tx_To_MAC 모듈(902): 메모리(900)로부터 인코딩 모듈(424)에 MAC 프레임 형태로 청크를 전송하는 것을 담당한다. Tx_To_MAC 모듈(902)은 데이터의 판독을 위한 기저 어드레스를 부여하는 TxToMACBaseAddrRegister 레지스터(912)를 통해 메모리(900)와 인터페이싱한다;
- MAC 계층으로부터의 수신을 위한 Rx_From_MAC 모듈(903): MAC 프레임 디코더(423)로부터 수신되는 청크의 메모리(900)로의 전송을 담당한다. Rx_From_MAC 모듈(903)은 데이터의 기입을 위한 기저 어드레스를 부여하는 RxFromMACBaseAddrRegister 레지스터(913)를 통해 메모리(900)와 인터페이싱한다;
- TDM 버스로의 수신을 위한 Rx_To_TDM 모듈(904): 메모리(900)로부터의 자신의 청크에서 데이터를 추출하고, 추출된 데이터를 SyncRF_From_MAC FIFO(417)에 기입하는 것을 담당한다. Rx_To_TDM 모듈(904)은 데이터의 판독을 위한 기저 어드레스를 부여하는 RxToTDMBaseAddrRegister 레지스터(914)를 통해 메모리(900)와 인터페이싱한다.
TDM 버스 관리자(414)로부터 나오는 TDM_cycle_start 신호에 의해 정의되는 TDM 사이클의 시작시마다, 송신 청크 관리 모듈(901)은 SyncTF_to_MAC FIFO(419)의 콘텐츠를 판독한다. 이 콘텐츠는 이전의 TDM 사이클 동안 수집된 헤더 비트와 함께 가상 채널들로부터의 데이터를 포함한다. 각각의 데이터는 그 후 TDM 맵 레지스터 TDM_MAP(415)의 레지스터들에 포함되며, 링크(457)를 통해 얻어지는 정보를 통해 정의되는 어드레스의 메모리(900)에 기입된다.
TDM 버스 관리자(414)로부터 나오는 SF_cycle_start 이벤트에 의해 정의되는 메쉬 네트워크(101)의 사이클 시작시마다, MAC 어댑터(428)는 이전의 네트워크 사이클 동안 가상 채널들에 대한 데이터를 수집하였다. 메모리(900)에서는, 가상 채널들로부터의 데이터가 도 10을 참조하여 이하에 후술하는 바와 같이 청크들에 배치된다. 송신 청크 관리자 모듈(901)로부터 나오는 ReadyForTx 신호(916)의 수신 에 뒤이어, MAC 제어기(420)로부터 나오는 Tx_cycle_event 신호(451)의 수신 시, Tx_To_MAC 모듈(902)은 메모리(900)로부터 TDM 맵 레지스터 TDM_MAP(415)에 포함된 정보에 의해 정의되는 어드레스에 송신되어야 하는 데이터 청크들을 판독하고, 데이터 청크들을 MAC 프레임의 형태로 인코딩 모듈(424)에 기입한다. Tx_To_MAC 모듈(902)은 송신 청크 관리자 모듈(901)로부터 나오는 ReadyForTx 신호(916)를 수신한 청크의 판독에 집중한다.
링크(454) 상에서 frame_Rx_event 이벤트의 수신 시, Rx_From_MAC 모듈(903)은 MAC 프레임 디코더(423)로부터 수신되는 데이터 청크들을 판독하여, 이 데이터 청크들을 링크(454)에 의해 취득되는 frame_Rx_Node_id 파라미터 및 Mux_demux 레지스터(906)에 포함된 정보에 의해 정의되는 어드레스들에서 메모리(00)에 기입한다. 실제로, 도 11을 참조하여 이하에 후술하는 바와 같이, Mux_demux 레지스터(906)는 그러한 청크들, 즉, 메쉬 네트워크(101)의 노드 각각에 의해 생성되는 프레임들에 존재하는 가상 채널들의 식별을 가능하게 한다.
TDM 버스 관리자(414)로부터 나오는 SF_cycle_start 이벤트에 의해 정의되는 네트워크 사이클의 시작시마다, Rx_To_TDM 모듈(904)은 수신되어 메모리(900)에 저장되는 청크들의 헤더 비트들과 함께 TDM 가상 채널들의 데이터를 판독한다. 이 판독 동작의 어드레스들은, TDM 맵 레지스터 TDM_MAP(415)에 포함되며 링크(457)를 통해 얻어지는 정보에 의해 정의된다. 그 후, 자신의 헤더 비트를 갖는 TDM 가상 채널의 데이터가 SyncRF_from_MAC FIFO(417)에 기입된다. 그러한 동작들은, 그 후, 네트워크 사이클의 끝까지 새로운 TDM 사이클의 시작을 나타내는 TDM_cycle_start 신호의 수신시마다 반복된다.
TDM 버스 관리자(414)로부터 나오는 SF_cycle_start 이벤트에 의해 정의되는 네트워크 사이클의 시작시마다, RefBaseAddrRegister 레지스터(911)는 메모리(900)의 3개의 가능한 기저 어드레스 값들 중에서 하나를 취한다. 도 10을 참조하여 이하에 후술하는 바와 같이, 메모리(900)는 3개의 구획(compartment)으로 나누어진다. 각각의 구획은 이하의 용도로 번갈아 사용된다:
- TDM 버스로부터 나오는 데이터로부터 MAC 계층에 송신될 청크들의 구축;
- MAC 계층에 청크들을 송신하고, MAC 계층으로부터 청크들을 수신;
- 청크들을 분해하여, 데이터를 TDM 버스에 송신.
네트워크 사이클의 변화시마다, 송신 청크 관리자 모듈(901), Tx_To_MAC 모듈(902), Rx_From_MAC 모듈(903), 및 Rx_To_TDM 모듈(904)은 상이한 메모리 영역을 사용하므로, 상이한 기저 어드레스를 사용한다. RefBaseAddrRegister 레지스터(911)에 포함된 정보는 링크(915)를 이용하여 Tx_To_MAC 모듈(902), Rx_From_MAC 모듈(903), 및 Rx_To_TDM 모듈(904)에 송신되며, TxToMACBaseAddrRegister 레지스터(912), RxFromMacBaseAddrRegister 레지스터(913), 및 RxToTDMBaseAddrRegister 레지스터(914)는 링크(915)를 통해 수신되는 정보의 함수로서 메모리(900)의 기저 어드레스의 값을 취한다.
도 10은 본 발명의 특정 실시예에 따른 메모리(900)의 아키텍쳐의 일례를 나타낸다.
메모리(900)는 기저 어드레스 0에 관련된 제1 구획, 기저 어드레스 1에 관련 된 제2 구획, 및 기저 어드레스 2에 관련된 제3 구획을 포함한다.
메모리(900)의 각각의 구획은 동일한 수 M의 청크를 포함할 수 있다. 청크는 청크 헤더와 P개의 가상 채널을 포함한다. P는 네트워크 사이클당 TDM 사이클의 수이다. 예를 들어, 청크 수 k는 제1 TDM 사이클의 가상 채널 수 k를 포함한다. 동일한 네트워크 사이클의 제2 TDM 사이클의 가상 채널 수 k, ..., 최종 TDM 사이클의 가상 채널수 k까지도 마찬가지이다. 청크 헤더는 청크에 관련된 가상 채널의 데이터에 대하여 null 삽입기(418)에 의해 각 TDM 사이클에 더해지는 헤더 비트들의 연쇄(concatenation)이다.
M은 TDM 사이클당 가상 채널의 수이다. 메모리(900)의 각각의 구획은 네트워크 사이클의 지속기간의 모든 가상 채널을 포함할 수 있다. 청크들은 가장 작은 청크 번호에서 가장 큰 청크 번호까지, 청크 번호의 함수로서 순서를 가질 수 있다. 가상 채널들은 가장 작은 가상 채널 번호로부터 가장 큰 가상 채널 번호까지, 그 번호의 함수로서 순서를 가질 수 있다.
청크 헤더의 크기는 "ChunkHeaderSize" 필드에 포함되고, 청크의 크기는 "ChunkSize" 필드에 포함되며, 가상 채널의 크기는 "VcSize" 필드에 포함된다. 메모리(900)에 대해 48 비트의 가상 채널과 48 비트의 데이터 버스인 경우, "VcSize"필드는 1의 값을 갖고, ChunkSize 필드는 P + ChunkHeaderSize의 값을 갖고, ChunkHeaderSize 필드는 Int(P/48) + 1의 값을 가지며, 여기서, Int()는 "정수부" 함수이다.
네트워크 사이클마다, 메모리(900)의 각 구획에 특정 작업이 부여된다. 예를 들어, 네트워크 사이클이 주어지면:
- 제1 구획은 TDM 버스로부터 나오는 청크들의 배치를 위해 사용된다(예를 들어, 네트워크 사이클 C에 관련된 데이터);
- 제2 구획은 메쉬 네트워크(101)와의 송수신을 위해 사용된다(네트워크 사이클 C-1에 관련된 데이터);
- 제3 구획은 청크의 분해 및 TDM 버스에 대한 가상 채널 추출을 수행하기 위해 사용된다(네트워크 사이클 C-2에 관련된 데이터).
그 후, 차기 네트워크 사이클 동안:
- 제1 구획은 메쉬 네트워크와의 송수신을 위하여 사용된다;
- 제2 구획은 TDM 버스에 대한 가상 채널 추출을 수행하기 위하여 사용된다;
- 제3 구획은 TDM 버스로부터 나오는 청크의 배치를 위하여 사용된다.
RefBaseAddrRegister 레지스터(911)는 다음과 같은 순서, 즉, 기저 어드레스 2, 기저 어드레스 1, 및 기저 어드레스 0의 순서로 메모리(900)의 3개의 기저 어드레스를 연속적으로 선택한다. 전술한 바와 같이 SF_cycle_start 신호의 수신에 의해 기저 어드레스의 값의 변화가 활성화된다.
도 11은 본 발명의 특정 실시예에 따른 mux_demux 레지스터(906)의 아키텍쳐의 일례를 나타낸다.
mux_demux 레지스터(906)는 각 노드에 의해 송신되는 청크의 리스트를 제공한다. 레지스터는 각 노드에 관련된다. 네트워크의 노드들의 넘버링에 따라서 데이터들이 구성되는데, 제1 오프셋 어드레스에는 노드 0의 청크들에 대응하는 메모리 영역이 존재하고, 제n 오프셋 어드레스에는 노드 n의 청크에 대응하는 메모리 영역이 존재한다. 각각의 레지스터마다, 위치 I에서의 비트의 값은 청크 번호 I(즉, 가상 채널 1에 관련된 청크)가 이 노드에 의해 송신되는지 여부를 나타낸다. 값 0b는 노드에 의해 청크가 송신되지 않음을 나타내며, 값 1b는 노드에 의해 청크가 송신됨을 나타낸다.
도 12는 본 발명의 특정 실시예에 따라서 네트워크 사이클의 주기에서 TDM 버스 관리자(414)에 의해 수행되는 처리 알고리즘의 주요 단계들을 나타낸다.
리셋 단계 후에, TDM 버스 관리자(414)는 단계 1200에서 네트워크 사이클 시작시 대기 또는 중립(idle) 상태에 있다. 단계 1201에서, SF_cycle_start 신호로 표기된 네트워크 사이클의 시작시, 일반 노드(400)는 판독/기입 동작을 시작할 수 있다. 일반 노드(400)가 슬레이브 노드이면, 그것은 슬레이브 노드가 방금 마스터 노드와 동기되었음을 나타낸다.
단계 1202에서, 가상 채널 카운터 TDM_VC는 0으로 리셋된다. 단계 1203에서, TDM 버스 관리자(414)는 카운터 TDM_VC의 값에 의해 정의되는 오프셋 어드레스에서 TDM 맵 레지스터(415)의 레지스터들을 판독한다. 이로써, 현재의 가상 채널의 기능(판독 또는 기입)에 관한 정보 및 선택될 어플리케이션의 FIFO(SSRF(407), SSTF(408), SMRF(410), 또는 SMTF(411))에 대한 정보를 취득한다.
단계 1204에서, 현재의 가상 채널이 기입 할당된 가상 채널인지 여부를 판정하도록 조사한다. 현재의 가상 채널이 기입 할당된 가상 채널인 경우, 단계 1205에서, TDM 버스 관리자(414)는 판독되어야 할 (어플리케이션) 송신 FIFO(SSTF(408) 또는 SMTF(411))를 선택한다. 이 단계에서, 도 6을 참조하여 전술한 바와 같이, TDM 버스 관리자(414)는 FIFO_Enable[i] 신호를 활성화시키며, 여기서, i는 TDM 맵 레지스터(415)로부터 추출되는 값이다.
단계 1206에서, 선택된 FIFO에 대한 판독 동작을 수행하기 위한 커맨드를 포함하는 요청이 null 삽입기(418)에 송신된다. 그 후, 단계 1210에서, TDM_VC의 값이 1 단위만큼 증가된다.
현재의 가상 채널이 기입 가상 채널이 아닌 경우, 단계 1207에서, TDM 버스 관리자(414)는 현재의 가상 채널이 판독 가상 채널인지 여부를 조사한다(그렇지 않다면, 데이터 송신에 대하여 가상 채널이 할당되지 않음을 의미한다). 현재의 가상 채널이 판독 가상 채널인 경우, 단계 1208에서, TDM 버스 관리자(414)는 기입되어야 하는 (어플리케이션) 수신 FIFO(SSRF(407) 또는 SMRF(410))를 선택한다. 이 단계에서, 도 7을 참조하여 전술한 바와 같이, TDM 버스 관리자(414)는 FIFO_Enable[i] 신호를 활성화시키며, 여기서, i는 TDM 맵 레지스터(415)로부터 추출되는 값이다.
단계 1209에서, 선택된 FIFO에 기입 동작을 수행하기 위한 커맨드를 포함하는 요청이 null 분석기(416)에 송신된다. 다음, 단계 1210에서, TDM_VC의 값은 1 단위만큼 증가된다.
현재의 가상 채널이 판독 가상 채널이 아니며, 기입 가상 채널이 아닌 경우, 단계 1210이 단계 1207 이후에 바로 수행된다.
그 후, 단계 1211에서, TDM 버스 관리자(414)는 TDM 사이클의 모든 가상 채널들이 처리되었는지 여부를 조사한다. 그렇지 않다면, 단계 1203이 다시 수행된 다. 가상 채널들이 처리되었다면, 단계 1212에서, TDM 버스 관리자(414)는 새로운 TDM 사이클의 시작을 나타내는 TDM_cycle_start 신호의 도달을 대기한다. 단계 1213에서, TDM_cycle_start 신호의 도달시, TDM 버스 관리자(414)는 다시 단계 1202를 수행하여, 새로운 TDM 사이클을 처리한다.
도 13a 및 도 13b는 본 발명의 특정 실시예에 따른 null 삽입기(418)(도 13a) 및 null 분석기(416)(도 13b)에 의해 수행되는 처리 알고리즘의 주요 단계들을 나타낸다.
도 13a에 있어서, 리셋 단계 후에, 단계 1300에서, null 값 삽입기(418)는 TDM 버스 관리자(414)로부터 나오는 (어플리케이션) 송신 FIFO(SSTF(408) 또는 SMTF(411)) 판독 요청을 대기하는 중립 상태에 있다. 단계 1301에서, null 값 삽입기(418)는 (어플리케이션) 송신 FIFO(SSTF(408) 또는 SMTF(411))의 선택의 이러한 종류의 식별에 대한 요청을 수신한다. 그 후, 단계 1302에서, null 삽입기(418)는 선택된 FIFO가 비어 있는지 여부를 조사한다.
선택된 FIFO가, FIFO의 이용가능한 데이터 양이 가상 채널의 용량(48 비트) 보다 낮기 때문에 비어 있는 것으로 선언되면, null 삽입기(418)는 단계 1303에서 가상 채널에 대한 데이터 샘플의 헤더 비트에 값 0을 할당한다. 그 후, 단계 1304에서, 헤더에 0을 갖도록 하여 SyncTF_to_MAC FIFO(419)에 데이터 샘플을 기입하고, 이로써 "null" 심볼을 연쇄시킨다(이 경우는 48 비트가 값 0인 것과 같다). 그 후, 단계 1300이 다시 수행된다.
선택된 FIFO가 빈 것으로 선언되지 않으면, 단계 1305에서, null 삽입 기(418)는 선택된 FIFO 내의 48 비트 데이터 샘플을 판독한다. 그 후, 단계 1306에서, 가상 채널에 대한 데이터 샘플의 헤더 비트에 값 1을 할당한다. 그 후, 단계 1307에서, 헤더에 1을 갖도록 하여 SyncTF_to_MAC FIFO(419)에 데이터 샘플을 기입하고, 이로써 선택된 FIFO의 데이터를 연쇄시킨다. 그 후, 단계 1200이 다시 수행된다.
도 13b에 있어서, 리셋 단계 후에, 단계 1310에서, null 분석기(416)는 TDM 버스 관리자(414)로부터 (어플리케이션) 수신 FIFO(SSRF(407) 또는 SMRF(410))에 대한 기입을 위한 기입 요청을 대기하는 중립 상태에 있다. 단계 1311에서, null 분석기(416)는 (어플리케이션) 수신 FIFO(SSRF(407) 또는 SMRF(410))의 선택의 이러한 종류의 식별에 대한 요청을 수신한다. 그 후, 단계 1312에서, null 분석기(416)는 SyncRF_from_MAC FIFO(417)가 비어 있는지 여부를 조사한다.
FIFO에 이용가능한 샘플이 없으므로, SyncRF_from_MAC FIFO(417)가 비어 있는 것으로 선언되면, 단계 1310이 다시 수행된다.
SyncRF_from_MAC FIFO(417)이 비어 있는 것으로 선언되지 않으면, 단계 1313에서, null 분석기(416)는 SyncRF_from_MAC FIFO(417)의 49 비트 데이터 샘플을 판독한다. 그 후, 이로부터 가상 채널의 유효 비트에 대응하는 MSB를 추출한다. 단계 1314에서, null 분석기(416)는 헤더 비트의 값이 0인지 여부를 조사한다.
헤더 비트의 값이 0이면, 가상 채널은 일반 노드(400)의 원거리 노드(소스 노드)의 null 삽입기(418)에 의해 삽입되었던 null 심볼을 포함한다. 데이터는 그 후 제거되고, 단계 1310이 다시 수행된다.
헤더 비트의 값이 1이면, 가상 채널의 콘텐츠(48 비트)가 TDM 버스 관리자(414)에 의해 선택되는 FIFO에 기입되고, 그 후, 단계 1310이 다시 수행된다.
도 14는 본 발명의 특정 실시예에 따른 MAC 어댑터(428)의 송신 청크 관리자 모듈(901)에 의해 수행되는 처리 알고리즘의 주요 단계를 나타낸다.
리셋 단계 이후에, 단계 1400에서, 송신 청크 관리자 모듈(901)은 (SF_cycle_start 신호로 나타낸) 네트워크 사이클의 시작을 대기하는 중립 상태에 있다. 단계 1401에서, 현재 네트워크 사이클의 시작을 나타내는 SF_cycle_start 신호가 수신된다.
그 후, 단계 1402에서, 카운터 TDM_cycle이 0으로 리셋되고, 네트워크 사이클의 제1 TDM 사이클(TDM_cycle = 0)로 시작하여 송신 청크 관리자 모듈(901)에 의해 가상 채널의 판독/기입 동작이 그 후 수행될 것이다.
단계 1403a에서, 송신 청크 관리자 모듈(901)은 변수 VCnum을 값 -1로 리셋시킨다. 그 후, 단계 1403b에서, 송신 청크 관리자 모듈(901)은 TDM 맵 레지스터에 포함된 정보를 이용하여 탐색을 수행함으로써, 기입 모드에서 할당되는 다음의 가상 채널 또는 기입 할당된 가상 채널을 판정할 것이다. 변수 VCnum에 포함된 값으로부터 시작하여 가상 채널 번호의 오름차순으로 탐색이 이루어진다. 발견된 기입 할당된 가상 채널을 식별하는 번호는 그 후 변수 VCnum에 저장된다.
단계 1404에서, 송신 청크 관리자 모듈(901)은 기입 할당된 채널이 발견되었는지 여부, 즉, 변수 VCnum이 -1인지 여부를 조사한다. 변수 VCnum이 -1이 아니라면, 단계 1406a에서, 송신 청크 관리자 모듈(901)은 SyncTF_to_MAC FIFO(419)에 포 함된 데이터의 양을 판독하며, 판독된 데이터 양은 TDM 버스의 가상 채널의 크기와 같다. 이 데이터들은 이전 단계에서 발견된 가상 채널의 TDM 버스 상에서 송신되는 데이터들에 대응한다. VCnum에 의해 식별되는 가상 채널에 관련된 청크의 생성을 보장하기 위하여, 송신 청크 관리자 모듈(901)은 그 후 이 데이터를 이하의 합산에 의해 정의되는 오프셋 어드레스의 메모리(900)에 기입한다:
(VCnum*ChunkSize) + ChunkHeaderSize + (TDM_cycle*VcSize)
여기서, ChunkSize는 데이터 청크의 크기이고, ChunkHeaderSize는 데이터 청크 헤더의 크기이며, VcSize는 가상 채널의 크기이다.
그 후, 송신 청크 관리자 모듈(901)은 이하의 승산으로 정의되는 어드레스의 메모리(900)에 관련 청크의 헤더를 기입 또는 갱신한다: 즉, VCnum*ChunkSize. 본 발명의 구현의 특정 모드에서, 청크의 페이로드 데이터 부분에 저장되는 데이터들은 청크에 관련된 가상 채널에서 송신되는 데이터들(TDM 사이클당 48 비트)이며, 청크의 헤더는 TDM 사이클마다 이 가상 채널에 대한 null 삽입기(418)에 의해 추가되는 헤더를 포함한다.
그 후, 단계 1406b에서, 송신 청크 관리자 모듈(901)은 TDM 맵 레지스터(415)에 포함된 정보를 이용하여 단계 1403b에서 수행된 것과 같은 방식으로 기입 모드에서 할당되는 차기 가상 채널을 판정하고자 할 것이다. 그 후, 단계 1404가 다시 구현된다.
단계 1404에서, VCnum이 -1이면, 그것은 TDM 사이클의 모든 기입 할당된 가상 채널들이 처리되었음을 의미하며, 단계 1405에서 가상 채널 카운터 TDM_cycle이 1 단위 증가된다. 그 후, 단계 1407에서, 송신 청크 관리자 모듈(901)은 현재의 TDM 사이클이 현재의 네트워크 사이클의 마지막 TDM 사이클인지 여부를 조사한다.
현재의 TDM 사이클이 현재의 네트워크 사이클의 마지막 TDM 사이클이 아닌 경우, 단계 1408에서, 송신 청크 관리자 모듈(901)은 (TDM_cycle_start 신호(또는 이벤트)의 도달로 나타낸) 차기 TDM 사이클의 시작을 대기한다. 그 후, 단계 1409에서, 이러한 차기 TDM 사이클에 대하여 단계 1403이 다시 수행되기에 전에, TDM_cycle_start 신호가 수신된다.
현재의 TDM 사이클이 현재의 네트워크 사이클의 마지막 TDM 사이클인 경우, 단계 1410에서, 송신 청크 관리 모듈(901)은 (SF_cycle_start 신호의 도달로 나타낸) 차기 네트워크 사이클의 시작을 대기한다. 그 후, 단계 1411에서, SF_cycle_start 신호가 수신된다. 그 후, 송신 청크 관리자 모듈(901)은 이러한 차기 네트워크 사이클에 대하여 단계 1402가 다시 수행되기 전에, 메쉬 네트워크(101) 상에서 송신될 청크들의 이용가능성을 알리기 위하여 Tx_To_MAC 모듈(902)에 송신할 ReadyForTx 메시지(916)를 생성한다.
도 15는 본 발명의 특정 실시예에 따라서 MAC 어댑터(428)의 MAC 계층에 대한 송신의 Tx_To_MAC 모듈(902)에 의해 구현되는 처리 알고리즘의 주요 단계들을 나타낸다.
리셋 단계 후에, 단계 1500에서, MAC 계층으로의 송신을 위한 Tx_To_MAC 모듈(902)은, 송신될 프레임에 삽입될 청크의 생성의 완료를 통지하는 송신 청크 관리자 모듈(901)로부터 나오는 ReadyForTx 신호(916)를 대기하는 중립 상태에 있다. 단계 1501에서, Tx_To_MAC 모듈(902)은 ReadyForTx 신호(916)를 수신한다.
그 후, 단계 1502에서, Tx_To_MAC 모듈(902)은 현재의 네트워크 사이클 동안 네트워크 상의 송신을 위하여 (그것이 속하는) 일반 노드(400)에 부여되는 스피치 시간의 시작(Tx_cycle_event 신호(451)의 수신으로 나타냄)을 대기한다.
Tx_cycle_event 신호(또는 이벤트)의 수신 시(단계 1503), Tx_To_MAC 모듈(902)은 MAC 프레임의 형태로 인코딩 모듈(424)에 데이터 청크들을 송신할 수 있다. 그 후, 단계 1504에서, Tx_To_MAC 모듈(902)은 단계 1403b를 참조하여 전술한 바와 같이 차기 기입 가상 채널의 번호를 취득한다.
그 결과는 송신될 차기 청크의 번호에 대응한다(네트워크 사이클에서 처음 단계 1504가 구현되는 경우 제1이 됨). 또한, 메모리(900)로의 액세스를 위한 기저 어드레스의 선택을 가능하게 하는 TxToMacBaseAddrRegister 레지스터가 refBaseAddr 링크(915)를 통해 취득되는 정보에 기초하여 갱신된다.
단계 1505에서, Tx_To_MAC 모듈(902)은 이 네트워크 사이클에서 또 다른 청크가 처리되어야 하는지 여부를 조사한다. 만약 그렇다면, 단계 1500이 다시 구현된다. 만약 그렇지 않다면, 단계 1506에서, Tx_To_MAC 모듈(902)은 승산 VCnum*ChunkSize에 의해 정의되는 메모리 어드레스에서 시작하여 메모리(900)의 청크(청크의 헤더 및 청크의 가상 채널들)를 판독하며, 여기서, ChunkSize는 데이터 청크의 크기이고, VCnum은 관련되는 가상 채널을 식별하는 번호이다. 그 후, 청크를 MAC 프레임의 형태로 인코딩 모듈(424)에 기입한다.
그 후, Tx_To_MAC 모듈(902)은 단계 1505를 다시 수행하기 전에 차기의 기입 할당된 가상 채널의 번호를 요청한다.
도 16은 본 발명의 특정 실시예에 따라서 MAC 어댑터(428)의 MAC으로부터 수신을 위해 Rx_From_MAC 모듈(903)에 의해 구현되는 처리 알고리즘의 주요 단계들을 나타낸다.
리셋 단계 후에, 단계 1600에서, Rx_From_MAC 모듈(903)은 (SF_cycle_start 메시지에 의해 나타낸) 수퍼 프레임의 시작을 대기하는 중립 상태에 있다. 단계 1601에서, 네트워크 사이클의 시작을 나타내는 SF_cycle_start 신호가 수신된다.
그 후, 단계 1602에서, Rx_From_MAC 모듈(903)은 네트워크 상의 (그것이 속하는) 생성자 노드(400)에 의한 MAC 프레임의 수신을 나타내는 (frame_Rx_event 신호의 수신에 의해 나타낸) 시작을 대기한다.
MAC 프레임 디코더(423)로부터 나오는 frame_Rx_event 신호에 있어서(단계 1603), Rx_From_MAC 모듈(903)은 MAC 프레임 디코더(423)로부터 나오는 수신된 데이터 청크를 취득할 수 있다.
그 후, 단계 1604에서, Rx_From_MAC 모듈(903)은 변수 ChunkNum을 값 -1로 리셋시킨다. Rx_From_MAC 모듈(903)은 Mux_demux 레지스터(906)에 포함된 정보를 이용하여, 링크(454)에 의해 취득된 frame_Rx_Node_id 정보에 의해 식별되는 노드에 의해 송신되었던 수신 프레임에 존재하는 차기 청크를 판정하고자 한다. 탐색은 변수 ChunkNum에 포함된 값으로부터 시작하여, 청크(또는 가상 채널 번호)의 오름차순으로 이루어진다. 발견된 청크를 식별하는 번호(즉, 판독 할당된 TDM 버스의 가상 채널에 대응)는 그 후 변수 ChunkNum에 저장된다.
또한, 메모리(900)로의 액세스를 위한 기저 어드레스의 선택을 가능하게 하는 RxFromMacBaseAddrRegister 레지스터가 refBaseAddr 링크(915)를 통해 취득된 정보에 기초하여 갱신된다.
단계 1605에서, Rx_From_MAC 모듈(903)은 파라미터 ChunkNum의 새로운 값이 -1인지 여부를 조사한다. 만약 그렇다면, 그것은 식별된 노드에 의해 송신되는 청크의 세트가 Rx_From_MAC 모듈(903)에 의해 처리되었음을 의미하며, 단계 1602가 다시 수행된다. 만약 그렇지 않다면, 단계 1606에서, Rx_From_MAC 모듈(903)은 MAC 프레임 디코더(423) 상의 청크(청크의 헤더 및 청크의 가상 채널들)를 판독한 후, 다음과 같은 승산, 즉, ChunkNum*ChunkSize(여기서, ChunkSize는 데이터 청크의 크기임)으로 정의되는 오프셋 메모리 어드레스에서 시작하여 메모리(900)에 기입한다.
그 후, Rx_From_MAC 모듈(903)은 단계 1605를 다시 수행하기 전에 수신 프레임을 송신하였던 노드로부터 취득될 차기 청크의 번호를 탐색한다.
도 17은 본 발명의 특정 실시예에 따라서 MAC 어댑터(428)의 TDM 버스에 대한 수신을 위해 Rx_To_TDM 수신 모듈(904)에 의해 수행되는 처리 알고리즘의 주요 단계들을 나타낸다.
리셋 단계 후에, 단계 1700에서, Rx_To_TDM 모듈(904)은 (SF_cycle_start 메시지에 의해 나타낸) 네트워크 사이클의 시작을 대기하는 중립 상태에 있다. 단계 1701에서, 네트워크 사이클의 시작을 나타내는 SF_cycle_start 신호가 수신된다.
그 후, 단계 1702에서, Rx_To_TDM 모듈(904)은 TDM_cycle 카운터를 0으로 리 셋시키고, 가상 채널들에 관련된 데이터의 판독과 기입을 위한 동작을 수행하기 시작한다. 제1 동작은 refBaseAddr 링크(915)를 통해 취득되는 정보에 기초하여 RxtoTdmBaseAddrRegister 레지스터에서 메모리(900)에 대한 액세스를 위한 기저 어드레스를 갱신하는 것을 포함한다. 그 후, 단계 1703에서, 변수 VCnum이 -1로 리셋된다.
단계 1704에서, Rx_To_TDM 모듈(904)은 TDM 맵 레지스터 TDM_MAP에 포함된 정보를 이용하여 차기 판독 할당된 가상 채널을 판정하고자 한다. 탐색은 변수 VCnum에 포함된 값으로부터 시작하여 가상 채널 번호의 오름차순으로 이루어진다. 발견된 판독 할당된 가상 채널을 식별하는 번호는 그 후 변수 VCnum에 저장된다.
단계 1705에서, Rx_To_TDM 모듈(904)은 판독 할당된 채널이 형성되었는지 여부, 즉, 변수 VCnum이 -1 인지 여부를 조사한다. VCnum이 -1이면, 그것은 TDM 사이클의 모든 가상 채널들이 처리되었음을 의미하며, TDM 사이클 카운터 TDM_cycle이 단계 1706에서 1 단위만큼 증가된다. 그 후, 단계 1707에서, Rx_To_TDM 모듈(904)은 현재의 TDM 사이클이 현재의 네트워크 사이클의 마지막 TDM 사이클인지 여부를 검증한다.
현재의 TDM 사이클이 현재의 네트워크 사이클의 마지막 TDM 사이클이 아닌 경우, 단계 1708에서, Rx_To_TDM 모듈(904)은 (TDM_cycle_start 신호의 도달로 나타낸) 차기 TDM 사이클의 시작을 대기한다. 그 후, 단계 1709에서, 이 차기 TDM 사이클에 대하여 단계 1703이 다시 수행되기 전에 TDM_cycle_start 신호가 수신된다.
현재의 TDM 사이클이 현재의 네트워크 사이클의 마지막 TDM 사이클인 경우, 단계 1700이 다시 수행된다.
단계 1705에서, VCnum이 -1이 아닌 경우, 단계 1713에서, Rx_To_TDM 모듈(904)은 이하의 합산에 의해 정의되는 어드레스의 메모리(900)에 판독 할당되는 이러한 가상 채널의 데이터의 일부를 판독한다:
(VCnum*ChunkSize) + ChunkHeaderSize + (TDM_cycle*VcSize)
여기서, ChunkSize는 데이터 청크의 크기이고, ChunkHeaderSize는 헤더를 포함하는 데이터의 크기이며, VcSize는 가상 채널의 크기이다.
그 후, Rx_To_TDM 모듈(904)은 다음과 같은 승산, 즉, VCnum*ChunkSize으로 정의되는 어드레스의 메모리(900)에서 가상 채널의 헤더를 판독한 후, 가상 채널의 헤더와 가상 채널의 데이터의 연쇄를 SyncRF_from_MAC FIFO(417)에 기입한다. 그 후, 단계 1704가 다시 수행되어, 처리될 차기 판독 할당되는 가상 채널의 번호를 취득한다.
본 발명의 다른 특징 및 장점들은 제한적이지 않은 표시를 통해서 주어지는 본 발명의 바람직한 실시예의 이하의 설명으로부터, 및 첨부 도면들로부터 명확하게 될 것이다:
도 1은 본 발명의 특정 실시예에 따른 송수신 방법을 구현할 수 있는 통신 네트워크의 도면이다;
도 2a 및 도 2b는 본 발명의 특정 실시예에 따른 도 1의 네트워크의 WSC 노드 및 WAS 노드에서 오디오 데이터 샘플의 시간 상의 진행을 나타낸 그래프의 예이다.
도 3은 본 발명의 특정 실시예에 따른 도 1의 메쉬형 무선 네트워크의 송신 사이클의 도면이다.
도 4는 본 발명의 특정 실시예에 따른 메쉬형 무선 네트워크의 일반 노드의 도면이다.
도 5는 본 발명의 특정 실시예에 따른 일반 노드의 TDM 버스 관리자에 의한 TDM_cycle_start 및 SF_cycle_start 신호(또는 이벤트)의 생성을 나타낸다.
도 6은 본 발명의 특정 실시예에 따른 일반 노드에서 TDM 버스 관리자, "null" 값의 삽입을 위한 장치, SSTF FIFO의 세트, SMTF FIFO의 세트, 및 SyncTF_to_MAC FIFO 사이의 교환을 나타낸다.
도 7은 본 발명의 특정 실시예에 따른 일반 노드에서 TDM 버스 관리자, "null" 값의 삽입을 위한 장치, SSTF FIFO의 세트, SMTF FIFO의 세트, 및 SyncTF_from_MAC FIFO 사이의 교환을 나타낸다.
도 8은 본 발명의 특정 실시예에 따른 TDM 분배 레지스터(TDM_MAP 레지스터)의 아키텍쳐의 일례를 나타낸다.
도 9는 본 발명의 특정 실시예에 따른 MAC 어댑터(428)의 아키텍쳐의 일례를 나타낸다.
도 10은 본 발명의 특정 실시예에 따른 메모리(900)의 아키텍쳐의 일례를 나타낸다.
도 11은 본 발명의 특정 실시예에 따른 청크의 다중화/역다중화 "mux_demux" 레지스터의 아키텍쳐의 일례를 나타낸다.
도 12는 본 발명의 특정 실시예에 따른 사이클 네트워크의 주기에서 TDM 버스 관리자에 의해 수행되는 처리 알고리즘의 주요 단계들을 나타낸다.
도 13a 및 도 13b는 본 발명의 특정 실시예에 따른 "null" 값의 삽입을 장치(도 13a) 및 "null"값의 분석을 위한 장치(도 13b)에 의해 수행되는 처리 알고리즘의 주요 단계들을 나타낸다.
도 14는 본 발명의 특정 실시예에 따른 MAC 어댑터의 송신에서 청크의 관리 를 위한 모듈에 의해 수행되는 처리 알고리즘의 주요 단계들을 나타낸다.
도 15는 본 발명의 특정 실시예에 따른 MAC 어댑터의 MAC 계층에 대한 송신을 위한 모듈에 의해 수행되는 처리 알고리즘의 주요 단계들을 나타낸다.
도 16은 본 발명의 특정 실시예에 따른 MAC 어댑터의 MAC 계층으로부터의 수신을 위한 모듈에 의해 수행되는 처리 알고리즘의 주요 단계들을 나타낸다.
도 17은 본 발명의 특정 실시예에 따른 MAC 어댑터의 TDM 버스에 대한 수신을 위한 모듈에 의해 수행되는 처리 알고리즘의 주요 단계들을 나타낸다.
<도면의 주요 부분에 대한 부호의 설명>
101: 무선 메쉬형 네트워크
110: WSC 노드
111: WAS 노드
201: 제1 TDM 버스
221: 제2 TDM 버스

Claims (22)

  1. 복수의 노드 장치를 포함하는 통신 네트워크에서, 각각 소비자 어플리케이션에 관련되는 적어도 하나의 목적지 노드 장치에, 생성자 어플리케이션에 관련되는 소스 노드 장치에 의해 적어도 하나의 데이터 콘텐츠를 송신하는 송신 방법으로서,
    상기 네트워크는 상기 네트워크 상의 데이터 송신을 위하여, 네트워크 사이클이라고 하는 제1 사이클을 정의하는 제1 클록킹을 구현하고,
    상기 소스 노드 장치는 각각의 상기 소스 노드 장치 및 목적지 노드 장치와 그것의 관련 어플리케이션 사이의 데이터 송신을 위해, 로컬 사이클이라고 하는 제2 사이클을 정의하는 제2 클록킹을 구현하며,
    상기 네트워크 사이클은 상기 로컬 사이클의 정수배 P(P≥1)와 동일하고,
    상기 네트워크 사이클의 시작은 상기 로컬 사이클의 시작과 일치하며,
    상기 로컬 사이클은 시간 슬롯들에 대응하는 복수의 가상 채널들을 포함하고,
    상기 가상 채널들의 세트는 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되며,
    상기 소스 노드 장치는,
    - 적어도 하나의 연쇄된 데이터 블록을 형성하기 위해, P개의 연속적인 로컬 사이클에서 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되는 상기 가상 채널들에 대응하는 상기 시간 슬롯들 동안 상기 소스 노드 장치에 관련되는 상기 생성자 어플리케이션으로부터 취득되는 데이터를 연쇄시키는 단계; 및
    - 미리 결정된 후속하는 네트워크 사이클 동안에 상기 소스 노드 장치에 할당된 스피치 시간 동안 상기 연쇄된 데이터 블록 또는 블록들을 상기 통신 네트워크 상에서 송신하는 단계를 수행하는 데이터 콘텐츠 송신 방법.
  2. 제1항에 있어서,
    상기 연쇄시키는 단계는 네트워크 사이클과 일치하는 P개의 연속적인 로컬 사이클에서 수행되는 데이터 콘텐츠 송신 방법.
  3. 제1항에 있어서,
    상기 연쇄시키는 단계는, 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되는, 빈 가상 채널 또는 가상 채널들이라고 하는 적어도 하나의 상기 가상 채널에 대응하는 시간 슬롯 또는 시간 슬롯들 동안, 상기 소스 노드 장치에 관련되는 상기 생성자 어플리케이션으로부터 어떠한 데이터도 취득되지 않는 경우, 패딩 정보라고 하는 적어도 하나의 정보를 삽입하는 단계를 포함하는 데이터 콘텐츠 송신 방법.
  4. 제3항에 있어서,
    상기 패딩 정보의 일부는, 상기 빈 가상 채널 또는 가상 채널들에 대응하는 상기 시간 슬롯 또는 시간 슬롯들 동안 상기 소스 노드 장치가 취득할 수 있는 데이터의 양과 동일한 크기이며,
    상기 패딩 정보의 상기 일부는, 상기 빈 가상 채널 또는 가상 채널들 동안 상기 생성자 어플리케이션으로부터 수신된 것처럼 상기 데이터 블록들 중 하나에 삽입되는 데이터 콘텐츠 송신 방법.
  5. 제1항에 있어서,
    상기 연쇄시키는 단계는, 상기 P개의 연속적인 로컬 사이클 동안 상기 생성자 어플리케이션으로부터 취득되는 데이터에 대하여 청크(chunk)를 형성하도록 가상 채널에 의해 그룹핑(grouping)을 수행하는 데이터 인터리빙 단계를 포함하는 데이터 콘텐츠 송신 방법.
  6. 복수의 노드 장치를 포함하는 통신 네트워크에서, 각각 생성자 어플리케이션에 관련되는 적어도 하나의 소스 노드 장치로부터 나오는 적어도 하나의 데이터 콘텐츠를, 소비자 어플리케이션에 관련되는 목적지 노드 장치에 의해 수신하는 수신 방법으로서,
    상기 네트워크는 상기 네트워크 상의 데이터 송신을 위하여, 네트워크 사이클이라고 하는 제1 사이클을 정의하는 제1 클록킹을 구현하고,
    상기 목적지 노드 장치는 각각의 상기 소스 노드 장치 및 목적지 노드 장치와 그것의 관련 어플리케이션 사이의 데이터 송신을 위하여, 로컬 사이클이라고 하는 제2 사이클을 정의하는 제2 클록킹을 구현하며,
    상기 네트워크 사이클은 상기 로컬 사이클의 정수배 P(P≥1)와 동일하고,
    상기 네트워크 사이클의 시작은 상기 로컬 사이클의 시작과 일치하며,
    상기 로컬 사이클은 시간 슬롯들에 대응하는 복수의 가상 채널들을 포함하고,
    상기 가상 채널들의 세트는 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되며,
    상기 목적지 노드 장치는,
    - 상기 소스 노드 장치들 중 적어도 하나에 할당되는 스피치 시간 동안 연쇄된 데이터의 적어도 하나의 블록을 상기 통신 네트워크로부터 수신하는 단계;
    - 상기 수신된 연쇄된 데이터의 블록 또는 블록들로부터, 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되는 상기 가상 채널들 중, 가상 판독 채널이라고 하는 가상 채널에 관련되는 데이터를 추출하는 단계; 및
    - 미리 결정된 후속하는 네트워크 사이클로부터, P개의 연속적인 로컬 사이클의 지속기간 동안에 상기 가상 판독 채널에 대응하는 시간 슬롯 동안 상기 목적지 노드 장치에 관련되는 소비자 어플리케이션에 상기 추출된 데이터를 공급하는 단계를 수행하는 데이터 콘텐츠 수신 방법.
  7. 제6항에 있어서,
    각각의 목적지 노드 장치는, 상기 데이터 블록에서, 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되는 적어도 하나의 가상 채널에 관련되는 패딩 정보라고 하는 적어도 하나의 정보의 존재를 검출하는 단계를 구현하며, 상기 패딩 정보 또는 패딩 정보들은 상기 공급 단계에서 상기 소비자 어플리케이션에 제공되지 않는 데이터 콘텐츠 수신 방법.
  8. 제7항에 있어서,
    상기 패딩 정보 또는 패딩 정보들의 일부는, 상기 목적지 노드 장치가 상기 패딩 정보 또는 패딩 정보들이 관련되는 상기 가상 채널 또는 가상 채널들에 대응하는 상기 시간 슬롯 또는 시간 슬롯들 동안 제공할 수 있는 데이터의 양과 같은 크기인 데이터 콘텐츠 수신 방법.
  9. 제7항에 있어서,
    상기 목적지 노드 장치는 상기 패딩 정보 또는 패딩 정보들이 관련되는 상기 가상 채널 또는 가상 채널들에 대응하는 상기 시간 슬롯들 동안 상기 패딩 정보 또는 패딩 정보들을 삭제하는 데이터 콘텐츠 수신 방법.
  10. 제6항에 있어서,
    상기 추출 단계는, 상기 소스 노드 장치들 중 하나에 관련되는 생성자 어플리케이션으로부터 취득되는 데이터에 대하여, 가상 채널에 의해, 청크라고 하는 그룹핑을 식별하며, 상기 목적지 노드 장치의 소비자 어플리케이션에 공급하기 위한 로컬 사이클에 의해 데이터를 재정렬(re-order)하는, 데이터 디인터리빙(de-interleaving) 단계를 포함하는 데이터 콘텐츠 수신 방법.
  11. 생성자 어플리케이션에 관련되는 소스 노드 장치로서,
    상기 소스 노드 장치는 복수의 노드 장치를 포함하는 통신 네트워크에서, 적어도 하나의 목적지 노드 장치에 적어도 하나의 데이터 콘텐츠를 송신하는 수단을 포함하고, 상기 목적지 노드 장치 또는 각각의 목적지 노드 장치는 소비자 어플리케이션에 관련되며,
    상기 네트워크는 상기 네트워크 상의 데이터 송신을 위하여, 네트워크 사이클이라고 하는 제1 사이클을 정의하는 제1 클록킹을 구현하며,
    상기 소스 노드 장치는 각각의 상기 소스 노드 장치 및 목적지 노드 장치와 그것의 관련 어플리케이션 사이의 데이터 송신을 위해, 로컬 사이클이라고 하는 제2 사이클을 정의하는 제2 클록킹을 구현하고,
    상기 네트워크 사이클은 상기 로컬 사이클의 정수배 P(P≥1)와 동일하고,
    상기 네트워크 사이클의 시작은 상기 로컬 사이클의 시작과 일치하고,
    상기 로컬 사이클은 시간 슬롯들에 대응하는 복수의 가상 채널들을 포함하며,
    상기 가상 채널들의 세트는 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되고,
    상기 송신 수단은,
    - 적어도 하나의 연쇄된 데이터 블록을 형성하기 위해, P개의 연속적인 로컬 사이클에서 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되는 상기 가상 채널들에 대응하는 상기 시간 슬롯들 동안 상기 소스 노드 장치에 관련되는 상기 생성자 어플리케이션으로부터 취득되는 데이터를 연쇄시키는 수단; 및
    - 미리 결정된 후속하는 네트워크 사이클 동안에 상기 소스 노드 장치에 할당된 스피치 시간 동안 상기 연쇄된 데이터 블록 또는 블록들을 통신 네트워크 상에서 송신하는 수단
    를 포함하는 소스 노드 장치.
  12. 제11항에 있어서,
    상기 연쇄시키는 수단은 상기 네트워크 사이클과 일치하는 P개의 연속적인 사이클에서 활성화되는 소스 노드 장치.
  13. 제11항에 있어서,
    상기 연쇄시키는 수단은, 상기 콘텐츠 또는 콘텐츠들의 송신에 할당된, 빈 가상 채널 또는 가상 채널들이라고 하는 적어도 하나의 상기 가상 채널에 대응하는 시간 슬롯 또는 시간 슬롯들 동안, 상기 소스 노드 장치에 관련되는 상기 생성자 어플리케이션으로부터 어떠한 데이터도 취득되지 않는 경우, 패딩 정보라고 하는 적어도 하나의 정보를 삽입하는 수단을 포함하는 소스 노드 장치.
  14. 제13항에 있어서,
    상기 패딩 정보의 일부는, 상기 빈 가상 채널 또는 가상 채널들에 대응하는 상기 시간 슬롯 또는 시간 슬롯들 동안 상기 소스 노드 장치가 취득할 수 있는 데이터의 양과 동일한 크기이며,
    상기 소스 노드 장치는, 상기 패딩 정보의 상기 일부를, 상기 빈 가상 채널 또는 가상 채널들 동안 상기 생성자 어플리케이션으로부터 수신된 것처럼 상기 데이터 블록들 중 하나에 삽입하는 수단을 포함하는 소스 노드 장치.
  15. 제11항에 있어서,
    상기 연쇄시키는 수단은, 상기 P개의 연속적인 로컬 사이클 동안 상기 생성자 어플리케이션으로부터 취득되는 데이터에 대하여 청크를 형성하도록 가상 채널에 의해 그룹핑을 수행하는 데이터 인터리빙 수단을 포함하는 소스 노드 장치.
  16. 소비자 어플리케이션에 관련되는 목적지 노드 장치로서,
    상기 목적지 노드 장치는, 복수의 노드 장치를 포함하는 통신 네트워크에서, 각각 생성자 어플리케이션에 관련되는 적어도 하나의 소스 노드 장치로부터 나오는 적어도 하나의 데이터 콘텐츠를 수신하는 수신 수단을 포함하고,
    상기 네트워크는 상기 네트워크 상의 데이터 송신을 위하여, 네트워크 사이클이라고 하는 제1 사이클을 정의하는 제1 클록킹을 구현하며,
    상기 목적지 노드 장치는 각각의 상기 소스 노드 장치 및 목적지 노드 장치와 그것의 관련 어플리케이션 사이의 데이터 송신을 위하여, 로컬 사이클이라고 하는 제2 사이클을 정의하는 제2 클록킹을 구현하고,
    상기 네트워크 사이클은 상기 로컬 사이클의 정수배 P(P≥1)와 동일하며,
    상기 네트워크 사이클의 시작은 상기 로컬 사이클의 시작과 일치하고,
    상기 로컬 사이클은 시간 슬롯들에 대응하는 복수의 가상 채널들을 포함하며,
    상기 가상 채널들의 세트는 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되고,
    상기 수신 수단은,
    - 상기 소스 노드 장치들 중 적어도 하나에 할당되는 스피치 시간 동안 연쇄된 데이터의 적어도 하나의 블록을 상기 통신 네트워크로부터 수신하는 수단;
    - 상기 수신된 연쇄된 데이터의 블록 또는 블록들로부터, 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되는 상기 가상 채널들 중, 가상 판독 채널이라고 하는 가상 채널에 관련되는 데이터를 추출하는 수단; 및
    - 미리 결정된 후속하는 네트워크 사이클로부터, P개의 연속적인 로컬 사이클의 지속기간 동안에 상기 가상 판독 채널에 대응하는 시간 슬롯 동안 상기 목적지 노드 장치에 관련되는 소비자 어플리케이션에 상기 추출된 데이터를 공급하는 수단
    을 포함하는 목적지 노드 장치.
  17. 제16항에 있어서,
    상기 데이터 블록에서, 상기 콘텐츠 또는 콘텐츠들의 송신에 할당된 적어도 하나의 가상 채널에 관련되는 패딩 정보라고 하는 적어도 하나의 정보의 존재를 검출하는 수단을 포함하며, 상기 패딩 정보 또는 패딩 정보들은 상기 공급 수단에 의해 상기 소비자 어플리케이션에 제공되지 않는 목적지 노드 장치.
  18. 제17항에 있어서,
    상기 패딩 정보 또는 패딩 정보들의 일부는, 상기 목적지 노드 장치가 상기 패딩 정보 또는 패딩 정보들이 관련되는 상기 가상 채널 또는 가상 채널들에 대응하는 상기 시간 슬롯 또는 시간 슬롯들 동안 제공할 수 있는 데이터의 양과 같은 크기인 목적지 노드 장치.
  19. 제17항에 있어서,
    상기 목적지 노드 장치는 상기 패딩 정보 또는 패딩 정보들이 관련되는 상기 가상 채널 또는 가상 채널들에 대응하는 상기 시간 슬롯들 동안 상기 패딩 정보 또는 패딩 정보들을 삭제하는 수단을 포함하는 목적지 노드 장치.
  20. 제16항에 있어서,
    상기 추출 수단은, 데이터 디인터리빙 수단을 포함하며, 상기 디인터리빙 수단은, 상기 소스 노드 장치들 중 하나에 관련되는 생성자 어플리케이션으로부터 취득되는 데이터에 대하여, 가상 채널에 의해, 청크(chunks)라고 하는 그룹핑을 식별하는 수단, 및 상기 목적지 노드 장치의 소비자 어플리케이션에 공급하기 위한 로컬 사이클에 의해 데이터를 재정렬할 수 있도록 하는 수단을 포함하는 목적지 노드 장치.
  21. 복수의 노드 장치를 포함하는 통신 네트워크에서, 각각 소비자 어플리케이션에 관련되는 적어도 하나의 목적지 노드 장치에, 생성자 어플리케이션에 관련되는 소스 노드 장치에 의해 적어도 하나의 데이터 콘텐츠를 송신하는 송신 방법을 구현하기 위해, 컴퓨터에서 실행될 수 있는 명령어들의 세트를 포함하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 기억 매체로서,
    상기 네트워크는 상기 네트워크 상의 데이터 송신을 위하여, 네트워크 사이클이라고 하는 제1 사이클을 정의하는 제1 클록킹을 구현하며,
    상기 소스 노드 장치는 각각의 상기 소스 노드 장치 및 목적지 노드 장치와 그것의 관련 어플리케이션 사이의 데이터 송신을 위해, 로컬 사이클이라고 하는 제2 사이클을 정의하는 제2 클록킹을 구현하고,
    상기 네트워크 사이클은 상기 로컬 사이클의 정수배 P(P≥1)와 동일하고,
    상기 네트워크 사이클의 시작은 상기 로컬 사이클의 시작과 일치하고,
    상기 로컬 사이클은 시간 슬롯들에 대응하는 복수의 가상 채널들을 포함하며,
    상기 가상 채널들의 세트는 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되고,
    상기 소스 노드 장치는,
    - 적어도 하나의 연쇄된 데이터 블록을 형성하기 위해, P개의 연속적인 로컬 사이클에서 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되는 상기 가상 채널들에 대응하는 상기 시간 슬롯들 동안 상기 소스 노드 장치에 관련되는 상기 생성자 어플리케이션으로부터 취득되는 데이터를 연쇄시키는 단계; 및
    - 미리 결정된 후속하는 네트워크 사이클 동안에 상기 소스 노드 장치에 할당된 스피치 시간 동안 상기 연쇄된 데이터 블록 또는 블록들을 상기 통신 네트워크 상에서 송신하는 단계
    를 수행하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 기억 매체.
  22. 복수의 노드 장치를 포함하는 통신 네트워크에서, 각각 생성자 어플리케이션에 관련되는 적어도 하나의 소스 노드 장치로부터 나오는 적어도 하나의 데이터 콘텐츠를, 소비자 어플리케이션에 관련되는 목적지 노드 장치에 의해 수신하는 수신 방법을 구현하기 위해, 컴퓨터에서 실행될 수 있는 명령어들의 세트를 포함하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 기억 매체로서,
    상기 네트워크는 상기 네트워크 상의 데이터 송신을 위하여, 네트워크 사이클이라고 하는 제1 사이클을 정의하는 제1 클록킹을 구현하며,
    상기 목적지 노드 장치는 각각의 상기 소스 노드 장치 및 목적지 노드 장치와 그것의 관련 어플리케이션 사이의 데이터 송신을 위하여, 로컬 사이클이라고 하는 제2 사이클을 정의하는 제2 클록킹을 구현하고,
    상기 네트워크 사이클은 상기 로컬 사이클의 정수배 P(P≥1)와 동일하며,
    상기 네트워크 사이클의 시작은 상기 로컬 사이클의 시작과 일치하고,
    상기 로컬 사이클은 시간 슬롯들에 대응하는 복수의 가상 채널들을 포함하며,
    상기 가상 채널들의 세트는 상기 콘텐츠 또는 콘텐츠들의 송신에 할당되고,
    상기 목적지 노드 장치는,
    - 상기 소스 노드 장치들 중 적어도 하나에 할당된 스피치 시간 동안 적어도 하나의 연쇄된 데이터의 블록을 상기 통신 네트워크로부터 수신하는 단계;
    - 상기 수신된 연쇄된 데이터의 블록 또는 블록들로부터, 상기 콘텐츠 또는 콘텐츠들의 송신에 할당된 상기 가상 채널들 중, 가상 판독 채널이라고 하는 가상 채널에 관련되는 데이터를 추출하는 단계; 및
    - 미리 결정된 후속하는 네트워크 사이클로부터, P개의 연속적인 로컬 사이클의 지속기간 동안에 상기 가상 판독 채널에 대응하는 시간 슬롯 동안 상기 목적지 노드 장치에 관련되는 소비자 어플리케이션에 상기 추출된 데이터를 공급하는 단계
    를 수행하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 기억 매체.
KR1020080035825A 2007-04-17 2008-04-17 통신 네트워크에서의 데이터 콘텐츠의 송수신 방법, 그에대응하는 기억 매체 및 장치 KR100977653B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR07/02790 2007-04-17
FR0702790A FR2915338A1 (fr) 2007-04-17 2007-04-17 Procede d'emission et de reception de contenus de donnees dans un reseau de communication, produit programme d'ordinateur, moyen de stockage et dispositifs correspondants

Publications (2)

Publication Number Publication Date
KR20080093922A KR20080093922A (ko) 2008-10-22
KR100977653B1 true KR100977653B1 (ko) 2010-08-24

Family

ID=38961769

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080035825A KR100977653B1 (ko) 2007-04-17 2008-04-17 통신 네트워크에서의 데이터 콘텐츠의 송수신 방법, 그에대응하는 기억 매체 및 장치

Country Status (6)

Country Link
US (1) US8243751B2 (ko)
EP (1) EP1983691B1 (ko)
JP (1) JP4701263B2 (ko)
KR (1) KR100977653B1 (ko)
CN (1) CN101291208B (ko)
FR (1) FR2915338A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8051222B2 (en) * 2008-06-25 2011-11-01 Redpine Signals, Inc. Concatenating secure digital input output (SDIO) interface
FR2949031B1 (fr) * 2009-08-04 2011-07-29 Canon Kk Procede et dispositif de synchronisation d'evenements externes
FR2954027B1 (fr) * 2009-12-14 2012-05-04 Canon Kk Procede de configuration d'un reseau de communication radio multicanal, produit programme d'ordinateur, moyen de stockage et noeud gestionnaire correspondants.
US10284437B2 (en) * 2010-09-30 2019-05-07 Efolder, Inc. Cloud-based virtual machines and offices
US8699617B2 (en) 2011-03-28 2014-04-15 Infineon Technologies Ag Transmitter, receiver, method for transmitting and method for receiving
CN102388359B (zh) 2011-09-15 2014-01-01 华为技术有限公司 信号保序方法和装置
WO2014121843A1 (en) * 2013-02-08 2014-08-14 Telefonaktiebolaget L M Ericsson (Publ) Time slot allocation for burst switched network
US9455933B2 (en) 2014-01-25 2016-09-27 Cisco Technology, Inc. Flexible deterministic binary scheduler
CN106850465B (zh) * 2016-12-27 2019-10-25 深圳市海思半导体有限公司 一种Flex E数据交换方法及交换设备
DK3602976T3 (da) * 2017-03-28 2021-07-12 Ista Int Gmbh Signalkommunikationssystem
US10278174B2 (en) * 2017-08-04 2019-04-30 Charter Communications Operating, Llc System and method of spectrum allocation
CN108683488B (zh) * 2018-04-24 2021-03-26 北京航天控制仪器研究所 一种基于仿真转台的软同步方法
WO2022039639A1 (en) * 2020-08-18 2022-02-24 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for supporting estimation of latency over a communication path in a communication network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040035738A (ko) * 2001-08-24 2004-04-29 인텔 코오퍼레이션 등시성 채널을 제공하는 범용 입출력 아키텍쳐 프로토콜및 관련 방법
KR20050114656A (ko) * 2003-03-13 2005-12-06 퀄컴 인코포레이티드 통신 시스템에서의 데이터 송신 방법 및 시스템
KR20060083051A (ko) * 2005-01-14 2006-07-20 엘지전자 주식회사 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를위한 이동통신단말기

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4445213A (en) * 1979-07-31 1984-04-24 Bell Telephone Laboratories, Incorporated Communication line interface for controlling data information having differing transmission characteristics
US5361261A (en) * 1992-11-02 1994-11-01 National Semiconductor Corporation Frame-based transmission of data
JP3185420B2 (ja) * 1992-12-10 2001-07-09 松下電器産業株式会社 多チャンネル多重装置
JPH09298521A (ja) * 1996-05-08 1997-11-18 Nec Eng Ltd 無線中継制御方法及び無線通信中継制御方式
US6577610B1 (en) * 1997-06-30 2003-06-10 Spacenet, Inc. Flex slotted Aloha transmission system and method
US6188699B1 (en) * 1997-12-11 2001-02-13 Pmc-Sierra Ltd. Multi-channel encoder/decoder
US6128318A (en) * 1998-01-23 2000-10-03 Philips Electronics North America Corporation Method for synchronizing a cycle master node to a cycle slave node using synchronization information from an external network or sub-network which is supplied to the cycle slave node
US7075937B1 (en) * 1998-05-19 2006-07-11 Canon Kabushiki Kaisha Method and device for sending data, method and device for receiving data
US6891797B1 (en) * 1998-07-06 2005-05-10 Canon Kabushiki Kaisha Method and device for communicating information
EP1051000B1 (en) * 1999-03-25 2014-05-07 Canon Kabushiki Kaisha Method and device for allocating at least one routing identifier to at least one bridge in a network
JP3353824B2 (ja) * 1999-04-22 2002-12-03 日本電気株式会社 ネットワーク同期システム及びネットワーク同期方法
US7110434B2 (en) * 1999-08-31 2006-09-19 Broadcom Corporation Cancellation of interference in a communication system with application to S-CDMA
JP3894406B2 (ja) * 1999-10-22 2007-03-22 パイオニア株式会社 多チャンネルデータの伝送方法ならびにそのシステム
DE60022082T2 (de) * 1999-12-08 2006-06-29 Broadcom Corp., Irvine Synchronisierter transport durch nichtsynchrone netzwerke
EP1256207B1 (en) * 2000-02-18 2007-09-05 Bridgeco AG Multi-portal bridge for providing network connectivity
US6792005B1 (en) * 2000-09-08 2004-09-14 Lucent Technologies Inc. Timing circuitry for muxing/demuxing of optical communication signals
JP2002094493A (ja) * 2000-09-13 2002-03-29 Toshiba Corp 伝送システム
EP1199840A1 (en) * 2000-10-19 2002-04-24 THOMSON multimedia Method for connecting an IEEE1394 remote device to a cluster of IEEE1394 devices through a wireless link
MXPA03003415A (es) * 2000-10-19 2003-08-07 Thomson Licensing Sa Metodo para enlazar diversas lineas de comunicacion utilizando enlaces inalambricos.
DE10103927A1 (de) * 2001-01-30 2002-08-14 Infineon Technologies Ag Datenübertragungssystem
US7283556B2 (en) * 2001-07-31 2007-10-16 Nishan Systems, Inc. Method and system for managing time division multiplexing (TDM) timeslots in a network switch
US7151745B2 (en) * 2001-11-08 2006-12-19 Broadcom Corporation Scalable synchronous packet transmit scheduler
FR2834152B1 (fr) * 2001-12-26 2004-04-30 Nortel Networks Ltd Procede de traitement de symboles numeriques dans un systeme de communication et emetteur et recepteur pour la mise en oeuvre du procede
US7724764B2 (en) * 2002-04-23 2010-05-25 Coppergate Communications Ltd. Adaptive synchronous media access protocol for shared media networks
US20040052274A1 (en) * 2002-09-13 2004-03-18 Nortel Networks Limited Method and apparatus for allocating bandwidth on a passive optical network
FR2857809A1 (fr) * 2003-07-15 2005-01-21 Canon Kk Procede de selection et d'etablissement d'une connexion de flux de donnees via un equipement intermediaire, programme d'ordinateur et equipement intermediaire correspondants.
US7298744B1 (en) * 2003-12-30 2007-11-20 Intel Corporation Method and apparatus for centralized processing of contiguously and virtually concatenated payloads
WO2006115664A1 (en) * 2005-04-22 2006-11-02 Olympus Communication Technology Of America, Inc. Defragmentation of communication channel allocations
JP4669366B2 (ja) * 2005-09-30 2011-04-13 アイホン株式会社 インターホン装置
JP4162093B2 (ja) * 2005-12-09 2008-10-08 三菱電機株式会社 通信システム
US7835271B2 (en) * 2005-12-29 2010-11-16 Alcatel-Lucent Usa Inc. Signaling protocol for p-cycle restoration
JP5049652B2 (ja) * 2006-09-07 2012-10-17 キヤノン株式会社 通信システム、データの再生制御方法、コントローラ、コントローラの制御方法、アダプタ、アダプタの制御方法、およびプログラム
US7986713B2 (en) * 2006-12-09 2011-07-26 Mark Henrik Sandstrom Data byte load based network byte-timeslot allocation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040035738A (ko) * 2001-08-24 2004-04-29 인텔 코오퍼레이션 등시성 채널을 제공하는 범용 입출력 아키텍쳐 프로토콜및 관련 방법
KR20050114656A (ko) * 2003-03-13 2005-12-06 퀄컴 인코포레이티드 통신 시스템에서의 데이터 송신 방법 및 시스템
KR20060083051A (ko) * 2005-01-14 2006-07-20 엘지전자 주식회사 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를위한 이동통신단말기

Also Published As

Publication number Publication date
JP4701263B2 (ja) 2011-06-15
EP1983691B1 (en) 2012-12-05
CN101291208A (zh) 2008-10-22
US20080259950A1 (en) 2008-10-23
FR2915338A1 (fr) 2008-10-24
JP2009005340A (ja) 2009-01-08
CN101291208B (zh) 2013-01-16
US8243751B2 (en) 2012-08-14
KR20080093922A (ko) 2008-10-22
EP1983691A1 (en) 2008-10-22

Similar Documents

Publication Publication Date Title
KR100977653B1 (ko) 통신 네트워크에서의 데이터 콘텐츠의 송수신 방법, 그에대응하는 기억 매체 및 장치
EP1222759B1 (en) Method and apparatus for upstream burst transmission synchronization in cable modems
EP2079193B1 (en) Method for accessing a medium in a synchronous communications network by a transmit node, computer program product, storage means and transmit node
EP0768769B1 (en) Method and apparatus for supporting TDMA operation over hybrid fiber coaxial (HFC) or other channels
EP2941006B1 (en) Method and system for clock reference streams
US9049270B2 (en) Device for selecting digital service streams, and method, computer program and storage means corresponding thereto
JP4299306B2 (ja) 基地局でフレーム同期情報を配信するための装置及び方法
EP2083526B1 (en) Method for synchronizing applicative clock signals in a synchronous communications network, corresponding emitter and receiver devices, computer program product and computer-readable storage means.
KR20110067971A (ko) 다중 클럭 동기화 방법 및 그 장치
US8089915B2 (en) Synchronous data transmissions by relay node
JP2015029308A (ja) 送信装置
CN111181677B (zh) 时间同步方法、网络设备及存储介质
CN106911545B (zh) 一种通过以太网传输st_bus数据的方法及装置
KR101958374B1 (ko) 네트워크 내의 지연을 정확하게 추정하는 서비스들, 시스템들 및 방법들
KR20170009319A (ko) 동기 방식의 무선 백홀 장치에서 동기 신호 수신 시스템 및 방법

Legal Events

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

Payment date: 20130726

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140728

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150727

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160725

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170725

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180725

Year of fee payment: 9