(57)【特許請求の範囲】
【請求項１】
第１のノード(110-1)から第２のノード(110-2)へ情報を送信する方法であって、
前記第１のノード(110-1)と前記第２のノード(110-2)の間に、双方向通信のための通信リンク(130)を確立するステップと、
前記第１のノード(110-1)から前記第２のノード(110-2)への第１のデータストリーム(135-12)の中に、前記第２のノード(110-2)によって受信されるべきデータ片のカウント数を含めるステップと、
前記第２のノード(110-2)から前記第１のノード(110-1)への第２のデータストリーム(135-21)を停止させるステップと、
前記第２のデータストリーム(135-21)を停止させた時点での前記第２のデータストリーム(135-21)の状態を保存するステップと、
停止された前記第２のデータストリーム(135-21)の中に制御情報を挿入し、該制御情報により、前記第１のノード(110-1)に特定のタスクの実行を命じるステップと、
保存された前記状態に基いて前記第２のデータストリーム(135-21)を再開させるステップと
を含み、前記制御情報が、前記第１のノード(110-1)によって受信されるべきデータ片の数の一部としてカウントされず、
前記特定のタスクは、前記第１のノード(110-1)による誤ったデータの再送信、前記第１のノード(110-1)の停止、及び前記第１のノード(110-1)の要素の置換のうちのいずれか一つである、方法。
【請求項２】
前記第１のノード(110-1)、及び前記第２のノード(110-2)を２つの異なる周波数で動作させるステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記制御情報を前記第１のノード(110-1)と前記第２のノード(110-2)との間の同期をとるために通常用いられるパケットに入れて送信するステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記制御情報を前記第２のノード(110-2)から前記第１のノード(110-1)へ送信されている前記第２のデータストリームの(135-21)の一部としてカウントされないパケットに入れて送信するステップをさらに含む、請求項１に記載の方法。
【請求項５】
前記第１のノード(110-1)、及び前記第２のノード(110-2)が、コンピュータシステム、ネットワーク装置、マイクロプロセッサおよび電子チップからなるグループの中から選択される、請求項１に記載の方法。
【請求項６】
前記第１のデータストリーム(135-12)は、ヘッダ部分を含み、前記カウントは、前記第１のデータストリーム(135-12)のヘッダ部分に含められ、前記第２のノード(110-2)は、受信したデータ片の数をカウントし、前記ヘッダ部分に含まれる前記カウントに基づいて前記第１のデータストリーム(135-12)の終わりを識別する、請求項１に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、概してデータを送信することに関し、特に、進行中のデータトランザクションを使用して情報を送信することに関する。
【０００２】
【従来の技術】
データはしばしば、コンピュータシステム、ネットワーク機器、マイクロプロセッサ、半導体チップ、電子チップ等の異なるノード間で伝送される場合がある。様々な方法によりデータはその境界において伝送されるが、データトランザクションの途中で伝送されることはない。従って、あるトランザクションが進行中の場合、何らかの追加のデータを割込み等により送信したい場合であっても、その追加のデータはそのトランザクションの次の境界まで待機しなければならない。こうした状況では、トランザクション境界を常時監視するために、状態ビット、サポートロジックおよび制御ロジック等を含む手段が必要になる場合がある。従来の再送信アルゴリズムでは、再送信の際にストリームに割り込みをかけることをサポートするように変更を施さなければならない場合がある。したがって、複雑性その他の問題がシステムに付加されることになる。非同期システムの場合、トランザクション境界の位置を見つけることはさらに困難である。
【０００３】
上記内容に基づき、上記欠点および関連する問題を解決する手段を設けることが明らかに必要とされている。
【０００４】
【発明が解決しようとする課題】
本発明の目的は、進行中のデータトランザクションを使用して追加の情報を送信する方法を提供することである。
【０００５】
【課題を解決するための手段】
本発明は、様々な実施形態において、進行中のデータトランザクションを使用して追加の情報を送信する技術を提供する。例示的な一実施形態では、２つの非同期ノードが互いにデータを送信する。第１のノードの第２のノードへのデータの送信に関連する１トランザクションにおいて、そのデータの一部を受信している第２のノードは、送信中のデータの残りの部分が例えば種々の誤りに起因して不正であることを認識する。すると第２のノードは、受信すべき現在誤りのあるデータの再送信を第１のノードに直ちに要求する。一実施形態において、第２のノードは、この要求を第２のノードから第１のノードへ伝送中のデータストリームに挿入する。第２のノードはデータトランザクションの境界まで待機する必要がなく、一実施形態において、この要求は「ドロップパケット」に埋め込まれる。
【０００６】
本発明は例を用いて説明されるがそこに制限の意図はなく、また添付の図面において類似の参照符号は類似の構成要素を意味している。
【０００７】
【発明の実施の形態】
以下の説明では説明の目的で、本発明を完全に理解してもらうために複数の特定の詳細を説明している。しかしながら、当業者であればこれらの特定の詳細がなくても本発明を実施できることは明らかであろう。その他の場合、既知の構造及び装置については、本発明を不明確にすることを避けるため、ブロック図の形態で図示している。
【０００８】
ハードウェアの概要
図１は、本発明の実施形態を実施することができるシステム１００を示す図である。システム１００は、２つのノード１１０−１、１１０−２及び通信リンク１３０を有する。一実施形態においてノード１１０は非同期である。すなわち、これらのノード１１０は、異なるクロック、異なる周波数等で動作しており、周波数を互いに異ならせることが可能である。さらにノード１００は、送信装置１１０２と、受信装置１１０６と、キュー１１１０と、ドロップパケット装置１１１４と、制御装置１１２０とを有する。例示のため、名称に−１を付けたノード１１０の要素はノード１１０−１に関連し、名称に−２を付けた要素はノード１１０−２に関連するものとする。ノード１１０は通常、その要素のステータスと、その同じノード１１０が送信中のストリーム１３５のステータスおよび位置を常時監視している。本明細書における「ノード」という用語は、例示の目的でのみ使用する用語であり、ノード１１０は、プロセッサ、コンピュータシステム、ネットワーク装置、特定用途向け集積回路（ＡＳＩＣ）デバイス、プログラマブルロジックデバイス（ＰＬＤ）およびそれらの均等などを含む通信設備である。ノード１１０はみな同じものとして説明するが、異なるものでもよいし、異なる機能を有するものでもよい。
【０００９】
送信装置１１０２がデータを送信し、受信装置１１０６がデータを受信する。キュー１１１０は、伝送すべきデータをキューに入れる。キュー１１１０のデータは通常、調停プロセス（arbitration process)を用いて選択され、それは一般に調停勝者(arbitration winner)と呼ばれ、送信装置１１０２によって送信される。一実施形態において、データはストリームまたはパケット１３５の形態をとり、それらの各々は論理的には連続していても必ずしも物理的には連続していない様々な部分または断片に構成された情報の集合を含む。ノード１１０間において一度に複数のストリーム１３５を同時に伝送することができ、これらのストリームを時間インタリーブすることができる。すなわち、ストリームのすべての部分が連続するとは限らず、ある部分が１以上の他のストリームのいくつかの部分に挟まれる場合がある。例示のため、名称に−１２を付けたストリーム１３５はそのストリームがノード１１０−１からノード１１０−２へ伝送されていることを意味し、名称に−２１を付けたストリームはそのストリームがノード１１０−２からノード１１０−１へ伝送されていることを意味するものとする。トランザクションという用語はあるノード１１０から別のノード１１０へ送信されているデータの別個のストリームを意味し、トランザクションはストリームの開始境界から開始して同じストリームの終了境界で終了するものとする。一実施形態において、トランザクションは、そのトランザクションの大きさ、種類等に関する手がかりを含むそのトランザクションに関連したヘッダ埋め込み情報を含む。受信ノード１１０は、その受信装置１１０６を介してあるトランザクション中に受信されたデータ片の数をヘッダ情報に基づいてカウントし、そのトランザクションの終了境界を判定する。通常、最後のデータカウントが受信されると、トランザクションは終了する。そのため、トランザクションを開始した後にトランザクションのデータ長を変更することはできず、そうしないとデータ数がヘッダの情報と一致しなくなり、そのトランザクションに誤りが生じる可能性がある。しかしながら、ドロップパケット１１１８は、トランザクションの途中で送信される場合であっても、トランザクションデータの一部としてカウントされない。受信ノード１１０は、ドロップパケット１１１８を認識しても、そのトランザクションのデータ片の数をカウントする際にそれを破棄する。受信ノード１１０が正しいドロップパケット１１１８を受信する可能性を高めるため、ドロップパケット１１１８は送信ノード１１０から受信ノード１１０へ複数回送信することができる。例えば、１回の割込みで一連の４つのドロップパケットが送信される場合がある。
【００１０】
ドロップパケット装置１１１４は、本明細書で開示する方法を用いて使用されるドロップパケット１１１８を提供する。一実施形態において、ドロップパケット１１１８は様々なビットを含み、そのうちの１つは、通常のデータパケットからドロップパケットを区別および分離するためのマーカとして適当な時点で使用される。マーカビットは、ドロップラインとも呼ばれる場合がある。マーカビットは、ドロップパケットマーカとして使用しない時には、他の目的に使用することができる。割込み、再送信等の様々な状況が生じた場合、制御装置１１２０と共に動作するドロップパケット装置１１１４は、キュー１１１０内の調停勝者を無視して、本来ならその調停勝者が受信ノードへ送信されるはずの位置でドロップパケット１１１８を送信する。従って、トランザクションが進行中であったり、ドロップパケットが周波数や同期の目的で必要とされていない場合であっても、そのトランザクション中の任意の時点でドロップパケット１１１８をストリーム１３５に強制的に挿入し、受信ノードへ送信することができる。その結果、データトランザクションの境界まで待機すること無くドロップパケット１１１８を送信することができ、例えば再送信ストリーム、通常のストリーム、アイドルストリーム等のトランザクションの種類に関係無く送信することができる。ドロップパケット１１１８をストリーム１３５に強制的に入れる場合、送信側および受信側の両方のノードの関連装置およびデータストリームを直ちに停止させ、システム１００のステータスを後で使用するために保存することができる。割込みをうけたトランザクションが再開されることになるか破棄されることになるかに関らず、システム１００のステータスには、例えば調停状態、キュー１１１０内の各ストリーム１３５の位置、および、通信リンク１３０上の各ストリーム１３５の位置などが含まれる。送信側および受信側の両ノードは、割込みをうけたトランザクションを破棄するか、あるいは保存された状態に基づいて中断した場所からトランザクションを継続するかを選択するオプションを有する。
【００１１】
一実施形態において、ドロップパケット１１１８にはノード１１０間で送信される符号化された情報が含まれ、符号化された情報には受信ノードにいくつかのタスクを実行させるための命令が含まれる。これらの命令には、例えば、まだ受信していないが誤っているデータを受信ノードに再送信させること、受信ノード自体を他のノードで置き換えるべく停止させること、ノードの要素を置き換えることなどの要求が含まれる。ドロップパケット１１１８が受信ノード１１０に実行させる特別な命令を含む場合、受信ノードはこれらの命令を認識してそれらに留意する。そうでない場合、受信ノード１１０およびドロップパケット１１１８は、通常通り機能する。また、ドロップパケット１１１８はノードの周波数を同期または一致させるためにも使用することができる。例えば、ノード１１０−１からノード１１０−２へのデータの送信が１２片のデータを必要とする場合であっても、受信ノード１１０−２では８片のデータしか使用されない場合があり、その場合、少なくとも４つのドロップパケット１１１８を８片のデータと共に送信し、所望の１２片のデータが構成される。この４以上のドロップパケット１１１８は、ノード１１０−２に受信されると無視すなわち「除去」される。
【００１２】
制御装置１１２０はノード１１０の様々なタスクを判定および実行するものであり、タスクには例えば、割り込みの実行、送信すべきデータ片の調停(arbitrate)、トランザクションの優先、中断したトランザクションの再開、システムステータスの保存、ハンドシェークの用意などが含まれる。制御装置１１２０は、任意の時点でノード１１０の送信装置および受信装置を停止させることができ、必要であればそれらの装置を再開させることもできる。また、制御装置１１２０は、ドロップパケットトランザクションを同期手段に対しては透過的であるがノード１１０に対して有用な方法で操作することができる。
【００１３】
通信リンク１３０は、その２つの端部にある適当な要素間でデータを転送するものであり、したがってそれらの要素を適当に収容するため様々であってよい。通信リンク１３０の例としては、ネットワーク媒体、相互接続ファブリック、リング、クロスバ等が含まれる。一実施形態において、通信リンク１３０にはデータを伝送するための複数のチャネルが含まれ、あるチャネルがあるトランザクションに使用されると、そのトランザクションについてのすべてのデータ片がその同じチャネルで伝送される。さらに、チャネルのうちの１つ（例えばチャネル１３２０）はドロップパケット１１１８によって使用される優先チャネルとして機能し、例えばこれらのドロップパケットが通常のデータストリームに優先する場合に使用される。優先チャネルのデータは他のチャネルのデータよりも高い優先順位を有する。
【００１４】
一実施形態による方法
図２は、一実施形態による方法を示すフロー図である。ステップ２０４において、ストリーム１３５−１２およびストリーム１３５−２１は、それぞれノード１１０−２およびノード１１０−１へ伝送中である。
【００１５】
ステップ２０８において、ノード１１０−２は、ストリーム１３５−１２の一部を受信しているときに、例えば何らかのシステムエラーやプロトコルエラーによりストリーム１３５−１２の残りの部分を受信し続けたくないことを認識する。代りにノード１１０−２は、ストリーム１３５−１２のノード１１０−２がまだ受信していない部分の再送信をノード１１０−１に要求する。例示のため、これらの部分をストリーム１３５−１２−ｒｅｓｅｎｄと呼ぶ。
【００１６】
ステップ２１６において、ノード１１０−２はドロップパケット１１１８−２１の準備をドロップパケット装置１１１４−２に要求する。このドロップパケット１１１８−２１にはノード１１０−１にストリーム１３５−１２−ｒｅｓｅｎｄを送信させる命令が含まれる。このドロップパケット１１１８−２１には、このドロップパケット１１１８−２１が通常のドロップパケットではなく受信ノード１１０−１に対する命令を含むドロップパケットであることをノード１１０−１に認識させるための情報も含まれる。
【００１７】
ステップ２２０において、ノード１１０−２は、ストリーム１３５−２１のトランザクションの終了まで待機することなく、ストリーム１３５−２１にドロップパケット１１１８−２１を挿入する。たとえば、ストリーム１３５−２１には１０個のデータ片が含まれ、３個のデータ片が既にノード１１０−１へ送信されているものとする。ドロップパケット装置１１１４−２は、送信装置１１１２−２および／または制御装置１１２０−２と協働し、ドロップパケット１１１８−２１が送信されなかった場合に送信されていたはずの４番目のデータ片の位置でドロップパケット１１１８−２１が送信されるように準備する。
【００１８】
ステップ２２４において、ドロップパケット１１１８−２１がノード１１０−１に到達する。ステップ２２８において、ノード１１０−１は、ドロップパケット１１１８−２１の情報に基づき、ドロップパケット１１１８−２１に埋め込まれた命令、すなわちストリーム１３−１２−ｒｅｓｅｎｄをノード１１０−２へ再送信する命令に従うべきことを認識する。
【００１９】
ステップ２３２において、各ノード１１０−１および１１０−２は、ストリーム１３５−１２−ｒｅｓｅｎｄを再送信できるように適当な動作を行なう。たとえば、各ノード１１０−１および１１０−２は、その制御により対応するキュー１１１０およびその他の装置を停止させ、キューおよびそれらの装置のステータスを記憶し、再送信が完了した後に必要であればストリーム１３５−２１のトランザクションを再開できるようにする。
【００２０】
また、各ノード１１０−１およびノード１１０−２は、再送信を開始する前にハンドシェークも行なう。一実施形態において、一方のノード１１０は、追加のデータを受信または送信する準備ができると、そのことを伝えるために他方のノードへメッセージを送信する。他方のノードは、そのメッセージを受信すると受信確認を送信する。例えば、ノード１１０−１は、ノード１１０−２からデータを受信する準備ができると、データを受信する準備ができたことを知らせるメッセージをノード１１０−２へ送信する。これに対して、ノード１１０−２は、ノード１１０−１の準備ができたことを認識した旨を伝える確認メッセージをノード１１０−１へ送信し、次いで必要に応じてデータをノード１１０−１へ送信する。同様に、ノード１１０−１は、ノード１１０−２へデータを送信する準備ができると、データを送信する準備ができたことを知らせるメッセージをノード１１０−２へ送信する。それに対して、ノード１１０−２は、ノード１１０−１の準備ができたことを認識した旨を伝える確認メッセージをノード１１０−１へ送信するなど。
【００２１】
ステップ２３６において、ノード１１０−１およびノード１１０−２は、ストリーム１３５−１２−ｒｅｓｅｎｄを伝送するため、通信リンク１３０を準備する。一実施形態では、ノード１１０−１およびノード１１０−２は、通信リンク１３０上でリンク開始を実行する。ステップ２４０において、ノード１１０−１は、ストリーム１３５−１２−ｒｅｓｅｎｄをノード１１０−２へ送信する。ステップ２４４において、ノード１１０−１およびノード１１−２は、再送信を行なう前のそれぞれの対応する状態を復元し、通常の通信を再開できるようにする。
【００２２】
様々な応用
上記の例では、例示の目的で、あるノード１１０から別のノード１１０への伝送には１つのストリーム１３５しか使用していない。しかしながら、本発明の方法は、そのような状況に限定されるのではなく、複数のストリームを含む他の状況にも適用可能である。例えば、ノード１１０−１からノード１１０−２へ複数のストリーム（例えばストリーム１３５Ａ−１２、１３５Ｂ−１２および１３５Ｃ−１２等）が一度に伝送され、同様にノード１１０−２からノード１１０−１へ複数のストリーム（例えばストリーム１３５Ａ−２１、１３５Ｂ−２１および１３５Ｃ−２１など（図示せず））が一度に伝送される状況である。ノード１１０−２は、データパケット１１１８−２１をストリーム１３５−２１に挿入したい場合、パケット１３５Ａ−２１、１３５Ｂ−２１、１３５Ｃ−２１等のうちの任意の１つを都合よく選択することができる。さらに、各ストリーム１３５−２１は種類、大きさまたは長さが異なっていてもよく、ストリーム１３５Ａ−２１はストリーム１３５Ｂ−２１とは異なるチャネルで伝送することもできる。
【００２３】
さらに、上記実施例は、誤ったデータの再送信（再伝送）の状況について例示したものである。しかしながら、本発明の方法は、ストリーム１３５が追加の情報を伝送するために割り込みを受けた状況など、異なる状況に用いることも可能であり、そのような状況には例えば再始動、リセット、通知、許可、運用中の要素の追加および／または削除等が含まれる。例えば、ノード１１０−１の一部または全体は、別の部分またはノードによって置換えることができる。システム１００からノードを削除することもできる。ノード１１０−２は、ドロップパケット１１１８−２１に命令を挿入してノード１１０−１に指示することにより、ノード１１０−１をシャットダウンさせたり、ノード１１０−１の構成要素のうちのいくつかを取り除いたり、ノード１１０−１自体をシステム１００から完全に取り除いたりすることができる。このような応用は、マイクロプロセッサおよび／またはコヒーレンシ信号送信、キャッシュライン等の、他の用途でも利用することができる。
【００２４】
コンピュータシステムの概要
図３は、本発明の実施形態を実施することができるコンピュータシステム３００を示すブロック図である。たとえば、コンピュータシステム３００はシステム１００を含むように実施することができ、ノード１１０として機能し、上述の方法に従って機能を実行する。一実施形態において、コンピュータシステム３００は、プロセッサ３０４と、ランダムアクセスメモリ（ＲＡＭ）３０８と、リードオンリメモリ（ＲＯＭ）３１２と、記憶装置３１６と、通信インタフェース３２０とを有し、それらがすべてバス３２４に接続される。
【００２５】
プロセッサ３０４は、コンピュータシステム３００内でロジックを制御し、情報を処理し、活動を管理する。一実施形態において、プロセッサ３０４はＲＡＭ３０８およびＲＯＭ３１２に格納された命令を実行し、例えば入力装置３２８から表示装置３３２へのデータの移動を管理する。
【００２６】
ＲＡＭ３０８は通常メインメモリと呼ばれ、プロセッサ３０４によって実行される情報および命令を一時的に記憶する。ＲＡＭ３０８の情報は、入力装置３２８から取得することもできるし、あるいは、プロセッサ３０４によって実行される命令に必要なアルゴリズム処理の一部としてプロセッサ３０４によって生成することもできる。
【００２７】
ＲＯＭ３１２は情報および命令を記憶するものであり、いったんＲＯＭチップに書き込まれると読出し専用になり、変更したり消去したりすることはできない。一実施形態において、ＲＯＭ３１２には、コンピュータシステム３００の設定および初期動作のためのコマンドが記憶される。
【００２８】
記憶装置３１６はフロッピー(R)ディスク、ディスクドライブまたはテープドライブ等であり、コンピュータシステム３００によって使用される情報を長期間記憶する。
【００２９】
通信インタフェース３２０は、コンピュータシステム３００を他のコンピュータや装置とインタフェースする。通信インタフェース３２０は、例えば、モデム、統合デジタル通信網（ＩＳＤＮ）カード、ローカルエリアネットワーク（ＬＡＮ）ポート等である。当業者であれば、モデムやＩＳＤＮカードが電話回線を介したデータ通信を提供するものであり、ＬＡＮポートがＬＡＮを介したデータ通信を提供するものであることが分かるであろう。また、通信インタフェース３２０は、無線通信も可能にする。
【００３０】
バス３２４は、コンピュータシステム３００によって使用される情報を伝達するためのいかなる通信手段であってもよい。図３の例の場合、バス３２４は、プロセッサ３０４、ＲＡＭ３０８、ＲＯＭ３１２、記憶装置３１６、通信インタフェース３２０等の間でデータを伝達する媒体である。
【００３１】
コンピュータシステム３００は通常、入力装置３２８、表示装置３３２およびカーソル制御装置３３６に接続される。入力装置３２８は英数字その他のキーを含むキーボード等であり、情報やコマンドをプロセッサ３０４に伝達する。表示装置３２２はブラウン管（ＣＲＴ）等であり、コンピュータシステム３００のユーザに情報を表示する。カーソル制御装置３３６はマウス、トラックボールまたはカーソル方向キー等であり、方向情報およびコマンドをプロセッサ３０４へ伝達するとともに、表示装置３３２上のカーソル移動を制御する。
【００３２】
コンピュータシステム３００は、１以上のネットワークを通して他のコンピュータまたは装置と通信することができる。例えば、コンピュータシステム３００は、通信インタフェース３２０を用いることにより、ネットワーク３４０を介してプリンタ３４８に接続された別のコンピュータ３４４と通信したり、あるいはワールドワイドウェブ３５２を介してサーバ３５６と通信したりすることができる。ワールドワイドウェブ３５２は一般に「インターネット」と呼ばれる。代替として、コンピュータシステム３００はネットワーク３４０を介してインタネット３５２にアクセスすることもできる。
【００３３】
コンピュータシステム３００を用いて上記の方法を実施することができる。様々な実施形態において、プロセッサ３０４は、ＲＡＭ３０８に取得した命令を実行することにより本方法のステップを実行する。代替実施形態では、固定配線回路をソフトウェア命令の代わりにあるいはソフトウェアと組み合せて使用することにより、上記の方法を実施することもできる。したがって、本発明の実施形態は、ソフトウェア、ハードウェアまたは回路のうちのいずれか１つに限定されることはなく、またその組合せにも限定されない。
【００３４】
プロセッサ３０４によって実行される命令は、１以上のコンピュータ読取可能媒体に格納し、それらを用いて持ち運ぶことができる。コンピュータ読取可能媒体は、コンピュータが情報を読み出すことの可能な任意の媒体を意味している。コンピュータ読取可能媒体には、例えばフロッピー(R)ディスク、ハードディスク、ジップ（ｚｉｐ）ドライブカートリッジ、磁気テープまたは任意の他の磁気媒体、ＣＤ−ＲＯＭ、ＣＤ−ＲＡＭ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭまたは任意の他の光媒体、紙テープ、パンチカードまたは穴のパターンを有する任意の他の物理媒体、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭまたは任意の他のメモリチップまたはカートリッジなどが含まれる。また、コンピュータ読取可能媒体は、同軸ケーブル、銅線、光ファイバ、音波または光波等であってもよい。例として、プロセッサ３０４によって実行される命令は、１以上のソフトウェアプログラムの形態をとり、バス３２４を介してコンピュータシステム３００とインタフェースしているＣＤ−ＲＯＭに最初に格納される。コンピュータシステム３００は、これらの命令をＲＡＭ３０８にロードし、いくつかの命令を実行し、通信インタフェース３２０、モデムおよび電話回線を介していくつかの命令をネットワーク（例えばネットワーク３４０、インターネット３５２等）へ送信する。リモートコンピュータはネットワークケーブルを通してデータを受信し、受信した命令を実行し、そのデータをコンピュータシステム３００に送信して記憶装置３１６に格納する。
【００３５】
上記の詳細な説明において、本発明は、その特定の実施形態を参照して説明されている。しかしながら、本発明の広い思想および範囲から逸脱することなく種々の変更および変形を行うことが可能であることは明らかであろう。本発明の技術は、システム、装置、機器あるいはそれらの均等、方法やプロセス、コンピュータ読取可能媒体等、いずれの形態としても実施することができる。従って、本明細書および図面は、限定するものではなく例示するものと考えなければならない。
【００３６】
以下においては、本発明の種々の構成要件の組み合わせからなる例示的な実施態様を示す。
１．第２のノード(110)から第１のノード(110)へ情報を送信する方法であって、
前記第１のノード(110)と前記第２のノード(110)との間に通信リンク(130)を確立するステップと、
前記第１のノード(110)と第２のノード(110)との間の通信リンクにおける１以上のデータトランザクションの送信を可能にするステップと、
前記第２のノード(110)から前記第１のノード(110)へ送信中のデータトランザクションのデータストリーム(135)を識別するステップと、
前記トランザクションを停止させ、前記情報を前記データストリーム(135)に挿入し、これによって前記情報を前記第２のノード(110)から前記データストリーム(135)を介して前記第１のノード(110)へ送信するステップと、
から構成され、
前記データトランザクションが前記第２のノード(110)から開始して前記第１のノードまでである場合、前記情報が該データトランザクションの一部ではないものである方法。
２．前記第１のノード(110)と前記第２のノード(110)とを２つの異なる周波数で動作させるステップをさらに含む、上記１の方法。
３．前記第１のノード(110)にタスクを実行させるための命令を前記情報に含めるステップをさらに含む、上記１の方法。
４．前記情報を前記第１のノード(110)と前記第２のノード(110)との同期をとるために通常用いられるパケットに入れて送信するステップをさらに含む、上記１の方法。
５．前記情報を前記第２のノード(110)から前記第１のノード(110)へ送信中のデータストリームの一部としてカウントされないパケットに入れて送信するステップをさらに含む、上記１の方法。
６．前記第１のノード(110)および前記第２のノード(110)が、コンピュータシステム、ネットワーク装置、マイクロプロセッサおよび電子チップからなるグループの中から選択される、上記１の方法。
７．前記トランザクションを停止させた時点での該トランザクションの状態を保存し、保存された前記状態に基いて前記トランザクションを再開させるステップをさらに含む、上記１の方法。
８．第２のノード(110)から第１のノード(110)へ情報を送信する方法であって、
前記第１のノード(110)と前記第２のノード(110)との間に通信リンク(130)を確立するステップと、
前記第２のノード(110)から前記データリンク(130)を介して第１のノード(110)へ送信中のデータトランザクションであってヘッダおよび複数のデータ片(135)を含むデータトランザクションを識別するステップと、
前記第１のノード(110)において前記データ片(135)をカウントし、前記ヘッダのデータに基いて前記トランザクションの終わりを識別するステップと、
前記データトランザクションを停止し、前記情報を含むパケットを前記第１のノード(110)へ向けて前記通信リンク(130)に送信するステップと、
前記第１のノード(130)において前記パケットが前記トランザクションの一部ではないものとしてカウントするステップと、
からなる方法。
９．前記第１のノード(110)と前記第２のノード(110)とを２つの異なる周波数で動作させるステップをさらに含む、上記８の方法。
１０．前記第１のノード(110)にタスクを実行させるための命令を前記情報に含めるステップをさらに含む、上記８の方法。
【００３７】
【発明の効果】
本発明は、上記の構成により、トランザクションの途中でデータを送信することが可能になる。
【図面の簡単な説明】
【図１】本発明の実施形態を実施することができるシステムを示す図である。
【図２】一実施形態による方法を示すフロー図である。
【図３】本発明の実施形態を実施することができるコンピュータシステムを示す図である。
【符号の説明】
１１０  ノード
１３０  通信リンク
１３５  データストリーム
【図１】
0004536317.tif 000002
【図２】
0004536317.tif 000003
【図３】
0004536317.tif 000004