(57)【要約】      （修正有）【課題】ネットワークの負荷や各情報処理装置のリソースを抑えながらデータの参照を高速に行うことを目的とする。【解決手段】共有するデータの全てが各ピアにコピーするリアルタイムモードと、ファイル名等のインデックス情報のみを各ピアで共有し、必要な時に各ピアがインデックス情報を参照して対応するデータをダウンロードするダウンロードモードと、データの一部またはデータを縮小したサブデータを各ピアで共有し、必要な時に各ピアが元データをダウンロードする参照モードと、を設ける。サブデータは、Ｐ２Ｐネットワーク１０上で共有する元データから、サムネイル画像、目次情報等のサブデータをデータ加工部７２で作成して、共有データ管理部７４が管理するアプリケーションメモリ２２に記憶する。参照モードでは、Ｐ２Ｐネットワーク１０にログオン時にサブデータを他のピアにコピーすることで共有し、元データの要求があった場合に元データを渡す。【選択図】図１２
2006178754.tif 000002
【特許請求の範囲】
【請求項１】
複数の装置が接続され、各装置毎に保持された情報を互いに共有可能なピアツーピアシステムに接続可能な情報処理装置であって、
前記ピアツーピアシステム上で共有されるデータの一部を抽出または前記データを縮小したサブデータを作成する作成手段と、
前記作成手段によって作成された前記サブデータを前記ピアツーピアシステム上の共有保存先に保存する保存手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記ピアツーピアシステム上の共有保存先に保存された全データを共有する第１モード、データのインデックス情報のみを共有する第２モード、及び前記作成手段によって作成されたサブデータを共有する第３モードを有し、前記第１乃至第３の何れかのモードを設定する設定手段を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記設定手段は、前記ピアツーピアシステム上に接続された前記情報処理装置毎、またはデータ毎にモードを設定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
複数の装置が接続され、各装置毎に保持された情報を互いに共有可能なピアツーピアシステムに接続可能な情報処理装置における情報処理方法であって、
前記ピアツーピアシステ上で共有するデータの一部を抽出または前記データを縮小したサブデータを作成する作成ステップと、
前記作成ステップで作成した前記サブデータを前記ピアツーピアシステム上の共有先に保存する保存ステップと、
を含むことを特徴とする情報処理方法。
【請求項５】
前記ピアツーピアシステム上の共有保存先に保存された全データを共有する第１モード、データのインデックス情報のみを共有する第２モード、及び前記作成手段によって作成されたサブデータを共有する第３モードを有し、前記第１乃至第３の何れかのモードを設定する設定ステップを更に備えることを特徴とする請求項４に記載の情報処理方法。
【請求項６】
前記設定ステップは、前記ピアツーピアシステム上に接続された前記情報処理装置毎、またはデータ毎にモードを設定することを特徴とする請求項５に記載の情報処理方法。
【請求項７】
複数の装置が接続され、各装置毎に保持された情報を互いに共有可能なピアツーピアシステムに接続可能なコンピュータに以下の情報処理を実行させる情報処理プログラムであって、
前記処理は、
前記ピアツーピアシステ上で共有するデータの一部を抽出または前記データを縮小したサブデータを作成する作成ステップと、
前記作成ステップで作成した前記サブデータを前記ピアツーピアシステム上の共有先に保存する保存ステップと、
を含むことを特徴とする情報処理プログラム。
【請求項８】
前記ピアツーピアシステム上の共有保存先に保存された全データを共有する第１モード、データのインデックス情報のみを共有する第２モード、及び前記作成手段によって作成されたサブデータを共有する第３モードを有し、前記第１乃至第３の何れかのモードを設定する設定ステップを更に備えることを特徴とする請求項７に記載の情報処理プログラム。
【請求項９】
前記設定ステップは、前記ピアツーピアシステム上に接続された前記情報処理装置毎、またはデータ毎にモードを設定することを特徴とする請求項８に記載の情報処理プログラム。
【請求項１０】
複数のピアが接続されて構成されたピアツーピアシステムであって、
請求項１乃至請求項３の何れか１項に記載の情報処理装置をピアとして含むことを特徴とするピアツーピアシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、情報処理プログラム、及びピアツーピアシステムにかかり、特に、ネットワークを介し互いに接続された複数の装置の少なくとも一部が、専用のサーバを介することなく直接通信するピアツーピアシステムに接続可能な情報処理装置、当該情報処理装置で適用可能な情報処理方法、情報処理プログラム、及び当該ピアツーピアシステムに関する。
【背景技術】
【０００２】
従来より、コンピュータ等の装置をネットワークを介して互いに接続するネットワークシステムの形態として、クライアント・サーバシステムと、ピアツーピア（以下、Ｐ２Ｐという）システムとがある。
【０００３】
クライアント・サーバシステムは、サーバが各種情報資源を管理したり各種アプリケーションを提供するサービスを実行し、これをクライアントが利用するシステムであり、主従関係が固定的なシステムある。
【０００４】
ネットワークで接続された複数のコンピュータのユーザが、相互の情報を共有して活用するためには、これらの情報を共通してアクセス可能なデータベース或いはファイルをまとめて蓄積して管理するためのサーバを核にして、目的とするアプリケーション・システムを構築して運用する方法が広く使われている。
【０００５】
この方法では、共有したい情報を一括して管理する必要があったり、情報共有のための特別なサーバが必要であったり、その共有システムを構築するため多大なコストが必要である。
【０００６】
この問題を解決するために、近年では、Ｐ２Ｐシステム型の情報を集中管理しないタイプの情報共有システムが登場し、構築コストの低い情報共有システムが一般的に認知されるようになってきている。
【０００７】
Ｐ２Ｐシステムでは、基本的には専用のサーバを設けず、ネットワークに接続されたピア（例えばパーソナルコンピュータ等）の各々が、あるときは他のピアに対して所定のサービスを提供してサーバのように動作し、あるときは他のピアが提供するサービスを利用してクライアントのように動作するシステムであり、各ピアが対等なシステムである。このようなＰ２Ｐシステムに関して、従来より様々な技術が提案されている（例えば特許文献１及び特許文献２参照）。
【特許文献１】特開２００２−３３５２６９号公報
【特許文献２】特開２００３−２５６３６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、Ｐ２Ｐシステムにおいて、データ共有を行うと、各ピアにデータが転送されてしまうため転送時間がかかったり、各ピアのディスクなどのリソースを多く使ってしまう。
【０００９】
これを解決するために、Ｐ２Ｐシステムでは、ファイル名等のデータを特定するためのインデックス情報だけが共有されて必要な時に各ピアがデータをダウンロードするダウンモード等のモードがあるが、インデックス情報のみしか共有されないので、実際にデータの内容を確認する際には、データをダウンロードしなければならず、サイズの大きなデータを参照する場合には、時間がかかってしまう、という問題がある。
【００１０】
本発明は、上記問題を解決すべく成されたもので、ネットワークの負荷や各情報処理装置のリソースを抑えながら、データの参照を高速に行うことを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために請求項１に記載の情報処理装置は、複数の装置が接続され、各装置毎に保持された情報を互いに共有可能なピアツーピアシステムに接続可能な情報処理装置であって、前記ピアツーピアシステム上で共有されるデータの一部を抽出または前記データを縮小したサブデータを作成する作成手段と、前記作成手段によって作成された前記サブデータを前記ピアツーピアシステム上の共有保存先に保存する保存手段と、を備えることを特徴としている。
【００１２】
請求項１に記載の発明によれば、作成手段ではピアツーピアシステム上で共有されるデータの一部を抽出またはデータを縮小したサブデータが作成される。作成手段は、例えば、イメージデータのサムネイル画像をサブデータとして作成したり、文書データからイメージをサブデータとして作成したり、文書データのページの一部を抽出したデータをサブデータとして作成したり、音声データのサンプリングレートを落としたデータをサブデータとして作成したりすることで、元データよりも小さいサイズのサブデータを作成する。
【００１３】
また、保存手段では、作成手段によって作成されたサブデータがピアツーピアシステム上の共有保存先に保存される。すなわち、元データよりも小さいサブデータをピアツーピアシステムで共有することが可能となると共に、サブデータを参照することでデータ内容を確認することができる。従って、このように元データよりも小さいサブデータを共有することで、情報を共有する際に、ネットワークの負荷や各情報処理装置のリソースを抑えながら、データの参照を高速に行うことが可能となる。
【００１４】
なお、請求項２に記載の発明のように、ピアツーピアシステム上の共有保存先に保存された全データを共有する第１モード、データのインデックス情報のみを共有する第２モード、及び作成手段によって作成されたサブデータを共有する第３モードを有し、第１乃至第３の何れかのモードを設定する設定手段を更に備えるようにしてもよい。
【００１５】
この時、設定手段は、請求項３に記載の発明のように、ピアツーピアシステム上に接続された情報処理装置毎、またはデータ毎にモードを設定するようにしてもよい。
【００１６】
請求項４に記載の情報処理方法は、複数の装置が接続され、各装置毎に保持された情報を互いに共有可能なピアツーピアシステムに接続可能な情報処理装置における情報処理方法であって、前記ピアツーピアシステ上で共有するデータの一部を抽出または前記データを縮小したサブデータを作成する作成ステップと、前記作成ステップで作成した前記サブデータを前記ピアツーピアシステム上の共有先に保存する保存ステップと、を含むことを特徴としている。
【００１７】
請求項４に記載の発明によれば、作成ステップではピアツーピアシステム上で共有するデータの一部を抽出またはデータを縮小したサブデータを作成する。作成ステップでは、例えば、イメージデータのサムネイル画像をサブデータとして作成したり、文書データからイメージをサブデータとして作成したり、文書データのページの一部を抽出したデータをサブデータとして作成したり、音声データのサンプリングレートを落としたデータをサブデータとして作成したりすることで、元データよりも小さいサイズのサブデータを作成する。
【００１８】
また、保存ステップでは、作成ステップで作成したサブデータをピアツーピアシステム上の共有保存先に保存する。すなわち、元データよりも小さいサブデータをピアツーピアシステムで共有することが可能となると共に、サブデータを参照することでデータ内容を確認することができる。従って、このように元データよりも小さいサブデータを共有することで、情報を共有する際に、ネットワークの負荷や各情報処理装置のリソースを抑えながら、データの参照を高速に行うことが可能となる。
【００１９】
なお、請求項５に記載の発明のように、ピアツーピアシステム上の共有保存先に保存された全データを共有する第１モード、データのインデックス情報のみを共有する第２モード、及び作成手段によって作成されたサブデータを共有する第３モードを有し、第１乃至第３の何れかのモードを設定する設定ステップを更に備えるようにしてもよい。
【００２０】
この時、設定ステップは、請求項６に記載の発明のように、ピアツーピアシステム上に接続された情報処理装置毎、またはデータ毎にモードを設定するようにしてもよい。
【００２１】
請求項７に記載の情報処理プログラムは、複数の装置が接続され、各装置毎に保持された情報を互いに共有可能なピアツーピアシステムに接続可能なコンピュータに以下の情報処理を実行させる情報処理プログラムであって、前記処理は、前記ピアツーピアシステ上で共有するデータの一部を抽出または前記データを縮小したサブデータを作成する作成ステップと、前記作成ステップで作成した前記サブデータを前記ピアツーピアシステム上の共有先に保存する保存ステップと、を含むことを特徴としている。
【００２２】
請求項７に記載の発明によれば、請求項４に記載の情報処理方法を情報処理プログラムとして適用したものである。すなわち、作成ステップで作成した元データよりも小さいサブデータを共有することで、情報を共有する際に、ネットワークの負荷や各情報処理装置のリソースを抑えながら、データの参照を高速に行うことが可能となる。
【００２３】
なお、請求項８に記載の発明のように、ピアツーピアシステム上の共有保存先に保存された全データを共有する第１モード、データのインデックス情報のみを共有する第２モード、及び作成手段によって作成されたサブデータを共有する第３モードを有し、第１乃至第３の何れかのモードを設定する設定ステップを更に備えるようにしてもよい。
【００２４】
この時、設定ステップは、請求項９に記載の発明のように、ピアツーピアシステム上に接続された情報処理装置毎、またはデータ毎にモードを設定するようにしてもよい。
【００２５】
請求項１０に記載のピアツーピアシステムは、複数のピアが接続されて構成されたピアツーピアシステムであって、請求項１乃至請求項３の何れか１項に記載の情報処理装置をピアとして含むことを特徴としている。
【００２６】
請求項１０に記載の発明によれば、複数のピアが接続されて構成されたピアツーピアシステムに、請求項１乃至請求項３の何れか１項に記載の情報処理装置をピアとして含んでいるので、上述したように、作成手段によって作成された元データよりも小さいサブデータを共有することで、情報を共有する際に、ネットワークの負荷や各情報処理装置のリソースを抑えながら、データの参照を高速に行うことが可能となる。
【発明の効果】
【００２７】
以上説明したように本発明によれば、ピアツーピアシステム上で共有されるデータの一部を抽出または前記データを縮小したサブデータを作成して、ピアツーピアシステム上の共有先に保存することで、元データよりも小さいサブデータを共有することが可能となると共に、サブデータによりデータ内容を確認することができるので、ネットワークの負荷や各情報処理装置のリソースを抑えながら、データの参照を高速に行うことが可能となる、という効果がある。
【発明を実施するための最良の形態】
【００２８】
以下、図面を参照して本発明の実施の形態の一例を詳細に説明する。
【００２９】
図１には、Ｐ２Ｐネットワーク１０のネットワーク構成について概念的に示した。図１に示すように、Ｐ２Ｐネットワーク１０は、仮想的には各ピア１２Ａ〜１２Ｇが相互に接続された構成であり、実際には、例えばピア１２Ａ〜１２Ｃはファイアウォール１４によるアクセス制限下にあるピアであったり、ピア１２Ｃ〜１２Ｅはインターネットに接続されたピアであったり、ピア１２Ｅ〜１２ＧはＮＡＴ（Network Address Translation）によってアドレス変換されるピアであったりする。
【００３０】
また、各ピア同士の接続方法は様々であり、ＩＰｖ４（Internet Protocol version 4）やＩＰｖ６（Internet Protocol version 6）の機能を用いるＴＣＰ（Transmission Control Protocol）接続を用いたり、ＨＴＴＰ（HyperText Transfer Protocol）を用いたり、ＳＭＴＰ（Simple Mail Transfer Protocol）を用いたりすることができる。
【００３１】
ここで、ピアとは、例えばパーソナルコンピュータ等のコンピュータの他、ＰＤＡ（Personal Digital Assistance）、携帯電話、プリンタ、コピー機、これらの機能を複数備えた複合機等のハードウェア又はこれらの機能を実現するソフトウェアをいう。また、各ピアは、同じ種類のものであるか異なる種類のものであるかにかかわらずＰ２Ｐネットワークに参加することができる。
【００３２】
Ｐ２Ｐネットワークの形態としては、図２に示すように、各ピア１４Ａ〜１４Ｋの全てが対等な関係にあるピュアＰ２Ｐと、図３に示すように、サーバ１４Ｓを設け、一部のサービスの提供をサーバ１４Ｓに委ね、その他のサービスについては各ピア１４Ａ〜１４Ｈが対等な関係において実現されるハイブリッドＰ２Ｐの形態があり、何れの形態でも本発明を適用可能である。
【００３３】
また、Ｐ２Ｐネットワークに参加する各ピアにログオンするユーザ又はピアは、図４に示すように、目的に応じたグループを構成することができる。図４では、ピア１２Ａ〜１２Ｇ全てがグループ１に属し、さらに、ピア１２Ａ、１２Ｃ、１２Ｅ、１２Ｆはグループ２に属しており、ピア１２Ｂ、１２Ｅ、１２Ｆ、１２Ｇはグループ３に属している。なお、各ユーザ又はピアは、単一のグループに属してもよいし、複数のグループに属していてもよい。また、ユーザ又はピアは必ずしもグループに属する必要はない。
【００３４】
図５には、Ｐ２Ｐネットワーク１０に参加する各ピアの基本構成を示した。図５に示すように、ピア１２は、Ｐ２Ｐ基盤構成部１６、Ｐ２Ｐ基盤管理データ記憶部１８、アプリケーション実行部２０、及びアプリケーションメモリ２２を含んで構成される。
【００３５】
Ｐ２Ｐ基盤構成部１６は、メッセージ制御部２４、データ管理部２６、送信部２８、及び受信部３０を含んで構成される。
【００３６】
送信部２８は、メッセージ制御部２４から受け取ったメッセージをネットワーク３２へ向けて送信する。
【００３７】
受信部３０は、Ｐ２Ｐネットワーク１０内で送受信されるデータのうち、自ピアにとって必要なデータを受信する。常に受信待機状態となっており、Ｐ２Ｐネットワーク１０の他ピアからの各種要求やデータを受信し、メッセージ制御部２４に受け渡す。なお、送信部２８とは独立かつ並列に動作する。
【００３８】
図６には、メッセージ制御部２４の概略構成を示した。メッセージ制御部２４は、図６に示すように、サービス実行部３４及びメッセージディスパッチ部３６を含んで構成されている。
【００３９】
サービス実行部３４は、ピア探索サービス部３８、告知情報公開サービス部４０、告知情報取得サービス部４２、グループ管理サービス部４４、ユーザ管理サービス部４６、及びピア管理サービス部４８を含んで構成されており、各サービス部は相互に情報を授受しながら各サービスを実行する。
【００４０】
ピア探索サービス部３８は、Ｐ２Ｐネットワークに参加しているピアを探索する機能及び自ピアが必要とするサービス（機能）を提供可能なピアを探索する機能を有する。なお、探索の範囲は、必要とするサービスの名称や属性、ホップ数の閾値等を指定することにより制御することができる。ここで、ホップ数とは、メッセージを送信する際に経由するピアの数である。
【００４１】
告知情報公開サービス部４０は、自ピアが提供可能なサービス等の情報を告知情報としてＰ２Ｐネットワーク上に公開する機能を有する。ここで、提供可能なサービスには、例えばアプリケーション実行部２０により実行されるアプリケーションの他、後述するグループ管理サービスやユーザ管理サービス等も含まれる。なお、告知情報の公開は、例えば他ピアから問い合わせがあった場合や自ピアの起動時に実行してもよいし、定期的に実行するようにしてもよい。
【００４２】
このように各ピアの告知情報公開サービス部４０によって告知情報がＰ２Ｐネットワーク上に公開されることにより、Ｐ２Ｐネットワークに参加している各ピアは、Ｐ２Ｐネットワーク上でどのようなサービスを利用できるかを把握することができる。
【００４３】
告知情報取得サービス部４２は、ピア探索サービス部３８によって探索されたピアから送信された告知情報又は他ピアから自発的に送信された告知情報を取得し、データ管理部２６へ受け渡す。データ管理部２６では、取得した告知情報をピア情報としてＰ２Ｐ基盤管理データ記憶部１８に記憶させる。これにより、ピアは、Ｐ２Ｐネットワークに参加している他ピアがどのようなサービスを提供しているのかを把握することができる。
【００４４】
グループ管理サービス部４４は、同じ目的を有するピア同士で構成されたグループへの参加や脱退、新たなグループの作成等をグループ情報に基づいて管理する機能を有する。グループ情報は、例えば少なくともグループＩＤとユーザＩＤとの対応関係を表す情報であり、Ｐ２Ｐ基盤管理データ記憶部１８に記憶される。このグループ情報を参照することにより、どのグループにどのユーザが属しているかを把握することができる。
【００４５】
ユーザ管理サービス部４６は、ユーザ情報を管理する機能を有する。ユーザ情報は、例えばピアＩＤとそのピアにログオンしているユーザＩＤとの対応関係を表すログオン情報や、ユーザの名前、ＩＰ（Internet Protocol）アドレス、メールアドレス等のユーザ自身に関する情報、そのユーザが属するグループのグループＩＤ等の情報を含み、Ｐ２Ｐ基盤管理データ記憶部１８に記憶される。
【００４６】
ピア管理サービス部４８は、Ｐ２Ｐネットワークに参加しているピアのピア情報を管理する機能を有する。
【００４７】
メッセージディスパッチ部３６は、アプリケーション実行部２０からのメッセージや他ピアとの間で送受信されるメッセージを解析し、サービス実行部３４のうち解析したメッセージに関する処理を行うべきサービス部へ制御を渡す。
【００４８】
Ｐ２Ｐ基盤管理データ記憶部１８は、経路情報１８Ａ、グループ情報１８Ｂ、隣接情報１８Ｃ、ピア情報１８Ｄ、及びユーザ情報１８Ｅを記憶する。
【００４９】
経路情報１８Ａは、Ｐ２Ｐネットワークにおける経路の情報、例えば後述するスパニングツリーに関する情報を含む。
【００５０】
グループ情報１８Ｂは、前述したように例えば少なくともグループＩＤとユーザＩＤとの対応関係を表す情報である。
【００５１】
隣接情報１８Ｃは、自ピアに隣接するピアに関する情報、例えばピアＩＤ等の情報を含む。ここで、隣接するピアとは、例えば自ピアから送信したパケットに対する応答時間が予め定めた所定時間内のピアとすることができる。隣接情報は、例えば他ピアと通信する課程において得られる応答時間に基づいて生成することができるが、オペレータの操作等により手動的に設定するようにしてもよい。
【００５２】
ピア情報１８Ｄは、ピア探索サービス部３８によって探索されたピアに関する情報、例えばピアＩＤ等の情報や、告知情報取得サービス部４２によって取得したＰ２Ｐネットワーク上の各ピアが提供しているサービスに関する情報等を含む。ここで、ピアＩＤには、例えばＩＰアドレスやＵＲＩ（Uniform Resource Identifier）等を用いることができる。
【００５３】
ユーザ情報１８Ｅは、前述したようにユーザのログオン情報やユーザ自身に関する情報等を含む。
【００５４】
アプリケーション実行部２０は、各種アプリケーションを実行するものであり、メッセージ制御部２４を介して他ピアとメッセージの送受信を行う。また、アプリケーションメモリ２２は、アプリケーション実行部２０の実行に関連する各種の情報を記憶するためのメモリである。
【００５５】
次に、Ｐ２Ｐネットワークにおいて、目的のサービスを検索し実行する場合の具体例について説明する。
【００５６】
まず、他ピアへメッセージを転送する機能を有する転送機能付きピアと、転送機能を備えず、転送機能付きピアを介して他ピアとメッセージの送受信を行うエンドピアと、からなるＰ２Ｐネットワークにおいて、転送機能付きピア及びエンドピアのＰ２Ｐ基盤構成部１６で実行される処理について説明する。なお、転送機能付きピアは、図示しない転送機能サービス部をサービス実行部３４に備えた構成である。
【００５７】
図７にはエンドピアで実行される処理のフローチャートを、図８には転送機能付きピアで実行される処理のフローチャートを示した。
【００５８】
図７に示すように、エンドピアは、ステップ１００において、転送機能付きピアの探索要求を、例えば自ピアに予め記憶された設定情報に設定された他の転送機能付きピアに対して、又はマルチキャストやブロードキャストにより他の転送機能付きピアに対してＰ２Ｐネットワークに送信する。これは、ピア探索サービス部３８により実行される。
【００５９】
そして、ステップ１０２において、転送機能付きピアが存在するか否かを判断し、転送付きピアが存在する場合には、ステップ１０４へ移行し、転送機能付きピアが存在しない場合には、ステップ１０２へ戻り、例えば所定時間経過後に再度転送機能付きピアを探索する。
【００６０】
ステップ１０４では、自ピアにログオンしているユーザ又は自ピアが属するグループに属している他ユーザがログオンしている他ピアの告知情報を取得するよう転送機能付きピアに要求する。これは、告知情報取得サービス部４２により実行される。
【００６１】
ステップ１０６では、転送機能付きピアから告知情報を受信したか否かを判断し、受信していない場合には、ステップ１１０へ移行し、受信した場合には、ステップ１０８において、受信した告知情報をＰ２Ｐ基盤管理データ記憶部１８にピア情報１８Ｄとして記憶させる。
【００６２】
ステップ１１０では、サービス要求が発生したか否かを判断する。例えば自ピアにログオンしているユーザの操作等によってアプリケーション実行部２０によりアプリケーションが実行され、サービス要求が発生した場合には、アプリケーション実行部２０からメッセージ制御部２４へサービス要求が通知される。この場合、ステップ１１２へ移行し、サービス要求が発生していない場合には、ステップ１１６へ移行する。
【００６３】
ステップ１１２では、発生したサービス要求に対応したメッセージを作成して転送機能付きピアに送信する。例えば、アプリケーション実行部２０からのサービス要求が、所望のファイルを取得する要求だった場合には、アプリケーション実行部２０から通知されたファイル名等の所望のファイルを特定するための情報を含むファイル探索要求メッセージを転送機能付きピアに送信する。
【００６４】
ステップ１１４では、送信したメッセージに対する応答処理を行う。すなわち、送信したメッセージに対する応答メッセージを受信し、受信した応答メッセージの内容に応じた処理を行う。例えば、サービス要求が所定のファイルを取得する要求であった場合には、そのファイルを所有しているピアがあれば、そのピア情報が応答メッセージとして受信されるので、これをアプリケーション実行部２０に通知する。この場合、アプリケーション実行部２０では、受信したピア情報に基づいて、所望のファイルを所有しているピアにファイル送信要求を送信するようメッセージ制御部２４に依頼する。これにより、所望のファイルを取得することができる。
【００６５】
そして、ステップ１１６では、転送機能付きピアから、他ピアから何らかのサービス提供又は情報提供を要求する要求メッセージを受信したか否かを判断し、要求メッセージを受信していた場合には、ステップ１１８へ移行し、要求メッセージを受信していない場合には、ステップ１０６へ戻って上記と同様の処理を繰り返す。
【００６６】
ステップ１１８では、要求に対する処理を実行する。そして、ステップ１２０において、処理結果に対応したメッセージを転送機能付きピアに送信する。例えば、他ピアからファイル探索の要求メッセージを受信した場合には、その要求メッセージをファイル検索を実行するアプリケーション実行部２０へ渡す。これによりアプリケーション実行部２０においてファイル検索が実行され、検索結果がメッセージ制御部２４に通知される。メッセージ制御部２４では、アプリケーション実行部２０から通知された検索結果に基づいて応答メッセージを作成し、ファイル探索要求メッセージの送信元のピアに送信する。例えばファイルが検索できた場合には、自ピアのピアＩＤ等の情報を含めた応答メッセージを作成して、ファイル探索要求メッセージの送信元のピアに送信する。これにより、送信元のピアでは、所望のファイルが検索できたか否かを確認することができる。
【００６７】
次に、転送機能付きピアで実行される処理について説明する。
【００６８】
転送機能付きピアは、まず図８に示すステップ２００において、例えば自ピアに予め記憶された設定情報に設定された他の転送機能付きピアに対して、又はマルチキャストやブロードキャストにより他の転送機能付きピアに対して、グループ情報やユーザ情報等の各種情報を送信するよう要求し、これらの情報を取得する。取得した情報は、Ｐ２Ｐ基盤管理データ記憶部１８に記憶される。これにより、Ｐ２Ｐネットワークを構成しているピアの情報やログオンしているユーザの情報を得ることができる。
【００６９】
ステップ２０２では、Ｐ２Ｐ基盤管理データ記憶部１８に記憶された隣接情報１８Ｃを、自ピアの隣の転送機能付きピア全てに告知する。隣接情報１８Ｃには、自ピアの隣の転送機能付きピアの情報が少なくとも含まれ、さらに、他のピアが有している隣接情報を既に取得している場合には、その隣接情報も含まれる。
【００７０】
ステップ２０４では、隣の転送機能付きピアに隣接情報を送信するよう要求し、取得する。このように、自ピアの隣の転送機能付きピアと隣接情報を交換する。
【００７１】
そして、ステップ２０６では、交換した隣接情報に基づき、スパニングツリーの構成情報を生成し、Ｐ２Ｐ基盤管理データ記憶部１８に経路情報として記憶する。ここで、スパニングツリーとは、メッセージの転送経路が、ループのない木構造となるような経路を表す。例えばＰ２Ｐネットワークが、図９（Ａ）に示すように、グループ１にのみ属する転送機能付きピア５０1、グループ２にのみ属する転送機能付きピア５０2、グループ１、２の何れにも属する転送機能付きピア５０12、何れのグループにも属さない転送機能付きピア５０n、これらの各転送機能付きピアの背後に存在するエンドピア（図９では図示省略）で構成されていたとする。この場合、スパニングツリーは、図９（Ｂ）に示すようなループのない木構造の経路となる。
【００７２】
次のステップ２０８では、エンドピアからのメッセージ送信要求を受信したか否かを判断し、受信している場合にはステップ２１０へ移行し、受信していない場合には、ステップ２１２へ移行する。
【００７３】
ステップ２１０では、スパニングツリーの構成情報としての経路情報に基づいて、メッセージを転送する。例えば、図９（Ａ）に示すようなネットワークが構築されている場合において、エンドピアが例えばグループ１に属しており、グループ１向けの要求メッセージを転送機能付きピアに送信した場合について説明する。この場合、転送機能付きピアは、グループ１に属しているエンドピアに対してのメッセージ転送を担う転送機能付きピアを全て含み、この転送機能付きピア全てにメッセージが転送されるようなスパニングツリー、例えば図９（Ｃ）に示すようなスパニングツリーを経路情報に基づいて計算する。そして、転送機能付きピアは、計算されたスパニングツリーに基づいて、隣の転送機能付きピア全てにエンドピアからの要求メッセージを転送する。これにより、図９（Ｃ）に示すスパニングツリー上の転送機能付きピアにメッセージが転送され、グループ１のエンドピア全てにメッセージが転送される。なお、グループ２向けのメッセージ送信要求を転送機能付きピアに送信した場合は、図９（Ｄ）に示すようなスパニングツリーが計算される。
【００７４】
次のステップ２１２では、隣の転送機能付きピアからメッセージを受信したか否かを判断し、受信した場合にはステップ２１４へ移行し、受信していない場合には、ステップ２０８へ戻って上記と同様の処理を繰り返す。なお、定期的にステップ２００へ戻ってスパニングツリーを定期的に計算するようにしてもよい。
【００７５】
ステップ２１４では、計算したスパニングツリーに基づき、メッセージを転送する必要がある場合、すなわちスパニングツリー上における隣の転送機能付きピアのうちメッセージを転送していない転送機能付きピアが存在する場合には、その転送機能付きピアにメッセージを転送する。また、受信したメッセージが、自ピアがメッセージの転送を担うエンドピアと同一のグループ宛であった場合には、そのメッセージをエンドピアへ転送する。
【００７６】
このように、スパニングツリーを各転送機能付きピアが計算し、このスパニングツリー計算に従ってメッセージを転送することにより、同じグループ内のエンドピア間においてメッセージの送受信が可能となる。
【００７７】
上記のような転送機能付きピアによってメッセージを転送する構成は、主にＬＡＮ（Local Area Network）等の比較的小規模のネットワークでＰ２Ｐネットワークを構築する場合に適しているが、大規模のネットワークでＰ２Ｐネットワークを構成する場合には、ファイアウォールやゲートウェイ等を介して、異なるネットワークに接続されたピア間でメッセージの送受信が行われる。以下では、このような比較的大規模なネットワークでＰ２Ｐネットワークを構築する場合に適した形態について説明する。
【００７８】
図１０に示すＰ２Ｐネットワーク１１は、複数のネットワーク５２〜５８を含み、ネットワーク５２は、ルータ６０、６２を介してネットワーク５４と接続されると共に、ルータ６４を介してネットワーク５８と接続される。また、ネットワーク５６は、ルータ６６を介してネットワーク５８と接続される。
【００７９】
ネットワーク５２は、エンドピア５２Ａ、５２Ｂ、及び待ち合わせ機能付きピア５２Ｃを含んで構成され、ネットワーク５４はエンドピア５４Ａを含んで構成され、ネットワーク５６はエンドピア５６Ａを含んで構成され、ネットワーク５８は中継機能付きピア５８Ａを含んで構成されている。なお、待ち合わせ機能付きピアは、図示しない待ち合わせ機能サービス部をサービス実行部３４に備えた構成であり、中継機能付きピア５８Ａは、図示しない中継機能サービス部をサービス実行部３４に備えた構成である。
【００８０】
このように構成されたＰ２Ｐネットワーク１１において、エンドピアは、図７のフローチャートの示す処理とほぼ同様の処理を実行する。すなわち、Ｐ２Ｐネットワーク１１におけるエンドピアで実行される処理は、図７のフローチャートの説明において、転送機能付きピアを待ち合わせ機能付きピアに言い換えた処理を実行すると考えることができる。
【００８１】
また、中継機能付きピアは、基本的には所謂ゲートウェイとしての動作をするピアである。中継機能付きピアは、まず、例えば自ピアに記憶された設定情報に予め設定された他のピアに対して、又はマルチキャストやブロードキャストにより他のピアに対して、グループ情報やユーザ情報等の各種情報を送信するよう要求し、これらの情報を取得しておく。そして、他ピアからメッセージを受信した場合には、送信先として指定されたピアにメッセージを転送する。
【００８２】
次に、待ち合わせ機能付きピアで実行される処理について、図１１に示すフローチャートを参照して説明する。
【００８３】
まず、ステップ３００において、例えば自ピアに記憶された設定情報に予め設定された他の転送機能付きピアに対して、又はマルチキャストやブロードキャストによって、他のピアに対してグループ情報やユーザ情報等の各種情報を送信するよう要求する。
【００８４】
ステップ３０２では、他ピアから何らかの情報、例えばステップ３００で要求したグループやユーザ情報等の情報や、他ピアからの告知情報等を受信したか否かを判断し、受信した場合には、ステップ３０４へ移行し、受信していない場合には、ステップ３０６へ移行する。
【００８５】
ステップ３０４では、他ピアから受信した情報をＰ２Ｐ基盤管理データ記憶部１８に記憶させる。例えば受信した情報がグループ情報であればグループ情報１８ＢとしてＰ２Ｐ基盤管理データ記憶部１８に記憶させ、受信した情報がユーザ情報であればユーザ情報１８ＥとしてＰ２Ｐ基盤管理データ記憶部１８に記憶させる。
【００８６】
ステップ３０６では、エンドピアから何らかのサービス提供又は情報提供を要求する要求メッセージを受信したか否かを判断し、受信している場合には、ステップ３０８へ移行し、受信していない場合には、ステップ３０２へ戻って上記と同様の処理を繰り返す。
【００８７】
ステップ３０８では、要求メッセージに対応した情報が自ピアのＰ２Ｐ基盤管理データ記憶部１８に記憶されているか否かを判断し、記憶されている場合には、ステップ３１０へ移行し、記憶されていない場合には、ステップ３１２へ移行する。
【００８８】
ステップ３１０では、要求メッセージに対応した情報をＰ２Ｐ基盤管理データ記憶部１８から読み出して要求元のピアに送信する。
【００８９】
一方、ステップ３１２では、要求メッセージを隣接のピアに転送する。これにより、要求メッセージが他ピアに伝搬される。これにより、要求メッセージに対応した処理を実行可能なピアから応答メッセージが送信される。
【００９０】
ステップ３１４では、要求メッセージに対応した処理を実行可能なピアから送信された応答メッセージを受信し、これを要求元のエンドピアに送信する。
【００９１】
ここで、ネットワーク５４のピア５４Ａが告知情報の探索要求を行う場合について説明する。この場合、ピア５４Ａは、待ち合わせ機能付きピアを検索し、検索された待ち合わせ機能付きピア５２Ｃに告知情報の探索要求メッセージを送信する。これにより待ち合わせ機能付きピア５２Ｃは、自ピアに他ピアの告知情報が蓄積されていれば、これをピア５４Ａに送信し、蓄積されていない場合には、例えば隣のピア５２Ａ、５２Ｂ等に告知情報を送信するよう要求する。このとき、ピア５２Ａは、自ピアの告知情報と、自ピアに記憶されている他ピアの告知情報、例えばピア５６Ａの告知情報がすでに記憶されている場合には、その告知情報とを待ち合わせ機能付きピア５２Ｃに送信する。ピア５２Ｃについても同様である。待ち合わせ機能付きピア５４Ｃは、他ピアから送信された告知情報を蓄積すると共に、ピア５４Ａに送信する。
【００９２】
以上のように、待ち合わせ機能付きピアは、他ピアから送信された告知情報等の各種情報を自ピアに蓄積しておき、エンドピアからの要求に対応した情報が自ピアに記憶されている場合には、その情報をエンドピアに送信する。従って、Ｐ２Ｐネットワーク１１のように大規模なネットワークにおけるメッセージの送受信の効率を向上させることができる。
【００９３】
次に、アプリケーション実行の具体例として、アプリケーションがファイル共有サービスの場合におけるアプリケーション実行部２０の処理について説明する。
【００９４】
この場合、アプリケーション実行部２０は、ファイル名等の所望のファイルを特定するための情報を少なくとも含んだファイル探索要求をメッセージ制御部２４のメッセージディスパッチ部３６に通知する。メッセージディスパッチ部３６では、このファイルを所有するピアを探索するようピア探索サービス部３８に対して要求する。これにより、ピア探索サービス部３８によって所望のファイルを所有するピアが探索され、アプリケーション実行部２０に通知される。そして、アプリケーション実行部２０では、探索されたピアに対してファイルを送信するよう要求し、取得する。なお、所望のファイルを所有しているピアの情報を既に取得しており、自ピアに記憶されていた場合には、ピア探索を実行せずに、直接そのピアにファイル送信要求を送信してファイルを取得すればよい。
【００９５】
このように、アプリケーション実行部２０は、メッセージ制御部２４を介して他ピアとメッセージの送受信を行い、サービスを提供する。
【００９６】
なお、Ｐ２Ｐネットワークの構築について上記は一例であり、例えば上記特許文献１に記載されたプロトコルや、ＪＸＴＡプロトコルのＰＤＰ（Peer Discovery Protocol：ピア発見プロトコル）、ＰＲＰ（Peer Resolver Protocol：ピア解決プロトコル）、ＰＩＰ（Peer Information Protocol：ピア情報プロトコル）、ＰＭＰ（Peer Membership Protocol：ピアメンバーシッププロトコル）、ＰＢＰ（Peer Binding Protocol：ピアバインディングプロトコル）、ＰＥＰ（Peer Endpoint Protocol：ピアエンドポイントプロトコル）等の公知のプロトコルを用いてＰ２Ｐネットワークを構築してもよい。
【００９７】
ところで、上述のように構成されたＰ２Ｐネットワークでは、各ピアで情報を共有する際には、リアルタイムモードとダウンロードモードを有する。なお、リアルタイムモードは、共有するデータの全てが各ピアにコピーされるモードであり、ダインロードモードは、ファイル名等のインデックス情報のみを各ピアで共有し、必要な時に各ピアがインデックス情報を参照して対応するデータをダウンロードするモードである。
【００９８】
しかしながら、ダウンロードモードでは、インデックス情報のみしか共有していないので、データの内容については共有されないので、内容を確認するためには、データをダウンロードして確認する必要があり、利便的ではないと共に、ダウンロードする時間がかかってしまう。
【００９９】
そこで、本実施の形態では、リアルタイムモードとダウンロードモードの中間のモード（以下、参照モードという）が設定されており、参照モードによって、データの参照を高速に行うことを可能にしている。
【０１００】
参照モードは、例えば、データの一部またはデータを縮小したサブデータを各ピアで共有し、必要な時に各ピアが元データをダウンロードするモードであり、これによってデータの一部または縮小したサブデータを参照することができる。なお、参照モードは、アプリケーション実行部２０によって実行される。
【０１０１】
ここで、参照モードを行うアプリケーション実行部２０の構成について説明する。図１２は、参照モードを実行するアプリケーション実行部２０及びアプリケーションメモリ２２を備えたピアが接続されたＰ２Ｐネットワークの一例を示すブロック図である。
【０１０２】
アプリケーション実行部２０は、データ共有部７０、データ加工部７２、及び共有データ管理部７４を含んで構成され、アプリケーションメモリ２２には、Ｐ２Ｐネットワーク１０に接続された各ピアと共有する各種データが記憶される。
【０１０３】
データ共有部７０は、Ｐ２Ｐネットワーク１０に接続された各ピアと上述したように各種データを共有する機能を有し、アプリケーションメモリ２２に記憶されたデータをＰ２Ｐネットワーク１０に接続されたピアと共有する。共有方法としては、上述したモードに応じたデータ共有を行う。すなわち、リアルタイムモードの場合には共有するデータの全てが各ピアにコピーされることで共有され、ダウンロードモードの場合にはインデックス情報のみが各ピアで共有され、参照モードの場合にはデータの一部または縮小したサブデータが各ピアで共有される。
【０１０４】
また、データ共有部７０によって共有されるデータは、データ表示部７６で表示することで確認することができる。データ表示部７６での表示は、後述する共有ファイル参照ＵＩ（User Interface）画面８０（図１３参照）等を用いて行う。
【０１０５】
データ加工部７２は、Ｐ２Ｐネットワーク１０上で共有するデータ（元データ）から、サムネイル画像、目次情報等のサブデータを作成する。例えば、データ加工部７０は、イメージデータの解像度を落とす処理、イメージのサムネイル画像を作成する処理、写真から撮影日時や撮影場所（例えば、ＧＰＳ情報等を含む場合）などの情報を抽出する処理、文書の先頭ページのサムネイル画像を作成する処理、文書からイメージを作成する処理（例えば、文書全体のイメージやページの一部から抽出、縮小、拡大、変形などの処理を行う事でイメージを作成する処理等）、音声データのサンプリングレートを落とす処理、音声データの一部を抽出する処理等を行うことでサブデータを作成する。そして、データ加工部７２によって作成されるサブデータとしては、例えば、サムネイル画像、目次、索引、挿絵、コメント、文書概要、音声データの一部（音楽データの場合はレートを落としたものや、音楽の一部分等）、作成者や日時や表題等の属性情報等を挙げることができる。
【０１０６】
共有データ管理部７４は、データ加工部７２で作成されたサブデータや、Ｐ２Ｐネットワーク１０上で共有される各種データのアプリケーションメモリ２２への読込み／書き込みを管理する。
【０１０７】
アプリケーションメモリ２２に記憶されるデータは、例えば、図１２に示すように、モード（リアルタイムモード、ダウンロードモード、参照モード）の設定を表す属性を含む本体データや、該属性を含む上述のサブデータ等が記憶される。
【０１０８】
ここで、上述のリアルタイムモード、ダウンロードモード、及び参照モードの設定方法について説明する。図１３は、上述の共有ファイルの参照を行うための共有ファイル参照ＵＩ画面８０及びモード設定画面８２の一例を示す図である。
【０１０９】
共有ファイルの参照を指定する操作がユーザによって行われた場合に、例えば、図１３に示すような共有ファイル参照ＵＩ画面８０を表示する。
【０１１０】
共有ファイル参照ＵＩ画面８０では、例えば、共有フォルダやその共有フォルダ内の共有ファイルを表示すると共に、表示された共有フォルダ内の情報を表示する。図１３では、左側に共有フォルダ１内の情報を階層表示し、右側にはユーザによって指定された共有フォルダ１内のファイルが表示されている一例を示す。
【０１１１】
モードの設定は、例えば、共有ファイル参照ＵＩ画面８０に表示されたファイル（図１３ではファイル１〜５）を指定して、プロパティを開く等の操作を行うことで、モード設定画面８２を表示し、当該モード設定画面８２を用いてモードの設定を行うことができる。例えば、図１３では、モード設定画面８２上で参照モードが選択されている一例を示す。この状態で表示された“ＯＫ”ボタンを選択する操作を行うことで参照モードに設定することができる。
【０１１２】
なお、図１３では、各ファイル毎にモード設定を行う例を示すが、各ピア毎にモード設定を行うようにしてもよいし、各ピア毎及び各ファイル毎の両方設定を行うようにしてもよい。また、各ピア毎及び各ファイル毎にモード設定を行う場合には、例えば、各ピア毎の設定を優先する等の優先順位を設けるようにしてもよい。
【０１１３】
続いて、共有データを登録する際に行われるアプリケーション実行部２０の処理について説明する。図１４は、共有データを登録する際に行われるアプリケーション実行部２０で行われる処理の流れの一例を示すフローチャートである。
【０１１４】
まず、ステップ４００では、アプリケーション実行部２０は、共有ファイルの登録が指示されたか否か判定する。該判定は、例えば、上述の共有ファイル参照ＵＩ画面８０を用いて共有フォルダ内に共有するデータがコピーされたか否か等をアプリケーション実行部２０が判定することによってなされ、該判定が否定された場合にはそのまま処理を終了して他の処理を実行し、肯定された場合には、ステップ４０２へ移行する。
【０１１５】
ステップ４０２では、アプリケーション実行部２０は、登録対象のファイルから日時情報やファイル名等のインデックス情報を取得して、図１３に示すような共有ファイル参照ＵＩ画面８０をデータ表示部７６に表示する。
【０１１６】
次に、ステップ４０４では、アプリケーション実行部２０は、参照モード設定か否か判定する。該判定は、共有ファイル参照ＵＩ画面８０からプロパティを開く操作等が指示されてモード設定画面８２が開かれ、該モード設定画面８２で参照モードが選択指示されか否かを判定することによってなされ、該判定が肯定された場合には、ステップ４０６へ移行し、否定された場合には、ステップ４１０へ移行する。
【０１１７】
ステップ４０６では、データ加工部７２がサブデータを作成してステップ４０８へ移行する。すなわち、上述したように、データ加工部７２によりサムネイル画像等のサブデータが元データから作成され、Ｐ２Ｐネットワーク１０の共有保存先であるアプリケーションメモリ２２に記憶される。
【０１１８】
ステップ４０８では、共有データ管理部７４は、元データをダウンロードモードに設定し、データ加工部７２で作成したサブデータをリアルタイムモードに設定する。すなわち、参照モードが設定された場合には、各ピアでは共有ファイルを参照する際には、サブデータを共有することができるので、該サブデータを参照することでデータの内容を把握することが可能となり、必要な場合にのみ元データをダウンロードすることができる。また、各ピアではサブデータのみを共有するので、ネットワークの負荷や各ピアのリソースを抑えながら、データの参照を高速に行うことできる。
【０１１９】
一方、ステップ４０４の判定が否定されたステップ４１０へ移行すると、ステップ４１０では、アプリケーション実行部２０はリアルタイムモードか否か判定する。該判定は、上述の参照モードの判定と同様に、共有ファイル参照ＵＩ画面８０からプロパティを開く操作等が指示されてモード設定画面８２が開かれ、該モード設定画面８２でリアルタイムモードが選択指示されか否かを判定することによってなされ、該判定が肯定された場合には、ステップ４１２へ移行し、否定された場合には、ステップ４１４へ移行する。
【０１２０】
ステップ４１２では、共有データ管理部７４は、登録対象のファイルの属性をリアルタイムモードに設定してアプリケーションメモリ２２に記憶して、共有ファイル登録時の処理を終了する。すなわち、Ｐ２Ｐネットワーク１０で当該ファイルを共有する際には、データ共有部７０がＰ２Ｐネットワーク１０に参加している全てのピアに対して当該ファイルをコピーする。これによって各ピアでは元データを参照することが可能となる。
【０１２１】
一方、ステップ４１０の判定が否定されたステップ４１４へ移行すると、ステップ４１４では、アプリケーション実行部２０は、ダウンロードモードか否か判定する。該判定は、上述の参照モードの判定と同様に、共有ファイル参照ＵＩ画面８０からプロパティを開く操作等が指示されてモード設定画面８２が開かれ、該モード設定画面８２でダウンロードモードが選択指示されか否かを判定することによってなされ、該判定が肯定された場合には、ステップ４１６へ移行し、否定された場合には、ステップ４１８へ移行する。
【０１２２】
ステップ４１６では、共有データ管理部７４は、登録対象ファイルの属性をインデックス情報を用いたダウンロードモードに設定してアプリケーションメモリ２２に記憶して、共有ファイル登録時の処理を終了する。すなわち、Ｐ２Ｐネットワーク１０で当該ファイルを共有する際には、データ共有部７０がＰ２Ｐネットワーク１０に参加している全てのピアに対してインデックス情報のみをコピーする。これによって各ピアでは必要に応じて元データをダウンロードして参照することが可能となる。
【０１２３】
一方、ステップ４１４の判定が否定されてステップ４１８へ移行すると、ステップ４１８では、アプリケーション実行部２０は、ピアの設定に応じたモード設定を行う。すなわち、各ファイル毎の設定ではなく、予めピア毎に設定されたモードに応じたファイルの登録が行われて共有ファイル登録時の処理を終了する。なお、ピア毎のモード設定は、ファイル毎のモード設定と同様の方法で行うことが可能である。
【０１２４】
次に、上述のように登録された共有ファイルを参照する際に行われるアプリケーション実行部２０の処理について説明する。図１５は、登録された共有データを参照する際に行われるアプリケーション実行部２０での処理の流れの一例を示すフローチャートである。
【０１２５】
まず、アプリケーション実行部２０は、ステップ５００で共有ファイル参照が指示されたか否か判定する。該判定は、例えば、データ表示部７６に共有ファイル参照ＵＩ画面８０を表示する指示がなされたか否かを判定することによってなされ、該判定が否定された場合には、共有ファイル参照時の処理を終了して、その他の処理を行う。
【０１２６】
ステップ５００の判定が肯定されると、ステップ５０２へ移行して、アプリケーション実行部２０は、共有ファイル参照ＵＩ画面表示処理を行い、ステップ５０４へ移行する。なお、共有ファイル参照ＵＩ画面表示処理は、図１３に示すような共有ファイル参照ＵＩ画面８０をデータ表示部７６に表示すると共に、指示に応じて選択されたファイル等を反転表示する等の処理を行う。
【０１２７】
ステップ５０４では、アプリケーション実行部２０は、参照ファイルが指定されたか否か判定する。すなわち、共有ファイル参照ＵＩ画面８０を用いて、参照対象のファイルを指定する操作がなされたか否かが判定され、該判定が否定された場合には、ステップ５０２に戻って、ファイルの選択操作等に応じたファイルの反転表示等がなされながら上述の処理が繰り返され、ステップ５０４の判定が肯定されたところでステップ５０６へ移行する。
【０１２８】
ステップ５０６では、アプリケーション実行部２０は参照対象のファイルがダウンロードモードか否か判定する。すなわち、共有データ管理部７４がアプリケーションメモリ２２に記憶された参照対象に選択されたファイルの属性（モード）を読み出して、読み出した属性に基づいて判定を行い、該判定が肯定された場合には、ステップ５０８へ移行し、否定された場合にはステップ５１４へ移行する。
【０１２９】
ステップ５０８では、アプリケーション実行部２０は、インデックス情報をデータ表示部７６に表示してステップ５１０へ移行し、元データ表示が指示されたか否か判定する。ここで元データの参照が指示された場合には、ステップ５１２へ移行して元データを保持するピアからＰ２Ｐ基盤構成部１６を介してダウンロードしてデータ表示部７６に表示してステップ５２０へ移行する。また、ステップ５１０の判定が否定された場合（例えば、他の参照ファイルが選択指定された場合等）にはそのままステップ５２０へ移行する。
【０１３０】
一方、ステップ５０６の判定が否定されてステップ５１４へ移行すると、ステップ５１４では、アプリケーション実行部２０は参照対象のファイルが参照モードか否か判定する。すなわち、共有データ管理部７４がアプリケーションメモリ２２に記憶された参照対象に選択されたファイルの属性（モード）を読み出して、読み出した属性に基づいて判定を行い、該判定が肯定された場合には、ステップ５１８へ移行し、否定された場合にはリアルタイムモードと判定してステップ５１６へ移行する。
【０１３１】
ステップ５１６では、アプリケーション実行部２０は、Ｐ２Ｐネットワーク１０にログオン時等にコピーされている元データをデータ表示部７６に表示してステップ５２０へ移行する。
【０１３２】
一方、ステップ５１８では、共有データ管理部７４は、Ｐ２Ｐネットワーク１０にログオン時等にアプリケーションメモリ２２にコピーされているインデックス情報及びサブデータをデータ表示部７６に表示してステップ５２０へ移行する。すなわち、Ｐ２Ｐネットワーク１０にログオンされた時には、参照モードの場合にはインデックス情報と元データよりもデータサイズが小さいサブデータのみが各ピアにコピーされるが、元データよりも小さいサブデータを共有するので、ネットワークの負荷や各ピアのリソースを抑えながら、データの参照を高速に行うことができる。なお、この時、参照対象のファイルのダウンロードが指示する操作等が行われた場合には、アプリケーション実行部２０は、参照対象のファイルを保持するピアからＰ２Ｐ基盤構成部１６を介してファイルをダウンロードする。すなわち、ダウンロードモードと同様に、必要な時だけ元データを参照することができる。また、参照モードでは、データ加工部７２で作成されたサムネイル画像等を表示するので、ダウンロードモードでは確認できない、ファイルの内容の少なくとも一部を確認することができる。
【０１３３】
そして、ステップ５２０では、アプリケーション実行部２０はファイル参照を終了するか否か判定する。該判定は、例えば、共有ファイル参照ＵＩ画面８０を閉じる操作等がなされたか否か等を判定することによってなされ、該判定が否定された場合には、ステップ５０２へ戻って上述の処理が繰り返され、ステップ５２０の判定が肯定されたところで、共有ファイル参照時の処理を終了する。
【０１３４】
このように、本実施の形態では、Ｐ２Ｐネットワーク１０で情報を共有する際には、３つのモードを設定することができる。そして、リアルタイムモードでは、Ｐ２Ｐネットワーク１０にログオン時に、全てのデータがコピーされるので、データ転送時間は長くなってしまうが、共有しているデータ内容を全て確認することができ、ダウンロードモードでは、インデックス情報のみからデータ内容を推測する必要があるが、Ｐ２Ｐネットワーク１０にログオン時にはインデックス情報のみが共有されるので、高速に共有ファイルのインデックス情報を確認することができる。そして、参照モードでは、データ加工部７２で作成された元データよりも小さいサブデータを確認することができるので、データの内容を把握することができる。そして、元データよりも小さいサブデータを共有するので、ネットワークの負荷や各ピアのリソースを抑えて、データを高速に参照することができる。
【０１３５】
なお、上記の実施の形態において、データ加工部７２で作成するサブデータのサイズは、各ピアのパフォーマンスを考慮して可変可能なようにしてもよい。例えば、サブデータの大きさをユーザが設定可能なようにしてもよいし、Ｐ２Ｐネットワークの速度などを考慮して自動的に設定するようにしてもよい。
【図面の簡単な説明】
【０１３６】
【図１】Ｐ２Ｐネットワークのネットワーク構成図である。
【図２】ピュアＰ２Ｐのネットワーク構成図である。
【図３】ハイブリッドＰ２Ｐのネットワーク構成図である。
【図４】Ｐ２Ｐネットワークのグループについて説明するための概念図である。
【図５】ピアの基本的構成のブロック図である。
【図６】メッセージ制御部のブロック図である。
【図７】エンドピアで実行される処理のフローチャートである。
【図８】転送機能付きピアで実行される処理のフローチャートである。
【図９】スパニングツリーのイメージ図である。
【図１０】Ｐ２Ｐネットワークの他の形態のネットワーク構成図である。
【図１１】待ち合わせ機能付きピアで実行される処理のフローチャートである。
【図１２】参照モードを実行するアプリケーション実行部及びアプリケーションメモリを備えたピアが接続されたＰ２Ｐネットワークの一例を示すブロック図である。
【図１３】共有ファイル参照ＵＩ画面及びモード設定画面の一例を示す図である。
【図１４】共有データを登録する際の本発明の実施の形態に係わるアプリケーション実行部で行われる処理の流れの一例を示すフローチャートである。
【図１５】登録された共有データを参照する際の本発明の実施の形態に係わるアプリケーション実行部２０で行われる処理の流れの一例を示すフローチャートである。
【符号の説明】
【０１３７】
１０    Ｐ２Ｐネットワーク
１２    ピア
１６    Ｐ２Ｐ基盤構成部
２０    アプリケーション実行部
２２    アプリケーションメモリ
７０    データ共有部
７２    データ加工部
７４    共有データ管理部
７６    データ表示部
８０    共有ファイル参照ＵＩ画面
８２    モード設定画面
【図１】
2006178754.tif 000003
【図２】
2006178754.tif 000004
【図３】
2006178754.tif 000005
【図４】
2006178754.tif 000006
【図５】
2006178754.tif 000007
【図６】
2006178754.tif 000008
【図７】
2006178754.tif 000009
【図８】
2006178754.tif 000010
【図９】
2006178754.tif 000011
【図１０】
2006178754.tif 000012
【図１１】
2006178754.tif 000013
【図１２】
2006178754.tif 000014
【図１３】
2006178754.tif 000015
【図１４】
2006178754.tif 000016
【図１５】
2006178754.tif 000017