JP2010140083A - 通信端末 - Google Patents
通信端末 Download PDFInfo
- Publication number
- JP2010140083A JP2010140083A JP2008313270A JP2008313270A JP2010140083A JP 2010140083 A JP2010140083 A JP 2010140083A JP 2008313270 A JP2008313270 A JP 2008313270A JP 2008313270 A JP2008313270 A JP 2008313270A JP 2010140083 A JP2010140083 A JP 2010140083A
- Authority
- JP
- Japan
- Prior art keywords
- room
- communication
- unit
- data
- terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
【課題】利用されないルームが開設されたままの状態を回避する。
【解決手段】携帯電話100Aは携帯電話100C宛てにP2P通信を勧誘する。勧誘された携帯電話100Cは、勧誘に対する利用者のOK操作に応じて、勧誘者と勧誘された者との間で一意に決定するルーム名のチャットルームを、マッチングサーバ装置400に開設する。勧誘側である携帯電話100Aでは、このチャットルームがマッチングサーバ400に開設されたことを検出すると、携帯電話100Cから勧誘に対するOK応答があったものとして制御する。マッチングサーバ400では、開設されたルームに、携帯電話100Aがアクセス(参加)要求したことを検出(マッチング検出)すると、P2P通信のための相手側のIPアドレスを、携帯電話100Aと100Cに送信する。
【選択図】図11
【解決手段】携帯電話100Aは携帯電話100C宛てにP2P通信を勧誘する。勧誘された携帯電話100Cは、勧誘に対する利用者のOK操作に応じて、勧誘者と勧誘された者との間で一意に決定するルーム名のチャットルームを、マッチングサーバ装置400に開設する。勧誘側である携帯電話100Aでは、このチャットルームがマッチングサーバ400に開設されたことを検出すると、携帯電話100Cから勧誘に対するOK応答があったものとして制御する。マッチングサーバ400では、開設されたルームに、携帯電話100Aがアクセス(参加)要求したことを検出(マッチング検出)すると、P2P通信のための相手側のIPアドレスを、携帯電話100Aと100Cに送信する。
【選択図】図11
Description
この発明は通信端末に関し、特に、サーバ装置を介して他の通信端末と通信する通信端末に関する。
従来、インターネットに接続可能な端末同士間のインターネットを利用したダイレクトのデータ/メッセージ交換の1種であるP2P(peer to peer)通信では、通信に参加するメンバ同士が予め電話や電子メールを用いて、または対面して、P2P通信を開始する時刻を決める。そして、予定時刻前に、ネットワークに、各メンバが通信端末をネットワークに接続しメンバのいずれかが、P2P通信開始を他のメンバに呼び掛ける。
P2P通信に従うメンバ同士のデータ通信の1例としてチャットがある。チャットでは、サーバに開設されたチャットルームにより関係付けされたメンバ同士が、サーバを介さずに直接にメッセージ交換などのデータ通信を行なう。
チャットのための構成は、たとえば、特許文献1−3に開示される。特許文献1−3では、チャットの勧誘や、チャットに必要なIP(Internet Protocol)アドレスなど予め取得すべき情報を、サーバを経由したメールシステムを利用して交換する構成が示される。
また、特許文献4には、チャットをしたい相手方の携帯電話番号を用いてサーバにチャットを要求することで、サーバが、要求に応じて、その携帯電話番号の携帯電話に宛ててチャット依頼をするシステムが、開示されている
特許文献1では、新規にチャットルームを開設すると、予め登録されているユーザ情報から、チャットルームへの入室を促すユーザを選択し、選択されたユーザに対して、開設したチャットルームへの入室を促す。
特許文献1では、新規にチャットルームを開設すると、予め登録されているユーザ情報から、チャットルームへの入室を促すユーザを選択し、選択されたユーザに対して、開設したチャットルームへの入室を促す。
特許文献2では、各ユーザは自己のパーソナルコンピュータのIPアドレスを添付した電子メールを、希望する通信先である他のユーザのパーソナルコンピュータに送信することで、P2P通信に必要な情報を交換する。
特許文献3では、チャットサーバに接続した携帯電話機は、チャットサーバを介して、チャットに接続していない他の携帯電話機に対して、チャットサーバへの接続を促すチャット勧誘メールを送信すると、チャット勧誘メールを受信した携帯電話機のユーザがチャットサーバへの接続を承諾すると、当該携帯電話機はチャットサーバに接続される。
特許文献4では、携帯電話はサーバに対して、チャットしたい相手方の携帯電話番号を付与してチャット要求すると、サーバは、相手方の携帯電話にチャット依頼し、相手方は都合に応じて依頼に応答する。
特開2004−199134号公報
特開2002−278903号公報
特開2003−91494号公報
特開2002−132694号公報
P2P通信に従うチャットにおいて、サーバはチャットするメンバ同士を関連付けするために利用されるものであり、P2P通信開始後は、当該サーバを介さずに関連付けされたメンバ同士がIPアドレスを用いて直接にメッセージ交換をする。したがって、サーバにおいてメンバ同士を関連付けするために開設されるルームは、全てのメンバがチャットルームをアクセスすることによってP2P通信に必要な情報(IPアドレス等)を交換して、P2P通信が開始された後は、当該チャットルームは不要となる。それゆえに、サーバの記憶領域を有効利用するという観点から、不要となったチャットルームは削除することが要求される。
ここで、サーバにおいて、無駄なリソースを削除するという観点から、限定した2人のメンバでチャットする場合を想定してチャットルームの開設・削除を考察する。一方のメンバがチャットルームを開設して、他方のメンバがチャットの勧誘にOKすれば(ルームに入室したら)、一方のメンバは開設したチャットルームを削除するとした場合、少なくとも開設してから他方のメンバがOKするまでの期間は、アクセスされない状態でチャットルームがサーバに残存し続ける。この期間は、他方のメンバが勧誘を受信できない状態にあれば長期化し、勧誘した一方のメンバも、例えば、端末のバッテリ切れなど長時間サーバにアクセスできない状況に陥ればさらに長期化する。
このような場合、サーバにおいて長期間、使われることのない無駄なチャットルームが数多く残存することになる一方で、ルームを新たに開設するための記憶領域が小さくなり、チャットシステムの運用効率は低下する。また、サーバも使用可能な記憶容量を確保するための特別な処理を実行する必要が生じて負荷が高くなり、チャットシステムの運用効率は低下する。
それゆえに、この発明の目的は、アクセスなど利用されないルームが開設されたままの状態を回避する通信端末を提供することである。
この発明のある局面に従うと、サーバ装置、およびサーバ装置を経由しない所定データ通信を行う複数の通信端末が接続されるネットワークに適用される通信端末は、ネットワークを介して所定データ通信とは異なる情報通信をするために用いる自端末を識別する自端末識別情報と、他の通信端末を識別する他端末識別情報を格納する情報格納部と、所定データ通信の要求を入力するために操作される通信要求部と、他端末識別情報を送信元データに、自端末識別情報を宛先データに含む所定データ通信を勧誘するための勧誘メッセージを、情報通信によって他の前記通信端末から受信する勧誘受信部と、勧誘受信部により勧誘メッセージが受信されたとき通信要求部によって要求が入力されたことに応じて、所定データ通信に用いられる情報であって且つ自己の通信端末を識別するための第1識別情報を格納するルームを、ルーム識別子と対応付けてサーバ装置に開設するルーム開設部と、ルーム開設部によるルームの開設後から所定期間、所定データ通信に用いられる情報であって且つ第1識別情報とは異なる第2識別情報の通知を待機する待機部と、を備え、ルーム識別子は、所定データ通信を行う両方の通信端末が有する所定情報に基づき生成される。
好ましくは、サーバ装置は、開設したルームを記憶するルーム記憶部とルーム削除部をを含む。ルームには、ルーム識別子と、第1識別情報を含む当該ルームに参加する通信端末それぞれの所定識別情報が格納される。ルーム削除部は、複数の通信端末のうちのいずれかの通信端末から、削除すべきルームのルーム識別子を指す削除識別子を含むルーム削除要求を受信すると、削除識別子に基づきルーム記憶部を検索し、検索結果に基づき、削除識別子に一致するルーム識別子に対応のルームを、新たなルームを開設可能なように、ルーム記憶部から削除する。
そして、通信端末は、所定期間の経過後、前記サーバ装置宛てに、ルーム開設部により開設したルームのルーム識別子を削除識別子として含むルーム削除要求を送信する。
この発明の他の局面に従うと、サーバ装置、およびサーバ装置を経由しない所定データ通信を行う複数の通信端末が接続されるネットワークに適用される通信端末は、ネットワークを介して所定データ通信とは異なる情報通信をするために用いる自端末を識別する自端末識別情報と、他の通信端末を識別する他端末識別情報を格納する情報格納部と、所定データ通信に用いられる情報であって且つ他の通信端末を識別するための所定識別情報を格納するルームが、ルーム識別子と対応付けてサーバ装置に開設されたことを検出する開設検出部と、所定データ通信の要求を入力するために操作される通信要求部と、通信要求部によって要求が入力されたことに応じて、情報格納部から読出した自端末識別情報を送信元データに、他端末識別情報を宛先データに含む所定データ通信を勧誘するための勧誘メッセージを、情報通信によって他の通信端末宛てに送信する勧誘送信部と、勧誘メッセージを送信後から所定期間、開設検出部が、他の通信端末によりルームが開設されたことを検出するまで待機する開設待機部と、所定期間内に、開設検出部によってルームの開設が検出されたことに応じて、ルーム識別子に基づきアクセスすることにより、当該ルームに格納された所定識別情報を、サーバ装置から受信する所定識別情報受信部とを、備え、ルーム識別子は、所定データ通信を行う両方の通信端末が有する所定情報に基づき生成される。
この発明のさらに他の局面に従うと、サーバ装置、およびサーバ装置を経由しない所定データ通信を行う複数の通信端末が接続されるネットワークに適用される通信端末における通信方法では、通信端末は、ネットワークを介して所定データ通信とは異なる情報通信をするために用いる自端末を識別する自端末識別情報と、他の通信端末を識別する他端末識別情報を格納する情報格納部と、操作部とを備える。
そして、通信方法は、操作部を介して所定データ通信の要求を入力する通信要求入力ステップと、他端末識別情報を送信元データに、自端末識別情報を宛先データに含む所定データ通信を勧誘するための勧誘メッセージを、情報通信によって他の通信端末から受信する勧誘受信ステップと、勧誘受信ステップにより勧誘メッセージが受信されたとき通信要求入力ステップによって要求が入力されたことに応じて、所定データ通信に用いられる情報であって且つ自己の通信端末を識別するための第1識別情報を格納するルームを、ルーム識別子と対応付けて前記サーバ装置に開設するルーム開設ステップと、ルーム開設ステップによるルームの開設後から所定期間、所定データ通信に用いられる情報であって且つ第1識別情報とは異なる第2識別情報の通知を待機する待機ステップと、を備え、ルーム識別子は、所定データ通信を行う両方の通信端末が有する所定情報に基づき生成される。
好ましくは、サーバ装置は、開設したルームを記憶するルーム記憶部とルーム削除部とを含み、ルームには、ルーム識別子と、当該ルームに参加する通信端末の所定識別情報が格納される。ルーム削除部は、複数の通信端末のうちのいずれかの通信端末から、削除すべきルームのルーム識別子を指す削除識別子を含むルーム削除要求を受信すると、削除識別子に基づきルーム記憶部を検索し、検索結果に基づき、削除識別子に一致するルーム識別子に対応のルームを、新たなルームを開設可能なように、ルーム記憶部から削除する。
そして、通信端末は、所定識別情報受信部が所定識別情報を受信した後に、サーバ装置宛てに、開設検出部が開設を検出したルームのルーム識別子を削除識別子として含むルーム削除要求を送信する。
好ましくは、情報格納部から読出した自端末識別情報と他端末識別情報とに基づき、ルーム識別子を生成する識別子生成部を、さらに備える。
この発明のさらに他の局面に従うと、サーバ装置、およびサーバ装置を経由しない所定データ通信を行う複数の通信端末が接続されるネットワークに適用される通信端末における通信方法では、通信端末は、ネットワークを介して所定データ通信とは異なる情報通信をするために用いる自端末を識別する自端末識別情報と、他の通信端末を識別する他端末識別情報を格納する情報格納部と、操作部とを備える。
通信方法は、所定データ通信に用いられる情報であって且つ他の通信端末を識別するための所定識別情報を格納するルームが、ルーム識別子と対応付けてサーバ装置に開設されたことを検出する開設検出ステップと、操作部を介して、所定データ通信の要求を入力する通信要求入力ステップと、通信要求入力ステップによって要求が入力されたことに応じて、情報格納部から読出した自端末識別情報を送信元データに、他端末識別情報を宛先データに含む前記所定データ通信を勧誘するための勧誘メッセージを、前記情報通信によって他の通信端末宛てに送信する勧誘送信ステップと、勧誘メッセージを送信後から所定期間、開設検出ステップによって、他の通信端末により前記ルームが開設されたことを検出するまで待機する開設待機ステップと、所定期間内に、開設検出ステップによってルームの開設が検出されたことに応じて、ルーム識別子に基づきアクセスすることにより、当該ルームに格納された所定識別情報を、サーバ装置から受信する所定識別情報受信ステップとを、備え、ルーム識別子は、所定データ通信を行う両方の通信端末が有する所定情報に基づき生成される。
この発明のさらに他の局面に従うと、通信方法を、コンピュータに実行させるためのプログラムが提供される。
本発明によれば、サーバ装置に開設される所定データ通信のために用いられる通信端末を識別する識別情報を格納するルームのルーム識別子は、所定データ通信を行うべき両通信端末が有する所定情報に基づき生成されるから、所定データ通信を行なう通信端末のみにより当該ルームがアクセスされることが可能となり第3の通信端末によりアクセスされる可能性を排除できる。これにより、第3の通信端末の当該ルームへのアクセスを待つ必要はないので、アクセスされないルームが開設されている期間を短くできる。
また、ルームの開設は、勧誘メッセージを受信できた通信端末側で行なうから、すなわち勧誘を承諾した場合にのみルームが開設されることになり、アクセスされないルームが開設されるのを回避できる。
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
また、以下では、携帯電話100を「通信端末」の代表例として説明を行う。ただし、通信端末は、パーソナルコンピュータや、カーナビゲーション装置(Satellite navigation system)や、PND(Personal Navigation Device)や、PDA(Personal Data Assistance)などのような、他の情報通信機器であってもよい。
<チャットルームに関する説明>
本実施の形態では、‘チャット’とは、後述のインターネット500またはキャリア網700を介したオンラインサービスによりリアルタイムに通信端末同士がメッセージをやり取りするような通信を指す。たとえば、メールサーバは介さないIPアドレスを用いたP2P通信、またはメールサーバ経由の電子メール交換であってもよい。また、本実施の形態では、1対1の通信端末同士のチャットを指す。
本実施の形態では、‘チャット’とは、後述のインターネット500またはキャリア網700を介したオンラインサービスによりリアルタイムに通信端末同士がメッセージをやり取りするような通信を指す。たとえば、メールサーバは介さないIPアドレスを用いたP2P通信、またはメールサーバ経由の電子メール交換であってもよい。また、本実施の形態では、1対1の通信端末同士のチャットを指す。
また、チャットルーム(以下、単にルームと略す)は、一般的には、テーマ・話題毎にデータ交換するために開設されて端末によりアクセスされる。本実施の形態では、通信端末において生成されるルームID(identifier)であるルーム名毎に開設される。本実施の形態では、‘ルーム’とは、当該ルームのルーム名に対応して、チャットのためのデータ通信(データ交換)を要求するユーザの識別情報を、すなわちユーザの通信端末の識別情報を相互に関係付けるための情報を指す。この通信端末の識別情報は、各通信端末を一意に識別するための情報であって、本実施の形態では各通信端末に割当されたIPアドレスとしている。
したがって、本実施の形態では、‘ルームの開設’とは、ルームの生成に相当する。具体的には、所定記憶領域に新規にルーム名を格納するとともに、このルーム名に対応してルームの生成を要求したユーザの通信端末の識別情報を格納する動作に相当する。
また、‘ルームへの参加’とは、所定記憶領域に既に格納されたルーム名に対応してチャットを要求するユーザの通信端末の識別情報を格納するともに、当該ユーザに対して他のユーザの通信端末の識別情報を配信する動作に相当する。
また、‘ルームの削除’とは、削除するべきルームのルーム名および対応する通信端末の識別情報を、所定記憶領域から削除するための動作を指す。
<ネットワークシステム1の全体構成>
図1を参照して、本実施の形態に係るネットワークシステム1は、携帯電話100A,100Bおよび100Cと、マッチングサーバ(第1のサーバ装置)400と、メールサーバ(第2のサーバ装置)600と、インターネット(第1のネットワーク)500と、キャリア網(第2のネットワーク)700とを含む。また、本実施の形態に係るネットワークシステム1は、車両250に搭載されるカーナビゲーション装置200と、パーソナルコンピュータ(PC;Personal Computer)300とを含む。
図1を参照して、本実施の形態に係るネットワークシステム1は、携帯電話100A,100Bおよび100Cと、マッチングサーバ(第1のサーバ装置)400と、メールサーバ(第2のサーバ装置)600と、インターネット(第1のネットワーク)500と、キャリア網(第2のネットワーク)700とを含む。また、本実施の形態に係るネットワークシステム1は、車両250に搭載されるカーナビゲーション装置200と、パーソナルコンピュータ(PC;Personal Computer)300とを含む。
なお、説明の容易化のために、以下では、本実施の形態に係るネットワークシステム1が、第1の携帯電話100Aと、第2の携帯電話100Bと、第3の携帯電話100Cとを含む場合について説明する。また、携帯電話100A,100B,100Cの各々に共通の構成や機能を説明する際には、それらを携帯電話100とも総称する。そして、携帯電話100A,100B,100C、カーナビゲーション装置200、パーソナルコンピュータ300の各々に共通の構成や機能を説明する際には、それらを通信端末とも総称する。
携帯電話100は、キャリア網700に接続可能に構成されている。カーナビゲーション装置200は、インターネット500に接続可能に構成されている。パーソナルコンピュータ300は、LAN(Local Area Network)350やWAN(Wide Area Network)を介してインターネット500に接続可能に構成されている。マッチングサーバ400は、インターネット500に接続可能に構成されている。メールサーバ600は、インターネット500およびキャリア網700に接続可能に構成されている。
より詳細には、第1の携帯電話100Aと、第2の携帯電話100Bと、第3の携帯電話100Cと、カーナビゲーション装置200と、パーソナルコンピュータ300とは、キャリア網700やメールサーバ600やインターネット500を介して互いに接続可能であって、互いにデータの送受信が可能である。また、携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300には、自端末を特定するための識別情報(たとえば、メールアドレスやIP(Internet Protocol)アドレスなど)が割当てられる。すなわち、携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300は、内部の記録媒体に他の通信端末の識別情報を記憶することができ、当該識別情報に基づいてキャリア網700やインターネット500などを介して当該他の通信端末とデータ送受信を行うことができる。
なお、本実施の形態に係る携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300とは、割当てられるIPアドレスを利用して、メールサーバ600を介さずに他の通信端末とデータ送受信を行うものである。ここでは、各通信端末がマッチングサーバ400にアクセスする際には、すなわち各通信端末がインターネットにアクセスした際に、マッチングサーバ400あるいは他の図示しないサーバ装置などによってIPアドレスが割当てられるものとする。IPアドレスの割当て処理の詳細は公知であるので、ここでは説明を繰り返さない。
また、本実施の形態に係る携帯電話100、カーナビゲーション装置200、パーソナルコンピュータ300は、自身に割当てられたIPアドレスを利用することにより、直接的に相互にネットワークを介してデータ送受信を行うことが可能である。すなわち、本実施の形態に係るネットワークシステム1に含まれる携帯電話100、カーナビゲーション装置200、パーソナルコンピュータ300は、いわゆるP2P通信のネットワークを構成することが可能である。
<携帯電話100のハードウェア構成>
本実施の形態に係る携帯電話100のハードウェア構成について説明する。図2は、本施の形態に係る携帯電話100の概観を示すイメージ図である。図3は、本施の形態に係る携帯電話100のハードウェア構成を示すブロック図である。
本実施の形態に係る携帯電話100のハードウェア構成について説明する。図2は、本施の形態に係る携帯電話100の概観を示すイメージ図である。図3は、本施の形態に係る携帯電話100のハードウェア構成を示すブロック図である。
図2および図3に示すように、本実施の形態に係る携帯電話100は、外部のネットワークとの間でデータを送受信する他の通信部101と、通話のためのTEL(Telephone)用通信部102と、プログラムや各種データベースを記憶する記憶部103と、CPU(Central Processing Unit)106Aを備えた制御部106と、ディスプレイ107と、外部から音声を入力するためのマイク108と、音声を外部に出力するためのスピーカ109と、各種情報の入力を受付ける入力部110と、電話および電子メールの着信をベルによる音や振動(バイブレーション)で報知するための第1の通知部111と、電話および電子メールの着信を光源(たとえば、LED(Light Emitting Diode))の発光で報知するための第2の通知部112とを含む。
本実施の形態に係るディスプレイ107は、液晶パネルやCRT(Cathode Ray Tube)から構成されるタッチパネルである。すなわち、本実施の形態に係る携帯電話100は、ディスプレイ107の下側(裏側)にタブレット119が敷設されている。ユーザはスタイラスペン120を用いてディスプレイ107上に文字・記号・図形などを描画すると、描画による軌跡を示す座標データがタブレット119を介して検出されて制御部106に与えられる。これにより、スタイラスペン120を操作して手書き入力した文字・記号・図形の情報を制御部106に入力することができる。ディスプレイ107は、制御部106が出力した情報に基づいて、手書き入力された画像やテキストを表示する。
入力部110は、スイッチ・キー・ボタンなどを備え、ユーザがスイッチ・キー・ボタンを操作することによって入力した情報を受付ける。たとえば、入力部110は、通話を受付けたり、通話を発したりするために操作されるTELボタン110Aと、メールを受付けたり、メールを発したりするために操作されるメールボタン110Bと、P2P通信を受付けたり、P2P通信を発したりするために操作されるP2Pボタン110Cと、アドレス帳データを参照するために操作されるアドレス帳ボタン110Dと、各種の処理を終了させるために操作される終了ボタン110Eとを含む。
第1の通知部111は、スピーカ109などを介して着信音(たとえばベル音)を出力する。あるいは、第1の通知部111は、バイブレーション機能を有する。第1の通知部111は、着呼に応じて、またはメール受信に応じて、音声を出力したり、携帯電話100を振動させたりする。
第2の通知部112は、着呼に応じて点滅するTEL用LED112Aと、メールを受信したときに点滅するメール用LED112Bと、P2P通信に従う信号を受信したときに点滅するP2P用LED112Cを含む。
制御部106は、CPU106Aを含むマイクロコンピュータによって実現され、携帯電話100の各部を制御する。たとえば、入力部110を介してユーザから各種の命令を受付けて、他の通信部101やTEL用通信部102やネットワークを介して外部の通信端末とデータの送受信を行う。
他の通信部101およびTEL用通信部102は、無線通信機能を有し無線通信を行なう。具体的には、制御部106からの通信データを通信信号に変換し、その通信信号を図示しないアンテナを介して発信する。他の通信部101およびTEL用通信部102は、アンテナを介して受信した通信信号を通信データに変換し、その通信データを制御部106に入力する。
記憶部103は、作業用メモリとして機能するRAM(Random Access Memory)や、制御プログラムなどを格納するROM(Read Only Memory)や、画像データなどを記憶するハードディスクなどによって実現される。図4は、記憶部103に格納されるアドレス帳データを示す図である。図5は、記憶部103に格納される自端末データを示す図である。
図3に示すように、記憶部103のワークメモリ103Aには、受信したメールデータを指す受信メールデータRCVMAIL、送信したメールデータを指す送信メールデータSENDMAIL、ルーム名の生成に適用するべき規則(ルール)を指示するデータRMCRULE、選択されたアドレスのメモリNoを指示するデータSEL、生成されたルーム名を指示するデータRMNMが格納される。
図3の記憶部103は、さらに、アドレス帳データAdrDB[]が格納される記憶領域103B、携帯電話100(自端末)に関する自端末データMyAdrが格納される記憶領域103C、他端末のIPアドレスデータHIS_IPADRを格納する記憶領域103D、自端末のIPアドレスデータMY_IPADRを格納する記憶領域103E、およびマッチングサーバ400のアドレスデータSEV_ADRを格納する記憶領域103F含む。
上述したデータが格納される記憶部103の領域は、携帯電話100の電源がOFFされても記憶内容が消去しないメモリ、たとえばフラッシュメモリからなる。
図4を参照して、記憶領域103Bのアドレス帳データAdrDB[]は、宛先(他の通信端末)毎に個別にデータを格納する。具体的には、各通信端末毎に割当された記憶領域には、当該記憶領域を指示するメモリNoのデータMNO、宛先の名前のデータName、通話において相手端末を一意に識別するための電話番号のデータTELNo、データ通信において相手端末を一意に識別するためのメールアドレスを指すデータMailADRおよび当該相手端末との間のチャットのために生成されたルーム名を指すデータRNameを対応付けて含む。
データRNameは対応する相手端末との間でP2P通信のためのルーム名が未だ生成されていない場合には‘NULL’が設定される。
図5を参照して、記憶領域103Cの自端末データMyAdrは、自端末のユーザの名前、自端末を一意に識別するための電話番号およびメールアドレスを指すデータName、TELNoおよびMailADRを含む。
図6には、P2P通信を勧誘するために他の携帯電話100から受信したメールを指す受信メールデータRCVMAIL、P2P通信を勧誘するために他の携帯電話100宛てに送信した送信メールデータSENDMAILが示される。図6(A)を参照して受信メールデータRCVMAILは、メールの内容を示すメール本文データMAIN、メールの送信元を示す送信元データFROMおよびメールの宛先を示す宛先データTOを含む。図6(B)を参照して送信メールデータSENDMAILは、受信メールデータRCVMAILと同様に、メール本文データMAIN、送信元データFROMおよび宛先データTOを含む。
<携帯電話100の機能構成>
図7を参照して、本実施の形態に係る携帯電話100のCPU106Aは、端末通信部1061、フレーム解析部1062、フレーム生成部1063、入力受付部1064、通知処理部1065、通常メール処理部1066、勧誘メール送信部1068を含むP2P勧誘部1067、P2P勧誘受付部1069、P2P勧誘応答部1070、ルーム名生成部1071およびルームアクセス部1072を備える。これらの各部の機能は予めプログラム・データとして記憶部103の所定記憶領域に格納されており、CPU106Aがこれらプログラム・データを記憶部103から読出し、実行することにより、各部の機能が実現される。
図7を参照して、本実施の形態に係る携帯電話100のCPU106Aは、端末通信部1061、フレーム解析部1062、フレーム生成部1063、入力受付部1064、通知処理部1065、通常メール処理部1066、勧誘メール送信部1068を含むP2P勧誘部1067、P2P勧誘受付部1069、P2P勧誘応答部1070、ルーム名生成部1071およびルームアクセス部1072を備える。これらの各部の機能は予めプログラム・データとして記憶部103の所定記憶領域に格納されており、CPU106Aがこれらプログラム・データを記憶部103から読出し、実行することにより、各部の機能が実現される。
図7においては、CPU106Aが有する各機能とデータ・情報を入出力する周辺回路部のみが示される。
端末通信部1061は、電話による通信を制御するためのTEL用通信部102、ならびにサーバとの通信を制御するサーバ通信部1081およびIPアドレスを用いたP2P通信を制御するためのP2P通信部1082を含むデータ通信部101を有する。
フレーム解析部1062は、端末通信部1061によって受信されたフレームを入力し、入力したフレームのデータを解析し、解析結果を出力する。フレーム生成部1063は、端末通信部1061を介して外部ネットワークに送信するべきフレームを生成する。入力受付部1064は、タブレット119および入力部110から入力されたデータを受付ける。通知処理部1065は、第1および第2の通知部111および112の出力動作を制御する。
通常メール処理部1066は、P2P通信を勧誘するメールを除く他の種類のメールを処理する。
P2P勧誘部1067は、他の携帯電話100のユーザに対してP2P通信を勧誘するために動作する。勧誘メール送信部1068は、他の携帯電話100宛てにP2P通信を勧誘するためのメールを送信するための動作をする。
P2P勧誘受付部1069は、他の携帯電話100からのP2P通信の勧誘を受付ける。P2P勧誘応答部1070は、受付けた勧誘に対して応答するための動作をする。
ルーム名生成部1071は、P2P通信に従うチャット通信を開始するために、マッチングサーバ400に開設されるべきルームの名称を生成する。このルーム名の生成手順については後述する。
ルームアクセス部1072は、P2P通信に従うチャット通信のためにマッチングサーバ400に格納されるルームのアクセスを制御する。具体的には、ルーム名生成部1071が生成したルーム名に基づきルームの検索をマッチングサーバ400に対して要求するためのルーム検索要求部1073、ルーム名生成部1071が生成したルーム名に基づきルームの開設をマッチングサーバ400に対して要求するためのルーム開設要求部1074、ルーム名生成部1071が生成したルーム名に基づきルームへの参加をマッチングサーバ400に対して要求するためのルーム参加要求部1075、およびルーム名生成部1071が生成したルーム名に基づきルームの削除をマッチングサーバ400に対して要求をするためのルーム削除要求部1076を含む。
<ルーム名生成処理>
ルーム名生成部1071は、所定のルール(関数)に、送信メールデータSENDMAILの送信元アドレスと宛先アドレスを指すデータFROMとTOとをパラメータとして適用して、当該ルール(関数)に従いルーム名のデータRMNMを生成する。ルールは、たとえばハッシュ(HASH)関数である。たとえば(RMNM=HASH(SENDMAIL.FROM,SENDMAIL.TO)に従いルーム名を生成することができる。生成されたルーム名のデータRMNMは記憶部103に格納される。
ルーム名生成部1071は、所定のルール(関数)に、送信メールデータSENDMAILの送信元アドレスと宛先アドレスを指すデータFROMとTOとをパラメータとして適用して、当該ルール(関数)に従いルーム名のデータRMNMを生成する。ルールは、たとえばハッシュ(HASH)関数である。たとえば(RMNM=HASH(SENDMAIL.FROM,SENDMAIL.TO)に従いルーム名を生成することができる。生成されたルーム名のデータRMNMは記憶部103に格納される。
ここではハッシュ関数を用いるとしているが、適用されるルールはこれに限定されない。
このように本実施の形態では、ルーム名は、P2P通信に従いチャット通信をする2人のユーザの携帯電話100において、自己のアドレス(SENDMAIL.FROM)と、相手のアドレス(SENDMAIL.TO)に基づき生成されるので、2人の携帯電話100では、同一のルールを適用して同一(共通)のルーム名を生成することができる。
<マッチングサーバ400およびメールサーバ600のハードウェア構成>
次に、本実施の形態に係るマッチングサーバ400およびメールサーバ600のハードウェア構成について説明する。なお、メールサーバ600のハードウェア構成は、マッチングサーバ400のそれと同様であるので説明を繰り返さない。
次に、本実施の形態に係るマッチングサーバ400およびメールサーバ600のハードウェア構成について説明する。なお、メールサーバ600のハードウェア構成は、マッチングサーバ400のそれと同様であるので説明を繰り返さない。
図8は、本実施の形態に係るマッチングサーバ400のハードウェア構成を示すブロック図である。図8に示すように、本実施の形態に係るマッチングサーバ400は、相互に内部バス408で接続されたCPU405と、メモリ406と、固定ディスク407と、サーバ通信部409とを含む。
メモリ406は、各種の情報を記憶するものであって、たとえば、CPU405でのプログラムの実行に必要なデータを一時的に記憶する。固定ディスク407は、CPU105が実行するプログラムやデータベースを記憶する。CPU405は、マッチングサーバ400およびメールサーバ600の各要素を制御するものであって、各種の演算を実施する装置である。
サーバ通信部409は、CPU405が出力したデータを電気信号へと変換して外部へ送信し、外部から受信した電気信号をデータに変換してCPU405に入力する。具体的には、サーバ通信部409は、CPU405からのデータを、インターネット500やキャリア網700などを介して携帯電話100やカーナビゲーション装置200やパーソナルコンピュータ300に送信する。そして、インターネット500やキャリア網700を介して携帯電話100やカーナビゲーション装置200やパーソナルコンピュータ300から受信したデータを、CPU405に入力する。
図9(A)〜(D)は、マッチングサーバ400のメモリ406あるいは固定ディスク407に記憶されるルーム管理テーブル406Aのデータ構造を例示する図である。ルーム管理テーブル406Aは、ルーム名を指すデータ4061とIPアドレスを指すデータ4062とメールアドレスのデータ4063とを対応付けて格納する。
たとえば、ある時点においては、図9(A)に示すように、マッチングサーバ400にルーム名‘R’、‘S’および‘T’それぞれを有するルームが開設されている。そして、ルーム名‘R’を有するルームには、IPアドレスとして‘C’およびメールアドレスとして‘CC’を有する携帯電話100が参加している。ルーム名‘S’を有するルームには、‘IPアドレスとして‘B’およびメールアドレスとして‘BB’を有する携帯電話100が参加している。ルーム名‘T’を有するルームには、IPアドレスとして‘D’およびメールアドレスとして‘DD’を有する携帯電話100が参加している。
その後、IPアドレスが‘C’の携帯電話100が、IPアドレスが‘A’の携帯電話100AにP2P通信の勧誘をし、この勧誘に応じてIPアドレスが‘A’の携帯電話100がルーム名‘S’のルームに参加した場合、ルーム管理テーブル406Aは、図9(B)のように更新される。図9(B)の状態では、ルーム名‘S’のルームによって‘A’の携帯電話100と‘C’の携帯電話100とは関連付けされた、すなわちマッチングに成功し、両方の携帯電話100はお互いのIPアドレスを当該ルームを介して取得する。したがって、マッチングが検出された以降は、ルーム名‘S’のルームはアクセスされることはないので、本実施の形態では、マッチングの検出後、当該ルームのデータは、図9(C)に示すように、ルーム管理テーブル406Aから削除される。
なお、ルームの削除は、ルーム管理テーブル406Aから、ルームのデータを削除するとしているが、利用(アクセス)されないルームのデータが残ったままの状態を回避できれば、この方法に限定されない。たとえば、当該ルームデータが格納されていた領域を、新たに開設するルームのデータを格納可能なように、NULLデータなどの空データに書換えてもよい。または、当該記憶領域に関連して上書き可能であることを指示するフラグを設定して、当該フラグが設定された領域には新たに開設されたルームのデータを格納(上書き)するとしてもよい。したがって、空データに書換えられた領域またはフラグが設定された領域は、いわゆる空領域となる。
マッチングサーバ400は、ルーム管理テーブル406Aの検索効率を上げるために、ルームデータが削除される毎に、または所定期間毎に図9(C)のデータ格納状態を、図9(D)に示すようように、利用(アクセス)され得るルームのデータは連続した領域に格納されるように、且つ空領域は連続して確保できるように、データの再配置の処理を行うようにしてもよい。
<マッチングサーバ400の機能>
図10を参照して、マッチングサーバ400は、ルーム開設部420、ルームへの参加およびルームの検索を受付ける参加受付部421Aおよび検索受付部421Bを有するルーム受付部421、ルーム削除部422、フレーム生成部423およびフレーム解析部424を含む。これらの各部は、固定ディスク407またはメモリ406の所定の記憶領域に予めプログラム・データとして格納されており、CPU405が所定記憶領域からプログラム・データを読出し、実行することにより、各部の機能が実現される。
図10を参照して、マッチングサーバ400は、ルーム開設部420、ルームへの参加およびルームの検索を受付ける参加受付部421Aおよび検索受付部421Bを有するルーム受付部421、ルーム削除部422、フレーム生成部423およびフレーム解析部424を含む。これらの各部は、固定ディスク407またはメモリ406の所定の記憶領域に予めプログラム・データとして格納されており、CPU405が所定記憶領域からプログラム・データを読出し、実行することにより、各部の機能が実現される。
メモリ406には、前述したルーム管理テーブル406Aおよびマッチングサーバアドレスのデータ406Bが格納される。
ルーム開設部420は、メモリ406のルーム管理テーブル406Aに、新たに開設するべきルームに対応するデータを格納することにより、ルームを開設する。ルーム受付部421は、携帯電話100から受信したルームへの参加および検索の要求の受付処理を行なう。ルーム削除部422は、携帯電話100からルームの削除要求を受付けたときに、要求されたルームをルーム管理テーブル406Aから削除する。フレーム生成部423は、サーバ通信部409を介してインターネット500に送信するべきデータのフレームを生成し、生成したフレームをサーバ通信部409に出力する。フレーム解析部424は、サーバ通信部409がインターネット500を介して受信したデータのフレームを解析し、解析結果を出力する。
<P2P通信の概要>
本実施の形態に係るネットワークシステム1の動作概要について説明する。
本実施の形態に係るネットワークシステム1の動作概要について説明する。
図11は、ネットワークシステム1における動作概要を示す通信手順を模式的に示す図である。本実施の形態に係る各通信端末は、P2P通信を行うために、はじめに互いのIPアドレスを交換(取得)する必要がある。そして、各通信端末は、IPアドレスを取得した後に、P2P通信によってメッセージや添付ファイルなどを他の通信端末に送信する。
ここでは、携帯電話100Aのユーザが携帯電話100Cのユーザに対して、P2P通信を勧誘すると想定する。なお、携帯電話100Aと100Cには、予めIPアドレスが割当てられていると想定する。
まず、携帯電話100A(図11において端末A)は、P2P通信を勧誘するための電子メール(以下、P2P勧誘メールという)を、キャリア網700、インターネット500上のサーバ600などを経由して、携帯電話100C(図11において端末C)宛てに送信する(ステップS002)。
携帯電話100Cは、P2P勧誘メールを受信すると、ルーム‘R’を開設するためのルーム開設要求フレームを生成し、マッチングサーバ400宛てに送信する(ステップS004)。
マッチングサーバ400は、ルーム開設要求フレームを受信すると、マッチング処理を開始する。
マッチング処理においては、携帯電話100Cからルーム開設要求フレームを受信すると、ルーム開設部420は受信したフレーム中からルーム名‘R’と、携帯電話100CのIPアドレス‘C’と、メールアドレス‘CC’とを検出し、検出したルーム名‘R’とIPアドレス‘C’とメールアドレス‘CC’とを対応付けてルーム管理テーブル406Aに格納する。これにより、ルーム名‘R’のルームが開設される。このとき、マッチングサーバ400は、ルーム開設が完了した旨を携帯電話100Cに通知してもよい。
その後、携帯電話100Aがマッチングサーバ400にルーム‘R’への参加を要求するフレームを送信する(ステップS006)。CPU405はツーム参加要求フレームを受信する。受付部421の参加受付部421Aは受信したフレーム中から、ルーム名‘R’と携帯電話100AのIPアドレス‘A’とメールアドレス‘AA’とを検出し、ルーム管理テーブル406Aに、これらを対応付けて格納する。これにより、携帯電話100Aのユーザはルーム名‘R’のルームに参加する。
携帯電話100Aのユーザが参加すると、参加受付部421Aは、ルーム管理テーブル406Aから、当該ルーム名‘R’に基づきルーム管理テーブル406Aを検索して、ルーム名‘R’に対応して2つのIPアドレスが格納されているか否かを検出する。
ルーム名‘R’に対応して2つのIPアドレスが格納されていることを検出すると(これを、マッチング検出という)、参加受付部421Aは、ルーム管理テーブル406Aから、ルーム名‘R’に対応のIPアドレス‘AA’と‘CC’を読出して、フレーム生成部423に与える。フレーム生成部423は、与えられたIPアドレス‘AA’を格納した参加受付のフレームを生成し携帯電話100C宛てに送信し、与えられたIPアドレス‘CC’を格納した参加受付のフレームを生成し携帯電話100A宛てに送信する(ステップS008)。これによりマッチング処理は終了する。
マッチング処理の終了後は、ルーム削除処理が行われる。つまり、携帯電話100Cは、P2P勧誘元の携帯電話100AのIPアドレスを受信(取得)すると、ルーム名‘R’のルームの削除要求のフレームを、マッチングサーバ400宛てに送信する(ステップS010)。マッチングサーバ400は、削除要求フレームを受信すると、ルーム削除部422によって受信フレームに基づきルーム名‘R’のルームを削除する。
マッチング処理によって、ルーム名‘R’のルームに参加した携帯電話100Aおよび100Cのユーザは、お互いのIPアドレスを交換することができる。以降、両者は、交換により取得したIPアドレスを用いてP2P通信を行うことができる。
まず、携帯電話100Aは、取得したIPアドレス‘C’に基づいて携帯電話100CにP2P接続要求メッセージ(開始メッセージ)を送信する(ステップS012)。携帯電話100Cは、接続要求メッセージを受信して、携帯電話100AのIPアドレ‘A’に基づいて携帯電話100Aに第1の接続承諾メッセージ(返答メッセージ)を送信する(ステップS014)。携帯電話100Aは、携帯電話100Cから第1の接続承諾メッセージを受信して、第2の携帯電話100Cに第2の接続承諾メッセージを送信する(ステップS016)。
このようにして、携帯電話100Aと携帯電話100Cとは、互いに相手を認証する。認証が完了すると、携帯電話100Aと携帯電話100Cとは、P2P通信を開始する(ステップS018)。そして携帯電話100Aと100Cの間では、P2P通信に従うメッセージなどのデータ通信が行なわれる。
その後、携帯電話100Aが、携帯電話100CにP2P通信を切断する旨のメッセージを送信すると(ステップS030)、携帯電話100Cは、携帯電話100Aに切断する要求を受付けた旨のメッセージを送信する(ステップS032)。
<P2P勧誘メールの構成>
図12を参照して、本実施の形態に係るP2P勧誘メールとして送信されるメールデータSENDMAILは、メール本文データMAINに、P2P勧誘を指すキーワード“P2P勧誘”と、ルーム名生成のために適用するルールを指示するRMCRULE値およびP2P勧誘メッセージ“チャットしませんか?”を含む。
図12を参照して、本実施の形態に係るP2P勧誘メールとして送信されるメールデータSENDMAILは、メール本文データMAINに、P2P勧誘を指すキーワード“P2P勧誘”と、ルーム名生成のために適用するルールを指示するRMCRULE値およびP2P勧誘メッセージ“チャットしませんか?”を含む。
また、送信元データFROMとして、勧誘元の携帯電話100のメールアドレスデータMyAdr.MailADRが設定され、宛先データTOとして、勧誘される相手の携帯電話100のメールアドレスデータAdrDB[SEL].MailADRが設定される。
<通信フレームの構成>
携帯電話100とマッチングサーバ400の間で送受信されるフレームの構成について説明する。
携帯電話100とマッチングサーバ400の間で送受信されるフレームの構成について説明する。
図13を参照してフレームの基本的な構成について説明する。フレームは、ヘッダ部610と、データ部620を含む。ヘッダ部610には、当該フレームの種別(タイプ)を指示するデータ611、当該フレームの宛先‘DD’を示すデータ612および当該フレームの送信元‘SD’を示すデータ613が格納される。データ部620は、送信すべきデータを格納する。
データ611が示すタイプは、本実施の形態では、要求フレームであることを示す“1”と、要求の受付を示す“0”のいずれかの値となる。また、本実施の形態ではフレームは、携帯電話100とマッチングサーバ400との間で送受信されるため、データ612および613としては、携帯電話100の記憶部103から読出されたメールアドレスのデータMailADR、およびマッチングサーバアドレスのデータ406Bまたは記憶領域103FのアドレスデータSEV_ADRが格納される。
携帯電話100のルーム検索要求部1073が、ルーム管理テーブル406Aのルームの検索を要求する場合には、フレーム生成部1063が図14のルーム検索要求のフレーム599を生成する。生成したフレームはサーバ通信部1081によってマッチングサーバ400に宛てて送信される。
フレーム599は、データ611が“1”を指示し、データ612および613として、記憶部103から読出されたマッチングサーバ400のアドレスデータSEV_ADRとメールアドレスのデータMailADRがそれぞれ格納される。また、データ部620には、検索の命令コード(‘RM_SEARCH’)621と、ルーム名のデータ622と、IPアドレスのデータ623とが格納される。データ622として、ルーム名生成部1071によって生成されたルーム名のデータRMNMが記憶部103から読出されて格納される。データ623として、送信元の携帯電話100に予め割当てられたIPアドレスのデータMY_IPADRが、記憶部103から読出されて格納される。
マッチングサーバ400は、ルーム検索要求のフレーム599を受信した場合に、フレーム生成部423は、図15のルーム検索受付のフレーム600を生成し、携帯電話100宛てに送信する。フレーム600は、ヘッダ部610においてデータ611は“0”を示し、データ612として受信したフレーム599のデータ613が格納される。また、データ613として、記憶部406から読出したマッチングサーバアドレスのデータ406Bが格納される。データ部620には、命令コード621として空データが格納される。また、受信したルーム検索要求のフレーム599のデータ622が格納される。また、ルーム検索要求に基づき検索受付部421Bがルーム管理テーブル406Aを検索した結果のデータ626が格納される。データ626は、データ622が指すルーム名がルーム管理テーブル406に格納されていた場合には‘0’を指示し、格納されていなかった場合には‘−1’を指示する。
携帯電話100が、ルーム開設を要求する場合には、フレーム生成部1063が図16のルーム開設要求のフレーム601を生成する。生成したフレーム601は、サーバ通信部1081によってマッチングサーバ400に宛てて送信される。
フレーム601は、データ611が“1”を指示し、データ612および613として、記憶部103から読出されたマッチングサーバ400のアドレスデータSEV_ADRとメールアドレスのデータMailADRがそれぞれ格納される。また、データ部620には、開設の命令コード(‘RM_CREATE’)621と、ルーム名のデータ622と、IPアドレスのデータ623とが格納される。データ622として、ルーム名生成部1071によって生成されたルーム名のデータRMNMが記憶部103から読出されて格納される。データ623として、送信元の携帯電話100に予め割当てられたIPアドレスのデータMY_IPADRが、記憶部103から読出されて格納される。
マッチングサーバ400は、ルーム開設要求のフレーム601を受信した場合に、フレーム生成部423は、図17のルーム開設受付のフレーム602を生成し、携帯電話100宛てに送信する。フレーム602は、ヘッダ部610においてデータ611は“0”を示し、データ612として受信したフレーム601のデータ613が格納される。また、データ613として、メモリ406から読出したマッチングサーバアドレスのデータ406Bが格納される。データ部620には、命令コード621として空データが格納される。また、受信したルーム開設要求フレーム601のデータ622が格納される。また、データ624として、ルーム開設要求に基づいたルーム開設部420によるルーム開設の受付結果のデータが格納される。データ624は、データ622が指すルーム名のルーム開設に成功した場合には‘0’を指示し、開設できなかった場合には‘−1’を指示する。開設できない場合とは、たとえば、既に、同一ルーム名のルームが開設されている場合である。
携帯電話100のルーム参加要求部1075が、ルームへの参加を要求する場合には、フレーム生成部1063が図18のルーム参加要求のフレーム603を生成する。生成したフレーム603はサーバ通信部1081によってマッチングサーバ400に宛てて送信される。
フレーム603は、データ611が“1”を指示し、データ612および613として、記憶部103から読出されたマッチングサーバ400のアドレスデータSEV_ADRとメールアドレスのデータMailADRがそれぞれ格納される。また、データ部620には、参加の命令コード(‘RM_ENTRY’)621と、ルーム名のデータ622と、IPアドレスのデータ623とが格納される。データ622として、ルーム名生成部1071によって生成されたルーム名のデータRMNMが記憶部103から読出されて格納される。データ623として、送信元の携帯電話100に予め割当てられたIPアドレスのデータMY_IPADRが、記憶部103から読出されて格納される。
携帯電話100が図18のルーム参加要求のフレーム603を送信した場合において、マッチングサーバ400の参加受付部421Aは当該フレーム603のデータ622が指示するルーム名に基づきルーム管理テーブル406Aを検索する。検索結果に基づき、図19に示すルーム参加受付のフレーム604を生成し、携帯電話100に送信される。
具体的には、検索結果、データ622が指示するルーム名を有するルームが既に開設されていると判定した場合には、すなわちマッチング検出をした場合には、参加要求元の携帯電話100と、指示されたルーム名のルームに既に参加していた携帯電話100のそれぞれに宛てて図19の参加受付フレーム604が生成されて送信される。
参加要求元の携帯電話100宛のフレーム604は、ヘッダ部610にフレーム602と同様のデータが格納される。データ部620には、ルーム参加要求のフレーム603のデータ622が格納される。また、当該ルーム参加要求が受付けられたことを示す“参加受付(値‘0’)”を示すデータ624と、当該ルームに既に参加している他のユーザの携帯電話100のIPアドレスのデータ4062が、ルーム管理テーブル406Aから読出されてデータ625として格納される。
既に参加していた携帯電話100宛てのフレーム604は、ヘッダ部610のデータ611は“0”を指し、データ612はこの携帯電話100のメールアドレスを指示し、データ613はマッチングサーバアドレスのデータ406Bを指す。データ612のメールアドレスは、ルーム管理テーブル406Aを検索して読出した当該ルーム名を指示するデータ4061に対応して格納されたメールアドレスのデータ4063を指す。データ部620には、ルーム参加要求のフレーム603のデータ622が格納される。また、当該ルーム参加要求が受付けられたことを示す“参加受付”(値‘0’)を示すデータ624と、当該ルームに参加要求をした他のユーザの携帯電話100のIPアドレスを指すデータ625が格納される。
なお、参加の受付けに成功しなかった場合には、すなわち検索結果に基づきルーム管理テーブル406Aにおいて要求したルームが未開設であると検出した場合には、データ624には値‘−1’が設定されたフレーム604が要求元の携帯電話100に送信される。
携帯電話100のルーム削除要求部1076が、ルームの削除をマッチングサーバ400に対して要求する場合には、フレーム生成部1063が図20に示すルーム削除要求のフレーム605をマッチングサーバ400に宛てて送信する。フレーム605は、ヘッダ部610においてデータ611が“1”を指示し、データ612および613として、記憶部103から読出されたマッチングサーバ400のアドレスデータSEV_ADRとメールアドレスのデータMailADRがそれぞれ格納される。また、データ部620には、削除の命令コード(‘RM_DELETE’)621と、削除するべきルーム名のデータ622と、IPアドレスのデータ623とが格納される。データ622として、ルーム名生成部1071によって生成されたルーム名のデータRMNMが記憶部103から読出されて格納される。データ623として、ルーム削除要求フレーム送信元の携帯電話100に予め割当てられたIPアドレスのデータMY_IPADRが、記憶部103から読出されて格納される。
マッチングサーバ400は、ルーム削除要求のフレーム605を受信した場合に、フレーム生成部423は、図21のルーム削除受付のフレーム606を生成し、要求元の携帯電話100宛てに送信する。フレーム606は、ヘッダ部610においてデータ611は“0”を示し、データ612として受信したフレーム605のデータ613が格納される。また、データ613として、記憶部406から読出したマッチングサーバアドレスのデータ406Bが格納される。データ部620には、命令コード621として空データが格納される。また、受信したルーム削除要求のフレーム605のデータ622が格納される。また、データ624として、ルーム削除要求に基づきルーム削除部422がルーム管理テーブル406Aからルームを削除した結果のデータ624が格納される。データ624は、データ622が指すルーム名のルームをルーム管理テーブル406から削除するのに成功した場合には‘0’を指示し、削除に成功しなかった場合には‘−1’を指示する。
<処理フローチャート>
P2P通信の勧誘を行って、P2P通信に従うデータ通信を開始する手順について図22〜図27のフローチャートを参照し説明する。
P2P通信の勧誘を行って、P2P通信に従うデータ通信を開始する手順について図22〜図27のフローチャートを参照し説明する。
図22〜図26のフローチャートはP2P通信を行うべき携帯電話100において実行されるプログラムに従う処理を示す。このプログラムは予め記憶部103に格納されており、CPU106Aがプログラムを記憶部103から読出し、実行する。また、図27のフローチャートはマッチングサーバ400において実行されるプログラムに従う処理を示す。このプログラムは予めメモリ406に格納されており、CPU405がプログラムをメモリ406から読出し、実行する。
なお、ここでは、携帯電話100Aのユーザが、携帯電話100Cのユーザに対してP2P通信の勧誘を行うと想定する。また、説明を簡単にするために携帯電話100の通話に係る処理については説明を略す。
動作において、携帯電話100(携帯電話100Aおよび携帯電話100Cのそれぞれ)は電源がONされると、図22のフローチャートに従う処理を開始する。
まず、CPU106Aは、ディスプレイ107にユーザの操作を待受るための待受画面を表示する(ステップS3)。
その後、入力受付部1064は、入力部110またはタブレット119からの入力信号に基づき、ユーザによって何らかの操作がされることによって外部から指示が入力されるか否かを判定する。
具体的には、アドレス帳ボタン110Dが操作されたか否かを判定する(ステップS5)。アドレス帳ボタン110Dが操作されたと判定すると(ステップS5でYES)、処理は、後述するP2P勧誘処理(ステップS7)に移行する。
アドレス帳ボタン110Dが操作されないと判定すると(ステップS5でNO)、CPU106Aは、端末通信部1061を介してメールを受信したか否かを判定する(ステップS9)。メールを受信したことを判定すると(ステップS9でYES)、処理は後述するP2P勧誘受信処理(ステップS11)に移行する。
一方、メールを受信したと判定されないと(ステップS9でNO)、処理は、ステップS5に戻り、入力部110またはタブレット119の操作による指示の入力を待機する。
図23を参照して、操作待受時(ステップS3)にアドレス帳ボタン110Dが操作された場合に開始されるP2P勧誘処理について説明する。
アドレス帳ボタン110Dが操作されると、P2P勧誘部1067は、記憶部103からアドレス帳データAdrDB[]を読出し、ディスプレイ107に表示する(ステップS19)。ディスプレイ107に表示された図4のアドレス帳データを確認したユーザは、所望のP2P通信相手を指す名前のデータNameをタブレット119を操作して選択する。ここでは、携帯電話100Aのユーザは、携帯電話100Cのユーザ名を選択したと想定する。これにより、P2P勧誘部1067は、選択された名前のデータNameに対応するデータMNoの値を、変数SELに代入する(ステップS21)。続いて、P2P勧誘部1067は、入力受付部1064を介して、ユーザがP2Pボタン110Cおよび終了ボタン110Eのいずれを操作するかを判定する(ステップS27、S31)。
具体的には、P2Pボタン110Cが操作されたか否かを判定し(ステップS27)、P2Pボタン110Cが操作されたと判定すると(ステップS27でYES)、処理は、後述する勧誘メール送信処理(ステップS29)に移行する。
一方、P2Pボタン110Cが操作されたと判定しなければ(ステップS27でNO)、終了ボタン110Eが操作されたか否かを判定する(ステップS31)。終了ボタン110Eが操作されたと判定しなければ(ステップS31でNO)、処理はステップS27に戻り、ステップS27以降の処理が同様に繰返される。
一方、終了ボタン110Eが操作されたと判定されると(ステップS31でYES)、処理は図22のステップS3に移行する。これにより、ディスプレイ107にはユーザ操作の待受画面が表示される。
図24を参照して、勧誘メール送信部1068の処理について説明する。
図22のステップS9においてメールを受信したことが検出された場合には(ステップS9でYES)、勧誘メール送信部1068が起動される。
図22のステップS9においてメールを受信したことが検出された場合には(ステップS9でYES)、勧誘メール送信部1068が起動される。
まず、勧誘メール送信部1068は、図12に示した送信メールデータSENDMAILの構成を有するP2P勧誘メールを生成し、送信する。
具体的には、勧誘メール送信部1068は、図12の送信メールデータSENDMAILメールヘッダである送信元データFROMおよび宛先データTOに、記憶部103から読出したアドレスデータMyAdr.MailADRおよび変数SELの値により指示されるメールアドレスAdrDB[SEL].MailADRを設定する。これにより、P2P勧誘メールの送信元は携帯電話100Aが指示されて、宛先は携帯電話100Cが指示される。
続いて、勧誘メール送信部1068は、アドレス帳データAdrDB[]を検索し、宛先アドレスAdrDB[SEL].MailADRに対応するルーム名データRNameを読出し、データRNameが“NULL”を指示するか否かを判定する(ステップS35)。
“NULL”を指示すると判定すると(ステップS35でYES)、P2P勧誘メールのメール本文データMAINにおいてルーム名の生成ルールを指示するルーム名生成ルールRMCRULEの値を“TYPE1”に設定する(ステップS37)。値“TYPE1”は、ルーム名を上述の生成手順に従いメールアドレスに基づき生成するというルールを指す。続いて、勧誘メール送信部1068は、ルーム名送信部1071に、記憶部103から読出したアドレスデータMyAdr.MailADRおよびAdrDB[SEL].MailADRを与えて、ルーム名を生成するように指示する。これによりルーム名生成部1071は前述した手順に従い与えられるアドレスデータに基づきルーム名のデータRMNMを算出し、記憶部103に格納する(ステップS39)。これにより、記憶部103のルーム名のデータRMNMは、携帯電話100Aと携帯電話100CのP2P通信のために新規に生成されたルーム名を指示する。その後、処理は、ステップS45の処理に移行する。
一方、データRNameの値が“NULL”を指示しないと判定されると(ステップS35でNO)、ルーム名生成ルールRMCRULEの値に“TYPE0”が設定される(ステップS41)。その後、アドレス帳データAdrDB[SEL].MailADRに対応して格納されたルーム名データRNameが読出されて、記憶部103にデータRMNMとして格納される。これにより、記憶部103のルーム名のデータRMNMは、携帯電話100Aと携帯電話100CのP2P通信のために既に生成されていたルーム名を指示する。その後、処理はステップS45に移行する。
ステップS45においては、勧誘メール送信部1068は、ステップS33で作成したメールヘッダのデータおよびステップS37またはS41で値が設定されたデータRMCRULEを用いて、図12に示されるようなメール本文データMAINを有する勧誘メールを生成する。その後、生成された勧誘メールは端末通信部1061に与えられる。端末通信部1061は与えられる勧誘メールを入力し、インターネット500およびキャリア網700を介して送信する(ステップS47)。これにより、勧誘メールが、携帯電話100C宛に送信される。
勧誘メールを送信後、勧誘メール送信部1068は、マッチングサーバ400と通信するために、サーバ通信部1081を、インターネット500に接続するよう制御する。勧誘メール送信部1068は、サーバ通信部1081を介してインターネット500への接続を設定(オンライン状態に設定)する(ステップS49)。その後、ルーム検索要求部1073を起動する。
ルーム検索要求部1073は、ルーム検索要求処理を行う(ステップS51)。つまり、フレーム生成部1063を制御して、記憶部103から読出したデータに基づき図14のルーム検索要求フレーム599を生成し、マッチングサーバ400に宛てて送信する。その後、マッチングサーバ400からルーム検索受付フレーム600を受信する。受信したルーム検索受付フレーム600はフレーム解析部1062によって解析される。
勧誘メール送信部1068は、フレーム解析部1062の解析結果を入力し、解析結果に基づき、検索要求したルームが既に開設されているか否かを判定する。すなわち、ルーム検索受付フレーム600のデータ626が指示する検索結果に基づき判定する(ステップS53)。検索結果のデータ626が“0”を指示すると判定すると、すなわちルームが開設されていると判定すると(ステップS53でYES)、処理は後述するステップS61に移行する。
一方、判定の結果、データ626は“−1”を指示する、すなわち、ルームがまだ開設されていないと判定すると(ステップS53でNO)、計時部105から入力する時間データに基づき、ステップS51およびS53の処理が一定時間繰返し行なわれたか否かが判定される(ステップS55)。一定時間経過していないと判定されると(ステップS55でNO)、処理はステップS51に戻るが、一定時間経過したと判定されると(ステップS55でYES)、勧誘メール送信部1068は、サーバ通信部1081を制御してインターネット接続を切断(オフライン状態に設定)し(ステップS57)、ディスプレイ107に、一定時間エラー表示を行なう(ステップS59)。エラー表示としては、たとえば、“返答がありません”のメッセージ表示である。その後、処理は図22のステップS3の処理に移行し、ディスプレイ107に待受画面が表示される。
なお、一定時間経過しても携帯電話100Cのユーザによるルーム開設が検出されない場合には(ステップS55でYES)、携帯電話100Aは携帯電話100C宛てに、P2P勧誘をキャンセルするメールを送信するようにしてもよい。このキャンセルのメールを受信した携帯電話100C側では、ルームを開設しないことが期待されるので、ルーム管理テーブル406Aにおいて利用されないルームが開設されたままの状態を回避することができる。
一方、受信したルーム検索受付フレーム600のデータ626の値が“0”を指す、すなわち、ルームが開設されていると判定すると(ステップS53でYES)、勧誘メール送信部1068は、ルーム参加要求部1075を起動する。
ルーム参加要求部1075は、ルーム参加要求処理を行う(ステップS61)。具体的には、フレーム生成部1063を制御して、記憶部103から読出したデータに基づき図18のルーム参加要求フレーム603を生成し、生成したフレーム603をサーバ通信部1081を介してマッチングサーバ400宛てに送信する。その後、マッチングサーバ400から図19のルーム参加受付フレーム604を受信する。受信したフレーム604はフレーム解析部1062により解析されて、結果が勧誘メール送信部1068に与えられる。ここでは、マッチングサーバ400により参加要求が受付けられると想定する。
勧誘メール送信部1068は、参加受付がされたことを指す解析結果(データ624の値が‘0’)が与えられると、アドレス帳データAdrDB[]のルーム名データAdrDB[SEL].RNameに、記憶部103から読出したルーム名のデータRMNMの値を格納する(ステップS63)。続いて、解析結果が示す開設したルームに参加している他の携帯電話100、すなわちルーム参加受付フレーム604のデータ625が指す携帯電話100CのIPアドレスを、データHIS_IPADRとして記憶部103に格納する(ステップS65)。
そして、勧誘メール送信部1068は、P2P通信部1082を起動する。これにより、記憶部103に格納された携帯電話100Aと100CのIPアドレスデータMY_IPADRおよびHIS_IPADRを用いてP2P通信が行なわれる(ステップS67)。このP2P通信は、携帯電話100AのユーザがP2Pボタン100Cを操作したことが入力受付部1064により検知されるまで、またはP2P通信部1082により、携帯電話100Cから送信されたP2P通信の終了操作信号を受信されるまで継続する(ステップS69)。ここで、P2P通信の終了操作信号は、P2P通信中においてP2Pボタン110Cが操作されたことに応じて、P2P通信部1082により相手の携帯電話100に送信される。
携帯電話100AのユーザがP2Pボタン110Cを操作したか、またはP2P通信部1082によって携帯電話100CからP2P通信の終了操作信号を受信したと判定された場合には(ステップS69でYES)、勧誘メール送信部1068は、P2P通信部1082を制御して、インターネット接続を切断(オフライン状態)に設定する。その後、処理は、図22のステップS3に戻り、ディスプレイ107に待受画面が表示される。
このように、P2P通信勧誘側の携帯電話100Aでは、勧誘メール送信後は相手の携帯電話100Cによってルームが開設される、ルームへ参加するために待機する。
図22のステップS9においてメール受信を検出した場合には、P2P勧誘受付部1069が起動して、図25のP2P勧誘受信処理が行われる。
図24で説明したように、P2P勧誘メールは携帯電話100Aによって生成されて、携帯電話100C宛てに送信される。
携帯電話100CにおいてP2P勧誘受付部1069は、受信メールを記憶部103に受信メールデータRCVMAILとして格納する(ステップS75)。
続いて、記憶部103の受信メールデータRCVMAILのメール本文データMAINを読出して解析し、解析結果に基づき“P2P勧誘”の文字列が含まれているか否かを判定する(ステップS77)。
“P2P勧誘”の文字列が含まれており受信メールはP2P勧誘メールであると判定すると(ステップS77でYES)、記憶部103の受信メールデータRCVMAILの送信元データFROMを読出して、読出した送信元データFROMが指示するアドレスに基づき、アドレス帳データAdrDB[]を検索する。そして検索結果に基づき、この送信元アドレスがアドレスデータAdrDB[].MailADRとして格納されているか否かを判定する(ステップS79)。格納されていなかった場合には(ステップS79でNO)、処理は、後述するステップS101の処理に移行し、通常のメール受信処理が行われる。
格納されていると判定した場合には(ステップS79でYES)、アドレス帳データAdrDB[]において検索したアドレスデータAdrDB[].MailADRに対応するデータMNOを読出し、その値を変数SELに格納する(ステップS81)。これにより、変数SELの値は、アドレス帳データAdrDB[]における、P2P勧誘メール送信元のユーザのデータが格納された位置を指す。
続いて、P2P勧誘受付部1069は、通知処理部1065を制御して、第1の通知部111によってベルを鳴動させ、または携帯電話100C自体を振動させる(ステップS83)。また、通知処理部1065を制御して、第2の通知部112によりLEDを点滅させる(ステップS85)。これにより、携帯電話100Cのユーザに対してP2P勧誘メールを受信したことを報知することができる。ユーザは、P2P勧誘メールに応答する場合には、P2Pボタン110Cを操作すればよい。
P2P勧誘受付部1069は、第1の通知部および第2の通知部による報知を開始してから、一定時間が経過したか否かを、計時部105から入力する時間データに基づき判定する(ステップS87)。一定時間経過していないと判定すると、ステップS89において、入力受付部1064からの信号に基づき、入力部110におけるP2Pボタン110Cがユーザによって操作されたか否かを、判定する(ステップS89)。ユーザがP2Pボタン110Cを操作していないと判定すると(ステップS89でNO)、処理はステップS87に戻る。したがって、P2P勧誘メールの受信が報知されてから、一定時間のうちにユーザが当該報知に応答してP2Pボタン110Cを操作するか否かが判定される。
一定時間のうちにP2Pボタン110Cが操作されたと判定されると(ステップS89でYES)、P2P勧誘受付部1069は、通知処理部1065を制御して、第1の通知部111および第2の通知部112によるベルの鳴動または携帯電話100Cの振動を停止させるとともにLEDを消灯させる(ステップS91、S93)、その後、処理は勧誘メール応答処理(ステップS94)に移行する。
ステップS87において、P2P勧誘メールの受信の報知を開始してから一定時間が経過してもP2Pボタン110Cが操作されなかった場合には(ステップS87でYES)、記憶部103の受信メールデータRCVMAILのメール本文データMAINの内容を、すなわちP2P勧誘メールの勧誘メッセージの内容を、“チャット勧誘がありました!”に書換える(ステップS95)。
その後、P2P勧誘受付部1069は、通知処理部1065を制御して、第1の通知部111によるベルの鳴動および携帯電話100Cの振動を停止させ、第2の通知部112によるLEDの点滅を点灯に切換える(ステップS99)。LEDの点灯により、ユーザに対して、メールの受信があったことが報知される。
その後、処理はステップS101に移り、通常メール処理部1066が起動されて、通常メール受信制御がなされる。この処理において、たとえば、LEDの点灯に気づいたユーザが、メールの受信を確認するために、記憶部103の受信メールデータRCVMAILの内容を呼出しディスプレイ107に表示した場合には、メールの本文として“チャット勧誘がありました”が表示されるので、携帯電話100AのユーザからP2P通信の勧誘があったことを知ることができる。その後、処理は図22のステップS3の処理に戻り、ディスプレイ107に待受画面が表示される。
ステップS77に戻り、受信したメールはP2P勧誘メールでないと判定すると(ステップS77でNO)、ステップS101において、通常メール処理部1066が起動されて、通常メールに従う処理が行なわれる。その後、処理は図22のステップS3の処理に戻り、ディスプレイ107に待受画面が表示される。
ステップS79で説明したように、アドレス帳データAdrDB[]に登録されている、すなわち携帯電話100Cのユーザの知人である場合に限って、ステップS81以降のP2P勧誘メール受信の処理が行なわれて、知人ではない者からのP2P勧誘メールであった場合には勧誘メールとしての受信は行われずに通常メールとして受信処理される。したがって、携帯電話100Cのユーザの知人からP2P勧誘メールを受信した場合にのみ、すなわち知人同士のP2P通信が勧誘されている状況に限って、勧誘に応答するためのP2Pボタン110Cの操作が待機される(ステップS87、S89)。これにより、知人同士のP2P通信のために開設されるであろうルームは、利用(参加)される確率が高くなり、利用されない無駄なルームが開設されるのを回避することができる。
図25のステップS94においては、P2P勧誘応答部1070が起動されて、図26に従う勧誘メール応答処理が開始する。
まず、P2P勧誘応答部1070は、記憶部103から、受信メールデータRCVMAIL(勧誘メールのデータ)のメール本文データMAIN中のデータRMCRULEの値を読出し、読出した値が“TYPE0”を指示するか否かを判定する(ステップS105)。“TYPE0”を指示しない、すなわち“TYPE1”を指示すると判定すると(ステップS105でNO)、ステップS107において、ルーム名生成部1071が起動されて、ルーム名生成部1071により、受信メールデータRCVMAIL(勧誘メールのデータ)のメールヘッダの送信元データFROMおよび宛先データTOに基づき所定ルール(HASH関数)に従いルーム名のデータRMNMが算出(生成)されて、記憶部103に格納される(ステップS107)。
その後、P2P勧誘応答部1070は、端末通信部1061を制御して、インターネット500への接続(オンライン状態に設定)する(ステップS109)。
続いて、P2P勧誘応答部1070はルーム開設要求処理を行う(ステップS111)。まず、ルーム開設要求部1074を起動する。ルーム開設要求部1074は、フレーム生成部1063を制御して、記憶部103から読出したデータに基づき図16に示すルーム開設要求フレーム601を生成する。ルーム開設要求フレーム601は、サーバ通信部1081により、インターネット500を経由しマッチングサーバ400宛てに送信される。マッチングサーバ400では、ルーム開設要求フレーム601を受信すると、ルーム開設処理を行ない、開設受付のデータ624を格納したルーム開設受付フレーム602を生成し、携帯電話100C宛てに送信する。
P2P勧誘応答部1070は、ルーム開設要求フレーム601を送信後、またはマッチングサーバ400から、当該ルーム開設要求フレーム601の応答であるルーム開設受付フレーム602を受信後、計時部105の出力する時間データに基づき計時する一定時間の間に、P2P通信勧誘メール送信元の携帯電話100Aのユーザが、携帯電話100Cが開設したルームに参加したか否かを検出する(ステップS113、S115、S117)。
具体的には、P2P勧誘応答部1070は、サーバ通信部1081を介して、マッチングサーバ400からフレームを受信するか否かを判定する(ステップS115)。フレームを受信しない間は(ステップS115でNO)、処理はステップS113の処理に戻り、フレームの受信を待機する。一方、フレームを受信したと判定すると(ステップS115でYES)、フレーム解析部1062によって受信フレームが解析される。解析結果に基づき、P2P勧誘応答部1070は携帯電話100Aのユーザがルームに参加したことを示すルーム参加受付フレーム604を受信したか否かを判定する(ステップS117)。
解析結果が、受信したルーム参加受付フレーム604のデータ622、624および625が、開設したルーム名(記憶部103のデータRMNMが指すルーム名)のルームに、他のIPアドレスを指示する端末が参加していることを指示すると、判定した場合には(ステップS117でYES)、P2P勧誘応答部1070は、アドレス帳データAdrDB[]にデータAdrDB[SEL].RNameとして、記憶部103から読出したルーム名のデータRMNMの値を格納する(ステップS119)。その後、P2P通信勧誘元の携帯電話100AのIPアドレスを指示するデータ625をルーム参加受付フレーム604から読出し、読出したIPアドレスを、記憶部103のIPアドレスデータHIS_IPADRとして格納する(ステップS121)。これにより、携帯電話100Cのユーザは、P2P通信の相手となるべき携帯電話100AのIPアドレスを取得する。
その後、P2P勧誘応答部1070は、携帯電話100AのIPアドレスを取得できた、すなわちマッチング検出がされたことに応じて、ルーム削除要求部1076を起動しルーム削除処理(ステップS123)に移行する。
ルーム削除要求処理について説明する。ルーム削除要求部1076は、フレーム生成部1063を制御して、記憶部103から読出したデータに基づき図20に示すルーム削除要求フレーム605を生成する。ルーム削除要求フレーム605は、サーバ通信部1081により、インターネット500を経由しマッチングサーバ400宛てに送信される。マッチングサーバ400では、ルーム削除要求フレーム605を受信すると、ルーム削除処理を行ない、削除結果を指す受付のデータ624を格納したルーム削除受付フレーム606を生成し、携帯電話100C宛てに送信する。
携帯電話100Cにおいては、サーバ通信部1081はルーム削除受付フレーム606を受信し、フレーム解析部1062に与える。フレーム解析部1062は、受信したフレームのデータ624に基づき削除要求が受付がされたことを検知し、その検知結果をP2P勧誘応答部1070に与える。これにより、P2P勧誘応答部1070は、マッチングサーバ400において、開設したルームの削除に成功したことを検知する。
その後、P2P勧誘応答部1070は、P2P通信部1082を制御し、P2P通信の開始を行なわせる。P2P通信部1082は、記憶部103に格納されたIPアドレスデータMY_IPADRおよびHIS_IPADRを用いて、携帯電話100Cと100Aとの間でP2P通信を行なう(ステップS125)。
P2P通信は、携帯電話100CのユーザがP2Pボタン110Cを操作し、P2P通信の終了を指示するまで、またはP2P通信部1082が携帯電話100Aから、終了操作信号を受信するまで繰返される(ステップS125、ステップS127でNO)。P2P通信中にP2Pボタン110Cが操作されたときは、相手の携帯電話100A(または100C)に対してP2P通信の終了操作信号が送信される。
P2P通信の終了が判定されると(ステップS127でYES)、端末通信部1061によってインターネット500の接続が切断(オフライン状態に設定)され(ステップS129)、処理は図22のステップS3の処理に戻る。これにより、携帯電話100Cのディスプレイ107には操作の待受画面が表示される。
ステップS113に戻り、ルーム開設要求フレーム601を送信後、またはルーム開設受付フレーム602を受信後一定時間を経過しても、相手端末、すなわち携帯電話100Aのユーザが、ルームに参加したことが検知されない場合には(ステップS113でNO)、P2P勧誘応答部1070は、端末通信部1061を制御してインターネット500の接続を切断(オフライン状態に設定)し(ステップS131)、ディスプレイ107において一定時間、エラー表示をする(ステップS133)。エラー表示としては、たとえば“勧誘者は、ルームへのアクセスしません”のメッセージ表示である。
携帯電話100Aのユーザのルーム参加が検出されない場合には、前述したステップS123と同様に、ルーム削除要求の処理を行い、開設したルームを削除してもよい。
その後、処理は図22のステップS3の処理に戻り、ディスプレイ107には待受画面が表示されて、携帯電話100Cのユーザの操作を待機する。
ステップS105に戻り、P2P勧誘応答部1070は、データRMCRULEの値は“TYPE0”を指示すると判定した場合には(ステップS105でYES)、記憶部103のデータRMNMとして、アドレス帳データAdrDB[]の、ルーム名データAdrDB[SEL].RNameを格納する(ステップS135)。その後、記憶部103のデータRMNMの値が“NULL”を指示するか否かを判定する(ステップS137)。“NULL”を指示しないと判定すると、すなわちアドレス帳データAdrDB[]には、勧誘メール送信元の携帯電話100Aとの間で以前に開設していたルーム名のデータが格納されていると判定した場合には(ステップS137でNO)、前述したステップS109の処理に移行する。その後、以前に開設していたルーム名のデータ、すなわちアドレス帳データAdrDB[]から読出したルーム名データAdrDB[SEL].RNameに基づきルームの開設要求がされる(ステップS111)。
一方、アドレス帳データAdrDB[]に、勧誘メール送信元の携帯電話100Aとの間で開設したルーム名のデータが格納されていないと判定すると(ステップS137でYES)、P2P勧誘応答部1070は、ディスプレイ107に一定時間エラー表示をする(ステップS139)。エラー表示は、たとえば“ルーム名情報が登録されていません”などである。
この一定時間のエラーメッセージ表示後、処理は図22のステップS3の処理に戻り、ディスプレイ107にはユーザの操作を待受けるための画面が表示される。
このように、P2P通信の勧誘を受けた携帯電話100Cでは、ルームを開設した(ステップS111)後は、勧誘元の携帯電話100Aがルームに参加するまで待機する。そして参加を検出すると、当該ルームの削除を要求する。したがって、開設したルームが利用されない(アクセスされない)期間は、携帯電話100Aがルームに参加するのを待機する期間(ステップS113の一定時間)に限られるから、ルーム管理テーブル406Aにおいて利用されないルームが長期間残る状況を回避することができる。
また、本実施の形態では、P2P通信の勧誘に応じたルームの開設は、アドレス帳データAdrDB[]に登録された知人からの勧誘である場合に限定しているので(ステップS79でYES)、上記の待機期間は比較的に短くしても実用上の支障はないであろう。
また、勧誘に応じて開設されるルームのルーム名RMNMは、知人同士の携帯電話100に割当てられたメールアドレスに基づき共通したルールに従い生成するようにしているので、上述の待機期間に、知人以外の第3者が当該ルーム名を指定して参加要求する可能性を低くすることができる。これにより、第3者がルームに参加したために、ルームが定員オーバーとなり勧誘元の携帯電話100Aの参加要求が拒絶されるという事態を回避することができる。
ここで、マッチングサーバ400の処理について図27を参照して説明する。
上述した携帯電話100Aと100Cの処理に並行して、マッチングサーバ400では図27に従う処理が実行される。マッチングサーバ400で並行して行なわれる処理は、携帯電話100側の処理で説明しているので、ここでは、簡単に行なう。
上述した携帯電話100Aと100Cの処理に並行して、マッチングサーバ400では図27に従う処理が実行される。マッチングサーバ400で並行して行なわれる処理は、携帯電話100側の処理で説明しているので、ここでは、簡単に行なう。
図27を参照して、マッチングサーバ400のCPU405は、サーバ通信部409を経由してデータを受信するか否かを判定する(ステップS141)。データを受信しない間は、ステップS141の処理が繰返される。
一方、データを受信したと判定すると(ステップS141でYES)、受信したデータ、すなわち受信したフレームの解析処理を、フレーム解析部424にて行なう(ステップS143)。
フレーム解析部424は、受信フレームのデータ621が指す命令コードを読出して解析する。解析結果に基づき、命令コードが、ルーム開設、ルームの検索、ルームの削除およびルームへの参加のいずれの命令を指すかを判定する(ステップS145、S147、S149、S151)。命令コードがいずれの命令も指示しないと判定すると(ステップS151でNO)、フレームに“ERROR”を指す値‘−1’を格納し、当該フレームを送信元の携帯電話100に送信する(ステップS153)。その後、処理はステップS141に戻る。
一方、受信フレームの命令コードはルームの開設を指示していると判定すると(ステップS145でYES)、ルーム開設部420は、受信フレームのルーム名RMNMに基づきルーム管理テーブル406Aを検索し、検索結果に基づき、ルーム名RMNMのルームが既に開設されているか否かを判定する(ステップS155)。
ルームが既に開設されていると判定すると(ステップS155でYES)、処理はステップS153の処理に移行する。一方、ルームは未開設であると判定すると(ステップS155でNO)、ルーム開設部420は、ルーム管理テーブル406Aに受信フレームから読出したデータ622、623および613を、データ4061、4062および4063として対応付けて格納することにより、ルームを開設する(ステップS163)。その後、処理はステップS165の処理に移行する。
ステップS165においては、要求を受付けたとを指す“OK”を示す値‘0’を格納した返信情報のフレームを、要求元の携帯電話100に送信する。その後、処理はステップS141の処理に戻る。
一方、フレームの解析結果、受信フレームの命令コードはルームの検索を指示していると判定すると(ステップS147でYES)、検索受付部421Bは、ルーム管理テーブル406Aを、受信したフレームのデータ622が指示するルーム名RMNMに基づき検索する。そして、検索結果に基づき、ルーム名RMNMが格納されているか(開設されているか)否かを判定する。格納されていると判定すると、処理は、前述したステップS165に移行するが、格納されていない(ルームは未開設)と判定すると(ステップS157でNO)、処理は前述したステップS153の処理に移行する。
受信フレームの解析結果、フレームに格納された命令コードが、ルームの削除要求を指示していると判定すると(ステップS159でYES)、ルーム削除部422は、受信フレームのデータ613が指すメールアドレスと、ルーム管理テーブル406Aの当該ルーム名RMNMに関連付けて格納されたデータ4063が指すメールアドレスとを比較照合し、一致するか否かを判定する(ステップS159)。一致する場合、すなわち削除要求をした携帯電話100は当該ルームに参加していた端末であると判定すると(ステップS159でYES)、ルーム管理テーブル406Aから当該ルーム名RMNMのデータを削除し(ステップS167)、処理は前述したステップS165の処理に移行する。
一方、不一致の場合、すなわち削除要求をした携帯電話100は当該ルームに参加していた端末ではないと判定すると(ステップS159でNO)、削除処理は行われずに、処理は前述したステップS153の処理に移行する。
受信フレームの解析結果、フレームに格納された命令コードは、ルームへの参加を要求していると判定すると(ステップS151でYES)、参加受付部421Aは、ルーム管理テーブル406Aを受信フレームから読出したルーム名RMNMに基づき検索する(ステップS161)。検索結果に基づき、ルーム名RMNMのルームが開設されていると判定すると(ステップS161でYES)、ルームへの参加処理を行ない(ステップS169)、参加している他の携帯電話100に対して今回新たに参加した携帯電話100のIPアドレスを送信するとともに、参加要求した携帯電話100に対しては既に参加していた他の携帯電話100のIPアドレスを送信する(ステップS171、S173)、その後、処理はステップS141の処理に戻る。
本実施の形態によれば、通話の最中にP2Pボタン110Cを操作すると、通話が中断される。そして、通話中の相手端末(携帯電話100)を特定する識別情報(電話番号)と自端末(携帯電話100)の識別情報(電話番号)とに基づきルーム名RMNMを生成する。そして、ルーム名RMNMによって指示されるルームが開設されて、開設したルームを利用して通話していた端末の間でP2P通信網が形成される。そして、中断した通話をP2P通信網を利用したデータ通信により再開することができる。このように、P2Pボタン110Cを操作するという簡単操作で、通信機能を、通話からデータ通信へ切換えて、端末間でコミュニケーションを継続することができる。
(他の実施の形態)
本実施の形態では、システムおよび各通信端末およびマッチングサーバ400の機能構成は上述の構成と同じとしながらも、IPアドレス交換に係る手順が相違する。
本実施の形態では、システムおよび各通信端末およびマッチングサーバ400の機能構成は上述の構成と同じとしながらも、IPアドレス交換に係る手順が相違する。
つまり、上述した実施の形態では、図11においてマッチングサーバ400がマッチング処理をし、その処理結果に従い、勧誘メール送信元の端末A(携帯電話100A)と勧誘メール受信の端末C(携帯電話100C)のIPアドレスを、それぞれの端末に配信することにより、両方の端末はお互いのIPアドレスを交換して取得するとした。しかし、両端末がIPアドレスを取得する方法は、マッチングサーバ400からの配信によるものに限定されず、本実施の形態の方法であってもよい。以下、詳述する。
本実施の形態に係る通信手順が図28に示される。図28の手順は前述した図11の手順を変更したものである。図11と図28の手順を比較し異なる点は、図11のステップS008とS010の処理が、図28に示すステップS009とS011に代替された点にある。図28における他の処理は、図11に説明したものと同様であるので、それらの処理については説明を略す。
図28を参照して、携帯電話100AがP2P勧誘メールを携帯電話100C宛てに送信し、携帯電話100CがP2P勧誘メールを受信したことに応じてルーム“R”の開設要求をマッチングサーバ400に送信し、マッチングサーバ400においてルーム“R”が開設され、開設されたルーム“R”には携帯電話100CのIPアドレス‘C’が格納される(ステップS002、S004)。続いて、携帯電話100Aがマッチングサーバ400に対しルーム“R”の参加要求を送信すると(ステップS006)、携帯電話100Aはマッチングサーバ400のルーム“R”に参加することができる。このとき、マッチングサーバ400は、携帯電話100Aの参加の検出に応答して、ルーム“R”に既に参加していた携帯電話100CのIPアドレ‘C’を、参加要求元の携帯電話100A宛てに送信する(ステップS009)。これにより、携帯電話100Aは、ルーム“R”に参加していた携帯電話100CのIPアドレスを取得することができる。
携帯電話100Aは、携帯電話100CのIPアドレスを取得するとルーム“R”の削除要求をマッチングサーバ400に対し送信する(ステップS011)。この要求に応じてマッチングサーバ400はルーム“R”を削除する。
その後、携帯電話100Aは、取得した携帯電話100CのIPアドレス‘C’に基づいて、P2P通信接続要求(開始メッセージ)を携帯電話100C宛てに送信する(ステップS012)。携帯電話100Cは、接続要求メッセージを受信することにより、当該要求に含まれる携帯電話100AのIPアドレス‘A’の通知を受ける。これにより、携帯電話100Aと100Cとの間で、IPアドレスが交換されたことになる。以降は、ステップS014〜S032のP2P通信が前述と同様に行なわれる。
図28の手順に従う携帯電話100Aにおける勧誘メール送信処理を図29のフローチャートを参照し説明する。図29のフローチャートは前述した図24のフローチャートを変更したものである。図24と図29のフローチャートを比較し異なる点は、ステップS65とS67の間に、ステップS66a(ルームの削除要求の送信処理)およびステップS66b(携帯電話100C宛てにP2P接続要求を送信する処理)が追加されている。図29の他の処理は、図24に示されたものと同様であり説明を略す。
図29においては、図28で説明したように、勧誘メール送信元の携帯電話100Aはルームへの参加要求のフレーム603を送信すると(ステップS61)、マッチングサーバ400からの参加要求の受付フレーム604を受信する。これにより、相手端末(携帯電話100C)のIPアドレスを受信し、受信したIPアドレスを、記憶領域103DのIPアドレスデータHIS_IPADRに設定する(ステップS65)。これにより、携帯電話100CのIPアドレスを取得する。
その後、ルームの削除要求のフレーム605を生成して送信する(ステップS66a)。そして、ステップS65で取得した携帯電話100CのIPアドレスを記憶領域103Dから読出し、読出したIPアドレスに基づいて、携帯電話100C宛てに、携帯電話100AのIPアドレスデータMY_IPADRを含むP2P接続要求を送信する(ステップS66b)。これにより、携帯電話100Cには、携帯電話100AのIPアドレスが通知される。その結果、お互いのIPアドレス交換が完了する。
その後は、携帯電話100Aと100Cとの間では、交換により取得したIPアドレスを用いて、P2P通信制御(ステップS67)が行なわれる。
図28の手順に従う携帯電話100Cにおける勧誘メール応答処理を図30のフローチャートを参照し説明する。図30のフローチャートは前述した図26のフローチャートを変更したものである。図26と図30のフローチャートを比較し異なる点は、図26のステップS117の処理が、図30のステップS118の処理に代替され、かつ図30では図26のステップS123の処理が削除されている点にある。図30の他の処理は、図26に示されたものと同様であり説明を略す。
図30においては、携帯電話100Cはルームを開設した後(ステップS111)、一定時間が経過する間に、勧誘メール送信元である携帯電話100AからP2P接続要求のフレームを受信するか否かを判定する(ステップS118)。
P2P接続要求を受信したと判定すると(ステップS118でYES)、ステップS119においてルーム名がアドレス帳データに登録され、ステップS121において相手端末、すなわち携帯電話100AのIPアドレス、すなわちステップS118で受信したP2P接続要求に含まれるIPアドレスを、記憶領域103DのデータHIS_IPADRに設定する(ステップS121)。このとき、マッチングサーバ400においては、携帯電話100Cが開設したルームは、携帯電話100Aの要求によって削除されている(図29のステップS66aを参照)ので、携帯電話100Cによるルームの削除要求は行なわれないものとしている。なお、このルーム削除要求は、バッテリ切れなどにより、携帯電話100Aがマッチングサーバ400にアクセスできない(図29のステップS66aが実行できない)などを考慮して、双方で(携帯電話100Cでも)、行うものとしても良い。
図28の手順に従うマッチングサーバ400における処理を図31のフローチャートを参照し説明する。図31のフローチャートは前述した図27のフローチャートを変更したものである。図27と図31のフローチャートを比較し異なる点は、図27のステップS171の処理が、図31においては削除された点にある。図31の他の処理は図27に説明したものと同様であり説明は略す。
図31においては、マッチングサーバ400は、携帯電話100Aによるルーム参加要求フレーム603を受信すると(ステップS151でYES、ステップS161でYES、およびステップS169)、マッチングサーバ400は、参加要求元の携帯電話100Aに、既にルームに参加していた携帯電話100CのIPアドレスデータをルーム管理テーブル406Aから読出し、これを格納したルーム参加受付フレーム604を生成して送信する(ステップS173)。このとき、携帯電話100C宛てに携帯電話100AのIPアドレスデータを送信する参加受付フレーム604の送信処理(図27のステップS171)は省略される。
このように、本実施の形態では、勧誘メール送信元の携帯電話100Aは、勧誘メールを受信した携帯電話100Cが開設したルームへの参加要求を送信することによって、マッチングサーバ400から携帯電話100CのIPアドレスを受信することができ、携帯電話100Cは、勧誘メール送信元の携帯電話100AからP2P通信要求を受信することによって、携帯電話100AのIPアドレスが通知されて、このIPアドレスを取得することができる。
(プログラムおよび記録媒体)
ここで、各実施の形態における携帯電話100を含む通信端末間の、上述したような図20〜図25のフローチャートに従う機能はプログラムとして提供することができる。このようなプログラムは、携帯電話100のCPU106Aのコンピュータに付属する記録媒体に予め記録させて、プログラム製品として提供することもできる。このような記録媒体としては、FD(Flexible Disc)、CD(Compact Disc)−ROMまたは記憶部103を構成するROM(Read Only Memory)およびRAM(Random Access Memory)、ならびにメモリカードなどのコンピュータ読取り可能な記録媒体がある。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、インターネット500を含む各種ネットワークを介したダウンロードによって、プログラムを提供することもできる。
ここで、各実施の形態における携帯電話100を含む通信端末間の、上述したような図20〜図25のフローチャートに従う機能はプログラムとして提供することができる。このようなプログラムは、携帯電話100のCPU106Aのコンピュータに付属する記録媒体に予め記録させて、プログラム製品として提供することもできる。このような記録媒体としては、FD(Flexible Disc)、CD(Compact Disc)−ROMまたは記憶部103を構成するROM(Read Only Memory)およびRAM(Random Access Memory)、ならびにメモリカードなどのコンピュータ読取り可能な記録媒体がある。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、インターネット500を含む各種ネットワークを介したダウンロードによって、プログラムを提供することもできる。
また、図26のフローチャートに従う機能もプログラムとして提供することができる。このようなプログラムは、マッチングサーバ400のCPU405のコンピュータに付属する記録媒体に予め記録させて、プログラム製品として提供することもできる。このような記録媒体としては、FD(Flexible Disc)412、CD(Compact Disc)−ROM414またはメモリ406を構成するROM(Read Only Memory)およびRAM(Random Access Memory)、ならびにメモリカードなどのコンピュータ読取り可能な記録媒体がある。あるいは、コンピュータに内蔵する固定ディスク407の記録媒体にて記録させて、プログラムを提供することもできる。また、インターネット500を含む各種ネットワークを介したダウンロードによって、プログラムを提供することもできる。
ここで、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
なお、一般的傾向として、コンピュータのオペレーティングシステムの一部として様々なプログラムモジュールを用意しておき、アプリケーションプログラムはこれらモジュールを所定の配列で必要なときに呼出して処理を進める方式が一般的である。そうした場合、本実施の形態に係るシステムを実現するためのソフトウェア自体にはそうしたモジュールは含まれず、当該コンピュータでオペレーティングシステムと協働してはじめてシステムが実現することになる。しかし、一般的なプラットホームを使用する限り、そうしたモジュールを含ませたソフトウェアを流通させる必要はなく、それらモジュールを含まないソフトウェア自体およびそれらソフトウェアを記録した記録媒体(およびそれらソフトウェアがネットワーク上を流通する場合のデータ信号)が実施の形態を構成すると考えることができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され
、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
100 携帯電話、110C P2Pボタン、400 マッチングサーバ、406A ルーム管理テーブル、420 ルーム開設部、421A 参加受付部、421B 検索受付部、422 ルーム削除部、1066 通常メール処理部、1067 P2P勧誘部、1068 勧誘メール送信部、1069 P2P勧誘受付部、1070 P2P勧誘応答部、1071 ルーム名生成部、1073 ルーム検索要求部、1074 ルーム開設要求部、1075 ルーム参加要求部、1076 ルーム削除要求部。
Claims (9)
- サーバ装置、および前記サーバ装置を経由しない所定データ通信を行う複数の通信端末が接続されるネットワークに適用される前記通信端末であって、
前記ネットワークを介して前記所定データ通信とは異なる情報通信をするために用いる自端末を識別する自端末識別情報と、他の前記通信端末を識別する他端末識別情報を格納する情報格納部と、
前記所定データ通信の要求を入力するために操作される通信要求部と、
前記他端末識別情報を送信元データに、前記自端末識別情報を宛先データに含む前記所定データ通信を勧誘するための勧誘メッセージを、前記情報通信によって他の前記通信端末から受信する勧誘受信部と、
前記勧誘受信部により前記勧誘メッセージが受信されたとき前記通信要求部によって前記要求が入力されたことに応じて、前記所定データ通信に用いられる情報であって且つ自己の前記通信端末を識別するための第1識別情報を格納するルームを、ルーム識別子と対応付けて前記サーバ装置に開設するルーム開設部と、
前記ルーム開設部による前記ルームの開設後から所定期間、前記所定データ通信に用いられる情報であって前記第1識別情報とは異なる第2識別情報の通知を待機する待機部と、を備え、
前記ルーム識別子は、前記所定データ通信を行う両方の前記通信端末が有する所定情報に基づき生成される、通信端末。 - 前記サーバ装置は、
開設したルームを記憶するルーム記憶部を含み、
前記ルームには、前記ルーム識別子と、前記第1識別情報を含む当該ルームに参加する前記通信端末それぞれの所定識別情報が格納され、
前記複数の通信端末のうちのいずれかの通信端末から、削除すべきルームのルーム識別子を指す削除識別子を含むルーム削除要求を受信すると、前記削除識別子に基づき前記ルーム記憶部を検索し、検索結果に基づき、前記削除識別子に一致する前記ルーム識別子に対応の前記ルームを、新たなルームを開設可能なように、前記ルーム記憶部から削除するルーム削除部を、さらに含み、
前記通信端末は、
前記所定期間の経過後、前記サーバ装置宛てに、前記ルーム開設部により開設した前記ルームのルーム識別子を前記削除識別子として含む前記ルーム削除要求を送信する、請求項1に記載の通信端末。 - サーバ装置、および前記サーバ装置を経由しない所定データ通信を行う複数の通信端末が接続されるネットワークに適用される前記通信端末であって、
前記ネットワークを介して前記所定データ通信とは異なる情報通信をするために用いる自端末を識別する自端末識別情報と、他の前記通信端末を識別する他端末識別情報を格納する情報格納部と、
前記所定データ通信に用いられる情報であって且つ他の前記通信端末を識別するための所定識別情報を格納するルームが、ルーム識別子と対応付けて前記サーバ装置に開設されたことを検出する開設検出部と、
前記所定データ通信の要求を入力するために操作される通信要求部と、
前記通信要求部によって前記要求が入力されたことに応じて、前記情報格納部から読出した前記自端末識別情報を送信元データに、前記他端末識別情報を宛先データに含む前記所定データ通信を勧誘するための勧誘メッセージを、前記情報通信によって他の前記通信端末宛てに送信する勧誘送信部と、
前記勧誘メッセージを送信後から所定期間、前記開設検出部が、他の前記通信端末により前記ルームが開設されたことを検出するまで待機する開設待機部と、
前記所定期間内に、前記開設検出部によって前記ルームの開設が検出されたことに応じて、前記ルーム識別子に基づきアクセスすることにより、当該ルームに格納された前記所定識別情報を、前記サーバ装置から受信する所定識別情報受信部とを、備え、
前記ルーム識別子は、前記所定データ通信を行う両方の前記通信端末が有する所定情報に基づき生成される、通信端末。 - 前記サーバ装置は、
開設したルームを記憶するルーム記憶部を含み、
前記ルームには、前記ルーム識別子と、当該ルームに参加する前記通信端末の所定識別情報が格納され、
前記複数の通信端末のうちのいずれかの通信端末から、削除すべきルームのルーム識別子を指す削除識別子を含むルーム削除要求を受信すると、前記削除識別子に基づき前記ルーム記憶部を検索し、検索結果に基づき、前記削除識別子に一致する前記ルーム識別子に対応の前記ルームを、新たなルームを開設可能なように、前記ルーム記憶部から削除するルーム削除部を、さらに含み、
前記通信端末は、
前記所定識別情報受信部が前記所定識別情報を受信した後に、前記サーバ装置宛てに、前記開設検出部が開設を検出した前記ルームのルーム識別子を前記削除識別子として含む前記ルーム削除要求を送信する、請求項3に記載の通信端末。 - 前記情報格納部から読出した前記自端末識別情報と前記他端末識別情報とに基づき、前記ルーム識別子を生成する識別子生成部を、さらに備える、請求項1から4のいずれか1項に記載の通信端末。
- サーバ装置、および前記サーバ装置を経由しない所定データ通信を行う複数の通信端末が接続されるネットワークに適用される前記通信端末における通信方法であって、
前記通信端末は、前記ネットワークを介して前記所定データ通信とは異なる情報通信をするために用いる自端末を識別する自端末識別情報と、他の前記通信端末を識別する他端末識別情報を格納する情報格納部と、操作部とを備え、
前記通信方法は、
前記操作部を介して前記所定データ通信の要求を入力する通信要求入力ステップと、
前記他端末識別情報を送信元データに、前記自端末識別情報を宛先データに含む前記所定データ通信を勧誘するための勧誘メッセージを、前記情報通信によって他の前記通信端末から受信する勧誘受信ステップと、
前記勧誘受信ステップにより前記勧誘メッセージが受信されたとき前記通信要求入力ステップによって前記要求が入力されたことに応じて、前記所定データ通信に用いられる情報であって且つ自己の前記通信端末を識別するための第1識別情報を格納するルームを、ルーム識別子と対応付けて前記サーバ装置に開設するルーム開設ステップと、
前記ルーム開設ステップによる前記ルームの開設後から所定期間、前記所定データ通信に用いられる情報であって前記第1識別情報とは異なる第2識別情報の通知を待機する待機ステップと、を備え、
前記ルーム識別子は、前記所定データ通信を行う両方の前記通信端末が有する所定情報に基づき生成される、通信方法。 - サーバ装置、および前記サーバ装置を経由しない所定データ通信を行う複数の通信端末が接続されるネットワークに適用される前記通信端末における通信方法であって、
前記通信端末は、前記ネットワークを介して前記所定データ通信とは異なる情報通信をするために用いる自端末を識別する自端末識別情報と、他の前記通信端末を識別する他端末識別情報を格納する情報格納部と、操作部とを備え、
前記通信方法は、
前記所定データ通信に用いられる情報であって且つ他の前記通信端末を識別するための所定識別情報を格納するルームが、ルーム識別子と対応付けて前記サーバ装置に開設されたことを検出する開設検出ステップと、
前記操作部を介して、前記所定データ通信の要求を入力する通信要求入力ステップと、
前記通信要求入力ステップによって前記要求が入力されたことに応じて、前記情報格納部から読出した前記自端末識別情報を送信元データに、前記他端末識別情報を宛先データに含む前記所定データ通信を勧誘するための勧誘メッセージを、前記情報通信によって他の前記通信端末宛てに送信する勧誘送信ステップと、
前記勧誘メッセージを送信後から所定期間、前記開設検出ステップによって、他の前記通信端末により前記ルームが開設されたことを検出するまで待機する開設待機ステップと、
前記所定期間内に、前記開設検出ステップによって前記ルームの開設が検出されたことに応じて、前記ルーム識別子に基づきアクセスすることにより、当該ルームに格納された前記所定識別情報を、前記サーバ装置から受信する所定識別情報受信ステップとを、備え、
前記ルーム識別子は、前記所定データ通信を行う両方の前記通信端末が有する所定情報に基づき生成される、通信方法。 - 請求項6に記載の前記通信方法を、コンピュータに実行させるためのプログラム。
- 請求項7に記載の前記通信方法を、コンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008313270A JP2010140083A (ja) | 2008-12-09 | 2008-12-09 | 通信端末 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008313270A JP2010140083A (ja) | 2008-12-09 | 2008-12-09 | 通信端末 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010140083A true JP2010140083A (ja) | 2010-06-24 |
Family
ID=42350203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008313270A Pending JP2010140083A (ja) | 2008-12-09 | 2008-12-09 | 通信端末 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010140083A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101106873B1 (ko) | 2010-09-02 | 2012-01-25 | 주식회사 엔씨소프트 | 온라인 게임 클라이언트간 피어 투 피어 통신방법 |
WO2014133191A1 (ja) | 2013-02-28 | 2014-09-04 | グリー株式会社 | サーバ、サーバの制御方法、およびプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004532559A (ja) * | 2001-03-28 | 2004-10-21 | ネットレイク コーポレーション | ポリシーゲートウェイ |
JP2005182331A (ja) * | 2003-12-18 | 2005-07-07 | Sony Corp | 情報処理システム、サービス提供装置および方法、情報処理装置および方法、並びに、プログラムおよび記録媒体 |
JP2005346705A (ja) * | 2004-05-11 | 2005-12-15 | Microsoft Corp | 通信システムにおける多感覚エモティコン |
JP2006043091A (ja) * | 2004-08-04 | 2006-02-16 | Konami Co Ltd | ゲーム装置およびゲームシステム |
-
2008
- 2008-12-09 JP JP2008313270A patent/JP2010140083A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004532559A (ja) * | 2001-03-28 | 2004-10-21 | ネットレイク コーポレーション | ポリシーゲートウェイ |
JP2005182331A (ja) * | 2003-12-18 | 2005-07-07 | Sony Corp | 情報処理システム、サービス提供装置および方法、情報処理装置および方法、並びに、プログラムおよび記録媒体 |
JP2005346705A (ja) * | 2004-05-11 | 2005-12-15 | Microsoft Corp | 通信システムにおける多感覚エモティコン |
JP2006043091A (ja) * | 2004-08-04 | 2006-02-16 | Konami Co Ltd | ゲーム装置およびゲームシステム |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101106873B1 (ko) | 2010-09-02 | 2012-01-25 | 주식회사 엔씨소프트 | 온라인 게임 클라이언트간 피어 투 피어 통신방법 |
WO2014133191A1 (ja) | 2013-02-28 | 2014-09-04 | グリー株式会社 | サーバ、サーバの制御方法、およびプログラム |
JP5847984B2 (ja) * | 2013-02-28 | 2016-01-27 | グリー株式会社 | サーバ、サーバの制御方法、およびプログラム |
JP2016076239A (ja) * | 2013-02-28 | 2016-05-12 | グリー株式会社 | 通信端末、サーバ、プログラム、通信システム、および通信方法 |
JP2016189204A (ja) * | 2013-02-28 | 2016-11-04 | グリー株式会社 | 通信端末、サーバ、プログラム、通信システム、および通信方法 |
US10122821B2 (en) | 2013-02-28 | 2018-11-06 | Gree, Inc. | Server, method of controlling server, and program |
EP3422729A1 (en) | 2013-02-28 | 2019-01-02 | Gree, Inc. | Server, method of controlling server, and program for the transmission of image data in a messaging application |
US11115495B2 (en) | 2013-02-28 | 2021-09-07 | Gree, Inc. | Server, method of controlling server, and program |
US11743361B2 (en) | 2013-02-28 | 2023-08-29 | Gree, Inc. | Server, method of controlling server, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101203248B1 (ko) | 네트워크 시스템, 통신 단말기, 통신 방법 및 통신 프로그램을 기록한 컴퓨터 판독가능 기록매체 | |
JP4707714B2 (ja) | 通信制御方法、コンピュータ・システム、会議管理サーバ、通信方法及び携帯端末 | |
US7774505B2 (en) | Method for transmitting image data in real-time | |
JP4514755B2 (ja) | 通信制御方法及びコンピュータ・システム | |
US20170279759A1 (en) | Cross-Mode Communication | |
JP2009500708A (ja) | ピアツーピアグループ管理のフレームワークおよび方法 | |
CN102859962A (zh) | 在客户计算设备之间建立在线通信会话 | |
JP2006191608A (ja) | 移動通信端末機を用いたモバイルインスタントメッセンジャーサービスシステム及びモバイルインスタントメッセンジャーサービスの提供方法 | |
KR20110126421A (ko) | 메시징 서비스에서 그룹별 메시지 대화 제공 방법 및 장치 | |
US10541951B2 (en) | Enhancing network messaging with a real-time, interactive representation of current messaging activity of a user's contacts and associated contacts | |
WO2010041587A1 (ja) | 通信ネットワークを介して通信をする通信端末 | |
CN102215216A (zh) | 在电路交换呼叫和视频呼叫之间转换 | |
JP5250904B2 (ja) | 情報処理装置 | |
JP5240055B2 (ja) | 通信サーバ装置、通信端末装置及び通信方法 | |
KR101035806B1 (ko) | 통신 시스템, 무선 통신 단말 및 디스플레이 제어 방법 | |
JP5354571B2 (ja) | ネットワークシステム、通信装置、通信方法、および通信プログラム | |
JP2010140083A (ja) | 通信端末 | |
JP2011139194A (ja) | 通信システム、通信方法、通信端末、及び通信プログラム | |
KR101357255B1 (ko) | 친구의 친구 찾기 sms 서비스 제공 방법 및 sms 서비스 요청에 따른 응답 처리 방법 | |
JP5170558B2 (ja) | 通信装置および通信方法 | |
JP3910580B2 (ja) | 通信制御装置、端末装置、通信システム及び通信方法 | |
JP4725247B2 (ja) | ワークプレース提供システムおよび方法 | |
JP2007048011A (ja) | 電子会議プログラム、電子会議端末装置、電子会議システム | |
KR20240001803A (ko) | 그룹 채팅방의 메신저 서비스를 이용하기 위한 장치 및 방법 | |
CN117768583A (zh) | 一种语音通话方法、系统、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121225 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130423 |