JP2003186834A - データ伝送方法及びトランザクション調整方法並びに記録媒体 - Google Patents

データ伝送方法及びトランザクション調整方法並びに記録媒体

Info

Publication number
JP2003186834A
JP2003186834A JP2002302250A JP2002302250A JP2003186834A JP 2003186834 A JP2003186834 A JP 2003186834A JP 2002302250 A JP2002302250 A JP 2002302250A JP 2002302250 A JP2002302250 A JP 2002302250A JP 2003186834 A JP2003186834 A JP 2003186834A
Authority
JP
Japan
Prior art keywords
node
time
contract
period
transaction coordinator
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
Application number
JP2002302250A
Other languages
English (en)
Other versions
JP4057881B2 (ja
JP2003186834A5 (ja
Inventor
Luis F Cabrera
エフ.カブレラ ルイス
Alexander T Weinert
ティー.ウェイナート アレクサンダー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US10/007,060 external-priority patent/US6976074B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2003186834A publication Critical patent/JP2003186834A/ja
Publication of JP2003186834A5 publication Critical patent/JP2003186834A5/ja
Application granted granted Critical
Publication of JP4057881B2 publication Critical patent/JP4057881B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Acyclic And Carbocyclic Compounds In Medicinal Compositions (AREA)
  • Medicines Containing Material From Animals Or Micro-Organisms (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Traffic Control Systems (AREA)

Abstract

(57)【要約】 【課題】 システムにおけるノード間のトランザクショ
ンを効率的に調整するための機構を有する分散コンピュ
ーティングシステムを提供する。 【解決手段】 1つまたは複数のノード202、20
4、206は、互いに、またはトランザクションコーデ
ィネータ208と通信する最大期間を交渉することがで
きる。ノード202、204、206は、最後の通信以
来の時間が、その最大期間を超過したとき、応答しない
状態にあると判定される。最大期間は、分散コンピュー
ティングシステムの少なくとも一部分の待ち時間に関す
る調整を含むことが可能である。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、分散コンピューテ
ィングシステムの分野に関する。より詳細には、本発明
は、分散コンピューティングシステムのノード間におい
てトランザクションを調整するための方法および装置を
提供する。
【0002】
【従来の技術】本出願は、2001年10月16日と2
001年10月19日に出願の米国特許仮出願(特許文
献1、2参照)に関連しこれらに対する優先権を主張
し、これらは、参照によって本明細書に組み込まれてい
る。
【0003】分散コンピューティングシステムは、通
常、トランザクション処理モニタを利用してシステムの
ノードの状態を監視する。トランザクションに関与する
ノードが応答する状態にあるか、応答しない状態にある
かを判定するのに固定「タイムアウト」期間が、トラン
ザクション処理モニタトランザクション処理モニタによ
って使用されてきた。詳細には、ノードが、タイムアウ
ト値を超える期間、トランザクション処理モニタと通信
しない場合、そのノードは、応答しない状態にあると見
なされ、トランザクションが打ち切られることが可能で
ある。
【0004】
【特許文献1】米国特許仮出願 第60/329,7
96号
【0005】
【特許文献2】米国特許仮出願 第60/346,3
70号
【0006】
【発明が解決しようとする課題】固定タイムアウト値
は、分散コンピューティングシステムの柔軟性および効
率を制限する。例えば、1組のノードが、データを処理
する、またはその他の機能を行うのに長い接続解除時間
を有することを望むが、それでも、トランザクションが
打ち切られるのを回避するため、固定タイムアウト期間
内に応答しなければならない。これは、コンピュータ装
置が、ある期間、すべての通信インフラストラクチャか
ら接続解除する、接続解除されたコンピューティング環
境では特に問題である。また、固定タイムアウト値を利
用するコンピュータシステムは、ノード間で存在する可
能性がある待ち時間の大幅な変動に効果的に対処しな
い。
【0007】したがって、分散コンピューティングシス
テムのノードの応答状態を判定することに関してより高
い柔軟性を提供するシステムおよび方法に対する当分野
における必要性が存在する。
【0008】本発明は、このような問題に鑑みてなされ
たもので、その目的とするところは、分散コンピューテ
ィングシステムにより高い柔軟性を与えるデータ伝送方
法及びトランザクション調整方法並びに記録媒体を提供
することにある。
【0009】
【課題を解決するための手段】本発明は、分散コンピュ
ーティングシステムにおけるノード間のトランザクショ
ンを調整するための方法、システム、およびコンピュー
タ実行可能構成要素を提供することによって従来技術の
限界の1つまたは複数を克服する。この分散コンピュー
ティングシステムにおけるノードは、時間契約値を交渉
することができる。ノードは、その時間契約の中で特定
される所定の期間内に別のノードまたはトランザクショ
ンコーディネータと通信しないとき、応答しない状態に
あると判定される。ノードが時間契約を交渉できるよう
にすることにより、より高い柔軟性が提供され、ノード
が、自らのパフォーマンスを最適化できるようになる。
【0010】
【発明の実施の形態】以下、図面を参照して本発明の実
施形態を詳細に説明する。なお、各図面において同様の
機能を有する箇所には同一の符号を付し、説明の重複は
省略する。本発明は例示を目的として説明されるが、添
付の図面に限定されるものではない。
【0011】本発明の態様は、パーソナルコンピュー
タ、パーソナルデジタルアシスタント、ハンドヘルドデ
バイス、マルチプロセッサシステム、マイクロプロセッ
サベースの家庭用電化製品またはプログラマブル家庭用
電化製品、ネットワークPCS(Personal Communicati
ons Services)、ミニコンピュータ、メインフレームコ
ンピュータなどのコンピュータ装置を使用して実施する
ことができる。詳細には、2つ以上のコンピュータ装置
が、分散コンピューティングシステムにおいてトランザ
クションを処理するノードを形成することが可能であ
る。必須ではないが、本発明は、コンピュータ装置によ
って実行される、プログラムモジュールなどのコンピュ
ータ実行可能命令の一般的状況で説明する。一般に、プ
ログラムモジュールは、特定のタスクを行う、または特
定の抽象データ型を実装するルーチン、プログラム、オ
ブジェクト、構成要素、データ構造等を含む。分散コン
ピューティングシステムでは、通信ネットワークを介し
てリンクされたリモートコンピュータ装置によってタス
クが実行されることが可能である。分散コンピューティ
ング環境では、ローカルのメモリ記憶デバイスとリモー
トのメモリ記憶デバイスの両方の中にプログラムモジュ
ールを配置することが可能である。
【0012】図1は、本発明の様々な態様を実施するの
に使用することができる従来の汎用的なデジタルコンピ
ューティング環境を示す概略図である。コンピュータ1
00が、プロセッサ110と、システムメモリ120
と、システムメモリからプロセッサ110まで含む様々
なシステム構成要素を結合するシステムバス1330と
を含む。システムバス130は、様々なバスアーキテク
チャのどれかを使用する、メモリバスまたはメモリコン
トローラ、周辺バス、およびローカルバスを含むいくつ
かのタイプのバス構造のどれであることも可能である。
システムメモリ120は、読取り専用メモリ(ROM)1
20−1およびランダムアクセスメモリ(RAM)120
−2を含む。
【0013】スタートアップ中などにコンピュータ10
0内部の要素間で情報の転送を助ける基本ルーチンを含
むBIOS(Basic Input/Output System)160が、R
OM120−1の中に格納されている。また、コンピュ
ータ100は、ハードディスク(図示せず)に対して読取
りおよび書込みを行うためのハードディスクドライブ1
770と、リムーバル磁気ディスク190に対して読取
りおよび書込みを行うための磁気ディスクドライブ18
0と、CD ROMまたはその他の光媒体などのリムーバ
ル光ディスク192に対して読取りおよび書込みを行う
ための光ディスクドライブ191とを含む。ハードディ
スクドライブ170、磁気ディスクドライブ180、お
よび光ディスクドライブ191はそれぞれ、ハードディ
スクドライブインタフェース192、磁気ディスクドラ
イブインタフェース193、および光ディスクドライブ
インタフェース194でシステムバス130に接続され
ている。これらのドライブおよび関連するコンピュータ
可読媒体が、パーソナルコンピュータ100のためのコ
ンピュータ可読命令、データ構造、プログラムモジュー
ル、およびその他のデータの不揮発性ストレージを提供
する。磁気カセット、フラッシュメモリカード、デジタ
ルビデオディスク、ベルヌーイカートリッジ、ランダム
アクセスメモリ(RAM)、読取り専用メモリ(ROM)な
どのコンピュータによってアクセス可能であるデータを
記憶することができるその他のタイプのコンピュータ可
読媒体も、例としての動作環境で使用できることが、当
業者には理解されよう。
【0014】オペレーティングシステム195a、19
5b、1つまたは複数のアプリケーションプログラム1
96a、196b、その他のプログラムモジュール19
7a、197b、およびプログラムデータ198a、1
98bを含め、いくつかのプログラムモジュールをハー
ドディスク上、磁気ディスク190上、ROM120−
1上、またはRAM120−2上に記憶することができ
る。ユーザは、キーボード101およびポインティング
デバイス102などの入力デバイスを介してコンピュー
タ100にコマンドおよび情報を入力することができ
る。その他の入力デバイス(図示せず)には、マイクロホ
ン、ジョイスティック、ゲームパッド、サテライトディ
ッシュ、スキャナ等が含まれることが可能である。以上
およびその他の入力デバイスは、しばしば、システムバ
スに結合されたシリアルポートインタフェース106を
介してプロセッサ110に接続されるが、パラレルポー
ト、ゲームポート、ユニバーサルシリアルバス(USB)な
どのその他のインタフェースで、またはPCIボードを介
してプロセッサ110に接続することも可能である。モ
ニタ107、またはその他のタイプの表示装置も、ビデ
オアダプタ108などのインタフェースを介してシステ
ムバス130に接続される。モニタに加えて、パーソナ
ルコンピュータは、通常、スピーカおよびプリンタなど
のその他の周辺出力装置(図示せず)を含む。
【0015】コンピュータ100は、リモートコンピュ
ータ109などの1つまたは複数のリモートコンピュー
タに対する論理接続を使用してネットワーク化された環
境で動作することが可能である。リモートコンピュータ
109は、サーバ、ルータ、ネットワークPC、ピアデバ
イス、またはその他の共通ネットワークノードであるこ
とが可能であり、また通常、コンピュータ100に関連
して説明した要素の多く、またはすべてを含む。ただ
し、メモリ記憶デバイス111だけを図1に示してい
る。図1に描いた論理接続には、ローカルエリアネット
ワーク(LAN)112、およびワイドエリアネットワーク
(WAN)113が含まれる。そのようなネットワーク環境
は、オフィス、企業全体のコンピュータネットワーク、
イントラネット、およびインターネットで一般的であ
る。
【0016】LANネットワーキング環境で使用される場
合、コンピュータ100は、ネットワークインタフェー
スまたはアダプタ114を介してローカルエリアネット
ワーク112に接続される。WANネットワーキング環境
で使用される場合、パーソナルコンピュータ100は、
通常、インターネットなどのワイドエリアネットワーク
113を介して通信を確立するため、モデム115、ま
たはその他の手段を含む。内部または外部にあることが
可能なモデム115は、シリアルポートインタフェース
106を介してシステムバス130に接続される。ネッ
トワーク化された環境において、パーソナルコンピュー
タ100に関連して述べたプログラムモジュール、また
はその部分は、リモートメモリ記憶デバイスの中に記憶
することができる。
【0017】図示したネットワーク接続は、例としての
ものであり、コンピュータ間で通信リンクを確立するそ
の他のやり方を使用するのも可能であることが理解され
よう。TCP/IP(Transmission Control Protocol/
Internet Protocol)、イーサネット(登録商標)、F
TP(file transfer protocol)、HTTP(HyperTex
t Transport Protocol)などの様々な周知のプロトコル
のどれも存在が想定され、システムをクライアント-サ
ーバ構成で動作させて、ユーザが、Webベースのサーバ
からWebページを取得することができるようにすること
が可能である。様々な従来のWebブラウザのどれかを使
用してWebページ上のデータを表示し、操作することが
できる。
【0018】図2は、本発明の実施形態による分散コン
ピューティングシステムを示している。トランザクショ
ンに関与する一群のノード202、204、および20
6が、トランザクションコーディネータ208と通信す
る。ノード202、204、および206の1つまたは
複数をコンピュータ装置、ルーティングデバイス、端
末、アプリケーション、または何らかの他のハードウェ
ア構成要素またはソフトウェア構成要素を使用して実装
することができる。本発明の一態様では、ノード20
2、204、および206は、分散コンピューティング
環境の構成要素である。さらに、ノード202、20
4、および206のすべて、またはいくつかを単一のコ
ンピュータ装置、単一のルーティングデバイス、単一の
端末、単一のアプリケーション、または単一のその他の
ハードウェア構成要素またはソフトウェア構成要素を使
用して実行することも可能である。ノード202、20
4、および206は、ローカルエリアネットワーク、ワ
イドエリアネットワーク、無線ネットワーク、またはシ
ステムバスを含むことが可能な様々な通信チャネルを介
して、トランザクションコーディネータ208に、かつ
/または互いに結合することができる。
【0019】トランザクションコーディネータ208
は、データを受信し、ステータスメッセージをノード2
02、204、および206に伝送するためのインタフ
ェースモジュール210を含むことが可能である。時間
契約メモリ212を使用して、トランザクションコーデ
ィネータ208に結合されたノード間で合意された時間
契約値を記憶することができる。最終コンタクトメモリ
214は、トランザクションコーディネータ208に結
合されたノードによって行われた最終コンタクトを特定
する情報を記憶することが可能である。比較モジュール
216を利用してノードの応答状態を判定することがで
きる。詳細には、比較モジュール216は、最終コンタ
クトメモリ214の中に記憶された最終コンタクトデー
タ、および現在時刻を利用して、特定のノードからの最
終コンタクト以来、経過した時間を判定する。次に、比
較モジュール216は、経過時間値をメモリ212の中
に記憶された時間契約値と比較することができる。経過
時間がその時間契約値を超えたとき、比較モジュール2
16は、その特定のノードが応答しない状態にあると判
定する。
【0020】また、トランザクションコーディネータ2
08は、提案の時間契約を生成するのに使用することが
可能な時間契約生成モジュール218も含むことが可能
である。以下に、時間契約を生成する例としての方法を
詳細に説明する。本発明のいくつかの実施形態では、提
案の時間契約は、特定のノードの待ち時間を考慮に入れ
る。一対のノード間の待ち時間は、いくつかの要因との
関係にある可能性があり、その要因の1つは、ノードの
負荷条件である可能性がある。ノード、またはネットワ
ークの部分のパフォーマンスを監視するため、ネットワ
ークパフォーマンス監視モジュール220を含めること
が可能である。時間契約生成モジュール218は、提案
の時間契約を生成する際、ネットワークパフォーマンス
監視モジュール220によって獲得された情報を利用す
ることができる。例えば、所与のノードが2ミリ秒以内
にあるタスクを行うことができるべきであると時間契約
生成モジュールが判定し、かつそのノードと別のノード
の間の待ち時間がおよそ1ミリ秒であるとネットワーク
パフォーマンス監視モジュール220が判定した場合、
時間契約生成モジュール218は、例えば、3ミリ秒の
時間契約を提案することができる。
【0021】図3は、本発明の実施形態によるノードに
よって使用されることが可能な分散コンピューティング
システムにおいてデータを伝送する方法を示している。
まず、ステップ302で、第1のノードが、トランザク
ションコーディネータに登録することが可能である。こ
の登録ステップは、第1のノード、および第1のノード
が通信することを望む1つまたは複数の他のノードを特
定することを含むことが可能である。次に、ステップ3
04で、第1のノードが、第2のノードとの提案の時間
契約をトランザクションコーディネータ208に伝送す
ることが可能である。提案の時間契約は、応答しない状
態にあると見なされることなく、ネットワークノードが
トランザクションコーディネータ208と通信しないこ
とが可能な最大期間を特定することが可能である。
【0022】ステップ306で、トランザクションコー
ディネータ208は、その提案の時間契約を承認または
拒否することが可能である。トランザクションコーディ
ネータ208は、判定を行う際、トランザクションに関
与するその他のノードに問い合わせる、ネットワークパ
フォーマンス監視モジュール220によって生成された
待ち時間データを考慮する、またはノードの過去のパフ
ォーマンス履歴などのその他の情報を考慮することがで
きる。一実施形態では、トランザクションコーディネー
タ208は、トランザクションに関与するノードに対す
る関係のある待ち時間を超える期間を含む、すべての提
案の時間契約を拒否する。
【0023】時間契約がトランザクションコーディネー
タ208によって拒否されたとき、トランザクションコ
ーディネータ208は、時間契約生成モジュール218
を利用して新しい時間契約を提案することができる。例
えば、時間がノードのどれかの待ち時間を超えるために
提案の時間契約が拒否されたとき、トランザクションコ
ーディネータ208は、トランザクションに関与するノ
ードのその待ち時間を考慮に入れた新しい時間契約を生
成することができる。
【0024】図3に戻ると、トランザクションコーディ
ネータが時間契約を拒否した後、次にステップ308
で、第1のノードは、トランザクションコーディネータ
208が新しい時間契約を提案したか否かを判定する。
トランザクションコーディネータ208は、拒否を伝送
するのと同時に提案の新しい時間契約を伝送することが
できる。トランザクションコーディネータ208によっ
て時間契約が全く提案されない場合、ステップ304
で、第1のノードは、新しい提案の時間契約をトランザ
クションコーディネータ208に伝送することができ
る。トランザクションコーディネータ208が、新しい
時間契約を提案した場合、ステップ310で、第1のノ
ードは、その提案の時間契約が受入れ可能であるかどう
かを判定することができる。もちろん、この提案の新し
い時間契約が受入れ可能であるか否かを判定する際に第
1のノードによって使用されることが可能な多数の要因
が存在する。提案の新しい時間契約が受入れ可能でない
場合、ステップ312で、第1のノードは、拒否をトラ
ンザクションコーディネータ208に伝送し、ステップ
304で、さらに別の時間契約を提案することができ
る。ステップ312とステップ304を単一のステップ
に結合することも可能である。提案の新しい時間契約が
受入れ可能である場合、ステップ314で、第1のノー
ドは、その時間契約の承認をトランザクションコーディ
ネータ208に伝送することができる。
【0025】ステップ316で、第1のノードは、デー
タを第2のノードに送信する準備をする。このステップ
は、ステータス情報クエリをトランザクションコーディ
ネータ208に送信することを含むことが可能である。
次に、ステップ318で、第1のノードは、トランザク
ションコーディネータ208からステータス情報を受信
する。このステータス情報は、第2のノードのステータ
ス、例えば、第2のノードが応答する状態にあるかどう
かを含むことが可能である。このステータス情報に基づ
き、ステップ320で、第1のノードは、第2のノード
が応答する状態にあるかどうかを判定することができ
る。第2のノードが応答しない状態にある場合、ステッ
プ322でトランザクションを打ち切ることが可能であ
る。第2のノードが応答する状態にあると判定された場
合、ステップ324で、データを第2のノードに伝送す
ることができる。
【0026】図3は、例示だけを目的として、2つのノ
ードが関与するトランザクションを示している。本発明
の態様は、任意の数のノードが関与するトランザクショ
ンに関連して使用するのが可能であることが、当業者に
は理解されよう。3つ以上のノード間のトランザクショ
ンに関わる実施形態では、ノードおよび/またはトラン
ザクションコーディネータ208は、処理遅延問合せを
要求し、またそれに応答するように構成することができ
る。例えば、第1のステップでノード206がデータを
ノード204に伝送し、次に第2のステップでノード2
04がデータをノード202に伝送する2ステップトラ
ンザクションにノード202、204、および206
(図2に示す)が関与していることが可能である。第1の
ステップ中、ノード202は、処理遅延問合せをノード
204またはトランザクションコーディネータ208に
送信することができる。ノード204とノード206の
間における契約の中の期間を超過していない場合、ノー
ド204またはトランザクションコーディネータ208
は、その時間契約の中の期間を超過することなくノード
206が応答するのに有する残りの時間を示すメッセー
ジをノード202に伝送することができる。
【0027】トランザクションに関与するノードは、複
数の時間契約を有することが可能である。各時間契約
が、異なるカテゴリのトランザクションに対応すること
が可能である。例えば、株式の売り買いに関わるトラン
ザクションは、それほど時間にセンシティブ(sensitiv
e)でない、またはそれほど重要でないと考えられるト
ランザクションと比べたとき、比較的短い期間を有する
時間契約を有することが可能である。さらに、代替の実
施形態では、トランザクションコーディネータ208に
よって行われる機能の1つまたは複数は、トランザクシ
ョンに関与するノードのどれかによって行われることも
可能である。
【0028】また、本発明の態様は、ピアツーピア分散
コンピューティングシステムにおいても実施することが
できる。図4は、ノード402〜404がピアツーピア
構成に配置された実施形態を示している。ノード402
〜404はそれぞれ、時間契約情報を記憶するのに使用
することができるメモリ406〜408を含んでいる。
詳細には、メモリ406-408の各々は、その他のノ
ードの識別、時間契約値、ならびにノードのそれぞれと
の最終コンタクトの時刻を含むことが可能である。メモ
リ406は、例えば、ノード402がノード403との
時間契約を有すること、およびその時間契約値が4秒で
あることを示す情報を含む。さらに、ノード403との
最終コンタクトは、10:04:21に行われている。ノ
ード402〜404のそれぞれは、自らのそれぞれのメ
モリの中に記憶された情報を利用してその他のノードの
応答状態を判定することができる。一実施形態では、メ
モリ406〜408は、ノードがリスタートされる際に
記憶された情報が失われないように不揮発性デバイスを
使用して実装される。
【0029】図5は、本発明の実施形態によるピアツー
ピア構成に配置されたノード間においてデータを伝送す
る方法を示している。まず、ステップ502で、ノード
は、受信側ノードとの時間契約を交渉することができ
る。このステップは、提案の契約値を送信すること、受
信すること、および分析することを含むことが可能であ
る。データを伝送する前に、ステップ504で、ノード
は、受信側ノードからの最終コンタクト以来、経過した
時間を確認する。この経過時間は、現在時刻から最終コ
ンタクトの時刻を引くことによって判定することができ
る。例えば、現在時刻が10:06:21である場合、ノ
ード402(図4に示す)は、ノード403との最終コン
タクト以来、経過した時間が2秒であると判定すること
ができる。いくつかの実施形態では、トランザクション
に関与するノードのそれぞれの現在時刻を同期させるこ
とが望ましい可能性がある。ネットワークタイムプロト
コル(NTP)、またはその他の機構を使用してノードのそ
れぞれの現在時刻を同期させることができる。
【0030】ステップ506で、最終コンタクト以来、
経過した時間が、その時間契約の中の期間と比較され
る。ノード402を含む上記に提示した例では、2秒の
経過時間が、4秒の時間契約値と比較されることにな
る。最後に、経過時間が時間契約の中の期間を超過して
いない場合、ステップ508で、ノードは、データを受
信側ノードに伝送することができる。
【0031】本発明は、本明細書で、本発明の特定の例
としての実施形態に関連して説明してきた。本発明を理
解する人は、頭記の特許請求の範囲に記載する本発明の
より広い趣旨および範囲を逸脱することなく、本発明の
原理を利用する変更形態、またはその他の実施形態、ま
たは変形形態を構想できることが、当業者には明白であ
ろう。それらすべては、本発明の領域、趣旨、および範
囲の中に入るものと見なされる。したがって、本明細書
および図面は、限定するものではなく、例示するものと
見なされるべきである。したがって、本発明は、頭記の
特許請求の範囲に関して必要とされる可能性がある以外
の限定は受けないものとする。
【0032】
【発明の効果】以上説明したように本発明によれば、分
散コンピューティングシステムにより高い柔軟性が提供
され、ノードが、自らのパフォーマンスを最適化できる
ようになる。
【図面の簡単な説明】
【図1】本発明と関連して使用することができる汎用コ
ンピュータシステムを示すブロック図である。
【図2】本発明の実施形態によるトランザクションコー
ディネータを含む分散コンピューティングシステムを示
す図である。
【図3】本発明の実施形態による分散コンピューティン
グシステムにおける情報を配信する方法を示す図であ
る。
【図4】本発明の実施形態による分散コンピューティン
グシステムにおいてトランザクションを調整するための
ピアツーピアシステムを示す図である。
【図5】本発明の実施形態によるピアツーピア分散コン
ピューティングシステムにおいてトランザクションを調
整する方法を示す図である。
【符号の説明】
109 リモートコンピュータ 110 プロセッサ 120−1 ROM 120−2 RAM 170 ハードディスクドライブ 202、204、206、402、403、404 ノ
ード 208 トランザクションコーディネータ 210 インタフェースモジュール 212 時間契約メモリ 214 最終コンタクトメモリ 216 比較モジュール 218 時間契約生成モジュール 220 ネットワークパフォーマンス監視モジュール
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ルイス エフ.カブレラ アメリカ合衆国 98008−4168 ワシント ン州 ベルビュー ピーオーボックス 4168 (72)発明者 アレクサンダー ティー.ウェイナート アメリカ合衆国 98117 ワシントン州 シアトル 20 アベニュー ノースウエス ト 6702 Fターム(参考) 5B085 AC12 BA06 BG02

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 分散コンピューティングシステムにおけ
    るデータ伝送方法であって、 (a)第1のノードからトランザクションコーディネータ
    に少なくとも第2のノードとの少なくとも1つのトラン
    ザクションに対する提案の時間契約を伝送するステップ
    と、 (b)前記トランザクションコーディネータから前記第2
    のノードのステータス情報を受信するステップと、 (c)前記ステータス情報が、前記第2のノードから前記
    トランザクションコーディネータへの最後の通信が所定
    の期間内に行われたことを示す場合、前記第1のノード
    から前記第2のノードにデータを伝送するステップとを
    備えたことを特徴とする方法。
  2. 【請求項2】 前記所定の期間は、前記提案の時間契約
    に等しいことを特徴とする請求項1に記載の方法。
  3. 【請求項3】 前記所定の期間は、前記提案の時間契約
    に前記トランザクションコーディネータによって判定さ
    れた待ち時間値を足したものに等しいことを特徴とする
    請求項1に記載の方法。
  4. 【請求項4】 代替の提案の時間契約を前記トランザク
    ションコーディネータから受信するステップをさらに含
    むことを特徴とする請求項1に記載の方法。
  5. 【請求項5】 前記トランザクションコーディネータに
    前記代替の提案の時間契約の承認を伝送するステップを
    さらに含むことを特徴とする請求項4に記載の方法。
  6. 【請求項6】 前記提案の時間契約は、単一のトランザ
    クションに対応することを特徴とする請求項1に記載の
    方法。
  7. 【請求項7】 前記第2のノードは、前記トランザクシ
    ョンコーディネータを含むことを特徴とする請求項1に
    記載の方法。
  8. 【請求項8】 少なくとも第2のノードは、該第2のノ
    ードおよび第33のノードを含むことを特徴とする請求
    項1に記載の方法。
  9. 【請求項9】 分散コンピューティングシステムにおけ
    るデータ伝送方法であって、 (a)受信側ノードとの時間契約を交渉するステップと、 (b)前記受信側ノードからの最終コンタクト以来の経過
    時間を確認するステップと、 (c)前記経過時間を前記時間契約の中の期間と比較する
    ステップと、 (d)前記経過時間が前記時間契約の中の前記期間を超過
    していない場合、前記受信側ノードにデータを伝送する
    ステップとを備えたことを特徴とする方法。
  10. 【請求項10】 前記期間を不揮発性メモリの中に記憶
    するステップをさらに含むことを特徴とする請求項9に
    記載の方法。
  11. 【請求項11】 分散コンピューティングシステムにお
    けるノード間のトランザクション調整方法であって、 (a)前記分散コンピューティングシステムの少なくとも
    第1のノードと第2のノードとの間における交渉された
    時間契約値をメモリの中に記憶するステップと、 (b)前記第1のノードから前記第2のノードのステータ
    スの要求を受信するステップと、 (c)前記第2のノードからの最後の通信以来の経過時間
    を所定の期間と比較するステップと、 (d)内容がステップ(c)で行われた前記比較に関係するス
    テータスメッセージを前記第1のノードに伝送するステ
    ップとを備えたことを特徴とする方法。
  12. 【請求項12】 提案の時間契約を前記第1のノードに
    伝送するステップをさらに含むことを特徴とする請求項
    11に記載の方法。
  13. 【請求項13】 前記所定の期間は、前記時間契約値に
    等しいことを特徴とする請求項11に記載の方法。
  14. 【請求項14】 前記所定の期間が、前記時間契約値に
    待ち時間値を足したものに等しいことを特徴とする請求
    項11に記載の方法。
  15. 【請求項15】 (a)第1のノードからトランザクショ
    ンコーディネータに少なくとも第2のノードとの少なく
    とも1つのトランザクションに対する提案の時間契約を
    伝送するステップと、 (b)前記トランザクションコーディネータから前記第2
    のノードのステータス情報を受信するステップと、 (c)前記ステータス情報が、前記第2のノードから前記
    トランザクションコーディネータへの最後の通信が所定
    の期間内に行われたことを示す場合、前記第1のノード
    から前記第2のノードにデータを伝送するステップとを
    第1のノードに行わせるためのコンピュータ実行可能命
    令を含むことを特徴とするコンピュータ読み取り可能な
    記録媒体。
  16. 【請求項16】 (a)受信側ノードとの時間契約を交渉
    するステップと、 (b)前記受信側ノードからの最終コンタクト以来の経過
    時間を確認するステップと、 (c)前記経過時間を前記時間契約の中の期間と比較する
    ステップと、 (d)前記経過時間が前記時間契約の中の前記期間を超過
    していない場合、前記受信側ノードにデータを伝送する
    ステップとをコンピュータ装置に行わせるためのコンピ
    ュータ実行可能命令を含むことを特徴とするコンピュー
    タ読み取り可能な記録媒体。
  17. 【請求項17】 (a)分散コンピューティングシステム
    の少なくとも第1のノードと第2のノードとの間におけ
    る交渉された時間契約値をメモリの中に記憶するステッ
    プと、 (b)前記第1のノードから前記第2のノードのステータ
    スの要求を受信するステップと、 (c)前記第2のノードからの最後の通信以来の経過時間
    を所定の期間と比較するステップと、 (d)内容がステップ(c)で行われた前記比較に関係するス
    テータスメッセージを前記第1のノードに伝送するステ
    ップとをコンピュータ装置に行わせるためのコンピュー
    タ実行可能命令を含むことを特徴とするコンピュータ読
    み取り可能な記録媒体。
JP2002302250A 2001-10-16 2002-10-16 データ伝送方法 Expired - Fee Related JP4057881B2 (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US32979601P 2001-10-16 2001-10-16
US60/329,796 2001-10-16
US34637001P 2001-10-19 2001-10-19
US60/346,370 2001-10-19
US10/007,060 US6976074B2 (en) 2001-10-16 2001-11-06 Systems and methods for negotiating transactions between nodes
US10/007,060 2001-11-06

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007141158A Division JP4745287B2 (ja) 2001-10-16 2007-05-28 データ伝送方法及びトランザクション調整方法並びに記録媒体

Publications (3)

Publication Number Publication Date
JP2003186834A true JP2003186834A (ja) 2003-07-04
JP2003186834A5 JP2003186834A5 (ja) 2005-12-02
JP4057881B2 JP4057881B2 (ja) 2008-03-05

Family

ID=27358256

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2002302250A Expired - Fee Related JP4057881B2 (ja) 2001-10-16 2002-10-16 データ伝送方法
JP2007141158A Expired - Fee Related JP4745287B2 (ja) 2001-10-16 2007-05-28 データ伝送方法及びトランザクション調整方法並びに記録媒体

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2007141158A Expired - Fee Related JP4745287B2 (ja) 2001-10-16 2007-05-28 データ伝送方法及びトランザクション調整方法並びに記録媒体

Country Status (5)

Country Link
EP (1) EP1333645B1 (ja)
JP (2) JP4057881B2 (ja)
AT (1) ATE507655T1 (ja)
DE (1) DE60239852D1 (ja)
HK (1) HK1057296A1 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02114348A (ja) * 1988-10-24 1990-04-26 Nec Corp 無通信時間監視方式
US6111886A (en) * 1997-03-07 2000-08-29 Advanced Micro Devices, Inc. Apparatus for and method of communicating among devices interconnected on a bus
US6178449B1 (en) * 1997-11-26 2001-01-23 International Business Machines Corporation Apparatus and method for measuring transaction time in a computer system
JPH11338802A (ja) * 1998-05-27 1999-12-10 Nec Corp コネクション自動切断機能付きロードバランス装置

Also Published As

Publication number Publication date
JP4057881B2 (ja) 2008-03-05
JP4745287B2 (ja) 2011-08-10
JP2007213622A (ja) 2007-08-23
EP1333645A3 (en) 2005-07-20
DE60239852D1 (de) 2011-06-09
HK1057296A1 (en) 2004-03-19
EP1333645A2 (en) 2003-08-06
ATE507655T1 (de) 2011-05-15
EP1333645B1 (en) 2011-04-27

Similar Documents

Publication Publication Date Title
US6963996B2 (en) Session error recovery
US7149802B2 (en) Systems and methods for negotiating transactions between nodes
US7146427B2 (en) Polling-based mechanism for improved RPC timeout handling
US9009326B2 (en) System and method for managing connections between a client and a server
CN104094554B (zh) 无服务器名称指示(sni)的隐式ssl证书管理
TW201240413A (en) Lightweight input/output protocol
JP3777302B2 (ja) 通信振り分け制御装置、および通信振り分けプログラムを記憶した記憶媒体
US7185114B1 (en) Virtual memory systems and methods
US7743160B2 (en) System and method of delaying connection acceptance to support connection request processing at layer-7
EP1387282A1 (en) Computer interface driver program
CN107241344A (zh) 拦截客户端对恶意网络服务器的访问的方法、设备和系统
US8015110B2 (en) System and method of aggregating multiple transactions over network-based electronic payment transaction processing system
WO2022007406A1 (zh) 一种基于k8s的服务部署方法、装置、设备、介质
KR100745432B1 (ko) 구성요소들을 자율적으로 관리하기 위한 컴퓨터 기반 방법, 컴퓨터 판독 가능 기록 매체 및 데이터 처리 시스템
JP2004280815A (ja) 外部ポート配分に基づくサーバ負荷分散のための方法および装置
JPH07117929B2 (ja) 無接続セッション指向プロトコルの第1メッセージの生成システム及び方法
US20030208554A1 (en) Wireless network access point with computing capability and method of operation thereof
US7562109B2 (en) Connectivity confirmation method for network storage device and host computer
JP4246405B2 (ja) 秘密機構を使用して各ハードウェア・レジスタに一括アクセスするハードウェア装置上で付加価値特性を使用可能にする方法
JP2003186834A (ja) データ伝送方法及びトランザクション調整方法並びに記録媒体
KR100987768B1 (ko) 대용량 쿠키 처리 방법 및 장치
US20030212753A1 (en) Method and system of data synchronization using HTTP
JP7424479B2 (ja) 電源管理装置、電源管理システム、電源管理方法、および、電源管理プログラム
CN103916411B (zh) 超文本传输协议请求超时的处理方法及装置
JP2008033787A (ja) セッションタイムアウト時間決定装置、コンピュータプログラム、およびアプリケーション提供システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051012

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051012

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20051012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070528

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070920

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20070921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070921

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071030

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: 20071116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071214

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101221

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101221

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111221

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111221

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121221

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121221

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131221

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees