(57)【要約】【課題】開設したルームを、現在の通信端末の状態がルーム開設時の状態から変化したことに応じて削除する。【解決手段】入力部１１０によって通信の要求が入力されたことに応答して、ルーム開設要求部１０６８は、ルームＩＤ生成部１０８３が、携帯電話１００について検知されるプレゼンス情報に従い生成したルームＩＤを含むルームの開設要求をサーバ装置へ送信する。プレゼンス監視部１０６９が、携帯電話１００の状態が、入力部１１０によって通信の要求が入力されたときの状態から変化していることを検知すると、ルーム削除要求部１０７０は上記生成したルームＩＤを含むルームの削除要求をサーバ装置へ送信する。【選択図】図７
2010092349.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信端末およびサーバ装置を接続する通信ネットワークに適用される前記通信端末であって、
当該通信端末の現在の状態を検知するプレゼンス検知部と、
他の前記通信端末とデータを交わすために前記サーバ装置に開設されるルームを介した、通信の要求を入力するために操作される通信要求部と、
前記プレゼンス検知部により検知される前記状態に基づいて前記ルームを識別するためのルーム識別子を生成する識別子生成部と、
前記通信要求部によって前記通信の要求が入力されたことに応答して、前記識別子生成部で生成した前記ルーム識別子を含む前記ルームを開設するための開設要求を前記サーバ装置へ送信するルーム開設要求部と、
前記プレゼンス検知部が検知する前記状態が、前記通信要求部によって前記通信の要求が入力されたときに検知された前記状態から変化していることを検知するプレゼンス変化検知部と、
前記プレゼンス変化検知部により前記状態の変化が検知されたとき、前記識別子生成部で生成した前記ルーム識別子を含む前記ルームを削除するための削除要求を前記サーバ装置へ送信するルーム削除要求部と、を備える、通信端末。
【請求項２】
前記ルーム開設要求部が送信した前記開設要求に含まれる前記ルーム識別子に対応の前記ルームが既に開設されていたとき、
前記サーバ装置によって前記ルーム格納部から読出された、当該開設要求に含まれる前記ルーム識別子に関連付けされた前記端末識別子を受信する、請求項１に記載の通信端末。
【請求項３】
前記ルーム開設要求部が前記開設要求を送信した後に、前記他の通信端末から、前記端末識別子を用いた通信の要求を受信するまで待機する待機手段を有し、
前記ルーム削除要求部は、
前記待機手段が待機する期間において、前記プレゼンス変化検知部により前記状態の変化が検知されたとき、前記識別子生成部で生成した前記ルーム識別子を含む前記ルームを削除するための削除要求を前記サーバ装置へ送信する、請求項１または２に記載の通信端末。
【請求項４】
前記プレゼンス検知部は、前記状態として、少なくとも前記通信端末の現在位置を検知する、請求項１から３のいずれかに記載の通信端末。
【請求項５】
前記通信端末は、さらに、放送信号を受信する放送受信部を備え、
前記プレゼンス検知部は、前記状態として、少なくとも前記放送受信部が受信する前記放送信号のチャンネルを検知する、請求項１から４のいずれかに記載の通信端末。
【請求項６】
複数の通信端末およびサーバ装置を接続する通信ネットワークに適用される前記通信端末に搭載されるコンピュータを用いた通信方法であって、
前記コンピュータが、前記通信端末の現在の状態を検知するプレゼンス検知ステップと、
前記コンピュータが、他の前記通信端末とデータを交わすために前記サーバ装置に開設されるルームを介した、通信の要求を入力する通信要求入力ステップと、
前記コンピュータが、前記プレゼンス検知ステップにより検知される前記状態に基づいて前記ルームを識別するためのルーム識別子を生成する識別子生成ステップと、
前記コンピュータが、前記通信要求入力ステップによって前記通信の要求が入力されたことに応答して、前記識別子生成ステップで生成した前記ルーム識別子を含む前記ルームを開設するための開設要求を、前記サーバ装置へ送信するルーム開設要求ステップと、
前記コンピュータが、前記プレゼンス検知ステップにおいて検知する前記状態が、前記通信要求入力ステップによって前記通信の要求が入力されたときに検知された前記状態から変化していることを検知するプレゼンス変化検知ステップと、
前記コンピュータが、前記プレゼンス変化検知ステップにより前記状態の変化が検知されたとき、前記識別子生成ステップで生成した前記ルーム識別子を含む前記ルームを削除するための削除要求を、前記サーバ装置へ送信するルーム削除要求ステップと、を備える、通信方法。
【請求項７】
請求項６に記載の通信方法をコンピュータに実行させるための、通信プログラム。
【請求項８】
ネットワークを介して相互に接続される少なくとも複数の通信端末とサーバ装置とを備えるネットワークシステムであって、
前記通信端末は、
当該通信端末の現在の状態を検知するプレゼンス検知部と、
他の前記通信端末とデータを交わすために前記サーバ装置に開設されるルームを介した、通信の要求を入力するために操作される通信要求部と、
前記プレゼンス検知部により検知される前記状態に基づいて前記ルームを識別するためのルーム識別子を生成する識別子生成部と、
前記通信要求部によって前記通信の要求が入力されたことに応答して、前記識別子生成部で生成した前記ルーム識別子と前記ネットワークを介した通信のために割当てられる端末識別子とを含む前記ルームを開設するための開設要求を前記サーバ装置へ送信するルーム開設要求部と、
前記プレゼンス検知部が検知する前記状態が、前記通信要求部によって前記通信の要求が入力されたときに検知された前記状態から変化していることを検知するプレゼンス変化検知部と、
前記プレゼンス変化検知部により前記状態の変化が検知されたとき、前記識別子生成部で生成した前記ルーム識別子を含む前記ルームを削除するための削除要求を前記サーバ装置へ送信するルーム削除要求部と、を含み、
前記サーバ装置は、
前記ルームに関する情報が格納されるルーム格納部を含み、
前記開設要求に従い、前記ルームが開設されるとき、前記ルーム格納部に当該ルームに対応して、受信した前記開設要求の前記ルーム識別子と前記端末識別子とを関連付けて格納し、
前記削除要求に従い、前記格納した開設要求時の前記ルーム識別子と前記端末識別子との関連付けを削除する、ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信端末に関し、特に、サーバ装置に開設されたルームを介して相手の端末と通信する通信端末に関する。
【背景技術】
【０００２】
従来より、ネットワークを介して提供されるチャットルームを利用してチャット相手（通信相手）を見つけて、チャット通信をするシステムが提供されている。ここで、チャットルームは、様々な、話題（テーマ)ごとに開設される。ユーザは、自分の嗜好にあったルームを選択する場合には、膨大なルーム名のリストの中から、各ルームについて話題（テーマ）確認しながら、もしくは、キーワードで候補を絞り込んで、自分の嗜好にあったルームを選択していた。したがって、嗜好にあったルームを簡単に選択することを可能にするシステムの提供が望まれていた。
【０００３】
この要求に応えるために、たとえば、特許文献１のチャットシステムが提案された。特許文献１のチャットシステムによれば、ユーザが現在視聴中のテレビ番組に関して誰かと話したいと思った場合に、簡単に話し相手を見つけ出すことを可能にする。具体的には、ユーザは視聴している番組を特定する情報およびチャット参加の意志を管理システムに送信し、管理システムは、同一番組について２以上のチャット参加意志を受付けたときにチャットルームを形成し、形成したチャットルームに関する情報を参加意志の送信者に返信する。
【特許文献１】特開２００４-４０６９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１では、管理システムが、同一テレビ番組について２以上のチャット参加意志を受付けるまでは、チャットルームに関する情報はユーザに返信されない。したがって、ユーザが参加意志を送信してから返信を受信するまでにはタイムラグが生じる。このタイムラグは、ユーザが移動体端末を用いてテレビ番組を視聴している場合には、次のような課題をもたらす。
【０００５】
つまり、２以上のチャット参加意志を受付けるまでに長い時間を要するためにタイムラグが大きい場合には、ユーザが移動することによって移動体端末が当該テレビ番組の放送信号の受信可能エリアから外れてしまうことが十分に想定される。受信可能エリアから外れたユーザは、当該テレビ番組を視聴することはできないから、管理システムからチャットルームに関する情報を受信したとしても、現在視聴中のテレビ番組に関して誰かと話すという、当初の目的を達成することはできない。このように、特許文献１のチャットシステムは、チャット参加意志を送信したユーザ端末の放送信号の受信状態が刻々と変化し得る点は考慮されていないので、実用性に優れない。
【０００６】
それゆえに、この発明の目的は、開設したルームを、現在の通信端末の状態がルーム開設時の状態から変化したことに応じて削除することのできる、通信端末を提供することである。
【課題を解決するための手段】
【０００７】
この発明のある局面に従うと、複数の通信端末およびサーバ装置を接続する通信ネットワークに適用される通信端末であって、当該通信端末の現在の状態を検知するプレゼンス検知部と、他の通信端末とデータを交わすためにサーバ装置に開設されるルームを介した、通信の要求を入力するために操作される通信要求部と、プレゼンス検知部により検知される状態に基づいてルームを識別するためのルーム識別子を生成する識別子生成部と、通信要求部によって通信の要求が入力されたことに応答して、識別子生成部で生成したルーム識別子を含むルームを開設するための開設要求をサーバ装置へ送信するルーム開設要求部と、プレゼンス検知部が検知する状態が、通信要求部によって通信の要求が入力されたときに検知された状態から変化していることを検知するプレゼンス変化検知部と、プレゼンス変化検知部により状態の変化が検知されたとき、識別子生成部で生成したルーム識別子を含むルームを削除するための削除要求をサーバ装置へ送信するルーム削除要求部と、を備える。
【０００８】
好ましくは、ルーム開設要求部が送信した開設要求に含まれるルーム識別子に対応のルームが既に開設されていたとき、サーバ装置によってルーム格納部から読出された、当該開設要求に含まれるルーム識別子に関連付けされた端末識別子を受信する。
【０００９】
好ましくは、ルーム開設要求部が開設要求を送信した後に、他の通信端末から、端末識別子を用いた通信の要求を受信するまで待機する待機手段を有し、ルーム削除要求部は、待機手段が待機する期間において、プレゼンス変化検知部により状態の変化が検知されたとき、識別子生成部で生成したルーム識別子を含むルームを削除するための削除要求をサーバ装置へ送信する。
【００１０】
好ましくは、プレゼンス検知部は、状態として、少なくとも通信端末の現在位置を検知する。
【００１１】
好ましくは、通信端末は、さらに、放送信号を受信する放送受信部を備え、プレゼンス検知部は、状態として、少なくとも放送受信部が受信する放送信号のチャンネルを検知する。
【００１２】
この発明の他の局面に従うと、複数の通信端末およびサーバ装置を接続する通信ネットワークに適用される通信端末に搭載されるコンピュータを用いた通信方法であって、コンピュータが、通信端末の現在の状態を検知するプレゼンス検知ステップと、コンピュータが、他の通信端末とデータを交わすためにサーバ装置に開設されるルームを介した、通信の要求を入力する通信要求入力ステップと、コンピュータが、プレゼンス検知ステップにより検知される状態に基づいてルームを識別するためのルーム識別子を生成する識別子生成ステップと、コンピュータが、通信要求入力ステップによって通信の要求が入力されたことに応答して、識別子生成ステップで生成したルーム識別子を含むルームを開設するための開設要求を、サーバ装置へ送信するルーム開設要求ステップと、コンピュータが、プレゼンス検知ステップにおいて検知する状態が、通信要求入力ステップによって通信の要求が入力されたときに検知された状態から変化していることを検知するプレゼンス変化検知ステップと、コンピュータが、プレゼンス変化検知ステップにより状態の変化が検知されたとき、識別子生成ステップで生成したルーム識別子を含むルームを削除するための削除要求を、サーバ装置へ送信するルーム削除要求ステップとを備える。
【００１３】
この発明のさらに他の局面に従うと、上述の通信方法をコンピュータに実行させるための通信プログラムが提供される。
【００１４】
この発明のさらに他の局面に従うと、ネットワークを介して相互に接続される少なくとも複数の通信端末とサーバ装置とを備えるネットワークシステムは、通信端末が、当該通信端末の現在の状態を検知するプレゼンス検知部と、他の通信端末とデータを交わすためにサーバ装置に開設されるルームを介した、通信の要求を入力するために操作される通信要求部と、プレゼンス検知部により検知される状態に基づいてルームを識別するためのルーム識別子を生成する識別子生成部と、通信要求部によって通信の要求が入力されたことに応答して、識別子生成部で生成したルーム識別子とネットワークを介した通信のために割当られる端末識別子とを含むルームを開設するための開設要求をサーバ装置へ送信するルーム開設要求部と、プレゼンス検知部が検知する状態が、通信要求部によって通信の要求が入力されたときに検知された状態から変化していることを検知するプレゼンス変化検知部と、プレゼンス変化検知部により状態の変化が検知されたとき、識別子生成部で生成したルーム識別子を含むルームを削除するための削除要求をサーバ装置へ送信するルーム削除要求部と、を含む。
【００１５】
サーバ装置は、ルームに関する情報が格納されるルーム格納部を含む。そして、開設要求に従い、ルームが開設されるとき、ルーム格納部に当該ルームに対応して、受信した開設要求のルーム識別子と端末識別子とを関連付けて格納し、削除要求に従い、格納した開設要求時のルーム識別子と端末識別子との関連付けを削除する。
【００１６】
上述の端末識別子の具体例として、後述するＩＰ（Internet Protocol）アドレスがある。
【発明の効果】
【００１７】
本発明によれば、通信端末の現在の状態が、通信要求部によって通信の要求が入力されたときに検知された通信端末の状態から変化していることが検知されたとき、当該通信の要求に従い開設されたルームを削除するための削除要求を、サーバ装置へ送信することができる。したがって、開設したルームを、現在の通信端末の状態がルーム開設時の状態から変化したことに応じて削除することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部分には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００１９】
また、以下では、移動体端末であって、且つＴＶ（television）放送信号受信機能および位置検出機能などを有する「通信端末」の代表例として携帯電話１００をあげて説明を行う。ただし、このような機能を有する通信端末であれば、パーソナルコンピュータや、カーナビゲーション装置（Satellite navigation system）や、ＰＮＤ（Personal Navigation Device）や、ＰＤＡ（Personal Data Assistant）などのような、他の情報通信機器であってもよい。
【００２０】
本実施の形態では、通信端末の状態を検知し、検知した当該状態を指示する情報をプレゼンス情報と称する。プレゼンス情報は後述するようにチャットルームの開設のために用いられる。通信端末の状態は、通信端末の位置、通信端末の移動の方向・速度・加速度、通信端末で現在出力中のコンテンツのＵＲＬ（uniform resource locator）、通信端末で受信中（ユーザが視聴中）のＴＶ番組のチャンネルなどの情報、通信端末で再生中のコンテンツの情報、通信端末で起動しているプログラムの情報、通信端末の通信先や通信データの情報、通信端末が入力した映像または音声の情報、通信端末による受光量の情報、通信端末の周囲温度の情報などにより示される。本実施の形態では、説明を簡単にするために、通信端末の移動の状態、信号（放送信号を含む）の受信の状態などを指すプレゼンス情報を提示する。具体的には、プレゼンス情報は、通信端末の位置、移動の方向と速度、および受信中のＴＶ放送のチャンネルの情報を例示する。
【００２１】
＜チャットルームに関する説明＞
また、本実施の形態では、‘チャット’とは、後述のインターネット５００またはキャリア網７００を介したオンラインサービスによりリアルタイムに通信端末同士がメッセージをやり取りするような通信を指す。たとえば、メールサーバは介さないＩＰアドレスを用いた後述のＰ２Ｐ型のデータ通信、またはメールサーバ経由の電子メール交換であってもよい。また、チャットには、１対１の通信端末同士のチャットと、他人数（３人以上）の通信端末同士のチャットが含まれる。
【００２２】
また、チャットルームは、一般的には、テーマ・話題毎に開設されるが、本実施の形態では、通信端末のプレゼンス情報に従い生成されるルームＩＤ（identifier）毎に生成される。ルームＩＤはルームを一意に識別するための情報であり、いわゆるルーム名に相当する。本実施の形態では、‘チャットルーム’（単に、‘ルーム’と略す場合もある）とは、当該ルームのルームＩＤに対応して、チャットのためのデータ通信（データ交換）を要求するユーザの識別情報を、すなわちユーザの通信端末の識別情報を相互に関係付けるための情報を指す。この通信端末の識別情報は、各通信端末を一意に識別するための情報であって、本実施の形態では各通信端末に割り当されたＩＰアドレスとしている。
【００２３】
したがって、本実施の形態では、‘ルームの開設’とは、ルームの生成に相当する。具体的には、所定記憶領域に新規にルームＩＤを格納するとともに、このルームＩＤに対応してルームの生成を要求したユーザの通信端末の識別情報を格納する動作に相当する。
【００２４】
また、‘ルームへの参加’とは、所定記憶領域に既に格納されたルームＩＤに対応してチャットを要求するユーザの通信端末の識別情報を格納するともに、当該ユーザに対して他のユーザの通信端末の識別情報を配信する動作に相当する。
【００２５】
また、‘ルームの削除’とは、削除するべきルームのルームＩＤを、所定記憶領域から削除するための動作を指す。
【００２６】
また、‘ルーム参加の取消し’とは、ルームＩＤに対応して格納されている通信端末の識別情報を削除する動作を指す。
【００２７】
上述の削除の処理は、所定域億領域から当該情報を実際に消去する処理でもよく、または、格納された当該情報を所定記憶領域から読出不可能な状態に設定する処理であってもよい。本実施の形態では、‘読出不可能な状態に設定する’ものとしている。
【００２８】
＜シングルモードおよびマルチモード＞
本実施の形態では、ルームの開設と削除の処理について、シングルモードとマルチモードとの２つの動作モードが提供される。シングルモードとは、チャットルームを開設したユーザのみが、当該チャットルームの削除をすることができる動作モードを指す。より具体的には、チャットルームを開設したユーザ（当事者ユーザという）がルーム開設後において後述するＰ２Ｐ型のデータ通信要求を他のユーザから受信しない期間において、当事者ユーザ側のプレゼンス情報が変化した場合には、当事者ユーザに対して当該チャットルームの削除要求が許可される動作モードを指す。
【００２９】
マルチモードとは、チャットルームを開設したユーザを含む当該チャットルームに参加しているユーザそれぞれが、当該ユーザ側のプレゼンス情報が変化したならば、当該チャットルームの削除をすることができる動作モードを指す。より具体的には、参加している各ユーザ側のプレゼンス情報が変化した場合には、またはユーザから指示が入力された場合には、ルーム参加を取消すために、当該ユーザは当該チャットルームの削除要求が許可される動作モードを指す。
【００３０】
＜ネットワークシステム１の全体構成＞
図１に示すように、ネットワークシステム１は、携帯電話１００Ａ，１００Ｂ，１００Ｃと、マッチングサーバ４００と、インターネット５００と、キャリア網７００とを含む。また、本実施の形態に係るネットワークシステム１は、車両２５０に搭載されるカーナビゲーション装置２００を含む。なお、ネットワークシステム１には、インターネット７００を介して端末同士が電子メール通信するためのメールサーバが接続されてもよい。
【００３１】
説明の容易化のために、以下では、本実施の形態に係るネットワークシステム１が、第１の携帯電話１００Ａと、第２の携帯電話１００Ｂと、第３の携帯電話１００Ｃとを含む場合について説明する。また、携帯電話１００Ａ，１００Ｂ，１００Ｃの各々に共通の構成や機能を説明する際には、それらを携帯電話１００とも総称する。そして、携帯電話１００Ａ，１００Ｂ，１００Ｃ、カーナビゲーション装置２００の各々に共通の構成や機能を説明する際には、それらを通信端末とも総称する。
【００３２】
携帯電話１００は、キャリア網７００に接続可能に構成されている。カーナビゲーション装置２００は、インターネット５００に接続可能に構成されている。マッチングサーバ４００は、インターネット５００に接続可能に構成されている。
【００３３】
より詳細には、第１の携帯電話１００Ａと、第２の携帯電話１００Ｂと、第３の携帯電話１００Ｃと、カーナビゲーション装置２００とは、キャリア網７００や図示のないメールサーバやインターネット５００を介して互いに接続可能であって、互いにデータの送受信が可能である。また、携帯電話１００とカーナビゲーション装置２００には、自端末を特定するための識別情報（たとえば、メールアドレスやＩＰ（Internet Protocol）アドレスなど）が割り当てられる。すなわち、携帯電話１００とカーナビゲーション装置２００は、内部の記録媒体に他の通信端末の識別情報を記憶することができ、当該識別情報に基づいてキャリア網７００やインターネット５００などを介して当該他の通信端末とデータ送受信を行うことができる。
【００３４】
なお、本実施の形態に係る携帯電話１００とカーナビゲーション装置２００は、割り当てられるＩＰアドレスを利用して、図示のないメールサーバを介さずに他の通信端末とデータ送受信を行うものである。ここでは、各通信端末がマッチングサーバ４００にアクセスする際には、すなわち各通信端末がインターネット７００にアクセスした際に、マッチングサーバ４００あるいは他の図示しないサーバ装置などによってＩＰアドレスが割り当てられるものとする。ＩＰアドレスの割り当て処理の詳細は公知であるので、ここでは説明を繰り返さない。
【００３５】
また、本実施の形態に係る携帯電話１００、カーナビゲーション装置２００は、自身に割り当てられたＩＰアドレスを利用することにより、直接的に相互にネットワークを介してデータ送受信を行うことが可能である。すなわち、本実施の形態に係るネットワークシステム１に含まれる携帯電話１００およびカーナビゲーション装置２００は、いわゆるＰ２Ｐ（Pear to Pear）型のネットワークを構成することが可能である。
【００３６】
＜Ｐ２Ｐの動作概要＞
本実施の形態に係る各通信端末は、Ｐ２Ｐ型のデータ通信を行うために、予め互いのＩＰアドレスを交換（取得）する必要がある。そして、各通信端末は、ＩＰアドレスを取得したのちに、Ｐ２Ｐ型のデータ通信によってメッセージや添付ファイルなどを他の通信端末に送信する。チャットは、このＰ２Ｐ型のデータ通信によって実現される。
【００３７】
＜携帯電話１００のハードウェア構成＞
図２および図３に示すように、本実施の形態に係る携帯電話１００は、外部のネットワークとの間でデータを送受信する通信部１０１、プログラムや各種データを記憶するＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）からなる記憶部１０３、計時部１０５、制御部１０６、表示部１０７、マイク１０８、音声を出力するスピーカ１０９、各種情報の入力を受付ける入力部１１０、外部から通信データや通話信号を受信した旨など各種メッセージを音声または表示で出力するための通知部１１１、携帯電話１００の現在の状態を検知するプレゼンス情報検知部１１２、および情報を入力するためのタブレット１１９を備える。
【００３８】
制御部１０６は、ＣＰＵ（Central Processing Unit）１０６Ａ、ＣＰＵ１０６Ａと通信部１０１との入出力を制御する通信Ｉ／Ｆ（インターフェイスの略）１０６Ｂ、およびＣＰＵ１０６Ａと通信部１０１を除く他の各部との入出力を制御する入出力Ｉ／Ｆ（インターフェイスの略）１０６Ｃを含む。
【００３９】
プレゼンス情報検知部１１２は、携帯電話１００の現在の状態を検知するために、携帯電話１００の現在位置を検出するためのアンテナ１１３１を接続するＧＰＳ（global positioning system）１１２１と、ＴＶ放送信号を受信するためのアンテナ１１３２を接続するＴＶチューナ１１２２を含む。
【００４０】
なお、プレゼンス情報検知部１１２は、この他に、速度/加速度を検知するための加速度センサー、現在表示中のコンテンツのＵＲＬを検知するためのブラウザ、再生中のコンテンツ情報を検知するためにコンテンツ再生機、起動しているプログラム情報を検知するためにＯＳ（Operating System）、通信先や通信データの情報を検知するために通信デバイス、取り込んだ映像情を検知するためにカメラデバイス、取り込んだ音声情報を検知するためにマイクデバイス、受光量を検知するために光センサー、周囲の温度を検知するために温度センサーを含んでもよい。
【００４１】
本実施の形態に係る表示部１０７は、液晶パネルやＣＲＴ（Cathode Ray Tube）から構成されるタッチパネルである。すなわち、本実施の形態に係る携帯電話１００は、表示部１０７の下側（裏側）にタブレット１１９が敷設されている。これによって、ユーザはスタイラスペン１２０などを用いることによって、タブレット１１９を介して、図形情報などを制御部１０６に手書き入力することができる。表示部１０７は、制御部１０６が出力したデータに基づいて、画像やテキストを表示する。
【００４２】
入力部１１０は、キー入力操作などによってユーザから情報を受け付ける。たとえば、入力部１１０は、通話を受け付けたり、通話を発したりするために操作されるボタン１１０Ａと、メールを受け付けたり、メールを発したりするために操作されるボタン１１０Ｂと、Ｐ２Ｐ型のデータ通信を受け付けたり、Ｐ２Ｐ型のデータ通信を発したりするために操作されるボタン１１０Ｃと、一連の操作をキャンセルするために操作されるボタン１１０Ｄと、各種の処理を終了させるために操作されるボタン１１０Ｅとを含む。
【００４３】
さらに入力部１１０は、チャットルームの開設を要求するために操作されるボタン１１２Ａと、チャットルームの削除を要求するために操作されるボタン１１２Ｂと、開設または参加するチャットルームの情報を表示するために操作されるボタン１１２Ｃを含む。
【００４４】
＜携帯電話１００の記憶内容について＞
図４を参照して携帯電話１００の記憶部１０３は、記憶領域１０３０〜１０３６を含む。記憶領域１０３０には、チャットルーム開設時に収集されたプレゼンス情報１０２０が格納される。
【００４５】
記憶領域１０３１には、携帯電話１００のユーザの名前のデータ１０２１、携帯電話１００に割り当てられた電話番号のデータ１０２２、メールアドレスのデータ１０２３およびＩＰアドレスのデータ１０２４、ならびに認証のためのユーザＩＤのデータ１０２５およびパスワードのデータ１０２６が格納される。
【００４６】
記憶領域１０３２には、後述する変換規則データ１０２７が格納される。記憶領域１０３３には、携帯電話１００の要求に応じて開設されたチャットルームに対応のデータ、または参加するチャットルームに対応するデータを記憶するテーブル１０２８が格納される。詳細には、テーブル１０２８には、チャットルームのそれぞれに対応して、フラグのデータ１０２Ａ、当該ルームを一意に識別するためのルームＩＤのデータ１０２Ｂ、および当該チャットルームを介して関連付けされた他の通信端末のＩＰアドレスのデータ１０２Ｃが格納される。フラグのデータ１０２Ａは、対応のチャットルームが開設されると“１”に設定されて、対応のチャットルームが削除されると“１”から“０”に更新される。
【００４７】
テーブル１０２８の内容は、ボタン１１２Ｃが操作されると、記憶部１０３から読出されて表示部１０７に表示される。この場合、対応のデータ１０２Ａのフラグが“０”であるデータ１０２Ｂおよび１０２Ｃは読出不可能状態に設定されて、読出すことができず、したがって表示されない。
【００４８】
記憶領域１０３４には、ユーザが選択したプレゼンス条件のデータ１０２９が格納される。プレゼンス条件の選択については後述する。記憶領域１０３５には、アドレス帳データ１０３８が格納される。アドレス帳データ１０３８には、携帯電話１００を用いた通信相手に関するデータ（名前、メールアドレス、電話番号など）が格納される。記憶領域１０３６には、マッチングサーバ４００のアドレスのデータ１０３９が格納される。アドレスのデータ１０３９はマッチングサーバ４００のチャットルームの記憶領域に対応のＵＲＬを指示する。
【００４９】
＜マッチングサーバ４００のハードウェア構成について＞
図５を参照して、マッチングサーバ４００は、処理部４０１、ＣＲＴ、液晶などからなるモニタ４０２、キーボード４０３およびマウス４０４を有する。処理部４０１は、該マッチングサーバ４００自体を集中的に制御するためのＣＰＵ４０５、ＲＯＭ（read only memory）またはＲＡＭ（random access memory）を含んで構成されるメモリ４０６、固定ディスク４０７、ＦＤ（flexible disc）４１２が着脱自在に装着されて、装着されたＦＤ４１２をアクセスするＦＤ駆動装置４１１、ＣＤ−ＲＯＭ（compact disc read only memory）４１４が着脱自在に装着されて、装着されたＣＤ−ＲＯＭ４１４をアクセスするＣＤ−ＲＯＭ駆動装置４１３、インターネット５００とマッチングサーバ４００を通信接続するためのサーバ通信部４０９、およびタイマからなる計時部４１０を含む。これらの各部はバス４０８を介して通信接続される。
【００５０】
メモリ４０６は、各種の情報を記憶するものであって、たとえば、ＣＰＵ４０５でのプログラムの実行に必要なデータを一時的に記憶する。固定ディスク４０７は、ＣＰＵ４０５が実行するプログラムやデータベースを記憶する。ＣＰＵ４０５は、マッチングサーバ４００の各要素を制御するものであって、各種の演算を実施する装置である。
【００５１】
サーバ通信部４０９は、ＣＰＵ４０５が出力したデータを電気信号へと変換して外部へ送信し、外部から受信した電気信号をデータに変換してＣＰＵ４０５に入力する。具体的には、サーバ通信部４０９は、ＣＰＵ４０５からのデータを、インターネット５００やキャリア網７００などを介して携帯電話１００やカーナビゲーション装置２００に送信する。そして、インターネット５００やキャリア網７００を介して携帯電話１００やカーナビゲーション装置２００から受信したデータを、ＣＰＵ４０５に与える。
【００５２】
ここで、メモリ４０６あるいは固定ディスク４０７に記憶されるデータについて説明する。図６には、マッチングサーバ４００のメモリ４０６あるいは固定ディスク４０７に記憶されるルームＩＤテーブル４３Ａのデータ構造を示す。
【００５３】
図６を参照して、ルームＩＤテーブル４３Ａは、マッチングサーバ４００において開設がされたチャットルームのそれぞれに対応して、フラグのデータ４３１、当該チャットルームを一意に識別するためのルームＩＤのデータ４３２、当該チャットルームへ参加するユーザの通信端末に割り当てられたＩＰアドレスのデータ４３３、フラグのデータ４３４および許容人数のデータ４３５が格納される。
【００５４】
データ４３１が指示するフラグの値は、対応のチャットルームが開設されている期間は“１”に設定される。チャットルームが削除されると、“１”から“０”に更新されて、対応するデータ４３２〜４３５は読出し不可能な状態に設定される。
【００５５】
データ４３４が示すフラグは、データ４３３が示すＩＰアドレスのそれぞれに対応して格納される。データ４３４が示すフラグの値は、対応のＩＰアドレスがルームＩＤテーブル４３Ａに登録（格納）されることにより当該ユーザが参加する期間は“１”に設定される。参加が取消されると（キャンセルされると）、“１”から“０”に更新されて、対応するＩＰアドレスは読出し不可能な状態に設定される。
【００５６】
データ４３５は、対応するチャットルームを介して相互にデータ通信を行なうことができるユーザの許容人数（最大人数）を示す。本実施の形態では、許容人数についての詳細説明は略す。
【００５７】
＜携帯電話１００の機能構成＞
図７を参照して、本実施の形態に係る携帯電話１００は、端末通信部１０６１、フレーム解析部１０６２、フレーム生成部１０６３、入力受付部１０６４、通知処理部１０６５、プレゼンス情報収集部１０６６、プレゼンス条件決定部１０６７、ルーム開設要求部１０６８、プレゼンス監視部１０６９およびルーム削除要求部１０７０を備える。これらの各部の機能は予めプログラム・データとして記憶部１０３の所定記憶領域に格納されており、ＣＰＵ１０６Ａがこれらプログラム・データを記憶部１０３から読出し、実行することにより、各部の機能が実現される。
【００５８】
図７においては、ＣＰＵ１０６Ａが有する各機能とデータ・情報を入出力する周辺回路部のみが示される。
【００５９】
端末通信部１０６１は、ＩＰアドレスを用いたＰ２Ｐ型のデータ通信を制御するためのＰ２Ｐ通信部１０８１と、それ以外の通信（通話、メール通信など）を制御するための非Ｐ２Ｐ通信部１０８２を含む。フレーム解析部１０６２は、端末通信部１０６１によって受信されたフレームを入力し、入力したフレームのデータを解析し、解析結果を出力する。フレーム生成部１０６３は、端末通信部１０６１を介して外部ネットワークに送信するべきフレームを生成する。入力受付部１０６４は、タブレット１１９および入力部１１０から入力されたデータを受付ける。通知処理部１０６５は、通知部１１１に対して、外部に出力すべきデータを与える。
【００６０】
プレゼンス条件決定部１０６７は、ユーザがタブレット１１９または入力部１１０を操作することによって決定したプレゼンス条件を入力する。プレゼンス条件の決定については後述する。
【００６１】
プレゼンス情報収集部１０６６は、プレゼンス情報検知部１１２の各部によって検知されたプレゼンス情報を入力する。これをプレゼンス情報を収集するという。
【００６２】
ルーム開設要求部１０６８は、マッチングサーバ４００に対してルーム開設を要求する。具体的には、プレゼンス情報収集部１０６６によって収集されたプレゼンス情報と、プレゼンス条件決定部１０６７によって決定されたプレゼンス条件とに基づき、開設するべきチャットルームのルームＩＤを生成するルームＩＤ生成部１０８３、ならびにシングルモードおよびマルチモードに対応して第１および第２ルーム開設要求部１０８４および１０８５を含む。
【００６３】
プレゼンス監視部１０６９は、シングルモードおよびマルチモードに対応して第１および第２プレゼンス監視部１０８６および１０８７を含む。プレゼンス監視部１０６９は、プレゼンス情報収集部１０６６によって収集されるプレゼンス情報と、過去に収集されたプレゼンス情報とを比較し、比較結果に基づき、過去のプレゼンス情報とは相違するか否かを検知する。
【００６４】
ルーム削除要求部１０７０は、入力部１１０を介してユーザによって削除が指示されたとき、または、プレゼンス監視部１０６９が上述したプレゼンス情報の相違を検知したとき、マッチングサーバ４００に対して、チャットルームの削除を要求する。
【００６５】
＜マッチングサーバ４００の機能構成＞
図８を参照して、マッチングサーバ４００は、ルーム開設部４２０、ルーム受付部４２１、ルーム削除部４２２、フレーム生成部４２３およびフレーム解析部４２４を含む。これらの各部は、固定ディスク４０７またはメモリ４０６の所定の記憶領域に予めプログラム・データとして格納されており、ＣＰＵ４０５が所定記憶領域からプログラム・データを読出し、実行することにより、各部の機能が実現される。マッチングサーバ４００は、さらにメモリ４０６および固定ディスク４０７によって構成される記憶部４２６を備える。
【００６６】
記憶部４２６には、前述したルームＩＤテーブル４３Ａ、マッチングサーバアドレスのデータ４３ＢおとびユーザＩＤとパスワードが対応付けて記憶されたユーザＩＤ／パスワードテーブル４３Ｃが格納される。
【００６７】
ルーム開設部４２０は、記憶部４２６のルームＩＤテーブル４３Ａに、新たに生成するべきチャットルームに対応するデータを格納することにより、チャットルームを開設する。ルーム受付部４２１は、携帯電話１００から受信したチャットルームに関する各種要求の受付処理を行なう。ルーム削除部４２２は、ルーム受付部４２１が携帯電話１００からチャットルームの削除要求を受付けたときに、要求されたチャットルームを削除する。フレーム生成部４２３は、サーバ通信部４０９を介してインターネット５００に送信するべきデータのフレームを生成し、生成したフレームをサーバ通信部４０９に出力する。フレーム解析部４２４は、サーバ通信部４０９がインターネット５００を介して受信したデータのフレームを解析し、解析結果を出力する。
【００６８】
＜ルームＩＤ生成処理＞
図７に示すルームＩＤ生成部１０８３の機能について、図９〜図１２を参照し説明する。
【００６９】
図１１には、ユーザがプレゼンス条件を選択するために、プレゼンス条件決定部１０６７が表示部１０７に表示する画面の一例が示される。図１１のプレゼンス条件選択画面においては、ルームＩＤを生成するために参照されるべきプレゼンス情報を決定するために複数のプレゼンス条件の候補１０７５が表示される。プレゼンス条件の候補１０７５とし、図１１においては、たとえば、携帯電話１００の移動の“方向”および“速度”、携帯電話１００の現在の“位置”、ならびに携帯電話１００で受信するＴＶ放送信号の“チャンネル”が示される。
【００７０】
また、プレゼンス条件の候補１０７５の各々に対応して、チェックボックス１０７１が表示される。ユーザは、タブレット１１９を操作して、所望のプレゼンス条件の候補１０７５に対応のチェックボックス１０７１をチェックすることにより、ルームＩＤを生成するために参照されるべきプレゼンス情報を選択することができる。
【００７１】
図１１においては、プレゼンス条件の候補１０７５のうち“速度”と“位置”については、詳細な条件を設定するためのチェックボックス１０７２が示される。プレゼンス条件の候補１０７５である“速度”には、収集すべき速度値について何桁の精度まで要求するかを指定するためのチェックボックス１０７２が示される。同様に、携帯電話１００の現在位置の精度を指定するためにチェックボックス１０７２が示される。“速度”についてはＡ、ＢおよびＣが当てられた３個のチェックボックス１０７２が表示される。Ａ、ＢおよびＣのチェックボックス１０７２それぞれチェックすることにより、速度の値について２桁、３桁および４桁のそれぞれの精度で入力することが指示される。同様に、プレゼンス条件の候補１０７５の“位置”についてＡ、ＢおよびＣのチェックボックス１０７２をそれぞれチェックすることにより、位置の値について１桁、２桁および３桁のそれぞれの精度で入力することが指示される。
【００７２】
さらに、表示部１０７には、ユーザがプレゼンス条件を選択し、その選択内容を決定するために操作するボタン１０７３と、選択した内容をキャンセルするために操作するボタン１０７４も表示される。
【００７３】
プレゼンス条件決定部１０６７は、ボタン１０７３が操作されると、図１１の画面を介してユーザにより選択された内容を読取り、プレゼンス条件のデータ１０２９として、記憶部１０３の記憶領域１０３４に格納する。
【００７４】
次に、図９のフローチャートに従い、ルームＩＤ生成処理について説明する。なお、ここでは、予めプレゼンス条件選択画面を介して図１１のとおりユーザが指定したプレゼンス条件のデータ１０２９が、記憶部１０３に格納されていると想定する。
【００７５】
まず、ルームＩＤ生成部１０８３は、プレゼンス情報収集部１０６６により収集されたプレゼンス情報を入力する。
【００７６】
具体的には、ルームＩＤ生成部１０８３は、記憶部１０３から読出したプレゼンス条件のデータ１２０９に基づき、‘移動方向’が指定されたか否かを判定する（ステップＴ３）。移動方向の指定がないと判定すると後述のステップＴ７に移行する。
【００７７】
移動方向の指定があると判定すると（ステップＴ３でＹＥＳ）、プレゼンス情報収集部１０６６から入力したプレゼンス情報の中から方向情報を入力する（ステップＴ５）。その後、ステップＴ７の処理に移る。
【００７８】
次に、プレゼンス条件のデータ１２０９に基づき、‘速度’が指定されたか否かを判定する（ステップＴ７）。速度の指定がないと判定すると、後述するステップＴ１５の処理に移る。
【００７９】
‘速度’の指定がされていると判定すると（ステップＴ７でＹＥＳ）、プレゼンス条件のデータ１２０９に基づき、プレゼンス情報の“速度”についてＡ〜Ｃのいずれのチェックボックス１０７２が選択（チェック）されたかを判定する（ステップＴ９）。そして、その判定結果に基づきステップＴ１１において、入力するべき速度情報の精度を決定する。具体的には、チェックボックスＡ、ＢおよびＣのそれぞれに対応して、速度の値の小数点以下１桁、２桁および３桁までのそれぞれを入力することが指示される。ルームＩＤ生成部１０８３は、ステップＴ９およびステップＴ１１の処理結果に基づく精度で、速度情報を入力する（ステップＴ１３）。その後、ステップ１５の処理に移る。
【００８０】
同様にして、位置情報が入力される場合においても、ステップＴ１５、Ｔ１７およびＴ１９において、ステップＴ１７およびＴ１９で指定された精度に従い位置情報を入力する（ステップＴ２１）。その後、ステップＴ２３の処理に移る。
【００８１】
ルームＩＤ生成部１０８３は、プレゼンス条件のデータ１２０９に基づき、‘チャンネル’が指定されたか否かを判定する（ステップＴ２３）。チャンネルの指定がないと判定すると後述のステップＴ２７に移行する。
【００８２】
チャンネルが指定されていると判定すると（ステップＴ２３でＹＥＳ）、プレゼンス情報収集部１０６６から入力したプレゼンス情報のうちから、ＴＶチューナ１１２２によって現在チューニングされているチャンネルの情報を入力する（ステップＴ２５）。その後、ステップＴ２７の処理に移る。
【００８３】
ルームＩＤ生成部１０８３は、ステップＴ５、Ｔ１３、Ｔ２１およびＴ２５で入力したプレゼンス情報に基づき、記憶部１０３から読出した変換規則データ１０２７を参照しならが、ルームＩＤを生成する（ステップＴ２７）。生成したルームＩＤは、記憶部１０３の記憶領域１０３３のテーブル１０２８にデータ１０２Ｂとして格納される（ステップＴ２９）。このとき、対応するデータ１０２Ａのフラグは“０”に設定されて、対応のデータ１０２ＣのＩＰアドレスは空データに設定される。
【００８４】
以上で、ルームＩＤ生成処理は終了する。
ここで、図１０（Ａ）と（Ｂ）を参照し、ステップＴ２７における、変換規則データ１０２７を参照したルームＩＤの生成について説明する。
【００８５】
図１０（Ａ）には、ステップＴ５、Ｔ１３、Ｔ２１およびＴ２５の処理において入力されたプレゼンス情報の一例が示される。これらのプレゼンス情報は、変換規則データ１０２７が示す変換規則に従って、図１０（Ｂ）のようにアルファベット、数字および記号を組合わせたデータ列に変換される。図１０（Ｂ）のデータ列を組合せる（たとえば、連結する）ことによって、プレゼンス情報に基づいたルームＩＤが生成される。連結したデータ列の一例が、図６のデータ４３２として示される。
【００８６】
図１２〜図２２に示すフローチャートにより、携帯電話１００とマッチングサーバ４００との間の通信によるチャットルームの開設と削除の処理が示される。これらのフローチャートに従うプログラムは、携帯電話１００の記憶部１０３に予め記憶されて、ＣＰＵ１０６Ａによって読出されて実行される。また、マッチングサーバ４００側のプログラムは、メモリ４０６、固定ディスク４０７、ＦＤ４１２およびＣＤ−ＲＯＭ４１４に予め格納されており、そこに格納されたプログラムをＣＰＵ４０５が読出し実行することにより実現される。
【００８７】
＜通信フレームの構成＞
図１２〜図２２に示すフローチャートにおいて、携帯電話１００とマッチングサーバ４００の間で送受信されるフレーム構成について説明する。
【００８８】
図２３を参照して、フレーム６００は、ヘッダ部６１０と、データ部６２０を含む。ヘッダ部６１０には、当該フレームの種別（タイプ）を指示するデータ６１１、当該フレームの宛先を示すデータ６１２および当該フレームの送信元を示すデータ６１３が格納される。データ部６２０は、送信すべきデータを格納する。
【００８９】
データ６１１が示すタイプは、本実施の形態では、要求フレームであることを示す“１”と、要求の受付を示す“０”のいずれかの値となる。また、本実施の形態ではフレーム６００は、携帯電話１００とマッチングサーバ４００との間で送受信されるため、データ６１２および６１３としては、携帯電話１００の記憶部１０３から読出されたメールアドレスのデータ１０２３、およびマッチングサーバアドレスのデータ１０３９または４３Ｂのいずれかが格納される。
【００９０】
携帯電話１００が、チャットルーム作成を要求する場合には、図２４のルーム開設要求のフレーム６０１が携帯電話１００から、マッチングサーバ４００に宛てて送信される。フレーム６０１は、データ６１１が“１”を指示し、データ６１２および６１３として、記憶部１０３から読出されたマッチングサーバアドレスのデータ１０３９とメールアドレス１０２３がそれぞれ格納される。また、データ部６２０には、命令コード６２１と、ルームＩＤのデータ６２２と、ＩＰアドレスのデータ６２３とが格納される。命令コード６２１は、ルーム開設要求のコマンドを示す。データ６２２として、ルームＩＤ生成部１０８３によって生成されたルームＩＤのデータ１０２Ｂがテーブル１０２８から読出されて格納される。データ６２３として、送信元の携帯電話１００に予め割り当てられたＩＰアドレスのデータ１０２４が、記憶部１０３から読出されて格納される。
【００９１】
マッチングサーバ４００は、ルーム開設要求のフレーム６０１を受信した場合に、図２５のルーム開設受付のフレーム６０２を生成し、携帯電話１００宛てに送信する。フレーム６０２は、ヘッダ部６１０においてデータ６１１は“０”を示し、データ６１２として受信したフレーム６０１のデータ６１３が格納される。また、データ６１３として、記憶部４２６から読出したマッチングサーバアドレスのデータ４３Ｂが格納される。データ部６２０には、命令コード６２１として空データが格納される。また、受信したルーム開設要求のフレーム６０１のデータ６２２が格納される。また、データ６２４として、ルーム開設の要求を受付けたことを示すデータが格納される。
【００９２】
携帯電話１００が図２４のルーム開設要求のフレーム６０１を送信した場合において、当該フレーム６０１のデータ６２２が指示するルームＩＤと一致するルームＩＤを有するチャットルームが既に開設されている場合には、マッチングサーバ４００から、携帯電話１００に宛てて、図２６に示すルーム参加受付のフレーム６０３が送信される。フレーム６０３は、ヘッダ部６１０にフレーム６０２と同様のデータが格納される。データ部６２０には、ルーム開設要求のフレーム６０１のデータ６２２が格納される。また、当該ルーム開設要求のフレーム６０１の受信によって、チャットルームへの参加が受付けられたことを示す“参加受付”を示すデータ６２４と、当該チャットルームに参加しているユーザの携帯電話１００のＩＰアドレスのデータ６２５が格納される。
【００９３】
携帯電話１００は、チャットルームの削除をマッチングサーバ４００に対して要求する場合には、図２７に示すルーム削除要求のフレーム６０４をマッチングサーバ４００に宛てて送信する。フレーム６０４は、ヘッダ部６１０においてデータ６１１が“１”を指示し、データ６１２および６１３として、記憶部１０３から読出したマッチングサーバアドレスのデータ１０３９とメールアドレスのデータ１０２３がそれぞれ格納される。また、データ部６２０には、命令コード６２１、およびデータ６２２と６２４が格納される。命令コード６２１は、チャットルームの削除要求のコマンド“Ｃ２”を指示する。データ６２２として、削除を要求するチャットルームのルームＩＤが格納される。このデータ６２２として、記憶部１０３のテーブル１０２８から読出されたデータ１０２Ｂが格納される。データ６２３として、記憶部１０３の記憶領域１０３１から読出された自己のＩＰアドレスのデータ１０２４が格納される。
【００９４】
マッチングサーバ４００が、携帯電話１００からルーム削除要求のフレーム６０４を受信した場合には、当該要求を受付けたことを示す図２８のルーム削除受付のフレーム６０５を携帯電話１００宛てに送信する。フレーム６０５はヘッダ部６１０においてデータ６１１は“０”を示し、データ６１２は、受信したフレーム６０４のデータ６１３を指示し、データ６１３は、記憶部４２６から読出したマッチングサーバアドレスのデータ４３Ｂを指示する。データ部６２０においては、命令コード６２１は空データを指示し、データ６２２として、削除要求を受付けたチャットルームのルームＩＤ（ルーム削除要求のフレーム６０４のデータ６２２が指示するルームＩＤ）が格納され、および“削除受付”を指示するデータ６２４が格納される。
【００９５】
各図を参照し、チャットルームの開設および削除に関する一連の処理手順について説明する。
【００９６】
図１２を参照し、携帯電話１００においては、ＣＰＵ１０６Ａは、操作の待ち受け画面が表示されている状態において、ユーザから入力部１１０のボタン１１０Ｃが操作されることによってＰ２Ｐ型のデータ通信開始の指示が入力されたか否かを判定する（ステップＴ３１、Ｔ３３およびＴ３５）。ボタン１０Ｃが操作されて、Ｐ２Ｐ型のデータ通信の開始が指示されたことが判定されると（ステップＴ３５でＹＥＳ）、プレゼンス条件決定処理へ移行する。Ｐ２Ｐ型のデータ通信の開始が指示されない間は（ステップＴ３５でＮＯ）、ステップＴ３３およびＴ３５の処理が繰返される。
【００９７】
＜プレゼンス条件決定処理＞
プレゼンス条件決定部１０６７によるプレゼンス条件決定処理について、図１３のフローチャートに従い説明する。
【００９８】
まず、プレゼンス条件決定部１０６７は、プレゼンス情報収集部１０６６を介して、プレゼンス情報検知部１１２からの検知出力に基づくプレゼンス情報を収集する（ステップＴ３７）。
【００９９】
次に、表示部１０７に、図１１の画面を表示することにより、複数のプレゼンス条件の候補１０７５を提示する（ステップＴ３９）。続いて、ユーザによるペン１２０の操作によるプレゼンス条件の候補１０７５の選択入力を待つ（ステップＴ４１）。プレゼンス条件が選択されて決定のボタン１０７３が操作されると（Ｔ４３でＹＥＳ）、図１１のように決定されたプレゼンス条件を入力して、記憶部１０３の記憶領域１０３４にプレゼンス条件のデータ１０２９として格納する（ステップＴ４５）。その後、ルーム開設要求部１０６８によるルーム開設処理が行なわれる。
【０１００】
＜シングルモードのルーム開設処理＞
第１ルーム開設要求部１０８４によって実行されるシングルモードのルーム開設処理について、図１４のフローチャートに従い説明する。
【０１０１】
ルーム開設要求部１０６８は、入力受付部１０６４を介してユーザのタブレット１１９または入力部１１０の操作により、シングルモードが指定されていると判定すると、第１ルーム開設要求部１０８４を起動する。なお、入力受付部１０６４を介してモードのデータを受付ける都度、受付けたモードデータを記憶部１０３の所定領域に格納しておけば、記憶部１０３から読出した当該モードデータに基づき現在の指定モードを検知することができる。
【０１０２】
第１ルーム開設要求部１０８４は、端末通信部１０６１を介して通信部の初期化処理を行なう（ステップＴ４７）。この初期化処理において、所定の手順に従い、自己の携帯電話１００に割り当てられるべきＩＰアドレスを受信することによって取得する。このＩＰアドレスは、記憶部１０３の記憶領域１０３１にデータ１０２４として格納される。このＩＰアドレスは、マッチングサーバ４００との通信により取得してもよいし、他の図示されないサーバとの通信によって取得してもよい。
【０１０３】
続いて、マッチングサーバ４００に対して、通信を開始するためのログイン処理を行なう（ステップＴ４９）。具体的には、記憶部１０３から読出したユーザＩＤ１０２５およびパスワード１０２６を用いた認証処理を経てログイン処理が行なわれる。ログイン処理が行なわれると、計時部１０５によってマッチングサーバ４００との通信接続を確立するのに要する所定時間の計測が開始される（ステップＴ５１）。マッチングサーバ４００から応答を受信することによって、マッチングサーバ４００との接続に成功したと判定されると（ステップＴ５３でＹＥＳ）、後述するステップＴ５７の処理に移る。
【０１０４】
一方、所定時間を経過してもマッチングサーバ４００からの応答を受信できずに、接続に成功しなかったと判定された場合には（ステップＴ３５でＮＯ、ステップＴ５５でＹＥＳ）、タイムアウト発生の処理が行なわれる（ステップＴ５６）。つまり、表示部１０７にエラー表示（‘マッチングサーバ４００との接続に失敗しました’とのメッセージを表示）し、端末通信部１０６１によるマッチングサーバ４００との通信終了の処理を行なう。
【０１０５】
マッチングサーバ４００との接続に成功した場合には（ステップＴ５３でＹＥＳ）、第１ルーム開設要求部１０８４はルームＩＤ生成部１０８３に、ルームＩＤの生成をするように指示する。ルームＩＤ生成部１０８３は、指示に応じて図９の手順に従いルームＩＤを生成する。生成されたルームＩＤは、記憶領域１０３３のテーブル１０２８にデータ１０２Ｂとして格納される。
【０１０６】
続いて、第１ルーム開設要求部１０８４は、フレーム生成部１０６３により図２４のルーム開設要求のフレーム６０１を生成し、端末送信部１０６１の非Ｐ２Ｐ通信部１０８２を介してマッチングサーバ４００に送信する（ステップＴ５９）。その後、計時部１０５によりマッチングサーバ４００から非Ｐ２Ｐ通信部１０８２を介して応答のフレームを受信するための所定時間を計測する（ステップＴ６１）。所定時間内に、マッチングサーバ４００から、図２５または図２６のルーム開設受付のフレーム６０２またはルーム参加受付のフレーム６０３を受信するかを検知する（ステップＴ６３、Ｔ６５、Ｔ６７）。
【０１０７】
受信したフレームのデータを解析し、解析結果に基づきルーム参加受付のフレーム６０３を受信したと検知した場合には（ステップＴ６５でＹＥＳ）、テーブル１０２８のデータを更新する（ステップＴ６６）。具体的には、当該受信フレーム６０３に格納されている参加ＩＰアドレスのデータ６２５を、テーブル１０２８の対応するデータ１０２Ｃとして追加格納する。これにより、テーブル１０２８には、データ１０２Ｂが示すルームＩＤのチャットルームに参加している他のユーザの携帯電話１００のＩＰアドレスのデータ６２５が格納されたことになる。また、受信フレームの解析結果に基づきルーム参加受付のフレーム６０３を受信したことを検知するので、自己が要求したチャットルームが既に開設されていたと判定する。したがって、テーブル１０２８の対応するデータ１０２Ａが示すフラグの値を“１”に更新する。
【０１０８】
その後、携帯電話１００のユーザは、テーブル１０２８のデータ１０２Ｃに格納されているＩＰアドレスを用いて、チャットルームに参加している他のユーザの携帯電話１００との間でＰ２Ｐ型のデータ通信処理をＰ２Ｐ通信部１０８１を介して開始し（ステップＴ７０）、以降、Ｐ２Ｐ型のデータ通信が行なわれる。
【０１０９】
一方、マッチングサーバ４００からの応答として参加受付フレーム６０３ではなく（ステップＴ６５でＮＯ）、チャットルーム開設の受付フレーム６０２を受信した場合には（ステップＴ６７でＹＥＳ）、テーブル１０２８のデータを更新する（ステップＴ６８）。具体的には、当該受信フレーム６０２に格納されているルームＩＤのデータ６２２に基づきテーブル１０２８を検索し、ヒットしたルームＩＤのデータ１０２Ｂに対応のデータ１０２Ａが示すフラグの値を“１”に更新する
その後、プレゼンス監視部１０６９によるプレゼンスの監視処理が行なわれる。
【０１１０】
一方、参加受付のフレーム６０３および開設受付のフレーム６０２のいずれも受信することなく、所定時間が経過したと判定されると（ステップＴ６９でＹＥＳ）、第１ルーム開設要求部１０８４は、通信プロトコル上のエラー発生のための処理を実施する（ステップＴ７１）。たとえば、表示部１０７に、エラー表示（‘マッチングサーバからの応答がありません’のメッセージ表示）をし、端末通信部１０６１による通信処理を終了させる。
【０１１１】
図１５には、チャットルーム開設処理における、携帯電話１００とマッチングサーバ４００との間の通信シーケンスが示される。まず、両者の間でＴＣＰ（Transmission Control Protocol）に従う接続処理Ｐ１が行なわれる。この処理Ｐ１は、ステップＴ４７に相当する。処理Ｐ１に続いて、ログイン処理Ｐ２が実施される。処理Ｐ２は、ステップＴ４９に相当する。続いて、チャットルームの開設処理Ｐ３が行なわれる。このための通信処理は、ステップＴ５９〜ステップＴ６７の処理に相当する。チャットルームの開設処理のための通信の終了時には、ＴＣＰに従う切断処理Ｐ５が行なわれる。処理Ｐ５によって、携帯電話１００とマッチングサーバ４００との通信が終了する。
【０１１２】
＜シングルモードのプレゼンス監視処理＞
第１プレゼンス監視部１０８６によって実行されるシングルモードのプレゼンス監視処理について、図１６のフローチャートに従い説明する。
【０１１３】
プレゼンス監視部１０６９は、入力受付部１０６４を介してユーザのタブレット１１９または入力部１１０の操作により、シングルモードが指定されていると判定すると、第１プレゼンス監視部１０８６を起動する。
【０１１４】
第１プレゼンス監視部１０８６は、他の携帯電話１００からのＰ２Ｐ型のデータ通信の接続要求の待ち受け処理を開始する（ステップＴ７３）。具体的には、端末通信部１０６１のＰ２Ｐ通信部１０８１を介して、他の携帯電話１００からＩＰアドレスに基づくＰ２Ｐ接続要求を受信するか否かを検知する。この受信の検知は、計時部１０５によって所定期間計時される期間においてなされる（ステップＴ７５、ステップＴ８１）。
【０１１５】
Ｐ２Ｐ型のデータ通信接続要求の待ち受け期間において、第１プレゼンス監視部１０８６は、Ｐ２Ｐ通信部１０８１を介して他の携帯電話１００とＰ２Ｐ通信のための接続が確立されるか否かを検知する（ステップＴ７７）。接続が確立されたと検知すると（ステップＴ７７でＹＥＳ）、第１プレゼンス監視部１０８６はＰ２Ｐ型のデータ通信の接続の待ち受け処理を終了する（ステップＴ９３）。その後、チャットルームの削除処理へ移行する。
【０１１６】
一方、計時部１０５による所定時間の計時期間において、Ｐ２Ｐ型のデータ通信接続の確立がされないと検知されると（ステップＴ７７でＮＯ）、続いて、入力受付部１０６４の出力に基づき、ユーザがＰ２Ｐ通信要求を取消すために携帯電話１００のキャンセルのボタン１１０Ｄを操作したか否かを検知する（ステップＴ７９）。第１プレゼンス監視部１０８６は、入力受付部１０６４を介して、キャンセルのボタン１１０Ｄが操作されたことを検知すると（ステップＴ７９でＹＥＳ）、前述したステップＴ９３の処理に移り、続いてチャットルームの削除処理へ移行する。
【０１１７】
一方、キャンセルのボタン１１０Ｄが操作されないと検知すると（ステップＴ７９でＮＯ）、計時部１０５により所定時間経過したことが計時されたか否かを判定する（ステップＴ８１）。所定時間経過していないと判定すると（ステップＴ８１でＮＯ）、ステップＴ７７の処理に戻り、ステップＴ７７〜ステップＴ８１の処理を同様に繰返す。
【０１１８】
一方、所定時間経過したことを判定すると（ステップＴ８１でＹＥＳ）、第１プレゼンス監視部１０８６は、プレゼンス情報が変化しているかを検知するために、プレゼンス情報収集部１０６６に対して情報収集を指示する。プレゼンス情報収集部１０６６は、情報収集の指示に応答して、プレゼンス情報を収集して第１プレゼンス監視部１０８６に出力する。
【０１１９】
第１プレゼンス監視部１０８６は、記憶部１０３からプレゼンス条件のデータ１０２９を読出す（ステップＴ８３）。そして、プレゼンス情報収集部１０６６から入力したプレゼンス情報から、読出したデータ１０２９が示すプレゼンス条件が指定するプレゼンス情報を入力する（ステップＴ８５）。
【０１２０】
続いて、第１プレゼンス監視部１０８６は、ステップＴ８５で入力した現在のプレゼンス情報と、記憶部１０３から読出したルーム開設要求時のプレゼンス情報１０２０とを比較し、比較結果に基づきプレゼンス情報が変化しているか否かを検知する（ステップＴ８７）。比較結果に基づき、両プレゼンス情報は一致していると判定される間は（ステップＴ８９でＮＯ）、処理はステップＴ７５に戻り、再度、所定時間の計測が開始され、プレゼンスの監視処理が継続する。
【０１２１】
一方、両情報が一致していない、すなわちプレゼンス情報に変化があったと検出されると（ステップＴ８９でＹＥＳ）、プレゼンス情報変化発生の処理が行なわれる（ステップＴ９１）。具体的には、第１プレゼンス監視部１０８６は、表示部１０７に、“プレゼンス情報は指定された条件に適合しませんでした。チャットルームを削除します”とのメッセージを表示する。このようなメッセージ表示は、通知処理部１０６５を介し、通知部１１１によって、音声、またはＬＥＤ（Light Emitting Diode）などのランプの点灯により報知されてもよい。その後、処理はステップＴ９３の処理を経て、ルーム削除処理に移行する。
【０１２２】
なお、ステップＴ８７では、プレゼンス情報の変化を検出するようにしているが、次のようにしてもよい。つまり、現在収集されるプレゼンス情報から生成されるルームＩＤと、テーブル１０２８から読出したデータ１０２Ｂが指すルームＩＤとを比較して、その変化を検出するようにしてもよい。
【０１２３】
このように、シングルモードにおいては、ステップＴ６６、Ｔ６７およびＴ７０の処理により、ユーザは、開設されているチャットルームから所望チャットルームを検索する作業をしなくても、自己の携帯電話１００と同じ状態にある、すなわち同じプレゼンス情報（同じチャンネルの放送番組を視聴している、ある範囲に位置して居るなど）を有する通信相手を見つけ出してＰ２Ｐ型のデータ通信（チャット通信）を行なうことができる。また、第１プレゼンス監視部１０８６は、チャットルーム開設後において他の携帯電話１００からＰ２Ｐ型のデータ通信要求を待ち受けする期間において、プレゼンス情報の相違（情報の変化）が検出されると、Ｐ２Ｐ型のデータ通信接続の待ち受け処理を強制的に終了し、チャットルームの削除処理へと移行することになる。
【０１２４】
これにより、現在のプレゼンス情報（携帯電話１００の状態）がチャット開始要求のためのチャットルーム開設要求時のプレゼンス情報に一致しなくなった場合には、他の携帯電話１００からのチャット通信要求の受付を回避することができる。その結果、携帯電話１００のユーザは、チャット要求時のプレゼンス情報に一致するプレゼンス情報を有した携帯電話１００のユーザの間でのみチャット通信を行なうことができる。また、開設はしたもののプレゼンス情報が変化してチャット要求が不要になった場合には、ユーザが特別な操作をせずとも、開設したチャットルームを自動的に削除することができる。
【０１２５】
＜チャットルームの削除処理＞
図１７のフローチャートに従いルーム削除要求部１０７０によるチャットルームの削除処理について説明する。
【０１２６】
ルーム削除要求部１０７０は、非Ｐ２Ｐ通信部１０８２を介してマッチングサーバ４００に対する接続処理（ログイン処理）を開始する（ステップＴ１００）。ログイン処理においては、記憶部１０３から読出されたユーザＩＤ１０２５およびパスワード１０２６を用いた認証処理が行われる。その後、計時部１０５により所定時間の計時が開始される（ステップＴ１０１）。この所定時間において、マッチングサーバ４００からの応答に基づき、マッチングサーバ４００に対して接続が確立したか否かを判定する（ステップＴ１０３）。
【０１２７】
接続に成功したと検知されず（ステップＴ１０３でＹＥＳ）、所定時間経過したことが検知されると（ステップＴ１１７でＹＥＳ）、接続タイムアウト発生の処理（ステップＴ１１９）が行なわれる。具体的には、ルーム削除要求部１０７０は、表示部１０７にエラー表示（“サーバとの接続に失敗しました”のメッセージ表示）をし、マッチングサーバ４００との通信のための処理を終了する。
【０１２８】
一方、所定時間内に接続に成功したと検知されると（ステップＴ１０３でＹＥＳ）、ルーム削除要求部１０７０は、記憶部１０３のテーブル１０２８から、ルームＩＤのデータ１０２Ｂを読出す（ステップＴ１０５）。読出されたルームＩＤのデータ１０２Ｂは、フレーム生成部１０６３に与えられる。
【０１２９】
ルーム削除要求部１０７０は、フレーム生成部１０６３に対し、ルーム削除要求のフレーム６０４を生成するように指示する。フレーム生成部１０６３は、与えられる指示に基づき記憶部１０３からデータを読出し、読出したデータおよび与えられるルームＩＤのデータ１０２Ｂに基づき、ルーム削除要求のフレーム６０４を生成する。生成したルーム削除要求のフレーム６０４は端末通信部１０６１に与えられる。端末通信部１０６１の非Ｐ２Ｐ通信部１０８２は、与えられるルーム削除要求のフレーム６０４を、マッチングサーバ４００宛に送信する（ステップＴ１０７）。
【０１３０】
続いて、計時部１０５により、ルーム削除要求のフレーム６０４に対する応答であるルーム削除受付のフレーム６０５を受信するための所定時間の計測を開始する（ステップＴ１０９）。ルーム削除要求部１０７０は、非Ｐ２Ｐ通信部１０８２を介して、マッチングサーバ４００からルーム削除受付のフレーム６０５を受信するか否かを判定する（ステップＴ１１１、Ｔ１１３）。
【０１３１】
マッチングサーバ４００から送信されたフレームは、端末通信部１０６１の非Ｐ２Ｐ通信部１０８２により受信される。受信されたフレームはフレーム解析部１０６２に与えられる。フレーム解析部１０６２は、与えられるフレームのデータを解析し、解析結果に基づき、受信フレームのデータ６１１が示すタイプおよびデータ部６２０に削除受付を示すデータ６２４が格納されていると判定したことに応じて、受信したフレームがルーム削除受付のフレーム６０５であると判定する。そして、その判定結果を、ルーム削除要求部１０７０に出力する。
【０１３２】
ルーム削除要求部１０７０は、フレーム解析部１０６２から入力した判定結果に基づき、ルーム削除受付のフレーム６０５を受信したと判定すると（ステップＴ１１３でＹＥＳ）、チャットルームの削除成功の処理を行なう（ステップＴ１１５）。具体的には、テーブル１０２８の削除したルームに対応のデータ１０２Ａのフラグを“１”から“０”に更新する。そして、表示部１０７に、‘チャットルームは削除されました’のメッセージ表示、または通知処理部１０６５を介して通知部１１１からチャットルーム削除の旨を音声・ＬＥＤで通知する。
【０１３３】
ルーム削除要求のフレーム６０４を送信後の所定時間内は、ルーム削除受付のフレーム６０５の受信待ちが継続する（ステップＴ１１３でＮＯ、ステップＴ１２１でＮＯ）。
【０１３４】
所定時間を経過しても、ルーム削除受付のフレーム６０５を受信できなかった場合には（ステップＴ１２１でＹＥＳ）、通信プロトコルに係るエラー発生の処理が行なわれる（ステップＴ１２３）。具体的には、表示部１０７にエラーメッセージ表示、または通知処理部１０６５を介して通知部１１１からチャットルーム削除の旨を音声・ＬＥＤで通知する。メッセージとしては、たとえば“サーバからの応答がありません”と表示する。その後、マッチングサーバ４００との通信のための処理を終了する。
【０１３５】
図１８を参照して、携帯電話１００とマッチングサーバ４００との間における、チャットルームの削除に係る通信のシーケンスを説明する。まず、ＴＣＰに従う接続処理Ｐ１が行なわれる。続いてログイン処理Ｐ２が行なわれる。ログイン処理Ｐ２は、図１７のステップＴ１００に相当する。
【０１３６】
続いて、開設したチャットルームを削除するために、ルーム削除処理Ｐ４が行なわれる。ルーム削除処理Ｐ４は、ステップＴ１０７〜Ｔ１１３に相当する。その後、処理Ｐ５において、ＴＣＰに従う通信回線の切断処理が行われる。
【０１３７】
＜シングルモードでのマッチングサーバの処理＞
上述したシングルモードでの携帯電話１００によるルームの開設要求およびルームの削除要求の処理が行なわれるとき、マッチングサーバ４００においては、図１９のフローチャートに従う動作が行なわれる。
【０１３８】
図１９を参照して、マッチングサーバ４００においては、サーバ通信部４０９の初期化が行なわれると（ステップＳ３）、インターネット５００を介し、携帯電話１００から接続（ログイン処理）されるのを待ち受ける（ステップＳ５）。ログイン処理によって携帯電話１００の接続に成功したと判定すると（ステップＳ７でＹＥＳ）、計時部４１０により計時される所定時間内に、携帯電話１００からのフレーム受信を待機する（ステップＳ１１）。ログイン処理においては、携帯電話１００から動作モードの種別（シングルモード／マルチモード）が通知されるので、マッチングサーバ４００は通知がされたモードに従い動作する。
【０１３９】
ログイン処理時の認証処理は、携帯電話１００から送信されたユーザＩＤおよびパスワードに基づき、ＣＰＵ４０５が、記憶部４２６に格納されたユーザＩＤ／パスワードテーブル４３Ｃを検索し、一致するデータが格納されているか否かに基づき行なう。受信したユーザＩＤおよびパスワードが、ユーザＩＤ／パスワードテーブル４３Ｃに格納されていると検知すると、認証に成功し接続を許可する（ステップＳ７でＹＥＳ）。認証に成功せず接続を許可しない判定される間は、ステップＳ５によるログイン処理を繰返す。
【０１４０】
ステップＳ１１において、サーバ通信部４０９によってインターネット５００を介しフレームを受信すると、受信したフレームは、フレーム解析部４２４に与えられる。フレーム解析部４２４は、入力したフレームのヘッダ部６１０のデータ６１１が示すタイプおよびデータ部６２０の命令コード６２１が示すコマンドに基づき、受信したフレームがルーム開設要求のフレーム６０１であるか、削除要求のフレーム６０４であるかを判定する。
【０１４１】
削除要求のフレーム６０４を受信したと判定すると（ステップＳ１３でＹＥＳ）、ステップＳ１５において、受信したルーム削除要求フレーム６０４の内容がフレーム解析部４２４からルーム削除部４２２に与えられる。ルーム削除部４２２は、与えられるフレームのデータ部６２０の内容に基づき処理を行う。すなわち命令コード６２１が示す削除コマンドに従い、記憶部４２６のルームＩＤテーブル４３Ａを、データ６２２が示すルームＩＤに基づき検索し、一致するルームＩＤのデータ４３２に対応のフラグのデータ４３１を“１”から“０”に更新する（ステップＳ１５）。これにより、ルームＩＤテーブル４３Ａから、データ６２２が示すルームＩＤのチャットルームが削除される。その後、処理はステップＳ１６に移行する。
【０１４２】
ステップＳ１６では、ルーム削除受付けのフレーム６０５が要求元の携帯電話１００に宛てて送信される。具体的には、ルーム削除部４２２は、ルームを削除をしたことをフレーム生成部４２３に通知する。フレーム生成部４２３は、当該通知を受けて、ルーム削除受付のフレーム６０５を生成する。生成したルーム削除受付のフレーム６０５は、サーバ通信部４０９に与えらる。サーバ通信部４０９は、与えられたルーム削除受付のフレーム６０５を、インターネット５００を介し、携帯電話１００に宛てて送信する。
【０１４３】
その後、サーバ通信部４０９によって、携帯電話１００との通信を切断する処理が行なわれる（ステップＳ３３）。その後、処理はステップＳ５に戻る。
【０１４４】
ステップＳ１３に戻り、フレーム解析部４２４が、削除要求のフレーム６０４ではなく（ステップＳ１３でＮＯ）、ルーム開設要求のフレーム６０１を受信したことを検知すると（ステップＳ１７でＹＥＳ）、処理はステップＳ１９に移行する。
【０１４５】
ステップＳ１９においては、ルーム受付部４２１はフレーム解析部４２４の解析結果に従い、受信したルーム開設要求のフレーム６０１のデータ部６２０の内容に基づき、処理する。具体的には、命令コード６２１が指示するルーム開設の要求コマンドに従い、データ６２２が示すルームＩＤに基づきルームＩＤテーブル４３Ａを検索する。その結果、ルームＩＤテーブル４３Ａに、一致したルームＩＤを検索でき且つ対応するデータ４３１のフラグが‘１’を指示すると判定した（ヒットした）場合には（ステップＳ２１でＹＥＳ）、ルーム参加受付のフレーム６０３が送信される（ステップＳ２３）。
【０１４６】
具体的には、ルーム受付部４２１の検索結果は、フレーム生成部４２３に与えられる。フレーム生成部４２３は、与えられる検索結果に応じて、ルーム参加受付のフレーム６０３を生成する。生成されたルーム参加受付フレーム６０３は、サーバ通信部４０９を介して、携帯電話１００に送信される。
【０１４７】
ここで、ルーム参加受付のフレーム６０３の生成について説明する。ルーム受付部４２１は、ルームＩＤテーブル４３Ａを検索し、“ヒット”の検索結果を得ると、ルームＩＤテーブル４３Ａから、当該ルームＩＤ６２２に一致するルームＩＤのデータ４３２に対応するＩＰアドレスのデータ４３３を読出し、フレーム生成部４２３に与える。したがって、フレーム生成部４２３は、生成するルーム参加受付のフレーム６０３にデータ６２５として与えられるＩＰアドレスのデータ４３３を格納する。
【０１４８】
このようにして、ユーザがルーム開設要求のフレーム６０１を送信した場合において、既にルームＩＤテーブル４３Ａにおいて同一のルームＩＤが格納されていた（すなわち、チャットルームが既に開設されていた）場合には、受信したルーム開設要求のフレーム６０１のデータ６２３が示すＩＰアドレスが、ルームＩＤテーブル４３Ａの該当するルームＩＤのデータ４３２に対応したデータ４３３として追加格納される。また、その時点で当該ルームＩＤのデータ４３２に対応して格納されていたデータ４３３が指す１つ以上のＩＰアドレスは、データ６２５としてルーム参加受付のフレーム６０３に格納されることによって、要求元の携帯端末１００に対して送信される。これにより、ルーム開設要求のフレーム６０１を送信した場合において、既にルームが開設されていた場合には、要求元の携帯電話１００に対して、既に開設されているチャットルームに参加している他のチャット通信相手のＩＰアドレスを配信することができる。
【０１４９】
サーバ通信部４０９が、フレーム生成部４２３によって生成されたルーム参加受付フレームを送信した後は、前述した切断処理（ステップＳ３３）が行なわれる。
【０１５０】
ステップＳ２１の処理に戻り、ルームＩＤテーブル４３Ａを検索し、その結果“ヒット”が検出されない場合には（ステップＳ２１でＮＯ）、言い換えるとルームＩＤテーブル４３Ａに一致するルームＩＤのデータ４３２が未登録である場合には、チャットルームを開設し（ステップＳ２５）、ルーム開設受付のフレーム６０２を要求元の携帯電話１００に送信する（ステップＳ２７）。
【０１５１】
具体的には、開設が要求されたチャットルームのルームＩＤがルームＩＤテーブル４３Ａに未登録である場合には（ステップＳ２１でＮＯ）、ルーム受付部４２１は、ルームＩＤテーブル４３Ａの検索結果を、ルーム開設部４２０に与える。ルーム開設部４２０は、与えられる検索結果に従い、受信したルーム開設要求のフレーム６０１のデータ部６２０に基づき、チャットルームを開設する。具体的には、データ部６２０の命令コード６２１が指示する開設コマンドに基づき、データ６２２が指示するルームＩＤとデータ６２３が指示するＩＰアドレスとを対応付けて、ルームＩＤテーブル４３Ａに格納する。格納されたこれらデータに対応のデータ４３１が指すフラグは、この時点で“１”に設定される。
【０１５２】
ルーム開設部４２０は、新たなルームの開設が終了すると、ルームを開設したことを指示する通知を、フレーム生成部４２３に与える。フレーム生成部４２３は、受信していたルーム開設要求フレーム６０１のデータと、ルーム開設部４２０から与えられる通知とに基づき、図２５に示すルーム開設受付のフレーム６０２を生成し、サーバ通信部４０９に与える。サーバ通信部４０９は、与えられるルーム開設受付のフレーム６０２を要求元の携帯電話１００に宛てて送信する。
【０１５３】
その後、処理は、切断処理（ステップＳ３３）に移行する。
ステップＳ１７の処理に戻り、受信したフレームが、ルームの削除要求のフレーム６０４でもなく、開設要求のフレーム６０１でもないと判定されると（ステップＳ１３でＮＯ、ステップＳ１７でＮＯ）、ステップＳ２９において、フレームの受信処理の開始から所定時間が経過したかが判定される（ステップＳ２９）。所定時間経過したと判定されない間は、処理はステップＳ１１に戻り、以降の処理が同様に繰返される。
【０１５４】
一方、所定時間経過しても、これらフレームを受信できないと検知された場合には（ステップＳ２９でＮＯ）、ＣＰＵ４０５は、プロトコル上のエラー発生の処理を行なう（ステップＳ３１）。たとえば、表示部４０２にプロトコル上のエラー発生の旨のメッセージを表示する。その後、処理は切断処理に移行する（ステップＳ３３）。
【０１５５】
以上のように、マッチングサーバ４００は、チャットルームの開設要求を受理した場合には、ルームＩＤテーブル４３Ａを検索し、当該チャットルームのルームＩＤが未登録であれば、当該ルームＩＤを登録することにより、チャットルームを開設する。
【０１５６】
また、既にルームＩＤテーブル４３ＡにルームＩＤが登録済みであり、且つ当該ルームＩＤを指示するチャットルームの開設要求を受理した場合には、チャットルームの開設は行なわずに、当該開設要求をチャットルームへの参加として受付けたことを、携帯電話１００に通知する。
【０１５７】
また、チャットルームの削除要求を受理した場合には、すなわち当該チャットルームを開設したユーザからの削除要求を受理した場合には、当該チャットルームのルームＩＤをルームＩＤテーブル４３Ａから削除する、すなわち対応のデータ４３１のフラグに“０”をセットすることにより、当該チャットルームを削除する。
【０１５８】
なお、ここでは、データ４３１のフラグを“１”または“０”に更新することによって、チャットルームの開設または削除を制御しているが、削除方法はこれに限定されない。たとえば、ルームＩＤテーブル４３Ａから当該ルームＩＤに対応するデータ４３１〜４３５をすべて削除するようにしてもよい。
【０１５９】
＜マルチモードの処理＞
マルチモードにおけるチャットルームの開設および削除の処理について説明する。
【０１６０】
＜マルチモードにおけるルーム開設処理＞
ルーム開設要求部１０６８は、入力受付部１０６４を介してユーザのタブレット１１９または入力部１１０の操作により、マルチモードが指定されていると判定すると、第２ルーム開設要求部１０８５を起動する。
【０１６１】
図２０には、第２ルーム開設要求部１０８５を用いたチャットルームの開設処理が示される。この処理フローチャートと図１４の処理フローチャートとを比較し異なる点は、図１４では、ステップＴ７０によるＰ２Ｐ型のデータ通信の接続開始後は、Ｐ２Ｐ型のデータ通信の処理のみが行なわれるものとしたが、図２０においては、Ｐ２Ｐ型のデータ通信の接続処理を開始（ステップＴ７０）した後も、携帯電話１００においては、第２プレゼンス監視部１０８７によってプレゼンス監視処理（ステップＴ７２ｂ）が行なわれることになる。また、ルーム開設後は第２プレゼンス監視部１０８７によってプレゼンス監視処理（ステップＴ７２ａ）が行なわれる。図２０の他の処理は、図１４に説明したものと同じなので説明は略す。
【０１６２】
＜マルチモードにおけるプレゼンス監視処理＞
プレゼンス監視部１０６９は、入力受付部１０６４を介してユーザのタブレット１１９または入力部１１０の操作により、マルチモードが指定されていると判定すると、第２プレゼンス監視部１０８７を起動する。
【０１６３】
第２プレゼンス監視部１０８７によるプレゼンス監視処理の手順が図２１に示される。
図２１の処理フローチャートと図１６の処理フローチャートとを比較し異なる点は、図１６ではＰ２Ｐ型のデータ通信の接続要求を待ち受ける期間において、プレゼンス情報が変化した場合にルーム削除要求のフレーム６０４を送信したが、図２１では、Ｐ２Ｐ型のデータ通信の接続要求を待ち受ける期間において、ユーザがボタン１１２Ｂを操作してルーム削除の選択指示を入力した場合（ステップＴ７６でＹＥＳ）、またはプレゼンス情報の変化が検出された場合（ステップＴ８９でＹＥＳ）にルーム削除要求のフレーム６０４を送信する。図２１の他の処理は、図１６に示した処理と同様である。
【０１６４】
このように、マルチモードにおいては、現在のプレゼンス情報がルーム開設要求時のプレゼンス情報から変化した場合、または、ボタン１１２Ｂを操作してユーザがルーム削除を要求した場合には、図１７のルーム削除処理が起動される。これにより、チャットルームの開設者でなくとも、開設されている当該チャットルームの削除の要求を、マッチングサーバ４００に対し送信することができる。
【０１６５】
＜マルモードにおけるマッチングサーバの処理＞
上述したマルチモードでの携帯電話１００によるルームの開設要求およびルームの削除要求の処理が行なわれるとき、マッチングサーバ４００においては、図２２のフローチャートに従う動作が行なわれる。
【０１６６】
図２２の処理と図１９に説明した処理とを比較し異なる点は、図２２の処理において、ステップＳ１４ａ、Ｓ１４ｂの処理を追加する点にある。図２２の他の処理は図１９に示したものと同様である。したがって、ここでは図１９と相違する処理のみを説明する。
【０１６７】
前述したように、マッチングサーバ４００は、携帯電話１００からルーム削除要求のフレーム６０４を受信した場合には（ステップＳ１３でＹＥＳ）、ステップＳ１４ａの処理が行なわれる。
【０１６８】
ステップＳ１４ａにおいては、以下の処理が行なわれる。まず、フレーム解析部４２４は、サーバ通信部４０９を介してルーム削除要求のフレーム６０４を入力すると、入力したルーム削除要求のフレーム６０４のデータ部６２０の内容を解析し、解析結果に基づき、当該フレームのデータ部６２０の内容をルーム削除部４２２に与える。ルーム削除部４２２は、与えられるデータ部６２０の命令コード６２１が示すコマンドに従い、データ６２２が示すルームＩＤに基づきルームＩＤテーブル４３Ａを検索する。検索結果に基づき、当該ルームＩＤに一致するルームＩＤを指示するデータ４３２に対応するデータ４３３が示すＩＰアドレスのうちから、ルーム削除要求のフレーム６０４のデータ６２３が示すＩＰアドレスを検出して、対応のデータ４３４のフラグを“１”から“０”に更新する。これにより、ルーム削除要求のフレーム６０４を送信した携帯電話１００に割り当てられたＩＰアドレスは、ルームＩＤテーブル４３Ａから削除（読出し不可能な状態）される（読出し不可能な状態とされる）。これにより、ルーム削除要求のフレーム６０４を送信した携帯電話１００のユーザについてのチャットへの参加が取消される。
【０１６９】
続いて、ステップＳ１４ｂの処理に移行する。まず、ルーム削除部４２２は、ステップＳ１４ａにおいてフラグが“１”から“０”に更新されたデータ４３４が指示するフラグの値が全て“０”を指示するか否か、すなわちチャットに参加していたユーザの全員が、参加の取消しを要求したか否かを判定する。全て“０”を指示すると判定すると、すなわち参加ユーザ全員がチャットへの参加を取消したと判定すると（ステップＳ１４ｂでＹＥＳ）、ステップＳ１５の処理において、ルーム削除部４２２は、対応するルームＩＤをルームＩＤテーブル４３Ａから削除する。この削除処理は、前述と同様である。
【０１７０】
一方、当該ルームＩＤのチャットルームに参加していたユーザの全員が、まだ参加の取消要求を示していないと判定された場合には（ステップＳ１４ｂでＮＯ）、ルームＩＤの削除は行われずに、処理はステップＳ１６に移行する。ステップＳ１６では、前述したようにルーム削除受付のフレーム６０５が送信される。
【０１７１】
このように、マルチモードにおいては、ルーム削除要求のフレーム６０４を送信したユーザは、自己の携帯電話１００に割り当てられているＩＰアドレスを、ルームＩＤテーブル４３Ａの当該ルームＩＤに対応付けられたデータ４３３が指すＩＰアドレス群から削除することができる。これによって、チャットルームへの参加が取消されることになる。したがって、その後に当該チャットルームへ新規に参加したユーザに対しては、参加取消しをしたユーザのＩＰアドレスが通知されることはない。
【０１７２】
また、ルームＩＤテーブル４３Ａの当該ルームＩＤに対応付けられたデータ４３３が指す全てのＩＰアドレスについて参加取消しがされた場合には、当該ルームＩＤをルームＩＤテーブル４３Ａから削除することができる。したがって、全てのユーザが参加を取消した時点で、自動的に、当該チャットルームは削除されるので、ルームＩＤテーブル４３Ａにおいて不要なチャットルームのデータを削除するために、当該チャットルームを削除するための特別な処理を省略できる。
【０１７３】
ここで、本実施の形態における携帯電話１００を含む通信端末およびマッチングサーバ４００が行なうチャットルームの開設および削除に関する通信方法は、上述したようなフローチャートに従うプログラムとして提供することができる。このようなプログラムは、携帯電話１００のＣＰＵ１０６Ａのコンピュータ、およびマッチングサーバ４００のＣＰＵ４０５のコンピュータに付属する記録媒体に予め記録させて、プログラム製品として提供することもできる。このような記録媒体としては、ＦＤ４１２、ＣＤ−ＲＯＭ４１４、メモリ４０６または記憶部１０３を構成するＲＯＭおよびＲＡＭ、ならびにメモリカードなどのコンピュータ読取り可能な記録媒体がある。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、インターネット５００を含む各種ネットワークを介したダウンロードによって、プログラムを提供することもできる。ここで、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【０１７４】
なお、一般的傾向として、コンピュータのオペレーティングシステムの一部として様々なプログラムモジュールを用意しておき、アプリケーションプログラムはこれらモジュールを所定の配列で必要なときに呼出して処理を進める方式が一般的である。そうした場合、本実施の形態に係るチャットルームの開設および削除に関するシステムを実現するためのソフトウェア自体にはそうしたモジュールは含まれず、当該コンピュータでオペレーティングシステムと協働してはじめてシステムが実現することになる。しかし、一般的なプラットホームを使用する限り、そうしたモジュールを含ませたソフトウェアを流通させる必要はなく、それらモジュールを含まないソフトウェア自体およびそれらソフトウェアを記録した記録媒体（およびそれらソフトウェアがネットワーク上を流通する場合のデータ信号）が実施の形態を構成すると考えることができる。
【０１７５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１７６】
【図１】本実施の形態に係る通信ネットワークの構成図である。
【図２】本実施の形態に係る携帯電話の外観を示す図である。
【図３】本実施の形態に係る携帯電話のハードウェア構成図である。
【図４】本実施の形態に係る携帯電話の記憶部の内容の一例を示す図である。
【図５】本実施の形態に係るマッチングサーバのハードウェア構成図である。
【図６】本実施の形態に係るルームＩＤテーブルの一例を示す図である。
【図７】本実施の形態に係る携帯電話の機能構成図である。
【図８】本実施の形態に係るマッチングサーバの機能構成図である。
【図９】本実施の形態に係るルームＩＤ生成処理のフローチャートである。
【図１０】（Ａ）と（Ｂ）は、本実施の形態に係るプレゼンス情報からルームＩＤへの変換規則を説明する図である。
【図１１】本実施の形態に係るプレゼンス条件の選択画面の一例を示す図である。
【図１２】本実施の形態に係る携帯電話による待ち受け処理のフローチャートである。
【図１３】本実施の形態に係る携帯電話によるプレゼンス条件決定処理のフローチャートである。
【図１４】本実施の形態に係るシングルモードのルーム開設処理のフローチャートである。
【図１５】本実施の形態に係るルーム開設処理の通信シーケンスを示す図である。
【図１６】本実施の形態に係るシングルモードのプレゼンス監視処理のフローチャートである。
【図１７】本実施の形態に係るルーム削除処理のフローチャートである。
【図１８】本実施の形態に係るルーム削除処理の通信シーケンスを示す図である。
【図１９】本実施の形態に係るシングルモードにおけるマッチングサーバの処理フローチャートである。
【図２０】本実施の形態に係るマルチモードのルーム開設処理のフローチャートである。
【図２１】本実施の形態に係るマルチモードのプレゼンス監視処理のフローチャートである。
【図２２】本実施の形態に係るマルチモードにおけるマッチングサーバの処理フローチャートである。
【図２３】本実施の形態に係るフレームの構成を説明する図である。
【図２４】本実施の形態に係るルーム開設要求のフレームの構成図である。
【図２５】本実施の形態に係るルーム開設受付のフレームの構成図である。
【図２６】本実施の形態に係るルーム参加受付のフレームの構成図である。
【図２７】本実施の形態に係るルーム削除要求のフレームの構成図である。
【図２８】本実施の形態に係るルーム削除受付のフレームの構成図である。
【符号の説明】
【０１７７】
１００  携帯電話、４００  マッチングサーバ、４２０  ルーム開設部、４２１  ルーム受付部、４２２  ルーム削除部、４２３  フレーム生成部、４２４  フレーム解析部、５００  インターネット、６００〜６０５  フレーム、７００  キャリア網、１０２０  プレゼンス情報、１０２７  変換規則データ、１０２９  プレゼンス条件、４３Ａ  ルームＩＤテーブル、１０６６  プレゼンス情報収集部、１０６７  プレゼンス条件決定部、１０６８  ルーム開設要求部、１０６９  プレゼンス監視部、１０７０  ルーム削除要求部。
【図１】
2010092349.tif 000003
【図２】
2010092349.tif 000004
【図３】
2010092349.tif 000005
【図４】
2010092349.tif 000006
【図５】
2010092349.tif 000007
【図６】
2010092349.tif 000008
【図７】
2010092349.tif 000009
【図８】
2010092349.tif 000010
【図９】
2010092349.tif 000011
【図１０】
2010092349.tif 000012
【図１１】
2010092349.tif 000013
【図１２】
2010092349.tif 000014
【図１３】
2010092349.tif 000015
【図１４】
2010092349.tif 000016
【図１５】
2010092349.tif 000017
【図１６】
2010092349.tif 000018
【図１７】
2010092349.tif 000019
【図１８】
2010092349.tif 000020
【図１９】
2010092349.tif 000021
【図２０】
2010092349.tif 000022
【図２１】
2010092349.tif 000023
【図２２】
2010092349.tif 000024
【図２３】
2010092349.tif 000025
【図２４】
2010092349.tif 000026
【図２５】
2010092349.tif 000027
【図２６】
2010092349.tif 000028
【図２７】
2010092349.tif 000029
【図２８】
2010092349.tif 000030