説明

ピア・ツー・ピアシステムにおけるトランザクションの所有権移転のための方法及び装置

本発明は、ピア・ツー・ピアネットワークにおける変更の所有権移転を実行するための方法、装置及びプロトコルに関する。本装置、すなわち、ピアは、自動車、ガレージ、ビデオカセットレコーダ(VCR)、携帯情報端末(PDA)、携帯電話、空調システム、テレビ、ランプ、コーヒーマシーン、ラジオ、DVDプレーヤー、CDプレーヤー、情報パネル、ウェブタブレット、スマートリモート、留守番電話、パーソナルコンピュータであることが可能である。本方法は、第1装置により、前記変更を委任する責任を受付ける第2装置を検出しようとするステップと、前記第1装置により、前記変更を前記第2装置に委任する責任を移転し、前記変更を前記第2装置に通知し、さらに、前記第2装置に維持されているグローバル委任状態変数を前記第2装置に移転するステップと、前記第1装置により、ローカル委任状態変数をあたかもグローバル委任が行われたかのように前記装置が動作することを表す「仮の」に設定し、前記第1装置が前記ネットワークに再び入り、前記グローバル委任状態変数の状態をチェックすると、前記グローバル委任状態変数が「void」に設定されるという確認を取得するまで、真の委任を表す「void」に前記ローカル委任状態変数を設定することにより前記第1装置が待機するステップと、前記第1装置により、前記ローカル委任状態変数を真の委任を表す「void」に設定するステップと、前記第2装置により、前記変更を委任する責任が前記第2装置に受信及び受付けられると、前記変更に関係する1以上の装置に前記変更を通知するステップとを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ピア・ツー・ピアネットワークにおける変更の所有権移転を実行する方法に関する。
【0002】
この変更は、当該ピア・ツー・ピアネットワークの各種装置間で移転される。
【0003】
本発明はまた、当該方法を実行するコンピュータシステムに関する。
【0004】
本発明はさらに、当該方法を実行するコンピュータプログラムプロダクツに関する。
【0005】
さらに、本発明は、変更の所有権移転のためのプロトコルに関する。
【0006】
本発明はさらに、ピア・ツー・ピアネットワークに属するピアに対応する装置に関する。
【0007】
本発明はさらに、当該方法を実行するためのコンピュータ可読媒体上に格納されているコード手段を有するコンピュータプログラムプロダクツに関する。
【背景技術】
【0008】
WO02/39305は、委任制御(delegated control)を介した情報管理を開示している。情報管理システムは、データセットを介し委任制御を利用する。この情報管理システムは、情報を格納するためやりとりする多数のコンピュータと多数のソフトウェアアプリケーションを有する。この委任制御は、ある委任システム(いわゆる「デリゲータ(delegator)」)からある委任システムへのデータセットの一時的または部分的移転である。
【0009】
分散データベースにおけるトランザクションの委任または制御の委任は、困難のものであると知られている。従来技術では、基本的なトランザクションモデルには3つの選択肢がある。
【0010】
第1に、発生パーツは中央トランザクションサーバに更新を送信し、このサーバは関連するすべてのパーツを更新し、変更を委任するためのものである。
【0011】
第2に、発生パーツは関連するデータベースのすべてのパーツに更新を通知し、すべての関連するパーツから更新を受け取ったというメッセージを取得するとすぐに、この変更を委任する。
【0012】
第3に、この委任は明示的には実行されない。例えば、変更を通知し、委任を仮定する「ゴシッププロトコル(gossip protocol)」と呼ばれるプロトコルがある(以下の参考文献を参照されたい)。
【0013】
David Kempe、Jon M.Kleinberg及びAlan J.Demersによる「Spatial gossip and resource location protocols」(ACM Symposium on Theory of Computing,163−172頁,2001)
Alan Demers、Dan Greene、Carl Houser、Wes Irish及びJohn Larsonによる「Epidemic algorithms for replicated database maintenance」(SIGOP,22(1):8−32,1987)
サーバを利用する第1の選択肢は、すべての分散データベースがP2P(ピア・ツー・ピア)システムなどにおいて、すべてのトランザクションを制御する中央サーバを有するとは限らないことから問題である。この場合、第1の選択肢は問題外である。
【0014】
さらに、一部の分散データベースは、関連するすべてのパーツ及び/または中央トランザクションサーバと常時コンタクトしてはいない、すなわち、アドホック接続しているパーツを有し、この場合、第2の選択肢も問題外である。この結果、発生パーツは変更を委任することができないかもしれない。
【0015】
多くの場合、明示的に委任しないことが選択肢ではない。なぜなら、それは委任に関する確実性がないということを意味するためである。この場合、第3の選択肢もまた問題外となる。
【0016】
このため、ピア・ツー・ピア通信では適切な信頼性があり、ロウバストなトランザクションモデルがないという問題がある。すなわち、データベースやファイルなどが変更が行われることを所望しない他のピアにある場合、データベースやファイルなどへの変更のトランザクションは場合によっては実行されないという問題がある。このため、ファイルやデータベースなどは更新されないままとなり、さらに悪いことには、この変更の要求元はそれを認識していない。
【0017】
従来技術から、ピア・ツー・ピアは、各主体(すなわち、各ピア)が同様の能力を有し、通信セッションを開始することができる通信モデルであるということが知られている。ピア・ツー・ピア通信モデルが対比される他のモデルには、いずれも当該技術分野において知られているクライアント・サーバモデルとマスタ・スレーブモデルが含まれる。一部のケースでは、ピア・ツー・ピア通信は、各通信ノードにサーバ機能とクライアント機能の両方を与えることによって実現される。最近の利用では、ピア・ツー・ピアはユーザがインターネットを用いてファイルを交換したり、直接的または仲介サーバを介し互いにデータベースを更新することができるアプリケーションを説明するようになってきた。
【0018】
インターネット上では、ピア・ツー・ピア(P2Pと呼ぶ)は、同一のネットワーキングプログラムを有するコンピュータユーザ(ピア)のグループが互いに接続し、他方のハードディスクからのファイルに直接アクセスすることを可能にするトランジェント(transient)インターネットネットワークの一種である。NapsterやGnutellaは、このタイプのピア・ツー・ピアソフトウェアの具体例である。企業は中央サーバの維持に伴う費用なしに従業員が共通のデータベースや情報などを更新及びアクセスしたり、ファイルを共有したりする方法として、そして企業が互いに直接的に情報を交換する方法として、P2Pの利用に関する効果を見極めているところである。
【0019】
インターネットP2Pが適用されると、当該技術分野では、ユーザはまずピア・ツー・ピアネットワーキングプログラムをダウンロード及び実行する必要があるということが知られている。例えば、Gnutella−netは、ユーザによるあらゆるタイプのファイルの交換を可能にするため、分散P2Pプログラムの中で現在最も人気のあるものの1つである。プログラムを起動した後、ユーザはネットワークに属する他のコンピュータのIPアドレスを入力する。典型的には、ユーザがダウンロードを取得したウェブページは、開始位置として複数のIPアドレスをリストしているであろう。コンピュータがオンラインで他のネットワークのメンバーを見つけると、それは、他のユーザの接続から自らのIPアドレスを取得したユーザの接続に接続するであろう。
【0020】
さらに、ピアのユーザは一度に探索するメンバー接続の個数を選択し、どのファイル、データベースや情報アイテムなどを共有、更新またはパスワード保護したいか決定することが可能であるということは、当該技術分野では知られているが、依然として問題は未解決のままである。
【発明の開示】
【発明が解決しようとする課題】
【0021】
しかしながら、この問題は本発明による方法が図4に示されるようなステップを有するとき、本方法により解決される。
【0022】
従って、本発明の効果は、責任の委任が変更を委任することを可能にする方法及びプロトコルがそれぞれ提案されるということである。
【0023】
本発明はさらに、変更の発信元(第1装置と記載)がもはや接続されていなくても、変更の委任を実効化することが可能であるという効果を有する。
【0024】
大部分の場合、分散データベースの完全性は維持及び保証可能である。さらに、中央サーバを設けないことによりピア・ツー・ピアネットワークを脆弱なものとせず、さらに多数のピアが通信することを可能にする。すなわち、ネットワークをスケーリングアップ及びダウンすることが可能となるというさらなる効果を有する。
【0025】
本システム、プロトコル及び装置はそれぞれ同一の効果を提供し、本方法に関して上述されたものと同様の理由のため同様の問題を解決する。
【0026】
本発明は、図面を参照しながら好適な実施例に関してより十分に以下において説明されるであろう。
【発明を実施するための最良の形態】
【0027】
本発明の説明を通じて、トランザクションは以下のように理解される。
【0028】
すなわち、コンピュータプログラミングでは通常、要求を満足させるため、そしてデータベースまたはファイルの完全性を保証するためのユニットとして扱われる情報交換及び関連作業のシーケンスを意味する。トランザクションを完結させるため、そしてデータベースまたはファイルの変更を恒久化するため、トランザクションは全体的に完結される必要がある。典型的な商用のトランザクションは、顧客によって電話にされ、顧客担当者によってコンピュータに入力されたカタログ商品の注文であるかもしれない。注文トランザクションは、在庫データベースのチェック、当該アイテムが利用可能であることの確認、当該注文の発注、当該注文の発注が完了したことと配送予定時間の確認に関するものである。これが単一のトランザクションとみなされる場合、トランザクションが成功し、データベースが新しい注文を反映させるために実際に変更されるまで、すべてのステップが完結しなければならない。トランザクションが成功して完結する前に何かが起こると、データベースへの変更を追跡する必要があり、このため、ロールバックなど実行がやり直される。
【0029】
図1は、システムと定期的に接続するピアに対する更新の責任を移転するシステムと接続するピアのための様々な方法を示す。
【0030】
図において、参照番号(a)は、システムと定期的に接続するピアに対する更新(黒い点)の責任(四角)を移転するシステムと一時的に接続するピアを示す。
【0031】
参照番号(b)は、第2のピアと発信元が仮の委任(白い点)を受付ける方法を示す。
【0032】
参照番号(c)は、受け手が変更を他の関連するピアに伝播することを示す。
【0033】
参照番号(d)は、他のピアが変更を承認し、当該変更が委任される(灰色の点)方法を示す。
【0034】
参照番号(e)は、発信元がシステムと再度接続する場合、変更の状態をチェックすることを示す。
【0035】
参照番号(f)は、受け手がシステムにおいて委任を承認することを示す。
【0036】
図2は、委任状態変数に関する状態変更による責任移転を示す。
【0037】
この図は、図1からの3つの派生を示す。すなわち、
1)もとの受け手は、責任を他のピアに伝播する(理由は3とすることが可能である)。
2)発信元は、仮のものの代わりに真の委任を想定する。
3)ピアの範囲はより制限される。
【0038】
参照番号(a)は、システムと常時接続するピアに更新(黒い点)の責任(四角)を移転するシステムと一時的に接続するピアを示している。参照番号(b)は、第2のピアが受付け、発信元が真の委任(灰色の点)を行うことが可能であると想定することを示している。参照番号(c)は、受け手が変更(黒い点)を通知し、それが接続する他の関連するピアへの責任を示している。参照番号(d)は、受け手のピアが責任を受付け、もとの受け手が真の委任を行うことを示している。参照番号(e)は、委任された受け手が更新をさらなるピアに通知することを示している。参照番号(f)は、最終的な更新を受信するピアがそれらのシステムにおいて委任を認め、委任された受け手が同様に実行することを示している。後者はまた更新タスクを解消する。
【0039】
状態遷移に関して、3つのタイプの委任が説明され、これらは真の委任状態、仮の委任状態または想定された委任状態の各種状態を有する委任状態変数に反映される。しかしながら、想定された委任は独立した状態ではなく、すなわち、それは真の委任と同じ状態であるが、異なる遷移を介し到達する。
【0040】
想定された委任状態は、確認のない真の委任である。初期状態は非委任である。最終状態は委任である。これは、真の委任状態と同様である。相違点は、真の委任が確認の仲介を得ることである。想定された委任状態は、不整合を導く可能性があるため、すなわち、更新が他のピアによって委任されていない場合、更新が発生することが想定されていたとしても危険なものとなりうるということに留意されたい。このため、仮の委任の状態が適用可能である。想定された委任状態と仮の委任状態との相違点は、後者の場合には委任(仮の状態)が確認されなかったことを示すフラグ(または類似の表示)が存在するということである。この確認が以降に到達すると、当該フラグを削除することができる。すなわち、委任状態は(真の)委任、すなわち、真の委任状態に変更される。従って、仮の委任状態は、確認が遅延していると予想される「真の」委任としてみなすことができる。
【0041】
従って、委任に関して、委任状態変数には4つの状態が存在する。委任を単に見ることによっては、0と3との間には相違はない。すなわち、データベースは更新された状態に3によるものであるが、どの更新も保留されていない。すなわち、
(0)更新保留なし=委任に関する状態なし
(1)非委任=更新保留
(2)仮の委任=更新はデータベースに委任されているが、確認されていない。
(3)真の委任=更新は確認(他の委任)または想定及び委任されている。
【0042】
状態(0)において、更新要求が受信され、それを状態(1)にわたす。当該ピアは確認を得るまで待機し(真の委任=状態(3))、確認を想定し(想定された委任=状態(3))、あるいはそれが確認を有しているととりあえず見せかけることができる。なぜなら、それは以降においてそれを得ると予想しているためである(仮の委任=状態(2))。
【0043】
状態(2)は、(最終的に)確認が到達すると状態(3)となる。状態(3)は状態(0)、すなわち、更新が保留されていないことに対応する更新された状態に等しい。
【0044】
図3は、装置のネットワークを示す。この装置のネットワークは、参照番号30により示されている。次に図面でより詳細に説明されるように、参照番号31の第1の装置は、変更を委任する責任を受付ける他の装置、すなわち、参照番号31の第2の装置を検出しようとする。この結果、第2の装置はこの変更を、当該変更に関連すると想定される参照番号33と34の少なくとも1以上の装置にこの変更を通知する。ネットワークには、参照番号35、36及び37のさらなる装置が存在してもよい。ネットワークは例示的に示されているが、他の任意の動的または静的トポロジーやピアまたは装置の構成が、本発明において適用されてもよい。
【0045】
これらの装置は、車、ガレージ、ビデオカセットレコーダ(VCR)、携帯情報端末(PDA)、携帯電話、空調システム、テレビ、ランプ、コーヒーマシーン、ラジオ、DVDプレーヤー、CDプレーヤー、情報パネル、ウェブタブレット、スマートリモート、留守番電話、あるいはパーソナルコンピュータであってもよい。例えば原則的に、ネットワークへのアクセスを有するランプは、PDA、ウェブタブレット、スマートリモート、留守番電話、及び/またはパーソナルコンピュータとスケジュール変更などの変更を通信するようにしてもよい。これにより、ユーザはスケジュール変更をおそらく受信することが確実となる。
【0046】
上述のような代わりの装置は、同一または類似のネットワーキングプログラムまたはプロトコルを有するコンピュータユーザのグループ(各自の対応するピアまたは装置へのアクセスを有する)が互いに接続し、他のハードドライブやメモリなどに対してファイルやデータベースなどに直接的にアクセス及び/または更新することを可能にする、インターネット上に検出されたタイプに類似したピア・ツー・ピアタイプのトランジェントネットワークの対応するピアとして理解されてもよい。ピア・ツー・ピアネットワークは、単なるピアのネットワークであり、インターネット、Gnutellaソフトウェア、コンピュータなどはすべて具体的な実現形態の特徴の例である。
【0047】
この状態変更は、変更の所有者移転に用いられるプロトコルに適用可能である。すなわち、このプロトコルは、真の委任及び仮の委任などの各種状態を有する委任変数を有する。更新要求の発信元が委任責任を移転しようとする場合、それはまた当該責任が他のものにより受付けられた後の状態を通信することが可能である。発信元は、非委任、委任または仮の委任とすることができる。第1のケース、すなわち、発信元が非委任であるケースは、受け手が発信元からの委任を待機する必要があるため、本発明によると回避される。第2のケース、すなわち、発信元が委任であるケースは、受け手から発信元へのさらなるアクションは必要でない。第3のケース、すなわち、発信元が仮の委任であるケースは、受け手は発信元が以降において確認を所望または必要としていることを留めておく必要があるということを意味する。
【0048】
何れかの委任タイプが状態変更である、すなわち、想定された委任が状態でなく、状態遷移であることに留意されたい。
【0049】
プロトコルは、中央サーバのない類似のネットワークまたはピア・ツー・ピアネットワークなどの各種装置(ピアに類似した)間の変更の所有権移転に適用されてもよく、実際、それは中央サーバを有するシステムに適用可能であるが、それはあまり意味がない。
【0050】
この変更は、データベース及び/またはファイルへの変更であってもよい。さらに、または代わって、当該変更は変数、1以上のパラメータ、1以上の状態フラグ、文字列変数などの任意の情報アイテムへの変更であってもよい。
【0051】
言い換えると、当該変更は、テキスト、数値情報、画像、映像、音声及びこれらの組み合わせが以降にファイル及び/またはデータベースにおいて更新されるという効果を有するかもしれない。
【0052】
ファイル及び/またはデータベースは、ピア・ツー・ピアネットワークまたは類似のネットワークを介し通信する任意の装置に個別格納または分散化されてもよい。
【0053】
以下において、本発明の様々な実際の応用が示され、更新は変更と類似している。
【0054】
例1)旅行委任
Johanは家の保管室にある図面を忘れた。彼はそれら取りに行く時間がなく、Hendrikにそれらを取って来てもらうよう頼んだ。彼は、Hendrikがガレージに入り、書斎に行き、保管室を開けるのを可能にするため、自分のPDA上で家のセキュリティ設定を変更する。しかしながら、セキュリティ上、彼はこれらの設定をオンラインで変更することができない。彼は、設定の更新の責任を彼の自動車に移転し、Hendrikに自動車の鍵を与える。Hendrikは、Johanの自動車を使用してJohanの家まで運転する。HendrikがJohanの家に到着すると、ネットワークにおける他の装置であるその自動車は、セキュリティ設定の更新をガレージに移転する。ガレージは家にある残りの装置に変更を通知し、Hendrikは所望のものを手に入れることができる。Hendrikが家から離れると、セキュリティ設定、すなわち、新たな設定がHendrikを再び排除するよう戻される。ネットワークの他の装置であるガレージは、この更新、すなわち、変更を自動車に通知する。オフィスのJohanに戻されると、自動車はJohanのPDAの設定を更新し、Johanはすべてが再び通常に戻っていることを確認することができる。Hendrikは彼に図面を手渡す。
【0055】
例2)多くのピアまたは装置に関するコードまたはパラメータを更新する発火及び放置アプローチ
Pieterは、Fienを夕食に招待する。予想に反して彼女はイエスと言う。彼はネットワークにおける他の装置である彼の携帯電話を使用して、Fienとの夕食のため家の周りを準備する。彼は必要な変更のすべてを行う時間がないが、彼の留守番電話(他の装置として)は、この情報を他の関連するすべての装置に伝播する責任を受付ける。彼のPVR(他の沿うとして)がこの情報を受け取ると、それはPieterが観ようとしていたライブのクリケットの試合を記録する準備をする。空調システム(他の装置として)は、18度から19.5度に温度を引き上げる準備をする。台所は、2人の夕食のためのストックを分類ごとにチェックする。それは、ケージャン料理を注文することに決める。メッセージサービスは、PDAなどの対応する装置上で24時間歯医者の予約を変更する。Pieterが家に戻ると、彼はFienとの夕食による変更を除きすべてが上手くいったことを即座に知らされ、Fienの到着を待ちながらリラックスすることができる。1つ具合が悪いことに、歯医者の予約の変更が上手くいかず、自分で新たな予約をしなければならない。ケージャン料理が、Fienが到着する15分前に到着し、Pieterはそれを自分の食器に盛り付ける時間がある。
【0056】
他の例
・持続的ピアのグループは、複数のアドホック接続された装置に中央サーバをエミュレートする。家では、Wubboは彼のアジェンダを共に扱う複数の持続的ピアを有する。何れかの装置がアジェンダのアイテムを持続的ピア(すなわち、装置)に常にオフロードすることができ、変更が委任されることに頼る。
・保留中のシャットダウン前の更新の高速アップロード。Carolのスマートカード(他の装置として)は、電力のロスによる差し迫ったシャットダウン前に保留中のすべての変更を委任することができない。それは、壁の応答機(他の装置として)の1つに責任を移転する。
・あるタスクは、各々がサブタスクを実行する装置系列を必要とするかもしれない。当該タスクの責任は、タスクと共に移動する。
【0057】
図4は、ピア・ツー・ピアネットワークの変更の所有権移転を実行する方法を示す。このピア・ツー・ピアネットワークは、上記図面からの装置のネットワークと同一である。すなわち、変更の所有権移転はネットワークの装置間で実行可能である。
【0058】
以下のステップの前に、ある装置において変更が発生したと仮定する。これは、次の図である本発明による方法の説明を全体的に参照する図5に見ることができる。図5(a)では、記載されるような第1装置または発信元(図3の参照番号31に対応する)が他の装置、すなわち、参照番号32の第2装置を検出しようとする。この段階では、他の装置には通知されていないため、第1装置のみが変更に関して知っている。当該発信元によって維持される2つの委任状態変数がインスタンス化される。第1委任状態変数は、ローカルデータベースの状態(この段階では、「保留中」の値)を表すローカルスコープを有する。第2委任状態変数は、変更が関連するすべてのピアに委任されたか表す(この段階では、「保留中」の値)グローバルスコープを有する。
【0059】
第2装置は、変更を委任する責任を受け付けるかもしれないため、受け手と前には呼ばれた。
【0060】
ステップ100(図1a、図2a、図5(b))において、第1装置は当該変更を委任する責任を受付ける第2装置を検出しようとしてもよい。
【0061】
この試みは成功しないとわかるかもしれない。すなわち、すべての委任状態(委任状態変数)が「保留中」のままであり、第1装置は再度試みる必要があるか(当該変更を委任する責任を受付ける他の装置を検出するため)、あるいはそれは成功したと判明し、次のステップに移行するかもしれない。
【0062】
ステップ200(図1b、図2b、図5(c))において、第1装置は当該変更を委任する責任を第2装置に移転するようにしてもよい。このことは、変更を受け手(第2装置)に通知することを意味する。さらに、これは、グローバル委任状態変数を維持する責任が第2装置に移転されることを意味する。このグローバル変数の位置は第2装置上にある。
【0063】
ステップ300において、発信元である第1装置は、それのローカル委任状態変数を装置があたかもグローバル委任を行ったかのように動作することを表す「仮の」(図1b、図2b、図5(d2))ものに設定してもよい。しかし、それは例えば、第1装置がネットワークに再び入り、グローバル委任状態変数の状態をチェックするとき、グローバル状態変数が「void」に設定される確認を得るまで、ローカル委任状態変数を「void」に設定することにより待機する。
【0064】
通常の手順は、まず、データベースのすべてのパーツが変更を受付け、それを委任するかどうかチェックするということである(すなわち、それを実際に実行する)。データベースが分散化されている場合、装置はこの変更を関連するすべてのパーツに通知する必要があり、それらが変更を受付けると宣言する必要がある。それらは、変更を委任する責任があるデータベースの一部に当該実効に対するメッセージを送信することにより後者を実行する(グローバル委任状態変数を維持する)。P2P設定では、これは通常は発信元(第1装置)であるが、本発明によると、それは受け手(第2装置)である。受け手が変更を適用すべきすべてのピアから、それらが当該変更を実際に適用するという確認を有する場合、受け手は当該変更がグローバルに委任されることを知り、これにより、グローバル委任変数はvoidに設定することができる。
【0065】
ローカル委任状態変数は、ローカルデータベースがこの変更を適用したか示す。
【0066】
グローバル委任状態変数は、すべてのピアが変更を適用したか示す。
【0067】
あるいはステップ310において、ローカル委任状態変数は、真の委任を表す「void」に設定されてもよい(図2b、図5(d1))。
【0068】
第1装置は、ネットワークに入る前に一定時間待機することが可能または必要であり、これにより、未接続の状況では、リソースはネットワークと通信する以外の他のタスクに開放される。すなわち、第1装置がパーソナルビデオレコーダであるとき、それは映画を記録するのにそれのリソースを使用することができる。
【0069】
ステップ400において、第2装置は当該変更に関係する1以上の装置にこの変更を通知するようにしてもよい(図1c、図2c、図5(e,f,g,h))。これは、変更を委任する責任が第2装置に受信及び受付けされる場合である。
【0070】
本方法は、ここで成功して終了するかもしれない。すなわち、変更の所有権移転は成功して移転される。
【0071】
しかしながら、本方法はさらに以下の2つのステップを有するようにしてもよいという可能性がある。
【0072】
ステップ500において、第1装置は、仮の委任のローカル委任状態変数を真の委任に変換するようにしてもよい。これは、第1装置がネットワークに再び入り、成功した委任を示すメッセージを第2装置から受信するときのケースである(図5(i))。
【0073】
再び、第1装置はネットワークに入る前に一定時間待機するようにしてもよい。第2装置が最終的に委任成功メッセージを与えるまでに時間を要するということが、前者の状況から未接続を費やすことを経験するかもしれない。
【0074】
発信元装置(第1装置)はまた、所定時間の未接続の後に、仮の状態を「void」に変換してもよい。
【0075】
ステップ600において、第1装置は第2装置から委任失敗を示すメッセージを受信するかもしれない。これは、グローバルに変更を委任することが、例えば、第2装置が関連するすべてのピアを達しなかったり、あるいは1以上のピアが変更を委任することは拒否したため(例えば、更新のロックまたはコンフリクトのため)、第2装置によって不成功となるケースである。当該メッセージは、第1装置が次にネットワークに入るときに受信するかもしれない。
【0076】
本方法は、成功して終了するかもしれないが、本方法はさらに以下のステップを有する可能性がある。
【0077】
変数の値とパラメータの名前は、本発明のコンセプトから逸脱することなく変更可能である。例えば、「グローバル委任状態」というパラメータの値は、委任が成功したことを示すため、「void」の代わりに「commit」としてもよい。
【0078】
ステップ700において、第1装置は、変更をロールバックするかもしれない。これは例えば、ローカル委任状態(変数)が仮の委任であるケースであり、ステップ600が発生する。他のピア(装置)は委任を行わないため、発信元(第1装置)の仮の委任はロールバックされる必要がある。ステップ600が発生し、発信元が真の委任を以前に実行している場合、当該変更に対してローカル委任状態変数はもはや存在せず、データベースは不整合したものとなる。この状況を修復するため、発信元は再度同様の変更を開始するか(すなわち、再試行)、あるいは第1の変更に対応し、不整合を解消する新たな変更を開始する。
【0079】
コンピュータ可読媒体は、磁気テープ、光ディスク、DVD(Digital Versatile Disk)、コンパクトディスク(記録可能CDまたは書き換え可能CD)、ミニディスク、ハードディスク、フロッピー(登録商標)ディスク、スマートカード、PCMCIAカードなどであってもよい。
【0080】
請求項では、カッコ内の参照記号は何れも請求項を限定するものとして解釈されるべきでない。「有する」という用語は、請求項に列挙されたもの以外の要素またはステップの存在を排除するものではない。要素に先行する「ある」という用語は、そのような要素が複数存在することを排除するものでない。
【0081】
本発明は、相異なる複数の要素を有するハードウェアによって、または適切にプログラムされたコンピュータによって実現することが可能である。複数の手段を列挙した装置クレームでは、これらの手段のいくつかは同一のハードウェアにより実現することができる。ある手段が互いに異なる従属クレームに記載されるという事実は、これらの手段の組み合わせが効果的に利用することができないということを示すものではない。
【図面の簡単な説明】
【0082】
【図1】図1は、システムに常時接続するピアに更新責任を移転するシステムに接続したピアの様々な方法を示す。
【図2】図2は、委任状態変数に関する状態変更による責任移転を示す。
【図3】図3は、装置のネットワークを示す。
【図4】図4は、ピア・ツー・ピアネットワークにおける変更の所有権移転を実行する方法を示す。
【図5】図5は、トランザクション所有権移転中の委任状態変数の変更を示す。

【特許請求の範囲】
【請求項1】
ピア・ツー・ピアネットワークにおける変更の所有権移転を実行する方法であって、
第1装置により、前記変更を委任する責任を受付ける第2装置を検出しようとするステップと、
前記第1装置により、前記変更を前記第2装置に委任する責任を移転し、前記変更を前記第2装置に通知し、さらに、前記第2装置に維持されているグローバル委任状態変数を前記第2装置に移転するステップと、
前記第1装置により、ローカル委任状態変数をあたかもグローバル委任が行われたかのように前記装置が動作することを表す「仮の」に設定し、前記第1装置が前記ネットワークに再び入り、前記グローバル委任状態変数の状態をチェックすると、前記グローバル委任状態変数が「void」に設定されるという確認を取得するまで、真の委任を表す「void」に前記ローカル委任状態変数を設定することにより前記第1装置が待機するステップと、
前記第1装置により、前記ローカル委任状態変数を真の委任を表す「void」に設定するステップと、
前記第2装置により、前記変更を委任する責任が前記第2装置に受信及び受付けられると、前記変更に関係する1以上の装置に前記変更を通知するステップと、
を有することを特徴とする方法。
【請求項2】
請求項1記載の方法であって、さらに、
前記第1装置により、前記第1装置が前記ネットワークに再び入り、前記第2装置から委任成功を示すメッセージを受信すると、仮の委任の前記ローカル委任状態変数を真の委任に変換するステップと、
前記第1装置が前記ネットワークに再び入ったとき、前記第2装置により前記変更の委任が不成功となった場合、委任不成功を示す前記第1装置に関するメッセージを前記第2装置から受信するステップと、
を有することを特徴とする方法。
【請求項3】
請求項2記載の方法であって、さらに、
前記第1装置により、前記ローカル委任状態変数が仮の委任であり、前記受信するステップの状況が生じると、前記変更をロールバックするステップを有することを特徴とする方法。
【請求項4】
請求項1乃至3何れか一項記載の方法であって、
前記変更は、データベースに対する変更、ファイルに対する変更及び情報アイテムに対する変更の少なくとも1つであることを特徴とする方法。
【請求項5】
請求項1乃至4何れか一項記載の方法であって、
前記装置の何れかは、自動車、ガレージ、ビデオカセットレコーダ(VCR)、携帯情報端末(PDA)、携帯電話、空調システム、テレビ、ランプ、コーヒーマシーン、ラジオ、DVDプレーヤー、CDプレーヤー、情報パネル、ウェブタブレット、スマートリモート、留守番電話、パーソナルコンピュータ、あるいは他の何れかの電気機器の1つであることを特徴とする方法。
【請求項6】
変更の所有権移転のためのプロトコルであって、
当該プロトコルは、真の委任と仮の委任の状態の少なくとも1つを有する委任状態変数を有することを特徴とするプロトコル。
【請求項7】
変更の所有権移転を実行する装置であって、
前記変更を委任する責任を受付ける第2装置を検出しようとする手段と、
前記変更を前記第2装置に委任する責任を移転する手段と、
前記第2装置にグローバル委任状態変数を移転する手段と、
前記装置が前記ネットワークに再び入り、前記グローバル委任状態変数の状態をチェックすると、前記グローバル委任状態変数が「void」に設定されるという確認を取得するまで、真の委任を表す「void」に前記ローカル委任状態変数を設定することにより前記第1装置が待機するとき、ローカル委任状態変数をあたかもグローバル委任が行われたかのように前記装置が動作することを表す「仮の」に設定する手段、または
前記ローカル委任状態変数を真の委任を表す「void」に設定する手段と、
1以上の装置に前記変更を通知する手段と、
を有することを特徴とする装置。
【請求項8】
請求項7記載の装置であって、さらに、
仮の委任の前記ローカル委任状態変数を真の委任に変換する手段と、
委任不成功を示すメッセージを受信する手段と、
を有することを特徴とする装置。
【請求項9】
請求項8記載の装置であって、さらに、
前記変更をロールバックする手段を有することを特徴とする装置。
【請求項10】
請求項1乃至5何れか一項記載の方法を実行することを特徴とするコンピュータシステム。
【請求項11】
コンピュータ上で実行されると、請求項1乃至5何れか一項記載の方法を実行するコンピュータ可読媒体上に格納されているプログラムコード手段を有するコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公表番号】特表2006−520048(P2006−520048A)
【公表日】平成18年8月31日(2006.8.31)
【国際特許分類】
【出願番号】特願2006−506681(P2006−506681)
【出願日】平成16年3月9日(2004.3.9)
【国際出願番号】PCT/IB2004/050215
【国際公開番号】WO2004/081818
【国際公開日】平成16年9月23日(2004.9.23)
【出願人】(590000248)コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ (12,071)
【氏名又は名称原語表記】Koninklijke Philips Electronics N.V.
【住所又は居所原語表記】Groenewoudseweg 1,5621 BA Eindhoven, The Netherlands
【Fターム(参考)】