(57)【特許請求の範囲】
【請求項１】
分散コンピューティングシステムにおけるノード間のトランザクション調整方法であって、前記分散コンピューティングシステムは少なくとも１つのコンピュータを有し、該コンピュータはメモリ、該メモリに接続されたプロセッサ及び前記メモリに格納され前記プロセッサ上で実行可能なプログラムを含み、前記プロセッサが前記メモリから前記プログラムを読み出して実行するときに、該プロセッサが実行する前記方法は、
前記分散コンピューティングシステムの少なくとも第１のノードと第２のノードとの間における交渉された時間契約値を前記メモリの中に記憶するステップと、
前記時間契約値が前記第２のノードの待ち時間を超えるために拒否される場合に、前記第２のノードの待ち時間に基づいて代替の時間契約値を生成するステップであって、該代替の時間契約値は、前記時間契約値に、前記第１のノードと前記第２のノードとの間の待ち時間値を足したものに等しく、該代替の時間契約値は、前記第１のノードに送信されて、該第１のノードによって受け入れられるか否かを判定される、ステップと、
前記第１のノードから前記第２のノードのステータスの要求を受信するステップと、
前記第２のノードからの最後の通信以来の経過時間を前記メモリ内の所定の期間と比較するステップであって、該所定の期間は、前記第１のノードによって受け入れられた前記代替の時間契約値に相当する、ステップと、
前記経過時間が前記所定の期間を超過している場合、前記第２のノードが応答しない状態にあると判定するステップと
内容が前記比較するステップに関係するステータスメッセージを前記第１のノードに伝送するステップと
を含むことを特徴とする方法。
【請求項２】
コンピュータ装置に行わせるためのコンピュータ実行可能命令を含むコンピュータ読み取り可能な記録媒体であって、前記コンピュータ装置はメモリ及び該メモリに接続されたプロセッサを含み、前記命令は前記メモリにロードされ前記プロセッサ上で実行可能であり、前記プロセッサが前記メモリから前記命令を読み出して実行するときに、前記命令は、前記コンピュータ装置に、
分散コンピューティングシステムの少なくとも第１のノードと第２のノードとの間における交渉された時間契約値を前記メモリの中に記憶するステップと、
前記時間契約値が前記第２のノードの待ち時間を超えるために拒否される場合に、前記第２のノードの待ち時間に基づいて代替の時間契約値を生成するステップであって、該代替の時間契約値は、前記時間契約値に、前記第１のノードと前記第２のノードとの間の待ち時間値を足したものに等しく、該代替の時間契約値は、前記第１のノードに送信されて、該第１のノードによって受け入れられるか否かを判定される、ステップと、
前記第１のノードから前記第２のノードのステータスの要求を受信するステップと、
前記第２のノードからの最後の通信以来の経過時間を前記メモリ内の所定の期間と比較するステップであって、該所定の期間は、前記第１のノードによって受け入れられた前記代替の時間契約値に相当し、前記経過時間が前記所定の期間を超過している場合、前記第２のノードが応答しない状態にあると判定される、ステップと、
内容が前記比較するステップに関係するステータスメッセージを前記第１のノードに伝送するステップと
を含むことを実行させることを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散コンピューティングシステムの分野に関する。より詳細には、本発明は、分散コンピューティングシステムのノード間においてトランザクションを調整するための方法および装置を提供する。
【背景技術】
【０００２】
分散コンピューティングシステムは、通常、トランザクション処理モニタを利用してシステムのノードの状態を監視する。トランザクションに関与するノードが応答する状態にあるか、応答しない状態にあるかを判定するのに固定「タイムアウト」期間が、トランザクション処理モニタによって使用されてきた。詳細には、ノードが、タイムアウト値を超える期間、トランザクション処理モニタと通信しない場合、そのノードは、応答しない状態にあると見なされ、トランザクションが打ち切られることが可能である。
【０００３】
いくつかの文献に上述のような従来の技術に関連した技術内容が開示されている（例えば、特許文献１、２参照）。
【０００４】
【特許文献１】米国特許第６，５３２，２１３号明細書
【特許文献２】米国特許第６，７２４，７２６号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
固定タイムアウト値は、分散コンピューティングシステムの柔軟性および効率を制限する。例えば、１組のノードが、データを処理する、またはその他の機能を行うのに長い接続解除時間を有することを望むが、それでも、トランザクションが打ち切られるのを回避するため、固定タイムアウト期間内に応答しなければならない。これは、コンピュータ装置が、ある期間、すべての通信インフラストラクチャから接続解除する、接続解除されたコンピューティング環境では特に問題である。また、固定タイムアウト値を利用するコンピュータシステムは、ノード間で存在する可能性がある待ち時間の大幅な変動に効果的に対処しない。
【０００６】
したがって、分散コンピューティングシステムのノードの応答状態を判定することに関してより高い柔軟性を提供するシステムおよび方法に対する当分野における必要性が存在する。
【０００７】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、分散コンピューティングシステムにより高い柔軟性を与えるデータ伝送方法及びトランザクション調整方法並びに記録媒体を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、分散コンピューティングシステムにおけるノード間のトランザクションを調整するための方法、システム、およびコンピュータ実行可能構成要素を提供することによって従来技術の限界の１つまたは複数を克服する。この分散コンピューティングシステムにおけるノードは、時間契約値を交渉することができる。ノードは、その時間契約の中で特定される所定の期間内に別のノードまたはトランザクションコーディネータと通信しないとき、応答しない状態にあると判定される。ノードが時間契約を交渉できるようにすることにより、より高い柔軟性が提供され、ノードが、自らのパフォーマンスを最適化できるようになる。
【発明の効果】
【０００９】
本発明によれば、分散コンピューティングシステムにより高い柔軟性が提供され、ノードが、自らのパフォーマンスを最適化できるようになる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の実施形態を詳細に説明する。なお、各図面において同様の機能を有する箇所には同一の符号を付し、説明の重複は省略する。本発明は例示を目的として説明されるが、添付の図面に限定されるものではない。
【００１１】
本発明の態様は、パーソナルコンピュータ、パーソナルデジタルアシスタント、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラマブル家庭用電化製品、ネットワークＰＣＳ（Personal Communications Services）、ミニコンピュータ、メインフレームコンピュータなどのコンピュータ装置を使用して実施することができる。詳細には、２つ以上のコンピュータ装置が、分散コンピューティングシステムにおいてトランザクションを処理するノードを形成することが可能である。必須ではないが、本発明は、コンピュータ装置によって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的状況で説明する。一般に、プログラムモジュールは、特定のタスクを行う、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造等を含む。分散コンピューティングシステムでは、通信ネットワークを介してリンクされたリモートコンピュータ装置によってタスクが実行されることが可能である。分散コンピューティング環境では、ローカルのメモリ記憶デバイスとリモートのメモリ記憶デバイスの両方の中にプログラムモジュールを配置することが可能である。
【００１２】
図１は、本発明の様々な態様を実施するのに使用することができる従来の汎用的なデジタルコンピューティング環境を示す概略図である。コンピュータ１００が、プロセッサ１１０と、システムメモリ１２０と、システムメモリからプロセッサ１１０まで含む様々なシステム構成要素を結合するシステムバス１３３０とを含む。システムバス１３０は、様々なバスアーキテクチャのどれかを使用する、メモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造のどれであることも可能である。システムメモリ１２０は、読取り専用メモリ(ＲＯＭ)１２０−１およびランダムアクセスメモリ(ＲＡＭ)１２０−２を含む。
【００１３】
スタートアップ中などにコンピュータ１００内部の要素間で情報の転送を助ける基本ルーチンを含むＢＩＯＳ（Basic Input/Output System)１６０が、ＲＯＭ１２０−１の中に格納されている。また、コンピュータ１００は、ハードディスク(図示せず)に対して読取りおよび書込みを行うためのハードディスクドライブ１７０と、リムーバル磁気ディスク１９０に対して読取りおよび書込みを行うための磁気ディスクドライブ１８０と、ＣＤ−ＲＯＭまたはその他の光媒体などのリムーバブル光ディスク１９２に対して読取りおよび書込みを行うための光ディスクドライブ１９１とを含む。ハードディスクドライブ１７０、磁気ディスクドライブ１８０、および光ディスクドライブ１９１はそれぞれ、ハードディスクドライブインタフェース１９２、磁気ディスクドライブインタフェース１９３、および光ディスクドライブインタフェース１９４でシステムバス１３０に接続されている。これらのドライブおよび関連するコンピュータ可読媒体が、パーソナルコンピュータ１００のためのコンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータの不揮発性ストレージを提供する。磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ(ＲＡＭ)、読取り専用メモリ(ＲＯＭ)などのコンピュータによってアクセス可能であるデータを記憶することができるその他のタイプのコンピュータ可読媒体も、例としての動作環境で使用できることが、当業者には理解されよう。
【００１４】
オペレーティングシステム１９５ａ、１９５ｂ、１つまたは複数のアプリケーションプログラム１９６ａ、１９６ｂ、その他のプログラムモジュール１９７ａ、１９７ｂ、およびプログラムデータ１９８ａ、１９８ｂを含め、いくつかのプログラムモジュールをハードディスク上、磁気ディスク１９０上、ＲＯＭ１２０−１上、またはＲＡＭ１２０−２上に記憶することができる。ユーザは、キーボード１０１およびポインティングデバイス１０２などの入力デバイスを介してコンピュータ１００にコマンドおよび情報を入力することができる。その他の入力デバイス(図示せず)には、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ等が含まれることが可能である。以上およびその他の入力デバイスは、しばしば、システムバスに結合されたシリアルポートインタフェース１０６を介してプロセッサ１１０に接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)などのその他のインタフェースで、またはPCIボードを介してプロセッサ１１０に接続することも可能である。モニタ１０７、またはその他のタイプの表示装置も、ビデオアダプタ１０８などのインタフェースを介してシステムバス１３０に接続される。モニタに加えて、パーソナルコンピュータは、通常、スピーカおよびプリンタなどのその他の周辺出力装置(図示せず)を含む。
【００１５】
コンピュータ１００は、リモートコンピュータ１０９などの１つまたは複数のリモートコンピュータに対する論理接続を使用してネットワーク化された環境で動作することが可能である。リモートコンピュータ１０９は、サーバ、ルータ、ネットワークPC、ピアデバイス、またはその他の共通ネットワークノードであることが可能であり、また通常、コンピュータ１００に関連して説明した要素の多く、またはすべてを含む。ただし、メモリ記憶デバイス１１１だけを図１に示している。図１に描いた論理接続には、ローカルエリアネットワーク(LAN)１１２、およびワイドエリアネットワーク(WAN)１１３が含まれる。そのようなネットワーク環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットで一般的である。
【００１６】
LANネットワーキング環境で使用される場合、コンピュータ１００は、ネットワークインタフェースまたはアダプタ１１４を介してローカルエリアネットワーク１１２に接続される。WANネットワーキング環境で使用される場合、パーソナルコンピュータ１００は、通常、インターネットなどのワイドエリアネットワーク１１３を介して通信を確立するため、モデム１１５、またはその他の手段を含む。内部または外部にあることが可能なモデム１１５は、シリアルポートインタフェース１０６を介してシステムバス１３０に接続される。ネットワーク化された環境において、パーソナルコンピュータ１００に関連して述べたプログラムモジュール、またはその部分は、リモートメモリ記憶デバイスの中に記憶することができる。
【００１７】
図示したネットワーク接続は、例としてのものであり、コンピュータ間で通信リンクを確立するその他のやり方を使用するのも可能であることが理解されよう。ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）、イーサネット（登録商標）、ＦＴＰ（file transfer protocol）、ＨＴＴＰ（HyperText Transport Protocol）などの様々な周知のプロトコルのどれも存在が想定され、システムをクライアント-サーバ構成で動作させて、ユーザが、WebベースのサーバからWebページを取得することができるようにすることが可能である。様々な従来のWebブラウザのどれかを使用してWebページ上のデータを表示し、操作することができる。
【００１８】
図２は、本発明の実施形態による分散コンピューティングシステムを示している。トランザクションに関与する一群のノード２０２、２０４、および２０６が、トランザクションコーディネータ２０８と通信する。ノード２０２、２０４、および２０６の１つまたは複数をコンピュータ装置、ルーティングデバイス、端末、アプリケーション、または何らかの他のハードウェア構成要素またはソフトウェア構成要素を使用して実装することができる。本発明の一態様では、ノード２０２、２０４、および２０６は、分散コンピューティング環境の構成要素である。さらに、ノード２０２、２０４、および２０６のすべて、またはいくつかを単一のコンピュータ装置、単一のルーティングデバイス、単一の端末、単一のアプリケーション、または単一のその他のハードウェア構成要素またはソフトウェア構成要素を使用して実行することも可能である。ノード２０２、２０４、および２０６は、ローカルエリアネットワーク、ワイドエリアネットワーク、無線ネットワーク、またはシステムバスを含むことが可能な様々な通信チャネルを介して、トランザクションコーディネータ２０８に、かつ/または互いに結合することができる。
【００１９】
トランザクションコーディネータ２０８は、データを受信し、ステータスメッセージをノード２０２、２０４、および２０６に伝送するためのインタフェースモジュール２１０を含むことが可能である。時間契約メモリ２１２を使用して、トランザクションコーディネータ２０８に結合されたノード間で合意された時間契約値を記憶することができる。最終コンタクトメモリ２１４は、トランザクションコーディネータ２０８に結合されたノードによって行われた最終コンタクトを特定する情報を記憶することが可能である。比較モジュール２１６を利用してノードの応答状態を判定することができる。詳細には、比較モジュール２１６は、最終コンタクトメモリ２１４の中に記憶された最終コンタクトデータ、および現在時刻を利用して、特定のノードからの最終コンタクト以来、経過した時間を判定する。次に、比較モジュール２１６は、経過時間値をメモリ２１２の中に記憶された時間契約値と比較することができる。経過時間がその時間契約値を超えたとき、比較モジュール２１６は、その特定のノードが応答しない状態にあると判定する。
【００２０】
また、トランザクションコーディネータ２０８は、提案の時間契約を生成するのに使用することが可能な時間契約生成モジュール２１８も含むことが可能である。以下に、時間契約を生成する例としての方法を詳細に説明する。本発明のいくつかの実施形態では、提案の時間契約は、特定のノードの待ち時間を考慮に入れる。一対のノード間の待ち時間は、いくつかの要因との関係にある可能性があり、その要因の１つは、ノードの負荷条件である可能性がある。ノード、またはネットワークの部分のパフォーマンスを監視するため、ネットワークパフォーマンス監視モジュール２２０を含めることが可能である。時間契約生成モジュール２１８は、提案の時間契約を生成する際、ネットワークパフォーマンス監視モジュール２２０によって獲得された情報を利用することができる。例えば、所与のノードが２ミリ秒以内にあるタスクを行うことができるべきであると時間契約生成モジュールが判定し、かつそのノードと別のノードの間の待ち時間がおよそ１ミリ秒であるとネットワークパフォーマンス監視モジュール２２０が判定した場合、時間契約生成モジュール２１８は、例えば、３ミリ秒の時間契約を提案することができる。
【００２１】
図３は、本発明の実施形態によるノードによって使用されることが可能な分散コンピューティングシステムにおいてデータを伝送する方法を示している。まず、ステップ３０２で、第１のノードが、トランザクションコーディネータに登録することが可能である。この登録ステップは、第１のノード、および第１のノードが通信することを望む１つまたは複数の他のノードを特定することを含むことが可能である。次に、ステップ３０４で、第１のノードが、第２のノードとの提案の時間契約をトランザクションコーディネータ２０８に伝送することが可能である。提案の時間契約は、応答しない状態にあると見なされることなく、ネットワークノードがトランザクションコーディネータ２０８と通信しないことが可能な最大期間を特定することが可能である。
【００２２】
ステップ３０６で、トランザクションコーディネータ２０８は、その提案の時間契約を承認または拒否することが可能である。トランザクションコーディネータ２０８は、判定を行う際、トランザクションに関与するその他のノードに問い合わせる、ネットワークパフォーマンス監視モジュール２２０によって生成された待ち時間データを考慮する、またはノードの過去のパフォーマンス履歴などのその他の情報を考慮することができる。一実施形態では、トランザクションコーディネータ２０８は、トランザクションに関与するノードに対する関係のある待ち時間を超える期間を含む、すべての提案の時間契約を拒否する。
【００２３】
時間契約がトランザクションコーディネータ２０８によって拒否されたとき、トランザクションコーディネータ２０８は、時間契約生成モジュール２１８を利用して新しい時間契約を提案することができる。例えば、時間がノードのどれかの待ち時間を超えるために提案の時間契約が拒否されたとき、トランザクションコーディネータ２０８は、トランザクションに関与するノードのその待ち時間を考慮に入れた新しい時間契約を生成することができる。
【００２４】
図３に戻ると、トランザクションコーディネータが時間契約を拒否した後、次にステップ３０８で、第１のノードは、トランザクションコーディネータ２０８が新しい時間契約を提案したか否かを判定する。トランザクションコーディネータ２０８は、拒否を伝送するのと同時に提案の新しい時間契約を伝送することができる。トランザクションコーディネータ２０８によって時間契約が全く提案されない場合、ステップ３０４で、第１のノードは、新しい提案の時間契約をトランザクションコーディネータ２０８に伝送することができる。トランザクションコーディネータ２０８が、新しい時間契約を提案した場合、ステップ３１０で、第１のノードは、その提案の時間契約が受入れ可能であるかどうかを判定することができる。もちろん、この提案の新しい時間契約が受入れ可能であるか否かを判定する際に第１のノードによって使用されることが可能な多数の要因が存在する。提案の新しい時間契約が受入れ可能でない場合、ステップ３１２で、第１のノードは、拒否をトランザクションコーディネータ２０８に伝送し、ステップ３０４で、さらに別の時間契約を提案することができる。ステップ３１２とステップ３０４を単一のステップに結合することも可能である。提案の新しい時間契約が受入れ可能である場合、ステップ３１４で、第１のノードは、その時間契約の承認をトランザクションコーディネータ２０８に伝送することができる。
【００２５】
ステップ３１６で、第１のノードは、データを第２のノードに送信する準備をする。このステップは、ステータス情報クエリをトランザクションコーディネータ２０８に送信することを含むことが可能である。次に、ステップ３１８で、第１のノードは、トランザクションコーディネータ２０８からステータス情報を受信する。このステータス情報は、第２のノードのステータス、例えば、第２のノードが応答する状態にあるかどうかを含むことが可能である。このステータス情報に基づき、ステップ３２０で、第１のノードは、第２のノードが応答する状態にあるかどうかを判定することができる。第２のノードが応答しない状態にある場合、ステップ３２２でトランザクションを打ち切ることが可能である。第２のノードが応答する状態にあると判定された場合、ステップ３２４で、データを第２のノードに伝送することができる。
【００２６】
図３は、例示だけを目的として、２つのノードが関与するトランザクションを示している。本発明の態様は、任意の数のノードが関与するトランザクションに関連して使用するのが可能であることが、当業者には理解されよう。３つ以上のノード間のトランザクションに関わる実施形態では、ノードおよび/またはトランザクションコーディネータ２０８は、処理遅延問合せを要求し、またそれに応答するように構成することができる。例えば、第１のステップでノード２０６がデータをノード２０４に伝送し、次に第２のステップでノード２０４がデータをノード２０２に伝送する２ステップトランザクションにノード２０２、２０４、および２０６(図２に示す)が関与していることが可能である。第１のステップ中、ノード２０２は、処理遅延問合せをノード２０４またはトランザクションコーディネータ２０８に送信することができる。ノード２０４とノード２０６の間における契約の中の期間を超過していない場合、ノード２０４またはトランザクションコーディネータ２０８は、その時間契約の中の期間を超過することなくノード２０６が応答するのに有する残りの時間を示すメッセージをノード２０２に伝送することができる。
【００２７】
トランザクションに関与するノードは、複数の時間契約を有することが可能である。各時間契約が、異なるカテゴリのトランザクションに対応することが可能である。例えば、株式の売り買いに関わるトランザクションは、それほど時間にセンシティブ（sensitive）でない、またはそれほど重要でないと考えられるトランザクションと比べたとき、比較的短い期間を有する時間契約を有することが可能である。さらに、代替の実施形態では、トランザクションコーディネータ２０８によって行われる機能の１つまたは複数は、トランザクションに関与するノードのどれかによって行われることも可能である。
【００２８】
また、本発明の態様は、ピアツーピア分散コンピューティングシステムにおいても実施することができる。図４は、ノード４０２〜４０４がピアツーピア構成に配置された実施形態を示している。ノード４０２〜４０４はそれぞれ、時間契約情報を記憶するのに使用することができるメモリ４０６〜４０８を含んでいる。詳細には、メモリ４０６-４０８の各々は、その他のノードの識別、時間契約値、ならびにノードのそれぞれとの最終コンタクトの時刻を含むことが可能である。メモリ４０６は、例えば、ノード４０２がノード４０３との時間契約を有すること、およびその時間契約値が４秒であることを示す情報を含む。さらに、ノード４０３との最終コンタクトは、１０:０４:２１に行われている。ノード４０２〜４０４のそれぞれは、自らのそれぞれのメモリの中に記憶された情報を利用してその他のノードの応答状態を判定することができる。一実施形態では、メモリ４０６〜４０８は、ノードがリスタートされる際に記憶された情報が失われないように不揮発性デバイスを使用して実装される。
【００２９】
図５は、本発明の実施形態によるピアツーピア構成に配置されたノード間においてデータを伝送する方法を示している。まず、ステップ５０２で、ノードは、受信側ノードとの時間契約を交渉することができる。このステップは、提案の契約値を送信すること、受信すること、および分析することを含むことが可能である。データを伝送する前に、ステップ５０４で、ノードは、受信側ノードからの最終コンタクト以来、経過した時間を確認する。この経過時間は、現在時刻から最終コンタクトの時刻を引くことによって判定することができる。例えば、現在時刻が１０:０６:２１である場合、ノード４０２(図４に示す)は、ノード４０３との最終コンタクト以来、経過した時間が２秒であると判定することができる。いくつかの実施形態では、トランザクションに関与するノードのそれぞれの現在時刻を同期させることが望ましい可能性がある。ネットワークタイムプロトコル(NTP)、またはその他の機構を使用してノードのそれぞれの現在時刻を同期させることができる。
【００３０】
ステップ５０６で、最終コンタクト以来、経過した時間が、その時間契約の中の期間と比較される。ノード４０２を含む上記に提示した例では、２秒の経過時間が、４秒の時間契約値と比較されることになる。最後に、経過時間が時間契約の中の期間を超過していない場合、ステップ５０８で、ノードは、データを受信側ノードに伝送することができる。
【００３１】
本発明は、本明細書で、本発明の特定の例としての実施形態に関連して説明してきた。本発明を理解する人は、頭記の特許請求の範囲に記載する本発明のより広い趣旨および範囲を逸脱することなく、本発明の原理を利用する変更形態、またはその他の実施形態、または変形形態を構想できることが、当業者には明白であろう。それらすべては、本発明の領域、趣旨、および範囲の中に入るものと見なされる。したがって、本明細書および図面は、限定するものではなく、例示するものと見なされるべきである。したがって、本発明は、頭記の特許請求の範囲に関して必要とされる可能性がある以外の限定は受けないものとする。
【図面の簡単な説明】
【００３２】
【図１】本発明と関連して使用することができる汎用コンピュータシステムを示すブロック図である。
【図２】本発明の実施形態によるトランザクションコーディネータを含む分散コンピューティングシステムを示す図である。
【図３】本発明の実施形態による分散コンピューティングシステムにおける情報を配信する方法を示す図である。
【図４】本発明の実施形態による分散コンピューティングシステムにおいてトランザクションを調整するためのピアツーピアシステムを示す図である。
【図５】本発明の実施形態によるピアツーピア分散コンピューティングシステムにおいてトランザクションを調整する方法を示す図である。
【符号の説明】
【００３３】
１０９  リモートコンピュータ
１１０  プロセッサ
１２０−１  ＲＯＭ
１２０−２  ＲＡＭ
１７０  ハードディスクドライブ
２０２、２０４、２０６、４０２、４０３、４０４  ノード
２０８  トランザクションコーディネータ
２１０  インタフェースモジュール
２１２  時間契約メモリ
２１４  最終コンタクトメモリ
２１６  比較モジュール
２１８  時間契約生成モジュール
２２０  ネットワークパフォーマンス監視モジュール
【図１】
0004745287.tif 000002
【図２】
0004745287.tif 000003
【図３】
0004745287.tif 000004
【図４】
0004745287.tif 000005
【図５】
0004745287.tif 000006