JP5250904B2 - Information processing device - Google Patents
Information processing device Download PDFInfo
- 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
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
特許文献2では、各ユーザは自己のパーソナルコンピュータのIPアドレスを添付した電子メールを、希望する通信先である他のユーザのパーソナルコンピュータ宛てに送信することで、P2P通信に必要な情報を交換する。
In
特許文献3では、チャットサーバに接続した携帯電話機は、チャットサーバを介して、チャットに接続していない他の携帯電話機に対して、チャットサーバへの接続を促すチャット勧誘メールを送信すると、チャット勧誘メールを受信した携帯電話機のユーザがチャットサーバへの接続を承諾したとき、当該携帯電話機はチャットサーバに接続される。
In
特許文献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では、サーバで自動生成したチャットルームが必要でなくなった時(依頼者と落札者との間の契約完了をもって)、そのチャットルームを削除する構成が記載される。
特許文献6では、同じウェブページを見ているユーザ間の通信を促進するため、チャットルームを自動作成、削除する構成が記載される。
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
このチャットルームの削除処理に関し、特許文献5や特許文献6のように、サーバ側で不要と判断した時に、チャットルームを削除する構成とすることもできる。しかしながら、複数(3以上)端末のチャット通信を想定すると、ルームを開設してから、全ての端末が当該ルームに入室完了するまでに要する期間において、チャットルームはサーバに存在し続ける。ここで、全ての者が入室完了するのに要する期間は、入室すべき端末台数が多いほど長期化し、端末のバッテリ切れなどサーバにアクセス不可能な状態に陥った端末があればさらに長期化する。したがって、サーバ側の判断により削除するとしても、依然として、利用の可能性がないチャットルームが長期間、サーバに残ることになる。
With regard to the chat room deletion process, as in
このように、サーバにおいて長期間、使われることのない無駄なチャットルームが数多く残存すると、ルームを新たに開設するための記憶領域が小さくなり、チャットシステムの運用効率は低下する。 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
<チャットルームに関する説明>
本実施の形態では、‘チャット’とは、後述のインターネット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
また、チャットルーム(以下、単にルームと略す)は、一般的には、テーマ・話題毎にデータ交換するために開設されて端末によりアクセスされる。本実施の形態では、通信端末において生成されるルーム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
Referring to FIG. 1,
なお、説明の容易化のために、以下では、本実施の形態に係るネットワークシステム1が、第1の携帯電話100Aと、第2の携帯電話100Bと、第3の携帯電話100Cとを含む場合について説明する。また、携帯電話100A,100B,100Cの各々に共通の構成や機能を説明する際には、それらを携帯電話100とも総称する。そして、携帯電話100A,100B,100C、カーナビゲーション装置200、パーソナルコンピュータ300の各々に共通の構成や機能を説明する際には、それらを通信端末とも総称する。
For ease of explanation, in the following, the
携帯電話100は、キャリア網700に接続可能に構成されている。カーナビゲーション装置200は、インターネット500に接続可能に構成されている。パーソナルコンピュータ300は、LAN(Local Area Network)350やWAN(Wide Area Network
)を介してインターネット500に接続可能に構成されている。マッチングサーバ400は、インターネット500に接続可能に構成されている。メールサーバ600は、インターネット500およびキャリア網700に接続可能に構成されている。
The
) Through the
より詳細には、第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
なお、本実施の形態に係る携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300とは、割当てられるIPアドレスを利用して、メールサーバ600を介さずに他の通信端末とデータ送受信を行うものである。ここでは、各通信端末がマッチングサーバ400にアクセスする際には、すなわち各通信端末がインターネットにアクセスした際に、マッチングサーバ400あるいは他の図示しないサーバ装置などによってIPアドレスが割当てられるものとする。IPアドレスの割当て処理の詳細は公知であるので、ここでは説明を繰り返さない。
The
また、本実施の形態に係る携帯電話100、カーナビゲーション装置200、パーソナルコンピュータ300は、自身に割当てられたIPアドレスを利用することにより、直接的に相互にネットワークを介してデータ送受信を行うことが可能である。すなわち、本実施の形態に係るネットワークシステム1に含まれる携帯電話100、カーナビゲーション装置200、パーソナルコンピュータ300は、いわゆるP2P通信のネットワークを構成することが可能である。
In addition, the
<携帯電話100のハードウェア構成>
本実施の形態に係る携帯電話100のハードウェア構成について説明する。図2は、本施の形態に係る携帯電話100の概観を示す図である。図3は、本施の形態に係る携帯電話100のハードウェア構成を示す図である。
<Hardware configuration of
A hardware configuration of
図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,
本実施の形態に係るディスプレイ107は、液晶パネルやCRT(Cathode Ray Tube)から構成されるタッチパネルである。すなわち、本実施の形態に係る携帯電話100は、ディスプレイ107の下側(裏側)にタブレット119が敷設されている。ユーザはスタイラスペン120を用いてディスプレイ107上に文字・記号・図形などを描画すると、描画による軌跡を示す座標データがタブレット119を介して検出されて制御部106に与えられる。これにより、スタイラスペン120を操作して手書き入力した文字・記号・図形の情報を制御部106に入力することができる。ディスプレイ107は、制御部106が出力した情報に基づいて、手書き入力された画像やテキストを表示する。
The
入力部110は、スイッチ・キー・ボタンなどを備え、ユーザがスイッチ・キー・ボタンを操作することによって入力した情報を受付ける。たとえば、入力部110は、通話を受付けたり、通話を発したりするために操作されるTELボタン110Aと、メールを受付けたり、メールを発したりするために操作されるメールボタン110Bと、P2P通信を受付けたり、P2P通信を発したりするために操作されるP2Pボタン110Cと、アドレス帳データを参照するために操作されるアドレス帳ボタン110Dと、各種の処理を終了させるために操作される終了ボタン110Eとを含む。
The
第1の報知部111は、スピーカ109などを介して着信音(たとえばベル音)を出力する。あるいは、第1の報知部111は、バイブレーション機能を有する。第1の報知部111は、着呼に応じて、またはメール受信に応じて、音声を出力したり、携帯電話100を振動させたりする。
The
第2の報知部112は、着呼に応じて点滅するTEL用LED112Aと、メールを受信したときに点滅するメール用LED112Bと、P2P通信に従う信号を受信したときに点滅するP2P用LED112Cを含む。
The
制御部106は、CPU106Aを含むマイクロコンピュータによって実現され、携帯電話100の各部を制御する。たとえば、入力部110を介してユーザから各種の命令を受付けて、他の通信部101やTEL用通信部102やネットワークを介して外部の通信端末とデータの送受信を行う。
The
他の通信部101およびTEL用通信部102は、無線通信機能を有し無線通信を行なう。具体的には、制御部106からの通信データを通信信号に変換し、その通信信号を図示しないアンテナを介して発信する。他の通信部101およびTEL用通信部102は、アンテナを介して受信した通信信号を通信データに変換し、その通信データを制御部106に入力する。
記憶部103は、作業用メモリとして機能するRAM(Random Access Memory)や、制御プログラム・データなどを格納するROM(Read Only Memory)や、画像データなどを記憶するハードディスクなどによって実現される。図4、図5および図6は、図3の記憶部103に格納されるアドレス帳データ、自端末データおよびルームデータベースRMDBを示す図である。
The
図3に示すように、記憶部103の記憶領域103Aには、ルームデータベースRMDBが格納される。図6を参照してルームデータベースRMDBには、当該携帯電話100が開設または参加するルームのそれぞれに対応して、ルーム名のデータRNと、当該ルームに参加している他の携帯電話100のIPアドレスを指すデータIPAが格納される。
As shown in FIG. 3, a room database RMDB is stored in the
図3の記憶部103は、さらに、アドレス帳データAdrDB[]が格納される記憶領域103B、携帯電話100(自端末)に関するデータを指す自端末データMyAdrが格納される記憶領域103C、生成したルーム名のデータTNMを一時的に格納する記憶領域103D、自端末に割当てられたIPアドレスデータMY_IPADRを格納する記憶領域103E、およびマッチングサーバ400のアドレスデータSEV_ADRを格納する記憶領域103F含む。
3 further includes a
上述したデータが格納される記憶部103の領域は、携帯電話100の電源がOFFされても記憶内容が消去しないメモリ、たとえばフラッシュメモリからなる。
The area of the
図4を参照して、記憶領域103Bのアドレス帳データAdrDB[]には、宛先(他の通信端末)毎に個別にデータを格納する。具体的には、各通信端末毎に割当された記憶領域には、当該記憶領域を指示するメモリNoのデータ1031、宛先の名前のデータ1032、通話において相手端末を一意に識別するための電話番号のデータ1033、およびデータ通信において相手端末を一意に識別するためのメールアドレスを指すデータ1034が対応付けて格納される。
Referring to FIG. 4, the address book data AdrDB [] in
図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
Referring to FIG. 7,
図7においては、CPU106Aが有する各機能とデータ・情報を入出力する周辺回路部のみが示される。
In FIG. 7, only the functions of the
端末通信部1061は、電話による通信を制御するためのTEL用通信部102、ならびにサーバとの通信を制御するサーバ通信部1081およびIPアドレスを用いたP2P通信を制御するためのP2P通信部1082を含む。サーバ通信部1081およびP2P通信部1082はデータ通信部101の機能に相当する。
The
フレーム解析部1062は、端末通信部1061によって受信されたフレームを入力し、入力したフレームのデータを解析し、解析結果を出力する。フレーム生成部1063は、端末通信部1061を介して外部ネットワークに送信するべきフレームを生成する。入力受付部1064は、タブレット119および入力部110から入力されたデータを受付ける。報知処理部1065は、第1および第2の報知部111および112の出力動作を制御する。
The
メール処理部1067は、インターネット500などの通信網を経由する電子メールの通信を処理する。P2P処理部1068は、P2P通信に対応する処理を実行する。通知処理部1069は、端末通信部1061が外部から受信した通知を入力して、解析し、結果を出力する。データ更新部1070は、端末通信部1061が外部から受信した通知に従い、記憶部103のルームデータベースRMDBのデータを更新する。
The
ルームアクセス部1071は、P2P通信に従うチャット通信のためにマッチングサーバ400に格納されるルームのアクセスを制御する。ルーム名生成部1072は、P2P通信に従うチャット通信を開始するために、マッチングサーバ400に開設されるべきルームの名称を所定手順に従い生成する。所定手順は、ルームを一意に識別することのできるルーム名を生成できるものであればよい。ルーム検索要求部1073は、ルーム名に基づきルームの検索をマッチングサーバ400に対して要求する。ルーム開設要求部1074は、ルーム名に基づきルームの開設をマッチングサーバ400に対して要求する。ルーム参加要求部1075は、ルーム名に基づきルームへの参加をマッチングサーバ400に対して要求する。ルーム脱退要求部1076はルーム名に基づきルームからの脱退をマッチングサーバ400に対して要求する。
The
<マッチングサーバ400のハードウェア構成>
次に、本実施の形態に係るマッチングサーバ400のハードウェア構成について説明する。なお、メールサーバ600のハードウェア構成は、マッチングサーバ400のそれと同様であるので説明は略す。
<Hardware configuration of matching
Next, a hardware configuration of matching
図8は、本実施の形態に係るマッチングサーバ400のハードウェア構成を示すブロック図である。図8に示すように、本実施の形態に係るマッチングサーバ400は、相互に内部バス408で接続されたCPU405と、メモリ406と、固定ディスク407と、サーバ通信部409と、現在時刻を計時して時間データを出力する計時部410含む。
FIG. 8 is a block diagram showing a hardware configuration of matching
メモリ406は、各種の情報を記憶するものであって、たとえば、CPU405でのプログラムの実行に必要なデータを一時的に記憶する。固定ディスク407は、CPU105が実行するプログラムやデータベースを記憶する。CPU405は、マッチングサーバ400およびメールサーバ600の各要素を制御するものであって、各種の演算を実施する装置である。
The
サーバ通信部409は、CPU405が出力したデータを電気信号へと変換して外部へ送信し、外部から受信した電気信号をデータに変換してCPU405に入力する。具体的には、サーバ通信部409は、CPU405からのデータを、インターネット500やキャリア網700などを介して携帯電話100やカーナビゲーション装置200やパーソナルコンピュータ300に送信する。そして、インターネット500やキャリア網700を介して携帯電話100やカーナビゲーション装置200やパーソナルコンピュータ300から受信したデータを、CPU405に入力する。
The
<マッチングサーバ400の機能構成>
図9を参照して、マッチングサーバ400は、ルーム開設部420、ルームへの参加、ルームの検索およびルームからの脱退の要求を受付けて処理する参加受付部421A、検索受付部421Bおよび脱退受付部421Cを有するルーム受付部421、ルーム削除部422、フレーム生成部423、フレーム解析部424、イベント通知部425およびルーム毎に当該ルームを削除するべき時間(時刻)を設定する削除時間設定部426を含む。これらの各部は、固定ディスク407またはメモリ406の所定の記憶領域に予めプログラム・データとして格納されており、CPU405が所定記憶領域からプログラム・データを読出し、実行することにより、各部の機能が実現される。
<Functional configuration of matching
Referring to FIG. 9, matching
メモリ406には、後述するルーム管理テーブルRMTBL[]、知人用テーブルATBL0およびコミュニティ用テーブルATBL1、ならびにマッチングサーバアドレスのデータMSADが格納される。
The
ルーム開設部420は、メモリ406のルーム管理テーブルRMTBL[]に、新たに開設するべきルームに対応するデータを格納することにより、ルームを開設する。ルーム削除部422は、要求されたルームをルーム管理テーブルRMTBL[]から削除する。フレーム生成部423は、サーバ通信部409を介してインターネット500に送信するべきデータのフレームを生成し、生成したフレームをサーバ通信部409に出力する。フレーム解析部424は、サーバ通信部409がインターネット500を介して受信したフレームのデータを解析し、解析結果を出力する。
The
イベント通知部425は、参加通知部425Aおよび脱退通知部425Bを含む。参加通知部425Aは、ルーム管理テーブルRMTBL[]のルームへの参加が検出されたとき、当該ルームに既に参加している他の携帯電話100宛てに、参加の検出を通知する。脱退通知部425Bは、ルーム管理テーブルRMTBL[]のルームかからの脱退が検出されたとき、当該ルームに既に参加している他の携帯電話100宛てに、脱退の検出を通知する。
The
削除時間設定部426は、ルームの開設またはルームへの参加またはルームからの脱退が検出される毎に、当該ルームを削除するべき時間を、知人用テーブルATBL0またはコミュニティ用テーブルATBL1のデータに従い決定する。
The deletion
<テーブルの構成>
図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
データ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
まず、携帯電話100A(図13において端末A)は、P2P通信を開始するために、たとえば定員数が3の知人用チャットのためのルーム‘R’の開設要求をマッチングサーバ400宛てに送信する(ステップS002)。
First, to start P2P communication,
マッチングサーバ400では、ルーム‘R’をルーム管理テーブルRMTBL[]に開設する。ルーム‘R’のデータRMTBL[i].FLAGは1に更新される。そして、データRMTBL[i].IPA[j]として、携帯電話100AのIPアドレス‘A’が設定される。この開設に応じて、削除時間設定部426によって、知人用テーブルATBL0を参照して、当該ルームを削除するべき時間のデータRMTBL[i].DELTMが設定される(ステップS003)。
In matching
次に、携帯電話100Cはマッチングサーバ400に開設されているルームを検索することにより、ルーム‘R’を検出すると、ルーム‘R’への参加要求を、マッチングサーバ400宛てに送信する(ステップS008)。また、データRMTBL[i].IPA[j+1]が指す携帯電話100CのIPアドレスがルーム管理テーブルRMTBL[]に格納される。この参加の検出に応じて、削除時間設定部426によって、知人用テーブルATBL0を参照して、当該ルームを削除するべき時間のデータRMTBL[i].DELTMが更新される(ステップS009)。
Next, when the
マッチングサーバ400は、ルーム参加要求を受信すると、マッチング処理を開始する。
When the matching
マッチング処理においては、ルーム‘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
その後、当該ルームへの参加台数が変化しない状態が継続して、その結果、計時部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
マッチング処理によって、ルーム名‘R’のルームに参加した携帯電話100Aおよび100Cのユーザは、お互いのIPアドレスを交換することができる。以降、両者は、交換により取得したIPアドレスを用いてP2P通信を行うことができる。
Through the matching process, the users of the
まず、携帯電話100Aは、取得したIPアドレス‘C’に基づいて携帯電話100CにP2P接続要求メッセージ(開始メッセージ)を送信する(ステップS012)。携帯電話100Cは、接続要求メッセージを受信して、携帯電話100AのIPアドレ‘A’に基づいて携帯電話100Aに第1の接続承諾メッセージ(返答メッセージ)を送信する(ステップS014)。携帯電話100Aは、携帯電話100Cから第1の接続承諾メッセージを受信して、第2の携帯電話100Cに第2の接続承諾メッセージを送信する(ステップS016)。
First, the
このようにして、携帯電話100Aと携帯電話100Cとは、互いに相手を認証する。認証が完了すると、携帯電話100Aと携帯電話100Cとは、P2P通信を開始する(ステップS018)。そして携帯電話100Aと100Cの間では、P2P通信に従うメッセージなどのデータ通信が行なわれる。
Thus,
その後、携帯電話100Aが、携帯電話100CにP2P通信を切断する旨のメッセージを送信すると(ステップS030)、携帯電話100Cは、携帯電話100Aに切断する要求を受付けた旨のメッセージを送信する(ステップS032)。
Thereafter, when
<通信フレームの構成>
図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
図14を参照してフレームは、基本的に、ヘッダ部610とデータ部620を含む。ヘッダ部610には、当該フレームの種別(タイプ)を指示するデータ611、当該フレームの宛先‘DD’を示すデータ612および当該フレームの送信元‘SD’を示すデータ613が格納される。データ部620は、送信すべきデータを格納する。
Referring to FIG. 14, the frame basically includes a
データ611が示すタイプは、本実施の形態では、要求フレームであることを示す“1”と、要求の受付フレームであることを示す“0”と、通知フレームであることを示す“2”のいずれかの値となる。また、本実施の形態ではフレームは、携帯電話100とマッチングサーバ400との間で送受信されるため、データ612および613としては、携帯電話100の記憶部103から読出されたメールアドレスのデータ1037、およびマッチングサーバアドレスのデータMSADまたは記憶領域103FのアドレスデータSEV_ADRが格納される。
In this embodiment, the type indicated by the
携帯電話100のルーム検索要求部1073が、ルーム管理テーブルRMTBL[]のルームの検索を要求する場合には、フレーム生成部1063が図15のルーム検索要求のフレーム599を生成する。生成したフレームはサーバ通信部1081によってマッチングサーバ400宛てに送信される。
When the room
フレーム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,
マッチングサーバ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
携帯電話100が、ルーム開設を要求する場合には、フレーム生成部1063が図17のルーム開設要求のフレーム601を生成する。生成したフレーム601は、サーバ通信部1081によってマッチングサーバ400に宛てて送信される。
When the
フレーム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
マッチングサーバ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
携帯電話100のルーム参加要求部1075が、ルームへの参加を要求する場合には、フレーム生成部1063が図19のルーム参加要求のフレーム603を生成する。生成したフレーム603はサーバ通信部1081によってマッチングサーバ400に宛てて送信される。
When the room
フレーム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
携帯電話100が図19のルーム参加要求のフレーム603を送信した場合において、マッチングサーバ400の参加受付部421Aは当該フレーム603のデータ622が指示するルーム名に基づきルーム管理テーブルRMTBL[]を検索する。検索結果に基づき、図20に示すルーム参加受付のフレーム604が生成されて、要求元の携帯電話100に送信される。
When the
具体的には、検索結果、データ622が指示するルーム名を有するルームが既に開設されていると判定した場合には、マッチング処理により、参加要求元の携帯電話100と、指示されたルーム名のルームに既に参加していた携帯電話100のそれぞれに宛てて図20の参加受付フレーム604が生成されて送信される。
Specifically, if it is determined that a room having the room name indicated by the
参加要求元の携帯電話100宛のフレーム604は、データ部620において、ルーム参加要求のフレーム603のデータ622が格納される。また、当該ルーム参加要求が受付けられたことを示す“参加受付(値‘0’)”を示すデータ624と、当該ルームに既に参加している他のユーザの携帯電話100のIPアドレスのデータRMTBL[i].IPA[j]が、ルーム管理テーブルRMTBL[]から読出されてデータ625として格納される。
The
既に当該ルームに参加していた携帯電話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
なお、参加の受付けに成功しなかった場合には、すなわち検索結果に基づきルーム管理テーブル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
携帯電話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
マッチングサーバ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
図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
データ部620に関して、図23の参加のイベント通知フレーム607では、命令コード621としてルームに新たな端末が参加したことを通知するためのコマンドMEM_APPENDが格納され、データ622には、端末の参加が検出されたルームのルーム名を指すデータRMTBL[i].RMNMが格納される。データ623には、当該ルームに新たに参加した端末のIPアドレスのデータRMTBL[i].IPA[j]が、ルーム管理テーブルRMTBL[]から読出されて格納される。
In the participation
データ部620に関して、図24の脱退のイベント通知フレーム608では、命令コード621として脱退端末が発生したことを示すコマンドMEM_LEAVEが格納され、データ622には、端末の脱退が生じたルームのルーム名が、すなわちデータRMTBL[i].RMNMが、データ623には、脱退を要求した端末のIPアドレスのデータRMTBL[i].IPA[j]が、それぞれルーム管理テーブルRMTBL[]から読出されて格納される。
With respect to 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
また、携帯電話100が、マッチングサーバ400から図24の脱退通知フレーム608を受信した場合には、通知処理部1069は、脱退通知フレーム608のデータ622に基づきルームデータベースRMDBを検索する。検索結果に基づき、データ622のルーム名を指すデータRNに対応するデータIPAから、脱退通知フレーム608のデータ623が指すIPアドレスのデータを削除する。これにより、当該ルームから脱退したユーザのIPアドレスを破棄することができる。
In addition, when the
<携帯電話の処理>
図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
まず、入力受付部1064は、タブレット119または入力部110がユーザによって操作されて、何らかの指示が与えられるか否かを判定する(ステップS201)。何らの操作もされない間は、ステップS201の判定処理が繰返される。
First, the
一方、何らかの操作がされて入力が検知されると(ステップ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),
一方、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
図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
なお、ルーム名の入力は、スタイラスペン120を操作してウインドウ1072から直接に所望のルーム名を入力してもよく、または、ルーム名生成のためのパラメータを入力するとしてもよい。パラメータが入力された場合には、ルーム名生成部1072は、入力したパラメータに基づき所定手順に従いルーム名を生成する。入力または生成されたルーム名は、記憶部103の記憶領域103DにデータTNMとして格納される。以降の、各種要求フレームの生成時には、当該データTMNが記憶領域103Dから読出されて用いられる、と想定する。
The room name may be input by operating the
図26(C)には、図26(A)のメニュー画面において“ルーム参加”のアイコン1071が選択されて、“ルーム参加”の要求が入力された場合の表示画面の一例が示される。図26(C)では、参加を希望するルームのルーム名を入力するためのウインドウ1072が表示される。このルーム名の入力時には、上述のルーム名の入力・生成の他に記憶部103のルームデータベースRMDBから読出したルーム名のデータRNがリスト形式で表示されて、そのリストから選択的に入力するとしてもよい。
FIG. 26C shows an example of a display screen when the “room participation”
図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
“ルーム開設”が選択された場合にはルーム開設要求部1074により、ルーム開設要求処理(ステップS211)が行なわれる。“ルーム参加”が選択された場合にはルーム参加要求部1075により、ルーム参加要求処理(ステップS213)が行なわれる。“ルーム検索”が選択された場合にはルーム検索要求部1073によりルーム検索要求処理(ステップS215)が行なわれる。“ルーム脱退”が選択された場合には、ルーム脱退要求部1076により、ルーム脱退要求処理(ステップS217)が行なわれる。ステップS211、S213、S215およびS217の処理後、これら各処理において生成された要求フレームが、サーバ通信部1081を介してマッチングサーバ400宛てに送信される(ステップS219)。
When “room establishment” is selected, the room
マッチングサーバ400においては、携帯電話100からステップS219において送信された要求フレームを受信すると、受信した要求フレームのデータに従う処理を実行し、要求フレームを受付けたことを示す受付フレームを生成し、当該携帯電話100宛に送信する。要求元の携帯電話100のサーバ通信部1081は、マッチングサーバ400から、この受付フレームを受信し、フレーム解析部1062はフレームのデータを解析し解析結果を、データ更新部1070に与えるとともに、通知処理部1065に与える。通知処理部1065は、与えられる解析結果に基づき、要求の受付結果を、第1の報知部111または第2の報知部112を制御して、ベルの鳴動、携帯電話100自体の振動、またはLEDの点灯制御によりユーザに対し報知する(ステップS213)。この報知は、ディスプレイ107において、画像として出力されてもよい。
When the matching
データ更新部1070は、与えられる解析結果に基づき、記憶部103のルームデータベースRMDBを検索し、ルームデータベースRMDBのデータを更新する。具体的には、ルーム開設要求の受付が成功したことを指すフレーム602を受信した場合には、フレーム602のデータ622が指すルーム名のデータRNをルームデータRMDBに格納する。
The
ルーム参加要求を受付けた旨のフレーム604を受信した場合には、当該フレーム604から読出した他の参加端末のIPアドレスのデータ625を、ルームデータベースRMDBにおいて、当該フレーム604のデータ622が指すルーム名のデータRNに対応付けて、データIPAとして格納する。
When the
ルーム検索要求の受付が失敗したことを指すフレーム600を受信した場合には、当該ルームは開設されていないと判定して、フレーム600のデータ622が指すルーム名のデータRNをルームデータRMDBから削除するようにしてもよい。
When the
またルーム脱退要求に対する受付フレーム606を受信した場合には、脱退を要求したルームのデータRNとこれに対応のデータIPAをルームデータベースRMDBから削除する。その後、処理は終了する。
When the
<マッチングサーバの処理>
図27を参照して、マッチングサーバ400において定期的に繰返されるメイン処理について説明する。
<Processing of matching server>
With reference to FIG. 27, the main process periodically repeated in the matching
まず、マッチングサーバ400のサーバ通信部409は、インターネット500から何らかのデータを受信するか否かを判定する(ステップS3)。データの受信が検出されないと、後述のルーム削除処理(ステップS27)を開始する。
First, the
一方、データの受信があった場合(ステップ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
ステップ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
フレーム解析部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
ルーム削除部422は、開設されているルームのうち対応のデータRMTBL[i].DELTMが削除するべき時間を指示しているルームを削除するルーム削除処理を実行する。 具体的には、ルーム検索のための変数iに値0を設定し、変数TMに計時部410から読出した現在時刻を示す時間データを設定する。
The
続いて、ルーム削除部422は、ルーム管理テーブルRMTBL[]を検索し、データRMTBL[i].FLAGの値が1を指示するか否かを判定する(ステップS29)。データRMTBL[i].FLAGが1を指示するならば(ステップS29でYES)対応するデータRMTBL[i].DELTMの値が変数TMの値と比較され、比較結果に基づき、(RMTBL[i].DELTM<TM)の条件が成立するか否かが判定される(ステップS31)。
Subsequently, the
ステップ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
一方、(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
<ルーム開設処理>
図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
ルーム開設部420は、検索受付部421Bによる検索結果を示す戻り値RTの値が“ERROR”を指示しない、すなわち検索要求したルーム名のルームがルーム管理テーブルRMTBL[]に既に開設されている(既に同一名のルーム名がある)と判定した場合には(ステップS43でNO)、戻り値RTを‘ERROR’に設定し、図27の処理に戻る(ステップS67)。
The
一方、検索処理(ステップ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
一方、ルーム管理テーブルテーブル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
具体的には、データ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
さらに、ステップS53においては、データRMTBL[i].ECNTに、値1が設定される。これにより、当該ルームに現在参加している(脱退要求をしていない)端末数は1台であることが指示される。さらに、変数Nに、(RMTBL[i].RMNM−RMTBL[i].ECNT)の算出結果が格納される。変数Nは、現時点で当該ルームへ新たに参加が許容される端末の台数(以下、現在参加許容台数という)を指示する。
Further, in step S53, the
その後、削除時間設定部426が起動されて、削除時間設定処理(TMERSET1)が行なわれる。
Thereafter, the deletion
具体的には、削除時間設定部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
一方、今回開設したルームのデータ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
一方、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
なお、ステップS61、S63およびS65における“現在時刻”は、計時部410が出力する現在時刻のデータを指す。
Note that “current time” in steps S61, S63, and S65 refers to data of the current time output by the
以上のように、削除時間設定部426は、ルームが新規に開設される毎に起動されて、当該ルームの開設目的と当該ルームの定員数に基づく現在参加許容台数とに従い、ルームを削除するべき日時のデータRMTBL[i].DELTMを可変に設定する。
As described above, the deletion
<ルーム参加処理>
図29を参照して、ルーム参加受付部421Aによるルーム参加処理について説明する。
<Room participation processing>
With reference to FIG. 29, the room participation process by the room
ルーム参加受付部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
戻り値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
変数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
その後、ステップS101において、削除時間設定部426が起動されて、削除時間設定処理(TMERSET1:ステップS101)が実行される。続いて、イベント通知部425の参加通知部425Aが起動されて、後述する参加通知処理(図32参照)が実行される(ステップS103)。
Thereafter, in step S101, the deletion
その後、参加受付部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
上述のステップ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
<ルーム脱退処理>
次に図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
一方、戻り値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
続いて、ステップ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
(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
一方、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
続いて、ステップ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
一方、当該ルームには参加している端末が存在すると判定された場合には(ステップ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
削除時間設定部426は、まず当該ルームのデータRMTBL[i].APLが0を指示するか否かを判定する(ステップS137)。0を指示する、すなわち当該ルームの開設目的は知人用と判定すると、処理は後述する脱退通知処理(図33参照)に移行する(ステップS149)。その後、処理は戻り値RTを‘OK’(正常)に設定して、図27の処理に戻る(ステップS151)。
The deletion
ステップ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
一方、ステップ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
一方、現在参加台数は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
ステップ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
以上のように、ルームからの脱退要求が発生し受付される毎に、削除時間設定部426により、脱退を受付けたルームのデータRMTBL[i].DELTMが、現在参加台数およびルーム開設条件を指すパラメータである当該ルームの開設目的に応じて可変に設定される。
As described above, each time a withdrawal request from a room is generated and accepted, the deletion
<ルーム検索処理>
次に、図31を参照して検索受付部421Bによるルーム検索処理について説明する。
<Room search process>
Next, room search processing by the
検索受付部421Bは、検索が要求されたルームのルーム名を入力すると、当該ルーム名を指示するデータRMTBL[i].RMNMを有するルームデータRMTBL[i]が、ルーム管理テーブルRMTBL[]に格納されているか否かを検索する。なお、検索が要求されるルームは、受信した要求フレーム599、601、603および605のデータ622のルーム名により指示される。
When the
具体的には、検索のための制御の変数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
有効に存在するルームを検出すると(ステップ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
具体的には、参加要求を受付けたルームに参加要求受付前から既に参加している携帯電話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
ステップ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
このように、ルーム参加要求が発生して受付られる毎に、当該ルームに既に参加している他の携帯電話100のそれぞれは、図23の通知フレーム607を受信することにより、新たな参加端末のIPアドレスを取得することができる。
In this way, each time a room participation request is generated and accepted, each of the other
<脱退通知処理>
次に、図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
具体的には、脱退要求を受付けたルームに脱退要求受付後も参加している携帯電話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
ステップ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
このように、ルーム脱退要求が発生して受付られる毎に、脱退要求受付後も当該ルームに参加している他の携帯電話100のそれぞれは、図24の通知フレーム608を受信することにより、脱退する端末のIPアドレスを取得することができる。
In this way, each time a room withdrawal request is generated and accepted, each of the other
(プログラムおよび記録媒体)
ここで、本実施の形態における、図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
また、携帯電話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
ここで、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。 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.
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:
前記期間算出部は、前記開設要求、前記参加要求および前記脱退要求のうちのいずれかを受信する毎に、当該要求受信時から前記チャットルームを前記記憶部から削除すべき時までの期間を指す削除期間を、前記開設パラメータの開設目的の種類と前記定員数とに対応した時間値に従い算出する定員期間算出部を、含む、請求項1に記載の情報処理装置。 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.
前記参加要求を受信する毎に、前記削除期間を、前記開設パラメータの開設目的の種類と前記チャットルームに参加している前記端末の台数と前記定員数の差分とに対応した時間値に従い算出する算出部を含む、請求項2に記載の情報処理装置。 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 :
前記脱退要求を受信する毎に、前記削除期間を、前記開設パラメータの開設目的の種類と前記チャットルームに参加している前記端末の台数とに対応した時間値に従い算出する、請求項2または3に記載の情報処理装置。 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.
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)
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)
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 |
-
2008
- 2008-12-11 JP JP2008315667A patent/JP5250904B2/en not_active Expired - Fee Related
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'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 |