(57)【要約】【課題】  送信先ユーザのログイン状況に依存せず、またメール等の機能を備えずともメッセージを送信可能とする。【解決手段】  メッセージの送信が指示されると、メッセージからグループＩＤを取得し、グループＩＤからグループを構成するユーザＩＤを取得する(402〜406)。ユーザ毎に、いずれかのピア上でオンラインかどうかを調べる(408〜412)。ユーザがオフラインであり、ユーザがメッセージをＥ−Ｍａｉｌで転送するように設定している場合(412N,416N)、メッセージをメール代理ピアに転送する（418）。メッセージは、メール代理ピアからメール送信サーバに転送され、メール送信サーバがＥ−Ｍａｉｌでユーザの携帯電話等の端末に送信される。【選択図】        図１２
2006268572.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）、携帯電話、プリンタ、コピー機、これらの機能を複数備えた複合機等のハードウェア又はこれらの機能を実現するソフトウェアをいう。また、各ピアは、同じ種類のものであるか異なる種類のものであるかにかかわらずＰ２Ｐネットワークに参加することができる。
【００３８】
Ｐ２Ｐネットワークの形態としては、図２に示すように、各ピア１４Ａ〜１４Ｋの全てが対等な関係にあるピュアＰ２Ｐと、図３に示すように、サーバ１４Ｓを設け、一部のサービスの提供をサーバ１４Ｓに委ね、その他のサービスについては各ピア１４Ａ〜１４Ｈが対等な関係において実現されるハイブリッドＰ２Ｐの形態があり、何れの形態でも本発明を適用可能である。
【００３９】
また、Ｐ２Ｐネットワークに参加する各ピアにログオンするユーザ又はピアは、図４に示すように、目的に応じたグループを構成することができる。図４では、ピア１２Ａ〜１２Ｇ全てがグループ１に属し、さらに、ピア１２Ａ、１２Ｃ、１２Ｅ、１２Ｆはグループ２に属しており、ピア１２Ｂ、１２Ｅ、１２Ｆ、１２Ｇはグループ３に属している。なお、各ユーザ又はピアは、単一のグループに属してもよいし、複数のグループに属していてもよい。また、ユーザ又はピアは必ずしもグループに属する必要はない。
【００４０】
図５には、Ｐ２Ｐネットワーク１０に参加する各ピアの基本構成を示した。図５に示すように、ピア１２は、Ｐ２Ｐ基盤構成部１６、Ｐ２Ｐ基盤管理データ記憶部１８、アプリケーション実行部２０、及びアプリケーションメモリ２２を含んで構成される。
【００４１】
Ｐ２Ｐ基盤構成部１６は、メッセージ制御部２４、データ管理部２６、送信部２８、及び受信部３０を含んで構成される。
【００４２】
送信部２８は、メッセージ制御部２４から受け取ったメッセージをネットワーク３２へ向けて送信する。
【００４３】
受信部３０は、Ｐ２Ｐネットワーク１０内で送受信されるデータのうち、自ピアにとって必要なデータを受信する。常に受信待機状態となっており、Ｐ２Ｐネットワーク１０の他ピアからの各種要求やデータを受信し、メッセージ制御部２４に受け渡す。なお、送信部２８とは独立かつ並列に動作する。
【００４４】
図６には、メッセージ制御部２４の概略構成を示した。メッセージ制御部２４は、図６に示すように、サービス実行部３４及びメッセージディスパッチ部３６を含んで構成されている。
【００４５】
サービス実行部３４は、ピア探索サービス部３８、告知情報公開サービス部４０、告知情報取得サービス部４２、グループ管理サービス部４４、ユーザ管理サービス部４６、ピア管理サービス部４８、及び掲示板サービス部５０を含んで構成されており、各サービス部は相互に情報を授受しながら各サービスを実行する。
【００４６】
ピア探索サービス部３８は、Ｐ２Ｐネットワークに参加しているピアを探索する機能及び自ピアが必要とするサービス（機能）を提供可能なピアを探索する機能を有する。なお、探索の範囲は、必要とするサービスの名称や属性、ホップ数の閾値等を指定することにより制御することができる。ここで、ホップ数とは、メッセージを送信する際に経由するピアの数である。
【００４７】
告知情報公開サービス部４０は、自ピアが提供可能なサービス等の情報を告知情報としてＰ２Ｐネットワーク上に公開する機能を有する。ここで、提供可能なサービスには、例えばアプリケーション実行部２０により実行されるアプリケーションの他、後述するグループ管理サービスやユーザ管理サービス等も含まれる。なお、告知情報の公開は、例えば他ピアから問い合わせがあった場合や自ピアの起動時に実行してもよいし、定期的に実行するようにしてもよい。
【００４８】
このように各ピアの告知情報公開サービス部４０によって告知情報がＰ２Ｐネットワーク上に公開されることにより、Ｐ２Ｐネットワークに参加している各ピアは、Ｐ２Ｐネットワーク上でどのようなサービスを利用できるかを把握することができる。
【００４９】
告知情報取得サービス部４２は、ピア探索サービス部３８によって探索されたピアから送信された告知情報又は他ピアから自発的に送信された告知情報を取得し、データ管理部２６へ受け渡す。データ管理部２６では、取得した告知情報をピア情報としてＰ２Ｐ基盤管理データ記憶部１８に記憶させる。これにより、ピアは、Ｐ２Ｐネットワークに参加している他ピアがどのようなサービスを提供しているのかを把握することができる。
【００５０】
グループ管理サービス部４４は、同じ目的を有するピア同士で構成されたグループへの参加や脱退、新たなグループの作成等をグループ情報に基づいて管理する機能を有する。グループ情報は、例えば少なくともグループＩＤとユーザＩＤとの対応関係を表す情報であり、Ｐ２Ｐ基盤管理データ記憶部１８に記憶される。このグループ情報を参照することにより、どのグループにどのユーザが属しているかを把握することができる。
【００５１】
ユーザ管理サービス部４６は、ユーザ情報を管理する機能を有する。ユーザ情報は、例えばピアＩＤとそのピアにログオンしているユーザＩＤとの対応関係を表すログオン情報や、ユーザの名前、メールアドレス等のユーザ自身に関する情報、そのユーザが属するグループのグループＩＤ等の情報を含み、Ｐ２Ｐ基盤管理データ記憶部１８に記憶される。
【００５２】
ピア管理サービス部４８は、Ｐ２Ｐネットワークに参加しているピアのピア情報を管理する機能を有する。
【００５３】
掲示板サービス部５０は、予め複数のユーザグループが用意されており、ユーザがあるメッセージを特定のユーザグループに投稿すると、そのユーザグループに含まれるメンバー全員が参照できるようにする。
【００５４】
メッセージディスパッチ部３６は、アプリケーション実行部２０からのメッセージや他ピアとの間で送受信されるメッセージを解析し、サービス実行部３４のうち解析したメッセージに関する処理を行うべきサービス部へ制御を渡す。
【００５５】
Ｐ２Ｐ基盤管理データ記憶部１８は、図５に示すように、経路情報１８Ａ、グループ情報１８Ｂ、隣接情報１８Ｃ、ピア情報１８Ｄ、ユーザ情報１８Ｅ、及び掲示板メッセージ１８Ｆを記憶する。
【００５６】
経路情報１８Ａは、Ｐ２Ｐネットワークにおける経路の情報、例えば後述するスパニングツリーに関する情報を含む。
【００５７】
グループ情報１８Ｂは、前述したように例えば少なくともグループＩＤとユーザＩＤとの対応関係を表す情報である。
【００５８】
隣接情報１８Ｃは、自ピアに隣接するピアに関する情報、例えばピアＩＤ等の情報を含む。ここで、隣接するピアとは、例えば自ピアから送信したパケットに対する応答時間が予め定めた所定時間内のピアとすることができる。隣接情報は、例えば他ピアと通信する課程において得られる応答時間に基づいて生成することができるが、オペレータの操作等により手動的に設定するようにしてもよい。
【００５９】
ピア情報１８Ｄは、ピア探索サービス部３８によって探索されたピアに関する情報、例えばピアＩＤ等の情報や、告知情報取得サービス部４２によって取得したＰ２Ｐネットワーク上の各ピアが提供しているサービスに関する情報等を含む。ここで、ピアＩＤには、例えばＩＰアドレスやＵＲＩ（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：ピアエンドポイントプロトコル）等の公知のプロトコルを用いてＰ２Ｐネットワークを構築してもよい。
【０１０６】
次に、上記ステップ１１６〜１２０の処理の詳細を説明する。
【０１０７】
上記のように、掲示板サービス部５０を起動して、ユーザが、投稿するメッセージを作成すると共に、特定のユーザグループに投稿（グループＩＤを指定）すると、上記ステップ１１６が肯定判定となって、ステップ１１８、１２０の処理として次に説明する掲示板サービス処理を実行する。
【０１０８】
この場合、複数のピア１２Ａ〜１２Ｇの何れかのピアがメール代理ピアとして動作する。メール代理ピアは、以下のいずれか、あるいは両方の処理を行う。
【０１０９】
第１に、P2Pネットワーク内で流通しているドキュメントを、必要であれば適当な形に変換し、メール送信サーバを通じてメールとして送信する。第２に、メール受信サーバから取得したメールを解釈し、必要であれば適当な形に変換し、P2Pネットワーク内で流通させる。
【０１１０】
最初に、掲示板にポストされたメッセージがメールで送信される例を説明する。
【０１１１】
ここで、掲示版とは、予め複数のユーザグループが用意されており、ユーザがあるメッセージを特定のユーザグループに投稿すると、そのユーザグループに含まれるメンバー全員が参照できるようになるというアプリケーションである。ユーザグループの情報は、前述したように、ユーザグループ構成情報（グループＩＤとユーザＩＤ）として保持され、ピア間で共有される。なお、複数のアプリケーションでユーザグループの情報が参照される場合、それがワークグループとも呼ばれることがある。他のアプリケーションとしては、スケジュール管理(スケジュール情報が交換される)、ファイル共有(ファイルコンテンツや属性情報が交換される)といったものがある。
【０１１２】
ユーザがあるピア上でログインしており、直接メッセージを参照できる状態にあることを、オンラインであると称する。そうでない場合はオフラインである。この情報は、前述したように、ユーザ管理サービス４６により、管理され、その情報はピア間で共有される。
【０１１３】
ユーザがオンラインである場合、メッセージは直接そのユーザがログインしているピア上の掲示板サービス部５０から参照できる状態になる。ユーザがオフラインである場合、ユーザはその間に投稿されたメッセージをメール（Ｅ−Ｍａｉｌ）で受け取ることをあらかじめ指定することができる。この情報はそのメールの宛先と共にユーザ情報として保持され、ピア間で共有される。
【０１１４】
メッセージがP2Pネットワーク上の掲示板に投稿された場合、そのメッセージの宛先のユーザグループについて、それに属するユーザがオンラインかどうか確認される。
【０１１５】
そのユーザがオンラインであれば、そのままP2Pネットワークによりメッセージが配信される。
【０１１６】
仮に、オフラインであり、かつオフライン時にメールでメッセージを受け取るように構成されていた場合、ユーザ情報に指定されたメールアドレスに向けて、メッセージが送信される。
【０１１７】
これは例えば以下のようにして実現される。
【０１１８】
掲示板サービス部５０は、ユーザからメッセージの送信操作を受け付け、掲示板メッセージストア１８Ｆにメッセージを格納する。メッセージは、あらかじめ定められたユーザグループに対して配信されるように宛先グループＩＤが含まれている。このように、掲示板メッセージストア１８Ｆにメッセージが格納されると、図１２に示すメッセージ転送処理がスタートし、ステップ４０２で、掲示板メッセージストア１８Ｆに格納されたメッセージを取得する。
【０１１９】
ステップ４０６で、上記取得されたメッセージに含まれているグループＩＤを取得し、ステップ４０６で、グループＩＤに基づいて、グループを構成するユーザＩＤを取得することにより、メッセージの宛先ユーザグループに含まれるユーザを認識する。ステップ４０８で、上記グループＩＤにより、識別されるグループを構成する各ユーザを識別する変数Ｙを０に初期化し、ステップ４１０で、変数Ｙで識別されるユーザＹが、いずれかのピア上でオンラインであるかどうかを調べる。この情報は、ユーザ管理サービス部４６によって、ユーザ情報１８Ｅから得られる。
【０１２０】
ユーザＹがオフラインである場合、ステップ４１２が否定判定され、ステップ４１６で、ユーザ情報を参照して、ユーザがメッセージをＥ−Ｍａｉｌで転送するように設定しているかどうかを認識する。Ｅ−Ｍａｉｌで転送するように設定されている場合には、ステップ４２０に進み、Ｅ−ｍａｉｌで転送するように設定されていた場合、ステップ４１８で、メッセージはメール代理ピアに転送される。このとき、ユーザ情報に記された希望のメール書式といった情報があれば、それらも転送される。
【０１２１】
メール代理ピアでは、メッセージをメールに適した形式に整形する。ここでの整形には、形式の変換や、複数のメッセージの集約も含む。
整形されたメッセージは、メール代理ピアからメール送信サーバに転送され、メール送信サーバがＥ−Ｍａｉｌで送信される。
【０１２２】
なお、ステップ４１２で、ユーザＹがオンラインであると判断された場合には、ネットワークを介して、メッセージを直接、当該ユーザＹがログインされたピアに送信する。
【０１２３】
そして、ステップ４２０で、変数Ｙが上記グループを構成するユーザの総数Ｙ０であるか否か判断し、変数Ｙが上記グループを構成するユーザの総数Ｙ０でないと判断された場合には、ステップ４１０に戻り、以上の処理（ステップ４１０〜４２０）を判断し、変数Ｙが上記グループを構成するユーザの総数Ｙ０であると判断された場合には、本処理を終了する。
【０１２４】
次に、同様の掲示板システムに外部からメールによってメッセージを投稿する例を説明する。
【０１２５】
メール受信人として、P2Pネットワークにおけるユーザグループを識別するための識別子が使用される。これはユーザグループ(ワークグループ)の名称（グループＩＤ）そのものでもよいし、予め割り当てられた別の識別子でもよい。
【０１２６】
受信されたメッセージは、一旦メール受信サーバに格納される。メール受信代理ピアは、定期的あるいはなんらかの通知を受け取った時点で、メール受信サーバにアクセスしてメッセージを取得する。取得されたメッセージは、メール受信代理ピアにより、P2Pネットワークに転送される。
【０１２７】
以上をより詳細に説明する。外部からメール受信サーバにメールが送達される。メール受信代理ピアは、メール受信サーバからメッセージを取得する。どの宛先のメッセージを取得し、どのユーザグループのメンバーに配信するかどうかは、ユーザグループ構成情報として保持されている。
【０１２８】
メール受信代理ピアは、メール受信サーバからメッセージを取得すると、前述した図１２の処理のステップ４０２〜４２０を判断する。ステップ４１６が肯定判定されると、メール受信代理ピアは、メッセージをメール送信サーバに転送する。メール送信サーバは、メッセージをＥ−Ｍａｉｌで送信する。ステップ４１６が否定判定されると、メール受信代理ピアは、メッセージ転送エージェントを通じて、P2Pネットワークにメッセージを送信する。
【０１２９】
以上説明したように本実施の形態では、ユーザのログイン状態に基づいて、メッセージをピアに直接送信できないと判断された場合に、代理ピアを介してメール送信サーバからメッセージをＥ−Ｍａｉｌで送信する。つまり、ユーザのログイン状態にかかわらず、最適な方法でメッセージを送信することができる。
【０１３０】
また、既存のメールインフラストラクチャの利用により、P2Pアプリケーションが対象としないプラットフォームでも、P2Pネットワークとコンテンツを（相互に）やりとりができる。とりわけ、モバイルプラットフォームとの連携が容易になったり、Webメールなどの利用により、一時的なアクセス環境においてもP2Pネットワークとコンテンツを（相互に）やりとりができたりする。
【０１３１】
さらに、メール代理ピアにメール送信動作を集約することにより、メール代理ピアのみがメール等の機能を備え構成情報を保持していればよく、その他のピアにはメール等の機能を備えたり構成情報をあらかじめ保持するようにしておいたりする必要を無くすことができる。
【０１３２】
以上説明した実施の形態は本発明の一例を説明したもので、種々の変形例が考えられる。まず、メール代理ピアの選択に関する変形例を説明する。即ち、どのピアがメール代理ピアを担当するかについては、以下のような変形例が考えられる。
【０１３３】
第１に、ピア間ネットワークの再構成に合わせて、自動的に選任する。第２に、内部ネットワークと外部ネットワークの境界にいる、前述した「エッジ」ピアが代理する。第３に、常駐ピア（バックアップやプライマリーストアとして機能しているピア）が代理する。いずれの場合も、メール送信サーバのアドレスといった構成について、あらかじめ一定の情報を保持しておくのに適当であることが、メール代理ピアとして機能するにあたって優先されるべき条件となる。
【０１３４】
次に、添付ファイルつきメッセージの送信に関する変形例を説明する。
【０１３５】
第１に、ユーザがメールとしてテキスト形式のみを転送するように指定していた場合、添付ファイルをテキストに変換して送信する。第２に、メールとしてHTML形式を転送するとしていた場合、添付ファイルをHTMLに変換して送信する。第３に、メールとして添付画像を受け付ける場合、添付ファイルを画像に変換して送信する。
【０１３６】
次に、メッセージの集約に関する変形例を説明する。
【０１３７】
掲示板や、よりリアルタイム性の高いチャットといったアプリケーションでは、多数のメッセージが投稿されることがある。モバイルデバイスなどにメールでメッセージを転送する場合は、すべてのメッセージを転送しないほうがよいことがある。
【０１３８】
そこで、一定時間ごと、あるいは、あるメッセージ数ごとに、複数のメッセージを集約して送信するようにしてもよい。また、掲示板などでは、メッセージを投稿する際にトピック(スレッド)を指定できるものがある。このような形態の掲示板において、新規トピックの最初のメールは無条件に送信され、それに対して適当な返信を行うと、トピック全体が改めて送信される。
【０１３９】
次に、メール送信とWebサーバとの連携を組み合わせた変形例を説明する。
【０１４０】
ファイル共有アプリケーションにメール連携を適用する場合、メールにドキュメントを添付するよりも、Webサーバに一旦格納したドキュメントを参照するURL等をメールに記載するようにしてもよい。
【０１４１】
次に、配信確認メッセージと既読状態の整合についての変形例を説明する。
メッセージ回覧を目的としたメッセージ交換アプリケーションでは、そのメッセージがあるユーザによって参照されたかどうかを記録する。参照されたかどうかについては、通常はピア上で動作するフロントエンドアプリケーションで記録される。メール連携の場合は配信確認メッセージの受信をもって既読であるとする構成が考えられる。配信確認はDelivery Status Notificationといった標準形式でも良いし、単にユーザが空メールを返信するといった形式でも良い。
【０１４２】
次に、メールによるメッセージ交換からP2Pネットワークへ参加する変形例を説明する。
【０１４３】
P2Pネットワーク上のユーザグループを開放しておき、まずメールでメッセージを受け付ける。このとき、メールの受信を持ってP2Pネットワーク上にユーザを識別する情報が自動的に生成され、ピア間で共有されるようにする構成が考えられる。
【０１４４】
ユーザはそのままメールにてメッセージ交換を続けることもできるが、あるいはP2Pネットワークにいずれかのピア上から直接参加することで、ピア上のフロントエンドアプリケーションを用いて議論を継続することもできるようになる。
【０１４５】
なお、以上説明した種々の例では、グループを指定することにより、該グループの各ユーザにメッセージを送信する場合を説明したが、本発明はこれに限定されず、ユーザを個別にまたは複数同時に指定する場合にも、各ユーザのログイン状態を考慮して同様に適用することができる。
【図面の簡単な説明】
【０１４６】
【図１】Ｐ２Ｐネットワークのネットワーク構成図である。
【図２】ピュアＰ２Ｐのネットワーク構成図である。
【図３】ハイブリッドＰ２Ｐのネットワーク構成図である。
【図４】Ｐ２Ｐネットワークのグループについて説明するための概念図である。
【図５】ピアの基本的構成のブロック図である。
【図６】メッセージ制御部のブロック図である。
【図７】エンドピアで実行される処理のフローチャートである。
【図８】転送機能付きピアで実行される処理のフローチャートである。
【図９】スパニングツリーのイメージ図である。
【図１０】Ｐ２Ｐネットワークの他の形態のネットワーク構成図である。
【図１１】待ち合わせ機能付きピアで実行される処理のフローチャートである。
【図１２】メッセージ転送処理のフローチャートである。
【符号の説明】
【０１４７】
１０、１１      Ｐ２Ｐネットワーク
１２    ピア
１６    Ｐ２Ｐ基盤構成部
１８    Ｐ２Ｐ基盤管理データ記憶部
１８Ｄ  掲示板メッセージ記憶部
２０    アプリケーション実行部
２２    アプリケーションメモリ
２４    メッセージ制御部
２６    データ管理部
２８    送信部
３０    受信部
３２    ネットワーク
３４    サービス実行部
３６    メッセージディスパッチ部
３８    ピア探索サービス部
４０    告知情報取得サービス部
４２    告知情報取得サービス部
４４    グループ管理サービス部
４６    ユーザ管理サービス部
４８    ピア管理サービス部
５０    掲示板サービス部
【図１】
2006268572.tif 000003
【図２】
2006268572.tif 000004
【図３】
2006268572.tif 000005
【図４】
2006268572.tif 000006
【図５】
2006268572.tif 000007
【図６】
2006268572.tif 000008
【図７】
2006268572.tif 000009
【図８】
2006268572.tif 000010
【図９】
2006268572.tif 000011
【図１０】
2006268572.tif 000012
【図１１】
2006268572.tif 000013
【図１２】
2006268572.tif 000014