説明

同期通信ネットワークにおける中継ノードによるデータ送信の方法、対応する受信方法、コンピュータプログラム製品、記憶手段及びノード

【課題】干渉やシャドウイングの少なくともいずれかが発生した場合の送信の信頼性の向上を可能にし、ネットワークの同期特性を維持する同期通信ネットワークにおけるデータ送信の技術を提供する。
【解決手段】複数のノードは、中継ノードを有し、該中継ノードは、第2のノードに送信される必要のある当該中継ノード自身のデータを生成するアプリケーションと関連付けられる。中継ノードは、他のノードから到着するフレームを受信するステップ204と、反復データを取得するのを可能にするために、受信したフレームからデータの所定の部分を読み出すステップ208と、新しいフレームの反復データセクションに前記反復データを書き込むステップ208と、新しいフレームのノード自身のデータセクションに前記中継ノード自身のデータを書き込むステップ207と、新しいフレームを送信するステップ209とを実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、同期メッシュネットワークにおけるデータ送信の分野に関する。
【0002】
本発明は、特に、60GHzの無線伝送システムにおけるデータ送信に適用されるが、それに限定されない。60GHzの無線伝送システムは、高ビットレートでの短距離のデータ送信に特に適する。例えば、このような伝送システムは、「ホームシネマ」の種々の要素間の接続に非常に適する。この用途の場合、伝送範囲は約10メートルに制限されるが、使用されるビットレートは非常に高く、送信される情報(オーディオ情報及びビデオ情報の双方)の特性及びその情報の解像度の高さのために1ギガビット/秒を超えることがある。60GHzのシステムにおけるデータ送信に必要な電力を制限するために、電子的に制御可能なアンテナを使用するのが好ましい。それらアンテナは、データの送信や受信の角度(向き)を少なくとも規定するようにアクティブ化される電磁ポイントマトリクスアンテナにより形成される。この種の通信ネットワークにおいては、いくつかの並列する音声映像アプリケーションを同時に同調してサポートできる必要がある。
【0003】
そのようなネットワークは、例えば、以下の通りである:
−無線スピーカを有する「ホームシネマ」ネットワーク(ポイントツーマルチポイントネットワーク);
−表示装置に接続された複数のビデオソースに基づくネットワーク(マルチポイントツーポイントネットワーク);
−複数の表示装置に接続された複数のビデオソースに基づくネットワーク(マルチポイントツーマルチポイントネットワーク)。
【0004】
同期メッシュネットワークにおいて、MAC(Medium access control)層で時間間隔の所定のシーケンスが存在する。MAC層は、物理媒体へのアクセス権を管理し、OSI参照モデルのレイヤ2に対応するデータリンクレベルの一部であることが分かるであろう。各ノードは、割り当てられた時間間隔又はホップの間にデータを送出できる。各ホップ中、データは、以下においてMACフレーム(又はパケット)と呼ばれる固定サイズのフレームで送出される。言い換えれば、同期メッシュネットワークは、このネットワーク上でのデータ送信に関するネットワークサイクルを規定するクロッキングを適用する。スーパーフレームは、各ネットワークサイクルの一部を形成し、各々が1つのノードと関連付けられる複数のフレームを含む。
【0005】
従って、そのような同期ネットワークの同期特性を維持するために、データの送信に対して固定の時間制限を有する必要がある。
【0006】
更に、多くの場合、メッシュネットワークは100%信頼できない。これは、特に無線ネットワークにおける送信が干渉及びシャドウイングの影響を受け易いために信頼できない。しかし、それだけに限定されない。
【0007】
本発明は、特に、同期無線メッシュネットワークにおけるデータリンクレベルでの送受信の信頼性を向上することに関する。
【背景技術】
【0008】
メッシュネットワークにおける送信の信頼性を向上させる一般的な周知の技術が3つ存在する。
【0009】
ARQ(Automatic Repeat Request)技術と呼ばれる第1の周知の技術においては、受信機は、エラー又は欠落しているパケットを検出した場合に送信側に再送信を自動的に要求する。この第1の周知の技術(ARQ)は、単に時間ダイバーシティ(同一データが異なる時点で送信される)を導入する。従って、この技術は、送信側と受信側との間の送信条件が異なる時点で同一でない場合に有利である。
【0010】
しかし、これは転送時間が一定でないため(再送信数が増加すると転送時間は更に長くなる)、同期メッシュネットワークに適用できない。例えば、転送時間は、送信エラーがない場合はTとなり、再送信を必要とするエラーがある場合はT+nとなり、k−1回の再送信に対してエラーがある場合はT+k×nとなる。
【0011】
更に、第1の従来技術(ARQ)は、最初に送信する送信機と必要に応じて再送信する送信機とが同一であるため、空間ダイバーシティを導入しない。従って、これは、静止した障害物又はゆっくり移動する障害物からのシャドウイングに対して効率的ではない。すなわち、送信側と受信側との間の送信の条件が異なる時点で同一のままである場合は効率的ではない。
【0012】
最後に、この第1の周知の技術(ARQ)は、再送信要求及び対応する肯定応答の送出、並びにそれら肯定応答の受信に対するアンテナの方向付けのために、ネットワークにオーバヘッドを付加するという欠点を有する。
【0013】
システマテック再送信技術(Systematic retransmission technique)と呼ばれる第2の周知の技術においては、送信側は各パケットを計画的に送信する。
【0014】
この第2の周知の技術は、第1の周知の技術(ARQ)と比較すると、一定の転送時間を可能にするため、同期メッシュネットワークに適用できるという利点を有する。
【0015】
しかし、第1の周知の技術(ARQ)と同様に、この技術は、時間ダイバーシティを導入するが、最初に送信する送信機とシステマテックに再送信する送信機とが同一であるため、空間ダイバーシティを導入しない。従って、この技術もまた、静止した障害物又はゆっくり移動する障害物からのシャドウイングに対して効率的ではない。すなわち、送信側と受信側との間の送信の条件が異なる時点で同一のままである場合は効率的ではない。
【0016】
システマテックデータ中継技術(Systematic data relay technique)と呼ばれる第3の周知の技術においては、ノードは、以前に受信したデータを再送信するために、割り当てられた時間間隔又はホップのうちのいくつかを使用する際に中継器の役割を果たす。言い換えれば、中継ノードが送出するフレームのうちのいくつかは中継ノードのデータのみを含み、他のフレームは再送信データのみを含む。
【0017】
この第3の周知の技術は、第1の周知の技術(ARQ)と比較すると、一定の転送時間を提供できるので同期メッシュネットワークに適用できるという利点を有する。
【0018】
更にこの第3の周知の技術は、デュアルダイバーシティ、すなわち、時間ダイバーシティ及び空間ダイバーシティを導入する(同一のデータが異なるノードにより異なる時点で送出される)。
【0019】
しかし、中継ノードがデータを送信する時間間隔の間にそのノード自体のデータを送信できないため、この技術は最適ではない。従って、中継ノードの反応性は低い。更に、所定のネットワークサイクルにおいて、中継ノードは先行するネットワークサイクルにおいて受信したデータのみを送信できるため、受信の際のネットワークの待ち時間は長くなる。
【発明の開示】
【発明が解決しようとする課題】
【0020】
本発明の目的は、少なくとも1つの実施形態において、特に従来技術のそれら種々の欠点を克服することである。
【0021】
より詳細には、本発明の少なくとも1つの実施形態において、(干渉やシャドウイングの少なくともいずれかが発生した場合の)送信の信頼性の向上を可能にし、それと同時にネットワークの同期特性を維持する同期通信ネットワークにおけるデータ送信の技術を提供することが1つの目的である。
【0022】
また、本発明の少なくとも1つの実施形態の目的は、受信の際のネットワークの待ち時間を最適化するためにその種の技術を提供することである。
【0023】
本発明の少なくとも1つの実施形態の別の目的は、容易に実現可能であり且つ自動的に動作するその種の技術を提供することである。
【課題を解決するための手段】
【0024】
本発明の特定の一実施形態は、複数のノードを具備する同期通信ネットワークにおけるデータ送信方法であり、スーパーフレームがネットワーク上においてネットワークサイクルに基づいて通信されるとともに複数のフレームを含み、各フレームが前記ノードの1つに関連付けられる方法を提案する。各フレームは、ノード自身のデータセクションと反復データセクションとを含むペイロード部分自体を含む。前記複数のノードは、少なくとも1つの中継ノードを有し、該中継ノードは、少なくとも1つのシンクノードに送信される必要のある当該中継ノード自身のデータを生成するアプリケーションと関連付けられる。中継ノードは、以下のステップを実行する:
−他のノードから到着するフレームを受信する受信ステップ;
−反復データを取得するのを可能にするために、受信したフレームからデータの所定の部分を読み出す読出ステップ;
−新しいフレームの反復データセクションに前記反復データを書き込む反復データ書込ステップ;
−前記新しいフレームのノード自身のデータセクションに前記中継ノード自身のデータを書き込む書込ステップ;
−前記新しいフレームを送信する送信ステップ。
【0025】
従って、本発明の一般的な原理は、同一フレームで中継ノードのデータ(ノード自身のデータセクション)及び再送信データ(反復データセクション)を送出するのに使用されるフレーム構造を使用する少なくとも1つの中継ノードによるデータのシステマテックな再送信から構成される。これにより、データの分割によるマルチパス送信を提供する。
【0026】
この技術により、ネットワークの同期特性を維持し(転送時間が一定である)、それと同時に時間及び空間のデュアルダイバーシティ(同一データが異なるノードにより異なる時点で送信される)を導入することが可能となり、送信の信頼性を向上する(干渉及び/又はシャドウイングが発生した場合)。
【0027】
尚、中継ノードの数が増加すると、空間ダイバーシティ及び時間ダイバーシティは更に増加する。
【0028】
上述の第3の周知の技術(ノード自身のデータ及び再送信データを同一フレームに混在させずにデータをシステマテックに中継する)と比較すると、本発明の技術は、反応性が高く、ノードは各サイクルにおいてノード自身のデータを送信できる。例えば、2つのノード間の要求/応答プロトコルの一実現例の場合、要求送信先ノードは、各サイクルにおいて応答する機会があり、それと同時に再送信データの送出に関係する空間ダイバーシティの機能を達成する。
【0029】
反復データを取得するために使用される前記読出ステップにおいて、受信したフレームのノード自身のデータセクションのデータの所定の部分のみが読み出されるのが有利である。
【0030】
このように、待ち時間は更に短縮される。実際には、新しいフレームで再送信されるデータは、別の中継ノードにより既に再送信されたデータではない。
【0031】
反復データを取得するために使用される前記読出ステップは、各ノードに対するノード自身のデータセクションのコンテンツを示す送信マトリクスのコンテンツの機能として実行されるのが有利である。
【0032】
有利な特性によると、各フレームのノード自身のデータセクションは、所定の数のチャンクと呼ばれるデータブロックを含む。i∈[1,M]であり且つMがスーパーフレーム毎のチャンクの最大数である場合に、前記送信マトリクスは、ノード毎の各チャンクの順序iに対して、
−順序iのチャンクが前記ノードに関連付けられるフレームのノード自身のデータセクションで送信されるべきか、
−順序iのチャンクが前記ノードに関連付けられるフレームのノード自身のデータセクションで送信されるべきではないかを指示する。
【0033】
前記反復データ書込ステップは、各ノードに対する反復データセクションのコンテンツを示す再送信マトリクスのコンテンツの機能として実行されるのが有利である。
【0034】
各フレームのノード自身のデータセクションは、所定の数のチャンクと呼ばれるブロックを含むのが有利である。i∈[1,M]であり且つMがスーパーフレーム毎のチャンクの最大数である場合に、前記再送信マトリクスは、ノード毎の各チャンクの順序iに対して、
−順序iのチャンクが前記ノードに関連付けられるフレームの反復データセクションで再送信されるべきではないか、
−順序iに関連付けられ且つ現在のスーパーフレームで受信されたチャンクを取得する際に、前記順序iのチャンクが前記ノードに関連付けられるフレームの反復データセクションで再送信されるべきか、
−順序iに関連付けられ且つ直前のスーパーフレームで受信されたチャンクを取得する際に、前記順序iのチャンクが前記ノードに関連付けられるフレームの反復データセクションで再送信されるべきかを指示する。
【0035】
再送信されるチャンクが前記読出ステップ中に読み出されなかったために欠落している場合、パディングチャンクが前記欠落しているチャンクの代わりに新しいフレームの反復データセクションに書き込まれるのが有利である。
【0036】
パディングチャンクを使用することにより、クロッキングが維持される(再送信されるある特定のデータチャンクが所定の中継ノードにより受信されていない場合でも、その中継ノードにより送信される各フレームは同一数のチャンクを常に含む)。
【0037】
方法は、受信したフレームのデータをメモリに格納する格納ステップを含み、前記読出ステップにおいて、前記反復データが前記メモリにおいて読み出されるのが有利である。
【0038】
第1の有利な実施形態において、各フレームは、所定の数のチャンクと呼ばれるデータブロックを含み、受信したフレームのデータを格納する各格納ステップは、各フレームのチャンク毎に以下のステップを含む:
−前記チャンクが第1の受信したコピーである場合、前記チャンクがメモリに格納されるステップ;
−前記チャンクが第1の受信したコピーではなく第2のコピーであり、第1のコピーが既に受信及び格納されている場合、前記第2のコピーがメモリに格納されないステップ。
【0039】
第2の有利な実施形態において、各フレームは、所定の数のチャンクと呼ばれるデータブロックを含み、受信したフレームのデータを格納する前記格納ステップは、各フレームのチャンク毎に以下のステップを含む:
−前記チャンクが第1の受信したコピーである場合、前記チャンクがメモリに格納されるステップ;
−前記チャンクが第1の受信したコピーではなく第2のコピーであり、第1のコピーが既に受信及び格納されている場合、前記第1のコピー及び前記第2のコピーの品質が比較され、少なくとも1つの品質基準に従って最良の品質を有する前記第1のコピー及び前記第2のコピーのいずれかがメモリに格納されるステップ。
【0040】
第2の実施形態は、第1の実施形態より僅かに複雑である。しかし、これは再送信されたチャンクの品質の向上に使用される。従って、受信時に行なわれる誤り訂正の品質が向上する。
【0041】
別の実施形態において、本発明は、複数のノードを具備する同期通信ネットワークにおけるデータ受信方法であり、スーパーフレームがネットワーク上においてネットワークサイクルに基づいて通信されるとともに複数のフレームを含み、各フレームが前記ノードの1つに関連付けられる方法に関する。各フレームは、ノード自身のデータセクションと反復データセクションとを含むペイロード部分自体を含む。前記複数のノードに属するシンクノードは、以下のステップを実行する:
−他のノードから到着するフレームを受信するステップ;
−前記受信したフレームのうち少なくとも1つのフレームのノード自身のデータセクションの所定の部分において前記シンクノード用の第1のデータを読み出すステップ;
−受信したフレームのうち少なくとも1つのフレームの反復データセクションの所定の部分において前記シンクノード用の第2のデータを読み出すステップ;
−読み出された第1のデータ及び第2のデータを処理するステップ。
【0042】
別の実施形態において、本発明は、通信ネットワークからダウンロードが可能であるか、コンピュータが読み取り可能な媒体に記録されるか、プロセッサにより実行されるか、の少なくともいずれかに該当するコンピュータプログラム製品に関し、前記コンピュータプログラム製品は、前記プログラムがコンピュータ上で実行される時に、上記送信方法、上記受信方法の少なくともいずれかを実現するためのプログラムコード命令を含む。
【0043】
別の実施形態において、本発明は、全体又は部分的に取り外し可能であってもよく、コンピュータにより読み出し可能であってもよく、上記送信方法、上記受信方法の少なくともいずれかを実現するために前記コンピュータにより実行可能な命令の集合を格納可能な記憶手段に関する。
【0044】
別の実施形態において、本発明は、複数のノードを具備する同期通信ネットワークに含まれる複数のノードに属する中継ノードに関し、スーパーフレームはネットワーク上においてネットワークサイクルに基づいて通信されるとともに複数のフレームを含み、各フレームは前記ノードの1つに関連付けられ、前記複数のノードは、少なくとも1つの第1の送信側ノードを有し、該第1の送信側ノードは、少なくとも1つの第1のシンクノードに送信される必要のある当該第1の送信側ノード自身のデータを生成する第1のジェネレータアプリケーションと関連付けられ、前記中継ノードは、少なくとも1つの第2のシンクノードに送信される必要のある当該中継ノード自身のデータを生成する第2のジェネレータアプリケーションと関連付けられる。前記中継ノードは:
−各フレームが、ノード自身のデータセクションと反復データセクションとを含むペイロード部分自体を含み、他のノードから到着するフレームを受信する受信手段と;
−反復データを取得するのを可能にするために、受信したフレームからデータの所定の部分を読み出す読出手段と;
−新しいフレームの反復データセクションに前記反復データを書き込む反復データ書込手段と;
−前記新しいフレームのノード自身のデータセクションに前記中継ノード自身のデータを書き込む書込手段と;
−前記新しいフレームを送信する送信手段とを具備する。
【0045】
反復データを取得するために使用される前記読出手段は、受信したフレームのノード自身のデータセクションのデータの所定の部分のみを読み出すのが有利である。
【0046】
反復データを取得するために使用される前記読出手段は、ノード毎にノード自身のデータセクションのコンテンツを示す送信マトリクスを具備するのが有利である。
【0047】
有利な特性によると、各フレームのノード自身のデータセクションは、所定の数のチャンクと呼ばれるデータブロックを含み、i∈[1,M]であり且つMがスーパーフレーム毎のチャンクの最大数である場合に、前記送信マトリクスは、ノード毎の各チャンクの順序iに対して、
−順序iのチャンクが前記ノードに関連付けられるフレームのノード自身のデータセクションで送信されるべきか、
−順序iのチャンクが前記ノードに関連付けられるフレームのノード自身のデータセクションで送信されるべきではないかを指示する。
【0048】
前記反復データ書込手段は、各ノードに対する反復データセクションのコンテンツを示す再送信マトリクスを具備するのが有利である。
【0049】
各フレームのノード自身のデータセクションは所定の数のチャンクと呼ばれるブロックを含み、i∈[1,M]であり且つMがスーパーフレーム毎のチャンクの最大数である場合に、前記再送信マトリクスは、ノード毎の各チャンクの順序iに対して、
−順序iのチャンクが前記ノードに関連付けられるフレームの反復データセクションで再送信されるべきではないか、
−順序iに関連付けられ且つ現在のスーパーフレームで受信されたチャンクを取得する際に、前記順序iのチャンクが前記ノードに関連付けられるフレームの反復データセクションで再送信されるべきか、
−順序iに関連付けられ且つ直前のスーパーフレームで受信されたチャンクを取得する際に、前記順序iのチャンクが前記ノードに関連付けられるフレームの反復データセクションで再送信されるべきかを指示するのが有利である。
【0050】
再送信されるチャンクが前記読出手段により読み出されなかったために欠落している場合、前記反復データ書込手段は、前記欠落しているチャンクの代わりにパディングチャンクを新しいフレームの反復データセクションに書き込むのが有利である。
【0051】
前記中継ノードは、受信したフレームのデータをメモリに格納する格納手段を具備し、前記読出手段は、前記メモリにおいて前記反復データを読み出すのが有利である。
【0052】
第1の実施形態において、各フレームは、所定の数のチャンクと呼ばれるデータブロックを含み、受信したフレームのデータを格納する前記格納手段は、格納ポリシーに従って、各フレームのチャンク毎に以下の手段を具備する:
−前記チャンクが第1の受信したコピーである場合、前記チャンクがメモリに格納される手段;
−前記チャンクが第1の受信したコピーではなく第2のコピーであり、第1のコピーが既に受信及び格納されている場合、前記第2のコピーがメモリに格納されない手段。
【0053】
第2の有利な実施形態において、各フレームは、所定の数のチャンクと呼ばれるデータブロックを含み、受信したフレームのデータを格納する前記格納手段は、格納ポリシーに従って、各フレームのチャンク毎に以下の手段を具備する:
−前記チャンクが第1の受信したコピーである場合、前記チャンクがメモリに格納される手段;
−前記チャンクが第1の受信したコピーではなく第2のコピーであり、第1のコピーが既に受信及び格納されている場合、前記第1のコピー及び前記第2のコピーの品質が比較され、少なくとも1つの品質基準に従って最良の品質を有する前記第1のコピー及び前記第2のコピーのいずれかがメモリに格納される手段。
【0054】
別の実施形態において、本発明は、同期通信ネットワークに含まれる複数のノードに属するシンクノードであり、スーパーフレームがネットワークサイクルに基づいて通信されるとともに複数のフレームを含み、各フレームが前記ノードの1つに関連付けられるシンクノードに関する。シンクノードは:
−各フレームが、ノード自身のデータセクションと反復データセクションとを含むペイロード部分自体を含み、他のノードから到着するフレームを受信する手段と;
−受信したフレームのうち少なくとも1つのフレームのノード自身のデータセクションの所定の部分において前記シンクノード用の第1のデータを読み出す手段と;
−受信したフレームのうち少なくとも1つのフレームの反復データセクションの所定の部分において前記シンクノード用の第2のデータを読み出す手段と;
−前記読み出された第1のデータ及び第2のデータを処理する手段とを具備する。
【発明を実施するための最良の形態】
【0055】
本発明の実施形態の他の特徴及び利点は、以下の限定しない例として示される以下の説明(本発明の実施形態は以下に説明される実施形態の特徴及び利点に限定されない)及び添付の図面から明らかとなるだろう。
【0056】
本明細書の全ての図において、同一の要素及びステップは同一の図中符号により示される。
【0057】
図1に示す5.1タイプの「ホームシネマ」又は「ホームシアター」ネットワークである通信ネットワーク1000において、本発明の特定の一実施形態に係る送受信方法の特定の応用例を以下に示す。勿論、本発明は、7.1タイプの「ホームシネマ」ネットワークにおいても適用できる。
【0058】
本発明の少なくとも1つの他の実施形態に係る方法は、いくつかの並列する同期アプリケーションを同時に実現する必要がある任意の通信ネットワークにおいて実現される。通信ネットワークは、例えば、以下のネットワークのうちの1つである:
−表示装置に接続された複数のメディアソースに基づくネットワーク(マルチポイントツーポイントネットワーク);
−複数の表示装置に接続された複数のメディアソースに基づくネットワーク(マルチポイントツーマルチポイントネットワーク)。
【0059】
5.1ホームシネマネットワーク1000において、スピーカは、メッシュ無線ネットワーク101によりオーディオソースに接続される。
【0060】
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つを再生する。
【0061】
メッシュ無線ネットワーク101を構築するために、本発明は、以下においてWSC(Wireless Surround Controller)ノード110と呼ばれる無線アンビエンスコントローラ110、並びに以下においてWASノード(Wireless Active Speaker)111と呼ばれる第1のアクティブ無線ノード111、第2のアクティブ無線ノード111、第3のアクティブ無線ノード111、第4のアクティブ無線ノード111、第5のアクティブ無線ノード111、第6のアクティブ無線ノード111を使用する。各WASノードは、上述したスピーカの1つと関連付けられる。
【0062】
WASノード111の機能は、無線メッシュノード101においてそのWASノードが関連付けられるスピーカとWSCノード110との間のインタフェースをセットアップすることである。各WASノード111は、各々が同軸ケーブル116により関連付けられるスピーカに接続される。ケーブル116は、所定のWASノード111に対して、(WASノード又はスピーカにおける)増幅器及びデジタル/アナログ変換器の場所により決まるデジタル又はアナログオーディオ信号を搬送する。
【0063】
WASノード111及びWSCノード110は、電源コネクタ113(図1において、この電源コネクタはノード110、111の各々に対して表されていない)によりそれぞれ電力が供給され、無線通信を実現するための1つのアンテナ112をそれぞれ含む。アンテナ112は、電子的に制御される電磁アンテナであるのが好ましい。
【0064】
WSCノード110は、ケーブル115を介してオーディオビデオソース端末102により送信されるオーディオビデオストリームを受信する。その後、WSCノード110は、受信したオーディオビデオストリームから得られるデジタルビデオデータを無線通信を介して全てのスピーカに送信し、受信したオーディオビデオストリームのデジタルビデオデータをケーブル114を介してテレビ画面103に送信する。例えば、ケーブル114及び115は、HDMI(High Definition Multimedia Interface)プロトコルに準拠するケーブルである。ソース端末102又はWSCノード110は、各チャネルのオーディオデータサンプルを識別及び分離するためにオーディオチャネル復号器を具備する。更に、ソース端末102又はWSCノード110は、アンビエンスプロセッサを含み、部屋の音響特性の機能としてオーディオサンプルに変更を適用する。
【0065】
システムを更に小型化するために、WSCノード110がソース端末102に一体化されてもよく、各WASノード111がそのWASノードが関連付けられるスピーカに一体化されてもよい。
【0066】
本発明のネットワーク1000において、以下の時間の制約が重要である:
−同一のオーディオビデオコンテンツから得られるオーディオ信号とビデオ信号との間の相対的なタイムラグが最小限にされる必要がある;
−種々のスピーカからの送信の間(オーディオチャネル間)の相対的なタイムラグが最小限にされる必要がある。
【0067】
一般に「リップシンク(lip Synchronization)」と呼ばれる同一のオーディオビデオコンテンツから得られるオーディオ信号とビデオ信号との間の相対的な時間シフトが最小限にされる必要がある。ユーザの快適さのために、オーディオ信号とビデオ信号との間の相対的なタイムラグは、−30msから+100msの範囲内である必要がある。無線接続の場合、無線送信機/無線受信機は送信に起因するタイムラグを追加する。オーディオ信号はビデオ信号に対してずれる。このずれが100ミリ秒より大きくなる場合、ソース端末102の出力においてビデオ信号を遅延させる必要がある。
【0068】
ホームシネマネットワーク1000において、ユーザが該当する受信基地とスピーカとの距離は、一般に、スピーカによって変動すると考えられる。空気中の音の伝播速度(約343m/s)のために、スピーカから受信基地までの音波の伝播時間は、オーディオチャネル毎に異なる。例えば、2つのオーディオチャネル間の34cmの伝播経路の違いは、2つのオーディオチャネル間の受信時に1msのタイムラグになる。従って、許容できる相対的なタイムラグ(すなわち、100μs未満)を維持するために、殆どのホームシネマシステムは、それらタイムラグを自動的に補正する機構を実現する。
【0069】
メッシュネットワーク101の導入の際には、時間の制約に準拠することに特に注意するべきである。本発明は、ネットワークにおける送信時間が固定されることを保証する。更に、ネットワーク1000において、距離の影響に起因するタイムラグの補正は、WAS111の出力において行なわれる。
【0070】
各WASノード111は、そのコンシューマ(受信機)アプリケーション層でオーディオサンプルを同時に出力する。このオーディオサンプルは、WASノードに共通の固定の遅延後、WSC110のジェネレータ(又は送信側)アプリケーションから到着する。距離の影響に起因したタイムラグは、増幅段階に入る前に各WASノードにおいて補償される。
【0071】
この図1のネットワーク1000において、1対N(N=6)タイプの通信(すなわち、ポイントツーマルチポイント通信)は、WSCノード110から6つのWASノード111に対して行なわれる。WSCノード及びWASノードの各々は、データを送出(又は送信)及び受信でき、それによりN対N、すなわちマルチポイントツーマルチポイント通信がセットアップされるのが有利である。
【0072】
本発明に係る送受信方法(図2a及び図11〜図14を参照して更に詳細に説明する)は、WSCノード110及びWASノード111等のネットワーク1000のいくつかのマシンにおいて実行されるソフトウェアプログラムや複数のソフトウェアサブプログラム(以下に説明する複数のアルゴリズムを含む)の少なくともいずれかの形態で実現される。
【0073】
図2aは、本発明の特定の一実施形態を示す一般的なアルゴリズムを示す。このアルゴリズムは、スーパーフレーム300の間にMAC(Medium access control)フレームを送受信するために実行されるステップを示す。スーパーフレームの構造については、図3を用いて後述する。
【0074】
最初のステップ200において、スーパーフレームの開始を待つ。スーパーフレーム開始信号の受信後(ステップ201)、フレームカウンタの中間値(又はホップ数中間値)はゼロに設定される(ステップ202)。この中間値は、スーパーフレームの異なるフレームをカウントする。
【0075】
ステップ203において、上記マシンがフレームを送出する順番か又は受信する順番かを判定する。
【0076】
上記マシンが受信する順番である場合、MACフレーム301が所定のノードから受信され(ステップ204)、MACフレームのノード自身(中継ノード自身)のデータセクションを処理するステップ205に進む。この目的のために、mux_demuxレジスタ511(図6を参照して説明する)でチェックが行なわれ、ノード自身のデータセクションにおいてその所定のノードにより送信されたデータに対応するチャンク番号又は識別子を見つける。チャンク番号が周知である場合、それらチャンクはメモリのゾーンTに格納される(図10を参照してメモリの構造の一例を説明する)。ゾーンTは現在のスーパーフレームに対応し、ゾーンT−1は直前のスーパーフレームに対応する。
【0077】
ステップ206において、再送信データセクション又は中継データセクションとも呼ばれるMACフレームの反復データセクションが処理される。この処理は、所定のノードの反復データセクションに対応するチャンク番号を取得するために再送信マトリクス510を調査すること及びマトリクスの値の機能としてそれらチャンク番号をメモリのゾーンT又はT−1に格納することから成る。
【0078】
フレームカウンタが増分されるステップ210に進む。
【0079】
上述したステップ203に戻ると、送出する順番である場合、ステップ207に進み、送出されるMACフレームのノード自身のデータセクションが構築される。この目的のために、TDM_MAPレジスタの「function」フィールド801でチェックが行なわれ、書き込みモードのローカルノードに割り当てられる仮想チャネルを見つける。従って、ゾーンT(現在のスーパーフレーム)のメモリで調査されるチャンク番号が取得される。それらチャンクはMACフレーム符号化モジュール424に書き込まれ、ステップ208に進む。
【0080】
ステップ208において、送出されるMACフレームの反復データセクションが構築される。この目的のために、マトリクス510でチェックが行なわれ、再送信のためにローカルノードに割り当てられるチャンクを見つけ、それらチャンクが現在のフレームに属するか又は直前のスーパーフレームに属するかを調査する。それらチャンクは、メモリにおいて見つけられた後、MACフレーム符号化モジュール424に追加される。
【0081】
ステップ209において、MACフレームが送出され、ステップ210においてフレームカウンタが増分される。
【0082】
ステップ210に続くステップ211において、スーパーフレームの末尾に到達したかの調査が行なわれる。末尾に到達した場合、ステップ200に戻る。末尾に到達していない場合、ステップ203に戻る。
【0083】
図2bは、再送信方式の一例である。表250は、ノード毎にノード自身のデータセクション251と反復データセクション252とを規定する。
【0084】
この例において、ノード0(253参照)は、ノード自身のデータとしてチャンク0〜18を送出し、データを繰り返さない。ノード2(254参照)は、ノード自身のデータとして番号20のチャンク、反復データの一部として現在のスーパーフレームのチャンク0〜2、並びに反復データの一部として直前のスーパーフレームのチャンク24及び25を送出する。
【0085】
この例を実現するために、mux_demuxレジスタ及び再送信マトリクスは、それに応じて埋められる必要がある。現在のスーパーフレームのチャンクを再送信する場合、事前にそれらチャンクを受信する可能性があることを監視する必要がある。例えば、チャンク23はノード5により送信されるため、すなわち、ノード4のフレームの後に送信されるため、チャンク23は、同一のスーパーフレームでノード4により再送信されない。
【0086】
図3は、無線メッシュネットワーク101における送信のネットワークサイクル313を示す図である。
【0087】
スーパーフレーム300は、例えば、1msの期間である固定の期間のネットワークサイクル313の一部を形成する。この期間中、ネットワーク101の各WSCノード又はWASノードは、音声時間中に所定の送出シーケンスで無線メッシュネットワーク101においてMACフレームを送出する。従って、フレーム1は、WSCノード110により送出され、第2のフレーム(フレーム2)〜第7のフレーム(フレーム7)は、第1のWASノード〜第6のWASノードによりそれぞれ送出される。これら第1のMACノード〜第7のMACノードはスーパーフレーム300を形成する。
【0088】
スーパーフレーム300の第1のフレーム(フレーム1)は、WSCノード110であるマスタノードからMACフレームを送出することに対応する。このフレームは開始フレーム(すなわちhead_hop)と呼ばれる。ノードWAS1〜WAS6はスレーブノードである。実際には、WSCノード110は、メッシュネットワーク101をクロック制御し、ネットワークサイクル開始信号203の生成に際してメッシュネットワークのサイクルを規定するネットワークのノードである。
【0089】
各MACフレームは、MACヘッダ308及びペイロードデータフィールド309を有する。MACヘッダ308は以下の3つのフィールドを有する:
−スーパーフレーム300を識別し、ネットワークのノードに対してフレーム301〜307の割り当てを指示する「SF_id」フィールド310。例えば、第1のスーパーフレームはフレーム1をノード1に、フレーム2をノード2に、フレーム3をノード3に、フレーム4をノード4に、フレーム5をノード5に、フレーム6をノード6に、フレーム7をノード7に割り当てることができ、第2のスーパーフレームは異なる割り当てを有する。例えば、フレーム1がノード4に割り当てられ、フレーム2がノード1に割り当てられ、フレーム3がノード3に割り当てられ、フレーム4がノード1に割り当てられ、フレーム6がノード6に割り当てられ、フレーム7がノード5に割り当てられる;
−スーパーフレーム中のフレームのシーケンスにおいてMACフレームを識別する「MF_id」フィールド311;
−MACフレームを送出するノードの識別子を含む「NODE_id」フィールド312。
【0090】
ペイロードデータフィールド309は、所定の長さの以下の2つのセクションを有する:
−ノードが送出するノード自身の送出データのために確保されたノード自身のデータセクション314;
−中継データ(元々は他のノードにより送信されたデータの再送信)のために確保された反復データセクション315。
【0091】
送出するノードは、中継される受信データを事前にそのセクション315に配置する。
【0092】
「inter_frame316.1〜316.7」で示されるフレーム間の待ち時間は、ネットワークの種々のノードにより生成されるジッタを吸収したり、送信モードと受信モードとを切り替えたり、又はアンテナの再方向付けを可能にしたりするために、フレーム1〜フレーム7のフレーム間で提供されるのが好ましい。
【0093】
図4は、本発明の特定の一実施形態に係る無線メッシュネットワーク101の汎用ノード400を示す図である。例えば、無線メッシュネットワーク101におけるWSCノード及びWASノード各々は、汎用ノード400と同一である。
【0094】
汎用ノード400は、以下の5つのモジュールを含む:
・データ送信(又は生成)モジュールからデータを取得し且つデータ受信(又は消費)モジュールにデータを提供又は提示する役割を果たすデータ提示モジュール401;
・メッシュネットワーク101のノード内でTDM時分割多重方式を実現する役割を果たすTDMマネージャモジュール402a(このモジュール402aは、データ提示モジュール401によりトランスポート層として使用される);
・無線メッシュネットワーク101の実現を可能にし、TDMマネージャモジュール402aの仮想チャネルの形式の構成と後述するMAC同期モジュール403のMACフレームの形式の構成との間の適応を行なうMAC適応モジュール402b;更にMAC適応モジュール402bはデータ再送信を管理する。
【0095】
・MAC同期モジュール403は、メディアアクセスプロトコルMACを実現する。これは、FEC(Forward Error Correction)による誤り訂正や、メディアへのアクセスの同期化を管理する。スレーブノードの場合、このモジュールはTDMマネージャモジュール402aのタイミングの同期を行なう。また、後述する無線モジュール404に向けられるか又は無線モジュール404から到着するデータの変調及び復調を実行する;
・無線モジュール404は、メディアへのアクセスのアナログ部分である。これは、ミリメートル波を使用して通信(送信/受信)するように適応される。
【0096】
送信(又は生成)モジュールから得られるデータの一部は、Fs_INで示される周波数で送信機(又はジェネレータ)アプリケーションにより同期ストリーム送信FIFO(SSTF)408の集合に格納される。
【0097】
受信機アプリケーションに向けられるデータは、TDMバスマネージャ414によりSSRFs(Synchronous Stream Receive FIFOs)407の集合に格納される。これらデータの一部は、Fs_OUTで示される周波数で受信機アプリケーションにより読み出される。
【0098】
アプリケーションは、「同期メッセージ受信FIFO(SMRF:Synchronous Message Receive FIFOs)」410の集合と、同期メッセージ送信FIFO(SMTF:Synchronous Message Transmit FIFOs)411の集合とを含む送信/受信FIFOの集合と、コマンドマネージャインタフェース409とを使用して制御コマンドを送受信できる。メッセージは、この目的のために確保されたTDM仮想チャネルを使用して送受信される。
【0099】
汎用ノード400は、TDMバスマネージャ414により使用される基準クロック405を含み、TDMサイクル及びネットワークサイクルを規定する。この基準クロックは、位相同期ループ(PLL:phase-locked loop)406によっても使用され、周波数Fs_OUTを生成する。
【0100】
周波数Fs_OUTを生成するための位相同期ループ(すなわち、PLL)406の構成は、コマンドマネージャインタフェース409により達成される。汎用ノード400の入力において、コマンドマネージャインタフェース409は、同期メッセージ送信FIFO411を介して周波数Fs_INの値を検出し送信する。遠隔ノード(すなわち、ノード400に対して遠隔)においては、この遠隔ノードのコマンドマネージャインタフェースは、この遠隔ノードの同期メッセージ受信FIFOを介して周波数Fs_INの値を受信する。従って、遠隔ノードは、同一の周波数の値を出力するための位相同期ループを構成できる。
【0101】
TDMバスマネージャ414は、データバス435を制御する。データバス435は、以下のFIFO、すなわち、SSRF407、SSTF408、SMRF410、SMTF411と、null値解析デバイス416と、null値挿入デバイス418とを接続する。TDMバスマネージャ414は、TDM仮想チャネル上にアプリケーションデータを配信する。この配信は、上述のTDMマップレジスタTDM_MAP415により規定される。
【0102】
各TDMサイクルにおいて、TDMバスマネージャ414は、書き込みモードで割り当てられた全ての仮想チャネルに対して、SSTF FIFO408又はSMTF FIFO411のいずれかから送信機アプリケーションのデータを読み出すようにnull値挿入デバイス418に要求する。全ての割り当てられた仮想チャネルを満足する程に十分なデータがSSTF FIFO及びSMTF FIFOに存在しないということが発生する可能性がある。この場合、null値挿入デバイス418は、データ量が欠落している書き込み割り当て仮想チャネルを満たすように「null」記号を追加する。TDMバスマネージャ414が常に同一の仮想チャネルのシーケンスを送出すること、すなわち、各ネットワークサイクルにおいて同一量のデータを送出することを保証するために「null」記号が挿入される。それにより、各サイクル及び停止時に送信機アプリケーション及び受信機アプリケーションが全く同一の仮想チャネルのシーケンスを使用することに関して同期させることができる。
【0103】
更に各TDMサイクルにおいて、TDMバスマネージャ414は、SyncRF_from_MAC FIFO417からTDMデータを取得するようにnull値解析デバイス416に要求する。それらデータの一部は、TDMマップレジスタTDM_MAP415を使用してSSRF407又はSMRF410に書き込まれる。ある特定の仮想チャネルは「null」記号を有するTDMデータストリームを搬送する。null値解析デバイス416は、「null」記号がTDMバスマネージャ414によりアプリケーションデータとして解釈されないように「null」記号を処理する。「null」記号は、null値挿入デバイス418により挿入されているので、それら記号は受信機(又はコンシューマ)アプリケーションに通信されるべきではない。書き込みモードで割り当てられた対応する仮想チャネルは空のままである。送信機(又はジェネレータ)アプリケーションのビットレートに関わらず、各ネットワークサイクルにおいて同一データ量が汎用ノード400により送出されること、すなわち、汎用ノード400が生成するMACフレームがネットワークサイクル間で固定の大きさを有することを保証するために、「null」記号は使用される。更に受信機(コンシューマ)アプリケーションは、周波数Fs_OUTでデータを検索する。周波数Fs_OUTは、送信機(又はジェネレータ)アプリケーションにより使用される周波数Fs_INに対応し、上述したようにデータの送信(又は生成)をクロック制御する。「null」記号が受信機(又はコンシューマ)アプリケーションに送信されないため、受信機(又はコンシューマ)アプリケーションは、送信機アプリケーションが送出したデータをそれ以上受信しない。従ってデータの受信におけるタイムラグを防止し、SSRF FIFO407のオーバフローを防止する。「null」記号は、ある特定のTDMサイクル数より以前に、この同一のデータの一部を送出するために、送信ノード上で使用された仮想チャネルと同一の仮想チャネル内でデータの一部が提示されるのを保証する。
【0104】
「MAC」適応モジュール402bに含まれるMACアダプタ428は、各TDMサイクルにおいて以下のものを取得する:
−TDMフレーム(書き込み割り当て仮想チャネルからのデータ)
−MACアダプタモジュール428からの反復データ。
【0105】
MACアダプタ428は、図11及び図12を参照し、後述するように、データブロックを形成するチャンクにTDM仮想チャネル(すなわち、上述のTDMフレームからのデータ)及び上述の反復データを配置する。MACアダプタ428は、TDMマップレジスタTDM_MAP415にアクセスすることにより、書き込みモード(及び読み出しモード)で使用される仮想チャネルの割当てを認識する。
【0106】
それらチャンクは構築されると、MACコントローラ420により出力されるTx_cycle_event451で示される(汎用ノード400の音声時間の開始を指示する)信号の受信中にMACフレームの形式で符号化モジュール424に送信される。その後それらチャンクは、汎用ノード400により送出されるMACフレームのペイロードデータ309を構成する。
【0107】
同時に、信号Tx_cycle_event451がアクティブ化されると、符号化モジュール424は、フィールドSF_id310、フィールドMF_id311、フィールドNODE_id312に所定の値を割り当てる。
【0108】
FEC(Forward Error Correction)による訂正は、MACフレームがMACフレーム変調器425に送信されるより前に、符号化モジュール424によりMACフレームに対して行なわれるのが有利である。
【0109】
逆に、MACフレームがMACフレーム復調器422により受信されると、MACフレームは、FECによる訂正を実行できるMACフレーム復号器423に送信される。
【0110】
MACフレームのヘッダが正確である場合、HOP_frame_Rx_eventで示される信号がアクティブ化されるのと同時に、MACヘッダ308のMF_id311フィールドのHOP_frame_Rx_hop_idで示されるコピーがMACコントローラ420に送出される。この情報は、アクセス制御を同期させるために使用される。
【0111】
同時に、MACヘッダ308のフィールドSF_id310のHOP_frame_Rx_eventで示されるコピー及びフィールドNODE_id312のHOP_frame_Rx_Node_idで示されるコピーは、MACアダプタ428に送出される。MACアダプタ428は、MACフレーム復号器423により出力されるMACフレームのペイロードデータフィールド309のデータブロックを読み出し、それらをメモリに格納する。
【0112】
MACアダプタ428は、チャンク形式でMACフレーム復号器423からくるデータを受信する。TDMサイクル毎に、データの一部がバス435で提示されるべき順番に従ってSyncRF_from_MAC FIFO417に挿入されるTDMフレームを抽出するために、MACフレームのノード自身のデータセクション及び反復データセクションのデータの一部は、MACアダプタモジュール428により解析される。
【0113】
MACコントローラ420は、音声時間の開始(信号Tx_cycle_event451の生成)を判定し且つスレーブノードに対するネットワークサイクルの開始を表す信号(信号SF_slave_cycle_start524)を生成するために、MAC同期処理を実行する役割を果たす。信号Tx_cycle_event451は、送信シーケンスにおいてそのノードに先行するノードが送信を中止し、アンテナの再方向付けを可能にし且つ無線ネットワーク101に固有のジッタを補償するために待ち時間間隔(又はギャップ)が追加された後、ノードがネットワーク上で送信又は送出を開始できる時点を示す。尚、マスタノードの場合、ネットワークサイクルの開始を表す信号は信号SF_master_cycleであり、TDMバスマネージャ414により生成される。
【0114】
MACコントローラ420は、信号Antenna_Ctrl455を使用して受信時にアンテナ112の向きをチェックする。ここでは、メッシュネットワーク101の実現例の特定のモードにおいて、全てのノードが送信機ノードによりブロードキャストされる情報を受信すると同時に無線信号の送信に必要な電力を制限することを確認するために、ノードは、受信時にそれらの無線アンテナを方向付けし、送信時に全方向性モードでそれらアンテナを使用する場合が考慮される。
【0115】
RF(無線周波数)送信モジュール434は、無線送信機の通常の機能を実行する。すなわち、変調器425の出力における中間周波数を無線送信により使用される搬送波の周波数に変換(高周波数への変換)、増幅、アンテナを介する送出等を実行する。
【0116】
RF(radiofrequency)受信機モジュール433は、無線受信機の通常の機能を実行する。すなわち、アンテナを介する受信、フィルタリング、レベルの検出、自動ゲイン制御、低周波数への変換等を実行する。
【0117】
図5は、本発明の特定の一実施形態に係るMACアダプタ428の構造の一例を示す。
【0118】
MACアダプタ428は以下を具備する:
−チャンクが格納される4ポートのメモリ500(例えば、RAM、すなわち「ランダムアクセスメモリ」)。
【0119】
−各サイクルで生成されるSyncTF_to_MAC FIFO419のTDMバスの仮想チャネルを読み出し、それらをメモリ500に配置する送信チャンクマネージャ(Tx_chunk_management)モジュール505。この送信チャンクマネージャモジュール505は、図10を参照して後述するように、メモリ500の3つの異なるゾーンに連続して指し示すモジュロ2カウンタであるレジスタRefBaseAddrレジスタ504を使用してメモリ500とインタフェースされる。レジスタRefBaseAddr504は、各SF_cycle_start信号512で増分される。レジスタRefBaseAddr504は、次のスーパーフレームが構築されているメモリゾーンを常に参照する。
【0120】
−信号Tx_cycle_event513により与えられる送信時間に到達した時にローカルノードのMACフレームの構築を管理するMAC層(Tx_To_MAC)506への送信を行なうモジュール。MAC層への送信を行なうモジュール506は、レジスタTxToMacBaseAddr503を介してメモリ500をアドレス指定する。このレジスタ503は、MACフレーム構築のために、現在のスーパーフレームのゾーン及び先行するスーパーフレームのゾーンを交互にアドレス指定する。
【0121】
−MACフレームの受信、並びにフレームのノード自身のデータセクション及び反復データセクションの処理を管理するMAC層(Rx_From_MAC)からの受信を行なうモジュール507。このモジュールは、レジスタRxFromMacBaseAddr502を介してメモリ500をアドレス指定する。
【0122】
−TDM順(チャンク毎ではなく仮想チャネル毎)に、事前に受信したスーパーフレームからの仮想チャネルの抽出し、それらをFIFO SyncRF_From_MAC417に送出する役割を果たすTDMバス(Rx_To_TDM)に対して受信を行なうモジュール508。このモジュールは、レジスタRxToTDMBaseAddrを介してメモリ500とインタフェースする。
【0123】
−メモリ500に格納された各チャンクに対する存在指示を含むレジスタChunk_flags509。
【0124】
−ネットワークの全てのノードに対して送信されるチャンクを示す再送信マトリクス510。このマトリクスは、MACフレームの反復データセクション315に配置されるチャンク数を各ノード毎に示す。このマトリックスは、現在のスーパーフレーム又は先行するスーパーフレームに取り入れられるべきかをチャンク毎に更に示す。
【0125】
−ネットワークの全てのノードに対して送信されるチャンクを示すMux_demuxレジスタ511。このレジスタは、MACフレームのノード自身のデータセクション314に配置についてのチャンクの数をノード毎に示す。このレジスタは、仮想チャネル割り当てマトリックスと呼ばれる。
【0126】
図6は、本発明の特定の一実施形態に係るレジスタmux_demux511の構造の一例を示す。レジスタmux_demux511は、各ノードのMACフレームのノード自身のデータセクションのコンテンツを示す。レジスタは、行602及び列601によりアドレス指定される。各行は、ノード識別子(ノード0〜ノードN)に対応し、各列はチャンク番号(チャンク0〜チャンクM)に対応する。格納される値603は1又は0である:
−値1は、チャンクが送信される必要があることを意味し、
−値0は、チャンクが送信されるべきではないことを示す。
【0127】
図7は、本発明の特定の一実施形態に係る再送信マトリクス510の構造の一例を示す。再送信マトリクス510は、デフォルトに対応する所定の値を有する。システムが開始すると、それら値はROMに格納され、RAMにロードされる。再送信マトリクスは、各ノードのMACフレームの反復データセクションのコンテンツを示す。このマトリクスは、行702及び列701によりアドレス指定される。各行はノード識別子(ノード0〜ノードN)に対応し、各列はチャンク番号(チャンク0〜チャンクM)に対応する。格納される値(パラメータt)703は1、0又は−1である:
−値1は、チャンクが再送信される必要がないことを意味し、
−値0は、予め受信され且つ現在のスーパーフレームに属するチャンクが送信される必要があることを意味し、
−値−1は、予め受信され且つ先行するスーパーフレームに属するチャンクが再送信される必要があることを示す。
【0128】
再送信マトリクス510(図7で説明される)及びレジスタmux_demux511(以下において、仮想チャネル割り当てマトリクスとも呼ばれる)(図6で説明される)は、所定の値を含む。再送信マトリクス510は、各ノードにより送出されるMACフレーム(パケット)の反復データセクションのコンテンツを記述し、割り当てマトリクス511は、各ノードにより送出されるMACフレーム(パケット)のノード自身のデータセクションを記述する。システムが開始すると、これら2つのマトリクスの組み合わされたコンテンツは、ROMに格納され、ロードされる。システムはサービスインタフェースを有するように設計されるのが有利であり、所定のインストールの特定の条件により適する値にするために、そのようなシステムのインストーラはそのサービスインタフェースを介してそれらパラメータのデフォルト値を変更できる。実際には、無線の範囲に関してより重要であると考えられるため、あるいは任意の他の考慮点に対する重要性が低いと考えられるため、特定のノードから到着するデータをより頻繁に繰り返すことは有利である可能性がある。インストーラは、再送信データの数及びノード自身のデータに対するビットレートに関するゲインを減少することを決定するために特に有利な無線条件を利用できる。
【0129】
図8は、本発明の特定の一実施形態に係るTDMマップレジスタTDM_MAP415の構造の一例を示す。
【0130】
TDMマップレジスタTDM_MAP415におけるデータの一部は、各仮想チャネルに対して32ビットのメモリゾーンを含む。
【0131】
TDMマップレジスタTDM_MAP415のデータの一部は、以下に与えられるように仮想チャネルの番号付けに従って順序付けされる。すなわち、仮想チャネル0に対応するメモリゾーンがレジスタの32ビットに割り当てられた第1のオフセットアドレスにあり、仮想チャネルnに対応するメモリゾーンがレジスタの32ビットに割り当てられた第nのオフセットアドレスにある。
【0132】
所定の仮想チャネルのメモリゾーン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は仮想チャネルと関連付けられたFIFO SSTFがないことを意味する;
−仮想チャネルと関連付けられたSMTFを識別する6ビットの「SMTF」フィールド805。例えば、b000000はFIFO SMTF[0]であることを意味し、b000001はFIFO SMTF[1]であることを意味し、b111111は仮想チャネルと関連付けられたSMTF FIFOがないことを意味する;
−任意の次のアプリケーションのために確保される6ビットの「reserved」フィールド806。
【0133】
図9は、本発明の特定の一実施形態に係るChunk_flagsレジスタ509の構造の一例を示す。
【0134】
Chunk_flagsレジスタ509は、メモリ中の有効なチャンクの有無を示す。これは、M個のチャンク(チャンク0〜チャンクM)の3バンクのメモリであり、各バンク900、901及び902はメモリゾーンに対応する。可能な値903は1及び0である。値1は有効なチャンクの存在を示し、値0は有効なチャンクがないことを示す。
【0135】
図10は、本発明の特定の一実施形態に係るメモリ500の構造の一例を示す。
【0136】
メモリ500は、3つのゾーン1001、1002及び1003により形成され、各ゾーンは基底アドレスと関連付けられる(ゾーン1001は基底アドレス0、ゾーン1002は基底アドレス1及びゾーン1003は基底アドレス2)。
【0137】
各ゾーンは、スーパーフレームに対応する(すなわち、ネットワークサイクルに対応する。図3を参照)。各ゾーンが次のスーパーフレーム(T=1)、現在のスーパーフレーム(T)又は直前のスーパーフレーム(T−1)に対応するように、ゾーンはそれぞれ順番にアドレス指定される(ラウンドロビン配信において)。
【0138】
各ゾーンは、スーパーフレーム毎に最大M個のチャンクを含む。この数Mは、TDMサイクル毎の仮想チャネルの最大数(VC0〜VCM)に対応する。各チャンク1004(チャンク0〜チャンクM)は、ヘッダ1005及び同一仮想チャネル1006のP+1個の連続する値の連結(例えば、チャンク0の場合、仮想チャネルVC0の連続する値VC0−0〜VC0−P)により形成される。P+1は、ネットワークサイクル毎のTDMサイクル数である。例えば、チャンク番号kは、第1のTDMサイクル中の仮想チャネル番号k(VCk)の値VCk−0、第2のTDMサイクル中の仮想チャネル番号k(VCk)の値VCk−1、...、同一ネットワークサイクルの最後のTDMサイクル中の仮想チャネル番号k(VCk)の値VCk−Pを含む。仮想チャネルの値の大きさは48ビットである。ヘッダ1005は、仮想チャネル毎に1ビット有する。このビットが1の場合、仮想チャネルにデータが存在しないことを意味し、0の場合、チャンクにパディングチャンク又は「ゼロ」記号が存在することを意味する。
【0139】
0x555555に符号化されるパディングチャンクである1つの周知の記号のみが存在する。この記号は、メモリに格納されるべきチャンクが存在しないことを示すために使用される。この記号は、最後のノード(再送信マトリクス510で規定されるような)がネットワーク上で発話した後にデータが受信されない(且つデータを受信する機会がそれ以上存在しない)場合に挿入される。
【0140】
メモリ500の各ゾーンは、ネットワークサイクルの期間の全ての仮想チャネルを含むことができる(各ゾーンはスーパーフレームに対応する)。チャネルは、最小チャンク番号から最大チャンク番号(チャンク0〜チャンクM)までのチャンク番号の機能として順序付けされる。仮想チャネルは、最小仮想チャネル番号から最大仮想チャネル番号(VC0〜VCM)までの番号に従って順序付けされる。
【0141】
各ネットワークサイクルにおいて、特定のタスクはメモリ500の各ゾーンに割り当てられる。例えば、所定のネットワークサイクルの場合:
−第1のゾーンは、TDMバスから到着するチャンクを処理するのに使用される(例えば、ネットワークサイクルCに関連付けられたデータ);
−第2のゾーンは、メッシュネットワーク101に対してチャンクを送信又は受信するのに使用される(ネットワークサイクルC−1に関連付けられたデータ);
−第3のゾーンは、TDMバスに対してチャンクの分解及び仮想チャネルの抽出を実行するのに使用される(ネットワークサイクルC−2に関連付けられたデータ)。
【0142】
次のネットワークサイクル中:
−第1のゾーンは、メッシュネットワーク101に対するチャンクの送信又はチャンクの受信に対して使用される;
−第2のゾーンは、TDMバスに対してチャンクの分解及び仮想チャネルの抽出を実行するのに使用される;
−第3のゾーンは、TDMバスから到着するチャンクを処理するのに使用される。
【0143】
レジスタRefBaseAddr504は、基底アドレス2、基底アドレス1及び基底アドレス0の順番でメモリ500の3つの基底アドレスを連続して選択する。基底アドレスの値の変更は、上述のように信号SF_cycle_startの受信により起動される。
【0144】
図11は、本発明の特定の一実施形態に従って、MACアダプタ428に含まれる送信チャンク管理モジュール(Tx_Chunk_Management)505により実現される処理アルゴリズムの主なステップを示す。
【0145】
このモジュール505は、各TDMサイクルにおいてFIFO SyncTF_to_MAC419から仮想チャネルを取得し、それら仮想チャネルをメモリ500のチャンク1004に配置する機能を有する。このモジュール505は、次のスーパーフレームに対応するゾーンにおいてメモリ500を常にアドレス指定する。この処理は、レジスタRefBaseAddr504により行なわれる。この基底アドレスレジスタは、新しいスーパーフレーム毎にモジュロ2で増分される。
【0146】
再設定後、ステップ1100において、信号(事象とも呼ばれる)SF_cycle_start512を待つ。この信号は、新しいスーパーフレームの開始(すなわち、新しいネットワークサイクルの開始)を指示する。
【0147】
ステップ1101において、信号SF_cycle_start512が受信される。
【0148】
ステップ1102において、内部変数TDM_cycleが0に設定される。この内部変数は、スーパーフレーム中のTDMサイクルをカウントする。レジスタRefBaseAddr504に対応するレジスタChunk_flags509は再設定され、レジスタRefBaseAddr504はメモリ500の次のスーパーフレームを指し示す。
【0149】
ステップ1103において、信号TDM_cycle_start514を待つ。この信号は、新しいTDMサイクルの開始を指示する。
【0150】
ステップ1104において、信号TDM_cycle_start514が受信される。
【0151】
ステップ1105において、ローカルノードに対する第1の書き込み割り当て仮想チャネルの探索が行なわれる。この処理は、レジスタTDM_MAP415の「function」フィールド801を読み出す際に行なわれる。そのような仮想チャネルが見つかった場合、その番号は内部変数VCnumに格納される。見つからなければ、値−1が変数VCnumに格納される。
【0152】
ステップ1106において、書き込み割り当て仮想チャネルが見つかったかの確認が行なわれる。見つかった場合、ステップ1107に進む。見つからなかった場合、現在のTDMサイクルの処理が完了したことを意味し、ステップ1112に進む。
【0153】
ステップ1107において、仮想チャネルのデータがチャンクメモリに書き込まれる。この目的のために、仮想チャネルデータはFIFO SyncTF_to_MAC419から読み出され、データはメモリにおいてレジスタRefBaseAddr504により指示されるゾーンに書き込まれる。その後、メモリのチャンクヘッダは格納された仮想チャネルの特性を示すように更新される。
【0154】
その後のステップ1113において、レジスタTDM_MAP415の「function」フィールド801を読み出す際に次の書き込み割り当て仮想チャネルの探索が行なわれる。その後、ステップ1106に戻る。
【0155】
ステップ1112において、TDMサイクルの処理が終了し、変数TDM_cycleは増分される。
【0156】
ステップ1108において、スーパーフレームの最後のTDMサイクルに到達したかの確認が行なわれる。到達していない場合、新しいTDMサイクルのためにステップ1103に戻る。到達した場合、次のネットワークサイクル(すなわち、新しいスーパーフレーム)のためにステップ1109に進む。
【0157】
ステップ1109において、信号SF_cycle_start512(すなわち、新しいスーパーフレームの開始)を待つ。
【0158】
ステップ1110において、信号SF_cycle_start512が受信される。
【0159】
ステップ1111において、信号readyForTx515がMAC層(Tx_To_MAC)への送信を行なう送信モジュール506に送出され、ステップ1102に戻る。直前のスーパーフレームは、MACアダプタ428により送出される準備ができている。すなわち、データの一部は準備されている。MAC同期モジュール403が準備されると、次のスーパーフレームが送出される。
【0160】
図12は、本発明の特定の一実施形態に従って、MACアダプタ428に含まれるMAC層(Tx_To_MAC)への送信を行なうモジュール506により実現される処理アルゴリズムの主なステップを示す。
【0161】
このモジュール506は、送信チャンク管理モジュール(Tx_Chunk_Management)505が現在のスーパーフレームに対してチャンクを準備すると、それらチャンクをノード自身のデータセクションとしてMACフレーム符号化モジュール424に送出する機能を有する。またモジュール506は、現在のスーパーフレーム及び直前のスーパーフレームからチャンクを取得し、それらチャンクを反復データセクションとしてMACフレーム符号化モジュール424に送出する。
【0162】
再設定後、ステップ1200において、送信チャンク管理モジュール(Tx_Chunk_Management)505により生成される信号readyForTxを待つ(図11のステップ1111を参照)。
【0163】
ステップ1201において、信号readyForTxが受信される。
【0164】
ステップ1202において、信号Tx_cycle_event513を待つ。MACフレームを送出する準備が整うと、この信号はMAC同期モジュール403により生成される。
【0165】
ステップ1203において、信号Tx_cycle_eventが受信される。
【0166】
ステップ1204において、ローカルノードに対する第1の書き込み割り当て仮想チャネルの探索を行なう。この処理、レジスタTDM_MAP415の「function」フィールド801を読み出す際に行なわれる。この種の仮想チャネルが見つかった場合、その番号が内部変数VCnumに格納され、見つからなかった場合、値−1が変数VCnumに格納される。この変数CVnumは更に、メモリ500において読み出されるチャンクの番号を示す。また、このステップ1204において、レジスタTxToMacBaseAddr503はレジスタRefBaseAddr504のコンテンツを使用して設定され、現在のスーパーフレームのゾーンでメモリ500をアドレス指定する。
【0167】
ステップ1205において、書き込み割り当て仮想チャネルが見つかったか、すなわち変数VCnumが有効(!=−1)であるかの確認が行なわれる。有効である場合、ステップ1206に進む。有効でない場合、現在のTDMサイクルの処理が終了したこと(全ての書き込み割り当て仮想チャネルが処理されたこと)を意味する。従って、スーパーフレームのノード自身のデータセクションの処理は終了しており、反復データセクションの処理を行なうためにステップ1207に進む。
【0168】
ステップ1206において、VCnumに対応するチャンクはメモリ500において読み出される。その後、そのチャンクはMACフレーム符号化モジュール424に書き込まれる。ステップ1214において、次の書き込み割り当て仮想チャネルの探索が行なわれ、ステップ1205に戻る。
【0169】
ステップ1207において、送信される第1のチャンクの探索が再送信マトリクス510で行なわれる。ステップ1215において、現在のスーパーフレームを指し示すレジスタTxToMacBaseAddr503の値が保管される。
【0170】
ステップ1208において、再送信される全てのチャンクが処理されたかの調査が行なわれる。処理された場合、MACフレーム反復データセクションの処理が終了したことを意味し、ステップ1200に戻る。処理されていない場合、ステップ1209に進み、MACフレーム反復データセクションの処理を継続する。
【0171】
ステップ1209において、レジスタTxToMacBaseAddr503は、再送信マトリクス510でタイミング情報(すなわち、現在のスーパーフレーム又は直前のスーパーフレーム)の機能として変更される。従って、現在のスーパーフレーム又は直前のスーパーフレームがアドレス指定される。
【0172】
ステップ1210において、チャンクがメモリに有効に存在するかの確認が行なわれる。ある特定のフレームが受信されない場合、シャドウイング等の問題のためにチャンクがメモリ500において欠落している可能性がある。レジスタChunk_flags509に対して検査が行なわれる。チャンクが存在する場合、ステップ1211に進む。存在しない場合、ステップ1212に進む。
【0173】
ステップ1211において、チャンクは、メモリ500において読み出され、MACフレーム符号化モジュール424に書き込まれる。
【0174】
ステップ1212において、パディングチャンクがMACフレーム符号化モジュール424に書き込まれる。パディングチャンクは、ヘッダが0であり且つ全ての仮想チャネルがパディングチャンク記号Ox555555の値で符号化されたチャンクである。
【0175】
ステップ1213において、再送信される次のチャンクの探索が再送信マトリクス510で行なわれる。ステップ1216において、レジスタTxToMacBaseAddr503は現在のスーパーフレームに対して復元され、ステップ1208に戻る。
【0176】
図13は、本発明の特定の一実施形態に従って、MACアダプタ428に含まれるMAC層(Rx_From_MAC)からの受信を行なうモジュール507により実現される処理アルゴリズムの主なステップを示す。
【0177】
このモジュール507は、MACフレーム復号器423から到着するMACフレームを受信し、ノード自身のデータセクションのデータ及び反復データセクションのデータを処理する機能を有する。
【0178】
再設定後、ステップ1300において信号512を待つ。この信号は、新しいスーパーフレームの開始(すなわち、新しいネットワークサイクルの開始)を指示する。
【0179】
ステップ1301において、信号SF_cycle_start512が受信される。
【0180】
ステップ1302において、信号HOP_frame_Rx_eventを待つ(図4を参照)。この信号は新しいMACフレームの受信を指示する。
【0181】
ステップ1303において、信号HOP_frame_Rx_eventが受信される。
【0182】
ステップ1304において、送信ノードのMACフレームのノード自身のデータセクションで送出される第1のチャンクの探索が行なわれる。この情報は、mux_demuxレジスタ511において入手可能である。その後、レジスタRxFromMacBaseAddr502は、レジスタRefBaseAddr504のコンテンツを使用して設定され、現在のスーパーフレームのゾーンにおいてメモリ500をアドレス指定する。
【0183】
ステップ1305において、受信したMACフレームの旧データセクションの処理が終了しているかの確認が行なわれる。終了している場合、ステップ1307に進み、反復データセクションを処理する。終了していない場合、ステップ1306に進み、ノード自身のデータセクションの処理を継続する。
【0184】
ステップ1306において、MACフレーム復号器423から到着するチャンクは読み出されてメモリ500に書き込まれる。その後、有効なチャンクを示すために1がレジスタChunk_flags509に書き込まれる。ステップ1314において、受信したMACフレームのノード自身のデータセクションで送出される次のチャンクの探索が行なわれる。この情報は、レジスタmux_demux511において入手可能である。その後、ステップ1305に戻る。
【0185】
ステップ1307において、受信したMACフレームの反復データセクションで再送信される第1のチャンクの探索が行なわれる。この情報は、再送信マトリクス510において入手可能である。
【0186】
ステップ1308において、受信したMACフレームの反復データセクションの処理が終了しているかの確認が行なわれる。終了している場合、ステップ1302に戻る。終了していない場合、ステップ1309に進み、反復データセクションの処理を継続する。
【0187】
ステップ1309において、レジスタRxFromMacBaseAddr502は、再送信マトリクス510に含まれるタイミング情報(すなわち、現在のスーパーフレーム又は直前のスーパーフレーム)の機能として変更される。その後、現在のスーパーフレーム又は直前のスーパーフレームがアドレス指定される。
【0188】
ステップ1310において、別の受信したMACフレームを処理する際にそのチャンクがまだ格納されていないかを確認するためのチェックがレジスタChunk_flags509において行なわれる。格納されている場合、ステップ1313に進む。そのチャンクを再度格納する必要がない。格納されていない場合、ステップ1311に進む。
【0189】
ステップ1311において、受信したチャンクが上記規定に従ってパディングチャンクとして符号化されているかの確認が行なわれる。そのようなチャンクである場合、それを格納する必要はなく(チャンクの別のコピーが別のノードから受信される場合、そのコピーは格納される)、ステップ1313に進む。パディングチャンクでない場合、ステップ1312に進む。
【0190】
ステップ1312において、チャンクはメモリ500に書き込まれる。有効なチャンクを示すために1がレジスタChunk_flags509に書き込まれる。
【0191】
ステップ1313において、受信したMACフレームの反復データセクションで送出される次のチャンクの探索が行なわれる。この情報は、再送信マトリクス510において入手可能である。その後、ステップ1308に戻る。
【0192】
尚、MAC層(Rx_From_MAC)からの受信を行なうモジュール507により実現される処理アルゴリズムの上述の特定の実施形態において、特定のチャンクの受信した第1のコピーはシステマテックに保持される。これをステップ1310に示す。ステップ1310において、チャンクの第1のコピーがまだ格納されていないかの確認が行なわれる。第1のコピーが既に存在する場合、第2のコピーは処理されない。
【0193】
一実施形態の1つの変形例において、別のノード(データ中継器)へのデータの再送信のために保持されるチャンクコピーの選択を有利に改善できる。可能な改善は、提示される2つのコピーの品質を比較し、受信した第1のコピーをシステマテックに保持するのではなく、より適切な(すなわち、最良の品質を有する)コピーのみを保持することから成る。チャンクの品質を評価する1つの方法は、CRC(Cyclic Redundancy Check)等の当業者には周知の誤り検出符号又は他のパリティビットを使用して実現されてもよい。また、デバイスがリードソロモン消失復号器を有する場合、リードソロモンシンドローム(データの完全復号化と比較してコストが安い)を判定し、受信したチャンクコピーのコピーの品質をそのシンドロームから評価できる。この場合、比較はチャンクコピーの有無に関係することが考慮される。
【0194】
図14は、本発明の特定の一実施形態に従って、MACアダプタ428に含まれるTDMバス(Rx_To_TDM)に対する受信モジュール508により実現される処理アルゴリズムの主なステップを示す。
【0195】
このモジュール508は、直前のスーパーフレームに対して確保されたメモリ500のゾーンにおいて仮想チャネルを読み出す機能を有する。
【0196】
再設定後、ステップ1400において信号SF_cycle_start512を待つ。この信号は、新しいスーパーフレームの開始(すなわち、新しいネットワークサイクルの開始)を指示する。
【0197】
ステップ1401において、信号SF_cycle_start512が受信される。
【0198】
ステップ1402において、内部変数TDM_cycleがゼロに設定される。この内部変数は、スーパーフレーム中のTDMサイクルをカウントする。レジスタRxtoTDMBaseAddr501は、レジスタRefBaseAddr504のコンテンツを使用して再設定され、直前のスーパーフレームのゾーンにおいてメモリ500をアドレス指定する。
【0199】
ステップ1403において、内部変数「I」が0に設定される。
【0200】
ステップ1404において、変数「I」が書き込み割り当て仮想チャネル番号を表しているかの確認が行なわれる。この処理は、レジスタTDM_MAP415の「function」フィールド801を読み出す際に行なわれる。書き込み割り当て仮想チャネル番号を表していない場合、ステップ1411に進む。書き込み割り当て仮想チャネル番号を表している場合、1405に進む。
【0201】
ステップ1405において、この仮想チャネルに対して有効なチャンクが存在するかの確認が行なわれる。この情報は、レジスタChunk_flags509により与えられる。利用可能な有効なコンテナが存在しない場合、ステップ1406において、パディングチャンクがFIFO SyncRF_from_MAC417に書き込まれる。有効なチャンクが存在する場合、ステップ1407に進む。
【0202】
ステップ1407において、仮想チャネルがメモリ500において読み出され、FIFO SyncRF_from_MAC417に書き込まれる。
【0203】
ステップ1411において、ローカル変数「I」は増分される。
【0204】
ステップ1408において、全ての仮想チャネルが処理されたかを確認するためのチェックが行なわれる。処理されていない場合、ステップ1404に戻る。処理されている場合、ステップ1409に進む。
【0205】
ステップ1409において、ローカル変数TDM_cycleは増分される。
【0206】
ステップ1410において、スーパーフレームの末尾に到達したか(すなわち、スーパーフレームの全てのTDMサイクルが処理されたかの確認が行なわれる。到達していない場合、ステップ1403に戻る。到達した場合、ステップ1400に戻る。
【図面の簡単な説明】
【0207】
【図1】本発明の特定の一実施形態に係る送受信方法を実現できる通信ネットワークを示す図である。
【図2a】本発明に係る送信方法の特定の一実施形態を示すフローチャートである。
【図2b】再送信方式の一例を示す図である。
【図3】本発明の特定の一実施形態に係る図1の無線メッシュネットワークの送信サイクルを示す図である。
【図4】本発明の特定の一実施形態に係る無線メッシュネットワークの汎用ノードを示す図である。
【図5】本発明の特定の一実施形態に係る図4に示すMACアダプタ428の構造の一例を示す図である。
【図6】本発明の特定の一実施形態に係る図5に示すmux_demuxレジスタの構造の一例を示す図である。
【図7】本発明の特定の一実施形態に係る図5に示す再送信マトリクスの構造の一例を示す図である。
【図8】本発明の特定の一実施形態に係る図4に示すTDM配信レジスタの構造の一例を示す図である。
【図9】本発明の特定の一実施形態に係る図5に示すChunk_flagsレジスタの構造の一例を示す図である。
【図10】本発明の特定の一実施形態に係る図5に示すメモリの構造の一例を示す図である。
【図11】本発明の特定の一実施形態に従って、図5に示され且つMACアダプタに含まれる送信する際にチャンク管理モジュールにより実現される処理アルゴリズムの主なステップを示すフローチャートである。
【図12】本発明の特定の一実施形態に従って、図5に示され且つMACアダプタに含まれるMAC層への送信を行なうモジュールにより実現される処理アルゴリズムの主なステップを示すフローチャートである。
【図13】本発明の特定の一実施形態に従って、図5に示され且つMACアダプタに含まれるMAC層からの受信を行なうモジュールにより実現される処理アルゴリズムの主なステップを示すフローチャートである。
【図14】本発明の特定の一実施形態に従って、図5に示され且つMACアダプタに含まれるTDMバスに対する受信モジュールにより実現される処理アルゴリズムの主なステップを示すフローチャートである。
【符号の説明】
【0208】
101 無線メッシュノード
110 WSCノード
111 WASノード
300 スーパーフレーム
308 MACヘッダ
309 ペイロードデータフィールド
314 ノード自身のデータセクション
315 反復データセクション
500 メモリ
510 再送信マトリクス
1000 ネットワーク

【特許請求の範囲】
【請求項1】
複数のノード(110、111)を具備する同期通信ネットワークにおけるデータ送信方法であり、スーパーフレームが前記ネットワーク上においてネットワークサイクルに基づいて通信されるとともに複数のフレーム(301〜307)を含み、各フレームが前記ノードの1つに関連付けられる方法であって、
各フレームは、ノード自身のデータセクション(314)と反復データセクション(315)とを含むペイロード部分自体を含み、
前記複数のノードは、少なくとも1つの中継ノードを有し、該中継ノードは、少なくとも1つのシンクノードに送信される必要のある当該中継ノード自身のデータ(314)を生成するアプリケーションと関連付けられ、
前記中継ノードは:
−他のノードから到着するフレームを受信する受信ステップ(204)と;
−反復データを取得するのを可能にするために、前記受信したフレームからデータの所定の部分を読み出す読出ステップ(208)と;
−新しいフレームの反復データセクションに前記反復データを書き込む反復データ書込ステップ(208)と;
−前記新しいフレームのノード自身のデータセクションに前記中継ノード自身のデータを書き込む書込ステップ(207)と;
−前記新しいフレームを送信する送信ステップ(209)と
を実行することを特徴とする方法。
【請求項2】
反復データを取得するために使用される前記読出ステップ(208)において、前記受信したフレームの前記ノード自身のデータセクション(314)のデータの所定の部分のみが読み出される
ことを特徴とする請求項1記載の方法。
【請求項3】
反復データを取得するために使用される前記読出ステップ(208)は、各ノードに対する前記ノード自身のデータセクションのコンテンツを示す送信マトリクス(511)のコンテンツの機能として実行される
ことを特徴とする請求項1又は2記載の方法。
【請求項4】
各フレームの前記ノード自身のデータセクションは、所定の数のチャンクと呼ばれるデータブロックを含み、i∈[1,M]であり且つMがスーパーフレーム毎のチャンクの最大数である場合に、前記送信マトリクス(511)は、ノード毎の各チャンクの順序iに対して、
−前記順序iのチャンクが前記ノードに関連付けられる前記フレームの前記ノード自身のデータセクションで送信されるべきか、
−前記順序iのチャンクが前記ノードに関連付けられる前記フレームの前記ノード自身のデータセクションで送信されるべきではないかを指示する
ことを特徴とする請求項3記載の方法。
【請求項5】
前記反復データ書込ステップは、各ノードに対する前記反復データセクションのコンテンツを示す再送信マトリクス(510)のコンテンツの機能として実行される
ことを特徴とする請求項1乃至4のいずれか1項に記載の方法。
【請求項6】
各フレームの前記ノード自身のデータセクションは、所定の数のチャンクと呼ばれるブロックを含み、i∈[1,M]であり且つMがスーパーフレーム毎のチャンクの最大数である場合に、前記再送信マトリクス(510)は、ノード毎の各チャンクの順序iに対して、
−前記順序iのチャンクが前記ノードに関連付けられる前記フレームの前記反復データセクションで再送信されるべきではないか、
−前記順序iに関連付けられ且つ現在のスーパーフレームで受信されたチャンクを取得する際に、前記順序iのチャンクが前記ノードに関連付けられる前記フレームの前記反復データセクションで再送信されるべきか、
−前記順序iに関連付けられ且つ直前のスーパーフレームで受信されたチャンクを取得する際に、前記順序iのチャンクが前記ノードに関連付けられる前記フレームの前記反復データセクションで再送信されるべきかを指示する
ことを特徴とする請求項5記載の方法。
【請求項7】
再送信されるチャンクが前記読出ステップ中に読み出されなかったために欠落している場合、パディングチャンク(1406)が前記欠落しているチャンクの代わりに前記新しいフレームの前記反復データセクションに書き込まれる
ことを特徴とする請求項5又は6記載の方法。
【請求項8】
受信した前記フレームの前記データをメモリ(500)に格納する格納ステップ
を更に含み、
前記読出ステップにおいて、前記反復データが前記メモリにおいて読み出される
ことを特徴とする請求項1乃至7のいずれか1項に記載の方法。
【請求項9】
各フレームは、所定の数のチャンクと呼ばれるデータブロックを含み、前記受信したフレームの前記データを格納する各格納ステップは、各フレームのチャンク毎に、
−前記チャンクが第1の受信したコピーである場合、前記チャンクが前記メモリに格納されるステップと;
−前記チャンクが第1の受信したコピーではなく第2のコピーであり、第1のコピーが既に受信及び格納されている場合、前記第2のコピーが前記メモリに格納されないステップと
を含むことを特徴とする請求項8記載の方法。
【請求項10】
各フレームは、所定の数のチャンクと呼ばれるデータブロックを含み、前記受信したフレームの前記データを格納する前記格納ステップは、各フレームのチャンク毎に、
−前記チャンクが第1の受信したコピーである場合、前記チャンクが前記メモリに格納されるステップと;
−前記チャンクが第1の受信したコピーではなく第2のコピーであり、第1のコピーが既に受信及び格納されている場合、前記第1のコピー及び前記第2のコピーの品質が比較され、少なくとも1つの品質基準に従って最良の品質を有する前記第1のコピー及び前記第2のコピーのいずれかがメモリに格納されるステップと
を含むことを特徴とする請求項8記載の方法。
【請求項11】
複数のノード(110、111)を具備する同期通信ネットワークにおけるデータ受信方法であり、スーパーフレームが前記ネットワーク上においてネットワークサイクルに基づいて通信されるとともに複数のフレーム(301〜307)を含み、各フレームが前記ノードの1つに関連付けられる方法であって、
各フレームは、ノード自身のデータセクション(314)と反復データセクション(315)とを含むペイロード部分(309)自体を含み、
前記複数のノードに属するシンクノードは:
−他のノードから到着する前記フレームを受信するステップと;
−前記受信したフレームのうち少なくとも1つのフレームの前記ノード自身のデータセクションの所定の部分において前記シンクノード用の第1のデータを読み出すステップと;
−前記受信したフレームのうち少なくとも1つのフレームの前記反復データセクションの所定の部分において前記シンクノード用の第2のデータを読み出すステップと;
−前記読み出された第1のデータ及び第2のデータを処理するステップと
を実行することを特徴とする方法。
【請求項12】
通信ネットワークからダウンロードが可能であるか、コンピュータが読み取り可能な媒体に記録されるか、プロセッサにより実行されるか、の少なくともいずれかに該当するコンピュータプログラム製品であって、前記コンピュータプログラム製品は、前記プログラムがコンピュータで実行される時に請求項1乃至11のいずれか1項に記載の方法を実現するためのプログラムコード命令を含む
ことを特徴するコンピュータプログラム製品。
【請求項13】
全体又は部分的に取り外し可能であってもよく、コンピュータにより読み出し可能であってもよく、請求項1乃至11のいずれか1項に記載の方法を実現するために前記コンピュータにより実行可能な命令の集合を格納可能な記憶手段。
【請求項14】
複数のノードを具備する同期通信ネットワークに含まれる複数のノードに属する中継ノードであり、スーパーフレームは、前記ネットワーク上においてネットワークサイクルに基づいて通信されるとともに複数のフレームを含み、各フレームが前記ノードの1つに関連付けられ、前記複数のノードは、少なくとも1つの第1の送信側ノードを有し、該第1の送信側ノードは、少なくとも1つの第1のシンクノードに送信される必要のある当該第1の送信側ノード自身のデータを生成する第1のジェネレータアプリケーションと関連付けられ、前記中継ノードは、少なくとも1つの第2のシンクノードに送信される必要のある当該中継ノード自身のデータを生成する第2のジェネレータアプリケーションと関連付けられ、前記中継ノードは:
−各フレームが、ノード自身のデータセクションと反復データセクションとを含むペイロード部分自体を含み、他のノードから到着するフレームを受信する受信手段と;
−反復データを取得するのを可能にするために、前記受信したフレームからデータの所定の部分を読み出す読出手段と;
−新しいフレームの反復データセクションに前記反復データを書き込む反復データ書込手段と;
−前記新しいフレームのノード自身のデータセクションに前記中継ノード自身のデータを書き込む書込手段と;
−前記新しいフレームを送信する送信手段と
を具備することを特徴とする中継ノード。
【請求項15】
反復データを取得するために使用される前記読出手段は、前記受信したフレームの前記ノード自身のデータセクションのデータの所定の部分のみを読み出す
ことを特徴とする請求項14記載の中継ノード。
【請求項16】
反復データを取得するために使用される前記読出手段は、ノード毎に前記ノード自身のデータセクションのコンテンツを示す送信マトリクス(511)を具備する
ことを特徴とする請求項14又は15記載の中継ノード。
【請求項17】
各フレームのノード自身のデータセクションは、所定の数のチャンクと呼ばれるデータブロックを含み、i∈[1,M]であり且つMがスーパーフレーム毎のチャンクの最大数である場合に、前記送信マトリクス(511)は、ノード毎の各チャンクの順序iに対して、
−前記順序iのチャンクが前記ノードに関連付けられる前記フレームの前記ノード自身のデータセクションで送信されるべきか、
−前記順序iのチャンクが前記ノードに関連付けられる前記フレームの前記ノード自身のデータセクションで送信されるべきではないかを指示する
ことを特徴とする請求項16記載の中継ノード。
【請求項18】
前記反復データ書込手段は、各ノードに対する前記反復データセクションのコンテンツを示す再送信マトリクス(510)を具備する
ことを特徴とする請求項14乃至17のいずれか1項に記載の中継ノード。
【請求項19】
各フレームの前記ノード自身のデータセクションは、所定の数のチャンクと呼ばれるブロックを含み、i∈[1,M]であり且つMがスーパーフレーム毎のチャンクの最大数である場合に、前記再送信マトリクス(510)は、ノード毎の各チャンクの順序iに対して、
−前記順序iのチャンクが前記ノードに関連付けられる前記フレームの前記反復データセクションで再送信されるべきではないか、
−前記順序iに関連付けられ且つ現在のスーパーフレームで受信されたチャンクを取得する際に、前記順序iのチャンクが前記ノードに関連付けられる前記フレームの前記反復データセクションで再送信されるべきか、
−前記順序iに関連付けられ且つ直前のスーパーフレームで受信されたチャンクを取得する際に、前記順序iのチャンクが前記ノードに関連付けられる前記フレームの前記反復データセクションで再送信されるべきかを指示する
ことを特徴とする請求項18記載の中継ノード。
【請求項20】
再送信されるチャンクが前記読出手段により読み出されなかったために欠落している場合、前記反復データ書込手段は、前記欠落しているチャンクの代わりにパディングチャンクを前記新しいフレームの前記反復データセクションに書き込む
ことを特徴とする請求項18又は19記載の中継ノード。
【請求項21】
前記中継ノードは、受信した前記フレームの前記データをメモリに格納する格納手段
を具備し、
前記読出手段は、前記メモリにおいて前記反復データを読み出す
ことを特徴とする請求項14乃至20のいずれか1項に記載の中継ノード。
【請求項22】
各フレームは、所定の数のチャンクと呼ばれるデータブロックを含み、前記受信したフレームの前記データを格納する前記格納手段は、格納ポリシーに従って、各フレームのチャンク毎に、
−前記チャンクが第1の受信したコピーである場合、前記チャンクが前記メモリに格納される手段と;
−前記チャンクが第1の受信したコピーではなく第2のコピーであり、第1のコピーが既に受信及び格納されている場合、前記第2のコピーが前記メモリに格納されない手段と
を具備することを特徴とする請求項21記載の中継ノード。
【請求項23】
各フレームは、所定の数のチャンクと呼ばれるデータブロックを含み、前記受信したフレームの前記データを格納する前記格納手段は、格納ポリシーに従って、各フレームのチャンク毎に、
−前記チャンクが第1の受信したコピーである場合、前記チャンクが前記メモリに格納される手段と;
−前記チャンクが第1の受信したコピーではなく第2のコピーであり、第1のコピーが既に受信及び格納されている場合、前記第1のコピー及び前記第2のコピーの品質が比較され、少なくとも1つの品質基準に従って最良の品質を有する前記第1のコピー及び前記第2のコピーのいずれかがメモリに格納される手段と
を具備することを特徴とする請求項21記載の中継ノード。
【請求項24】
同期通信ネットワークに含まれる複数のノードに属するシンクノードであり、スーパーフレームがネットワークサイクルに基づいて通信されるとともに複数のフレームを含み、各フレームが前記ノードの1つに関連付けられるシンクノードであって:
−各フレームが、ノード自身のデータセクションと反復データセクションとを含むペイロード部分自体を含み、他のノードから到着する前記フレームを受信する手段と;
−前記受信したフレームのうち少なくとも1つのフレームの前記ノード自身のデータセクションの所定の部分において前記シンクノード用の第1のデータを読み出す読出手段と;
−前記受信したフレームのうち少なくとも1つのフレームの前記反復データセクションの所定の部分において前記シンクノード用の第2のデータを読み出す手段と;
−前記読み出された第1のデータ及び第2のデータを処理する手段と
を具備することを特徴とするシンクノード。

【図1】
image rotate

【図2a】
image rotate

【図2b】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2009−60591(P2009−60591A)
【公開日】平成21年3月19日(2009.3.19)
【国際特許分類】
【外国語出願】
【出願番号】特願2008−178386(P2008−178386)
【出願日】平成20年7月8日(2008.7.8)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】