(57)【要約】【課題】利用されないルームが開設されたままの状態を回避する。【解決手段】携帯電話１００Ａは携帯電話１００Ｃ宛てにＰ２Ｐ通信を勧誘する。勧誘された携帯電話１００Ｃは、勧誘に対する利用者のＯＫ操作に応じて、勧誘者と勧誘された者との間で一意に決定するルーム名のチャットルームを、マッチングサーバ装置４００に開設する。勧誘側である携帯電話１００Ａでは、このチャットルームがマッチングサーバ４００に開設されたことを検出すると、携帯電話１００Ｃから勧誘に対するＯＫ応答があったものとして制御する。マッチングサーバ４００では、開設されたルームに、携帯電話１００Ａがアクセス（参加）要求したことを検出（マッチング検出）すると、Ｐ２Ｐ通信のための相手側のＩＰアドレスを、携帯電話１００Ａと１００Ｃに送信する。【選択図】図１１
2010140083.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置、および前記サーバ装置を経由しない所定データ通信を行う複数の通信端末が接続されるネットワークに適用される前記通信端末であって、
前記ネットワークを介して前記所定データ通信とは異なる情報通信をするために用いる自端末を識別する自端末識別情報と、他の前記通信端末を識別する他端末識別情報を格納する情報格納部と、
前記所定データ通信の要求を入力するために操作される通信要求部と、
前記他端末識別情報を送信元データに、前記自端末識別情報を宛先データに含む前記所定データ通信を勧誘するための勧誘メッセージを、前記情報通信によって他の前記通信端末から受信する勧誘受信部と、
前記勧誘受信部により前記勧誘メッセージが受信されたとき前記通信要求部によって前記要求が入力されたことに応じて、前記所定データ通信に用いられる情報であって且つ自己の前記通信端末を識別するための第１識別情報を格納するルームを、ルーム識別子と対応付けて前記サーバ装置に開設するルーム開設部と、
前記ルーム開設部による前記ルームの開設後から所定期間、前記所定データ通信に用いられる情報であって前記第１識別情報とは異なる第２識別情報の通知を待機する待機部と、を備え、
前記ルーム識別子は、前記所定データ通信を行う両方の前記通信端末が有する所定情報に基づき生成される、通信端末。
【請求項２】
前記サーバ装置は、
開設したルームを記憶するルーム記憶部を含み、
前記ルームには、前記ルーム識別子と、前記第１識別情報を含む当該ルームに参加する前記通信端末それぞれの所定識別情報が格納され、
前記複数の通信端末のうちのいずれかの通信端末から、削除すべきルームのルーム識別子を指す削除識別子を含むルーム削除要求を受信すると、前記削除識別子に基づき前記ルーム記憶部を検索し、検索結果に基づき、前記削除識別子に一致する前記ルーム識別子に対応の前記ルームを、新たなルームを開設可能なように、前記ルーム記憶部から削除するルーム削除部を、さらに含み、
前記通信端末は、
前記所定期間の経過後、前記サーバ装置宛てに、前記ルーム開設部により開設した前記ルームのルーム識別子を前記削除識別子として含む前記ルーム削除要求を送信する、請求項１に記載の通信端末。
【請求項３】
サーバ装置、および前記サーバ装置を経由しない所定データ通信を行う複数の通信端末が接続されるネットワークに適用される前記通信端末であって、
前記ネットワークを介して前記所定データ通信とは異なる情報通信をするために用いる自端末を識別する自端末識別情報と、他の前記通信端末を識別する他端末識別情報を格納する情報格納部と、
前記所定データ通信に用いられる情報であって且つ他の前記通信端末を識別するための所定識別情報を格納するルームが、ルーム識別子と対応付けて前記サーバ装置に開設されたことを検出する開設検出部と、
前記所定データ通信の要求を入力するために操作される通信要求部と、
前記通信要求部によって前記要求が入力されたことに応じて、前記情報格納部から読出した前記自端末識別情報を送信元データに、前記他端末識別情報を宛先データに含む前記所定データ通信を勧誘するための勧誘メッセージを、前記情報通信によって他の前記通信端末宛てに送信する勧誘送信部と、
前記勧誘メッセージを送信後から所定期間、前記開設検出部が、他の前記通信端末により前記ルームが開設されたことを検出するまで待機する開設待機部と、
前記所定期間内に、前記開設検出部によって前記ルームの開設が検出されたことに応じて、前記ルーム識別子に基づきアクセスすることにより、当該ルームに格納された前記所定識別情報を、前記サーバ装置から受信する所定識別情報受信部とを、備え、
前記ルーム識別子は、前記所定データ通信を行う両方の前記通信端末が有する所定情報に基づき生成される、通信端末。
【請求項４】
前記サーバ装置は、
開設したルームを記憶するルーム記憶部を含み、
前記ルームには、前記ルーム識別子と、当該ルームに参加する前記通信端末の所定識別情報が格納され、
前記複数の通信端末のうちのいずれかの通信端末から、削除すべきルームのルーム識別子を指す削除識別子を含むルーム削除要求を受信すると、前記削除識別子に基づき前記ルーム記憶部を検索し、検索結果に基づき、前記削除識別子に一致する前記ルーム識別子に対応の前記ルームを、新たなルームを開設可能なように、前記ルーム記憶部から削除するルーム削除部を、さらに含み、
前記通信端末は、
前記所定識別情報受信部が前記所定識別情報を受信した後に、前記サーバ装置宛てに、前記開設検出部が開設を検出した前記ルームのルーム識別子を前記削除識別子として含む前記ルーム削除要求を送信する、請求項３に記載の通信端末。
【請求項５】
前記情報格納部から読出した前記自端末識別情報と前記他端末識別情報とに基づき、前記ルーム識別子を生成する識別子生成部を、さらに備える、請求項１から４のいずれか１項に記載の通信端末。
【請求項６】
サーバ装置、および前記サーバ装置を経由しない所定データ通信を行う複数の通信端末が接続されるネットワークに適用される前記通信端末における通信方法であって、
前記通信端末は、前記ネットワークを介して前記所定データ通信とは異なる情報通信をするために用いる自端末を識別する自端末識別情報と、他の前記通信端末を識別する他端末識別情報を格納する情報格納部と、操作部とを備え、
前記通信方法は、
前記操作部を介して前記所定データ通信の要求を入力する通信要求入力ステップと、
前記他端末識別情報を送信元データに、前記自端末識別情報を宛先データに含む前記所定データ通信を勧誘するための勧誘メッセージを、前記情報通信によって他の前記通信端末から受信する勧誘受信ステップと、
前記勧誘受信ステップにより前記勧誘メッセージが受信されたとき前記通信要求入力ステップによって前記要求が入力されたことに応じて、前記所定データ通信に用いられる情報であって且つ自己の前記通信端末を識別するための第１識別情報を格納するルームを、ルーム識別子と対応付けて前記サーバ装置に開設するルーム開設ステップと、
前記ルーム開設ステップによる前記ルームの開設後から所定期間、前記所定データ通信に用いられる情報であって前記第１識別情報とは異なる第２識別情報の通知を待機する待機ステップと、を備え、
前記ルーム識別子は、前記所定データ通信を行う両方の前記通信端末が有する所定情報に基づき生成される、通信方法。
【請求項７】
サーバ装置、および前記サーバ装置を経由しない所定データ通信を行う複数の通信端末が接続されるネットワークに適用される前記通信端末における通信方法であって、
前記通信端末は、前記ネットワークを介して前記所定データ通信とは異なる情報通信をするために用いる自端末を識別する自端末識別情報と、他の前記通信端末を識別する他端末識別情報を格納する情報格納部と、操作部とを備え、
前記通信方法は、
前記所定データ通信に用いられる情報であって且つ他の前記通信端末を識別するための所定識別情報を格納するルームが、ルーム識別子と対応付けて前記サーバ装置に開設されたことを検出する開設検出ステップと、
前記操作部を介して、前記所定データ通信の要求を入力する通信要求入力ステップと、
前記通信要求入力ステップによって前記要求が入力されたことに応じて、前記情報格納部から読出した前記自端末識別情報を送信元データに、前記他端末識別情報を宛先データに含む前記所定データ通信を勧誘するための勧誘メッセージを、前記情報通信によって他の前記通信端末宛てに送信する勧誘送信ステップと、
前記勧誘メッセージを送信後から所定期間、前記開設検出ステップによって、他の前記通信端末により前記ルームが開設されたことを検出するまで待機する開設待機ステップと、
前記所定期間内に、前記開設検出ステップによって前記ルームの開設が検出されたことに応じて、前記ルーム識別子に基づきアクセスすることにより、当該ルームに格納された前記所定識別情報を、前記サーバ装置から受信する所定識別情報受信ステップとを、備え、
前記ルーム識別子は、前記所定データ通信を行う両方の前記通信端末が有する所定情報に基づき生成される、通信方法。
【請求項８】
請求項６に記載の前記通信方法を、コンピュータに実行させるためのプログラム。
【請求項９】
請求項７に記載の前記通信方法を、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は通信端末に関し、特に、サーバ装置を介して他の通信端末と通信する通信端末に関する。
【背景技術】
【０００２】
従来、インターネットに接続可能な端末同士間のインターネットを利用したダイレクトのデータ／メッセージ交換の１種であるＰ２Ｐ（peer to peer）通信では、通信に参加するメンバ同士が予め電話や電子メールを用いて、または対面して、Ｐ２Ｐ通信を開始する時刻を決める。そして、予定時刻前に、ネットワークに、各メンバが通信端末をネットワークに接続しメンバのいずれかが、Ｐ２Ｐ通信開始を他のメンバに呼び掛ける。
【０００３】
Ｐ２Ｐ通信に従うメンバ同士のデータ通信の１例としてチャットがある。チャットでは、サーバに開設されたチャットルームにより関係付けされたメンバ同士が、サーバを介さずに直接にメッセージ交換などのデータ通信を行なう。
【０００４】
チャットのための構成は、たとえば、特許文献１−３に開示される。特許文献１−３では、チャットの勧誘や、チャットに必要なＩＰ（Internet Protocol）アドレスなど予め取得すべき情報を、サーバを経由したメールシステムを利用して交換する構成が示される。
【０００５】
また、特許文献４には、チャットをしたい相手方の携帯電話番号を用いてサーバにチャットを要求することで、サーバが、要求に応じて、その携帯電話番号の携帯電話に宛ててチャット依頼をするシステムが、開示されている
特許文献１では、新規にチャットルームを開設すると、予め登録されているユーザ情報から、チャットルームへの入室を促すユーザを選択し、選択されたユーザに対して、開設したチャットルームへの入室を促す。
【０００６】
特許文献２では、各ユーザは自己のパーソナルコンピュータのＩＰアドレスを添付した電子メールを、希望する通信先である他のユーザのパーソナルコンピュータに送信することで、Ｐ２Ｐ通信に必要な情報を交換する。
【０００７】
特許文献３では、チャットサーバに接続した携帯電話機は、チャットサーバを介して、チャットに接続していない他の携帯電話機に対して、チャットサーバへの接続を促すチャット勧誘メールを送信すると、チャット勧誘メールを受信した携帯電話機のユーザがチャットサーバへの接続を承諾すると、当該携帯電話機はチャットサーバに接続される。
【０００８】
特許文献４では、携帯電話はサーバに対して、チャットしたい相手方の携帯電話番号を付与してチャット要求すると、サーバは、相手方の携帯電話にチャット依頼し、相手方は都合に応じて依頼に応答する。
【特許文献１】特開２００４−１９９１３４号公報
【特許文献２】特開２００２−２７８９０３号公報
【特許文献３】特開２００３−９１４９４号公報
【特許文献４】特開２００２−１３２６９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
Ｐ２Ｐ通信に従うチャットにおいて、サーバはチャットするメンバ同士を関連付けするために利用されるものであり、Ｐ２Ｐ通信開始後は、当該サーバを介さずに関連付けされたメンバ同士がＩＰアドレスを用いて直接にメッセージ交換をする。したがって、サーバにおいてメンバ同士を関連付けするために開設されるルームは、全てのメンバがチャットルームをアクセスすることによってＰ２Ｐ通信に必要な情報（ＩＰアドレス等）を交換して、Ｐ２Ｐ通信が開始された後は、当該チャットルームは不要となる。それゆえに、サーバの記憶領域を有効利用するという観点から、不要となったチャットルームは削除することが要求される。
【００１０】
ここで、サーバにおいて、無駄なリソースを削除するという観点から、限定した２人のメンバでチャットする場合を想定してチャットルームの開設・削除を考察する。一方のメンバがチャットルームを開設して、他方のメンバがチャットの勧誘にＯＫすれば（ルームに入室したら）、一方のメンバは開設したチャットルームを削除するとした場合、少なくとも開設してから他方のメンバがＯＫするまでの期間は、アクセスされない状態でチャットルームがサーバに残存し続ける。この期間は、他方のメンバが勧誘を受信できない状態にあれば長期化し、勧誘した一方のメンバも、例えば、端末のバッテリ切れなど長時間サーバにアクセスできない状況に陥ればさらに長期化する。
【００１１】
このような場合、サーバにおいて長期間、使われることのない無駄なチャットルームが数多く残存することになる一方で、ルームを新たに開設するための記憶領域が小さくなり、チャットシステムの運用効率は低下する。また、サーバも使用可能な記憶容量を確保するための特別な処理を実行する必要が生じて負荷が高くなり、チャットシステムの運用効率は低下する。
【００１２】
それゆえに、この発明の目的は、アクセスなど利用されないルームが開設されたままの状態を回避する通信端末を提供することである。
【課題を解決するための手段】
【００１３】
この発明のある局面に従うと、サーバ装置、およびサーバ装置を経由しない所定データ通信を行う複数の通信端末が接続されるネットワークに適用される通信端末は、ネットワークを介して所定データ通信とは異なる情報通信をするために用いる自端末を識別する自端末識別情報と、他の通信端末を識別する他端末識別情報を格納する情報格納部と、所定データ通信の要求を入力するために操作される通信要求部と、他端末識別情報を送信元データに、自端末識別情報を宛先データに含む所定データ通信を勧誘するための勧誘メッセージを、情報通信によって他の前記通信端末から受信する勧誘受信部と、勧誘受信部により勧誘メッセージが受信されたとき通信要求部によって要求が入力されたことに応じて、所定データ通信に用いられる情報であって且つ自己の通信端末を識別するための第１識別情報を格納するルームを、ルーム識別子と対応付けてサーバ装置に開設するルーム開設部と、ルーム開設部によるルームの開設後から所定期間、所定データ通信に用いられる情報であって且つ第１識別情報とは異なる第２識別情報の通知を待機する待機部と、を備え、ルーム識別子は、所定データ通信を行う両方の通信端末が有する所定情報に基づき生成される。
【００１４】
好ましくは、サーバ装置は、開設したルームを記憶するルーム記憶部とルーム削除部をを含む。ルームには、ルーム識別子と、第１識別情報を含む当該ルームに参加する通信端末それぞれの所定識別情報が格納される。ルーム削除部は、複数の通信端末のうちのいずれかの通信端末から、削除すべきルームのルーム識別子を指す削除識別子を含むルーム削除要求を受信すると、削除識別子に基づきルーム記憶部を検索し、検索結果に基づき、削除識別子に一致するルーム識別子に対応のルームを、新たなルームを開設可能なように、ルーム記憶部から削除する。
【００１５】
そして、通信端末は、所定期間の経過後、前記サーバ装置宛てに、ルーム開設部により開設したルームのルーム識別子を削除識別子として含むルーム削除要求を送信する。
【００１６】
この発明の他の局面に従うと、サーバ装置、およびサーバ装置を経由しない所定データ通信を行う複数の通信端末が接続されるネットワークに適用される通信端末は、ネットワークを介して所定データ通信とは異なる情報通信をするために用いる自端末を識別する自端末識別情報と、他の通信端末を識別する他端末識別情報を格納する情報格納部と、所定データ通信に用いられる情報であって且つ他の通信端末を識別するための所定識別情報を格納するルームが、ルーム識別子と対応付けてサーバ装置に開設されたことを検出する開設検出部と、所定データ通信の要求を入力するために操作される通信要求部と、通信要求部によって要求が入力されたことに応じて、情報格納部から読出した自端末識別情報を送信元データに、他端末識別情報を宛先データに含む所定データ通信を勧誘するための勧誘メッセージを、情報通信によって他の通信端末宛てに送信する勧誘送信部と、勧誘メッセージを送信後から所定期間、開設検出部が、他の通信端末によりルームが開設されたことを検出するまで待機する開設待機部と、所定期間内に、開設検出部によってルームの開設が検出されたことに応じて、ルーム識別子に基づきアクセスすることにより、当該ルームに格納された所定識別情報を、サーバ装置から受信する所定識別情報受信部とを、備え、ルーム識別子は、所定データ通信を行う両方の通信端末が有する所定情報に基づき生成される。
【００１７】
この発明のさらに他の局面に従うと、サーバ装置、およびサーバ装置を経由しない所定データ通信を行う複数の通信端末が接続されるネットワークに適用される通信端末における通信方法では、通信端末は、ネットワークを介して所定データ通信とは異なる情報通信をするために用いる自端末を識別する自端末識別情報と、他の通信端末を識別する他端末識別情報を格納する情報格納部と、操作部とを備える。
【００１８】
そして、通信方法は、操作部を介して所定データ通信の要求を入力する通信要求入力ステップと、他端末識別情報を送信元データに、自端末識別情報を宛先データに含む所定データ通信を勧誘するための勧誘メッセージを、情報通信によって他の通信端末から受信する勧誘受信ステップと、勧誘受信ステップにより勧誘メッセージが受信されたとき通信要求入力ステップによって要求が入力されたことに応じて、所定データ通信に用いられる情報であって且つ自己の通信端末を識別するための第１識別情報を格納するルームを、ルーム識別子と対応付けて前記サーバ装置に開設するルーム開設ステップと、ルーム開設ステップによるルームの開設後から所定期間、所定データ通信に用いられる情報であって且つ第１識別情報とは異なる第２識別情報の通知を待機する待機ステップと、を備え、ルーム識別子は、所定データ通信を行う両方の通信端末が有する所定情報に基づき生成される。
【００１９】
好ましくは、サーバ装置は、開設したルームを記憶するルーム記憶部とルーム削除部とを含み、ルームには、ルーム識別子と、当該ルームに参加する通信端末の所定識別情報が格納される。ルーム削除部は、複数の通信端末のうちのいずれかの通信端末から、削除すべきルームのルーム識別子を指す削除識別子を含むルーム削除要求を受信すると、削除識別子に基づきルーム記憶部を検索し、検索結果に基づき、削除識別子に一致するルーム識別子に対応のルームを、新たなルームを開設可能なように、ルーム記憶部から削除する。
【００２０】
そして、通信端末は、所定識別情報受信部が所定識別情報を受信した後に、サーバ装置宛てに、開設検出部が開設を検出したルームのルーム識別子を削除識別子として含むルーム削除要求を送信する。
【００２１】
好ましくは、情報格納部から読出した自端末識別情報と他端末識別情報とに基づき、ルーム識別子を生成する識別子生成部を、さらに備える。
【００２２】
この発明のさらに他の局面に従うと、サーバ装置、およびサーバ装置を経由しない所定データ通信を行う複数の通信端末が接続されるネットワークに適用される通信端末における通信方法では、通信端末は、ネットワークを介して所定データ通信とは異なる情報通信をするために用いる自端末を識別する自端末識別情報と、他の通信端末を識別する他端末識別情報を格納する情報格納部と、操作部とを備える。
【００２３】
通信方法は、所定データ通信に用いられる情報であって且つ他の通信端末を識別するための所定識別情報を格納するルームが、ルーム識別子と対応付けてサーバ装置に開設されたことを検出する開設検出ステップと、操作部を介して、所定データ通信の要求を入力する通信要求入力ステップと、通信要求入力ステップによって要求が入力されたことに応じて、情報格納部から読出した自端末識別情報を送信元データに、他端末識別情報を宛先データに含む前記所定データ通信を勧誘するための勧誘メッセージを、前記情報通信によって他の通信端末宛てに送信する勧誘送信ステップと、勧誘メッセージを送信後から所定期間、開設検出ステップによって、他の通信端末により前記ルームが開設されたことを検出するまで待機する開設待機ステップと、所定期間内に、開設検出ステップによってルームの開設が検出されたことに応じて、ルーム識別子に基づきアクセスすることにより、当該ルームに格納された所定識別情報を、サーバ装置から受信する所定識別情報受信ステップとを、備え、ルーム識別子は、所定データ通信を行う両方の通信端末が有する所定情報に基づき生成される。
【００２４】
この発明のさらに他の局面に従うと、通信方法を、コンピュータに実行させるためのプログラムが提供される。
【発明の効果】
【００２５】
本発明によれば、サーバ装置に開設される所定データ通信のために用いられる通信端末を識別する識別情報を格納するルームのルーム識別子は、所定データ通信を行うべき両通信端末が有する所定情報に基づき生成されるから、所定データ通信を行なう通信端末のみにより当該ルームがアクセスされることが可能となり第３の通信端末によりアクセスされる可能性を排除できる。これにより、第３の通信端末の当該ルームへのアクセスを待つ必要はないので、アクセスされないルームが開設されている期間を短くできる。
【００２６】
また、ルームの開設は、勧誘メッセージを受信できた通信端末側で行なうから、すなわち勧誘を承諾した場合にのみルームが開設されることになり、アクセスされないルームが開設されるのを回避できる。
【発明を実施するための最良の形態】
【００２７】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００２８】
また、以下では、携帯電話１００を「通信端末」の代表例として説明を行う。ただし、通信端末は、パーソナルコンピュータや、カーナビゲーション装置（Satellite navigation system）や、ＰＮＤ（Personal Navigation Device）や、ＰＤＡ（Personal Data Assistance）などのような、他の情報通信機器であってもよい。
【００２９】
＜チャットルームに関する説明＞
本実施の形態では、‘チャット’とは、後述のインターネット５００またはキャリア網７００を介したオンラインサービスによりリアルタイムに通信端末同士がメッセージをやり取りするような通信を指す。たとえば、メールサーバは介さないＩＰアドレスを用いたＰ２Ｐ通信、またはメールサーバ経由の電子メール交換であってもよい。また、本実施の形態では、１対１の通信端末同士のチャットを指す。
【００３０】
また、チャットルーム（以下、単にルームと略す）は、一般的には、テーマ・話題毎にデータ交換するために開設されて端末によりアクセスされる。本実施の形態では、通信端末において生成されるルームＩＤ（identifier）であるルーム名毎に開設される。本実施の形態では、‘ルーム’とは、当該ルームのルーム名に対応して、チャットのためのデータ通信（データ交換）を要求するユーザの識別情報を、すなわちユーザの通信端末の識別情報を相互に関係付けるための情報を指す。この通信端末の識別情報は、各通信端末を一意に識別するための情報であって、本実施の形態では各通信端末に割当されたＩＰアドレスとしている。
【００３１】
したがって、本実施の形態では、‘ルームの開設’とは、ルームの生成に相当する。具体的には、所定記憶領域に新規にルーム名を格納するとともに、このルーム名に対応してルームの生成を要求したユーザの通信端末の識別情報を格納する動作に相当する。
【００３２】
また、‘ルームへの参加’とは、所定記憶領域に既に格納されたルーム名に対応してチャットを要求するユーザの通信端末の識別情報を格納するともに、当該ユーザに対して他のユーザの通信端末の識別情報を配信する動作に相当する。
【００３３】
また、‘ルームの削除’とは、削除するべきルームのルーム名および対応する通信端末の識別情報を、所定記憶領域から削除するための動作を指す。
【００３４】
＜ネットワークシステム１の全体構成＞
図１を参照して、本実施の形態に係るネットワークシステム１は、携帯電話１００Ａ，１００Ｂおよび１００Ｃと、マッチングサーバ（第１のサーバ装置）４００と、メールサーバ（第２のサーバ装置）６００と、インターネット（第１のネットワーク）５００と、キャリア網（第２のネットワーク）７００とを含む。また、本実施の形態に係るネットワークシステム１は、車両２５０に搭載されるカーナビゲーション装置２００と、パーソナルコンピュータ（ＰＣ；Personal Computer）３００とを含む。
【００３５】
なお、説明の容易化のために、以下では、本実施の形態に係るネットワークシステム１が、第１の携帯電話１００Ａと、第２の携帯電話１００Ｂと、第３の携帯電話１００Ｃとを含む場合について説明する。また、携帯電話１００Ａ，１００Ｂ，１００Ｃの各々に共通の構成や機能を説明する際には、それらを携帯電話１００とも総称する。そして、携帯電話１００Ａ，１００Ｂ，１００Ｃ、カーナビゲーション装置２００、パーソナルコンピュータ３００の各々に共通の構成や機能を説明する際には、それらを通信端末とも総称する。
【００３６】
携帯電話１００は、キャリア網７００に接続可能に構成されている。カーナビゲーション装置２００は、インターネット５００に接続可能に構成されている。パーソナルコンピュータ３００は、ＬＡＮ（Local Area Network）３５０やＷＡＮ（Wide Area Network）を介してインターネット５００に接続可能に構成されている。マッチングサーバ４００は、インターネット５００に接続可能に構成されている。メールサーバ６００は、インターネット５００およびキャリア網７００に接続可能に構成されている。
【００３７】
より詳細には、第１の携帯電話１００Ａと、第２の携帯電話１００Ｂと、第３の携帯電話１００Ｃと、カーナビゲーション装置２００と、パーソナルコンピュータ３００とは、キャリア網７００やメールサーバ６００やインターネット５００を介して互いに接続可能であって、互いにデータの送受信が可能である。また、携帯電話１００とカーナビゲーション装置２００とパーソナルコンピュータ３００には、自端末を特定するための識別情報（たとえば、メールアドレスやＩＰ（Internet Protocol）アドレスなど）が割当てられる。すなわち、携帯電話１００とカーナビゲーション装置２００とパーソナルコンピュータ３００は、内部の記録媒体に他の通信端末の識別情報を記憶することができ、当該識別情報に基づいてキャリア網７００やインターネット５００などを介して当該他の通信端末とデータ送受信を行うことができる。
【００３８】
なお、本実施の形態に係る携帯電話１００とカーナビゲーション装置２００とパーソナルコンピュータ３００とは、割当てられるＩＰアドレスを利用して、メールサーバ６００を介さずに他の通信端末とデータ送受信を行うものである。ここでは、各通信端末がマッチングサーバ４００にアクセスする際には、すなわち各通信端末がインターネットにアクセスした際に、マッチングサーバ４００あるいは他の図示しないサーバ装置などによってＩＰアドレスが割当てられるものとする。ＩＰアドレスの割当て処理の詳細は公知であるので、ここでは説明を繰り返さない。
【００３９】
また、本実施の形態に係る携帯電話１００、カーナビゲーション装置２００、パーソナルコンピュータ３００は、自身に割当てられたＩＰアドレスを利用することにより、直接的に相互にネットワークを介してデータ送受信を行うことが可能である。すなわち、本実施の形態に係るネットワークシステム１に含まれる携帯電話１００、カーナビゲーション装置２００、パーソナルコンピュータ３００は、いわゆるＰ２Ｐ通信のネットワークを構成することが可能である。
【００４０】
＜携帯電話１００のハードウェア構成＞
本実施の形態に係る携帯電話１００のハードウェア構成について説明する。図２は、本施の形態に係る携帯電話１００の概観を示すイメージ図である。図３は、本施の形態に係る携帯電話１００のハードウェア構成を示すブロック図である。
【００４１】
図２および図３に示すように、本実施の形態に係る携帯電話１００は、外部のネットワークとの間でデータを送受信する他の通信部１０１と、通話のためのＴＥＬ（Telephone）用通信部１０２と、プログラムや各種データベースを記憶する記憶部１０３と、ＣＰＵ（Central Processing Unit）１０６Ａを備えた制御部１０６と、ディスプレイ１０７と、外部から音声を入力するためのマイク１０８と、音声を外部に出力するためのスピーカ１０９と、各種情報の入力を受付ける入力部１１０と、電話および電子メールの着信をベルによる音や振動（バイブレーション）で報知するための第１の通知部１１１と、電話および電子メールの着信を光源（たとえば、ＬＥＤ（Light Emitting Diode））の発光で報知するための第２の通知部１１２とを含む。
【００４２】
本実施の形態に係るディスプレイ１０７は、液晶パネルやＣＲＴ（Cathode Ray Tube）から構成されるタッチパネルである。すなわち、本実施の形態に係る携帯電話１００は、ディスプレイ１０７の下側（裏側）にタブレット１１９が敷設されている。ユーザはスタイラスペン１２０を用いてディスプレイ１０７上に文字・記号・図形などを描画すると、描画による軌跡を示す座標データがタブレット１１９を介して検出されて制御部１０６に与えられる。これにより、スタイラスペン１２０を操作して手書き入力した文字・記号・図形の情報を制御部１０６に入力することができる。ディスプレイ１０７は、制御部１０６が出力した情報に基づいて、手書き入力された画像やテキストを表示する。
【００４３】
入力部１１０は、スイッチ・キー・ボタンなどを備え、ユーザがスイッチ・キー・ボタンを操作することによって入力した情報を受付ける。たとえば、入力部１１０は、通話を受付けたり、通話を発したりするために操作されるＴＥＬボタン１１０Ａと、メールを受付けたり、メールを発したりするために操作されるメールボタン１１０Ｂと、Ｐ２Ｐ通信を受付けたり、Ｐ２Ｐ通信を発したりするために操作されるＰ２Ｐボタン１１０Ｃと、アドレス帳データを参照するために操作されるアドレス帳ボタン１１０Ｄと、各種の処理を終了させるために操作される終了ボタン１１０Ｅとを含む。
【００４４】
第１の通知部１１１は、スピーカ１０９などを介して着信音（たとえばベル音）を出力する。あるいは、第１の通知部１１１は、バイブレーション機能を有する。第１の通知部１１１は、着呼に応じて、またはメール受信に応じて、音声を出力したり、携帯電話１００を振動させたりする。
【００４５】
第２の通知部１１２は、着呼に応じて点滅するＴＥＬ用ＬＥＤ１１２Ａと、メールを受信したときに点滅するメール用ＬＥＤ１１２Ｂと、Ｐ２Ｐ通信に従う信号を受信したときに点滅するＰ２Ｐ用ＬＥＤ１１２Ｃを含む。
【００４６】
制御部１０６は、ＣＰＵ１０６Ａを含むマイクロコンピュータによって実現され、携帯電話１００の各部を制御する。たとえば、入力部１１０を介してユーザから各種の命令を受付けて、他の通信部１０１やＴＥＬ用通信部１０２やネットワークを介して外部の通信端末とデータの送受信を行う。
【００４７】
他の通信部１０１およびＴＥＬ用通信部１０２は、無線通信機能を有し無線通信を行なう。具体的には、制御部１０６からの通信データを通信信号に変換し、その通信信号を図示しないアンテナを介して発信する。他の通信部１０１およびＴＥＬ用通信部１０２は、アンテナを介して受信した通信信号を通信データに変換し、その通信データを制御部１０６に入力する。
【００４８】
記憶部１０３は、作業用メモリとして機能するＲＡＭ（Random Access Memory）や、制御プログラムなどを格納するＲＯＭ（Read Only Memory）や、画像データなどを記憶するハードディスクなどによって実現される。図４は、記憶部１０３に格納されるアドレス帳データを示す図である。図５は、記憶部１０３に格納される自端末データを示す図である。
【００４９】
図３に示すように、記憶部１０３のワークメモリ１０３Ａには、受信したメールデータを指す受信メールデータRCVMAIL、送信したメールデータを指す送信メールデータSENDMAIL、ルーム名の生成に適用するべき規則（ルール）を指示するデータRMCRULE、選択されたアドレスのメモリＮｏを指示するデータSEL、生成されたルーム名を指示するデータRMNMが格納される。
【００５０】
図３の記憶部１０３は、さらに、アドレス帳データAdrDB[]が格納される記憶領域１０３Ｂ、携帯電話１００（自端末）に関する自端末データMyAdrが格納される記憶領域１０３Ｃ、他端末のＩＰアドレスデータHIS_IPADRを格納する記憶領域１０３Ｄ、自端末のＩＰアドレスデータMY_IPADRを格納する記憶領域１０３Ｅ、およびマッチングサーバ４００のアドレスデータSEV_ADRを格納する記憶領域１０３Ｆ含む。
【００５１】
上述したデータが格納される記憶部１０３の領域は、携帯電話１００の電源がＯＦＦされても記憶内容が消去しないメモリ、たとえばフラッシュメモリからなる。
【００５２】
図４を参照して、記憶領域１０３Ｂのアドレス帳データAdrDB[]は、宛先（他の通信端末）毎に個別にデータを格納する。具体的には、各通信端末毎に割当された記憶領域には、当該記憶領域を指示するメモリＮｏのデータMNO、宛先の名前のデータName、通話において相手端末を一意に識別するための電話番号のデータTELNo、データ通信において相手端末を一意に識別するためのメールアドレスを指すデータMailADRおよび当該相手端末との間のチャットのために生成されたルーム名を指すデータRNameを対応付けて含む。
【００５３】
データRNameは対応する相手端末との間でＰ２Ｐ通信のためのルーム名が未だ生成されていない場合には‘NULL’が設定される。
【００５４】
図５を参照して、記憶領域１０３Ｃの自端末データMyAdrは、自端末のユーザの名前、自端末を一意に識別するための電話番号およびメールアドレスを指すデータName、TELNoおよびMailADRを含む。
【００５５】
図６には、Ｐ２Ｐ通信を勧誘するために他の携帯電話１００から受信したメールを指す受信メールデータRCVMAIL、Ｐ２Ｐ通信を勧誘するために他の携帯電話１００宛てに送信した送信メールデータSENDMAILが示される。図６（Ａ）を参照して受信メールデータRCVMAILは、メールの内容を示すメール本文データMAIN、メールの送信元を示す送信元データFROMおよびメールの宛先を示す宛先データTOを含む。図６（Ｂ）を参照して送信メールデータSENDMAILは、受信メールデータRCVMAILと同様に、メール本文データMAIN、送信元データFROMおよび宛先データTOを含む。
【００５６】
＜携帯電話１００の機能構成＞
図７を参照して、本実施の形態に係る携帯電話１００のＣＰＵ１０６Ａは、端末通信部１０６１、フレーム解析部１０６２、フレーム生成部１０６３、入力受付部１０６４、通知処理部１０６５、通常メール処理部１０６６、勧誘メール送信部１０６８を含むＰ２Ｐ勧誘部１０６７、Ｐ２Ｐ勧誘受付部１０６９、Ｐ２Ｐ勧誘応答部１０７０、ルーム名生成部１０７１およびルームアクセス部１０７２を備える。これらの各部の機能は予めプログラム・データとして記憶部１０３の所定記憶領域に格納されており、ＣＰＵ１０６Ａがこれらプログラム・データを記憶部１０３から読出し、実行することにより、各部の機能が実現される。
【００５７】
図７においては、ＣＰＵ１０６Ａが有する各機能とデータ・情報を入出力する周辺回路部のみが示される。
【００５８】
端末通信部１０６１は、電話による通信を制御するためのＴＥＬ用通信部１０２、ならびにサーバとの通信を制御するサーバ通信部１０８１およびＩＰアドレスを用いたＰ２Ｐ通信を制御するためのＰ２Ｐ通信部１０８２を含むデータ通信部１０１を有する。
【００５９】
フレーム解析部１０６２は、端末通信部１０６１によって受信されたフレームを入力し、入力したフレームのデータを解析し、解析結果を出力する。フレーム生成部１０６３は、端末通信部１０６１を介して外部ネットワークに送信するべきフレームを生成する。入力受付部１０６４は、タブレット１１９および入力部１１０から入力されたデータを受付ける。通知処理部１０６５は、第１および第２の通知部１１１および１１２の出力動作を制御する。
【００６０】
通常メール処理部１０６６は、Ｐ２Ｐ通信を勧誘するメールを除く他の種類のメールを処理する。
【００６１】
Ｐ２Ｐ勧誘部１０６７は、他の携帯電話１００のユーザに対してＰ２Ｐ通信を勧誘するために動作する。勧誘メール送信部１０６８は、他の携帯電話１００宛てにＰ２Ｐ通信を勧誘するためのメールを送信するための動作をする。
【００６２】
Ｐ２Ｐ勧誘受付部１０６９は、他の携帯電話１００からのＰ２Ｐ通信の勧誘を受付ける。Ｐ２Ｐ勧誘応答部１０７０は、受付けた勧誘に対して応答するための動作をする。
【００６３】
ルーム名生成部１０７１は、Ｐ２Ｐ通信に従うチャット通信を開始するために、マッチングサーバ４００に開設されるべきルームの名称を生成する。このルーム名の生成手順については後述する。
【００６４】
ルームアクセス部１０７２は、Ｐ２Ｐ通信に従うチャット通信のためにマッチングサーバ４００に格納されるルームのアクセスを制御する。具体的には、ルーム名生成部１０７１が生成したルーム名に基づきルームの検索をマッチングサーバ４００に対して要求するためのルーム検索要求部１０７３、ルーム名生成部１０７１が生成したルーム名に基づきルームの開設をマッチングサーバ４００に対して要求するためのルーム開設要求部１０７４、ルーム名生成部１０７１が生成したルーム名に基づきルームへの参加をマッチングサーバ４００に対して要求するためのルーム参加要求部１０７５、およびルーム名生成部１０７１が生成したルーム名に基づきルームの削除をマッチングサーバ４００に対して要求をするためのルーム削除要求部１０７６を含む。
【００６５】
＜ルーム名生成処理＞
ルーム名生成部１０７１は、所定のルール（関数）に、送信メールデータSENDMAILの送信元アドレスと宛先アドレスを指すデータFROMとTOとをパラメータとして適用して、当該ルール（関数）に従いルーム名のデータRMNMを生成する。ルールは、たとえばハッシュ（HASH）関数である。たとえば（RMNM＝HASH（SENDMAIL.FROM，SENDMAIL.TO）に従いルーム名を生成することができる。生成されたルーム名のデータRMNMは記憶部１０３に格納される。
【００６６】
ここではハッシュ関数を用いるとしているが、適用されるルールはこれに限定されない。
【００６７】
このように本実施の形態では、ルーム名は、Ｐ２Ｐ通信に従いチャット通信をする２人のユーザの携帯電話１００において、自己のアドレス（SENDMAIL.FROM）と、相手のアドレス（SENDMAIL.TO）に基づき生成されるので、２人の携帯電話１００では、同一のルールを適用して同一（共通）のルーム名を生成することができる。
【００６８】
＜マッチングサーバ４００およびメールサーバ６００のハードウェア構成＞
次に、本実施の形態に係るマッチングサーバ４００およびメールサーバ６００のハードウェア構成について説明する。なお、メールサーバ６００のハードウェア構成は、マッチングサーバ４００のそれと同様であるので説明を繰り返さない。
【００６９】
図８は、本実施の形態に係るマッチングサーバ４００のハードウェア構成を示すブロック図である。図８に示すように、本実施の形態に係るマッチングサーバ４００は、相互に内部バス４０８で接続されたＣＰＵ４０５と、メモリ４０６と、固定ディスク４０７と、サーバ通信部４０９とを含む。
【００７０】
メモリ４０６は、各種の情報を記憶するものであって、たとえば、ＣＰＵ４０５でのプログラムの実行に必要なデータを一時的に記憶する。固定ディスク４０７は、ＣＰＵ１０５が実行するプログラムやデータベースを記憶する。ＣＰＵ４０５は、マッチングサーバ４００およびメールサーバ６００の各要素を制御するものであって、各種の演算を実施する装置である。
【００７１】
サーバ通信部４０９は、ＣＰＵ４０５が出力したデータを電気信号へと変換して外部へ送信し、外部から受信した電気信号をデータに変換してＣＰＵ４０５に入力する。具体的には、サーバ通信部４０９は、ＣＰＵ４０５からのデータを、インターネット５００やキャリア網７００などを介して携帯電話１００やカーナビゲーション装置２００やパーソナルコンピュータ３００に送信する。そして、インターネット５００やキャリア網７００を介して携帯電話１００やカーナビゲーション装置２００やパーソナルコンピュータ３００から受信したデータを、ＣＰＵ４０５に入力する。
【００７２】
図９（Ａ）〜（Ｄ）は、マッチングサーバ４００のメモリ４０６あるいは固定ディスク４０７に記憶されるルーム管理テーブル４０６Ａのデータ構造を例示する図である。ルーム管理テーブル４０６Ａは、ルーム名を指すデータ４０６１とＩＰアドレスを指すデータ４０６２とメールアドレスのデータ４０６３とを対応付けて格納する。
【００７３】
たとえば、ある時点においては、図９（Ａ）に示すように、マッチングサーバ４００にルーム名‘Ｒ’、‘Ｓ’および‘Ｔ’それぞれを有するルームが開設されている。そして、ルーム名‘Ｒ’を有するルームには、ＩＰアドレスとして‘Ｃ’およびメールアドレスとして‘ＣＣ’を有する携帯電話１００が参加している。ルーム名‘Ｓ’を有するルームには、‘ＩＰアドレスとして‘Ｂ’およびメールアドレスとして‘ＢＢ’を有する携帯電話１００が参加している。ルーム名‘Ｔ’を有するルームには、ＩＰアドレスとして‘Ｄ’およびメールアドレスとして‘ＤＤ’を有する携帯電話１００が参加している。
【００７４】
その後、ＩＰアドレスが‘Ｃ’の携帯電話１００が、ＩＰアドレスが‘Ａ’の携帯電話１００ＡにＰ２Ｐ通信の勧誘をし、この勧誘に応じてＩＰアドレスが‘Ａ’の携帯電話１００がルーム名‘Ｓ’のルームに参加した場合、ルーム管理テーブル４０６Ａは、図９（Ｂ）のように更新される。図９（Ｂ）の状態では、ルーム名‘Ｓ’のルームによって‘Ａ’の携帯電話１００と‘Ｃ’の携帯電話１００とは関連付けされた、すなわちマッチングに成功し、両方の携帯電話１００はお互いのＩＰアドレスを当該ルームを介して取得する。したがって、マッチングが検出された以降は、ルーム名‘Ｓ’のルームはアクセスされることはないので、本実施の形態では、マッチングの検出後、当該ルームのデータは、図９（Ｃ）に示すように、ルーム管理テーブル４０６Ａから削除される。
【００７５】
なお、ルームの削除は、ルーム管理テーブル４０６Ａから、ルームのデータを削除するとしているが、利用（アクセス）されないルームのデータが残ったままの状態を回避できれば、この方法に限定されない。たとえば、当該ルームデータが格納されていた領域を、新たに開設するルームのデータを格納可能なように、NULLデータなどの空データに書換えてもよい。または、当該記憶領域に関連して上書き可能であることを指示するフラグを設定して、当該フラグが設定された領域には新たに開設されたルームのデータを格納（上書き）するとしてもよい。したがって、空データに書換えられた領域またはフラグが設定された領域は、いわゆる空領域となる。
【００７６】
マッチングサーバ４００は、ルーム管理テーブル４０６Ａの検索効率を上げるために、ルームデータが削除される毎に、または所定期間毎に図９（Ｃ）のデータ格納状態を、図９（Ｄ）に示すようように、利用（アクセス）され得るルームのデータは連続した領域に格納されるように、且つ空領域は連続して確保できるように、データの再配置の処理を行うようにしてもよい。
【００７７】
＜マッチングサーバ４００の機能＞
図１０を参照して、マッチングサーバ４００は、ルーム開設部４２０、ルームへの参加およびルームの検索を受付ける参加受付部４２１Ａおよび検索受付部４２１Ｂを有するルーム受付部４２１、ルーム削除部４２２、フレーム生成部４２３およびフレーム解析部４２４を含む。これらの各部は、固定ディスク４０７またはメモリ４０６の所定の記憶領域に予めプログラム・データとして格納されており、ＣＰＵ４０５が所定記憶領域からプログラム・データを読出し、実行することにより、各部の機能が実現される。
【００７８】
メモリ４０６には、前述したルーム管理テーブル４０６Ａおよびマッチングサーバアドレスのデータ４０６Ｂが格納される。
【００７９】
ルーム開設部４２０は、メモリ４０６のルーム管理テーブル４０６Ａに、新たに開設するべきルームに対応するデータを格納することにより、ルームを開設する。ルーム受付部４２１は、携帯電話１００から受信したルームへの参加および検索の要求の受付処理を行なう。ルーム削除部４２２は、携帯電話１００からルームの削除要求を受付けたときに、要求されたルームをルーム管理テーブル４０６Ａから削除する。フレーム生成部４２３は、サーバ通信部４０９を介してインターネット５００に送信するべきデータのフレームを生成し、生成したフレームをサーバ通信部４０９に出力する。フレーム解析部４２４は、サーバ通信部４０９がインターネット５００を介して受信したデータのフレームを解析し、解析結果を出力する。
【００８０】
＜Ｐ２Ｐ通信の概要＞
本実施の形態に係るネットワークシステム１の動作概要について説明する。
【００８１】
図１１は、ネットワークシステム１における動作概要を示す通信手順を模式的に示す図である。本実施の形態に係る各通信端末は、Ｐ２Ｐ通信を行うために、はじめに互いのＩＰアドレスを交換（取得）する必要がある。そして、各通信端末は、ＩＰアドレスを取得した後に、Ｐ２Ｐ通信によってメッセージや添付ファイルなどを他の通信端末に送信する。
【００８２】
ここでは、携帯電話１００Ａのユーザが携帯電話１００Ｃのユーザに対して、Ｐ２Ｐ通信を勧誘すると想定する。なお、携帯電話１００Ａと１００Ｃには、予めＩＰアドレスが割当てられていると想定する。
【００８３】
まず、携帯電話１００Ａ（図１１において端末Ａ）は、Ｐ２Ｐ通信を勧誘するための電子メール（以下、Ｐ２Ｐ勧誘メールという）を、キャリア網７００、インターネット５００上のサーバ６００などを経由して、携帯電話１００Ｃ（図１１において端末Ｃ）宛てに送信する（ステップＳ００２）。
【００８４】
携帯電話１００Ｃは、Ｐ２Ｐ勧誘メールを受信すると、ルーム‘Ｒ’を開設するためのルーム開設要求フレームを生成し、マッチングサーバ４００宛てに送信する（ステップＳ００４）。
【００８５】
マッチングサーバ４００は、ルーム開設要求フレームを受信すると、マッチング処理を開始する。
【００８６】
マッチング処理においては、携帯電話１００Ｃからルーム開設要求フレームを受信すると、ルーム開設部４２０は受信したフレーム中からルーム名‘Ｒ’と、携帯電話１００ＣのＩＰアドレス‘Ｃ’と、メールアドレス‘ＣＣ’とを検出し、検出したルーム名‘Ｒ’とＩＰアドレス‘Ｃ’とメールアドレス‘ＣＣ’とを対応付けてルーム管理テーブル４０６Ａに格納する。これにより、ルーム名‘Ｒ’のルームが開設される。このとき、マッチングサーバ４００は、ルーム開設が完了した旨を携帯電話１００Ｃに通知してもよい。
【００８７】
その後、携帯電話１００Ａがマッチングサーバ４００にルーム‘Ｒ’への参加を要求するフレームを送信する（ステップＳ００６）。ＣＰＵ４０５はツーム参加要求フレームを受信する。受付部４２１の参加受付部４２１Ａは受信したフレーム中から、ルーム名‘Ｒ’と携帯電話１００ＡのＩＰアドレス‘Ａ’とメールアドレス‘ＡＡ’とを検出し、ルーム管理テーブル４０６Ａに、これらを対応付けて格納する。これにより、携帯電話１００Ａのユーザはルーム名‘Ｒ’のルームに参加する。
【００８８】
携帯電話１００Ａのユーザが参加すると、参加受付部４２１Ａは、ルーム管理テーブル４０６Ａから、当該ルーム名‘Ｒ’に基づきルーム管理テーブル４０６Ａを検索して、ルーム名‘Ｒ’に対応して２つのＩＰアドレスが格納されているか否かを検出する。
【００８９】
ルーム名‘Ｒ’に対応して２つのＩＰアドレスが格納されていることを検出すると（これを、マッチング検出という）、参加受付部４２１Ａは、ルーム管理テーブル４０６Ａから、ルーム名‘Ｒ’に対応のＩＰアドレス‘ＡＡ’と‘ＣＣ’を読出して、フレーム生成部４２３に与える。フレーム生成部４２３は、与えられたＩＰアドレス‘ＡＡ’を格納した参加受付のフレームを生成し携帯電話１００Ｃ宛てに送信し、与えられたＩＰアドレス‘ＣＣ’を格納した参加受付のフレームを生成し携帯電話１００Ａ宛てに送信する（ステップＳ００８）。これによりマッチング処理は終了する。
【００９０】
マッチング処理の終了後は、ルーム削除処理が行われる。つまり、携帯電話１００Ｃは、Ｐ２Ｐ勧誘元の携帯電話１００ＡのＩＰアドレスを受信（取得）すると、ルーム名‘Ｒ’のルームの削除要求のフレームを、マッチングサーバ４００宛てに送信する（ステップＳ０１０）。マッチングサーバ４００は、削除要求フレームを受信すると、ルーム削除部４２２によって受信フレームに基づきルーム名‘Ｒ’のルームを削除する。
【００９１】
マッチング処理によって、ルーム名‘Ｒ’のルームに参加した携帯電話１００Ａおよび１００Ｃのユーザは、お互いのＩＰアドレスを交換することができる。以降、両者は、交換により取得したＩＰアドレスを用いてＰ２Ｐ通信を行うことができる。
【００９２】
まず、携帯電話１００Ａは、取得したＩＰアドレス‘Ｃ’に基づいて携帯電話１００ＣにＰ２Ｐ接続要求メッセージ（開始メッセージ）を送信する（ステップＳ０１２）。携帯電話１００Ｃは、接続要求メッセージを受信して、携帯電話１００ＡのＩＰアドレ‘Ａ’に基づいて携帯電話１００Ａに第１の接続承諾メッセージ（返答メッセージ）を送信する（ステップＳ０１４）。携帯電話１００Ａは、携帯電話１００Ｃから第１の接続承諾メッセージを受信して、第２の携帯電話１００Ｃに第２の接続承諾メッセージを送信する（ステップＳ０１６）。
【００９３】
このようにして、携帯電話１００Ａと携帯電話１００Ｃとは、互いに相手を認証する。認証が完了すると、携帯電話１００Ａと携帯電話１００Ｃとは、Ｐ２Ｐ通信を開始する（ステップＳ０１８）。そして携帯電話１００Ａと１００Ｃの間では、Ｐ２Ｐ通信に従うメッセージなどのデータ通信が行なわれる。
【００９４】
その後、携帯電話１００Ａが、携帯電話１００ＣにＰ２Ｐ通信を切断する旨のメッセージを送信すると（ステップＳ０３０）、携帯電話１００Ｃは、携帯電話１００Ａに切断する要求を受付けた旨のメッセージを送信する（ステップＳ０３２）。
【００９５】
＜Ｐ２Ｐ勧誘メールの構成＞
図１２を参照して、本実施の形態に係るＰ２Ｐ勧誘メールとして送信されるメールデータSENDMAILは、メール本文データMAINに、Ｐ２Ｐ勧誘を指すキーワード“Ｐ２Ｐ勧誘”と、ルーム名生成のために適用するルールを指示するRMCRULE値およびＰ２Ｐ勧誘メッセージ“チャットしませんか？”を含む。
【００９６】
また、送信元データFROMとして、勧誘元の携帯電話１００のメールアドレスデータMyAdr.MailADRが設定され、宛先データTOとして、勧誘される相手の携帯電話１００のメールアドレスデータAdrDB[SEL].MailADRが設定される。
【００９７】
＜通信フレームの構成＞
携帯電話１００とマッチングサーバ４００の間で送受信されるフレームの構成について説明する。
【００９８】
図１３を参照してフレームの基本的な構成について説明する。フレームは、ヘッダ部６１０と、データ部６２０を含む。ヘッダ部６１０には、当該フレームの種別（タイプ）を指示するデータ６１１、当該フレームの宛先‘ＤＤ’を示すデータ６１２および当該フレームの送信元‘ＳＤ’を示すデータ６１３が格納される。データ部６２０は、送信すべきデータを格納する。
【００９９】
データ６１１が示すタイプは、本実施の形態では、要求フレームであることを示す“１”と、要求の受付を示す“０”のいずれかの値となる。また、本実施の形態ではフレームは、携帯電話１００とマッチングサーバ４００との間で送受信されるため、データ６１２および６１３としては、携帯電話１００の記憶部１０３から読出されたメールアドレスのデータMailADR、およびマッチングサーバアドレスのデータ４０６Ｂまたは記憶領域１０３ＦのアドレスデータSEV_ADRが格納される。
【０１００】
携帯電話１００のルーム検索要求部１０７３が、ルーム管理テーブル４０６Ａのルームの検索を要求する場合には、フレーム生成部１０６３が図１４のルーム検索要求のフレーム５９９を生成する。生成したフレームはサーバ通信部１０８１によってマッチングサーバ４００に宛てて送信される。
【０１０１】
フレーム５９９は、データ６１１が“１”を指示し、データ６１２および６１３として、記憶部１０３から読出されたマッチングサーバ４００のアドレスデータSEV_ADRとメールアドレスのデータMailADRがそれぞれ格納される。また、データ部６２０には、検索の命令コード（‘RM_SEARCH’）６２１と、ルーム名のデータ６２２と、ＩＰアドレスのデータ６２３とが格納される。データ６２２として、ルーム名生成部１０７１によって生成されたルーム名のデータRMNMが記憶部１０３から読出されて格納される。データ６２３として、送信元の携帯電話１００に予め割当てられたＩＰアドレスのデータMY_IPADRが、記憶部１０３から読出されて格納される。
【０１０２】
マッチングサーバ４００は、ルーム検索要求のフレーム５９９を受信した場合に、フレーム生成部４２３は、図１５のルーム検索受付のフレーム６００を生成し、携帯電話１００宛てに送信する。フレーム６００は、ヘッダ部６１０においてデータ６１１は“０”を示し、データ６１２として受信したフレーム５９９のデータ６１３が格納される。また、データ６１３として、記憶部４０６から読出したマッチングサーバアドレスのデータ４０６Ｂが格納される。データ部６２０には、命令コード６２１として空データが格納される。また、受信したルーム検索要求のフレーム５９９のデータ６２２が格納される。また、ルーム検索要求に基づき検索受付部４２１Ｂがルーム管理テーブル４０６Ａを検索した結果のデータ６２６が格納される。データ６２６は、データ６２２が指すルーム名がルーム管理テーブル４０６に格納されていた場合には‘０’を指示し、格納されていなかった場合には‘−１’を指示する。
【０１０３】
携帯電話１００が、ルーム開設を要求する場合には、フレーム生成部１０６３が図１６のルーム開設要求のフレーム６０１を生成する。生成したフレーム６０１は、サーバ通信部１０８１によってマッチングサーバ４００に宛てて送信される。
【０１０４】
フレーム６０１は、データ６１１が“１”を指示し、データ６１２および６１３として、記憶部１０３から読出されたマッチングサーバ４００のアドレスデータSEV_ADRとメールアドレスのデータMailADRがそれぞれ格納される。また、データ部６２０には、開設の命令コード（‘RM_CREATE’）６２１と、ルーム名のデータ６２２と、ＩＰアドレスのデータ６２３とが格納される。データ６２２として、ルーム名生成部１０７１によって生成されたルーム名のデータRMNMが記憶部１０３から読出されて格納される。データ６２３として、送信元の携帯電話１００に予め割当てられたＩＰアドレスのデータMY_IPADRが、記憶部１０３から読出されて格納される。
【０１０５】
マッチングサーバ４００は、ルーム開設要求のフレーム６０１を受信した場合に、フレーム生成部４２３は、図１７のルーム開設受付のフレーム６０２を生成し、携帯電話１００宛てに送信する。フレーム６０２は、ヘッダ部６１０においてデータ６１１は“０”を示し、データ６１２として受信したフレーム６０１のデータ６１３が格納される。また、データ６１３として、メモリ４０６から読出したマッチングサーバアドレスのデータ４０６Ｂが格納される。データ部６２０には、命令コード６２１として空データが格納される。また、受信したルーム開設要求フレーム６０１のデータ６２２が格納される。また、データ６２４として、ルーム開設要求に基づいたルーム開設部４２０によるルーム開設の受付結果のデータが格納される。データ６２４は、データ６２２が指すルーム名のルーム開設に成功した場合には‘０’を指示し、開設できなかった場合には‘−１’を指示する。開設できない場合とは、たとえば、既に、同一ルーム名のルームが開設されている場合である。
【０１０６】
携帯電話１００のルーム参加要求部１０７５が、ルームへの参加を要求する場合には、フレーム生成部１０６３が図１８のルーム参加要求のフレーム６０３を生成する。生成したフレーム６０３はサーバ通信部１０８１によってマッチングサーバ４００に宛てて送信される。
【０１０７】
フレーム６０３は、データ６１１が“１”を指示し、データ６１２および６１３として、記憶部１０３から読出されたマッチングサーバ４００のアドレスデータSEV_ADRとメールアドレスのデータMailADRがそれぞれ格納される。また、データ部６２０には、参加の命令コード（‘RM_ENTRY’）６２１と、ルーム名のデータ６２２と、ＩＰアドレスのデータ６２３とが格納される。データ６２２として、ルーム名生成部１０７１によって生成されたルーム名のデータRMNMが記憶部１０３から読出されて格納される。データ６２３として、送信元の携帯電話１００に予め割当てられたＩＰアドレスのデータMY_IPADRが、記憶部１０３から読出されて格納される。
【０１０８】
携帯電話１００が図１８のルーム参加要求のフレーム６０３を送信した場合において、マッチングサーバ４００の参加受付部４２１Ａは当該フレーム６０３のデータ６２２が指示するルーム名に基づきルーム管理テーブル４０６Ａを検索する。検索結果に基づき、図１９に示すルーム参加受付のフレーム６０４を生成し、携帯電話１００に送信される。
【０１０９】
具体的には、検索結果、データ６２２が指示するルーム名を有するルームが既に開設されていると判定した場合には、すなわちマッチング検出をした場合には、参加要求元の携帯電話１００と、指示されたルーム名のルームに既に参加していた携帯電話１００のそれぞれに宛てて図１９の参加受付フレーム６０４が生成されて送信される。
【０１１０】
参加要求元の携帯電話１００宛のフレーム６０４は、ヘッダ部６１０にフレーム６０２と同様のデータが格納される。データ部６２０には、ルーム参加要求のフレーム６０３のデータ６２２が格納される。また、当該ルーム参加要求が受付けられたことを示す“参加受付（値‘０’）”を示すデータ６２４と、当該ルームに既に参加している他のユーザの携帯電話１００のＩＰアドレスのデータ４０６２が、ルーム管理テーブル４０６Ａから読出されてデータ６２５として格納される。
【０１１１】
既に参加していた携帯電話１００宛てのフレーム６０４は、ヘッダ部６１０のデータ６１１は“０”を指し、データ６１２はこの携帯電話１００のメールアドレスを指示し、データ６１３はマッチングサーバアドレスのデータ４０６Ｂを指す。データ６１２のメールアドレスは、ルーム管理テーブル４０６Ａを検索して読出した当該ルーム名を指示するデータ４０６１に対応して格納されたメールアドレスのデータ４０６３を指す。データ部６２０には、ルーム参加要求のフレーム６０３のデータ６２２が格納される。また、当該ルーム参加要求が受付けられたことを示す“参加受付”（値‘０’）を示すデータ６２４と、当該ルームに参加要求をした他のユーザの携帯電話１００のＩＰアドレスを指すデータ６２５が格納される。
【０１１２】
なお、参加の受付けに成功しなかった場合には、すなわち検索結果に基づきルーム管理テーブル４０６Ａにおいて要求したルームが未開設であると検出した場合には、データ６２４には値‘−１’が設定されたフレーム６０４が要求元の携帯電話１００に送信される。
【０１１３】
携帯電話１００のルーム削除要求部１０７６が、ルームの削除をマッチングサーバ４００に対して要求する場合には、フレーム生成部１０６３が図２０に示すルーム削除要求のフレーム６０５をマッチングサーバ４００に宛てて送信する。フレーム６０５は、ヘッダ部６１０においてデータ６１１が“１”を指示し、データ６１２および６１３として、記憶部１０３から読出されたマッチングサーバ４００のアドレスデータSEV_ADRとメールアドレスのデータMailADRがそれぞれ格納される。また、データ部６２０には、削除の命令コード（‘RM_DELETE’）６２１と、削除するべきルーム名のデータ６２２と、ＩＰアドレスのデータ６２３とが格納される。データ６２２として、ルーム名生成部１０７１によって生成されたルーム名のデータRMNMが記憶部１０３から読出されて格納される。データ６２３として、ルーム削除要求フレーム送信元の携帯電話１００に予め割当てられたＩＰアドレスのデータMY_IPADRが、記憶部１０３から読出されて格納される。
【０１１４】
マッチングサーバ４００は、ルーム削除要求のフレーム６０５を受信した場合に、フレーム生成部４２３は、図２１のルーム削除受付のフレーム６０６を生成し、要求元の携帯電話１００宛てに送信する。フレーム６０６は、ヘッダ部６１０においてデータ６１１は“０”を示し、データ６１２として受信したフレーム６０５のデータ６１３が格納される。また、データ６１３として、記憶部４０６から読出したマッチングサーバアドレスのデータ４０６Ｂが格納される。データ部６２０には、命令コード６２１として空データが格納される。また、受信したルーム削除要求のフレーム６０５のデータ６２２が格納される。また、データ６２４として、ルーム削除要求に基づきルーム削除部４２２がルーム管理テーブル４０６Ａからルームを削除した結果のデータ６２４が格納される。データ６２４は、データ６２２が指すルーム名のルームをルーム管理テーブル４０６から削除するのに成功した場合には‘０’を指示し、削除に成功しなかった場合には‘−１’を指示する。
【０１１５】
＜処理フローチャート＞
Ｐ２Ｐ通信の勧誘を行って、Ｐ２Ｐ通信に従うデータ通信を開始する手順について図２２〜図２７のフローチャートを参照し説明する。
【０１１６】
図２２〜図２６のフローチャートはＰ２Ｐ通信を行うべき携帯電話１００において実行されるプログラムに従う処理を示す。このプログラムは予め記憶部１０３に格納されており、ＣＰＵ１０６Ａがプログラムを記憶部１０３から読出し、実行する。また、図２７のフローチャートはマッチングサーバ４００において実行されるプログラムに従う処理を示す。このプログラムは予めメモリ４０６に格納されており、ＣＰＵ４０５がプログラムをメモリ４０６から読出し、実行する。
【０１１７】
なお、ここでは、携帯電話１００Ａのユーザが、携帯電話１００Ｃのユーザに対してＰ２Ｐ通信の勧誘を行うと想定する。また、説明を簡単にするために携帯電話１００の通話に係る処理については説明を略す。
【０１１８】
動作において、携帯電話１００（携帯電話１００Ａおよび携帯電話１００Ｃのそれぞれ）は電源がＯＮされると、図２２のフローチャートに従う処理を開始する。
【０１１９】
まず、ＣＰＵ１０６Ａは、ディスプレイ１０７にユーザの操作を待受るための待受画面を表示する（ステップＳ３）。
【０１２０】
その後、入力受付部１０６４は、入力部１１０またはタブレット１１９からの入力信号に基づき、ユーザによって何らかの操作がされることによって外部から指示が入力されるか否かを判定する。
【０１２１】
具体的には、アドレス帳ボタン１１０Ｄが操作されたか否かを判定する（ステップＳ５）。アドレス帳ボタン１１０Ｄが操作されたと判定すると（ステップＳ５でＹＥＳ）、処理は、後述するＰ２Ｐ勧誘処理（ステップＳ７）に移行する。
【０１２２】
アドレス帳ボタン１１０Ｄが操作されないと判定すると（ステップＳ５でＮＯ）、ＣＰＵ１０６Ａは、端末通信部１０６１を介してメールを受信したか否かを判定する（ステップＳ９）。メールを受信したことを判定すると（ステップＳ９でＹＥＳ）、処理は後述するＰ２Ｐ勧誘受信処理（ステップＳ１１）に移行する。
【０１２３】
一方、メールを受信したと判定されないと（ステップＳ９でＮＯ）、処理は、ステップＳ５に戻り、入力部１１０またはタブレット１１９の操作による指示の入力を待機する。
【０１２４】
図２３を参照して、操作待受時（ステップＳ３）にアドレス帳ボタン１１０Ｄが操作された場合に開始されるＰ２Ｐ勧誘処理について説明する。
【０１２５】
アドレス帳ボタン１１０Ｄが操作されると、Ｐ２Ｐ勧誘部１０６７は、記憶部１０３からアドレス帳データAdrDB[]を読出し、ディスプレイ１０７に表示する（ステップＳ１９）。ディスプレイ１０７に表示された図４のアドレス帳データを確認したユーザは、所望のＰ２Ｐ通信相手を指す名前のデータNameをタブレット１１９を操作して選択する。ここでは、携帯電話１００Ａのユーザは、携帯電話１００Ｃのユーザ名を選択したと想定する。これにより、Ｐ２Ｐ勧誘部１０６７は、選択された名前のデータNameに対応するデータMNoの値を、変数SELに代入する（ステップＳ２１）。続いて、Ｐ２Ｐ勧誘部１０６７は、入力受付部１０６４を介して、ユーザがＰ２Ｐボタン１１０Ｃおよび終了ボタン１１０Ｅのいずれを操作するかを判定する（ステップＳ２７、Ｓ３１）。
【０１２６】
具体的には、Ｐ２Ｐボタン１１０Ｃが操作されたか否かを判定し（ステップＳ２７）、Ｐ２Ｐボタン１１０Ｃが操作されたと判定すると（ステップＳ２７でＹＥＳ）、処理は、後述する勧誘メール送信処理（ステップＳ２９）に移行する。
【０１２７】
一方、Ｐ２Ｐボタン１１０Ｃが操作されたと判定しなければ（ステップＳ２７でＮＯ）、終了ボタン１１０Ｅが操作されたか否かを判定する（ステップＳ３１）。終了ボタン１１０Ｅが操作されたと判定しなければ（ステップＳ３１でＮＯ）、処理はステップＳ２７に戻り、ステップＳ２７以降の処理が同様に繰返される。
【０１２８】
一方、終了ボタン１１０Ｅが操作されたと判定されると（ステップＳ３１でＹＥＳ）、処理は図２２のステップＳ３に移行する。これにより、ディスプレイ１０７にはユーザ操作の待受画面が表示される。
【０１２９】
図２４を参照して、勧誘メール送信部１０６８の処理について説明する。
図２２のステップＳ９においてメールを受信したことが検出された場合には（ステップＳ９でＹＥＳ）、勧誘メール送信部１０６８が起動される。
【０１３０】
まず、勧誘メール送信部１０６８は、図１２に示した送信メールデータSENDMAILの構成を有するＰ２Ｐ勧誘メールを生成し、送信する。
【０１３１】
具体的には、勧誘メール送信部１０６８は、図１２の送信メールデータSENDMAILメールヘッダである送信元データFROMおよび宛先データTOに、記憶部１０３から読出したアドレスデータMyAdr.MailADRおよび変数SELの値により指示されるメールアドレスAdrDB[SEL].MailADRを設定する。これにより、Ｐ２Ｐ勧誘メールの送信元は携帯電話１００Ａが指示されて、宛先は携帯電話１００Ｃが指示される。
【０１３２】
続いて、勧誘メール送信部１０６８は、アドレス帳データAdrDB[]を検索し、宛先アドレスAdrDB[SEL].MailADRに対応するルーム名データRNameを読出し、データRNameが“NULL”を指示するか否かを判定する（ステップＳ３５）。
【０１３３】
“NULL”を指示すると判定すると（ステップＳ３５でＹＥＳ）、Ｐ２Ｐ勧誘メールのメール本文データMAINにおいてルーム名の生成ルールを指示するルーム名生成ルールRMCRULEの値を“TYPE1”に設定する（ステップＳ３７）。値“TYPE1”は、ルーム名を上述の生成手順に従いメールアドレスに基づき生成するというルールを指す。続いて、勧誘メール送信部１０６８は、ルーム名送信部１０７１に、記憶部１０３から読出したアドレスデータMyAdr.MailADRおよびAdrDB[SEL].MailADRを与えて、ルーム名を生成するように指示する。これによりルーム名生成部１０７１は前述した手順に従い与えられるアドレスデータに基づきルーム名のデータRMNMを算出し、記憶部１０３に格納する（ステップＳ３９）。これにより、記憶部１０３のルーム名のデータRMNMは、携帯電話１００Ａと携帯電話１００ＣのＰ２Ｐ通信のために新規に生成されたルーム名を指示する。その後、処理は、ステップＳ４５の処理に移行する。
【０１３４】
一方、データRNameの値が“NULL”を指示しないと判定されると（ステップＳ３５でＮＯ）、ルーム名生成ルールRMCRULEの値に“TYPE0”が設定される（ステップＳ４１）。その後、アドレス帳データAdrDB[SEL].MailADRに対応して格納されたルーム名データRNameが読出されて、記憶部１０３にデータRMNMとして格納される。これにより、記憶部１０３のルーム名のデータRMNMは、携帯電話１００Ａと携帯電話１００ＣのＰ２Ｐ通信のために既に生成されていたルーム名を指示する。その後、処理はステップＳ４５に移行する。
【０１３５】
ステップＳ４５においては、勧誘メール送信部１０６８は、ステップＳ３３で作成したメールヘッダのデータおよびステップＳ３７またはＳ４１で値が設定されたデータRMCRULEを用いて、図１２に示されるようなメール本文データMAINを有する勧誘メールを生成する。その後、生成された勧誘メールは端末通信部１０６１に与えられる。端末通信部１０６１は与えられる勧誘メールを入力し、インターネット５００およびキャリア網７００を介して送信する（ステップＳ４７）。これにより、勧誘メールが、携帯電話１００Ｃ宛に送信される。
【０１３６】
勧誘メールを送信後、勧誘メール送信部１０６８は、マッチングサーバ４００と通信するために、サーバ通信部１０８１を、インターネット５００に接続するよう制御する。勧誘メール送信部１０６８は、サーバ通信部１０８１を介してインターネット５００への接続を設定（オンライン状態に設定）する（ステップＳ４９）。その後、ルーム検索要求部１０７３を起動する。
【０１３７】
ルーム検索要求部１０７３は、ルーム検索要求処理を行う（ステップＳ５１）。つまり、フレーム生成部１０６３を制御して、記憶部１０３から読出したデータに基づき図１４のルーム検索要求フレーム５９９を生成し、マッチングサーバ４００に宛てて送信する。その後、マッチングサーバ４００からルーム検索受付フレーム６００を受信する。受信したルーム検索受付フレーム６００はフレーム解析部１０６２によって解析される。
【０１３８】
勧誘メール送信部１０６８は、フレーム解析部１０６２の解析結果を入力し、解析結果に基づき、検索要求したルームが既に開設されているか否かを判定する。すなわち、ルーム検索受付フレーム６００のデータ６２６が指示する検索結果に基づき判定する（ステップＳ５３）。検索結果のデータ６２６が“０”を指示すると判定すると、すなわちルームが開設されていると判定すると（ステップＳ５３でＹＥＳ）、処理は後述するステップＳ６１に移行する。
【０１３９】
一方、判定の結果、データ６２６は“−１”を指示する、すなわち、ルームがまだ開設されていないと判定すると（ステップＳ５３でＮＯ）、計時部１０５から入力する時間データに基づき、ステップＳ５１およびＳ５３の処理が一定時間繰返し行なわれたか否かが判定される（ステップＳ５５）。一定時間経過していないと判定されると（ステップＳ５５でＮＯ）、処理はステップＳ５１に戻るが、一定時間経過したと判定されると（ステップＳ５５でＹＥＳ）、勧誘メール送信部１０６８は、サーバ通信部１０８１を制御してインターネット接続を切断（オフライン状態に設定）し（ステップＳ５７）、ディスプレイ１０７に、一定時間エラー表示を行なう（ステップＳ５９）。エラー表示としては、たとえば、“返答がありません”のメッセージ表示である。その後、処理は図２２のステップＳ３の処理に移行し、ディスプレイ１０７に待受画面が表示される。
【０１４０】
なお、一定時間経過しても携帯電話１００Ｃのユーザによるルーム開設が検出されない場合には（ステップＳ５５でＹＥＳ）、携帯電話１００Ａは携帯電話１００Ｃ宛てに、Ｐ２Ｐ勧誘をキャンセルするメールを送信するようにしてもよい。このキャンセルのメールを受信した携帯電話１００Ｃ側では、ルームを開設しないことが期待されるので、ルーム管理テーブル４０６Ａにおいて利用されないルームが開設されたままの状態を回避することができる。
【０１４１】
一方、受信したルーム検索受付フレーム６００のデータ６２６の値が“０”を指す、すなわち、ルームが開設されていると判定すると（ステップＳ５３でＹＥＳ）、勧誘メール送信部１０６８は、ルーム参加要求部１０７５を起動する。
【０１４２】
ルーム参加要求部１０７５は、ルーム参加要求処理を行う（ステップＳ６１）。具体的には、フレーム生成部１０６３を制御して、記憶部１０３から読出したデータに基づき図１８のルーム参加要求フレーム６０３を生成し、生成したフレーム６０３をサーバ通信部１０８１を介してマッチングサーバ４００宛てに送信する。その後、マッチングサーバ４００から図１９のルーム参加受付フレーム６０４を受信する。受信したフレーム６０４はフレーム解析部１０６２により解析されて、結果が勧誘メール送信部１０６８に与えられる。ここでは、マッチングサーバ４００により参加要求が受付けられると想定する。
【０１４３】
勧誘メール送信部１０６８は、参加受付がされたことを指す解析結果（データ６２４の値が‘０’）が与えられると、アドレス帳データAdrDB[]のルーム名データAdrDB[SEL].RNameに、記憶部１０３から読出したルーム名のデータRMNMの値を格納する（ステップＳ６３）。続いて、解析結果が示す開設したルームに参加している他の携帯電話１００、すなわちルーム参加受付フレーム６０４のデータ６２５が指す携帯電話１００ＣのＩＰアドレスを、データHIS_IPADRとして記憶部１０３に格納する（ステップＳ６５）。
【０１４４】
そして、勧誘メール送信部１０６８は、Ｐ２Ｐ通信部１０８２を起動する。これにより、記憶部１０３に格納された携帯電話１００Ａと１００ＣのＩＰアドレスデータMY_IPADRおよびHIS_IPADRを用いてＰ２Ｐ通信が行なわれる（ステップＳ６７）。このＰ２Ｐ通信は、携帯電話１００ＡのユーザがＰ２Ｐボタン１００Ｃを操作したことが入力受付部１０６４により検知されるまで、またはＰ２Ｐ通信部１０８２により、携帯電話１００Ｃから送信されたＰ２Ｐ通信の終了操作信号を受信されるまで継続する（ステップＳ６９）。ここで、Ｐ２Ｐ通信の終了操作信号は、Ｐ２Ｐ通信中においてＰ２Ｐボタン１１０Ｃが操作されたことに応じて、Ｐ２Ｐ通信部１０８２により相手の携帯電話１００に送信される。
【０１４５】
携帯電話１００ＡのユーザがＰ２Ｐボタン１１０Ｃを操作したか、またはＰ２Ｐ通信部１０８２によって携帯電話１００ＣからＰ２Ｐ通信の終了操作信号を受信したと判定された場合には（ステップＳ６９でＹＥＳ）、勧誘メール送信部１０６８は、Ｐ２Ｐ通信部１０８２を制御して、インターネット接続を切断（オフライン状態）に設定する。その後、処理は、図２２のステップＳ３に戻り、ディスプレイ１０７に待受画面が表示される。
【０１４６】
このように、Ｐ２Ｐ通信勧誘側の携帯電話１００Ａでは、勧誘メール送信後は相手の携帯電話１００Ｃによってルームが開設される、ルームへ参加するために待機する。
【０１４７】
図２２のステップＳ９においてメール受信を検出した場合には、Ｐ２Ｐ勧誘受付部１０６９が起動して、図２５のＰ２Ｐ勧誘受信処理が行われる。
【０１４８】
図２４で説明したように、Ｐ２Ｐ勧誘メールは携帯電話１００Ａによって生成されて、携帯電話１００Ｃ宛てに送信される。
【０１４９】
携帯電話１００ＣにおいてＰ２Ｐ勧誘受付部１０６９は、受信メールを記憶部１０３に受信メールデータRCVMAILとして格納する（ステップＳ７５）。
【０１５０】
続いて、記憶部１０３の受信メールデータRCVMAILのメール本文データMAINを読出して解析し、解析結果に基づき“Ｐ２Ｐ勧誘”の文字列が含まれているか否かを判定する（ステップＳ７７）。
【０１５１】
“Ｐ２Ｐ勧誘”の文字列が含まれており受信メールはＰ２Ｐ勧誘メールであると判定すると（ステップＳ７７でＹＥＳ）、記憶部１０３の受信メールデータRCVMAILの送信元データFROMを読出して、読出した送信元データFROMが指示するアドレスに基づき、アドレス帳データAdrDB[]を検索する。そして検索結果に基づき、この送信元アドレスがアドレスデータAdrDB[].MailADRとして格納されているか否かを判定する（ステップＳ７９）。格納されていなかった場合には（ステップＳ７９でＮＯ）、処理は、後述するステップＳ１０１の処理に移行し、通常のメール受信処理が行われる。
【０１５２】
格納されていると判定した場合には（ステップＳ７９でＹＥＳ）、アドレス帳データAdrDB[]において検索したアドレスデータAdrDB[].MailADRに対応するデータMNOを読出し、その値を変数SELに格納する（ステップＳ８１）。これにより、変数SELの値は、アドレス帳データAdrDB[]における、Ｐ２Ｐ勧誘メール送信元のユーザのデータが格納された位置を指す。
【０１５３】
続いて、Ｐ２Ｐ勧誘受付部１０６９は、通知処理部１０６５を制御して、第１の通知部１１１によってベルを鳴動させ、または携帯電話１００Ｃ自体を振動させる（ステップＳ８３）。また、通知処理部１０６５を制御して、第２の通知部１１２によりＬＥＤを点滅させる（ステップＳ８５）。これにより、携帯電話１００Ｃのユーザに対してＰ２Ｐ勧誘メールを受信したことを報知することができる。ユーザは、Ｐ２Ｐ勧誘メールに応答する場合には、Ｐ２Ｐボタン１１０Ｃを操作すればよい。
【０１５４】
Ｐ２Ｐ勧誘受付部１０６９は、第１の通知部および第２の通知部による報知を開始してから、一定時間が経過したか否かを、計時部１０５から入力する時間データに基づき判定する（ステップＳ８７）。一定時間経過していないと判定すると、ステップＳ８９において、入力受付部１０６４からの信号に基づき、入力部１１０におけるＰ２Ｐボタン１１０Ｃがユーザによって操作されたか否かを、判定する（ステップＳ８９）。ユーザがＰ２Ｐボタン１１０Ｃを操作していないと判定すると（ステップＳ８９でＮＯ）、処理はステップＳ８７に戻る。したがって、Ｐ２Ｐ勧誘メールの受信が報知されてから、一定時間のうちにユーザが当該報知に応答してＰ２Ｐボタン１１０Ｃを操作するか否かが判定される。
【０１５５】
一定時間のうちにＰ２Ｐボタン１１０Ｃが操作されたと判定されると（ステップＳ８９でＹＥＳ）、Ｐ２Ｐ勧誘受付部１０６９は、通知処理部１０６５を制御して、第１の通知部１１１および第２の通知部１１２によるベルの鳴動または携帯電話１００Ｃの振動を停止させるとともにＬＥＤを消灯させる（ステップＳ９１、Ｓ９３）、その後、処理は勧誘メール応答処理（ステップＳ９４）に移行する。
【０１５６】
ステップＳ８７において、Ｐ２Ｐ勧誘メールの受信の報知を開始してから一定時間が経過してもＰ２Ｐボタン１１０Ｃが操作されなかった場合には（ステップＳ８７でＹＥＳ）、記憶部１０３の受信メールデータRCVMAILのメール本文データMAINの内容を、すなわちＰ２Ｐ勧誘メールの勧誘メッセージの内容を、“チャット勧誘がありました！”に書換える（ステップＳ９５）。
【０１５７】
その後、Ｐ２Ｐ勧誘受付部１０６９は、通知処理部１０６５を制御して、第１の通知部１１１によるベルの鳴動および携帯電話１００Ｃの振動を停止させ、第２の通知部１１２によるＬＥＤの点滅を点灯に切換える（ステップＳ９９）。ＬＥＤの点灯により、ユーザに対して、メールの受信があったことが報知される。
【０１５８】
その後、処理はステップＳ１０１に移り、通常メール処理部１０６６が起動されて、通常メール受信制御がなされる。この処理において、たとえば、ＬＥＤの点灯に気づいたユーザが、メールの受信を確認するために、記憶部１０３の受信メールデータRCVMAILの内容を呼出しディスプレイ１０７に表示した場合には、メールの本文として“チャット勧誘がありました”が表示されるので、携帯電話１００ＡのユーザからＰ２Ｐ通信の勧誘があったことを知ることができる。その後、処理は図２２のステップＳ３の処理に戻り、ディスプレイ１０７に待受画面が表示される。
【０１５９】
ステップＳ７７に戻り、受信したメールはＰ２Ｐ勧誘メールでないと判定すると（ステップＳ７７でＮＯ）、ステップＳ１０１において、通常メール処理部１０６６が起動されて、通常メールに従う処理が行なわれる。その後、処理は図２２のステップＳ３の処理に戻り、ディスプレイ１０７に待受画面が表示される。
【０１６０】
ステップＳ７９で説明したように、アドレス帳データAdrDB[]に登録されている、すなわち携帯電話１００Ｃのユーザの知人である場合に限って、ステップＳ８１以降のＰ２Ｐ勧誘メール受信の処理が行なわれて、知人ではない者からのＰ２Ｐ勧誘メールであった場合には勧誘メールとしての受信は行われずに通常メールとして受信処理される。したがって、携帯電話１００Ｃのユーザの知人からＰ２Ｐ勧誘メールを受信した場合にのみ、すなわち知人同士のＰ２Ｐ通信が勧誘されている状況に限って、勧誘に応答するためのＰ２Ｐボタン１１０Ｃの操作が待機される（ステップＳ８７、Ｓ８９）。これにより、知人同士のＰ２Ｐ通信のために開設されるであろうルームは、利用（参加）される確率が高くなり、利用されない無駄なルームが開設されるのを回避することができる。
【０１６１】
図２５のステップＳ９４においては、Ｐ２Ｐ勧誘応答部１０７０が起動されて、図２６に従う勧誘メール応答処理が開始する。
【０１６２】
まず、Ｐ２Ｐ勧誘応答部１０７０は、記憶部１０３から、受信メールデータRCVMAIL（勧誘メールのデータ）のメール本文データMAIN中のデータRMCRULEの値を読出し、読出した値が“TYPE0”を指示するか否かを判定する（ステップＳ１０５）。“TYPE0”を指示しない、すなわち“TYPE1”を指示すると判定すると（ステップＳ１０５でＮＯ）、ステップＳ１０７において、ルーム名生成部１０７１が起動されて、ルーム名生成部１０７１により、受信メールデータRCVMAIL（勧誘メールのデータ）のメールヘッダの送信元データFROMおよび宛先データTOに基づき所定ルール（HASH関数）に従いルーム名のデータRMNMが算出（生成）されて、記憶部１０３に格納される（ステップＳ１０７）。
【０１６３】
その後、Ｐ２Ｐ勧誘応答部１０７０は、端末通信部１０６１を制御して、インターネット５００への接続（オンライン状態に設定）する（ステップＳ１０９）。
【０１６４】
続いて、Ｐ２Ｐ勧誘応答部１０７０はルーム開設要求処理を行う（ステップＳ１１１）。まず、ルーム開設要求部１０７４を起動する。ルーム開設要求部１０７４は、フレーム生成部１０６３を制御して、記憶部１０３から読出したデータに基づき図１６に示すルーム開設要求フレーム６０１を生成する。ルーム開設要求フレーム６０１は、サーバ通信部１０８１により、インターネット５００を経由しマッチングサーバ４００宛てに送信される。マッチングサーバ４００では、ルーム開設要求フレーム６０１を受信すると、ルーム開設処理を行ない、開設受付のデータ６２４を格納したルーム開設受付フレーム６０２を生成し、携帯電話１００Ｃ宛てに送信する。
【０１６５】
Ｐ２Ｐ勧誘応答部１０７０は、ルーム開設要求フレーム６０１を送信後、またはマッチングサーバ４００から、当該ルーム開設要求フレーム６０１の応答であるルーム開設受付フレーム６０２を受信後、計時部１０５の出力する時間データに基づき計時する一定時間の間に、Ｐ２Ｐ通信勧誘メール送信元の携帯電話１００Ａのユーザが、携帯電話１００Ｃが開設したルームに参加したか否かを検出する（ステップＳ１１３、Ｓ１１５、Ｓ１１７）。
【０１６６】
具体的には、Ｐ２Ｐ勧誘応答部１０７０は、サーバ通信部１０８１を介して、マッチングサーバ４００からフレームを受信するか否かを判定する（ステップＳ１１５）。フレームを受信しない間は（ステップＳ１１５でＮＯ）、処理はステップＳ１１３の処理に戻り、フレームの受信を待機する。一方、フレームを受信したと判定すると（ステップＳ１１５でＹＥＳ）、フレーム解析部１０６２によって受信フレームが解析される。解析結果に基づき、Ｐ２Ｐ勧誘応答部１０７０は携帯電話１００Ａのユーザがルームに参加したことを示すルーム参加受付フレーム６０４を受信したか否かを判定する（ステップＳ１１７）。
【０１６７】
解析結果が、受信したルーム参加受付フレーム６０４のデータ６２２、６２４および６２５が、開設したルーム名（記憶部１０３のデータRMNMが指すルーム名）のルームに、他のＩＰアドレスを指示する端末が参加していることを指示すると、判定した場合には（ステップＳ１１７でＹＥＳ）、Ｐ２Ｐ勧誘応答部１０７０は、アドレス帳データAdrDB[]にデータAdrDB[SEL].RNameとして、記憶部１０３から読出したルーム名のデータRMNMの値を格納する（ステップＳ１１９）。その後、Ｐ２Ｐ通信勧誘元の携帯電話１００ＡのＩＰアドレスを指示するデータ６２５をルーム参加受付フレーム６０４から読出し、読出したＩＰアドレスを、記憶部１０３のＩＰアドレスデータHIS_IPADRとして格納する（ステップＳ１２１）。これにより、携帯電話１００Ｃのユーザは、Ｐ２Ｐ通信の相手となるべき携帯電話１００ＡのＩＰアドレスを取得する。
【０１６８】
その後、Ｐ２Ｐ勧誘応答部１０７０は、携帯電話１００ＡのＩＰアドレスを取得できた、すなわちマッチング検出がされたことに応じて、ルーム削除要求部１０７６を起動しルーム削除処理（ステップＳ１２３）に移行する。
【０１６９】
ルーム削除要求処理について説明する。ルーム削除要求部１０７６は、フレーム生成部１０６３を制御して、記憶部１０３から読出したデータに基づき図２０に示すルーム削除要求フレーム６０５を生成する。ルーム削除要求フレーム６０５は、サーバ通信部１０８１により、インターネット５００を経由しマッチングサーバ４００宛てに送信される。マッチングサーバ４００では、ルーム削除要求フレーム６０５を受信すると、ルーム削除処理を行ない、削除結果を指す受付のデータ６２４を格納したルーム削除受付フレーム６０６を生成し、携帯電話１００Ｃ宛てに送信する。
【０１７０】
携帯電話１００Ｃにおいては、サーバ通信部１０８１はルーム削除受付フレーム６０６を受信し、フレーム解析部１０６２に与える。フレーム解析部１０６２は、受信したフレームのデータ６２４に基づき削除要求が受付がされたことを検知し、その検知結果をＰ２Ｐ勧誘応答部１０７０に与える。これにより、Ｐ２Ｐ勧誘応答部１０７０は、マッチングサーバ４００において、開設したルームの削除に成功したことを検知する。
【０１７１】
その後、Ｐ２Ｐ勧誘応答部１０７０は、Ｐ２Ｐ通信部１０８２を制御し、Ｐ２Ｐ通信の開始を行なわせる。Ｐ２Ｐ通信部１０８２は、記憶部１０３に格納されたＩＰアドレスデータMY_IPADRおよびHIS_IPADRを用いて、携帯電話１００Ｃと１００Ａとの間でＰ２Ｐ通信を行なう（ステップＳ１２５）。
【０１７２】
Ｐ２Ｐ通信は、携帯電話１００ＣのユーザがＰ２Ｐボタン１１０Ｃを操作し、Ｐ２Ｐ通信の終了を指示するまで、またはＰ２Ｐ通信部１０８２が携帯電話１００Ａから、終了操作信号を受信するまで繰返される（ステップＳ１２５、ステップＳ１２７でＮＯ）。Ｐ２Ｐ通信中にＰ２Ｐボタン１１０Ｃが操作されたときは、相手の携帯電話１００Ａ（または１００Ｃ）に対してＰ２Ｐ通信の終了操作信号が送信される。
【０１７３】
Ｐ２Ｐ通信の終了が判定されると（ステップＳ１２７でＹＥＳ）、端末通信部１０６１によってインターネット５００の接続が切断（オフライン状態に設定）され（ステップＳ１２９）、処理は図２２のステップＳ３の処理に戻る。これにより、携帯電話１００Ｃのディスプレイ１０７には操作の待受画面が表示される。
【０１７４】
ステップＳ１１３に戻り、ルーム開設要求フレーム６０１を送信後、またはルーム開設受付フレーム６０２を受信後一定時間を経過しても、相手端末、すなわち携帯電話１００Ａのユーザが、ルームに参加したことが検知されない場合には（ステップＳ１１３でＮＯ）、Ｐ２Ｐ勧誘応答部１０７０は、端末通信部１０６１を制御してインターネット５００の接続を切断（オフライン状態に設定）し（ステップＳ１３１）、ディスプレイ１０７において一定時間、エラー表示をする（ステップＳ１３３）。エラー表示としては、たとえば“勧誘者は、ルームへのアクセスしません”のメッセージ表示である。
【０１７５】
携帯電話１００Ａのユーザのルーム参加が検出されない場合には、前述したステップＳ１２３と同様に、ルーム削除要求の処理を行い、開設したルームを削除してもよい。
【０１７６】
その後、処理は図２２のステップＳ３の処理に戻り、ディスプレイ１０７には待受画面が表示されて、携帯電話１００Ｃのユーザの操作を待機する。
【０１７７】
ステップＳ１０５に戻り、Ｐ２Ｐ勧誘応答部１０７０は、データRMCRULEの値は“TYPE0”を指示すると判定した場合には（ステップＳ１０５でＹＥＳ）、記憶部１０３のデータRMNMとして、アドレス帳データAdrDB[]の、ルーム名データAdrDB[SEL].RNameを格納する（ステップＳ１３５）。その後、記憶部１０３のデータRMNMの値が“NULL”を指示するか否かを判定する（ステップＳ１３７）。“NULL”を指示しないと判定すると、すなわちアドレス帳データAdrDB[]には、勧誘メール送信元の携帯電話１００Ａとの間で以前に開設していたルーム名のデータが格納されていると判定した場合には（ステップＳ１３７でＮＯ）、前述したステップＳ１０９の処理に移行する。その後、以前に開設していたルーム名のデータ、すなわちアドレス帳データAdrDB[]から読出したルーム名データAdrDB[SEL].RNameに基づきルームの開設要求がされる（ステップＳ１１１）。
【０１７８】
一方、アドレス帳データAdrDB[]に、勧誘メール送信元の携帯電話１００Ａとの間で開設したルーム名のデータが格納されていないと判定すると（ステップＳ１３７でＹＥＳ）、Ｐ２Ｐ勧誘応答部１０７０は、ディスプレイ１０７に一定時間エラー表示をする（ステップＳ１３９）。エラー表示は、たとえば“ルーム名情報が登録されていません”などである。
【０１７９】
この一定時間のエラーメッセージ表示後、処理は図２２のステップＳ３の処理に戻り、ディスプレイ１０７にはユーザの操作を待受けるための画面が表示される。
【０１８０】
このように、Ｐ２Ｐ通信の勧誘を受けた携帯電話１００Ｃでは、ルームを開設した（ステップＳ１１１）後は、勧誘元の携帯電話１００Ａがルームに参加するまで待機する。そして参加を検出すると、当該ルームの削除を要求する。したがって、開設したルームが利用されない（アクセスされない）期間は、携帯電話１００Ａがルームに参加するのを待機する期間（ステップＳ１１３の一定時間）に限られるから、ルーム管理テーブル４０６Ａにおいて利用されないルームが長期間残る状況を回避することができる。
【０１８１】
また、本実施の形態では、Ｐ２Ｐ通信の勧誘に応じたルームの開設は、アドレス帳データAdrDB[]に登録された知人からの勧誘である場合に限定しているので（ステップＳ７９でＹＥＳ）、上記の待機期間は比較的に短くしても実用上の支障はないであろう。
【０１８２】
また、勧誘に応じて開設されるルームのルーム名RMNMは、知人同士の携帯電話１００に割当てられたメールアドレスに基づき共通したルールに従い生成するようにしているので、上述の待機期間に、知人以外の第３者が当該ルーム名を指定して参加要求する可能性を低くすることができる。これにより、第３者がルームに参加したために、ルームが定員オーバーとなり勧誘元の携帯電話１００Ａの参加要求が拒絶されるという事態を回避することができる。
【０１８３】
ここで、マッチングサーバ４００の処理について図２７を参照して説明する。
上述した携帯電話１００Ａと１００Ｃの処理に並行して、マッチングサーバ４００では図２７に従う処理が実行される。マッチングサーバ４００で並行して行なわれる処理は、携帯電話１００側の処理で説明しているので、ここでは、簡単に行なう。
【０１８４】
図２７を参照して、マッチングサーバ４００のＣＰＵ４０５は、サーバ通信部４０９を経由してデータを受信するか否かを判定する（ステップＳ１４１）。データを受信しない間は、ステップＳ１４１の処理が繰返される。
【０１８５】
一方、データを受信したと判定すると（ステップＳ１４１でＹＥＳ）、受信したデータ、すなわち受信したフレームの解析処理を、フレーム解析部４２４にて行なう（ステップＳ１４３）。
【０１８６】
フレーム解析部４２４は、受信フレームのデータ６２１が指す命令コードを読出して解析する。解析結果に基づき、命令コードが、ルーム開設、ルームの検索、ルームの削除およびルームへの参加のいずれの命令を指すかを判定する（ステップＳ１４５、Ｓ１４７、Ｓ１４９、Ｓ１５１）。命令コードがいずれの命令も指示しないと判定すると（ステップＳ１５１でＮＯ）、フレームに“ＥＲＲＯＲ”を指す値‘−１’を格納し、当該フレームを送信元の携帯電話１００に送信する（ステップＳ１５３）。その後、処理はステップＳ１４１に戻る。
【０１８７】
一方、受信フレームの命令コードはルームの開設を指示していると判定すると（ステップＳ１４５でＹＥＳ）、ルーム開設部４２０は、受信フレームのルーム名RMNMに基づきルーム管理テーブル４０６Ａを検索し、検索結果に基づき、ルーム名RMNMのルームが既に開設されているか否かを判定する（ステップＳ１５５）。
【０１８８】
ルームが既に開設されていると判定すると（ステップＳ１５５でＹＥＳ）、処理はステップＳ１５３の処理に移行する。一方、ルームは未開設であると判定すると（ステップＳ１５５でＮＯ）、ルーム開設部４２０は、ルーム管理テーブル４０６Ａに受信フレームから読出したデータ６２２、６２３および６１３を、データ４０６１、４０６２および４０６３として対応付けて格納することにより、ルームを開設する（ステップＳ１６３）。その後、処理はステップＳ１６５の処理に移行する。
【０１８９】
ステップＳ１６５においては、要求を受付けたとを指す“ＯＫ”を示す値‘０’を格納した返信情報のフレームを、要求元の携帯電話１００に送信する。その後、処理はステップＳ１４１の処理に戻る。
【０１９０】
一方、フレームの解析結果、受信フレームの命令コードはルームの検索を指示していると判定すると（ステップＳ１４７でＹＥＳ）、検索受付部４２１Ｂは、ルーム管理テーブル４０６Ａを、受信したフレームのデータ６２２が指示するルーム名RMNMに基づき検索する。そして、検索結果に基づき、ルーム名RMNMが格納されているか（開設されているか）否かを判定する。格納されていると判定すると、処理は、前述したステップＳ１６５に移行するが、格納されていない（ルームは未開設）と判定すると（ステップＳ１５７でＮＯ）、処理は前述したステップＳ１５３の処理に移行する。
【０１９１】
受信フレームの解析結果、フレームに格納された命令コードが、ルームの削除要求を指示していると判定すると（ステップＳ１５９でＹＥＳ）、ルーム削除部４２２は、受信フレームのデータ６１３が指すメールアドレスと、ルーム管理テーブル４０６Ａの当該ルーム名RMNMに関連付けて格納されたデータ４０６３が指すメールアドレスとを比較照合し、一致するか否かを判定する（ステップＳ１５９）。一致する場合、すなわち削除要求をした携帯電話１００は当該ルームに参加していた端末であると判定すると（ステップＳ１５９でＹＥＳ）、ルーム管理テーブル４０６Ａから当該ルーム名RMNMのデータを削除し（ステップＳ１６７）、処理は前述したステップＳ１６５の処理に移行する。
【０１９２】
一方、不一致の場合、すなわち削除要求をした携帯電話１００は当該ルームに参加していた端末ではないと判定すると（ステップＳ１５９でＮＯ）、削除処理は行われずに、処理は前述したステップＳ１５３の処理に移行する。
【０１９３】
受信フレームの解析結果、フレームに格納された命令コードは、ルームへの参加を要求していると判定すると（ステップＳ１５１でＹＥＳ）、参加受付部４２１Ａは、ルーム管理テーブル４０６Ａを受信フレームから読出したルーム名RMNMに基づき検索する（ステップＳ１６１）。検索結果に基づき、ルーム名RMNMのルームが開設されていると判定すると（ステップＳ１６１でＹＥＳ）、ルームへの参加処理を行ない（ステップＳ１６９）、参加している他の携帯電話１００に対して今回新たに参加した携帯電話１００のＩＰアドレスを送信するとともに、参加要求した携帯電話１００に対しては既に参加していた他の携帯電話１００のＩＰアドレスを送信する（ステップＳ１７１、Ｓ１７３）、その後、処理はステップＳ１４１の処理に戻る。
【０１９４】
本実施の形態によれば、通話の最中にＰ２Ｐボタン１１０Ｃを操作すると、通話が中断される。そして、通話中の相手端末（携帯電話１００）を特定する識別情報（電話番号）と自端末（携帯電話１００）の識別情報（電話番号）とに基づきルーム名RMNMを生成する。そして、ルーム名RMNMによって指示されるルームが開設されて、開設したルームを利用して通話していた端末の間でＰ２Ｐ通信網が形成される。そして、中断した通話をＰ２Ｐ通信網を利用したデータ通信により再開することができる。このように、Ｐ２Ｐボタン１１０Ｃを操作するという簡単操作で、通信機能を、通話からデータ通信へ切換えて、端末間でコミュニケーションを継続することができる。
【０１９５】
（他の実施の形態）
本実施の形態では、システムおよび各通信端末およびマッチングサーバ４００の機能構成は上述の構成と同じとしながらも、ＩＰアドレス交換に係る手順が相違する。
【０１９６】
つまり、上述した実施の形態では、図１１においてマッチングサーバ４００がマッチング処理をし、その処理結果に従い、勧誘メール送信元の端末Ａ（携帯電話１００Ａ）と勧誘メール受信の端末Ｃ（携帯電話１００Ｃ）のＩＰアドレスを、それぞれの端末に配信することにより、両方の端末はお互いのＩＰアドレスを交換して取得するとした。しかし、両端末がＩＰアドレスを取得する方法は、マッチングサーバ４００からの配信によるものに限定されず、本実施の形態の方法であってもよい。以下、詳述する。
【０１９７】
本実施の形態に係る通信手順が図２８に示される。図２８の手順は前述した図１１の手順を変更したものである。図１１と図２８の手順を比較し異なる点は、図１１のステップＳ００８とＳ０１０の処理が、図２８に示すステップＳ００９とＳ０１１に代替された点にある。図２８における他の処理は、図１１に説明したものと同様であるので、それらの処理については説明を略す。
【０１９８】
図２８を参照して、携帯電話１００ＡがＰ２Ｐ勧誘メールを携帯電話１００Ｃ宛てに送信し、携帯電話１００ＣがＰ２Ｐ勧誘メールを受信したことに応じてルーム“Ｒ”の開設要求をマッチングサーバ４００に送信し、マッチングサーバ４００においてルーム“Ｒ”が開設され、開設されたルーム“Ｒ”には携帯電話１００ＣのＩＰアドレス‘Ｃ’が格納される（ステップＳ００２、Ｓ００４）。続いて、携帯電話１００Ａがマッチングサーバ４００に対しルーム“Ｒ”の参加要求を送信すると（ステップＳ００６）、携帯電話１００Ａはマッチングサーバ４００のルーム“Ｒ”に参加することができる。このとき、マッチングサーバ４００は、携帯電話１００Ａの参加の検出に応答して、ルーム“Ｒ”に既に参加していた携帯電話１００ＣのＩＰアドレ‘Ｃ’を、参加要求元の携帯電話１００Ａ宛てに送信する（ステップＳ００９）。これにより、携帯電話１００Ａは、ルーム“Ｒ”に参加していた携帯電話１００ＣのＩＰアドレスを取得することができる。
【０１９９】
携帯電話１００Ａは、携帯電話１００ＣのＩＰアドレスを取得するとルーム“Ｒ”の削除要求をマッチングサーバ４００に対し送信する（ステップＳ０１１）。この要求に応じてマッチングサーバ４００はルーム“Ｒ”を削除する。
【０２００】
その後、携帯電話１００Ａは、取得した携帯電話１００ＣのＩＰアドレス‘Ｃ’に基づいて、Ｐ２Ｐ通信接続要求（開始メッセージ）を携帯電話１００Ｃ宛てに送信する（ステップＳ０１２）。携帯電話１００Ｃは、接続要求メッセージを受信することにより、当該要求に含まれる携帯電話１００ＡのＩＰアドレス‘Ａ’の通知を受ける。これにより、携帯電話１００Ａと１００Ｃとの間で、ＩＰアドレスが交換されたことになる。以降は、ステップＳ０１４〜Ｓ０３２のＰ２Ｐ通信が前述と同様に行なわれる。
【０２０１】
図２８の手順に従う携帯電話１００Ａにおける勧誘メール送信処理を図２９のフローチャートを参照し説明する。図２９のフローチャートは前述した図２４のフローチャートを変更したものである。図２４と図２９のフローチャートを比較し異なる点は、ステップＳ６５とＳ６７の間に、ステップＳ６６ａ（ルームの削除要求の送信処理）およびステップＳ６６ｂ（携帯電話１００Ｃ宛てにＰ２Ｐ接続要求を送信する処理）が追加されている。図２９の他の処理は、図２４に示されたものと同様であり説明を略す。
【０２０２】
図２９においては、図２８で説明したように、勧誘メール送信元の携帯電話１００Ａはルームへの参加要求のフレーム６０３を送信すると（ステップＳ６１）、マッチングサーバ４００からの参加要求の受付フレーム６０４を受信する。これにより、相手端末（携帯電話１００Ｃ）のＩＰアドレスを受信し、受信したＩＰアドレスを、記憶領域１０３ＤのＩＰアドレスデータHIS_IPADRに設定する（ステップＳ６５）。これにより、携帯電話１００ＣのＩＰアドレスを取得する。
【０２０３】
その後、ルームの削除要求のフレーム６０５を生成して送信する（ステップＳ６６ａ）。そして、ステップＳ６５で取得した携帯電話１００ＣのＩＰアドレスを記憶領域１０３Ｄから読出し、読出したＩＰアドレスに基づいて、携帯電話１００Ｃ宛てに、携帯電話１００ＡのＩＰアドレスデータMY_IPADRを含むＰ２Ｐ接続要求を送信する（ステップＳ６６ｂ）。これにより、携帯電話１００Ｃには、携帯電話１００ＡのＩＰアドレスが通知される。その結果、お互いのＩＰアドレス交換が完了する。
【０２０４】
その後は、携帯電話１００Ａと１００Ｃとの間では、交換により取得したＩＰアドレスを用いて、Ｐ２Ｐ通信制御（ステップＳ６７）が行なわれる。
【０２０５】
図２８の手順に従う携帯電話１００Ｃにおける勧誘メール応答処理を図３０のフローチャートを参照し説明する。図３０のフローチャートは前述した図２６のフローチャートを変更したものである。図２６と図３０のフローチャートを比較し異なる点は、図２６のステップＳ１１７の処理が、図３０のステップＳ１１８の処理に代替され、かつ図３０では図２６のステップＳ１２３の処理が削除されている点にある。図３０の他の処理は、図２６に示されたものと同様であり説明を略す。
【０２０６】
図３０においては、携帯電話１００Ｃはルームを開設した後（ステップＳ１１１）、一定時間が経過する間に、勧誘メール送信元である携帯電話１００ＡからＰ２Ｐ接続要求のフレームを受信するか否かを判定する（ステップＳ１１８）。
【０２０７】
Ｐ２Ｐ接続要求を受信したと判定すると（ステップＳ１１８でＹＥＳ）、ステップＳ１１９においてルーム名がアドレス帳データに登録され、ステップＳ１２１において相手端末、すなわち携帯電話１００ＡのＩＰアドレス、すなわちステップＳ１１８で受信したＰ２Ｐ接続要求に含まれるＩＰアドレスを、記憶領域１０３ＤのデータHIS_IPADRに設定する（ステップＳ１２１）。このとき、マッチングサーバ４００においては、携帯電話１００Ｃが開設したルームは、携帯電話１００Ａの要求によって削除されている（図２９のステップＳ６６ａを参照）ので、携帯電話１００Ｃによるルームの削除要求は行なわれないものとしている。なお、このルーム削除要求は、バッテリ切れなどにより、携帯電話１００Ａがマッチングサーバ４００にアクセスできない（図２９のステップＳ６６ａが実行できない）などを考慮して、双方で（携帯電話１００Ｃでも）、行うものとしても良い。
【０２０８】
図２８の手順に従うマッチングサーバ４００における処理を図３１のフローチャートを参照し説明する。図３１のフローチャートは前述した図２７のフローチャートを変更したものである。図２７と図３１のフローチャートを比較し異なる点は、図２７のステップＳ１７１の処理が、図３１においては削除された点にある。図３１の他の処理は図２７に説明したものと同様であり説明は略す。
【０２０９】
図３１においては、マッチングサーバ４００は、携帯電話１００Ａによるルーム参加要求フレーム６０３を受信すると（ステップＳ１５１でＹＥＳ、ステップＳ１６１でＹＥＳ、およびステップＳ１６９）、マッチングサーバ４００は、参加要求元の携帯電話１００Ａに、既にルームに参加していた携帯電話１００ＣのＩＰアドレスデータをルーム管理テーブル４０６Ａから読出し、これを格納したルーム参加受付フレーム６０４を生成して送信する（ステップＳ１７３）。このとき、携帯電話１００Ｃ宛てに携帯電話１００ＡのＩＰアドレスデータを送信する参加受付フレーム６０４の送信処理（図２７のステップＳ１７１）は省略される。
【０２１０】
このように、本実施の形態では、勧誘メール送信元の携帯電話１００Ａは、勧誘メールを受信した携帯電話１００Ｃが開設したルームへの参加要求を送信することによって、マッチングサーバ４００から携帯電話１００ＣのＩＰアドレスを受信することができ、携帯電話１００Ｃは、勧誘メール送信元の携帯電話１００ＡからＰ２Ｐ通信要求を受信することによって、携帯電話１００ＡのＩＰアドレスが通知されて、このＩＰアドレスを取得することができる。
【０２１１】
（プログラムおよび記録媒体）
ここで、各実施の形態における携帯電話１００を含む通信端末間の、上述したような図２０〜図２５のフローチャートに従う機能はプログラムとして提供することができる。このようなプログラムは、携帯電話１００のＣＰＵ１０６Ａのコンピュータに付属する記録媒体に予め記録させて、プログラム製品として提供することもできる。このような記録媒体としては、ＦＤ（Flexible Disc）、ＣＤ（Compact Disc）−ＲＯＭまたは記憶部１０３を構成するＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）、ならびにメモリカードなどのコンピュータ読取り可能な記録媒体がある。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、インターネット５００を含む各種ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【０２１２】
また、図２６のフローチャートに従う機能もプログラムとして提供することができる。このようなプログラムは、マッチングサーバ４００のＣＰＵ４０５のコンピュータに付属する記録媒体に予め記録させて、プログラム製品として提供することもできる。このような記録媒体としては、ＦＤ（Flexible Disc）４１２、ＣＤ（Compact Disc）−ＲＯＭ４１４またはメモリ４０６を構成するＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）、ならびにメモリカードなどのコンピュータ読取り可能な記録媒体がある。あるいは、コンピュータに内蔵する固定ディスク４０７の記録媒体にて記録させて、プログラムを提供することもできる。また、インターネット５００を含む各種ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【０２１３】
ここで、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【０２１４】
なお、一般的傾向として、コンピュータのオペレーティングシステムの一部として様々なプログラムモジュールを用意しておき、アプリケーションプログラムはこれらモジュールを所定の配列で必要なときに呼出して処理を進める方式が一般的である。そうした場合、本実施の形態に係るシステムを実現するためのソフトウェア自体にはそうしたモジュールは含まれず、当該コンピュータでオペレーティングシステムと協働してはじめてシステムが実現することになる。しかし、一般的なプラットホームを使用する限り、そうしたモジュールを含ませたソフトウェアを流通させる必要はなく、それらモジュールを含まないソフトウェア自体およびそれらソフトウェアを記録した記録媒体（およびそれらソフトウェアがネットワーク上を流通する場合のデータ信号）が実施の形態を構成すると考えることができる。
【０２１５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され
、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０２１６】
【図１】本実施の形態に係るネットワークシステムの一例を示す概略図である。
【図２】本実施の形態に係る携帯電話の概観を示すイメージ図である。
【図３】本実施の形態に係る携帯電話のハードウェア構成図である。
【図４】本実施の形態に係るアドレス帳データを示す図である。
【図５】本実施の形態に係る自端末データを示す図である。
【図６】（Ａ）と（Ｂ）は本実施の形態に係るメールデータを示す図である。
【図７】本実施の形態に係る携帯電話の機能構成図である。
【図８】本実施の形態に係るマッチングサーバのハードウェア構成図である。
【図９】（Ａ）〜（Ｄ）は本実施の形態に係るルーム管理テーブルのデータ構造の一例を示す図である。
【図１０】本実施の形態に係るマッチングサーバの機能構成図である。
【図１１】本実施の形態に係る通信手順を模式的に示す図である。
【図１２】本実施の形態に係るＰ２Ｐ勧誘メールの一例を示す図である。
【図１３】本実施の形態に係るフレームの基本構成を説明する図である。
【図１４】本実施の形態に係るルーム検索要求フレームの構成図である。
【図１５】本実施の形態に係るルーム検索受付フレームの構成図である。
【図１６】本実施の形態に係るルーム開設要求フレームの構成図である。
【図１７】本実施の形態に係るルーム開設受付フレームの構成図である。
【図１８】本実施の形態に係るルーム参加要求フレームの構成図である。
【図１９】本実施の形態に係るルーム参加受付フレームの構成図である。
【図２０】本実施の形態に係るルーム削除要求フレームの構成図である。
【図２１】本実施の形態に係るルーム削除受付フレームの構成図である。
【図２２】本実施の形態に係るメイン処理フローチャートである。
【図２３】本実施の形態に係るＰ２Ｐ勧誘処理フローチャートである。
【図２４】本実施の形態に係るＰ２Ｐ勧誘メール送信処理フローチャートである。
【図２５】本実施の形態に係るＰ２Ｐ勧誘受信処理フローチャートである。
【図２６】本実施の形態に係る勧誘メール応答処理フローチャートである。
【図２７】本実施の形態に係るマッチングサーバの処理フローチャートである。
【図２８】他の実施の形態に係る通信手順を模式的に示す図である。
【図２９】他の実施の形態に係るＰ２Ｐ勧誘メール送信処理フローチャートである。
【図３０】他の実施の形態に係る勧誘メール応答処理フローチャートである。
【図３１】他の実施の形態に係るマッチングサーバの処理フローチャートである。
【符号の説明】
【０２１７】
１００  携帯電話、１１０Ｃ  Ｐ２Ｐボタン、４００  マッチングサーバ、４０６Ａ  ルーム管理テーブル、４２０  ルーム開設部、４２１Ａ  参加受付部、４２１Ｂ  検索受付部、４２２  ルーム削除部、１０６６  通常メール処理部、１０６７  Ｐ２Ｐ勧誘部、１０６８  勧誘メール送信部、１０６９  Ｐ２Ｐ勧誘受付部、１０７０  Ｐ２Ｐ勧誘応答部、１０７１  ルーム名生成部、１０７３  ルーム検索要求部、１０７４  ルーム開設要求部、１０７５  ルーム参加要求部、１０７６  ルーム削除要求部。
【図１】
2010140083.tif 000003
【図２】
2010140083.tif 000004
【図３】
2010140083.tif 000005
【図４】
2010140083.tif 000006
【図５】
2010140083.tif 000007
【図６】
2010140083.tif 000008
【図７】
2010140083.tif 000009
【図８】
2010140083.tif 000010
【図９】
2010140083.tif 000011
【図１０】
2010140083.tif 000012
【図１１】
2010140083.tif 000013
【図１２】
2010140083.tif 000014
【図１３】
2010140083.tif 000015
【図１４】
2010140083.tif 000016
【図１５】
2010140083.tif 000017
【図１６】
2010140083.tif 000018
【図１７】
2010140083.tif 000019
【図１８】
2010140083.tif 000020
【図１９】
2010140083.tif 000021
【図２０】
2010140083.tif 000022
【図２１】
2010140083.tif 000023
【図２２】
2010140083.tif 000024
【図２３】
2010140083.tif 000025
【図２４】
2010140083.tif 000026
【図２５】
2010140083.tif 000027
【図２６】
2010140083.tif 000028
【図２７】
2010140083.tif 000029
【図２８】
2010140083.tif 000030
【図２９】
2010140083.tif 000031
【図３０】
2010140083.tif 000032
【図３１】
2010140083.tif 000033