通信端末
【課題】開設したルームを、現在の通信端末の状態がルーム開設時の状態から変化したことに応じて削除する。
【解決手段】入力部110によって通信の要求が入力されたことに応答して、ルーム開設要求部1068は、ルームID生成部1083が、携帯電話100について検知されるプレゼンス情報に従い生成したルームIDを含むルームの開設要求をサーバ装置へ送信する。プレゼンス監視部1069が、携帯電話100の状態が、入力部110によって通信の要求が入力されたときの状態から変化していることを検知すると、ルーム削除要求部1070は上記生成したルームIDを含むルームの削除要求をサーバ装置へ送信する。
【解決手段】入力部110によって通信の要求が入力されたことに応答して、ルーム開設要求部1068は、ルームID生成部1083が、携帯電話100について検知されるプレゼンス情報に従い生成したルームIDを含むルームの開設要求をサーバ装置へ送信する。プレゼンス監視部1069が、携帯電話100の状態が、入力部110によって通信の要求が入力されたときの状態から変化していることを検知すると、ルーム削除要求部1070は上記生成したルームIDを含むルームの削除要求をサーバ装置へ送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は通信端末に関し、特に、サーバ装置に開設されたルームを介して相手の端末と通信する通信端末に関する。
【背景技術】
【0002】
従来より、ネットワークを介して提供されるチャットルームを利用してチャット相手(通信相手)を見つけて、チャット通信をするシステムが提供されている。ここで、チャットルームは、様々な、話題(テーマ)ごとに開設される。ユーザは、自分の嗜好にあったルームを選択する場合には、膨大なルーム名のリストの中から、各ルームについて話題(テーマ)確認しながら、もしくは、キーワードで候補を絞り込んで、自分の嗜好にあったルームを選択していた。したがって、嗜好にあったルームを簡単に選択することを可能にするシステムの提供が望まれていた。
【0003】
この要求に応えるために、たとえば、特許文献1のチャットシステムが提案された。特許文献1のチャットシステムによれば、ユーザが現在視聴中のテレビ番組に関して誰かと話したいと思った場合に、簡単に話し相手を見つけ出すことを可能にする。具体的には、ユーザは視聴している番組を特定する情報およびチャット参加の意志を管理システムに送信し、管理システムは、同一番組について2以上のチャット参加意志を受付けたときにチャットルームを形成し、形成したチャットルームに関する情報を参加意志の送信者に返信する。
【特許文献1】特開2004-40698号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1では、管理システムが、同一テレビ番組について2以上のチャット参加意志を受付けるまでは、チャットルームに関する情報はユーザに返信されない。したがって、ユーザが参加意志を送信してから返信を受信するまでにはタイムラグが生じる。このタイムラグは、ユーザが移動体端末を用いてテレビ番組を視聴している場合には、次のような課題をもたらす。
【0005】
つまり、2以上のチャット参加意志を受付けるまでに長い時間を要するためにタイムラグが大きい場合には、ユーザが移動することによって移動体端末が当該テレビ番組の放送信号の受信可能エリアから外れてしまうことが十分に想定される。受信可能エリアから外れたユーザは、当該テレビ番組を視聴することはできないから、管理システムからチャットルームに関する情報を受信したとしても、現在視聴中のテレビ番組に関して誰かと話すという、当初の目的を達成することはできない。このように、特許文献1のチャットシステムは、チャット参加意志を送信したユーザ端末の放送信号の受信状態が刻々と変化し得る点は考慮されていないので、実用性に優れない。
【0006】
それゆえに、この発明の目的は、開設したルームを、現在の通信端末の状態がルーム開設時の状態から変化したことに応じて削除することのできる、通信端末を提供することである。
【課題を解決するための手段】
【0007】
この発明のある局面に従うと、複数の通信端末およびサーバ装置を接続する通信ネットワークに適用される通信端末であって、当該通信端末の現在の状態を検知するプレゼンス検知部と、他の通信端末とデータを交わすためにサーバ装置に開設されるルームを介した、通信の要求を入力するために操作される通信要求部と、プレゼンス検知部により検知される状態に基づいてルームを識別するためのルーム識別子を生成する識別子生成部と、通信要求部によって通信の要求が入力されたことに応答して、識別子生成部で生成したルーム識別子を含むルームを開設するための開設要求をサーバ装置へ送信するルーム開設要求部と、プレゼンス検知部が検知する状態が、通信要求部によって通信の要求が入力されたときに検知された状態から変化していることを検知するプレゼンス変化検知部と、プレゼンス変化検知部により状態の変化が検知されたとき、識別子生成部で生成したルーム識別子を含むルームを削除するための削除要求をサーバ装置へ送信するルーム削除要求部と、を備える。
【0008】
好ましくは、ルーム開設要求部が送信した開設要求に含まれるルーム識別子に対応のルームが既に開設されていたとき、サーバ装置によってルーム格納部から読出された、当該開設要求に含まれるルーム識別子に関連付けされた端末識別子を受信する。
【0009】
好ましくは、ルーム開設要求部が開設要求を送信した後に、他の通信端末から、端末識別子を用いた通信の要求を受信するまで待機する待機手段を有し、ルーム削除要求部は、待機手段が待機する期間において、プレゼンス変化検知部により状態の変化が検知されたとき、識別子生成部で生成したルーム識別子を含むルームを削除するための削除要求をサーバ装置へ送信する。
【0010】
好ましくは、プレゼンス検知部は、状態として、少なくとも通信端末の現在位置を検知する。
【0011】
好ましくは、通信端末は、さらに、放送信号を受信する放送受信部を備え、プレゼンス検知部は、状態として、少なくとも放送受信部が受信する放送信号のチャンネルを検知する。
【0012】
この発明の他の局面に従うと、複数の通信端末およびサーバ装置を接続する通信ネットワークに適用される通信端末に搭載されるコンピュータを用いた通信方法であって、コンピュータが、通信端末の現在の状態を検知するプレゼンス検知ステップと、コンピュータが、他の通信端末とデータを交わすためにサーバ装置に開設されるルームを介した、通信の要求を入力する通信要求入力ステップと、コンピュータが、プレゼンス検知ステップにより検知される状態に基づいてルームを識別するためのルーム識別子を生成する識別子生成ステップと、コンピュータが、通信要求入力ステップによって通信の要求が入力されたことに応答して、識別子生成ステップで生成したルーム識別子を含むルームを開設するための開設要求を、サーバ装置へ送信するルーム開設要求ステップと、コンピュータが、プレゼンス検知ステップにおいて検知する状態が、通信要求入力ステップによって通信の要求が入力されたときに検知された状態から変化していることを検知するプレゼンス変化検知ステップと、コンピュータが、プレゼンス変化検知ステップにより状態の変化が検知されたとき、識別子生成ステップで生成したルーム識別子を含むルームを削除するための削除要求を、サーバ装置へ送信するルーム削除要求ステップとを備える。
【0013】
この発明のさらに他の局面に従うと、上述の通信方法をコンピュータに実行させるための通信プログラムが提供される。
【0014】
この発明のさらに他の局面に従うと、ネットワークを介して相互に接続される少なくとも複数の通信端末とサーバ装置とを備えるネットワークシステムは、通信端末が、当該通信端末の現在の状態を検知するプレゼンス検知部と、他の通信端末とデータを交わすためにサーバ装置に開設されるルームを介した、通信の要求を入力するために操作される通信要求部と、プレゼンス検知部により検知される状態に基づいてルームを識別するためのルーム識別子を生成する識別子生成部と、通信要求部によって通信の要求が入力されたことに応答して、識別子生成部で生成したルーム識別子とネットワークを介した通信のために割当られる端末識別子とを含むルームを開設するための開設要求をサーバ装置へ送信するルーム開設要求部と、プレゼンス検知部が検知する状態が、通信要求部によって通信の要求が入力されたときに検知された状態から変化していることを検知するプレゼンス変化検知部と、プレゼンス変化検知部により状態の変化が検知されたとき、識別子生成部で生成したルーム識別子を含むルームを削除するための削除要求をサーバ装置へ送信するルーム削除要求部と、を含む。
【0015】
サーバ装置は、ルームに関する情報が格納されるルーム格納部を含む。そして、開設要求に従い、ルームが開設されるとき、ルーム格納部に当該ルームに対応して、受信した開設要求のルーム識別子と端末識別子とを関連付けて格納し、削除要求に従い、格納した開設要求時のルーム識別子と端末識別子との関連付けを削除する。
【0016】
上述の端末識別子の具体例として、後述するIP(Internet Protocol)アドレスがある。
【発明の効果】
【0017】
本発明によれば、通信端末の現在の状態が、通信要求部によって通信の要求が入力されたときに検知された通信端末の状態から変化していることが検知されたとき、当該通信の要求に従い開設されたルームを削除するための削除要求を、サーバ装置へ送信することができる。したがって、開設したルームを、現在の通信端末の状態がルーム開設時の状態から変化したことに応じて削除することができる。
【発明を実施するための最良の形態】
【0018】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部分には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0019】
また、以下では、移動体端末であって、且つTV(television)放送信号受信機能および位置検出機能などを有する「通信端末」の代表例として携帯電話100をあげて説明を行う。ただし、このような機能を有する通信端末であれば、パーソナルコンピュータや、カーナビゲーション装置(Satellite navigation system)や、PND(Personal Navigation Device)や、PDA(Personal Data Assistant)などのような、他の情報通信機器であってもよい。
【0020】
本実施の形態では、通信端末の状態を検知し、検知した当該状態を指示する情報をプレゼンス情報と称する。プレゼンス情報は後述するようにチャットルームの開設のために用いられる。通信端末の状態は、通信端末の位置、通信端末の移動の方向・速度・加速度、通信端末で現在出力中のコンテンツのURL(uniform resource locator)、通信端末で受信中(ユーザが視聴中)のTV番組のチャンネルなどの情報、通信端末で再生中のコンテンツの情報、通信端末で起動しているプログラムの情報、通信端末の通信先や通信データの情報、通信端末が入力した映像または音声の情報、通信端末による受光量の情報、通信端末の周囲温度の情報などにより示される。本実施の形態では、説明を簡単にするために、通信端末の移動の状態、信号(放送信号を含む)の受信の状態などを指すプレゼンス情報を提示する。具体的には、プレゼンス情報は、通信端末の位置、移動の方向と速度、および受信中のTV放送のチャンネルの情報を例示する。
【0021】
<チャットルームに関する説明>
また、本実施の形態では、‘チャット’とは、後述のインターネット500またはキャリア網700を介したオンラインサービスによりリアルタイムに通信端末同士がメッセージをやり取りするような通信を指す。たとえば、メールサーバは介さないIPアドレスを用いた後述のP2P型のデータ通信、またはメールサーバ経由の電子メール交換であってもよい。また、チャットには、1対1の通信端末同士のチャットと、他人数(3人以上)の通信端末同士のチャットが含まれる。
【0022】
また、チャットルームは、一般的には、テーマ・話題毎に開設されるが、本実施の形態では、通信端末のプレゼンス情報に従い生成されるルームID(identifier)毎に生成される。ルームIDはルームを一意に識別するための情報であり、いわゆるルーム名に相当する。本実施の形態では、‘チャットルーム’(単に、‘ルーム’と略す場合もある)とは、当該ルームのルームIDに対応して、チャットのためのデータ通信(データ交換)を要求するユーザの識別情報を、すなわちユーザの通信端末の識別情報を相互に関係付けるための情報を指す。この通信端末の識別情報は、各通信端末を一意に識別するための情報であって、本実施の形態では各通信端末に割り当されたIPアドレスとしている。
【0023】
したがって、本実施の形態では、‘ルームの開設’とは、ルームの生成に相当する。具体的には、所定記憶領域に新規にルームIDを格納するとともに、このルームIDに対応してルームの生成を要求したユーザの通信端末の識別情報を格納する動作に相当する。
【0024】
また、‘ルームへの参加’とは、所定記憶領域に既に格納されたルームIDに対応してチャットを要求するユーザの通信端末の識別情報を格納するともに、当該ユーザに対して他のユーザの通信端末の識別情報を配信する動作に相当する。
【0025】
また、‘ルームの削除’とは、削除するべきルームのルームIDを、所定記憶領域から削除するための動作を指す。
【0026】
また、‘ルーム参加の取消し’とは、ルームIDに対応して格納されている通信端末の識別情報を削除する動作を指す。
【0027】
上述の削除の処理は、所定域億領域から当該情報を実際に消去する処理でもよく、または、格納された当該情報を所定記憶領域から読出不可能な状態に設定する処理であってもよい。本実施の形態では、‘読出不可能な状態に設定する’ものとしている。
【0028】
<シングルモードおよびマルチモード>
本実施の形態では、ルームの開設と削除の処理について、シングルモードとマルチモードとの2つの動作モードが提供される。シングルモードとは、チャットルームを開設したユーザのみが、当該チャットルームの削除をすることができる動作モードを指す。より具体的には、チャットルームを開設したユーザ(当事者ユーザという)がルーム開設後において後述するP2P型のデータ通信要求を他のユーザから受信しない期間において、当事者ユーザ側のプレゼンス情報が変化した場合には、当事者ユーザに対して当該チャットルームの削除要求が許可される動作モードを指す。
【0029】
マルチモードとは、チャットルームを開設したユーザを含む当該チャットルームに参加しているユーザそれぞれが、当該ユーザ側のプレゼンス情報が変化したならば、当該チャットルームの削除をすることができる動作モードを指す。より具体的には、参加している各ユーザ側のプレゼンス情報が変化した場合には、またはユーザから指示が入力された場合には、ルーム参加を取消すために、当該ユーザは当該チャットルームの削除要求が許可される動作モードを指す。
【0030】
<ネットワークシステム1の全体構成>
図1に示すように、ネットワークシステム1は、携帯電話100A,100B,100Cと、マッチングサーバ400と、インターネット500と、キャリア網700とを含む。また、本実施の形態に係るネットワークシステム1は、車両250に搭載されるカーナビゲーション装置200を含む。なお、ネットワークシステム1には、インターネット700を介して端末同士が電子メール通信するためのメールサーバが接続されてもよい。
【0031】
説明の容易化のために、以下では、本実施の形態に係るネットワークシステム1が、第1の携帯電話100Aと、第2の携帯電話100Bと、第3の携帯電話100Cとを含む場合について説明する。また、携帯電話100A,100B,100Cの各々に共通の構成や機能を説明する際には、それらを携帯電話100とも総称する。そして、携帯電話100A,100B,100C、カーナビゲーション装置200の各々に共通の構成や機能を説明する際には、それらを通信端末とも総称する。
【0032】
携帯電話100は、キャリア網700に接続可能に構成されている。カーナビゲーション装置200は、インターネット500に接続可能に構成されている。マッチングサーバ400は、インターネット500に接続可能に構成されている。
【0033】
より詳細には、第1の携帯電話100Aと、第2の携帯電話100Bと、第3の携帯電話100Cと、カーナビゲーション装置200とは、キャリア網700や図示のないメールサーバやインターネット500を介して互いに接続可能であって、互いにデータの送受信が可能である。また、携帯電話100とカーナビゲーション装置200には、自端末を特定するための識別情報(たとえば、メールアドレスやIP(Internet Protocol)アドレスなど)が割り当てられる。すなわち、携帯電話100とカーナビゲーション装置200は、内部の記録媒体に他の通信端末の識別情報を記憶することができ、当該識別情報に基づいてキャリア網700やインターネット500などを介して当該他の通信端末とデータ送受信を行うことができる。
【0034】
なお、本実施の形態に係る携帯電話100とカーナビゲーション装置200は、割り当てられるIPアドレスを利用して、図示のないメールサーバを介さずに他の通信端末とデータ送受信を行うものである。ここでは、各通信端末がマッチングサーバ400にアクセスする際には、すなわち各通信端末がインターネット700にアクセスした際に、マッチングサーバ400あるいは他の図示しないサーバ装置などによってIPアドレスが割り当てられるものとする。IPアドレスの割り当て処理の詳細は公知であるので、ここでは説明を繰り返さない。
【0035】
また、本実施の形態に係る携帯電話100、カーナビゲーション装置200は、自身に割り当てられたIPアドレスを利用することにより、直接的に相互にネットワークを介してデータ送受信を行うことが可能である。すなわち、本実施の形態に係るネットワークシステム1に含まれる携帯電話100およびカーナビゲーション装置200は、いわゆるP2P(Pear to Pear)型のネットワークを構成することが可能である。
【0036】
<P2Pの動作概要>
本実施の形態に係る各通信端末は、P2P型のデータ通信を行うために、予め互いのIPアドレスを交換(取得)する必要がある。そして、各通信端末は、IPアドレスを取得したのちに、P2P型のデータ通信によってメッセージや添付ファイルなどを他の通信端末に送信する。チャットは、このP2P型のデータ通信によって実現される。
【0037】
<携帯電話100のハードウェア構成>
図2および図3に示すように、本実施の形態に係る携帯電話100は、外部のネットワークとの間でデータを送受信する通信部101、プログラムや各種データを記憶するROM(Read Only Memory)およびRAM(Random Access Memory)からなる記憶部103、計時部105、制御部106、表示部107、マイク108、音声を出力するスピーカ109、各種情報の入力を受付ける入力部110、外部から通信データや通話信号を受信した旨など各種メッセージを音声または表示で出力するための通知部111、携帯電話100の現在の状態を検知するプレゼンス情報検知部112、および情報を入力するためのタブレット119を備える。
【0038】
制御部106は、CPU(Central Processing Unit)106A、CPU106Aと通信部101との入出力を制御する通信I/F(インターフェイスの略)106B、およびCPU106Aと通信部101を除く他の各部との入出力を制御する入出力I/F(インターフェイスの略)106Cを含む。
【0039】
プレゼンス情報検知部112は、携帯電話100の現在の状態を検知するために、携帯電話100の現在位置を検出するためのアンテナ1131を接続するGPS(global positioning system)1121と、TV放送信号を受信するためのアンテナ1132を接続するTVチューナ1122を含む。
【0040】
なお、プレゼンス情報検知部112は、この他に、速度/加速度を検知するための加速度センサー、現在表示中のコンテンツのURLを検知するためのブラウザ、再生中のコンテンツ情報を検知するためにコンテンツ再生機、起動しているプログラム情報を検知するためにOS(Operating System)、通信先や通信データの情報を検知するために通信デバイス、取り込んだ映像情を検知するためにカメラデバイス、取り込んだ音声情報を検知するためにマイクデバイス、受光量を検知するために光センサー、周囲の温度を検知するために温度センサーを含んでもよい。
【0041】
本実施の形態に係る表示部107は、液晶パネルやCRT(Cathode Ray Tube)から構成されるタッチパネルである。すなわち、本実施の形態に係る携帯電話100は、表示部107の下側(裏側)にタブレット119が敷設されている。これによって、ユーザはスタイラスペン120などを用いることによって、タブレット119を介して、図形情報などを制御部106に手書き入力することができる。表示部107は、制御部106が出力したデータに基づいて、画像やテキストを表示する。
【0042】
入力部110は、キー入力操作などによってユーザから情報を受け付ける。たとえば、入力部110は、通話を受け付けたり、通話を発したりするために操作されるボタン110Aと、メールを受け付けたり、メールを発したりするために操作されるボタン110Bと、P2P型のデータ通信を受け付けたり、P2P型のデータ通信を発したりするために操作されるボタン110Cと、一連の操作をキャンセルするために操作されるボタン110Dと、各種の処理を終了させるために操作されるボタン110Eとを含む。
【0043】
さらに入力部110は、チャットルームの開設を要求するために操作されるボタン112Aと、チャットルームの削除を要求するために操作されるボタン112Bと、開設または参加するチャットルームの情報を表示するために操作されるボタン112Cを含む。
【0044】
<携帯電話100の記憶内容について>
図4を参照して携帯電話100の記憶部103は、記憶領域1030〜1036を含む。記憶領域1030には、チャットルーム開設時に収集されたプレゼンス情報1020が格納される。
【0045】
記憶領域1031には、携帯電話100のユーザの名前のデータ1021、携帯電話100に割り当てられた電話番号のデータ1022、メールアドレスのデータ1023およびIPアドレスのデータ1024、ならびに認証のためのユーザIDのデータ1025およびパスワードのデータ1026が格納される。
【0046】
記憶領域1032には、後述する変換規則データ1027が格納される。記憶領域1033には、携帯電話100の要求に応じて開設されたチャットルームに対応のデータ、または参加するチャットルームに対応するデータを記憶するテーブル1028が格納される。詳細には、テーブル1028には、チャットルームのそれぞれに対応して、フラグのデータ102A、当該ルームを一意に識別するためのルームIDのデータ102B、および当該チャットルームを介して関連付けされた他の通信端末のIPアドレスのデータ102Cが格納される。フラグのデータ102Aは、対応のチャットルームが開設されると“1”に設定されて、対応のチャットルームが削除されると“1”から“0”に更新される。
【0047】
テーブル1028の内容は、ボタン112Cが操作されると、記憶部103から読出されて表示部107に表示される。この場合、対応のデータ102Aのフラグが“0”であるデータ102Bおよび102Cは読出不可能状態に設定されて、読出すことができず、したがって表示されない。
【0048】
記憶領域1034には、ユーザが選択したプレゼンス条件のデータ1029が格納される。プレゼンス条件の選択については後述する。記憶領域1035には、アドレス帳データ1038が格納される。アドレス帳データ1038には、携帯電話100を用いた通信相手に関するデータ(名前、メールアドレス、電話番号など)が格納される。記憶領域1036には、マッチングサーバ400のアドレスのデータ1039が格納される。アドレスのデータ1039はマッチングサーバ400のチャットルームの記憶領域に対応のURLを指示する。
【0049】
<マッチングサーバ400のハードウェア構成について>
図5を参照して、マッチングサーバ400は、処理部401、CRT、液晶などからなるモニタ402、キーボード403およびマウス404を有する。処理部401は、該マッチングサーバ400自体を集中的に制御するためのCPU405、ROM(read only memory)またはRAM(random access memory)を含んで構成されるメモリ406、固定ディスク407、FD(flexible disc)412が着脱自在に装着されて、装着されたFD412をアクセスするFD駆動装置411、CD−ROM(compact disc read only memory)414が着脱自在に装着されて、装着されたCD−ROM414をアクセスするCD−ROM駆動装置413、インターネット500とマッチングサーバ400を通信接続するためのサーバ通信部409、およびタイマからなる計時部410を含む。これらの各部はバス408を介して通信接続される。
【0050】
メモリ406は、各種の情報を記憶するものであって、たとえば、CPU405でのプログラムの実行に必要なデータを一時的に記憶する。固定ディスク407は、CPU405が実行するプログラムやデータベースを記憶する。CPU405は、マッチングサーバ400の各要素を制御するものであって、各種の演算を実施する装置である。
【0051】
サーバ通信部409は、CPU405が出力したデータを電気信号へと変換して外部へ送信し、外部から受信した電気信号をデータに変換してCPU405に入力する。具体的には、サーバ通信部409は、CPU405からのデータを、インターネット500やキャリア網700などを介して携帯電話100やカーナビゲーション装置200に送信する。そして、インターネット500やキャリア網700を介して携帯電話100やカーナビゲーション装置200から受信したデータを、CPU405に与える。
【0052】
ここで、メモリ406あるいは固定ディスク407に記憶されるデータについて説明する。図6には、マッチングサーバ400のメモリ406あるいは固定ディスク407に記憶されるルームIDテーブル43Aのデータ構造を示す。
【0053】
図6を参照して、ルームIDテーブル43Aは、マッチングサーバ400において開設がされたチャットルームのそれぞれに対応して、フラグのデータ431、当該チャットルームを一意に識別するためのルームIDのデータ432、当該チャットルームへ参加するユーザの通信端末に割り当てられたIPアドレスのデータ433、フラグのデータ434および許容人数のデータ435が格納される。
【0054】
データ431が指示するフラグの値は、対応のチャットルームが開設されている期間は“1”に設定される。チャットルームが削除されると、“1”から“0”に更新されて、対応するデータ432〜435は読出し不可能な状態に設定される。
【0055】
データ434が示すフラグは、データ433が示すIPアドレスのそれぞれに対応して格納される。データ434が示すフラグの値は、対応のIPアドレスがルームIDテーブル43Aに登録(格納)されることにより当該ユーザが参加する期間は“1”に設定される。参加が取消されると(キャンセルされると)、“1”から“0”に更新されて、対応するIPアドレスは読出し不可能な状態に設定される。
【0056】
データ435は、対応するチャットルームを介して相互にデータ通信を行なうことができるユーザの許容人数(最大人数)を示す。本実施の形態では、許容人数についての詳細説明は略す。
【0057】
<携帯電話100の機能構成>
図7を参照して、本実施の形態に係る携帯電話100は、端末通信部1061、フレーム解析部1062、フレーム生成部1063、入力受付部1064、通知処理部1065、プレゼンス情報収集部1066、プレゼンス条件決定部1067、ルーム開設要求部1068、プレゼンス監視部1069およびルーム削除要求部1070を備える。これらの各部の機能は予めプログラム・データとして記憶部103の所定記憶領域に格納されており、CPU106Aがこれらプログラム・データを記憶部103から読出し、実行することにより、各部の機能が実現される。
【0058】
図7においては、CPU106Aが有する各機能とデータ・情報を入出力する周辺回路部のみが示される。
【0059】
端末通信部1061は、IPアドレスを用いたP2P型のデータ通信を制御するためのP2P通信部1081と、それ以外の通信(通話、メール通信など)を制御するための非P2P通信部1082を含む。フレーム解析部1062は、端末通信部1061によって受信されたフレームを入力し、入力したフレームのデータを解析し、解析結果を出力する。フレーム生成部1063は、端末通信部1061を介して外部ネットワークに送信するべきフレームを生成する。入力受付部1064は、タブレット119および入力部110から入力されたデータを受付ける。通知処理部1065は、通知部111に対して、外部に出力すべきデータを与える。
【0060】
プレゼンス条件決定部1067は、ユーザがタブレット119または入力部110を操作することによって決定したプレゼンス条件を入力する。プレゼンス条件の決定については後述する。
【0061】
プレゼンス情報収集部1066は、プレゼンス情報検知部112の各部によって検知されたプレゼンス情報を入力する。これをプレゼンス情報を収集するという。
【0062】
ルーム開設要求部1068は、マッチングサーバ400に対してルーム開設を要求する。具体的には、プレゼンス情報収集部1066によって収集されたプレゼンス情報と、プレゼンス条件決定部1067によって決定されたプレゼンス条件とに基づき、開設するべきチャットルームのルームIDを生成するルームID生成部1083、ならびにシングルモードおよびマルチモードに対応して第1および第2ルーム開設要求部1084および1085を含む。
【0063】
プレゼンス監視部1069は、シングルモードおよびマルチモードに対応して第1および第2プレゼンス監視部1086および1087を含む。プレゼンス監視部1069は、プレゼンス情報収集部1066によって収集されるプレゼンス情報と、過去に収集されたプレゼンス情報とを比較し、比較結果に基づき、過去のプレゼンス情報とは相違するか否かを検知する。
【0064】
ルーム削除要求部1070は、入力部110を介してユーザによって削除が指示されたとき、または、プレゼンス監視部1069が上述したプレゼンス情報の相違を検知したとき、マッチングサーバ400に対して、チャットルームの削除を要求する。
【0065】
<マッチングサーバ400の機能構成>
図8を参照して、マッチングサーバ400は、ルーム開設部420、ルーム受付部421、ルーム削除部422、フレーム生成部423およびフレーム解析部424を含む。これらの各部は、固定ディスク407またはメモリ406の所定の記憶領域に予めプログラム・データとして格納されており、CPU405が所定記憶領域からプログラム・データを読出し、実行することにより、各部の機能が実現される。マッチングサーバ400は、さらにメモリ406および固定ディスク407によって構成される記憶部426を備える。
【0066】
記憶部426には、前述したルームIDテーブル43A、マッチングサーバアドレスのデータ43BおとびユーザIDとパスワードが対応付けて記憶されたユーザID/パスワードテーブル43Cが格納される。
【0067】
ルーム開設部420は、記憶部426のルームIDテーブル43Aに、新たに生成するべきチャットルームに対応するデータを格納することにより、チャットルームを開設する。ルーム受付部421は、携帯電話100から受信したチャットルームに関する各種要求の受付処理を行なう。ルーム削除部422は、ルーム受付部421が携帯電話100からチャットルームの削除要求を受付けたときに、要求されたチャットルームを削除する。フレーム生成部423は、サーバ通信部409を介してインターネット500に送信するべきデータのフレームを生成し、生成したフレームをサーバ通信部409に出力する。フレーム解析部424は、サーバ通信部409がインターネット500を介して受信したデータのフレームを解析し、解析結果を出力する。
【0068】
<ルームID生成処理>
図7に示すルームID生成部1083の機能について、図9〜図12を参照し説明する。
【0069】
図11には、ユーザがプレゼンス条件を選択するために、プレゼンス条件決定部1067が表示部107に表示する画面の一例が示される。図11のプレゼンス条件選択画面においては、ルームIDを生成するために参照されるべきプレゼンス情報を決定するために複数のプレゼンス条件の候補1075が表示される。プレゼンス条件の候補1075とし、図11においては、たとえば、携帯電話100の移動の“方向”および“速度”、携帯電話100の現在の“位置”、ならびに携帯電話100で受信するTV放送信号の“チャンネル”が示される。
【0070】
また、プレゼンス条件の候補1075の各々に対応して、チェックボックス1071が表示される。ユーザは、タブレット119を操作して、所望のプレゼンス条件の候補1075に対応のチェックボックス1071をチェックすることにより、ルームIDを生成するために参照されるべきプレゼンス情報を選択することができる。
【0071】
図11においては、プレゼンス条件の候補1075のうち“速度”と“位置”については、詳細な条件を設定するためのチェックボックス1072が示される。プレゼンス条件の候補1075である“速度”には、収集すべき速度値について何桁の精度まで要求するかを指定するためのチェックボックス1072が示される。同様に、携帯電話100の現在位置の精度を指定するためにチェックボックス1072が示される。“速度”についてはA、BおよびCが当てられた3個のチェックボックス1072が表示される。A、BおよびCのチェックボックス1072それぞれチェックすることにより、速度の値について2桁、3桁および4桁のそれぞれの精度で入力することが指示される。同様に、プレゼンス条件の候補1075の“位置”についてA、BおよびCのチェックボックス1072をそれぞれチェックすることにより、位置の値について1桁、2桁および3桁のそれぞれの精度で入力することが指示される。
【0072】
さらに、表示部107には、ユーザがプレゼンス条件を選択し、その選択内容を決定するために操作するボタン1073と、選択した内容をキャンセルするために操作するボタン1074も表示される。
【0073】
プレゼンス条件決定部1067は、ボタン1073が操作されると、図11の画面を介してユーザにより選択された内容を読取り、プレゼンス条件のデータ1029として、記憶部103の記憶領域1034に格納する。
【0074】
次に、図9のフローチャートに従い、ルームID生成処理について説明する。なお、ここでは、予めプレゼンス条件選択画面を介して図11のとおりユーザが指定したプレゼンス条件のデータ1029が、記憶部103に格納されていると想定する。
【0075】
まず、ルームID生成部1083は、プレゼンス情報収集部1066により収集されたプレゼンス情報を入力する。
【0076】
具体的には、ルームID生成部1083は、記憶部103から読出したプレゼンス条件のデータ1209に基づき、‘移動方向’が指定されたか否かを判定する(ステップT3)。移動方向の指定がないと判定すると後述のステップT7に移行する。
【0077】
移動方向の指定があると判定すると(ステップT3でYES)、プレゼンス情報収集部1066から入力したプレゼンス情報の中から方向情報を入力する(ステップT5)。その後、ステップT7の処理に移る。
【0078】
次に、プレゼンス条件のデータ1209に基づき、‘速度’が指定されたか否かを判定する(ステップT7)。速度の指定がないと判定すると、後述するステップT15の処理に移る。
【0079】
‘速度’の指定がされていると判定すると(ステップT7でYES)、プレゼンス条件のデータ1209に基づき、プレゼンス情報の“速度”についてA〜Cのいずれのチェックボックス1072が選択(チェック)されたかを判定する(ステップT9)。そして、その判定結果に基づきステップT11において、入力するべき速度情報の精度を決定する。具体的には、チェックボックスA、BおよびCのそれぞれに対応して、速度の値の小数点以下1桁、2桁および3桁までのそれぞれを入力することが指示される。ルームID生成部1083は、ステップT9およびステップT11の処理結果に基づく精度で、速度情報を入力する(ステップT13)。その後、ステップ15の処理に移る。
【0080】
同様にして、位置情報が入力される場合においても、ステップT15、T17およびT19において、ステップT17およびT19で指定された精度に従い位置情報を入力する(ステップT21)。その後、ステップT23の処理に移る。
【0081】
ルームID生成部1083は、プレゼンス条件のデータ1209に基づき、‘チャンネル’が指定されたか否かを判定する(ステップT23)。チャンネルの指定がないと判定すると後述のステップT27に移行する。
【0082】
チャンネルが指定されていると判定すると(ステップT23でYES)、プレゼンス情報収集部1066から入力したプレゼンス情報のうちから、TVチューナ1122によって現在チューニングされているチャンネルの情報を入力する(ステップT25)。その後、ステップT27の処理に移る。
【0083】
ルームID生成部1083は、ステップT5、T13、T21およびT25で入力したプレゼンス情報に基づき、記憶部103から読出した変換規則データ1027を参照しならが、ルームIDを生成する(ステップT27)。生成したルームIDは、記憶部103の記憶領域1033のテーブル1028にデータ102Bとして格納される(ステップT29)。このとき、対応するデータ102Aのフラグは“0”に設定されて、対応のデータ102CのIPアドレスは空データに設定される。
【0084】
以上で、ルームID生成処理は終了する。
ここで、図10(A)と(B)を参照し、ステップT27における、変換規則データ1027を参照したルームIDの生成について説明する。
【0085】
図10(A)には、ステップT5、T13、T21およびT25の処理において入力されたプレゼンス情報の一例が示される。これらのプレゼンス情報は、変換規則データ1027が示す変換規則に従って、図10(B)のようにアルファベット、数字および記号を組合わせたデータ列に変換される。図10(B)のデータ列を組合せる(たとえば、連結する)ことによって、プレゼンス情報に基づいたルームIDが生成される。連結したデータ列の一例が、図6のデータ432として示される。
【0086】
図12〜図22に示すフローチャートにより、携帯電話100とマッチングサーバ400との間の通信によるチャットルームの開設と削除の処理が示される。これらのフローチャートに従うプログラムは、携帯電話100の記憶部103に予め記憶されて、CPU106Aによって読出されて実行される。また、マッチングサーバ400側のプログラムは、メモリ406、固定ディスク407、FD412およびCD−ROM414に予め格納されており、そこに格納されたプログラムをCPU405が読出し実行することにより実現される。
【0087】
<通信フレームの構成>
図12〜図22に示すフローチャートにおいて、携帯電話100とマッチングサーバ400の間で送受信されるフレーム構成について説明する。
【0088】
図23を参照して、フレーム600は、ヘッダ部610と、データ部620を含む。ヘッダ部610には、当該フレームの種別(タイプ)を指示するデータ611、当該フレームの宛先を示すデータ612および当該フレームの送信元を示すデータ613が格納される。データ部620は、送信すべきデータを格納する。
【0089】
データ611が示すタイプは、本実施の形態では、要求フレームであることを示す“1”と、要求の受付を示す“0”のいずれかの値となる。また、本実施の形態ではフレーム600は、携帯電話100とマッチングサーバ400との間で送受信されるため、データ612および613としては、携帯電話100の記憶部103から読出されたメールアドレスのデータ1023、およびマッチングサーバアドレスのデータ1039または43Bのいずれかが格納される。
【0090】
携帯電話100が、チャットルーム作成を要求する場合には、図24のルーム開設要求のフレーム601が携帯電話100から、マッチングサーバ400に宛てて送信される。フレーム601は、データ611が“1”を指示し、データ612および613として、記憶部103から読出されたマッチングサーバアドレスのデータ1039とメールアドレス1023がそれぞれ格納される。また、データ部620には、命令コード621と、ルームIDのデータ622と、IPアドレスのデータ623とが格納される。命令コード621は、ルーム開設要求のコマンドを示す。データ622として、ルームID生成部1083によって生成されたルームIDのデータ102Bがテーブル1028から読出されて格納される。データ623として、送信元の携帯電話100に予め割り当てられたIPアドレスのデータ1024が、記憶部103から読出されて格納される。
【0091】
マッチングサーバ400は、ルーム開設要求のフレーム601を受信した場合に、図25のルーム開設受付のフレーム602を生成し、携帯電話100宛てに送信する。フレーム602は、ヘッダ部610においてデータ611は“0”を示し、データ612として受信したフレーム601のデータ613が格納される。また、データ613として、記憶部426から読出したマッチングサーバアドレスのデータ43Bが格納される。データ部620には、命令コード621として空データが格納される。また、受信したルーム開設要求のフレーム601のデータ622が格納される。また、データ624として、ルーム開設の要求を受付けたことを示すデータが格納される。
【0092】
携帯電話100が図24のルーム開設要求のフレーム601を送信した場合において、当該フレーム601のデータ622が指示するルームIDと一致するルームIDを有するチャットルームが既に開設されている場合には、マッチングサーバ400から、携帯電話100に宛てて、図26に示すルーム参加受付のフレーム603が送信される。フレーム603は、ヘッダ部610にフレーム602と同様のデータが格納される。データ部620には、ルーム開設要求のフレーム601のデータ622が格納される。また、当該ルーム開設要求のフレーム601の受信によって、チャットルームへの参加が受付けられたことを示す“参加受付”を示すデータ624と、当該チャットルームに参加しているユーザの携帯電話100のIPアドレスのデータ625が格納される。
【0093】
携帯電話100は、チャットルームの削除をマッチングサーバ400に対して要求する場合には、図27に示すルーム削除要求のフレーム604をマッチングサーバ400に宛てて送信する。フレーム604は、ヘッダ部610においてデータ611が“1”を指示し、データ612および613として、記憶部103から読出したマッチングサーバアドレスのデータ1039とメールアドレスのデータ1023がそれぞれ格納される。また、データ部620には、命令コード621、およびデータ622と624が格納される。命令コード621は、チャットルームの削除要求のコマンド“C2”を指示する。データ622として、削除を要求するチャットルームのルームIDが格納される。このデータ622として、記憶部103のテーブル1028から読出されたデータ102Bが格納される。データ623として、記憶部103の記憶領域1031から読出された自己のIPアドレスのデータ1024が格納される。
【0094】
マッチングサーバ400が、携帯電話100からルーム削除要求のフレーム604を受信した場合には、当該要求を受付けたことを示す図28のルーム削除受付のフレーム605を携帯電話100宛てに送信する。フレーム605はヘッダ部610においてデータ611は“0”を示し、データ612は、受信したフレーム604のデータ613を指示し、データ613は、記憶部426から読出したマッチングサーバアドレスのデータ43Bを指示する。データ部620においては、命令コード621は空データを指示し、データ622として、削除要求を受付けたチャットルームのルームID(ルーム削除要求のフレーム604のデータ622が指示するルームID)が格納され、および“削除受付”を指示するデータ624が格納される。
【0095】
各図を参照し、チャットルームの開設および削除に関する一連の処理手順について説明する。
【0096】
図12を参照し、携帯電話100においては、CPU106Aは、操作の待ち受け画面が表示されている状態において、ユーザから入力部110のボタン110Cが操作されることによってP2P型のデータ通信開始の指示が入力されたか否かを判定する(ステップT31、T33およびT35)。ボタン10Cが操作されて、P2P型のデータ通信の開始が指示されたことが判定されると(ステップT35でYES)、プレゼンス条件決定処理へ移行する。P2P型のデータ通信の開始が指示されない間は(ステップT35でNO)、ステップT33およびT35の処理が繰返される。
【0097】
<プレゼンス条件決定処理>
プレゼンス条件決定部1067によるプレゼンス条件決定処理について、図13のフローチャートに従い説明する。
【0098】
まず、プレゼンス条件決定部1067は、プレゼンス情報収集部1066を介して、プレゼンス情報検知部112からの検知出力に基づくプレゼンス情報を収集する(ステップT37)。
【0099】
次に、表示部107に、図11の画面を表示することにより、複数のプレゼンス条件の候補1075を提示する(ステップT39)。続いて、ユーザによるペン120の操作によるプレゼンス条件の候補1075の選択入力を待つ(ステップT41)。プレゼンス条件が選択されて決定のボタン1073が操作されると(T43でYES)、図11のように決定されたプレゼンス条件を入力して、記憶部103の記憶領域1034にプレゼンス条件のデータ1029として格納する(ステップT45)。その後、ルーム開設要求部1068によるルーム開設処理が行なわれる。
【0100】
<シングルモードのルーム開設処理>
第1ルーム開設要求部1084によって実行されるシングルモードのルーム開設処理について、図14のフローチャートに従い説明する。
【0101】
ルーム開設要求部1068は、入力受付部1064を介してユーザのタブレット119または入力部110の操作により、シングルモードが指定されていると判定すると、第1ルーム開設要求部1084を起動する。なお、入力受付部1064を介してモードのデータを受付ける都度、受付けたモードデータを記憶部103の所定領域に格納しておけば、記憶部103から読出した当該モードデータに基づき現在の指定モードを検知することができる。
【0102】
第1ルーム開設要求部1084は、端末通信部1061を介して通信部の初期化処理を行なう(ステップT47)。この初期化処理において、所定の手順に従い、自己の携帯電話100に割り当てられるべきIPアドレスを受信することによって取得する。このIPアドレスは、記憶部103の記憶領域1031にデータ1024として格納される。このIPアドレスは、マッチングサーバ400との通信により取得してもよいし、他の図示されないサーバとの通信によって取得してもよい。
【0103】
続いて、マッチングサーバ400に対して、通信を開始するためのログイン処理を行なう(ステップT49)。具体的には、記憶部103から読出したユーザID1025およびパスワード1026を用いた認証処理を経てログイン処理が行なわれる。ログイン処理が行なわれると、計時部105によってマッチングサーバ400との通信接続を確立するのに要する所定時間の計測が開始される(ステップT51)。マッチングサーバ400から応答を受信することによって、マッチングサーバ400との接続に成功したと判定されると(ステップT53でYES)、後述するステップT57の処理に移る。
【0104】
一方、所定時間を経過してもマッチングサーバ400からの応答を受信できずに、接続に成功しなかったと判定された場合には(ステップT35でNO、ステップT55でYES)、タイムアウト発生の処理が行なわれる(ステップT56)。つまり、表示部107にエラー表示(‘マッチングサーバ400との接続に失敗しました’とのメッセージを表示)し、端末通信部1061によるマッチングサーバ400との通信終了の処理を行なう。
【0105】
マッチングサーバ400との接続に成功した場合には(ステップT53でYES)、第1ルーム開設要求部1084はルームID生成部1083に、ルームIDの生成をするように指示する。ルームID生成部1083は、指示に応じて図9の手順に従いルームIDを生成する。生成されたルームIDは、記憶領域1033のテーブル1028にデータ102Bとして格納される。
【0106】
続いて、第1ルーム開設要求部1084は、フレーム生成部1063により図24のルーム開設要求のフレーム601を生成し、端末送信部1061の非P2P通信部1082を介してマッチングサーバ400に送信する(ステップT59)。その後、計時部105によりマッチングサーバ400から非P2P通信部1082を介して応答のフレームを受信するための所定時間を計測する(ステップT61)。所定時間内に、マッチングサーバ400から、図25または図26のルーム開設受付のフレーム602またはルーム参加受付のフレーム603を受信するかを検知する(ステップT63、T65、T67)。
【0107】
受信したフレームのデータを解析し、解析結果に基づきルーム参加受付のフレーム603を受信したと検知した場合には(ステップT65でYES)、テーブル1028のデータを更新する(ステップT66)。具体的には、当該受信フレーム603に格納されている参加IPアドレスのデータ625を、テーブル1028の対応するデータ102Cとして追加格納する。これにより、テーブル1028には、データ102Bが示すルームIDのチャットルームに参加している他のユーザの携帯電話100のIPアドレスのデータ625が格納されたことになる。また、受信フレームの解析結果に基づきルーム参加受付のフレーム603を受信したことを検知するので、自己が要求したチャットルームが既に開設されていたと判定する。したがって、テーブル1028の対応するデータ102Aが示すフラグの値を“1”に更新する。
【0108】
その後、携帯電話100のユーザは、テーブル1028のデータ102Cに格納されているIPアドレスを用いて、チャットルームに参加している他のユーザの携帯電話100との間でP2P型のデータ通信処理をP2P通信部1081を介して開始し(ステップT70)、以降、P2P型のデータ通信が行なわれる。
【0109】
一方、マッチングサーバ400からの応答として参加受付フレーム603ではなく(ステップT65でNO)、チャットルーム開設の受付フレーム602を受信した場合には(ステップT67でYES)、テーブル1028のデータを更新する(ステップT68)。具体的には、当該受信フレーム602に格納されているルームIDのデータ622に基づきテーブル1028を検索し、ヒットしたルームIDのデータ102Bに対応のデータ102Aが示すフラグの値を“1”に更新する
その後、プレゼンス監視部1069によるプレゼンスの監視処理が行なわれる。
【0110】
一方、参加受付のフレーム603および開設受付のフレーム602のいずれも受信することなく、所定時間が経過したと判定されると(ステップT69でYES)、第1ルーム開設要求部1084は、通信プロトコル上のエラー発生のための処理を実施する(ステップT71)。たとえば、表示部107に、エラー表示(‘マッチングサーバからの応答がありません’のメッセージ表示)をし、端末通信部1061による通信処理を終了させる。
【0111】
図15には、チャットルーム開設処理における、携帯電話100とマッチングサーバ400との間の通信シーケンスが示される。まず、両者の間でTCP(Transmission Control Protocol)に従う接続処理P1が行なわれる。この処理P1は、ステップT47に相当する。処理P1に続いて、ログイン処理P2が実施される。処理P2は、ステップT49に相当する。続いて、チャットルームの開設処理P3が行なわれる。このための通信処理は、ステップT59〜ステップT67の処理に相当する。チャットルームの開設処理のための通信の終了時には、TCPに従う切断処理P5が行なわれる。処理P5によって、携帯電話100とマッチングサーバ400との通信が終了する。
【0112】
<シングルモードのプレゼンス監視処理>
第1プレゼンス監視部1086によって実行されるシングルモードのプレゼンス監視処理について、図16のフローチャートに従い説明する。
【0113】
プレゼンス監視部1069は、入力受付部1064を介してユーザのタブレット119または入力部110の操作により、シングルモードが指定されていると判定すると、第1プレゼンス監視部1086を起動する。
【0114】
第1プレゼンス監視部1086は、他の携帯電話100からのP2P型のデータ通信の接続要求の待ち受け処理を開始する(ステップT73)。具体的には、端末通信部1061のP2P通信部1081を介して、他の携帯電話100からIPアドレスに基づくP2P接続要求を受信するか否かを検知する。この受信の検知は、計時部105によって所定期間計時される期間においてなされる(ステップT75、ステップT81)。
【0115】
P2P型のデータ通信接続要求の待ち受け期間において、第1プレゼンス監視部1086は、P2P通信部1081を介して他の携帯電話100とP2P通信のための接続が確立されるか否かを検知する(ステップT77)。接続が確立されたと検知すると(ステップT77でYES)、第1プレゼンス監視部1086はP2P型のデータ通信の接続の待ち受け処理を終了する(ステップT93)。その後、チャットルームの削除処理へ移行する。
【0116】
一方、計時部105による所定時間の計時期間において、P2P型のデータ通信接続の確立がされないと検知されると(ステップT77でNO)、続いて、入力受付部1064の出力に基づき、ユーザがP2P通信要求を取消すために携帯電話100のキャンセルのボタン110Dを操作したか否かを検知する(ステップT79)。第1プレゼンス監視部1086は、入力受付部1064を介して、キャンセルのボタン110Dが操作されたことを検知すると(ステップT79でYES)、前述したステップT93の処理に移り、続いてチャットルームの削除処理へ移行する。
【0117】
一方、キャンセルのボタン110Dが操作されないと検知すると(ステップT79でNO)、計時部105により所定時間経過したことが計時されたか否かを判定する(ステップT81)。所定時間経過していないと判定すると(ステップT81でNO)、ステップT77の処理に戻り、ステップT77〜ステップT81の処理を同様に繰返す。
【0118】
一方、所定時間経過したことを判定すると(ステップT81でYES)、第1プレゼンス監視部1086は、プレゼンス情報が変化しているかを検知するために、プレゼンス情報収集部1066に対して情報収集を指示する。プレゼンス情報収集部1066は、情報収集の指示に応答して、プレゼンス情報を収集して第1プレゼンス監視部1086に出力する。
【0119】
第1プレゼンス監視部1086は、記憶部103からプレゼンス条件のデータ1029を読出す(ステップT83)。そして、プレゼンス情報収集部1066から入力したプレゼンス情報から、読出したデータ1029が示すプレゼンス条件が指定するプレゼンス情報を入力する(ステップT85)。
【0120】
続いて、第1プレゼンス監視部1086は、ステップT85で入力した現在のプレゼンス情報と、記憶部103から読出したルーム開設要求時のプレゼンス情報1020とを比較し、比較結果に基づきプレゼンス情報が変化しているか否かを検知する(ステップT87)。比較結果に基づき、両プレゼンス情報は一致していると判定される間は(ステップT89でNO)、処理はステップT75に戻り、再度、所定時間の計測が開始され、プレゼンスの監視処理が継続する。
【0121】
一方、両情報が一致していない、すなわちプレゼンス情報に変化があったと検出されると(ステップT89でYES)、プレゼンス情報変化発生の処理が行なわれる(ステップT91)。具体的には、第1プレゼンス監視部1086は、表示部107に、“プレゼンス情報は指定された条件に適合しませんでした。チャットルームを削除します”とのメッセージを表示する。このようなメッセージ表示は、通知処理部1065を介し、通知部111によって、音声、またはLED(Light Emitting Diode)などのランプの点灯により報知されてもよい。その後、処理はステップT93の処理を経て、ルーム削除処理に移行する。
【0122】
なお、ステップT87では、プレゼンス情報の変化を検出するようにしているが、次のようにしてもよい。つまり、現在収集されるプレゼンス情報から生成されるルームIDと、テーブル1028から読出したデータ102Bが指すルームIDとを比較して、その変化を検出するようにしてもよい。
【0123】
このように、シングルモードにおいては、ステップT66、T67およびT70の処理により、ユーザは、開設されているチャットルームから所望チャットルームを検索する作業をしなくても、自己の携帯電話100と同じ状態にある、すなわち同じプレゼンス情報(同じチャンネルの放送番組を視聴している、ある範囲に位置して居るなど)を有する通信相手を見つけ出してP2P型のデータ通信(チャット通信)を行なうことができる。また、第1プレゼンス監視部1086は、チャットルーム開設後において他の携帯電話100からP2P型のデータ通信要求を待ち受けする期間において、プレゼンス情報の相違(情報の変化)が検出されると、P2P型のデータ通信接続の待ち受け処理を強制的に終了し、チャットルームの削除処理へと移行することになる。
【0124】
これにより、現在のプレゼンス情報(携帯電話100の状態)がチャット開始要求のためのチャットルーム開設要求時のプレゼンス情報に一致しなくなった場合には、他の携帯電話100からのチャット通信要求の受付を回避することができる。その結果、携帯電話100のユーザは、チャット要求時のプレゼンス情報に一致するプレゼンス情報を有した携帯電話100のユーザの間でのみチャット通信を行なうことができる。また、開設はしたもののプレゼンス情報が変化してチャット要求が不要になった場合には、ユーザが特別な操作をせずとも、開設したチャットルームを自動的に削除することができる。
【0125】
<チャットルームの削除処理>
図17のフローチャートに従いルーム削除要求部1070によるチャットルームの削除処理について説明する。
【0126】
ルーム削除要求部1070は、非P2P通信部1082を介してマッチングサーバ400に対する接続処理(ログイン処理)を開始する(ステップT100)。ログイン処理においては、記憶部103から読出されたユーザID1025およびパスワード1026を用いた認証処理が行われる。その後、計時部105により所定時間の計時が開始される(ステップT101)。この所定時間において、マッチングサーバ400からの応答に基づき、マッチングサーバ400に対して接続が確立したか否かを判定する(ステップT103)。
【0127】
接続に成功したと検知されず(ステップT103でYES)、所定時間経過したことが検知されると(ステップT117でYES)、接続タイムアウト発生の処理(ステップT119)が行なわれる。具体的には、ルーム削除要求部1070は、表示部107にエラー表示(“サーバとの接続に失敗しました”のメッセージ表示)をし、マッチングサーバ400との通信のための処理を終了する。
【0128】
一方、所定時間内に接続に成功したと検知されると(ステップT103でYES)、ルーム削除要求部1070は、記憶部103のテーブル1028から、ルームIDのデータ102Bを読出す(ステップT105)。読出されたルームIDのデータ102Bは、フレーム生成部1063に与えられる。
【0129】
ルーム削除要求部1070は、フレーム生成部1063に対し、ルーム削除要求のフレーム604を生成するように指示する。フレーム生成部1063は、与えられる指示に基づき記憶部103からデータを読出し、読出したデータおよび与えられるルームIDのデータ102Bに基づき、ルーム削除要求のフレーム604を生成する。生成したルーム削除要求のフレーム604は端末通信部1061に与えられる。端末通信部1061の非P2P通信部1082は、与えられるルーム削除要求のフレーム604を、マッチングサーバ400宛に送信する(ステップT107)。
【0130】
続いて、計時部105により、ルーム削除要求のフレーム604に対する応答であるルーム削除受付のフレーム605を受信するための所定時間の計測を開始する(ステップT109)。ルーム削除要求部1070は、非P2P通信部1082を介して、マッチングサーバ400からルーム削除受付のフレーム605を受信するか否かを判定する(ステップT111、T113)。
【0131】
マッチングサーバ400から送信されたフレームは、端末通信部1061の非P2P通信部1082により受信される。受信されたフレームはフレーム解析部1062に与えられる。フレーム解析部1062は、与えられるフレームのデータを解析し、解析結果に基づき、受信フレームのデータ611が示すタイプおよびデータ部620に削除受付を示すデータ624が格納されていると判定したことに応じて、受信したフレームがルーム削除受付のフレーム605であると判定する。そして、その判定結果を、ルーム削除要求部1070に出力する。
【0132】
ルーム削除要求部1070は、フレーム解析部1062から入力した判定結果に基づき、ルーム削除受付のフレーム605を受信したと判定すると(ステップT113でYES)、チャットルームの削除成功の処理を行なう(ステップT115)。具体的には、テーブル1028の削除したルームに対応のデータ102Aのフラグを“1”から“0”に更新する。そして、表示部107に、‘チャットルームは削除されました’のメッセージ表示、または通知処理部1065を介して通知部111からチャットルーム削除の旨を音声・LEDで通知する。
【0133】
ルーム削除要求のフレーム604を送信後の所定時間内は、ルーム削除受付のフレーム605の受信待ちが継続する(ステップT113でNO、ステップT121でNO)。
【0134】
所定時間を経過しても、ルーム削除受付のフレーム605を受信できなかった場合には(ステップT121でYES)、通信プロトコルに係るエラー発生の処理が行なわれる(ステップT123)。具体的には、表示部107にエラーメッセージ表示、または通知処理部1065を介して通知部111からチャットルーム削除の旨を音声・LEDで通知する。メッセージとしては、たとえば“サーバからの応答がありません”と表示する。その後、マッチングサーバ400との通信のための処理を終了する。
【0135】
図18を参照して、携帯電話100とマッチングサーバ400との間における、チャットルームの削除に係る通信のシーケンスを説明する。まず、TCPに従う接続処理P1が行なわれる。続いてログイン処理P2が行なわれる。ログイン処理P2は、図17のステップT100に相当する。
【0136】
続いて、開設したチャットルームを削除するために、ルーム削除処理P4が行なわれる。ルーム削除処理P4は、ステップT107〜T113に相当する。その後、処理P5において、TCPに従う通信回線の切断処理が行われる。
【0137】
<シングルモードでのマッチングサーバの処理>
上述したシングルモードでの携帯電話100によるルームの開設要求およびルームの削除要求の処理が行なわれるとき、マッチングサーバ400においては、図19のフローチャートに従う動作が行なわれる。
【0138】
図19を参照して、マッチングサーバ400においては、サーバ通信部409の初期化が行なわれると(ステップS3)、インターネット500を介し、携帯電話100から接続(ログイン処理)されるのを待ち受ける(ステップS5)。ログイン処理によって携帯電話100の接続に成功したと判定すると(ステップS7でYES)、計時部410により計時される所定時間内に、携帯電話100からのフレーム受信を待機する(ステップS11)。ログイン処理においては、携帯電話100から動作モードの種別(シングルモード/マルチモード)が通知されるので、マッチングサーバ400は通知がされたモードに従い動作する。
【0139】
ログイン処理時の認証処理は、携帯電話100から送信されたユーザIDおよびパスワードに基づき、CPU405が、記憶部426に格納されたユーザID/パスワードテーブル43Cを検索し、一致するデータが格納されているか否かに基づき行なう。受信したユーザIDおよびパスワードが、ユーザID/パスワードテーブル43Cに格納されていると検知すると、認証に成功し接続を許可する(ステップS7でYES)。認証に成功せず接続を許可しない判定される間は、ステップS5によるログイン処理を繰返す。
【0140】
ステップS11において、サーバ通信部409によってインターネット500を介しフレームを受信すると、受信したフレームは、フレーム解析部424に与えられる。フレーム解析部424は、入力したフレームのヘッダ部610のデータ611が示すタイプおよびデータ部620の命令コード621が示すコマンドに基づき、受信したフレームがルーム開設要求のフレーム601であるか、削除要求のフレーム604であるかを判定する。
【0141】
削除要求のフレーム604を受信したと判定すると(ステップS13でYES)、ステップS15において、受信したルーム削除要求フレーム604の内容がフレーム解析部424からルーム削除部422に与えられる。ルーム削除部422は、与えられるフレームのデータ部620の内容に基づき処理を行う。すなわち命令コード621が示す削除コマンドに従い、記憶部426のルームIDテーブル43Aを、データ622が示すルームIDに基づき検索し、一致するルームIDのデータ432に対応のフラグのデータ431を“1”から“0”に更新する(ステップS15)。これにより、ルームIDテーブル43Aから、データ622が示すルームIDのチャットルームが削除される。その後、処理はステップS16に移行する。
【0142】
ステップS16では、ルーム削除受付けのフレーム605が要求元の携帯電話100に宛てて送信される。具体的には、ルーム削除部422は、ルームを削除をしたことをフレーム生成部423に通知する。フレーム生成部423は、当該通知を受けて、ルーム削除受付のフレーム605を生成する。生成したルーム削除受付のフレーム605は、サーバ通信部409に与えらる。サーバ通信部409は、与えられたルーム削除受付のフレーム605を、インターネット500を介し、携帯電話100に宛てて送信する。
【0143】
その後、サーバ通信部409によって、携帯電話100との通信を切断する処理が行なわれる(ステップS33)。その後、処理はステップS5に戻る。
【0144】
ステップS13に戻り、フレーム解析部424が、削除要求のフレーム604ではなく(ステップS13でNO)、ルーム開設要求のフレーム601を受信したことを検知すると(ステップS17でYES)、処理はステップS19に移行する。
【0145】
ステップS19においては、ルーム受付部421はフレーム解析部424の解析結果に従い、受信したルーム開設要求のフレーム601のデータ部620の内容に基づき、処理する。具体的には、命令コード621が指示するルーム開設の要求コマンドに従い、データ622が示すルームIDに基づきルームIDテーブル43Aを検索する。その結果、ルームIDテーブル43Aに、一致したルームIDを検索でき且つ対応するデータ431のフラグが‘1’を指示すると判定した(ヒットした)場合には(ステップS21でYES)、ルーム参加受付のフレーム603が送信される(ステップS23)。
【0146】
具体的には、ルーム受付部421の検索結果は、フレーム生成部423に与えられる。フレーム生成部423は、与えられる検索結果に応じて、ルーム参加受付のフレーム603を生成する。生成されたルーム参加受付フレーム603は、サーバ通信部409を介して、携帯電話100に送信される。
【0147】
ここで、ルーム参加受付のフレーム603の生成について説明する。ルーム受付部421は、ルームIDテーブル43Aを検索し、“ヒット”の検索結果を得ると、ルームIDテーブル43Aから、当該ルームID622に一致するルームIDのデータ432に対応するIPアドレスのデータ433を読出し、フレーム生成部423に与える。したがって、フレーム生成部423は、生成するルーム参加受付のフレーム603にデータ625として与えられるIPアドレスのデータ433を格納する。
【0148】
このようにして、ユーザがルーム開設要求のフレーム601を送信した場合において、既にルームIDテーブル43Aにおいて同一のルームIDが格納されていた(すなわち、チャットルームが既に開設されていた)場合には、受信したルーム開設要求のフレーム601のデータ623が示すIPアドレスが、ルームIDテーブル43Aの該当するルームIDのデータ432に対応したデータ433として追加格納される。また、その時点で当該ルームIDのデータ432に対応して格納されていたデータ433が指す1つ以上のIPアドレスは、データ625としてルーム参加受付のフレーム603に格納されることによって、要求元の携帯端末100に対して送信される。これにより、ルーム開設要求のフレーム601を送信した場合において、既にルームが開設されていた場合には、要求元の携帯電話100に対して、既に開設されているチャットルームに参加している他のチャット通信相手のIPアドレスを配信することができる。
【0149】
サーバ通信部409が、フレーム生成部423によって生成されたルーム参加受付フレームを送信した後は、前述した切断処理(ステップS33)が行なわれる。
【0150】
ステップS21の処理に戻り、ルームIDテーブル43Aを検索し、その結果“ヒット”が検出されない場合には(ステップS21でNO)、言い換えるとルームIDテーブル43Aに一致するルームIDのデータ432が未登録である場合には、チャットルームを開設し(ステップS25)、ルーム開設受付のフレーム602を要求元の携帯電話100に送信する(ステップS27)。
【0151】
具体的には、開設が要求されたチャットルームのルームIDがルームIDテーブル43Aに未登録である場合には(ステップS21でNO)、ルーム受付部421は、ルームIDテーブル43Aの検索結果を、ルーム開設部420に与える。ルーム開設部420は、与えられる検索結果に従い、受信したルーム開設要求のフレーム601のデータ部620に基づき、チャットルームを開設する。具体的には、データ部620の命令コード621が指示する開設コマンドに基づき、データ622が指示するルームIDとデータ623が指示するIPアドレスとを対応付けて、ルームIDテーブル43Aに格納する。格納されたこれらデータに対応のデータ431が指すフラグは、この時点で“1”に設定される。
【0152】
ルーム開設部420は、新たなルームの開設が終了すると、ルームを開設したことを指示する通知を、フレーム生成部423に与える。フレーム生成部423は、受信していたルーム開設要求フレーム601のデータと、ルーム開設部420から与えられる通知とに基づき、図25に示すルーム開設受付のフレーム602を生成し、サーバ通信部409に与える。サーバ通信部409は、与えられるルーム開設受付のフレーム602を要求元の携帯電話100に宛てて送信する。
【0153】
その後、処理は、切断処理(ステップS33)に移行する。
ステップS17の処理に戻り、受信したフレームが、ルームの削除要求のフレーム604でもなく、開設要求のフレーム601でもないと判定されると(ステップS13でNO、ステップS17でNO)、ステップS29において、フレームの受信処理の開始から所定時間が経過したかが判定される(ステップS29)。所定時間経過したと判定されない間は、処理はステップS11に戻り、以降の処理が同様に繰返される。
【0154】
一方、所定時間経過しても、これらフレームを受信できないと検知された場合には(ステップS29でNO)、CPU405は、プロトコル上のエラー発生の処理を行なう(ステップS31)。たとえば、表示部402にプロトコル上のエラー発生の旨のメッセージを表示する。その後、処理は切断処理に移行する(ステップS33)。
【0155】
以上のように、マッチングサーバ400は、チャットルームの開設要求を受理した場合には、ルームIDテーブル43Aを検索し、当該チャットルームのルームIDが未登録であれば、当該ルームIDを登録することにより、チャットルームを開設する。
【0156】
また、既にルームIDテーブル43AにルームIDが登録済みであり、且つ当該ルームIDを指示するチャットルームの開設要求を受理した場合には、チャットルームの開設は行なわずに、当該開設要求をチャットルームへの参加として受付けたことを、携帯電話100に通知する。
【0157】
また、チャットルームの削除要求を受理した場合には、すなわち当該チャットルームを開設したユーザからの削除要求を受理した場合には、当該チャットルームのルームIDをルームIDテーブル43Aから削除する、すなわち対応のデータ431のフラグに“0”をセットすることにより、当該チャットルームを削除する。
【0158】
なお、ここでは、データ431のフラグを“1”または“0”に更新することによって、チャットルームの開設または削除を制御しているが、削除方法はこれに限定されない。たとえば、ルームIDテーブル43Aから当該ルームIDに対応するデータ431〜435をすべて削除するようにしてもよい。
【0159】
<マルチモードの処理>
マルチモードにおけるチャットルームの開設および削除の処理について説明する。
【0160】
<マルチモードにおけるルーム開設処理>
ルーム開設要求部1068は、入力受付部1064を介してユーザのタブレット119または入力部110の操作により、マルチモードが指定されていると判定すると、第2ルーム開設要求部1085を起動する。
【0161】
図20には、第2ルーム開設要求部1085を用いたチャットルームの開設処理が示される。この処理フローチャートと図14の処理フローチャートとを比較し異なる点は、図14では、ステップT70によるP2P型のデータ通信の接続開始後は、P2P型のデータ通信の処理のみが行なわれるものとしたが、図20においては、P2P型のデータ通信の接続処理を開始(ステップT70)した後も、携帯電話100においては、第2プレゼンス監視部1087によってプレゼンス監視処理(ステップT72b)が行なわれることになる。また、ルーム開設後は第2プレゼンス監視部1087によってプレゼンス監視処理(ステップT72a)が行なわれる。図20の他の処理は、図14に説明したものと同じなので説明は略す。
【0162】
<マルチモードにおけるプレゼンス監視処理>
プレゼンス監視部1069は、入力受付部1064を介してユーザのタブレット119または入力部110の操作により、マルチモードが指定されていると判定すると、第2プレゼンス監視部1087を起動する。
【0163】
第2プレゼンス監視部1087によるプレゼンス監視処理の手順が図21に示される。
図21の処理フローチャートと図16の処理フローチャートとを比較し異なる点は、図16ではP2P型のデータ通信の接続要求を待ち受ける期間において、プレゼンス情報が変化した場合にルーム削除要求のフレーム604を送信したが、図21では、P2P型のデータ通信の接続要求を待ち受ける期間において、ユーザがボタン112Bを操作してルーム削除の選択指示を入力した場合(ステップT76でYES)、またはプレゼンス情報の変化が検出された場合(ステップT89でYES)にルーム削除要求のフレーム604を送信する。図21の他の処理は、図16に示した処理と同様である。
【0164】
このように、マルチモードにおいては、現在のプレゼンス情報がルーム開設要求時のプレゼンス情報から変化した場合、または、ボタン112Bを操作してユーザがルーム削除を要求した場合には、図17のルーム削除処理が起動される。これにより、チャットルームの開設者でなくとも、開設されている当該チャットルームの削除の要求を、マッチングサーバ400に対し送信することができる。
【0165】
<マルモードにおけるマッチングサーバの処理>
上述したマルチモードでの携帯電話100によるルームの開設要求およびルームの削除要求の処理が行なわれるとき、マッチングサーバ400においては、図22のフローチャートに従う動作が行なわれる。
【0166】
図22の処理と図19に説明した処理とを比較し異なる点は、図22の処理において、ステップS14a、S14bの処理を追加する点にある。図22の他の処理は図19に示したものと同様である。したがって、ここでは図19と相違する処理のみを説明する。
【0167】
前述したように、マッチングサーバ400は、携帯電話100からルーム削除要求のフレーム604を受信した場合には(ステップS13でYES)、ステップS14aの処理が行なわれる。
【0168】
ステップS14aにおいては、以下の処理が行なわれる。まず、フレーム解析部424は、サーバ通信部409を介してルーム削除要求のフレーム604を入力すると、入力したルーム削除要求のフレーム604のデータ部620の内容を解析し、解析結果に基づき、当該フレームのデータ部620の内容をルーム削除部422に与える。ルーム削除部422は、与えられるデータ部620の命令コード621が示すコマンドに従い、データ622が示すルームIDに基づきルームIDテーブル43Aを検索する。検索結果に基づき、当該ルームIDに一致するルームIDを指示するデータ432に対応するデータ433が示すIPアドレスのうちから、ルーム削除要求のフレーム604のデータ623が示すIPアドレスを検出して、対応のデータ434のフラグを“1”から“0”に更新する。これにより、ルーム削除要求のフレーム604を送信した携帯電話100に割り当てられたIPアドレスは、ルームIDテーブル43Aから削除(読出し不可能な状態)される(読出し不可能な状態とされる)。これにより、ルーム削除要求のフレーム604を送信した携帯電話100のユーザについてのチャットへの参加が取消される。
【0169】
続いて、ステップS14bの処理に移行する。まず、ルーム削除部422は、ステップS14aにおいてフラグが“1”から“0”に更新されたデータ434が指示するフラグの値が全て“0”を指示するか否か、すなわちチャットに参加していたユーザの全員が、参加の取消しを要求したか否かを判定する。全て“0”を指示すると判定すると、すなわち参加ユーザ全員がチャットへの参加を取消したと判定すると(ステップS14bでYES)、ステップS15の処理において、ルーム削除部422は、対応するルームIDをルームIDテーブル43Aから削除する。この削除処理は、前述と同様である。
【0170】
一方、当該ルームIDのチャットルームに参加していたユーザの全員が、まだ参加の取消要求を示していないと判定された場合には(ステップS14bでNO)、ルームIDの削除は行われずに、処理はステップS16に移行する。ステップS16では、前述したようにルーム削除受付のフレーム605が送信される。
【0171】
このように、マルチモードにおいては、ルーム削除要求のフレーム604を送信したユーザは、自己の携帯電話100に割り当てられているIPアドレスを、ルームIDテーブル43Aの当該ルームIDに対応付けられたデータ433が指すIPアドレス群から削除することができる。これによって、チャットルームへの参加が取消されることになる。したがって、その後に当該チャットルームへ新規に参加したユーザに対しては、参加取消しをしたユーザのIPアドレスが通知されることはない。
【0172】
また、ルームIDテーブル43Aの当該ルームIDに対応付けられたデータ433が指す全てのIPアドレスについて参加取消しがされた場合には、当該ルームIDをルームIDテーブル43Aから削除することができる。したがって、全てのユーザが参加を取消した時点で、自動的に、当該チャットルームは削除されるので、ルームIDテーブル43Aにおいて不要なチャットルームのデータを削除するために、当該チャットルームを削除するための特別な処理を省略できる。
【0173】
ここで、本実施の形態における携帯電話100を含む通信端末およびマッチングサーバ400が行なうチャットルームの開設および削除に関する通信方法は、上述したようなフローチャートに従うプログラムとして提供することができる。このようなプログラムは、携帯電話100のCPU106Aのコンピュータ、およびマッチングサーバ400のCPU405のコンピュータに付属する記録媒体に予め記録させて、プログラム製品として提供することもできる。このような記録媒体としては、FD412、CD−ROM414、メモリ406または記憶部103を構成するROMおよびRAM、ならびにメモリカードなどのコンピュータ読取り可能な記録媒体がある。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、インターネット500を含む各種ネットワークを介したダウンロードによって、プログラムを提供することもできる。ここで、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【0174】
なお、一般的傾向として、コンピュータのオペレーティングシステムの一部として様々なプログラムモジュールを用意しておき、アプリケーションプログラムはこれらモジュールを所定の配列で必要なときに呼出して処理を進める方式が一般的である。そうした場合、本実施の形態に係るチャットルームの開設および削除に関するシステムを実現するためのソフトウェア自体にはそうしたモジュールは含まれず、当該コンピュータでオペレーティングシステムと協働してはじめてシステムが実現することになる。しかし、一般的なプラットホームを使用する限り、そうしたモジュールを含ませたソフトウェアを流通させる必要はなく、それらモジュールを含まないソフトウェア自体およびそれらソフトウェアを記録した記録媒体(およびそれらソフトウェアがネットワーク上を流通する場合のデータ信号)が実施の形態を構成すると考えることができる。
【0175】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【0176】
【図1】本実施の形態に係る通信ネットワークの構成図である。
【図2】本実施の形態に係る携帯電話の外観を示す図である。
【図3】本実施の形態に係る携帯電話のハードウェア構成図である。
【図4】本実施の形態に係る携帯電話の記憶部の内容の一例を示す図である。
【図5】本実施の形態に係るマッチングサーバのハードウェア構成図である。
【図6】本実施の形態に係るルームIDテーブルの一例を示す図である。
【図7】本実施の形態に係る携帯電話の機能構成図である。
【図8】本実施の形態に係るマッチングサーバの機能構成図である。
【図9】本実施の形態に係るルームID生成処理のフローチャートである。
【図10】(A)と(B)は、本実施の形態に係るプレゼンス情報からルームIDへの変換規則を説明する図である。
【図11】本実施の形態に係るプレゼンス条件の選択画面の一例を示す図である。
【図12】本実施の形態に係る携帯電話による待ち受け処理のフローチャートである。
【図13】本実施の形態に係る携帯電話によるプレゼンス条件決定処理のフローチャートである。
【図14】本実施の形態に係るシングルモードのルーム開設処理のフローチャートである。
【図15】本実施の形態に係るルーム開設処理の通信シーケンスを示す図である。
【図16】本実施の形態に係るシングルモードのプレゼンス監視処理のフローチャートである。
【図17】本実施の形態に係るルーム削除処理のフローチャートである。
【図18】本実施の形態に係るルーム削除処理の通信シーケンスを示す図である。
【図19】本実施の形態に係るシングルモードにおけるマッチングサーバの処理フローチャートである。
【図20】本実施の形態に係るマルチモードのルーム開設処理のフローチャートである。
【図21】本実施の形態に係るマルチモードのプレゼンス監視処理のフローチャートである。
【図22】本実施の形態に係るマルチモードにおけるマッチングサーバの処理フローチャートである。
【図23】本実施の形態に係るフレームの構成を説明する図である。
【図24】本実施の形態に係るルーム開設要求のフレームの構成図である。
【図25】本実施の形態に係るルーム開設受付のフレームの構成図である。
【図26】本実施の形態に係るルーム参加受付のフレームの構成図である。
【図27】本実施の形態に係るルーム削除要求のフレームの構成図である。
【図28】本実施の形態に係るルーム削除受付のフレームの構成図である。
【符号の説明】
【0177】
100 携帯電話、400 マッチングサーバ、420 ルーム開設部、421 ルーム受付部、422 ルーム削除部、423 フレーム生成部、424 フレーム解析部、500 インターネット、600〜605 フレーム、700 キャリア網、1020 プレゼンス情報、1027 変換規則データ、1029 プレゼンス条件、43A ルームIDテーブル、1066 プレゼンス情報収集部、1067 プレゼンス条件決定部、1068 ルーム開設要求部、1069 プレゼンス監視部、1070 ルーム削除要求部。
【技術分野】
【0001】
本発明は通信端末に関し、特に、サーバ装置に開設されたルームを介して相手の端末と通信する通信端末に関する。
【背景技術】
【0002】
従来より、ネットワークを介して提供されるチャットルームを利用してチャット相手(通信相手)を見つけて、チャット通信をするシステムが提供されている。ここで、チャットルームは、様々な、話題(テーマ)ごとに開設される。ユーザは、自分の嗜好にあったルームを選択する場合には、膨大なルーム名のリストの中から、各ルームについて話題(テーマ)確認しながら、もしくは、キーワードで候補を絞り込んで、自分の嗜好にあったルームを選択していた。したがって、嗜好にあったルームを簡単に選択することを可能にするシステムの提供が望まれていた。
【0003】
この要求に応えるために、たとえば、特許文献1のチャットシステムが提案された。特許文献1のチャットシステムによれば、ユーザが現在視聴中のテレビ番組に関して誰かと話したいと思った場合に、簡単に話し相手を見つけ出すことを可能にする。具体的には、ユーザは視聴している番組を特定する情報およびチャット参加の意志を管理システムに送信し、管理システムは、同一番組について2以上のチャット参加意志を受付けたときにチャットルームを形成し、形成したチャットルームに関する情報を参加意志の送信者に返信する。
【特許文献1】特開2004-40698号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1では、管理システムが、同一テレビ番組について2以上のチャット参加意志を受付けるまでは、チャットルームに関する情報はユーザに返信されない。したがって、ユーザが参加意志を送信してから返信を受信するまでにはタイムラグが生じる。このタイムラグは、ユーザが移動体端末を用いてテレビ番組を視聴している場合には、次のような課題をもたらす。
【0005】
つまり、2以上のチャット参加意志を受付けるまでに長い時間を要するためにタイムラグが大きい場合には、ユーザが移動することによって移動体端末が当該テレビ番組の放送信号の受信可能エリアから外れてしまうことが十分に想定される。受信可能エリアから外れたユーザは、当該テレビ番組を視聴することはできないから、管理システムからチャットルームに関する情報を受信したとしても、現在視聴中のテレビ番組に関して誰かと話すという、当初の目的を達成することはできない。このように、特許文献1のチャットシステムは、チャット参加意志を送信したユーザ端末の放送信号の受信状態が刻々と変化し得る点は考慮されていないので、実用性に優れない。
【0006】
それゆえに、この発明の目的は、開設したルームを、現在の通信端末の状態がルーム開設時の状態から変化したことに応じて削除することのできる、通信端末を提供することである。
【課題を解決するための手段】
【0007】
この発明のある局面に従うと、複数の通信端末およびサーバ装置を接続する通信ネットワークに適用される通信端末であって、当該通信端末の現在の状態を検知するプレゼンス検知部と、他の通信端末とデータを交わすためにサーバ装置に開設されるルームを介した、通信の要求を入力するために操作される通信要求部と、プレゼンス検知部により検知される状態に基づいてルームを識別するためのルーム識別子を生成する識別子生成部と、通信要求部によって通信の要求が入力されたことに応答して、識別子生成部で生成したルーム識別子を含むルームを開設するための開設要求をサーバ装置へ送信するルーム開設要求部と、プレゼンス検知部が検知する状態が、通信要求部によって通信の要求が入力されたときに検知された状態から変化していることを検知するプレゼンス変化検知部と、プレゼンス変化検知部により状態の変化が検知されたとき、識別子生成部で生成したルーム識別子を含むルームを削除するための削除要求をサーバ装置へ送信するルーム削除要求部と、を備える。
【0008】
好ましくは、ルーム開設要求部が送信した開設要求に含まれるルーム識別子に対応のルームが既に開設されていたとき、サーバ装置によってルーム格納部から読出された、当該開設要求に含まれるルーム識別子に関連付けされた端末識別子を受信する。
【0009】
好ましくは、ルーム開設要求部が開設要求を送信した後に、他の通信端末から、端末識別子を用いた通信の要求を受信するまで待機する待機手段を有し、ルーム削除要求部は、待機手段が待機する期間において、プレゼンス変化検知部により状態の変化が検知されたとき、識別子生成部で生成したルーム識別子を含むルームを削除するための削除要求をサーバ装置へ送信する。
【0010】
好ましくは、プレゼンス検知部は、状態として、少なくとも通信端末の現在位置を検知する。
【0011】
好ましくは、通信端末は、さらに、放送信号を受信する放送受信部を備え、プレゼンス検知部は、状態として、少なくとも放送受信部が受信する放送信号のチャンネルを検知する。
【0012】
この発明の他の局面に従うと、複数の通信端末およびサーバ装置を接続する通信ネットワークに適用される通信端末に搭載されるコンピュータを用いた通信方法であって、コンピュータが、通信端末の現在の状態を検知するプレゼンス検知ステップと、コンピュータが、他の通信端末とデータを交わすためにサーバ装置に開設されるルームを介した、通信の要求を入力する通信要求入力ステップと、コンピュータが、プレゼンス検知ステップにより検知される状態に基づいてルームを識別するためのルーム識別子を生成する識別子生成ステップと、コンピュータが、通信要求入力ステップによって通信の要求が入力されたことに応答して、識別子生成ステップで生成したルーム識別子を含むルームを開設するための開設要求を、サーバ装置へ送信するルーム開設要求ステップと、コンピュータが、プレゼンス検知ステップにおいて検知する状態が、通信要求入力ステップによって通信の要求が入力されたときに検知された状態から変化していることを検知するプレゼンス変化検知ステップと、コンピュータが、プレゼンス変化検知ステップにより状態の変化が検知されたとき、識別子生成ステップで生成したルーム識別子を含むルームを削除するための削除要求を、サーバ装置へ送信するルーム削除要求ステップとを備える。
【0013】
この発明のさらに他の局面に従うと、上述の通信方法をコンピュータに実行させるための通信プログラムが提供される。
【0014】
この発明のさらに他の局面に従うと、ネットワークを介して相互に接続される少なくとも複数の通信端末とサーバ装置とを備えるネットワークシステムは、通信端末が、当該通信端末の現在の状態を検知するプレゼンス検知部と、他の通信端末とデータを交わすためにサーバ装置に開設されるルームを介した、通信の要求を入力するために操作される通信要求部と、プレゼンス検知部により検知される状態に基づいてルームを識別するためのルーム識別子を生成する識別子生成部と、通信要求部によって通信の要求が入力されたことに応答して、識別子生成部で生成したルーム識別子とネットワークを介した通信のために割当られる端末識別子とを含むルームを開設するための開設要求をサーバ装置へ送信するルーム開設要求部と、プレゼンス検知部が検知する状態が、通信要求部によって通信の要求が入力されたときに検知された状態から変化していることを検知するプレゼンス変化検知部と、プレゼンス変化検知部により状態の変化が検知されたとき、識別子生成部で生成したルーム識別子を含むルームを削除するための削除要求をサーバ装置へ送信するルーム削除要求部と、を含む。
【0015】
サーバ装置は、ルームに関する情報が格納されるルーム格納部を含む。そして、開設要求に従い、ルームが開設されるとき、ルーム格納部に当該ルームに対応して、受信した開設要求のルーム識別子と端末識別子とを関連付けて格納し、削除要求に従い、格納した開設要求時のルーム識別子と端末識別子との関連付けを削除する。
【0016】
上述の端末識別子の具体例として、後述するIP(Internet Protocol)アドレスがある。
【発明の効果】
【0017】
本発明によれば、通信端末の現在の状態が、通信要求部によって通信の要求が入力されたときに検知された通信端末の状態から変化していることが検知されたとき、当該通信の要求に従い開設されたルームを削除するための削除要求を、サーバ装置へ送信することができる。したがって、開設したルームを、現在の通信端末の状態がルーム開設時の状態から変化したことに応じて削除することができる。
【発明を実施するための最良の形態】
【0018】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部分には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0019】
また、以下では、移動体端末であって、且つTV(television)放送信号受信機能および位置検出機能などを有する「通信端末」の代表例として携帯電話100をあげて説明を行う。ただし、このような機能を有する通信端末であれば、パーソナルコンピュータや、カーナビゲーション装置(Satellite navigation system)や、PND(Personal Navigation Device)や、PDA(Personal Data Assistant)などのような、他の情報通信機器であってもよい。
【0020】
本実施の形態では、通信端末の状態を検知し、検知した当該状態を指示する情報をプレゼンス情報と称する。プレゼンス情報は後述するようにチャットルームの開設のために用いられる。通信端末の状態は、通信端末の位置、通信端末の移動の方向・速度・加速度、通信端末で現在出力中のコンテンツのURL(uniform resource locator)、通信端末で受信中(ユーザが視聴中)のTV番組のチャンネルなどの情報、通信端末で再生中のコンテンツの情報、通信端末で起動しているプログラムの情報、通信端末の通信先や通信データの情報、通信端末が入力した映像または音声の情報、通信端末による受光量の情報、通信端末の周囲温度の情報などにより示される。本実施の形態では、説明を簡単にするために、通信端末の移動の状態、信号(放送信号を含む)の受信の状態などを指すプレゼンス情報を提示する。具体的には、プレゼンス情報は、通信端末の位置、移動の方向と速度、および受信中のTV放送のチャンネルの情報を例示する。
【0021】
<チャットルームに関する説明>
また、本実施の形態では、‘チャット’とは、後述のインターネット500またはキャリア網700を介したオンラインサービスによりリアルタイムに通信端末同士がメッセージをやり取りするような通信を指す。たとえば、メールサーバは介さないIPアドレスを用いた後述のP2P型のデータ通信、またはメールサーバ経由の電子メール交換であってもよい。また、チャットには、1対1の通信端末同士のチャットと、他人数(3人以上)の通信端末同士のチャットが含まれる。
【0022】
また、チャットルームは、一般的には、テーマ・話題毎に開設されるが、本実施の形態では、通信端末のプレゼンス情報に従い生成されるルームID(identifier)毎に生成される。ルームIDはルームを一意に識別するための情報であり、いわゆるルーム名に相当する。本実施の形態では、‘チャットルーム’(単に、‘ルーム’と略す場合もある)とは、当該ルームのルームIDに対応して、チャットのためのデータ通信(データ交換)を要求するユーザの識別情報を、すなわちユーザの通信端末の識別情報を相互に関係付けるための情報を指す。この通信端末の識別情報は、各通信端末を一意に識別するための情報であって、本実施の形態では各通信端末に割り当されたIPアドレスとしている。
【0023】
したがって、本実施の形態では、‘ルームの開設’とは、ルームの生成に相当する。具体的には、所定記憶領域に新規にルームIDを格納するとともに、このルームIDに対応してルームの生成を要求したユーザの通信端末の識別情報を格納する動作に相当する。
【0024】
また、‘ルームへの参加’とは、所定記憶領域に既に格納されたルームIDに対応してチャットを要求するユーザの通信端末の識別情報を格納するともに、当該ユーザに対して他のユーザの通信端末の識別情報を配信する動作に相当する。
【0025】
また、‘ルームの削除’とは、削除するべきルームのルームIDを、所定記憶領域から削除するための動作を指す。
【0026】
また、‘ルーム参加の取消し’とは、ルームIDに対応して格納されている通信端末の識別情報を削除する動作を指す。
【0027】
上述の削除の処理は、所定域億領域から当該情報を実際に消去する処理でもよく、または、格納された当該情報を所定記憶領域から読出不可能な状態に設定する処理であってもよい。本実施の形態では、‘読出不可能な状態に設定する’ものとしている。
【0028】
<シングルモードおよびマルチモード>
本実施の形態では、ルームの開設と削除の処理について、シングルモードとマルチモードとの2つの動作モードが提供される。シングルモードとは、チャットルームを開設したユーザのみが、当該チャットルームの削除をすることができる動作モードを指す。より具体的には、チャットルームを開設したユーザ(当事者ユーザという)がルーム開設後において後述するP2P型のデータ通信要求を他のユーザから受信しない期間において、当事者ユーザ側のプレゼンス情報が変化した場合には、当事者ユーザに対して当該チャットルームの削除要求が許可される動作モードを指す。
【0029】
マルチモードとは、チャットルームを開設したユーザを含む当該チャットルームに参加しているユーザそれぞれが、当該ユーザ側のプレゼンス情報が変化したならば、当該チャットルームの削除をすることができる動作モードを指す。より具体的には、参加している各ユーザ側のプレゼンス情報が変化した場合には、またはユーザから指示が入力された場合には、ルーム参加を取消すために、当該ユーザは当該チャットルームの削除要求が許可される動作モードを指す。
【0030】
<ネットワークシステム1の全体構成>
図1に示すように、ネットワークシステム1は、携帯電話100A,100B,100Cと、マッチングサーバ400と、インターネット500と、キャリア網700とを含む。また、本実施の形態に係るネットワークシステム1は、車両250に搭載されるカーナビゲーション装置200を含む。なお、ネットワークシステム1には、インターネット700を介して端末同士が電子メール通信するためのメールサーバが接続されてもよい。
【0031】
説明の容易化のために、以下では、本実施の形態に係るネットワークシステム1が、第1の携帯電話100Aと、第2の携帯電話100Bと、第3の携帯電話100Cとを含む場合について説明する。また、携帯電話100A,100B,100Cの各々に共通の構成や機能を説明する際には、それらを携帯電話100とも総称する。そして、携帯電話100A,100B,100C、カーナビゲーション装置200の各々に共通の構成や機能を説明する際には、それらを通信端末とも総称する。
【0032】
携帯電話100は、キャリア網700に接続可能に構成されている。カーナビゲーション装置200は、インターネット500に接続可能に構成されている。マッチングサーバ400は、インターネット500に接続可能に構成されている。
【0033】
より詳細には、第1の携帯電話100Aと、第2の携帯電話100Bと、第3の携帯電話100Cと、カーナビゲーション装置200とは、キャリア網700や図示のないメールサーバやインターネット500を介して互いに接続可能であって、互いにデータの送受信が可能である。また、携帯電話100とカーナビゲーション装置200には、自端末を特定するための識別情報(たとえば、メールアドレスやIP(Internet Protocol)アドレスなど)が割り当てられる。すなわち、携帯電話100とカーナビゲーション装置200は、内部の記録媒体に他の通信端末の識別情報を記憶することができ、当該識別情報に基づいてキャリア網700やインターネット500などを介して当該他の通信端末とデータ送受信を行うことができる。
【0034】
なお、本実施の形態に係る携帯電話100とカーナビゲーション装置200は、割り当てられるIPアドレスを利用して、図示のないメールサーバを介さずに他の通信端末とデータ送受信を行うものである。ここでは、各通信端末がマッチングサーバ400にアクセスする際には、すなわち各通信端末がインターネット700にアクセスした際に、マッチングサーバ400あるいは他の図示しないサーバ装置などによってIPアドレスが割り当てられるものとする。IPアドレスの割り当て処理の詳細は公知であるので、ここでは説明を繰り返さない。
【0035】
また、本実施の形態に係る携帯電話100、カーナビゲーション装置200は、自身に割り当てられたIPアドレスを利用することにより、直接的に相互にネットワークを介してデータ送受信を行うことが可能である。すなわち、本実施の形態に係るネットワークシステム1に含まれる携帯電話100およびカーナビゲーション装置200は、いわゆるP2P(Pear to Pear)型のネットワークを構成することが可能である。
【0036】
<P2Pの動作概要>
本実施の形態に係る各通信端末は、P2P型のデータ通信を行うために、予め互いのIPアドレスを交換(取得)する必要がある。そして、各通信端末は、IPアドレスを取得したのちに、P2P型のデータ通信によってメッセージや添付ファイルなどを他の通信端末に送信する。チャットは、このP2P型のデータ通信によって実現される。
【0037】
<携帯電話100のハードウェア構成>
図2および図3に示すように、本実施の形態に係る携帯電話100は、外部のネットワークとの間でデータを送受信する通信部101、プログラムや各種データを記憶するROM(Read Only Memory)およびRAM(Random Access Memory)からなる記憶部103、計時部105、制御部106、表示部107、マイク108、音声を出力するスピーカ109、各種情報の入力を受付ける入力部110、外部から通信データや通話信号を受信した旨など各種メッセージを音声または表示で出力するための通知部111、携帯電話100の現在の状態を検知するプレゼンス情報検知部112、および情報を入力するためのタブレット119を備える。
【0038】
制御部106は、CPU(Central Processing Unit)106A、CPU106Aと通信部101との入出力を制御する通信I/F(インターフェイスの略)106B、およびCPU106Aと通信部101を除く他の各部との入出力を制御する入出力I/F(インターフェイスの略)106Cを含む。
【0039】
プレゼンス情報検知部112は、携帯電話100の現在の状態を検知するために、携帯電話100の現在位置を検出するためのアンテナ1131を接続するGPS(global positioning system)1121と、TV放送信号を受信するためのアンテナ1132を接続するTVチューナ1122を含む。
【0040】
なお、プレゼンス情報検知部112は、この他に、速度/加速度を検知するための加速度センサー、現在表示中のコンテンツのURLを検知するためのブラウザ、再生中のコンテンツ情報を検知するためにコンテンツ再生機、起動しているプログラム情報を検知するためにOS(Operating System)、通信先や通信データの情報を検知するために通信デバイス、取り込んだ映像情を検知するためにカメラデバイス、取り込んだ音声情報を検知するためにマイクデバイス、受光量を検知するために光センサー、周囲の温度を検知するために温度センサーを含んでもよい。
【0041】
本実施の形態に係る表示部107は、液晶パネルやCRT(Cathode Ray Tube)から構成されるタッチパネルである。すなわち、本実施の形態に係る携帯電話100は、表示部107の下側(裏側)にタブレット119が敷設されている。これによって、ユーザはスタイラスペン120などを用いることによって、タブレット119を介して、図形情報などを制御部106に手書き入力することができる。表示部107は、制御部106が出力したデータに基づいて、画像やテキストを表示する。
【0042】
入力部110は、キー入力操作などによってユーザから情報を受け付ける。たとえば、入力部110は、通話を受け付けたり、通話を発したりするために操作されるボタン110Aと、メールを受け付けたり、メールを発したりするために操作されるボタン110Bと、P2P型のデータ通信を受け付けたり、P2P型のデータ通信を発したりするために操作されるボタン110Cと、一連の操作をキャンセルするために操作されるボタン110Dと、各種の処理を終了させるために操作されるボタン110Eとを含む。
【0043】
さらに入力部110は、チャットルームの開設を要求するために操作されるボタン112Aと、チャットルームの削除を要求するために操作されるボタン112Bと、開設または参加するチャットルームの情報を表示するために操作されるボタン112Cを含む。
【0044】
<携帯電話100の記憶内容について>
図4を参照して携帯電話100の記憶部103は、記憶領域1030〜1036を含む。記憶領域1030には、チャットルーム開設時に収集されたプレゼンス情報1020が格納される。
【0045】
記憶領域1031には、携帯電話100のユーザの名前のデータ1021、携帯電話100に割り当てられた電話番号のデータ1022、メールアドレスのデータ1023およびIPアドレスのデータ1024、ならびに認証のためのユーザIDのデータ1025およびパスワードのデータ1026が格納される。
【0046】
記憶領域1032には、後述する変換規則データ1027が格納される。記憶領域1033には、携帯電話100の要求に応じて開設されたチャットルームに対応のデータ、または参加するチャットルームに対応するデータを記憶するテーブル1028が格納される。詳細には、テーブル1028には、チャットルームのそれぞれに対応して、フラグのデータ102A、当該ルームを一意に識別するためのルームIDのデータ102B、および当該チャットルームを介して関連付けされた他の通信端末のIPアドレスのデータ102Cが格納される。フラグのデータ102Aは、対応のチャットルームが開設されると“1”に設定されて、対応のチャットルームが削除されると“1”から“0”に更新される。
【0047】
テーブル1028の内容は、ボタン112Cが操作されると、記憶部103から読出されて表示部107に表示される。この場合、対応のデータ102Aのフラグが“0”であるデータ102Bおよび102Cは読出不可能状態に設定されて、読出すことができず、したがって表示されない。
【0048】
記憶領域1034には、ユーザが選択したプレゼンス条件のデータ1029が格納される。プレゼンス条件の選択については後述する。記憶領域1035には、アドレス帳データ1038が格納される。アドレス帳データ1038には、携帯電話100を用いた通信相手に関するデータ(名前、メールアドレス、電話番号など)が格納される。記憶領域1036には、マッチングサーバ400のアドレスのデータ1039が格納される。アドレスのデータ1039はマッチングサーバ400のチャットルームの記憶領域に対応のURLを指示する。
【0049】
<マッチングサーバ400のハードウェア構成について>
図5を参照して、マッチングサーバ400は、処理部401、CRT、液晶などからなるモニタ402、キーボード403およびマウス404を有する。処理部401は、該マッチングサーバ400自体を集中的に制御するためのCPU405、ROM(read only memory)またはRAM(random access memory)を含んで構成されるメモリ406、固定ディスク407、FD(flexible disc)412が着脱自在に装着されて、装着されたFD412をアクセスするFD駆動装置411、CD−ROM(compact disc read only memory)414が着脱自在に装着されて、装着されたCD−ROM414をアクセスするCD−ROM駆動装置413、インターネット500とマッチングサーバ400を通信接続するためのサーバ通信部409、およびタイマからなる計時部410を含む。これらの各部はバス408を介して通信接続される。
【0050】
メモリ406は、各種の情報を記憶するものであって、たとえば、CPU405でのプログラムの実行に必要なデータを一時的に記憶する。固定ディスク407は、CPU405が実行するプログラムやデータベースを記憶する。CPU405は、マッチングサーバ400の各要素を制御するものであって、各種の演算を実施する装置である。
【0051】
サーバ通信部409は、CPU405が出力したデータを電気信号へと変換して外部へ送信し、外部から受信した電気信号をデータに変換してCPU405に入力する。具体的には、サーバ通信部409は、CPU405からのデータを、インターネット500やキャリア網700などを介して携帯電話100やカーナビゲーション装置200に送信する。そして、インターネット500やキャリア網700を介して携帯電話100やカーナビゲーション装置200から受信したデータを、CPU405に与える。
【0052】
ここで、メモリ406あるいは固定ディスク407に記憶されるデータについて説明する。図6には、マッチングサーバ400のメモリ406あるいは固定ディスク407に記憶されるルームIDテーブル43Aのデータ構造を示す。
【0053】
図6を参照して、ルームIDテーブル43Aは、マッチングサーバ400において開設がされたチャットルームのそれぞれに対応して、フラグのデータ431、当該チャットルームを一意に識別するためのルームIDのデータ432、当該チャットルームへ参加するユーザの通信端末に割り当てられたIPアドレスのデータ433、フラグのデータ434および許容人数のデータ435が格納される。
【0054】
データ431が指示するフラグの値は、対応のチャットルームが開設されている期間は“1”に設定される。チャットルームが削除されると、“1”から“0”に更新されて、対応するデータ432〜435は読出し不可能な状態に設定される。
【0055】
データ434が示すフラグは、データ433が示すIPアドレスのそれぞれに対応して格納される。データ434が示すフラグの値は、対応のIPアドレスがルームIDテーブル43Aに登録(格納)されることにより当該ユーザが参加する期間は“1”に設定される。参加が取消されると(キャンセルされると)、“1”から“0”に更新されて、対応するIPアドレスは読出し不可能な状態に設定される。
【0056】
データ435は、対応するチャットルームを介して相互にデータ通信を行なうことができるユーザの許容人数(最大人数)を示す。本実施の形態では、許容人数についての詳細説明は略す。
【0057】
<携帯電話100の機能構成>
図7を参照して、本実施の形態に係る携帯電話100は、端末通信部1061、フレーム解析部1062、フレーム生成部1063、入力受付部1064、通知処理部1065、プレゼンス情報収集部1066、プレゼンス条件決定部1067、ルーム開設要求部1068、プレゼンス監視部1069およびルーム削除要求部1070を備える。これらの各部の機能は予めプログラム・データとして記憶部103の所定記憶領域に格納されており、CPU106Aがこれらプログラム・データを記憶部103から読出し、実行することにより、各部の機能が実現される。
【0058】
図7においては、CPU106Aが有する各機能とデータ・情報を入出力する周辺回路部のみが示される。
【0059】
端末通信部1061は、IPアドレスを用いたP2P型のデータ通信を制御するためのP2P通信部1081と、それ以外の通信(通話、メール通信など)を制御するための非P2P通信部1082を含む。フレーム解析部1062は、端末通信部1061によって受信されたフレームを入力し、入力したフレームのデータを解析し、解析結果を出力する。フレーム生成部1063は、端末通信部1061を介して外部ネットワークに送信するべきフレームを生成する。入力受付部1064は、タブレット119および入力部110から入力されたデータを受付ける。通知処理部1065は、通知部111に対して、外部に出力すべきデータを与える。
【0060】
プレゼンス条件決定部1067は、ユーザがタブレット119または入力部110を操作することによって決定したプレゼンス条件を入力する。プレゼンス条件の決定については後述する。
【0061】
プレゼンス情報収集部1066は、プレゼンス情報検知部112の各部によって検知されたプレゼンス情報を入力する。これをプレゼンス情報を収集するという。
【0062】
ルーム開設要求部1068は、マッチングサーバ400に対してルーム開設を要求する。具体的には、プレゼンス情報収集部1066によって収集されたプレゼンス情報と、プレゼンス条件決定部1067によって決定されたプレゼンス条件とに基づき、開設するべきチャットルームのルームIDを生成するルームID生成部1083、ならびにシングルモードおよびマルチモードに対応して第1および第2ルーム開設要求部1084および1085を含む。
【0063】
プレゼンス監視部1069は、シングルモードおよびマルチモードに対応して第1および第2プレゼンス監視部1086および1087を含む。プレゼンス監視部1069は、プレゼンス情報収集部1066によって収集されるプレゼンス情報と、過去に収集されたプレゼンス情報とを比較し、比較結果に基づき、過去のプレゼンス情報とは相違するか否かを検知する。
【0064】
ルーム削除要求部1070は、入力部110を介してユーザによって削除が指示されたとき、または、プレゼンス監視部1069が上述したプレゼンス情報の相違を検知したとき、マッチングサーバ400に対して、チャットルームの削除を要求する。
【0065】
<マッチングサーバ400の機能構成>
図8を参照して、マッチングサーバ400は、ルーム開設部420、ルーム受付部421、ルーム削除部422、フレーム生成部423およびフレーム解析部424を含む。これらの各部は、固定ディスク407またはメモリ406の所定の記憶領域に予めプログラム・データとして格納されており、CPU405が所定記憶領域からプログラム・データを読出し、実行することにより、各部の機能が実現される。マッチングサーバ400は、さらにメモリ406および固定ディスク407によって構成される記憶部426を備える。
【0066】
記憶部426には、前述したルームIDテーブル43A、マッチングサーバアドレスのデータ43BおとびユーザIDとパスワードが対応付けて記憶されたユーザID/パスワードテーブル43Cが格納される。
【0067】
ルーム開設部420は、記憶部426のルームIDテーブル43Aに、新たに生成するべきチャットルームに対応するデータを格納することにより、チャットルームを開設する。ルーム受付部421は、携帯電話100から受信したチャットルームに関する各種要求の受付処理を行なう。ルーム削除部422は、ルーム受付部421が携帯電話100からチャットルームの削除要求を受付けたときに、要求されたチャットルームを削除する。フレーム生成部423は、サーバ通信部409を介してインターネット500に送信するべきデータのフレームを生成し、生成したフレームをサーバ通信部409に出力する。フレーム解析部424は、サーバ通信部409がインターネット500を介して受信したデータのフレームを解析し、解析結果を出力する。
【0068】
<ルームID生成処理>
図7に示すルームID生成部1083の機能について、図9〜図12を参照し説明する。
【0069】
図11には、ユーザがプレゼンス条件を選択するために、プレゼンス条件決定部1067が表示部107に表示する画面の一例が示される。図11のプレゼンス条件選択画面においては、ルームIDを生成するために参照されるべきプレゼンス情報を決定するために複数のプレゼンス条件の候補1075が表示される。プレゼンス条件の候補1075とし、図11においては、たとえば、携帯電話100の移動の“方向”および“速度”、携帯電話100の現在の“位置”、ならびに携帯電話100で受信するTV放送信号の“チャンネル”が示される。
【0070】
また、プレゼンス条件の候補1075の各々に対応して、チェックボックス1071が表示される。ユーザは、タブレット119を操作して、所望のプレゼンス条件の候補1075に対応のチェックボックス1071をチェックすることにより、ルームIDを生成するために参照されるべきプレゼンス情報を選択することができる。
【0071】
図11においては、プレゼンス条件の候補1075のうち“速度”と“位置”については、詳細な条件を設定するためのチェックボックス1072が示される。プレゼンス条件の候補1075である“速度”には、収集すべき速度値について何桁の精度まで要求するかを指定するためのチェックボックス1072が示される。同様に、携帯電話100の現在位置の精度を指定するためにチェックボックス1072が示される。“速度”についてはA、BおよびCが当てられた3個のチェックボックス1072が表示される。A、BおよびCのチェックボックス1072それぞれチェックすることにより、速度の値について2桁、3桁および4桁のそれぞれの精度で入力することが指示される。同様に、プレゼンス条件の候補1075の“位置”についてA、BおよびCのチェックボックス1072をそれぞれチェックすることにより、位置の値について1桁、2桁および3桁のそれぞれの精度で入力することが指示される。
【0072】
さらに、表示部107には、ユーザがプレゼンス条件を選択し、その選択内容を決定するために操作するボタン1073と、選択した内容をキャンセルするために操作するボタン1074も表示される。
【0073】
プレゼンス条件決定部1067は、ボタン1073が操作されると、図11の画面を介してユーザにより選択された内容を読取り、プレゼンス条件のデータ1029として、記憶部103の記憶領域1034に格納する。
【0074】
次に、図9のフローチャートに従い、ルームID生成処理について説明する。なお、ここでは、予めプレゼンス条件選択画面を介して図11のとおりユーザが指定したプレゼンス条件のデータ1029が、記憶部103に格納されていると想定する。
【0075】
まず、ルームID生成部1083は、プレゼンス情報収集部1066により収集されたプレゼンス情報を入力する。
【0076】
具体的には、ルームID生成部1083は、記憶部103から読出したプレゼンス条件のデータ1209に基づき、‘移動方向’が指定されたか否かを判定する(ステップT3)。移動方向の指定がないと判定すると後述のステップT7に移行する。
【0077】
移動方向の指定があると判定すると(ステップT3でYES)、プレゼンス情報収集部1066から入力したプレゼンス情報の中から方向情報を入力する(ステップT5)。その後、ステップT7の処理に移る。
【0078】
次に、プレゼンス条件のデータ1209に基づき、‘速度’が指定されたか否かを判定する(ステップT7)。速度の指定がないと判定すると、後述するステップT15の処理に移る。
【0079】
‘速度’の指定がされていると判定すると(ステップT7でYES)、プレゼンス条件のデータ1209に基づき、プレゼンス情報の“速度”についてA〜Cのいずれのチェックボックス1072が選択(チェック)されたかを判定する(ステップT9)。そして、その判定結果に基づきステップT11において、入力するべき速度情報の精度を決定する。具体的には、チェックボックスA、BおよびCのそれぞれに対応して、速度の値の小数点以下1桁、2桁および3桁までのそれぞれを入力することが指示される。ルームID生成部1083は、ステップT9およびステップT11の処理結果に基づく精度で、速度情報を入力する(ステップT13)。その後、ステップ15の処理に移る。
【0080】
同様にして、位置情報が入力される場合においても、ステップT15、T17およびT19において、ステップT17およびT19で指定された精度に従い位置情報を入力する(ステップT21)。その後、ステップT23の処理に移る。
【0081】
ルームID生成部1083は、プレゼンス条件のデータ1209に基づき、‘チャンネル’が指定されたか否かを判定する(ステップT23)。チャンネルの指定がないと判定すると後述のステップT27に移行する。
【0082】
チャンネルが指定されていると判定すると(ステップT23でYES)、プレゼンス情報収集部1066から入力したプレゼンス情報のうちから、TVチューナ1122によって現在チューニングされているチャンネルの情報を入力する(ステップT25)。その後、ステップT27の処理に移る。
【0083】
ルームID生成部1083は、ステップT5、T13、T21およびT25で入力したプレゼンス情報に基づき、記憶部103から読出した変換規則データ1027を参照しならが、ルームIDを生成する(ステップT27)。生成したルームIDは、記憶部103の記憶領域1033のテーブル1028にデータ102Bとして格納される(ステップT29)。このとき、対応するデータ102Aのフラグは“0”に設定されて、対応のデータ102CのIPアドレスは空データに設定される。
【0084】
以上で、ルームID生成処理は終了する。
ここで、図10(A)と(B)を参照し、ステップT27における、変換規則データ1027を参照したルームIDの生成について説明する。
【0085】
図10(A)には、ステップT5、T13、T21およびT25の処理において入力されたプレゼンス情報の一例が示される。これらのプレゼンス情報は、変換規則データ1027が示す変換規則に従って、図10(B)のようにアルファベット、数字および記号を組合わせたデータ列に変換される。図10(B)のデータ列を組合せる(たとえば、連結する)ことによって、プレゼンス情報に基づいたルームIDが生成される。連結したデータ列の一例が、図6のデータ432として示される。
【0086】
図12〜図22に示すフローチャートにより、携帯電話100とマッチングサーバ400との間の通信によるチャットルームの開設と削除の処理が示される。これらのフローチャートに従うプログラムは、携帯電話100の記憶部103に予め記憶されて、CPU106Aによって読出されて実行される。また、マッチングサーバ400側のプログラムは、メモリ406、固定ディスク407、FD412およびCD−ROM414に予め格納されており、そこに格納されたプログラムをCPU405が読出し実行することにより実現される。
【0087】
<通信フレームの構成>
図12〜図22に示すフローチャートにおいて、携帯電話100とマッチングサーバ400の間で送受信されるフレーム構成について説明する。
【0088】
図23を参照して、フレーム600は、ヘッダ部610と、データ部620を含む。ヘッダ部610には、当該フレームの種別(タイプ)を指示するデータ611、当該フレームの宛先を示すデータ612および当該フレームの送信元を示すデータ613が格納される。データ部620は、送信すべきデータを格納する。
【0089】
データ611が示すタイプは、本実施の形態では、要求フレームであることを示す“1”と、要求の受付を示す“0”のいずれかの値となる。また、本実施の形態ではフレーム600は、携帯電話100とマッチングサーバ400との間で送受信されるため、データ612および613としては、携帯電話100の記憶部103から読出されたメールアドレスのデータ1023、およびマッチングサーバアドレスのデータ1039または43Bのいずれかが格納される。
【0090】
携帯電話100が、チャットルーム作成を要求する場合には、図24のルーム開設要求のフレーム601が携帯電話100から、マッチングサーバ400に宛てて送信される。フレーム601は、データ611が“1”を指示し、データ612および613として、記憶部103から読出されたマッチングサーバアドレスのデータ1039とメールアドレス1023がそれぞれ格納される。また、データ部620には、命令コード621と、ルームIDのデータ622と、IPアドレスのデータ623とが格納される。命令コード621は、ルーム開設要求のコマンドを示す。データ622として、ルームID生成部1083によって生成されたルームIDのデータ102Bがテーブル1028から読出されて格納される。データ623として、送信元の携帯電話100に予め割り当てられたIPアドレスのデータ1024が、記憶部103から読出されて格納される。
【0091】
マッチングサーバ400は、ルーム開設要求のフレーム601を受信した場合に、図25のルーム開設受付のフレーム602を生成し、携帯電話100宛てに送信する。フレーム602は、ヘッダ部610においてデータ611は“0”を示し、データ612として受信したフレーム601のデータ613が格納される。また、データ613として、記憶部426から読出したマッチングサーバアドレスのデータ43Bが格納される。データ部620には、命令コード621として空データが格納される。また、受信したルーム開設要求のフレーム601のデータ622が格納される。また、データ624として、ルーム開設の要求を受付けたことを示すデータが格納される。
【0092】
携帯電話100が図24のルーム開設要求のフレーム601を送信した場合において、当該フレーム601のデータ622が指示するルームIDと一致するルームIDを有するチャットルームが既に開設されている場合には、マッチングサーバ400から、携帯電話100に宛てて、図26に示すルーム参加受付のフレーム603が送信される。フレーム603は、ヘッダ部610にフレーム602と同様のデータが格納される。データ部620には、ルーム開設要求のフレーム601のデータ622が格納される。また、当該ルーム開設要求のフレーム601の受信によって、チャットルームへの参加が受付けられたことを示す“参加受付”を示すデータ624と、当該チャットルームに参加しているユーザの携帯電話100のIPアドレスのデータ625が格納される。
【0093】
携帯電話100は、チャットルームの削除をマッチングサーバ400に対して要求する場合には、図27に示すルーム削除要求のフレーム604をマッチングサーバ400に宛てて送信する。フレーム604は、ヘッダ部610においてデータ611が“1”を指示し、データ612および613として、記憶部103から読出したマッチングサーバアドレスのデータ1039とメールアドレスのデータ1023がそれぞれ格納される。また、データ部620には、命令コード621、およびデータ622と624が格納される。命令コード621は、チャットルームの削除要求のコマンド“C2”を指示する。データ622として、削除を要求するチャットルームのルームIDが格納される。このデータ622として、記憶部103のテーブル1028から読出されたデータ102Bが格納される。データ623として、記憶部103の記憶領域1031から読出された自己のIPアドレスのデータ1024が格納される。
【0094】
マッチングサーバ400が、携帯電話100からルーム削除要求のフレーム604を受信した場合には、当該要求を受付けたことを示す図28のルーム削除受付のフレーム605を携帯電話100宛てに送信する。フレーム605はヘッダ部610においてデータ611は“0”を示し、データ612は、受信したフレーム604のデータ613を指示し、データ613は、記憶部426から読出したマッチングサーバアドレスのデータ43Bを指示する。データ部620においては、命令コード621は空データを指示し、データ622として、削除要求を受付けたチャットルームのルームID(ルーム削除要求のフレーム604のデータ622が指示するルームID)が格納され、および“削除受付”を指示するデータ624が格納される。
【0095】
各図を参照し、チャットルームの開設および削除に関する一連の処理手順について説明する。
【0096】
図12を参照し、携帯電話100においては、CPU106Aは、操作の待ち受け画面が表示されている状態において、ユーザから入力部110のボタン110Cが操作されることによってP2P型のデータ通信開始の指示が入力されたか否かを判定する(ステップT31、T33およびT35)。ボタン10Cが操作されて、P2P型のデータ通信の開始が指示されたことが判定されると(ステップT35でYES)、プレゼンス条件決定処理へ移行する。P2P型のデータ通信の開始が指示されない間は(ステップT35でNO)、ステップT33およびT35の処理が繰返される。
【0097】
<プレゼンス条件決定処理>
プレゼンス条件決定部1067によるプレゼンス条件決定処理について、図13のフローチャートに従い説明する。
【0098】
まず、プレゼンス条件決定部1067は、プレゼンス情報収集部1066を介して、プレゼンス情報検知部112からの検知出力に基づくプレゼンス情報を収集する(ステップT37)。
【0099】
次に、表示部107に、図11の画面を表示することにより、複数のプレゼンス条件の候補1075を提示する(ステップT39)。続いて、ユーザによるペン120の操作によるプレゼンス条件の候補1075の選択入力を待つ(ステップT41)。プレゼンス条件が選択されて決定のボタン1073が操作されると(T43でYES)、図11のように決定されたプレゼンス条件を入力して、記憶部103の記憶領域1034にプレゼンス条件のデータ1029として格納する(ステップT45)。その後、ルーム開設要求部1068によるルーム開設処理が行なわれる。
【0100】
<シングルモードのルーム開設処理>
第1ルーム開設要求部1084によって実行されるシングルモードのルーム開設処理について、図14のフローチャートに従い説明する。
【0101】
ルーム開設要求部1068は、入力受付部1064を介してユーザのタブレット119または入力部110の操作により、シングルモードが指定されていると判定すると、第1ルーム開設要求部1084を起動する。なお、入力受付部1064を介してモードのデータを受付ける都度、受付けたモードデータを記憶部103の所定領域に格納しておけば、記憶部103から読出した当該モードデータに基づき現在の指定モードを検知することができる。
【0102】
第1ルーム開設要求部1084は、端末通信部1061を介して通信部の初期化処理を行なう(ステップT47)。この初期化処理において、所定の手順に従い、自己の携帯電話100に割り当てられるべきIPアドレスを受信することによって取得する。このIPアドレスは、記憶部103の記憶領域1031にデータ1024として格納される。このIPアドレスは、マッチングサーバ400との通信により取得してもよいし、他の図示されないサーバとの通信によって取得してもよい。
【0103】
続いて、マッチングサーバ400に対して、通信を開始するためのログイン処理を行なう(ステップT49)。具体的には、記憶部103から読出したユーザID1025およびパスワード1026を用いた認証処理を経てログイン処理が行なわれる。ログイン処理が行なわれると、計時部105によってマッチングサーバ400との通信接続を確立するのに要する所定時間の計測が開始される(ステップT51)。マッチングサーバ400から応答を受信することによって、マッチングサーバ400との接続に成功したと判定されると(ステップT53でYES)、後述するステップT57の処理に移る。
【0104】
一方、所定時間を経過してもマッチングサーバ400からの応答を受信できずに、接続に成功しなかったと判定された場合には(ステップT35でNO、ステップT55でYES)、タイムアウト発生の処理が行なわれる(ステップT56)。つまり、表示部107にエラー表示(‘マッチングサーバ400との接続に失敗しました’とのメッセージを表示)し、端末通信部1061によるマッチングサーバ400との通信終了の処理を行なう。
【0105】
マッチングサーバ400との接続に成功した場合には(ステップT53でYES)、第1ルーム開設要求部1084はルームID生成部1083に、ルームIDの生成をするように指示する。ルームID生成部1083は、指示に応じて図9の手順に従いルームIDを生成する。生成されたルームIDは、記憶領域1033のテーブル1028にデータ102Bとして格納される。
【0106】
続いて、第1ルーム開設要求部1084は、フレーム生成部1063により図24のルーム開設要求のフレーム601を生成し、端末送信部1061の非P2P通信部1082を介してマッチングサーバ400に送信する(ステップT59)。その後、計時部105によりマッチングサーバ400から非P2P通信部1082を介して応答のフレームを受信するための所定時間を計測する(ステップT61)。所定時間内に、マッチングサーバ400から、図25または図26のルーム開設受付のフレーム602またはルーム参加受付のフレーム603を受信するかを検知する(ステップT63、T65、T67)。
【0107】
受信したフレームのデータを解析し、解析結果に基づきルーム参加受付のフレーム603を受信したと検知した場合には(ステップT65でYES)、テーブル1028のデータを更新する(ステップT66)。具体的には、当該受信フレーム603に格納されている参加IPアドレスのデータ625を、テーブル1028の対応するデータ102Cとして追加格納する。これにより、テーブル1028には、データ102Bが示すルームIDのチャットルームに参加している他のユーザの携帯電話100のIPアドレスのデータ625が格納されたことになる。また、受信フレームの解析結果に基づきルーム参加受付のフレーム603を受信したことを検知するので、自己が要求したチャットルームが既に開設されていたと判定する。したがって、テーブル1028の対応するデータ102Aが示すフラグの値を“1”に更新する。
【0108】
その後、携帯電話100のユーザは、テーブル1028のデータ102Cに格納されているIPアドレスを用いて、チャットルームに参加している他のユーザの携帯電話100との間でP2P型のデータ通信処理をP2P通信部1081を介して開始し(ステップT70)、以降、P2P型のデータ通信が行なわれる。
【0109】
一方、マッチングサーバ400からの応答として参加受付フレーム603ではなく(ステップT65でNO)、チャットルーム開設の受付フレーム602を受信した場合には(ステップT67でYES)、テーブル1028のデータを更新する(ステップT68)。具体的には、当該受信フレーム602に格納されているルームIDのデータ622に基づきテーブル1028を検索し、ヒットしたルームIDのデータ102Bに対応のデータ102Aが示すフラグの値を“1”に更新する
その後、プレゼンス監視部1069によるプレゼンスの監視処理が行なわれる。
【0110】
一方、参加受付のフレーム603および開設受付のフレーム602のいずれも受信することなく、所定時間が経過したと判定されると(ステップT69でYES)、第1ルーム開設要求部1084は、通信プロトコル上のエラー発生のための処理を実施する(ステップT71)。たとえば、表示部107に、エラー表示(‘マッチングサーバからの応答がありません’のメッセージ表示)をし、端末通信部1061による通信処理を終了させる。
【0111】
図15には、チャットルーム開設処理における、携帯電話100とマッチングサーバ400との間の通信シーケンスが示される。まず、両者の間でTCP(Transmission Control Protocol)に従う接続処理P1が行なわれる。この処理P1は、ステップT47に相当する。処理P1に続いて、ログイン処理P2が実施される。処理P2は、ステップT49に相当する。続いて、チャットルームの開設処理P3が行なわれる。このための通信処理は、ステップT59〜ステップT67の処理に相当する。チャットルームの開設処理のための通信の終了時には、TCPに従う切断処理P5が行なわれる。処理P5によって、携帯電話100とマッチングサーバ400との通信が終了する。
【0112】
<シングルモードのプレゼンス監視処理>
第1プレゼンス監視部1086によって実行されるシングルモードのプレゼンス監視処理について、図16のフローチャートに従い説明する。
【0113】
プレゼンス監視部1069は、入力受付部1064を介してユーザのタブレット119または入力部110の操作により、シングルモードが指定されていると判定すると、第1プレゼンス監視部1086を起動する。
【0114】
第1プレゼンス監視部1086は、他の携帯電話100からのP2P型のデータ通信の接続要求の待ち受け処理を開始する(ステップT73)。具体的には、端末通信部1061のP2P通信部1081を介して、他の携帯電話100からIPアドレスに基づくP2P接続要求を受信するか否かを検知する。この受信の検知は、計時部105によって所定期間計時される期間においてなされる(ステップT75、ステップT81)。
【0115】
P2P型のデータ通信接続要求の待ち受け期間において、第1プレゼンス監視部1086は、P2P通信部1081を介して他の携帯電話100とP2P通信のための接続が確立されるか否かを検知する(ステップT77)。接続が確立されたと検知すると(ステップT77でYES)、第1プレゼンス監視部1086はP2P型のデータ通信の接続の待ち受け処理を終了する(ステップT93)。その後、チャットルームの削除処理へ移行する。
【0116】
一方、計時部105による所定時間の計時期間において、P2P型のデータ通信接続の確立がされないと検知されると(ステップT77でNO)、続いて、入力受付部1064の出力に基づき、ユーザがP2P通信要求を取消すために携帯電話100のキャンセルのボタン110Dを操作したか否かを検知する(ステップT79)。第1プレゼンス監視部1086は、入力受付部1064を介して、キャンセルのボタン110Dが操作されたことを検知すると(ステップT79でYES)、前述したステップT93の処理に移り、続いてチャットルームの削除処理へ移行する。
【0117】
一方、キャンセルのボタン110Dが操作されないと検知すると(ステップT79でNO)、計時部105により所定時間経過したことが計時されたか否かを判定する(ステップT81)。所定時間経過していないと判定すると(ステップT81でNO)、ステップT77の処理に戻り、ステップT77〜ステップT81の処理を同様に繰返す。
【0118】
一方、所定時間経過したことを判定すると(ステップT81でYES)、第1プレゼンス監視部1086は、プレゼンス情報が変化しているかを検知するために、プレゼンス情報収集部1066に対して情報収集を指示する。プレゼンス情報収集部1066は、情報収集の指示に応答して、プレゼンス情報を収集して第1プレゼンス監視部1086に出力する。
【0119】
第1プレゼンス監視部1086は、記憶部103からプレゼンス条件のデータ1029を読出す(ステップT83)。そして、プレゼンス情報収集部1066から入力したプレゼンス情報から、読出したデータ1029が示すプレゼンス条件が指定するプレゼンス情報を入力する(ステップT85)。
【0120】
続いて、第1プレゼンス監視部1086は、ステップT85で入力した現在のプレゼンス情報と、記憶部103から読出したルーム開設要求時のプレゼンス情報1020とを比較し、比較結果に基づきプレゼンス情報が変化しているか否かを検知する(ステップT87)。比較結果に基づき、両プレゼンス情報は一致していると判定される間は(ステップT89でNO)、処理はステップT75に戻り、再度、所定時間の計測が開始され、プレゼンスの監視処理が継続する。
【0121】
一方、両情報が一致していない、すなわちプレゼンス情報に変化があったと検出されると(ステップT89でYES)、プレゼンス情報変化発生の処理が行なわれる(ステップT91)。具体的には、第1プレゼンス監視部1086は、表示部107に、“プレゼンス情報は指定された条件に適合しませんでした。チャットルームを削除します”とのメッセージを表示する。このようなメッセージ表示は、通知処理部1065を介し、通知部111によって、音声、またはLED(Light Emitting Diode)などのランプの点灯により報知されてもよい。その後、処理はステップT93の処理を経て、ルーム削除処理に移行する。
【0122】
なお、ステップT87では、プレゼンス情報の変化を検出するようにしているが、次のようにしてもよい。つまり、現在収集されるプレゼンス情報から生成されるルームIDと、テーブル1028から読出したデータ102Bが指すルームIDとを比較して、その変化を検出するようにしてもよい。
【0123】
このように、シングルモードにおいては、ステップT66、T67およびT70の処理により、ユーザは、開設されているチャットルームから所望チャットルームを検索する作業をしなくても、自己の携帯電話100と同じ状態にある、すなわち同じプレゼンス情報(同じチャンネルの放送番組を視聴している、ある範囲に位置して居るなど)を有する通信相手を見つけ出してP2P型のデータ通信(チャット通信)を行なうことができる。また、第1プレゼンス監視部1086は、チャットルーム開設後において他の携帯電話100からP2P型のデータ通信要求を待ち受けする期間において、プレゼンス情報の相違(情報の変化)が検出されると、P2P型のデータ通信接続の待ち受け処理を強制的に終了し、チャットルームの削除処理へと移行することになる。
【0124】
これにより、現在のプレゼンス情報(携帯電話100の状態)がチャット開始要求のためのチャットルーム開設要求時のプレゼンス情報に一致しなくなった場合には、他の携帯電話100からのチャット通信要求の受付を回避することができる。その結果、携帯電話100のユーザは、チャット要求時のプレゼンス情報に一致するプレゼンス情報を有した携帯電話100のユーザの間でのみチャット通信を行なうことができる。また、開設はしたもののプレゼンス情報が変化してチャット要求が不要になった場合には、ユーザが特別な操作をせずとも、開設したチャットルームを自動的に削除することができる。
【0125】
<チャットルームの削除処理>
図17のフローチャートに従いルーム削除要求部1070によるチャットルームの削除処理について説明する。
【0126】
ルーム削除要求部1070は、非P2P通信部1082を介してマッチングサーバ400に対する接続処理(ログイン処理)を開始する(ステップT100)。ログイン処理においては、記憶部103から読出されたユーザID1025およびパスワード1026を用いた認証処理が行われる。その後、計時部105により所定時間の計時が開始される(ステップT101)。この所定時間において、マッチングサーバ400からの応答に基づき、マッチングサーバ400に対して接続が確立したか否かを判定する(ステップT103)。
【0127】
接続に成功したと検知されず(ステップT103でYES)、所定時間経過したことが検知されると(ステップT117でYES)、接続タイムアウト発生の処理(ステップT119)が行なわれる。具体的には、ルーム削除要求部1070は、表示部107にエラー表示(“サーバとの接続に失敗しました”のメッセージ表示)をし、マッチングサーバ400との通信のための処理を終了する。
【0128】
一方、所定時間内に接続に成功したと検知されると(ステップT103でYES)、ルーム削除要求部1070は、記憶部103のテーブル1028から、ルームIDのデータ102Bを読出す(ステップT105)。読出されたルームIDのデータ102Bは、フレーム生成部1063に与えられる。
【0129】
ルーム削除要求部1070は、フレーム生成部1063に対し、ルーム削除要求のフレーム604を生成するように指示する。フレーム生成部1063は、与えられる指示に基づき記憶部103からデータを読出し、読出したデータおよび与えられるルームIDのデータ102Bに基づき、ルーム削除要求のフレーム604を生成する。生成したルーム削除要求のフレーム604は端末通信部1061に与えられる。端末通信部1061の非P2P通信部1082は、与えられるルーム削除要求のフレーム604を、マッチングサーバ400宛に送信する(ステップT107)。
【0130】
続いて、計時部105により、ルーム削除要求のフレーム604に対する応答であるルーム削除受付のフレーム605を受信するための所定時間の計測を開始する(ステップT109)。ルーム削除要求部1070は、非P2P通信部1082を介して、マッチングサーバ400からルーム削除受付のフレーム605を受信するか否かを判定する(ステップT111、T113)。
【0131】
マッチングサーバ400から送信されたフレームは、端末通信部1061の非P2P通信部1082により受信される。受信されたフレームはフレーム解析部1062に与えられる。フレーム解析部1062は、与えられるフレームのデータを解析し、解析結果に基づき、受信フレームのデータ611が示すタイプおよびデータ部620に削除受付を示すデータ624が格納されていると判定したことに応じて、受信したフレームがルーム削除受付のフレーム605であると判定する。そして、その判定結果を、ルーム削除要求部1070に出力する。
【0132】
ルーム削除要求部1070は、フレーム解析部1062から入力した判定結果に基づき、ルーム削除受付のフレーム605を受信したと判定すると(ステップT113でYES)、チャットルームの削除成功の処理を行なう(ステップT115)。具体的には、テーブル1028の削除したルームに対応のデータ102Aのフラグを“1”から“0”に更新する。そして、表示部107に、‘チャットルームは削除されました’のメッセージ表示、または通知処理部1065を介して通知部111からチャットルーム削除の旨を音声・LEDで通知する。
【0133】
ルーム削除要求のフレーム604を送信後の所定時間内は、ルーム削除受付のフレーム605の受信待ちが継続する(ステップT113でNO、ステップT121でNO)。
【0134】
所定時間を経過しても、ルーム削除受付のフレーム605を受信できなかった場合には(ステップT121でYES)、通信プロトコルに係るエラー発生の処理が行なわれる(ステップT123)。具体的には、表示部107にエラーメッセージ表示、または通知処理部1065を介して通知部111からチャットルーム削除の旨を音声・LEDで通知する。メッセージとしては、たとえば“サーバからの応答がありません”と表示する。その後、マッチングサーバ400との通信のための処理を終了する。
【0135】
図18を参照して、携帯電話100とマッチングサーバ400との間における、チャットルームの削除に係る通信のシーケンスを説明する。まず、TCPに従う接続処理P1が行なわれる。続いてログイン処理P2が行なわれる。ログイン処理P2は、図17のステップT100に相当する。
【0136】
続いて、開設したチャットルームを削除するために、ルーム削除処理P4が行なわれる。ルーム削除処理P4は、ステップT107〜T113に相当する。その後、処理P5において、TCPに従う通信回線の切断処理が行われる。
【0137】
<シングルモードでのマッチングサーバの処理>
上述したシングルモードでの携帯電話100によるルームの開設要求およびルームの削除要求の処理が行なわれるとき、マッチングサーバ400においては、図19のフローチャートに従う動作が行なわれる。
【0138】
図19を参照して、マッチングサーバ400においては、サーバ通信部409の初期化が行なわれると(ステップS3)、インターネット500を介し、携帯電話100から接続(ログイン処理)されるのを待ち受ける(ステップS5)。ログイン処理によって携帯電話100の接続に成功したと判定すると(ステップS7でYES)、計時部410により計時される所定時間内に、携帯電話100からのフレーム受信を待機する(ステップS11)。ログイン処理においては、携帯電話100から動作モードの種別(シングルモード/マルチモード)が通知されるので、マッチングサーバ400は通知がされたモードに従い動作する。
【0139】
ログイン処理時の認証処理は、携帯電話100から送信されたユーザIDおよびパスワードに基づき、CPU405が、記憶部426に格納されたユーザID/パスワードテーブル43Cを検索し、一致するデータが格納されているか否かに基づき行なう。受信したユーザIDおよびパスワードが、ユーザID/パスワードテーブル43Cに格納されていると検知すると、認証に成功し接続を許可する(ステップS7でYES)。認証に成功せず接続を許可しない判定される間は、ステップS5によるログイン処理を繰返す。
【0140】
ステップS11において、サーバ通信部409によってインターネット500を介しフレームを受信すると、受信したフレームは、フレーム解析部424に与えられる。フレーム解析部424は、入力したフレームのヘッダ部610のデータ611が示すタイプおよびデータ部620の命令コード621が示すコマンドに基づき、受信したフレームがルーム開設要求のフレーム601であるか、削除要求のフレーム604であるかを判定する。
【0141】
削除要求のフレーム604を受信したと判定すると(ステップS13でYES)、ステップS15において、受信したルーム削除要求フレーム604の内容がフレーム解析部424からルーム削除部422に与えられる。ルーム削除部422は、与えられるフレームのデータ部620の内容に基づき処理を行う。すなわち命令コード621が示す削除コマンドに従い、記憶部426のルームIDテーブル43Aを、データ622が示すルームIDに基づき検索し、一致するルームIDのデータ432に対応のフラグのデータ431を“1”から“0”に更新する(ステップS15)。これにより、ルームIDテーブル43Aから、データ622が示すルームIDのチャットルームが削除される。その後、処理はステップS16に移行する。
【0142】
ステップS16では、ルーム削除受付けのフレーム605が要求元の携帯電話100に宛てて送信される。具体的には、ルーム削除部422は、ルームを削除をしたことをフレーム生成部423に通知する。フレーム生成部423は、当該通知を受けて、ルーム削除受付のフレーム605を生成する。生成したルーム削除受付のフレーム605は、サーバ通信部409に与えらる。サーバ通信部409は、与えられたルーム削除受付のフレーム605を、インターネット500を介し、携帯電話100に宛てて送信する。
【0143】
その後、サーバ通信部409によって、携帯電話100との通信を切断する処理が行なわれる(ステップS33)。その後、処理はステップS5に戻る。
【0144】
ステップS13に戻り、フレーム解析部424が、削除要求のフレーム604ではなく(ステップS13でNO)、ルーム開設要求のフレーム601を受信したことを検知すると(ステップS17でYES)、処理はステップS19に移行する。
【0145】
ステップS19においては、ルーム受付部421はフレーム解析部424の解析結果に従い、受信したルーム開設要求のフレーム601のデータ部620の内容に基づき、処理する。具体的には、命令コード621が指示するルーム開設の要求コマンドに従い、データ622が示すルームIDに基づきルームIDテーブル43Aを検索する。その結果、ルームIDテーブル43Aに、一致したルームIDを検索でき且つ対応するデータ431のフラグが‘1’を指示すると判定した(ヒットした)場合には(ステップS21でYES)、ルーム参加受付のフレーム603が送信される(ステップS23)。
【0146】
具体的には、ルーム受付部421の検索結果は、フレーム生成部423に与えられる。フレーム生成部423は、与えられる検索結果に応じて、ルーム参加受付のフレーム603を生成する。生成されたルーム参加受付フレーム603は、サーバ通信部409を介して、携帯電話100に送信される。
【0147】
ここで、ルーム参加受付のフレーム603の生成について説明する。ルーム受付部421は、ルームIDテーブル43Aを検索し、“ヒット”の検索結果を得ると、ルームIDテーブル43Aから、当該ルームID622に一致するルームIDのデータ432に対応するIPアドレスのデータ433を読出し、フレーム生成部423に与える。したがって、フレーム生成部423は、生成するルーム参加受付のフレーム603にデータ625として与えられるIPアドレスのデータ433を格納する。
【0148】
このようにして、ユーザがルーム開設要求のフレーム601を送信した場合において、既にルームIDテーブル43Aにおいて同一のルームIDが格納されていた(すなわち、チャットルームが既に開設されていた)場合には、受信したルーム開設要求のフレーム601のデータ623が示すIPアドレスが、ルームIDテーブル43Aの該当するルームIDのデータ432に対応したデータ433として追加格納される。また、その時点で当該ルームIDのデータ432に対応して格納されていたデータ433が指す1つ以上のIPアドレスは、データ625としてルーム参加受付のフレーム603に格納されることによって、要求元の携帯端末100に対して送信される。これにより、ルーム開設要求のフレーム601を送信した場合において、既にルームが開設されていた場合には、要求元の携帯電話100に対して、既に開設されているチャットルームに参加している他のチャット通信相手のIPアドレスを配信することができる。
【0149】
サーバ通信部409が、フレーム生成部423によって生成されたルーム参加受付フレームを送信した後は、前述した切断処理(ステップS33)が行なわれる。
【0150】
ステップS21の処理に戻り、ルームIDテーブル43Aを検索し、その結果“ヒット”が検出されない場合には(ステップS21でNO)、言い換えるとルームIDテーブル43Aに一致するルームIDのデータ432が未登録である場合には、チャットルームを開設し(ステップS25)、ルーム開設受付のフレーム602を要求元の携帯電話100に送信する(ステップS27)。
【0151】
具体的には、開設が要求されたチャットルームのルームIDがルームIDテーブル43Aに未登録である場合には(ステップS21でNO)、ルーム受付部421は、ルームIDテーブル43Aの検索結果を、ルーム開設部420に与える。ルーム開設部420は、与えられる検索結果に従い、受信したルーム開設要求のフレーム601のデータ部620に基づき、チャットルームを開設する。具体的には、データ部620の命令コード621が指示する開設コマンドに基づき、データ622が指示するルームIDとデータ623が指示するIPアドレスとを対応付けて、ルームIDテーブル43Aに格納する。格納されたこれらデータに対応のデータ431が指すフラグは、この時点で“1”に設定される。
【0152】
ルーム開設部420は、新たなルームの開設が終了すると、ルームを開設したことを指示する通知を、フレーム生成部423に与える。フレーム生成部423は、受信していたルーム開設要求フレーム601のデータと、ルーム開設部420から与えられる通知とに基づき、図25に示すルーム開設受付のフレーム602を生成し、サーバ通信部409に与える。サーバ通信部409は、与えられるルーム開設受付のフレーム602を要求元の携帯電話100に宛てて送信する。
【0153】
その後、処理は、切断処理(ステップS33)に移行する。
ステップS17の処理に戻り、受信したフレームが、ルームの削除要求のフレーム604でもなく、開設要求のフレーム601でもないと判定されると(ステップS13でNO、ステップS17でNO)、ステップS29において、フレームの受信処理の開始から所定時間が経過したかが判定される(ステップS29)。所定時間経過したと判定されない間は、処理はステップS11に戻り、以降の処理が同様に繰返される。
【0154】
一方、所定時間経過しても、これらフレームを受信できないと検知された場合には(ステップS29でNO)、CPU405は、プロトコル上のエラー発生の処理を行なう(ステップS31)。たとえば、表示部402にプロトコル上のエラー発生の旨のメッセージを表示する。その後、処理は切断処理に移行する(ステップS33)。
【0155】
以上のように、マッチングサーバ400は、チャットルームの開設要求を受理した場合には、ルームIDテーブル43Aを検索し、当該チャットルームのルームIDが未登録であれば、当該ルームIDを登録することにより、チャットルームを開設する。
【0156】
また、既にルームIDテーブル43AにルームIDが登録済みであり、且つ当該ルームIDを指示するチャットルームの開設要求を受理した場合には、チャットルームの開設は行なわずに、当該開設要求をチャットルームへの参加として受付けたことを、携帯電話100に通知する。
【0157】
また、チャットルームの削除要求を受理した場合には、すなわち当該チャットルームを開設したユーザからの削除要求を受理した場合には、当該チャットルームのルームIDをルームIDテーブル43Aから削除する、すなわち対応のデータ431のフラグに“0”をセットすることにより、当該チャットルームを削除する。
【0158】
なお、ここでは、データ431のフラグを“1”または“0”に更新することによって、チャットルームの開設または削除を制御しているが、削除方法はこれに限定されない。たとえば、ルームIDテーブル43Aから当該ルームIDに対応するデータ431〜435をすべて削除するようにしてもよい。
【0159】
<マルチモードの処理>
マルチモードにおけるチャットルームの開設および削除の処理について説明する。
【0160】
<マルチモードにおけるルーム開設処理>
ルーム開設要求部1068は、入力受付部1064を介してユーザのタブレット119または入力部110の操作により、マルチモードが指定されていると判定すると、第2ルーム開設要求部1085を起動する。
【0161】
図20には、第2ルーム開設要求部1085を用いたチャットルームの開設処理が示される。この処理フローチャートと図14の処理フローチャートとを比較し異なる点は、図14では、ステップT70によるP2P型のデータ通信の接続開始後は、P2P型のデータ通信の処理のみが行なわれるものとしたが、図20においては、P2P型のデータ通信の接続処理を開始(ステップT70)した後も、携帯電話100においては、第2プレゼンス監視部1087によってプレゼンス監視処理(ステップT72b)が行なわれることになる。また、ルーム開設後は第2プレゼンス監視部1087によってプレゼンス監視処理(ステップT72a)が行なわれる。図20の他の処理は、図14に説明したものと同じなので説明は略す。
【0162】
<マルチモードにおけるプレゼンス監視処理>
プレゼンス監視部1069は、入力受付部1064を介してユーザのタブレット119または入力部110の操作により、マルチモードが指定されていると判定すると、第2プレゼンス監視部1087を起動する。
【0163】
第2プレゼンス監視部1087によるプレゼンス監視処理の手順が図21に示される。
図21の処理フローチャートと図16の処理フローチャートとを比較し異なる点は、図16ではP2P型のデータ通信の接続要求を待ち受ける期間において、プレゼンス情報が変化した場合にルーム削除要求のフレーム604を送信したが、図21では、P2P型のデータ通信の接続要求を待ち受ける期間において、ユーザがボタン112Bを操作してルーム削除の選択指示を入力した場合(ステップT76でYES)、またはプレゼンス情報の変化が検出された場合(ステップT89でYES)にルーム削除要求のフレーム604を送信する。図21の他の処理は、図16に示した処理と同様である。
【0164】
このように、マルチモードにおいては、現在のプレゼンス情報がルーム開設要求時のプレゼンス情報から変化した場合、または、ボタン112Bを操作してユーザがルーム削除を要求した場合には、図17のルーム削除処理が起動される。これにより、チャットルームの開設者でなくとも、開設されている当該チャットルームの削除の要求を、マッチングサーバ400に対し送信することができる。
【0165】
<マルモードにおけるマッチングサーバの処理>
上述したマルチモードでの携帯電話100によるルームの開設要求およびルームの削除要求の処理が行なわれるとき、マッチングサーバ400においては、図22のフローチャートに従う動作が行なわれる。
【0166】
図22の処理と図19に説明した処理とを比較し異なる点は、図22の処理において、ステップS14a、S14bの処理を追加する点にある。図22の他の処理は図19に示したものと同様である。したがって、ここでは図19と相違する処理のみを説明する。
【0167】
前述したように、マッチングサーバ400は、携帯電話100からルーム削除要求のフレーム604を受信した場合には(ステップS13でYES)、ステップS14aの処理が行なわれる。
【0168】
ステップS14aにおいては、以下の処理が行なわれる。まず、フレーム解析部424は、サーバ通信部409を介してルーム削除要求のフレーム604を入力すると、入力したルーム削除要求のフレーム604のデータ部620の内容を解析し、解析結果に基づき、当該フレームのデータ部620の内容をルーム削除部422に与える。ルーム削除部422は、与えられるデータ部620の命令コード621が示すコマンドに従い、データ622が示すルームIDに基づきルームIDテーブル43Aを検索する。検索結果に基づき、当該ルームIDに一致するルームIDを指示するデータ432に対応するデータ433が示すIPアドレスのうちから、ルーム削除要求のフレーム604のデータ623が示すIPアドレスを検出して、対応のデータ434のフラグを“1”から“0”に更新する。これにより、ルーム削除要求のフレーム604を送信した携帯電話100に割り当てられたIPアドレスは、ルームIDテーブル43Aから削除(読出し不可能な状態)される(読出し不可能な状態とされる)。これにより、ルーム削除要求のフレーム604を送信した携帯電話100のユーザについてのチャットへの参加が取消される。
【0169】
続いて、ステップS14bの処理に移行する。まず、ルーム削除部422は、ステップS14aにおいてフラグが“1”から“0”に更新されたデータ434が指示するフラグの値が全て“0”を指示するか否か、すなわちチャットに参加していたユーザの全員が、参加の取消しを要求したか否かを判定する。全て“0”を指示すると判定すると、すなわち参加ユーザ全員がチャットへの参加を取消したと判定すると(ステップS14bでYES)、ステップS15の処理において、ルーム削除部422は、対応するルームIDをルームIDテーブル43Aから削除する。この削除処理は、前述と同様である。
【0170】
一方、当該ルームIDのチャットルームに参加していたユーザの全員が、まだ参加の取消要求を示していないと判定された場合には(ステップS14bでNO)、ルームIDの削除は行われずに、処理はステップS16に移行する。ステップS16では、前述したようにルーム削除受付のフレーム605が送信される。
【0171】
このように、マルチモードにおいては、ルーム削除要求のフレーム604を送信したユーザは、自己の携帯電話100に割り当てられているIPアドレスを、ルームIDテーブル43Aの当該ルームIDに対応付けられたデータ433が指すIPアドレス群から削除することができる。これによって、チャットルームへの参加が取消されることになる。したがって、その後に当該チャットルームへ新規に参加したユーザに対しては、参加取消しをしたユーザのIPアドレスが通知されることはない。
【0172】
また、ルームIDテーブル43Aの当該ルームIDに対応付けられたデータ433が指す全てのIPアドレスについて参加取消しがされた場合には、当該ルームIDをルームIDテーブル43Aから削除することができる。したがって、全てのユーザが参加を取消した時点で、自動的に、当該チャットルームは削除されるので、ルームIDテーブル43Aにおいて不要なチャットルームのデータを削除するために、当該チャットルームを削除するための特別な処理を省略できる。
【0173】
ここで、本実施の形態における携帯電話100を含む通信端末およびマッチングサーバ400が行なうチャットルームの開設および削除に関する通信方法は、上述したようなフローチャートに従うプログラムとして提供することができる。このようなプログラムは、携帯電話100のCPU106Aのコンピュータ、およびマッチングサーバ400のCPU405のコンピュータに付属する記録媒体に予め記録させて、プログラム製品として提供することもできる。このような記録媒体としては、FD412、CD−ROM414、メモリ406または記憶部103を構成するROMおよびRAM、ならびにメモリカードなどのコンピュータ読取り可能な記録媒体がある。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、インターネット500を含む各種ネットワークを介したダウンロードによって、プログラムを提供することもできる。ここで、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【0174】
なお、一般的傾向として、コンピュータのオペレーティングシステムの一部として様々なプログラムモジュールを用意しておき、アプリケーションプログラムはこれらモジュールを所定の配列で必要なときに呼出して処理を進める方式が一般的である。そうした場合、本実施の形態に係るチャットルームの開設および削除に関するシステムを実現するためのソフトウェア自体にはそうしたモジュールは含まれず、当該コンピュータでオペレーティングシステムと協働してはじめてシステムが実現することになる。しかし、一般的なプラットホームを使用する限り、そうしたモジュールを含ませたソフトウェアを流通させる必要はなく、それらモジュールを含まないソフトウェア自体およびそれらソフトウェアを記録した記録媒体(およびそれらソフトウェアがネットワーク上を流通する場合のデータ信号)が実施の形態を構成すると考えることができる。
【0175】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【0176】
【図1】本実施の形態に係る通信ネットワークの構成図である。
【図2】本実施の形態に係る携帯電話の外観を示す図である。
【図3】本実施の形態に係る携帯電話のハードウェア構成図である。
【図4】本実施の形態に係る携帯電話の記憶部の内容の一例を示す図である。
【図5】本実施の形態に係るマッチングサーバのハードウェア構成図である。
【図6】本実施の形態に係るルームIDテーブルの一例を示す図である。
【図7】本実施の形態に係る携帯電話の機能構成図である。
【図8】本実施の形態に係るマッチングサーバの機能構成図である。
【図9】本実施の形態に係るルームID生成処理のフローチャートである。
【図10】(A)と(B)は、本実施の形態に係るプレゼンス情報からルームIDへの変換規則を説明する図である。
【図11】本実施の形態に係るプレゼンス条件の選択画面の一例を示す図である。
【図12】本実施の形態に係る携帯電話による待ち受け処理のフローチャートである。
【図13】本実施の形態に係る携帯電話によるプレゼンス条件決定処理のフローチャートである。
【図14】本実施の形態に係るシングルモードのルーム開設処理のフローチャートである。
【図15】本実施の形態に係るルーム開設処理の通信シーケンスを示す図である。
【図16】本実施の形態に係るシングルモードのプレゼンス監視処理のフローチャートである。
【図17】本実施の形態に係るルーム削除処理のフローチャートである。
【図18】本実施の形態に係るルーム削除処理の通信シーケンスを示す図である。
【図19】本実施の形態に係るシングルモードにおけるマッチングサーバの処理フローチャートである。
【図20】本実施の形態に係るマルチモードのルーム開設処理のフローチャートである。
【図21】本実施の形態に係るマルチモードのプレゼンス監視処理のフローチャートである。
【図22】本実施の形態に係るマルチモードにおけるマッチングサーバの処理フローチャートである。
【図23】本実施の形態に係るフレームの構成を説明する図である。
【図24】本実施の形態に係るルーム開設要求のフレームの構成図である。
【図25】本実施の形態に係るルーム開設受付のフレームの構成図である。
【図26】本実施の形態に係るルーム参加受付のフレームの構成図である。
【図27】本実施の形態に係るルーム削除要求のフレームの構成図である。
【図28】本実施の形態に係るルーム削除受付のフレームの構成図である。
【符号の説明】
【0177】
100 携帯電話、400 マッチングサーバ、420 ルーム開設部、421 ルーム受付部、422 ルーム削除部、423 フレーム生成部、424 フレーム解析部、500 インターネット、600〜605 フレーム、700 キャリア網、1020 プレゼンス情報、1027 変換規則データ、1029 プレゼンス条件、43A ルームIDテーブル、1066 プレゼンス情報収集部、1067 プレゼンス条件決定部、1068 ルーム開設要求部、1069 プレゼンス監視部、1070 ルーム削除要求部。
【特許請求の範囲】
【請求項1】
複数の通信端末およびサーバ装置を接続する通信ネットワークに適用される前記通信端末であって、
当該通信端末の現在の状態を検知するプレゼンス検知部と、
他の前記通信端末とデータを交わすために前記サーバ装置に開設されるルームを介した、通信の要求を入力するために操作される通信要求部と、
前記プレゼンス検知部により検知される前記状態に基づいて前記ルームを識別するためのルーム識別子を生成する識別子生成部と、
前記通信要求部によって前記通信の要求が入力されたことに応答して、前記識別子生成部で生成した前記ルーム識別子を含む前記ルームを開設するための開設要求を前記サーバ装置へ送信するルーム開設要求部と、
前記プレゼンス検知部が検知する前記状態が、前記通信要求部によって前記通信の要求が入力されたときに検知された前記状態から変化していることを検知するプレゼンス変化検知部と、
前記プレゼンス変化検知部により前記状態の変化が検知されたとき、前記識別子生成部で生成した前記ルーム識別子を含む前記ルームを削除するための削除要求を前記サーバ装置へ送信するルーム削除要求部と、を備える、通信端末。
【請求項2】
前記ルーム開設要求部が送信した前記開設要求に含まれる前記ルーム識別子に対応の前記ルームが既に開設されていたとき、
前記サーバ装置によって前記ルーム格納部から読出された、当該開設要求に含まれる前記ルーム識別子に関連付けされた前記端末識別子を受信する、請求項1に記載の通信端末。
【請求項3】
前記ルーム開設要求部が前記開設要求を送信した後に、前記他の通信端末から、前記端末識別子を用いた通信の要求を受信するまで待機する待機手段を有し、
前記ルーム削除要求部は、
前記待機手段が待機する期間において、前記プレゼンス変化検知部により前記状態の変化が検知されたとき、前記識別子生成部で生成した前記ルーム識別子を含む前記ルームを削除するための削除要求を前記サーバ装置へ送信する、請求項1または2に記載の通信端末。
【請求項4】
前記プレゼンス検知部は、前記状態として、少なくとも前記通信端末の現在位置を検知する、請求項1から3のいずれかに記載の通信端末。
【請求項5】
前記通信端末は、さらに、放送信号を受信する放送受信部を備え、
前記プレゼンス検知部は、前記状態として、少なくとも前記放送受信部が受信する前記放送信号のチャンネルを検知する、請求項1から4のいずれかに記載の通信端末。
【請求項6】
複数の通信端末およびサーバ装置を接続する通信ネットワークに適用される前記通信端末に搭載されるコンピュータを用いた通信方法であって、
前記コンピュータが、前記通信端末の現在の状態を検知するプレゼンス検知ステップと、
前記コンピュータが、他の前記通信端末とデータを交わすために前記サーバ装置に開設されるルームを介した、通信の要求を入力する通信要求入力ステップと、
前記コンピュータが、前記プレゼンス検知ステップにより検知される前記状態に基づいて前記ルームを識別するためのルーム識別子を生成する識別子生成ステップと、
前記コンピュータが、前記通信要求入力ステップによって前記通信の要求が入力されたことに応答して、前記識別子生成ステップで生成した前記ルーム識別子を含む前記ルームを開設するための開設要求を、前記サーバ装置へ送信するルーム開設要求ステップと、
前記コンピュータが、前記プレゼンス検知ステップにおいて検知する前記状態が、前記通信要求入力ステップによって前記通信の要求が入力されたときに検知された前記状態から変化していることを検知するプレゼンス変化検知ステップと、
前記コンピュータが、前記プレゼンス変化検知ステップにより前記状態の変化が検知されたとき、前記識別子生成ステップで生成した前記ルーム識別子を含む前記ルームを削除するための削除要求を、前記サーバ装置へ送信するルーム削除要求ステップと、を備える、通信方法。
【請求項7】
請求項6に記載の通信方法をコンピュータに実行させるための、通信プログラム。
【請求項8】
ネットワークを介して相互に接続される少なくとも複数の通信端末とサーバ装置とを備えるネットワークシステムであって、
前記通信端末は、
当該通信端末の現在の状態を検知するプレゼンス検知部と、
他の前記通信端末とデータを交わすために前記サーバ装置に開設されるルームを介した、通信の要求を入力するために操作される通信要求部と、
前記プレゼンス検知部により検知される前記状態に基づいて前記ルームを識別するためのルーム識別子を生成する識別子生成部と、
前記通信要求部によって前記通信の要求が入力されたことに応答して、前記識別子生成部で生成した前記ルーム識別子と前記ネットワークを介した通信のために割当てられる端末識別子とを含む前記ルームを開設するための開設要求を前記サーバ装置へ送信するルーム開設要求部と、
前記プレゼンス検知部が検知する前記状態が、前記通信要求部によって前記通信の要求が入力されたときに検知された前記状態から変化していることを検知するプレゼンス変化検知部と、
前記プレゼンス変化検知部により前記状態の変化が検知されたとき、前記識別子生成部で生成した前記ルーム識別子を含む前記ルームを削除するための削除要求を前記サーバ装置へ送信するルーム削除要求部と、を含み、
前記サーバ装置は、
前記ルームに関する情報が格納されるルーム格納部を含み、
前記開設要求に従い、前記ルームが開設されるとき、前記ルーム格納部に当該ルームに対応して、受信した前記開設要求の前記ルーム識別子と前記端末識別子とを関連付けて格納し、
前記削除要求に従い、前記格納した開設要求時の前記ルーム識別子と前記端末識別子との関連付けを削除する、ネットワークシステム。
【請求項1】
複数の通信端末およびサーバ装置を接続する通信ネットワークに適用される前記通信端末であって、
当該通信端末の現在の状態を検知するプレゼンス検知部と、
他の前記通信端末とデータを交わすために前記サーバ装置に開設されるルームを介した、通信の要求を入力するために操作される通信要求部と、
前記プレゼンス検知部により検知される前記状態に基づいて前記ルームを識別するためのルーム識別子を生成する識別子生成部と、
前記通信要求部によって前記通信の要求が入力されたことに応答して、前記識別子生成部で生成した前記ルーム識別子を含む前記ルームを開設するための開設要求を前記サーバ装置へ送信するルーム開設要求部と、
前記プレゼンス検知部が検知する前記状態が、前記通信要求部によって前記通信の要求が入力されたときに検知された前記状態から変化していることを検知するプレゼンス変化検知部と、
前記プレゼンス変化検知部により前記状態の変化が検知されたとき、前記識別子生成部で生成した前記ルーム識別子を含む前記ルームを削除するための削除要求を前記サーバ装置へ送信するルーム削除要求部と、を備える、通信端末。
【請求項2】
前記ルーム開設要求部が送信した前記開設要求に含まれる前記ルーム識別子に対応の前記ルームが既に開設されていたとき、
前記サーバ装置によって前記ルーム格納部から読出された、当該開設要求に含まれる前記ルーム識別子に関連付けされた前記端末識別子を受信する、請求項1に記載の通信端末。
【請求項3】
前記ルーム開設要求部が前記開設要求を送信した後に、前記他の通信端末から、前記端末識別子を用いた通信の要求を受信するまで待機する待機手段を有し、
前記ルーム削除要求部は、
前記待機手段が待機する期間において、前記プレゼンス変化検知部により前記状態の変化が検知されたとき、前記識別子生成部で生成した前記ルーム識別子を含む前記ルームを削除するための削除要求を前記サーバ装置へ送信する、請求項1または2に記載の通信端末。
【請求項4】
前記プレゼンス検知部は、前記状態として、少なくとも前記通信端末の現在位置を検知する、請求項1から3のいずれかに記載の通信端末。
【請求項5】
前記通信端末は、さらに、放送信号を受信する放送受信部を備え、
前記プレゼンス検知部は、前記状態として、少なくとも前記放送受信部が受信する前記放送信号のチャンネルを検知する、請求項1から4のいずれかに記載の通信端末。
【請求項6】
複数の通信端末およびサーバ装置を接続する通信ネットワークに適用される前記通信端末に搭載されるコンピュータを用いた通信方法であって、
前記コンピュータが、前記通信端末の現在の状態を検知するプレゼンス検知ステップと、
前記コンピュータが、他の前記通信端末とデータを交わすために前記サーバ装置に開設されるルームを介した、通信の要求を入力する通信要求入力ステップと、
前記コンピュータが、前記プレゼンス検知ステップにより検知される前記状態に基づいて前記ルームを識別するためのルーム識別子を生成する識別子生成ステップと、
前記コンピュータが、前記通信要求入力ステップによって前記通信の要求が入力されたことに応答して、前記識別子生成ステップで生成した前記ルーム識別子を含む前記ルームを開設するための開設要求を、前記サーバ装置へ送信するルーム開設要求ステップと、
前記コンピュータが、前記プレゼンス検知ステップにおいて検知する前記状態が、前記通信要求入力ステップによって前記通信の要求が入力されたときに検知された前記状態から変化していることを検知するプレゼンス変化検知ステップと、
前記コンピュータが、前記プレゼンス変化検知ステップにより前記状態の変化が検知されたとき、前記識別子生成ステップで生成した前記ルーム識別子を含む前記ルームを削除するための削除要求を、前記サーバ装置へ送信するルーム削除要求ステップと、を備える、通信方法。
【請求項7】
請求項6に記載の通信方法をコンピュータに実行させるための、通信プログラム。
【請求項8】
ネットワークを介して相互に接続される少なくとも複数の通信端末とサーバ装置とを備えるネットワークシステムであって、
前記通信端末は、
当該通信端末の現在の状態を検知するプレゼンス検知部と、
他の前記通信端末とデータを交わすために前記サーバ装置に開設されるルームを介した、通信の要求を入力するために操作される通信要求部と、
前記プレゼンス検知部により検知される前記状態に基づいて前記ルームを識別するためのルーム識別子を生成する識別子生成部と、
前記通信要求部によって前記通信の要求が入力されたことに応答して、前記識別子生成部で生成した前記ルーム識別子と前記ネットワークを介した通信のために割当てられる端末識別子とを含む前記ルームを開設するための開設要求を前記サーバ装置へ送信するルーム開設要求部と、
前記プレゼンス検知部が検知する前記状態が、前記通信要求部によって前記通信の要求が入力されたときに検知された前記状態から変化していることを検知するプレゼンス変化検知部と、
前記プレゼンス変化検知部により前記状態の変化が検知されたとき、前記識別子生成部で生成した前記ルーム識別子を含む前記ルームを削除するための削除要求を前記サーバ装置へ送信するルーム削除要求部と、を含み、
前記サーバ装置は、
前記ルームに関する情報が格納されるルーム格納部を含み、
前記開設要求に従い、前記ルームが開設されるとき、前記ルーム格納部に当該ルームに対応して、受信した前記開設要求の前記ルーム識別子と前記端末識別子とを関連付けて格納し、
前記削除要求に従い、前記格納した開設要求時の前記ルーム識別子と前記端末識別子との関連付けを削除する、ネットワークシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【公開番号】特開2010−92349(P2010−92349A)
【公開日】平成22年4月22日(2010.4.22)
【国際特許分類】
【出願番号】特願2008−262820(P2008−262820)
【出願日】平成20年10月9日(2008.10.9)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
【公開日】平成22年4月22日(2010.4.22)
【国際特許分類】
【出願日】平成20年10月9日(2008.10.9)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
[ Back to top ]