(57)【要約】【課題】複数の端末間において同一のデータを高い信頼性により共有する。【解決手段】ノード１，２，３，４をネットワーク接続した状態で、ノード１、ノード２、ノード３、ノード４、ノード１…の順にトークンを巡回させる。ノード２は、ノード１からのトークンを受信してこれを保持した場合に、“データＡ”の更新を行なう。トークンを保持しないその他のノードは、“データＡ”の更新を行なうことはできない。ノード２が“データＡ”の更新を行なうと、トークンの配布先管理情報で“データＡ”の保持ノードとして記述されている各ノードに対し、更新済みの“データＡ”を送信する。そしてノード１は、配布先管理情報中の巡回経路の情報にしたがって、次の巡回対象であるノード３にトークンを送信する。【選択図】      図１
2006259863.tif 000002
【特許請求の範囲】
【請求項１】
複数台の通信端末がネットワークを介して接続される情報処理システムであって、
前記それぞれの通信端末は、
データを保持するデータ保持手段と、
このデータ保持手段が保持するデータの種別の識別情報と、このデータの保持対象である通信端末の識別情報とを関連付けた保持管理情報、および、前記保持管理情報で示されるデータの版情報でなり、かつ、ネットワークを介して前記複数台の通信端末の間であらかじめ定めた巡回経路に沿って巡回するトークンを受信して、これを保持する受信手段と、
この受信手段が前記トークンを保持している場合で、かつ、前記データ保持手段が保持するデータの版が最新である場合に、この保持するデータの更新を行なう更新手段と、
この更新手段がデータを更新した場合に、前記保持したトークンに含まれる版管理情報を更新する版管理手段と、
この版管理手段が前記版管理情報を更新した場合に、前記トークンの保持を解除して、前記定められた巡回経路にしたがって前記トークンを他の前記通信端末に送信するトークン送信手段と、
前記更新手段が更新したデータを、前記トークンに含まれる保持管理情報で示される、前記更新したデータの保持対象の端末に送信するデータ送信手段と
を備えることを特徴とする情報処理システム。
【請求項２】
前記それぞれの通信端末は、
前記受信手段が前記トークンを保持している場合で、かつ、前記データ保持手段が保持する、前記更新手段による更新対象のデータの版が最新でない場合に、前記保持管理情報で示される、前記データ保持手段が保持するデータと同じ種別のデータの保持対象である端末に対して、当該データの送信を要求する要求手段と、
この要求手段による要求にしたがって送信されたデータを受信するデータ受信手段と、
このデータ受信手段が受信したデータの版が最新である場合に、このデータを前記保持手段が保持する、前記更新手段による更新対象の新たなデータとする置換手段と
をさらに備えた特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記要求手段は、前記保持管理情報で示される通信端末のうち、前記データ保持手段が保持するデータと同じ種別のデータの保持対象であり、かつ、前記トークンを最後に送信してからの経過時間が最も短い端末に対し、当該データの送信を要求する
ことを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記保持管理情報は、複数種別のデータの識別情報、および、それぞれの種別のデータの保持対象である通信端末の端末識別情報を関連付けており、
前記それぞれの通信端末は、
前記端末識別情報を記憶する記憶手段と、
前記受信手段が前記トークンを保持している場合に、このトークン中の保持管理情報で示される各種データのうち、前記データ保持手段が保持していない種別のデータの保持対象である通信端末に対し、当該データの送信を要求する要求手段と、
この要求手段による要求にしたがって送信されたデータを受信するデータ受信手段と、
このデータ受信手段がデータを受信した際に、前記保持管理情報中の、前記受信したデータの識別情報と、前記記憶手段に記憶される端末識別情報とが関連付けられるように当該保持管理情報を更新する手段と
をさらに備える
ことを特徴とする請求項１に記載の情報処理システム。
【請求項５】
前記要求手段は、前記保持するトークンに含まれる保持管理情報で示される各種データのうち、前記データ保持手段が保持していない種別のデータを保持し、かつ、トークンを最後に送信してからの経過時間が最も短い端末に対し、当該データの送信を要求する
ことを特徴とする請求項４に記載の情報処理システム。
【請求項６】
前記それぞれの通信端末は、
前記端末ごとに個別に付与される端末識別情報を記憶する記憶手段と、
前記保持手段が保持する、前記保持の解除の対象のデータを削除する手段と
前記受信手段が前記トークンを保持している場合に、このトークンに含まれる保持管理情報で示される各種データのうち、前記保持の解除の対象のデータの識別情報を削除する手段と
をさらに備えたことを特徴とする請求項１に記載の情報処理システム。
【請求項７】
前記それぞれの通信端末は、
前記端末ごとに個別に付与される端末識別情報を記憶する記憶手段と、
前記トークンの巡回対象でない場合に、前記トークンの巡回対象である端末に対し、トークンの巡回を要求する要求手段と、
前記要求手段による要求にしたがって送信されたトークンを前記受信手段が受信して、これを保持した場合に、このトークン中の保持管理情報中に、前記記憶手段に記憶される端末識別情報が、自端末への送信対象のデータの種別の識別情報と関連付けられるように、当該保持管理情報を更新する手段をさらに備える
ことを特徴とする請求項１に記載の情報処理システム。
【請求項８】
前記それぞれの通信端末は、
前記要求手段による要求を受け、かつ、前記受信手段が前記トークンを保持している場合に、前記要求を行なった端末への送信対象のデータを前記データ保持手段が保持している場合、これを、前記要求を行なった端末へ送信する手段をさらに備えた
ことを特徴とする請求項７に記載の情報処理システム。
【請求項９】
前記それぞれの通信端末は、
この要求手段による要求を受け、かつ前記受信手段がトークンを保持している場合に、前記要求を行なった端末への送信対象のデータを前記保持手段が保持していない場合、これを他の端末から取得する取得手段をさらに備え、
前記送信手段は、この取得したデータを、前記要求を行なった端末へ送信する
ことを特徴とする請求項７に記載の情報処理システム。
【請求項１０】
前記要求手段は、前期保持するトークンに含まれる保持管理情報で示される各種データのうち、前記データ保持手段が保持していない種別のデータを保持し、かつ、トークンを最後に送信してからの経過時間が最も短い端末に対し、当該データの送信を要求する
ことを特徴とする請求項９に記載の情報処理システム。
【請求項１１】
前記それぞれの通信端末は、
前記端末ごとに個別に付与される端末識別情報を記憶する記憶手段と、
前記受信手段が前記トークンを保持した場合に、このトークンに含まれる保持管理情報で示される、各端末の端末識別情報のうち、前記記憶手段に記憶される端末識別情報が削除されるように、前記保持管理情報を更新する手段と
をさらに備えた
ことを特徴とする請求項１に記載の情報処理システム。
【請求項１２】
前記ネットワークは、メッシュ型、ツリー型、スター型、バス型、およびリング型のいずれかであることを特徴とする請求項１に記載の情報処理システム。
【請求項１３】
前記保持管理情報は、複数種別のデータの識別情報、および、これらのデータの保持対象である通信端末の識別情報を関連付けており、
前記トークンは、各種データのうち、１つ以上の種別のデータにかかる保持管理情報および版管理情報でなる個別のトークンとしてネットワークを巡回する
ことを特徴とする請求項１に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機器で同じデータを保持する情報処理システムに関する。
【背景技術】
【０００２】
従来、複数台の例えばパーソナルコンピュータ等の通信機器を通信可能に接続して、それぞれの端末において、同一のデータに関する処理を行なえるようにしたシステムがある（例えば特許文献１参照）。
【特許文献１】特開平１１−２７２５３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
前述したようなシステムで、複数の端末間で同じデータを共有できる、つまり、データが更新された場合に、このデータをそれぞれの端末で最新データとして参照できるようにするためには、例えば、各端末とは別に、１台のみの端末がアクセス可能で、かつデータを共有対象のデータを格納するデータ処理用の装置を設けた上で、いずれかの端末を取り扱うユーザは、データを更新したい際に、手元の端末を操作してデータ処理用の装置にアクセスし、この装置に格納されているデータを更新する手法がある。しかし、この手法では、データ処理用の装置が正常に動作しなくなった場合には、データの更新及び参照を行なうことができないので、複数の端末間でデータを共有できない。
【０００４】
そこで、本発明の目的は、複数の端末間において同一のデータを高い信頼性により共有することが可能になる情報処理システムを提供することにある。
【課題を解決するための手段】
【０００５】
すなわち、本発明に係わる情報処理システムは、複数台の通信端末がネットワークを介して接続される情報処理システムであって、それぞれの通信端末は、データを保持するデータ保持手段と、このデータ保持手段が保持するデータの種別の識別情報と、このデータの保持対象である通信端末の識別情報とを関連付けた保持管理情報、および、保持管理情報で示されるデータの版情報でなり、かつ、ネットワークを介して複数台の通信端末の間であらかじめ定めた巡回経路に沿って巡回するトークンを受信して、これを保持する受信手段と、この受信手段がトークンを保持している場合で、かつ、データ保持手段が保持するデータの版が最新である場合に、この保持するデータの更新を行なう更新手段と、この更新手段がデータを更新した場合に、保持したトークンに含まれる版管理情報を更新する版管理手段と、この版管理手段が版管理情報を更新した場合に、トークンの保持を解除して、定められた巡回経路にしたがってトークンを他の通信端末に送信するトークン送信手段と、更新手段が更新したデータを、トークンに含まれる保持管理情報で示される、更新したデータの保持対象の端末に送信するデータ送信手段を備えることを特徴とする。
【発明の効果】
【０００６】
本発明に係わる情報処理システムでは、複数台の通信端末がネットワークを介して接続される情報処理システムにおけるそれぞれの通信端末が、データを保持するデータ保持手段と、このデータ保持手段が保持するデータの種別の識別情報と、このデータの保持対象である通信端末の識別情報とを関連付けた保持管理情報、および、保持管理情報で示されるデータの版情報でなり、かつ、ネットワークを介して複数台の通信端末の間であらかじめ定めた巡回経路に沿って巡回するトークンを受信して、これを保持する受信手段と、この受信手段がトークンを保持している場合で、かつ、データ保持手段が保持するデータの版が最新である場合に、この保持するデータの更新を行なう更新手段と、この更新手段がデータを更新した場合に、保持したトークンに含まれる版管理情報を更新する版管理手段と、この版管理手段が版管理情報を更新した場合に、トークンの保持を解除して、定められた巡回経路にしたがってトークンを他の通信端末に送信するトークン送信手段と、更新手段が更新したデータを、トークンに含まれる保持管理情報で示される、更新したデータの保持対象の端末に送信するデータ送信手段を備えるので、複数の端末間において同一のデータを高い信頼性により共有することが可能になる。
【発明を実施するための最良の形態】
【０００７】
以下図面により本発明の実施形態について説明する。  
図１は、本発明の実施形態にしたがったコンピュータシステムの概要の一例を示すブロック図である。  
このコンピュータシステムは、ノード（通信端末）１，２，３，４が、リング型のネットワークを介して通信可能に接続される。ネットワークは、有線電話回線、無線電話回線、無線、専用ケーブル、赤外線、光ファイバ網インターネットなどの通信ネットワークである。
【０００８】
また、ノード５は、初期状態でネットワークと接続されてなく、必要に応じて、ネットワークに加入して、ノード１，２，３，４の間で通信を行なう。以下、ノード１，２，３，４，５のうち、ノード１，２，３，４がネットワーク接続されている状態であるとして説明する。
【０００９】
ノード１，２，３，４は、それぞれが例えば文書データなどのデータを保持する。各ノードのうち、少なくとも１つは、“データＡ”、“データＢ”、および“データＣ”のうち、少なくとも１種類のデータを保持する。これらのデータは、当該データの版（バージョン）の情報を含む。
【００１０】
ノード１，２，３，４間では、単一のトークン（ｔｏｋｅｎ）が巡回する。トークンは、配布先管理情報と版管理情報でなる。配布先管理情報は、各種のデータを保持しているノードの識別情報、および、トークンの巡回経路の情報を管理するための情報である。配布先管理情報で記述される巡回経路は通信時間、トラフィックなどのコストが最適となるように設定される。また、版管理情報は、各ノードが保持する各種データの版を管理するための情報である。
【００１１】
図２は、本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの配布先管理情報の構成例を表にして説明する図である。  
図２に示した配布先管理情報で記述される“ノードＡ”はノード１の識別情報であり、“ノードＢ”はノード２の識別情報であり、“ノードＣ”はノード３の識別情報であり、“ノードＤ”はノード４の識別情報である。
【００１２】
本発明の実施形態にしたがったコンピュータシステムでは、初期状態では、ノード１は“データＡ”、“データＢ”および“データＣ”を保持し、ノード２は“データＡ”および“データＢ”を保持し、ノード３は“データＡ”を保持し、ノード４は“データＢ”および“データＣ”を保持すると仮定する。また、トークンは、図２に示した配布先管理情報の巡回経路の情報にしたがい、ノード１、ノード２、ノード３、ノード４、ノード１、…の順に繰り返し巡回する。
【００１３】
各ノードは、トークンを受信するとこれを保持する。各ノードは、トークンを保持すると、データの更新などの必要な処理を行なった後で、トークンの保持を解除し、配布先管理情報の巡回経路の情報にしたがって、次の巡回対象のノードにトークンを送信する。
【００１４】
また、各ノードは、例えば、ノードのネットワークからの離脱や伝送路の障害などにより通信エラーが起り、配布先管理情報の巡回経路に記載されているノードにトークンが届かない場合は、配布先管理情報の巡回経路の情報にしたがって、さらに次の巡回対象のノードにトークンを送信する。
【００１５】
図３は、本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの版管理情報の構成例を表にして説明する図である。  
図３では、“データＡ”、“データＢ”および“データＣ”の版が初期値の１．０であることを示す。
【００１６】
図４は、本発明の実施形態にしたがったコンピュータシステムのノード１の内部回路の構成例を示すブロック図である。ノード２，３，４，５の内部回路の構成は、ノード１の内部回路の構成と同じである。  
図４に示すように、ノード１は、排他制御部１１、版管理部１２、配布先管理部１３、データ更新部１４、データ配信部１５、データ受領部１６を備える。
【００１７】
排他制御部１１は、他のノードからトークンを受信する。排他制御部１１は、受信したトークンを保持するための不揮発性メモリを有する。また、排他制御部１１は、トークンの保持後の必要な処理が終了した場合に、トークンの保持を解除して、これを他のノードに送信する。また、別途ハードディスクドライブなどの補助記憶部を設け、排他制御部１１は、トークンを当該補助記憶部に記憶してもよい。
【００１８】
版管理部１２は、保持するデータの版管理情報を記憶する不揮発性メモリを有する。版管理部１２は、排他制御部１１がトークンを受信した場合に、この受信したトークン中の版管理情報を、前述のように記憶した版管理情報と差し替える。また、別途補助記憶部を設け、版管理部１２は、版管理情報を当該補助記憶部に記憶してもよい。
【００１９】
配布先管理部１３は、保持するデータの配布先管理情報を記憶する。配布先管理部１３は、排他制御部１１がトークンを受信した場合に、この受信したトークン中の配布先管理情報を、前述のように記憶した配布先管理情報と差し替える。また、別途補助記憶部を設け、配布先管理部１３は、配布先管理情報を当該補助記憶部に記憶してもよい。
【００２０】
データ更新部１４は、保持するデータを必要に応じて更新する。データ配信部１５は、保持するデータを他のノードに送信する。データ受領部１６は、他ノードから送信されたデータを受信する。データ受領部１６は、受信したデータを保持するためのデータ格納用メモリを有する。また、別途補助記憶部を設け、データ受領部１６は、データを当該補助記憶部に記憶してもよい。
【００２１】
次に、図１に示した構成のコンピュータシステムの動作について説明する。  
まず、第１の処理動作として、ノード２が、“データＡ”の更新を行なう場合の各ノードの処理動作について説明する。
【００２２】
図５は、本発明の実施形態にしたがったコンピュータシステムのノード２によるデータ更新にかかる処理動作の一例を示すフローチャートである。  
まず、ノード１から、図２および図３に示した内容のトークンが送信されたと仮定する。ノード２の排他制御部１１は、ノード１から送信されたトークンを受信する（ステップＳ１）。ノード２の排他制御部１１は、ステップＳ１の処理で受信したトークンを保持する（ステップＳ２）。
【００２３】
ノード２は、ステップＳ２の処理によりトークンを保持している状態で、データを更新することができる。ノード２は、更新対象の“データＡ”をデータ受領部１６に保持する。ここで、データ更新部１４が、“データＡ”の更新に先立って、当該“データＡ”を、ノードＡの作業用メモリ（図示せず）に展開した場合には、ノード２の版管理部１２は、自身で保持する版管理情報で示される、“データＡ”の版と、排他制御部１１が保持するトークン中の版管理情報で示される、“データＡ”の版、つまり、“データＡ”の最新の版とを比較することで、更新予定の“データＡ”が、現時点で最新のデータであるか否かを判別する（ステップＳ３）。
【００２４】
ステップＳ３の処理の結果「ＮＯ」と判別された場合には、ノード２の版管理部１２は、トークン中の配布先管理情報をもとに、各ノードのうち、最新版の“データＡ”を保持している可能性の高いノードに対して、最新版の“データＡ”の取得要求を示す制御信号を送信する（ステップＳ４）。この信号には、ノード２の版管理部１２に記憶されている、“データＡ”の版の情報が含まれる。
【００２５】
ここでは、最新版の“データＡ”を保持している可能性の高いノードは、“データＡ”を保持しており、かつ、トークンを最後に送信してから現在までの経過時間が最も短いノードであるとする。保持しているトークンによれば、この条件を満たすノードはノード１であるので、ノード２は、ノード１に対して最新版のデータの取得要求を行なう。
【００２６】
ノード１による処理動作の説明に移る。図６は、本発明の実施形態にしたがったコンピュータシステムのノード１によるデータ更新にかかる処理動作の一例を示すフローチャートである。  
ノード１の版管理部１２は、ステップＳ４の処理でノード２から送信された信号を受信する（ステップＡ１）。
【００２７】
ノード１の版管理部１２は、データ受領部１６で保持する“データＡ”の版の情報、および、ステップＡ１の処理で受信した信号に含まれる情報である、ノード２が保持する“データＡ”の版の情報を比較することで、ノード１のデータ受領部１６で保持する“データＡ”の版が最新の版であるか否かを判別する（ステップＡ２）。
【００２８】
ステップＡ２の処理の結果、「ＮＯ」と判別された場合には、ノード１の版管理部１２は、最新版の“データＡ”を保持している可能性の高いノードに対し、最新版のデータの取得要求を行なう（ステップＡ３）。ここでは、要求を行なうノードは、“データＡ”を保保持しているノードのうち、トークンを最後に送信してからの経過時間が最も短い、ノード、つまりノード４である。
【００２９】
ステップＡ３の処理により、ノード１のデータ受領部１６が、要求を行なったノードから、版が最新である“データＡ”を受信した場合には（ステップＡ４）、ノード受領部１６は、このデータを、既に当該データ受領部１６に記憶される“データＡ”と差し替える（ステップＡ５）。
【００３０】
ノード１の版管理部１２は、当該版管理部１２で保持している、“データＡ”の版の情報を、ステップＡ４の処理で受信した“データＡ”に含まれる、当該“データＡ”の版の情報に更新する（ステップＡ６）。
【００３１】
ステップＡ６の処理後、または、ステップＡ２の処理で「ＹＥＳ」と判別された場合には、ノード１のデータ配信部１５は、データ受領部１６に記憶されている、版が最新である“データＡ”をノード２に送信する（ステップＡ７）。
【００３２】
ノード２による処理動作の説明に戻る。ノード２のデータ受領部１６が、ステップＡ７の処理により送信された、最新版の“データＡ”を受信すると（ステップＳ５）、ノード受領部１６は、このデータを、既に当該データ受領部１６に記憶される“データＡ”と差し替える（ステップＳ６）。
【００３３】
ステップＳ６の処理後、または、ステップＳ３の処理で「ＹＥＳ」と判別された後に、ノード２のデータ更新部１４が、データ受領部１６に記憶される“データＡ”の更新を行なった場合（ステップＳ７）には、版管理部１２は、当該版管理部１２で保持している、“データＡ”の版の情報、および、ステップＳ２の処理で保持したトークンに記述される“データＡ”の版の情報を、ステップＳ７の処理により更新されてデータ受領部１６に記憶された“データＡ”の版の情報に更新する（ステップＳ８）。ここでは、“データＡ”の更新後の版は“２．０”であるとする。
【００３４】
ステップＳ８までの処理がなされた場合の、トークンの配布先管理情報の内容を図７に示す。また、ステップＳ８までの処理がなされた場合の、トークンの版管理情報の内容を図８に示す。図７は、本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの配布先管理情報の構成例を表にして説明する図である。図８は、本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの版管理情報の構成例を表にして説明する図である。
【００３５】
図７に示したように、ステップＳ８までの処理がなされた場合の、トークン中の配布先管理情報の内容は、図２に示した内容と同じであるが、図８に示したように、ステップＳ８までの処理がなされた場合の、トークン中の配布先管理情報は、図３に示した内容と比較して、“データＡ”の版の情報が“１．０”から“２．０”に更新されている。
【００３６】
ステップＳ８の処理後、ノード２のデータ配信部１５は、排他制御部１１が保持するトークンの配布先管理情報中の、データ保持ノードの情報を参照して、“データＡ”を、当該“データＡ”の保持対象であるノードに送信する（ステップＳ９）。
【００３７】
図７に示したように、トークンの配布先管理情報中の、データ保持ノードの情報では、“データＡ”に対し、“ノードＡ”，“ノードＢ”および“ノードＣ”が対応付けられているので、“データＡ”の送信対象のノードはノード１およびノード３である。
【００３８】
そして、ノード２の排他制御部１１は、ステップＳ２の処理で保持したトークンの配布先管理情報中の、トークンの巡回経路の情報を参照して、トークンの次の巡回対象のノードに対し、当該トークンを送信する（ステップＳ１０）。
【００３９】
図７に示したように、トークンの配布先管理情報中の巡回経路の情報では、“ノードＢ”からのトークンの巡回対象のノードが“ノードＣ”であると記述されているので、トークンの巡回対象のノードはノード３である。ステップＳ１０の処理を行なうと、排他制御部１１は、ステップＳ２の処理で保持したトークンを消去する。
【００４０】
このような処理を行なうことで、複数のノードのうち、トークンを保持しているノードだけが、同一種類のデータの更新処理を行なうことができ、かつ、この更新したデータを他のノードに送信することができる。よって、ネットワーク接続された複数のノード間で最新のデータを常に共有することができる。また、それぞれのノードでデータを記憶するので、いずれかのノードの動作が停止した場合でも、トークンの送信順のスキップなどを行なうことで、その他のノード間での最新データの共有を維持することができるので、各ノードと別のデータ処理装置にデータを格納する形態と比較して、データ共有に関する信頼性が高い。  ここまでの説明では、データの更新を行なったノードが、この更新したデータを、当該データの保持対象のノードに対して自動的に送信する形態としたが、これに限らず、例えば１つのノードが“データＡ”の更新を行なった場合に、このデータの保持対象である各ノードに対し、“データＡ”に関する更新通知を示す信号を送信し、“データＡ”の保持対象のノードは、“データＡ”の更新を行なったノードからの更新通知を示す信号を受信した場合に、この受信した信号の送信元のノードに対して、更新後の“データＡ”の送信要求を行ない、この要求にしたがって、“データＡ”の更新を行なったノードが、“データＡ”の送信要求を行なったノードに、更新後の“データＡ”を送信する形態としてもよい。
【００４１】
次に、第２の処理動作として、ノード３が、“データＣ”を新たに保持する場合の各ノードの処理動作について説明する。この第２の処理動作は、前述した第１の処理動作の終了後に引き続き行なう処理動作であるとして説明する。
【００４２】
図９は、本発明の実施形態にしたがったコンピュータシステムのノード３によるデータ保持状態の更新にかかる処理動作の一例を示すフローチャートである。  
まず、ノード３の排他制御部１１が、ノード２から送信されたトークンを受信して（ステップＢ１）、これを保持した（ステップＢ２）後に、ノード３の版管理部１２が、新たに保持したい“データＣ”の最新版の取得要求を示す信号を、当該“データＣ”の最新版を持っている可能性の高いノードに送信した（ステップＢ３）と仮定する。ノード３がステップＢ３の処理を行なうには、ステップＢ２の処理によりトークンを保持しなければならない。ここでは、要求対象のノードは、“データＣ”を保持し、かつトークンを最後に送信してからの経過時間が最も短いノード、つまり、ノード２である。
【００４３】
ノード２による処理動作の説明に移る。図１０は、本発明の実施形態にしたがったコンピュータシステムのノード２によるデータ保持状態の更新にかかる処理動作の一例を示すフローチャートである。  
ノード２は、“データＣ”の最新版をノード３に送信する。ノード２は、前述したステップＡ１〜Ａ７の処理とほぼ同様の同じ処理（ステップＣ１〜Ｃ７）を行なう。ここでは、ステップＡ１〜Ａ７の説明における“ノード１”を“ノード２”に読み替え、かつ、ステップＡ１〜Ａ７の説明における“データＡ”を“データＣ”に読み替えればよい。
【００４４】
ノード３による処理動作の説明に戻る。ノード３のデータ受領部１６が、ノード２から送信された、最新版の“データＣ”を受信する（ステップＢ４）と、データ受領部１６は、このデータを当該データ受領部１６のデータ格納用メモリに格納する。そして、ノード３の版管理部１２は、ノード２からの“データＣ”の版の情報を記述した版管理情報を生成して、これを版管理部１２のメモリに記憶する（ステップＢ５）。
【００４５】
ノード３の配布先管理部１３は、ステップＢ２の処理で保持したトークンに記述される“データＣ”の保持ノードの情報に、ノード３の識別情報（ノードＣ）を追記して、この情報を、配布先管理部１３のメモリに格納する。
【００４６】
ステップＢ６までの処理がなされた場合の、トークンの配布先管理情報の内容を図１１に示す。また、ステップＢ６までの処理がなされた場合の、トークンの版管理情報の内容を図１２に示す。図１１は、本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの配布先管理情報の構成例を表にして説明する図である。図１２は、本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの版管理情報の構成例を表にして説明する図である。
【００４７】
図１２に示したように、ステップＢ６までの処理がなされた場合の、トークン中の版管理情報は、図８に示した内容と同じであるが、図１１に示したように、ステップＢ６までの処理がなされた場合の、トークン中の配布先管理情報は、図７に示した内容と比較して、“データＣ”の保持ノードの情報に“ノードＣ”が追記されている。
【００４８】
ステップＢ６の処理後、ノード３の排他制御部１１は、ステップＢ２の処理で保持したトークンの配布先管理情報中の、トークンの巡回経路の情報を参照して、トークンの次の巡回対象のノードに対し、当該トークンを送信する（ステップＢ７）。
【００４９】
図１１に示したように、トークンの配布先管理情報中の巡回経路の情報では、“ノードＣ”からのトークンの巡回対象のノードが“ノードＤ”であると記述されているので、トークンの巡回対象のノードはノード４である。ステップＢ７の処理を行なうと、排他制御部１１は、ステップＢ２の処理で保持したトークンを消去する。
【００５０】
このような処理を行なうことで、複数のノードのうち、何れかのノードが現在保持しているデータの種別と異なる受別のデータを保持したい場合に、このノードは、他のノードから、保持したい最新版のデータを取得して、これを保持することができる。
【００５１】
次に、第３の処理動作として、ノード４が、“データＣ”の保持を中止する場合の各ノードの処理動作について説明する。この第３の処理動作は、前述した第２の処理動作の終了後に引き続き行なう処理動作であるとして説明する。
【００５２】
図１３は、本発明の実施形態にしたがったコンピュータシステムのノード３によるデータ保持の中止にかかる処理動作の一例を示すフローチャートである。  
ノード４の排他制御部１１は、ノード３からのトークンを受信すると（ステップＤ１）、これを排他制御部１１内のメモリに保持する（ステップＤ２）。ステップＤ２の処理後、ノード４の配布先管理部１３は、データ受領部１６に保持される“データＣ”を削除する（ステップＤ３）。そして、配布先管理部１３は、この配布先管理部１３に記憶される配布先管理情報、および、ステップＤ２の処理で受信したトークン中の配布先管理情報で記述される、“データＣ”の保持ノードの情報から、ノード４の識別情報である“ノードＤ”を削除する（ステップＤ４）。
【００５３】
ステップＤ４までの処理がなされた場合の、トークンの配布先管理情報の内容を図１４に示す。また、ステップＤ４までの処理がなされた場合の、トークンの版管理情報の内容を図１５に示す。図１４は、本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの配布先管理情報の構成例を表にして説明する図である。図１５は、本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの版管理情報の構成例を表にして説明する図である。
【００５４】
図１５に示したように、ステップＤ４までの処理がなされた場合の、トークン中の版管理情報は、図１２に示した内容と同じであるが、図１４に示したように、ステップＤ４までの処理がなされた場合の、トークン中の配布先管理情報は、図１１に示した内容と比較して、“データＣ”の保持ノードの情報から“ノードＤ”が削除されている。
【００５５】
ステップＤ４の処理後、ノード４の排他制御部１１は、ステップＤ２の処理で保持したトークンの配布先管理情報中の、トークンの巡回経路の情報を参照して、トークンの次の巡回対象のノードに対し、当該トークンを送信する（ステップＤ５）。
【００５６】
図１４に示したように、トークンの配布先管理情報中の巡回経路の情報では、“ノードＤ”からのトークンの巡回対象のノードが“ノードＡ”であると記述されているので、トークンの巡回対象のノードはノード１である。ステップＤ５の処理を行なうと、排他制御部１１は、ステップＤ２の処理で保持したトークンを消去する。
【００５７】
このような処理を行なうことで、複数のノードのうち、何れかのノードが現在保持しているデータの保持を中止する場合に、他のノードは、この保持を中止した種別のデータを、保持の中止を行なったノードに対して以後送信しない。
【００５８】
次に、第４の処理動作として、“データＢ”を保持するノード５（図１参照）が、ネットワークに加入する場合の各ノードの処理動作について説明する。この第４の処理動作は、前述した第３の処理動作の終了後に引き続き行なう処理動作であるとして説明する。
【００５９】
図１６は、本発明の実施形態にしたがったコンピュータシステムのノード５によるネットワークへの加入にかかる処理動作の一例を示すフローチャートである。  
まず、ノード５は近隣のノードを判別する。この近隣のノードはノード４であるとする。ノード５は、近隣のノードであるノード４に、当該ノード５の、トークンの巡回先への登録依頼を示す信号を送信する（ステップＥ１）。この送信された信号には、ノード５が保持するデータの識別情報（データＢ）が含まれる。
【００６０】
ノード４による処理動作の説明に移る。図１７は、本発明の実施形態にしたがったコンピュータシステムのノード５がネットワークへの加入を行なう場合の、ノード４の処理動作の一例を示すフローチャートである。  
ノード４の版管理部１２は、ステップＥ１の処理によりノード５から送信された信号を受信する（ステップＦ１）と、版管理部１２で保持する版管理情報に“データＢ”の版の情報が含まれる、つまり、ノード４のデータ受領部１６が“データＢ”を保持しているか否かを判別する（ステップＦ２）。
【００６１】
ステップＦ２の処理で「ＹＥＳ」と判別された場合には、ノード４は、ノード３からのトークンを受信するまで待機する。この場合、ノード４のデータ受領部１６が保持している“データＢ”の版は最新であるとする。
【００６２】
一方、ステップＦ２の処理で「ＮＯ」と判別された場合には、ノード４は、前述したステップＡ３〜Ａ６の処理とほぼ同様の同じ処理（ステップＦ３〜Ｆ６）を行なう。ここでは、ステップＡ３〜Ａ６の説明における“ノード１”を“ノード４”に読み替え、かつ、ステップＡ３〜Ａ６の説明における“データＡ”を“データＢ”に読み替えればよい。
【００６３】
ステップＦ６の処理後、または、ステップＦ２の処理で「ＹＥＳ」と判別された場合で、ノード４の排他制御部１１が、ノード３からのトークンを受信して（ステップＦ７）これを排他制御部１１内に保持した場合（ステップＦ８）には、ノード４の配布先管理部１３は、ステップＦ８の処理で保持したトークンに記述される“データＢ”の保持ノードの情報、および、トークンの巡回経路の情報に、ノード５の識別情報（ノードＥ）を追記して、この情報を、配布先管理部１３のメモリに格納する（ステップＦ９）。
【００６４】
ステップＦ９までの処理がなされた場合の、トークンの配布先管理情報の内容を図１８に示す。また、ステップＦ９までの処理がなされた場合の、トークンの版管理情報の内容を図１９に示す。図１８は、本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの配布先管理情報の構成例を表にして説明する図である。図１９は、本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの版管理情報の構成例を表にして説明する図である。
【００６５】
図１９に示したように、ステップＦ９までの処理がなされた場合の、トークン中の版管理情報は、図１５に示した内容と同じであるが、図１８に示したように、ステップＦ９までの処理がなされた場合の、トークン中の配布先管理情報は、図１４に示した内容と比較して、“データＢ”の保持ノードの情報、および、トークンの巡回経路の情報に“ノードＥ”が追記されている。
【００６６】
ステップＦ９の処理後、ノード４のデータ配信部１５は、データ受領部１６に記憶されている、版が最新である“データＢ”をノード５に送信する（ステップＦ１０）。
【００６７】
そして、ノード４の排他制御部１１は、ステップＦ８の処理で保持したトークンの配布先管理情報中の、トークンの巡回経路の情報を参照して、トークンの次の巡回対象のノードに対し、当該トークンを送信する（ステップＦ１１）。
【００６８】
図１８に示したように、トークンの配布先管理情報中の巡回経路の情報では、“ノードＤ”からのトークンの巡回対象のノードが“ノードＥ”であると記述されているので、トークンの巡回対象のノードはノード５である。ステップＦ１１の処理を行なうと、排他制御部１１は、ステップＦ８の処理で保持したトークンを消去する。
【００６９】
ノード５による処理動作の説明に戻る。ノード５のデータ受領部１６は、ノード４からの最新版の“データＢ”を受信すると（ステップＥ２）、これをデータ受領部１６内に格納する。また、版管理部１２は、版管理情報で示される“データＢ”の版の情報を最新の版に更新する（ステップＥ３）。
【００７０】
このような処理を行なうことで、ネットワークと接続されていないノードが、当該ネットワークへの加入を行なった場合には、この加入したノードが保持するデータの最新版のデータを、既にネットワークに加入しているノードから送信することができる。
【００７１】
次に、第５の処理動作として、ノード１が意図的にネットワークから離脱する場合のノードＡの処理動作について説明する。この第５の処理動作は、前述した第４の処理動作の終了後に引き続き行なう処理動作であるとして説明する。
【００７２】
図２０は、本発明の実施形態にしたがったコンピュータシステムのノード１によるネットワークからの離脱にかかる処理動作の一例を示すフローチャートである。  
ここで、ノード１によるネットワークからの離脱にかかる処理は、トークンを保持している状態に限り行なうことができる。ノード１の排他制御部１１が、ノード５からのトークンを受信して（ステップＧ１）、かつ、これを排他制御部１１内に保持した（ステップＧ２）状態で、ノード１の配布先管理部１３は、ネットワークからの離脱のために、この配布先管理部１３に記憶される配布先管理情報、および、ステップＧ１の処理で受信したトークン中の配布先管理情報で記述される、全ての種別のデータの保持ノードの情報、および、トークンの巡回経路の情報から、ノード１の識別情報である“ノードＡ”を削除する（ステップＧ３）。また、配布先管理部１３は、トークンの巡回経路の情報から、トークンの次の巡回対象のノードの識別情報（ノードＢ）を一時的に記憶する。
【００７３】
ステップＧ３までの処理がなされた場合の、トークンの配布先管理情報の内容を図２１に示す。また、ステップＧ３までの処理がなされた場合の、トークンの版管理情報の内容を図２２に示す。図２１は、本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの配布先管理情報の構成例を表にして説明する図である。図２２は、本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの版管理情報の構成例を表にして説明する図である。
【００７４】
図２２に示したように、ステップＧ３までの処理がなされた場合の、トークン中の版管理情報は、図１９に示した内容と同じであるが、図２１に示したように、ステップＧ３までの処理がなされた場合の、トークン中の配布先管理情報は、図１８に示した内容と比較して、全ての種別のデータの保持ノードの情報、および、トークンの巡回経路の情報からに“ノードＡ”が削除されている。
【００７５】
そして、ノード１の排他制御部１１は、ステップＧ２の処理で保持したトークンの配布先管理情報中の、トークンの巡回経路の情報を参照して、トークンの次の巡回対象のノードに対し、当該トークンを送信する（ステップＧ４）。
【００７６】
前述したように、ノード１の配布先管理部１３が一時的に記憶している、トークンの巡回対象のノードの識別情報は“ノードＢ”であるので、トークンの巡回対象のノードはノード２である。ステップＧ４の処理を行なうと、ノード１はネットワークから離脱する（ステップＧ５）。
【００７７】
このような処理を行なうことで、ネットワークに加入している、つまり、トークンの巡回対象となっているノードが意図的にネットワークから離脱する場合には、他のノードは、この離脱したノードに対し、以後はデータを送信しない。
【００７８】
この処理後に、ノード２が、意図せずにネットワークから離脱した場合は、ノード５がノード２へトークンを送信しても送信エラーとなる。この場合には、ノード５の排他制御部１１は、保持しているトークン中の配布先管理情報に従い、ノード２からのトークンの送信先であるノード３にトークンを送信する。この場合、トークン中の情報に、ノード２の識別情報（ノードＢ）は残る。
【００７９】
以上説明したコンピュータシステムでは、ノード間のネットワークはリング型であったが、これに限らず、例えば、メッシュ型、ツリー型、スター型、または、バス型であっても良い。また、ネットワークがメッシュ型の場合、このネットワークは、ピュアＰ２Ｐ型でも、ハイブリッドＰ２Ｐ型であっても良い。
【００８０】
また、以上説明したコンピュータシステムでは、各ノードのうちいずれか１つでも保持している全ての種別のデータに関する配布先情報と版管理情報を記述した単一のトークンを巡回させたが、これに限らず、予め定めたグループに属するデータに関するトークンをそれぞれ巡回させてもよいし、“データＡ”に関するトークン（図２３、図２４参照）を第１のトークンとして、“データＢ”に関するトークン（図２５、図２６参照）を第２のトークンとして、“データＣ”に関するトークン（図２７、図２８参照）を第３のトークンとして、それぞれ個別に巡回させてもよい。このようにトークンを細分化すれば、トークンの巡回対象のノードの数が多い場合でも、複数種類のデータ処理にかかる効率を向上させることができる。
【００８１】
また、更新を行なったデータを各ノードに送信するには、更新したデータ全体を送信しても良いし、更新差分だけを送信してもよい。
【００８２】
また、データの保持状況を変更する場合、トークン中の配布先管理情報の変更を、保持状況を変更するノード自身ではなく、近隣のノードが行なうようにしてもよい。
【００８３】
また、各ノードが、近隣ノードを検出する際には、ブロードキャストによる検出を行っても良いし、既存の情報をもとに静的に検出しても良い。
【００８４】
また、ノードがトークンを保持したまま意図しない離脱を行った場合、サーバあるいはその権限を持つノードがトークンの再生成を行なってもよいし、予め予備のトークンを巡回させておいてもよいし、また、一定時間後に任意のノードがトークンの再生成を行なうようにしてもよい。この場合、古いトークンはその効力を失う。そのため、トークン自体にもバージョンに相当する情報を持たせても良い。
【００８５】
また、ノードが新たにデータを保持する場合、また、ネットワークへの加入や再加入を行なう場合の最新版データの取得を行なうために、配布先管理情報をもとに、同データを保持しているノードを選択し、巡回経路の逆順に（このトークンを受け取る前のノードよりも、送ってきたノードの方が最新版を保持している確率が高いため）、データ送信を要求してもよいし、ブロードキャストを行ない、当該データを持つノードのうち、最も応答の早いノードや、距離の近いノードを検知し、そのノードに対してデータの送信を要求してもよい。
【００８６】
また、ネットワークが、クライアント／サーバ型やハイブリッド型Ｐ２Ｐである場合には、ノードによるデータ保持状況の変更時や、ネットワークへの加入または離脱時の配布先管理情報の変更や最新版データの取得を、サーバが行なうようにしても良い。
【００８７】
また、トークンの巡回先のノードから受信応答が無い場合には、トークンを送信したノードは、巡回先のスキップをおこなってもよいし、受信応答が無いノードに対してトークンの再送を行なっても良い。
【００８８】
また、トークンを受信するノードは、トークンの巡回が正常に行なわれていない、例えば一定時間が経過しても、トークンが巡回されてこない場合には、送信元であるノードに対してトークンの再送要求を行なっても良い。
【００８９】
また、トークンを送信するノードは、トークンの規定回数の再送を行なう、または規定回数の巡回を行なってもエラーが解消されない場合は、該当する受信先のノードの識別情報を配布先管理情報から削除しても良い。
【００９０】
また、各ノードによる、データ取得時ならびにデータ同期時に、送信元のノードは、相手先のノードから応答が無い場合には、データの送信を中止してもよいし、データの再送を行ってもよい。また、受信側のノードは、本来送られてくるはずのデータが正常に送られてこないと判断した場合には、他のノードからデータを受信するようにしてもよいし、送信元のノードに対し、データの再送要求を行ってもよい。
【００９１】
なお、この発明は、前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を省略してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００９２】
【図１】本発明の実施形態にしたがったコンピュータシステムの概要の一例を示すブロック図。
【図２】本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの配布先管理情報の構成例（その１）を表にして説明する図。
【図３】本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの版管理情報の構成例（その１）を表にして説明する図。
【図４】本発明の実施形態にしたがったコンピュータシステムのノード１の内部回路の構成例を示すブロック図。
【図５】本発明の実施形態にしたがったコンピュータシステムのノード２によるデータ更新にかかる処理動作の一例を示すフローチャート。
【図６】本発明の実施形態にしたがったコンピュータシステムのノード１によるデータ更新にかかる処理動作の一例を示すフローチャート。
【図７】本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの配布先管理情報の構成例（その２）を表にして説明する図。
【図８】本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの版管理情報の構成例（その２）を表にして説明する図。
【図９】本発明の実施形態にしたがったコンピュータシステムのノード３によるデータ保持状態の更新にかかる処理動作の一例を示すフローチャート。
【図１０】本発明の実施形態にしたがったコンピュータシステムのノード２によるデータ保持状態の更新にかかる処理動作の一例を示すフローチャート。
【図１１】本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの配布先管理情報の構成例（その３）を表にして説明する図。
【図１２】本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの版管理情報の構成例（その３）を表にして説明する図。
【図１３】本発明の実施形態にしたがったコンピュータシステムのノード３によるデータ保持の中止にかかる処理動作の一例を示すフローチャート。
【図１４】本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの配布先管理情報の構成例（その４）を表にして説明する図。
【図１５】本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの版管理情報の構成例（その４）を表にして説明する図。
【図１６】本発明の実施形態にしたがったコンピュータシステムのノード５によるネットワークへの加入にかかる処理動作の一例を示すフローチャート。
【図１７】本発明の実施形態にしたがったコンピュータシステムのノード５がネットワークへの加入を行なう場合の、ノード４の処理動作の一例を示すフローチャート。
【図１８】本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの配布先管理情報の構成例（その５）を表にして説明する図。
【図１９】本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの版管理情報の構成例（その５）を表にして説明する図。
【図２０】本発明の実施形態にしたがったコンピュータシステムのノード１によるネットワークからの離脱にかかる処理動作の一例を示すフローチャート。
【図２１】本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの配布先管理情報の構成例（その６）を表にして説明する図。
【図２２】本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回するトークンの版管理情報の構成例（その６）を表にして説明する図。
【図２３】本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回する第１のトークンの配布先管理情報の構成例を表にして説明する図。
【図２４】本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回する第１のトークンの版管理情報の構成例を表にして説明する図。
【図２５】本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回する第２のトークンの配布先管理情報の構成例を表にして説明する図。
【図２６】本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回する第２のトークンの版管理情報の構成例を表にして説明する図。
【図２７】本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回する第３のトークンの配布先管理情報の構成例を表にして説明する図。
【図２８】本発明の実施形態にしたがったコンピュータシステムの各ノードの間で巡回する第３のトークンの版管理情報の構成例を表にして説明する図。
【符号の説明】
【００９３】
１，２，３，４，５…ノード、１１…排他制御部、１２…版管理部、１３…配布先管理部、１４…データ更新部、１５…データ配信部、１６…データ受領部。
【図１】
2006259863.tif 000003
【図２】
2006259863.tif 000004
【図３】
2006259863.tif 000005
【図４】
2006259863.tif 000006
【図５】
2006259863.tif 000007
【図６】
2006259863.tif 000008
【図７】
2006259863.tif 000009
【図８】
2006259863.tif 000010
【図９】
2006259863.tif 000011
【図１０】
2006259863.tif 000012
【図１１】
2006259863.tif 000013
【図１２】
2006259863.tif 000014
【図１３】
2006259863.tif 000015
【図１４】
2006259863.tif 000016
【図１５】
2006259863.tif 000017
【図１６】
2006259863.tif 000018
【図１７】
2006259863.tif 000019
【図１８】
2006259863.tif 000020
【図１９】
2006259863.tif 000021
【図２０】
2006259863.tif 000022
【図２１】
2006259863.tif 000023
【図２２】
2006259863.tif 000024
【図２３】
2006259863.tif 000025
【図２４】
2006259863.tif 000026
【図２５】
2006259863.tif 000027
【図２６】
2006259863.tif 000028
【図２７】
2006259863.tif 000029
【図２８】
2006259863.tif 000030