(57)【要約】【課題】Ｐ２Ｐ通信の呼びかけ後に容易にＰ２Ｐ通信の開始を中断することができる通信装置を提供する。【解決手段】通信装置１００Ａは、通信装置および他の通信装置１００Ｂを特定するための第１および第２の識別情報を格納する記憶部１０３と、第１の識別情報および第２の識別情報の少なくともいずれかに基づいてルーム名を生成する生成手段１０６１−１と、第２の識別情報に基づいて他の通信装置へ接続するとともに、通信装置および他の通信装置が情報を交換するためのルーム名を有するルームを生成するための生成要求をサーバ装置へ送信する通信制御手段１０６２−１とを備える。通信制御手段は、外部からの第１の命令に応じて、通信部を用いて、ルーム名を有するルームを削除するための削除要求をサーバ装置へ送信する。【選択図】図９
2010088028.tif 000002
【特許請求の範囲】
【請求項１】
第１および第２の通信装置とサーバ装置とを備えるネットワークシステムであって、
前記第１の通信装置は、
ネットワークを介して前記第２の通信装置および前記サーバ装置との間でデータを送受信する第１の通信部と、
前記第１および第２の通信装置を特定するための第１および第２の識別情報を格納する第１の記憶部と、
前記第１の識別情報および第２の識別情報の少なくともいずれかに基づいてルーム名を生成する第１の生成手段と、
前記第１の通信部を用いて、前記第２の識別情報に基づいて前記第２の通信装置へ接続するとともに、前記第１および第２の通信装置が情報を交換するための前記ルーム名を有するルームを生成するための生成要求を前記サーバ装置へ送信する第１の通信制御手段とを含み、
前記第１の通信制御手段は、外部からの第１の命令に応じて、前記第１の通信部を用いて、前記ルーム名を有するルームを削除するための削除要求を前記サーバ装置へ送信し、
前記サーバ装置は、
前記ネットワークを介して前記第１および第２の通信装置との間でデータを送受信するサーバ通信部と、
前記第１の通信装置からの前記生成要求に応じて、前記ルーム名を有するルームを生成するルーム生成手段と、
前記第１の通信装置からの前記削除要求に応じて、前記ルーム名を有するルームを削除するルーム削除手段とを含み、
前記第２の通信装置は、
前記ネットワークを介して前記第１の通信装置および前記サーバ装置との間でデータを送受信する第２の通信部と、
前記第１および第２の識別情報を格納する第２の記憶部と、
前記第１の通信装置からの接続を受け付けた際に、前記第１および第２の識別情報の少なくともいずれかに基づいてルーム名を生成する第２の生成手段と、
前記第２の通信部を用いて、前記サーバ装置に前記ルーム名を有する前記ルームが存在するか否かを問い合わせる第２の通信制御手段と、
前記ルームが存在している間、外部からの第２の命令を受け付ける入力部とを含み、
前記第２の通信制御手段は、前記第２の命令に応じて、前記第２の通信部を用いて前記ルーム名を有するルームにアクセスする、ネットワークシステム。
【請求項２】
通信装置であって、
ネットワークを介して他の通信装置およびサーバ装置との間でデータを送受信する通信部と、
前記通信装置および前記他の通信装置を特定するための第１および第２の識別情報を格納する記憶部と、
前記第１の識別情報および第２の識別情報の少なくともいずれかに基づいてルーム名を生成する生成手段と、
前記通信部を用いて、前記第２の識別情報に基づいて前記他の通信装置へ接続するとともに、前記通信装置および前記他の通信装置が情報を交換するための前記ルーム名を有するルームを生成するための生成要求を前記サーバ装置へ送信する通信制御手段とを備え、
前記通信制御手段は、外部からの第１の命令に応じて、前記通信部を用いて、前記ルーム名を有するルームを削除するための削除要求を前記サーバ装置へ送信する、通信装置。
【請求項３】
前記生成手段は、前記他の通信装置からの接続を受け付けた際に、前記第１および第２の識別情報の少なくともいずれかに基づいてルーム名を生成し、
前記通信制御手段は、前記通信部を用いて、前記サーバ装置に前記ルーム名を有する前記ルームが存在するか否かを問い合わせ、
前記ルームが存在している間、外部からの第２の命令を受け付ける入力部をさらに備え、
前記通信制御手段は、前記第２の命令に応じて、前記通信部を用いて前記ルーム名を有するルームにアクセスする、請求項２に記載の通信装置。
【請求項４】
通信装置であって、
ネットワークを介して他の通信装置およびサーバ装置との間でデータを送受信する通信部と、
前記通信装置および前記他の通信装置を特定するための第１および第２の識別情報を格納する記憶部と、
前記他の通信装置からの接続を受け付けた際に、前記第１および第２の識別情報の少なくともいずれかに基づいてルーム名を生成する生成手段と、
前記通信部を用いて、前記サーバ装置に前記ルーム名を有する前記ルームが存在するか否かを問い合わせる通信制御手段と、
前記ルームが存在している間、外部からの第２の命令を受け付ける入力部とを備え、
前記通信制御手段は、前記第２の命令に応じて、前記通信部を用いて前記ルーム名を有するルームにアクセスする、通信装置。
【請求項５】
前記他の通信装置からの接続は、電話の着信であり、
前記ルームが存在している間、外部に第１の通知を行ない、前記ルームが存在していない間、外部に第２の通知を行なう通知部をさらに備え、
前記入力部は、前記ルームが存在していないとき、外部から電話の着信に応答するための第３の命令を受け付け、
前記通信制御手段は、前記第３の命令に応じて、前記他の通信装置と通話するために前記通信部を制御する、請求項４に記載の通信装置。
【請求項６】
通信装置における他の通信装置と通信するための通信方法であって、
前記通信装置は、
演算処理部と、
ネットワークを介して前記他の通信装置およびサーバ装置との間でデータを送受信する通信部と、
前記通信装置および前記他の通信装置を特定するための第１および第２の識別情報を格納する記憶部とを備え、
前記演算処理部が、前記第１の識別情報および第２の識別情報の少なくともいずれかに基づいてルーム名を生成するステップと、
前記演算処理部が、前記通信部を用いて、前記第２の識別情報に基づいて前記他の通信装置へ接続するステップと、
前記演算処理部が、前記通信部を用いて、前記通信装置および前記他の通信装置が情報を交換するための前記ルーム名を有するルームを生成するための生成要求を前記サーバ装置へ送信するステップと、
前記演算処理部が、外部からの第１の命令に応じて、前記通信部を用いて、前記ルーム名を有するルームを削除するための削除要求を前記サーバ装置へ送信するステップとを備える、通信方法。
【請求項７】
通信装置における他の通信装置と通信するための通信方法であって、
前記通信装置は、
演算処理部と、
ネットワークを介して前記他の通信装置およびサーバ装置との間でデータを送受信する通信部と、
前記通信装置および前記他の通信装置を特定するための第１および第２の識別情報を格納する記憶部とを備え、
前記演算処理部が、前記他の通信装置からの接続を受け付けた際に、前記第１および第２の識別情報の少なくともいずれかに基づいてルーム名を生成するステップと、
前記演算処理部が、前記通信部を用いて、前記サーバ装置に前記ルーム名を有する前記ルームが存在するか否かを問い合わせるステップと、
前記演算処理部が、前記ルームが存在している間、外部からの第２の命令を受け付けるステップと、
前記演算処理部が、前記第２の命令に応じて、前記通信部を用いて前記ルーム名を有するルームにアクセスするステップとを備える、通信方法。
【請求項８】
通信装置に他の通信装置と通信させるため通信プログラムであって、
前記通信装置は、
演算処理部と、
ネットワークを介して前記他の通信装置およびサーバ装置との間でデータを送受信する通信部と、
前記通信装置および前記他の通信装置を特定するための第１および第２の識別情報を格納する記憶部とを備え、
前記通信プログラムは、演算処理部に、
前記第１の識別情報および第２の識別情報の少なくともいずれかに基づいてルーム名を生成するステップと、
前記通信部を用いて、前記第２の識別情報に基づいて前記他の通信装置へ接続するステップと、
前記通信部を用いて、前記通信装置および前記他の通信装置が情報を交換するための前記ルーム名を有するルームを生成するための生成要求を前記サーバ装置へ送信するステップと、
外部からの第１の命令に応じて、前記通信部を用いて、前記ルーム名を有するルームを削除するための削除要求を前記サーバ装置へ送信するステップとを実行させる、通信プログラム。
【請求項９】
通信装置に他の通信装置と通信させるため通信プログラムであって、
前記通信装置は、
演算処理部と、
ネットワークを介して前記他の通信装置およびサーバ装置との間でデータを送受信する通信部と、
前記通信装置および前記他の通信装置を特定するための第１および第２の識別情報を格納する記憶部とを備え、
前記通信プログラムは、前記演算処理部に、
前記他の通信装置からの接続を受け付けた際に、前記第１および第２の識別情報の少なくともいずれかに基づいてルーム名を生成するステップと、
前記通信部を用いて、前記サーバ装置に前記ルーム名を有する前記ルームが存在するか否かを問い合わせるステップと、
前記ルームが存在している間、外部からの第２の命令を受け付けるステップと、
前記第２の命令に応じて、前記通信部を用いて前記ルーム名を有するルームにアクセスするステップとを実行させる、通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して相互に接続可能な複数の通信装置とサーバ装置とを備えるネットワークシステム、通信装置、通信方法、および通信プログラムに関し、特に、一方の通信装置の呼びかけに応じて通信装置同士がサーバ装置に生成されたルームを介してデータをやり取りすることができるネットワークシステム、通信装置、通信方法、および通信プログラムに関する。
【背景技術】
【０００２】
従来からのＩＰ（Internet Protocol）接続を利用したチャットシステムでは、チャットに参加する通信装置のそれぞれが、同時にチャットアプリケーションを起動してＩＰ接続を行う必要がある。より詳細には、他の通信装置とのＩＰ接続を所望するユーザは、当該他の通信装置の識別情報を取得する必要がある。たとえば、同一グループに属するユーザのそれぞれは、自身の通信装置を用いてサーバ上の同一のチャットルームに入室することによって互いの識別情報を交換する。
【０００３】
そのため、ＩＰ接続を呼びかける側の通信装置のユーザは、サーバ上に互いの識別情報を交換するためのルームを作成するともに、相手ユーザを呼び出したり、相手ユーザにルーム名を伝えたりする必要がある。また、通信装置のユーザが互いの状態（リクエスト）を取得するためには、通信装置のそれぞれが通信用のアプリケーションを起動することによってネットワークに接続された状態でなければならない。
【０００４】
たとえば、インターネット網に接続可能な通信装置同士間におけるダイレクトなデータ（メッセージ）の交換システムとして、Ｐ２Ｐ（Peer to Peer）システムが知られている。このようなＰ２Ｐシステムにおいては、通信装置のユーザは、電話やメールを用いることによって、あるいは相手ユーザと対面することによって、直接Ｐ２Ｐ通信の開始予定時刻を定める必要がある。また、互いにＰ２Ｐ通信用の識別情報を把握しておく必要がある。そして、開始予定時刻前に、それぞれのユーザが、通信装置をネットワーク（インターネット）に接続した上で、いずれか、あるいは両方のユーザが通信装置を介してＰ２Ｐ通信を開始する必要がある。
【０００５】
そして、チャットシステム（Ｐ２Ｐ通信）における処理の煩雑さを解消するために、専用のサーバ（チャットサーバ）を介したり、メールシステムを利用したり、さらには音声通信用（通話用）の通信システムで得られる情報（発呼者情報等）を利用したりして、チャットサーバ（チャットルーム）へのアクセスを促す勧誘メッセージや、チャットシステムに必要な情報を交換する必要がある。なお、チャットシステムに必要な情報としては、「ＩＰアドレス」や「自端末の状態（マナーモードであるか否か等）」や「ユーザの状態（会議中であるか否か、電車・バス等の通話ができない交通機関を利用中であるか否か等）」や「ユーザの意思（チャットの呼びかけに対する応答）」等が挙げられる。
【０００６】
ダイレクトなデータの交換システムに必要な処理の煩雑さを解消する技術として、たとえば、特開２００４−１９９１３４号公報（特許文献１）に、チャットシステムの技術が開示されている。特開２００４−１９９１３４号公報（特許文献１）によると、チャットサーバは、新規にチャットルームを開設する際に、そのチャットルームへの入室を促すユーザの電子メールアドレスを入力させ、又は、あらかじめ登録されているユーザ情報の中からそのチャットルームへの入室を促すユーザの電子メールアドレスを選択させ、チャットルームの開設後に電子メールアドレス宛に、チャットルームの開設通知メールを送信する。チャットルームオーナのパソコンと他のユーザのパソコンとの間が、当該チャットルームを共有化できる状態で相互に接続されていない場合であっても、当該ユーザに対してチャットルームの開設を知らせることができ、チャットルームへの入室を積極的に促して無為な待ち時間の短縮を可能とすることができる。
【０００７】
また、特開２００２−２７８９０３号公報（特許文献２）には、情報処理装置が開示されている。特開２００２−２７８９０３号公報（特許文献２）によると、ピアツーピア通信における通信接続は、通信を希望する、例えば、パーソナルコンピュータから、パーソナルコンピュータのＩＰアドレスが添付された電子メールが、希望する通信先である、例えば、他のパーソナルコンピュータに送信され、他のパーソナルコンピュータがその電子メールを開封し、電子メールに添付されているＩＰアドレスを取得することによって確立されるようになされている。
【０００８】
また、特開２００３−９１４９４号公報（特許文献３）には、チャットシステムが開示されている。特開２００３−９１４９４号公報（特許文献３）によると、携帯電話機をチャットサーバに接続させて携帯電話機間でチャットを行うチャットシステムにおいて、チャットサーバに接続していない携帯電話機に対してチャットサーバへの接続（チャットへの参加）を促す電子メール（チャット勧誘メール）を送信する。チャット勧誘メールを受信した携帯電話機のユーザがチャットサーバへの接続（チャットへの参加）を承諾すると自動的に携帯電話機がチャットサーバに接続されてチャットが可能な状態となる。
【０００９】
また、特開２００２−１３２６９４号公報（特許文献４）には、チャットシステムが開示されている。特開２００２−１３２６９４号公報（特許文献４）によると、携帯電話からサーバに対してチャットしたい相手方の携帯電話番号を通知してチャット要求すれば、サーバはそれに応じてチャットしたい相手方の携帯電話にチャット依頼を送信する。チャット依頼を受信した相手方は都合に応じて応答する。相手方から要求許可があれば、サーバから、要求側に要求許可を送信し参加者全員に参加者リストを送信し、チャットモードが確立する。参加者からのメッセージをサーバが受信するとサーバはそのメッセージを参加者全員に送信し、各参加者の携帯電話の表示部にメッセージ内容を表示する。相手方は、途中からチャットに参加することができる。
【００１０】
また、特開２００３−１７４５２０号公報（特許文献５）には、携帯通信端末が開示されている。特開２００３−１７４５２０号公報（特許文献５）によると、携帯電話は、着信音を鳴動させないマナーモードに設定される。携帯電話のユーザが携帯電話へ発呼すると、携帯電話は、バイブレータ等により着信をユーザに通知し、発呼側の携帯電話の発信電話番号情報を取得し、着信を自動切断する。携帯電話は、上記発信電話番号情報を用いて、事前に登録または作成されたメッセージを、チャットメールで発呼側の携帯電話へ自動送信する。携帯電話では、通常のチャットメール動作が起動し、以後、発呼側、着呼側の双方の携帯電話において、チャットメールの受信と送信とを繰り返し、文字による会話がなされる。
【００１１】
また、特開２００４−２４７８６２号公報（特許文献６）には、携帯電話及び携帯電話システムが開示されている。特開２００４−２４７８６２号公報（特許文献６）によると、無線通信網を介して無線通信を行う携帯電話において、マナーモードを設定する手段と、マナーモードの設定情報を基地局に発信する手段と、通信相手の携帯電話がマナーモードに設定されている場合に通信相手のマナーモード設定情報を基地局から受信する手段と、マナーモード設定情報を受信した場合に通話モードを変更する手段と、通信相手の名前、電話番号、電子メールアドレスを記憶する記憶手段と、電話番号から電子メールアドレスを検索する検索手段とを有する。
【００１２】
また、特開２００６−１４０６６４号公報（特許文献７）には、携帯電話端末および携帯電話通信システムが開示されている。特開２００６−１４０６６４号公報（特許文献７）によると、ユーザは、通信相手のＡさん、Ｂさん、Ｃさんそれぞれについて、発信する時の複数の通信機能の優先度を電話帳メモリの符号の発信優先度の欄に事前登録する。そして、発信時、ユーザがＡさんを指定して発信操作を行うと、Ａさんに対する発信優先度「ＴＶ電話→音声電話→チャット→メール」の順序で、それらの通信機能の起動とアドレス設定と発信が自動で行われる。
【００１３】
また、特開２００７−９６４８６号公報（特許文献８）には、移動通信方式選択方法およびこれに用いる移動通信端末装置が開示されている。特開２００７−９６４８６号公報（特許文献８）によると、発呼側携帯電話端末から着呼側携帯電話端末に音声通信に係る発呼信号と表示用メッセージとを送信する。着呼側携帯電話端末は、発呼を受けると、着信音の再生等とともに表示画面に表示用メッセージを自動表示する。着呼者は、該表示用メッセージに基づいて、該着呼を音声通信を受けるか文字チャットで受けるかを判断して、音声モード選択キーまたは文字会話モード選択キーを押下する。文字会話モード選択キーが押下されると、着呼側携帯電話端末は、発呼側携帯電話端末に対して文字会話モードの選択を示す自動音声メッセージを送信した後、文字チャット動作を開始する。そして、発呼者がこの自動音声メッセージを聴いた後で文字会話モード選択キーを押下すると、発呼側携帯電話端末も文字チャットの動作を開始する。
【特許文献１】特開２００４−１９９１３４号公報
【特許文献２】特開２００２−２７８９０３号公報
【特許文献３】特開２００３−９１４９４号公報
【特許文献４】特開２００２−１３２６９４号公報
【特許文献５】特開２００３−１７４５２０号公報
【特許文献６】特開２００４−２４７８６２号公報
【特許文献７】特開２００６−１４０６６４号公報
【特許文献８】特開２００７−９６４８６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
このようにＰ２Ｐ通信を行う上で必要となるデータの交換に係る技術は多数知られている。しかしながら、Ｐ２Ｐ通信においては、Ｐ２Ｐ通信の呼びかけ後にＰ２Ｐ通信の開始を中断することが難しかった。すなわち、呼びかけ側の通信装置のユーザは、一度Ｐ２Ｐ通信の呼びかけを行うと、容易にＰ２Ｐ通信を取り止めることができなかった。
【００１５】
本発明は、かかる問題を解決するためになされたものであり、その目的は、Ｐ２Ｐ通信の呼びかけ後に容易にＰ２Ｐ通信の開始を中断することができるネットワークシステム、通信装置、通信方法、および通信プログラムを提供することである。
【課題を解決するための手段】
【００１６】
この発明のある局面に従うと、第１および第２の通信装置とサーバ装置とを備えるネットワークシステムが提供される。第１の通信装置は、ネットワークを介して第２の通信装置およびサーバ装置との間でデータを送受信する第１の通信部と、第１および第２の通信装置を特定するための第１および第２の識別情報を格納する第１の記憶部と、第１の識別情報および第２の識別情報の少なくともいずれかに基づいてルーム名を生成する第１の生成手段と、第１の通信部を用いて、第２の識別情報に基づいて第２の通信装置へ接続するとともに、第１および第２の通信装置が情報を交換するためのルーム名を有するルームを生成するための生成要求をサーバ装置へ送信する第１の通信制御手段とを含む。第１の通信制御手段は、外部からの第１の命令に応じて、第１の通信部を用いて、ルーム名を有するルームを削除するための削除要求をサーバ装置へ送信する。サーバ装置は、ネットワークを介して第１および第２の通信装置との間でデータを送受信するサーバ通信部と、第１の通信装置からの生成要求に応じて、ルーム名を有するルームを生成するルーム生成手段と、第１の通信装置からの削除要求に応じて、ルーム名を有するルームを削除するルーム削除手段とを含む。第２の通信装置は、ネットワークを介して第１の通信装置およびサーバ装置との間でデータを送受信する第２の通信部と、第１および第２の識別情報を格納する第２の記憶部と、第１の通信装置からの接続を受け付けた際に、第１および第２の識別情報の少なくともいずれかに基づいてルーム名を生成する第２の生成手段と、第２の通信部を用いて、サーバ装置にルーム名を有するルームが存在するか否かを問い合わせる第２の通信制御手段と、ルームが存在している間、外部からの第２の命令を受け付ける入力部とを含む。第２の通信制御手段は、第２の命令に応じて、第２の通信部を用いてルーム名を有するルームにアクセスする。
【００１７】
この発明の別の局面に従うと、通信装置が提供される。通信装置は、ネットワークを介して他の通信装置およびサーバ装置との間でデータを送受信する通信部と、通信装置および他の通信装置を特定するための第１および第２の識別情報を格納する記憶部と、第１の識別情報および第２の識別情報の少なくともいずれかに基づいてルーム名を生成する生成手段と、通信部を用いて、第２の識別情報に基づいて他の通信装置へ接続するとともに、通信装置および他の通信装置が情報を交換するためのルーム名を有するルームを生成するための生成要求をサーバ装置へ送信する通信制御手段とを備える。通信制御手段は、外部からの第１の命令に応じて、通信部を用いて、ルーム名を有するルームを削除するための削除要求をサーバ装置へ送信する。
【００１８】
好ましくは、生成手段は、他の通信装置からの接続を受け付けた際に、第１および第２の識別情報の少なくともいずれかに基づいてルーム名を生成する。通信制御手段は、通信部を用いて、サーバ装置にルーム名を有するルームが存在するか否かを問い合わせる。通信装置は、ルームが存在している間、外部からの第２の命令を受け付ける入力部をさらに備える。通信制御手段は、第２の命令に応じて、通信部を用いてルーム名を有するルームにアクセスする。
【００１９】
この発明の別の局面に従うと、通信装置が提供される。通信装置は、ネットワークを介して他の通信装置およびサーバ装置との間でデータを送受信する通信部と、通信装置および他の通信装置を特定するための第１および第２の識別情報を格納する記憶部と、他の通信装置からの接続を受け付けた際に、第１および第２の識別情報の少なくともいずれかに基づいてルーム名を生成する生成手段と、通信部を用いて、サーバ装置にルーム名を有するルームが存在するか否かを問い合わせる通信制御手段と、ルームが存在している間、外部からの第２の命令を受け付ける入力部とを備える。通信制御手段は、第２の命令に応じて、通信部を用いてルーム名を有するルームにアクセスする。
【００２０】
好ましくは、他の通信装置からの接続は、電話の着信である。通信装置は、ルームが存在している間、外部に第１の通知を行い、ルームが存在していない間、外部に第２の通知を行う通知部をさらに備える。入力部は、ルームが存在していないとき、外部から電話の着信に応答するための第３の命令を受け付ける。通信制御手段は、第３の命令に応じて、他の通信装置と通話するために通信部を制御する。
【００２１】
この発明の別の局面に従うと、通信装置における他の通信装置と通信するための通信方法が提供される。通信装置は、演算処理部と、ネットワークを介して他の通信装置およびサーバ装置との間でデータを送受信する通信部と、通信装置および他の通信装置を特定するための第１および第２の識別情報を格納する記憶部とを備える。通信方法は、演算処理部が、第１の識別情報および第２の識別情報の少なくともいずれかに基づいてルーム名を生成するステップと、演算処理部が、通信部を用いて、第２の識別情報に基づいて他の通信装置へ接続するステップと、演算処理部が、通信部を用いて、通信装置および他の通信装置が情報を交換するためのルーム名を有するルームを生成するための生成要求をサーバ装置へ送信するステップと、演算処理部が、外部からの第１の命令に応じて、通信部を用いて、ルーム名を有するルームを削除するための削除要求をサーバ装置へ送信するステップとを備える。
【００２２】
この発明の別の局面に従うと、通信装置における他の通信装置と通信するための通信方法が提供される。通信装置は、演算処理部と、ネットワークを介して他の通信装置およびサーバ装置との間でデータを送受信する通信部と、通信装置および他の通信装置を特定するための第１および第２の識別情報を格納する記憶部とを備える。通信方法は、演算処理部が、他の通信装置からの接続を受け付けた際に、第１および第２の識別情報の少なくともいずれかに基づいてルーム名を生成するステップと、演算処理部が、通信部を用いて、サーバ装置にルーム名を有するルームが存在するか否かを問い合わせるステップと、演算処理部が、ルームが存在している間、外部からの第２の命令を受け付けるステップと、演算処理部が、第２の命令に応じて、通信部を用いてルーム名を有するルームにアクセスするステップとを備える。
【００２３】
この発明の別の局面に従うと、通信装置に他の通信装置と通信させるため通信プログラムが提供される。通信装置は、演算処理部と、ネットワークを介して他の通信装置およびサーバ装置との間でデータを送受信する通信部と、通信装置および他の通信装置を特定するための第１および第２の識別情報を格納する記憶部とを備える。通信プログラムは、演算処理部に、第１の識別情報および第２の識別情報の少なくともいずれかに基づいてルーム名を生成するステップと、通信部を用いて、第２の識別情報に基づいて他の通信装置へ接続するステップと、通信部を用いて、通信装置および他の通信装置が情報を交換するためのルーム名を有するルームを生成するための生成要求をサーバ装置へ送信するステップと、外部からの第１の命令に応じて、通信部を用いて、ルーム名を有するルームを削除するための削除要求をサーバ装置へ送信するステップとを実行させる。
【００２４】
この発明の別の局面に従うと、通信装置に他の通信装置と通信させるため通信プログラムが提供される。通信装置は、演算処理部と、ネットワークを介して他の通信装置およびサーバ装置との間でデータを送受信する通信部と、通信装置および他の通信装置を特定するための第１および第２の識別情報を格納する記憶部とを備える。通信プログラムは、演算処理部に、他の通信装置からの接続を受け付けた際に、第１および第２の識別情報の少なくともいずれかに基づいてルーム名を生成するステップと、通信部を用いて、サーバ装置にルーム名を有するルームが存在するか否かを問い合わせるステップと、ルームが存在している間、外部からの第２の命令を受け付けるステップと、第２の命令に応じて、通信部を用いてルーム名を有するルームにアクセスするステップとを実行させる。
【発明の効果】
【００２５】
以上のように、本発明によると、Ｐ２Ｐ通信の呼びかけ後に容易にＰ２Ｐ通信の開始を中断することができるネットワークシステム、通信装置、通信方法および通信プログラムが提供される。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００２７】
また、以下では、携帯電話１００を「通信装置」の代表例として説明を行う。ただし、通信装置は、パーソナルコンピュータや、カーナビゲーション装置（Satellite navigation system）や、ＰＮＤ（Personal Navigation Device）や、ＰＤＡ（Personal Data Assistance）などのような、他の情報通信機器であってもよい。
【００２８】
＜ネットワークシステム１の全体構成＞
まず、ネットワークシステム１の全体構成について説明する。図１は、本実施の形態に係るネットワークシステム１の全体構成を示す概略図である。図１を参照して、ネットワークシステム１は、携帯電話１００Ａ，１００Ｂ，１００Ｃと、マッチングサーバ４００と、インターネット網（第１のネットワーク）５００と、キャリア網（第２のネットワーク）７００とを含む。また、本実施の形態に係るネットワークシステム１は、車両２５０に搭載されるカーナビゲーション装置２００と、パーソナルコンピュータ（ＰＣ；Personal Computer）３００とを含む。
【００２９】
なお、説明の容易化のために、以下では、本実施の形態に係るネットワークシステム１が、第１の携帯電話１００Ａと、第２の携帯電話１００Ｂと、第３の携帯電話１００Ｃとを含む場合について説明する。また、携帯電話１００Ａ，１００Ｂ，１００Ｃの各々に共通の構成や機能を説明する際には、それらを携帯電話１００とも総称する。そして、携帯電話１００Ａ，１００Ｂ，１００Ｃ、カーナビゲーション装置２００、パーソナルコンピュータ３００の各々に共通の構成や機能を説明する際には、それらを通信装置とも総称する。
【００３０】
携帯電話１００は、キャリア網７００に接続可能に構成されている。カーナビゲーション装置２００は、インターネット網５００に接続可能に構成されている。パーソナルコンピュータ３００は、ＬＡＮ（Local Area Network）３５０やＷＡＮ（Wide Area Network）を介してインターネット網５００に接続可能に構成されている。マッチングサーバ４００は、インターネット網５００に接続可能に構成されている。
【００３１】
より詳細には、第１の携帯電話１００Ａと、第２の携帯電話１００Ｂと、第３の携帯電話１００Ｃと、カーナビゲーション装置２００と、パーソナルコンピュータ３００とは、キャリア網７００やインターネット網５００を介して互いに接続可能であって、互いにデータの送受信が可能である。また、携帯電話１００とカーナビゲーション装置２００とパーソナルコンピュータ３００には、自端末を特定するための識別情報（たとえば、電話番号やメールアドレスやＩＰ（Internet Protocol）アドレスなど）が割り当てられる。すなわち、携帯電話１００とカーナビゲーション装置２００とパーソナルコンピュータ３００は、内部の記録媒体に他の通信装置の識別情報を記憶することができ、当該識別情報に基づいてキャリア網７００やインターネット網５００などを介して当該他の通信装置とデータ送受信を行うことができる。
【００３２】
なお、本実施の形態に係る携帯電話１００とカーナビゲーション装置２００とパーソナルコンピュータ３００とは、割り当てられるＩＰアドレスを利用して他の通信装置とデータ送受信を行うものである。ここでは、各通信装置がマッチングサーバ４００にアクセスする際には、すなわち各通信装置がインターネットにアクセスした際に、マッチングサーバ４００あるいは他の図示しないサーバ装置などによってＩＰアドレスが割り当てられるものとする。ＩＰアドレスの割り当て処理の詳細は公知であるので、ここでは説明を繰り返さない。
【００３３】
また、本実施の形態に係る携帯電話１００、カーナビゲーション装置２００、パーソナルコンピュータ３００は、自身に割り当てられたＩＰアドレスを利用することにより、直接的に相互にネットワークを介してデータ送受信を行うことが可能である。すなわち、本実施の形態に係るネットワークシステム１に含まれる携帯電話１００、カーナビゲーション装置２００、パーソナルコンピュータ３００は、いわゆるＰ２Ｐ（Pear to Pear）型のネットワークを構成することが可能である。
【００３４】
＜ネットワークシステム１の動作概要＞
次に、本実施の形態に係るネットワークシステム１の動作概要について説明する。図２は、ネットワークシステム１における動作概要を示すシーケンス図である。図３は、ネットワークシステム１における接続手順を示すイメージ図である。図２および図３を参照して、本実施の形態に係る各通信装置は、Ｐ２Ｐ型のデータ送受信を行うために、はじめに互いのＩＰアドレスを交換（取得）する必要がある。そして、各通信装置は、互いのＩＰアドレスを取得したのちに、ＩＰアドレスに基づきＰ２Ｐ型のデータ送受信によってメッセージや添付ファイルなどを他の通信装置に送信する。
【００３５】
本実施の形態においては、Ｐ２Ｐ通信の開始の際に、通信装置のそれぞれが、マッチングサーバ４００に生成されたチャットルーム（以下、単にルームともいう。）を介して、ＩＰアドレスやメッセージや添付ファイルを送受信する場合について説明する。特に以下では、第１の携帯電話１００Ａが新たなチャットルームを生成するとともに、第１の携帯電話１００Ａが第２の携帯電話１００Ｂを当該チャットルームに招待する場合について説明する。
【００３６】
まず、第１の携帯電話１００Ａ（図２において端末Ａ）が、ユーザからＰ２Ｐ通信を開始するための命令を受け付ける（ステップＳ００１）。具体的には、第１の携帯電話１００Ａのユーザは、アドレス帳からＰ２Ｐ通信における相手通信装置（第２の携帯電話１００Ｂ）を選択したうえで、Ｐ２Ｐを開始する旨の命令を入力する。すると、第１の携帯電話１００Ａは、第２の携帯電話１００Ｂ（図２において端末Ｂ）に電話をかける（ステップＳ００２）。
【００３７】
そして、第１の携帯電話１００Ａは、マッチングサーバ４００に新たなルームを生成（開設）するための生成要求を送信する（ステップＳ００３）。より詳細には、第１の携帯電話１００Ａは、自身の電話番号と第２の携帯電話１００Ｂの電話番号とに基づいて、所定のルールに基づいてチャットルーム名（以下、単にルーム名ともいう。）を生成する。第１の携帯電話１００Ａは、ルーム名を含む生成要求をマッチングサーバ４００に送信する。マッチングサーバ４００は、当該ルーム名を含む生成要求を受け付けて、当該ルーム名に対応するルームを開設する。
【００３８】
より詳細には、第１の携帯電話１００Ａは、ルームを開設する際に、マッチングサーバ４００からＩＰアドレスを取得してもよいし、予め他のサーバなどからＩＰアドレスを取得していてもよい。マッチングサーバ４００は、ルームを生成する際に、ルーム名と第１の携帯電話１００Ａの識別情報（ＩＰアドレスなど）を対応付けて格納する。
【００３９】
第１の携帯電話１００Ａから電話を受けた第２の携帯電話１００Ｂは、第１の携帯電話１００Ａの電話番号と自身の携帯電話１００Ｂの電話番号とに基づいて、所定のルールに基づいてルーム名を生成する。このように、本実施の形態に係るネットワークシステム１においては、第１の携帯電話１００Ａと第２の携帯電話１００Ｂとが、共に第１および第２の携帯電話の電話番号に基づいて、所定のルールに基づいてルーム名を生成することによって、第１および第２の携帯電話が生成したルーム名が同一になるように構成されている。ただし、ネットワークシステム１は、第１および第２の携帯電話が生成したルーム名が同一になるように構成されていればよく、第１および第２の携帯電話の電話番号に基づいてルーム名を生成する構成でなくともよい。
【００４０】
第２の携帯電話１００Ｂは、ルーム名を生成すると、マッチングサーバ４００に当該ルーム名に対応するルームが存在するか否かを問い合わせる（ステップＳ００４）。マッチングサーバ４００に当該ルーム名に対応するルームが存在する場合、第２の携帯電話１００Ｂは、ユーザからのルームに入室（参加）する旨の第２の命令を待ち受ける（ステップＳ００５）。なお、この間、第１の携帯電話１００Ａのユーザは、第２の携帯電話１００ＢがＰ２Ｐ通信を開始することを待っている。
【００４１】
本実施の形態に係る通信装置は、ユーザからＰ２Ｐ通信を中断する命令を受け付けて、Ｐ２Ｐ通信の呼びかけを中断することができる。具体的には、第１の携帯電話１００Ａのユーザが、Ｐ２Ｐ通信を中止する命令を入力すると（ステップＳ００６）、第１の携帯電話１００Ａはマッチングサーバ４００にルームＡＢを削除する要求を行う（ステップＳ００７）。このように、本実施の形態に係るネットワークシステム１においては、第２の携帯電話１００ＢがルームＡＢに入室する前に、第１の携帯電話１００ＡがＰ２Ｐ通信を中断することができる。
【００４２】
一方、第２の携帯電話１００Ｂのユーザがルームに入室する命令を入力すると、第２の携帯電話１００ＢはルームＡＢへの入室要求（参加要求）をマッチングサーバ４００に行う（ステップＳ００８）。マッチングサーバ４００は、入室要求を受け付けて、第２の携帯電話１００Ｂの識別情報をルームＡＢのルーム名に対応付けて登録する。
【００４３】
そして、予め設定された入室者数がルームＡＢに入室すると、マッチングサーバ４００はマッチング処理が成功した旨を第１の携帯電話１００Ａおよび第２の携帯電話１００Ｂに通知する。（ステップＳ０１０）。すなわち、マッチングサーバ４００は、第１の携帯電話１００Ａと第２の携帯電話１００Ｂとに、互いの識別情報を送信する。
【００４４】
第１の携帯電話１００Ａと第２の携帯電話１００Ｂとは、相手の識別情報に基づいて、互いを認証する（ステップＳ０１２）。認証が完了すると、第１の携帯電話１００Ａと第２の携帯電話１００Ｂとは、Ｐ２Ｐ通信を開始する（ステップＳ０１４）。第１の携帯電話１００Ａが、第２の携帯電話１００ＢにＰ２Ｐ通信を切断する旨のメッセージを送信すると（ステップＳ０１６）。第２の携帯電話１００Ｂは、第１の携帯電話１００Ａに切断する要求を受け付けた旨のメッセージを送信する（ステップＳ０１８）。そして、第１の携帯電話１００Ａと第２の携帯電話１００ＢとのＰ２Ｐ通信が終了する。
【００４５】
以下、このような機能を実現するための構成について詳述する。
＜携帯電話１００のハードウェア構成＞
本実施の形態に係る通信装置の一例である携帯電話１００のハードウェア構成について説明する。図４は、本施の形態に係る携帯電話１００の概観を示すイメージ図である。図５は、本施の形態に係る携帯電話１００のハードウェア構成を示すブロック図である。
【００４６】
図４および図５を参照して、本実施の形態に係る携帯電話１００は、外部のネットワークとの間でデータを送受信する通信部１０１と、ＴＥＬ用通信部１０２と、プログラムや各種データベースを記憶する記憶部１０３と、制御部１０６と、メインディスプレイ１０７と、外部音声が入力されるマイク１０８と、音声を出力するスピーカ１０９と、各種情報の入力を受け付ける入力部１１０と、外部からの通信データや通話信号を受信した旨の音声を出力する第１の通知部１１１と、外部からの通信データや通話信号を受信した旨を表示する第２の通知部１１２とを含む。なお、通信部１０１とＴＥＬ用通信部１０２とは、たとえばアンテナや信号処理回路などから構成されるものであって、両者は同じデバイスによって実現されてもよい。
【００４７】
本実施の形態に係るメインディスプレイ１０７は、液晶パネルやＣＲＴから構成されるタッチパネルである。すなわち、本実施の形態に係る携帯電話１００は、メインディスプレイ１０７の下側（裏側）にペンタブレット１１９が敷設されている。これによって、ユーザはスタイラスペン１２０などを用いることによって、ペンタブレット１１９を介して、図形情報などを制御部１０６に手書き入力することができる。メインディスプレイ１０７は、制御部１０６が出力したデータに基づいて、画像やテキストを表示する。
【００４８】
入力部１１０は、キー入力操作などによってユーザから情報を受け付ける。たとえば、入力部１１０は、通話を受け付けたり、通話を発したりするためのＴＥＬボタン１１０Ａと、Ｐ２Ｐ通信を受け付けたり、Ｐ２Ｐ通信を発したりするためのＰ２Ｐボタン１１０Ｂと、アドレス帳データを呼び出すアドレス帳ボタン１１０Ｄと、各種の処理を終了させるための終了ボタン１１０Ｅとを含む。すなわち、入力部１１０は、ＴＥＬ用通信部１０２を介してＰ２Ｐ参加要請メールを受信したときに、ユーザから、チャットルームへ入室する命令や、メールの内容を表示させる命令などを選択可能に受け付ける。
【００４９】
第１の通知部１１１は、スピーカ１０９などを介して着信音を出力する。あるいは、第１の通知部１１１は、バイブレーション機能を有する。第１の通知部１１１は、着呼した際や、Ｐ２Ｐ参加要請メールを受信した際に、音声を出力したり、携帯電話１００を振動させたりする。
【００５０】
第２の通知部１１２は、着信したときに点滅するＴＥＬ用ＬＥＤ（Light Emitting Diode）１１２Ａと、Ｐ２Ｐ通信を受信したときに点滅するＰ２Ｐ用ＬＥＤ１１２Ｂを含む。
【００５１】
制御部１０６は、ＣＰＵ（Central Processing Unit）などによって実現され、携帯電話１００の各部を制御する。たとえば、入力部１１０を介してユーザから各種の命令を受け付けて、通信部１０１やＴＥＬ用通信部１０２やネットワークを介して外部の通信装置とデータの送受信を行う。
【００５２】
通信部１０１およびＴＥＬ用通信部１０２は、制御部１０６からの通信データを通信信号に変換し、その通信信号を図示しないアンテナを介して発信する。通信部１０１およびＴＥＬ用通信部１０２は、アンテナを介して受信した通信信号を通信データに変換し、その通信データを制御部１０６に入力する。
【００５３】
記憶部１０３は、作業用メモリとして機能するＲＡＭ（Random Access Memory）や、制御プログラムなどを格納するＲＯＭ（Read Only Memory）や、画像データなどを記憶するハードディスクなどによって実現される。記憶部１０３は、各種のワークメモリ１０３Ａを有する。記憶部１０３のワークメモリ１０３Ａは、発信者の電話番号を格納するＲＣＶＴＥＬＮＯ領域、選択されたアドレスのメモリＮｏを格納するＳＥＬ領域、生成されたルーム名を格納するＲＯＯＭＮＡＭＥ領域などを含む。
【００５４】
図６（Ａ）は、記憶部１０３が記憶するアドレス帳データ１０３Ｂを示すイメージ図である。図６（Ｂ）は、記憶部１０３が記憶する自端末データ１０３Ｃを示すイメージ図である。図６（Ｃ）は、記憶部１０３が記憶する自端末のＩＰアドレスデータ１０３Ｄと自端末のＩＰアドレスデータ１０３Ｅとを示すイメージ図である。
【００５５】
図６（Ｂ）を参照して、アドレス帳データ（ＡｄｒＤＢ［］）１０３Ｂは、宛先（他の通信装置）毎にメモリＮｏを対応付けている。そして、アドレス帳データ１０３Ｂは、宛先毎に、名前、電話番号、メールアドレス、ニックネームなどを互いに対応付けて格納する。
【００５６】
図６（Ｃ）を参照して、自端末データ（ＭｙＡｄｒ）１０３Ｃは、自端末のユーザの名前、自端末の電話番号、自端末のメールアドレス、ニックネームなどを格納する。
【００５７】
図６（Ｄ）を参照して、他端末のＩＰアドレスデータ（ＨＩＳ＿ＩＰＡＤＲ）１０３Ｄは、他端末のＩＰアドレスを格納する。自端末のＩＰアドレスデータ（ＭＹ＿ＩＰＡＤＲ）１０３Ｅは、自端末のＩＰアドレスを格納する。
【００５８】
＜マッチングサーバ４００のハードウェア構成＞
次に、本実施の形態に係るマッチングサーバ４００のハードウェア構成について説明する。図７は、本実施の形態に係るマッチングサーバ４００のハードウェア構成を示すブロック図である。図７を参照して、本実施の形態に係るマッチングサーバ４００は、相互に内部バス４０８で接続されたＣＰＵ４０５と、メモリ４０６と、固定ディスク４０７と、サーバ通信部４０９とを含む。
【００５９】
メモリ４０６は、各種の情報を記憶するものであって、たとえば、ＣＰＵ４０５でのプログラムの実行に必要なデータを一時的に記憶する。固定ディスク４０７は、ＣＰＵ１０５が実行するプログラムやデータベースを記憶する。ＣＰＵ４０５は、マッチングサーバ４００およびメールサーバ６００の各要素を制御するものであって、各種の演算を実施する装置である。
【００６０】
サーバ通信部４０９は、ＣＰＵ４０５が出力したデータを電気信号へと変換して外部へ送信し、外部から受信した電気信号をデータに変換してＣＰＵ４０５に入力する。具体的には、サーバ通信部４０９は、ＣＰＵ４０５からのデータを、インターネット網５００やキャリア網７００などを介して携帯電話１００やカーナビゲーション装置２００やパーソナルコンピュータ３００に送信する。そして、インターネット網５００やキャリア網７００を介して携帯電話１００やカーナビゲーション装置２００やパーソナルコンピュータ３００から受信したデータを、ＣＰＵ４０５に入力する。
【００６１】
ここで、メモリ４０６あるいは固定ディスク４０７に記憶されるデータについて説明する。図８（Ａ）は、マッチングサーバ４００のメモリ４０６あるいは固定ディスク４０７に記憶されるルーム管理テーブル４０６Ａのデータ構造を示す第１のイメージ図であって、図８（Ｂ）は、マッチングサーバ４００のメモリ４０６あるいは固定ディスク４０７に記憶されるルーム管理テーブル４０６Ａのデータ構造を示す第２のイメージ図である。
【００６２】
図８（Ａ）および図８（Ｂ）を参照して、ルーム管理テーブル４０６Ａは、ルーム毎に、ルーム名と当該ルームに入室中の通信装置の識別情報とを対応付けて格納する。たとえば、ある時点においては、図８（Ａ）を参照して、マッチングサーバ４００にルーム名ＡＢを有するチャットルーム、ルーム名ＣＤを有するチャットルーム、ルーム名ＥＦを有するチャットルーム、ルーム名ＧＨを有するチャットルームが生成されている。
【００６３】
本実施の形態においては、ルーム名ＡＢは、通信装置Ａが通信装置Ａの電話番号と通信装置Ｂの電話番号とに基づいて決定する。ルーム名ＣＤは、通信装置Ｃが通信装置Ｃの電話番号と通信装置Ｄの電話番号とに基づいて決定する。ルーム名ＥＦは、通信装置Ｅが、通信装置Ｅの電話番号と通信装置Ｆの電話番号とに基づいて決定する。ルーム名ＧＨは、通信装置Ｇが通信装置Ｇの電話番号と通信装置Ｈの電話番号とに基づいて決定する。
【００６４】
そして、ルーム名ＡＢを有するチャットルームには通信装置Ａが入室しているため、ルーム管理テーブル４０６Ａは、通信装置ＡのＩＰアドレスをルーム名ＡＢに対応付けて格納する。ルーム名ＣＤを有するチャットルームには通信装置Ｃが入室しているため、ルーム管理テーブル４０６Ａは、通信装置ＣのＩＰアドレスをルーム名ＣＤに対応付けて格納する。ルーム名ＥＦを有するチャットルームには通信装置Ｅが入室しているため、ルーム管理テーブル４０６Ａは、通信装置ＥのＩＰアドレスをルーム名ＥＦに対応付けて格納する。ルーム名ＧＨを有するチャットルームには通信装置Ｇが入室しているため、ルーム管理テーブル４０６Ａは、通信装置ＧのＩＰアドレスをルーム名ＧＨに対応付けて格納する。
【００６５】
ルーム名ＡＢを有するチャットルームに新たに通信装置Ｂが入室すると、図８（Ｂ）を参照して、ルーム管理テーブル４０６Ａはルーム名ＡＢに対応付けて、通信装置ＢのＩＰアドレスを格納する。
【００６６】
たとえば、マッチングサーバ４００においては、第１の携帯電話１００Ａが新たなチャットルームの生成を要求してきた際（図２におけるステップＳ００２）に、生成要求からルーム名を取得して、ルーム管理テーブル４０６Ａに当該ルーム名と第１の携帯電話１００ＡのＩＰアドレスとを対応付けて格納する。その後、第２の携帯電話１００Ｂがマッチングサーバ４００にチャットルームへの入室を要求してきた際（図２におけるステップＳ００８）に、ＣＰＵ４０５が、ルーム管理テーブル４０６Ａに当該ルーム名と第２の携帯電話１００ＢのＩＰアドレスとを対応付けて格納する。
【００６７】
そして、当該ルーム名に対応するＩＰアドレスの個数が予め設定された個数に達すると、あるいは当該ルームが生成されてから予め設定された時間が経過すると、ＣＰＵ４０５は、ルーム管理テーブル４０６Ａから当該ルーム名に対応する第１の携帯電話１００ＡのＩＰアドレスや第２の携帯電話１００ＢのＩＰアドレスを読み出す。ＣＰＵ４０５は、第１の携帯電話１００ＡのＩＰアドレスを第２の各通信装置に送信し、第２の携帯電話１００ＢのＩＰアドレスを第１の携帯電話１００Ａに送信する。
【００６８】
＜ネットワークシステム１の機能構成＞
図９は、本実施の形態に係るネットワークシステム１の機能構成を示すブロック図である。図９を参照して、本実施の形態に係るネットワークシステム１は、第１の携帯電話１００Ａと、第２の携帯電話１００Ｂと、インターネット網５００と、マッチングサーバ４００を含む。
【００６９】
第１の携帯電話１００Ａは、第１の通信部１０１−１と、第１の生成部１０６１−１と、第１の通信制御部１０６２−１と、第１の記憶部１０３−１と、第１の入力部１１０−１とを含む。第２の携帯電話１００Ｂは、第２の通信部１０１−２と、第２の生成部１０６１−２と、第２の通信制御部１０６２−２と、第２の記憶部１０３−２と、第２の入力部１１０−２とを含む。マッチングサーバ４００は、サーバ通信部４０９と、ルーム生成部４０５１と、ルーム入室部４０５２と、ルーム削除部４０５３と、メモリ４０６とを含む。
【００７０】
（マッチングサーバ４００の機能）
まず、マッチングサーバ４００が有する機能について説明する。前述したように、メモリ４０６は、ルーム管理テーブル４０６Ａを記憶する。
【００７１】
サーバ通信部４０９は、インターネット網５００やキャリア網７００を介して、第１の携帯電話１００Ａや第２の携帯電話１００Ｂとデータの送受信を行う。たとえば、サーバ通信部４０９は、第１の携帯電話１００Ａから、新たなルームを生成するための生成要求や、ルームを削除するための削除要求などを受信する。また、サーバ通信部４０９は、第２の携帯電話１００Ｂから、ルームの存否を問い合わせるための検索要求や、ルームへ入室するための入室要求などを受信する
図１０は、マッチングサーバ４００と第１の携帯電話１００Ａおよび第２の携帯電話１００Ｂとの間で送受信されるメッセージ（コマンド）の一例を示すイメージ図である。図１０を参照して、生成要求は、ルームの生成を要求するためのメッセージであって、コマンド名は「ＲＭ＿ＣＲＥＡＴＥ」である。第１の携帯電話１００Ａは、生成要求として、第１の携帯電話１００ＡのＩＰアドレスと生成するルームのルーム名とを送信する。マッチングサーバ４００は、生成要求を受け付けて、後述するようにルーム名に対応する新たなルームを生成する。マッチングサーバ４００は、第１の携帯電話１００Ａにルームの生成に成功したか否かを示すメッセージを返信する。
【００７２】
検索要求は、ルームの検索を要求するためのメッセージであって、コマンド名は「ＲＭ＿ＳＥＡＲＣＨ」である。第２の携帯電話１００Ａは、検索要求として、第１の携帯電話１００ＡのＩＰアドレスと検索するルーム名とを送信する。マッチングサーバ４００は、検索要求を受け付けて、後述するようにルーム管理テーブル４０６Ａにルーム名が記憶されているか否かを判断する。マッチングサーバ４００はルーム名を有するルームが存在するか否かを示すメッセージを返信する。
【００７３】
削除要求は、ルームの削除を要求するためのメッセージであって、コマンド名は「ＲＭ＿ＤＥＬＥＴＥ」である。第１の携帯電話１００Ａは、削除要求として、第１の携帯電話１００ＡのＩＰアドレスと削除するルームのルーム名とを送信する。マッチングサーバ４００は、削除要求を受け付けて、ルーム管理テーブル４０６Ａからルーム名に対応するルームを削除する。マッチングサーバ４００はルームの削除に成功したか否かを示すメッセージを返信する。
【００７４】
入室要求は、ルームに入室するためのメッセージであって、コマンド名は「ＲＭ＿ＥＮＴＲＹ」である。第２の携帯電話１００Ａは、入室要求として、第２の携帯電話１００ＡのＩＰアドレスと入室するルーム名とを送信する。マッチングサーバ４００は、入室要求を受け付けて、第２の携帯電話１００ＢのＩＰアドレスをルーム名に対応付けてルーム管理テーブル４０６Ａに格納する。マッチングサーバ４００はルームへの入室に成功したか否かを示すメッセージを返信する。
【００７５】
図９に戻って、ルーム生成部４０５１とルーム入室部４０５２とルーム削除部４０５３とは、マッチングサーバ４００のＣＰＵ４０５がメモリ４０６や固定ディスク４０７などに記憶されるプログラムを実行して図７に示される各ハードウェアを制御することによって発揮される機能である。たとえば、ＣＰＵ４０５が有する各機能は、ＣＰＵ４０５が、固定ディスク４０７に記憶されたプログラムを一旦メモリ４０６へと読み出して、メモリ４０６からそのプログラムを読み出しながら順次実行することによって実現される。
【００７６】
ルーム生成部４０５１は、第２の携帯電話１００Ｂからサーバ通信部４０９を介して生成要求を受け付ける。ルーム生成部４０５１は、生成要求に応じて、当該生成要求に含まれるルーム名を有する新たなルームを生成する。すなわち、ルーム生成部４０５１は、当該ルーム名と第１の携帯電話１００ＡのＩＰアドレスとを対応付けて、ルーム管理テーブル４０６Ａに格納する。
【００７７】
ルーム入室部４０５２は、第２の携帯電話１００Ｂからサーバ通信部４０９を介して、ルーム名を有するチャットルームの存否の問い合わせを受け付ける。ルーム入室部４０５２は、当該ルーム名がルーム管理テーブル４０６Ａに格納されているか否かを判断する。ルーム入室部４０５２は、サーバ通信部４０９を介して、判断結果を第２の携帯電話１００Ｂに送信する。
【００７８】
また、ルーム入室部４０５２は、第２の携帯電話１００Ｂからサーバ通信部４０９を介して、チャットルームへの入室要求を受け付ける。ルーム入室部４０５２は、入室要求に応じて、入室要求に含まれるルーム名に対応付けて第２の携帯電話１００ＢのＩＰアドレスをルーム管理テーブル４０６Ａに格納する。ルーム入室部４０５２は、当該ルームに関する所定の条件が満たされると、当該ルームに入室している各通信装置に、当該ルームに入室している他の通信装置のＩＰアドレスを送信する。
【００７９】
なお、所定の条件とは、たとえばルーム名に対応付けられたＩＰアドレスの個数が予め設定された個数に達することや、あるいはルームが生成されてから予め設定された時間が経過することなどが該当する。
【００８０】
ルーム削除部４０５３は、第１の携帯電話１００Ａからサーバ通信部４０９を介して、ルーム名を有するチャットルームの削除要求を受け付ける。ルーム削除部４０５３は、削除要求に応じて、ルーム管理テーブル４０６Ａの当該ルーム名に関するデータを削除する、あるいはルーム管理テーブル４０６Ａの当該ルーム名に対応する削除フラグなどをＯＮする。
【００８１】
（第１の携帯電話１００Ａの機能）
次に、第１の携帯電話１００Ａが有する機能について説明する。第１の通信部１０１−１は、第１の携帯電話１００Ａの通信部１０１あるいはＴＥＬ用通信部１０２によって実現される。第１の記憶部１０３−１は、第１の携帯電話１００Ａの記憶部１０３によって実現される。第１の入力部１１０−１は、第１の携帯電話１００Ａの入力部１１０によって実現される。第１の生成部１０６１−１および第１の通信制御部１０６２−１は、第１の携帯電話１００Ａの制御部１０６が記憶部１０３に記憶されるプログラムを実行して図５に示される各ハードウェアを制御することによって発揮される機能である。
【００８２】
第１の記憶部１０３−１は、第１の携帯電話１００Ａを特定するための第１の識別情報（電話番号やメールアドレスやＩＰアドレスなど）と第２の携帯電話１００Ｂを特定するための第２の識別情報（電話番号やメールアドレスやＩＰアドレスなど）とを格納する。より詳細には、第１の記憶部１０３−１は、アドレス帳データ１０３Ｂ、自端末データ１０３Ｃ、自端末のＩＰアドレスデータ１０３Ｄ、自端末のＩＰアドレスデータ１０３Ｅなどを記憶する。
【００８３】
第１の生成部１０６１−１は、第１の入力部１１０−１を介して、ユーザからＰ２Ｐ通信を開始するための開始命令を受け付ける。より詳細には、ユーザは、アドレス帳からＰ２Ｐ通信における相手通信装置を選択して、Ｐ２Ｐ通信を開始する旨を入力する。すなわち、開始命令は、アドレス帳のメモリＮｏ．などを含む。第１の生成部１０６１−１は、開始命令に応じて、自身の電話番号と他端末（第２の携帯電話１００Ｂ）の電話番号とに基づいて、新たなルーム名を生成する。
【００８４】
第１の通信制御部１０６２−１は、第１の通信部１０１−１を用いて、新たなチャットルームを生成する生成要求をマッチングサーバ４００へ送信する。そして、第１の通信制御部１０６２−１は、第１の通信部１０１−１を用いて、第２の携帯電話１００Ｂの電話番号に基づき、キャリア網７００を介して第２の携帯電話１００Ｂへ電話をかける（発呼する）。また、第１の通信制御部１０６２−１は、第１の入力部１１０−１を介してユーザからのＰ２Ｐ通信の接続を中断する命令を受け付けて、ルーム名に対応するルームを削除する（クローズする）ための削除命令を第１の通信部１０１−１を介してマッチングサーバ４００に送信する。
【００８５】
（第２の携帯電話１００Ｂの機能）
次に、第２の携帯電話１００Ｂが有する機能について説明する。第２の通信部１０１−２は、第２の携帯電話１００Ｂの通信部１０１あるいはＴＥＬ用通信部１０２によって実現される。第２の記憶部１０３−２は、第２の携帯電話１００Ｂの記憶部１０３によって実現される。第２の入力部１１０−２は、第２の携帯電話１００Ｂの入力部１１０によって実現される。第２の生成部１０６１−２および第２の通信制御部１０６２−２は、第２の携帯電話１００Ｂの制御部１０６が記憶部１０３に記憶されるプログラムを実行して図５に示される各ハードウェアを制御することによって発揮される機能である。
【００８６】
第２の記憶部１０３−２は、第２の携帯電話１００Ｂを特定するための第２の識別情報（電話番号やメールアドレスやＩＰアドレスなど）と第１の携帯電話１００Ａを特定するための第１の識別情報（電話番号やメールアドレスやＩＰアドレスなど）とを格納する。より詳細には、第１の記憶部１０３−１は、アドレス帳データ１０３Ｂ、自端末データ１０３Ｃ、自端末のＩＰアドレスデータ１０３Ｄ、自端末のＩＰアドレスデータ１０３Ｅなどを記憶する。
【００８７】
第２の通信制御部１０６２−２および第２の生成部１０６１−２は、第２の通信部１０１−２を介して、第１の携帯電話１００Ａから、電話を受け付ける（着呼する）。第２の生成部１０６１−２は、着呼に応じて、第１の携帯電話１００Ａの電話番号と自身の電話番号とに基づいて、新たなルーム名を生成する。第２の通信制御部１０６２−２は、第２の通信部１０１−２を介して、マッチングサーバ４００に、ルーム名に対応するチャットルームが存在するか否かを問い合わせる。
【００８８】
第２の通信制御部１０６２−２は、ルーム名に対応するチャットルームが存在する場合、図５に示す第１の通知部１１１や第２の通知部１１２を稼動することによって、Ｐ２Ｐ通信の呼びかけを受けた旨をユーザに知らしめる。そして、第２の入力部１１０を介してユーザからＰ２Ｐ通信を開始するか否かを待ち受ける。第２の通信制御部１０６２−２は、ルーム名に対応するチャットルームが存在しない場合、図５に示す第１の通知部１１１や第２の通知部１１２を稼動することによって、通話の呼びかけを受けた旨をユーザに知らしめる。
【００８９】
第２の入力部１１０−２は、ルーム名に対応するチャットルームが存在する場合、Ｐ２Ｐ通信を開始する命令、あるいはルームに入室する入室命令を受け付ける。入室命令に応じて、第２の通信制御部１０６２−２は、第２の通信部１０１−２を介してマッチングサーバ４００に入室要求を送信する。これによって、第２の通信制御部１０６２−２は、マッチングサーバ４００から相手の通信装置のＩＰアドレスを取得することができ、第２の通信部１０１−２を介してＰ２Ｐ通信を行うことが可能にある。
【００９０】
そして、第１の携帯電話１００Ａは、Ｐ２Ｐ通信における相手をチャットルームに招待する機能だけでなく、第２の携帯電話１００Ｂが有するようなチャットルームに招待される機能を有してもよい。逆に、第２の携帯電話１００Ｂは、Ｐ２Ｐ通信における相手からチャットルームに招待される機能だけでなく、第１の携帯電話１００Ａが有するようなチャットルームに招待する機能を有してもよい。
【００９１】
すなわち、第１の通信制御部１０６２−１が、第１の通信部１０１−１を介して第２の携帯電話１００Ｂからの電話を受け付けると、第１の生成部１０６１−１が第１および第２の携帯電話の電話番号に基づいてルーム名を生成する。第１の通信制御部１０６２−１は、マッチングサーバ４００にルーム名に対応するチャットルームが存在するか否かを問い合わせる。第１の入力部１１０−１は、当該チャットルームが存在する場合、ユーザからＰ２Ｐ通信に応答するか否かの命令を待ち受ける。一方、第１の入力部１１０−１は、チャットルームが存在する場合、ユーザから通話に応答するか否かの命令を待ち受ける。
【００９２】
（ルーム名の生成）
ここで、第１の生成部１０６１−１、第２の生成部１０６１−２によるルーム名の生成方法について説明する。
【００９３】
たとえば、第１の生成部１０６１−１は、第１の携帯電話１００Ａの第１の電話番号と、第２の携帯電話１００Ｂの第２の電話番号とを単純に並べたルーム名を生成する。電話番号は、各端末に固有のデータであるため、第１の電話番号と第２の電話番号とを並べたルーム名は、各グループに固有のデータであって、他のグループのルーム名と重複することがない。
【００９４】
あるいは、第１の生成部１０６１−１は、第１の携帯電話１００Ａの電話番号に対応する他の識別情報（メールアドレスやニックネームなど）と、第２の携帯電話１００Ｂの他の識別情報とを、アルファベット順に並べたルーム名を生成してもよい。
【００９５】
また、第１の生成部１０６１−１は、ハッシュ関数などを用いて第１の電話番号と第２の電話番号とを暗号化した上で、それらを並べてルーム名を生成してもよい。本実施の形態に係るネットワークシステム１においては、元のデータを復元する必要がないため、暗号化の方法は、元のデータがより復元し難いことが好ましい。たとえば、不可逆な関数を用いて、電話番号を暗号化することが好ましい。
【００９６】
本実施の形態に係るネットワークシステム１においては、第２の生成部１０６１−２が、第１の生成部１０６１−１と同様の方法でルーム名を生成する。このため、招待される第２の携帯電話１００Ｂが自身でルーム名を生成することができる。すなわち、Ｐ２Ｐ通信を開始する前に、第１の携帯電話１００Ａのユーザがルーム名を第２の携帯電話１００Ｂのユーザに通知する必要がなくなる。特に、第１の携帯電話１００Ａが第２の携帯電話１００Ｂに電話をかけるだけで、第２の携帯電話１００Ｂがルーム名を取得することができるため、第１の携帯電話１００Ａと第２の携帯電話１００ＢのユーザがＰ２Ｐ通信を開始するまでに行う手間を大幅に削減することができる。
【００９７】
このように、本実施の形態に係るネットワークシステム１においては、各通信装置にて他のチャットルームのルーム名と重複しないルーム名を生成するため、各通信装置のユーザが他のチャットルームのルーム名と重複しないルーム名を考える必要がない。また、一般的に、メールアドレスは各通信装置を特定することができる識別情報であるが故に比較的多くの文字数を含む。そのため、第１のメールアドレスと第２のメールアドレスとを含むチャートルーム毎のルーム名をユーザが入力することは面倒である。本実施の形態に係るネットワークシステム１は、そのようなユーザの手間も省くことができる。
【００９８】
＜携帯電話１００における通信処理＞
次に、本実施の形態に係る携帯電話１００における通信処理について説明する。図１１は、本実施の形態に係る携帯電話１００における通信処理の処理手順を示すフローチャートである。
【００９９】
図１１を参照して、制御部１０６は、メインディスプレイ１０７に待ち受け画面を表示させる（ステップＳ０５２）。制御部１０６は、アドレス帳ボタン１１０Ｄが操作されたか否かを判断する（ステップＳ０５４）。アドレス帳ボタン１１０Ｄが操作された場合（ステップＳ０５４にてＹＥＳである場合）、制御部１０６は、発呼処理（ステップＳ５００）を実行する。なお、発呼処理（ステップＳ５００）については後述する。
【０１００】
アドレス帳ボタン１１０Ｄが操作されない場合（ステップＳ０５４にてＮＯである場合）、制御部１０６は、電話の呼び出し（着呼）があるか否かを判断する（ステップＳ０５６）。電話の呼び出しがあった場合（ステップＳ０５６にてＹＥＳである場合）、制御部１０６は、着呼処理（ステップＳ１００）を実行する。着呼処理（ステップＳ１００）については後述する。電話の呼び出しがない場合（ステップＳ０５６にてＮＯである場合）、制御部１０６はステップＳ０５４からの処理を繰り返す。
【０１０１】
＜携帯電話１００における発呼処理＞
次に、本実施の形態に係る携帯電話１００における発呼処理について説明する。図１２は、本実施の形態に係る携帯電話１００における発呼処理の処理手順を示すフローチャートである。
【０１０２】
図１２を参照して、制御部１０６は、アドレス帳ボタン１１０Ｄが操作された場合（ステップＳ０５４にてＹＥＳである場合）、アドレス帳データ１０３Ｂに基づいて、メインディスプレイ１０７にアドレス帳を一覧表示させる（ステップＳ５０２）。ユーザは、入力部１１０を介してＰ２Ｐ通信における相手の通信装置を選択する。すなわち、制御部１０６は、入力部１１０を介して通信装置の選択命令を受け付ける（ステップＳ５０４）。
【０１０３】
制御部１０６は、相手の通信装置が選択された状態において、ＴＥＬボタン１１０Ａが操作されたか否かを判断する（ステップＳ５０６）。ＴＥＬボタン１１０Ａが操作された場合（ステップＳ５０６にてＹＥＳである場合）、制御部１０６は、ＴＥＬ発呼処理（ステップＳ６００）を実行する。ＴＥＬ発呼処理（６００）については後述する。
【０１０４】
ＴＥＬボタン１１０Ａが操作されない場合（ステップＳ５０６にてＮＯである場合）、制御部１０６は、Ｐ２Ｐボタンが操作されたか否かを判断する（ステップＳ５１０）。Ｐ２Ｐボタンが操作された場合（ステップＳ５１０にてＹＥＳである場合）、制御部１０６は、Ｐ２Ｐ発呼処理（ステップＳ８００）を実行する。
【０１０５】
Ｐ２Ｐボタンが操作されない場合（ステップＳ５１０にてＮＯである場合）、制御部１０６は、終了ボタン１１０Ｅが操作されたか否かを判断する（ステップＳ５１２）。終了ボタン１１０Ｅが操作された場合（ステップＳ５１２にてＹＥＳである場合）、制御部１０６は、発呼処理を終了して、ステップＳ０５６からの処理を繰り返す。終了ボタンが操作されない場合（ステップＳ５１２にてＮＯである場合）、制御部１０６は、ステップＳ５０６からの処理を繰り返す。
【０１０６】
＜携帯電話１００におけるＴＥＬ発呼処理＞
次に、本実施の形態に係る携帯電話１００におけるＴＥＬ発呼処理について説明する。図１３は、本実施の形態に係る携帯電話１００におけるＴＥＬ発呼処理の処理手順を示すフローチャートである。
【０１０７】
図１３を参照して、制御部１０６は、ＴＥＬボタン１１０Ａが操作された場合（ステップＳ５０６にてＹＥＳである場合）、ＴＥＬ用通信部１０２を用いてＳＥＬに格納されているメモリＮｏに対応する電話番号に発呼する（ステップＳ６０２）。すなわち、制御部１０６は、通信部１０１あるいはＴＥＬ用通信部１０２を介して、アドレス帳から選択された相手通信装置に電話をかける。
【０１０８】
制御部１０６は、ＴＥＬボタン１１０Ａが切断用の操作をされたか否かを判断する（ステップＳ６０４）。ＴＥＬボタンが切断用の操作をされた場合（ステップＳ６０４にてＹＥＳである場合）、制御部１０６は、ＴＥＬの発呼を中断したうえで（ステップＳ６１２）、ステップＳ０５２からの処理を繰り返す。ＴＥＬボタンが切断用の操作をされない場合（ステップＳ６０４にてＮＯである場合）、制御部１０６は、相手通信装置の応答を待ち受ける（ステップＳ６０６）。相手通信装置の応答が無い場合（ステップＳ６０６にてＮＯである場合）、制御部１０６は、ステップＳ６０４からの処理を繰り返す。
【０１０９】
相手通信装置の応答が有った場合（ステップＳ６０６にてＹＥＳである場合）、制御部１０６は、通話制御を行う（ステップＳ６０８）。制御部１０６は、ＴＥＬボタン１１０Ａが切断用の操作をされた、あるいは切断信号を受信した場合（ステップＳ３１０にてＹＥＳである場合）、ＴＥＬ発呼処理を終了してステップＳ０５２からの処理を繰り返す。制御部１０６は、ＴＥＬボタン１１０Ａが切断用の操作をされず、切断信号も受信しない場合（ステップＳ６１０にてＮＯである場合）、ステップＳ６０８からの処理を繰り返す。
【０１１０】
＜携帯電話１００におけるＰ２Ｐ発呼処理＞
次に、本実施の形態に係る携帯電話１００におけるＰ２Ｐ発呼処理について説明する。図１４は、本実施の形態に係る携帯電話１００におけるＰ２Ｐ発呼処理の処理手順を示すフローチャートである。
【０１１１】
図１４を参照して、Ｐ２Ｐボタン１１０Ｃが操作された場合（ステップＳ５１０にてＹＥＳである場合）、制御部１０６は、Ｐ２Ｐ通信における相手通信装置に発呼する（ステップＳ８０２）。このとき、制御部１０６は、ＡｄｒＤＢ［ＳＥＬ］．ＴＥＬＮｏから読み出した電話番号の先頭に「１８６」を付与したうえで、すなわち自端末の電話番号を相手が認識できるモードにおいて、ＴＥＬ用通信部１０２を介して相手通信装置に発呼する。
【０１１２】
制御部１０６は、相手通信装置から応答があるか否かを判断する（ステップＳ８０４）。相手の通信装置から応答があった場合（ステップＳ８０４にてＹＥＳである場合）、制御部１０６はステップＳ６０８からの処理を繰り返す。
【０１１３】
相手の通信装置から応答がない場合（ステップＳ８０４にてＮＯである場合）、制御部１０６は発呼の開始時刻から予め設定された時間が経過したか否かを判断する（ステップＳ８０６）。発呼の開始時刻から予め設定された時間が経過していない場合（ステップＳ８０６にてＮＯである場合）、制御部１０６はステップＳ８０４からの処理を繰り返す。発呼の開始時刻から予め設定された時間が経過した場合（ステップＳ８０６にてＹＥＳである場合）、制御部１０６は発呼を終了したうえで（ステップＳ８０８）、所定のルールに基づいて、ＡｄｒＤＢ［ＳＥＬ］．ＴＥＬＮｏの番号とＭｙＡｄｒ．ＴＥＬＮｏの番号からチャットルーム名を生成する（ステップＳ８１０）。たとえば、制御部１０６は、記憶部１０３のＲＭＮＭにＨＡＳＨ関数の戻り値、ＨＡＳＨ（ＡｄｒＤＢ［ＳＥＬ］．ＴＥＬＮｏ，ＭｙＡｄｒ．ＴＥＬＮｏ）を代入する。
【０１１４】
制御部１０６は、通信部１０１を介して、インターネット網５００に接続する（ステップＳ８１２）。このとき、携帯電話１００には、ＩＰアドレスが割り当てられる。制御部１０６は、通信部１０１を介して、マッチングサーバ４００にＲＭＮＭのチャットルーム名を有するチャットルームを生成するための生成要求を送信する（ステップＳ８１４）。
【０１１５】
制御部１０６は、入力部１１０を介して、ユーザによってＰ２Ｐボタンが操作されたか否かを判断する（ステップＳ８１６）。すなわち、制御部１０６は、ユーザからＰ２Ｐ通信を中断するための命令を受け付けたか否かを判断する。ユーザによってＰ２Ｐボタンが操作された場合（ステップＳ８１６にてＹＥＳである場合）、制御部１０６は通信部１０１を介してマッチングサーバ４００にＲＭＮＭのチャットルーム名を有するチャットルームを削除するための削除要求を送信して（ステップＳ８１８）、ステップＳ０５２からの処理を繰り返す。
【０１１６】
ユーザによってＰ２Ｐボタンが操作されない場合（ステップＳ８１６にてＮＯである場合）、制御部１０６は、Ｐ２Ｐ通信における相手通信装置のＩＰアドレスを受信したか否かを判断する（ステップＳ８２０）。Ｐ２Ｐ通信における相手通信装置のＩＰアドレスを受信しない場合（ステップＳ８２０にてＮＯである場合）、制御部１０６はステップＳ８１６からの処理を繰り返す。
【０１１７】
Ｐ２Ｐ通信における相手の通信装置のＩＰアドレスを受信した場合（ステップＳ８２０にてＹＥＳである場合）、制御部１０６は、当該ＩＰアドレスをＨＩＳ＿ＩＰＡＤＲに記憶する（ステップＳ８２２）。制御部１０６は通信部１０１を介してマッチングサーバ４００にＲＭＮＭのチャットルーム名を有するチャットルームを削除するための削除要求を送信し（ステップＳ８２４）、Ｐ２Ｐ通信の制御を開始する（ステップＳ８２６）。
【０１１８】
制御部１０６は、入力部１１０を介して、ユーザによってＰ２Ｐボタンが操作されたか否か（あるいはＰ２Ｐ通信における相手通信装置から通信終了通知を受信したか否か）を判断する（ステップＳ８２８）。すなわち、制御部１０６はユーザからＰ２Ｐ通信を中断するための命令を受け付けたか否かを判断する。Ｐ２Ｐボタンが操作されない場合（ステップＳ８２８にてＮＯである場合）、制御部１０６はステップＳ８２６からの処理を繰り返す。Ｐ２Ｐボタンが操作された場合（ステップＳ８２８にてＹＥＳである場合）、制御部１０６はインターネット網５００への接続を解除する（ステップＳ８３０）。
【０１１９】
＜携帯電話１００における着呼処理＞
次に、本実施の形態に係る携帯電話１００における着呼処理について説明する。図１５は、本実施の形態に係る携帯電話１００における着呼処理の処理手順を示すフローチャートである。
【０１２０】
図１５を参照して、電話の呼び出しがあった場合（ステップＳ０５６にてＹＥＳである場合）、制御部１０６は、発信者の電話番号が通知されているか否かを判断する（ステップＳ１０２）。発信者の電話番号が通知されていない場合（ステップＳ１０２にてＮＯである場合）、制御部１０６はＴＥＬ着呼処理を実行する（ステップＳ２００）。ＴＥＬ着呼処理については後述する。
【０１２１】
一方、発信者の電話番号が通知されている場合（ステップＳ１０２にてＹＥＳである場合）、制御部１０６は発信者の電話番号をＲＣＶＴＥＬＮＯに記憶する（ステップＳ１０４）。制御部１０６は、ＲＣＶＴＥＬＮＯの番号が、ＡｄｒＤＢ［］に記憶されているいずれかの番号に一致するか否かを判断する（ステップＳ１０６）。ＲＣＶＴＥＬＮＯの番号が、ＡｄｒＤＢ［］に記憶されているいずれかの番号に一致しない場合（ステップＳ１０６にてＮＯである場合）、制御部１０６はＴＥＬ着呼処理を実行する（ステップＳ２００）。
【０１２２】
一方、ＲＣＶＴＥＬＮＯの番号が、ＡｄｒＤＢ［］に記憶されているいずれかの番号に一致する場合（ステップＳ１０６にてＹＥＳである場合）、制御部１０６は電話の呼び出し（着呼状態）が終了したか否かを判断する（ステップＳ１０８）。電話の呼び出しが終了しない場合、制御部１０６は呼び出し期間が予め設定された時間に達するか否かを判断する（ステップＳ１１０）。呼び出し期間が予め設定された時間に達する場合（ステップＳ１１０にてＹＥＳである場合）、制御部１０６はＴＥＬ着呼処理を実行する（ステップＳ２００）。呼び出し期間が予め設定された時間に達しない場合（ステップＳ１１０にてＮＯである場合）、制御部１０６はステップＳ１０８からの処理を繰り返す。
【０１２３】
一方、呼び出し期間が予め設定された時間に達する前に電話の呼び出しが終了した場合（ステップＳ１０８にてＹＥＳである場合）、制御部１０６は通信部１０１を介してインターネット網５００に接続する（ステップＳ１１２）。このとき、携帯電話１００には、ＩＰアドレスが割り当てられる。
【０１２４】
制御部１０６は、所定のルールに基づいて、ＲＣＶＴＥＬＮＯの番号とＭｙＡｄｒ．ＴＥＬＮｏの番号からチャットルーム名を生成する（ステップＳ１１４）。たとえば、制御部１０６は、ＲＭＮＭにＨＡＳＨ関数の戻り値、ＨＡＳＨ（ＲＣＶＴＥＬＮＯ，ＭｙＡｄｒ．ＴＥＬＮｏ）を代入する。
【０１２５】
制御部１０６は、通信部１０１を介してマッチングサーバ４００に、ＲＭＮＭに格納されているチャットルーム名を有するチャットルームが存在するか否かを問い合わせる（ステップＳ１１６）。ＲＭＮＭに格納されているチャットルーム名を有するチャットルームが存在する場合（ステップＳ１１６にてＹＥＳである場合）、制御部１０６はＰ２Ｐ着呼処理（ステップＳ３００）を実行する。Ｐ２Ｐ着呼処理（ステップＳ３００）については後述する。
【０１２６】
一方、ＲＭＮＭに格納されているチャットルーム名を有するチャットルームが存在しない場合（ステップＳ１１６にてＮＯである場合）、制御部１０６は、通信部１０１を介してインターネット網５００への接続を解除する（ステップＳ１１８）。制御部１０６は、所定時間だけ第１の通知部１１１を稼動した後（ステップＳ１２０）、第１の通知部１１１を停止する（ステップＳ１２２）。制御部１０６は、第２の通知部１１２を点灯させて（ステップＳ１２４）、ステップＳ０５２からの処理を繰り返す。
【０１２７】
＜携帯電話１００におけるＴＥＬ着呼処理＞
次に、本実施の形態に係る携帯電話１００におけるＴＥＬ着呼処理について説明する。図１６は、本実施の形態に係る携帯電話１００におけるＴＥＬ着呼処理の処理手順を示すフローチャートである。
【０１２８】
図１６を参照して、電話の呼び出しがあった場合（ステップＳ０５６にてＹＥＳである場合）、制御部１０６は、第１の通知部１１１を稼動して（ステップＳ２０４）、ＴＥＬ用ＬＥＤ１１２Ａを点滅させる（ステップＳ２０６）。
【０１２９】
制御部１０６は、着呼が終了したか否かを判断する（ステップＳ２０８）。制御部１０６は、着呼が終了した場合（ステップＳ２０８にてＹＥＳである場合）、通知部１１１を停止する（ステップＳ２１０）。制御部１０６は、ＴＥＬ用ＬＥＤ１１２Ａを点灯させて（ステップＳ２１２）、ステップＳ０５２からの処理を繰り返す。
【０１３０】
制御部１０６は、着呼が終了しなかった場合（ステップＳ２０８にてＮＯである場合）、ＴＥＬボタン１１０Ａが操作されたか否かを判断する（ステップＳ２１４）。制御部１０６は、ＴＥＬボタン１１０Ａが操作されなかった場合（ステップＳ２１４にてＮＯである場合）、ステップＳ２０８からの処理を繰り返す。制御部１０６は、ＴＥＬボタン１１０Ａが操作された場合（ステップＳ２１４にてＹＥＳである場合）、第１の通知部１１１を停止して（ステップＳ２１６）、ＴＥＬ用ＬＥＤ１１２Ａを消灯させる（ステップＳ２１８）。
【０１３１】
制御部１０６は、着信応答モードへ移行して、すなわちオンフックモードへ移行したうえで（ステップＳ２２０）、通話制御を行う（ステップＳ２２２）。制御部１０６は、ＴＥＬボタン１１０Ａが操作されたか否か（切断信号を受信したか否か）を判断する（ステップＳ２２４）。制御部１０６は、ＴＥＬボタン１１０Ａが操作された場合（ステップＳ２２４にてＹＥＳである場合）、ＴＥＬ着呼処理を終了してステップＳ０５２からの処理を繰り返す。制御部１０６は、ＴＥＬボタン１１０Ａが操作されず、切断信号も受信しない場合（ステップＳ２２４にてＮＯである場合）、ステップＳ２２２からの処理を繰り返す。
【０１３２】
＜携帯電話１００におけるＰ２Ｐ着呼処理＞
次に、本実施の形態に係る携帯電話１００におけるＰ２Ｐ着呼処理について説明する。図１７は、本実施の形態に係る携帯電話１００におけるＰ２Ｐ着呼処理の処理手順を示すフローチャートである。
【０１３３】
図１７を参照して、制御部１０６は、マッチングサーバ４００にＲＭＮＭのチャットルーム名を有するチャットルームが存在する場合（ステップＳ１１６にてＹＥＳである場合）、制御部１０６は、第１の通知部１１１を稼動して（ステップＳ３０２）、Ｐ２Ｐ用ＬＥＤ１１２Ｂを点滅させる（ステップＳ３０４）。ここで、制御部１０６は、通信部１０１を介して、マッチングサーバ４００にＲＭＮＭのチャットルーム名を有するチャットルームが存在するか否かを問い合わせる（ステップＳ３０６）。換言すれば、制御部１０６は、マッチングサーバ４００のＲＭＮＭのチャットルーム名を有するチャットルームが既に閉鎖されたか否かを判断する。
【０１３４】
制御部１０６は、ＲＭＮＭのチャットルーム名を有するチャットルームが存在しない場合（ステップＳ３０６にてＮＯである場合）、第１の通知部１１１を停止する（ステップＳ３０８）。制御部１０６は、Ｐ２Ｐ用ＬＥＤ１１２Ｂを点灯させて（ステップＳ３１０）、Ｓ０５２からの処理を繰り返す。このとき、制御部１０６は、記憶部１０３に着履登録する。
【０１３５】
ＲＭＮＭのチャットルーム名を有するチャットルームが存在する場合（ステップＳ３０６にてＹＥＳである場合）、制御部１０６は、入力部１１０を介して、ユーザからＰ２Ｐボタンの操作命令を待ち受ける（ステップＳ３１２）。制御部１０６は、Ｐ２Ｐ通信を行う旨の命令が入力されない場合（ステップＳ３１２にてＮＯである場合）、ステップＳ３０６からの処理を繰り返す。
【０１３６】
入力部１１０を介してＰ２Ｐ通信を行う旨の命令が入力されると、すなわちユーザがチャットルームへの入室命令を入力すると（ステップＳ３１２にてＹＥＳである場合）、制御部１０６は、第１の通知部１１１を停止したうえで（ステップＳ３１４）、Ｐ２Ｐ用ＬＥＤ１１２Ｂを消灯する（ステップＳ３１６）。
【０１３７】
制御部１０６は、通信部１０１を介してマッチングサーバ４００のチャットルームへ入室する（ステップＳ３１８）。すなわち、制御部１０６は、通信部１０１を介してマッチングサーバ４００に入室要求を送信し、マッチングサーバ４００からＰ２Ｐ通信における相手のＩＰアドレスを取得する。制御部１０６は、相手のＩＰアドレスをＨＩＳ＿ＩＰＡＤＲに記憶して（ステップＳ３２０）、Ｐ２Ｐ通信の制御を行う（ステップＳ３２２）。
【０１３８】
制御部１０６は、入力部１１０を介して、ユーザによってＰ２Ｐボタンが操作されたか否か（あるいはＰ２Ｐ通信における相手通信装置から通信終了通知を受信したか否か）を判断する（ステップＳ３２４）。すなわち、制御部１０６はユーザからＰ２Ｐ通信を中断するための命令を受け付けたか否かを判断する。Ｐ２Ｐボタンが操作されない場合（ステップＳ３２４にてＮＯである場合）、制御部１０６はステップＳ３２２からの処理を繰り返す。Ｐ２Ｐボタンが操作された場合（ステップＳ３２４にてＹＥＳである場合）、制御部１０６はインターネット網５００への接続を解除する（ステップＳ３２６）。すなわち、制御部１０６は、Ｐ２Ｐ着呼処理を終了したうえで、ステップＳ０５６からの処理を繰り返す。
【０１３９】
＜マッチングサーバ４００における応答処理＞
次に、本実施の形態に係るマッチングサーバ４００における応答処理について説明する。図１８は、本実施の形態に係るマッチングサーバ４００における応答処理の処理手順を示すフローチャートである。
【０１４０】
図１８を参照して、マッチングサーバ４００のＣＰＵ４０５は、サーバ通信部４０９を介して、第１の携帯電話１００Ａからメッセージを待ち受ける（ステップＳ９０２）。ＣＰＵ４０５は、第１の携帯電話１００Ａからメッセージを受け付けると（ステップＳ９０２にてＹＥＳである場合）、メッセージがチャットルームを生成するための生成要求であるか否かを判断する（ステップＳ９０４）。
【０１４１】
メッセージがチャットルームを生成するための生成要求である場合（ステップＳ９０４にてＹＥＳである場合）、ＣＰＵ４０６は生成要求に含まれるルーム名がルーム管理テーブル４０６Ａに存在するか否かを判断する（ステップＳ９０６）。ルーム名がルーム管理テーブル４０６Ａに存在する場合（ステップＳ９０６にてＹＥＳである場合）、ＣＰＵ４０６はルームの生成に失敗した旨を通知して（ステップＳ９３２）、ステップＳ９０２からの処理を繰り返す。
【０１４２】
ルーム名がルーム管理テーブル４０６Ａに存在しない場合（ステップＳ９０６にてＮＯである場合）、ＣＰＵ４０６はルーム名のルームを生成する（ステップＳ９０８）。すなわち、ＣＰＵ４０６は、ルーム管理テーブル４０６Ａにルーム名と生成要求に含まれる呼び出し側のＩＰアドレスとを対応付けて記憶する。ＣＰＵ４０６は、呼び出し側のＩＰアドレスにルームの生成が成功した旨を通知する（ステップＳ９１０）。
【０１４３】
メッセージがチャットルームを生成するための生成要求でない場合（ステップＳ９０４にてＮＯである場合）、ＣＰＵ４０６はメッセージがルーム名を検索するための検索要求であるか否かを判断する（ステップＳ９１２）。
【０１４４】
メッセージがチャットルームを検索するための検索要求である場合（ステップＳ９１２にてＹＥＳである場合）、検索要求に含まれるルーム名がルーム管理テーブル４０６Ａに存在するか否かを判断する（ステップＳ９１４）。ルーム名がルーム管理テーブル４０６Ａに存在する場合（ステップＳ９１４にてＹＥＳである場合）、ＣＰＵ４０６は要求元のＩＰアドレスにルームが見つかった旨を通知して（ステップＳ９１０）、ステップＳ９０２からの処理を繰り返す。
【０１４５】
ルーム名がルーム管理テーブル４０６Ａに存在しない場合（ステップＳ９１４にてＮＯである場合）、ＣＰＵ４０６は要求元のＩＰアドレスにルーム名が見つからない旨を通知して（ステップＳ９３２）、ステップＳ９０２からの処理を繰り返す。
【０１４６】
メッセージがチャットルームを検索するための検索要求でない場合（ステップＳ９１２にてＮＯである場合）、ＣＰＵ４０６はメッセージがチャットルームを削除するための削除要求であるか否かを判断する（ステップＳ９１６）。
【０１４７】
メッセージがチャットルームを削除するための削除要求である場合（ステップＳ９１６にてＹＥＳである場合）、ＣＰＵ４０６は、要求元のＩＰアドレスが削除要求に含まれるルーム名に対応付けられてルーム管理テーブル４０６Ａに格納されているか否かを判断する（ステップＳ９１８）。すなわち、ＣＰＵ４０６は、要求元の通信装置が、チャットルームに既に入室している通信装置であるか否かを判断する。要求元のＩＰアドレスが削除要求に含まれるルーム名に対応付けられてルーム管理テーブル４０６Ａに格納されている場合（ステップＳ９１８にてＹＥＳである場合）、ＣＰＵ４０６はルーム名のチャットルームを削除する（ステップＳ９２０）。ＣＰＵ４０６は、要求元のＩＰアドレスにチャットルームの削除が成功した旨を通知して（ステップＳ９１０）、ステップＳ９０２からの処理を繰り返す。
【０１４８】
要求元のＩＰアドレスが削除要求に含まれるルーム名に対応付けられてルーム管理テーブル４０６Ａに格納されている場合（ステップＳ９１８にてＮＯである場合）、ＣＰＵ４０６は要求元のＩＰアドレスにチャットルームの削除が失敗した旨を通知して（ステップＳ９３２）、ステップＳ９０２からの処理を繰り返す。
【０１４９】
メッセージがチャットルームを削除するための削除要求でない場合（ステップＳ９１６にてＮＯである場合）、ＣＰＵ４０６はメッセージがチャットルームに入室するための入室要求であるか否かを判断する（ステップＳ９２２）。
【０１５０】
メッセージがチャットルームに入室するための入室要求である場合（ステップＳ９２２にてＹＥＳである場合）、ＣＰＵ４０６は、入室要求に含まれるルーム名がルーム管理テーブル４０６Ａに格納されているか否かを判断する（ステップＳ９２４）。入室要求に含まれるルーム名がルーム管理テーブル４０６Ａに格納されている場合（ステップＳ９２４にてＹＥＳである場合）、ＣＰＵ４０６はルーム名に対応付けて要求元のＩＰアドレスをルーム管理テーブル４０６Ａに登録する（ステップＳ９２６）。
【０１５１】
ＣＰＵ４０６は、サーバ通信部４０９を介して、ルーム名に対応付けられてルーム管理テーブル４０６Ａに既に登録されているＩＰアドレスに、要求元のＩＰアドレスを送信する（ステップＳ９２８）。ＣＰＵ４０６は、サーバ通信部４０９を介して、要求元のＩＰアドレスに、ルーム名に対応付けられてルーム管理テーブル４０６Ａに既に登録されているＩＰアドレスを送信する（ステップＳ９３０）。
【０１５２】
そして、ＣＰＵ４０６は、ステップＳ９０２からの処理を繰り返す。一方、メッセージがチャットルームに入室するための入室要求でない場合（ステップＳ９２２にてＮＯである場合）、および入室要求に含まれるルーム名がルーム管理テーブル４０６Ａに格納されていない場合（ステップＳ９２４にてＮＯである場合）、ＣＰＵ４０６は要求元のＩＰアドレスにエラーメッセージを送信して（ステップＳ９３２）、ステップＳ９０２からの処理を繰り返す。
【０１５３】
以上、本実施の形態においては、ネットワークシステム１を、各通信装置が、他の通信装置に対する通話処理や発呼処理を行いながら、同時に、マッチングサーバ４００に対するデータ通信処理や他の通信装置に対するＰ２Ｐ通信処理を行わないタイプとして、説明を行った。ただし、上記の技術は、各通信装置がこれらの処理を同時に（時分割あるいは周波数分割によって）行えるタイプのネットワークシステム１に適用することも可能である。
【０１５４】
本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。
【０１５５】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１５６】
プログラムコードを供給するための記憶媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード（ＩＣメモリカード）、ＲＯＭ（マスクＲＯＭ、フラッシュＥＥＰＲＯＭなど）などを用いることができる。
【０１５７】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１５８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１５９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１６０】
【図１】本実施の形態に係るネットワークシステムの全体構成を示す概略図である。
【図２】ネットワークシステムにおける動作概要を示すシーケンス図である。
【図３】ネットワークシステムにおける接続手順を示すイメージ図である。
【図４】携帯電話の概観を示すイメージ図である。
【図５】携帯電話のハードウェア構成を示すブロック図である。
【図６】アドレス帳データと自端末データと他端末のＩＰアドレスデータと自端末のＩＰアドレスデータとを示すイメージ図である。
【図７】マッチングサーバ４００のハードウェア構成を示すブロック図である。
【図８】ルーム管理テーブルのデータ構造を示す第１のイメージ図とルーム管理テーブルのデータ構造を示す第２のイメージ図である。
【図９】ネットワークシステムの機能構成を示すブロック図である。
【図１０】マッチングサーバと第１の携帯電話および第２の携帯電話との間で送受信されるメッセージ（コマンド）の一例を示すイメージ図である。
【図１１】携帯電話における通信処理の処理手順を示すフローチャートである。
【図１２】携帯電話における発呼処理の処理手順を示すフローチャートである。
【図１３】携帯電話におけるＴＥＬ発呼処理の処理手順を示すフローチャートである。
【図１４】携帯電話におけるＰ２Ｐ発呼処理の処理手順を示すフローチャートである。
【図１５】携帯電話における着呼処理の処理手順を示すフローチャートである。
【図１６】携帯電話におけるＴＥＬ着呼処理の処理手順を示すフローチャートである。
【図１７】携帯電話におけるＰ２Ｐ着呼処理の処理手順を示すフローチャートである。
【図１８】マッチングサーバにおける応答処理の処理手順を示すフローチャートである。
【符号の説明】
【０１６１】
１  ネットワークシステム、１００，１００Ａ，１００Ｂ，１００Ｃ  携帯電話、１０１、１０１−１，１０２−２  通信部、１０３，１０３−１，１０３−２  記憶部、１０３Ａ，１０３Ａ−１，１０３Ａ−２  ワークメモリ、１０３Ｂ，１０３Ｂ−１，１０３Ｂ−２  アドレス帳データ、１０３Ｃ，１０３Ｃ−１，１０３Ｃ−２  自端末データ、１０３Ｄ，１０３Ｄ−１，１０３Ｄ−２  ＩＰアドレスデータ、１０６，１０６−１，１０６−２  制御部、１０６１，１０６１−１，１０６１−２  生成部、１０６２，１０６２−１，１０６２−２  通信制御部、１０７  メインディスプレイ、１０８  マイク、１０９  スピーカ、１１０，１１０−１，１１０−２  入力部、２００  カーナビゲーション装置、３００  パーソナルコンピュータ、４００  マッチングサーバ、４０５Ａ  ルーム生成部、４０５Ｂ  ルーム入室部、４０５Ｃ  ルーム削除部、４０６  メモリ、４０６Ａ  ルーム管理テーブル、４０７  固定ディスク、４０８  内部バス、４０９  サーバ通信部、５００  インターネット網、７００  キャリア網。
【図１】
2010088028.tif 000003
【図２】
2010088028.tif 000004
【図３】
2010088028.tif 000005
【図４】
2010088028.tif 000006
【図５】
2010088028.tif 000007
【図６】
2010088028.tif 000008
【図７】
2010088028.tif 000009
【図８】
2010088028.tif 000010
【図９】
2010088028.tif 000011
【図１０】
2010088028.tif 000012
【図１１】
2010088028.tif 000013
【図１２】
2010088028.tif 000014
【図１３】
2010088028.tif 000015
【図１４】
2010088028.tif 000016
【図１５】
2010088028.tif 000017
【図１６】
2010088028.tif 000018
【図１７】
2010088028.tif 000019
【図１８】
2010088028.tif 000020