Nothing Special   »   [go: up one dir, main page]

JP5250904B2 - Information processing device - Google Patents

Information processing device Download PDF

Info

Publication number
JP5250904B2
JP5250904B2 JP2008315667A JP2008315667A JP5250904B2 JP 5250904 B2 JP5250904 B2 JP 5250904B2 JP 2008315667 A JP2008315667 A JP 2008315667A JP 2008315667 A JP2008315667 A JP 2008315667A JP 5250904 B2 JP5250904 B2 JP 5250904B2
Authority
JP
Japan
Prior art keywords
room
data
request
unit
participation
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.)
Expired - Fee Related
Application number
JP2008315667A
Other languages
Japanese (ja)
Other versions
JP2010140245A (en
Inventor
純二 末次
達也 酒井
正之 熊谷
俊夫 赤羽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2008315667A priority Critical patent/JP5250904B2/en
Publication of JP2010140245A publication Critical patent/JP2010140245A/en
Application granted granted Critical
Publication of JP5250904B2 publication Critical patent/JP5250904B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

この発明は情報処理装置に関し、特に、サーバ装置などの情報処理装置を介して得た情報に基づき通信端末同士が通信するネットワークに適用される情報処理装置に関する。   The present invention relates to an information processing apparatus, and more particularly to an information processing apparatus applied to a network in which communication terminals communicate with each other based on information obtained via an information processing apparatus such as a server apparatus.

従来、インターネットに接続可能な端末同士間のインターネットを利用したダイレクトのデータ/メッセージ交換の1種であるP2P(peer to peer)通信では、通信に参加するメンバ同士が予め電話や電子メールを用いて、または対面して、P2P通信を開始する時刻を決める。そして、予定時刻前に、ネットワークに、各メンバが通信端末をネットワークに接続しメンバのいずれかが、P2P通信開始を他のメンバに呼び掛ける。   Conventionally, in P2P (peer to peer) communication, which is one type of direct data / message exchange using the Internet between terminals that can be connected to the Internet, members participating in the communication use telephones and e-mails in advance. Or face to face and determine the time to start P2P communication. Then, before the scheduled time, each member connects the communication terminal to the network, and one of the members calls another member to start P2P communication.

P2P通信に従うメンバ同士のデータ通信の1例としてチャットがある。チャットでは、サーバに開設されたチャットルームにより関係付けされたメンバ同士が、サーバを介さずに直接にメッセージ交換などのデータ通信を行なう。   Chat is an example of data communication between members following P2P communication. In chat, members associated with each other in a chat room established on the server directly perform data communication such as message exchange without going through the server.

チャットのための構成は、たとえば、特許文献1−3に開示される。特許文献1−3では、チャットの勧誘や、チャットに必要なIP(Internet Protocol)アドレスなどの予め取得すべき情報を、サーバを経由したメールシステムを利用して交換する構成が示される。   A configuration for chatting is disclosed in, for example, Patent Literatures 1-3. Patent Documents 1-3 show a configuration in which information that should be acquired in advance, such as an invitation for chat and an IP (Internet Protocol) address necessary for chat, is exchanged using a mail system via a server.

特許文献1では、新規にチャットルームを開設すると、予め登録されているユーザ情報から、チャットルームへの入室を促すユーザを選択し、選択されたユーザに対して、開設したチャットルームへの入室を促す。   In Patent Literature 1, when a chat room is newly opened, a user who prompts entry to the chat room is selected from user information registered in advance, and the selected user is allowed to enter the established chat room. Prompt.

特許文献2では、各ユーザは自己のパーソナルコンピュータのIPアドレスを添付した電子メールを、希望する通信先である他のユーザのパーソナルコンピュータ宛てに送信することで、P2P通信に必要な情報を交換する。   In Patent Literature 2, each user exchanges information necessary for P2P communication by sending an e-mail attached with the IP address of his / her personal computer to the personal computer of another user who is a desired communication destination. .

特許文献3では、チャットサーバに接続した携帯電話機は、チャットサーバを介して、チャットに接続していない他の携帯電話機に対して、チャットサーバへの接続を促すチャット勧誘メールを送信すると、チャット勧誘メールを受信した携帯電話機のユーザがチャットサーバへの接続を承諾したとき、当該携帯電話機はチャットサーバに接続される。   In Patent Document 3, when a mobile phone connected to a chat server transmits a chat invitation email that prompts connection to the chat server to another mobile phone that is not connected to chat via the chat server, When the user of the mobile phone that has received the mail accepts the connection to the chat server, the mobile phone is connected to the chat server.

特許文献4では、携帯電話はサーバに対して、チャットしたい相手方の携帯電話番号を付与してチャット要求すると、サーバは、相手方の携帯電話にチャット依頼し、相手方は都合に応じて依頼に応答する。   In Patent Document 4, when a mobile phone gives a chat request to the server by giving the mobile phone number of the other party to chat with, the server requests the other party's mobile phone to chat, and the other party responds to the request according to circumstances. .

特許文献5では、サーバで自動生成したチャットルームが必要でなくなった時(依頼者と落札者との間の契約完了をもって)、そのチャットルームを削除する構成が記載される。   Patent Document 5 describes a configuration in which when a chat room automatically generated by a server is no longer necessary (when a contract between a client and a successful bidder is completed), the chat room is deleted.

特許文献6では、同じウェブページを見ているユーザ間の通信を促進するため、チャットルームを自動作成、削除する構成が記載される。
特開2004−199134号公報 特開2002−278903号公報 特開2003−91494号公報 特開2002−132694号公報 特開2003−122959号公報 特表2005−530233号公報
Patent Document 6 describes a configuration in which a chat room is automatically created and deleted in order to promote communication between users who are viewing the same web page.
JP 2004-199134 A JP 2002-278903 A JP 2003-91494 A JP 2002-132694 A JP 2003-122959 A JP 2005-530233 A

P2P通信に従うチャットにおいて、サーバはチャットするメンバ同士を関連付けるために利用されるものであり、P2P通信開始後は、関連付けされたメンバ同士が当該サーバを介さずにIPアドレス等を用いて直接にメッセージ交換をする。したがって、サーバにおいてメンバ同士を関連付けするために開設されるルームは、全てのメンバがチャットルームをアクセスすることによってP2P通信に必要な情報(IPアドレス等)を交換して、P2P通信が開始された後は不要となる。それゆえに、サーバの記憶領域を有効利用するという観点から、不要となったチャットルームは削除することが要求される。   In chat according to P2P communication, the server is used for associating chatting members, and after P2P communication starts, the associated members directly send messages using IP addresses or the like without going through the server. Exchange. Therefore, in the room opened for associating members with each other in the server, P2P communication is started by exchanging information (IP address, etc.) necessary for P2P communication when all members access the chat room. It becomes unnecessary afterward. Therefore, from the viewpoint of effectively using the storage area of the server, it is required to delete chat rooms that are no longer needed.

特許文献1と3では、一方のメンバが開設されたチャットルームへの入室を勧誘するメールを他方のメンバに送信して、他方のメンバがメールを受信して勧誘にOKすれば(ルームに入室したら)、両者はP2P通信に必要な情報(IPアドレス等)を交換することができる。ここで、情報交換後において一方のメンバは開設したチャットルームを削除するとした場合、少なくとも開設してから他方のメンバが勧誘にOKするまでの期間は、アクセスされない状態でチャットルームがサーバに残存し続ける。この期間は、他方のメンバが勧誘メールを受信できない状態にあれば長期化し、勧誘した一方のメンバも、例えば、端末のバッテリ切れなど長時間サーバにアクセスできない状況に陥ればさらに長期化する。   In Patent Documents 1 and 3, if one member sends an email soliciting entry into a chat room opened by one member to the other member and the other member receives the email and accepts the invitation (OK to enter the room). Then, both can exchange information (IP address, etc.) necessary for P2P communication. Here, if one member deletes an established chat room after exchanging information, at least the chat room remains on the server in an inaccessible period after the other member opens for solicitation. to continue. This period is prolonged if the other member is in a state where the solicitation mail cannot be received, and the solicited one member is further prolonged if the terminal cannot access the server for a long time, for example, the terminal is out of battery.

このチャットルームの削除処理に関し、特許文献5や特許文献6のように、サーバ側で不要と判断した時に、チャットルームを削除する構成とすることもできる。しかしながら、複数(3以上)端末のチャット通信を想定すると、ルームを開設してから、全ての端末が当該ルームに入室完了するまでに要する期間において、チャットルームはサーバに存在し続ける。ここで、全ての者が入室完了するのに要する期間は、入室すべき端末台数が多いほど長期化し、端末のバッテリ切れなどサーバにアクセス不可能な状態に陥った端末があればさらに長期化する。したがって、サーバ側の判断により削除するとしても、依然として、利用の可能性がないチャットルームが長期間、サーバに残ることになる。   With regard to the chat room deletion process, as in Patent Document 5 and Patent Document 6, when it is determined that the server side does not need the chat room, the chat room may be deleted. However, assuming chat communication of a plurality of (three or more) terminals, the chat room continues to exist in the server in a period required after all the terminals enter the room after the room is opened. Here, the period required for all people to enter the room becomes longer as the number of terminals to enter the room becomes longer, and if there is a terminal that is inaccessible to the server, such as the terminal running out of battery, it will be longer. . Therefore, even if it is deleted based on the determination on the server side, a chat room that has no possibility of use still remains on the server for a long time.

このように、サーバにおいて長期間、使われることのない無駄なチャットルームが数多く残存すると、ルームを新たに開設するための記憶領域が小さくなり、チャットシステムの運用効率は低下する。   As described above, if a lot of useless chat rooms that are not used for a long time remain in the server, a storage area for newly opening a room is reduced, and the operation efficiency of the chat system is lowered.

それゆえに、この発明の目的は、アクセスなど利用されないチャットルームが開設されたままの状態を防止する情報処理装置を提供することである。   Therefore, an object of the present invention is to provide an information processing apparatus that prevents a chat room that is not used for access or the like from being opened.

この発明のある局面に従うと、複数の端末とネットワークを介して通信し、複数の端末同士のデータ通信に必要な情報を交換するためのチャットルームを開設する情報処理装置は、記憶部と、複数の端末のうちのいずれかから送信された、チャットルームの名称と当該チャットルームを開設するための開設パラメータとを含むルーム開設要求を受信する開設要求受信部と、開設要求受信部が受信した開設要求に従うデータを、記憶部に格納することにより、チャットルームを開設するルーム開設部と、複数の端末のうちのいずれかから送信された、当該端末の識別情報を有する前記データ通信するために必要な所定情報を含むチャットルームへの当該端末の参加要求を受信する参加要求受信部と、参加要求受信部が受信した参加要求に従い、記憶部の前記チャットルームに関連付けて当該参加要求の所定情報を格納することにより、端末のルームへの参加を受付けるルーム参加部と、複数の通信端末のいずれかから送信された、当該端末の識別情報を含む前記チャットルームからの脱退要求を受信する脱退要求受信部と、脱退要求受信部が受信した脱退要求に従い、記憶部のチャットルームに関連付けられた所定情報のうちから、当該脱退要求が示す端末の識別情報を有する所定情報を削除することにより、端末のルームからの脱退を受付けるルーム脱退部と、開設要求、参加要求および脱退要求のうちのいずれかを受信する毎に、当該要求受信時からチャットルームを記憶部から削除すべき時までの期間を指す削除期間を、開設パラメータに従い算出する期間算出部と、チャットルームに参加している端末の数が維持された期間が、削除期間を超過していることを検出したことに応じて、当該チャットルームを記憶部から削除するルーム削除部とを、備える。   According to one aspect of the present invention, an information processing apparatus that establishes a chat room for communicating with a plurality of terminals via a network and exchanging information necessary for data communication between the plurality of terminals includes a storage unit, An opening request receiving unit that receives a room opening request including the name of the chat room and an opening parameter for opening the chat room, and the opening received by the opening request receiving unit. Necessary in order to communicate the data according to the request, which is transmitted from any one of a plurality of terminals and the data having the identification information of the terminal, by storing the data according to the request in the storage unit In accordance with the participation request received by the participation request receiving unit that receives the participation request of the terminal to the chat room including the predetermined information and the participation request receiving unit, Identification of the terminal transmitted from one of a plurality of communication terminals and a room participation unit that accepts participation in the room of the terminal by storing predetermined information of the participation request in association with the chat room of the storage unit According to the withdrawal request receiving unit that receives the withdrawal request from the chat room including the information and the withdrawal request received by the withdrawal request receiving unit, the withdrawal request indicates from the predetermined information associated with the chat room in the storage unit Each time a request is received from the room withdrawal unit that accepts withdrawal from the room of the terminal by deleting the predetermined information having the terminal identification information, and when receiving any of the opening request, participation request, and withdrawal request, A period calculation unit that calculates a deletion period according to the opening parameter, which indicates a period from when the chat room is to be deleted from the storage unit, to the chat unit Period the number is maintained in the terminals participating in over arm, in response to detecting that exceeds the deletion period, and a room deletion unit for deleting the chat room from the storage unit, comprising.

好ましくは、開設パラメータは、チャットルームを開設する目的を含む。
好ましくは、開設パラメータは、チャットルームに参加が許容される端末の最大台数を指す定員数を含む。
Preferably, the opening parameter includes a purpose of opening a chat room.
Preferably, the opening parameter includes a capacity that indicates a maximum number of terminals allowed to participate in the chat room.

好ましくは、期間算出部は、参加要求を受信する毎に、削除期間を、チャットルームに参加している端末の台数と、定員数との差分に従い算出する。   Preferably, every time the participation request is received, the period calculation unit calculates the deletion period according to the difference between the number of terminals participating in the chat room and the number of members.

好ましくは、期間算出部は、脱退要求を受信する毎に、削除期間を、チャットルームに参加している端末の台数に従い算出する。   Preferably, the period calculation unit calculates the deletion period according to the number of terminals participating in the chat room each time a withdrawal request is received.

この発明の他の局面に従うと、複数の端末とネットワークを介して通信し、複数の端末同士のデータ通信に必要な情報を交換するためのチャットルームを開設する情報処理装置による情報処理方法は、複数の端末のうちのいずれかから送信された、チャットルームの名称と当該チャットルームを開設するための開設パラメータとを含むルーム開設要求を、情報処理装置の通信部により受信するステップと、受信した開設要求に従うデータを、情報処理装置の記憶部に格納することにより、チャットルームを開設するステップと、複数の端末のうちのいずれかから送信された、当該端末の識別情報を有するデータ通信するために必要な所定情報を含むチャットルームへの当該端末の参加要求を通信部により受信するステップと、受信した参加要求に従い、記憶部のチャットルームに関連付けて当該参加要求の所定情報を格納することにより、端末のルームへの参加を受付けるステップと、複数の通信端末のいずれかから送信された、当該端末の識別情報を含むチャットルームからの脱退要求を通信部により受信するステップと、受信した脱退要求に従い、記憶部のチャットルームに関連付けられた所定情報のうちから、当該脱退要求が示す端末の識別情報を有する所定情報を削除することにより、端末のルームからの脱退を受付けるステップと、開設要求、参加要求および脱退要求のうちのいずれかを受信する毎に、当該要求受信時からチャットルームを記憶部から削除すべき時までの期間を指す削除期間を、開設パラメータに従い算出するステップと、チャットルームに参加している端末の数が維持された期間が、削除期間を超過していることを検出したことに応じて、当該チャットルームを記憶部から削除するステップとを、備える。   According to another aspect of the present invention, an information processing method by an information processing apparatus that communicates with a plurality of terminals via a network and opens a chat room for exchanging information necessary for data communication between the plurality of terminals, Receiving a room opening request transmitted from one of a plurality of terminals, including a chat room name and an opening parameter for opening the chat room, by the communication unit of the information processing apparatus; and By storing data in accordance with the opening request in the storage unit of the information processing device, to perform the data communication having the step of opening the chat room and the identification information of the terminal transmitted from any of the plurality of terminals Receiving a request for participation of the terminal in the chat room including predetermined information necessary for the communication, and the received participation request The step of accepting participation in the room of the terminal by storing predetermined information of the participation request in association with the chat room of the storage unit, and the identification information of the terminal transmitted from any of the plurality of communication terminals A step of receiving a withdrawal request from a chat room including the communication unit, and a predetermined having identification information of a terminal indicated by the withdrawal request from among predetermined information associated with the chat room of the storage unit according to the received withdrawal request By deleting the information, the chat room is deleted from the storage unit from the time the request is received, each time a request to accept the withdrawal from the room of the terminal and any of the opening request, participation request and withdrawal request is received. A step to calculate the deletion period according to the opening parameter, which indicates the period until the power time, and participation in the chat room Period the number is maintained in the terminal, in response to detecting that exceeds the deletion period, and a step of deleting the chat room from the storage unit, comprising.

この発明のさらに他の局面に従うと、上述の情報処理方法をコンピュータに実行させるための情報処理プログラムが提供される。   If the further another situation of this invention is followed, the information processing program for making a computer perform the above-mentioned information processing method will be provided.

本発明によれば、開設要求、参加要求および脱退要求のうちのいずれかを受信する毎に、当該要求受信時からチャットルームを記憶部から削除すべき時までの期間を指す削除期間を、開設パラメータに従い算出することによって設定および更新し、チャットルームに参加している端末の数が変化しない期間が、この削除期間を超えたときに、当該チャットルームは記憶部から削除される。   According to the present invention, every time one of an opening request, a participation request, and a withdrawal request is received, a deletion period indicating a period from when the request is received to when the chat room should be deleted from the storage unit is opened. The chat room is deleted from the storage unit when the period during which the number of terminals participating in the chat room does not change and exceeds the deletion period is set and updated by calculation according to the parameters.

したがって、削除期間を超えても何ら参加または脱退の要求が受信されない、すなわちアクセスがされないチャットルームが記憶部に開設されたままの状態を防止することができる。   Therefore, it is possible to prevent a chat room from being opened in the storage unit in which no request for participation or withdrawal is received even when the deletion period is exceeded, that is, access is not made.

以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following description, the same parts are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed description thereof will not be repeated.

また、以下では、携帯電話100を「通信端末」の代表例として説明を行う。ただし、通信端末は、パーソナルコンピュータや、カーナビゲーション装置(Satellite navigation system)や、PND(Personal Navigation Device)や、PDA(Personal Data Assistance)などのような、他の情報通信機器であってもよい。   In the following, the mobile phone 100 will be described as a representative example of the “communication terminal”. However, the communication terminal may be another information communication device such as a personal computer, a car navigation device (Satellite navigation system), a PND (Personal Navigation Device), or a PDA (Personal Data Assistance).

<チャットルームに関する説明>
本実施の形態では、‘チャット’とは、後述のインターネット500またはキャリア網700を介したオンラインサービスによりリアルタイムに通信端末同士がメッセージをやり取りするような通信を指す。たとえば、メールサーバは介さないIPアドレスを用いたP2P通信、またはメールサーバ経由の電子メール交換であってもよい。
<Explanation about chat rooms>
In the present embodiment, “chat” refers to communication in which communication terminals exchange messages in real time by an online service via the Internet 500 or carrier network 700 described later. For example, P2P communication using an IP address not via a mail server, or electronic mail exchange via a mail server may be used.

また、チャットルーム(以下、単にルームと略す)は、一般的には、テーマ・話題毎にデータ交換するために開設されて端末によりアクセスされる。本実施の形態では、通信端末において生成されるルームID(identifier)であるルーム名毎に開設される。本実施の形態では、‘ルーム’とは、当該ルームのルーム名に対応して、チャットのためのデータ通信(データ交換)を要求するユーザの識別情報を、すなわちユーザの通信端末の識別情報を相互に関係付けるための情報を指す。この通信端末の識別情報は、各通信端末を一意に識別するための情報であって、本実施の形態では各通信端末に割当されたIPアドレスとしている。   In addition, a chat room (hereinafter simply referred to as a room) is generally established for exchanging data for each theme / topic and accessed by a terminal. In this Embodiment, it opens for every room name which is room ID (identifier) produced | generated in the communication terminal. In the present embodiment, “room” refers to the identification information of the user who requests data communication (data exchange) for chat corresponding to the room name of the room, that is, the identification information of the user's communication terminal. Refers to information related to each other. This communication terminal identification information is information for uniquely identifying each communication terminal, and in the present embodiment, is an IP address assigned to each communication terminal.

したがって、本実施の形態では、‘ルームの開設’とは、ルームの生成に相当する。具体的には、所定記憶領域に新規にルーム名を格納するとともに、このルーム名に対応して(関連付けて)ルームの生成を要求したユーザの通信端末の識別情報を格納する動作に相当する。   Therefore, in the present embodiment, 'opening a room' corresponds to creating a room. Specifically, this corresponds to an operation of storing a new room name in a predetermined storage area and storing identification information of the communication terminal of the user who has requested generation of the room in association with (in association with) the room name.

また、‘ルームへの参加’とは、所定記憶領域に既に格納されたルーム名に対応してチャットを要求するユーザの通信端末の識別情報を格納するともに、当該ユーザに対して当該ルームに参加している、すなわち当該ルーム名に対応して格納されている他のユーザの通信端末の識別情報を配信する動作に相当する。   In addition, “participating in a room” means storing identification information of a communication terminal of a user who requests a chat corresponding to a room name already stored in a predetermined storage area, and participating in the room for the user. This corresponds to the operation of distributing the identification information of the communication terminal of the other user stored corresponding to the room name.

また、‘ルームからの脱退’とは、所定記憶領域に既に格納されたルーム名に対応して格納された通信端末の識別情報を削除するとともに、当該ルームに参加している端末宛てに、すなわち当該ルーム名に対応して格納されている識別情報が指す通信端末宛てに、削除された識別情報を配信する動作に相当する。   In addition, “withdrawal from room” means that the identification information of the communication terminal stored corresponding to the room name already stored in the predetermined storage area is deleted and addressed to the terminal participating in the room, that is, This corresponds to an operation of distributing the deleted identification information to the communication terminal indicated by the identification information stored corresponding to the room name.

また、‘ルームの削除’とは、削除するべきルームのルーム名および対応する通信端末の識別情報を、所定記憶領域から削除するための動作を指す。   Further, “room deletion” refers to an operation for deleting the room name of the room to be deleted and the identification information of the corresponding communication terminal from the predetermined storage area.

<ネットワークシステム1の全体構成>
図1を参照して、本実施の形態に係るネットワークシステム1は、携帯電話100A,100Bおよび100Cと、マッチングサーバ(第1のサーバ装置)400と、メールサーバ(第2のサーバ装置)600と、インターネット(第1のネットワーク)500と、キャリア網(第2のネットワーク)700とを含む。また、本実施の形態に係るネットワークシステム1は、車両250に搭載されるカーナビゲーション装置200と、パーソナルコンピュータ(PC;Personal Computer)300とを含む。
<Overall configuration of network system 1>
Referring to FIG. 1, network system 1 according to the present embodiment includes mobile phones 100A, 100B and 100C, a matching server (first server device) 400, a mail server (second server device) 600, Internet (first network) 500 and carrier network (second network) 700. The network system 1 according to the present embodiment includes a car navigation device 200 mounted on a vehicle 250 and a personal computer (PC) 300.

なお、説明の容易化のために、以下では、本実施の形態に係るネットワークシステム1が、第1の携帯電話100Aと、第2の携帯電話100Bと、第3の携帯電話100Cとを含む場合について説明する。また、携帯電話100A,100B,100Cの各々に共通の構成や機能を説明する際には、それらを携帯電話100とも総称する。そして、携帯電話100A,100B,100C、カーナビゲーション装置200、パーソナルコンピュータ300の各々に共通の構成や機能を説明する際には、それらを通信端末とも総称する。   For ease of explanation, in the following, the network system 1 according to the present embodiment includes a first mobile phone 100A, a second mobile phone 100B, and a third mobile phone 100C. Will be described. Further, when the common configurations and functions of the mobile phones 100A, 100B, and 100C are described, they are also collectively referred to as the mobile phone 100. And when explaining a structure and function common to each of mobile phone 100A, 100B, 100C, the car navigation apparatus 200, and the personal computer 300, these are also named generically as a communication terminal.

携帯電話100は、キャリア網700に接続可能に構成されている。カーナビゲーション装置200は、インターネット500に接続可能に構成されている。パーソナルコンピュータ300は、LAN(Local Area Network)350やWAN(Wide Area Network
)を介してインターネット500に接続可能に構成されている。マッチングサーバ400は、インターネット500に接続可能に構成されている。メールサーバ600は、インターネット500およびキャリア網700に接続可能に構成されている。
The mobile phone 100 is configured to be connectable to the carrier network 700. The car navigation device 200 is configured to be connectable to the Internet 500. The personal computer 300 includes a LAN (Local Area Network) 350 and a WAN (Wide Area Network).
) Through the Internet 500. The matching server 400 is configured to be connectable to the Internet 500. The mail server 600 is configured to be connectable to the Internet 500 and the carrier network 700.

より詳細には、第1の携帯電話100Aと、第2の携帯電話100Bと、第3の携帯電話100Cと、カーナビゲーション装置200と、パーソナルコンピュータ300とは、キャリア網700やメールサーバ600やインターネット500を介して互いに接続可能であって、互いにデータの送受信が可能である。また、携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300には、自端末を特定するための識別情報(たとえば、メールアドレスやIP(Internet Protocol)アドレスなど)が割当てられる。すなわち、携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300は、内部の記録媒体に他の通信端末の識別情報を記憶することができ、当該識別情報に基づいてキャリア網700やインターネット500などを介して当該他の通信端末とデータ送受信を行うことができる。   More specifically, the first mobile phone 100A, the second mobile phone 100B, the third mobile phone 100C, the car navigation device 200, and the personal computer 300 are a carrier network 700, a mail server 600, and the Internet. They can be connected to each other via 500 and can transmit and receive data to and from each other. Further, identification information (for example, an e-mail address, an IP (Internet Protocol) address, etc.) for identifying the terminal itself is assigned to the mobile phone 100, the car navigation device 200, and the personal computer 300. That is, the mobile phone 100, the car navigation device 200, and the personal computer 300 can store identification information of other communication terminals in an internal recording medium, and the carrier network 700, the Internet 500, and the like are based on the identification information. Thus, data transmission / reception can be performed with the other communication terminal.

なお、本実施の形態に係る携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300とは、割当てられるIPアドレスを利用して、メールサーバ600を介さずに他の通信端末とデータ送受信を行うものである。ここでは、各通信端末がマッチングサーバ400にアクセスする際には、すなわち各通信端末がインターネットにアクセスした際に、マッチングサーバ400あるいは他の図示しないサーバ装置などによってIPアドレスが割当てられるものとする。IPアドレスの割当て処理の詳細は公知であるので、ここでは説明を繰り返さない。   The mobile phone 100, the car navigation device 200, and the personal computer 300 according to the present embodiment perform data transmission / reception with other communication terminals without using the mail server 600 by using the assigned IP address. is there. Here, when each communication terminal accesses the matching server 400, that is, when each communication terminal accesses the Internet, an IP address is assigned by the matching server 400 or another server device (not shown). Details of the IP address assignment process are well known, and therefore the description thereof will not be repeated here.

また、本実施の形態に係る携帯電話100、カーナビゲーション装置200、パーソナルコンピュータ300は、自身に割当てられたIPアドレスを利用することにより、直接的に相互にネットワークを介してデータ送受信を行うことが可能である。すなわち、本実施の形態に係るネットワークシステム1に含まれる携帯電話100、カーナビゲーション装置200、パーソナルコンピュータ300は、いわゆるP2P通信のネットワークを構成することが可能である。   In addition, the mobile phone 100, the car navigation device 200, and the personal computer 300 according to the present embodiment can directly transmit and receive data to and from each other via a network by using an IP address assigned to the mobile phone 100, the car navigation device 200, and the personal computer 300. Is possible. That is, the mobile phone 100, the car navigation device 200, and the personal computer 300 included in the network system 1 according to the present embodiment can constitute a so-called P2P communication network.

<携帯電話100のハードウェア構成>
本実施の形態に係る携帯電話100のハードウェア構成について説明する。図2は、本施の形態に係る携帯電話100の概観を示す図である。図3は、本施の形態に係る携帯電話100のハードウェア構成を示す図である。
<Hardware configuration of mobile phone 100>
A hardware configuration of mobile phone 100 according to the present embodiment will be described. FIG. 2 is a diagram showing an overview of the mobile phone 100 according to the present embodiment. FIG. 3 is a diagram showing a hardware configuration of mobile phone 100 according to the present embodiment.

図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とを含む。   As shown in FIGS. 2 and 3, mobile phone 100 according to the present embodiment includes another communication unit 101 that transmits and receives data to and from an external network, and a TEL (Telephone) communication unit for calling. 102, a storage unit 103 for storing programs and various databases, a control unit 106 having a CPU (Central Processing Unit) 106A, a display 107, a microphone 108 for inputting sound from outside, and a sound to the outside A speaker 109 for outputting, an input unit 110 for receiving input of various information, a first notifying unit 111 for notifying incoming calls and e-mails by bell sound and vibration, vibration, and electronic And a second notification unit 112 for notifying an incoming mail by light emission of a light source (for example, an LED (Light Emitting Diode)).

本実施の形態に係るディスプレイ107は、液晶パネルやCRT(Cathode Ray Tube)から構成されるタッチパネルである。すなわち、本実施の形態に係る携帯電話100は、ディスプレイ107の下側(裏側)にタブレット119が敷設されている。ユーザはスタイラスペン120を用いてディスプレイ107上に文字・記号・図形などを描画すると、描画による軌跡を示す座標データがタブレット119を介して検出されて制御部106に与えられる。これにより、スタイラスペン120を操作して手書き入力した文字・記号・図形の情報を制御部106に入力することができる。ディスプレイ107は、制御部106が出力した情報に基づいて、手書き入力された画像やテキストを表示する。   The display 107 according to the present embodiment is a touch panel including a liquid crystal panel and a CRT (Cathode Ray Tube). That is, in the mobile phone 100 according to the present embodiment, the tablet 119 is laid on the lower side (back side) of the display 107. When the user draws characters, symbols, graphics, or the like on the display 107 using the stylus pen 120, coordinate data indicating the locus of the drawing is detected via the tablet 119 and given to the control unit 106. As a result, it is possible to input information of characters, symbols, and figures input by handwriting by operating the stylus pen 120 to the control unit 106. The display 107 displays an image or text input by handwriting based on the information output from the control unit 106.

入力部110は、スイッチ・キー・ボタンなどを備え、ユーザがスイッチ・キー・ボタンを操作することによって入力した情報を受付ける。たとえば、入力部110は、通話を受付けたり、通話を発したりするために操作されるTELボタン110Aと、メールを受付けたり、メールを発したりするために操作されるメールボタン110Bと、P2P通信を受付けたり、P2P通信を発したりするために操作されるP2Pボタン110Cと、アドレス帳データを参照するために操作されるアドレス帳ボタン110Dと、各種の処理を終了させるために操作される終了ボタン110Eとを含む。   The input unit 110 includes switch keys, buttons, and the like, and receives information input by the user operating the switches, keys, and buttons. For example, the input unit 110 performs P2P communication with a TEL button 110A that is operated to accept a call or make a call, a mail button 110B that is operated to accept a mail or send a mail, and the like. A P2P button 110C that is operated to accept or initiate P2P communication, an address book button 110D that is operated to refer to address book data, and an end button 110E that is operated to end various processes. Including.

第1の報知部111は、スピーカ109などを介して着信音(たとえばベル音)を出力する。あるいは、第1の報知部111は、バイブレーション機能を有する。第1の報知部111は、着呼に応じて、またはメール受信に応じて、音声を出力したり、携帯電話100を振動させたりする。   The first notification unit 111 outputs a ring tone (for example, a bell sound) via the speaker 109 or the like. Alternatively, the first notification unit 111 has a vibration function. The first notification unit 111 outputs voice or vibrates the mobile phone 100 in response to an incoming call or in response to receiving a mail.

第2の報知部112は、着呼に応じて点滅するTEL用LED112Aと、メールを受信したときに点滅するメール用LED112Bと、P2P通信に従う信号を受信したときに点滅するP2P用LED112Cを含む。   The second notification unit 112 includes a TEL LED 112A that flashes in response to an incoming call, a mail LED 112B that flashes when a mail is received, and a P2P LED 112C that flashes when a signal according to P2P communication is received.

制御部106は、CPU106Aを含むマイクロコンピュータによって実現され、携帯電話100の各部を制御する。たとえば、入力部110を介してユーザから各種の命令を受付けて、他の通信部101やTEL用通信部102やネットワークを介して外部の通信端末とデータの送受信を行う。   The control unit 106 is realized by a microcomputer including the CPU 106 </ b> A, and controls each unit of the mobile phone 100. For example, various commands are received from the user via the input unit 110, and data is transmitted / received to / from an external communication terminal via another communication unit 101, the TEL communication unit 102, or a network.

他の通信部101およびTEL用通信部102は、無線通信機能を有し無線通信を行なう。具体的には、制御部106からの通信データを通信信号に変換し、その通信信号を図示しないアンテナを介して発信する。他の通信部101およびTEL用通信部102は、アンテナを介して受信した通信信号を通信データに変換し、その通信データを制御部106に入力する。   Other communication unit 101 and TEL communication unit 102 have a wireless communication function and perform wireless communication. Specifically, the communication data from the control unit 106 is converted into a communication signal, and the communication signal is transmitted via an antenna (not shown). Other communication unit 101 and TEL communication unit 102 convert communication signals received via the antenna into communication data, and input the communication data to control unit 106.

記憶部103は、作業用メモリとして機能するRAM(Random Access Memory)や、制御プログラム・データなどを格納するROM(Read Only Memory)や、画像データなどを記憶するハードディスクなどによって実現される。図4、図5および図6は、図3の記憶部103に格納されるアドレス帳データ、自端末データおよびルームデータベースRMDBを示す図である。   The storage unit 103 is realized by a RAM (Random Access Memory) that functions as a working memory, a ROM (Read Only Memory) that stores control programs and data, a hard disk that stores image data, and the like. 4, 5 and 6 are diagrams showing the address book data, own terminal data, and room database RMDB stored in the storage unit 103 of FIG.

図3に示すように、記憶部103の記憶領域103Aには、ルームデータベースRMDBが格納される。図6を参照してルームデータベースRMDBには、当該携帯電話100が開設または参加するルームのそれぞれに対応して、ルーム名のデータRNと、当該ルームに参加している他の携帯電話100のIPアドレスを指すデータIPAが格納される。   As shown in FIG. 3, a room database RMDB is stored in the storage area 103A of the storage unit 103. Referring to FIG. 6, in the room database RMDB, the room name data RN and the IPs of the other mobile phones 100 participating in the room are stored in the room database RMDB corresponding to each of the rooms that the mobile phone 100 opens or participates in. Data IPA indicating the address is stored.

図3の記憶部103は、さらに、アドレス帳データAdrDB[]が格納される記憶領域103B、携帯電話100(自端末)に関するデータを指す自端末データMyAdrが格納される記憶領域103C、生成したルーム名のデータTNMを一時的に格納する記憶領域103D、自端末に割当てられたIPアドレスデータMY_IPADRを格納する記憶領域103E、およびマッチングサーバ400のアドレスデータSEV_ADRを格納する記憶領域103F含む。   3 further includes a storage area 103B in which address book data AdrDB [] is stored, a storage area 103C in which own terminal data MyAdr indicating data related to the mobile phone 100 (own terminal) is stored, and a generated room Storage area 103D for temporarily storing name data TNM, storage area 103E for storing IP address data MY_IPADR assigned to the terminal itself, and storage area 103F for storing address data SEV_ADR of matching server 400.

上述したデータが格納される記憶部103の領域は、携帯電話100の電源がOFFされても記憶内容が消去しないメモリ、たとえばフラッシュメモリからなる。   The area of the storage unit 103 in which the above-described data is stored includes a memory, for example, a flash memory, whose stored contents are not erased even when the mobile phone 100 is turned off.

図4を参照して、記憶領域103Bのアドレス帳データAdrDB[]には、宛先(他の通信端末)毎に個別にデータを格納する。具体的には、各通信端末毎に割当された記憶領域には、当該記憶領域を指示するメモリNoのデータ1031、宛先の名前のデータ1032、通話において相手端末を一意に識別するための電話番号のデータ1033、およびデータ通信において相手端末を一意に識別するためのメールアドレスを指すデータ1034が対応付けて格納される。   Referring to FIG. 4, the address book data AdrDB [] in storage area 103B stores data individually for each destination (other communication terminal). Specifically, the storage area allocated to each communication terminal includes a memory No. data 1031 indicating the storage area, a destination name data 1032, and a telephone number for uniquely identifying the other terminal in the call. Data 1033 and data 1034 indicating a mail address for uniquely identifying the partner terminal in the data communication are stored in association with each other.

図5を参照して、記憶領域103Cの自端末データMyAdrは、自端末のユーザの名前、自端末を一意に識別するための電話番号およびメールアドレスを指すデータ1035、1036および1037を含む。   Referring to FIG. 5, own terminal data MyAdr in storage area 103C includes data 1035, 1036 and 1037 indicating the name of the user of the own terminal, a telephone number for uniquely identifying the own terminal, and a mail address.

<携帯電話100の機能構成>
図7を参照して、本実施の形態に係る携帯電話100のCPU106Aは、端末通信部1061、フレーム解析部1062、フレーム生成部1063、入力受付部1064、報知処理部1065、通話機能に対応する通話処理部1066、メール処理部1067、P2P処理部1068、通知処理部1069、データ更新部1070およびルームアクセス部1071を備える。これらの各部の機能は予めプログラム・データとして記憶部103の所定記憶領域に格納されており、CPU106Aがこれらプログラム・データを記憶部103から読出し、実行することにより、各部の機能が実現される。
<Functional configuration of mobile phone 100>
Referring to FIG. 7, CPU 106A of mobile phone 100 according to the present embodiment corresponds to terminal communication unit 1061, frame analysis unit 1062, frame generation unit 1063, input reception unit 1064, notification processing unit 1065, and call function. A call processing unit 1066, a mail processing unit 1067, a P2P processing unit 1068, a notification processing unit 1069, a data update unit 1070, and a room access unit 1071 are provided. The functions of these units are stored in advance in a predetermined storage area of the storage unit 103 as program data, and the functions of the respective units are realized by the CPU 106A reading these program data from the storage unit 103 and executing them.

図7においては、CPU106Aが有する各機能とデータ・情報を入出力する周辺回路部のみが示される。   In FIG. 7, only the functions of the CPU 106 </ b> A and the peripheral circuit unit that inputs and outputs data and information are shown.

端末通信部1061は、電話による通信を制御するためのTEL用通信部102、ならびにサーバとの通信を制御するサーバ通信部1081およびIPアドレスを用いたP2P通信を制御するためのP2P通信部1082を含む。サーバ通信部1081およびP2P通信部1082はデータ通信部101の機能に相当する。   The terminal communication unit 1061 includes a TEL communication unit 102 for controlling telephone communication, a server communication unit 1081 for controlling communication with a server, and a P2P communication unit 1082 for controlling P2P communication using an IP address. Including. Server communication unit 1081 and P2P communication unit 1082 correspond to the function of data communication unit 101.

フレーム解析部1062は、端末通信部1061によって受信されたフレームを入力し、入力したフレームのデータを解析し、解析結果を出力する。フレーム生成部1063は、端末通信部1061を介して外部ネットワークに送信するべきフレームを生成する。入力受付部1064は、タブレット119および入力部110から入力されたデータを受付ける。報知処理部1065は、第1および第2の報知部111および112の出力動作を制御する。   The frame analysis unit 1062 receives the frame received by the terminal communication unit 1061, analyzes the input frame data, and outputs the analysis result. The frame generation unit 1063 generates a frame to be transmitted to the external network via the terminal communication unit 1061. The input receiving unit 1064 receives data input from the tablet 119 and the input unit 110. The notification processing unit 1065 controls the output operations of the first and second notification units 111 and 112.

メール処理部1067は、インターネット500などの通信網を経由する電子メールの通信を処理する。P2P処理部1068は、P2P通信に対応する処理を実行する。通知処理部1069は、端末通信部1061が外部から受信した通知を入力して、解析し、結果を出力する。データ更新部1070は、端末通信部1061が外部から受信した通知に従い、記憶部103のルームデータベースRMDBのデータを更新する。   The mail processing unit 1067 processes email communication via a communication network such as the Internet 500. The P2P processing unit 1068 executes processing corresponding to P2P communication. The notification processing unit 1069 receives the notification received from the outside by the terminal communication unit 1061, analyzes it, and outputs the result. The data update unit 1070 updates the data in the room database RMDB in the storage unit 103 according to the notification received from the outside by the terminal communication unit 1061.

ルームアクセス部1071は、P2P通信に従うチャット通信のためにマッチングサーバ400に格納されるルームのアクセスを制御する。ルーム名生成部1072は、P2P通信に従うチャット通信を開始するために、マッチングサーバ400に開設されるべきルームの名称を所定手順に従い生成する。所定手順は、ルームを一意に識別することのできるルーム名を生成できるものであればよい。ルーム検索要求部1073は、ルーム名に基づきルームの検索をマッチングサーバ400に対して要求する。ルーム開設要求部1074は、ルーム名に基づきルームの開設をマッチングサーバ400に対して要求する。ルーム参加要求部1075は、ルーム名に基づきルームへの参加をマッチングサーバ400に対して要求する。ルーム脱退要求部1076はルーム名に基づきルームからの脱退をマッチングサーバ400に対して要求する。   The room access unit 1071 controls access to a room stored in the matching server 400 for chat communication according to P2P communication. The room name generation unit 1072 generates a room name to be opened in the matching server 400 in accordance with a predetermined procedure in order to start chat communication in accordance with P2P communication. The predetermined procedure may be anything that can generate a room name that can uniquely identify a room. The room search request unit 1073 requests the matching server 400 to search for a room based on the room name. The room opening request unit 1074 requests the matching server 400 to open a room based on the room name. The room participation request unit 1075 requests the matching server 400 to participate in the room based on the room name. The room withdrawal request unit 1076 requests the matching server 400 to leave the room based on the room name.

<マッチングサーバ400のハードウェア構成>
次に、本実施の形態に係るマッチングサーバ400のハードウェア構成について説明する。なお、メールサーバ600のハードウェア構成は、マッチングサーバ400のそれと同様であるので説明は略す。
<Hardware configuration of matching server 400>
Next, a hardware configuration of matching server 400 according to the present embodiment will be described. Since the hardware configuration of the mail server 600 is the same as that of the matching server 400, the description thereof is omitted.

図8は、本実施の形態に係るマッチングサーバ400のハードウェア構成を示すブロック図である。図8に示すように、本実施の形態に係るマッチングサーバ400は、相互に内部バス408で接続されたCPU405と、メモリ406と、固定ディスク407と、サーバ通信部409と、現在時刻を計時して時間データを出力する計時部410含む。   FIG. 8 is a block diagram showing a hardware configuration of matching server 400 according to the present embodiment. As shown in FIG. 8, the matching server 400 according to the present embodiment counts the CPU 405, the memory 406, the fixed disk 407, the server communication unit 409, and the current time that are connected to each other via the internal bus 408. The timer unit 410 outputs time data.

メモリ406は、各種の情報を記憶するものであって、たとえば、CPU405でのプログラムの実行に必要なデータを一時的に記憶する。固定ディスク407は、CPU105が実行するプログラムやデータベースを記憶する。CPU405は、マッチングサーバ400およびメールサーバ600の各要素を制御するものであって、各種の演算を実施する装置である。   The memory 406 stores various types of information. For example, the memory 406 temporarily stores data necessary for execution of a program by the CPU 405. The fixed disk 407 stores a program executed by the CPU 105 and a database. The CPU 405 controls each element of the matching server 400 and the mail server 600, and is a device that performs various calculations.

サーバ通信部409は、CPU405が出力したデータを電気信号へと変換して外部へ送信し、外部から受信した電気信号をデータに変換してCPU405に入力する。具体的には、サーバ通信部409は、CPU405からのデータを、インターネット500やキャリア網700などを介して携帯電話100やカーナビゲーション装置200やパーソナルコンピュータ300に送信する。そして、インターネット500やキャリア網700を介して携帯電話100やカーナビゲーション装置200やパーソナルコンピュータ300から受信したデータを、CPU405に入力する。   The server communication unit 409 converts the data output from the CPU 405 into an electrical signal and transmits it to the outside, and converts the electrical signal received from the outside into data and inputs it to the CPU 405. Specifically, the server communication unit 409 transmits data from the CPU 405 to the mobile phone 100, the car navigation device 200, and the personal computer 300 via the Internet 500, the carrier network 700, and the like. Then, data received from the mobile phone 100, the car navigation device 200, or the personal computer 300 via the Internet 500 or the carrier network 700 is input to the CPU 405.

<マッチングサーバ400の機能構成>
図9を参照して、マッチングサーバ400は、ルーム開設部420、ルームへの参加、ルームの検索およびルームからの脱退の要求を受付けて処理する参加受付部421A、検索受付部421Bおよび脱退受付部421Cを有するルーム受付部421、ルーム削除部422、フレーム生成部423、フレーム解析部424、イベント通知部425およびルーム毎に当該ルームを削除するべき時間(時刻)を設定する削除時間設定部426を含む。これらの各部は、固定ディスク407またはメモリ406の所定の記憶領域に予めプログラム・データとして格納されており、CPU405が所定記憶領域からプログラム・データを読出し、実行することにより、各部の機能が実現される。
<Functional configuration of matching server 400>
Referring to FIG. 9, matching server 400 includes room opening unit 420, participation reception unit 421 </ b> A, search reception unit 421 </ b> B, and withdrawal reception unit that accepts and processes requests for participation in rooms, room search, and withdrawal from rooms. A room reception unit 421 having a room 421C, a room deletion unit 422, a frame generation unit 423, a frame analysis unit 424, an event notification unit 425, and a deletion time setting unit 426 for setting a time (time) for deleting the room for each room. Including. These units are stored in advance as program data in a predetermined storage area of the fixed disk 407 or the memory 406, and the function of each unit is realized by the CPU 405 reading and executing the program data from the predetermined storage area. The

メモリ406には、後述するルーム管理テーブルRMTBL[]、知人用テーブルATBL0およびコミュニティ用テーブルATBL1、ならびにマッチングサーバアドレスのデータMSADが格納される。   The memory 406 stores a room management table RMTBL [], an acquaintance table ATBL0 and a community table ATBL1, which will be described later, and matching server address data MSAD.

ルーム開設部420は、メモリ406のルーム管理テーブルRMTBL[]に、新たに開設するべきルームに対応するデータを格納することにより、ルームを開設する。ルーム削除部422は、要求されたルームをルーム管理テーブルRMTBL[]から削除する。フレーム生成部423は、サーバ通信部409を介してインターネット500に送信するべきデータのフレームを生成し、生成したフレームをサーバ通信部409に出力する。フレーム解析部424は、サーバ通信部409がインターネット500を介して受信したフレームのデータを解析し、解析結果を出力する。   The room opening unit 420 opens a room by storing data corresponding to a room to be newly opened in the room management table RMTBL [] of the memory 406. The room deletion unit 422 deletes the requested room from the room management table RMTBL []. The frame generation unit 423 generates a frame of data to be transmitted to the Internet 500 via the server communication unit 409, and outputs the generated frame to the server communication unit 409. The frame analysis unit 424 analyzes the frame data received by the server communication unit 409 via the Internet 500 and outputs the analysis result.

イベント通知部425は、参加通知部425Aおよび脱退通知部425Bを含む。参加通知部425Aは、ルーム管理テーブルRMTBL[]のルームへの参加が検出されたとき、当該ルームに既に参加している他の携帯電話100宛てに、参加の検出を通知する。脱退通知部425Bは、ルーム管理テーブルRMTBL[]のルームかからの脱退が検出されたとき、当該ルームに既に参加している他の携帯電話100宛てに、脱退の検出を通知する。   The event notification unit 425 includes a participation notification unit 425A and a withdrawal notification unit 425B. When the participation notification unit 425A detects participation in a room in the room management table RMTBL [], the participation notification unit 425A notifies the other mobile phones 100 already participating in the room of the detection of participation. When a withdrawal from the room in the room management table RMTBL [] is detected, the withdrawal notification unit 425B notifies the other mobile phones 100 already participating in the room of the detection of withdrawal.

削除時間設定部426は、ルームの開設またはルームへの参加またはルームからの脱退が検出される毎に、当該ルームを削除するべき時間を、知人用テーブルATBL0またはコミュニティ用テーブルATBL1のデータに従い決定する。   The deletion time setting unit 426 determines the time to delete the room according to the data in the acquaintance table ATBL0 or the community table ATBL1 each time the establishment of the room, participation in the room, or withdrawal from the room is detected. .

<テーブルの構成>
図10を参照して、ルーム管理テーブルRMTBL[]の構成について説明する。ルーム管理テーブルRMTBL[]は、MAX個のルームのデータを格納可能な容量を有し、各ルームに対応してデータRMTBL[i](iは0、1、2、…、(MAX−1)の値)を格納する。
<Table configuration>
The configuration of the room management table RMTBL [] will be described with reference to FIG. The room management table RMTBL [] has a capacity capable of storing data of MAX rooms, and data RMTBL [i] (i is 0, 1, 2,..., (MAX-1) corresponding to each room. Value).

データRMTBL[i]は、当該データが無効または当該ルームが削除済みの場合は値0を示し、当該ルームが削除されておらずデータが有効な場合には値1を示すデータRMTBL[i].FLAG、当該ルームのルーム名(ルームID(Identification))を示すデータRMTBL[i].RMNM、当該ルームの開設理由、または開設の目的を示すデータRMTBL[i].APL、当該ルームに参加が許容される端末の最大台数を指す定員数(たとえば、10)を示すデータRMTBL[i].NUM、当該ルームに参加している端末の数を示すデータRMTBL[i].ECNT、当該ルームを削除するべき時間を示すデータRMTBL[i].DELTM、ならびに当該ルームに参加している端末のIPアドレスおよびメールアドレスのデータRMTBL[i].IPA[j]およびRMTBL[i].MA[j](ただしj=0、1、2、…、9)を含む。   Data RMTBL [i] indicates a value 0 when the data is invalid or the room has been deleted, and data RMTBL [i] indicates a value 1 when the room is not deleted and the data is valid. FLAG, data RMTBL [i] .RMNM indicating the room name (room ID (Identification)) of the room, data RMTBL [i] .APL indicating the reason for opening the room, or purpose of opening, allowing participation in the room Deletes the data RMTBL [i] .NUM indicating the maximum number of terminals (for example, 10) indicating the maximum number of connected terminals, data RMTBL [i] .ECNT indicating the number of terminals participating in the room, and the room Data RMTBL [i] .DELTM indicating the time that should be used, and data RMTBL [i] .IPA [j] and RMTBL [i] .MA [j] of the IP address and email address of the terminal participating in the room (however, j = 0, 1, 2,..., 9).

データRMTBL[i].FLAGが‘0’を指す場合、当該データRMTBL[i]の領域は1種の空領域を指し、新たなルームのデータを格納することが可能である。   When the data RMTBL [i] .FLAG indicates “0”, the area of the data RMTBL [i] indicates one kind of empty area, and data of a new room can be stored.

データRMTBL[i].APLの値が“0”を指示する場合、当該ルームは知人への呼びかけのために開設されて、主に知人同士のチャットのために用いられる。値“1”を示す場合には、当該ルームは、不特定多数の者がチャットで集うことによりコミュニティを形成するために用いられる。   When the value of the data RMTBL [i] .APL indicates “0”, the room is opened for a call to an acquaintance and is mainly used for chatting with acquaintances. When the value “1” is indicated, the room is used to form a community by an unspecified number of people gathering in a chat.

上述の削除日時生成用テーブルATBL0は、データRMTBL[i].APLの値が“0”(知人用)を指示するルームを削除するべき時間を設定するために、ルームの開設またはルームへの参加の検出時に、参照される。図11を参照して、削除日時生成用テーブルATBL0は、ルームの開設またはルームへの参加の検出時点において当該ルームにまだ参加していない端末の台数(=データRMTBL[i].NUM−現在参加している端末台数)を示すデータA0と、データA0のそれぞれに対応して当該ルームを削除するまでの猶予時間のデータB0を格納する。   The above-mentioned deletion date generation table ATBL0 is used to set up a room or join a room in order to set a time to delete a room in which the value of the data RMTBL [i] .APL indicates “0” (for acquaintance) Referenced when detected. Referring to FIG. 11, the deletion date generation table ATBL0 includes the number of terminals that have not yet joined the room at the time when the establishment of the room or the participation in the room is detected (= data RMTBL [i] .NUM−current participation). Data A0 indicating the number of terminals) and data B0 of a grace period until the room is deleted corresponding to each of the data A0.

たとえば、ルームへの未参加端末台数が1台(A0=1)であった場合には、未参加端末数が1台である状態が5分間(B0=5)経過した時点で、当該ルームは削除される。同様に、ルームへの未参加端末台数が2〜5台(A0=2〜5)のいずれかの値であった場合には、未参加端末台数が増減しない状態が維持されて10分間(B0=10)経過すると、当該ルームは削除される。同様に、ルームへの未参加端末台数が6台以上(A0=6以上)であった場合には、未参加端末台数が増減しない状態が維持されて所定の最大時間TMAX(たとえば30分)を経過した時点で当該ルームは削除される。   For example, if the number of non-participating terminals in a room is 1 (A0 = 1), the state of the number of non-participating terminals is 1 when 5 minutes (B0 = 5) have passed. Deleted. Similarly, when the number of non-participating terminals in the room is 2 to 5 (A0 = 2 to 5), the state in which the number of non-participating terminals does not increase or decrease is maintained for 10 minutes (B0 = 10) After the lapse, the room is deleted. Similarly, when the number of non-participating terminals in the room is 6 or more (A0 = 6 or more), the state where the number of non-participating terminals does not increase or decrease is maintained, and a predetermined maximum time TMAX (for example, 30 minutes) is maintained. The room will be deleted when it has passed.

上述の削除日時生成用テーブルATBL1は、データRMTBL[i].APLの値が“1”(コミュニティ用)を指示するルームを削除するべき時間を設定するために、ルームからの退出の検出時に、参照される。図12を参照して、削除日時生成用テーブルATBL1は、ルームからの脱退を検出した時点において脱退後に当該ルームに現在参加している端末の台数を示すデータA1と、データA1のそれぞれに対応して当該ルームを削除するまでの猶予時間のデータB1を格納する。   The above-described deletion date generation table ATBL1 sets the time when the room in which the value of the data RMTBL [i] .APL indicates “1” (for community) should be deleted. Referenced. Referring to FIG. 12, deletion date / time generation table ATBL1 corresponds to data A1 indicating the number of terminals currently participating in the room after the withdrawal and data A1 when the withdrawal from the room is detected. Data B1 of the grace time until the room is deleted.

たとえば、ルームに参加している端末台数が1台(A1=1)であった場合には、参加端末数が1台である状態が1分間(B1=1)経過した時点で、当該ルームは削除される。同様に、ルームに参加している端末台数が2〜5台(A1=2〜5)のいずれかの値であった場合には、参加端末台数が増減しない状態が維持されて10分間(B1=10)経過すると、当該ルームは削除される。同様に、ルームに参加している端末台数が6台以上(A1=6以上)であった場合には、参加端末台数が増減しない状態が維持されて所定の最大時間TMAX(たとえば30分)を経過した時点で当該ルームは削除される。   For example, when the number of terminals participating in a room is 1 (A1 = 1), the state of the number of participating terminals is 1 when 1 minute (B1 = 1) has passed. Deleted. Similarly, when the number of terminals participating in the room is any of 2 to 5 (A1 = 2 to 5), the state where the number of participating terminals does not increase or decrease is maintained for 10 minutes (B1 = 10) After the lapse, the room is deleted. Similarly, when the number of terminals participating in a room is 6 or more (A1 = 6 or more), the state where the number of participating terminals does not increase or decrease is maintained, and a predetermined maximum time TMAX (for example, 30 minutes) is maintained. The room will be deleted when it has passed.

<P2P通信の概要>
図13は、ネットワークシステム1における通信手順を模式的に示す図である。本実施の形態に係る各通信端末は、P2P通信を行うために、はじめに互いのIPアドレスを交換(取得)する必要がある。そして、各通信端末は、IPアドレスを取得した後に、P2P通信によってメッセージや添付ファイルなどを他の通信端末に送信する。ここでは、携帯電話100には、予めIPアドレスが割当てられていると想定する。
<Outline of P2P communication>
FIG. 13 is a diagram schematically illustrating a communication procedure in the network system 1. Each communication terminal according to the present embodiment needs to exchange (acquire) each other's IP address first in order to perform P2P communication. And each communication terminal transmits a message, an attached file, etc. to another communication terminal by P2P communication, after acquiring an IP address. Here, it is assumed that an IP address is assigned to the mobile phone 100 in advance.

まず、携帯電話100A(図13において端末A)は、P2P通信を開始するために、たとえば定員数が3の知人用チャットのためのルーム‘R’の開設要求をマッチングサーバ400宛てに送信する(ステップS002)。   First, to start P2P communication, mobile phone 100A (terminal A in FIG. 13) transmits, for example, a request for opening room “R” for an acquaintance chat with a capacity of 3 to matching server 400 ( Step S002).

マッチングサーバ400では、ルーム‘R’をルーム管理テーブルRMTBL[]に開設する。ルーム‘R’のデータRMTBL[i].FLAGは1に更新される。そして、データRMTBL[i].IPA[j]として、携帯電話100AのIPアドレス‘A’が設定される。この開設に応じて、削除時間設定部426によって、知人用テーブルATBL0を参照して、当該ルームを削除するべき時間のデータRMTBL[i].DELTMが設定される(ステップS003)。   In matching server 400, room 'R' is opened in room management table RMTBL []. The data RMTBL [i] .FLAG of room 'R' is updated to 1. Then, as data RMTBL [i] .IPA [j], the IP address ‘A’ of the mobile phone 100A is set. In response to this establishment, the deletion time setting unit 426 refers to the acquaintance table ATBL0 and sets data RMTBL [i] .DELTM of the time for deleting the room (step S003).

次に、携帯電話100Cはマッチングサーバ400に開設されているルームを検索することにより、ルーム‘R’を検出すると、ルーム‘R’への参加要求を、マッチングサーバ400宛てに送信する(ステップS008)。また、データRMTBL[i].IPA[j+1]が指す携帯電話100CのIPアドレスがルーム管理テーブルRMTBL[]に格納される。この参加の検出に応じて、削除時間設定部426によって、知人用テーブルATBL0を参照して、当該ルームを削除するべき時間のデータRMTBL[i].DELTMが更新される(ステップS009)。   Next, when the mobile phone 100C detects a room 'R' by searching for a room established in the matching server 400, a request for participation in the room 'R' is transmitted to the matching server 400 (step S008). ). Further, the IP address of the mobile phone 100C pointed to by the data RMTBL [i] .IPA [j + 1] is stored in the room management table RMTBL []. In response to the detection of the participation, the deletion time setting unit 426 refers to the acquaintance table ATBL0 and updates the time data RMTBL [i] .DELTM for deleting the room (step S009).

マッチングサーバ400は、ルーム参加要求を受信すると、マッチング処理を開始する。   When the matching server 400 receives the room participation request, the matching server 400 starts the matching process.

マッチング処理においては、ルーム‘R’のデータRMTBL[i]のデータRMTBL[i].IPA[j]が指す携帯電話100AのIPアドレスが携帯電話100C宛てに送信されて、データRMTBL[i].IPA[j+1]が指す携帯電話100CのIPアドレスが携帯電話100A宛てに送信される(ステップS010)。   In the matching process, the IP address of the mobile phone 100A pointed to by the data RMTBL [i] .IPA [j] of the data RMTBL [i] of the room 'R' is transmitted to the mobile phone 100C, and the data RMTBL [i]. The IP address of mobile phone 100C pointed to by IPA [j + 1] is transmitted to mobile phone 100A (step S010).

その後、当該ルームへの参加台数が変化しない状態が継続して、その結果、計時部410が指す現在時刻データがデータRMTBL[i].DELTMの時間データに一致することが検出されると、ルーム削除部422により、当該ルームのデータRMTBL[i].FLAGは0に更新される(ステップS011)。これにより、当該ルームは削除される。   After that, the state where the number of participants in the room does not change continues, and as a result, when it is detected that the current time data pointed to by the timing unit 410 matches the time data of the data RMTBL [i] .DELTM, The deletion unit 422 updates the data RMTBL [i] .FLAG of the room to 0 (step S011). As a result, the room is deleted.

マッチング処理によって、ルーム名‘R’のルームに参加した携帯電話100Aおよび100Cのユーザは、お互いのIPアドレスを交換することができる。以降、両者は、交換により取得したIPアドレスを用いてP2P通信を行うことができる。   Through the matching process, the users of the mobile phones 100A and 100C who have joined the room with the room name 'R' can exchange their IP addresses. Thereafter, both can perform P2P communication using the IP address acquired by exchange.

まず、携帯電話100Aは、取得したIPアドレス‘C’に基づいて携帯電話100CにP2P接続要求メッセージ(開始メッセージ)を送信する(ステップS012)。携帯電話100Cは、接続要求メッセージを受信して、携帯電話100AのIPアドレ‘A’に基づいて携帯電話100Aに第1の接続承諾メッセージ(返答メッセージ)を送信する(ステップS014)。携帯電話100Aは、携帯電話100Cから第1の接続承諾メッセージを受信して、第2の携帯電話100Cに第2の接続承諾メッセージを送信する(ステップS016)。   First, the mobile phone 100A transmits a P2P connection request message (start message) to the mobile phone 100C based on the acquired IP address 'C' (step S012). The mobile phone 100C receives the connection request message and transmits a first connection acceptance message (response message) to the mobile phone 100A based on the IP address “A” of the mobile phone 100A (step S014). Mobile phone 100A receives the first connection acceptance message from mobile phone 100C and transmits the second connection acceptance message to second mobile phone 100C (step S016).

このようにして、携帯電話100Aと携帯電話100Cとは、互いに相手を認証する。認証が完了すると、携帯電話100Aと携帯電話100Cとは、P2P通信を開始する(ステップS018)。そして携帯電話100Aと100Cの間では、P2P通信に従うメッセージなどのデータ通信が行なわれる。   Thus, mobile phone 100A and mobile phone 100C authenticate each other. When the authentication is completed, the mobile phone 100A and the mobile phone 100C start P2P communication (step S018). Then, data communication such as messages according to P2P communication is performed between the mobile phones 100A and 100C.

その後、携帯電話100Aが、携帯電話100CにP2P通信を切断する旨のメッセージを送信すると(ステップS030)、携帯電話100Cは、携帯電話100Aに切断する要求を受付けた旨のメッセージを送信する(ステップS032)。   Thereafter, when mobile phone 100A transmits a message to P2P communication to mobile phone 100C (step S030), mobile phone 100C transmits a message to mobile phone 100A that the request to disconnect has been received (step S030). S032).

<通信フレームの構成>
図14にはフレームの基本的構成が示される。図15〜図22には、携帯電話100とマッチングサーバ400の間で送受信されるフレームの構成が示され、図23と図24には、ルームへの参加またはルームからの脱退というイベントを検出した場合に、当該イベント発生を通知するために、マッチングサーバ400から当該ルームに参加している携帯電話100宛てに送信されるフレームの構成が示される。
<Configuration of communication frame>
FIG. 14 shows the basic structure of a frame. FIGS. 15 to 22 show the configuration of frames transmitted and received between the mobile phone 100 and the matching server 400. FIGS. 23 and 24 detect an event of joining or leaving a room. In this case, in order to notify the occurrence of the event, the configuration of a frame transmitted from the matching server 400 to the mobile phone 100 participating in the room is shown.

図14を参照してフレームは、基本的に、ヘッダ部610とデータ部620を含む。ヘッダ部610には、当該フレームの種別(タイプ)を指示するデータ611、当該フレームの宛先‘DD’を示すデータ612および当該フレームの送信元‘SD’を示すデータ613が格納される。データ部620は、送信すべきデータを格納する。   Referring to FIG. 14, the frame basically includes a header portion 610 and a data portion 620. The header portion 610 stores data 611 indicating the type (type) of the frame, data 612 indicating the destination ‘DD’ of the frame, and data 613 indicating the source ‘SD’ of the frame. The data part 620 stores data to be transmitted.

データ611が示すタイプは、本実施の形態では、要求フレームであることを示す“1”と、要求の受付フレームであることを示す“0”と、通知フレームであることを示す“2”のいずれかの値となる。また、本実施の形態ではフレームは、携帯電話100とマッチングサーバ400との間で送受信されるため、データ612および613としては、携帯電話100の記憶部103から読出されたメールアドレスのデータ1037、およびマッチングサーバアドレスのデータMSADまたは記憶領域103FのアドレスデータSEV_ADRが格納される。   In this embodiment, the type indicated by the data 611 is “1” indicating a request frame, “0” indicating a request reception frame, and “2” indicating a notification frame. One of the values. In this embodiment, since the frame is transmitted / received between the mobile phone 100 and the matching server 400, the data 612 and 613 include the mail address data 1037 read from the storage unit 103 of the mobile phone 100, Further, data MSAD of matching server address or address data SEV_ADR of the storage area 103F is stored.

携帯電話100のルーム検索要求部1073が、ルーム管理テーブルRMTBL[]のルームの検索を要求する場合には、フレーム生成部1063が図15のルーム検索要求のフレーム599を生成する。生成したフレームはサーバ通信部1081によってマッチングサーバ400宛てに送信される。   When the room search request unit 1073 of the mobile phone 100 requests a room search of the room management table RMTBL [], the frame generation unit 1063 generates the frame 599 of the room search request in FIG. The generated frame is transmitted to the matching server 400 by the server communication unit 1081.

フレーム599は、データ611が“1”を指示し、データ612および613として、記憶部103から読出されたマッチングサーバ400のアドレスデータSEV_ADRとメールアドレスのデータ1037がそれぞれ格納される。また、データ部620には、検索の命令コード(‘RM_SEARCH’)621と、ルーム名のデータ622と、IPアドレスのデータ623とが格納される。データ622として、検索すべきルームのルーム名のデータが格納される。データ623として、送信元の携帯電話100に予め割当てられたIPアドレスのデータMY_IPADRが、記憶部103から読出されて格納される。   In frame 599, data 611 indicates “1”, and address data SEV_ADR and mail address data 1037 of matching server 400 read from storage unit 103 are stored as data 612 and 613, respectively. Further, the data part 620 stores a search instruction code ('RM_SEARCH') 621, room name data 622, and IP address data 623. As the data 622, room name data of a room to be searched is stored. As data 623, data MY_IPADR of an IP address assigned in advance to the mobile phone 100 of the transmission source is read from the storage unit 103 and stored.

マッチングサーバ400は、ルーム検索要求のフレーム599を受信した場合に、フレーム生成部423は、図16のルーム検索受付のフレーム600を生成し、要求元の携帯電話100宛てに送信する。フレーム600は、ヘッダ部610においてデータ611は“0”を示し、データ612として受信したフレーム599のデータ613が格納される。また、データ613として、記憶部406から読出したマッチングサーバアドレスのデータMSADが格納される。データ部620には、命令コード621として空データが格納される。また、受信したルーム検索要求のフレーム599のデータ622が格納される。また、ルーム検索要求に基づき検索受付部421Bがルーム管理テーブルRMTBL[]を検索した結果のデータ626が格納される。データ626は、検索が要求されたルームが、すなわちデータ622が指すルーム名のデータRMTBL[i].RMNMがルーム管理テーブルRMTBL[]に格納されていた場合には‘0’(=‘OK’)を指示し、格納されていなかった場合には‘−1’(=‘ERROR’)を指示する。   When the matching server 400 receives the room search request frame 599, the frame generation unit 423 generates the room search reception frame 600 of FIG. 16 and transmits it to the requesting mobile phone 100. In the frame 600, the data 611 indicates “0” in the header portion 610, and the received data 613 of the frame 599 is stored as the data 612. Further, the data MSAD of the matching server address read from the storage unit 406 is stored as the data 613. In the data portion 620, empty data is stored as the instruction code 621. Further, data 622 of the frame 599 of the received room search request is stored. Further, data 626 as a result of the search reception unit 421B searching the room management table RMTBL [] based on the room search request is stored. The data 626 is “0” (= “OK”) when the room requested to be searched, that is, the room name data RMTBL [i] .RMNM indicated by the data 622 is stored in the room management table RMTBL []. ) Is indicated, and if it is not stored, “−1” (= “ERROR”) is indicated.

携帯電話100が、ルーム開設を要求する場合には、フレーム生成部1063が図17のルーム開設要求のフレーム601を生成する。生成したフレーム601は、サーバ通信部1081によってマッチングサーバ400に宛てて送信される。   When the mobile phone 100 requests room opening, the frame generation unit 1063 generates the room opening request frame 601 of FIG. The generated frame 601 is transmitted to the matching server 400 by the server communication unit 1081.

フレーム601は、データ611が“1”を指示し、データ612および613として、記憶部103から読出されたマッチングサーバ400のアドレスデータSEV_ADRとメールアドレスのデータ1037がそれぞれ格納される。また、データ部620には、開設の命令コード(‘RM_CREATE’)621と、ルーム名のデータ622と、IPアドレスのデータ623と、さらにルーム開設の条件を示すパラメータとしてルーム開設目的のデータ627と、当該ルームの定員数のデータ628とが格納される。データ622として、ルーム名生成部1072によって生成されたルーム名のデータが格納される。データ623として、送信元の携帯電話100に予め割当てられたIPアドレスのデータMY_IPADRが、記憶部103から読出されて格納される。データ627および628は、たとえば、記憶部103の所定領域に予め記憶したデータ、または入力受付部1064が外部から入力したデータを指す。   In the frame 601, the data 611 indicates “1”, and the address data SEV_ADR of the matching server 400 and the mail address data 1037 read from the storage unit 103 are stored as the data 612 and 613, respectively. Also, the data section 620 includes an opening instruction code ('RM_CREATE') 621, room name data 622, IP address data 623, and room opening purpose data 627 as parameters indicating the room opening conditions. , The data 628 of the number of persons in the room is stored. As the data 622, room name data generated by the room name generation unit 1072 is stored. As data 623, data MY_IPADR of an IP address assigned in advance to the mobile phone 100 of the transmission source is read from the storage unit 103 and stored. The data 627 and 628 indicate, for example, data stored in advance in a predetermined area of the storage unit 103 or data input from the outside by the input receiving unit 1064.

マッチングサーバ400は、ルーム開設要求のフレーム601を受信した場合に、フレーム生成部423は、図18のルーム開設受付のフレーム602を生成し、要求元の携帯電話100宛てに送信する。フレーム602は、ヘッダ部610においてデータ611は“0”を示し、データ612として受信したフレーム601のデータ613が格納される。また、データ613として、メモリ406から読出したマッチングサーバアドレスのデータMSADが格納される。データ部620には、命令コード621として空データが格納される。また、受信したルーム開設要求フレーム601のデータ622が格納される。また、データ624として、ルーム開設要求に基づいたルーム開設部420によるルーム開設の結果のデータが格納される。データ624は、データ622が指すルーム名のルーム開設に成功した場合には‘0’(=‘OK’)を指示し、開設できなかった場合には‘−1’(=‘ERROR’)を指示する。開設できない場合とは、たとえば、既に、同一ルーム名のルームが開設されている場合、またはルーム管理テーブルRMTBL[]の空領域が無い場合などである。   When the matching server 400 receives the room opening request frame 601, the frame generation unit 423 generates the room opening reception frame 602 of FIG. 18 and transmits it to the requesting mobile phone 100. In the frame 602, the data 611 indicates “0” in the header portion 610, and the received data 613 of the frame 601 is stored as the data 612. Further, data MSAD of the matching server address read from the memory 406 is stored as the data 613. In the data portion 620, empty data is stored as the instruction code 621. In addition, data 622 of the received room opening request frame 601 is stored. Further, as the data 624, data on the result of room opening by the room opening unit 420 based on the room opening request is stored. The data 624 indicates “0” (= “OK”) when the room name indicated by the data 622 is successfully opened, and “−1” (= “ERROR”) when the room cannot be opened. Instruct. The case where it cannot be opened is, for example, a case where a room having the same room name has already been opened, or a case where there is no empty area in the room management table RMTBL [].

携帯電話100のルーム参加要求部1075が、ルームへの参加を要求する場合には、フレーム生成部1063が図19のルーム参加要求のフレーム603を生成する。生成したフレーム603はサーバ通信部1081によってマッチングサーバ400に宛てて送信される。   When the room participation request unit 1075 of the mobile phone 100 requests participation in the room, the frame generation unit 1063 generates the room participation request frame 603 of FIG. The generated frame 603 is transmitted to the matching server 400 by the server communication unit 1081.

フレーム603は、データ611が“1”を指示し、データ612および613として、記憶部103から読出されたマッチングサーバ400のアドレスデータSEV_ADRとメールアドレスのデータ1037がそれぞれ格納される。また、データ部620には、参加の命令コード(‘RM_ENTRY’)621と、ルーム名のデータ622と、IPアドレスのデータ623とが格納される。データ622として、参加すべきルームのルーム名のデータが格納される。データ623として、送信元の携帯電話100に予め割当てられたIPアドレスのデータMY_IPADRが、記憶部103から読出されて格納される。   In the frame 603, the data 611 indicates “1”, and the address data SEV_ADR of the matching server 400 and the mail address data 1037 read from the storage unit 103 are stored as the data 612 and 613, respectively. The data section 620 stores a participation instruction code ('RM_ENTRY') 621, room name data 622, and IP address data 623. As the data 622, data on the room name of the room to participate in is stored. As data 623, data MY_IPADR of an IP address assigned in advance to the mobile phone 100 of the transmission source is read from the storage unit 103 and stored.

携帯電話100が図19のルーム参加要求のフレーム603を送信した場合において、マッチングサーバ400の参加受付部421Aは当該フレーム603のデータ622が指示するルーム名に基づきルーム管理テーブルRMTBL[]を検索する。検索結果に基づき、図20に示すルーム参加受付のフレーム604が生成されて、要求元の携帯電話100に送信される。   When the mobile phone 100 transmits the room participation request frame 603 of FIG. 19, the participation reception unit 421A of the matching server 400 searches the room management table RMTBL [] based on the room name indicated by the data 622 of the frame 603. . Based on the search result, a room participation reception frame 604 shown in FIG. 20 is generated and transmitted to the requesting mobile phone 100.

具体的には、検索結果、データ622が指示するルーム名を有するルームが既に開設されていると判定した場合には、マッチング処理により、参加要求元の携帯電話100と、指示されたルーム名のルームに既に参加していた携帯電話100のそれぞれに宛てて図20の参加受付フレーム604が生成されて送信される。   Specifically, if it is determined that a room having the room name indicated by the data 622 has already been opened as a result of the search, the matching request is made to the mobile phone 100 of the participation request source and the specified room name. A participation acceptance frame 604 of FIG. 20 is generated and transmitted to each of the mobile phones 100 that have already participated in the room.

参加要求元の携帯電話100宛のフレーム604は、データ部620において、ルーム参加要求のフレーム603のデータ622が格納される。また、当該ルーム参加要求が受付けられたことを示す“参加受付(値‘0’)”を示すデータ624と、当該ルームに既に参加している他のユーザの携帯電話100のIPアドレスのデータRMTBL[i].IPA[j]が、ルーム管理テーブルRMTBL[]から読出されてデータ625として格納される。   The data 620 stores the data 622 of the room participation request frame 603 in the frame 604 addressed to the participation request source mobile phone 100. Further, data 624 indicating “participation acceptance (value“ 0 ”)” indicating that the room participation request has been received, and data RMTBL of the IP address of the mobile phone 100 of another user already participating in the room. [i] .IPA [j] is read from the room management table RMTBL [] and stored as data 625.

既に当該ルームに参加していた携帯電話100宛てのフレーム604は、ヘッダ部610のデータ611は“0”を指し、データ612はこの携帯電話100のメールアドレスを指示し、データ613はマッチングサーバアドレスのデータMSADを指す。データ612のメールアドレスは、ルーム管理テーブルRMTBL[]を検索して読出した当該ルーム名を指示するデータRMTBL[i].RMNMに対応して格納されたメールアドレスのデータRMTBL[i].MA[j]を指す。データ部620には、ルーム参加要求のフレーム603のデータ622が格納される。また、当該ルーム参加要求が受付けられたことを示す“参加受付”(値‘0’)を示すデータ624と、当該ルームに参加要求をした他の携帯電話100のIPアドレスを指すデータ625が格納される。   In the frame 604 addressed to the mobile phone 100 that has already joined the room, the data 611 of the header portion 610 indicates “0”, the data 612 indicates the mail address of the mobile phone 100, and the data 613 indicates the matching server address. Points to data MSAD. The email address of the data 612 is the email address data RMTBL [i] .MA [stored in correspondence with the data RMTBL [i] .RMNM indicating the room name retrieved by searching the room management table RMTBL []. j]. The data portion 620 stores data 622 of the room participation request frame 603. Further, data 624 indicating “acceptance participation” (value “0”) indicating that the room participation request has been received, and data 625 indicating the IP address of another mobile phone 100 that has requested to participate in the room are stored. Is done.

なお、参加の受付けに成功しなかった場合には、すなわち検索結果に基づきルーム管理テーブルRMTBL[]において要求したルームが未開設であると検出した場合には、データ624には、参加を受付なったことを指す値‘−1’が設定されたフレーム604が要求元の携帯電話100に送信される。   If the participation is not successfully accepted, that is, if it is detected that the requested room is not established in the room management table RMTBL [] based on the search result, the participation is accepted in the data 624. A frame 604 in which a value “−1” indicating this is set is transmitted to the requesting mobile phone 100.

携帯電話100のルーム脱退要求部1076が、ルームからの脱退をマッチングサーバ400に対して要求する場合には、フレーム生成部1063が図21に示すルーム脱退要求のフレーム605をマッチングサーバ400に宛てて送信する。フレーム605は、ヘッダ部610においてデータ611が“1”を指示し、データ612および613として、記憶部103から読出されたマッチングサーバ400のアドレスデータSEV_ADRとメールアドレスのデータ1037がそれぞれ格納される。また、データ部620には、脱退の命令コード(‘RM_LEAVE’)621と、脱退するべきルームのルーム名のデータ622と、IPアドレスのデータ623とが格納される。データ623として、ルーム脱退要求フレーム送信元の携帯電話100に予め割当てられたIPアドレスのデータMY_IPADRが、記憶部103から読出されて格納される。   When the room withdrawal request unit 1076 of the mobile phone 100 requests the matching server 400 to leave the room, the frame generation unit 1063 sends the room withdrawal request frame 605 shown in FIG. 21 to the matching server 400. Send. In frame 605, data 611 indicates “1” in header section 610, and address data SEV_ADR and mail address data 1037 of matching server 400 read from storage section 103 are stored as data 612 and 613, respectively. Further, the data part 620 stores a withdrawal instruction code ('RM_LEAVE') 621, room name data 622 of the room to be withdrawn, and IP address data 623. As data 623, data MY_IPADR of an IP address previously assigned to the mobile phone 100 of the room withdrawal request frame transmission source is read from the storage unit 103 and stored.

マッチングサーバ400は、ルーム脱退要求のフレーム605を受信した場合に、フレーム生成部423は、図22のルーム脱退受付のフレーム606を生成し、要求元の携帯電話100宛てに送信する。フレーム606は、ヘッダ部610においてデータ611は“0”を示し、データ612として受信したフレーム605のデータ613が格納される。また、データ613として、記憶部406から読出したマッチングサーバアドレスのデータMSADが格納される。データ部620には、命令コード621として空データが格納される。また、受信したルーム脱退要求のフレーム605のデータ622が格納される。また、データ624として、ルーム脱退要求に基づきルーム脱退受付部421Cが脱退処理した結果のデータ624が格納される。データ624は、データ622が指すルーム名のルームからの脱退に成功した場合には‘0’(=‘OK’)を指示し、成功しなかった場合には‘−1’(=‘ERROR’)を指示する。脱退処理とは、ルーム脱退受付部421Cが、ルーム脱退要求フレーム605のデータ622のルーム名を指すデータRMTBL[i].RMNMに対応のデータRMTBL[i].IPA[j]のうち、ルーム脱退要求フレーム605のデータ623のIPアドレスを指すデータを削除する処理をいう。このデータRMTBL[].IPA[j]の削除処理は、当該データRMTBL[i].IPA[j]の領域を新たなIPアドレスを格納可能な領域に更新する処理であればよい。たとえば、当該領域に空データ(NULLデータ)を書込むことにより削除するとしてもよい。   When the matching server 400 receives the room withdrawal request frame 605, the frame generation unit 423 generates the room withdrawal acceptance frame 606 of FIG. 22 and transmits it to the requesting mobile phone 100. In the frame 606, the data 611 indicates “0” in the header portion 610, and the received data 613 of the frame 605 is stored as the data 612. Further, the data MSAD of the matching server address read from the storage unit 406 is stored as the data 613. In the data portion 620, empty data is stored as the instruction code 621. Also, data 622 of the received room withdrawal request frame 605 is stored. Further, data 624 is stored as data 624 as a result of the withdrawal process performed by the room withdrawal acceptance unit 421C based on the room withdrawal request. The data 624 indicates “0” (= “OK”) if the withdrawal of the room name indicated by the data 622 is successful, and “−1” (= “ERROR”) if the withdrawal is not successful. ) Withdrawal processing means that the room withdrawal acceptance unit 421C includes room withdrawal from the data RMTBL [i] .IPA [j] corresponding to the data RMTBL [i] .RMNM indicating the room name of the data 622 of the room withdrawal request frame 605. This is a process for deleting data indicating the IP address of the data 623 in the request frame 605. The deletion process of the data RMTBL []. IPA [j] may be a process for updating the area of the data RMTBL [i] .IPA [j] to an area where a new IP address can be stored. For example, it may be deleted by writing empty data (NULL data) in the area.

図23と図24を参照して参加と脱退のイベント通知のフレームについて説明する。図23および図24の通知フレームのいずれも、ヘッダ部610においては、種別データ611は値“2”を指示し、データ612は、当該フレームの宛先アドレス、すなわち当該ルームに参加している携帯電話100のメールアドレスを示す。このメールアドレスは、参加または脱退の対象ルームのデータRMTBL[i]のデータRMTBL[i].MA[j]を、ルーム管理テーブルRMTBL[]から読出して当該ヘッダ部610に格納することにより設定される。データ613は送信元アドレス、すなわちメモリ406から読出されたマッチングサーバアドレスのデータMSADが読出されて格納される。   The event notification frames for participation and withdrawal will be described with reference to FIGS. In both of the notification frames of FIGS. 23 and 24, in the header portion 610, the type data 611 indicates the value “2”, and the data 612 is the destination address of the frame, that is, the mobile phone participating in the room 100 email addresses are shown. This e-mail address is set by reading the data RMTBL [i] .MA [j] of the data RMTBL [i] of the room to be joined or withdrawn from the room management table RMTBL [] and storing it in the header section 610. The The data 613 is read from the transmission source address, that is, the data MSAD of the matching server address read from the memory 406 and stored.

データ部620に関して、図23の参加のイベント通知フレーム607では、命令コード621としてルームに新たな端末が参加したことを通知するためのコマンドMEM_APPENDが格納され、データ622には、端末の参加が検出されたルームのルーム名を指すデータRMTBL[i].RMNMが格納される。データ623には、当該ルームに新たに参加した端末のIPアドレスのデータRMTBL[i].IPA[j]が、ルーム管理テーブルRMTBL[]から読出されて格納される。   In the participation event notification frame 607 in FIG. 23 regarding the data part 620, a command MEM_APPEND for notifying that a new terminal has joined the room is stored as the instruction code 621, and the participation of the terminal is detected in the data 622. Stores data RMTBL [i] .RMNM that indicates the room name of the room. In the data 623, IP address data RMTBL [i] .IPA [j] of the terminal newly participating in the room is read from the room management table RMTBL [] and stored.

データ部620に関して、図24の脱退のイベント通知フレーム608では、命令コード621として脱退端末が発生したことを示すコマンドMEM_LEAVEが格納され、データ622には、端末の脱退が生じたルームのルーム名が、すなわちデータRMTBL[i].RMNMが、データ623には、脱退を要求した端末のIPアドレスのデータRMTBL[i].IPA[j]が、それぞれルーム管理テーブルRMTBL[]から読出されて格納される。   With respect to the data portion 620, in the withdrawal event notification frame 608 of FIG. 24, a command MEM_LEAVE indicating that a withdrawal terminal has occurred is stored as the instruction code 621, and the room name of the room where the withdrawal of the terminal has occurred is stored in the data 622. That is, data RMTBL [i] .RMNM is stored in data 623, and data RMTBL [i] .IPA [j] of the IP address of the terminal that requested the withdrawal is read from the room management table RMTBL [] and stored. The

<マッチングサーバからの通知に応じた処理>
携帯電話100が、マッチングサーバ400から図23の参加通知フレーム607を受信した場合には、通知処理部1069は、参加通知フレーム607のデータ622に基づきルームデータベースRMDBを検索する。検索結果に基づき、データ622のルーム名を指すデータRNに対応するデータIPAに、参加通知フレーム607のデータ623が指すIPアドレスのデータを格納する。これにより、当該ルームに新たに参加したユーザのIPアドレスを取得できる。
<Processing according to notification from matching server>
When the mobile phone 100 receives the participation notification frame 607 of FIG. 23 from the matching server 400, the notification processing unit 1069 searches the room database RMDB based on the data 622 of the participation notification frame 607. Based on the search result, the data of the IP address indicated by the data 623 of the participation notification frame 607 is stored in the data IPA corresponding to the data RN indicating the room name of the data 622. Thereby, the IP address of the user who newly joined the room can be acquired.

また、携帯電話100が、マッチングサーバ400から図24の脱退通知フレーム608を受信した場合には、通知処理部1069は、脱退通知フレーム608のデータ622に基づきルームデータベースRMDBを検索する。検索結果に基づき、データ622のルーム名を指すデータRNに対応するデータIPAから、脱退通知フレーム608のデータ623が指すIPアドレスのデータを削除する。これにより、当該ルームから脱退したユーザのIPアドレスを破棄することができる。   In addition, when the mobile phone 100 receives the withdrawal notification frame 608 of FIG. 24 from the matching server 400, the notification processing unit 1069 searches the room database RMDB based on the data 622 of the withdrawal notification frame 608. Based on the search result, the data of the IP address indicated by the data 623 of the withdrawal notification frame 608 is deleted from the data IPA corresponding to the data RN indicating the room name of the data 622. Thereby, the IP address of the user who withdrew from the room can be discarded.

<携帯電話の処理>
図25を参照して、本実施の形態に係る携帯電話100におけるルームへのアクセスまたはP2P通信を開始する場合の処理手順について説明する。
<Mobile phone processing>
With reference to FIG. 25, a processing procedure in the case of starting access to a room or P2P communication in mobile phone 100 according to the present embodiment will be described.

まず、入力受付部1064は、タブレット119または入力部110がユーザによって操作されて、何らかの指示が与えられるか否かを判定する(ステップS201)。何らの操作もされない間は、ステップS201の判定処理が繰返される。   First, the input receiving unit 1064 determines whether or not any instruction is given by the user operating the tablet 119 or the input unit 110 (step S201). While no operation is performed, the determination process in step S201 is repeated.

一方、何らかの操作がされて入力が検知されると(ステップS201でYES)、入力受付部1064は、タブレット119または入力部110から与えられる信号に基づき、P2Pボタン110Cが操作されたか否かを判定する(ステップS203)。P2Pボタン110C以外の操作がされたと判定すると(ステップS203でNO)、操作されたボタンの種類に応じた他の処理へ移行する。この他の処理については、説明を略す。   On the other hand, when an operation is performed and an input is detected (YES in step S201), input receiving unit 1064 determines whether or not P2P button 110C is operated based on a signal provided from tablet 119 or input unit 110. (Step S203). If it is determined that an operation other than the P2P button 110C has been performed (NO in step S203), the process proceeds to another process according to the type of the operated button. Description of other processing is omitted.

一方、P2Pボタン110Cが操作されたと判定すると(ステップS203でYES)、CPU106Aは、記憶部103の所定記憶領域から読出した画像データに基づき、ディスプレイ107に図26(A)〜(C)のメニュー画面を表示する(ステップS205)。   On the other hand, if it is determined that the P2P button 110C has been operated (YES in step S203), the CPU 106A displays the menus shown in FIGS. 26A to 26C on the display 107 based on the image data read from the predetermined storage area of the storage unit 103. A screen is displayed (step S205).

図26(A)には、P2Pボタン110Cが操作された場合のメニュー画面の一例が示される。メニュー画面においては、P2P通信の開始およびルームアクセス(開設、参加、検索および脱退)のいずれかを要求するために指定されるアイコン1071が表示されるとともに、当該アイコンに示された要求を入力するために操作されるボタン1073が表示される。たとえば、ユーザが“ルーム開設”のアイコン1071を操作してボタン1073を操作すると、ディスプレイ107の画面は、図26(B)の画面に切り替えられる。図26(B)においては“ルーム開設”の要求のアイコン1071が選択された状態と、ルーム開設要求のために必要とされるデータの入力をするためのウインドウ1072が表示される。ウインドウ1072は、開設すべきルームのルーム名、ならびにルーム開設の条件を指すパラメータとしてルームの開設目的(0:知人用のルーム、1:コミュニティ用のルーム)、および当該ルームに参加可能な最大端末数(定員数)を入力するために表示される。   FIG. 26A shows an example of a menu screen when the P2P button 110C is operated. On the menu screen, an icon 1071 designated for requesting either the start of P2P communication or room access (opening, participation, search, and withdrawal) is displayed, and the request indicated by the icon is input. A button 1073 operated for the purpose is displayed. For example, when the user operates the button 1073 by operating the “room establishment” icon 1071, the screen of the display 107 is switched to the screen of FIG. In FIG. 26B, a state in which the “room opening” request icon 1071 is selected and a window 1072 for inputting data necessary for the room opening request are displayed. The window 1072 displays the room name of the room to be opened and the purpose of opening the room as parameters indicating the conditions for opening the room (0: room for acquaintance, 1: room for community), and the maximum terminal that can participate in the room Displayed to enter a number (capacity).

なお、ルーム名の入力は、スタイラスペン120を操作してウインドウ1072から直接に所望のルーム名を入力してもよく、または、ルーム名生成のためのパラメータを入力するとしてもよい。パラメータが入力された場合には、ルーム名生成部1072は、入力したパラメータに基づき所定手順に従いルーム名を生成する。入力または生成されたルーム名は、記憶部103の記憶領域103DにデータTNMとして格納される。以降の、各種要求フレームの生成時には、当該データTMNが記憶領域103Dから読出されて用いられる、と想定する。   The room name may be input by operating the stylus pen 120 to input a desired room name directly from the window 1072 or by inputting a parameter for generating a room name. When a parameter is input, the room name generation unit 1072 generates a room name according to a predetermined procedure based on the input parameter. The input or generated room name is stored as data TNM in the storage area 103D of the storage unit 103. In the subsequent generation of various request frames, it is assumed that the data TMN is read from the storage area 103D and used.

図26(C)には、図26(A)のメニュー画面において“ルーム参加”のアイコン1071が選択されて、“ルーム参加”の要求が入力された場合の表示画面の一例が示される。図26(C)では、参加を希望するルームのルーム名を入力するためのウインドウ1072が表示される。このルーム名の入力時には、上述のルーム名の入力・生成の他に記憶部103のルームデータベースRMDBから読出したルーム名のデータRNがリスト形式で表示されて、そのリストから選択的に入力するとしてもよい。   FIG. 26C shows an example of a display screen when the “room participation” icon 1071 is selected on the menu screen of FIG. 26A and a “room participation” request is input. In FIG. 26C, a window 1072 for inputting a room name of a room desired to participate is displayed. When inputting the room name, the room name data RN read from the room database RMDB of the storage unit 103 is displayed in a list format in addition to the above-described input and generation of the room name, and is selectively input from the list. Also good.

図26のメニュー画面においてユーザが所望の項目を選択すると、図25のステップS207において、入力受付部1064は、ユーザが選択した項目を検出する。検出の結果、“P2P通信”が選択された場合には、P2P処理部1068が起動される(ステップS209)。P2P処理部1068は、記憶部103から読出したIPアドレスMY_IPADRとルームデータベースRMDBから読出したユーザが指定するIPアドレスのデータIPAを用いてP2P通信部1082を介して、P2P通信が行なわれる。その後、処理は、終了する。   When the user selects a desired item on the menu screen of FIG. 26, in step S207 of FIG. 25, the input reception unit 1064 detects the item selected by the user. If “P2P communication” is selected as a result of the detection, the P2P processing unit 1068 is activated (step S209). The P2P processing unit 1068 performs P2P communication via the P2P communication unit 1082 using the IP address MY_IPADR read from the storage unit 103 and the data IPA of the IP address specified by the user read from the room database RMDB. Thereafter, the process ends.

“ルーム開設”が選択された場合にはルーム開設要求部1074により、ルーム開設要求処理(ステップS211)が行なわれる。“ルーム参加”が選択された場合にはルーム参加要求部1075により、ルーム参加要求処理(ステップS213)が行なわれる。“ルーム検索”が選択された場合にはルーム検索要求部1073によりルーム検索要求処理(ステップS215)が行なわれる。“ルーム脱退”が選択された場合には、ルーム脱退要求部1076により、ルーム脱退要求処理(ステップS217)が行なわれる。ステップS211、S213、S215およびS217の処理後、これら各処理において生成された要求フレームが、サーバ通信部1081を介してマッチングサーバ400宛てに送信される(ステップS219)。   When “room establishment” is selected, the room establishment request unit 1074 performs room establishment request processing (step S211). When “room participation” is selected, room participation request processing (step S213) is performed by the room participation request unit 1075. If “Room Search” is selected, the room search request unit 1073 performs room search request processing (step S215). If “room withdrawal” is selected, the room withdrawal request unit 1076 performs room withdrawal request processing (step S217). After the processes in steps S211, S213, S215, and S217, the request frame generated in each of these processes is transmitted to the matching server 400 via the server communication unit 1081 (step S219).

マッチングサーバ400においては、携帯電話100からステップS219において送信された要求フレームを受信すると、受信した要求フレームのデータに従う処理を実行し、要求フレームを受付けたことを示す受付フレームを生成し、当該携帯電話100宛に送信する。要求元の携帯電話100のサーバ通信部1081は、マッチングサーバ400から、この受付フレームを受信し、フレーム解析部1062はフレームのデータを解析し解析結果を、データ更新部1070に与えるとともに、通知処理部1065に与える。通知処理部1065は、与えられる解析結果に基づき、要求の受付結果を、第1の報知部111または第2の報知部112を制御して、ベルの鳴動、携帯電話100自体の振動、またはLEDの点灯制御によりユーザに対し報知する(ステップS213)。この報知は、ディスプレイ107において、画像として出力されてもよい。   When the matching server 400 receives the request frame transmitted from the mobile phone 100 in step S219, the matching server 400 executes processing according to the received request frame data, generates a reception frame indicating that the request frame has been received, and Send to phone 100. The server communication unit 1081 of the requesting mobile phone 100 receives the received frame from the matching server 400, and the frame analysis unit 1062 analyzes the frame data and provides the analysis result to the data update unit 1070, as well as notification processing Part 1065. The notification processing unit 1065 controls the first notification unit 111 or the second notification unit 112 based on the given analysis result to control the ringing of the bell, the vibration of the mobile phone 100 itself, or the LED The user is notified by the lighting control of (step S213). This notification may be output as an image on the display 107.

データ更新部1070は、与えられる解析結果に基づき、記憶部103のルームデータベースRMDBを検索し、ルームデータベースRMDBのデータを更新する。具体的には、ルーム開設要求の受付が成功したことを指すフレーム602を受信した場合には、フレーム602のデータ622が指すルーム名のデータRNをルームデータRMDBに格納する。   The data update unit 1070 searches the room database RMDB in the storage unit 103 based on the given analysis result, and updates the data in the room database RMDB. Specifically, when the frame 602 indicating that the room opening request has been successfully received is received, the room name data RN indicated by the data 622 of the frame 602 is stored in the room data RMDB.

ルーム参加要求を受付けた旨のフレーム604を受信した場合には、当該フレーム604から読出した他の参加端末のIPアドレスのデータ625を、ルームデータベースRMDBにおいて、当該フレーム604のデータ622が指すルーム名のデータRNに対応付けて、データIPAとして格納する。   When the frame 604 indicating that the room participation request has been received is received, the IP address data 625 of the other participating terminals read from the frame 604 is stored in the room database RMDB with the room name indicated by the data 622 of the frame 604 The data is stored as data IPA in association with the data RN.

ルーム検索要求の受付が失敗したことを指すフレーム600を受信した場合には、当該ルームは開設されていないと判定して、フレーム600のデータ622が指すルーム名のデータRNをルームデータRMDBから削除するようにしてもよい。   When the frame 600 indicating that reception of the room search request has failed is received, it is determined that the room is not established, and the room name data RN indicated by the data 622 of the frame 600 is deleted from the room data RMDB. You may make it do.

またルーム脱退要求に対する受付フレーム606を受信した場合には、脱退を要求したルームのデータRNとこれに対応のデータIPAをルームデータベースRMDBから削除する。その後、処理は終了する。   When the reception frame 606 for the room withdrawal request is received, the data RN of the room that requested the withdrawal and the data IPA corresponding thereto are deleted from the room database RMDB. Thereafter, the process ends.

<マッチングサーバの処理>
図27を参照して、マッチングサーバ400において定期的に繰返されるメイン処理について説明する。
<Processing of matching server>
With reference to FIG. 27, the main process periodically repeated in the matching server 400 will be described.

まず、マッチングサーバ400のサーバ通信部409は、インターネット500から何らかのデータを受信するか否かを判定する(ステップS3)。データの受信が検出されないと、後述のルーム削除処理(ステップS27)を開始する。   First, the server communication unit 409 of the matching server 400 determines whether or not any data is received from the Internet 500 (step S3). If reception of data is not detected, a room deletion process (step S27) described later is started.

一方、データの受信があった場合(ステップS3でYES)、受信データは、フレーム解析部424に与えられる。フレーム解析部424は、与えられるデータ、すなわちフレームのデータを解析し、解析結果に基づき、命令コード621がRM_CREATE、RM_ENTRY、RM_LEAVEおよびMEM_APPENDのいずれを指示するかを判定する(ステップS5、S15、S19、S23)。RM_CREATEを指示すると判定した場合には(ステップS5でYES)、ルーム開設部20が起動されて、ルーム開設処理が実行される(ステップS7)。RM_ENTRYを指示すると判定した場合には(ステップS15でYES)、参加受付部421Aが起動されて、参加受付部421Aにより参加処理が実行される(ステップS17)。RM_LEAVEを指示すると判定した場合には(ステップS19でYES)、脱退受付部421Cが起動されて、脱退受付部421Cにより脱退処理が実行される(ステップS21)。RM_SEARCHを指示すると判定した場合には(ステップS23でYES)、検索受付部421Bが起動されて、検索受付部421Bにより検索処理が実行される(ステップS25)。   On the other hand, if data has been received (YES in step S3), the received data is provided to the frame analysis unit 424. The frame analysis unit 424 analyzes given data, that is, frame data, and determines whether the instruction code 621 indicates RM_CREATE, RM_ENTRY, RM_LEAVE, or MEM_APPEND based on the analysis result (steps S5, S15, and S19). , S23). When it is determined that RM_CREATE is instructed (YES in step S5), the room opening unit 20 is activated and the room opening process is executed (step S7). When it is determined that RM_ENTRY is instructed (YES in step S15), the participation reception unit 421A is activated, and the participation process is executed by the participation reception unit 421A (step S17). If it is determined that RM_LEAVE is instructed (YES in step S19), the withdrawal accepting unit 421C is activated and the withdrawal process is executed by the withdrawal accepting unit 421C (step S21). If it is determined that RM_SEARCH is instructed (YES in step S23), the search reception unit 421B is activated and the search processing is executed by the search reception unit 421B (step S25).

ステップS7、S17、S21およびS25の処理の結果を格納した戻り値RTに基づき、CPU405は、当該戻り値RTがエラー(ERROR)を指示するか否かを判定する(ステップS9)。エラーを指示しないと判定した場合には(ステップS9でNO)、要求元の携帯電話100に対し要求を受付けたことを指示する値0(OK)を格納した受付フレームを、フレーム生成部423によって生成し、サーバ通信部409を介して送信する(ステップS11)。戻り値RTがエラーを指示すると判定すると(ステップS9でYES)、フレーム生成部423によって要求の受付結果として値−1(ERROR)を格納した受付フレームを生成し、サーバ通信部409を介して送信する(ステップS13)。受付フレームを送信後は、処理は、ステップS3に戻る。   Based on the return value RT storing the results of the processes of steps S7, S17, S21, and S25, the CPU 405 determines whether or not the return value RT indicates an error (ERROR) (step S9). If it is determined not to indicate an error (NO in step S9), the frame generation unit 423 generates a reception frame storing a value 0 (OK) indicating that the request is received from the requesting mobile phone 100. Generated and transmitted via the server communication unit 409 (step S11). If it is determined that the return value RT indicates an error (YES in step S9), the frame generation unit 423 generates a reception frame storing the value -1 (ERROR) as a request reception result, and transmits it via the server communication unit 409. (Step S13). After transmitting the acceptance frame, the process returns to step S3.

フレーム解析部424の解析結果に基づき、受信フレームの命令コード621はRM_CREATE、RM_ENTRY、RM_LEAVEおよびRM_SEARCHのいずれも指示しないと判定すると(ステップS5でNO、ステップS15でNO、ステップS19でNO、ステップS23でNO)、ルーム削除部422が起動される。   Based on the analysis result of the frame analysis unit 424, if it is determined that the instruction code 621 of the received frame does not indicate any of RM_CREATE, RM_ENTRY, RM_LEAVE and RM_SEARCH (NO in step S5, NO in step S15, NO in step S19, step S23) NO), the room deletion unit 422 is activated.

ルーム削除部422は、開設されているルームのうち対応のデータRMTBL[i].DELTMが削除するべき時間を指示しているルームを削除するルーム削除処理を実行する。 具体的には、ルーム検索のための変数iに値0を設定し、変数TMに計時部410から読出した現在時刻を示す時間データを設定する。   The room deletion unit 422 executes room deletion processing for deleting a room instructed by the corresponding data RMTBL [i] .DELTM among the opened rooms. Specifically, a value 0 is set for the variable i for room search, and time data indicating the current time read from the time measuring unit 410 is set for the variable TM.

続いて、ルーム削除部422は、ルーム管理テーブルRMTBL[]を検索し、データRMTBL[i].FLAGの値が1を指示するか否かを判定する(ステップS29)。データRMTBL[i].FLAGが1を指示するならば(ステップS29でYES)対応するデータRMTBL[i].DELTMの値が変数TMの値と比較され、比較結果に基づき、(RMTBL[i].DELTM<TM)の条件が成立するか否かが判定される(ステップS31)。   Subsequently, the room deletion unit 422 searches the room management table RMTBL [] and determines whether or not the value of the data RMTBL [i] .FLAG indicates 1 (step S29). If the data RMTBL [i] .FLAG indicates 1 (YES in step S29), the value of the corresponding data RMTBL [i] .DELTM is compared with the value of the variable TM, and (RMTBL [i] It is determined whether or not the condition of .DELTM <TM is satisfied (step S31).

ステップS31の条件式が成立すると判定されると(ステップS31でYES)、すなわち当該ルームのデータRMTBL[i].DELTMは当該ルームを削除すべき時間が経過していることを指示していると判定された場合には、ルーム削除部422は、ルーム管理テーブルRMTBL[]のデータRMTBL[i].FLAGの値を0に更新することにより(ステップS33)、当該ルームを削除する。続いて、変数iの値が+1更新され(ステップS35)、その後、変数iの値と、ルーム管理テーブルRMTBL[]の格納可能最大ルーム数を示す定数MAXの値と比較されて、比較結果に基づき、(i=MAX)の条件が成立するか否かが判定される(ステップS37)。成立すると判定されると(ステップS37でYES)、すなわちルーム管理テーブルRMTBL[]のすべてのルームについて検索がされたと判定されると、処理は、ステップS3に戻り、ステップS3以降の処理が同様に繰返される。   If it is determined that the conditional expression in step S31 is satisfied (YES in step S31), that is, the data RMTBL [i] .DELTM of the room indicates that the time for deleting the room has passed. If determined, the room deletion unit 422 deletes the room by updating the value of the data RMTBL [i] .FLAG of the room management table RMTBL [] to 0 (step S33). Subsequently, the value of the variable i is updated by +1 (step S35), and then the value of the variable i is compared with the value of the constant MAX indicating the maximum number of rooms that can be stored in the room management table RMTBL []. Based on this, it is determined whether or not the condition (i = MAX) is satisfied (step S37). If it is determined that it is established (YES in step S37), that is, if it is determined that all rooms in the room management table RMTBL [] have been searched, the process returns to step S3, and the processes in and after step S3 are similarly performed. Repeated.

一方、(i=MAX)の条件が成立しないと判定されると(ステップS37でNO)、処理は、ステップS29に戻り、次位のルームについて、ステップS29以降の処理が同様に繰返される。   On the other hand, if it is determined that the condition (i = MAX) is not satisfied (NO in step S37), the process returns to step S29, and the processes in and after step S29 are similarly repeated for the next room.

一方、ルームのデータRMTBL[i].FLAGの値が“1”ではない、すなわち当該ルームは削除済み・未開設であると判定されると(ステップS29でNO)、または当該ルームについて(RMTBL[i].DELTM<TM)の条件が成立しないと判定されると(ステップS31でNO)、ルームの削除処理(ステップS33)は行なわれず、処理は、ステップS35に移行する。   On the other hand, if it is determined that the value of the room data RMTBL [i] .FLAG is not “1”, that is, the room has been deleted or not established (NO in step S29), or for the room (RMTBL [ If it is determined that the condition i] .DELTM <TM) is not satisfied (NO in step S31), the room deletion process (step S33) is not performed, and the process proceeds to step S35.

以上のように、ルーム削除部422は、ルーム管理テーブルRMTBL[]に開設された各ルームについて(RMTBL[i].DELTM<TM)の条件が成立するか否かを判定し、その判定結果に基づき当該ルームを削除(ステップS33)する。したがって、定期的にステップS27〜S37のルーム削除処理が実行されることによって、データRMTBL[i].DELTMの時間が経過していると判定されたルームを、ルーム管理テーブルRMTBL[]から自動的に削除することができる。   As described above, the room deleting unit 422 determines whether or not the condition (RMTBL [i] .DELTM <TM) is established for each room opened in the room management table RMTBL [], and the determination result is Based on this, the room is deleted (step S33). Therefore, by periodically executing the room deletion process in steps S27 to S37, the room determined that the time of the data RMTBL [i] .DELTM has passed is automatically obtained from the room management table RMTBL []. Can be deleted.

<ルーム開設処理>
図28を参照して、図27のルーム開設処理(ステップS7)について説明する。
<Room opening process>
With reference to FIG. 28, the room opening process (step S7) of FIG. 27 will be described.

ルーム開設部420は、まず検索受付部421Bを起動し、ルーム管理テーブルRMTBL[]の検索を要求する(ステップS41)。検索受付部421Bによるルーム検索処理については後述する。   The room establishment unit 420 first activates the search reception unit 421B and requests a search for the room management table RMTBL [] (step S41). The room search process by the search reception unit 421B will be described later.

ルーム開設部420は、検索受付部421Bによる検索結果を示す戻り値RTの値が“ERROR”を指示しない、すなわち検索要求したルーム名のルームがルーム管理テーブルRMTBL[]に既に開設されている(既に同一名のルーム名がある)と判定した場合には(ステップS43でNO)、戻り値RTを‘ERROR’に設定し、図27の処理に戻る(ステップS67)。   The room opening unit 420 does not indicate “ERROR” as the return value RT indicating the search result by the search reception unit 421B, that is, the room having the name of the room requested to be searched has already been opened in the room management table RMTBL [] ( If it is determined that there is already a room name with the same name (NO in step S43), the return value RT is set to 'ERROR' and the process returns to the process of FIG. 27 (step S67).

一方、検索処理(ステップS41)の検索結果を示す戻り値RTが“ERROR”を指示すると判定すると(ステップS43でYES)、すなわち検索を要求したルーム名を有するルームはルーム管理テーブルRMTBL[]にまだ開設されていないと判定すると、ルーム開設部420は、変数iに0を設定し(ステップS45)、変数iの値を1ずつインクリメントしながら(ステップS49)、ルーム管理テーブルRMTBL[]を検索する。具体的には、変数iの値がルーム管理テーブルRMTBL[]に格納可能な最大ルーム数を示す定数MAXの値を指示するまで(ステップS51でYES)、各ルームのデータRMTBL[i].FLAGの値が“1”を指示するか否か、すなわち新たなルームを開設可能な空きエリアがあるか否かを判定する(ステップS47)。ルーム管理テーブルRMTBL[]の検索の結果、(i=MAX)の条件式が成立すると判定すると(ステップS51でYES)、すなわち新たなルームを開設するための空きエリアはルーム管理テーブルRMTBL[]には存在しないと判定されると(ステップS51でYES)、戻り値RTに“ERROR”を設定して、図27の処理に戻る(ステップS69)。   On the other hand, if it is determined that the return value RT indicating the search result of the search process (step S41) indicates “ERROR” (YES in step S43), that is, the room having the name of the room that requested the search is stored in the room management table RMTBL []. If it is determined that it has not been established yet, the room establishment unit 420 sets 0 to the variable i (step S45), increments the value of the variable i by 1 (step S49), and searches the room management table RMTBL []. To do. Specifically, data RMTBL [i] .FLAG for each room until the value of variable i indicates the value of constant MAX indicating the maximum number of rooms that can be stored in room management table RMTBL [] (YES in step S51). It is determined whether or not the value of “1” indicates “1”, that is, whether or not there is an empty area where a new room can be opened (step S47). As a result of searching the room management table RMTBL [], if it is determined that the conditional expression (i = MAX) is satisfied (YES in step S51), an empty area for opening a new room is stored in the room management table RMTBL []. Is determined not to exist (YES in step S51), "ERROR" is set in the return value RT, and the process returns to the process of FIG. 27 (step S69).

一方、ルーム管理テーブルテーブルRMTBL[]において新たなルームを開設するための空きエリアがあったと判定されると(ステップS47でNO)、ステップS53において、ルーム開設部420は、ルーム管理テーブルRMTBL[]の空きエリアに、ルーム開設要求フレーム601が指示するルームを開設(ルームの情報を格納)する。   On the other hand, if it is determined in the room management table table RMTBL [] that there is an empty area for opening a new room (NO in step S47), in step S53, the room opening unit 420 determines that the room management table RMTBL [] The room designated by the room establishment request frame 601 is established (stores room information) in the vacant area.

具体的には、データRMTBL[i].MA[0]、RMTBL[i].IPA[0]、RMTBL[i].RMNM、RMTBL[i].APL、およびRMTBL[i].NUMに、受信したルーム開設要求フレーム601の内容に基づくデータを格納する。詳細には、データRMTBL[i].MA[0]には、ルーム開設要求フレーム601のデータ613のメールアドレスが設定され、データRMTBL[i].IPA[0]には、要求フレーム601のデータ623が示すIPアドレスが設定され、データRMTBL[i].RMNMには、要求フレーム601のデータ622が示すルーム名が設定され、データRMTBL[i].APLには、要求フレーム601のデータ627の値(1または0)が設定され、データRMTBL[i].NUMには、要求フレーム601のデータ628の値が設定される。   Specifically, the data RMTBL [i] .MA [0], RMTBL [i] .IPA [0], RMTBL [i] .RMNM, RMTBL [i] .APL, and RMTBL [i] .NUM are received. The data based on the contents of the room opening request frame 601 is stored. Specifically, the mail address of the data 613 of the room opening request frame 601 is set in the data RMTBL [i] .MA [0], and the data of the request frame 601 is set in the data RMTBL [i] .IPA [0]. The IP address indicated by 623 is set, the room name indicated by the data 622 of the request frame 601 is set in the data RMTBL [i] .RMNM, and the data 627 of the request frame 601 is set in the data RMTBL [i] .APL. A value (1 or 0) is set, and the value of the data 628 of the request frame 601 is set in the data RMTBL [i] .NUM.

さらに、ステップS53においては、データRMTBL[i].ECNTに、値1が設定される。これにより、当該ルームに現在参加している(脱退要求をしていない)端末数は1台であることが指示される。さらに、変数Nに、(RMTBL[i].RMNM−RMTBL[i].ECNT)の算出結果が格納される。変数Nは、現時点で当該ルームへ新たに参加が許容される端末の台数(以下、現在参加許容台数という)を指示する。   Further, in step S53, the value 1 is set in the data RMTBL [i] .ECNT. Thereby, it is instructed that the number of terminals currently participating in the room (not requesting withdrawal) is one. Furthermore, the calculation result of (RMTBL [i] .RMNM−RMTBL [i] .ECNT) is stored in the variable N. The variable N indicates the number of terminals that are newly allowed to participate in the room at the present time (hereinafter referred to as the current allowable number of participation).

その後、削除時間設定部426が起動されて、削除時間設定処理(TMERSET1)が行なわれる。   Thereafter, the deletion time setting unit 426 is activated and a deletion time setting process (TMERSET1) is performed.

具体的には、削除時間設定部426は、検索受付部421Bを制御して、ルーム管理テーブルRMTBL[]を検索する。検索の結果、開設されたルームのデータRMTBL[i].APLの値が0を指示するか否かを判定する(ステップS55)。“0”を指示しないと判定すると、すなわち当該ルームの開設目的はコミュニティ用であると判定すると(ステップS55でNO)、ステップS65において、削除時間設定部426は、今回開設したルームのデータRMTBL[i].DELTMの値に、現在時刻+定数TMAX(たとえば30分)を加算した値を設定する(ステップS65)。その後、戻り値RTを“正常”(‘OK’)に設定して、図27の処理に戻る(ステップS71)。   Specifically, the deletion time setting unit 426 controls the search reception unit 421B to search the room management table RMTBL []. As a result of the search, it is determined whether or not the value of the opened room data RMTBL [i] .APL indicates 0 (step S55). If it is determined that “0” is not indicated, that is, if it is determined that the purpose of opening the room is for community use (NO in step S55), in step S65, the deletion time setting unit 426 determines the data RMTBL [ A value obtained by adding the current time + constant TMAX (for example, 30 minutes) to the value of i] .DELTM is set (step S65). Thereafter, the return value RT is set to “normal” (‘OK’), and the process returns to the process of FIG. 27 (step S71).

一方、今回開設したルームのデータRMTBL[i].APLの値が“0”を指示すると判定すると、すなわち当該ルームの開設目的は知人用であると判定すると(ステップS55でYES)、変数Nの値が1を指示するか否かを判定する(ステップS57)。すなわち当該ルームの現在参加許容台数は1台であると判定すると(ステップS57でYES)、削除時間設定部426は、メモリ406の知人用テーブルATBL0を検索して、 “1”を指示するデータA0に対応のデータB0の値(5分)を読出し、データRMTBL[i].DELTMの値に、現在時刻+5分を設定する(ステップS61)。その後、処理はステップS71に移る。また、ステップS59において、現在参加許容台数は6台以上であると判定すると(ステップS59でYES)、処理は、前述したステップS65の処理に移る。   On the other hand, if it is determined that the value of the data RMTBL [i] .APL of the room opened this time indicates “0”, that is, if it is determined that the purpose of opening the room is for acquaintance (YES in step S55), the variable N It is determined whether or not the value indicates 1 (step S57). In other words, when it is determined that the current allowable number of participation in the room is 1 (YES in step S57), the deletion time setting unit 426 searches the acquaintance table ATBL0 in the memory 406, and designates data A0 indicating “1”. The value of the data B0 corresponding to (5 minutes) is read, and the current time +5 minutes is set as the value of the data RMTBL [i] .DELTM (step S61). Thereafter, the process proceeds to step S71. If it is determined in step S59 that the current allowable number of participation is 6 or more (YES in step S59), the process proceeds to step S65 described above.

一方、6台未満と判定すると(ステップS59でNO)、削除時間設定部426は、知人用テーブルATBL0を検索し、2〜5を指示するデータA0に対応のデータB0の値(10分)を読出し、当該ルームの対応する変数RMTBL[i].DELTMの値を、現在時刻+10分に設定する(ステップS63)。その後、処理は、ステップS71に移る。   On the other hand, if it is determined that the number is less than 6 (NO in step S59), the deletion time setting unit 426 searches the acquaintance table ATBL0 and sets the value (10 minutes) of the data B0 corresponding to the data A0 indicating 2-5. Reading and setting the value of the variable RMTBL [i] .DELTM corresponding to the room to the current time +10 minutes (step S63). Thereafter, the process proceeds to step S71.

なお、ステップS61、S63およびS65における“現在時刻”は、計時部410が出力する現在時刻のデータを指す。   Note that “current time” in steps S61, S63, and S65 refers to data of the current time output by the time measuring unit 410.

以上のように、削除時間設定部426は、ルームが新規に開設される毎に起動されて、当該ルームの開設目的と当該ルームの定員数に基づく現在参加許容台数とに従い、ルームを削除するべき日時のデータRMTBL[i].DELTMを可変に設定する。   As described above, the deletion time setting unit 426 is activated every time a room is newly opened, and should delete the room in accordance with the purpose of opening the room and the current allowable number of participants based on the number of people in the room. Set the date and time data RMTBL [i] .DELTM to be variable.

<ルーム参加処理>
図29を参照して、ルーム参加受付部421Aによるルーム参加処理について説明する。
<Room participation processing>
With reference to FIG. 29, the room participation process by the room participation reception part 421A is demonstrated.

ルーム参加受付部421Aは、受信したルーム参加要求フレーム603のフレーム解析部424の解析結果に基づき、検索受付部421Bを介して、ルーム参加要求フレーム603のデータ622のルーム名に基づきルーム管理テーブルRMTBL[]を検索する。検索の結果、検索受付部421Bからの戻り値RTの値が‘ERROR’(エラー)を指示するか否かを判定する(ステップS75)。エラーを指示すると判定すると(ステップS75でYES)、すなわちルーム参加要求フレーム603によって参加が要求されたルーム名のルームは、ルーム管理テーブルRMTBL[]に開設されていないと判定すると、戻り値RTに‘ERROR’を設定し、図27の処理に戻る(ステップS77)。   Based on the analysis result of the frame analysis unit 424 of the received room participation request frame 603, the room participation reception unit 421A transmits the room management table RMTBL based on the room name of the data 622 of the room participation request frame 603 via the search reception unit 421B. Search for []. As a result of the search, it is determined whether or not the return value RT from the search reception unit 421B indicates 'ERROR' (error) (step S75). If it is determined that an error is indicated (YES in step S75), that is, if it is determined that the room with the room name requested to participate by the room participation request frame 603 is not established in the room management table RMTBL [], the return value RT is set. 'ERROR' is set, and the process returns to the process of FIG. 27 (step S77).

戻り値RTがエラーを指示しないと判定すると(ステップS75でNO)、すなわち参加要求がされたルームはルーム管理テーブルRMTBL[]に開設されていると判定すると、参加受付部421Aは、変数iにステップS73の処理結果を示す戻り値、すなわち参加が要求されたルームのルーム管理テーブルRMTBL[]における記憶位置を示す値を設定し、変数Nに、変数RMTBL[i].NUM−変数RMTBL[i].ECNTの値を、すなわち現在参加許容台数を設定する(ステップS79)。   If it is determined that the return value RT does not indicate an error (NO in step S75), that is, if it is determined that the room for which participation is requested is established in the room management table RMTBL [], the participation reception unit 421A sets the variable i to A return value indicating the processing result of step S73, that is, a value indicating a storage position in the room management table RMTBL [] of the room for which participation is requested is set, and variable RMTBL [i] .NUM−variable RMTBL [i ]. The value of ECNT, that is, the current allowable number of participants is set (step S79).

変数Nの値(現在参加許容台数)は0であると判定すると、すなわち参加が要求されたルームは定員一杯であることを判定すると(ステップ81でYES)、ステップS83において、戻り値RTを‘ERROR’に設定し、図27の処理に戻る。   If it is determined that the value of the variable N (current allowable number of participants) is 0, that is, if it is determined that the room requested to participate is full (YES in step 81), the return value RT is set to ' Set to ERROR 'and return to the process of FIG.

一方、変数Nの値(現在参加許容台数)は0ではない、すなわち当該ルームは未だ定員一杯になっていないと判定すると(ステップS81でNO)、ステップS85において、変数Nの値を−1だけ更新するとともに、当該ルームへの新たな参加者を登録するために、データRMTBL[i].ECNTの値を、+1更新する(ステップS85)。   On the other hand, if it is determined that the value of the variable N (current allowable number of participants) is not 0, that is, the room is not yet full (NO in step S81), the variable N is set to -1 in step S85. In addition to updating, the value of the data RMTBL [i] .ECNT is updated by +1 in order to register a new participant in the room (step S85).

その後、ステップS89の処理において、参加受付部421Aは変数jの値を0に設定する。続いて、ステップS91、ステップS93およびステップS95のIPアドレスの格納処理を行なう。具体的には、変数jの値を+1ずつ更新しながら、当該ルームのデータRMTBL[i].IPA[j]を検索する。検索結果に基づき、まだ値が設定されていないデータRMTBL[i].IPA[j]を検出すると(ステップS91でYES)、検出したデータRMTBL[i].IPA[j]に、受信したルーム参加要求フレーム603から読出したデータ623が示すIPアドレスを設定し、対応するデータRMTBL[i].MA[j]に当該ルーム参加要求フレーム603から読出したデータ612が示すメールアドレスを設定する(ステップS99)。   Thereafter, in the process of step S89, the participation reception unit 421A sets the value of the variable j to 0. Subsequently, the IP address storing process of step S91, step S93 and step S95 is performed. Specifically, the data RMTBL [i] .IPA [j] of the room is searched while updating the value of the variable j by +1. Based on the search result, if data RMTBL [i] .IPA [j] that has not yet been set is detected (YES in step S91), the received room participation is included in the detected data RMTBL [i] .IPA [j]. The IP address indicated by the data 623 read from the request frame 603 is set, and the mail address indicated by the data 612 read from the room participation request frame 603 is set in the corresponding data RMTBL [i] .MA [j] (step S99). ).

その後、ステップS101において、削除時間設定部426が起動されて、削除時間設定処理(TMERSET1:ステップS101)が実行される。続いて、イベント通知部425の参加通知部425Aが起動されて、後述する参加通知処理(図32参照)が実行される(ステップS103)。   Thereafter, in step S101, the deletion time setting unit 426 is activated, and the deletion time setting process (TMERSET1: step S101) is executed. Subsequently, the participation notification unit 425A of the event notification unit 425 is activated, and a participation notification process (see FIG. 32) described later is executed (step S103).

その後、参加受付部421Aは変数Nの値が0を指示し、かつ参加要求がされたルームの対応するデータRMTBL[i].APLの値が0を指示すると判定すると(ステップS105でYES)、ステップS107において当該ルームのデータRMTBL[i].FLAGの値を0に設定する(ステップS107)。一方、ステップS105の条件が成立しないと判定すると(ステップS105でNO)、ステップS107の処理をスキップして、戻り値RTに‘OK’(正常)を設定し(ステップS107)、図27の処理に戻る(ステップS109)。   Thereafter, when the participation reception unit 421A determines that the value of the variable N indicates 0 and the value of the corresponding data RMTBL [i] .APL of the room requested to participate indicates 0 (YES in step S105), In step S107, the value of data RMTBL [i] .FLAG of the room is set to 0 (step S107). On the other hand, if it is determined that the condition of step S105 is not satisfied (NO in step S105), the process of step S107 is skipped, the return value RT is set to “OK” (normal) (step S107), and the process of FIG. Return to (step S109).

上述のステップS105およびS107の処理により、参加要求を受付た結果、ルームが定員一杯となり、かつ当該ルームの開設目的が‘知人用’を指すと判定されると、すなわち、当該ルームに参加するべき知人のすべてに対してP2P通信のためのIPアドレスを配信(IPアドレスの交換)が完了したと判定して、当該ルームは削除される。   As a result of accepting the participation request by the processing of steps S105 and S107 described above, if it is determined that the room is full and the purpose of opening the room is to indicate 'for acquaintances', that is, it should participate in the room It is determined that the distribution (IP address exchange) of the IP address for P2P communication has been completed for all of the acquaintances, and the room is deleted.

ステップS91、S93およびS95の処理に戻り、検索の結果、参加を要求したルームのデータRMTBL[i].IPA[j]には、値が設定されていないデータはないと判定されると(ステップS95でYES)、これは想定できない(致命的)エラーと判定し、戻り値RTに‘ERROR’を設定し、図27の処理に戻る(ステップS97)。   Returning to the processing of steps S91, S93, and S95, as a result of the search, if it is determined that there is no data for which no value is set in the data RMTBL [i] .IPA [j] of the room that has requested participation (step If YES in S95, this is determined to be an error that cannot be assumed (fatal), 'ERROR' is set in the return value RT, and the process returns to the process of FIG. 27 (step S97).

以上のように、ルームへの参加要求が発生し参加受付される毎に、削除時間設定部426により、参加受付けしたルームのデータRMTBL[i].DELTMが、当該ルームの開設目的および現在参加許容台数に応じて可変に設定される。   As described above, every time a request to participate in a room is generated and accepted, the deletion time setting unit 426 determines that the data RMTBL [i] .DELTM of the accepted room is the purpose of opening the room and the current participation permission. It is set variably according to the number.

<ルーム脱退処理>
次に図30を参照して、脱退受付部421Cによるルーム脱退処理について説明する。脱退受付部421Cは、フレーム解析部424によるルーム脱退要求フレーム605の解析結果に基づき、検索受付部421Bを起動して、ルーム脱退要求フレーム605のデータ622が指すルーム名に基づきルーム管理テーブルRMTBL[]を検索する(ステップS111)。検索の結果を示す戻り値RTが“ERROR”を示すか否かを判定する(ステップS113)。‘ERROR’を指示すると判定すると、すなわち脱退が要求されたルームがルーム管理テーブルRMTBL[]に開設されていないと判定されると(ステップS113でYES)、戻り値RTを‘ERROR’に設定し、処理は図27に戻る(ステップS115)。
<Room withdrawal processing>
Next, with reference to FIG. 30, the room withdrawal process by the withdrawal accepting unit 421C will be described. The withdrawal accepting unit 421C activates the search accepting unit 421B based on the analysis result of the room withdrawal request frame 605 by the frame analyzing unit 424, and based on the room name indicated by the data 622 of the room withdrawal request frame 605, the room management table RMTBL [ ] Is searched (step S111). It is determined whether or not the return value RT indicating the search result indicates “ERROR” (step S113). If it is determined that “ERROR” is instructed, that is, it is determined that the room requested to be withdrawn is not established in the room management table RMTBL [] (YES in step S113), the return value RT is set to “ERROR”. The processing returns to FIG. 27 (step S115).

一方、戻り値RTが‘ERROR’を指示しない、すなわち脱退要求するルームのデータのルーム管理テーブルRMTBL[]における記憶位置を指示する値を示していると判定すると(ステップS113でNO)、脱退受付部421Cは変数iに戻り値RTを設定し、変数jを0に初期設定する(ステップS117)。   On the other hand, if it is determined that the return value RT does not indicate 'ERROR', that is, indicates a value indicating the storage location of the room data in the room management table RMTBL [] of the room requesting withdrawal (NO in step S113), withdrawal acceptance The unit 421C sets the return value RT to the variable i and initializes the variable j to 0 (step S117).

続いて、ステップS119、ステップS121およびステップS123の処理において、(j=10)の条件が成立するまで(ステップS123でYES)、変数jの値を+1ずつ更新しながら(ステップS121)、検索結果が示す脱退が要求されたルームのデータRMTBL[i].IPA[j]のうち、ルーム脱退要求フレーム605のデータ623が指示するIPアドレスに一致するもがあるか否かを判定する(ステップS119)。   Subsequently, in the processing of step S119, step S121, and step S123, the value of variable j is updated by +1 (step S121) until the condition of (j = 10) is satisfied (YES in step S123), and the search result In the room data RMTBL [i] .IPA [j] requested to be withdrawn, it is determined whether there is a match with the IP address indicated by the data 623 in the room withdrawal request frame 605 (step S119). ).

(j=10)の条件が成立すると判定すると(ステップS123でYES)、すなわち脱退要求元の携帯電話100は当該ルームには参加していなかったと判定されると、戻り値RTを‘ERROR’に設定し、図27の処理に戻る(ステップS125)。   If it is determined that the condition (j = 10) is satisfied (YES in step S123), that is, if it is determined that the withdrawal request source mobile phone 100 has not joined the room, the return value RT is set to 'ERROR'. Then, the process returns to the process of FIG. 27 (step S125).

一方、IPアドレスと一致するデータRMTBL[i].IPA[j]が格納されていたと判定した場合には(ステップS119でYES)、ステップS127において、当該IPアドレスと一致するデータRMTBL[i].IPA[j]と、対応するデータRMTBL[i].MA[j]との値をNULLに設定する。これにより、脱退要求元の携帯電話100の、当該ルームからの脱退が完了する。   On the other hand, if it is determined that the data RMTBL [i] .IPA [j] that matches the IP address is stored (YES in step S119), the data RMTBL [i] .IP that matches the IP address is determined in step S127. The values of IPA [j] and corresponding data RMTBL [i] .MA [j] are set to NULL. Thereby, the withdrawal from the room of the cellular phone 100 that is the withdrawal request source is completed.

続いて、ステップS129において、(RMTBL[i].ECNT=RMTBL[i].ECNT−1)の演算処理を行うことにより、当該ルームから未だ脱退せずに現在も参加を続ける台数(以下、現在参加台数という)を1台減らす(ステップS129)。   Subsequently, in step S129, by performing the calculation process of (RMTBL [i] .ECNT = RMTBL [i] .ECNT-1), the number of units that continue to participate without leaving the room (hereinafter referred to as “currently”). The number of participants is reduced by one (step S129).

続いて、脱退受付部421Cは、当該ルームのデータRMTBL[i].ECNTの値が0を指示するか否かを判定する(ステップS131)。0を指示すると判定すると、すなわち当該ルームから全員が脱退し、もはや参加している端末はないと判定すると(ステップS131でYES)、当該ルームの対応するデータRMTBL[i].FLAGの値を0に設定する(ステップS133)。これにより当該ルームはルーム管理テーブルRMTBL[]から削除される。その後、戻り値RTを‘OK’(正常)に設定し、図27の処理に戻る(ステップS135)。   Subsequently, the withdrawal accepting unit 421C determines whether or not the value of the data RMTBL [i] .ECNT of the room indicates 0 (step S131). If it is determined that 0 is indicated, that is, if it is determined that all terminals have left the room and that there is no longer a terminal (YES in step S131), the value of the corresponding data RMTBL [i] .FLAG in the room is set to 0. (Step S133). As a result, the room is deleted from the room management table RMTBL []. Thereafter, the return value RT is set to “OK” (normal), and the process returns to the process of FIG. 27 (step S135).

一方、当該ルームには参加している端末が存在すると判定された場合には(ステップS131でNO)、脱退受付部421Cは削除時間設定部426を起動する。これにより、削除時間設定部426による削除時間設定処理が行なわれる。   On the other hand, when it is determined that there is a participating terminal in the room (NO in step S131), the withdrawal accepting unit 421C activates the deletion time setting unit 426. Thereby, the deletion time setting process by the deletion time setting unit 426 is performed.

削除時間設定部426は、まず当該ルームのデータRMTBL[i].APLが0を指示するか否かを判定する(ステップS137)。0を指示する、すなわち当該ルームの開設目的は知人用と判定すると、処理は後述する脱退通知処理(図33参照)に移行する(ステップS149)。その後、処理は戻り値RTを‘OK’(正常)に設定して、図27の処理に戻る(ステップS151)。   The deletion time setting unit 426 first determines whether or not the room data RMTBL [i] .APL indicates 0 (step S137). If 0 is indicated, that is, if the purpose of opening the room is determined to be for acquaintances, the process proceeds to a withdrawal notification process (see FIG. 33) described later (step S149). Thereafter, the process sets the return value RT to “OK” (normal) and returns to the process of FIG. 27 (step S151).

ステップS137の処理においてデータRMTBL[i].APLの値は0でないと判定されると、すなわち当該ルームの開設目的はコミュニティ用と判定されると(ステップS137でNO)、ステップS139において削除時間設定部426は、当該ルームのRMTBL[i].ECNTの値が指す現在参加台数が“1”を指示するか否かを判定する(ステップS139)。1台であると判定すると(ステップS139でYES)、削除時間設定部426は、ステップS137の判定結果に基づきコミュニティ用テーブルATBL1を検索し、当該ルームのデータRMTBL[i].ECNTが指す現在参加台数を示すデータA1に対応のデータB1(この場合、1分)を読出し、読出したデータと現在時刻とを加算した値を、当該ルームのデータRMTBL[i].DELTMに設定する(ステップS143)。その後、処理はステップS149に移行する。   If it is determined in step S137 that the value of the data RMTBL [i] .APL is not 0, that is, if the purpose of opening the room is determined to be for the community (NO in step S137), the deletion time is set in step S139. The unit 426 determines whether or not the current participation number indicated by the value of RMTBL [i] .ECNT of the room indicates “1” (step S139). If it is determined that there is one (YES in step S139), the deletion time setting unit 426 searches the community table ATBL1 based on the determination result in step S137, and the current participation indicated by the data RMTBL [i] .ECNT of the room Data B1 (in this case, 1 minute) corresponding to the data A1 indicating the number of units is read, and a value obtained by adding the read data and the current time is set in the data RMTBL [i] .DELTM of the room (step S143). . Thereafter, the process proceeds to step S149.

一方、ステップS139において現在参加台数は1台ではないと判定されると(ステップS139でNO)、ステップS141において現在参加台数は6台以上であるか否かが判定される(ステップS141)。6台未満であると判定されると(ステップS141でNO)、削除時間設定部426は、検出した現在参加台数に基づきコミュニティ用テーブルATBL1を検索し、現在参加台数を指示するデータA1に対応のデータB1が指示する時間データ(この場合10分)を読出し、現在時刻+読出したデータの算出結果値を変数RMTBL[i].DELTMに設定する(ステップS145)。その後、処理はステップS149に移行する。   On the other hand, if it is determined in step S139 that the current participation number is not one (NO in step S139), it is determined in step S141 whether the current participation number is six or more (step S141). If it is determined that the number is less than six (NO in step S141), the deletion time setting unit 426 searches the community table ATBL1 based on the detected current participation number, and corresponds to the data A1 indicating the current participation number. The time data (in this case, 10 minutes) indicated by the data B1 is read, and the current time + the calculated result value of the read data is set in the variable RMTBL [i] .DELTM (step S145). Thereafter, the process proceeds to step S149.

一方、現在参加台数は6台以上であると判定されると(ステップS141でYES)、ステップS147において、削除時間設定部426は、検出された台数に基づきコミュニティ用テーブルATBL1を検索し、現在参加台数を示すデータA1に対応のデータB1が示す時間データ(この場合、定数TMAX(たとえば30分))の値を読出し、読出した値と現在時刻とを加算した値を、変数RMTBL[i].DELTMに設定する(ステップS147)。その後、処理はステップS149に移行する。   On the other hand, if it is determined that the current participation number is 6 or more (YES in step S141), in step S147, the deletion time setting unit 426 searches the community table ATBL1 based on the detected number, and currently participates. The value of time data (in this case, a constant TMAX (for example, 30 minutes)) indicated by the data B1 corresponding to the data A1 indicating the number of units is read, and the value obtained by adding the read value and the current time is set to the variable RMTBL [i]. Set to DELTM (step S147). Thereafter, the process proceeds to step S149.

ステップS143、S145およびS147で示す“現在時刻”のデータは計時部410が出力する現在時刻データによって指示される。   The “current time” data shown in steps S143, S145, and S147 is instructed by the current time data output by the timer unit 410.

以上のように、ルームからの脱退要求が発生し受付される毎に、削除時間設定部426により、脱退を受付けたルームのデータRMTBL[i].DELTMが、現在参加台数およびルーム開設条件を指すパラメータである当該ルームの開設目的に応じて可変に設定される。   As described above, each time a withdrawal request from a room is generated and accepted, the deletion time setting unit 426 indicates that the room data RMTBL [i] .DELTM for which withdrawal has been accepted indicates the current number of participants and room opening conditions. The parameter is variably set according to the purpose of opening the room.

<ルーム検索処理>
次に、図31を参照して検索受付部421Bによるルーム検索処理について説明する。
<Room search process>
Next, room search processing by the search reception unit 421B will be described with reference to FIG.

検索受付部421Bは、検索が要求されたルームのルーム名を入力すると、当該ルーム名を指示するデータRMTBL[i].RMNMを有するルームデータRMTBL[i]が、ルーム管理テーブルRMTBL[]に格納されているか否かを検索する。なお、検索が要求されるルームは、受信した要求フレーム599、601、603および605のデータ622のルーム名により指示される。   When the search reception unit 421B inputs the room name of the room requested to be searched, room data RMTBL [i] having data RMTBL [i] .RMNM indicating the room name is stored in the room management table RMTBL []. Search whether or not. The room requested to be searched is indicated by the room name of the data 622 of the received request frames 599, 601, 603, and 605.

具体的には、検索のための制御の変数jを0に設定する(ステップS155)。続いて、検索受付部421Bは、ルーム管理テーブルRMTBL[]を変数jの値を+1ずつ更新しながら(ステップS161)、変数jの値が定数MAXを指示すると判定されるまで(ステップS163でYES)、変数jの値が指示するルームデータRMTBL[j]について、データRMTBL[j].FLAGの値が“1”、すなわち当該ルームは削除されておらず有効に存在する(開設されている)か否かを判定する(ステップS157)。   Specifically, the control variable j for search is set to 0 (step S155). Subsequently, the search reception unit 421B updates the room management table RMTBL [] by one for the value of the variable j (step S161), and determines that the value of the variable j indicates a constant MAX (YES in step S163). ) For the room data RMTBL [j] indicated by the value of the variable j, the value of the data RMTBL [j] .FLAG is “1”, that is, the room is not deleted and exists effectively (opened) It is determined whether or not (step S157).

有効に存在するルームを検出すると(ステップS157でYES)、当該ルームのデータRMTBL[j].RMNMは、検索が要求されたルーム名と照合されて、照合結果に基づき一致する否かを判定する(ステップS159)。一致しないと判定されると(ステップS159でNO)、処理はステップS157に戻り、要求されたルーム名を有するルームの検索処理が繰返される。   When a room that exists effectively is detected (YES in step S157), the data RMTBL [j] .RMNM of the room is checked against the room name requested to be searched, and it is determined whether or not a match is made based on the matching result. (Step S159). If it is determined that they do not match (NO in step S159), the process returns to step S157, and the search process for the room having the requested room name is repeated.

一方、一致すると判定されると(ステップS159でYES)、戻り値RTに変数jの値を設定し元の処理に戻る(ステップS165)。これにより、戻り値RTは、ルーム管理テーブルRMTBL[]における、検索要求されたルーム名のルームデータRMTBL[j]が格納されている位置を指示することになる。   On the other hand, if it is determined that they match (YES in step S159), the value of variable j is set in return value RT, and the process returns to the original process (step S165). As a result, the return value RT indicates the position in the room management table RMTBL [] where the room data RMTBL [j] for the requested room name is stored.

有効に存在するルームを検出できなかった場合には(ステップS157でNO、ステップS163でYES)、検索要求されたルームはルーム管理テーブルRMTBL[]に格納されていないと判定されて、戻り値RTに‘ERROR’が設定されて、元の処理に戻る(ステップS167)。   If a room that exists effectively cannot be detected (NO in step S157, YES in step S163), it is determined that the room requested for search is not stored in the room management table RMTBL [], and the return value RT Is set to “ERROR”, and the process returns to the original process (step S167).

<参加通知処理>
次に、図32を参照して、参加通知部425Aによる参加通知処理について説明する。参加通知部425Aは、参加要求を受付けたルームについて、当該ルームに既に参加していたすべての携帯電話100宛てに、図23に示すルーム参加端末発生の通知フレーム607を送信する。
<Participation notification process>
Next, the participation notification process by the participation notification unit 425A will be described with reference to FIG. Participation notification unit 425A transmits a room participation terminal generation notification frame 607 shown in FIG. 23 to all mobile phones 100 that have already participated in the room for the room that has accepted the participation request.

具体的には、参加要求を受付けたルームに参加要求受付前から既に参加している携帯電話100の台数をカウントする変数jを+1ずつ更新しながら(ステップS171、S177)、(j=10)の条件の成立が検出されるまで(ステップS179でYES)、図23の通知フレーム607をフレーム生成部423を制御して生成し、生成したフレームをサーバ通信部409を介して当該参加端末宛に送信する(ステップS173、ステップS175)。送信後は図29の処理に戻る(ステップS180)。   Specifically, the variable j that counts the number of mobile phones 100 already participating in the room that received the participation request from before the participation request reception is updated by +1 (steps S171 and S177), (j = 10). Until the establishment of the above condition is detected (YES in step S179), the notification frame 607 of FIG. 23 is generated by controlling the frame generation unit 423, and the generated frame is addressed to the participating terminal via the server communication unit 409. Transmit (step S173, step S175). After the transmission, the process returns to the process of FIG. 29 (step S180).

ステップS175における通知フレームの生成を説明する。通知フレーム607は、参加端末毎に生成されて送信される。データ612として、ルーム管理テーブルRMTBL[]から読出したデータRMTBL[i].MA[j]が格納され、データ613として、マッチングサーバアドレスのデータMSADが格納され、命令コード621として、参加通知のコマンドMEM_APPENDが格納され、データ622として、ルーム管理テーブルRMTBL[]から読出したデータRMTBL[i].RMNMが格納され、データ623として、今回参加要求を受付けた携帯電話100のIPアドレスを指す図19のルーム参加要求フレーム603のデータ623が格納される。   The generation of the notification frame in step S175 will be described. The notification frame 607 is generated and transmitted for each participating terminal. The data RMTBL [i] .MA [j] read from the room management table RMTBL [] is stored as the data 612, the matching server address data MSAD is stored as the data 613, and the participation notification command is stored as the instruction code 621. MEM_APPEND is stored, data RMTBL [i] .RMNM read from the room management table RMTBL [] is stored as data 622, and the data 623 indicates the IP address of the mobile phone 100 that has accepted the participation request this time. Data 623 of the room participation request frame 603 is stored.

このように、ルーム参加要求が発生して受付られる毎に、当該ルームに既に参加している他の携帯電話100のそれぞれは、図23の通知フレーム607を受信することにより、新たな参加端末のIPアドレスを取得することができる。   In this way, each time a room participation request is generated and accepted, each of the other mobile phones 100 already participating in the room receives the notification frame 607 of FIG. An IP address can be acquired.

<脱退通知処理>
次に、図33を参照して、脱退通知部425Bによる脱退通知処理について説明する。脱退通知部425Bは、脱退要求を受付けたルームについて、当該ルームに参加しているすべての携帯電話100宛てに、図24に示すルーム脱退端末発生の通知フレーム608を送信する。
<Withdrawal notification process>
Next, the withdrawal notification process by the withdrawal notification unit 425B will be described with reference to FIG. With respect to the room for which the withdrawal request has been accepted, the withdrawal notification unit 425B transmits a room withdrawal terminal occurrence notification frame 608 shown in FIG. 24 to all the mobile phones 100 participating in the room.

具体的には、脱退要求を受付けたルームに脱退要求受付後も参加している携帯電話100の台数をカウントする変数jを+1ずつ更新しながら(ステップS181、S187)、(j=10)の条件の成立が検出されるまで(ステップS189でYES)、図24の通知フレーム608をフレーム生成部423を制御して生成し、生成したフレームをサーバ通信部409を介して当該参加端末宛に送信する(ステップS183、S185)。送信後は、図30の処理に戻る(ステップS191)。   Specifically, the variable j that counts the number of mobile phones 100 participating in the room that has accepted the withdrawal request is updated by +1 (steps S181 and S187), (j = 10). Until the condition is detected (YES in step S189), the notification frame 608 in FIG. 24 is generated by controlling the frame generation unit 423, and the generated frame is transmitted to the participating terminal via the server communication unit 409. (Steps S183 and S185). After the transmission, the process returns to the process of FIG. 30 (step S191).

ステップS185における通知フレームの生成を説明する。通知フレーム608は、参加端末毎に生成されて送信される。データ612として、ルーム管理テーブルRMTBL[]から読出したデータRMTBL[i].MA[j]が格納され、データ613として、マッチングサーバアドレスのデータMSADが格納され、命令コード621として、参加通知のコマンドMEM_LEAVEが格納され、データ622として、ルーム管理テーブルRMTBL[]から読出したデータRMTBL[i].RMNMが格納され、データ623として、今回脱退要求を受付けた携帯電話100のIPアドレスを指すデータ(図21のルーム脱退要求フレーム605のデータ623)が格納される。   The generation of the notification frame in step S185 will be described. The notification frame 608 is generated and transmitted for each participating terminal. The data RMTBL [i] .MA [j] read from the room management table RMTBL [] is stored as the data 612, the matching server address data MSAD is stored as the data 613, and the participation notification command is stored as the instruction code 621. MEM_LEAVE is stored, data RMTBL [i] .RMNM read from the room management table RMTBL [] is stored as data 622, and data 623 is data indicating the IP address of the mobile phone 100 that has accepted the withdrawal request this time (FIG. 21 of the room withdrawal request frame 605 of 21 is stored.

このように、ルーム脱退要求が発生して受付られる毎に、脱退要求受付後も当該ルームに参加している他の携帯電話100のそれぞれは、図24の通知フレーム608を受信することにより、脱退する端末のIPアドレスを取得することができる。   In this way, each time a room withdrawal request is generated and accepted, each of the other mobile phones 100 participating in the room even after the withdrawal request is accepted receives the notification frame 608 in FIG. The IP address of the terminal to be acquired can be acquired.

(プログラムおよび記録媒体)
ここで、本実施の形態における、図26〜図33のフローチャートに従う機能はプログラムとして提供することができる。このようなプログラムは、マッチングサーバ400のCPU405のコンピュータに付属する記録媒体に予め記録させて、プログラム製品として提供することもできる。このような記録媒体としては、FD(Flexible Disc)412、CD(Compact Disc)−ROM414またはメモリ406を構成するROM(Read Only Memory)およびRAM(Random Access Memory)、ならびにメモリカードなどのコンピュータ読取り可能な記録媒体がある。あるいは、コンピュータに内蔵する固定ディスク407の記録媒体にて記録させて、プログラムを提供することもできる。また、インターネット500を含む各種ネットワークを介したダウンロードによって、プログラムを提供することもできる。
(Program and recording medium)
Here, the function according to the flowcharts of FIGS. 26 to 33 in the present embodiment can be provided as a program. Such a program can be recorded in advance on a recording medium attached to the computer of the CPU 405 of the matching server 400 and provided as a program product. As such a recording medium, an FD (Flexible Disc) 412, a CD (Compact Disc) -ROM 414, a ROM (Read Only Memory) and a RAM (Random Access Memory) constituting a memory 406, and a memory card can be read by a computer. There are various recording media. Alternatively, the program can be provided by being recorded on a recording medium of a fixed disk 407 built in the computer. The program can also be provided by downloading via various networks including the Internet 500.

また、携帯電話100の図25のフローチャートに従う機能もプログラムとして提供することができる。このようなプログラムは、携帯電話100のCPU106Aのコンピュータに付属する記録媒体に予め記録させて、プログラム製品として提供することもできる。このような記録媒体としては、FD(Flexible Disc)、CD(Compact Disc)−ROMまたは記憶部103を構成するROM(Read Only Memory)およびRAM(Random Access Memory)、ならびにメモリカードなどのコンピュータ読取り可能な記録媒体がある。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、インターネット500を含む各種ネットワークを介したダウンロードによって、プログラムを提供することもできる。   Moreover, the function according to the flowchart of FIG. 25 of the mobile phone 100 can also be provided as a program. Such a program can be recorded in advance on a recording medium attached to the computer of the CPU 106A of the mobile phone 100 and provided as a program product. As such a recording medium, an FD (Flexible Disc), a CD (Compact Disc) -ROM or a ROM (Read Only Memory) and a RAM (Random Access Memory) constituting the storage unit 103, and a computer readable memory such as a memory card There are various recording media. Alternatively, the program can be provided by being recorded on a recording medium such as a hard disk built in the computer. The program can also be provided by downloading via various networks including the Internet 500.

ここで、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。   Here, the program product includes the program itself and a recording medium on which the program is recorded.

なお、一般的傾向として、コンピュータのオペレーティングシステムの一部として様々なプログラムモジュールを用意しておき、アプリケーションプログラムはこれらモジュールを所定の配列で必要なときに呼出して処理を進める方式が一般的である。そうした場合、本実施の形態に係るシステムを実現するためのソフトウェア自体にはそうしたモジュールは含まれず、当該コンピュータでオペレーティングシステムと協働してはじめてシステムが実現することになる。しかし、一般的なプラットホームを使用する限り、そうしたモジュールを含ませたソフトウェアを流通させる必要はなく、それらモジュールを含まないソフトウェア自体およびそれらソフトウェアを記録した記録媒体(およびそれらソフトウェアがネットワーク上を流通する場合のデータ信号)が実施の形態を構成すると考えることができる。   As a general tendency, various program modules are prepared as a part of a computer operating system, and an application program is called to advance the processing by calling these modules in a predetermined arrangement. . In such a case, the software itself for realizing the system according to the present embodiment does not include such a module, and the system is realized only when the computer cooperates with the operating system. However, as long as a general platform is used, it is not necessary to distribute software including such modules, and the software itself not including these modules and the recording medium storing the software (and the software distributes on the network). Data signal) can be considered to constitute the embodiment.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され
、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

本実施の形態に係るネットワークシステムの一例を示す概略図である。It is the schematic which shows an example of the network system which concerns on this Embodiment. 本実施の形態に係る携帯電話の概観を示す図である。It is a figure which shows the external appearance of the mobile telephone which concerns on this Embodiment. 本実施の形態に係る携帯電話のハードウェア構成図である。It is a hardware block diagram of the mobile telephone which concerns on this Embodiment. 本実施の形態に係るアドレス帳データを示す図である。It is a figure which shows the address book data concerning this Embodiment. 本実施の形態に係る自端末データを示す図である。It is a figure which shows the own terminal data which concern on this Embodiment. 本実施の形態に係るルームデータベースを示す図である。It is a figure which shows the room database which concerns on this Embodiment. 本実施の形態に係る携帯電話の機能構成図である。It is a functional block diagram of the mobile telephone which concerns on this Embodiment. 本実施の形態に係るマッチングサーバのハードウェア構成図である。It is a hardware block diagram of the matching server which concerns on this Embodiment. 本実施の形態に係るマッチングサーバの機能構成図である。It is a functional block diagram of the matching server which concerns on this Embodiment. 本実施の形態に係るルーム管理テーブルのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the room management table which concerns on this Embodiment. 本実施の形態に係る削除日時生成用テーブルの構成の一例を示す図である。It is a figure which shows an example of a structure of the deletion date production | generation table which concerns on this Embodiment. 本実施の形態に係る削除日時生成用テーブルの構成の他の例を示す図である。It is a figure which shows the other example of a structure of the deletion date production | generation table which concerns on this Embodiment. 本実施の形態に係る通信手順を模式的に示す図である。It is a figure which shows typically the communication procedure which concerns on this Embodiment. 本実施の形態に係るフレームの基本構成を説明する図である。It is a figure explaining the basic composition of the frame concerning this embodiment. 本実施の形態に係るルーム検索要求フレームの構成図である。It is a block diagram of a room search request frame according to the present embodiment. 本実施の形態に係るルーム検索受付フレームの構成図である。It is a block diagram of the room search reception frame which concerns on this Embodiment. 本実施の形態に係るルーム開設要求フレームの構成図である。It is a block diagram of the room establishment request | requirement frame which concerns on this Embodiment. 本実施の形態に係るルーム開設受付フレームの構成図である。It is a block diagram of the room establishment reception frame which concerns on this Embodiment. 本実施の形態に係るルーム参加要求フレームの構成図である。It is a block diagram of the room participation request frame which concerns on this Embodiment. 本実施の形態に係るルーム参加受付フレームの構成図である。It is a block diagram of the room participation reception frame which concerns on this Embodiment. 本実施の形態に係るルーム脱退要求フレームの構成図である。It is a block diagram of the room withdrawal request frame according to the present embodiment. 本実施の形態に係るルーム脱退受付フレームの構成図である。It is a block diagram of the room withdrawal acceptance frame according to the present embodiment. 本実施の形態に係る参加通知フレームの構成図である。It is a block diagram of the participation notification frame which concerns on this Embodiment. 本実施の形態に係る脱退通知フレームの構成図である。It is a block diagram of the withdrawal notification frame according to the present embodiment. 本実施の形態に係る携帯電話の処理フローチャートである。It is a process flowchart of the mobile telephone which concerns on this Embodiment. (A)〜(C)は表示画面の一例を示す図である。(A)-(C) are figures which show an example of a display screen. 本実施の形態に係るマッチングサーバのメイン処理フローチャートである。It is a main process flowchart of the matching server which concerns on this Embodiment. 本実施の形態に係るルーム開設処理フローチャートである。It is a room establishment process flowchart concerning this Embodiment. 本実施の形態に係るルーム参加処理フローチャートである。It is a room participation process flowchart which concerns on this Embodiment. 本実施の形態に係るルーム脱退処理フローチャートである。It is a room withdrawal process flowchart which concerns on this Embodiment. 本実施の形態に係るルーム検索処理フローチャートである。It is a room search process flowchart which concerns on this Embodiment. 本実施の形態に係る参加通知処理フローチャートである。It is a participation notification process flowchart concerning this Embodiment. 本実施の形態に係る脱退通知処理フローチャートである。It is a withdrawal notification process flowchart according to the present embodiment.

符号の説明Explanation of symbols

100 携帯電話、110C P2Pボタン、400 マッチングサーバ、420 ルーム開設部、421A 参加受付部、421B 検索受付部、421C 脱退受付部、422 ルーム削除部、425 イベント通知部、425A 参加通知部、425B 脱退通知部、426 削除時間設定部、627 ルーム開設目的のデータ、628 定員数のデータ、RMTBL[] ルーム管理テーブル、ATBL0 知人用テーブル、ATBL1 コミュニティ用テーブル。   100 mobile phone, 110C P2P button, 400 matching server, 420 room opening section, 421A participation reception section, 421B search reception section, 421C withdrawal reception section, 422 room deletion section, 425 event notification section, 425A participation notification section, 425B withdrawal notification Part, 426 deletion time setting part, 627 room opening purpose data, 628 capacity data, RMTBL [] room management table, ATBL0 acquaintance table, ATBL1 community table.

Claims (6)

複数の端末とネットワークを介して通信し、前記複数の端末同士のデータ通信に必要な情報を交換するためのチャットルームを開設する情報処理装置であって、
記憶部と、
前記複数の端末のうちのいずれかから送信された、前記チャットルームの名称と当該チャットルームの開設目的の種類を含む開設パラメータとを含むルーム開設要求を受信する開設要求受信部と、
前記開設要求受信部が受信した前記開設要求に従うデータを、前記記憶部に格納することにより、前記チャットルームを開設するルーム開設部と、
前記複数の端末のうちのいずれかから送信された、当該端末の識別情報を有する前記データ通信するために必要な所定情報を含む前記チャットルームへの当該端末の参加要求を受信する参加要求受信部と、
前記参加要求受信部が受信した前記参加要求に従い、前記記憶部の前記チャットルームに関連付けて当該参加要求の前記所定情報を格納することにより、前記端末のルームへの参加を受付けるルーム参加部と、
前記複数の端末のいずれかから送信された、当該端末の識別情報を含む前記チャットルームからの脱退要求を受信する脱退要求受信部と、
前記脱退要求受信部が受信した前記脱退要求に従い、前記記憶部の前記チャットルームに関連付けられた前記所定情報のうちから、当該脱退要求が示す前記端末の識別情報を有する所定情報を削除することにより、前記端末のルームからの脱退を受付けるルーム脱退部と、
前記開設要求、前記参加要求および前記脱退要求のうちのいずれかを受信する毎に、当該要求受信時から前記チャットルームを前記記憶部から削除すべき時までの期間を指す削除期間を、前記開設パラメータの開設目的の種類に対応した時間値に従い算出する期間算出部と、
前記チャットルームに参加している前記端末の数が維持された期間が、前記削除期間を超過していることを検出したことに応じて、当該チャットルームを前記記憶部から削除するルーム削除部とを、備える情報処理装置。
An information processing apparatus that establishes a chat room for communicating with a plurality of terminals via a network and exchanging information necessary for data communication between the plurality of terminals,
A storage unit;
An opening request receiving unit that receives a room opening request that includes a name of the chat room and an opening parameter that includes the type of purpose of opening the chat room, transmitted from any of the plurality of terminals,
By storing in the storage unit data according to the opening request received by the opening request receiving unit, a room opening unit that opens the chat room;
Participation request receiving unit for receiving a request for participation of the terminal in the chat room including the predetermined information necessary for data communication having the identification information of the terminal, transmitted from any of the plurality of terminals When,
In accordance with the participation request received by the participation request reception unit, a room participation unit that accepts participation in the room of the terminal by storing the predetermined information of the participation request in association with the chat room of the storage unit;
Said transmitted plurality from either terminus, a withdrawal request receiving unit that receives a request for withdrawal from the chat room including identification information of the terminal,
In accordance with the withdrawal request received by the withdrawal request receiving unit, by deleting predetermined information having identification information of the terminal indicated by the withdrawal request from among the predetermined information associated with the chat room of the storage unit A room withdrawal unit that accepts withdrawal of the terminal from the room;
Each time receiving one of the opening request, the participation request, and the withdrawal request, a deletion period indicating a period from when the request is received to when the chat room should be deleted from the storage unit, A period calculation unit that calculates according to the time value corresponding to the type of purpose of opening the parameter,
A room deletion unit that deletes the chat room from the storage unit in response to detecting that a period in which the number of terminals participating in the chat room is maintained exceeds the deletion period; An information processing apparatus comprising:
前記開設パラメータは、さらに、前記チャットルームに参加が許容される端末の最大台数を指す定員数を含み、
前記期間算出部は、前記開設要求、前記参加要求および前記脱退要求のうちのいずれかを受信する毎に、当該要求受信時から前記チャットルームを前記記憶部から削除すべき時までの期間を指す削除期間を、前記開設パラメータの開設目的の種類と前記定員数とに対応した時間値に従い算出する定員期間算出部を、含む、請求項に記載の情報処理装置。
The establishment parameter, further, look at including a number of capacity, which refers to the maximum number of terminals allowed to participate in the chat room,
The period calculation unit indicates a period from when the request is received to when the chat room should be deleted from the storage unit every time one of the opening request, the participation request, and the withdrawal request is received. remove period, the capacity period calculation unit for calculating in accordance with the time value corresponding to the type of open interest and said capacity of the establishment parameters, including information processing apparatus according to claim 1.
前記定員期間算出部は、
前記参加要求を受信する毎に、前記削除期間を、前記開設パラメータの開設目的の種類と前記チャットルームに参加している前記端末の台数と前記定員数差分対応した時間値に従い算出する算出部を含む、請求項に記載の情報処理装置。
The capacity period calculation unit
Calculating said each time it receives a participation request, the deletion period, follow the time value corresponding to the difference in the number of capacity the the number of the terminals participating in the type and the chat room opening purposes of the establishment parameter The information processing apparatus according to claim 2 , further comprising :
前記定員期間算出部は、
前記脱退要求を受信する毎に、前記削除期間を、前記開設パラメータの開設目的の種類と前記チャットルームに参加している前記端末の台数対応した時間値に従い算出する、請求項またはに記載の情報処理装置。
The capacity period calculation unit
Each time it receives the withdrawal request, the deletion period, calculates follow the time value corresponding to the number of the terminals participating in the chat room and the type of establishment purpose of the establishment parameter, claim 2 or 3. The information processing apparatus according to 3 .
複数の端末とネットワークを介して通信し、前記複数の端末同士のデータ通信に必要な情報を交換するためのチャットルームを開設する情報処理装置による情報処理方法であって、
前記情報処理装置は、記憶部と、通信部とを備え、
前記情報処理方法は、
前記複数の端末のうちのいずれかから送信された、前記チャットルームの名称と当該チャットルームの開設目的の種類を含む開設パラメータとを含むルーム開設要求を前記通信部により受信するステップと、
受信した前記開設要求に従うデータを、前記記憶部に格納することにより、前記チャットルームを開設するステップと、
前記複数の端末のうちのいずれかから送信された、当該端末の識別情報を有する前記データ通信するために必要な所定情報を含む前記チャットルームへの当該端末の参加要求を前記通信部により受信するステップと、
受信した前記参加要求に従い、前記記憶部の前記チャットルームに関連付けて当該参加要求の前記所定情報を格納することにより、前記端末のルームへの参加を受付けるステップと、
前記複数の端末のいずれかから送信された、当該端末の識別情報を含む前記チャットルームからの脱退要求を前記通信部により受信するステップと、
受信した前記脱退要求に従い、前記記憶部の前記チャットルームに関連付けられた前記所定情報のうちから、当該脱退要求が示す前記端末の識別情報を有する所定情報を削除することにより、前記端末のルームからの脱退を受付けるステップと、
前記開設要求、前記参加要求および前記脱退要求のうちのいずれかを受信する毎に、当該要求受信時から前記チャットルームを前記記憶部から削除すべき時までの期間を指す削除期間を、前記開設パラメータの開設目的の種類に対応した時間値に従い算出するステップと、
前記チャットルームに参加している前記端末の数が維持された期間が、前記削除期間を超過していることを検出したことに応じて、当該チャットルームを前記記憶部から削除するステップとを、備える情報処理方法。
An information processing method by an information processing apparatus that communicates with a plurality of terminals via a network and establishes a chat room for exchanging information necessary for data communication between the plurality of terminals,
The information processing apparatus includes a storage unit and a communication unit,
The information processing method includes:
Receiving a room opening request transmitted from any of the plurality of terminals, including a name of the chat room and an opening parameter including a type of opening purpose of the chat room , by the communication unit;
Storing the data in accordance with the received opening request in the storage unit to open the chat room;
The communication unit receives a request for participation of the terminal in the chat room, which includes predetermined information necessary for data communication having identification information of the terminal, transmitted from any of the plurality of terminals. Steps,
Accepting participation of the terminal in the room by storing the predetermined information of the participation request in association with the chat room of the storage unit according to the received participation request;
Receiving by the communication unit a request for withdrawal from the chat room are sent, including identification information of the terminal from any of the end of the plurality of end
In accordance with the received withdrawal request, the predetermined information having the terminal identification information indicated by the withdrawal request is deleted from the predetermined information associated with the chat room in the storage unit. Accepting the withdrawal of
Each time receiving one of the opening request, the participation request, and the withdrawal request, a deletion period indicating a period from when the request is received to when the chat room should be deleted from the storage unit, Calculating according to the time value corresponding to the type of the purpose of opening the parameter;
In response to detecting that the period in which the number of terminals participating in the chat room is maintained exceeds the deletion period, deleting the chat room from the storage unit, Information processing method provided.
請求項に記載の情報処理方法をコンピュータに実行させるための情報処理プログラム。 An information processing program for causing a computer to execute the information processing method according to claim 5 .
JP2008315667A 2008-12-11 2008-12-11 Information processing device Expired - Fee Related JP5250904B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008315667A JP5250904B2 (en) 2008-12-11 2008-12-11 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008315667A JP5250904B2 (en) 2008-12-11 2008-12-11 Information processing device

Publications (2)

Publication Number Publication Date
JP2010140245A JP2010140245A (en) 2010-06-24
JP5250904B2 true JP5250904B2 (en) 2013-07-31

Family

ID=42350342

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008315667A Expired - Fee Related JP5250904B2 (en) 2008-12-11 2008-12-11 Information processing device

Country Status (1)

Country Link
JP (1) JP5250904B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103888344B (en) * 2014-03-20 2017-07-14 小米科技有限责任公司 Group creating method, group exit method and apparatus
US10079787B2 (en) 2014-03-20 2018-09-18 Xiaomi Inc. Method and apparatus for creating group and exiting group
KR101654261B1 (en) * 2015-06-25 2016-09-05 주식회사 카카오 Message service providing method for providing message service through open chatting room corrensponding link and message server and device for performing the method
JP2017207974A (en) * 2016-05-19 2017-11-24 ソニー株式会社 Information processing device, and information processing method and program
JP6868260B1 (en) * 2020-11-27 2021-05-12 株式会社Arblet Information processing systems, servers, information processing methods and programs

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001225549A1 (en) * 2000-01-19 2001-07-31 Flex-Firm Inc. Chat system, terminal, chat environment forming method, and recording medium
JP5080048B2 (en) * 2006-09-20 2012-11-21 株式会社バンダイナムコゲームス Program, information storage medium, player terminal, and server system
JP5094091B2 (en) * 2006-11-01 2012-12-12 任天堂株式会社 Game system

Also Published As

Publication number Publication date
JP2010140245A (en) 2010-06-24

Similar Documents

Publication Publication Date Title
US20060209802A1 (en) Method for transmitting image data in real-time
KR101203248B1 (en) Network system, communication terminal, communication method, and computer readable recording medium having communication program
JP5170682B2 (en) Communication terminal
JP2013541777A (en) Interactive messaging service operation method providing acknowledgment
JP5250904B2 (en) Information processing device
JP2010134517A (en) Device, method and program for message exchange
KR100690242B1 (en) Mobile terminal and method for transmitting image during use of mobile messenger service
CN1708033A (en) Method and system for authorizing a restricted callable status in an instant messaging system
JP2004102547A (en) Communication system, communication server, and communicating method
JP2009541902A (en) Remote update of user status on presence server
US10541951B2 (en) Enhancing network messaging with a real-time, interactive representation of current messaging activity of a user&#39;s contacts and associated contacts
KR20110126421A (en) Method and apparatus for providing message conversation corresponding to each of group in messaging service
JP5732530B2 (en) Intercommunication method, apparatus and system for intercommunication information on the Internet
JP5530757B2 (en) Remote conference system, remote conference method, remote conference program, and recording medium
CN111338971B (en) Application testing method and device, electronic equipment and storage medium
JP2009015457A (en) Communication terminal, control method therefor and computer program
CN110351101B (en) Group invitation processing method, system and mobile terminal
KR20110065513A (en) Network system, communication device, communication method, and communication program
JP2010140083A (en) Communication terminal
JP2011139194A (en) Communication system, communication method, communication terminal, and communication program
CN112153476B (en) Interactive data processing method and device, server and storage medium
KR20130092369A (en) Apparatus and method for providing conference call in mobile communication
JP5170558B2 (en) Communication apparatus and communication method
EP1843538A1 (en) Method for conference setup between mobile terminals for a shared whiteboard session
US20240195906A1 (en) Method and server for providing notification message to user terminal

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111201

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

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130328

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees