(57)【要約】【課題】通信端末のユーザが容易に新たなルームを生成することができるネットワークシステム、通信端末を提供する。【解決手段】通信端末１００Ａは、通信端末を特定するための第１の識別情報と他の通信端末１００Ｂを特定するための第２の識別情報とを格納する記憶部１０３−１と、第１および第２の識別情報に基づいて第１のルーム名を生成する生成手段１０６Ａ−１と、データを交わすための第１のルームを生成する要求と生成手段で生成したルーム名とをサーバ装置４００へ送信する通信部１０１−１とを含む。通信部は、第２の識別情報に基づき、ネットワーク５００を介して、第２の通信端末へ、第１のルームへの招待と第１の識別情報とを示す第１の情報を送信し、第１のルーム名に基づいて第１のルームにアクセスする。【選択図】図９
2010021863.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して相互に接続可能な少なくとも第１および第２の通信端末とサーバ装置とを備えるネットワークシステムであって、
前記第１の通信端末は、
前記第１および第２の通信端末を特定するための第１および第２の識別情報を格納する第１の記憶部と、
前記第１および第２の識別情報に基づいてルーム名を生成する第１の生成手段と、
データを交わすためのルームを生成する要求と前記第１の生成手段で生成したルーム名とを前記サーバ装置へ送信する第１の通信部とを含み、
前記第１の通信部は、
前記第２の識別情報に基づき、前記ネットワークを介して、前記第２の通信端末へ、前記ルームへの招待と前記第１の識別情報とを示す情報を送信し、
前記第１の生成手段で生成したルーム名に対応する前記ルームにアクセスし、
前記サーバ装置は、
前記第１の通信端末からの前記要求と前記ルーム名とを受信するサーバ通信部と、
前記サーバ通信部で受信したルームを生成する要求に応じ、前記サーバ通信部で受信したルーム名を有するルームを生成するルーム生成手段と、
前記第１および第２の通信端末からの前記ルーム生成手段で生成したルームへのアクセスを受け付ける受付手段とを含み、
前記第２の通信端末は、
前記第２の識別情報を格納する第２の記憶部と、
前記第１および第２の識別情報に基づいてルーム名を生成する第２の生成手段と、
前記第１の通信端末から前記情報を受信するとともに、前記第２の生成手段で生成したルーム名に対応するルームにアクセスする第２の通信部とを含む、ネットワークシステム。
【請求項２】
ネットワークを介して他の通信端末およびサーバ装置と接続可能な通信端末であって、
前記通信端末を特定するための第１の識別情報と前記他の通信端末を特定するための第２の識別情報とを格納する記憶部と、
前記第１および第２の識別情報に基づいてルーム名を生成する生成手段と、
データを交わすためのルームを生成する要求と前記ルーム名とを前記サーバ装置へ送信する通信部とを含み、
前記通信部は、
前記第２の識別情報に基づき、前記ネットワークを介して、前記第２の識別情報で特定される他の通信端末へ、前記ルームへの招待と前記第１の識別情報とを示す第１の情報を送信し、
前記ルーム名に対応するルームにアクセスする、通信端末。
【請求項３】
ネットワークを介して他の通信端末およびサーバ装置と接続可能な通信端末における通信方法であって、
前記通信端末は、当該通信端末を特定するための第１の識別情報と前記他の通信端末を特定するための第２の識別情報とを格納する記憶部を有し、
前記第１および第２の識別情報に基づいてルーム名を生成する生成ステップと、
データを交わすためのルームを生成する要求と前記ルーム名とを前記サーバ装置へ送信する通信ステップとを含み、
前記通信ステップは、
前記第２の識別情報に基づき、前記ネットワークを介して、前記第２の識別情報で特定される他の通信端末へ、前記ルームへの招待と前記第１の識別情報とを示す情報を送信するステップと、
前記ルーム名に対応するルームにアクセスするステップとを含む、通信方法。
【請求項４】
ネットワークを介して他の通信端末およびサーバ装置と接続可能な通信端末に通信させるための通信プログラムであって、
前記通信端末は、
前記通信端末を特定するための第１の識別情報と前記他の通信端末を特定するための第２の識別情報とを格納する記憶部と、
前記通信端末の各部を制御するための制御部とを含み、
前記通信プログラムは、前記制御部に、
前記第１および第２の識別情報に基づいてルーム名を生成する生成ステップと、
データを交わすためのルームを生成する要求と前記ルーム名とを前記サーバ装置へ送信する通信ステップとを実行させ、
前記通信ステップは、
前記第２の識別情報に基づき、前記ネットワークを介して、前記第２の識別情報で特定される他の通信端末へ、前記ルームへの招待と前記第１の識別情報とを示す情報を送信するステップと、
前記ルーム名に対応するルームにアクセスするステップとを含む、通信プログラム。
【請求項５】
ネットワークを介して他の通信端末およびサーバ装置と接続可能な通信端末であって、
前記通信端末を特定するための第１の識別情報を格納する記憶部と、
前記他の通信端末から、データを交わすためのルームへの招待と前記他の通信端末を特定するための第２の識別情報とを示す情報を受信する通信部と、
前記情報に応じ、前記第２および第１の識別情報とに基づいて前記ルーム名を生成する生成手段とを含み、
前記通信部は、前記ルーム名に対応するルームにアクセスする、通信端末。
【請求項６】
前記記憶部は、他の通信端末を特定するための複数の識別情報を格納し、
前記通信部より受信した第２の識別情報が前記記憶部に記憶されている識別情報であるか否かの判断に基づき、前記通信部よりデータを交わすためのルームへの招待情報を受信した旨を利用者に通知する通知手段をさらに含み、
前記通信部は、前記通知手段に基づく利用者操作に応じて、前記ルーム名に対応するルームにアクセスする、請求項５に記載の通信端末。
【請求項７】
ネットワークを介して他の通信端末およびサーバ装置と接続可能な通信端末における通信方法であって、
前記通信端末は、当該通信端末を特定するための第１の識別情報を格納する記憶部を含み、
前記他の通信端末から、データを交わすためのルームへの招待と前記他の通信端末を特定するための第２の識別情報とを示す情報を受信する通信ステップと、
前記情報に応じ、前記第２および第１の識別情報とに基づいて前記ルーム名を生成する生成ステップとを含み、
前記通信ステップは、前記ルーム名に対応するルームにアクセスするステップを含む、通信方法。
【請求項８】
ネットワークを介して他の通信端末およびサーバ装置と接続可能な通信端末に通信させるための通信プログラムであって、
前記通信端末は、
前記通信端末を特定するための第１の識別情報を格納する記憶部と、
前記通信端末の各部を制御する制御部とを含み、
前記通信プログラムは、前記制御部に、
前記他の通信端末から、データを交わすためのルームへの招待と前記他の通信端末を特定するための第２の識別情報とを示す情報を受信する通信ステップと、
前記情報に応じ、前記第２および第１の識別情報とに基づいて前記ルーム名を生成する生成ステップとを実行させ、
前記通信ステップは、前記ルーム名に対応するルームにアクセスするステップを含む、通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して相互に接続可能な複数の通信端末とサーバ装置とを備えるネットワークシステム、通信端末、および通信方法に関し、特に、通信端末同士がサーバ装置に生成されたルームを介して情報をやり取りすることができるネットワークシステム、通信端末、通信方法、および通信プログラムに関する。
【背景技術】
【０００２】
従来のＩＰ接続を利用したチャットシステムでは、チャットに参加する通信端末のそれぞれが、同時にチャットアプリケーションを起動して、ＩＰ接続を行う。そして、通信端末のそれぞれが、チャットルームのルーム名を指定し合うことによってチャット通信を行う。そのため、通信端末のユーザは、ルームを作成し、相手ユーザを呼び出す必要があり、相手ユーザにルーム名を伝える必要がある。また、互いの状態を知るために、通信端末のそれぞれは、アプリケーションを起動して接続状態でなければならない。
【０００３】
また、インターネット網に接続可能な端末同士間におけるインターネット網を利用したダイレクトのデータ（メッセージ）の交換システムとして、Ｐ２Ｐ（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）や、画像データなどを記憶するハードディスクなどによって実現される。図６（Ａ）は、記憶部１０３を構成する各種のワークメモリ１０３Ａのデータ構造を示すイメージ図である。図６（Ｂ）は、記憶部１０３が記憶するアドレス帳データ１０３Ｂを示すイメージ図である。図６（Ｃ）は、記憶部１０３が記憶する自端末データ１０３Ｃを示すイメージ図である。図６（Ｄ）は、記憶部１０３が記憶する自端末のＩＰアドレスデータ１０３Ｄと他端末のＩＰアドレスデータ１０３Ｅとを示すイメージ図である。
【００４８】
図６（Ａ）に示すように、記憶部１０３のワークメモリ１０３Ａは、発信者の電話番号を格納するＲＣＶＴＥＬＮＯ領域、受信メールに関する情報を格納するＲＣＶＭＡＩＬ領域、送信メールに関する情報を格納するＳＥＮＤＭＡＩＬ領域、選択されたアドレスのメモリＮｏを格納するＳＥＬ領域、生成されたルーム名を格納するＲＯＯＭＮＡＭＥ領域などを含む。なお、受信メールに関する情報は、ＭＡＩＮ領域に格納されるメール本文と、ＲＣＶＭＡＩＬのＦＲＯＭ領域に格納されるメール送信元のメールアドレスを含む。送信メールに関する情報は、ＭＡＩＮ領域に格納されるメール本文と、ＲＣＶＭＡＩＬのＴＯ領域に格納されるメール送信先のメールアドレスとを含む。
【００４９】
図６（Ｂ）に示すように、アドレス帳データ１０３Ｂは、宛先（他の通信端末）毎にメモリＮｏを対応付けている。そして、アドレス帳データ１０３Ｂは、宛先毎に、名前、電話番号、メールアドレスなどを互いに対応付けて格納する。
【００５０】
図６（Ｃ）に示すように、自端末データ１０３Ｃは、自端末のユーザの名前、自端末の電話番号、自端末のメールアドレスなどを格納する。
【００５１】
図６（Ｄ）に示すように、自端末のＩＰアドレスデータ１０３Ｄは、自端末のＩＰアドレスを格納する。他端末のＩＰアドレスデータ１０３Ｅは、他端末のＩＰアドレスを格納する。
＜マッチングサーバ４００およびメールサーバ６００のハードウェア構成＞
【００５２】
次に、本実施の形態に係るマッチングサーバ４００およびメールサーバ６００のハードウェア構成について説明する。なお、メールサーバ６００のハードウェア構成は、マッチングサーバ４００のそれと同様であるので説明を繰り返さない。
【００５３】
図７は、本実施の形態に係るマッチングサーバ４００のハードウェア構成を示すブロック図である。図７に示すように、本実施の形態に係るマッチングサーバ４００は、相互に内部バス４０８で接続されたＣＰＵ４０５と、メモリ４０６と、固定ディスク４０７と、サーバ通信部４０９とを含む。
【００５４】
メモリ４０６は、各種の情報を記憶するものであって、たとえば、ＣＰＵ４０５でのプログラムの実行に必要なデータを一時的に記憶する。固定ディスク４０７は、ＣＰＵ１０５が実行するプログラムやデータベースを記憶する。ＣＰＵ４０５は、マッチングサーバ４００およびメールサーバ６００の各要素を制御するものであって、各種の演算を実施する装置である。
【００５５】
サーバ通信部４０９は、ＣＰＵ４０５が出力したデータを電気信号へと変換して外部へ送信し、外部から受信した電気信号をデータに変換してＣＰＵ４０５に入力する。具体的には、サーバ通信部４０９は、ＣＰＵ４０５からのデータを、インターネット網５００やキャリア網７００などを介して携帯電話１００やカーナビゲーション装置２００やパーソナルコンピュータ３００に送信する。そして、インターネット網５００やキャリア網７００を介して携帯電話１００やカーナビゲーション装置２００やパーソナルコンピュータ３
００から受信したデータを、ＣＰＵ４０５に入力する。
【００５６】
ここで、メモリ４０６あるいは固定ディスク４０７に記憶されるデータについて説明する。図８（Ａ）は、マッチングサーバ４００のメモリ４０６あるいは固定ディスク４０７に記憶されるルーム管理テーブル４０６Ａのデータ構造を示す第１のイメージ図であって、図８（Ｂ）は、マッチングサーバ４００のメモリ４０６あるいは固定ディスク４０７に記憶されるルーム管理テーブル４０６Ａのデータ構造を示す第２のイメージ図である。
【００５７】
図８（Ａ）および図８（Ｂ）に示すように、ルーム管理テーブル４０６Ａは、ルーム名とＩＰアドレスとを対応付けて格納する。たとえば、ある時点においては、図８（Ａ）に示すように、マッチングサーバ４００にルーム名Ｒを有するチャットルーム、ルーム名Ｓを有するチャットルーム、ルーム名Ｔを有するチャットルームが生成されている。そして、ルーム名Ｒを有するチャットルームには、ＡというＩＰアドレスを有する通信端末と、ＣというＩＰアドレスを有する通信端末が入室している。ルーム名Ｓを有するチャットルームには、ＢというＩＰアドレスを有する通信端末が入室している。ルーム名Ｔを有するチャットルームには、ＤというＩＰアドレスを有する通信端末が入室している。
【００５８】
後述するように、ルーム名Ｒは、ＣＰＵ４０６が、ＡというＩＰアドレスを有する通信端末のメールアドレスとＢというＩＰアドレスを有する通信端末のメールアドレスに基づいて決定する。図８（Ａ）に示す状態において、ルーム名Ｓを有するチャットルームに新たにＥというＩＰアドレスを有する通信端末が入室すると、図８（Ｂ）に示すように、ルーム管理テーブル４０６Ａはルーム名ＳとＩＰアドレスＥとを対応付けて格納する。
【００５９】
具体的には、マッチングサーバ４００においては、第１の携帯電話１００Ａが新たなチャットルームの生成を要求してきた際（図２におけるステップＳ００２）に、ＣＰＵ４０５が、第１の携帯電話１００Ａのメールアドレスと第２の携帯電話１００Ｂのメールアドレスとに基づいてルーム名を生成した上で、ルーム管理テーブル４０６Ａに当該ルーム名と第１の携帯電話１００ＡのＩＰアドレスとを対応付けて格納する。
【００６０】
そして、第２の携帯電話１００Ｂがマッチングサーバ４００にチャットルームへの参加を要求してきた際（図２におけるステップＳ００８）に、ＣＰＵ４０５が、ルーム管理テーブル４０６Ａに当該ルーム名と第２の携帯電話１００ＢのＩＰアドレスとを対応付けて格納する。ＣＰＵ４０６は、ルーム管理テーブル４０６Ａから、当該ルーム名に対応する第１の携帯電話１００ＡのＩＰアドレスを読み出す。ＣＰＵ４０６は、第１の携帯電話１００ＡのＩＰアドレスを第２の各通信端末に送信し、第２の携帯電話１００ＢのＩＰアドレスを第１の携帯電話１００Ａに送信する。
＜ネットワークシステム１の機能構成＞
【００６１】
図９は、本実施の形態に係るネットワークシステム１の機能構成を示すブロック図である。図９に示すように、本実施の形態に係るネットワークシステム１は、第１の携帯電話１００Ａと、第２の携帯電話１００Ｂと、インターネット網５００と、マッチングサーバ４００を含む。
【００６２】
第１の携帯電話１００Ａは、第１の通信部１０１−１と、第１の生成部１０６Ａ−１と、第１の記憶部１０３−１と、第１の入力部１１０−１とを含む。第２の携帯電話１００Ｂは、第２の通信部１０１−２と、第２の生成部１０６Ａ−２と、第２の記憶部１０３−２と、第２の入力部１１０−２とを含む。マッチングサーバ４００は、サーバ通信部４０９と、ルーム生成部４０５Ａと、受付部４０５Ｂと、メモリ４０６とを含む。
【００６３】
第１の通信部１０１−１は、第１の携帯電話１００Ａの通信部１０１によって実現され
る。第１の記憶部１０３−１は、第１の携帯電話１００Ａの記憶部１０３によって実現される。第１の入力部１１０−１は、第１の携帯電話１００Ａの入力部１１０によって実現される。第１の生成部１０６Ａ−１は、第１の携帯電話１００Ａの制御部１０６が記憶部１０３に記憶されるプログラムを実行して図５に示される各ハードウェアを制御することによって発揮される機能である。
【００６４】
第２の通信部１０１−２は、第２の携帯電話１００Ｂの通信部１０１によって実現される。第２の記憶部１０３−２は、第２の携帯電話１００Ｂの記憶部１０３によって実現される。第２の入力部１１０−２は、第２の携帯電話１００Ｂの入力部１１０によって実現される。第２の生成部１０６Ａ−２は、第２の携帯電話１００Ｂの制御部１０６が記憶部１０３に記憶されるプログラムを実行して図５に示される各ハードウェアを制御することによって発揮される機能である。
【００６５】
ルーム生成部４０５Ａと受付部４０５Ｂとは、マッチングサーバ４００のＣＰＵ４０５がメモリ４０６や固定ディスク４０７などに記憶されるプログラムを実行して図７に示される各ハードウェアを制御することによって発揮される機能である。たとえば、ＣＰＵ４０５が有する各機能は、ＣＰＵ４０５が、固定ディスク４０７に記憶されたプログラムを一旦メモリ４０６へと読み出して、メモリ４０６からそのプログラムを読み出しながら順次実行することによって実現される。
【００６６】
第１の記憶部１０３−１は、第１の携帯電話１００Ａを特定するためのメールアドレス（第１の識別情報）と第２の携帯電話１００Ｂを特定するためのメールアドレス（第２の識別情報）とを格納する。
【００６７】
第１の生成部１０６Ａ−１は、第１の携帯電話１００Ａのメールアドレスと第２の携帯電話１００Ｂのメールアドレスとに基づいて、新たなルーム名を生成する。
【００６８】
第１の通信部１０１−１は、第１の携帯電話１００Ａのメールアドレスと第２の携帯電話１００Ｂのメールアドレスと新たなチャットルームを生成する要求とをマッチングサーバ４００へ送信する。第１の通信部１０１−１は、インターネット網５００あるいはキャリア網７００を介して、第２の携帯電話１００Ｂのメールアドレスに基づき、第２の携帯電話１００Ｂへ、第１の携帯電話１００Ａのメールアドレスと新たなチャットルームの生成とを示す第１のメッセージを送信する。第１の通信部１０１−１は、新たなルーム名に基づいてマッチングサーバ４００で生成された新たなチャットルームにアクセスする。また、第１の通信部１０１−１は、Ｐ２Ｐ通信を行う命令あるいはチャットルームに参加する命令に応じて第２のルームにアクセスする。
【００６９】
より詳細には、たとえば、制御部１０６が、第１の携帯電話１００Ａのメールアドレスと第２の携帯電話１００Ｂのメールアドレスと新たなチャットルームを生成する要求とを、通信部１０１にマッチングサーバ４００へと送信させる。制御部１０６は、第２の携帯電話１００Ｂのメールアドレスに基づき、通信部１０１に、第１の携帯電話１００Ａのメールアドレスと新たなチャットルームの生成とを示す第１のメッセージを第２の携帯電話１００Ｂへと送信させる。制御部１０６は、新たなルーム名に基づいて、通信部１０１にマッチングサーバ４００で生成された新たなチャットルームにアクセスさせる。また、制御部１０６は、Ｐ２Ｐ通信を行う命令あるいはチャットルームに参加する命令を受け付けて、通信部１０１に第２のルームにアクセスさせる。
【００７０】
サーバ通信部４０９は、第１の携帯電話１００Ａからの第１の携帯電話１００Ａのメールアドレスと第２の携帯電話１００Ｂのメールアドレスと新たなチャットルームを生成する要求とを受信する。
【００７１】
ルーム生成部４０５Ａは、その要求に応じ、第１の携帯電話１００Ａのメールアドレスと第２の携帯電話１００Ｂのメールアドレスとに基づいて、新たなルーム名を生成する。そして、ルーム生成部４０５Ａは、新たなルーム名を有する新たなチャットルームを生成する。
【００７２】
受付部４０５Ｂは、第１の携帯電話１００Ａのメールアドレス（あるいはＩＰアドレス）を参照しながら、第１の携帯電話１００Ａからのチャットルームへのアクセスを受け付ける。受付部４０５Ｂは、第２の携帯電話１００Ｂのメールアドレス（あるいはＩＰアドレス）を参照しながら、第２の携帯電話１００Ｂからのチャットルームへのアクセスを受け付ける。
【００７３】
ただし、第１の通信部１０１−１が、新たなルーム名をマッチングサーバ４００へ送信する構成であってもよい。この場合には、ルーム生成部４０５Ａは、新たなルーム名を生成する必要がない。逆に、ルーム生成部４０５Ａがルーム名を生成する場合には、マッチングサーバ４００が新たに生成したチャットルームのルーム名を第１の携帯電話１００Ａあるいは第２の携帯電話１００Ｂに送信してもよい。
【００７４】
第２の記憶部１０３−２は、第２の携帯電話１００Ｂを特定するためのメールアドレスを格納する。
【００７５】
第２の通信部１０１−２は、第１の携帯電話１００Ａから、第１の携帯電話１００Ａを特定するためのメールアドレスとチャットルームの生成とを示すメッセージを受信する。
【００７６】
第２の生成部１０６Ａ−２は、メッセージに応じ、第１の携帯電話１００Ａのメールアドレスと第２の携帯電話１００Ｂのメールアドレスとに基づいてルーム名を生成する。
第２の通信部１０１−２は、ルーム名に基づいてチャットルームにアクセスする。
【００７７】
そして、第１の携帯電話１００Ａは、相手をチャットルームに招待する機能だけでなく、第２の携帯電話１００Ｂが有するようなチャットルームに招待される機能を有してもよい。逆に、第２の携帯電話１００Ｂは、チャットルームに招待される機能だけでなく、第１の携帯電話１００Ａが有するような相手をチャットルームに招待する機能を有してもよい。
【００７８】
すなわち、第１の通信部１０１−１は、第２の携帯電話１００Ｂから、第２の携帯電話１００Ｂのメールアドレスと新たなルームの生成とを示すメッセージを受信する。第１の生成部１０６Ａ−１は、メッセージに応じ、第２の携帯電話１００Ｂのメールアドレスと第１の携帯電話１００Ａのメールアドレスとに基づいて新たなルーム名を生成する。第１の通信部１０１−１は、新たなルーム名に基づいてチャットルームにアクセスする。
（ルーム名の生成）
【００７９】
ここで、第１の生成部１０６Ａ−１、第２の生成部１０６Ａ−２、ルーム生成部４０５Ａによるルーム名の生成方法について説明する。
【００８０】
たとえば、第１の生成部１０６Ａ−１は、他の通信端末をチャットルームへ招待する第１の携帯電話１００Ａの第１のメールアドレスと、他の通信端末からチャットルームへ招待される第２の携帯電話１００Ｂの第２のメールアドレスとを単純に並べたルーム名を生成する。メールアドレスは、各端末に固有のデータであるため、第１のメールアドレスと第２のメールアドレスとを並べたルーム名は、グループに固有のデータであって、他のグループのルーム名と重複することがない。
【００８１】
あるいは、第１の生成部１０６Ａ−２は、他の通信端末をチャットルームへ招待する第１の携帯電話１００Ａの第１のメールアドレスと、他の通信端末からチャットルームへ招待される第２の携帯電話１００Ｂの第２のメールアドレスとを、アルファベット順に並べたルーム名を生成してもよい。
【００８２】
また、第１の生成部１０６Ａ−１は、ハッシュ関数などを用いて第１のメールアドレスと第２のメールアドレスとを暗号化した上で、それらを並べてルーム名を生成してもよい。本実施の形態に係るネットワークシステム１においては、元のデータを復元する必要がないため、暗号化の方法は、元のデータがより復元し難いことが好ましい。たとえば、不可逆な関数を用いて、メールアドレスを暗号化することが好ましい。
【００８３】
本実施の形態に係るネットワークシステム１においては、第２の生成部１０６Ａ−２と、ルーム生成部４０５Ａとが、第１の生成部１０６Ａ−１と同様の方法でルーム名を生成する。このため、招待される第２の携帯電話１００Ｂやマッチングサーバ４００が自身でルーム名を生成することができる。すなわち、Ｐ２Ｐ通信を開始する前に、第１の携帯電話１００Ａのユーザがルーム名を第２の携帯電話１００Ｂのユーザに通知する必要がない。
【００８４】
また、第１の生成部１０６Ａ−１と第２の生成部１０６Ａ−２とが、第１のメールアドレスと第２のメールアドレスとを異なる順序で並べることによってルーム名を生成してもよい。この場合には、マッチングサーバ４００の受付部４０５Ｂは、メールアドレスの並び方の各々に対応するルーム名と、第１の携帯電話１００Ａや第２の携帯電話１００Ｂの各々から送られているルーム名とを比較すればよい。
【００８５】
このように、本実施の形態に係るネットワークシステム１においては、各通信端末にて他のチャットルームのルーム名と重複しないルーム名を生成するため、各通信端末のユーザが他のチャットルームのルーム名と重複しないルーム名を考える必要がない。また、一般的に、メールアドレスは各通信端末を特定することができる識別情報であるが故に比較的多くの文字数を含む。そのため、第１のメールアドレスと第２のメールアドレスとを含むチャートルーム毎のルーム名をユーザが入力することは面倒である。本実施の形態に係るネットワークシステム１は、そのようなユーザの手間も省くことができる。
＜携帯電話１００における通信処理＞
【００８６】
次に、本実施の形態に係る携帯電話１００における通信処理について説明する。図１０は、本実施の形態に係る携帯電話１００における通信処理の処理手順を示すフローチャートである。
【００８７】
図１０に示すように、制御部１０６は、メインディスプレイ１０７に待ち受け画面を表示させる（ステップＳ０５２）。制御部１０６は、アドレス帳ボタン１１０Ｄが操作されたか否かを判断する（ステップＳ０５４）。アドレス帳ボタン１１０Ｄが操作された場合（ステップＳ０５４にてＹＥＳである場合）、制御部１０６は、発信処理（ステップＳ５００）を実行する。なお、発信処理（ステップＳ５００）については後述する。
【００８８】
アドレス帳ボタン１１０Ｄが操作されない場合（ステップＳ０５４にてＮＯである場合）、制御部１０６は、電話の呼び出しがあるか否かを判断する（ステップＳ０５６）。電話の呼び出しがあった場合（ステップＳ０５６にてＹＥＳである場合）、制御部１０６は、着呼処理（ステップＳ１００）を実行する。着呼処理（ステップＳ１００）については後述する。
【００８９】
電話の呼び出しがない場合（ステップＳ０５６にてＮＯである場合）、制御部１０６は、メールを受信したか否かを判断する（ステップＳ０５８）。制御部１０６は、メールを受信した場合（ステップＳ０５８にてＹＥＳである場合）、メール受信処理（ステップＳ２００）を実行する。メール受信処理（ステップＳ２００）については後述する。
＜携帯電話１００における着呼処理＞
【００９０】
次に、本実施の形態に係る携帯電話１００における着呼処理について説明する。図１１は、本実施の形態に係る携帯電話１００における着呼処理の処理手順を示すフローチャートである。
【００９１】
図１１に示すように、電話の呼び出しがあった場合（ステップＳ０５６にてＹＥＳである場合）、制御部１０６は、発信電話番号をＲＣＶＴＥＬＮＯに記憶する（ステップＳ１０２）。制御部１０６は、第１の通知部１１１を稼動して（ステップＳ１０４）、ＴＥＬ用ＬＥＤ１１２Ａを点滅させる（ステップＳ１０６）。
【００９２】
制御部１０６は、切断信号を受信したか否かを判断する（ステップＳ１０８）。制御部１０６は、切断信号を受信した場合（ステップＳ１０８にてＹＥＳである場合）、通知部１１１を停止する（ステップＳ１１０）。制御部１０６は、ＴＥＬ用ＬＥＤ１１２Ａを点灯させて（ステップＳ１１２）、ステップＳ０５２からの処理を繰り返す。
【００９３】
制御部１０６は、切断信号を受信しなかった場合（ステップＳ１０８にてＮＯである場合）、ＴＥＬボタン１１０Ａが操作されたか否かを判断する（ステップＳ１１４）。制御部１０６は、ＴＥＬボタン１１０Ａが操作されなかった場合（ステップＳ１１４にてＮＯである場合）、ステップＳ１０８からの処理を繰り返す。制御部１０６は、ＴＥＬボタン１１０Ａが操作された場合（ステップＳ１１４にてＹＥＳである場合）、第１の通知部１１１を停止して（ステップＳ１１６）、ＴＥＬ用ＬＥＤ１１２Ａを消灯させる（ステップＳ１１８）。
【００９４】
制御部１０６は、着信応答モードへ移行して、すなわちオンフックモードへ移行して（ステップＳ１２０）、通話制御を行う（ステップＳ１２２）。制御部１０６は、ＴＥＬボタン１１０Ａが操作されたか否か、切断信号を受信したか否かを判断する（ステップＳ１２４）。制御部１０６は、ＴＥＬボタン１１０Ａが操作された、あるいは切断信号を受信した場合（ステップＳ１２４にてＹＥＳである場合）、着呼処理を終了してステップＳ０５２からの処理を繰り返す。制御部１０６は、ＴＥＬボタン１１０Ａが操作されず、切断信号も受信しない場合（ステップＳ１２４にてＮＯである場合）、ステップＳ１２２からの処理を繰り返す。
＜携帯電話１００におけるメール受信処理＞
【００９５】
次に、本実施の形態に係る携帯電話１００におけるメール受信処理について説明する。図１２は、本実施の形態に係る携帯電話１００におけるメール受信処理の処理手順を示すフローチャートである。
【００９６】
図１２に示すように、制御部１０６は、メールを受信した場合（ステップＳ０５８にてＹＥＳである場合）、受信メールをＲＣＶＭＡＩＬに記憶する（ステップＳ２０２）。制御部１０６は、受信したメールがＰ２Ｐ通信を要求するメールであるか否かを判断する（ステップＳ２０４）。制御部１０６は、受信したメールがＰ２Ｐ通信を要求するメールである場合（ステップＳ２０４にてＹＥＳである場合）、第１のＰ２Ｐ要請受信処理（ステップＳ３００）を実行する。第１のＰ２Ｐ要請受信処理（ステップＳ３００）については後述する。
【００９７】
制御部１０６は、受信したメールがＰ２Ｐ通信を要求するメールでない場合（ステップＳ２０４にてＮＯである場合）、第１の通知部１１１を稼動させて（ステップＳ２０６）、メール用ＬＥＤ１１２Ｂを点滅させる（ステップＳ２０８）。制御部１０６は、計時部１０５を用いて、メールを受信した時点からの経過時間を計測する（ステップＳ２１０）。制御部１０６は、経過時間が所定時間に達したか否かを判断する、すなわちメールを受信してから所定時間が経過したか否かを判断する（ステップＳ２１２）。
【００９８】
制御部１０６は、経過時間が所定時間に達した場合（ステップＳ２１２にてＹＥＳである場合）、第１の通知部１１１を停止する（ステップＳ２１４）。制御部１０６は、メール用ＬＥＤ１１２Ｂを点灯させて（ステップＳ２１６）、ステップＳ０５２からの処理を繰り返す。
【００９９】
制御部１０６は、経過時間が所定時間に達しない場合（ステップＳ２１２にてＮＯである場合）、メールボタン１１０Ｂが操作されたか否かを判断する（ステップＳ２１８）。制御部１０６は、メールボタン１１０Ｂが操作された場合（ステップＳ２１８にてＹＥＳである場合）、第１の通知部１１１を停止して（ステップＳ２２０）、メール用ＬＥＤ１１２Ｂを消灯する（ステップＳ２２２）。制御部１０６は、メインディスプレイ１０７を介して受信メールの内容を表示させる（ステップＳ２２４）。
【０１００】
制御部１０６は、表示を終了する旨の操作を受け付けたか否かを判断する（ステップＳ２２６）。制御部１０６は、表示を終了する旨の操作を受け付けた場合（ステップＳ２２６にてＹＥＳである場合）、ステップＳ０５２からの処理を繰り返す。制御部１０６は、表示を終了する旨の操作を受け付けない場合（ステップＳ２２６にてＮＯである場合）、ステップＳ２２４からの処理を繰り返す。
＜携帯電話１００における第１のＰ２Ｐ要請受信処理＞
【０１０１】
次に、本実施の形態に係る携帯電話１００における第１のＰ２Ｐ要請受信処理について説明する。図１３は、本実施の形態に係る携帯電話１００における第１のＰ２Ｐ要請受信処理の処理手順を示すフローチャートである。
【０１０２】
図１３に示すように、制御部１０６は、Ｐ２Ｐ参加要請メールを受信した場合（ステップＳ２０４にてＹＥＳである場合）、当該メールの送信元アドレスがアドレス帳データ１０３に存在するか否かを判断する（ステップＳ３０２）。制御部１０６は、当該メールの送信元アドレスがアドレス帳データ１０３に存在しない場合（ステップＳ３０２にてＮＯである場合）、ＲＣＶＭＡＩＬのＭＡＩＮを「アドレス帳未登録者からのＰ２Ｐ要請を受信しました」というデータに変更する（ステップＳ３０４）。制御部１０６は、Ｓ２０６からの処理を繰り返す。
【０１０３】
制御部１０６は、当該メールの送信元アドレスがアドレス帳データ１０３に存在する場合（ステップＳ３０２にてＹＥＳである場合）、ＲＣＶＭＡＩＬのＦＲＯＭに格納されているデータと、ＲＣＶＭＡＩＬのＴＯに格納されているデータとに基づいて、ルーム名を生成する（ステップＳ３０６）。制御部１０６は、ルーム名をＲＯＯＭＮＡＭＥに格納する。
【０１０４】
制御部１０６は、マッチングサーバ４００にＲＯＯＭＮＡＭＥに格納されているルーム名を有するチャットルームが生成されているか否かを判断する（ステップＳ３０８）。制御部１０６は、マッチングサーバ４００にルーム名を有するチャットルームが生成されていない場合（ステップＳ３０８にてＮＯである場合）、ＲＣＶＭＡＩＬのＭＡＩＮを「ルーム未開設のＰ２Ｐ要請を受信しました」というデータに変更する（ステップＳ３１０）。制御部１０６は、Ｓ２０６からの処理を繰り返す。
【０１０５】
制御部１０６は、ルーム名を有するチャットルームが生成されている場合（ステップＳ３０８にてＹＥＳである場合）、第１の通知部１１１を稼動して（ステップＳ３１２）、メール用ＬＥＤ１１２ＢとＰ２Ｐ用ＬＥＤ１１２Ｃとを点滅させる（ステップＳ３１４）。制御部１０６は、ルーム名のチャットルームが閉鎖されたか否かを判断する（ステップＳ３１６）。制御部１０６は、ルーム名のチャットルームが閉鎖された場合（ステップＳ３１６にてＹＥＳである場合）、第１の通知部１１１を停止して（ステップＳ３２６）、メール用ＬＥＤ１１２Ｂを点灯させて、Ｐ２Ｐ用ＬＥＤ１１２Ｃを消灯させる（ステップＳ３２８）。制御部１０６は、ＲＣＶＭＡＩＬのＭＡＩＮを「Ｐ２Ｐ要請を受信しました」というデータに変更する（ステップＳ３３０）。そして、制御部１０６は、Ｓ０５２からの処理を繰り返す。
【０１０６】
制御部１０６は、ルーム名のチャットルームが閉鎖されていない場合、すなわちマッチングサーバ４００にルーム名のチャットルームが存在する場合（ステップＳ３１６にてＮＯである場合）、ユーザからＰ２Ｐボタンの操作命令を待ち受ける（ステップＳ３１８）。制御部１０６は、入力部１１０を介してＰ２Ｐ通信を行う旨の命令が入力されると、すなわちユーザがチャットルームへの入室命令を入力すると（ステップＳ３１８にてＹＥＳである場合）、第２のＰ２Ｐ要請受信処理を実行する（ステップＳ４００）。なお、第２のＰ２Ｐ要請受信処理については後述する。
【０１０７】
制御部１０６は、入力部１１０を介してＰ２Ｐ通信を行う旨の命令が入力されない場合（ステップＳ３１８にてＮＯである場合）、メールボタンの操作を待ち受ける（ステップＳ３２０）。制御部１０６は、入力部１１０を介してメールの内容を表示する旨の命令が入力されると（ステップＳ３２０にてＹＥＳである場合）、第１の通知部１１１を停止して（ステップＳ３２２）、メール用ＬＥＤ１１２ＢとＰ２Ｐ用ＬＥＤ１１２Ｃとを消灯する（ステップＳ３２４）。
＜携帯電話１００における第２のＰ２Ｐ要請受信処理＞
【０１０８】
次に、本実施の形態に係る携帯電話１００における第２のＰ２Ｐ要請受信処理について説明する。図１４は、本実施の形態に係る携帯電話１００における第２のＰ２Ｐ要請受信処理の処理手順を示すフローチャートである。
【０１０９】
図１４に示すように、制御部１０６は、入力部１１０を介してＰ２Ｐ通信を行う旨の命令が入力されると（ステップＳ３１８にてＹＥＳである場合）、第１の通知部１１１を停止して（ステップＳ４０２）、通信部１０１を介してマッチングサーバ４００にチャットルームへの参加を要求する（ステップＳ４０４）。制御部１０６は、通信部１０１を介して相手通信端末と認証し合い（ステップＳ４０６）、Ｐ２Ｐ通信を確立する（ステップＳ４０８）。制御部１０６は、メール用ＬＥＤ１１２Ｂを消灯させて、Ｐ２Ｐ用ＬＥＤ１１２Ｃを点灯させる（ステップＳ４１０）。
【０１１０】
そして、制御部１０６は、通信部１０１を介して相手通信端末とＰ２Ｐ通信処理を行う（ステップＳ４１２）。すなわち、制御部１０６は、入力部１１０を介して入力されるユーザの操作命令を受け付けて、通信部１０１に各種データを送受信させ、メインディスプレイ１０７に各種情報を表示させる。
【０１１１】
制御部１０６は、終了ボタン１１０Ｅが操作されたか否かを判断する（ステップＳ４１４）。制御部１０６は、終了ボタン１１０Ｅが操作された場合（ステップＳ４１４にてＹＥＳである場合）、Ｐ２Ｐ用ＬＥＤ１１２Ｃを消灯する（ステップＳ４１８）。制御部１０６は、終了ボタン１１０Ｅが操作されない場合（ステップＳ４１４にてＮＯである場合）、Ｐ２Ｐ接続を切断する旨の命令が入力されたか否かを判断する（ステップＳ４１６）
。制御部１０６は、Ｐ２Ｐ接続を切断する旨の命令が入力された場合（ステップＳ４１６にてＹＥＳである場合）、Ｐ２Ｐ用ＬＥＤ１１２Ｃを消灯させる。制御部１０６は、Ｐ２Ｐ接続を切断する旨の命令が入力されない場合（ステップＳ４１６にてＮＯである場合）、ステップＳ４１２からの処理を繰り返す。
＜携帯電話１００における発信処理＞
【０１１２】
次に、本実施の形態に係る携帯電話１００における発信処理について説明する。図１５は、本実施の形態に係る携帯電話１００における発信処理の処理手順を示すフローチャートである。
【０１１３】
図１５に示すように、制御部１０６は、アドレス帳ボタン１１０Ｄが操作された場合（ステップＳ０５４にてＹＥＳである場合）、アドレス帳データ１０３Ｂに基づいて、メインディスプレイ１０７にアドレス帳を一覧表示させる（ステップＳ５０２）。ユーザは、入力部１１０を介して発信先（相手通信端末）を選択する。すなわち、制御部１０６は、入力部１１０を介して相手通信先端末の選択命令を受け付ける（ステップＳ５０４）。
【０１１４】
制御部１０６は、相手通信端末が選択された状態において、ＴＥＬボタン１１０Ａが操作されたか否かを判断する（ステップＳ５０６）。ＴＥＬボタン１１０Ａが操作された場合（ステップＳ５０６にてＹＥＳである場合）、制御部１０６は、発呼処理（ステップＳ６００）を実行する。発呼処理（６００）については後述する。
【０１１５】
ＴＥＬボタン１１０Ａが操作されない場合（ステップＳ５０６にてＮＯである場合）、制御部１０６は、メールボタン１１０Ｂが操作されたか否かを判断する（ステップＳ５０８）。メールボタン１１０Ｂが操作された場合（ステップＳ５０８にてＹＥＳである場合）、制御部１０６は、メール発信処理（ステップＳ７００）を実行する。メール発信処理（ステップＳ７００）については後述する。
【０１１６】
メールボタンが操作されない場合（ステップＳ５０８にてＮＯである場合）、制御部１０６は、Ｐ２Ｐボタンが操作されたか否かを判断する（ステップＳ５１０）。Ｐ２Ｐボタンが操作された場合（ステップＳ５１０にてＹＥＳである場合）、制御部１０６は、Ｐ２Ｐ要請発信処理（ステップＳ８００）（ステップＳ１０００）。
【０１１７】
Ｐ２Ｐボタンが操作されない場合（ステップＳ５１０にてＮＯである場合）、制御部１０６は、終了ボタン１１０Ｅが操作されたか否かを判断する（ステップＳ５１２）。終了ボタン１１０Ｅが操作された場合（ステップＳ５１２にてＹＥＳである場合）、制御部１０６は、発信処理を終了する。終了ボタンが操作されない場合（ステップＳ５１２にてＮＯである場合）、制御部１０６は、ステップＳ５０６からの処理を繰り返す。
＜携帯電話１００における発呼処理＞
【０１１８】
次に、本実施の形態に係る携帯電話１００における発呼処理について説明する。図１６は、本実施の形態に係る携帯電話１００における発呼処理の処理手順を示すフローチャートである。
【０１１９】
図１６に示すように、制御部１０６は、ＴＥＬボタン１１０Ａが操作された場合（ステップＳ５０６にてＹＥＳである場合）、ＳＥＬに格納されているメモリＮｏに対応する電話番号に発呼する（ステップＳ６０２）。すなわち、制御部１０６は、通信部１０１あるいはＴＥＬ用通信部１０２を介して、選択されたアドレスに対応する相手通信端末に電話をかける。
【０１２０】
制御部１０６は、ＴＥＬボタン１１０Ａが操作されたか否かを判断する（ステップＳ６
０４）。ＴＥＬボタンが操作された場合（ステップＳ６０４にてＹＥＳである場合）、制御部１０６は、ステップＳ０５２からの処理を繰り返す。ＴＥＬボタンが操作されない場合（ステップＳ６０４にてＮＯである場合）、制御部１０６は、相手通信端末の応答を待ち受ける（ステップＳ６０６）。相手通信端末の応答が無い場合（ステップＳ６０６にてＮＯである場合）、制御部１０６は、ステップＳ６０４からの処理を繰り返す。
【０１２１】
相手通信端末の応答が有った場合（ステップＳ６０６にてＹＥＳである場合）、制御部１０６は、通話制御を行う（ステップＳ６０８）。制御部１０６は、ＴＥＬボタン１１０Ａが操作された、あるいは切断信号を受信した場合（ステップＳ３１０にてＹＥＳである場合）、着呼処理を終了してステップＳ０５２からの処理を繰り返す。制御部１０６は、ＴＥＬボタン１１０Ａが操作されず、切断信号も受信しない場合（ステップＳ６１０にてＮＯである場合）、ステップＳ６０８からの処理を繰り返す。
＜携帯電話１００におけるメール発信処理＞
【０１２２】
次に、本実施の形態に係る携帯電話１００におけるメール発信処理について説明する。図１７は、本実施の形態に係る携帯電話１００におけるメール発信処理の処理手順を示すフローチャートである。
【０１２３】
図１７に示すように、制御部１０６は、メールボタン１１０Ｂが操作された場合（ステップＳ５０８にてＹＥＳである場合）、メールヘッダを作成する（ステップＳ７０２）。ユーザは、入力部１１０を介してメール本文を入力する。すなわち、制御部１０６は、入力部１１０を介してユーザからメール本文を受け付ける（ステップＳ７０４）。
【０１２４】
制御部１０６は、終了ボタン１１０Ｅが操作されたか否かを判断する（ステップＳ７０６）。終了ボタン１１０Ｅが操作された場合（ステップＳ７０６にてＹＥＳである場合）、制御部１０６は、ステップＳ０５２からの処理を繰り返す。終了ボタン１１０Ｅが操作されない場合（ステップＳ７０６にてＮＯである場合）、制御部１０６は、メールボタン１１０Ｂが入力されたか否かを判断する（ステップＳ７０８）。
【０１２５】
メールボタン１１０Ｂが操作された場合（ステップＳ７０８にてＹＥＳである場合）、制御部１０６は、通信部１０１を介して、メールをメールサーバ６００に送信する（ステップＳ７１０）。メールボタンが操作されない場合（ステップＳ７０８にてＮＯである場合）、制御部１０６は、ステップＳ７０６からの処理を繰り返す。
＜携帯電話１００におけるＰ２Ｐ要請発信処理＞
【０１２６】
次に、本実施の形態に係る携帯電話１００におけるＰ２Ｐ要請発信処理について説明する。図１８は、本実施の形態に係る携帯電話１００におけるＰ２Ｐ要請発信処理の処理手順を示すフローチャートである。
【０１２７】
図１８に示すように、Ｐ２Ｐボタン１１０Ｃが操作された場合（ステップＳ５１０にてＹＥＳである場合）、制御部１０６は、メールヘッダを作成し（ステップＳ８０２）、メール本文を作成する（ステップＳ８０４）。制御部１０６は、自端末データ１０３Ｃとアドレス帳データ１０３Ｂとを参照して、自端末のメールアドレスと相手通信端末のメールアドレスとに基づきルーム名を作成する（ステップＳ８０６）。
【０１２８】
制御部１０６は、通信部１０１を介して、マッチングサーバ４００にチャットルームを作成する要求を送信する（ステップＳ８０８）。制御部１０６は、マッチングサーバ４００からの応答に基づいて、マッチングサーバ４００に既にチャットルームが存在するか否かを判断する（ステップＳ８１０）。
【０１２９】
マッチングサーバ４００に既にチャットルームが存在する場合（ステップＳ８１０にてＹＥＳである場合）、制御部１０６は、通信部１０１を介してＰ２Ｐ通信を確立する（ステップＳ８１２）。制御部１０６は、第１の通知部１１１やメインディスプレイ１０７などを介して、ユーザにＰ２Ｐ通信が確立されたことを通知する（ステップＳ８１４）。制御部１０６は、通信部１０１を介して相手通信端末とＰ２Ｐ通信処理を行う（ステップＳ８１６）。すなわち、制御部１０６は、入力部１１０を介して入力されるユーザの操作命令を受け付けて、通信部１０１に各種データを送受信させ、メインディスプレイ１０７に各種情報を表示させる。
【０１３０】
制御部１０６は、終了ボタン１１０Ｅが操作されたか否かを判断する（ステップＳ８１８）。制御部１０６は、終了ボタン１１０Ｅが操作された場合（ステップＳ８１８にてＹＥＳである場合）、通信部１０１を介してマッチングサーバ４００にチャットルームを削除する要求を送信する（ステップＳ８３０）。制御部１０６は、終了ボタン１１０Ｅが操作されない場合（ステップＳ８１８にてＮＯである場合）、相手通信端末がＰ２Ｐ接続を切断したか否かを判断する（ステップＳ８２０）。制御部１０６は、相手通信端末がＰ２Ｐ接続を切断した場合（ステップＳ８２０にてＹＥＳである場合）、制御部１０６は、通信部１０１を介してマッチングサーバ４００にチャットルームを削除する要求を送信する（ステップＳ８３０）。制御部１０６は、相手通信端末がＰ２Ｐ接続を切断しない場合（ステップＳ８２０にてＮＯである場合）、ステップＳ８１６からの処理を繰り返す。
【０１３１】
一方、ステップＳ８１０において、マッチングサーバ４００に未だチャットルームが存在しない場合（ステップＳ８１０にてＮＯである場合）、制御部１０６は、相手通信端末にＰ２Ｐへ招待する旨のメールを送信する（ステップＳ８２２）。制御部１０６は、終了ボタン１１０Ｅが操作されたか否か、あるいはメールを送信後に所定時間が経過したか否かを判断する（ステップＳ８２４）。終了ボタン１１０Ｅが操作された、あるいはメールを送信後に所定時間が経過した場合（ステップＳ８２４にてＹＥＳである場合）、制御部１０６は、通信部１０１を介してマッチングサーバ４００にチャットルームを削除する要求を送信する（ステップＳ８３０）。
【０１３２】
終了ボタン１１０Ｅが操作されず、メールを送信後に所定時間が経過しない場合（ステップＳ８２４にてＮＯである場合）、制御部１０６は、通信部１０１を介して相手通信端末が接続したか否か、すなわち相手通信端末がチャットルームに参加したか否かを判断する（ステップＳ８２６）。相手通信端末がチャットルームに参加した場合（ステップＳ８２６にてＹＥＳである場合）、制御部１０６は、通信部１０１を介して相手通信端末の認証を行う（ステップＳ８２８）。
【０１３３】
相手通信端末がチャットルームに参加しない場合（ステップＳ８２６にてＮＯである場合）、あるいは、制御部１０６が通信部１０１を介して相手通信端末の認証に失敗した場合（ステップＳ８２８にてＮＯである場合）、制御部１０６はステップＳ８２４からの処理を繰り返す。制御部１０６が通信部１０１を介して相手通信端末の認証に成功した場合（ステップＳ８２８にてＹＥＳである場合）、制御部１０６は、ステップＳ８１２からの処理を繰り返す。
＜マッチングサーバ４００におけるルーム生成処理＞
【０１３４】
次に、本実施の形態に係るマッチングサーバ４００におけるルーム生成処理について説明する。図１９は、本実施の形態に係るマッチングサーバ４００におけるルーム生成処理の処理手順を示すフローチャートである。
【０１３５】
図２および図１９に示すように、マッチングサーバ４００のＣＰＵ４０５は、サーバ通信部４０９を介して、第１の携帯電話１００Ａからメッセージを待ち受ける（ステップＳ
９０２）。ＣＰＵ４０５は、第１の携帯電話１００Ａからメッセージを受け付けると（ステップＳ９０２にてＹＥＳである場合）、当該メッセージがチャットルームが存在するか否かを問い合わせるメッセージであるか否かを判断する（ステップＳ９０４）。
【０１３６】
チャットルームが存在するか否かを問い合わせるメッセージである場合（ステップＳ９０４にてＹＥＳである場合）、ＣＰＵ４０５は、当該メッセージからルーム名Ｒを抽出して、あるいは当該メッセージからルーム名を生成して、既にルーム名Ｒのチャットルームが存在するか否かを判断する（ステップＳ９０６）。すなわち、ルーム管理テーブル４０６Ａにルーム名Ｒのデータが存在するか否かを判断する。
【０１３７】
ルーム名Ｒのデータがある場合（ステップＳ９０６にてＹＥＳである場合）、ＣＰＵ４０５は、ルーム名Ｒのチャットルームが存在する旨のメッセージを第１の携帯電話１００Ａに送信して（ステップＳ９０８）、ステップＳ９０２からの処理を繰り返す。ルーム名Ｒのデータが無い場合（ステップＳ９０６にてＮＯである場合）、ＣＰＵ４０５は、ルーム名Ｒのチャットルームが存在しない旨のメッセージを第１の携帯電話１００Ａに送信し（ステップＳ９１０）、ステップＳ９０２からの処理を繰り返す。
【０１３８】
チャットルームが存在するか否かを問い合わせるメッセージでない場合（ステップＳ９０４にてＹＥＳである場合）、メッセージがチャットルームを生成する要求であるか否かを判断する（ステップＳ９１２）。チャットルームを生成する要求である場合（ステップＳ９１２にてＹＥＳである場合）、ＣＰＵ４０５は、当該メッセージからルーム名Ｒを抽出する。あるいはＣＰＵ４０５は、第１の携帯電話１００Ａのメールアドレスと第２の携帯電話１００Ｂのメールアドレスとに基づいて、ルーム名を生成する。そして、ＣＰＵ４０５は、既にルーム名Ｒのチャットルームが存在するか否かを判断する（ステップＳ９１４）。すなわち、ルーム管理テーブル４０６Ａにルーム名Ｒのデータが存在するか否かを判断する。
【０１３９】
ルーム名Ｒのデータがある場合（ステップＳ９１４にてＹＥＳである場合）、ＣＰＵ４０５は、ルーム名Ｒのチャットルームが存在する旨のメッセージ（エラーメッセージ）を第１の携帯電話１００Ａに送信して（ステップＳ９１６）、ステップＳ９０２からの処理を繰り返す。ルーム名Ｒのデータが無い場合（ステップＳ９１４にてＮＯである場合）、ＣＰＵ４０５は、ルーム管理テーブル４０６Ａにルーム名Ｒと第１の携帯電話１００ＡのＩＰアドレスあるいはメールアドレスとを対応付けて格納する（ステップＳ９１８）。そして、ＣＰＵ４０５は、サーバ通信部４０９を介して、ルーム名Ｒのチャットルームの生成に成功した旨のメッセージ（および生成したチャットルームのルーム名）を第１の携帯電話１００Ａに送信し（ステップＳ９２８）、ステップＳ９０２からの処理を繰り返す。
【０１４０】
チャットルームを生成する要求でない場合（ステップＳ９１２にてＮＯである場合）、ＣＰＵ４０５は、第１の携帯電話１００Ａからのメッセージがチャットルームへの参加要求であるか否かを判断する（ステップＳ９２２）。チャットルームへの参加要求である場合（ステップＳ９２２にてＹＥＳである場合）、ＣＰＵ４０５は、メッセージからルーム名Ｒを抽出して、既にルーム名Ｒのチャットルームが存在するか否かを判断する（ステップＳ９２４）。すなわち、ルーム管理テーブル４０６Ａにルーム名Ｒのデータが存在するか否かを判断する。
【０１４１】
ルーム名Ｒのデータがある場合（ステップＳ９２４にてＹＥＳである場合）、ＣＰＵ４０５は、ルーム管理テーブル４０６Ａにルーム名Ｒと第２の携帯電話１００ＢのＩＰアドレスあるいはメールアドレスとを対応付けて格納する（ステップＳ９２６）。そして、ＣＰＵ４０５は、サーバ通信部４０９を介して、第２の携帯電話１００Ｂにルーム名Ｒのチャットルームに関する情報を送信する（ステップＳ９２８）。
【０１４２】
ルーム名Ｒのデータが無い場合（ステップＳ９２４にてＮＯである場合）、ＣＰＵ４０５は、ルーム名Ｒのチャットルームが存在しない旨のメッセージ（エラーメッセージ）を第２の携帯電話１００Ａに送信し（ステップＳ９３０）、ステップＳ９０２からの処理を繰り返す。
【０１４３】
チャットルームへの参加要求でない場合（ステップＳ９２２にてＮＯである場合）、ＣＰＵ４０５は、受信したメッセージがチャットルームへの参加問い合わせであるか否かを判断する（ステップＳ９３２）。チャットルームへの参加問い合わせである場合（ステップＳ９３２にてＹＥＳである場合）、ＣＰＵ４０５は、メッセージからルーム名Ｒを抽出して、既にルーム名Ｒのチャットルームが存在するか否かを判断する（ステップＳ９３４）。すなわち、ルーム管理テーブル４０６Ａにルーム名Ｒのデータが存在するか否かを判断する。
【０１４４】
ルーム名Ｒのデータがある場合（ステップＳ９３４にてＹＥＳである場合）、ＣＰＵ４０５は、サーバ通信部４０９を介して、第２の携帯電話１００Ｂにルーム名Ｒのチャットルームに関する情報を送信する（ステップＳ９３６）。ルーム名Ｒのデータが無い場合（ステップＳ９３４にてＮＯである場合）、ＣＰＵ４０５は、ルーム名Ｒのチャットルームが存在しない旨のメッセージ（エラーメッセージ）を第２の携帯電話１００Ｂに送信し（ステップＳ９３８）、ステップＳ９０２からの処理を繰り返す。
【０１４５】
チャットルームの参加問い合わせでない場合（ステップＳ９３２にてＮＯである場合）、ＣＰＵ４０５は、受信したメッセージがチャットルームからの退出要求であるか否かを判断する（ステップＳ９４０）。チャットルームへの退出要求である場合（ステップＳ９４０にてＹＥＳである場合）、ＣＰＵ４０５は、メッセージからルーム名Ｒを抽出して、ルーム管理テーブル４０６Ａを参照することにより、ルーム名Ｒに当該メッセージの送信元の携帯電話のＩＰアドレスが対応付けられて格納されているか否かを判断する（ステップＳ９４２）。
【０１４６】
ルーム名Ｒに当該メッセージの送信元の携帯電話のＩＰアドレスが対応付けられて格納されている場合（ステップＳ９４２にてＹＥＳである場合）、ＣＰＵ４０５は、ルーム管理テーブル４０６Ａからルーム名Ｒと当該メッセージの送信元の携帯電話のＩＰアドレスとのレコードを削除する（ステップＳ９４４）。そして、ＣＰＵ４０５は、サーバ通信部４０９を介して、当該メッセージの送信元にチャットルームからの退出が成功した旨のメッセージを送信する（ステップＳ９４６）。
【０１４７】
ルーム名Ｒに当該メッセージの送信元の携帯電話のＩＰアドレスが対応付けられて格納されていない場合（ステップＳ９４２にてＮＯである場合）、ＣＰＵ４０５は、エラーメッセージを当該メッセージの送信元に送信し（ステップＳ９４８）、ステップＳ９０２からの処理を繰り返す。
【０１４８】
チャットルームからの退出要求でない場合（ステップＳ９４０にてＮＯである場合）、ＣＰＵ４０５は、受信したメッセージがチャットルームの削除要求であるか否かを判断する（ステップＳ９５０）。チャットルームの削除要求である場合（ステップＳ９５０にてＹＥＳである場合）、ＣＰＵ４０５は、メッセージからルーム名Ｒを抽出して、既にルーム名Ｒのチャットルームが存在するか否かを判断する（ステップＳ９５２）。すなわち、ルーム管理テーブル４０６Ａにルーム名Ｒのデータが存在するか否かを判断する。
【０１４９】
ルーム名Ｒのデータがある場合（ステップＳ９５２にてＹＥＳである場合）、ＣＰＵ４０５は、ルーム管理テーブル４０６Ａからルーム名Ｒのチャットルームに関する情報を削
除する（ステップＳ９５４）。そして、ＣＰＵ４０５は、サーバ通信部４０９を介して当該メッセージの送信元にチャットルームの削除が成功した旨のメッセージを送信し（ステップＳ９５６）し、ステップＳ９０２からの処理を繰り返す。一方、ルーム名Ｒのデータが無い場合（ステップＳ９５２にてＮＯである場合）、ＣＰＵ４０５は、ルーム名Ｒのチャットルームが存在しない旨のメッセージ（エラーメッセージ）を第２の携帯電話１００Ｂに送信し（ステップＳ９５８）、ステップＳ９０２からの処理を繰り返す。
＜携帯電話１００におけるＰ２Ｐ要請発信処理の変形例＞
【０１５０】
次に、本実施の形態に係る携帯電話１００におけるＰ２Ｐ要請発信処理の変形例について説明する。図２０は、本実施の形態に係る携帯電話１００におけるＰ２Ｐ要請発信処理の変形例の処理手順を示すフローチャートである。
【０１５１】
ここでは、マッチングサーバ４００がルーム名を生成し、第１の携帯電話１００Ａがルーム名を受信する例について説明する。図２０に示すように、Ｐ２Ｐボタン１１０Ｃが操作された場合（ステップＳ５１０にてＹＥＳである場合）、制御部１０６は、通信部１０１を介して、マッチングサーバ４００にチャットルームの生成を要求する（ステップＳ１００２）。このとき、ＣＰＵ４０５は、通信部１０１を介してルーム名を受信する。
【０１５２】
制御部１０６は、メールヘッダを作成し（ステップＳ１００４）、メール本文を作成する（ステップＳ１００６）。制御部１０６は、通信部１０１を介して相手通信端末にＰ２Ｐへ招待する旨のメールを送信する（ステップＳ１００８）。
【０１５３】
制御部１０６は、終了ボタンが操作されたか否かを判断する（ステップＳ１０１０）。終了ボタンが操作された場合（ステップＳ１０１０にてＹＥＳである場合）、制御部１０６は、通信部１０１を介してマッチングサーバ４００にチャットルームを削除する要求を送信する（ステップＳ１０２４）。
【０１５４】
終了ボタンが操作されない場合（ステップＳ１０１０にてＮＯである場合）、制御部１０６は、通信部１０１を介して相手通信端末が接続したか否か、すなわち相手通信端末がチャットルームに参加したか否かを判断する（ステップＳ１０１２）。相手通信端末がチャットルームに参加した場合（ステップＳ１０１２にてＹＥＳである場合）、制御部１０６は、通信部１０１を介して相手通信端末の認証を行う（ステップＳ１０１４）。
【０１５５】
相手通信端末がチャットルームに参加しない場合（ステップＳ１０１２にてＮＯである場合）、あるいは、制御部１０６が通信部１０１を介して相手通信端末の認証に失敗した場合（ステップＳ１０１４にてＮＯである場合）、制御部１０６はステップＳ１０１０からの処理を繰り返す。
【０１５６】
制御部１０６が通信部１０１を介して相手通信端末の認証に成功した場合（ステップＳ１０１４にてＹＥＳである場合）、制御部１０６は、通信部１０１を介してＰ２Ｐ通信を確立する（ステップＳ１０１６）。制御部１０６は、第１の通知部１１１やメインディスプレイ１０７などを介して、ユーザにＰ２Ｐ通信が確立されたことを通知する（ステップＳ１０１８）。制御部１０６は、通信部１０１を介して相手通信端末とＰ２Ｐ通信処理を行う（ステップＳ１０２０）。すなわち、制御部１０６は、入力部１１０を介して入力されるユーザの操作命令を受け付けて、通信部１０１に各種データを送受信させ、メインディスプレイ１０７に各種情報を表示させる。
【０１５７】
制御部１０６は、終了ボタン１１０Ｅが操作されたか否かを判断する（ステップＳ１０２２）。制御部１０６は、終了ボタン１１０Ｅが操作された場合（ステップＳ１０２２にてＹＥＳである場合）、通信部１０１を介してマッチングサーバ４００にチャットルーム
を削除する要求を送信する（ステップＳ１０２４）。制御部１０６は、終了ボタン１１０Ｅが操作されない場合（ステップＳ１０２２にてＮＯである場合）、ステップＳ１０２０からの処理を繰り返す。
【０１５８】
本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。
【０１５９】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１６０】
プログラムコードを供給するための記憶媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード（ＩＣメモリカード）、ＲＯＭ（マスクＲＯＭ、フラッシュＥＥＰＲＯＭなど）などを用いることができる。
【０１６１】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１６２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１６３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１６４】
【図１】本実施の形態に係るネットワークシステムの一例を示す概略図である。
【図２】ネットワークシステムにおける動作概要を示すシーケンス図である。
【図３】本実施の形態に係る動作概要に沿った通信端末の表示態様の推移を示したイメージ図である。
【図４】本施の形態に係る携帯電話の概観を示すイメージ図である。
【図５】本施の形態に係る携帯電話のハードウェア構成を示すブロック図である。
【図６】ワークメモリのデータ構造とアドレス帳データと自端末データと自端末のＩＰアドレスデータと他端末のＩＰアドレスデータとを示すイメージ図である。
【図７】本実施の形態に係るマッチングサーバのハードウェア構成を示すブロック図である。
【図８】ルーム管理テーブルのデータ構造を示す第１のイメージ図とルーム管理テーブルのデータ構造を示す第２のイメージ図である。
【図９】本実施の形態に係るネットワークシステムの機能構成を示すブロック図である。
【図１０】本実施の形態に係る携帯電話における通信処理の処理手順を示すフローチャートである。
【図１１】本実施の形態に係る携帯電話における着呼処理の処理手順を示すフローチャートである。
【図１２】本実施の形態に係る携帯電話におけるメール受信処理の処理手順を示すフローチャートである。
【図１３】本実施の形態に係る携帯電話における第１のＰ２Ｐ要請受信処理の処理手順を示すフローチャートである。
【図１４】本実施の形態に係る携帯電話における第２のＰ２Ｐ要請受信処理の処理手順を示すフローチャートである。
【図１５】本実施の形態に係る携帯電話における発信処理の処理手順を示すフローチャートである。
【図１６】本実施の形態に係る携帯電話における発呼処理の処理手順を示すフローチャートである。
【図１７】本実施の形態に係る携帯電話におけるメール発信処理の処理手順を示すフローチャートである。
【図１８】本実施の形態に係る携帯電話におけるＰ２Ｐ要請発信処理の処理手順を示すフローチャートである。
【図１９】本実施の形態に係るマッチングサーバにおけるルーム生成処理の処理手順を示すフローチャートである。
【図２０】本実施の形態に係る携帯電話におけるＰ２Ｐ要請発信処理の変形例の処理手順を示すフローチャートである。
【符号の説明】
【０１６５】
１  ネットワークシステム、１００，１００Ａ，１００Ｂ，１００Ｃ  携帯電話、１０１，１０１−１，１０２−２  通信部、１０３，１０３−１，１０３−２  記憶部、１０３Ａ，１０３Ａ−１，１０３Ａ−２  ワークメモリ、１０３Ｂ，１０３Ｂ−１，１０３Ｂ−２  アドレス帳データ、１０３Ｃ，１０３Ｃ−１，１０３Ｃ−２  自端末データ、１０３Ｄ，１０３Ｄ−１，１０３Ｄ−２  ＩＰアドレスデータ、１０６，１０６−１，１０６−２  制御部、１０６Ａ，１０６Ａ−１，１０６Ａ−２  生成部、１０７  メインディスプレイ、１０８  マイク、１０９  スピーカ、１１０，１１０−１，１１０−２  入力部、２００  カーナビゲーション装置、３００  パーソナルコンピュータ、４００  マッチングサーバ、４０５Ａ  ルーム生成部、４０５Ｂ  受付部、４０６  メモリ、４０６Ａ  ルーム管理テーブル、４０７  固定ディスク、４０８  内部バス、４０９  サーバ通信部、５００  インターネット網、６００  メールサーバ、７００  キャリア網。
【図１】
2010021863.tif 000003
【図２】
2010021863.tif 000004
【図３】
2010021863.tif 000005
【図４】
2010021863.tif 000006
【図５】
2010021863.tif 000007
【図６】
2010021863.tif 000008
【図７】
2010021863.tif 000009
【図８】
2010021863.tif 000010
【図９】
2010021863.tif 000011
【図１０】
2010021863.tif 000012
【図１１】
2010021863.tif 000013
【図１２】
2010021863.tif 000014
【図１３】
2010021863.tif 000015
【図１４】
2010021863.tif 000016
【図１５】
2010021863.tif 000017
【図１６】
2010021863.tif 000018
【図１７】
2010021863.tif 000019
【図１８】
2010021863.tif 000020
【図１９】
2010021863.tif 000021
【図２０】
2010021863.tif 000022