JP2009005340A - 通信ネットワークにおいてデータコンテンツを送受信する方法、コンピュータプログラム、記憶媒体及びデバイス - Google Patents
通信ネットワークにおいてデータコンテンツを送受信する方法、コンピュータプログラム、記憶媒体及びデバイス Download PDFInfo
- Publication number
- JP2009005340A JP2009005340A JP2008108303A JP2008108303A JP2009005340A JP 2009005340 A JP2009005340 A JP 2009005340A JP 2008108303 A JP2008108303 A JP 2008108303A JP 2008108303 A JP2008108303 A JP 2008108303A JP 2009005340 A JP2009005340 A JP 2009005340A
- Authority
- JP
- Japan
- Prior art keywords
- cycle
- data
- network
- node
- transmission
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/204—Multiple access
- H04B7/212—Time-division multiple access [TDMA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/022—Capturing of monitoring data by sampling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6445—Admission control
- H04L2012/6448—Medium Access Control [MAC]
- H04L2012/6451—Deterministic, 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つの宛先ノードに送信される方法。
【解決手段】ネットワークは、データ送信のためにネットワークサイクルと呼ばれる第1のサイクルを規定する第1のクロッキングを実現する。ネットワークの各ノードは、ネットワークのノードとそれに関連するアプリケーションとの間のデータ送信のためにローカルサイクルと呼ばれる第2のサイクルを規定する第2のクロッキングを実現する。ネットワークサイクルはローカルサイクルの整数倍であるP倍(P≧1)であり、ネットワークサイクルの開始はローカルサイクルの開始と一致し、ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、仮想チャネルの集合はコンテンツの送信に割り当てられる。
【選択図】図2A
【解決手段】ネットワークは、データ送信のためにネットワークサイクルと呼ばれる第1のサイクルを規定する第1のクロッキングを実現する。ネットワークの各ノードは、ネットワークのノードとそれに関連するアプリケーションとの間のデータ送信のためにローカルサイクルと呼ばれる第2のサイクルを規定する第2のクロッキングを実現する。ネットワークサイクルはローカルサイクルの整数倍であるP倍(P≧1)であり、ネットワークサイクルの開始はローカルサイクルの開始と一致し、ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、仮想チャネルの集合はコンテンツの送信に割り当てられる。
【選択図】図2A
Description
本発明は、通信ネットワークにおけるデータコンテンツの送信の分野に関する。
本発明は、特に同期無線ネットワークにおけるコンテンツの送信に関し、更に詳細には60GHzの無線伝送システムにおけるコンテンツの送信に関する。
60GHzの無線伝送システムは、短距離を高ビットレートでデータを送信することに特に適する。例えば、この種の伝送システムは、「ホームシネマ」の種々の要素間の接続に非常に適する。それらの用途の場合、伝送範囲は数十メートルに制限されるが、関係するビットレートは非常に高く、送信される情報の解像度の高さ及び特性(オーディオ及びビデオの双方)のために1ギガビット/秒を超えることがある。60GHzの無線システムにおけるデータ送信に必要な電力を制限するために、電子的に操縦可能なアンテナを使用するのが好ましい。それらアンテナは、実際にはデータの送信及び/又は受信の角度(又は向き)を規定するように起動される電磁ポイントマトリクスアンテナである。
そのような通信ネットワークにおいて、いくつかの並行する音声映像アプリケーションを同時に同期的にサポートできる必要がある。そのようなネットワークは、例えば以下の通りである。
無線スピーカを有するホームシネマ(ポイントツーマルチポイントネットワーク)、
表示装置に接続された複数のビデオソースに基づくネットワーク(マルチポイントツーポイントネットワーク)、
複数の表示装置に接続された複数のビデオソースに基づくネットワーク(マルチポイントツーマルチポイントネットワーク)。
表示装置に接続された複数のビデオソースに基づくネットワーク(マルチポイントツーポイントネットワーク)、
複数の表示装置に接続された複数のビデオソースに基づくネットワーク(マルチポイントツーマルチポイントネットワーク)。
いくつかの並行する音声映像アプリケーションを同期的に管理できるようにするために、通信ネットワークは、ソースノードから1つ以上の宛先ノードへのデータ送信により発生する固定の判定された待ち時間を提供できる必要がある。例えば、ホームシネマアプリケーションの場合、いくつかのスピーカによりブロードキャストされる必要のあるオーディオデータは、通信ネットワークによりスピーカのオーディオデータ処理層(又はアプリケーション層)に同時に提示される必要がある。通信ネットワークは、更に以下のことができる必要がある。
宛先ノードの出力においてデータのサンプリングの速度を再現すること、
複数の宛先ノードから出力されるデータの提示を同期化すること。
複数の宛先ノードから出力されるデータの提示を同期化すること。
これら前提条件により以下のことが必要となる。
ノードの全ての基準クロックが他の基準クロックと同期される、
ネットワークにおける送信時間が所定の固定値に限定される、
事前定義された正確な時点でデータを提示するための手段が実現される。
ネットワークにおける送信時間が所定の固定値に限定される、
事前定義された正確な時点でデータを提示するための手段が実現される。
並行する同期アプリケーションを実現する通信ネットワークにおいて、所定の正確な時点で送信データをデータ処理層(又はアプリケーション)に提示するために、タイムスタンピング技術が広く実現されている。簡単化された方法において、タイムスタンプは、ソースデバイスにより各データと関連付けられて宛先ノードに通信される。データ及び関連するタイムスタンプの受信後、宛先ノードは、そのローカルクロックの値をタイムスタンプに示される値と比較するため、データがソースにより判定された正確な時点でデータ処理層(又はアプリケーション)に提示されることを保証できる。この種のタイムスタンプ技術は、例えばIEC611883−4の文献「Materiel audio/video grand public - Interface numerique - Partie 4: Transmission de donnees MPEG2-TS」(Large-Scale Consumption Audio/Video Equipment - Digital Interface - Part 4: MPEG2-TS Data Transmission」において説明される。
しかし、タイムスタンピングはいくつかの欠点を有する。まず、各パケットに追加のデータを導入する必要があるため、有用な帯域幅が減少し、受信バッファメモリの大きさが増加する。更にタイムスタンピングは、ローカルクロックの値を所望の提示時間と比較するための追加の処理手段、同一の絶対時間を参照するように通信ネットワークのノードの種々のクロックを同期させる手段を必要とする。例えば上述のIEC61883規格を補完するものとして使用されるIEEE1394規格「IEEE Standard for a High Performance Serial Bus, IEEE1394-1995」において規定されるような同期サイクルタイムレジスタを使用する際のクロックサイクルの番号付けにより、同一の絶対時間が参照されてもよい。マスタノード又はサイクルマスタは、その「Cycle Time Register」の値をサイクル開始パケットを介してネットワークの他のノードの「Cycle Time Register」にコピーし、一定の位相でネットワークの全てのノードを同期させることに対応する。全てのノードは同一の時間基準を有し、データタイムスタンピングにより、所定の正確な時点でデータ処理層(又はアプリケーション)に送信データを提示することに対応してもよい。
ネットワークサイクルを固定の時間スロット又は時間間隔に分割し且つデータ通信のためのタイムスロットの集合を各ノードに割り当てることにより、通信ネットワークにおいて一定の送信時間を提供できる。その結果、各ノードは通信ネットワークのサイクルの所定の時間に送信する。この種の技術は、無線通信ネットワークにおいて頻繁に使用されるTDM(時分割多重方式(Time Division Multiplex))又はTDMA(時分割多元接続(Time Division Multiple Access))として周知である。しかし、この種の技術は欠点を有する。60GHzの無線伝送システムにおける場合と同様に、同一の宛先ノードが送信ソースノードに依存して異なるアンテナの向きを要求するいくつかのソースと同時に通信する可能性のある通信ネットワークにおいて、特に通信タイムスロットが短い場合、1つの通信タイムスロットと別の通信タイムスロットとの間の「ギャップ」又は待ち時間は、通信ネットワークのサイクルにおいて無視できないものとなる。
バースト伝送モード(burst transmission mode)は、ネットワークのノードが多くのアンテナ方向付け時間(antenna orientation time)を必要とする(ネットワークのサイクルの期間と比較して)場合に特に有利である。切り替え動作の回数を制限するために、バースト伝送モードは同一フレームで大量のデータの送信を可能にする。その結果、切り替え動作に費やされる時間はデータの送受信に費やされる時間と比較して僅かであり、ネットワークの帯域幅は効率的に使用される。しかし、そのような方法は、データタイムスタンピングの使用の回避を可能にするために、ノード毎に短い正確な通信タイムスロットを取得するのに使用できない。
本発明の目的は、少なくとも一実施形態において、特に従来技術の欠点を克服することである。
更に詳細には、本発明の目的は、本発明の少なくとも1つの実施形態において、少なくとも1つのデータコンテンツを受信するいくつかの宛先ノードを含む通信ネットワークにおいて、少なくとも2つの宛先ノードがそれらの出力において同一のデータコンテンツの同一部分を提示する場合、所定の正確な時点において少なくとも1つのデータコンテンツの少なくとも一部を宛先ノードの出力において提示することを可能にする技術を提供することである。この技術はいずれのタイムスタンピングも実現せず、所定の正確な時点は同一である。
本発明の別の目的は、本発明の少なくとも1つの実施形態において、ネットワークのソースノードと宛先ノードとの間の別の通信と各タイムスロットとのギャップを僅かにできる技術を実現することである。
本発明の別の目的は、本発明の少なくとも1つの実施形態において、N対N通信、すなわちマルチポイントツーマルチポイント通信を実現する通信ネットワークと互換性のある技術を実現することである。
本発明の別の目的は、本発明の少なくとも1つの実施形態において、各々が判定されたサンプリング速度と関連付けられる1つ以上の同期ストリームに対して実行される技術を実現することである。
本発明の別の目的は、本発明の少なくとも1つの実施形態において、任意のサンプリング速度で任意の種類の同期ストリームに対して実行される技術を実現することである。
本発明の別の目的は、本発明の少なくとも1つの実施形態において、実現するのが単純であり且つコストが安価な技術を実現することである。
本発明の一実施形態は、複数のノードを含む通信ネットワークにおいて、少なくとも1つのデータコンテンツが生成器アプリケーションと関連付けられる送信側又はソース(又は送信機)ノードにより少なくとも1つの宛先ノードに送出される送信の方法を提案する。その宛先ノード又は各宛先ノードは消費者アプリケーション(受信機アプリケーション)と関連付けられ、ネットワークはネットワーク上のデータ送信のためにネットワークサイクルと呼ばれる第1のサイクルを規定する第1のクロッキング(clocking)を実行する。
本発明によると、ソースノードは、ソースノード及び宛先ノードの各々とそれに関連するアプリケーションとの間のデータ送信のためにローカルサイクルと呼ばれる第2のサイクルを規定する第2のクロッキング(clocking)を実行し、ネットワークサイクルはローカルサイクルの整数倍であるP倍(P≧1)であり、ネットワークサイクルの開始はローカルサイクルの開始と一致し、ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、仮想チャネルの集合はコンテンツの送信に割り当てられる。
ソースノードは、
少なくとも1つの連結データブロックを形成するために、P個の連続するローカルサイクルにおけるコンテンツの送信に割り当てられた仮想チャネルに対応するタイムスロット内でソースノードと関連付けられる生成器アプリケーションから取得されたデータを連結するステップと、
所定の後続するネットワークサイクル中にソースノードに割り当てられた音声時間中に連結データブロックを通信ネットワーク上で送出するステップと、を実行する。
少なくとも1つの連結データブロックを形成するために、P個の連続するローカルサイクルにおけるコンテンツの送信に割り当てられた仮想チャネルに対応するタイムスロット内でソースノードと関連付けられる生成器アプリケーションから取得されたデータを連結するステップと、
所定の後続するネットワークサイクル中にソースノードに割り当てられた音声時間中に連結データブロックを通信ネットワーク上で送出するステップと、を実行する。
本発明の全体的な原理は、通信ネットワーク上のデータ送信のためにネットワークサイクルと呼ばれるサイクルを規定する第1のクロッキング動作及びネットワークのノード内のデータ送信のためにローカルサイクル(又はTDMサイクル)と呼ばれるサイクルを規定する第2のクロッキング動作を実行する通信ネットワークでの少なくとも1つのコンテンツの送信における実行例から成る。ネットワークサイクルはローカルサイクル(又はTDMサイクル)の整数倍であるP倍(P≧1)であり、ネットワークサイクルの開始はローカルサイクル(又はTDMサイクル)の開始と一致し、ローカルサイクル(又はTDMサイクル)はタイムスロットに対応する複数の仮想チャネルを含み、仮想チャネルの集合はコンテンツの送信に割り当てられる。
更に、ソースノードは、
少なくとも1つのデータブロックを形成するために、P個の連続するローカルサイクル(又はTDMサイクル)におけるコンテンツの送信に割り当てられた各仮想チャネル内で、ソースノードと関連付けられる生成器アプリケーションから取得されたデータを連結するステップと、
所定の後続するネットワークサイクル中にソースノードに割り当てられた音声時間中に連結データブロックを通信ネットワーク上で送出するステップと、を実行する。
少なくとも1つのデータブロックを形成するために、P個の連続するローカルサイクル(又はTDMサイクル)におけるコンテンツの送信に割り当てられた各仮想チャネル内で、ソースノードと関連付けられる生成器アプリケーションから取得されたデータを連結するステップと、
所定の後続するネットワークサイクル中にソースノードに割り当てられた音声時間中に連結データブロックを通信ネットワーク上で送出するステップと、を実行する。
従って、以下に図2Aを参照して説明するように、特にネットワークサイクルがネットワークの各ノードのローカルサイクル(又はTDMサイクル)の倍数であり且つローカルサイクル(又はTDMサイクル)の所定の集合における連結後のデータが所定のサイクルにおいて送出されるため、本発明は、少なくとも1つの実施形態において、ネットワークの少なくとも2つのノードの出力において所定の正確な時点で1つのデータコンテンツの少なくとも一部を提示することを保証する技術を提供する。この技術は、いずれのタイムスタンピングも実現しない。この所定の正確な時点は、少なくとも2つの宛先ノードがそれらの出力においてデータコンテンツの同一部分を提示する時点と同一である。
更にそのような技術は、マルチポイントツーマルチポイント通信又はポイントツーマルチポイント通信を実現する通信ネットワークと互換性がある。
また、そのような技術は、各々が判定されたサンプリング速度と関連付けられる1つ以上の同期ストリームに対して実現でき、任意のサンプリング周波数で任意の種類の同期ストリームに対して実現されてもよい。
連結ステップは、ネットワークサイクルと一致するP個の連続するローカルサイクルにおいて実行されるのが好ましい。
データの連結は、ネットワークサイクル中に行なわれるため、ネットワーク上のデータ送信シーケンスにおけるソースノードの音声時間の位置に関係なく、次のネットワークサイクル中にそのように形成されたデータブロックの送信が可能となる。
連結ステップは、コンテンツの送信に割り当てられた空仮想チャネルと呼ばれる少なくとも1つの仮想チャネルに対応する時間間隔の間にソースノードと関連付けられる生成器アプリケーション(generator application)から取得されるデータがない場合にパディング情報(padding information)と呼ばれる少なくとも1つの情報を挿入するステップを含むのが有利である。
例えば、書き込みモードで割り当てられた仮想チャネル(すなわち、生成器アプリケーションにより通信ネットワークに与えられた1つのコンテンツのデータの送信用に設計された仮想チャネル)において生成器アプリケーションから取得されるデータサンプルが存在しない場合、ノードは記号「ヌル」(パディング情報)を書き込む。そのような「ヌル」記号の導入により、ローカルサイクル(又はTDMサイクル)の期間は生成器アプリケーションにより使用されるサンプリング周波数の幅広のスペクトルに適応され、それと同時に判定された正確な時点での受信機アプリケーションへのデータの配信を保証する。ローカルサイクル(又はTDMサイクル)のクロッキング周波数(clocking frequency)の倍数でも約数でもないサンプリング周波数は、ある特定のタイムスロット(又は仮想チャネル)内で、生成器アプリケーションがデータを与えないことを意味する。しかし、ソースノードが生成器アプリケーションから到着するデータストリームにおける区切りを識別するヌル記号を生成する場合、宛先ノードはデータストリームにおいて識別される区切りを再生成する際に受信機アプリケーションとのデータの供給の同期を維持してもよい(生成器アプリケーションにより使用される周波数と同一の周波数を使用して)。
パディング情報の一部は、ソースノードが空仮想チャネルに対応するタイムスロット又は時間間隔の間に取得できるデータ量と等しい大きさを有し、パディング情報の一部は、空仮想チャネル内で生成器アプリケーションから受信されたかのようにデータブロックの1つに挿入されるのが好ましい。
パディング情報(又はその一部)は、仮想チャネル内で送信されるデータの大きさと等しい大きさを有し、ネットワーク上のソースノードにより送出されるフレームに挿入される。それにより、生成器アプリケーションのサンプリング周波数に関係なく通信ネットワーク上のソースノードにより送出されるフレームの一定の大きさが保証され、従って宛先ノードによる受信機アプリケーションとのデータストリームの同期が容易になる。
連結ステップは、コンテナ又はチャンクを形成するために、P個の連続するローカルサイクル中に生成器アプリケーションから取得されたデータのグループ化を仮想チャネルにより実行するデータインターリービングステップを含むのが有利である。
データは、ソースノードのローカルサイクル(又はTDMサイクル)において使用される仮想チャネル(これは、宛先ノードのローカルサイクル(又はTDMサイクル)において使用される仮想チャネルと同等である)に従ってグループ化される。送信ネットワーク上で発生するエラーが送信中の全てのコンテンツに影響することを防止するために、そのように取得されたグループ化(又はコンテナ又はチャンク)により誤り訂正機構(error correction mechanisms)を適用できる。これにより、ホームシネマアプリケーションにおいて、ネットワーク上の送信エラーが1つのスピーカにより復元されたオーディオチャネルのコンテンツにのみ影響し、他のスピーカにより復元されたオーディオチャネルのコンテンツに影響を与えないようにできる。
更に本発明は、複数のノードを含む通信ネットワークにおいて、各々が生成器アプリケーションと関連付けられる少なくとも1つのソースノードから到着する少なくとも1つのデータコンテンツを受信機アプリケーションと関連付けられる宛先ノードにより受信する方法に関する。ネットワークは、ネットワーク上のデータ送信のためにネットワークサイクルと呼ばれる第1のサイクルを規定する第1のクロッキングを実行する。
本発明によると、宛先ノードは、ソースノード及び宛先ノードの各々とそれに関連するアプリケーションとの間のデータ送信のためにローカルサイクルと呼ばれる第2のサイクルを規定する第2のクロッキングを実行し、ネットワークサイクルはローカルサイクルの整数倍であるP倍(P≧1)であり、ネットワークサイクルの開始はローカルサイクルの開始と一致し、ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、仮想チャネルの集合はコンテンツの送信に割り当てられ、
宛先ノードは、
ソースノードのうち少なくとも1つに割り当てられた音声時間中に連結データの少なくとも1つのブロックを通信ネットワークから受信するステップと、
コンテンツの送信に割り当てられた仮想チャネルのうち仮想読み出しチャネルと呼ばれる仮想チャネルと関連付けられるデータを連結データの受信ブロックから抽出するステップと、
P個の連続するローカルサイクルの期間、仮想読み出しチャネルに対応するタイムスロット中に宛先ノードと関連付けられる受信機アプリケーションに対して抽出したデータを所定の後続するネットワークサイクルから供給するステップと、を実行する。
宛先ノードは、
ソースノードのうち少なくとも1つに割り当てられた音声時間中に連結データの少なくとも1つのブロックを通信ネットワークから受信するステップと、
コンテンツの送信に割り当てられた仮想チャネルのうち仮想読み出しチャネルと呼ばれる仮想チャネルと関連付けられるデータを連結データの受信ブロックから抽出するステップと、
P個の連続するローカルサイクルの期間、仮想読み出しチャネルに対応するタイムスロット中に宛先ノードと関連付けられる受信機アプリケーションに対して抽出したデータを所定の後続するネットワークサイクルから供給するステップと、を実行する。
従って、通信ネットワークからデータブロックを受信する宛先ノードは、判定された仮想チャネル(読み出しモードで割り当てられた仮想チャネル)において、判定されたローカルサイクル(又はTDMサイクル)中に受信機アプリケーションにデータを提供する。出力がソースノードにより生成器アプリケーションから出力される時点とそれらが宛先ノードにより受信機アプリケーションに与えられる時点との間で、データはタイムスタンピング情報が使用されずに固定の判定された遅延の影響を受ける。
各宛先ノードは、コンテンツの送信に割り当てられた少なくとも1つの仮想チャネルと関連付けられるパディング情報と呼ばれる少なくとも1つの情報の存在をデータブロックにおいて検出するステップを実行し、パディング情報は、供給ステップの間に受信機アプリケーションに与えられないのが有利である。
所定の仮想チャネルと関連付けられる1つのパディング情報を検出すると、宛先ノードは、その所定の仮想チャネル内で受信機アプリケーションにデータを与えないため、サンプリング周波数がローカルサイクル(又はTDMサイクル)のクロッキング周波数の倍数又は約数でない場合であっても、受信機アプリケーション及び生成器アプリケーションの同期を維持する。
パディング情報の一部又は複数のパディング情報は、パディング情報が関連付けられる仮想チャネルに対応するタイムスロット内で宛先ノードが提供できるデータ量と等しい大きさを有するのが好ましい。
パディング情報(又はその一部)は、仮想チャネル内で送信されるデータの大きさと等しい大きさを有し、ネットワーク上のソースノードにより送出されるフレームに挿入される。それにより、生成器アプリケーションのサンプリング周波数に関係なく通信ネットワーク上のソースノードにより送出されるフレームの一定の大きさが保証され、従って宛先ノードによる受信機アプリケーションとのデータストリームの同期が容易になる。
宛先ノードは、パディング情報が関連付けられる仮想チャネルに対応するタイムスロット内でパディング情報を消去するのが好ましい。
ネットワークサイクル中に受信したデータは、P個のローカルサイクル(又はTDMサイクル)中に送出されるべき順番でFIFOユニットに格納される。読み出しモードで割り当てられた仮想チャネルの開始を検出すると、宛先ノードは、FIFOから次に入手可能なデータを抽出し、それが1つのパディング情報に対応するかを調査するためにそのデータを解析する。対応する場合、当該仮想チャネルの時間内でそのデータを消去する。次のデータは、次の読み出し割り当て仮想チャネルで受信機アプリケーションへ送信される準備ができている。
抽出ステップは、ソースノードのうちの1つと関連付けられる生成器アプリケーションから取得されたデータの仮想チャネルによるチャンクと呼ばれるグループ化を識別し且つ宛先ノードの受信機アプリケーションに供給するデータをローカルサイクルにより再順序付けするデータデインターリービングステップを含むのが有利である。
データは、ソースノードのローカルサイクル(又はTDMサイクル)において使用される仮想チャネル(これは、宛先ノードのローカルサイクル(又はTDMサイクル)において使用される仮想チャネルと等しい)に従ってグループ化される。送信ネットワーク上で発生するエラーが宛先ノードから受信機アプリケーションに与えられる全てのコンテンツに影響することを防止するために、そのように取得されたグループ化(又はチャンク)により誤り訂正機構を適用できる。
更に本発明は、通信ネットワークからダウンロード可能であり及び/又はコンピュータ可読媒体に記録され及び/又は上述の送信方法及び/又は上述の受信方法を実行するためのプログラムコード命令を含むプロセッサにより実行されるコンピュータプログラムに関する。
また本発明は、上述の送信方法及び/又は上述の受信方法を実行するために前記コンピュータにより実行される命令の集合を格納し、コンピュータにより読み出し可能であり、全体的又は部分的に取り外し可能である記憶装置(に関する。
更に本発明は、生成器アプリケーションと関連付けられるソースノードに関し、複数のノードを含む通信ネットワークにおいて、ソースノードは少なくとも1つの宛先ノードに少なくとも1つのデータコンテンツを送出する手段を含み、その宛先ノード又は各宛先ノードは受信機アプリケーションと関連付けられ、ネットワークはネットワーク上のデータ送信のためにネットワークサイクルと呼ばれる第1のサイクルを規定する第1のクロッキングを実行する。
本発明によると、ソースノードは、ソースノード及び宛先ノードの各々とそれに関連するアプリケーションとの間のデータ送信のためにローカルサイクルと呼ばれる第2のサイクルを規定する第2のクロッキングを実行し、ネットワークサイクルはローカルサイクルの整数倍であるP倍(P≧1)であり、ネットワークサイクルの開始はローカルサイクルの開始と一致し、ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、仮想チャネルの集合はコンテンツの送信に割り当てられ、
送信手段は、
少なくとも1つの連結データブロックを形成するために、P個の連続するローカルサイクルにおける前記コンテンツの送信に割り当てられた仮想チャネルに対応するタイムスロット内で前記ソースノードと関連付けられる生成器アプリケーションから取得されたデータを連結する手段と、
所定の後続するネットワークサイクル中に前記ソースノードに割り当てられた音声時間中に前記連結データブロックを通信ネットワーク上で送出する手段とを含み、
連結手段は、ネットワークサイクルと一致するP個の連続するサイクルにおいて起動される。
送信手段は、
少なくとも1つの連結データブロックを形成するために、P個の連続するローカルサイクルにおける前記コンテンツの送信に割り当てられた仮想チャネルに対応するタイムスロット内で前記ソースノードと関連付けられる生成器アプリケーションから取得されたデータを連結する手段と、
所定の後続するネットワークサイクル中に前記ソースノードに割り当てられた音声時間中に前記連結データブロックを通信ネットワーク上で送出する手段とを含み、
連結手段は、ネットワークサイクルと一致するP個の連続するサイクルにおいて起動される。
連結手段は、コンテンツの送信に割り当てられた空仮想チャネルと呼ばれる少なくとも1つの仮想チャネルに対応するタイムスロット内でソースノードと関連付けられる生成器アプリケーションから取得されるデータがない場合にパディング情報と呼ばれる少なくとも1つの情報を挿入する手段を含むのが有利である。
パディング情報の一部は、ソースノードが空仮想チャネルに対応するタイムスロット内で取得できるデータ量と等しい大きさを有し、ソースノードは、空仮想チャネル内で生成器アプリケーションから受信されたかのようにパディング情報の一部をデータブロックのうちの1つに挿入する手段を含むのが好ましい。
連結手段は、チャンクを形成するために、P個の連続するローカルサイクル中に生成器アプリケーションから取得されたデータのグループ化を仮想チャネルにより実行するデータインターリービング手段を含むのが有利である。
更に本発明は、受信機アプリケーションと関連付けられる宛先ノードに関し、宛先ノードは、複数のノードを含む通信ネットワークにおいて、各々が生成器アプリケーションと関連付けられる少なくとも1つのソースノードから到着する少なくとも1つのデータコンテンツを受信する手段を含み、ネットワークは、ネットワーク上のデータ送信のためにネットワークサイクルと呼ばれる第1のサイクルを規定する第1のクロッキングを実行する。
本発明によると、宛先ノードは、ソースノード及び宛先ノードの各々とそれに関連するアプリケーションとの間のデータ送信のためにローカルサイクルと呼ばれる第2のサイクルを規定する第2のクロッキングを実行し、ネットワークサイクルはローカルサイクルの整数倍であるP倍(P≧1)であり、ネットワークサイクルの開始はローカルサイクルの開始と一致し、ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、仮想チャネルの集合はコンテンツの送信に割り当てられ、
受信手段は、
ソースノードのうち少なくとも1つに割り当てられた音声時間中に連結データの少なくとも1つのブロックを通信ネットワークから受信する手段と、
コンテンツの送信に割り当てられた前記仮想チャネルのうち仮想読み出しチャネルと呼ばれる仮想チャネルと関連付けられるデータを連結データの受信ブロックから抽出する手段と、
P個の連続するローカルサイクルの期間、仮想読み出しチャネルに対応するタイムスロット中に宛先ノードと関連付けられる受信機アプリケーションに抽出したデータを所定の後続するネットワークサイクルから供給する手段と、を含む。
受信手段は、
ソースノードのうち少なくとも1つに割り当てられた音声時間中に連結データの少なくとも1つのブロックを通信ネットワークから受信する手段と、
コンテンツの送信に割り当てられた前記仮想チャネルのうち仮想読み出しチャネルと呼ばれる仮想チャネルと関連付けられるデータを連結データの受信ブロックから抽出する手段と、
P個の連続するローカルサイクルの期間、仮想読み出しチャネルに対応するタイムスロット中に宛先ノードと関連付けられる受信機アプリケーションに抽出したデータを所定の後続するネットワークサイクルから供給する手段と、を含む。
コンピュータプログラム、記憶媒体(storage means)、ソースノード及び宛先ノードの利点は、上述の送受信方法の利点とほぼ同様である。
宛先ノードは、コンテンツの送信に割り当てられた少なくとも1つの仮想チャネルと関連付けられるパディング情報と呼ばれる少なくとも1つの情報の存在をデータブロックにおいて検出する手段を含み、パディング情報は、供給手段により受信機アプリケーションに与えられないのが好ましい。
パディング情報の一部又は複数のパディング情報は、パディング情報が関連付けられる仮想チャネルに対応するタイムスロット内で宛先ノードが提供できるデータ量と等しい大きさを有するのが好ましい。
宛先ノードは、パディング情報が関連付けられる仮想チャネルに対応するタイムスロット内でパディング情報を消去する手段を含むのが好ましい。
抽出手段はデータデインターリービング手段を含み、デインターリービング手段は、ソースノードのうちの1つと関連付けられる生成器アプリケーションから取得されたデータの仮想チャネルによるチャンクと呼ばれるグループ化を識別する手段及び宛先ノードの受信機アプリケーションに供給するデータをローカルサイクルにより再順序付けすることを可能にする手段を含むのが有利である。
本発明の他の特徴及び利点は、以下の限定しない例として与えられる本発明の好適な実施形態の説明及び添付の図面から明らかとなるだろう。
本発明の特定の一実施形態に係る送受信方法の特定の応用例によると、以下において、図1に示す5.1ホームシネマ又はホームシアターネットワークである通信ネットワーク1000の状況を説明する。当然、本発明は、7.1ホームシネマネットワークにおいても適用できる。
本発明の少なくとも1つの他の実施形態に係る方法は、いくつかの並行する同期アプリケーションを同時に実現する必要がある任意の通信ネットワークにおいて実現される。通信ネットワークは、例えば以下のネットワークのうちの1つである。
表示装置に接続された複数のメディアソースに基づくネットワーク(マルチポイントツーポイントネットワーク)、
複数の表示装置に接続された複数のメディアソースに基づくネットワーク(マルチポイントツーマルチポイントネットワーク)。
複数の表示装置に接続された複数のメディアソースに基づくネットワーク(マルチポイントツーマルチポイントネットワーク)。
5.1ホームシネマネットワーク1000において、スピーカはメッシュ無線ネットワーク101を使用してオーディオソースに接続される。
5.1ホームシネマネットワーク1000は、オーディオビデオソース端末102(例えば、DVDリーダ)、テレビ画面103、中央スピーカ104と呼ばれる第1のスピーカ104、サブウーファ105と呼ばれる第2のスピーカ105、前方左スピーカ106と呼ばれる第3のスピーカ106、前方右スピーカ107と呼ばれる第4のスピーカ107、右アンビエンススピーカ108と呼ばれる第5のスピーカ108、左アンビエンススピーカ109と呼ばれる第6のスピーカ109を含む。各スピーカは、ソース端末102により配信された6つのオーディオチャネルのうちの1つを再生する。
メッシュ無線ネットワーク101を構築するために、本発明は、以下においてWSC(「無線サラウンドコントローラ」)ノード110と呼ばれる無線アンビエンスコントローラ(wireless ambience controller)110、並びに以下においてWASノード(「無線アクティブスピーカ」)111と呼ばれる第1、第2、第3、第4、第5及び第6のアクティブ無線ノード111を実現する。各WASノードは、上記スピーカの1つと関連付けられる。
WASノード111の機能は、無線メッシュノード101においてそのWASノードが関連付けられるスピーカとWSCノード110との間にインタフェースをセットアップすることである。各WASノード111は、そのWASノードが同軸ケーブル116により関連付けられるスピーカに接続される。所定のWASノード111に対して、ケーブル116は、増幅器及びデジタル/アナログ変換器の場所(WASノード又はスピーカにおける)に依存してデジタル又はアナログオーディオ信号を搬送する。
WASノード111及びWSCノード110は、電源コネクタ113(図1において、この電源コネクタはノード110、111の各々に対して表されていない)によりそれぞれ電源が投入され、無線通信を実現するために1つのアンテナ112をそれぞれ含む。アンテナ112は、電子的に制御される電磁アンテナであるのが好ましい。
WSCノード110は、ケーブル115を使用してオーディオビデオソース端末102により送信されるオーディオビデオストリームを受信する。その後WSCノード110は、受信したオーディオビデオストリームから得られるデジタルビデオデータを無線通信を使用して全てのスピーカに送信し、受信したオーディオビデオストリームからのデジタルビデオデータをケーブル114を介してテレビ画面103に送信する。例えばケーブル114及び115は、HDMI(「高品位マルチメディアインタフェース」)プロトコルに準拠するケーブルである。ソース端末102又はWSCノード110は、各チャネルのオーディオデータサンプルを識別及び分離するためにオーディオチャネル復号器を含む。更に、それらはアンビエンスプロセッサを含み、部屋の音響特性に関してオーディオサンプルの変形を行なう。
システムを更に小型化するために、WSCノード110がソース端末102に一体化されてもよく、各WASノード111はそのWASノードが関連付けられるスピーカに一体化されてもよい。
本発明のネットワーク1000において、以下の時間の制約が重要である。
同一のオーディオビデオコンテンツから得られるオーディオ信号とビデオ信号との間の相対的な時間遅れが最小限にされる必要があること、
種々のスピーカからの送信の間(オーディオチャネル間)の相対的な時間遅れが最小限にされる必要がある。
種々のスピーカからの送信の間(オーディオチャネル間)の相対的な時間遅れが最小限にされる必要がある。
一般に「リップシンクロナイゼーション(lip synchronization)」と呼ばれる同一のオーディオビデオコンテンツから得られるオーディオ信号とビデオ信号との間の相対的な時間シフトが最小限にされる必要がある。ユーザの快適さのために、オーディオ信号とビデオ信号との間の相対的な時間遅れは、−30msから+100msの範囲内である必要がある。無線接続の場合、無線送信機/受信機は送信に起因する時間遅れを追加する。オーディオ信号はビデオ信号に対してずれる。このずれが100ミリ秒より大きくなる場合、ソース端末102の出力においてビデオ信号を遅延させる必要がある。
ホームシネマネットワーク100において、一般にユーザに対する受信基地とスピーカとの距離は当該スピーカによって変動する。空気中の音の伝播速度(約343m/s)のために、スピーカから受信基地までの音波の伝播時間はオーディオチャネル毎に異なる。例えば、2つのオーディオチャネル間の34cmの伝播経路の違いは、2つのオーディオチャネル間の受信時の1msの時間遅れを示す。従って、許容できる相対的な時間遅れ(すなわち、100μs未満)を維持するために、殆どのホームシネマシステムは、それら時間遅れを自動的に補償する機構を実現する。
メッシュネットワーク101の導入の際には、時間の制約に準拠することに特に注意するべきである。本発明は、ネットワークにおける送信時間が固定されることを保証する。更に、ネットワーク1000において、距離の影響による時間遅れはWAS111の出力において補償される。
各WASノード111は、その消費者(受信機)アプリケーション層でオーディオサンプルを同時に配信する。このオーディオサンプルは、WASノードに共通の固定の遅延後にWSC110の生成器(又は送信側)アプリケーションから到着する。距離の影響による時間遅れは、増幅段階に入る前に各WASノードにおいて補償される。
この図1のネットワーク1000において、1対N(N=6)通信(すなわち、ポイントツーマルチポイント通信(point‐to‐multipoint type communication)はWSCノード110から6つのWASノード111に対して行なわれる。WSCノード及びWASノードの各々はデータを送出(又は送信)及び受信でき、それによりN対N、すなわちマルチポイントツーマルチポイント通信がセットアップされるのが有利である。
以下において、ネットワーク1000におけるWSCノードを介するオーディオコンテンツ等のアプリケーションのブロードキャストの状況を説明する。
本発明の送受信方法(図12〜図18を参照して更に詳細に説明する)は、WSCノード110及びWASノード111等のネットワーク1000のいくつかのマシンにおいて実行されるソフトウェアプログラム及び/又は複数のソフトウェアサブプログラム(以下に説明する複数のアルゴリズムを含む)の形態で実現される。
図2A及び図2Bを参照すると、図1のネットワーク1000のWSCノード110及びWASノード111におけるオーディオデータのサンプルの時間経過のグラフの例が提供される。
図2A(本発明に係る送受信方法のネットワーク1000全体に対する包括的な図を提供する)に示すように、WSCノード110は、時間軸上に表される第1のTDM(「時分割多重方式」)バス201のクロッキングを生成する。この第1のTDMバスにおいて、TDMサイクル開始事象は矢印202により表され、無線メッシュネットワーク101上の送信に対するサイクル開始識別事象(ネットワークサイクル)は矢印203により表される。この図2Aにおいて、第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の1つのサイクル中に、TDM0〜TDM7で示される8つのTDMサイクルが存在する。
無線メッシュネットワーク101のスーパーフレーム(super‐frame)は、7つのMACフレーム210〜216を含む。各MACフレームは、ネットワークサイクル中にメッシュネットワーク101のノードWSC、WAS1、WAS2、WAS3、WAS4、WAS5及びWAS6のうちの1つによるデータの送出に対応する。第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(先入れ先出し法)205.1、チャネル2に関連付けられる第2のデータ送信FIFO205.2、チャネル3に関連付けられる第3のFIFO205.3、チャネル4に関連付けられる第4のFIFO205.4、チャネル5に関連付けられる第5のFIFO205.5、チャネル6に関連付けられる第6のFIFO205.6においてそれぞれ収集される。
これらの例において、TDMサイクル(TDMバスのうちの1つ、すなわち第1のバス201及び第2のバス221の一方の)は、固定の125μsの期間を有し、オーディオサンプリング周波数は96kHzである。これは、各TDMサイクルにおいて、WSCノード110のFIFO205.1〜205.6で使用可能なチャネル毎に12個の新しいオーディオサンプルが存在することを意味する。
図2B(WSCノード110における本発明の送信方法の特定の図を提供する)に更に正確に示すように、WSCノード110は、FIFO205.1〜205.6に収集されたデータから第1のバス201のTDMサイクル204を満たす。そのために、TDMサイクル(125μsの期間)204は、タイムスロットに対応するある特定の数の仮想チャネル、例えば100個の仮想チャネルVC0〜VC99に分解される。オーディオサンプルの大きさと等しい仮想チャネル容量(例えば、24ビット)を例にすると、それら仮想チャネルのうち72個がオーディオチャネル(書き込み動作又は読み出し動作のための)に事前に割り当てられるか又は使用される(図4を参照して以下に示され且つ図8を参照して以下に説明されるように、例えばネットワーク101の各ノードにアクセス可能なTDM配信TDM_MAPレジスタに格納された所定のシーケンスに従って)。残りの28個の仮想チャネルは解放され、他のデータコンテンツを転送するのに使用されてもよい。
通信ノード内のチャネルに対する「読み出し動作」という用語は、通信ネットワークから到着するデータを取得する動作を示し、消費者アプリケーションに対するものである。通信ノード内のチャネルに対する「書き込み動作」という用語は、生成器アプリケーションから到着するデータを取得する動作を示し、通信ネットワークに対するものである。
従って、WSCノードに対して、オーディオコンテンツのために確保された72個の仮想チャネルは読み出しに割り当てられ、各WASノードに対して、それら72個の仮想チャネルのうち12個が書き込みに割り当てられる(各WASノードは、そのWASノードが関連付けられるスピーカにより再現される必要がある1つのオーディオチャネルを有する)。
従って、所定のシーケンスは例えば以下を示す。
サイクル204の第1の仮想チャネルVC0は、第2のFIFO205.2と関連付けられる第2のオーディオチャネル2に割り当てられるため、仮想チャネルVC0内で、WSCノードは第2のFIFO205.2のサンプルを検索し、
サイクル204の第2の仮想チャネルVC1は、第3のFIFO205.3と関連付けられる第3のオーディオチャネル3に割り当てられるため、仮想チャネルVC0内で、WSCノードは第3のFIFO205.3のサンプルを検索し、
...、
サイクル204の第71の仮想チャネルVC71は、第4のFIFO205.4と関連付けられる第4のオーディオチャネル4に割り当てられるため、仮想チャネルVC0内で、WSCノードは第4のFIFO205.4のサンプルを検索する。
サイクル204の第2の仮想チャネルVC1は、第3のFIFO205.3と関連付けられる第3のオーディオチャネル3に割り当てられるため、仮想チャネルVC0内で、WSCノードは第3のFIFO205.3のサンプルを検索し、
...、
サイクル204の第71の仮想チャネルVC71は、第4のFIFO205.4と関連付けられる第4のオーディオチャネル4に割り当てられるため、仮想チャネルVC0内で、WSCノードは第4のFIFO205.4のサンプルを検索する。
WSCノードは、メッシュネットワーク101の1つのサイクルを構成する8つのTDMサイクル中にアプリケーションにより書き込まれたデータを検索し、内部メモリ206に配置される連結集合をセットアップするためにそれらデータを連結する(例えば、インターレース技術を使用して)。それらデータは、メッシュネットワーク101のサイクルC+1中にWSCノードに付与された次の音声時間にMACフレーム210に送出される。同様に、ノードWAS1〜WAS6の各々は、それぞれに割り当てられた(割り付けられた)音声時間を有する。この音声時間中、当該ノードはMACフレーム(211〜216のそれぞれ)を送出する。ノードの割り当てられる(又は割り付けられる)音声時間(speech time)は、
送信シーケンスにおいてそのノードに先行するノードが送出を停止し且つ待ち時間又はギャップを追加された(アンテナの再方向付けを可能にし且つ無線ネットワーク101に固有のジッタを補償するために)時点に依存する開始時間と、
ノードが送信する(バーストモード)必要のあるデータ数に依存する時間間隔と、より規定される。
送信シーケンスにおいてそのノードに先行するノードが送出を停止し且つ待ち時間又はギャップを追加された(アンテナの再方向付けを可能にし且つ無線ネットワーク101に固有のジッタを補償するために)時点に依存する開始時間と、
ノードが送信する(バーストモード)必要のあるデータ数に依存する時間間隔と、より規定される。
WSCノードにより送出された連結パケットは、ノードWAS1〜WAS6の集合により受信され、各ノードは各々に対するデータを検索する。例えば、WASノード2は、第2のTDMバス221上のWSCノードにより送出された上記連結パケットのデータパケット及びその連結パケットから得られるそのノードに対するデータを配信する前に、その連結パケットを内部メモリ207に配置する。
図2Aは、メッシュネットワーク101のCで示されるサイクル中にTDMバス上に存在し且つC+1で示される次のサイクル中にWSC110によりバーストモードで送出されるオーディオサンプルの取得について特に示す。メッシュネットワーク101のC+1で示されるサイクルの第1のTDMサイクルの開始時、FIFO205.1〜205.6はTDMバス201で割り当てられた仮想書き込みチャネルの周期で読み出され、その集合はメモリ206に転送される。これは、FIFO205.1〜205.6で入手可能な新しいオーディオサンプルに対して8TDMサイクル分繰り返される。メッシュネットワーク101のC+1で示されるサイクルの第8のTDMサイクルの終了時、メモリ206は、メッシュネットワーク101の1サイクルの期間に対応する8TDMサイクル中に収集されたオーディオサンプルを含む。メモリ206は、合計で12サンプル×6チャネル×8TDMサイクル=576個のオーディオサンプルを有する。
ネットワークサイクルC+2のWSCノードに与えられる次の音声時間において、WSC110は、無線メッシュネットワーク101においてMACフレーム210を送出する。このMACフレーム210は、そのペイロードデータに上記576個のオーディオサンプルを含む。
各WASノード、特にWASノード2は、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)に格納されたデータを抽出する。図2Aに示すように、ノードWAS2は、チャネル2に対するオーディオサンプルを受信メモリ207から同期ストリーム受信FIFO209に転送するために、そのノードWAS2のTDMバス221に割り当てられた仮想読み出しチャネルを使用する。所定のオーディオチャネルと関連付けられるデータの転送のためにWASのTDMバスに割り当てられた仮想読み出しチャネルは、その所定のオーディオチャネルの同一オーディオデータを転送するためにWSC110のTDMバスに割り当てられた仮想書き込みチャネルに対応する。
従って、図2Bを参照すると、WSC110のTDMバスの仮想チャネルVC1は、オーディオチャネル2のデータの書き込み(生成器アプリケーションのデータの検索)に割り当てられる。ノードWAS2のTDMバスの仮想チャネルVC1は、オーディオチャネル2のデータの読み出し(消費者アプリケーションへのデータの提示)に割り当てられる。
ネットワークサイクルC+2(不図示)に続くネットワークサイクルC+3(不図示)の第1のTDMサイクルの後、FIFO209はオーディオチャネル2に対する12個の新しいオーディオサンプルを含む。これらオーディオサンプルは、ノードWAS2が関連付けられるスピーカ(消費者アプリケーション)に96kHzのサンプリング速度で配信される準備ができている。この動作は、各TDMサイクルで繰り返される。アプリケーションが開始されると、各WASは、第1のTDM読み出しサイクルから得られる最初の12個のオーディオサンプルが受信FIFOに存在するようになるのを待ち、次のTDMサイクルの開始時にスピーカへのデータの転送を開始する。その結果、所定のチャネルと関連付けられる各WASノードは、全てのWASノードに同一の所定の正確な時点でその所定のチャネルのオーディオサンプルをスピーカに配信できる。
従って本発明は、少なくとも一実施形態において、通信ノード内部のデータバスサイクルのTDM、すなわち時分割多重方式の機構に基づく。そのために、読み出し及び書き込みタイムスロットの割り当ては通信ネットワークの全てのノードにわたり配信される。各ノードは、ローカルクロックによりクロック制御され、ネットワークの種々のノードのローカルクロックは位相及び周波数に関して同期される。
各TDMサイクルは、整数M(Mは、例えば少なくともネットワーク上のノード数と等しい)個の仮想チャネルを含む。各仮想チャネルは、ノードによる書き込みに費やされるタイムスロットと関連付けられる。この条件により、各ノードは、メッシュネットワーク101上で通信するためにTDMサイクルにデータを導入できるようにTDMサイクルにおいて少なくとも1つの確保された仮想チャネルを有することが保証される。更に、時分割多重方式、すなわちTDMは、ネットワークの最大のデータビットレートを吸収できるような大きさにされる(特に、TDMサイクル毎の仮想チャネル数及び仮想チャネルのビットでの大きさに関して)のが好ましい。
TDMサイクル中、各ノードは以下を有するのが好ましい。
データを入力するための所定の整数X(X≧1)個の仮想書き込みチャネル
データを取得するための所定の整数Y(M≧X+Y)個の仮想読み出しチャネル。
データを取得するための所定の整数Y(M≧X+Y)個の仮想読み出しチャネル。
ネットワークの各ノードは、ネットワークの各ノードに存在するTDM配信レジスタ又はTDMマップレジスタTDM_MAP415に永続的に格納されたチャネルの配信のテーブルを介して、書き込みモードで割り当てられるTDMサイクルの仮想チャネル、すなわち書き込み割り当てチャネルを判定できる。
各TDMサイクルにおいて、各ノードは、割り当てられた仮想書き込みチャネルを使用して、送信FIFO(例えば、ノードWAS2の場合はFIFO206)にデータサンプルを書き込む。ノードは、割り当てられた仮想書き込みチャネルに書き込まれるデータサンプルが存在しない場合、すなわち対応するアプリケーションFIFO(例えば、WSCに対するFIFO205.1〜205.6のうちの1つ)が空である場合は「ヌル(null)」記号を書き込む。そのような「ヌル」記号の導入により、通信ネットワーク101上のノードの音声時間間隔をアプリケーションのサンプリング周波数(すなわち、アプリケーションにより送出されるデータ量)と無関係にする。
ノードが所定の数のTDMサイクル(メッシュネットワーク101のサイクルの期間に対応する)中に所定の量(書き込みモードでノードに割り当てられた仮想チャネル数に対応する)のデータ集合を連結するということに加え、メッシュネットワーク101上の各ノードの音声時間は、バーストモードにおいて管理され且つ決定論的である。
整数P(P≧1)個のTDMサイクル中、各ノードはTDMバスから収集されたデータを連結する。P個のTDMサイクルの期間は、メッシュネットワーク101のサイクルの期間に対応する。P個のTDMサイクルの終了時、各ノードは、連結データを含むMACデータフレームを作成する。各ノードは、続くネットワークサイクル内でメッシュネットワークに連続的にアクセスしてMACフレームを送出する。
各ノードは、他のノードから到着するMACフレームを受信し、受信したデータを受信FIFOの1つに格納する。少なくともネットワークの待ち時間(例えば、ネットワークサイクルの期間)より長い、ある固定期間の後、各ノードは、ネットワーク上で送出されたMACフレームの集合を受信している。従って、各ノードは次のネットワークサイクルの開始を待つ。この正確な時点において(次のネットワークサイクルの開始時)、各ノードは、読み出しモードで割り当てられる仮想チャネルで受信したデータの抽出を開始する。
TDMマップレジスタTDM_MAP415に格納されたテーブルを介して、各ノードは、読み出しモードで割り当てられた仮想チャネルを認識する。仮想読み出しチャネルの開始を識別する事象の発生時、ノード(仮想チャネルが割り当てられた)は受信時に適切な受信FIFOからデータサンプルを取得する。「ヌル」記号が検出される場合、対応するサンプルは使用されず消去される。任意の他の記号は、その記号が属するオーディオチャネルの消費者アプリケーションに提示するために割り当てられた仮想チャネル内でノードの出力において存在する。
その結果、アプリケーションのデータサンプルは、アプリケーションを事前に受信したノード(サンプルの送信機)の入力において提示された順番と同一の順番でノード(それらサンプルを受信する)の各々の出力において提示される。更に、少なくとも2つの宛先ノードが出力においてデータコンテンツの同一部分を提示する場合、データサンプルが各宛先ノードにおいて同一TDMサイクルの同一タイムスロットで提示されるため、ネットワークのそれらノードの各々は同一の所定の正確な時点においてアプリケーションのデータサンプルを提示する。ここで、宛先ノードのクロックは位相及び周波数に関して同期される。ネットワーク上でブロードキャストされるデータサンプルは、同一の所定の正確な時点でネットワークの複数のノードの出力において提示されてもよい。
図3は、無線メッシュネットワーク101における送信のネットワークサイクル313を提示する。
スーパーフレーム300は、例えば1msの固定期間のネットワークサイクル313の一部である。この期間において、ネットワーク101の各ノードWSC又はWASはその音声時間中に事前定義済みの送信シーケンスに従ってMACフレームを無線メッシュネットワーク101に送出する。従って、フレーム1はWSCノード110により送出され、第2のフレーム(フレーム2)〜第7のフレーム(フレーム7)は第1のWASノード〜第6のWASノードによりそれぞれ送出される。それら第1のMACノード〜第7のMACノードはスーパーフレーム300を形成する。
スーパーフレーム300の第1のフレーム(フレーム1)は、WSCノード110であるマスタノードのMACフレームの送信に対応する。このフレームを「head_frame」と呼ぶ。ノードWAS1〜WAS6はスレーブノードである。WSCノード110は、ネットワークサイクル開始信号203を生成する際にメッシュネットワーク101をクロック制御し且つメッシュネットワークのサイクルを規定するネットワークのノードである。
各MACフレームは、MACヘッダ308及びペイロードデータフィールド309を含む。MACヘッダ308は、
スーパーフレーム300を識別する「SF_id」フィールド310と、
スーパーフレーム中のフレームのシーケンスにおいてMACフレームを識別する「MF_id」フィールド311と、
MACフレームを送出するノードの識別子を含む「NODE_id」フィールド312と、の3つのフィールドを有する。
スーパーフレーム300を識別する「SF_id」フィールド310と、
スーパーフレーム中のフレームのシーケンスにおいてMACフレームを識別する「MF_id」フィールド311と、
MACフレームを送出するノードの識別子を含む「NODE_id」フィールド312と、の3つのフィールドを有する。
「inter_frame316.1〜316.7」で示されるフレーム間の待ち時間又はギャップは、ネットワークの種々のノードにより生成されるジッタを吸収し且つ送信モードと受信モードとの切り替え又はアンテナの再方向付けを可能にするために、フレーム1〜フレーム7のフレーム間で計画される。
図4は、本発明の特定の実施形態に係る無線メッシュネットワーク101の汎用ノード400を示す図である。
例えば、無線メッシュネットワーク101のWSCノード及びWASノードの各々は汎用ノード400と同一である。
汎用ノード400は、以下の5つのモジュールを含む。
データ送信(又は生成)モジュールからデータを取得し且つデータ受信(又は消費)モジュールにデータを提供又は提示する役割を果たすデータ提示モジュール401。
メッシュネットワーク101のノード内でTDM時分割多重方式を実現する役割を果たすTDMマネージャモジュール402a(このモジュール402aは、データ提示モジュール401によりトランスポート層として使用される)。
無線メッシュネットワーク101の実現を可能にし、TDMマネージャモジュール402aの仮想チャネルの形式の構成と以下に説明するMAC同期モジュール403のMACフレームの形式の構成との間の適応を行なうMAC適応モジュール402b。
メディアアクセスプロトコルを実現するMAC同期モジュール403。これは、再送信誤り訂正及びメディアアクセス同期化を管理する。スレーブノードの場合、このモジュールはTDMマネージャモジュール402aのタイミングの同期を行なう。また、以下に説明する無線モジュール404に向けられるか又は無線モジュール404から到着するデータの変調及び復調を実行する。
無線モジュール404は、メディアへのアクセスのアナログ部分である。これは、ミリメートル波を使用して通信(送信/受信)するために適応される。
送信機(又は生成器)アプリケーションから到着するデータは、Fs_INで示される周波数で送信機(又は生成器)アプリケーションにより同期ストリーム送信FIFO(SSTF)408の集合に格納される。
受信機アプリケーションに向けられるデータは、TDMバスマネージャ414によりSSRF(同期ストリーム受信FIFO)407の集合に格納される。これらデータは、Fs_OUTで示される周波数で受信機アプリケーションにより読み出される。
アプリケーションは、同期メッセージ受信FIFO(SMRF)410の集合及び同期メッセージ送信FIFO(SMTF)の集合を含む1組のFIFO及びコマンドマネージャインタフェース409を使用して制御コマンドを送受信できる。汎用ノード400は、TDMバスマネージャ414により使用される基準クロック405を含み、TDMサイクル及びネットワークサイクルを規定する。この基準クロックは、位相同期ループ(PLL)406によっても使用され、周波数Fs_OUTを生成する。
周波数Fs_OUTを生成するための位相同期ループ(すなわちPLL)406の構成は、コマンドマネージャインタフェース409により達成される。汎用ノード400の入力において、コマンドマネージャノード409は、同期メッセージ送信FIFO411を介して周波数Fs_INの値を検出及び送信する。遠隔ノード(すなわち、ノード400に対して遠隔)において、この遠隔ノードのコマンドマネージャインタフェースは、この遠隔ノードの同期メッセージ受信FIFOを介して周波数Fs_INの値を受信する。従って、遠隔ノードは、同一の周波数の値を配信するために位相同期ループを構成できる。
TDMバスマネージャ414は、データバス435を制御する。データバス435は、以下のFIFO、すなわちSSRF407、SSTF408、SMRF410、SMTF411と、「ヌルアナライザ416」と呼ばれる「ヌル」値を解析するためのデバイス416と、「ヌルインサータ418」と呼ばれる「ヌル」値を挿入するためのデバイス418とを接続する。TDMバスマネージャ414は、上述のTDMマップレジスタTDM_MAP415により規定されるようなTDM仮想チャネル上にアプリケーションデータを配信する。
各TDMサイクルにおいて、TDMバスマネージャ414は、書き込みモードで割り当てられた全ての仮想チャネルに対してSSTF FIFO408又はSMTF FIFO411から送信機アプリケーションのデータを読み出すようにヌルインサータデバイス418に要求する。全ての割り当てられた仮想チャネルを満足する程に十分なデータがSSTF及びSMTF FIFOに存在しないということが発生する可能性がある。この場合、ヌルインサータデバイス418は、あるデータ量が失われている書き込み割り当て仮想チャネルを満たすように「ヌル」記号を追加する。
更に各TDMサイクルにおいて、TDMバスマネージャ414は、SyncRF_from_MAC FIFO417からTDM値を取得するようにヌルアナライザデバイス416に要求する。それらデータは、TDMマップレジスタTDM_MAP415を使用してSSRF407又はSMRF410に書き込まれる。ある特定の仮想チャネルは「ヌル」記号を有するTDMデータストリームを搬送する。ヌルアナライザデバイス416は、「ヌル」記号がTDMバスマネージャ414によりアプリケーションデータとして解釈されないように「ヌル」記号を処理する。「ヌル」記号がヌルインサータデバイス418により挿入されたため、それら記号は受信機(又は消費者)アプリケーションに通信されるべきではない。書き込みモードで割り当てられた対応する仮想チャネルは空のままである。送信機(又は生成器)アプリケーションのビットレートに関わらず、各ネットワークサイクルにおいて同一データ量が汎用ノード400により送出されること、すなわち汎用ノード400が生成するMACフレームがネットワークサイクル間で固定の大きさを有することを保証するために、「ヌル」記号は使用される。更に受信機(消費者)アプリケーションは、周波数Fs_OUTでデータを検索する。周波数Fs_OUTは、送信機(又は生成器)アプリケーションにより使用される周波数Fs_INに対応し、以下に説明するようにデータの送信(又は生成)をクロック制御する。「ヌル」記号が受信機(又は消費者)アプリケーションに送信されないため、受信機(又は消費者)アプリケーションは、送信機アプリケーションが送信したデータをそれ以上受信せず、従ってデータの受信における時間遅れを防止し、SSRF FIFO407のオーバフローを防止する。「ヌル」記号により、データがある特定のTDMサイクル数前にこの同一のデータを送出するためにソースノード上で使用された仮想チャネルと同一の仮想チャネル内でデータが提示されることを保証できる。
「MAC」適応モジュール402bのMACアダプタ428は、各TDMサイクルにおいてSyncTF_to_MAC MAC FIFO419からの書き込み割り当て仮想チャネルからデータを取得する。MACアダプタ428は、データブロックを形成するチャンクにTDM仮想チャネルを構成する。MACフレームで搬送されたデータは、それらが関連付けられる仮想チャネルの関数としてグループ化される。MACアダプタ428は、リンク457を使用してTDMマップレジスタTDM_MAP415にアクセスすることにより書き込みモード(及び読み出しモード)で使用される仮想チャネルの割当てを認識する。それらチャンクは構築されると、MACコントローラ420により配信されるTx_cycle_event451(汎用ノード400の音声時間の開始を示す)で示される信号の受信中にMACフレームの形式で符号化モジュール424に送信される。その後それらチャンクは、汎用ノード400により送出されるMACフレームのペイロードデータ309を構成する。
同時に、信号Tx_cycle_event451が活性化されると、符号化モジュール424は、フィールドSF_id310、MF_id311及びNODE_id312に事前定義済みの値を割り当てる。
FEC(「順方向誤り訂正(Forward Error Correction)」)による訂正は、MACフレームがMACフレーム変調器425に送信される前に符号化モジュール424によりMACフレームに対して行なわれるのが有利である。
逆に、MACフレームがMACフレーム復調器422により受信されると、MACフレームは、FECによる訂正を実行できるMACフレーム復号器423に送信される。
MACフレームのヘッダが正確である場合、frame_Rx_eventで示される信号がリンク454を使用して活性化されるのと同時に、MACヘッダ308のMF_id311フィールドのframe_Rx_frame_idで示されるコピーがMACコントローラ420に送出される。この情報は、アクセス制御を同期させるために使用される。
同時に、MACヘッダ308のフィールドSF_id310のframe_Rx_eventで示されるコピー及びフィールドNODE_id312のframe_Rx_Node_idで示されるコピーは、リンク453を介してMACアダプタ428に送出される。MACアダプタ428は、MACフレーム復号器423により配信されるMACフレームのペイロードデータフィールド309のデータブロックを読み出し、それらをメモリに格納する。MACアダプタ428は、チャンク形式でMACフレーム復号器423から到着するデータを受信する。すなわち、MACフレームで搬送されるデータは、それらが関連付けられる仮想チャネルに従ってグループ化される。MACアダプタ428は、TDMサイクルからTDMサイクルへ、バス435で提示されるべき順番に従ってSyncRF_from_MAC FIFO417にデータを挿入するようにデータを再順序付けする役割を果たす。MACアダプタ428は、リンク457を使用してTDMマップレジスタTDM_MAPにアクセスすることにより読み出しモード(及び書き込みモード)で使用される仮想チャネルの割当てを認識する。
MACコントローラ420は、音声時間の開始(信号Tx_cycle_event451の生成)を判定し且つスレーブノードに対するネットワークサイクルの開始を表す信号(信号SF_slave_cycle_start524)を生成するために、MAC同期処理を実現する役割を果たす。信号Tx_cycle_event451は、送信シーケンスにおいてそのノードに先行するノードが送信を中止し、アンテナの再方向付けを可能にし且つ無線ネットワーク101に固有のジッタを補償するために待ち時間間隔(又はギャップ)が追加された後、ノードがネットワーク上で送信又は送出を開始できる時点を示す。
尚、マスタノードの場合、ネットワークサイクルの開始を表す信号は、信号SF_master_cycle_start520であり、TDMバスマネージャ414により生成される。MACコントローラ420は、信号Antenna_Ctrl455を使用して受信時にアンテナ112の向きをチェックする。ここでは、メッシュネットワーク101の実現例の特定のモードにおいて、全てのノードが送信機ノードによりブロードキャストされる情報を受信すると同時に無線信号の送信に必要な電力を制限するために、ノードは、受信時にそれらの無線アンテナを方向付けし、送信時に全方向性モードでそれらアンテナを使用する場合が考えられる。
RF(無線周波数)送信モジュール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の比較器504が第1のカウンタ501の出力とTDMサイクルの期間を示す信号TDM_cycle_duration513の値とを比較するように、第1のカウンタ501の出力は、第1の比較器504の入力512に接続される。第1のカウンタ501が信号TDM_cycle_duration513の値に達すると、第1の比較器504の出力531は値1に切り替わり、第1のカウンタ501は以下に説明する信号530により再設定される。
その結果、出力531におけるパルスは各TDMサイクルにおいて生成される。パルスは信号TDM_cycle_start531を構成するため、各TDMサイクルの開始を印付ける。
第2のカウンタ502は、TDMサイクル数をカウントする。比較器がその出力とメッシュネットワーク101のサイクル毎のTDMサイクル数を示す信号Nb_TDM_per_SF516の値とを比較するように、その出力は第2の比較器505の入力515に接続される。第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)である場合、マルチプレクサ508の出力532をSF_master_cycle_start信号520に接続するために、信号SEL523はマルチプレクサ508の入力に適用される。
汎用ノード400がスレーブノード(ノードWAS1〜WAS6)である場合、マルチプレクサ508の出力532を信号SF_slave_cycle_start524に接続するために、信号SEL523はマルチプレクサ508の入力において適用される。
信号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、ヌルインサータデバイス418、SSTF FIFO408の集合(簡単のために単にSSTF FIFOと呼ぶこともある)、SMTF FIFO411の集合(簡単のために単にSMTF FIFOと呼ぶこともある)及びSyncTF_to_MAC FIFO419の間のやり取りを示す。
図4を参照して上述したように、アプリケーションは、アプリケーションのサンプリング周波数Fs_INでSSTF FIFO408にデータサンプルを書き込み、SMTF FIFO411にコマンドサンプルを書き込む。
サンプルの大きさは、16ビット、24ビット、48ビット、64ビット又は任意の他の大きさでもよい。
SSTF FIFO408の集合はSSTF[0]〜SSTF[m]で示されるm+1個のFIFOを含み、SMTF FIFO411の集合はSMTF[0]〜SMTF[n]で示されるn+1個のFIFOを含むと仮定する。図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及びSMTF FIFOの大きさは、TDMサイクル中に送信機(又は生成器)アプリケーションにより与えられるアプリケーションデータの最大量を吸収できるように選択される。この最大量は、アプリケーションデータサンプルの大きさ及び周波数Fs_INを使用して算出される。
TDMバスマネージャ414は、ヌルインサータデバイス418により読み出されるべきFIFOを選択するために使用された信号FIFO_Enable[0, m+n+1]602を制御する。ヌルインサータデバイス418が選択されたFIFOに接続されるように、信号FIFO_Enable[0, m+n+1]602はマルチプレクサ600を構成するのに使用される。ヌルインサータデバイス418とSSTF/SMTF FIFOとの間のデータバスの大きさは48ビットであり、これはTDMバスの仮想チャネルの大きさである。
ヌルインサータデバイス418は、SyncTF_to_MAC FIFO419にデータを更に書き込む。この場合、ヌルインサータデバイス418が仮想チャネルの妥当性に関する情報を与えるヘッダビットを追加するため、データバスは49ビットの大きさを有する。このヘッダビットは、SyncTF_to_MAC FIFO419に書き込まれたデータの最上位ビット(MSB)である。ヘッダビットは、仮想チャネルが有効であることを示すために値1をとり、ヌルインサータデバイス418がSyncTF_to_MAC FIFO419にヌル記号を書き込むことを示すために値0をとる。例えば、「ヌル」記号は値0で符号化される。
SyncTF_to_MAC FIFO419の大きさは、TDMサイクル中に全ての仮想チャネルのデータを吸収できるように選択される。コマンドインタフェース601はTDMバスマネージャ414により使用され、図12及び図13aのアルゴリズムを参照して以下に説明されるように、各書き込み割り当て仮想チャネルを処理するようにヌルインサータデバイス418に要求する。
図7は、本発明の特定の実施形態に係る汎用ノード400において、TDMバスマネージャ414、ヌルアナライザデバイス416、SSRF FIFO407の集合(簡単にするために単にSSRF FIFOと呼ぶこともある)、SMRF FIFO410の集合(簡単にするために単にSMRF FIFOと呼ぶこともある)及びSyncRF_from_MAC FIFO417の間のやり取りを示す。
図4を参照して上述したように、アプリケーションは、アプリケーションのサンプリング周波数Fs_OUTでSSRF FIFO407からデータサンプルを読み出し、SMRF FIFO410から制御サンプルを読み出す。
サンプルの大きさは、16ビット、24ビット、48ビット、64ビット又は任意の他の大きさであってもよい。
SSRF FIFO407の集合はSSRF[0]〜SSRF[k]で示されるk+1個のFIFOを含み、SMRF FIFO411の集合はSMRF[0]〜SMRF[j]で示されるj+1個のレジスタを含むと仮定する。図7は、SSRF[0]407.0、SSRF[1]407.1、SSRF[k]407.k、SMRF[0]410.0、SMRF[1]410.1及びSMRF[j]410.jのレジスタのみをそれぞれの制御(Ctrl)及びデータ(Data)信号と共に示す。SSRF及びSMRF FIFOの大きさは、TDMサイクル中に受信機(又は消費者)アプリケーションに提示される可能性のあるアプリケーションデータの最大量を吸収できるように選択される。この最大量は、アプリケーションデータサンプルの大きさ及び周波数Fs_OUTを使用して算出される。
TDMバスマネージャ414は、ヌルアナライザデバイス416により書き込まれるべきFIFOを選択するために使用された信号FIFO_Enable[0, k+j+1]702を制御する。ヌルアナライザデバイス416が選択されたFIFOに接続されるように、FIFO_Enable[0, k+j+1]信号702はマルチプレクサ700を構成するのに使用される。ヌルアナライザデバイス416とSSRF/SMRF FIFOとの間のデータバスの大きさは48ビットであり、これはTDMバスの仮想チャネルの大きさである。
ヌルアナライザデバイス416は、SyncRF_from_MAC FIFO417にデータを更に読み込む。この場合、仮想チャネルがチャネルの妥当性に関する指示を与えるヘッダビットと関連付けられるため、データバスは49ビットの大きさを有する。
ヌルアナライザデバイス416は、SyncRF_from_MAC FIFO417に読み込まれたデータのヘッダビット(これはMSB、すなわち最上位ビットである)を抽出する。ヘッダビットが値1を有する場合、仮想チャネルのデータサンプルは選択されたFIFO(SSRF又はSMRF FIFO)に書き込まれる。ヘッダビットが「ヌル」記号に対応する値0を有する場合、仮想チャネルのデータ(すなわち、「ヌル」記号)は除去される。
SyncRF_from_MAC FIFO417の大きさは、TDMサイクル中に全ての仮想チャネルのデータを吸収できるように選択される。コマンドインタフェース701はTDMバスマネージャ414により使用され、図12及び図13bのアルゴリズムを参照して以下に説明されるように、各読み出し割り当て仮想チャネルを処理するようにヌルアナライザデバイス416に要求する。
図8は、本発明の特定の実施形態に係るTDMマップレジスタTDM_MAP415の一例を示す。
TDMマップレジスタTDM_MAP415は、各仮想チャネルに対して32ビットのメモリゾーンを含む。
TDMマップレジスタTDM_MAP415のデータは、以下に与えられるように仮想チャネルの番号付けに従って順序付けされる。すなわち、仮想チャネル0に対応するメモリゾーンがレジスタの32ビットに割り当てられた第1のオフセットアドレスにあり、仮想チャネルnに対応するメモリゾーンがレジスタの32ビットに割り当てられた第nのオフセットアドレスにある。
所定の仮想チャネルのメモリゾーン800は、以下の6つのフィールドを含む。
仮想チャネルの特性を識別する2ビットの「function」フィールド801。例えば、b00は「読み出しモードの仮想チャネル」を意味し、b01は「書き込みモードの仮想チャネル」を意味し、b1xは「未使用の仮想チャネル」を意味する。
仮想チャネルと関連付けられたSSRF FIFOを識別する6ビットの「SSRF」フィールド802。例えば、b000000はFIFO SSRF[0]であることを意味し、b000001はFIFO SSRF[1]であることを意味し、b111111は仮想チャネルと関連付けられたSSRF FIFOがないことを意味する。
仮想チャネルと関連付けられたSMRF FIFOを識別する6ビットの「SMRF」フィールド803。例えば、b000000はFIFO SMRF[0]であることを意味し、b000001はFIFO SMRF[1]であることを意味し、b111111は仮想チャネルと関連付けられたSMRF FIFOがないことを意味する。
仮想チャネルと関連付けられたSSTF FIFOを識別する6ビットの「SSTF」フィールド804。例えば、b000000はFIFO SSTF[0]であることを意味し、b000001はFIFO SSTF[1]であることを意味し、b111111は仮想チャネルと関連付けられたSSTF FIFOがないことを意味する。
仮想チャネルと関連付けられたSMTF FIFOを識別する6ビットの「SMTF」フィールド805。例えば、b000000はFIFO SMTF[0]であることを意味し、b000001はFIFO SMTF[1]であることを意味し、b111111は仮想チャネルと関連付けられたSMTF FIFOがないことを意味する。
任意の次のアプリケーションのために確保される6ビットの「reserved」フィールド806。
図9は、本発明の特定の実施形態に係るMACアダプタ428のアーキテクチャの一例を示す。
MACアダプタ428は、メモリ900(例えばRAM、すなわち「ランダムアクセスメモリ」)、Mux_demuxレジスタ906及び以下の4つのモジュールを含む。
チャンク又はコンテナを作成するように、メモリ900におけるSyncTF_to_MAC FIFO419のTDMバスの仮想チャネルの構成を管理する送信チャンクマネージャモジュール901。この送信チャンクマネージャ901は、データの書き込みに対して基底アドレスを与えるレジスタRefBaseAddrRegister911を使用してメモリ900に対するインタフェースとなる。
MACフレームの形式でメモリ900から送信されるチャンクの符号化モジュール424への転送を管理するMAC層への送信のためのモジュールTx_To_MAC902。Tx_To_MACモジュール902は、データの読み出しに対して基底アドレスを与えるレジスタTxToMACBaseAddrRegister912を使用してメモリ900に対するインタフェースとなる。
MACフレーム復号器423から受信されるチャンクのメモリ900への転送を管理するMAC層からの受信のためのモジュールRx_From_MAC903。モジュールRx_From_MAC903は、データの書き込みに対して基底アドレスを与えるレジスタRxFromMACBaseAddrRegister913を使用してメモリ900に対するインタフェースとなる。
メモリ900のチャンクからのデータの抽出及びSyncRF_From_MAC FIFO417への抽出データの書き込みを管理するTDMバスに対する受信のためのモジュールRx_To_TDM904。モジュールRx_To_TDM904は、データの読み出しに対して基底アドレスを与えるレジスタRxToTDMBaseAddrRegister914を使用してメモリ900に対するインタフェースとなる。
TDMバスマネージャ414から到着する信号TDM_cycle_startにより規定されるTDMサイクルの各々の開始時、送信チャンクマネージャモジュール901は、SyncTF_to_MAC FIFO419のコンテンツを読み出す。このコンテンツは、先行するTDMサイクル中に収集されたヘッダビットを有する仮想チャネルからのデータを含む。各データは、TDMマップレジスタTDM_MAP415のレジスタに含まれ且つリンク457を使用して取得される情報を使用して規定されたアドレスにおいてメモリ900に書き込まれる。
TDMバスマネージャ414から到着する事象SF_cycle_startにより規定されるメッシュネットワーク101のサイクルの各々の開始時、MACアダプタ428は、先行するネットワークサイクル中に仮想チャネル上のデータを収集している。メモリ900において、仮想チャネルのデータは、図10を参照して以下に示すようにチャンクに配置される。MACコントローラ420から到着する信号Tx_cycle_event451の受信に続き送信チャンクマネージャモジュール901から到着する信号ReadyForTx916を受信すると、モジュールTx_To_MAC902は、TDMマップレジスタTDM_MAP415に含まれる情報を使用して規定されるアドレスにメモリ900から送信されるデータチャンクを読み出し、データチャンクをMACフレームの形式で符号化モジュール424に書き込む。モジュールTx_To_MAC902は、送信チャンクマネージャモジュール901から到着する信号ReadyForTx916を受信しており、それに対するチャンクの読み出しに集中する。
リンク454上での事象frame_Rx_eventを受信すると、モジュールRx_From_MAC903は、MACフレーム復号器423から受信したデータチャンク(data chunks)を読み出し、リンク454により取得されるパラメータframe_Rx_Node_id及びレジスタMux_demux906に含まれる情報を使用して規定されるアドレスにおいてメモリ900にそれらデータチャンクを書き込む。実際には図11を参照して以下に説明するように、レジスタMux_demux906は、それらチャンクの識別、すなわちメッシュネットワーク101の各ノードにより生成されたフレームに存在するそれら仮想チャネルの識別を可能にする。
TDMバスマネージャ414から到着する事象SF_cycle_startにより規定されるネットワークサイクルの各々の開始時、モジュールRx_To_TDM904は、受信され且つメモリ900に格納されたチャンクのヘッダビットを有するTDM仮想チャネルのデータを読み出す。この読み出し動作のためのアドレスは、TDMマップレジスタTDM_MAP415に含まれ且つリンク457を使用して取得される情報を使用して規定される。ヘッダビットを有するTDM仮想チャネルのデータは、SyncRF_from_MAC FIFO417に書き込まれる。それら動作は、ネットワークサイクルの終了まで新しいTDMサイクルの開始を指示する信号であるTDM_cycle_startを受信する度に繰り返される。
TDMバスマネージャ414から到着するSF_cycle_startにより規定されるネットワークサイクルの各々の開始時、レジスタRefBaseAddrRegister911はメモリ900の3つの可能な基底アドレス値(base address values)のうち1つを取得する。図10を参照して以下に説明するように、メモリ900は3つの区画(compartments)に分割される。それら区画の各々は以下のことをするために交互に使用される。
TDMバスから到着するデータからMAC層に送出されるチャンクを構築する。
MAC層にチャンクを送出し、MAC層からチャンクを受信する。
TDMバスにデータを送出するためにチャンクを分解する。
ネットワークサイクルの各変更時、送信チャンクマネージャモジュール901、Tx_To_MAC902、Rx_From_MAC903及びRx_To_TDM904は異なるメモリゾーンを使用し、そのため異なる基底アドレスを使用する。レジスタRefBaseAddrRegister911に含まれる情報は、リンク915を使用してモジュールTx_To_MAC902、Rx_From_MAC903及びRx_To_TDM904に送信され、レジスタTxToMacBaseAddrRegister912、RxFromMacBaseAddrRegister913及びRxToTDMBaseAddrRegister914は、リンク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まで同様である。例えばチャンクヘッダは、チャンクと関連付けられた仮想チャネルのデータに対してヌルインサータデバイス418により各TDMサイクルに追加されたヘッダビットの連結である。
Mは、TDMサイクル毎の仮想チャネル数である。メモリ900の各区画は、ネットワークサイクルの期間の全ての仮想チャネルを含んでもよい。チャンクは、最小のチャンク番号から最大のチャンク番号へそれらのチャンク番号の関数として順序付けされる。仮想チャネルは、最小の仮想チャネル番号から最大の仮想チャネル番号へそれらの番号の関数として順序付けされる。
チャンクヘッダの大きさは「ChunkHeaderSize」フィールドに含まれ、チャンクの大きさは「ChunkSize」フィールドに含まれ、仮想チャネルの大きさは「VcSize」フィールドに含まれる。メモリ900に対する48ビットの仮想チャネル及び48ビットのデータバスの場合、フィールド「VcSize」は値1を有し、フィールドChunkSizeは値P+ChunkHeaderSizeを有し、フィールドChunkHeaderSizeは値Int(P/48)+1を有する。尚、Int()は「整数部」関数("integer part" function)である。
各ネットワークサイクルにおいて、特定のタスクがメモリ900の各区画に割り当てられる。例えば、所定のネットワークサイクル中、
第1の区画はTDMバスから到着するチャンクを配置するために使用される(例えば、ネットワークサイクルCと関連付けられたデータ)。
第1の区画はTDMバスから到着するチャンクを配置するために使用される(例えば、ネットワークサイクルCと関連付けられたデータ)。
第2の区画は、メッシュネットワーク101への送信又はメッシュネットワーク101からの受信のために使用される(ネットワークサイクルC−1と関連付けられたデータ)。
第3の区画は、チャンクの分解及びTDMバスに向かう仮想チャネルの抽出を実行するために使用される(ネットワークサイクルC−2と関連付けられたデータ)。
次のネットワークサイクル中、
第1の区画は、メッシュネットワークへの送信又はメッシュネットワークからの受信のために使用される。
第1の区画は、メッシュネットワークへの送信又はメッシュネットワークからの受信のために使用される。
第2の区画は、TDMバスに向かう仮想チャネルの抽出を実行するために使用される。
第3の区画は、TDMバスから到着するチャンクを配置するために使用される。
レジスタRefBaseAddrRegister911は、メモリ900の3つの基底アドレスを基底アドレス2、基底アドレス1及び基底アドレス0の順番で連続的に選択する。基底アドレスの値の変更は、上述したように、信号SF_cycle_startの受信により起動される。
図11は、本発明の特定の実施形態に係るレジスタmux_demux906のアーキテクチャの一例を示す。
レジスタmux_demux906は、各ノードにより送信されるチャンクのリストを提供する。レジスタは、各ノードと関連付けられる。データは、ネットワークのノードの番号付けに従って編成される。ノード0のチャンクに対応するメモリゾーンは第1のオフセットアドレスにあり、ノードnのチャンクに対応するメモリゾーンは第nのオフセットアドレスにある。各レジスタに対して、位置Iのビット値は、チャンク番号Iがそのノードにより送信されるかを示す。値0bは、チャンクがノードにより送信されないことを示し、値1bはチャンクがノードにより送信されることを示す。
図12は、本発明の特定の実施形態に従って、ネットワークサイクルの期間においてTDMバスマネージャ414により実行される処理アルゴリズムの主なステップを示す。
再設定段階(reset phase)の後、ステップ1200のネットワークサイクルの開始時、TDMバスマネージャ414は待ち状態(waiting)又はアイドル状態(idle state)である。信号SF_cycle_startにより特徴付けられるネットワークサイクルの開始時、ステップ1201において、汎用ノード400は読み出し/書き込み動作を開始できる。汎用ノード400がスレーブノードである場合、それは、スレーブノードがマスタノードと同期されたことを意味する。
ステップ1202において、仮想チャネルカウンタTDM_VCは0に再設定される。ステップ1203において、TDMバスマネージャ414は、カウンタTDM_VCの値により規定されるオフセットアドレスにおいてTDMマップレジスタ415のレジスタを読み出す。TDMバスマネージャ414は、現在の仮想チャネルの機能(読み出し又は書き込み)に関する情報及び選択されるアプリケーションのFIFO(SSRF407、SSTF408、SMRF410又はSMTF411)に関する情報を取得する。
ステップ1204において、現在の仮想チャネルが書き込み割り当て仮想チャネルであるかを確認するためのチェックが行なわれる。現在の仮想チャネルが書き込み割り当て仮想チャネルである場合、ステップ1205において、TDMバスマネージャ414は読み出されるべき(アプリケーション)送信FIFO(SSTF408又はSMTF411)を選択する。このステップにおいて、図6を参照して上述したように、TDMバスマネージャ414は信号FIFO_Enable[i]を活性化する。iはTDMマップレジスタ415から抽出される値である。
ステップ1206において、選択されたFIFOに対して読み出し動作を実行するためのコマンドを含む要求は、ヌルインサータデバイス418に送出される。ステップ1210において、TDM_VCの値は1増分される。
現在の仮想チャネルが書き込み仮想チャネルでない場合、ステップ1207において、TDMバスマネージャ414は、現在の仮想チャネルが読み出し仮想チャネルであるかを確認する(読み出し仮想チャネルでない場合、それは、仮想チャネルがデータの送信に割り当てられていないことを意味する)。現在の仮想チャネルが読み出し仮想チャネルである場合、ステップ1208において、TDMバスマネージャ414は書き込まれるべき(アプリケーション)受信FIFO(SSRF407又はSMRF410)を選択する。このステップにおいて、図7を参照して上述したように、TDMバスマネージャ414は信号FIFO_Enable[i]を起動する。iはTDMマップレジスタ415から抽出される値である。
ステップ1209において、選択されたFIFOへの書き込み動作を実行するためのコマンドを含む要求は、ヌルアナライザデバイス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は新しいTDMサイクルを処理するためにステップ1202を再度実行する。
図13a及び図13bは、本発明の特定の実施形態に従って、ヌルインサータデバイス418(図13a)及びヌルアナライザデバイス416(図13b)により実行される処理アルゴリズムの主なステップを示す。
図13aを参照すると、再設定段階の後のステップ1300において、ヌルインサータデバイス418は、TDMバスマネージャ414から到着する(アプリケーション)送信FIFO(SSTF408又はSMTF411)を読み出すための要求を待つアイドル状態である。ステップ1301において、ヌルインサータデバイス418は、(アプリケーション)送信FIFO(SSTF408又はSMTF411)の選択を識別するこの種の要求を受信する。ステップ1302において、ヌルインサータデバイス418は、選択されたFIFOが空であるかを確認する。
選択されたFIFOが仮想チャネルの容量(48ビット)より少ない入手可能なデータ量を有するため、FIFOが空であると宣言される場合、ステップ1303において、ヌルインサータデバイス418は仮想チャネルに対するデータサンプルのヘッダビットに値0を割り当てる。ステップ1304において、ヌルインサータデバイス418は、ヘッダを「ヌル」記号と連結される0で(この場合、値0において48ビットと等しい)データサンプルをFIFO SyncTF_to_MAC419に書き込む。その後、ステップ1300は再度実行される。
選択されたFIFOが空であると宣言されなかった場合、ステップ1305におて、ヌルインサータデバイス418は選択されたFIFOの48ビットデータサンプルを読み出す。ステップ1306において、ヌルインサータデバイス418は仮想チャネルに対するデータサンプルのヘッダビットに値1を割り当てる。ステップ1307において、ヌルインサータデバイス418は、ヘッダを選択されたFIFOのデータと連結される1でデータサンプルをSyncTF_to_MACFIFO419に書き込む。その後、ステップ1300が再度実行される。
図13bに関して、再設定段階後のステップ1310において、ヌルアナライザデバイス416は、TDMバスマネージャ414からの(アプリケーション)受信FIFO(SSRF407又はSMRF410)に書き込むための書き込み要求を待つアイドル状態である。ステップ1311において、ヌルアナライザデバイス416は、(アプリケーション)受信FIFO(SSRF407又はSMRF410)の選択を識別するこの種の要求を受信する。ステップ1312において、ヌルアナライザデバイス416は、SyncRF_from_MAC FIFO417が空であるかをチェックする。
SyncRF_from_MAC FIFO417において入手可能なサンプルがないため、FIFOが空であると宣言された場合、ステップ1310が再度実行される。
SyncRF_from_MAC FIFO417が空であると宣言されなかった場合、ステップ1313において、ヌルアナライザデバイス416はSyncRF_from_MAC FIFO417の49ビットデータサンプルを読み出す。ヌルアナライザデバイス416は、仮想チャネルの有効ビットに対応する最上位ビットをデータサンプルから抽出する。ステップ1314において、ヌルアナライザデバイス416は、ヘッダビットの値が0であるかを確認する。
ヘッダビットの値が0である場合、仮想チャネルは、汎用ノード400の遠隔ノード(ソースノード)のヌルインサータデバイス418により挿入されたヌル記号を含む。その後、データは除去され、ステップ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はFIFO SyncTF_to_MAC419に含まれるデータ量を読み出す。読み出されたデータ量は、TDMバスの仮想チャネルの大きさと等しい。それらデータは、先行するステップにおいて見つけられた仮想チャネルにおいてTDMバスに送出されたデータに対応する。VCnumにより識別された仮想チャネルと関連付けられるチャンクの作成を保証するために、送信チャンクマネージャモジュール901は以下の合計により規定されるオフセットアドレスのメモリ900にそのデータを書き込む。
(VCnum * ChunkSize) + ChunkHeaderSize + (TDM_cycle * VcSize)
式中、ChunkSizeはデータチャンクの大きさであり、ChunkHeaderSizeはデータチャンクヘッダの大きさであり、VcSizeは仮想チャネルの大きさである。
式中、ChunkSizeはデータチャンクの大きさであり、ChunkHeaderSizeはデータチャンクヘッダの大きさであり、VcSizeは仮想チャネルの大きさである。
送信チャンクマネージャモジュール901は、乗算:VCnum * ChunkSizeにより規定されるアドレスにおいて当該チャンクのヘッダをメモリ900に書き込むか又はヘッダを更新する。本発明の実現例の特定のモードにおいて、チャンクのペイロードデータ部分に格納されたデータは、チャンクと関連付けられた仮想チャネルに送出されたデータ(TDMサイクル毎に48ビット)である。チャンクのヘッダは、仮想チャネルに対してヌルインサータモジュール418により追加されたヘッダをTDMサイクル毎に含む。
ステップ1406bにおいて、送信チャンクマネージャモジュール901は、TDMマップレジスタ415に含まれる情報を使用して、ステップ1403bにおいて行なわれたのと同様に書き込みモードで割り当てられた次の仮想チャネルを要求し判定する。その後、ステップ1404は再度実行される。
ステップ1404において、VCnumが−1である場合、それは、TDMサイクルの全ての書き込み割り当て仮想チャネルが処理されたことを意味し、ステップ1405において、仮想チャネルカウンタTDM_cycleは1増分される。ステップ1407において、送信チャンクマネージャモジュール901は、現在のTDMサイクルが現在のネットワークサイクルの最後のTDMサイクルであるかを確認する。
現在のTDMサイクルが現在のネットワークサイクルの最後のTDMサイクルでない場合、ステップ1408において、送信チャンクマネージャモジュール901は次のTDMサイクルの開始(信号(又は事象)TDM_cycle_startの到着により特徴付けられる)を待つ。ステップ1403が次のTDMサイクルに対して再度実行される前に、ステップ1409において、TDM_cycle_start信号は受信される。
現在のTDMサイクルが現在のネットワークサイクルの最後のTDMサイクルである場合、ステップ1410において、送信チャンクマネージャモジュール901は次のネットワークサイクルの開始(信号SF_cycle_startの到着により特徴付けられる)を待つ。ステップ1411において、信号SF_cycle_startが受信される。その後、送信チャンクマネージャモジュール901はメッセージReadyForTx916を生成する。ステップ1402が次のネットワークサイクルに対して再度実行される前に、送信チャンクマネージャモジュール901は、メッシュネットワーク101上で送出されるチャンクの可用性を通知するためにモジュールTx_To_MAC902にメッセージReadyForTx916を送出する。
図15は、本発明の特定の実施形態に従って、MACアダプタ428のMAC層への送信のモジュールTx_To_MAC902により実現される処理アルゴリズムの主なステップを示す。
再設定段階の後のステップ1500において、MAC層への送信のためのモジュールTx_To_MAC902は、送出されるフレームに挿入されるチャンクの作成を完了したことを通知する送信チャンクマネージャモジュール901から到着する信号ReadyForTx916を待つアイドル状態である。ステップ1501において、モジュールTx_To_MAC902は信号ReadyForTx916を受信する。
ステップ1502において、モジュールTx_To_MAC902は、現在のネットワークサイクル中のネットワーク上での送信のために汎用ノード400(そのモジュールが属する)に付与された音声時間の開始(信号Tx_cycle_event451の受信により特徴付けられる)を待つ。
信号(又は事象)Tx_cycle_eventを受信すると(ステップ1503)、モジュールTx_To_MAC902は、MACフレームの形式でデータチャンクを符号化モジュール424に送信できる。ステップ1504において、モジュールTx_To_MAC902は、ステップ1403bを参照して上述したように次の書き込み仮想チャネルの番号を取得する。
その結果は、送信される次のチャンクの番号に対応する(ステップ1504がネットワークサイクルで初めて実行される時)。更に、メモリ900へのアクセスのための基底アドレスの選択を可能にするレジスタTxToMacBaseAddrRegisterは、リンクrefBaseAddr915を使用して取得された情報に基づいて更新される。
ステップ1505において、モジュールTx_To_MAC902は、別のチャンクがそのネットワークサイクルに対して処理される必要があるかを確認する。処理される必要がある場合、ステップ1500が再度実行される。処理される必要がない場合、ステップ1506において、モジュールTx_To_MAC902は、乗算VCnum * ChunkSizeにより規定されるメモリアドレスから開始してメモリ900のチャンク(チャンクのヘッダ及びチャンクの仮想チャネル)を読み出す。ここで、ChunkSizeはデータチャンクの大きさであり、VCnumは当該仮想チャネルを識別する番号である。モジュールTx_To_MAC902は、MACフレームの形式でチャンクを符号化モジュール424に書き込む。
モジュールTx_To_MAC902は、ステップ1505を再度実行する前に、次の書き込み割り当て仮想チャネルの番号を問い合わせる。
図16は、本発明の特定の実施形態に従って、MACアダプタ428のMACからの受信のためのモジュールRx_From_MAC903により実現される処理アルゴリズムの主なステップを示す。
再設定段階後のステップ1600において、モジュールRx_From_MAC903は、スーパーフレームの開始(メッセージSF_cycle_startにより特徴付けられる)を待つアイドル状態である。ステップ1601において、信号SF_cycle_startが受信され、ネットワークサイクルの開始を示す。
ステップ1602において、モジュールRx_From_MAC903は、ネットワーク上での汎用ノード400(そのモジュールが属する)によるMACフレームの受信を示す開始(信号frame_Rx_eventの受信により特徴付けられる)を待つ。
MACフレーム復号器423から到着する信号frame_Rx_eventを受信すると(ステップ1603)、モジュールRx_From_MAC903はMACフレーム復号器423から到着する受信データチャンクを取得できる。
ステップ1604において、モジュールRx_From_MAC903は変数ChunkNumを値−1に再設定する。モジュールRx_From_MAC903は、レジスタMux_demux906に含まれる情報を使用して、リンク454により取得される情報Fram_Rx_Node_idにより規定されるノードから送出された受信フレームに存在する次のチャンクを要求し判定する。探索は、変数ChunkNumに含まれる値から開始してチャンク(又は仮想チャネル番号)の昇順に行なわれる。見つけられたチャンク(すなわち、読み出し割り当てTDMバスの仮想チャネルに対応する)を識別する番号は、変数ChunkNumに格納される。
更に、メモリ900へのアクセスのための基底アドレスの選択を可能にするレジスタRxFromMacBaseAddrRegisterは、リンクrefBaseAddr915を使用して取得される情報に基づいて更新される。
ステップ1605において、モジュールRx_From_MAC903は、パラメータChunkNumの新しい値が−1であるかを確認する。−1である場合、それは、識別されたノードにより送信されたチャンクの集合がモジュールRx_From_MAC903により処理されたことを意味し、ステップ1602が再度実行される。−1でない場合、ステップ1606において、モジュールRx_From_MAC903はMACフレーム復号器423上のチャンク(チャンクのヘッダ及びチャンクの仮想チャネル)を読み出す。その後、モジュールRx_From_MAC903は、乗算ChunkNum * ChunkSizeにより規定されるオフセットメモリアドレスから開始してメモリ900に書き込む。ここで、ChunkSizeはデータチャンクの大きさである。
モジュールRx_From_MAC903は、ステップ1605を再度実行する前に、受信フレームを送出したノードから取得される次のチャンクの番号を探索する。
図17は、本発明の特定の実施形態に従って、MACアダプタ428のTDMバスに対する受信のための受信モジュールRx_To_TDM904により実行される処理アルゴリズムの主なステップを示す。
再設定段階の後のステップ1700において、モジュールRx_To_TDM904は、ネットワークサイクルの開始(メッセージSF_cycle_startにより特徴付けられる)を待つアイドル状態である。ステップ1701において、信号SF_cycle_startが受信され、ネットワークサイクルの開始を示す。
ステップ1702において、モジュールRx_To_TDM904はカウンタTDM_cycleを0に再設定し、仮想チャネルと関連付けられるデータに対する読み出し及び書き込み動作の実行を開始する。第1の動作は、リンクrefBaseAddr915を使用して取得された情報に基づいて、メモリ900へのアクセスのための基底アドレスをレジスタRxtoTdmBaseAddrRegisterに更新することから成る。ステップ1703において、変数VCnumは−1に再設定される。
ステップ1704において、モジュールRx_To_TDM904は、TDMマップレジスタTDM_MAPに含まれる情報を使用して次の読み出し割り当て仮想チャネルを要求し判定する。探索は、変数VCnumに含まれる値から開始して仮想チャネル番号の昇順に行なわれる。見つけられた読み出し割り当て仮想チャネルを識別する番号は、変数VCnumに格納される。
ステップ1705において、モジュールRx_To_TDM904は、読み出し割り当てチャネルが形成されたかを確認する。すなわち、変数VCnumが−1であることを確認する。VCnumが−1である場合、それは、TDMサイクルの全ての仮想チャネルが処理されたことを意味し、ステップ1706において、TDMサイクルカウンタTDM_cycleが1増分される。ステップ1707において、モジュールRx_To_TDM904は、現在のTDMサイクルが現在のネットワークサイクルの最後のTDMサイクルであることを検証する。
現在のTDMサイクルが現在のネットワークサイクルの最後のTDMサイクルでない場合、ステップ1708において、モジュールRx_To_TDM904は次のTDMサイクルの開始(TDM_cycle_start信号の到着により特徴付けられる)を待つ。ステップ1709において、ステップ1703が次のTDMサイクルに対して再度実行される前に、信号TDM_cycle_startは受信される。
現在のTDMサイクルが現在のネットワークサイクルの最後のTDMサイクルである場合、ステップ1700が再度実行される。
ステップ1705において、VCnumが−1でない場合、ステップ1710において、モジュールRx_To_TDM904は以下の合計により規定されるアドレスにおいてメモリ900で読み出し割り当てされる仮想チャネルの一部を読み出す。
(VCnum * ChunkSize) + ChunkHeaderSize + (TDM_cycle * VcSize)
式中、ChunkSizeはデータチャンクの大きさであり、ChunkHeaderSizeはデータチャンクヘッダの大きさであり、VcSizeは仮想チャネルの大きさである。
式中、ChunkSizeはデータチャンクの大きさであり、ChunkHeaderSizeはデータチャンクヘッダの大きさであり、VcSizeは仮想チャネルの大きさである。
モジュールRx_To_TDM904は、乗算VCnum * ChunkSizeにより規定されるアドレスにおいてメモリ900の仮想チャネルのヘッダを読み出し、仮想チャネルのヘッダ及び仮想チャネルのデータの連結をSyncRF_from_MAC FIFO417に書き込む。その後、ステップ1704は再度実行され、処理される次の読み出し割り当て仮想チャネルの番号を取得する。
Claims (24)
- 複数のノードを含む通信ネットワークにおいて、生成器アプリケーションと関連付けられるソースノードにより送出される少なくとも1つのデータコンテンツを各々が受信機アプリケーションと関連付けられる少なくとも1つの宛先ノードに送信する方法であり、前記ネットワークが前記ネットワーク上のデータ送信のためにネットワークサイクルと呼ばれる第1のサイクルを規定する第1のクロッキングを実行し、
前記ソースノードは、前記ソースノード及び前記宛先ノードの各々とそれに関連するアプリケーションとの間のデータ送信のためにローカルサイクルと呼ばれる第2のサイクルを規定する第2のクロッキングを実行し、前記ネットワークサイクルは前記ローカルサイクルの整数倍であるP倍(P≧1)であり、前記ネットワークサイクルの開始はローカルサイクルの開始と一致し、前記ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、前記仮想チャネルの集合は前記コンテンツの前記送信に割り当てられ、
前記ソースノードは、
少なくとも1つの連結データブロックを形成するために、P個の連続するローカルサイクルにおける前記コンテンツの前記送信に割り当てられた前記仮想チャネルに対応する前記タイムスロット内で前記ソースノードと関連付けられる前記生成器アプリケーションから取得されたデータを連結するステップと、
所定の後続するネットワークサイクル中に前記ソースノードに割り当てられた音声時間中に前記連結データブロックを前記通信ネットワーク上で送信するステップと、を実行することを特徴とする方法。 - 前記連結ステップは、ネットワークサイクルと同期したP個の連続するローカルサイクルにおいて実行されることを特徴とする請求項1に記載の方法。
- 前記連結ステップは、前記コンテンツの前記送信に割り当てられた空仮想チャネルと呼ばれる少なくとも1つの前記仮想チャネルに対応するタイムスロット内で前記ソースノードと関連付けられる前記生成器アプリケーションから取得されるデータがない場合にパディング情報と呼ばれる少なくとも1つの情報を挿入するステップを含むことを特徴とする請求項1に記載の方法。
- 前記パディング情報の一部は、前記ソースノードが前記空仮想チャネルに対応する前記タイムスロット内で取得できるデータ量と等しい大きさを有し、前記パディング情報の一部は、前記空仮想チャネル内で前記生成器アプリケーションから受信されたかのように前記データブロックのうちの1つに挿入されることを特徴とする請求項3に記載の方法。
- 前記連結ステップは、チャンクを形成するために、P個の連続するローカルサイクル中に前記生成器アプリケーションから取得されたデータのグループ化を仮想チャネルにより実行するデータインターリービングステップを含むことを特徴とする請求項1に記載の方法。
- 複数のノードを含む通信ネットワークにおいて、各々が生成器アプリケーションと関連付けられる少なくとも1つのソースノードから到着する少なくとも1つのデータコンテンツを受信機アプリケーションと関連付けられる宛先ノードが受信する方法であり、前記ネットワークが前記ネットワーク上のデータ送信のためにネットワークサイクルと呼ばれる第1のサイクルを規定する第1のクロッキングを実行し、
前記宛先ノードは、前記ソースノード及び前記宛先ノードの各々とそれに関連するアプリケーションとの間のデータ送信のためにローカルサイクルと呼ばれる第2のサイクルを規定する第2のクロッキングを実行し、前記ネットワークサイクルは前記ローカルサイクルの整数倍であるP倍(P≧1)であり、前記ネットワークサイクルの開始はローカルサイクルの開始と一致し、前記ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、前記仮想チャネルの集合は前記コンテンツの前記送信に割り当てられ、
前記宛先ノードは、
前記ソースノードのうち少なくとも1つに割り当てられた音声時間中に連結データの少なくとも1つのブロックを通信ネットワークから受信するステップと、
前記コンテンツの前記送信に割り当てられた前記仮想チャネルのうち仮想読み出しチャネルと呼ばれる仮想チャネルと関連付けられるデータを前記連結データの受信ブロックから抽出するステップと、
P個の連続するローカルサイクル中に、前記仮想読み出しチャネルに対応する前記タイムスロット中に前記宛先ノードと関連付けられる前記受信機アプリケーションに前記抽出したデータを所定の後続するネットワークサイクルから供給するステップと、を実行することを特徴とする方法。 - 各宛先ノードは、前記コンテンツの送信に割り当てられた少なくとも1つの仮想チャネルと関連付けられるパディング情報と呼ばれる少なくとも1つの情報の存在をデータブロックにおいて検出するステップを実行し、前記パディング情報は、前記供給ステップの間に前記受信機アプリケーションに与えられないことを特徴とする請求項6に記載の方法。
- 前記パディング情報の一部又は複数のパディング情報は、前記パディング情報が関連付けられる仮想チャネルに対応するタイムスロット内で宛先ノードが提供できるデータ量と等しい大きさを有することを特徴とする請求項7に記載の方法。
- 前記宛先ノードは、前記パディング情報が関連付けられる前記仮想チャネルに対応する前記タイムスロット内で前記パディング情報を消去することを特徴とする請求項7に記載の方法。
- 前記抽出ステップは、前記ソースノードのうちの1つと関連付けられた生成器アプリケーションから取得されるデータの仮想チャネルによるチャンクと呼ばれるグループ化を識別し且つ前記宛先ノードの前記受信機アプリケーションに供給する前記データをローカルサイクルにより再順序付けするデータデインターリービングステップを含むことを特徴とする請求項6記載の方法。
- 通信ネットワークからダウンロード可能であり及び/又はコンピュータ可読媒体に記録され及び/又はプロセッサにより実行されるコンピュータプログラムであって、
前記コンピュータプログラムは、前記プログラムが前記コンピュータ上で実行する場合、複数のノードを含む通信ネットワークにおいて、生成器アプリケーションと関連付けられるソースノードにより送出される少なくとも1つのデータコンテンツを各々が受信機アプリケーションと関連付けられる少なくとも1つの宛先ノードに送信する方法の実行に対するプログラムコード命令を含み、前記ネットワークは前記ネットワーク上のデータ送信のためにネットワークサイクルと呼ばれる第1のサイクルを規定する第1のクロッキングを実行し、前記ソースノードは前記ソースノード及び前記宛先ノードの各々とそれに関連するアプリケーションとの間のデータ送信のためにローカルサイクルと呼ばれる第2のサイクルを規定する第2のクロッキングを実行し、前記ネットワークサイクルは前記ローカルサイクルの整数倍であるP倍(P≧1)であり、前記ネットワークサイクルの開始はローカルサイクルの開始と一致し、前記ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、前記仮想チャネルの集合は前記コンテンツの前記送信に割り当てられ、
前記ソースノードは、
少なくとも1つの連結データブロックを形成するために、P個の連続するローカルサイクルにおける前記コンテンツの前記送信に割り当てられた前記仮想チャネルに対応する前記タイムスロット内で前記ソースノードと関連付けられる前記生成器アプリケーションから取得された前記データを連結するステップと、
所定の後続するネットワークサイクル中に前記ソースノードに割り当てられた音声時間中に前記連結データブロックを前記通信ネットワーク上で送信するステップと、を実行することを特徴とするコンピュータプログラム。 - 通信ネットワークからダウンロード可能であり及び/又はコンピュータ可読媒体に記録され及び/又はプロセッサにより実行されるコンピュータプログラムであって、
前記コンピュータプログラムは、前記プログラムが前記コンピュータ上で実行する場合、複数のノードを含む通信ネットワークにおいて、各々が生成器アプリケーションと関連付けられる少なくとも1つのソースノードから到着する少なくとも1つのデータコンテンツを受信機アプリケーションと関連付けられる宛先ノードが受信する受信方法の実行に対するプログラムコード命令を含み、前記ネットワークは前記ネットワーク上のデータ送信のためにネットワークサイクルと呼ばれる第1のサイクルを規定する第1のクロッキングを実行し、前記宛先ノードは、前記ソースノード及び前記宛先ノードの各々とそれに関連するアプリケーションとの間のデータ送信のためにローカルサイクルと呼ばれる第2のサイクルを規定する第2のクロッキングを実行し、前記ネットワークサイクルはローカルサイクルの整数倍であるP倍(P≧1)であり、前記ネットワークサイクルの開始はローカルサイクルの開始と一致し、前記ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、前記仮想チャネルの集合は前記コンテンツの前記送信に割り当てられ、
前記宛先ノードは、
前記ソースノードのうち少なくとも1つに割り当てられた音声時間中に連結データの少なくとも1つのブロックを前記通信ネットワークから受信するステップと、
前記コンテンツの前記送信に割り当てられた前記仮想チャネルのうち仮想読み出しチャネルと呼ばれる仮想チャネルと関連付けられるデータを前記連結データの受信ブロックから抽出するステップと、
P個の連続するローカルサイクル中に、前記仮想読み出しチャネルに対応する前記タイムスロット内で宛先ノードと関連付けられる前記受信機アプリケーションに前記抽出したデータを所定の後続するネットワークサイクルから供給するステップと、を実行することを特徴とするコンピュータプログラム。 - 生成器アプリケーションと関連付けられるソースノードであり、複数のノードを含む通信ネットワークにおいて、前記ソースノードが少なくとも1つの宛先ノードに少なくとも1つのデータコンテンツを送信する送信手段を含み、前記宛先ノード又は各宛先ノードが受信機アプリケーションと関連付けられ、前記ネットワークが前記ネットワーク上のデータ送信のためにネットワークサイクルと呼ばれる第1のサイクルを規定する第1のクロッキングを実行するソースノードであって、
前記ソースノードは、前記ソースノード及び前記宛先ノードの各々とそれに関連するアプリケーションとの間のデータ送信のためにローカルサイクルと呼ばれる第2のサイクルを規定する第2のクロッキングを実行し、前記ネットワークサイクルは前記ローカルサイクルの整数倍であるP倍(P≧1)であり、前記ネットワークサイクルの開始はローカルサイクルの開始と一致し、前記ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、前記仮想チャネルの集合は前記コンテンツの前記送信に割り当てられ、
前記送信手段は、
少なくとも1つの連結データブロックを形成するために、P個の連続するローカルサイクルにおける前記コンテンツの前記送信に割り当てられた前記仮想チャネルに対応する前記タイムスロット内で前記ソースノードと関連付けられる前記生成器アプリケーションから取得されたデータを連結する連結手段と、
所定の後続するネットワークサイクル中に前記ソースノードに割り当てられた音声時間中に前記連結データブロックを前記通信ネットワーク上で送信する手段と、を含むことを特徴とするソースノード。 - 前記連結手段は、前記ネットワークサイクルと同期したP個の連続するサイクルにおいて起動されることを特徴とする請求項13に記載のソースノード。
- 前記連結手段は、前記コンテンツの前記送信に割り当てられた空仮想チャネルと呼ばれる少なくとも1つの前記仮想チャネルに対応するタイムスロット内で前記ソースノードと関連付けられる前記生成器アプリケーションから取得されるデータがない場合にパディング情報と呼ばれる少なくとも1つの情報を挿入する手段を含むことを特徴とする請求項13に記載のソースノード。
- 前記パディング情報の一部は、前記ソースノードが前記空仮想チャネルに対応する前記タイムスロット内で取得できるデータ量と等しい大きさを有し、前記ソースノードは、前記空仮想チャネル内で前記生成器アプリケーションから受信されたかのように前記パディング情報の一部を前記データブロックのうちの1つに挿入する手段を含むことを特徴とする請求項15に記載のソースノード。
- 前記連結手段は、チャンクを形成するために、P個の連続するローカルサイクル中に前記生成器アプリケーションから取得されたデータのグループ化を仮想チャネルにより実行するデータインターリービング手段を含むことを特徴とする請求項13に記載のソースノード。
- 受信機アプリケーションと関連付けられる宛先ノードであり、前記宛先ノードは、複数のノードを含む通信ネットワークにおいて、各々が生成器アプリケーションと関連付けられる少なくとも1つのソースノードから到着する少なくとも1つのデータコンテンツを受信する受信手段を含み、前記ネットワークが前記ネットワーク上のデータ送信のためにネットワークサイクルと呼ばれる第1のサイクルを規定する第1のクロッキングを実行する宛先ノードであって、
前記宛先ノードは、前記ソースノード及び前記宛先ノードの各々とそれに関連するアプリケーションとの間のデータ送信のためにローカルサイクルと呼ばれる第2のサイクルを規定する第2のクロッキングを実行し、前記ネットワークサイクルは前記ローカルサイクルの整数倍であるP倍(P≧1)であり、前記ネットワークサイクルの開始はローカルサイクルの開始と一致し、前記ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、前記仮想チャネルの集合は前記コンテンツの前記送信に割り当てられ、
前記受信手段は、
前記ソースノードのうち少なくとも1つに割り当てられた音声時間中に連結データの少なくとも1つのブロックを前記通信ネットワークから受信する手段と、
前記コンテンツの前記送信に割り当てられた前記仮想チャネルのうち仮想読み出しチャネルと呼ばれる仮想チャネルと関連付けられるデータを前記連結データの受信ブロックから抽出する抽出手段と、
P個の連続するローカルサイクルの期間、前記仮想読み出しチャネルに対応する前記タイムスロット内で前記宛先ノードと関連付けられる前記受信機アプリケーションに前記抽出したデータを所定の後続するネットワークサイクルから供給する供給手段と、を含むことを特徴とする宛先ノード。 - 前記宛先ノードは、前記コンテンツの前記送信に割り当てられた前記少なくとも1つの仮想チャネルと関連付けられるパディング情報と呼ばれる少なくとも1つの情報の存在をデータブロックにおいて検出する手段を含み、前記パディング情報は、前記供給手段によって前記受信機アプリケーションに与えられないことを特徴とする請求項18に記載の宛先ノード。
- 前記パディング情報の一部又は複数のパディング情報は、前記パディング情報が関連付けられる仮想チャネルに対応する前タイムスロット内で宛先ノードが提供できるデータ量と等しい大きさを有することを特徴とする請求項19に記載の宛先ノード。
- 前記宛先ノードは、前記パディング情報が関連付けられる前記仮想チャネルに対応する前記タイムスロット内で前記パディング情報を消去する手段を含むことを特徴とする請求項19に記載の宛先ノード。
- 前記抽出手段はデータデインターリービング手段を含み、前記デインターリービング手段は、前記ソースノードのうちの1つと関連付けられる生成器アプリケーションから取得されるデータの仮想チャネルによるチャンクと呼ばれるグループ化を識別する手段及び前記宛先ノードの前記受信機アプリケーションに供給する前記データをローカルサイクルにより再順序付けすることを可能にする手段を含むことを特徴とする請求項18に記載の宛先ノード。
- 複数のノードを含む通信ネットワークにおいて、生成器アプリケーションと関連付けられるソースノードにより送出される少なくとも1つのデータコンテンツを各々が受信機アプリケーションと関連付けられる少なくとも1つの宛先ノードに送信する送信方法を実行するためにコンピュータによって実行可能な命令の集合を格納し、全体的又は部分的に取り外し可能であるコンピュータ可読の記憶手段であり、前記ネットワークが前記ネットワーク上のデータ送信のためにネットワークサイクルと呼ばれる第1のサイクルを規定する第1のクロッキングを実行するコンピュータ可読の記憶媒体であって、
前記ソースノードは、前記ソースノード及び前記宛先ノードの各々とそれに関連するアプリケーションとの間のデータ送信のためにローカルサイクルと呼ばれる第2のサイクルを規定する第2のクロッキングを実行し、前記ネットワークサイクルは前記ローカルサイクルの整数倍であるP倍(P≧1)であり、前記ネットワークサイクルの開始はローカルサイクルの開始と一致し、前記ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、前記仮想チャネルの集合は前記コンテンツの前記送信に割り当てられ、
前記ソースノードは、
少なくとも1つの連結データブロックを形成するために、P個の連続するローカルサイクルにおける前記コンテンツの前記送信に割り当てられた前記仮想チャネルに対応する前記タイムスロット内で前記ソースノードと関連付けられる前記生成器アプリケーションから取得された前記データを連結するステップと、
所定の後続するネットワークサイクル中に前記ソースノードに割り当てられた音声時間中に前記連結データブロックを前記通信ネットワーク上で送信するステップと、を実行することを特徴とするコンピュータ可読の記憶媒体。 - 複数のノードを含む通信ネットワークにおいて、各々が生成器アプリケーションと関連付けられる少なくとも1つのソースノードから到着する少なくとも1つのデータコンテンツを受信機アプリケーションと関連付けられる宛先ノードが受信する受信方法を実行するためにコンピュータによって実行可能な命令の集合を格納し、全体的又は部分的に取り外し可能であるコンピュータ可読の記憶媒体であり、前記ネットワークが前記ネットワーク上のデータ送信のためにネットワークサイクルと呼ばれる第1のサイクルを規定する第1のクロッキングを実行するコンピュータ可読の記憶媒体であって、
前記宛先ノードは、前記ソースノード及び前記宛先ノードの各々とそれに関連するアプリケーションとの間のデータ送信のためにローカルサイクルと呼ばれる第2のサイクルを規定する第2のクロッキングを実行し、前記ネットワークサイクルは前記ローカルサイクルの整数倍であるP倍(P≧1)であり、前記ネットワークサイクルの開始はローカルサイクルの開始と一致し、前記ローカルサイクルはタイムスロットに対応する複数の仮想チャネルを含み、前記仮想チャネルの集合は前記コンテンツの前記送信に割り当てられ、
前記宛先ノードは、
前記ソースノードのうち少なくとも1つに割り当てられる音声時間中に連結データの少なくとも1つのブロックを前記通信ネットワークから受信するステップと、
前記コンテンツの前記送信に割り当てられた前記仮想チャネルのうち仮想読み出しチャネルと呼ばれる仮想チャネルと関連付けられるデータを前記連結データの受信ブロックから抽出するステップと、
P個の連続するローカルサイクルの期間、前記仮想読み出しチャネルに対応する前記タイムスロット中に宛先ノードと関連付けられる前記受信機アプリケーションに前記抽出したデータを所定の後続するネットワークサイクルから供給するステップと、を実行することを特徴とするコンピュータ可読の記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 |
FR0702790 | 2007-04-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009005340A true JP2009005340A (ja) | 2009-01-08 |
JP4701263B2 JP4701263B2 (ja) | 2011-06-15 |
Family
ID=38961769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008108303A Active JP4701263B2 (ja) | 2007-04-17 | 2008-04-17 | 通信ネットワークにおいてデータコンテンツを送受信する方法、コンピュータプログラム、記憶媒体及びデバイス |
Country Status (6)
Country | Link |
---|---|
US (1) | US8243751B2 (ja) |
EP (1) | EP1983691B1 (ja) |
JP (1) | JP4701263B2 (ja) |
KR (1) | KR100977653B1 (ja) |
CN (1) | CN101291208B (ja) |
FR (1) | FR2915338A1 (ja) |
Families Citing this family (12)
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 |
WO2012149742A1 (zh) | 2011-09-15 | 2012-11-08 | 华为技术有限公司 | 信号保序方法和装置 |
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数据交换方法及交换设备 |
AU2017406364B2 (en) * | 2017-03-28 | 2023-02-09 | Ista International Gmbh | Signal communication system |
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 | 北京航天控制仪器研究所 | 一种基于仿真转台的软同步方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06177845A (ja) * | 1992-12-10 | 1994-06-24 | Matsushita Electric Ind Co Ltd | 多チャンネル多重装置 |
JP2001127741A (ja) * | 1999-10-22 | 2001-05-11 | Pioneer Electronic Corp | 多チャンネルデータの伝送方法ならびにそのシステム |
JP2007097080A (ja) * | 2005-09-30 | 2007-04-12 | Aiphone Co Ltd | インターホン装置 |
JP2008092546A (ja) * | 2006-09-07 | 2008-04-17 | Canon Inc | 通信システム |
Family Cites Families (32)
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 |
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 |
EP1236295B1 (en) * | 1999-12-08 | 2005-08-17 | Broadcom Corporation | Synchronized transport across non-synchronous networks |
AU2001240986A1 (en) * | 2000-02-18 | 2001-08-27 | 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 | 伝送システム |
AU2002221746A1 (en) * | 2000-10-19 | 2002-05-15 | Thomson Licensing S.A. | Method for linking several communication busses using wireless links |
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 |
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 |
US7177971B2 (en) * | 2001-08-24 | 2007-02-13 | Intel Corporation | General input/output architecture, protocol and related methods to provide isochronous channels |
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 |
WO2004084450A2 (en) * | 2003-03-13 | 2004-09-30 | Qualcomm Incorporated | Method and system for a data transmission in a communication system |
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 |
KR20060083051A (ko) * | 2005-01-14 | 2006-07-20 | 엘지전자 주식회사 | 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를위한 이동통신단말기 |
EP1878174A1 (en) * | 2005-04-22 | 2008-01-16 | Olympus Communication Technology of America, Inc. | Defragmentation of communication channel allocations |
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 |
US7986713B2 (en) * | 2006-12-09 | 2011-07-26 | Mark Henrik Sandstrom | Data byte load based network byte-timeslot allocation |
-
2007
- 2007-04-17 FR FR0702790A patent/FR2915338A1/fr not_active Withdrawn
-
2008
- 2008-03-25 US US12/054,911 patent/US8243751B2/en active Active
- 2008-03-31 EP EP08103199A patent/EP1983691B1/en active Active
- 2008-04-17 KR KR1020080035825A patent/KR100977653B1/ko active IP Right Grant
- 2008-04-17 CN CN2008100922189A patent/CN101291208B/zh active Active
- 2008-04-17 JP JP2008108303A patent/JP4701263B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06177845A (ja) * | 1992-12-10 | 1994-06-24 | Matsushita Electric Ind Co Ltd | 多チャンネル多重装置 |
JP2001127741A (ja) * | 1999-10-22 | 2001-05-11 | Pioneer Electronic Corp | 多チャンネルデータの伝送方法ならびにそのシステム |
JP2007097080A (ja) * | 2005-09-30 | 2007-04-12 | Aiphone Co Ltd | インターホン装置 |
JP2008092546A (ja) * | 2006-09-07 | 2008-04-17 | Canon Inc | 通信システム |
Also Published As
Publication number | Publication date |
---|---|
EP1983691B1 (en) | 2012-12-05 |
US20080259950A1 (en) | 2008-10-23 |
JP4701263B2 (ja) | 2011-06-15 |
CN101291208B (zh) | 2013-01-16 |
EP1983691A1 (en) | 2008-10-22 |
US8243751B2 (en) | 2012-08-14 |
FR2915338A1 (fr) | 2008-10-24 |
KR20080093922A (ko) | 2008-10-22 |
CN101291208A (zh) | 2008-10-22 |
KR100977653B1 (ko) | 2010-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4701263B2 (ja) | 通信ネットワークにおいてデータコンテンツを送受信する方法、コンピュータプログラム、記憶媒体及びデバイス | |
EP2079193B1 (en) | Method for accessing a medium in a synchronous communications network by a transmit node, computer program product, storage means and transmit node | |
CN100492943C (zh) | 异步数字家庭网络中的多媒体抖动消除 | |
CN100576827C (zh) | 异步数字家庭网络中的多媒体抖动消除的方法和装置 | |
EP0768769B1 (en) | Method and apparatus for supporting TDMA operation over hybrid fiber coaxial (HFC) or other channels | |
US9553713B2 (en) | Method and system for transmitting clock reference streams with timestamps directly to audio/video end nodes in an audio/video bridging network | |
US6816510B1 (en) | Method for clock synchronization between nodes in a packet network | |
CN102123073B (zh) | 数据包重排序方法及装置 | |
US20070230501A1 (en) | System and method for supporting synchronous system communications and operations | |
JP4299306B2 (ja) | 基地局でフレーム同期情報を配信するための装置及び方法 | |
US8089915B2 (en) | Synchronous data transmissions by relay node | |
KR20060113834A (ko) | 레지덴셜 이더넷에서 수퍼 프레임의 시작에 대한 주기적동기 방법 | |
JP2006109357A (ja) | 同期クロック情報転送方法および送信装置ならびに通信システム | |
JP2006262474A (ja) | レジデンシャルイーサネット(登録商標)システムにおける等時性データと非同期データを伝送するためのスーパーフレームの構成方法 | |
US20110085523A1 (en) | Method for managing a distribution of bandwidth in a communications network, corresponding storage means and slave node | |
KR101932548B1 (ko) | 동기식 네트워크 스위치 | |
KR101601303B1 (ko) | 이종 프로토콜 메시지 중개 방법 | |
CN106911545B (zh) | 一种通过以太网传输st_bus数据的方法及装置 | |
WO2008128544A1 (en) | Low cost digital real-time link system | |
CN110958072B (zh) | 一种多节点音视频信息同步共享展示方法 | |
US7684530B2 (en) | Circuit arrangement and method for synchronised transmission of audio data streams in a bus system | |
KR101759669B1 (ko) | 동기 방식의 무선 백홀 장치에서 동기 신호 수신 시스템 및 방법 | |
JPH02180447A (ja) | 無線チャンネル用ランダムアクセス制御方式 | |
KR20110051093A (ko) | 시 분할 듀플렉스 네트워크에서 노드 간의 동기화를 위한 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101217 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110307 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4701263 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |