(57)【要約】送信機からデータを受信するための受信機（RCV）が、前記送信機のクロックと同期したデータレートで動作し、データを受信するための入力（RI）を有する第一のクロック・ドメインを有する。前記データは、第一種データ、第二種データおよび制御データを含む。当該受信機はさらに、前記送信機からは独立したクロックレートで動作する第二のクロック・ドメインと、前記第一のクロック・ドメインから前記第二のクロック・ドメインへデータを移すためのクロック・ドメイン横断ユニットをもつ。当該受信機はさらに、前記クロック・ドメイン横断ユニットによって第二のクロック・ドメインに変換された受信データの単位数を数えるスロット・カウンタと、第一種データおよび第二種データの存在を示す制御データを識別するための第一の識別ユニット（PRIM）と、当該受信機のスロット・カウンタが更新されるか否かを示す制御データを識別するための第二の識別ユニット（PAUSE）とを含む。当該受信機は、スロット・カウンタの値を示す指標を通信するための出力（RO）を有する。当該受信機は、第一種データおよび制御データを送信するためのユニット（M1、HEAD、TRAIL、PAUSE、PRIMARY、SECONADARY）と、第一種データの送信された量を数えるカウンタ（slot）と、第一種データの受信された量の指標を得る入力（TI）とを有する送信機と協働する。前記送信機はさらに、第一種データの送信量と第一種データの受信量との差を計算するための設備（S2）を有し、データを送信するための前記ユニットは、この計算の結果（ns）によって制御される。
2008544623.tif 000002
【特許請求の範囲】
【請求項１】
送信機からデータを受信するための受信機であって、
前記送信機のクロックと同期したデータレートで動作し、第一種データ、第二種データおよび制御データを含むデータを受信するための入力を有する第一のクロック・ドメインと、
前記送信機からは独立したクロックレートで動作する第二のクロック・ドメインと、
前記第一のクロック・ドメインから前記第二のクロック・ドメインへデータを移すためのクロック・ドメイン横断ユニットと、
前記クロック・ドメイン横断ユニットによって第二のクロック・ドメインに変換された受信データの単位数を数えるスロット・カウンタと、
第一種データおよび第二種データの存在を示す制御データを識別するための第一の識別ユニットと、
当該受信機のスロット・カウンタが更新されるか否かを示す制御データを識別するための第二の識別ユニットと、
スロット・カウンタの値を示す指標を通信するための出力とを有する受信機。
【請求項２】
前記クロック・ドメイン横断ユニットがバッファを有しており、前記第二の識別ユニットが、第一種データの不在を検出した場合にデータが前記バッファにはいるのを防止する、請求項１記載の受信機。
【請求項３】
前記第二の識別ユニットが、当該受信機内のスロット情報が更新されることを防止する、請求項１記載の受信機。
【請求項４】
前記クロック・ドメイン横断ユニットが、バッファを有しており、すべてのデータは前記バッファに入れられ、前記バッファから第一種データを選択するデータ処理ユニット（DPU）を有している、請求項１記載の受信機。
【請求項５】
エスケープ・シンボルによって運ばれる値で初期化されるカウンタを有する、請求項１記載の受信機。
【請求項６】
カウンタ初期化のための前記エスケープ・シンボルが、リンク・アクティブ化の際に転送される、請求項５記載の受信機。
【請求項７】
受信された第一種データおよび第二種データの数を数えるためのカウンタを有しており、数えた数を前記送信機に通信する、請求項１記載の受信機。
【請求項８】
第一種または第二種データ単位の受信の生起を通信する、請求項１記載の受信機。
【請求項９】
送信機からデータを受信する方法であって、
Ａ．データ語を受信するステップと、
Ｂ．前記データ語を識別するステップと、
Ｃ．前記データ語が第一種データの不在を示す制御語である場合、ステップＡから続けるステップと、
Ｄ．そうでない場合に、隣接ノード（neighbour）の送信機によって決定されるクロックで語のパケットを受信するステップと、
Ｆ．前記パケットの少なくとも一部が読まれたときに、前記パケットの受信の指標を前記送信機に通信するステップと、
Ｇ．ステップＡから続けるステップとを有する方法。
【請求項１０】
第一種データおよび制御データを送信するためのユニットと、
第一種データの送信された量を数えるカウンタと、
第一種データの受信された量の指標を得る入力と、
第一種データの前記送信された量と第一種データの前記受信された量との間の差を計算する設備とを有する送信機であって、
データを送信するための前記ユニットが、この計算の結果によって制御される送信機。
【請求項１１】
ネットワークにおいて送信機から受信機に第一種データを送信する方法であって、
第一種データの単位を送信するステップと、
第一種データの単位の送信数を数えるステップと、
受信ノードによって受信された第一種データの単位の数の指標を受信するステップと、
前記送信数と前記受信数との間の差を決定するステップと、
第一種データの単位の受信数が第一種データの単位の送信数より少ない場合、第一種データが存在しないことを示す制御データを送信するステップとを有する方法。
【請求項１２】
前記送信機が前記送信数と前記受信数との間の差が減って0になるまで前記制御データの送信を続ける、請求項１１記載の方法。
【請求項１３】
前記送信機が、第一種データが存在しないことを示す前記制御データの送信後、送信を一時的に停止する、請求項１１記載の方法。
【請求項１４】
前記送信機が、第一種データが存在しないことを示す前記制御データの送信後、第二種データの単位を送信する、請求項１１記載の方法。
【請求項１５】
請求項１記載の受信機および請求項１０記載の送信機の組み合わせを有する、データ・ハンドリング・ユニット。
【請求項１６】
請求項１５記載のデータ・ハンドリング・ユニットを複数有するネットワーク。
【請求項１７】
請求項１６記載のネットワークを含む移動電子デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は送信機に関する。
【０００２】
本発明はさらに送信方法に関する。
【０００３】
本発明はさらに受信機に関する。
【０００４】
本発明はさらに受信方法に関する。
【０００５】
本発明はさらにデータ・ハンドリング・ユニットに関する。
【０００６】
本発明はさらにネットワークに関する。
【０００７】
本発明はさらに移動デバイス（mobile  device）に関する。
【背景技術】
【０００８】
配線中心の（interconnect  centric）アプローチは、新しいシステムを迅速に開発する強力な方法を提供する。そのようなアプローチでは、システムは複数のノードとして開発される。データ・ハンドリング・ユニット（data  handling  unit）とも記されるノードは、記憶ユニット、専用プロセッサ、汎用プロセッサなどの機能ユニットと、ルータおよびスイッチといったデータ・ルーティング・ユニットとを有する。機能ユニットは、データ・ルーティング・ユニットによって形成されるネットワーク内に配置される。そのようなネットワークは、チップ上のネットワーク、さまざまな集積回路を結合するネットワークまたはさまざまなコンピュータを結合するネットワークでありうることを注意しておく。ノードの通信プロトコルが標準化される傾向があること、ネットワーク様アーキテクチャが簡単に新しいノードをもって拡張できることは、設計を容易にする事実である。費用および性能の理由から、ノード間のリンクはシリアルであり、低振れ幅（low-swing）の差動式信号伝達を使用し、高周波数（1GHz以上）で走る。こうしたスピードでは、単一クロックで複数チップ・システムを走らせることは可能ではない。この理由で、各チップはローカルなクロックを有する。クロックは互いに同じ名目周波数を持てるという事実にもかかわらず、実際上は既知の公差の範囲内の変動が生じる。そうした変動は、水晶発振器の不完全および局所的な温度差によって引き起こされる。他のシステムでは、さまざまなノードが意図的に異なるクロックレートを有することもある。それでもデータ転送は、データを発生するノード（送信機）によって駆動されるクロックに同期している。クロックは第二のシリアルな線対で送られるか（発信元同期型データ送信）、あるいはクロックはたとえばPCI  Expressでのような8b10bエンコードを使ってデータ線に埋め込まれる。データは、宛先ノード（受信機）において、該データと一緒に送られた送信機のクロックを使ってサンプリングされる。既知のクロック・ドメイン横断（clock-domain  crossing）技法の一つを使って、データは受信機のクロック・ドメインに移される。保証されたパフォーマンスを提供するシステムを実装するときは、システム中の資源の使用を精密に制御しなければならない。これを達成する、コスト効率のよい一つの方法は、スロットからなるフレームであって、スループット保証通信のためにスロットがリザーブされるものを定義することである。保証されたスループットが要求されるデータは、以下では第一種データとも記される。さまざまな機能の制御のために使われるデータは、制御データと記される。そのようなシステムは、すべてのデバイスおよびスイッチにおいてフレームが同期されていることを要求する。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
複数のノードが独立したクロックを有しているという事実にもかかわらずノード間でフレームの送信を同期させることが本発明の目的である。
【課題を解決するための手段】
【００１０】
本発明によれば、この目的は、請求項１記載の受信機により達成される。
【００１１】
本発明によれば、この目的は、請求項９記載の受信方法により達成される。
【００１２】
本発明によれば、この目的は、請求項１０記載の送信機により達成される。
【００１３】
本発明によれば、この目的は、請求項１１記載の送信方法により達成される。
【００１４】
ある実際的な実施形態では、請求項１に基づく受信機および請求項９に基づく送信機は、請求項１５記載のネットワークにおいて組み合わされてもよい。複数のデータ・ハンドリング・ユニットが請求項１６記載のネットワークにおいて組み合わされてもよい。
【００１５】
本発明によれば、一方で、受信機は送信機に、該受信機が受け取り、自らのクロック・ドメインに変換した第一種データに関するスロット数を通信する。送信機はこの情報を使って、受信機が遅れているか進んでいるかを判定する。受信機が遅れていると判定すれば、送信機は第一種データの送信を中断し、このことを受信機に一時停止シンボルの送信によって合図する。一時停止シンボルは、ある特定の形の制御データである。この方法では、送信機と受信機は互いに同期される。
【００１６】
実際上は、ノードは、図８に概略的に示されるように受信機および送信機の両方を含む。両者はカウンタnsを共有する。送信機は、自らがスピードを落とすことを合図するためのデータをそのすべての隣接ノードに送る。受信機は、隣接ノードのクロックによって駆動されて走るノード部分である。標準的なクロック・ドメイン横断（たとえば２つのフリップフロップまたは一つのFIFO）を使うと、受信されるデータは、送信機を含むノードのクロック・ドメインにおいて転送される。結果として、送信機は一時停止を受信機に合図せず、一時停止メッセージをその隣接ノードに送る。目標は、ノードと隣接ノードを同期させることである。データ・ハンドリング・ユニットのネットワークにおいて、各対のノードを相互同期させることは、ネットワークのグローバルな同期につながり、第一種データのグローバルなスケジューリングを許容する。
【００１７】
本発明のこれらの側面およびその他の側面について図面を参照しつつより詳細に述べる。
【発明を実施するための最良の形態】
【００１８】
図１は、本発明が適用されうるデータ処理システム（data  processing  system）を概略的に示している。図示したデータ処理システムはさまざまな機能ユニットを有するカメラであり、該機能ユニットはモデム１、通信アクセラレータ２、第一および第二の汎用処理エンジン３、６、メディア・アクセラレータ４、カメラ８、ディスプレイ９および大容量記憶ユニット５、１０および補助デバイス７といったものである。機能ユニットはスイッチS1、S2、S3、S4によるネットワークにおいて結合されている。さまざまな機能ユニットおよびスイッチはそれぞれ独自のクロックで動作する。それらのクロックはほぼ同じスピードを有していてもよいが、クロックの厳密な同期を与えることはできない。アイソクロナス・データのような保証されるデータを送信するときは、送信がネットワークにおいてグローバルに同期されていることが不可欠である。本発明は、この条件が満たされることを保証する通信方式を提供する。
【００１９】
図２は、二つのノード間のデータ転送の方式を概略的に示している。図示した方式では、データ送信のために利用可能な時間は時間スロット（SL:  time-slot）に細分され、時間スロットは四角で示されている。各時間スロットは、データの1パケットの転送のために利用可能である。一部の時間スロットは、保証されたスループットを要求するデータのためにリザーブされている。そのようなデータはここでは第一種データ（primary  data）と記され、アイソクロナス・データなどである。この例では、これらの時間スロットは領域ISLによって示される。その他の時間スロットは前もってリザーブされておらず、ランタイムで他のデータによる使用のために認められることができる。該他のデータは第二種データ（secondary  data）とも記される。二つ以上のデータ発信元が同じリンクに沿ってデータを転送しようとする場合には、ラウンド・ロビン（round  robin）、優先度スケジューリング（priority  scheduling）などといったそれ自身としては既知の調停（arbitration）機構がデータ・パケットを選択するために使用されてもよい。残りのデータは、バルク・データ（BD:  bulk  data）として、あるいはばらばらなデータの塊（chunk）として転送されることができる。図２で見て取れるように、スロットのリザーブは、ある固定数のスロット後に反復される。この固定数のスロットはここではフレームと記される。今の場合、1フレームは128スロットを含んでいるが、どんな数でも適用できる。ここで、第一のフレームFR1はt＝0に始まり、第二のフレームはt＝128に始まる。ここで、時間の単位は1スロットの継続時間である。
【００２０】
ある実際的な実施形態では、1パケットはたとえば131バイトを含み、1スロットは約1μsの継続時間を有する。これは、1Gbpsのデータ伝送レートに対応する。1フレームが128スロットを含む今の例では、フレーム繰り返しレートは8kHzである。
【００２１】
図３は、データ・パケットの例をより詳細に示している。図示したデータ・パケットはヘッダH、ペイロードPLおよびトレーラTを有している。図示した実施形態では、ヘッダH、ペイロードPLおよびトレーラTはそれぞれ2バイト、128バイトおよび1バイトを有する。図３の下部により詳細に示されるように、ヘッダHは、パケットの残りの部分について次の情報を含んでいる。
【００２２】
型指標T1、T2。これら2ビットは以下の型（type）をエンコードする：
空。パケットの空型は、リンクはアクティブだが送信されるパケットはデータを含んでいないことを示す
アイソクロナス。保証されたスループットを要求するストリームのあらかじめスケジューリングされるパッケージを示す。この型のデータは第一種データと示される
最善努力（Best_effort）または第二種データ。その送信はランタイムでスケジューリングされる
エスケープ：エスケープ型は、ヘッダの残りの部分の異なるフォーマットを許容する。これはさまざまな制御機能のために有用でありうる。たとえば、データが通信されるリンクをアクティブ化する、該リンクを非アクティブ化する、エラーを示すなどのためである。
【００２３】
フロー制御ビットF1、……、F5は、パケットの受信機にクレジット数を示すはたらきをする。この数は、バッファ・オーバーフローが生じるまでに受け容れられることのできるパケットの数を示す。
【００２４】
修復不能なエラーの場合、パケットはエラー・フラグEがセットされて返されてもよい。応答して、返されたパケットを受け取るデバイスは再送信を実行する。
【００２５】
パケット中で使用されるバイト数はビットL1、……、L7によって示される。
【００２６】
BEパケットのシーケンスにおける最終パケットはEoPフラグによって示される。
【００２７】
パケットのトレーラは好ましくは、誤り訂正／検出コードのために使用される。
【００２８】
代替的なデータ・フォーマットが図３Ａに示されている。このフォーマットでは、用意される異なるパケット型の数がより多くなっており、たとえばフロー制御およびエラー情報が、ペイロードと一緒に送られるのではなく、別個のメッセージとして送られる。
【００２９】
多くなった型は型ビットT1、T2、T3でエンコードされる。さまざまな型はたとえば：
ISOC  アイソクロナス・データ
BE制御データ  たとえばデバイスの設定を制御するための、ボリューム・コントロール、コントラスト・コントロールなどのデータで、通例単一パケットのみを含む
BEバルク  複数パケットを含む最善努力データ
ESCシンボル  これは通常型または緊急（urgent）型でありうる。
【００３０】
ヘッダはさらにデータ中に、発信元および宛先を示すためのデータを含んでいてもよい。アイソクロナスについては、この情報はスロット・テーブルにおいてエンコードされてもよい。
【００３１】
図３Ｂは、エスケープ・シンボルのフォーマットをより詳細に示している。型ビットT1、T2、T3がエスケープ・シンボルが存在することを示す一方、ビットE1、……、E5はエスケープ・シンボルの性質を指定する。エスケープ・シンボルは通常型または緊急型でありうる。
【００３２】
通常のエスケープ・シンボルの例は、フロー制御（flow  control）に使われるESC_FCである。この場合、ペイロードP1、……、P8は受信機にクレジット数、すなわちエスケープ・シンボルの送信機が受け容れる用意のあるデータ単位の数を示す。
【００３３】
パニック（panic）型のエスケープ・シンボルは緊急性をもって扱われるべきである。そうしたエスケープ・シンボルはたとえば
ESC_ERROR：受信されたパッケージが修復不能なエラーを有しており、再送信されるべきであることを示す
ESC_SYNCの場合、ペイロードはスロット数を含む
ESC_PAUSEは、受信機が送信機についていくことを許容するために、送信機が一時的に第一種データの送信を停止することを示すために使われる。
【００３４】
他のデータの場合と同様、ESCシンボルは誤り検査および訂正のためのトレーラを含む。
【００３５】
パケットを扱うとき、好ましくは次の優先度が与えられるべきである：
1（最高の優先度）  パニックESCシンボル。ERROR、SYNCおよびPAUSEなど。
2  アイソクロナス・データ・トラフィック
3  通常のESCシンボル：FLOW_CTRL
4  BE制御
5（最低の優先度）  BEバルク
図４のＡはデータ受信方法を概略的に示しており、図４のＢはデータ送信方法を概略的に示している。送信機によって実行されるステップは、T1、……、T8によって示される。受信機によって実行されるステップはR1、……、R7によって示される。
【００３６】
開始後の送信機ステップT1では、スロット・カウンタslotおよび差分指標nsがいずれも0に初期化される。
【００３７】
ステップT2では、接続されているどのノードについてデータが利用可能であるかが判別される。その後、それらのノードをつなぐリンクがアクティブ化される。
【００３８】
ステップT3では、データが利用可能でないノードにつながるリンクがスリープ・モードにされる。
【００３９】
あるいはまた、電力の制約のない環境、たとえばコンセントから電源供給を受ける装置では、すべてのリンクが常時アクティブなままにされてもよい。
【００４０】
ステップT4では、利用可能なデータがパケットの形でその宛先に送信される。この実施例では、パケットは第一種データをペイロードとして含み、制御データをヘッダおよび／またはトレーラの形で含む。ヘッダ中の制御データは、そのあとにペイロードの形の第一種データが続くかどうかを示す。さらに、制御データはペイロードの長さを示してもよい。
【００４１】
ステップT5では、スロット・カウンタがインクリメントされる。これは、送信された第一種データの単位の数を表す。該カウンタをインクリメントするステップは、第一種データを送信するステップの前に実行されてもよい。
【００４２】
ステップT6では、差分指標nsの値が0より大きいかどうかが検証される。nsの値は、送信された第一種データの単位の数slotから受信された第一種データの単位の数rcv_slotを引いたものである。
【００４３】
ステップT7では、一時停止シンボルが送信される。その後、差分指標nsが1減らされる。一時停止シンボルは、第一種データがないことを受信ノード（受信機）に示す、制御データを形成する。この実施形態では、一時停止シンボルは第一種データのパケットの代わりになる。他の実施形態では、異なる粒度が選択されてもよい。たとえば、一時停止シンボルが第一種データの単一バイトの代わりになる、あるいは一時停止シンボルがいくつかのパケットの代わりになる、などである。
【００４４】
受信機の動作についてこれから図４のＡを参照しつつ説明する。ステップR1では、受信機はアクティブ・パワー・モードにはいる。アクティブ・パワー・モードは、送信機からの特別な制御語によって、あるいはデータ処理システムの電源投入によって開始されうる。ステップR2では、受信機は、送信機によって送信される第一種データの次の単位のスロット数を示す制御語を受信する。受信機は、このデータを使ってスロット・カウンタを初期化する。ステップR3では、受信機は制御データの次の単位を受信する。ステップR4では、受信機は、この制御データがあとに第一種データが続くかどうかを示すものなのか、それとも一時停止シンボルなのかを判別する。後者の場合、受信機はステップR3で次のデータ単位を待つ。制御データのその単位があとに第一種データのペイロードが続くことを示す場合、受信機はステップR5で受領を確認し（confirm）、ステップR6でそのスロット・カウンタをインクリメントし、ペイロードの形で第一種データを、そして最終的にはさらにトレーラの形で制御データを受信する。確認し、インクリメントし、受信する前記のステップは、いかなる順序で実行されてもよく、並列に実行されてもよい。ステップR5、R6およびR7ののち、受信機はステップR3に進む。
【００４５】
スロット・カウンタrcv_slotは、空型のパケットまたは第二種（最善努力）データを含むパケットの受領に際してもインクリメントされる。しかしながら、rcv_slotがインクリメントされない第二種データのボーナス・パケットが、一時停止シンボルのすぐあとに送信されてもよい。
【００４６】
代替的に、空パケットまたはBEパケットの前に付けられるとrcv_slotカウンタのインクリメントを抑制する、たとえばESC_STOP_SLOTと示される別個のエスケープ・シンボルを使ってもよい。
【００４７】
ステップT8での確認の受領に際し、送信機は第一種データの送信されたスロット数slotと第一種データの受信されたスロット数rcv_slotとの間の差分
d＝slot−rcv_slot
を計算する。
【００４８】
カウンタslotおよびrcv_slotはラップアラウンド・カウンタであり、比較的小さな最大値を有することができる。実際的な実施形態ではたとえば128である。緊密なフレーム同期のため、両カウンタ間の差は小さな値、たとえば1または2に限られるので、エイリアシングは回避される。
【００４９】
ある代替的な実施形態は受信スロット数rcv_slotのためのカウンタは格納せず、上記の差を直接格納し、更新する。この代替的な実施形態では、リンクがアクティブ化されるときは、語は隣接ノード（neighbour）のスロット位置（rcv_slot）と一緒に受信される。
【００５０】
結果として、dはslot−rcv_slotで初期化される。この後は、dは、そのノードのslotがインクリメントされるときにインクリメントされ、スロットslotのためのデータが隣接ノード（neighbour）から受信されるときにデクリメントされる。
【００５１】
単一の受信機だけの場合、差分指標nsはこの差に等しい。
【００５２】
しかしながら、複数の受信機の場合、送信機は最も遅い受信機に合わせる必要がある。その場合、差分指標は
ns＝max(ns,d)
として計算される。
【００５３】
図５は、送信機と受信機の間の対話を時間の関数として概略的に示している。この例では、受信機が送信機よりも遅いクロックを有していると想定されている。本発明を解説する目的のため、クロック・スピードのこの差は図では大幅に誇張されている。実際上は、クロック・スピードの差はたとえば0.1%のオーダーである。
【００５４】
t0において送信機はヘッダ、ペイロードおよびトレーラを含む第一のパケットを送る。ペイロードは第一種データを含み、ヘッダおよびトレーラは制御データを含む。t1において、受信機はヘッダを認識しており、メッセージannounce_rcv_slot〔スロット受信アナウンス〕を送る。このメッセージがデータのパケットの送信機によって受信されたのち、カウンタrcv_slotがt1aにおいてインクリメントされる。すぐ差分指標nsが再計算され、その値から1を引いたものが得られる。t1bにおいて、送信機はパケットの送信を完了しており、スロット・カウンタslotを増加させる。さらに、差分指標nsが再計算され、再び値0を得る。ここで、送信機はステップT6でnsの値を検証し、新しいパケットが送信されることができると判断する。受信モジュールはt2においてヘッダを認識し、メッセージannounce_rcv_slotを送る。t2aでのこのメッセージの受領に際して、送信モジュールはカウンタrcv_slotをインクリメントし、nsの値を再計算し、その値−1が得られる。t2bにおいて、送信機はパケットの送信を完了しており、カウンタslotをインクリメントし、nsの値を再計算し、これは再び0になる。この値が再び0なので、送信機がステップT6を実行するとき、送信機は次のパケットを送ることに決める。t3では、受信機はこのパケットのヘッダを受信し、処理してしまっており、メッセージannounce_rcv_slotを送信する。t3aにおいて、送信機はこのメッセージを受信しており、カウンタrcv_slotをインクリメントする。しかしながら、送信機のクロック・スピードのほうが速いため、送信機はこの時点より前にそのパケットの送信をt3bですでに終えており、そのスロット・カウンタをt3aより前に増加させている。その結果、送信機がステップT6を実行する時点では、送信機は差分指標が0よりも大きいことを見出す。その結果、パケットを送信する代わりに、送信機は今、一時停止シンボルPSを送信する。一時停止シンボルの送信後、送信機はペイロードおよびトレーラを送ることを控えて、受信機が以前のパケットを処理する時間を持てるようにする。t3cにおいて、一時停止シンボルに続く時間スロットが完了した後、送信機は差分指標nsを1または0デクリメントし、その後、次のパケットを送信する。送信機が第一種データを送るのを控える一時停止シンボル後の期間の間、送信機は一時停止シンボルの送信を続ける。代替的には、送信機は低電力モードに入ってもよい。さらに別の実施形態では、送信機は第二種データ、たとえば最善努力データを送信してもよい。ここに示される実施形態では、一時停止シンボルは、受信機が第一種データの1パケットの送信を控えることを示す。別の実施形態では、送信機は1パケットより長い期間にわたって第一種データの送信を中断してもよい。その場合、継続時間は所定の長さ、たとえば固定したパケット数の長さを有していてもよい。あるいはまた、一時停止シンボルは、第一種データの送信が中断される期間の長さの指示を含んでいてもよい。
【００５５】
受信機が一時停止シンボルを受信したとき、受信機は送信機が第一種データを送信するのを控えることを「認識する」。その結果、受信機は「アナウンス受信スロット（announce_rcvslot）」を通信することを控える。
【００５６】
中断された第一種データ・ストリームのため、受信機は今や、t3cにおいて送信機が送信した次のデータ・パケットの処理をすぐ開始できる。その時点から、上記手順は繰り返しになる。t6bでは、受信機の遅延が再びインクリメントされ、差分指標が0より大きくなるまでになる。そして送信機は再び一時停止シンボルを送信する。
【００５７】
図６は、本発明に基づく送信機TRMの実施形態を概略的に示している。コントローラCTRLは、複数のデータ源のうちの一つを選択して出力のためのデータを与えるマルチプレクサM1を制御する。この場合、データ源HEADが含まれており、これがデータ・パケットのヘッダを与える。実際上は、最善努力データまたはアイソクロナス・データなどデータの種類に依存して、さまざまなヘッダが使用されうる。ペイロードの長さについての情報を含んでいてもよい。第二のデータ源TRAILはトレーラを与え、これはたとえば誤り訂正符号を含んでいてもよい。第三のデータ源は、送信機が第一種データの送信を中断することを示す一時停止（PAUSE）シンボルを与える。第四のデータ源PRIMARYは第一種データを与える。第五のデータ源SECONDARYは第二種データを与える。その他さまざまなデータ源が選択のために存在しうる。たとえばさまざまな制御シンボルを提供するため、たとえばデータが通信されるリンクをアクティブ化するため、あるいは該リンクを非アクティブ化するため、あるいはエラーを示すためである。
【００５８】
送信機は、受信機に選択されたデータを与えるための出力TOを有する。送信機はさらに、受信されたスロットのアナウンスされた数を受信するための入力TIを有する。
【００５９】
第一種データを送信する過程で、コントローラは差分指標nsの値を観察している。差分指標は、一時停止シンボルが送信されるとき、および送信されたスロット数slotまたは受信機がアナウンスする受信されたスロット数が更新されるときは、信号DECでデクリメントされる。その目的に向け、差分指標は最大値関数モジュールMAXを介して減算器S2に結合されている。該モジュールMAXは、減算器S2に結合された第一の入力とは別に、差分指標レジスタに結合された第二の入力を有する。減算器は、送信された第一種データ単位（スロット）の実際の数と、受信機が受信したとアナウンスした第一種データ単位の数rcv_slotとの間の差を計算する。この実施形態は、送信機が最も遅いクロックをもつ受信機に合わせることができるという利点を有する。
【００６０】
図７は、本発明に基づく受信機の実施形態を概略的に示している。受信機RCVは、送信機TRMから、送信機のクロックに対応するデータレートでデータのストリームを受信するための入力RIを有する。受信機はさらに、受信しているデータが第一種データのパケットのヘッダであるかどうかを判定する第一の比較器PRIMを有している。そうである場合、受信機はメッセージannounce_rcvslotを送信機に送信する。受信機はさらに、一時停止シンボルを受信したかどうかを認識するための第二の比較器PAUSEを有する。この比較器は、バッファBUFを入力Iに結合するゲートGTを制御する。一時停止シンボルが認識された場合、1データ・パケットに対応する時間の長さの間、バッファの充填が中断されるよう、ゲートが閉じられる。そうでない場合、ゲートGTは開かれ、バッファは送信機のクロックCLTのスピードで充填されることができる。図示した実施形態では、クロックCLTは別個の接続を介して提供される。別の実施形態では、クロックはデータ・ストリーム中に埋め込まれる。バッファは、受信機のクロックレートCLRでデータ処理ユニット（DPU：data  processing  unit）によって読み出される。一時停止シンボルが認識されたときにバッファの充填を中断する代わりに、すべてのデータがバッファ内にロードされてもよい。その場合、バッファから読まれる現在位置を示す読み出しポインタが、パケットのサイズに対応する数だけ位置を進められてもよい。あるいはまた、一時停止シンボルは、スキップされうるバッファ中の位置の数を示す情報を含んでいてもよい。
【００６１】
図８は、一対のノードを概略的に示している。第一のノードN1は送信機TR1と受信機RC1の組み合わせを含んでおり、第二のノードN2は送信機TR2と受信機RC2の組み合わせを含んでいる。
【００６２】
上述した実施形態が、本発明を限定するのではなく解説するものであること、当業者は付属の請求項の範囲から外れることなく多くの代替的な実施形態を設計できるであろうことを注意しておくべきであろう。請求項において、括弧内に参照符号があったとしてもその請求項を限定するものと解釈してはならない。「有する」の語は請求項において挙げられているもの以外の要素またはステップの存在を排除しない。要素の単数形の表現はそのような要素の複数の存在を排除しない。いくつかの手段を列挙している装置請求項においては、それらの手段のいくつかが同一のハードウェア項目によって具現されてもよい。ある種の施策が互いに異なる従属請求項において言及されているというだけの事実がそれらの施策の組み合わせが有利に使用できないことを示すものではない。
【図面の簡単な説明】
【００６３】
【図１】本発明が適用されうるデータ処理システムを概略的に示す図である。
【図２】二つのノード間のデータ転送の方式を概略的に示す図である。
【図３】データ・パケットの例をより詳細に示す図である。
【図３Ａ】本発明の別の実施形態におけるデータ・パケットの例を示す図である。
【図３Ｂ】前記別の実施形態におけるエスケープ・シンボルの例を示す図である。
【図４】Ａはデータ受信方法を概略的に示す図である。Ｂはデータ送信方法を概略的に示す図である。
【図５】送信機と受信機の間の対話を時間の関数として概略的に示す図である。
【図６】本発明に基づく送信機の実施形態を概略的に示す図である。
【図７】本発明に基づく受信機の実施形態を概略的に示す図である。
【図８】本発明に基づく送信機と受信機の組み合わせを有する一対のノード両方を概略的に示す図である。
【図１】
2008544623.tif 000003
【図２】
2008544623.tif 000004
【図３】
2008544623.tif 000005
【図３Ａ】
2008544623.tif 000006
【図３Ｂ】
2008544623.tif 000007
【図４】
2008544623.tif 000008
【図５】
2008544623.tif 000009
【図６】
2008544623.tif 000010
【図７】
2008544623.tif 000011
【図８】
2008544623.tif 000012
【国際調査報告】
2008544623.tif 000013
2008544623.tif 000014
2008544623.tif 000015