(57)【要約】本発明は、ピア・ツー・ピアネットワークにおける変更の所有権移転を実行するための方法、装置及びプロトコルに関する。本装置、すなわち、ピアは、自動車、ガレージ、ビデオカセットレコーダ（ＶＣＲ）、携帯情報端末（ＰＤＡ）、携帯電話、空調システム、テレビ、ランプ、コーヒーマシーン、ラジオ、ＤＶＤプレーヤー、ＣＤプレーヤー、情報パネル、ウェブタブレット、スマートリモート、留守番電話、パーソナルコンピュータであることが可能である。本方法は、第１装置により、前記変更を委任する責任を受付ける第２装置を検出しようとするステップと、前記第１装置により、前記変更を前記第２装置に委任する責任を移転し、前記変更を前記第２装置に通知し、さらに、前記第２装置に維持されているグローバル委任状態変数を前記第２装置に移転するステップと、前記第１装置により、ローカル委任状態変数をあたかもグローバル委任が行われたかのように前記装置が動作することを表す「仮の」に設定し、前記第１装置が前記ネットワークに再び入り、前記グローバル委任状態変数の状態をチェックすると、前記グローバル委任状態変数が「ｖｏｉｄ」に設定されるという確認を取得するまで、真の委任を表す「ｖｏｉｄ」に前記ローカル委任状態変数を設定することにより前記第１装置が待機するステップと、前記第１装置により、前記ローカル委任状態変数を真の委任を表す「ｖｏｉｄ」に設定するステップと、前記第２装置により、前記変更を委任する責任が前記第２装置に受信及び受付けられると、前記変更に関係する１以上の装置に前記変更を通知するステップとを有する。
2006520048.tif 000002
【特許請求の範囲】
【請求項１】
ピア・ツー・ピアネットワークにおける変更の所有権移転を実行する方法であって、
第１装置により、前記変更を委任する責任を受付ける第２装置を検出しようとするステップと、
前記第１装置により、前記変更を前記第２装置に委任する責任を移転し、前記変更を前記第２装置に通知し、さらに、前記第２装置に維持されているグローバル委任状態変数を前記第２装置に移転するステップと、
前記第１装置により、ローカル委任状態変数をあたかもグローバル委任が行われたかのように前記装置が動作することを表す「仮の」に設定し、前記第１装置が前記ネットワークに再び入り、前記グローバル委任状態変数の状態をチェックすると、前記グローバル委任状態変数が「ｖｏｉｄ」に設定されるという確認を取得するまで、真の委任を表す「ｖｏｉｄ」に前記ローカル委任状態変数を設定することにより前記第１装置が待機するステップと、
前記第１装置により、前記ローカル委任状態変数を真の委任を表す「ｖｏｉｄ」に設定するステップと、
前記第２装置により、前記変更を委任する責任が前記第２装置に受信及び受付けられると、前記変更に関係する１以上の装置に前記変更を通知するステップと、
を有することを特徴とする方法。
【請求項２】
請求項１記載の方法であって、さらに、
前記第１装置により、前記第１装置が前記ネットワークに再び入り、前記第２装置から委任成功を示すメッセージを受信すると、仮の委任の前記ローカル委任状態変数を真の委任に変換するステップと、
前記第１装置が前記ネットワークに再び入ったとき、前記第２装置により前記変更の委任が不成功となった場合、委任不成功を示す前記第１装置に関するメッセージを前記第２装置から受信するステップと、
を有することを特徴とする方法。
【請求項３】
請求項２記載の方法であって、さらに、
前記第１装置により、前記ローカル委任状態変数が仮の委任であり、前記受信するステップの状況が生じると、前記変更をロールバックするステップを有することを特徴とする方法。
【請求項４】
請求項１乃至３何れか一項記載の方法であって、
前記変更は、データベースに対する変更、ファイルに対する変更及び情報アイテムに対する変更の少なくとも１つであることを特徴とする方法。
【請求項５】
請求項１乃至４何れか一項記載の方法であって、
前記装置の何れかは、自動車、ガレージ、ビデオカセットレコーダ（ＶＣＲ）、携帯情報端末（ＰＤＡ）、携帯電話、空調システム、テレビ、ランプ、コーヒーマシーン、ラジオ、ＤＶＤプレーヤー、ＣＤプレーヤー、情報パネル、ウェブタブレット、スマートリモート、留守番電話、パーソナルコンピュータ、あるいは他の何れかの電気機器の１つであることを特徴とする方法。
【請求項６】
変更の所有権移転のためのプロトコルであって、
当該プロトコルは、真の委任と仮の委任の状態の少なくとも１つを有する委任状態変数を有することを特徴とするプロトコル。
【請求項７】
変更の所有権移転を実行する装置であって、
前記変更を委任する責任を受付ける第２装置を検出しようとする手段と、
前記変更を前記第２装置に委任する責任を移転する手段と、
前記第２装置にグローバル委任状態変数を移転する手段と、
前記装置が前記ネットワークに再び入り、前記グローバル委任状態変数の状態をチェックすると、前記グローバル委任状態変数が「ｖｏｉｄ」に設定されるという確認を取得するまで、真の委任を表す「ｖｏｉｄ」に前記ローカル委任状態変数を設定することにより前記第１装置が待機するとき、ローカル委任状態変数をあたかもグローバル委任が行われたかのように前記装置が動作することを表す「仮の」に設定する手段、または
前記ローカル委任状態変数を真の委任を表す「ｖｏｉｄ」に設定する手段と、
１以上の装置に前記変更を通知する手段と、
を有することを特徴とする装置。
【請求項８】
請求項７記載の装置であって、さらに、
仮の委任の前記ローカル委任状態変数を真の委任に変換する手段と、
委任不成功を示すメッセージを受信する手段と、
を有することを特徴とする装置。
【請求項９】
請求項８記載の装置であって、さらに、
前記変更をロールバックする手段を有することを特徴とする装置。
【請求項１０】
請求項１乃至５何れか一項記載の方法を実行することを特徴とするコンピュータシステム。
【請求項１１】
コンピュータ上で実行されると、請求項１乃至５何れか一項記載の方法を実行するコンピュータ可読媒体上に格納されているプログラムコード手段を有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ピア・ツー・ピアネットワークにおける変更の所有権移転を実行する方法に関する。
【０００２】
この変更は、当該ピア・ツー・ピアネットワークの各種装置間で移転される。
【０００３】
本発明はまた、当該方法を実行するコンピュータシステムに関する。
【０００４】
本発明はさらに、当該方法を実行するコンピュータプログラムプロダクツに関する。
【０００５】
さらに、本発明は、変更の所有権移転のためのプロトコルに関する。
【０００６】
本発明はさらに、ピア・ツー・ピアネットワークに属するピアに対応する装置に関する。
【０００７】
本発明はさらに、当該方法を実行するためのコンピュータ可読媒体上に格納されているコード手段を有するコンピュータプログラムプロダクツに関する。
【背景技術】
【０００８】
ＷＯ０２／３９３０５は、委任制御（ｄｅｌｅｇａｔｅｄ  ｃｏｎｔｒｏｌ）を介した情報管理を開示している。情報管理システムは、データセットを介し委任制御を利用する。この情報管理システムは、情報を格納するためやりとりする多数のコンピュータと多数のソフトウェアアプリケーションを有する。この委任制御は、ある委任システム（いわゆる「デリゲータ（ｄｅｌｅｇａｔｏｒ）」）からある委任システムへのデータセットの一時的または部分的移転である。
【０００９】
分散データベースにおけるトランザクションの委任または制御の委任は、困難のものであると知られている。従来技術では、基本的なトランザクションモデルには３つの選択肢がある。
【００１０】
第１に、発生パーツは中央トランザクションサーバに更新を送信し、このサーバは関連するすべてのパーツを更新し、変更を委任するためのものである。
【００１１】
第２に、発生パーツは関連するデータベースのすべてのパーツに更新を通知し、すべての関連するパーツから更新を受け取ったというメッセージを取得するとすぐに、この変更を委任する。
【００１２】
第３に、この委任は明示的には実行されない。例えば、変更を通知し、委任を仮定する「ゴシッププロトコル（ｇｏｓｓｉｐ  ｐｒｏｔｏｃｏｌ）」と呼ばれるプロトコルがある（以下の参考文献を参照されたい）。
【００１３】
Ｄａｖｉｄ  Ｋｅｍｐｅ、Ｊｏｎ  Ｍ．Ｋｌｅｉｎｂｅｒｇ及びＡｌａｎ  Ｊ．Ｄｅｍｅｒｓによる「Ｓｐａｔｉａｌ  ｇｏｓｓｉｐ  ａｎｄ  ｒｅｓｏｕｒｃｅ  ｌｏｃａｔｉｏｎ  ｐｒｏｔｏｃｏｌｓ」（ＡＣＭ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｔｈｅｏｒｙ  ｏｆ  Ｃｏｍｐｕｔｉｎｇ，１６３−１７２頁，２００１）
Ａｌａｎ  Ｄｅｍｅｒｓ、Ｄａｎ  Ｇｒｅｅｎｅ、Ｃａｒｌ  Ｈｏｕｓｅｒ、Ｗｅｓ  Ｉｒｉｓｈ及びＪｏｈｎ  Ｌａｒｓｏｎによる「Ｅｐｉｄｅｍｉｃ  ａｌｇｏｒｉｔｈｍｓ  ｆｏｒ  ｒｅｐｌｉｃａｔｅｄ  ｄａｔａｂａｓｅ  ｍａｉｎｔｅｎａｎｃｅ」（ＳＩＧＯＰ，２２（１）：８−３２，１９８７）
サーバを利用する第１の選択肢は、すべての分散データベースがＰ２Ｐ（ピア・ツー・ピア）システムなどにおいて、すべてのトランザクションを制御する中央サーバを有するとは限らないことから問題である。この場合、第１の選択肢は問題外である。
【００１４】
さらに、一部の分散データベースは、関連するすべてのパーツ及び／または中央トランザクションサーバと常時コンタクトしてはいない、すなわち、アドホック接続しているパーツを有し、この場合、第２の選択肢も問題外である。この結果、発生パーツは変更を委任することができないかもしれない。
【００１５】
多くの場合、明示的に委任しないことが選択肢ではない。なぜなら、それは委任に関する確実性がないということを意味するためである。この場合、第３の選択肢もまた問題外となる。
【００１６】
このため、ピア・ツー・ピア通信では適切な信頼性があり、ロウバストなトランザクションモデルがないという問題がある。すなわち、データベースやファイルなどが変更が行われることを所望しない他のピアにある場合、データベースやファイルなどへの変更のトランザクションは場合によっては実行されないという問題がある。このため、ファイルやデータベースなどは更新されないままとなり、さらに悪いことには、この変更の要求元はそれを認識していない。
【００１７】
従来技術から、ピア・ツー・ピアは、各主体（すなわち、各ピア）が同様の能力を有し、通信セッションを開始することができる通信モデルであるということが知られている。ピア・ツー・ピア通信モデルが対比される他のモデルには、いずれも当該技術分野において知られているクライアント・サーバモデルとマスタ・スレーブモデルが含まれる。一部のケースでは、ピア・ツー・ピア通信は、各通信ノードにサーバ機能とクライアント機能の両方を与えることによって実現される。最近の利用では、ピア・ツー・ピアはユーザがインターネットを用いてファイルを交換したり、直接的または仲介サーバを介し互いにデータベースを更新することができるアプリケーションを説明するようになってきた。
【００１８】
インターネット上では、ピア・ツー・ピア（Ｐ２Ｐと呼ぶ）は、同一のネットワーキングプログラムを有するコンピュータユーザ（ピア）のグループが互いに接続し、他方のハードディスクからのファイルに直接アクセスすることを可能にするトランジェント（ｔｒａｎｓｉｅｎｔ）インターネットネットワークの一種である。ＮａｐｓｔｅｒやＧｎｕｔｅｌｌａは、このタイプのピア・ツー・ピアソフトウェアの具体例である。企業は中央サーバの維持に伴う費用なしに従業員が共通のデータベースや情報などを更新及びアクセスしたり、ファイルを共有したりする方法として、そして企業が互いに直接的に情報を交換する方法として、Ｐ２Ｐの利用に関する効果を見極めているところである。
【００１９】
インターネットＰ２Ｐが適用されると、当該技術分野では、ユーザはまずピア・ツー・ピアネットワーキングプログラムをダウンロード及び実行する必要があるということが知られている。例えば、Ｇｎｕｔｅｌｌａ−ｎｅｔは、ユーザによるあらゆるタイプのファイルの交換を可能にするため、分散Ｐ２Ｐプログラムの中で現在最も人気のあるものの１つである。プログラムを起動した後、ユーザはネットワークに属する他のコンピュータのＩＰアドレスを入力する。典型的には、ユーザがダウンロードを取得したウェブページは、開始位置として複数のＩＰアドレスをリストしているであろう。コンピュータがオンラインで他のネットワークのメンバーを見つけると、それは、他のユーザの接続から自らのＩＰアドレスを取得したユーザの接続に接続するであろう。
【００２０】
さらに、ピアのユーザは一度に探索するメンバー接続の個数を選択し、どのファイル、データベースや情報アイテムなどを共有、更新またはパスワード保護したいか決定することが可能であるということは、当該技術分野では知られているが、依然として問題は未解決のままである。
【発明の開示】
【発明が解決しようとする課題】
【００２１】
しかしながら、この問題は本発明による方法が図４に示されるようなステップを有するとき、本方法により解決される。
【００２２】
従って、本発明の効果は、責任の委任が変更を委任することを可能にする方法及びプロトコルがそれぞれ提案されるということである。
【００２３】
本発明はさらに、変更の発信元（第１装置と記載）がもはや接続されていなくても、変更の委任を実効化することが可能であるという効果を有する。
【００２４】
大部分の場合、分散データベースの完全性は維持及び保証可能である。さらに、中央サーバを設けないことによりピア・ツー・ピアネットワークを脆弱なものとせず、さらに多数のピアが通信することを可能にする。すなわち、ネットワークをスケーリングアップ及びダウンすることが可能となるというさらなる効果を有する。
【００２５】
本システム、プロトコル及び装置はそれぞれ同一の効果を提供し、本方法に関して上述されたものと同様の理由のため同様の問題を解決する。
【００２６】
本発明は、図面を参照しながら好適な実施例に関してより十分に以下において説明されるであろう。
【発明を実施するための最良の形態】
【００２７】
本発明の説明を通じて、トランザクションは以下のように理解される。
【００２８】
すなわち、コンピュータプログラミングでは通常、要求を満足させるため、そしてデータベースまたはファイルの完全性を保証するためのユニットとして扱われる情報交換及び関連作業のシーケンスを意味する。トランザクションを完結させるため、そしてデータベースまたはファイルの変更を恒久化するため、トランザクションは全体的に完結される必要がある。典型的な商用のトランザクションは、顧客によって電話にされ、顧客担当者によってコンピュータに入力されたカタログ商品の注文であるかもしれない。注文トランザクションは、在庫データベースのチェック、当該アイテムが利用可能であることの確認、当該注文の発注、当該注文の発注が完了したことと配送予定時間の確認に関するものである。これが単一のトランザクションとみなされる場合、トランザクションが成功し、データベースが新しい注文を反映させるために実際に変更されるまで、すべてのステップが完結しなければならない。トランザクションが成功して完結する前に何かが起こると、データベースへの変更を追跡する必要があり、このため、ロールバックなど実行がやり直される。
【００２９】
図１は、システムと定期的に接続するピアに対する更新の責任を移転するシステムと接続するピアのための様々な方法を示す。
【００３０】
図において、参照番号（ａ）は、システムと定期的に接続するピアに対する更新（黒い点）の責任（四角）を移転するシステムと一時的に接続するピアを示す。
【００３１】
参照番号（ｂ）は、第２のピアと発信元が仮の委任（白い点）を受付ける方法を示す。
【００３２】
参照番号（ｃ）は、受け手が変更を他の関連するピアに伝播することを示す。
【００３３】
参照番号（ｄ）は、他のピアが変更を承認し、当該変更が委任される（灰色の点）方法を示す。
【００３４】
参照番号（ｅ）は、発信元がシステムと再度接続する場合、変更の状態をチェックすることを示す。
【００３５】
参照番号（ｆ）は、受け手がシステムにおいて委任を承認することを示す。
【００３６】
図２は、委任状態変数に関する状態変更による責任移転を示す。
【００３７】
この図は、図１からの３つの派生を示す。すなわち、
１）もとの受け手は、責任を他のピアに伝播する（理由は３とすることが可能である）。
２）発信元は、仮のものの代わりに真の委任を想定する。
３）ピアの範囲はより制限される。
【００３８】
参照番号（ａ）は、システムと常時接続するピアに更新（黒い点）の責任（四角）を移転するシステムと一時的に接続するピアを示している。参照番号（ｂ）は、第２のピアが受付け、発信元が真の委任（灰色の点）を行うことが可能であると想定することを示している。参照番号（ｃ）は、受け手が変更（黒い点）を通知し、それが接続する他の関連するピアへの責任を示している。参照番号（ｄ）は、受け手のピアが責任を受付け、もとの受け手が真の委任を行うことを示している。参照番号（ｅ）は、委任された受け手が更新をさらなるピアに通知することを示している。参照番号（ｆ）は、最終的な更新を受信するピアがそれらのシステムにおいて委任を認め、委任された受け手が同様に実行することを示している。後者はまた更新タスクを解消する。
【００３９】
状態遷移に関して、３つのタイプの委任が説明され、これらは真の委任状態、仮の委任状態または想定された委任状態の各種状態を有する委任状態変数に反映される。しかしながら、想定された委任は独立した状態ではなく、すなわち、それは真の委任と同じ状態であるが、異なる遷移を介し到達する。
【００４０】
想定された委任状態は、確認のない真の委任である。初期状態は非委任である。最終状態は委任である。これは、真の委任状態と同様である。相違点は、真の委任が確認の仲介を得ることである。想定された委任状態は、不整合を導く可能性があるため、すなわち、更新が他のピアによって委任されていない場合、更新が発生することが想定されていたとしても危険なものとなりうるということに留意されたい。このため、仮の委任の状態が適用可能である。想定された委任状態と仮の委任状態との相違点は、後者の場合には委任（仮の状態）が確認されなかったことを示すフラグ（または類似の表示）が存在するということである。この確認が以降に到達すると、当該フラグを削除することができる。すなわち、委任状態は（真の）委任、すなわち、真の委任状態に変更される。従って、仮の委任状態は、確認が遅延していると予想される「真の」委任としてみなすことができる。
【００４１】
従って、委任に関して、委任状態変数には４つの状態が存在する。委任を単に見ることによっては、０と３との間には相違はない。すなわち、データベースは更新された状態に３によるものであるが、どの更新も保留されていない。すなわち、
（０）更新保留なし＝委任に関する状態なし
（１）非委任＝更新保留
（２）仮の委任＝更新はデータベースに委任されているが、確認されていない。
（３）真の委任＝更新は確認（他の委任）または想定及び委任されている。
【００４２】
状態（０）において、更新要求が受信され、それを状態（１）にわたす。当該ピアは確認を得るまで待機し（真の委任＝状態（３））、確認を想定し（想定された委任＝状態（３））、あるいはそれが確認を有しているととりあえず見せかけることができる。なぜなら、それは以降においてそれを得ると予想しているためである（仮の委任＝状態（２））。
【００４３】
状態（２）は、（最終的に）確認が到達すると状態（３）となる。状態（３）は状態（０）、すなわち、更新が保留されていないことに対応する更新された状態に等しい。
【００４４】
図３は、装置のネットワークを示す。この装置のネットワークは、参照番号３０により示されている。次に図面でより詳細に説明されるように、参照番号３１の第１の装置は、変更を委任する責任を受付ける他の装置、すなわち、参照番号３１の第２の装置を検出しようとする。この結果、第２の装置はこの変更を、当該変更に関連すると想定される参照番号３３と３４の少なくとも１以上の装置にこの変更を通知する。ネットワークには、参照番号３５、３６及び３７のさらなる装置が存在してもよい。ネットワークは例示的に示されているが、他の任意の動的または静的トポロジーやピアまたは装置の構成が、本発明において適用されてもよい。
【００４５】
これらの装置は、車、ガレージ、ビデオカセットレコーダ（ＶＣＲ）、携帯情報端末（ＰＤＡ）、携帯電話、空調システム、テレビ、ランプ、コーヒーマシーン、ラジオ、ＤＶＤプレーヤー、ＣＤプレーヤー、情報パネル、ウェブタブレット、スマートリモート、留守番電話、あるいはパーソナルコンピュータであってもよい。例えば原則的に、ネットワークへのアクセスを有するランプは、ＰＤＡ、ウェブタブレット、スマートリモート、留守番電話、及び／またはパーソナルコンピュータとスケジュール変更などの変更を通信するようにしてもよい。これにより、ユーザはスケジュール変更をおそらく受信することが確実となる。
【００４６】
上述のような代わりの装置は、同一または類似のネットワーキングプログラムまたはプロトコルを有するコンピュータユーザのグループ（各自の対応するピアまたは装置へのアクセスを有する）が互いに接続し、他のハードドライブやメモリなどに対してファイルやデータベースなどに直接的にアクセス及び／または更新することを可能にする、インターネット上に検出されたタイプに類似したピア・ツー・ピアタイプのトランジェントネットワークの対応するピアとして理解されてもよい。ピア・ツー・ピアネットワークは、単なるピアのネットワークであり、インターネット、Ｇｎｕｔｅｌｌａソフトウェア、コンピュータなどはすべて具体的な実現形態の特徴の例である。
【００４７】
この状態変更は、変更の所有者移転に用いられるプロトコルに適用可能である。すなわち、このプロトコルは、真の委任及び仮の委任などの各種状態を有する委任変数を有する。更新要求の発信元が委任責任を移転しようとする場合、それはまた当該責任が他のものにより受付けられた後の状態を通信することが可能である。発信元は、非委任、委任または仮の委任とすることができる。第１のケース、すなわち、発信元が非委任であるケースは、受け手が発信元からの委任を待機する必要があるため、本発明によると回避される。第２のケース、すなわち、発信元が委任であるケースは、受け手から発信元へのさらなるアクションは必要でない。第３のケース、すなわち、発信元が仮の委任であるケースは、受け手は発信元が以降において確認を所望または必要としていることを留めておく必要があるということを意味する。
【００４８】
何れかの委任タイプが状態変更である、すなわち、想定された委任が状態でなく、状態遷移であることに留意されたい。
【００４９】
プロトコルは、中央サーバのない類似のネットワークまたはピア・ツー・ピアネットワークなどの各種装置（ピアに類似した）間の変更の所有権移転に適用されてもよく、実際、それは中央サーバを有するシステムに適用可能であるが、それはあまり意味がない。
【００５０】
この変更は、データベース及び／またはファイルへの変更であってもよい。さらに、または代わって、当該変更は変数、１以上のパラメータ、１以上の状態フラグ、文字列変数などの任意の情報アイテムへの変更であってもよい。
【００５１】
言い換えると、当該変更は、テキスト、数値情報、画像、映像、音声及びこれらの組み合わせが以降にファイル及び／またはデータベースにおいて更新されるという効果を有するかもしれない。
【００５２】
ファイル及び／またはデータベースは、ピア・ツー・ピアネットワークまたは類似のネットワークを介し通信する任意の装置に個別格納または分散化されてもよい。
【００５３】
以下において、本発明の様々な実際の応用が示され、更新は変更と類似している。
【００５４】
例１）旅行委任
Ｊｏｈａｎは家の保管室にある図面を忘れた。彼はそれら取りに行く時間がなく、Ｈｅｎｄｒｉｋにそれらを取って来てもらうよう頼んだ。彼は、Ｈｅｎｄｒｉｋがガレージに入り、書斎に行き、保管室を開けるのを可能にするため、自分のＰＤＡ上で家のセキュリティ設定を変更する。しかしながら、セキュリティ上、彼はこれらの設定をオンラインで変更することができない。彼は、設定の更新の責任を彼の自動車に移転し、Ｈｅｎｄｒｉｋに自動車の鍵を与える。Ｈｅｎｄｒｉｋは、Ｊｏｈａｎの自動車を使用してＪｏｈａｎの家まで運転する。ＨｅｎｄｒｉｋがＪｏｈａｎの家に到着すると、ネットワークにおける他の装置であるその自動車は、セキュリティ設定の更新をガレージに移転する。ガレージは家にある残りの装置に変更を通知し、Ｈｅｎｄｒｉｋは所望のものを手に入れることができる。Ｈｅｎｄｒｉｋが家から離れると、セキュリティ設定、すなわち、新たな設定がＨｅｎｄｒｉｋを再び排除するよう戻される。ネットワークの他の装置であるガレージは、この更新、すなわち、変更を自動車に通知する。オフィスのＪｏｈａｎに戻されると、自動車はＪｏｈａｎのＰＤＡの設定を更新し、Ｊｏｈａｎはすべてが再び通常に戻っていることを確認することができる。Ｈｅｎｄｒｉｋは彼に図面を手渡す。
【００５５】
例２）多くのピアまたは装置に関するコードまたはパラメータを更新する発火及び放置アプローチ
Ｐｉｅｔｅｒは、Ｆｉｅｎを夕食に招待する。予想に反して彼女はイエスと言う。彼はネットワークにおける他の装置である彼の携帯電話を使用して、Ｆｉｅｎとの夕食のため家の周りを準備する。彼は必要な変更のすべてを行う時間がないが、彼の留守番電話（他の装置として）は、この情報を他の関連するすべての装置に伝播する責任を受付ける。彼のＰＶＲ（他の沿うとして）がこの情報を受け取ると、それはＰｉｅｔｅｒが観ようとしていたライブのクリケットの試合を記録する準備をする。空調システム（他の装置として）は、１８度から１９．５度に温度を引き上げる準備をする。台所は、２人の夕食のためのストックを分類ごとにチェックする。それは、ケージャン料理を注文することに決める。メッセージサービスは、ＰＤＡなどの対応する装置上で２４時間歯医者の予約を変更する。Ｐｉｅｔｅｒが家に戻ると、彼はＦｉｅｎとの夕食による変更を除きすべてが上手くいったことを即座に知らされ、Ｆｉｅｎの到着を待ちながらリラックスすることができる。１つ具合が悪いことに、歯医者の予約の変更が上手くいかず、自分で新たな予約をしなければならない。ケージャン料理が、Ｆｉｅｎが到着する１５分前に到着し、Ｐｉｅｔｅｒはそれを自分の食器に盛り付ける時間がある。
【００５６】
他の例
・持続的ピアのグループは、複数のアドホック接続された装置に中央サーバをエミュレートする。家では、Ｗｕｂｂｏは彼のアジェンダを共に扱う複数の持続的ピアを有する。何れかの装置がアジェンダのアイテムを持続的ピア（すなわち、装置）に常にオフロードすることができ、変更が委任されることに頼る。
・保留中のシャットダウン前の更新の高速アップロード。Ｃａｒｏｌのスマートカード（他の装置として）は、電力のロスによる差し迫ったシャットダウン前に保留中のすべての変更を委任することができない。それは、壁の応答機（他の装置として）の１つに責任を移転する。
・あるタスクは、各々がサブタスクを実行する装置系列を必要とするかもしれない。当該タスクの責任は、タスクと共に移動する。
【００５７】
図４は、ピア・ツー・ピアネットワークの変更の所有権移転を実行する方法を示す。このピア・ツー・ピアネットワークは、上記図面からの装置のネットワークと同一である。すなわち、変更の所有権移転はネットワークの装置間で実行可能である。
【００５８】
以下のステップの前に、ある装置において変更が発生したと仮定する。これは、次の図である本発明による方法の説明を全体的に参照する図５に見ることができる。図５（ａ）では、記載されるような第１装置または発信元（図３の参照番号３１に対応する）が他の装置、すなわち、参照番号３２の第２装置を検出しようとする。この段階では、他の装置には通知されていないため、第１装置のみが変更に関して知っている。当該発信元によって維持される２つの委任状態変数がインスタンス化される。第１委任状態変数は、ローカルデータベースの状態（この段階では、「保留中」の値）を表すローカルスコープを有する。第２委任状態変数は、変更が関連するすべてのピアに委任されたか表す（この段階では、「保留中」の値）グローバルスコープを有する。
【００５９】
第２装置は、変更を委任する責任を受け付けるかもしれないため、受け手と前には呼ばれた。
【００６０】
ステップ１００（図１ａ、図２ａ、図５（ｂ））において、第１装置は当該変更を委任する責任を受付ける第２装置を検出しようとしてもよい。
【００６１】
この試みは成功しないとわかるかもしれない。すなわち、すべての委任状態（委任状態変数）が「保留中」のままであり、第１装置は再度試みる必要があるか（当該変更を委任する責任を受付ける他の装置を検出するため）、あるいはそれは成功したと判明し、次のステップに移行するかもしれない。
【００６２】
ステップ２００（図１ｂ、図２ｂ、図５（ｃ））において、第１装置は当該変更を委任する責任を第２装置に移転するようにしてもよい。このことは、変更を受け手（第２装置）に通知することを意味する。さらに、これは、グローバル委任状態変数を維持する責任が第２装置に移転されることを意味する。このグローバル変数の位置は第２装置上にある。
【００６３】
ステップ３００において、発信元である第１装置は、それのローカル委任状態変数を装置があたかもグローバル委任を行ったかのように動作することを表す「仮の」（図１ｂ、図２ｂ、図５（ｄ２））ものに設定してもよい。しかし、それは例えば、第１装置がネットワークに再び入り、グローバル委任状態変数の状態をチェックするとき、グローバル状態変数が「ｖｏｉｄ」に設定される確認を得るまで、ローカル委任状態変数を「ｖｏｉｄ」に設定することにより待機する。
【００６４】
通常の手順は、まず、データベースのすべてのパーツが変更を受付け、それを委任するかどうかチェックするということである（すなわち、それを実際に実行する）。データベースが分散化されている場合、装置はこの変更を関連するすべてのパーツに通知する必要があり、それらが変更を受付けると宣言する必要がある。それらは、変更を委任する責任があるデータベースの一部に当該実効に対するメッセージを送信することにより後者を実行する（グローバル委任状態変数を維持する）。Ｐ２Ｐ設定では、これは通常は発信元（第１装置）であるが、本発明によると、それは受け手（第２装置）である。受け手が変更を適用すべきすべてのピアから、それらが当該変更を実際に適用するという確認を有する場合、受け手は当該変更がグローバルに委任されることを知り、これにより、グローバル委任変数はｖｏｉｄに設定することができる。
【００６５】
ローカル委任状態変数は、ローカルデータベースがこの変更を適用したか示す。
【００６６】
グローバル委任状態変数は、すべてのピアが変更を適用したか示す。
【００６７】
あるいはステップ３１０において、ローカル委任状態変数は、真の委任を表す「ｖｏｉｄ」に設定されてもよい（図２ｂ、図５（ｄ１））。
【００６８】
第１装置は、ネットワークに入る前に一定時間待機することが可能または必要であり、これにより、未接続の状況では、リソースはネットワークと通信する以外の他のタスクに開放される。すなわち、第１装置がパーソナルビデオレコーダであるとき、それは映画を記録するのにそれのリソースを使用することができる。
【００６９】
ステップ４００において、第２装置は当該変更に関係する１以上の装置にこの変更を通知するようにしてもよい（図１ｃ、図２ｃ、図５（ｅ，ｆ，ｇ，ｈ））。これは、変更を委任する責任が第２装置に受信及び受付けされる場合である。
【００７０】
本方法は、ここで成功して終了するかもしれない。すなわち、変更の所有権移転は成功して移転される。
【００７１】
しかしながら、本方法はさらに以下の２つのステップを有するようにしてもよいという可能性がある。
【００７２】
ステップ５００において、第１装置は、仮の委任のローカル委任状態変数を真の委任に変換するようにしてもよい。これは、第１装置がネットワークに再び入り、成功した委任を示すメッセージを第２装置から受信するときのケースである（図５（ｉ））。
【００７３】
再び、第１装置はネットワークに入る前に一定時間待機するようにしてもよい。第２装置が最終的に委任成功メッセージを与えるまでに時間を要するということが、前者の状況から未接続を費やすことを経験するかもしれない。
【００７４】
発信元装置（第１装置）はまた、所定時間の未接続の後に、仮の状態を「ｖｏｉｄ」に変換してもよい。
【００７５】
ステップ６００において、第１装置は第２装置から委任失敗を示すメッセージを受信するかもしれない。これは、グローバルに変更を委任することが、例えば、第２装置が関連するすべてのピアを達しなかったり、あるいは１以上のピアが変更を委任することは拒否したため（例えば、更新のロックまたはコンフリクトのため）、第２装置によって不成功となるケースである。当該メッセージは、第１装置が次にネットワークに入るときに受信するかもしれない。
【００７６】
本方法は、成功して終了するかもしれないが、本方法はさらに以下のステップを有する可能性がある。
【００７７】
変数の値とパラメータの名前は、本発明のコンセプトから逸脱することなく変更可能である。例えば、「グローバル委任状態」というパラメータの値は、委任が成功したことを示すため、「ｖｏｉｄ」の代わりに「ｃｏｍｍｉｔ」としてもよい。
【００７８】
ステップ７００において、第１装置は、変更をロールバックするかもしれない。これは例えば、ローカル委任状態（変数）が仮の委任であるケースであり、ステップ６００が発生する。他のピア（装置）は委任を行わないため、発信元（第１装置）の仮の委任はロールバックされる必要がある。ステップ６００が発生し、発信元が真の委任を以前に実行している場合、当該変更に対してローカル委任状態変数はもはや存在せず、データベースは不整合したものとなる。この状況を修復するため、発信元は再度同様の変更を開始するか（すなわち、再試行）、あるいは第１の変更に対応し、不整合を解消する新たな変更を開始する。
【００７９】
コンピュータ可読媒体は、磁気テープ、光ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、コンパクトディスク（記録可能ＣＤまたは書き換え可能ＣＤ）、ミニディスク、ハードディスク、フロッピー（登録商標）ディスク、スマートカード、ＰＣＭＣＩＡカードなどであってもよい。
【００８０】
請求項では、カッコ内の参照記号は何れも請求項を限定するものとして解釈されるべきでない。「有する」という用語は、請求項に列挙されたもの以外の要素またはステップの存在を排除するものではない。要素に先行する「ある」という用語は、そのような要素が複数存在することを排除するものでない。
【００８１】
本発明は、相異なる複数の要素を有するハードウェアによって、または適切にプログラムされたコンピュータによって実現することが可能である。複数の手段を列挙した装置クレームでは、これらの手段のいくつかは同一のハードウェアにより実現することができる。ある手段が互いに異なる従属クレームに記載されるという事実は、これらの手段の組み合わせが効果的に利用することができないということを示すものではない。
【図面の簡単な説明】
【００８２】
【図１】図１は、システムに常時接続するピアに更新責任を移転するシステムに接続したピアの様々な方法を示す。
【図２】図２は、委任状態変数に関する状態変更による責任移転を示す。
【図３】図３は、装置のネットワークを示す。
【図４】図４は、ピア・ツー・ピアネットワークにおける変更の所有権移転を実行する方法を示す。
【図５】図５は、トランザクション所有権移転中の委任状態変数の変更を示す。
【図１】
2006520048.tif 000003
【図２】
2006520048.tif 000004
【図３】
2006520048.tif 000005
【図４】
2006520048.tif 000006
【図５】
2006520048.tif 000007
【国際調査報告】
2006520048.tif 000008
2006520048.tif 000009
2006520048.tif 000010