(57)【特許請求の範囲】
【請求項１】
複数のノードから成るネットワークに接続され、前記ノードとの間でファイルを分散的に共有するコンピュータにおいて実行されるファイル共有プログラムであって、
前記コンピュータは、ファイルの実体，ファイルのリスト及びファイルのプロファイル情報を格納する記憶手段を有し、
前記ファイルのプロファイル情報に対する変更申請を他ノードから受信すると、前記変更申請に含まれる前記変更申請に対する他ノードの賛意数を確認するステップと、
前記変更申請に対する他ノードの賛意数が所定量を超えていれば、前記変更申請を前記ファイルのプロファイル情報に対する変更指示へと昇格させ、前記変更指示を他ノードに伝播すると共に、前記変更指示に応じて前記記憶手段に格納されている前記ファイルのプロファイル情報を変更するステップと、
前記変更申請に対する他ノードの賛意数が所定量を超えていなければ、自ノードの前記変更申請に対する賛意を前記賛意数に反映させたあと、前記変更申請を他ノードに伝播するステップと
を実行するファイル共有プログラム。
【請求項２】
前記変更申請が競合すると、それぞれの変更申請に対する他ノードの賛意数を集約して比較し、所定時間内に所定量の賛意数を得られた場合に、前記変更申請を前記ファイルのプロファイル情報に対する変更指示へと昇格させ、前記変更指示を他ノードに伝播すると共に、前記変更指示に応じて前記記憶手段に格納されている前記ファイルのプロファイル情報を変更するステップを更に実行する請求項１記載のファイル共有プログラム。
【請求項３】
前記ファイルのプロファイル情報に対する変更申請および変更指示は、前記プロファイル情報の項目名及び項目内容を格納する項目フィールドを有するフォーマットで作成されていることを特徴とする請求項１又は２記載のファイル共有プログラム。
【請求項４】
前記変更申請が競合すると、それぞれの変更申請に賛意を示した他ノードに対し、賛意確認を行なうステップを更に実行する請求項２記載のファイル共有プログラム。
【請求項５】
複数のノードから成るネットワークに接続され、前記ノードとの間でファイルを分散的に共有するファイル共有装置であって、
ファイルの実体，ファイルのリスト及びファイルのプロファイル情報を格納する記憶手段と、
前記ファイルのプロファイル情報に対する変更申請及び変更指示を受信及び発信する通信手段と、
前記ファイルのプロファイル情報に対する変更申請を他ノードから受信すると、前記変更申請に含まれる前記変更申請に対する他ノードの賛意数を確認し、
前記変更申請に対する他ノードの賛意数が所定量を超えていれば、前記変更申請を前記ファイルのプロファイル情報に対する変更指示へと昇格させ、前記通信手段経由で前記変更指示を他ノードに伝播すると共に、前記変更指示に応じて前記記憶手段に格納されている前記ファイルのプロファイル情報を変更する一方、
前記変更申請に対する他ノードの賛意数が所定量を超えていなければ、自ノードの前記変更申請に対する賛意を前記賛意数に反映させたあと、前記変更申請を前記通信手段経由で他ノードに伝播する処理手段と
を有するファイル共有装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル共有プログラムおよびファイル共有装置に係り、特に複数のノードから成るネットワーク上でファイルを分散的に共有するファイル共有プログラムおよびファイル共有装置に関する。
【背景技術】
【０００２】
近年、Ｐ２Ｐ（Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）ネットワークおよびＰ２Ｐネットワークを利用した企業内グループウェアが良く利用されている。Ｐ２Ｐネットワークでは、複数のＰ２Ｐノードがネットワークを構成し、Ｐ２Ｐノード間で分散的にファイルを共有することができる。
【０００３】
Ｐ２Ｐノードは、ファイル（ファイルの実体）を格納する為の記憶装置を持ち、その記憶装置に格納されているファイルの実体（ファイル実体）をＰ２Ｐノード間でコピーすることで、ファイル実体を分散的に共有する。すなわち、ネットワーク全体を見ると、ある同一のファイルは複数のＰ２Ｐノードで保持されている。
【０００４】
Ｐ２Ｐネットワークの実際の実装としては、ファイル実体をＰ２Ｐノード間で分散して共有し、ファイルのリスト（ファイルリスト）を何らかのサーバを設けて集中管理する方法と、ファイルリストを含めてＰ２Ｐノード間でファイル実体を分散共有し、サーバレスで分散管理する方法との２つの方法がある。ここでは、後者のファイルリストを分散管理する実装手法を例に説明する。
【０００５】
図１はＰ２Ｐネットワークの一例の構成図である。図１のＰ２Ｐネットワークは、Ｐ２Ｐノード（以下、単にノードという）１〜４で構成されている。また、図１のＰ２Ｐネットワークは、ファイルリストをファイル名とファイル実体ポインタとによって構成している。ファイル実体ポインタは、ファイル実体へのポインタである。
【０００６】
ファイル実体ポインタは、自ノードのファイル実体記憶装置の記憶領域を指している場合もあれば、他ノードのファイル実体記憶装置の記憶領域を指している場合もある。ファイル実体ポインタにおいて両者を統一的に表現する書式は、各実装に依存する。
【０００７】
Ｐ２Ｐネットワークにおいて、あるファイルを共有し始めるにあたり、ファイルを公開しようとするノードは、公開するファイルのファイル名を決め、ファイル実体ポインタが自ノードのファイル実体記憶装置を指すファイルリストのエントリをＰ２Ｐネットワークへ公開する。
【０００８】
このファイルリストのエントリは、ノードを次々と伝播していき、各ノードが保持するファイルリストへ追加される。Ｐ２Ｐネットワークでは、ファイルリストのエントリが各ノードの保持するファイルリストに追加されることにより、ノード間で分散的にファイルリストが共有されることになる。
【０００９】
次に、ファイルを検索するノードは、取得したいファイルのファイル名の少なくとも一部をキーワードとして、検索要求を自ノードとコネクションを張っている他ノードへ発信する。図１は、ノード１がファイル名「ｍｎ」をキーワードとして、ノード２〜４へ検索要求を発信した例を表している。
【００１０】
検索要求はＰ２Ｐネットワーク内を次々に伝播していく。検索要求を受信したノードは保持しているファイルリストを検索する。該当するエントリがある場合、ノードはファイル名とファイル実体ポインタとを含む検索結果を、検索要求の発信元であるノード（発信元ノード）へ返信する。
【００１１】
図１は該当するエントリがノード４にあり、ノード４からファイル名「ｍｎｏｐ」とファイル実体ポインタ「ｐｔｒ−ｍｎｏｐ」とを含む検索結果をノード１へ返信した例を表している。
【００１２】
この結果、一定時間後、発信元ノードは複数の検索結果を受信する。発信元ノードは複数の検索結果の中から何らかの選択基準によって検索結果を選択し、その選択した検索結果に含まれるファイル実体ポインタが指すノードとコネクションを張り、該当するファイル実体をコピーし、取得する。
【００１３】
上述の選択基準としては、例えばファイル名全体を参照し、より適切なファイル名であるとか、ファイル実体ポインタが指す他ノードと自ノードとの距離が近いとか、ファイル実体ポインタが指す他ノードと自ノードとの間の通信帯域が広いとかが挙げられる。
【００１４】
また、ファイル実体ポインタが指す他ノードと自ノードとの間のファイル転送用のコネクションは、直接、ノード間で張られる場合もあるし、１つ以上の他ノードを介在して張られる場合もある。後者の場合は、仲介した他ノードにおいても対象のファイル実体がコピーされ、以降、仲介した他ノードが対象のファイル実体を保持するケースもある。このようにして、ファイル実体は複数のノードでコピーされ、ノードによって分散的に保持されることになる。
【００１５】
ところで、一般的に現在普及しているＰ２Ｐネットワークは、ファイル名のみによってファイルをノード間で共有しているが、例えば図２のように、ファイル名に加えて、そのファイルのプロファイル（ファイルプロファイル）をノード間で共有するものもある（例えば特許文献１参照）。ファイルプロファイルは、ファイルのメタデータとも言い、ファイルに付随する属性情報である。
【特許文献１】特開２００４−１８５６１８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
ファイルプロファイルとは、例えばワープロソフト用ファイルならば、表題，副題，作成者，版数等であり、画像又は動画ファイルならば、そのエンコード方式等である。ファイルプロファイルに対し必要な項目は、ファイルの種類毎（例えばワープロソフト用ファイル，画像ファイル等）に異なるものである。
【００１７】
従来のＰ２Ｐネットワークにおいて、ファイルプロファイルはファイル名と同様、ファイルを公開しようとするノードが、公開するファイルのファイルプロファイルを決め、ファイル名，ファイル実体ポインタ及びファイルプロファイルがセットになったファイルリストのエントリをＰ２Ｐネットワークへ公開する。
【００１８】
以降は、上述したようにファイルリストのエントリがＰ２Ｐネットワーク内を伝播していくことになる。一方、ファイル検索時は、検索要求を少なくとも一部のファイル名だけでなく、ファイルプロファイルも含めて作成できる。
【００１９】
しかしながら、従来のＰ２Ｐネットワークにおいて、共有するファイルプロファイルはファイルの発信元ノードが設定したものであり、既に共有済みであるファイルプロファイルを他ノードが、より好適なファイルプロファイルへ変更することができないという問題があった。
【００２０】
本発明は、上記の点に鑑みなされたもので、より好適なファイルプロファイルを複数のノードで協調作成できるファイル共有プログラムおよびファイル共有装置を提供することを目的とする。
【課題を解決するための手段】
【００２１】
上記課題を解決するため、本発明は、複数のノードから成るネットワークに接続され、前記ノードとの間でファイルを分散的に共有するコンピュータにおいて実行されるファイル共有プログラムであって、前記コンピュータは、ファイルの実体，ファイルのリスト及びファイルのプロファイル情報を格納する記憶手段を有し、前記ファイルのプロファイル情報に対する変更申請を他ノードから受信すると、前記変更申請に含まれる前記変更申請に対する他ノードの賛意数を確認するステップと、前記変更申請に対する他ノードの賛意数が所定量を超えていれば、前記変更申請を前記ファイルのプロファイル情報に対する変更指示へと昇格させ、前記変更指示を他ノードに伝播すると共に、前記変更指示に応じて前記記憶手段に格納されている前記ファイルのプロファイル情報を変更するステップと、前記変更申請に対する他ノードの賛意数が所定量を超えていなければ、自ノードの前記変更申請に対する賛意を前記賛意数に反映させたあと、前記変更申請を他ノードに伝播するステップとを実行することを特徴とする。
【００２２】
また、本発明は、複数のノードから成るネットワークに接続され、前記ノードとの間でファイルを分散的に共有するファイル共有装置であって、ファイルの実体，ファイルのリスト及びファイルのプロファイル情報を格納する記憶手段と、前記ファイルのプロファイル情報に対する変更申請及び変更指示を受信及び発信する通信手段と、前記ファイルのプロファイル情報に対する変更申請を他ノードから受信すると、前記変更申請に含まれる前記変更申請に対する他ノードの賛意数を確認し、前記変更申請に対する他ノードの賛意数が所定量を超えていれば、前記変更申請を前記ファイルのプロファイル情報に対する変更指示へと昇格させ、前記通信手段経由で前記変更指示を他ノードに伝播すると共に、前記変更指示に応じて前記記憶手段に格納されている前記ファイルのプロファイル情報を変更する一方、前記変更申請に対する他ノードの賛意数が所定量を超えていなければ、自ノードの前記変更申請に対する賛意を前記賛意数に反映させたあと、前記変更申請を前記通信手段経由で他ノードに伝播する処理手段とを有することを特徴とする。
【００２３】
本発明では、変更申請に対する賛意数が所定量を超えると、その変更申請が変更指示へ昇格され、その変更指示に基づいてファイルプロファイル情報が変更されるので、所定量以上の賛意数が得られなければファイルプロファイル情報の変更がなされない。言い換えれば、所定量以上の賛意数が得られた変更申請に基づいて、ファイルプロファイル情報は変更されていく。その結果、本発明ではファイルプロファイル情報を所定量以上のノードの賛意に基づいて協調作成することができる。
【発明の効果】
【００２４】
上述の如く、本発明によれば、より好適なファイルプロファイルを複数のノードで協調作成できるファイル共有プログラムおよびファイル共有装置を提供可能である。
【発明を実施するための最良の形態】
【００２５】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。
【００２６】
本発明は、上述した課題を解決するにあたり、以下の制約条件を満たす必要がある。元々従来のＰ２Ｐネットワークにおけるファイル共有は、すべてのノードで同じファイル実体及びファイルリストを持つような完全に同期したファイル共有モデルでなく、ある程度複数のノード間（例えば距離が近いもの同士や、過去の検索履歴に類似性があるもの同士など）で、ある程度同じファイル実体及びファイルリストを共有する、緩やかなファイル共有モデルとなっている。
【００２７】
このような緩やかなファイル共有モデルとすることで、従来のＰ２Ｐネットワークにおけるファイル共有では、システムのスケーラビリティが増し、極めて大規模なＰ２Ｐネットワークを実現可能としている。
【００２８】
本発明のＰ２Ｐネットワークにおけるファイル共有も従来のＰ２Ｐネットワークにおけるスケーラビリティの優位性を損なわないように、ファイルプロファイルの完全な同期を保証するものではなく、ある程度緩やかに収束するようなファイル共有モデルとする。
【００２９】
Ｐ２Ｐシステムは、新種のファイルや、既存ファイルに対する新項目追加への対応を考慮すると、あらかじめファイルプロファイルの項目名をシステムとして固定的に作りこんでおくことはできない。また、従来の固定的に作りこんでおくＰ２Ｐシステムは、新たなものに対応する際も、各ノードにインストール済みであるシステムをバージョンアップしなければならない。本発明のＰ２Ｐシステムは、システムをバージョンアップしないようにする。
【００３０】
そこで、本発明では上述の制約条件を以下のように満たす。本発明によるノードはファイルプロファイル変更申請を発信し、伝播させる。競合するファイルプロファイル変更申請があった場合、本発明によるノードは、それぞれのファイルプロファイル変更申請に対する賛意を集約し、比較し、選択する。その結果、他ノードから一定時間内に一定量の賛意を得られた場合、本発明によるノードはファイルプロファイル変更申請をファイルプロファイル変更指示へと昇格させ、そのファイルプロファイル変更指示を他ノードに伝播する。当該ファイルプロファイル変更指示が伝播することにより、ファイルプロファイルは変更される。
【００３１】
また、ファイルプロファイル変更申請フォーマット及びファイルプロファイル変更指示フォーマットは、図３に示すように、ファイルの種類に依存するファイルプロファイルの項目名の構成を、各ノードが設定可能なように、ノードが設定する項目名および項目内容を格納する項目フィールドを有している。
【００３２】
図３は、ファイルプロファイル変更申請フォーマット及びファイルプロファイル変更指示フォーマットの一例を表す構成図である。ファイルプロファイル変更申請フォーマット及びファイルプロファイル変更指示フォーマットは、申請・指示フラグと，申請・指示ＩＤと，申請時間と，指示時間と，申請元ノードと，ファイルＩＤと，項目フィールドと，賛意数とを有する。
【００３３】
申請・指示フラグは、申請または指示のどちらかを示すフラグである。申請・指示ＩＤは、自ノードのネットワークユニークなＩＤと申請時間等とを組み合わせて作成する。申請・指示ＩＤは、当該ファイルプロファイル変更申請をネットワークユニークに識別するＩＤである。申請時間は、当該ファイルプロファイル変更申請がノードによって申請された時間を示す。指示時間は、当該ファイルプロファイル変更申請がファイルプロファイル変更指示へと昇格した時間を示す。
【００３４】
申請元ノードは、当該ファイルプロファイル変更申請を発信したノードのネットワークユニークなＩＤを示す。ネットワークユニークなＩＤとは、例えばノードのＩＰアドレス等である。ファイルＩＤは、当該ファイルプロファイル変更申請及びファイルプロファイ変更指示が対象とするファイルのネットワークユニークなＩＤを示す。
【００３５】
一般的にＰ２Ｐネットワークでは、ファイルリストを完全に同期させているわけではないので、ノードがファイルを公開する際、既存ファイル名と重複しないファイル名であることを保証できない。そこで、本発明ではファイルをユニークに識別する手段としてファイルプロファイル変更申請フォーマット及びファイルプロファイル変更指示フォーマットにネットワークユニークなＩＤであるファイルＩＤを付与している。ファイルＩＤの作成方法としては、例えばネットワークユニークな自ＩＰアドレスと申請時間とを組み合わせて作成するといった方法が考えられる。
【００３６】
項目フィールドは、変更対象とするフィールドを示す。項目フィールドには、変更対象とするフィールドを格納する。項目フィールドには、項目名と項目内容とを格納する。項目名は、例えば「作成者」である。項目内容は、例えば「小島祐治」である。従来、項目名はファイルの種類（例えばワープロソフト用ファイル等）に依存して固定的に決まっていた。
【００３７】
本発明では、上述の制約条件を満たすため、項目名もノードが設定可能とする。項目名の追加は、ノードが有しているファイルリストにおいて、項目名および項目内容が空白となっている項目フィールドを変更するファイルプロファイル変更申請を発信することにより行なう。項目の削除は、ノードが有しているファイルリストにおいて、項目フィールドの項目名および項目内容を空白へと変更するファイルプロファイル変更申請を発信することにより行なう。賛意数は、当該ファイルプロファイル変更申請が、ノードを伝播する過程で得た賛意の数を示す。
【００３８】
なお、ノードが有しているファイルリストは、従来のファイルリストのように項目名をファイルの種類毎の固定的な値にするのではなく、項目フィールドを設け、項目名を項目フィールドの設定値とすることによって、新種のファイルや、既存ファイルに対する新項目追加への対応を、Ｐ２Ｐシステムのバージョンアップ無しで行えるようにしている。
【００３９】
次に、本発明によるファイルプロファイルの変更手順について説明する。図４は、本発明によるファイルプロファイル変更手順を表した一例のイメージ図である。まず、申請元ノードであるノード１は図３に示すファイルプロファイル変更申請フォーマットでファイルプロファイル変更申請を作成し、当該ファイルプロファイル変更申請を、Ｐ２Ｐネットワークにおいてコネクションを張っている複数のノードへ伝播させる。
【００４０】
ファイルプロファイル変更申請を受信したノードは、申請・指示ＩＤをキャッシュしておくことで、同一の申請・指示ＩＤのファイルプロファイル変更申請を重複して処理しないようにする。
【００４１】
また、新規の申請・指示ＩＤであった場合、ノードは申請時間をチェックし、Ｐ２Ｐシステムとして決められた一定時間を超えていれば、当該ファイルプロファイル変更申請を廃棄する。廃棄でなく、賛意数が一定量を超えていた場合、ノードはファイルリストのプロファイルを変更し、ファイルプロファイル変更申請をファイルプロファイル変更指示へと昇格させ、当該ファイルプロファイル変更指示を他ノードへ伝播させる。
【００４２】
廃棄及び昇格でなかった場合、ノードはファイルプロファイル変更申請を受信してからＰ２Ｐシステムとして決められた一定時間、ファイルプロファイル変更申請を保持する。ノードはファイルプロファイル変更申請を受信してからＰ２Ｐシステムとして決められた一定時間、ファイルプロファイル変更申請を保持したあと、当該ファイルプロファイル変更申請に賛成するならば、ファイルプロファイル変更申請の賛意数をカウントアップし、当該ファイルプロファイル変更申請を他ノードへ伝播させる。
【００４３】
ファイルプロファイル変更申請に賛成しないならば、ノードはファイルプロファイル変更申請の賛意数をカウントアップせず、そのまま他ノードへファイルプロファイル変更申請を伝播させる。ファイルプロファイル変更申請の有効期間が限られている為、ファイルプロファイル変更申請がファイルプロファイル変更指示へと昇格する確率は低くなる。
【００４４】
ファイルプロファイル変更申請を受信したノードのなかで、既に保持しているファイルプロファイル変更申請と変更対象とする項目フィールドが同一で、ファイルプロファイル変更申請が競合したノードであるノード５は、ファイルプロファイル変更申請の賛意数に基づき、競合するファイルプロファイル変更申請の中から一つのファイルプロファイル変更申請を選択し、他のファイルプロファイル変更申請を廃棄する。廃棄されたファイルプロファイル変更申請は、ファイルプロファイル変更指示へと昇格する確率が低くなる。
【００４５】
当該ファイルプロファイル変更申請を選択する際、ノード５は他ノードへ一定時間検索をかけ、同一のファイルプロファイル変更申請を自ノードへ集約し、賛意数をマージした上で、競合するファイルプロファイル変更申請の中から一つのファイルプロファイル変更申請を選択する。
【００４６】
複数のノードが集約処理を同時期に行う可能性があるが、その際は一方のノードが他方のノードへ集約処理を譲り、現状までの集約結果を送信する。この集約処理の譲渡の基準としては、例えばネットワークユニークなＩＤであるノードＩＤが若いノードが集約処理を譲り受ける。この集約処理の譲渡の基準は、何かしら統一的なルールを決めておけばよい。集約譲渡処理，集約処理，選択処理を行ったあと、ノード５は選択したファイルプロファイル変更申請を他ノードへ伝播させる。
【００４７】
ファイルプロファイル変更指示を受信したノードは、指示時間をチェックし、有効な期間内であれば自ノードのファイルリストのプロファイルを変更し、当該ファイルプロファイル変更指示を他ノードへ伝播させる。ノードは、あまりにも古いファイルプロファイル変更指示を廃棄する。
【００４８】
次に、ノードが新規にファイルを公開する公開手順について説明する。まず、ノードは新規に公開するファイルの種類に応じて、デフォルトで作ったファイルプロファイルの項目名でＰ２Ｐネットワークに対して検索を行なう。
【００４９】
検索を行った結果、既に同種のファイルが公開されていたならば、ノードは当該ファイルを参考にしてファイルプロファイルの項目名と項目内容とを埋めて公開する。検索を行った結果、新種のファイルである場合には、ノードが当該ファイルに必要と思われるファイルプロファイルの項目名と項目内容とを適切に埋めて公開する。なお、ファイルプロファイルの項目名と項目内容とは、ファイル共有プログラムが自動的に埋めて公開するようにしてもよいし、ユーザが埋めて公開するようにしてもよい。ファイルプロファイルの項目名と項目内容とをユーザが埋めて公開する場合、ノードはユーザにファイルプロファイルの項目名と項目内容とを決定させる画面を表示装置に表示する。
【００５０】
上述のように、本発明ではノードのファイルプロファイル変更申請に基づき、いきなりファイルリストのファイルプロファイルを変更しないことで、Ｐ２Ｐネットワークのファイル共有状態を、ある程度安定させることができる。また、本発明では競合するファイルプロファイル変更申請の賛意の集約処理及び選択処理を、Ｐ２Ｐネットワーク上の一箇所のサーバによって行うものでないため、Ｐ２Ｐネットワークのスケーラビリティを維持できる。さらに、本発明ではノードのファイルプロファイル変更申請が適切かどうかを複数のノードが協調して判断することで、より好適なファイルプロファイルを協調作成し、検索効率の向上を図ることができる。
【００５１】
本発明のファイル共有プログラムを実行するコンピュータのハードウェア構成について説明する。図５は本発明のファイル共有プログラムを実行するコンピュータの一実施例のハードウェア構成図である。
【００５２】
図５のコンピュータは、それぞれバスで相互に接続されている入力装置１１，出力装置１２，ドライブ装置１３，補助記憶装置１４，メモリ装置１５，演算処理装置１６及びインターフェース１７を有するように構成される。なお、コンピュータを構成する各種デバイスは、１つの筐体に収容してもよいし、複数の筐体に分散して収容してもよい。
【００５３】
入力装置１１はキーボード，マウス，タブレットなどの入力機器で構成され、様々な操作指示や情報を入力するために用いられる。出力装置１２は、ディスプレイやプリンタなどの出力機器で構成され、操作に必要な各種ウインドウや情報等を出力するために用いられる。インターフェース１７は、ネットワーク等に接続する為の機器であり、例えばＮＩＣ等で構成される。コンピュータを制御する各種プログラムは、ＣＤ−ＲＯＭ等の記録媒体１８によって提供される。各種プログラムを記録した記録媒体１８は、ドライブ装置１３にセットされる。各種プログラムは、記録媒体１８からドライブ装置１３を介して補助記憶装置１４にインストールされる。
【００５４】
なお、各種プログラムを記録した記録媒体１８は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク（ＭＯ）等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、又はＲＯＭ、フラッシュメモリなどの様に情報を電気的に記録する半導体メモリなど、様々なタイプの記録媒体を用いることが可能である。
【００５５】
また、各種プログラムはインターフェース１７を介して接続される他のコンピュータの記録媒体等に記録されているものも含まれる。他のコンピュータの記録媒体等に記録されている各種プログラムはインターフェース装置１７を介してダウンロードされて補助記憶装置１４にインストールされる。
【００５６】
補助記憶装置１４はインストールされた各種プログラムと、そのプログラムの処理に必要な各種ファイル等を格納する。メモリ装置１５は、起動時に補助記憶装置１４から各種プログラムを読み出して格納する。演算処理装置１６は、メモリ装置１５に格納された各種プログラムに従って、上述したような各種処理を実行できる。なお、各種プログラムには本発明のファイル共有プログラムが含まれる。
【実施例１】
【００５７】
実施例１では、上述した課題を解決するための手順に加えて、競合が発生した場合、競合対象のファイルプロファイル変更申請に賛意したノードに対して賛意確認を行なう。このようにすることで、実施例１ではノードが他のファイルプロファイル変更申請と比較した上で、賛意を投じることができるようになる。
【００５８】
図６は、ファイルプロファイル変更申請フォーマット及びファイルプロファイル変更指示フォーマットの他の一例を表す構成図である。図７は、賛意確認フォーマットの一例を表す構成図である。また、図８は本発明によるファイルプロファイル変更手順を表した他の一例のイメージ図である。
【００５９】
図６のファイルプロファイル変更申請フォーマット及びファイルプロファイル変更指示フォーマットは、図３のファイルプロファイル変更申請フォーマット及びファイルプロファイル変更指示フォーマットに加えて、当該ファイルプロファイル変更申請フォーマット及びファイルプロファイル変更指示フォーマットが経由したノードのノードＩＤを、経由ノードとして含む構成である。当該ファイルプロファイル変更申請フォーマット及びファイルプロファイル変更指示フォーマットを受信し、伝播させたノードは自ノードのノードＩＤをファイルプロファイル変更申請フォーマット及びファイルプロファイル変更指示フォーマットに追記していく。
【００６０】
競合が発生した場合、ノードは図７に示す賛意確認フォーマットを用いて競合対象のファイルプロファイル変更申請に賛意したノードに対し、賛意確認を行なう。図７の賛意確認フォーマットは、賛意確認フラグと，複数の競合ファイルプロファイル変更申請とを有する。賛意確認フラグは、当該メッセージが賛意確認であることを示す。競合ファイルプロファイル変更申請は、申請・指示ＩＤと，申請時間と，申請元ノードと，ファイルＩＤと，項目フィールドと，賛意数とを有する。
【００６１】
次に、本発明によるファイルプロファイルの変更手順について上記した以外の箇所を中心に説明する。
【００６２】
ファイルプロファイル変更申請を受信したノードのなかで、既に保持しているファイルプロファイル変更申請と変更対象とする項目フィールドが同一で、ファイルプロファイル変更申請が競合したノードであるノード５は、ファイルプロファイル変更申請の賛意数に基づき、競合するファイルプロファイル変更申請の中から一つのファイルプロファイル変更申請を選択し、他のファイルプロファイル変更申請を廃棄する。廃棄されたファイルプロファイル変更申請は、ファイルプロファイル変更指示へと昇格する確率が低くなる。
【００６３】
当該ファイルプロファイル変更申請を選択する際、ノード５はファイルプロファイル変更申請の経由ノードを参照し、経由ノードへ図７の賛意確認を発信する。賛意確認を受信した他ノードは、賛意確認の複数の競合ファイルプロファイル変更申請を参照し、あらためて賛意を表するファイルプロファイル変更申請を返信する。なお、いずれにも賛意を表しない場合、賛意確認を受信した他ノードは空欄で返信する。
【００６４】
また、賛意確認を受信した他ノードは、当該賛意確認に含まれる全ての競合ファイルプロファイル変更申請の申請・指示ＩＤをキャッシュしておくことで、同一の申請・指示ＩＤのファイルプロファイル変更申請を重複して処理しないようにする。
【００６５】
経由ノードからの賛意確認の返信には、あらためて賛意を表する競合ファイルプロファイル変更申請が格納されている。いずれにも賛意を表しない場合は競合ファイルプロファイル変更申請が格納されず、空欄となる。ノード５は、賛意確認の返信に応じて賛意数を修正する。集約譲渡処理，集約処理，賛意確認処理，選択処理を行ったあと、ノード５は選択したファイルプロファイル変更申請を他ノードへ伝播させる。
【実施例２】
【００６６】
実施例２では、過去の検索履歴および変更申請昇格履歴に基づき、対象のファイルプロファイルに関心があるノードに対し、優先的にファイルプロファイル変更申請を伝播させることによって、より妥当性が高い好適なファイルプロファイルを作成する。
【００６７】
図９は、検索履歴・変更申請昇格履歴リストの一例を表す構成図である。実施例２ではノードが個別に図９の検索履歴・変更申請昇格履歴リストを保持する。ノードは、自身が保持している検索履歴・変更申請昇格履歴リストの検索履歴および変更申請昇格履歴を参照し、次にファイルプロファイル変更申請を伝播させるべき他ノードを決定する。
【００６８】
ファイルプロファイルを指定する検索要求を受信したノードは、検索履歴・変更申請昇格履歴リストの該当するファイルＩＤ，項目名，ノードＩＤの検索数をカウントアップする。検索履歴・変更申請昇格履歴リストに該当するエントリがない場合、ノードは検索履歴・変更申請昇格履歴リストにエントリを新設し、ファイルＩＤ，項目名，ノードＩＤの検索数をカウントアップする。
【００６９】
ファイルプロファイル変更指示を受信したノードは、ファイルプロファイル変更指示内の申請元ノード，ファイルＩＤ及び項目名を参照し、該当するファイルＩＤ，項目名及びノードＩＤの変更申請昇格数をカウントアップする。該当するエントリがない場合にはエントリを新設してカウントアップする。
【００７０】
ファイルプロファイル変更申請を受信したノードは、まず、ファイルプロファイル変更申請の経由ノードを参照し、経由済みであるノードを、次にファイルプロファイル変更申請を伝播させるべきノードから除外する。次に、ノードは変更対象であるファイルのファイルＩＤと項目名とで、検索履歴・変更申請昇格履歴リストを検索し、検索数及び変更申請昇格数が多いノードを規定数、選択する。
【００７１】
「検索数・変更申請昇格数が多い」とする基準としては、例えば検索数と重み付けを行った変更申請昇格数を加算して、以下の式（１）のようにポイントを算出する方法が考えられる。
【００７２】
ポイント＝検索数＋（変更申請昇格数×重み付け指数）・・・(1)
なお、規定数はＰ２Ｐシステムが規定する次にファイルプロファイル変更申請を伝播させるべきノードの数である。また、検索履歴・変更申請昇格履歴リストを検索し、検索数及び変更申請昇格数が多いノードを選択した結果、次にファイルプロファイル変更申請を伝播させるべき他ノードが無ければ、ファイルＩＤに関係なく、横断的に項目名で検索を行い、式（１）を用いて同様にポイントを算出し、次にファイルプロファイル変更申請を伝播させるべきノードを選択する。
【００７３】
さらに、横断的に項目名で検索履歴・変更申請昇格履歴リストを検索し、検索数及び変更申請昇格数が多いノードを選択した結果、次にファイルプロファイル変更申請を伝播させるべき他ノードが無ければ、通常のＰ２Ｐネットワークにおけるノード間のコネクションに従って、次にファイルプロファイル変更申請を伝播させるべきノードを選択する。
【００７４】
ファイルプロファイル変更申請を受信したノードは、上述のように次にファイルプロファイル変更申請を伝播させるべきノードを選択し、選択した他ノードへファイルプロファイル変更申請を伝播させる。
【実施例３】
【００７５】
実施例３では、過去の投票履歴に基づき、ファイルプロファイル変更申請の初期賛意数を増加させることによって、ノードの投票活動を促進させ、より好適なファイルプロファイルを協調作成する。
【００７６】
上述の実施例１及び２において、ファイルプロファイル変更申請を受信したノードは賛意を表す投票活動に関係無く、一定時間後、次の他ノードへファイルプロファイル変更申請を伝播する。実施例３では、ノードが過去の投票活動の履歴を投票数として個別に保持しておき、この投票数を根拠にファイルプロファイル変更申請の初期賛意数とする。
【００７７】
図１０は、ノードが保持する過去の投票履歴の一例を表す構成図である。ファイルプロファイル変更申請を受信したノードは、ファイルプロファイル変更申請に対し賛意又は反意を投票する。一定時間以内に投票したならば、ノードは過去の投票履歴を表す投票数をカウントアップする。
【００７８】
図１０の投票履歴はＰ２Ｐシステムのアプリケーションによって暗号化等が施され、保護されている。ノードは投票活動と関係無く、過去の投票履歴を表す投票数をカウントアップできない。一方、ファイルプロファイル変更申請を作成する際、ノードは賛意数を例えば以下の式（２）に示すように、投票数に基づき決定する。なお、式（２）の「ＲＯＵＮＤＵＰ」は、小数点以下切り上げ関数を表している。
【００７９】
初期賛意数＝ＲＯＵＮＤＵＰ（投票数×重み付け指数）・・・(2)
【実施例４】
【００８０】
実施例４では、ファイルプロファイルの変更権限を設定し、変更権限を有するノードがファイルプロファイル変更申請をできるようにすることによって、ファイルプロファイル変更申請の競合を抑制し、よりＰ２Ｐシステムのファイル共有モデルの安定性を向上させる。
【００８１】
初めに、ファイルを公開するノードは、該当ファイルの項目フィールド毎に図１１のような権限トークンを作成する。図１１は、権限トークンフォーマットの一例を表す構成図である。権限トークンを有するノードは、該当ファイルの項目フィールドのファイルプロファイル変更申請を行なうことができる。
【００８２】
初期状態において、該当ファイルの全ての権限トークンはファイルを公開するノードである公開元ノードが有する。ファイルプロファイル変更申請を行いたいノードは、現在権限トークンを有するノードを検索し、権限トークンを要求する。
【００８３】
権限トークンには、図１１に示すように、最小保持時間及び最大保持時間が決められている。ノードが権限トークンを保持している時間が最小保持時間以内であった場合、権限トークンを有するノードは他ノードに権限トークンを渡すことができない。逆に、ノードが権限トークンを保持している時間が最大保持時間以上であった場合、権限トークンを有するノードは他ノードから権限トークンの要求があると、必ず権限トークンを他ノードに渡す必要がある。
【００８４】
複数の他ノードから権限トークンの要求がストックされていた場合、権限トークンを有するノードは例えば過去の投票履歴に基づき、次に権限トークンを渡すべきノードを決定する。過去の投票履歴は、例えば権限トークンを要求する他ノードが要求メッセージに載せて通知する。
【００８５】
Ｐ２Ｐシステムでは、最小保持時間をファイルプロファイル変更申請の有効期間よりも十分に長く設定しておくことで、一時期に複数のファイルプロファイル変更申請が多数発呼され、競合が頻発するような自体を抑制できる。
【００８６】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えばノードは、図５の構成に限定されるものではなく、他の構成であってもよい。
【００８７】
本発明は、以下に記載する付記のような構成が考えられる。
（付記１）
複数のノードから成るネットワークに接続され、前記ノードとの間でファイルを分散的に共有するコンピュータにおいて実行されるファイル共有プログラムであって、
前記コンピュータは、ファイルの実体，ファイルのリスト及びファイルのプロファイル情報を格納する記憶手段を有し、
前記ファイルのプロファイル情報に対する変更申請を受信すると、前記変更申請に対する他ノードの賛意数を確認するステップと、
前記変更申請に対する自ノード及び他ノードの賛意数が所定量を超えていれば、前記変更申請を前記ファイルのプロファイル情報に対する変更指示へと昇格させ、前記変更指示を他ノードに伝播すると共に、前記変更指示に応じて前記記憶手段に格納されている前記ファイルのプロファイル情報を変更するステップと、
前記変更申請に対する自ノード及び他ノードの賛意数が所定量を超えていなければ、前記変更申請を他ノードに伝播するステップと
を実行するファイル共有プログラム。
（付記２）
前記ファイルのプロファイル情報に対する変更申請を作成し、その変更申請を他ノードに発信するステップを更に実行する付記１記載のファイル共有プログラム。
（付記３）
前記変更申請が競合すると、それぞれの変更申請に対する他ノードの賛意数を集約して比較し、所定時間内に所定量の賛意数を得られた場合に、前記変更申請を前記ファイルのプロファイル情報に対する変更指示へと昇格させ、前記変更指示を他ノードに伝播すると共に、前記変更指示に応じて前記記憶手段に格納されている前記ファイルのプロファイル情報を変更するステップを更に実行する付記１又は２記載のファイル共有プログラム。
（付記４）
前記ファイルのプロファイル情報に対する変更申請および変更指示は、前記プロファイル情報の項目名及び項目内容を格納する項目フィールドを有するフォーマットで作成されていることを特徴とする付記１乃至３何れか一項記載のファイル共有プログラム。
（付記５）
前記変更申請が競合すると、それぞれの変更申請に賛意を示した他ノードに対し、賛意確認を行なうステップを更に実行する付記３記載のファイル共有プログラム。
（付記６）
前記記憶手段に格納されている前記ファイルに対する過去の検索履歴及び変更申請昇格履歴に基づき、前記変更申請を伝播する他ノードを選択するステップを更に実行する付記３記載のファイル共有プログラム。
（付記７）
前記記憶手段に格納されている前記ファイルに対する過去の投票履歴に基づき、前記変更申請の初期賛意数を増加させるステップを更に実行する付記２記載のファイル共有プログラム。
（付記８）
前記ファイルのプロファイル情報に対する変更権限を有しているときに、前記変更申請の作成を許可するステップを更に実行する付記２記載のファイル共有プログラム。
（付記９）
複数のノードから成るネットワークに接続され、前記ノードとの間でファイルを分散的に共有するファイル共有装置であって、
ファイルの実体，ファイルのリスト及びファイルのプロファイル情報を格納する記憶手段と、
前記ファイルのプロファイル情報に対する変更申請及び変更指示を受信及び発信する通信手段と、
前記ファイルのプロファイル情報に対する変更申請を受信すると、前記変更申請に対する他ノードの賛意数を確認し、
前記変更申請に対する自ノード及び他ノードの賛意数が所定量を超えていれば、前記変更申請を前記ファイルのプロファイル情報に対する変更指示へと昇格させ、前記通信手段経由で前記変更指示を他ノードに伝播すると共に、前記変更指示に応じて前記記憶手段に格納されている前記ファイルのプロファイル情報を変更する一方、
前記変更申請に対する自ノード及び他ノードの賛意数が所定量を超えていなければ、前記変更申請を前記通信手段経由で他ノードに伝播する処理手段と
を有するファイル共有装置。
【図面の簡単な説明】
【００８８】
【図１】Ｐ２Ｐネットワークの一例の構成図である。
【図２】Ｐ２Ｐネットワークの他の一例の構成図である。
【図３】ファイルプロファイル変更申請フォーマット及びファイルプロファイル変更指示フォーマットの一例を表す構成図である。
【図４】本発明によるファイルプロファイル変更手順を表した一例のイメージ図である。
【図５】本発明のファイル共有プログラムを実行するコンピュータの一実施例のハードウェア構成図である。
【図６】ファイルプロファイル変更申請フォーマット及びファイルプロファイル変更指示フォーマットの他の一例を表す構成図である。
【図７】賛意確認フォーマットの一例を表す構成図である。
【図８】本発明によるファイルプロファイル変更手順を表した他の一例のイメージ図である。
【図９】検索履歴・変更申請昇格履歴リストの一例を表す構成図である。
【図１０】ノードが保持する過去の投票履歴の一例を表す構成図である。
【図１１】権限トークンフォーマットの一例を表す構成図である。
【符号の説明】
【００８９】
１〜７    ノード
１１    入力装置
１２    出力装置
１３    ドライブ装置
１４    補助記憶装置
１５    メモリ装置
１６    演算処理装置
１７    インターフェース装置
１８    記録媒体
【図１】
0004707477.tif 000002
【図２】
0004707477.tif 000003
【図３】
0004707477.tif 000004
【図４】
0004707477.tif 000005
【図５】
0004707477.tif 000006
【図６】
0004707477.tif 000007
【図７】
0004707477.tif 000008
【図８】
0004707477.tif 000009
【図９】
0004707477.tif 000010
【図１０】
0004707477.tif 000011
【図１１】
0004707477.tif 000012