(57)【要約】【課題】  意味情報ネットワークにおいて、ファイル内容の改竄に対する耐故障性を保証し、複数の端末装置が同時に終了した場合でも継続してファイル内容を保証することが可能なファイル共有システム、端末装置、ファイル共有方法及びファイル共有プログラムを提供する。【解決手段】  端末装置に実装するファイル共有アプリケーションプログラム３０１１は、ユーザ４１，４２が入力操作する情報を受信するサービスエンティティ３０１２、ファイル操作要求のパラメータの内容をチェックするＡＰＩ処理部３０４３、ファイル単位にオープン／リード／ライトを行うファイル管理機能部３０４１、意味情報ネットワーク２０内に分散配備されたファイルの内容を照合して多数決論理によりその内容を保証するビザンチン合意処理部３０４２、及び意味情報ネットワーク２０内に分散配備されたファイルの一貫性を保証する排他制御機能部３０４４を備える。【選択図】        図２
2005071247.tif 000002
【特許請求の範囲】
【請求項１】
参加または離脱可能なネットワークに接続される複数の端末装置を備え、該端末装置がビザンチン合意処理を行うことによりファイルの内容を保証するビザンチン耐故障ファイル共有システムであって、前記ネットワークから離脱する端末装置の数をαとし、ビザンチン合意処理に用いるパラメータとしての故障数をｆとした場合に、前記複数の端末装置のうちの一の端末装置は、（３ｆ＋１＋α）個のファイルを複製する機能と、該複製数と同じ数の他の端末装置に前記複製したファイルをそれぞれ分散配備する機能とを備え、前記一の端末装置及び他の端末装置は、前記ファイルを共有ファイルとして管理する機能をそれぞれ備えることを特徴とするファイル共有システム。
【請求項２】
参加または離脱可能な複数の端末装置が接続されるネットワークの下で、ビザンチン合意処理を行うことによりファイルの内容を保証するビザンチン耐故障ファイル共有端末装置であって、前記ネットワークから離脱する端末装置の数をαとし、ビザンチン合意処理に用いるパラメータとしての故障数をｆとした場合に、（３ｆ＋１＋α）個のファイルを複製する機能と、該複製数と同じ数の他の端末装置に前記複製したファイルをそれぞれ分散配備する機能と、前記ファイルを共有ファイルとして管理する機能とを備えることを特徴とするファイル共有端末装置。
【請求項３】
請求項２に記載のファイル共有端末装置において、該端末装置を操作するユーザによるファイル参照の操作を検出する機能と、該検出に基づいて前記ファイルを管理している他の端末装置からファイルを読み出す機能と、ビザンチン合意処理により前記ファイルの内容の正常性をチェックする機能と、該ファイルの内容を前記ユーザに通知する機能とを備えることを特徴とするファイル共有端末装置。
【請求項４】
請求項２に記載のファイル共有端末装置において、前記ファイルを管理している他の端末装置からファイルを読み出す機能と、ビザンチン合意処理により前記ファイルの内容の正常性をチェックする機能と、前記正常性をチェックした結果、正常でないと判断した場合には、自らの端末装置のＩＤを含む切り離しイベントを前記他の端末装置に配信し、当該他の端末装置に前記ＩＤの端末装置とのネットワークにおけるリンクを解放させる機能を備えることを特徴とするファイル共有端末装置。
【請求項５】
請求項２から４のいずれか一項に記載のファイル共有端末装置において、ネットワーク内に存在する前記ファイルの数をチェックする機能と、該ファイルの数がビザンチン合意処理に必要な数を下回っていた場合には、端末装置を選定し、該端末装置に追加イベントを配信するとともに前記ファイルを複製して分散配置し、前記ファイルを共有ファイルとして管理させる機能とを備えることを特徴とするビザンチン耐故障ファイル共有端末装置。
【請求項６】
参加または離脱可能なネットワークに接続される複数の端末装置を備え、該端末装置がビザンチン合意処理を行うことによりファイルの内容を保証するビザンチン耐故障ファイル共有方法であって、前記ネットワークから離脱する端末装置の数をαとし、ビザンチン合意処理に用いるパラメータとしての故障数をｆとした場合に、前記複数の端末装置のうちの一の端末装置が、（３ｆ＋１＋α）個のファイルを複製し、該複製数と同じ数の他の端末装置に前記複製したファイルをそれぞれ分散配備し、前記一の端末装置及び他の端末装置が、前記ファイルを共有ファイルとしてそれぞれ管理することを特徴とするファイル共有方法。
【請求項７】
請求項６に記載のファイル共有方法において、前記ファイルを管理している一の端末装置が、該端末装置を操作するユーザによるファイル参照の操作を検出し、該検出に基づいて前記ファイルを管理している他の端末装置からファイルを読み出し、ビザンチン合意処理により前記ファイルの内容の正常性をチェックし、該ファイルの内容を前記ユーザに通知することを特徴とするファイル共有方法。
【請求項８】
請求項６に記載のファイル共有方法において、前記ファイルを管理している一の端末装置が、前記ファイルを管理している他の端末装置からファイルを読み出し、ビザンチン合意処理により前記ファイルの内容の正常性をチェックし、正常でないと判断した場合には、前記一の端末装置のＩＤを含む切り離しイベントを前記ファイルを管理している他の端末装置に配信し、当該他の端末装置が、前記ＩＤの端末装置とのネットワークにおけるリンクを解放することを特徴とするファイル共有方法。
【請求項９】
請求項６から８のいずれか一項に記載のファイル共有方法において、前記ファイルを管理している端末装置が、ネットワーク内に存在する前記ファイルの数を定期的にチェックし、該ファイルの数がビザンチン合意処理に必要な数を下回っていた場合には、端末装置を選定し、該選定した端末装置に追加イベントを配信するとともに前記ファイルを複製して分散配置し、前記選定された端末装置が、前記ファイルを共有ファイルとして管理することを特徴とするビザンチン耐故障ファイル共有方法。
【請求項１０】
複数の端末装置が接続され、参加または離脱可能なネットワークにおける前記端末装置を構成するコンピュータに、ビザンチン合意処理を行うことによりファイルの内容を保証する処理を実行させるビザンチン耐故障ファイル共有プログラムであって、前記ネットワークから離脱する端末装置の数をαとし、ビザンチン合意処理に用いるパラメータとしての故障数をｆとした場合に、前記コンピュータに、（３ｆ＋１＋α）個のファイルを複製する処理と、ネットワークを介して前記複製数と同じ数の他の端末装置に前記複製したファイルをそれぞれ分散配備する処理と、前記ファイルを管理する処理とを実行させることを特徴とするファイル共有プログラム。
【請求項１１】
請求項１０に記載のファイル共有プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＬＡＮやインターネット網等の伝送媒体を介して複数の端末装置がファイルを共有するシステムに関し、特に、セキュリティホール・ウイルス等により共有ファイルが破損するようなビサンチン故障（改竄）に対して耐故障性を有し、また当該ファイル共有システムを構成する端末装置が停止した場合においても継続的にビザンチン耐故障性を保証するファイル共有システム、端末装置、ファイル共有方法、及びファイル共有プログラムに関するものである。
【背景技術】
【０００２】
従来のファイル共有システムは、中央のサーバシステムが共有するファイルを集中管理する方法（以下、「サーバ型ファイル共有方法」という。）と、サーバが共有するファイルを管理するのではなく、端末装置が分散したファイルを共有ファイルとして管理する方法（以下、「サーバレス型ファイル共有方法」という。）とがある（特許文献１参照）。
【０００３】
前者のサーバ型ファイル共有方法は、サーバシステムが共有ファイルを集中管理するため、以下の問題があった。
（１）クライアント端末（端末装置）数の増加に伴って、処理負荷がサーバシステムに集中する。
（２）サーバシステムの故障により、共有ファイル自体が破損する場合がある。
（３）サーバシステムの維持管理・運用にコストがかかる。
一方、後者のサーバレス型ファイル共有方法は、前者のサーバ型ファイル共有方法により生じる問題を解決するのに有効であるが、ファイル共有システムの構成要素が変化（追加・削除）する環境下におけるファイルの信頼性を保証する方法については明確に示されていない。
【０００４】
ところで、後者のサーバレス型ファイル共有方法を用いたシステム（サーバを用いないシステム）として、ファイル公開者がファイル情報を配布すべき最適なユーザを特定することができ、またエンドユーザが最適な情報を特定することができる意味情報ネットワークシステムが公開されている（非特許文献１参照）。同様に、サーバを用いないシステムについて、本願出願時に未公開である先行出願（特願２００３−４２７４３号公報、特願２００３−４２９０９号公報）に記載されている。しかし、これらの技術は以下の課題に言及していない。
（１）近年のインターネット環境では、悪意のプログラムや操作により共有ファイルの改竄が発生し、ファイル内容に対する信頼性を保証できない。
（２）上記の改竄された共有ファイルを検出する技法として、複数の複製ファイルをネットワーク内に配備し、互いのファイル内容を照合し多数決をとるビザンチン傷害（非特許文献２参照）に対応するビザンチン合意アルゴリズムが知られている。しかし、意味情報ネットワークのような端末装置（ｐｅｅｒ）が自由に参加及び離脱を行うネットワークにおいて、継続したビザンチン合意処理を行うことができない。
【０００５】
【特許文献１】特開２００２−３５８２２６号公報（段落〔０００６〕〜〔０００８〕）
【非特許文献１】星合隆成、「意味情報ネットワークＳＩＯＮｅｔにおけるエンティティのオンライン増減設機構」、電子情報通信学会論文誌、電子情報通信学会、２００２年２月、Ｂ，Ｖｏｌ．Ｊ８５・Ｎｏ．２、ｐ．１８０−１９９
【非特許文献２】“ビザンチン傷害”、［ｏｎｌｉｎｅ］、［平成１５年８月２２日検索］、インターネット、＜ＵＲＬ：http://www.dd.iij4u.or.jp/~okuyamak/Information/Byzantine_faults.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記のように、従来のサーバ型ファイル共有方法では、共有するファイルの数及び端末装置の数が増加するに従い、これらに比例して大規模なサーバを設置しなければならない。このため、コストがかかると共に、リアルタイムに対応することが困難になる等の問題があった。一方、従来のサーバを用いない意味情報ネットワークにおけるサーバレス型ファイル共有方法では、上記のサーバ型ファイル共有方法による問題を解決することは可能であるが、ファイル内容の改竄が発生した場合にファイル内容を保証することができないという問題があった。また、複数の端末装置が同時に終了した場合に最新のファイルを継続して共有することができないという問題もあった。
【０００７】
本発明は、上記の問題を解決するためになされたものであり、その目的は、ファイル内容の改竄に対する耐故障性を保証し、かつ複数の端末装置が同時に終了した場合においても継続してファイル内容を保証することが可能なファイル共有システム、端末装置、ファイル共有方法及びファイル共有プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明は、参加または離脱可能な意味情報ネットワークに接続される複数の端末装置を備え、該端末装置がビザンチン合意処理を行うことによりファイルの内容を保証するビザンチン耐故障ファイルを共有する場合に、前記ネットワークから離脱する端末装置の数をαとし、ビザンチン合意処理に用いるパラメータとしての故障数をｆとしたときに、前記複数の端末装置のうちの一の端末装置が、（３ｆ＋１＋α）個のファイルを複製し、該複製数と同じ数の他の端末装置に前記複製したファイルをそれぞれ分散配備し、前記一の端末装置及び他の端末装置が、前記ファイルを共有ファイルとしてそれぞれ管理することを特徴とする。これにより、複数の端末装置が同時に離脱した場合であっても、継続したビザンチン合意処理を行うことが可能となり、ファイル内容の正常性を検証することが可能となる（以上、請求項１，２，６，１０，１１）。
【０００９】
また、本発明は、端末装置が、該端末装置を操作するユーザによるファイルの参照操作を検出し、該検出に基づいて前記ファイルを管理している他の端末装置からファイルを読み出し、ビザンチン合意処理により前記ファイルの内容の正常性をチェックし、該ファイルの内容を前記ユーザに通知することを特徴とする。これにより、ファイル改竄の検出排除が可能となる（以上、請求項３，７）。
【００１０】
また、本発明は、端末装置が、前記ファイルを管理している他の端末装置からファイルを読み出し、ビザンチン合意処理により前記ファイルの内容の正常性をチェックし、正常でないと判断した場合には、前記端末装置のＩＤを含む切り離しイベントを前記ファイルを管理している他の端末装置に配信し、当該他の端末装置が、前記ＩＤの端末装置とのネットワークにおけるリンクを解放することを特徴とする。これにより、ファイル改竄を検出した場合に、切り離しイベントをブロードキャストして異常な端末装置の存在を通知してその端末装置を切り離すようにするから、異常な端末装置の影響を排除することが可能となる。（以上、請求項４，８）
【００１１】
また、本発明は、端末装置が、ネットワーク内に存在する前記ファイルの数を定期的にチェックし、該ファイルの数がビザンチン合意処理に必要な数を下回っていた場合には、端末装置を選定し、該選定した端末装置に追加イベントを配信するとともに前記ファイルを複製して分散配置し、前記選定された端末装置が、前記ファイルを共有ファイルとして管理することを特徴とする。これにより、ビザンチン合意条件を維持することが可能となる。また、アクセス頻度の少ないファイルについても正常性の保証確率を向上させることが可能となる（以上、請求項５，９）。
【発明の効果】
【００１２】
本発明の効果は以下の通りである。
（１）ファイルを管理するサーバを設置する必要がないから、サーバシステムの設備・維持管理コストを排除したファイル管理システムを構築することができる。
（２）ネットワークから離脱する端末装置の数（α）に従ってファイルの複製数が決定するから、ネットワークのアクセス効率及び要求する信頼性を考慮して、ネットワーク内に保持するファイルの複製数を制御することができる。
（３）複製されたファイルの内容を照合してビザンチン合意処理を行うから、ファイルの内容の信頼性を保証できる。
（４）ファイルの複製数を（３ｆ＋１＋α）としネットワーク内に分散配置したから、複数の端末装置が同時に離脱した場合においてもビザンチン合意処理を継続することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
図１は、本発明の実施の形態に係るファイル共有システムを説明する接続図である。本ファイル共有システムは、ＩＰ等の伝達ネットワーク１０と、意味情報ネットワーク（ＳＩＯＮｅｔ（Ｓｅｍａｎｔｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ−Ｏｒｉｅｎｔｅｄ  Ｎｅｔｗｏｒｋ））２０と、ファイル共有システムの第１のユーザ４１が操作するＰＣ等の端末装置３１と、ファイル共有システムの第２のユーザ４２が操作するＰＣ等の端末装置３２とを備えている。端末装置３１は、共有ファイル３１３が格納される２次記憶装置３１２を備えており、ファイル共有アプリケーションプログラム３１１を実装する。また、端末装置３２は、共有ファイル３２３が格納される２次記憶装置３２２を備えており、ファイル共有アプリケーションプログラム３２１を実装する。
【００１４】
端末装置３１及び端末装置３２は、伝達ネットワーク１０により物理的に接続され、ファイル共有アプリケーションプログラム３１１，３２１及び意味情報ネットワーク２０により論理的に接続される。端末装置３１，３２は、ＳＩＯＮｅｔと共同して機能するプログラム及びＳＩＯＮｅｔを構築するＳＩ−ＳＷやＳＩ−Ｒ等のプログラムをインストールして、自身の端末装置にイベントプレース（ＥＰ）を生成するか、またはＳＩＯＮｅｔと共同して機能するプログラムをインストールし、他のネットワーク上に存在するイベントプレース（ＥＰ）へアクセスしてセッションまたはシェアードリンクを確立することにより、意味情報ネットワーク２０に接続されるものとする。尚、端末装置３１，３２を説明上分けて表記しているが、その構成が異なることを意味するものではない。以下、いずれの端末装置３１，３２であるかこだわらない場合は、端末装置３０として説明する。
【００１５】
ここで、本発明は、共有ファイル３１３，３２３の内容の耐故障性を保証し、かつ複数の端末装置３１，３２等（図示しない端末装置も含む）が同時に終了した場合においても共有ファイル３１３，３２３の内容を保証することを特徴とする。これらの特徴について、図２〜図１１を参照して詳細に説明する。
【００１６】
図２は、図１に示した端末装置３１，３２（端末装置３０）におけるファイル共有アプリケーションプログラムの構成を、ソフトウェアの観点から説明する機能ブロック図である。端末装置３０のソフトウェアは、ＵＮＩＸ（登録商標）やウインドウズ（登録商標）等のＯＳ３０２、ＳＩＯＮｅｔ対応部３０３、ミドルウェア部３０４及びＡＰＬ（Ａ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｌａｎｇｕａｇｅ）部３０１から構成される。ＳＩＯＮｅｔ対応部３０３は、ＯＳ３０２上にＳＩＯＮｅｔと共同して機能するプログラム及びＳＩＯＮｅｔを構築するためのプログラムをインストールすることにより、自身の端末装置にイベントプレース（ＥＰ）を生成するか、またはＳＩＯＮｅｔと共同して機能するプログラムをインストールし他のネットワーク上に存在するイベントプレース（ＥＰ）にアクセスしてセッションまたはシェアードリンクを確立することにより、意味情報ネットワーク２０に接続する機能を有する。
【００１７】
ファイル共有アプリケーションプログラム３０１１は、サービスエンティティ（ＳＥ）３０１２、ファイル管理機能部３０４１、ビザンチン合意処理部３０４２、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）処理部３０４３及び排他制御機能部３０４４を備え、サービスエンティティ３０１２はＡＰＬ部３０１に、ファイル管理機能部３０４１、ビザンチン合意処理部３０４２、ＡＰＩ処理部３０４３及び排他制御機能部３０４４はミドルウェア部３０４にインストールされる。サービスエンティティ３０１２は、ファイル共有システムのユーザが入力操作する情報の受信及び画面表示等の信号の入出力を行う。ＡＰＩ処理部３０４３は、サービスエンティティ３０１２からファイル操作要求を受信し、そのパラメータの内容をチェックする。ファイル管理機能部３０４１は、ＡＰＩ処理部３０４３が受信したファイル操作要求に従って、ファイル単位にオープン（ＯＰＥＮ）／リード（ＲＥＡＤ）／ライト（ＷＲＩＴＥ）を行う。ビザンチン合意処理部３０４２は、ファイル（共有ファイル）へのリード／ライト時に、意味情報ネットワーク２０内に分散配備されたファイル（共有ファイル）の内容を照合して、多数決論理によりリードデータの内容及びライトデータの内容を保証する。排他制御機能部３０４４は、意味情報ネットワーク２０内に分散配備されたファイルの一貫性を保証するために排他制御を行う。サービスエンティティ３０１２、ファイル管理機能部３０４１、ビザンチン合意処理部３０４２、ＡＰＩ処理部３０４３及び排他制御機能部３０４４により、アクセス効率や信頼性を考慮して意味情報ネットワーク２０内にファイルを分散配備可能とし、かつリード／ライト時に当該ファイルの改竄を検出可能とすることで、ファイル内容自体の信頼性を確保する。
【００１８】
図３は、ファイル共有システムの第１のユーザ４１または第２のユーザ４２が、新規にファイルを共有するための操作を行う場合に、端末装置３０のサービスエンティティ３０１２が前準備として実行するファイルオープン処理を説明するフロー図である。サービスエンティティ３０１２は、新規ファイルを生成する場合、固定値またはユーザが入力した入力値に従い、要求する信頼性（ファイルの複製数）及びファイル名をパラメータとして指定し、ファイルオープン要求をＡＰＩ処理部３０４３に送信する。ＡＰＩ処理部３０４３は、ファイルオープン要求を受信すると、パラメータの内容に誤りがないかをチェックし（ステップＳ３１）、ファイルオープン処理依頼をファイル管理機能部３０４１に送信する。ファイル管理機能部３０４１は、ファイルオープン処理依頼を受信すると、メモリ等の１次記憶装置またはハードディスク等の２次記憶装置にファイル管理情報を生成して（ステップＳ３２）ファイルを生成する。そして、ファイル管理機能部３０４１は、ファイル共有システム全体のロックを行うために、排他制御機能部３０４４を経由して全端末装置にロックオーダー（ロックイベント）を配信する（ステップＳ３３）。また、ファイル管理機能部３０４１は、当該ロックオーダーに対して応答した端末装置のＩＤリスト（ＰｅｅｒＩＤのリスト）を作成し（ステップＳ３４）、当該ＩＤリストからサービスエンティティ３０１２が要求した信頼性（ファイルの複製数）を満足する数分の端末装置を選定しその数分のファイルを複製し、選定した端末装置にファイル生成イベントとしてそれぞれ配信する（ステップＳ３５）。また、ファイル管理機能部３０４１は、各端末装置においてファイル管理情報及びファイルの生成が完了した段階で、ファイル共有システム全体のロックを解除するために、排他制御機能部３０４４を経由して全端末装置にロック解除オーダー（ロック解除イベント）を配信する（ステップＳ３６）。
【００１９】
図４は、図３に示したファイル生成イベントを受信する端末装置におけるファイルオープン処理を説明するフロー図である。受信側の端末装置のＡＰＩ処理部３０４３が意味情報ネットワーク２０を介してファイル生成イベントを受信すると、ファイル管理機能部３０４１は、ファイル生成イベントの受信を契機に、２次記憶装置にファイル管理情報を生成し（ステップＳ４１）、ＯＳ３０２のオープンシステムコール（ステップＳ４２）等を用いて２次記憶装置にファイルを生成する（ステップＳ４２）。
【００２０】
図５は、図３及び図４に示したファイルオープン処理により生成されたファイルが各端末装置に分散配備されている様子を示す模式図である。図５に、サービスエンティティ３０１２が信頼性（ファイルの複製数）のパラメータの改竄発生ファイル数を１に指定した場合、４以上の端末装置にファイルの複製が生成される例を示す。ファイルオープン処理を行った端末装置がＰｅｅｒ＃１であり、Ｐｅｅｒ＃１の端末装置からＰｅｅｒ＃２〜＃５の端末装置にファイル生成イベントが配信され、Ｐｅｅｒ＃２〜＃５の端末装置にファイルの複製が生成されている。ビザンチン合意処理部３０４２が実行するビザンチン合意のアルゴリズムにおいては、改竄発生ファイル数（改竄数、故障数）をｆとした場合に、意味情報ネットワーク２０内に複製数として（３ｆ＋１）個以上のファイルを配備する必要がある。すなわち、意味情報ネットワーク２０内に、（３ｆ＋１）個以上の複製ファイルが存在する場合には、ビサンチン耐故障性を保証し、ファイルの内容を保証することができる。しかし、意味情報ネットワーク２０のような自由な参加及び離脱が発生するネットワークにおいては、複数の端末装置が同時に離脱する場合が想定される。この場合、複数の端末装置が同時に離脱すると、意味情報ネットワーク２０内の複製ファイルの数は、（３ｆ＋１）よりも少ない数になるため、ビザンチン耐故障性を保証できず、ファイルの内容を十分に保証することができない。従って、意味情報ネットワーク２０から同時に離脱する可能性のある最大の端末装置の数を考慮した数のファイルを複製しておく必要がある。つまり、離脱する端末装置の数をαとした場合に、（３ｆ＋１＋α）個のファイルの複製を意味情報ネットワーク２０内に分散配備しておくことにより、ビサンチン耐故障性を保証し、ファイルの内容を保証することができる。この場合、ファイル管理機能部３０４１は、αの値を固定データとして管理するようにしてもよいし、上記のようにサービスエンティティ３０１２が指定するパラメータとしてもよい。
【００２１】
図６は、図３〜図５に示したファイル管理機能部３０４１が生成するファイル管理情報の例を説明する構成図である。図６に示すように、ファイル管理情報は、ファイル名、パス名、最大改竄ファイル数、及び複製管理する端末装置を特定する情報である複製管理ＰｅｅｒＩＤから構成される。ここで、最大改竄ファイル数は上述したｆの値である。また、複製管理ＰｅｅｒＩＤは、図５の例においては、複製管理ＰｅｅｒＰｅｅｒＩＤ＝Ｐｅｅｒ＃２，Ｐｅｅｒ＃３，Ｐｅｅｒ＃４，Ｐｅｅｒ＃５が設定されている。また、この複製管理ＰｅｅｒＩＤの最大複製可能数は、ファイル管理機能部３０４１の定数データとして保持される。
【００２２】
図７は、図３及び図４に示したファイルオープン処理により意味情報ネットワーク２０内に分散配備されたファイルをリードする場合のファイルリード処理を説明するフロー図である。ファイル共有システムの第１のユーザ４１または第２のユーザ４２が共有ファイルに対して参照の操作を行うと、サービスエンティティ３０１２は、当該操作を検出し、ファイル識別子、ファイルの先頭からの読み出し位置及びサイズをパラメータとして指定し、ＡＰＩ処理部３０４３に読み出しを指示する。ＡＰＩ処理部３０４３は、読み出しの指示を受信すると、指定されたパラメータをチェックし（ステップＳ７１）、ファイル管理機能部３０４１に読み出しを依頼する。ファイル管理機能部３０４１は、読み出しの依頼を受信すると、図６に示したファイル管理情報に基づいて、意味情報ネットワーク２０内に合意可能な複製数分のファイルが存在するか（ファイルの複製数がビザンチン合意条件（３ｆ＋１＋α）を下回っていないか）否かをチェックする（ステップＳ７２）。合意可能な複製数分のファイルが存在する場合（ファイルの複製数がビザンチン合意条件を下回っていない場合）は、ファイル共有システム全体のロックを行うために、排他制御機能部３０４４を経由して全端末装置にロックオーダー（ロックイベント）を配信し（ステップＳ７３）、複製を管理している端末装置（ファイル管理情報の複製管理ＰｅｅｒＩＤに設定されているＰｅｅｒＩＤの端末装置）から当該ファイルの内容の読み出しを行い（ステップＳ７４）。そして、ビザンチン合意のアルゴリズムにより内容の正常性を確認し（ステップＳ７５，Ｓ７６）、ファイル管理機能部３０４１は、排他制御機能部３０４４を経由してロック解除イベントを配信後（ステップＳ７７）、ＡＰＩ処理部３０４３を経由してサービスエンティティ３０１２に読み出したデータを返送する。
【００２３】
ステップ７２において、ファイル管理機能部３０４１が、ファイル管理情報に基づいて、合意可能な複製数分のファイルが存在しない（ファイルの複製数がビザンチン合意条件を下回っている）と判断した場合には、図１１に示す追加フローに従って複製管理を行う端末装置の追加を行い、上記と同様の処理によりファイルの内容の正常性を確認する。そして、ファイル管理機能部３０４１は、排他制御機能部３０４４を経由してロック解除イベントを配信後（ステップＳ７７）、ＡＰＩ処理部３０４３を経由してサービスエンティティ３０１２に読み出したデータを返送する。尚、図１１の追加フローの説明については後述する。
【００２４】
ステップ７５及びステップ７６において、ビザンチン合意処理部３０４２が、ビザンチン合意のアルゴリズムにより内容の正常性を確認した結果ファイルの異常を検出した場合には、当該異常が検出されたファイルを管理している端末装置のＰｅｅｒＩＤを含む切り離しイベントを、意味情報ネットワーク２０内の全端末装置に配信する。通知を受けた端末装置は、ファイル共有アプリケーションプログラムにより、当該ＰｅｅｒＩＤの端末装置とシェアードリンクを持つ場合は当該シェアードリンクを切断する。このとき、ファイルを複製管理している端末装置は、ファイル管理情報から、異常が検出されたファイルを管理している端末装置おＰｅｅｒＩＤを削除する等してファイル管理情報を更新する。そして、ファイル管理機能部３０４１は、排他制御機能部３０４４を経由してロック解除イベントを配信する（ステップＳ７７）。
【００２５】
図８は、ファイル管理情報変更イベントを送信する端末装置における正常離脱処理を説明するフロー図である。ファイル共有システムの第１のユーザ４１または第２のユーザ４２がファイル共有アプリケーションプログラム３０１１によるサービスの終了の操作を行うと、サービスエンティティ３０１２は、当該操作を検出し、ＡＰＩ処理部３０４３を経由してファイル管理機能部３０４１に終了を指示する。ファイル管理機能部３０４１は、当該終了による離脱に伴ってファイル管理情報の変更を指示するファイル管理情報変更イベントを複製管理端末装置に配信し（ステップＳ８１）、ファイル共有アプリケーションプログラム３０１１の終了処理を行う。このとき、ファイル管理情報及びファイルを削除する。
【００２６】
図９は、図８に示したファイル管理情報変更イベントを受信する端末装置における正常離脱処理を説明するフロー図である。端末装置がファイル管理情報変更イベントを受信したときに、意味情報ネットワーク２０内に合意可能な複製数分のファイルが存在しない場合（ファイルの複製数がビザンチン合意条件（３ｆ＋１＋α）を下回っている場合）が想定される。この場合、図１１に示す追加フローに従って複製管理を行う端末装置の追加処理を実行する必要があるが、この追加処理を意味情報ネットワーク２０内の複数の端末装置が同時に行わないようにしなければならない。追加処理が同時に行われると、ファイル管理情報変更イベントを受信した複数の端末装置が一斉に複製管理を行う端末装置の追加処理を行った結果、必要数以上のファイルが生成されてしまうからである。
【００２７】
このため、ＡＰＩ処理部３０４３は、ファイル管理情報変更イベントを受信すると、当該イベントに設定されたあて先のＰｅｅｒＩＤリスト内で、自身のＰｅｅｒＩＤの数値が最大値であるか否かをチェックする（ステップＳ９１）。自身のＰｅｅｒＩＤの数値が最大値でない場合には、ファイル管理情報の更新を行う。一方、自身のＰｅｅｒＩＤの数値が最大値である場合には、図１１に示す追加フローに従って複製管理を行う端末装置の追加処理を実行し、ファイル管理情報の更新を行う。すなわち、ファイル管理情報変更イベントが配信された複数の端末装置のうちの、ＰｅｅｒＩＤの数値が最大値である端末装置が、図１１に示す追加処理を実行する。
【００２８】
図１０は、端末装置がハードウェア故障等により異常離脱する場合の異常離脱検出処理を説明するフロー図である。一定周期毎に起動するＡＰＩ処理部３０４３により、ファイル管理機能部３０４１は、ファイル管理情報に基づいて、意味情報ネットワーク２０内に合意可能な複製数分のファイルが存在するか（ファイルの複製数がビザンチン合意条件（３ｆ＋１＋α）を下回っていないか）否かをチェックする（ステップＳ１０１）。合意可能な複製数分のファイルが存在しない場合（ファイルの複製数がビザンチン合意条件を下回っている場合）は、図１１に示す追加フローに従って複製管理を行う端末装置の追加処理を実行する。尚、ＡＰＩ処理部３０４３が起動する周期は、ファイル毎に区別しない固定値として設定され保持されるようにしてもよいし、また、ファイルのアクセス頻度を考慮してファイル毎の可変値として設定され保持されるようにしてもよい。
【００２９】
また、アクセス頻度の少ないファイルが既に改竄されている可能性を考慮して、ビザンチン合意処理部３０４２は、上記の周期処理内において、複製を管理している端末装置（ファイル管理情報の複製管理ＰｅｅｒＩＤに設定されているＰｅｅｒＩＤの端末装置）から当該ファイルの内容の読み出しを行い（ステップＳ１０２）、ビザンチン合意のアルゴリズムにより内容の正常性を確認する（ステップＳ１０３，Ｓ１０４）。ビザンチン合意のアルゴリズムにより内容の正常性を確認した結果ファイルの異常を検出した場合（ファイルの改竄を検出した場合）には、図７のステップ７６に示したように切り離しイベントを配信する。
【００３０】
図１１は、ファイルの複製数がビザンチン合意条件（３ｆ＋１＋α）を下回っている等の場合に、複製管理を行う端末装置を追加する追加処理を説明するフロー図である。ファイル管理機能部３０４１は、一旦ファイル共有システム全体のロックを行うために、排他制御機能部３０４４を経由して全端末装置にロックオーダー（ロックイベント）を配信する。また、ロックオーダーに対して応答した端末装置のＰｅｅｒＩＤを応答ＰｅｅｒＩＤリストに登録し、当該応答ＰｅｅｒＩＤリストから、ランダムにＰｅｅｒＩＤを選択または最初に応答した端末装置であって先頭に登録されているそのＰｅｅｒＩＤを選択し（ステップＳ１１１）、当該ＰｅｅｒＩＤの端末装置に対して複製追加依頼イベントを配信する（ステップＳ１１２）。複製追加依頼イベントを受信した端末装置は、図３に示したファイルオープン処理と同様の処理を実行し、ファイル管理情報及びファイルを生成する。そして、図１１に示したファイル管理機能部３０４１は、ロック解除イベントを配信し、複製管理を行う端末装置を追加する処理を終了する。
【００３１】
以上、本発明の実施の形態を挙げて本発明を説明したが、本発明は上記の実施の形態に限定されるものではなく、本発明の思想から逸脱しない限りにおいて種々の変形が可能である。例えば、上記の実施の形態においては、図７に示したようにファイルをリードするタイミングまたは図１０に示したように一定周期毎のタイミングにおいて、ファイルの複製数の存在をチェックしファイル内容を読み出してビサンチン合意処理を実行するようにしたが、ファイルをライトするタイミングにおいても同様の処理を実行するようにしてもよい。
【００３２】
尚、端末装置３０〜３２は、ファイル共有アプリケーションプログラム３１１，３２１，３０１１をサービスエンティティ３０１２、ファイル管理機能部３０４１、ビザンチン合意処理部３０４２、ＡＰＩ処理部３０４３及び排他制御機能部３０４４により実行するためのソフトウェアを組み込んだコンピュータによってそれぞれ構成される。このソフトウェアは、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピィーディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施の形態に係るファイル共有システムを説明する接続図である。
【図２】ファイル共有アプリケーションプログラムの構成を説明する機能ブロック図である。
【図３】ファイル生成イベントを配信する端末装置におけるファイルオープン処理を説明するフロー図である。
【図４】ファイル生成イベントを受信する端末装置におけるファイルオープン処理を説明するフローズである。
【図５】ファイルオープン処理が完了した後のファイルの状態を説明する図である。
【図６】ファイル管理情報を説明する構成図である。
【図７】ファイルリード処理を説明するフロー図である。
【図８】ファイル管理情報変更イベントを配信する端末装置における正常離脱処理を説明するフロー図である。
【図９】ファイル管理情報変更イベントを受信する端末装置における正常離脱処理を説明するフロー図である。
【図１０】異常離脱検出処理を説明するフロー図である。
【図１１】複製管理を行う端末装置を追加する追加処理を説明するフロー図である。
【符号の説明】
【００３４】
１０  伝達ネットワーク
２０  意味情報ネットワーク（ＳＩＯＮｅｔ）
３０〜３２  端末装置
４１，４２  ユーザ
３０１  ＡＰＬ部
３０２  ＯＳ
３０３  ＳＩＯＮｅｔ対応部
３０４  ミドルウェア部
３１１，３１２，３０１１  ファイル共有アプリケーションプログラム
３１２，３２２  ２次記憶装置
３１３，３２３  共有ファイル
３０１２  サービスエンティティ（ＳＥ）
３０４１  ファイル管理機能部
３０４２  ビザンチン合意処理部
３０４３  ＡＰＩ処理部
３０４４  排他制御機能部
【図１】
2005071247.tif 000003
【図２】
2005071247.tif 000004
【図３】
2005071247.tif 000005
【図４】
2005071247.tif 000006
【図５】
2005071247.tif 000007
【図６】
2005071247.tif 000008
【図７】
2005071247.tif 000009
【図８】
2005071247.tif 000010
【図９】
2005071247.tif 000011
【図１０】
2005071247.tif 000012
【図１１】
2005071247.tif 000013