WO2020162364A1 - 中継ポイント割り当てサーバ、チャットシステム、クライアント端末、チャットサーバ、およびチャット空間構築方法 - Google Patents

中継ポイント割り当てサーバ、チャットシステム、クライアント端末、チャットサーバ、およびチャット空間構築方法 Download PDF

Info

Publication number
WO2020162364A1
WO2020162364A1 PCT/JP2020/003718 JP2020003718W WO2020162364A1 WO 2020162364 A1 WO2020162364 A1 WO 2020162364A1 JP 2020003718 W JP2020003718 W JP 2020003718W WO 2020162364 A1 WO2020162364 A1 WO 2020162364A1
Authority
WO
WIPO (PCT)
Prior art keywords
chat
server
client terminal
request
space
Prior art date
Application number
PCT/JP2020/003718
Other languages
English (en)
French (fr)
Inventor
佳久 尾上
真 大下
壮志 浦川
Original Assignee
株式会社ソニー・インタラクティブエンタテインメント
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 株式会社ソニー・インタラクティブエンタテインメント filed Critical 株式会社ソニー・インタラクティブエンタテインメント
Priority to EP20752171.7A priority Critical patent/EP3923147A4/en
Priority to US17/428,022 priority patent/US20220029842A1/en
Publication of WO2020162364A1 publication Critical patent/WO2020162364A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1818Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation

Definitions

  • the present invention relates to a chat system in which a plurality of users have a conversation via a network, a relay point allocation server included in the chat system, a client terminal, a chat server, and a chat space construction method performed there.
  • a chat system is known as a means for users to have a conversation with characters, voice, and images via a network (see, for example, Patent Document 1).
  • the present invention has been made in view of such problems, and an object thereof is to realize a stable chat environment with less delay.
  • This relay point assignment server is a chat system in which a plurality of members participating in each chat space realize a conversation through a network using a client terminal, and a chat space opening request is issued from any of the client terminals.
  • One of the chat servers selected based on a predetermined rule among the plurality of chat servers that are distributed and arranged in response to the opening request and relay the transmission of the utterance data between the client terminals.
  • a chat server selecting unit for requesting relay of utterance data in the chat space corresponding to the opening request.
  • This chat system is a chat system that enables a plurality of members who participate in each chat space to have a conversation over a network.
  • the chat data of members is output to the network, and the chat data of other members is output to the network.
  • a plurality of client terminals that are obtained from the client and output to the output device, a plurality of chat servers that are distributed and relay the transmission of utterance data between the client terminals, and a chat space is opened from one of the client terminals.
  • one chat server selected based on a predetermined rule among a plurality of chat servers is provided with a relay point assignment server that requests relay of utterance data in a chat space corresponding to an opening request. Characterize.
  • This client terminal is a client terminal used by a plurality of members participating in each chat space in a chat system for realizing a conversation via a network, and is an input for acquiring the comments of the member using the client terminal.
  • the communication unit which transmits and receives, and the output unit that sequentially outputs the utterance data of each member in a predetermined format to the output device, and the communication unit responds to the chat start request acquired by the input information acquisition unit.
  • a chat space opening request is issued to a relay point allocation server that selects a server, and as a result, communication is established with the selected chat server based on the information transmitted from the relay point allocation server. To do.
  • chat server is arranged in a distributed manner in a chat system in which a plurality of members participating in each chat space realize a conversation through a network using client terminals, and transmission of utterance data between client terminals.
  • a chat server that relays a chat space, and opens a chat space according to a request from a relay point allocation server that selects one chat server based on a predetermined rule in response to a chat space opening request issued by one of the client terminals.
  • the chat space opening unit receives a request to participate in the chat space issued by each client terminal from the relay point allocation server, and establishes direct communication with the client terminal that satisfies a predetermined condition to relay the speech data.
  • a chat processing section for performing the chat processing.
  • Yet another aspect of the present invention relates to a chat space construction method.
  • this chat space construction method in a chat system in which a plurality of members who participate in each chat space realize a conversation through a network using a client terminal, one of the client terminals requests a chat space establishment.
  • the step of issuing and the relay point allocation server are selected in accordance with a predetermined rule from among a plurality of chat servers that are arranged in a distributed manner in response to the opening request and relay the transmission of the utterance data between the client terminals.
  • Requesting the chat server to relay the utterance data in the chat space corresponding to the opening request, and the selected chat server opens the chat space and establishes direct communication with the client terminal. And a step of relaying.
  • FIG. 7 is a time chart showing a processing procedure for opening a chat room in the present embodiment. In the present embodiment, it is a time chart showing a processing procedure when participating in an opened chat room.
  • FIG. 6 is a diagram for explaining a policy in which the relay point allocation server in the present embodiment selects a chat server for opening a chat room or its area.
  • FIG. 9 is a flowchart showing a processing procedure for selecting a chat server based on an average value of communication speeds with a plurality of client terminals in the present embodiment.
  • Fig. 1 illustrates the configuration of a general chat system.
  • the chat participant talks with other participants via the respective client terminals 200a, 200b, 200c, 200d.
  • the client terminal 200a appropriately encodes the speech data and transmits it to the client terminals 200b, 200c, and 200d of other participants via a network such as the Internet.
  • the utterance data is transmitted from the local network to which the client terminal 200a belongs to via the Internet to the local network to which the destination client terminals 200b, 200c, and 200d respectively belong.
  • IP address conversion For data transmission between different networks, it is necessary to perform IP address conversion by NAT (Network Address Translation), protocol conversion, and the like.
  • NAT Network Address Translation
  • protocol conversion As shown in the figure, the method in which client terminals establish communication and exchange data directly is called peer-to-peer.
  • the utterance data can be directly transmitted to the other party, so generally there is an advantage that the delay time until the utterance is transmitted to the other party is short.
  • resource consumption in each client terminal and the network to which it belongs increases as the number of people participating in the chat increases.
  • the variation in the number of participants may affect the responsiveness of the content itself.
  • chat server that relays utterance data. At this time, by arranging a plurality of chat servers in different areas and selecting an appropriate server according to the position information of the client terminal or the like, a stable chat system with a short delay time is realized.
  • FIG. 2 shows the configuration of the chat system in this embodiment.
  • the chat system 1 includes client terminals 10a, 10b, 10c,... (Hereinafter collectively referred to as client terminals 10), chat servers 18a, 18b, 18c,. (Also referred to as server 18), gateway 12, relay point allocation server 14, and load balancers 16a, 16b,... (Hereinafter, they are collectively referred to as load balancer 16).
  • the client terminal 10 is a device operated by each user, and at least performs input and output related to chat. In addition, the client terminal 10 may process various contents such as games and videos by itself, receive data distribution from the content providing server, and output the resulting image or sound.
  • the client terminal 10 may be any general device or terminal such as a tablet, a mobile phone, a mobile terminal, or a personal computer.
  • the chat server 18 creates a chat space in which a group of users operating the client terminals 10a, 10b, 10c,...
  • the chat space is actually a unit of data to which identification information is individually given and which is associated with a chat participant or each client terminal 10 or a storage area thereof.
  • each space where each chat group has a conversation is referred to as a “chat room”.
  • the chat server 18 establishes communication with the client terminals 10 of all users participating in the chat room, and transfers the speech data of each user to the client terminals 10 of other users.
  • the chat servers 18a, 18b, 18c,... are dispersed and provided in different areas.
  • the fact that the chat servers 18a and 18b are provided in the area "A" and the chat server 18c is provided in the area "B" is shown by being surrounded by a broken line.
  • the “region” may be a unit such as a continent or a country, but the size of the unit such as a state, city, town, facility, etc., or the standard of division is not particularly limited.
  • one chat server 18 may be provided in one area, or a plurality of chat servers 18 may be provided.
  • the relay point assignment server 14 selects a chat server 18 suitable for opening in response to a chat room opening request from any of the client terminals 10.
  • the chat participants are more likely to have the same mother tongue because of the characteristic that they speak in a common language. Since users with the same native language are likely to be geographically close to each other, if a chat server is placed in each “region” as described above, a chat that is close to all users participating in one chat room will be common.
  • the present inventor has realized that the server is approximately determined.
  • the gateway 12 extracts the location information of the requesting client terminal 10 from the transmitted chat room opening request signal. Then, the relay point assignment server 14 selects, for example, the chat server 18 in the area in which the client terminal 10 of the request source exists. According to the above knowledge, if the chat server 18 is selected in such a manner, the probability that the chat server 18 is close is high even for users who will participate later. As a result, it is possible to minimize the communication delay in the conversation conducted via the chat server 18.
  • the load balancer 16 is arranged in each area, and in accordance with a request from the relay point allocation server 14, a server with a low processing load is selected from the plurality of chat servers 18a and 18b arranged in the same area to open a chat room. By doing so, the load of chat relay processing is appropriately distributed.
  • a server with a low processing load is selected from the plurality of chat servers 18a and 18b arranged in the same area to open a chat room.
  • FIG. 3 shows the internal circuit configuration of the client terminal 10.
  • the client terminal 10 includes a CPU (Central Processing Unit) 23, a GPU (Graphics Processing Unit) 24, and a main memory 26. These respective units are connected to each other via a bus 30.
  • An input/output interface 28 is further connected to the bus 30.
  • the input/output interface 28 includes a peripheral device interface such as USB and IEEE 1394, a communication unit 32 including a wired or wireless LAN network interface, a storage unit 34 such as a hard disk drive or a non-volatile memory, and an output for outputting data to a display device.
  • a unit 36, an input unit 38 for inputting data from an input device, and a recording medium drive unit 40 for driving a removable recording medium such as a magnetic disk, an optical disk or a semiconductor memory are connected.
  • the CPU 23 controls the entire client terminal 10 by executing the operating system stored in the storage unit 34.
  • the CPU 23 also executes various programs read from the removable recording medium and loaded in the main memory 26, or downloaded via the communication unit 32.
  • the communication unit 32 also establishes communication with the gateway 12 and the chat server 18, and transmits and receives various data necessary for chat.
  • the GPU 24 has a geometry engine function and a rendering processor function, performs drawing processing according to a drawing command from the CPU 23, and stores a display image in a frame buffer (not shown). Then, the display image stored in the frame buffer is converted into a video signal and output to the output unit 36.
  • the main memory 26 is composed of a RAM (Random Access Memory) and stores programs and data required for processing.
  • the internal circuit configurations of the relay point allocation server 14 and the chat server 18 may be the same.
  • FIG. 4 shows a configuration of functional blocks of the client terminal 10 in the present embodiment.
  • Each element described as a functional block for performing various processes in FIG. 5 and FIGS. 5, 6 and 14 described later is, in terms of hardware, a CPU, a GPU, a main memory, and other LSIs as shown in FIG.
  • In terms of software it is realized by a program stored in a recording medium or a storage device and loaded in a memory. Therefore, it is understood by those skilled in the art that these functional blocks can be realized in various forms by only hardware, only software, or a combination thereof, and the present invention is not limited to them.
  • the client terminal 10 includes an input information acquisition unit 42 that receives a user operation via an input device, a chat processing unit 44 that performs a chat-related process according to the content of the received operation, and image and audio data to be output.
  • An output unit 46 that outputs to an output device such as a display device and a speaker, a communication unit 50 that establishes communication with an external device such as the gateway 12 and the chat server 18, and sends and receives data, chat information that stores various types of chat information.
  • a storage unit 48 is included.
  • the input information acquisition unit 42 acquires, from the input device, data representing the start and end of chat, the selection of a chat partner, the state of a statement or conversation.
  • the input device may be a general device necessary for conducting a chat, such as a controller connected to the client terminal 10, a touch panel, a keyboard, a camera, and a microphone.
  • the chat processing unit 44 should transmit an image to be displayed or an external image according to a user operation acquired by the input information acquisition unit 42, a chat start/end, an invitation of a chat partner, a join/leave chat, etc. Generate a signal.
  • the chat processing unit 44 also acquires the data of the statement of the user of the apparatus itself and the statement of the chat partner, and generates output data in a predetermined format.
  • the voice data and the video data of the user of the own device which are acquired by the microphone or the camera, are compression-encoded to be in a format that can be transmitted, Decode and expand video data.
  • chat partners their voices and videos are appropriately combined or connected.
  • text chat an image is generated in which the transmitted text data representing the utterance of the other party is displayed in a predetermined format such as a chronological order together with the text input by the user of the own device.
  • the output unit 46 sequentially outputs the image and sound data thus generated to the output device.
  • the output device may be any one or a combination of a general display device such as a liquid crystal display or an organic EL display and a general acoustic device such as a speaker, which are connected to the client terminal 10.
  • the communication unit 50 transmits a signal requesting the start of chat or participation in the chat to the gateway 12. In particular, when starting a chat, that is, opening a chat room, the position information of the client terminal 10 is included in the request signal so that the chat room can be opened in an appropriate chat server 18.
  • the communication unit 50 further transmits the comment data of the user of the own device to the chat server 18 in which the corresponding chat room is established, and receives the comment data of the partner from the chat server 18.
  • the communication unit 50 also transmits a signal requesting the end of the chat or leaving the chat to the chat server 18, and also directly or indirectly to the client terminal 10 of the partner who wants to be invited to the chat.
  • the chat information storage unit 48 stores the identification information of the opened chat room and the information serving as a key for accessing the chat room.
  • the chat information storage unit 48 also stores information about the candidates of the chat partner, which the user of the own device registered in advance.
  • FIG. 5 shows the configuration of functional blocks of the gateway 12 and the relay point allocation server 14 in the present embodiment.
  • the gateway 12 establishes communication with the client terminal 10 and the relay point allocation server 14 and transmits/receives data, and the position information for reading the position information of the client terminal 10 from the signal transmitted from the client terminal 10.
  • the acquisition unit 74 is included.
  • the communication unit 72 acquires a request signal for opening a chat room or participating in an existing chat room from the client terminal 10 and sends it to the relay point allocation server 14.
  • the position information acquisition unit 74 acquires the chat room opening request signal from the communication unit 72, reads the position information of the client terminal 10 that is the signal transmission source, and notifies the communication unit 72 of the position information.
  • the communication unit 72 also transmits the position information to the relay point allocation server 14.
  • the communication unit 72 also acquires the identification information of the opened chat room and the information serving as a key for accessing the chat room from the relay point allocation server 14 and transmits the information to the client terminal 10.
  • the communication unit 72 further relays a signal necessary for the client terminal 10 and the chat server 18 to establish communication.
  • the relay point assignment server 14 establishes communication with the gateway 12, the load balancer 16, and the chat server 18 to transmit/receive data, the client terminal 10, and the chat server selection unit that matches the chat server 18 or its area. 78, a selection rule storage unit 80 that stores data that serves as a basis for matching, a chat management unit 82 that manages the correspondence between the chat server 18 and the chat room, and a chat information storage unit 84 that stores the correspondence relationship.
  • the communication unit 76 acquires, via the gateway 12, a request signal transmitted from the client terminal 10 such as opening a chat room or joining an existing chat room, and also obtains information on the opened chat room, It returns to the client terminal 10 via the gateway 12.
  • the communication unit 76 also transmits a chat room opening request signal to the selected chat server 18 or the load balancer in the area, and receives the result. In the latter case, a request is made to select an appropriate chat server 18 to open a chat room.
  • the communication unit 76 further relays a signal necessary for the client terminal 10 and the chat server 18 to establish communication.
  • the chat server selection unit 78 selects a chat server 18 that matches the client terminal 10 that has requested the opening of a chat room, or an area where such a chat server 18 exists.
  • the load balancer 16 may further select the chat server 18 according to the processing load, but hereinafter, in some cases, such a case may be referred to as “selection of chat server”.
  • Information serving as a basis for selection is stored in the selection rule storage unit 80 in advance.
  • the location information of the client terminal 10 and the area of the chat server 18 are associated so that the chat server 18 near the client terminal 10 is selected.
  • the communication speed may be slower than that of the chat server 18 far away depending on the communication environment.
  • the chat server 18 in the area adjacent to the area to which the client terminal 10 belongs may be closer to the client terminal 10 or the communication speed may be faster than the area to which the client terminal 10 belongs. Based on these, preferably, the selection rule is created so that the chat server 18 can be selected based on the actual distance and the communication speed. Alternatively, position information and communication speed of the client terminal 10 of the chat partner may be taken into consideration. A specific example will be described later.
  • the chat management unit 82 associates the chat server 18 in which the chat room is established with the identification information of the chat room with the request from the client terminal 10 and stores the association information in the chat information storage unit 84. Then, when a request to participate in the chat is made from each client terminal 10, the chat management unit 82 specifies the chat server 18, which is the destination of the participation request, based on the identification information of the chat room included in the request signal. To forward the request. By this procedure, the chat server 18 selected from the plurality of chat servers 18 and the client terminal 10 are allowed to directly communicate with each other eventually.
  • FIG. 6 shows the configuration of functional blocks of the chat server 18 in the present embodiment.
  • the chat server 18 establishes communication with the client terminal 10, the relay point allocation server 14, and the load balancer 16 to send and receive data, a chat room opening unit 92 that opens a chat room, and appropriately transfers utterance data. It includes a chat processing unit 94 and a chat information storage unit 96 that stores information related to chat.
  • the communication unit 90 acquires the chat room opening request signal directly from the relay point allocation server 14 or via the load balancer 16, and identifies the chat room opened accordingly and the access information therefor.
  • the key information is returned to the relay point allocation server 14.
  • a key for access which is uniquely determined and given to each chat room, is called a "token”.
  • the communication unit 90 further acquires a communication establishment request from the client terminal 10, that is, a chat participation request from the relay point allocation server 14, and returns the result to the client terminal 10 via the relay point allocation server 14 and the gateway 12. ..
  • the communication unit 90 also acquires utterance data from the client terminal 10 with which communication has been established, and transfers the utterance data to the client terminals 10 of other users participating in the same chat.
  • the chat room opening unit 92 opens the chat room in accordance with the request for opening the chat room. Specifically, the identification information of the chat room and the token are generated, and they are associated with each other and stored in the chat information storage unit 96. When the client terminal 10 issues a request to participate in the chat, the chat room identification information and the token included in the signal are compared with the information stored in the chat information storage unit 96, and both match. Allow to join the chat. The identification information of the client terminal 10 permitted to participate is stored in the chat information storage unit 96 in association with the identification information of the chat room.
  • Information required for establishing communication is generated for the client terminal 10 permitted to participate and transmitted to the client terminal 10 via the communication unit 90, the relay point allocation server 14, and the gateway 12.
  • the chat processing unit 94 acquires utterance data from each client terminal 10 as needed. Then, based on the identification information of the chat room added to the data, the client terminal 10 of the other user participating in the chat is specified, and the speech data is transferred to the client terminal 10 as the destination.
  • the chat processing unit 94 deletes the entry of the requesting client terminal 10 associated with the corresponding chat room in the chat information storage unit 96 and performs communication. To end.
  • the chat processing unit 94 deletes the entry of the chat room in the chat information storage unit 96 and ends the communication.
  • FIG. 7 is a time chart showing a processing procedure for opening a chat room in the present embodiment.
  • the client terminal 10a receives a request to start a chat from the user (S8). Then, the client terminal 10a requests the authentication server (not shown) for authentication by a predetermined procedure, and acquires the access right to the chat system (S10).
  • the access right includes the position information of the client terminal 10a specified in the authentication process. Since the global IP address acquired by the client terminal 10a connecting to the Internet provider includes location information, this may be used.
  • the client terminal 10a issues a chat room opening request including the access right (S12).
  • the request is first acquired by the gateway 12, the position information included in the request signal is extracted, and then transferred to the relay point allocation server 14 (S14).
  • the chat server selection unit 78 of the relay point allocation server 14 refers to the selection rule storage unit 80 and selects the chat server 18a that matches the client terminal 10a or the area thereof (S16). The figure shows a case where an area is selected.
  • the relay point allocation server 14 further acquires the address of the load balancer 16a provided in the selected area from the selection rule storage unit 80, and transfers the chat room opening request to the load balancer 16a (S18).
  • the load balancer 16a in the selected area is shown by a solid line and the others are shown by broken lines.
  • the load balancer 16a transfers the request for opening the chat room to the chat server 18a selected so that the processing load is not biased among the chat servers 18 managed by the load balancer 16a (S20).
  • the selected chat server 18a among the plurality of chat servers 18 is indicated by a solid line, and the others are indicated by broken lines.
  • the chat server 18a which has received the request for opening the chat room, carries out the processing for opening the chat room. That is, the chat room identification information (room ID) and a token for participating in the chat room are generated. Then, the chat server 18a returns the information as a result of the opening request to the load balancer 16a together with the private IP address (server IP) of the chat server 18a itself (S22). The load balancer 16a transfers the acquired opening request result to the relay point allocation server 14 (S24).
  • server IP private IP address
  • the relay point allocation server 14 directly selects the chat server 18a, the processing of the load balancer 16a can be omitted.
  • the relay point allocation server 14 Upon receiving the chat room opening request result, the relay point allocation server 14 stores the room ID and the server IP in the chat information storage unit 84 in association with each other. Thereby, even if the request signal in which only the room ID is designated is transmitted from the client terminal 10 thereafter, the relay point allocation server 14 can transfer the request signal to the appropriate chat server 18a. Then, the relay point allocation server 14 returns the room ID and the token to the client terminal 10a via the gateway 12 as a result of the chat room opening request (S26, S28).
  • FIG. 8 and 9 are time charts showing the processing procedure for joining the opened chat room, following the processing of FIG. 7. That is, the client terminal 10a that has requested the opening of the chat room has already acquired the room ID and token of the chat room at this point. The client terminal 10a first issues a request for participation in the opened chat room (S30). At this time, the client terminal 10a includes the room ID of the chat room and the token in the signal to be transmitted.
  • the participation request signal is transmitted to the relay point allocation server 14 via the gateway 12 (S32). Then, the relay point assignment server 14 refers to the chat information storage unit 84, identifies the server IP of the chat server 18a associated with the transmitted room ID, and then transfers the participation request signal to the chat server 18a ( S34). In response to the request signal, the chat server 18a adds identification information (peer ID) to the client terminal 10a as one node of the chat, and stores it in the chat information storage unit 96 in association with the room ID (S35). At this time, the chat server 18a compares the room ID and token pair included in the request signal with those stored in the chat information storage unit 96, and performs registration only when both match.
  • peer ID identification information
  • the chat server 18a transmits the assigned peer ID to the requesting client terminal 10a via the relay point assignment server 14 and the gateway 12 (S36, S38, S40).
  • the client terminal 10a acquires its own SDP (Session Description Protocol) and sends it to the relay point allocation server 14 via the gateway 12 (S42, S44).
  • SDP Session Description Protocol
  • the SDP is general information necessary for establishing communication, such as the type of data to be transmitted, its own IP address, and port number.
  • the client terminal 10a includes the room ID of the chat room and the peer ID given to itself in the signal to be transmitted. Also in this case, the relay point assignment server 14 identifies the corresponding chat server 18a by referring to the chat information storage unit 84, and transfers the SDP to the chat server 18a (S46).
  • the chat server 18a stores the transmitted SDP in the chat information storage unit 96 in association with the peer ID of the client terminal of the transmission source, acquires the SDP of itself, and then, via the relay point assignment server 14 and the gateway 12. It is transmitted to the client terminal 10a (S48, S50, S52).
  • the client terminal 10a and the chat server 18a search for a communication route by using each other's SDP and establish communication (S54).
  • This process actually includes a process of exchanging candidates for ICE (Interactive Connectivity Establishment) between the client terminal 10a and the chat server 18a.
  • ICE is information that represents a connectable communication path.
  • the client terminal 10a includes the room ID in the transmission signal, so that the relay point assignment server 14 transfers the signal to the chat server 18a associated therewith. Through these procedures, it becomes possible to directly send and receive data between the client terminal 10a and the chat server 18a.
  • the client terminal 10a receives an operation input for selecting a chat partner from the user (S56). For example, the list of friends registered in the chat information storage unit 48 is displayed on the display device, and the selection operation by the user is accepted. Then, the client terminal 10a reads the identification information of the selected user or the client terminal 10b operated by the user from the chat information storage unit 48, and issues an invitation notification to the chat with the identification information as the destination (S58). In the illustrated example, the “session manager” once receives the notification and transfers it to the other user (S60).
  • the session manager is prepared separately from the chat system of the present embodiment and has a general configuration for transmitting and receiving messages, and the specific notification procedure is not particularly limited.
  • the function of the session manager may be included in the chat system of this embodiment.
  • the client terminal 10a includes the room ID and the token of the chat room in the invitation notification.
  • the client terminal 10b accepts it (S62) and issues a chat room participation request (S64).
  • the client terminal 10b includes the room ID and the token of the chat room in the signal to be transmitted.
  • a participation request is transmitted to the chat server 18a via the relay point allocation server 14 (S66, S68), and the chat server 18a returns the peer ID of the client terminal 10b (S70). , S72, S74).
  • participation registration is performed and the peer ID is transmitted only when the pair of the room ID and the token is valid.
  • communication between the client terminal 10b and the chat server 18a is established (S76).
  • the procedure related to the client terminal 10b shown in FIG. 9 is similarly performed for the client terminals 10 of all the users designated as the chat participant candidates. Then, the chat server 18a transfers the utterance data of the user in each client terminal 10 to the other client terminals 10, whereby a conversation is established with the chat server 18a as a relay point. According to this configuration, since each client terminal 10 is connected to only one chat server 18 for chatting, stable communication is possible regardless of the number of participants in the chat.
  • FIG. 10 shows an example of the structure of data stored in the selection rule storage unit 80 of the relay point allocation server 14.
  • the selection rule 100 has a structure in which a terminal area field 102 indicating the identification information of the area where the client terminal 10 exists and a server area field 104 indicating the identification information of the area where the chat server 18 exists are associated with each other. ..
  • the area of the chat server having the identification information “A” is associated with the area of the code “0001” of the client terminal 10.
  • the unit of area found from the position information of the client terminal 10 and the unit of area given to the chat server 18 may be the same or different.
  • the units of both areas may have a relationship in which one is included in the other, and some of them may overlap or may not overlap at all.
  • the area of the chat server 18 that can communicate as fast as possible is obtained in advance and prepared as the selection rule 100.
  • the chat server selection unit 78 of the relay point allocation server 14 refers to the selection rule 100 and acquires the area of the chat server 18 corresponding to the position information of the client terminal 10 included in the signal of the chat room opening request, thereby making it optimal.
  • the chat server 18 can be selected. It should be noted that the various parameters shown in FIG. 10 and FIGS. 11 and 12 to be described later, and their display formats are merely examples, and are not limited to those shown.
  • a field indicating the identification information of the chat server 18 may be provided instead of the server area field 104 so that the chat server 18 can be directly selected.
  • Each area stored in the server area field 104 is separately associated with the load balancer 16 or the chat server 18 arranged in the area.
  • FIG. 11 shows an example of the structure of data stored in the chat information storage unit 84 of the relay point allocation server 14.
  • the chat information 110 has a structure in which a server IP field 112 indicating the IP address of the chat server 18 and a room ID field 114 indicating the identification information of the chat room opened in each are associated with each other. For example, in the chat server 18 whose server IP is “100.100.100.111”, three chat rooms with room IDs “01”, “03”, and “08” are established.
  • the relay point allocation server 14 updates the entry of the chat information 110 based on the response from the chat server 18 that opened the chat room.
  • the server IP can be derived from the room ID, and subsequent request signals from the client terminal 10 can be transferred to the appropriate chat server 18.
  • the relay point assignment server 14 deletes the corresponding entry from the room ID field 114 by acquiring a notification to that effect from the chat server 18.
  • FIG. 12 shows an example of the structure of data stored in the chat information storage unit 96 of the chat server 18.
  • the chat information 120 includes a room ID field 122 indicating the identification information of the chat room established in the device itself, a token field 124 indicating key information required to participate in each chat, and a chat field participating in each chat. It has a structure in which a peer ID field 126 indicating the identification information of the client terminal 10 is associated.
  • the token of the chat room with the room ID “01” is “2A”
  • the five participating clients are peer IDs “01aa”, “02ac”, “00cv”, “04ka”, and “02pp”.
  • the chat server 18 issues a room ID and a token when opening a chat room, and stores them in the room ID field 122 and the token field 124 in association with each other. Then, only when the room ID and the token pair included in the chat participation request from the client terminal 10 match, the participation is permitted, the peer ID is issued to the requesting client terminal 10 and is registered in the peer ID field 126. .. Each peer ID is separately associated with information necessary for data transmission/reception such as SDP and ICE determined when communication is subsequently established. During the chat, the client terminal 10 adds the room ID and the peer ID to the utterance data of the user, and then transmits it to the chat server 18.
  • the chat server 18 refers to the chat information 120 to acquire the peer ID corresponding to the room ID, and thereby transfers the utterance data to the other client terminals 10 participating in the chat.
  • the chat server 18 deletes the corresponding entry from the peer ID field 126.
  • the chat server 18 deletes the room ID and the entry of each field associated with the room ID.
  • FIG. 13 is a diagram for explaining a policy in which the relay point assignment server 14 in the present embodiment selects the chat server 18 that opens a chat room or its area.
  • the figure shows the positional relationship between the client terminals 10a, 10b, 10c and the chat servers 18a, 18b, 18c.
  • the area of the figure may be the entire world or a narrower range.
  • the simplest selection criterion for the chat server is to consider only the distance. For example, since the chat server closest to the client terminal 10a is the chat server 18b, the chat server 18b is selected to open the chat room.
  • chat server 18a when a large part or all of the client terminal 10a or the area a to which it belongs is included in the area A to which the chat server 18a belongs, it may be possible to select the chat server 18a of the area A.
  • This policy has a high affinity with the above-mentioned chat characteristics. For example, if region A is a country, participants who speak in the same language are likely to be in the same country, so even if there are changes in participants due to later participation or withdrawal, the participants will see it. It is highly likely that the chat server 18a is generally close in distance.
  • the communication band may be taken into consideration. For example, even if the chat server closest to the client terminal 10a is the chat server 18b, it is conceivable that the network with the chat server 18a has a sufficient communication environment. Also in this case, chat with low delay can be realized by selecting the chat server 18a.
  • the selection rule 100 is prepared in consideration of any one or combination of the distance, the inclusion relation of the area, and the communication band.
  • the client terminals 10a, 10b, and 10c of users who have a conversation in the same language by chat have a high probability of being present in a similar distance in the same country in the world, it is possible to chat in accordance with a chat room opening request from the client terminal 10a. If the server 18a or the chat server 18b is selected, there is a high possibility that high-speed communication can be realized for the client terminals 10b and 10c of other participants.
  • each client terminal 10a, 10b, 10c periodically communicates with all the chat servers 18a, 18b, 18c to measure the communication speed, and notifies the relay point assignment server 14 of the result via the gateway 12. ..
  • the relay point allocation server 14 updates the association in the selection condition based on the result.
  • the relay point assignment server 14 determines the server area associated with the terminal area a in the selection rule 100.
  • the area of the chat server 18b is updated to the area A of the chat server 18a.
  • the chat server 18 can be selected in consideration of not only the client terminal 10a requesting the opening of the chat room but also the communication speed between the chat partner client terminals 10b, 10c and the chat server 18. That is, when the user who participates in the chat or the user who is likely to participate in the chat is known in advance, the average value of the communication speed with each client terminal 10 is calculated for each chat server 18. If the chat server 18 having the highest average speed is selected, the chat with the smallest delay can be realized as a whole.
  • FIG. 14 shows a configuration of functional blocks of the client terminal 10 in a mode in which the chat server 18 is selected based on the actual measurement value of the communication speed.
  • the blocks having the same functions as those of the client terminal 10 shown in FIG.
  • the illustrated client terminal 10a includes an input information acquisition unit 42, a chat processing unit 44, an output unit 46, and a chat information storage unit 48, similarly to the client terminal 10 illustrated in FIG.
  • This aspect further includes a communication unit 50a including a speed measurement unit 51 that regularly measures the communication speed with the chat server 18.
  • the speed measurement unit 51 periodically establishes communication with all the chat servers 18 or the chat servers 18 that are candidates narrowed down based on the distance, the communication band, etc., and transmits and receives predetermined data to obtain the communication speed. To measure. A general technique can be applied to this measurement process itself.
  • the communication unit 50a basically functions similarly to the communication unit 50 of the client terminal 10 shown in FIG. 4, but when the speed measuring unit 51 measures the communication speed, the data is also relayed via the gateway 12. It transmits to the point allocation server 14.
  • the functional block of the relay point allocation server 14 may be the same as that shown in FIG. 5, but the actual measurement value of the communication speed transmitted from each client terminal 10 is chatted with the client terminal 10 in the selection rule storage unit 80. It is stored for each combination of the servers 18. Then, as described above, the chat server selection unit 78 updates the information if it is necessary to update the association of the selection rule 100 shown in FIG. 10, that is, if the fastest chat server is changed.
  • the fastest chat server 18 for the client terminal 10a that issued the opening request may be selected.
  • the chat server 18 having the highest average communication speed among all the client terminals 10 scheduled to participate in the chat may be selected.
  • the user who is scheduled to participate may be designated by the user who requested the opening of the chat room, or may be estimated from the past history or the like.
  • FIG. 15 is a flowchart showing a processing procedure for selecting the chat server 18 based on an average value of communication speeds with a plurality of client terminals. This chart corresponds to the processing of S12 to S16 of FIG.
  • the speed measurement unit 51 of each client terminal 10a, 10b establishes communication for each chat server, measures the communication speed of each chat server (S80a, S80b), and sends the measurement result to the relay point allocation server 14 (S82a). , S82b).
  • the target of measurement and transmission is not particularly limited as long as it is a parameter that directly or indirectly indicates the communication speed.
  • the relay point assignment server 14 stores the most recently measured communication speed for each combination of the client terminal 10 and the chat server 18.
  • the client terminal 10a which has been operated by the user to request the start of chat, transmits a request for opening a chat room to the relay point allocation server 14 (S84).
  • the identification information of the other user who is going to participate in the chat or each client terminal 10b, 10c,... is also transmitted.
  • the significance of the chat server is compared based on the actual measurement value of the communication speed, but even if the chat server is selected based on the distance between the client terminal 10 of the user who is planning to participate in the chat and each chat server 18. Good.
  • the relay point allocation server 14 collects the distance between each client terminal 10 and each chat server 18 as well as the communication speed. If the client terminal 10 is a stationary terminal, the distance is fixed and can be acquired in advance.
  • the relay point allocation server 14 may select the chat server 18 having the smallest average distance from the client terminal of the prospective participant.
  • the parameter that is the basis for selecting the chat server is not limited to the communication speed or the distance as long as it affects the delay time until the message is transmitted.
  • the chat server can be uniquely determined by similarly comparing the average values of all the client terminals.
  • the chat server may be selected from a diversified perspective by comparing the weighted sum of average values of a plurality of parameters as a score.
  • a plurality of chat servers for relaying utterance data transmitted from client terminals are provided in different areas, and a suitable chat server is provided.
  • a relay point allocation server for selection is provided.
  • the relay point allocation server selects the appropriate chat server based on the distance, the communication band, the communication speed, etc., thereby minimizing the delay until the message is transmitted to the other party via the chat server. it can. Due to the fact that chats are conversations in one language, chat participants are likely to be geographically close to each other. It becomes almost common in. A stable chat system with less delay can be realized by using this and selecting one of the most suitable chat servers.
  • the present invention can be applied to online systems such as chat systems and game systems, and various information processing devices such as servers, game devices, mobile terminals, and personal computers used therein.
  • chat system 10 client terminals, 12 gateways, 14 relay point allocation servers, 16 load balancers, 18 chat servers, 42 input information acquisition parts, 44 chat processing parts, 46 output parts, 48 chat information storage parts, 50 communication parts, 72 communication unit, 74 location information acquisition unit, 76 communication unit, 78 chat server selection unit, 80 selection rule storage unit, 82 chat management unit, 84 chat information storage unit, 90 communication unit, 92 chat room opening unit, 94 chat processing Section, 96 chat information storage section.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

チャットシステム1において、チャットサーバ18a、18b、18c、・・・を異なる地域に分散させて設ける。クライアント端末10aはユーザ操作に応じてチャットルームの開設要求を発行する。ゲートウェイ12は開設要求信号から、要求元のクライアント端末10aの地域を取得する。中継ポイント割り当てサーバ14は、地域や通信速度の観点で適切なチャットサーバ18aまたはその地域を選択し、チャットルームを開設させる。チャットサーバ18aは、クライアント端末10a、10b、10c間のチャットデータを中継する。

Description

中継ポイント割り当てサーバ、チャットシステム、クライアント端末、チャットサーバ、およびチャット空間構築方法
 本発明は、ネットワークを介して複数のユーザが会話をするチャットシステムと、それに含まれる中継ポイント割り当てサーバ、クライアント端末、チャットサーバ、およびそこでなされるチャット空間構築方法に関する。
 近年の情報処理技術の発展、ネットワークの充実化などにより、パーソナルコンピュータや携帯端末など、ユーザが操作する装置の性能や使用環境によらず、多様なコンテンツを容易に楽しむことができるようになってきた。例えばコンテンツ提供サーバから送信されるデータを個々人で受信して楽しむばかりでなく、離れているユーザ同士がコミュニケーションをとりつつ一緒に楽しむことのできるコンテンツも増えている。ユーザ同士がネットワークを介して文字、音声、映像により会話する手段としてチャットシステムが知られている(例えば特許文献1参照)。
特許第5534469号公報
 チャットシステムにおいて対面での会話と同様の自然な会話を実現するには、発した言葉が即時に相手側に伝わることが望ましい。ネットゲームや動画配信など、並行して実施しているコンテンツについての会話であれば特に、会話の到達遅延はユーザにとって多大なストレスとなり得る。しかしながら個々のユーザが用いる端末の種類やネットワーク環境、参加するユーザの人数など、様々な状況に対応させようとするほど、通信に要する時間が増加しやすいというジレンマがある。
 本発明はこのような課題に鑑みてなされたものであり、その目的は、安定的して遅延の少ないチャット環境を実現することにある。
 本発明のある態様は中継ポイント割り当てサーバに関する。この中継ポイント割り当てサーバは、各チャット空間に参加している複数のメンバーが、クライアント端末を用いてネットワークを介した会話を実現するチャットシステムにおいて、クライアント端末のいずれかから、チャット空間の開設要求を取得する通信部と、当該開設要求に応じて、分散して配置され、前記クライアント端末間での発言データの伝送を中継する複数のチャットサーバのうち、所定の規則に基づき選択した一のチャットサーバに、開設要求に対応するチャット空間における発言データの中継を要求するチャットサーバ選択部と、を備えることを特徴とする。
 本発明の別の態様はチャットシステムに関する。このチャットシステムは、各チャット空間に参加している複数のメンバーによるネットワークを介した会話を実現するチャットシステムであって、メンバーの発言データをネットワークに出力するとともに、他のメンバーの発言データをネットワークから取得して出力装置に出力させる複数のクライアント端末と、分散して配置され、クライアント端末間での発言データの伝送を中継する複数のチャットサーバと、クライアント端末のいずれかからのチャット空間の開設要求に応じて、複数のチャットサーバのうち、所定の規則に基づき選択した一のチャットサーバに、開設要求に対応するチャット空間における発言データの中継を要求する中継ポイント割り当てサーバと、を備えることを特徴とする。
 本発明のさらに別の態様はクライアント端末に関する。このクライアント端末は、各チャット空間に参加している複数のメンバーが、ネットワークを介した会話を実現するチャットシステムにおいて用いるクライアント端末であって、当該クライアント端末を用いているメンバーの発言を取得する入力情報取得部と、分散して配置され、クライアント端末間での発言データの伝送を中継する複数のチャットサーバから所定の規則に基づき選択された一のチャットサーバと通信を確立することにより、発言データの送受信を行う通信部と、各メンバーの発言データを所定のフォーマットで順次出力装置に出力する出力部と、を備え、通信部は、入力情報取得部が取得したチャット開始要求に応じて、チャットサーバを選択する中継ポイント割り当てサーバに対し、チャット空間の開設要求を発行し、その結果として中継ポイント割り当てサーバから送信された情報に基づき、選択された前記チャットサーバと通信を確立することを特徴とする。
 本発明のさらに別の態様はチャットサーバに関する。このチャットサーバは、各チャット空間に参加している複数のメンバーが、クライアント端末を用いてネットワークを介した会話を実現するチャットシステムにおいて、分散して配置され、クライアント端末間での発言データの伝送を中継するチャットサーバであって、クライアント端末のいずれかが発行したチャット空間の開設要求に応じて所定の規則に基づき一のチャットサーバを選択する中継ポイント割り当てサーバからの要求に従い、チャット空間を開設するチャット空間開設部と、クライアント端末ごとに発行される、チャット空間への参加要求を中継ポイント割り当てサーバから受け付け、所定の条件を満たしたクライアント端末と直接通信を確立することにより、発言データを中継するチャット処理部と、を備えたことを特徴とする。
 本発明のさらに別の態様はチャット空間構築方法に関する。このチャット空間構築方法は、各チャット空間に参加している複数のメンバーが、クライアント端末を用いてネットワークを介した会話を実現するチャットシステムにおいて、クライアント端末のいずれかが、チャット空間の開設要求を発行するステップと、中継ポイント割り当てサーバが、開設要求に応じて、分散して配置され、クライアント端末間での発言データの伝送を中継する複数のチャットサーバのうち、所定の規則に基づき選択した一のチャットサーバに、開設要求に対応するチャット空間における発言データの中継を要求するステップと、選択されたチャットサーバがチャット空間を開設したうえ、クライアント端末と直接通信を確立することにより、前記発言データを中継するステップと、を含むことを特徴とする。
 なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
 本発明によると、状況変化に応じた好適な情報処理の形態を常時提供できる。
一般的なチャットシステムの構成を例示する図である。 本実施の形態におけるチャットシステムの構成を示す図である。 本実施の形態におけるクライアント端末の内部回路構成を示す図である。 本実施の形態におけるクライアント端末の機能ブロックの構成を示す図である。 本実施の形態におけるゲートウェイおよび中継ポイント割り当てサーバの機能ブロックの構成を示す図である。 本実施の形態におけるチャットサーバの機能ブロックの構成を示す図である。 本実施の形態においてチャットルームを開設する処理手順を示すタイムチャートである。 本実施の形態において、開設されたチャットルームに参加する際の処理手順を示すタイムチャートである。 本実施の形態において、開設されたチャットルームに参加する際の処理手順を示すタイムチャートである。 本実施の形態における中継ポイント割り当てサーバの選択規則記憶部に格納されるデータの構造例を示す図である。 本実施の形態における中継ポイント割り当てサーバのチャット情報記憶部に格納されるデータの構造例を示す図である。 本実施の形態におけるチャットサーバのチャット情報記憶部に格納されるデータの構造例を示す図である。 本実施の形態において中継ポイント割り当てサーバが、チャットルームを開設させるチャットサーバあるいはその地域を選択するポリシーを説明するための図である。 本実施の形態において、通信速度の実測値に基づきチャットサーバを選択する態様における、クライアント端末の機能ブロックの構成を示す図である。 本実施の形態において、複数のクライアント端末との通信速度の平均値に基づきチャットサーバを選択する処理手順を示すフローチャートである。
 まず本実施の形態の有意性を明らかにするため、従来の一般的なチャット技術について説明する。なお本実施の形態では、ネットワークを介して音声または音声を伴う映像によって会話することを想定するが、文字による会話でもよいし、文字、音声、映像の2つ以上を組み合わせてもよい。以後、データの種類によらず、チャットにおいて相手の端末に送信すべき会話の内容を示すデータを「発言データ」と呼ぶ。
 図1は、一般的なチャットシステムの構成を例示している。チャット参加者はそれぞれのクライアント端末200a、200b、200c、200dを介して他の参加者と会話する。例えばクライアント端末200aを用いる参加者が発言した場合、クライアント端末200aはその発言データを適宜符号化し、インターネットなどのネットワークを介して他の参加者のクライアント端末200b、200c、200dに送信する。
 詳細には発言データは、クライアント端末200aが属するローカルなネットワークからインターネットを経由して、宛先のクライアント端末200b、200c、200dがそれぞれ属するローカルなネットワークに伝送される。異なるネットワーク間のデータ伝送には、NAT(Network Address Translation)によるIPアドレスの変換や、プロトコルの変換などを行う必要がある。図示するようにクライアント端末同士が通信を確立し、データのやりとりを直接行う方式はピアツーピア(Peer to Peer)と呼ばれる。
 この方式によれば、発言データを相手に直接伝送できるため、一般的には発言が相手に伝わるまでの遅延時間が少ないという利点がある。一方で、各クライアント端末がチャット相手の数だけ通信経路を確保する必要があるため、チャットに参加する人数が増えるほど、各クライアント端末やそれが属するネットワークにおけるリソースの消費が増大する。これにより、例えばゲームや動画などのコンテンツを別途処理しつつ会話をするような形態においては、参加人数の変動がコンテンツ自体の応答性に影響を及ぼす場合もある。
 また伝送経路上のネットワークインターフェースにおける、NATなど変換機構の組み合わせによっては、通信の確立に時間を要したり、通信が困難であったりすることも考えられる。さらに直接的な通信によりセキュリティー上の問題も生じやすい。そこで本実施の形態では、発言データを中継するチャットサーバを設けることによりこれらの問題を克服する。このとき、チャットサーバを異なる地域に複数配置し、クライアント端末の位置情報などに応じて適切なサーバを選択することにより、安定的かつ遅延時間の少ないチャットシステムを実現する。
 図2は、本実施の形態におけるチャットシステムの構成を示す。チャットシステム1はクライアント端末10a、10b、10c、・・・(以下、それらを総称してクライアント端末10とも呼ぶ)、チャットサーバ18a、18b、18c、・・・(以下、それらを総称してチャットサーバ18とも呼ぶ)、ゲートウェイ12、中継ポイント割り当てサーバ14、およびロードバランサ16a、16b、・・・(以下、それらを総称してロードバランサ16とも呼ぶ)を含む。
 クライアント端末10はそれぞれのユーザが操作する装置であり、少なくともチャットに係る入力および出力を行う。クライアント端末10はそのほか、ゲームや動画など各種コンテンツを自身で処理したり、コンテンツ提供サーバからデータの配信を受けたりして、その結果である画像や音声を出力してもよい。クライアント端末10はタブレット、携帯電話、携帯端末、パーソナルコンピュータなど、一般的な装置や端末のいずれでもよい。
 チャットサーバ18は、クライアント端末10a、10b、10c、・・・を操作する複数のユーザからなるグループが会話を実現するチャット空間を生成する。チャット空間は実際には、個別に識別情報が与えられ、チャット参加者やそれぞれのクライアント端末10が関連付けられたデータ、あるいはその記憶領域の単位である。以後、各チャットグループが会話をする個々の空間を「チャットルーム」と呼ぶ。チャットサーバ18はチャットルームに参加している全てのユーザのクライアント端末10と通信を確立し、各ユーザの発言データを他のユーザのクライアント端末10に転送する。
 本実施の形態では上述のとおり、チャットサーバ18a、18b、18c、・・・を異なる地域に分散させて設ける。図示する例では、チャットサーバ18a、18bは地域「A」に、チャットサーバ18cは地域「B」に設けられていることを、破線で囲んで示している。ここで「地域」とは例えば大陸や国といった単位が考えられるが、州、市、町、施設など単位の大きさや分割の基準は特に限定されない。また、1つの地域に1つのチャットサーバ18を設けてもよいし、複数のチャットサーバ18を設けてもよい。
 中継ポイント割り当てサーバ14は、クライアント端末10のいずれかからのチャットルーム開設要求に応じて、開設に適したチャットサーバ18を選択する。ネットゲームのプレイヤなどと比較して、チャットの参加者は共通の言語で会話をするという特性上、母国語が同じである確率が高い。母国語が同じユーザは地理的にも近い位置にいる可能性が高いため、上述のとおり「地域」ごとにチャットサーバを配置すれば、一つのチャットルームに参加する全ユーザに共通して近いチャットサーバがおよそ定まることに本発明者は想到した。
 これを踏まえゲートウェイ12は、送信されたチャットルームの開設要求信号から、要求元のクライアント端末10の位置情報を取り出す。そして中継ポイント割り当てサーバ14は例えば、要求元のクライアント端末10が存在する地域のチャットサーバ18を選択する。上記知見によれば、そのようにチャットサーバ18を選択すれば、後から参加するユーザにとっても、近いチャットサーバ18である確率が高いということになる。結果として、当該チャットサーバ18を介してなされる会話において、通信遅延を最小限に抑えることができる。
 ロードバランサ16は各地域に配置され、中継ポイント割り当てサーバ14からの要求に従い、同じ地域に配置されている複数のチャットサーバ18a、18bのうち、処理負荷の低いサーバを選択してチャットルームを開設させることにより、チャット中継処理の負荷を適切に分散させる。なお本実施の形態では上述のとおり、並行してゲームなどのコンテンツを処理するシステムが存在してよいが、従来技術を適用できるためここでの説明は省略する。
 図3は、クライアント端末10の内部回路構成を示している。クライアント端末10は、CPU(Central Processing Unit)23、GPU(Graphics Processing Unit)24、メインメモリ26を含む。これらの各部は、バス30を介して相互に接続されている。バス30にはさらに入出力インターフェース28が接続されている。入出力インターフェース28には、USBやIEEE1394などの周辺機器インターフェースや、有線又は無線LANのネットワークインターフェースからなる通信部32、ハードディスクドライブや不揮発性メモリなどの記憶部34、表示装置へデータを出力する出力部36、入力装置からデータを入力する入力部38、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部40が接続される。
 CPU23は、記憶部34に記憶されているオペレーティングシステムを実行することによりクライアント端末10の全体を制御する。CPU23はまた、リムーバブル記録媒体から読み出されてメインメモリ26にロードされた、あるいは通信部32を介してダウンロードされた各種プログラムを実行する。通信部32はまた、ゲートウェイ12およびチャットサーバ18と通信を確立し、チャットに必要な各種データを送受信する。
 GPU24は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、CPU23からの描画命令に従って描画処理を行い、表示画像を図示しないフレームバッファに格納する。そしてフレームバッファに格納された表示画像をビデオ信号に変換して出力部36に出力する。メインメモリ26はRAM(Random Access Memory)により構成され、処理に必要なプログラムやデータを記憶する。なお中継ポイント割り当てサーバ14およびチャットサーバ18の内部回路構成も同様でよい。
 図4は、本実施の形態におけるクライアント端末10の機能ブロックの構成を示している。同図および後述する図5、6、14においてさまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、図3に示したようにCPU、GPU、メインメモリ、その他のLSIで構成することができ、ソフトウェア的には、記録媒体や記憶装置に格納されメモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
 クライアント端末10は、入力装置を介してユーザ操作を受け付ける入力情報取得部42、受け付けた操作の内容に応じてチャットに係る処理を実施するチャット処理部44、出力すべき画像や音声のデータを生成し表示装置やスピーカーなどの出力装置に出力する出力部46、ゲートウェイ12やチャットサーバ18などの外部装置と通信を確立しデータの送受を行う通信部50、チャットに係る各種情報を記憶するチャット情報記憶部48含む。
 入力情報取得部42は、チャットの開始や終了、チャット相手の選択、発言や会話の様子を表すデータを入力装置から取得する。ここで入力装置はクライアント端末10に接続されたコントローラ、タッチパネル、キーボード、カメラ、マイクなど、チャットを実施するために必要な一般的な装置でよい。チャット処理部44は、入力情報取得部42が取得したユーザ操作に従い、チャットの開始/終了、チャット相手の招待、チャットへの参加/離脱などの処理に従い、表示すべき画像や外部に送信すべき信号を生成する。チャット処理部44はまた、自装置のユーザの発言やチャット相手の発言のデータを取得し、所定の形式で出力データを生成する。
 すなわちボイスチャットであれば、マイクやカメラが取得した、自装置のユーザの音声データや映像データを圧縮符号化して送信可能な形式にするとともに、圧縮符号化されて送信された相手の音声データや映像データを復号伸張する。チャット相手が複数の場合は、それらの音声や映像を適宜合成したりつなげたりする。テキストチャットであれば、送信された相手の発言を表すテキストデータを、自装置のユーザが入力したテキストとともに、時系列順など所定のフォーマットで表した画像を生成する。これらの処理は一般的なチャットの処理と同様でよい。
 出力部46は、そのようにして生成された画像や音声のデータを順次、出力装置に出力する。出力装置はクライアント端末10に接続された、液晶ディスプレイや有機ELディスプレイなどの一般的な表示装置、およびスピーカーなどの一般的な音響装置のいずれかまたは組み合わせでよい。通信部50は、チャットの開始やチャットへの参加を要求する信号をゲートウェイ12に送信する。特にチャットの開始、すなわちチャットルームの開設にあたっては、クライアント端末10の位置情報を当該要求信号に含めることにより、適切なチャットサーバ18にチャットルームを開設できるようにする。
 通信部50はさらに、自装置のユーザによる発言データを、対応するチャットルームが開設されているチャットサーバ18に送信するとともに、相手の発言データを当該チャットサーバ18から受信する。通信部50はまた、チャットの終了やチャットからの離脱を要求する信号をチャットサーバ18に送信するとともに、チャットに招待したい相手のクライアント端末10に対し、直接的あるいは間接的にその旨を示す信号を送信する。チャット情報記憶部48は、開設されたチャットルームの識別情報や、そこにアクセスするためのキーとなる情報を格納する。チャット情報記憶部48はまた、自装置のユーザが事前に登録した、チャット相手の候補者に係る情報も格納する。
 図5は、本実施の形態におけるゲートウェイ12および中継ポイント割り当てサーバ14の機能ブロックの構成を示している。ゲートウェイ12は、クライアント端末10や中継ポイント割り当てサーバ14と通信を確立しデータの送受信を行う通信部72、および、クライアント端末10から送信された信号から、当該クライアント端末10の位置情報を読み出す位置情報取得部74を含む。
 通信部72は、チャットルームの開設や既存のチャットルームへの参加などの要求信号をクライアント端末10から取得し、中継ポイント割り当てサーバ14へ送信する。このとき位置情報取得部74は、チャットルームの開設要求信号を通信部72から取得し、信号送信元のクライアント端末10の位置情報を読み出して通信部72へ通知する。通信部72は当該位置情報も中継ポイント割り当てサーバ14へ送信する。通信部72はまた、開設されたチャットルームの識別情報や、そこにアクセスするためのキーとなる情報を中継ポイント割り当てサーバ14から取得し、クライアント端末10に送信する。通信部72はさらに、クライアント端末10とチャットサーバ18が通信を確立するまでに必要な信号を中継する。
 中継ポイント割り当てサーバ14は、ゲートウェイ12、ロードバランサ16、およびチャットサーバ18と通信を確立しデータの送受信を行う通信部76、クライアント端末10と、チャットサーバ18あるいはその地域をマッチングするチャットサーバ選択部78、マッチングの根拠となるデータを格納する選択規則記憶部80、チャットサーバ18とチャットルームの対応を管理するチャット管理部82、およびその対応関係を記憶するチャット情報記憶部84を含む。
 通信部76は、クライアント端末10から送信された、チャットルームの開設や既存のチャットルームへの参加などの要求信号を、ゲートウェイ12を介して取得するとともに、開設されたチャットルームに係る情報を、ゲートウェイ12を介してクライアント端末10に返す。通信部76はまた、選択されたチャットサーバ18、またはその地域にあるロードバランサに、チャットルームの開設要求信号を送信し、その結果を受信する。後者の場合は、適切なチャットサーバ18を選択してチャットルームを開設させるように要求する。通信部76はさらに、クライアント端末10とチャットサーバ18が通信を確立するまでに必要な信号を中継する。
 チャットサーバ選択部78は、チャットルームの開設を要求したクライアント端末10と適合するチャットサーバ18、あるいはそのようなチャットサーバ18が存在する地域を選択する。地域を選択した場合はロードバランサ16がさらに、処理の負荷に応じてチャットサーバ18を選択してよいが、以後、このような場合も含め、「チャットサーバの選択」と表現する場合がある。選択の根拠となる情報はあらかじめ選択規則記憶部80に格納しておく。
 基本的には上述のとおり、クライアント端末10の近傍にあるチャットサーバ18が選択されるように、クライアント端末10の位置情報とチャットサーバ18の地域を対応づけておく。一方、近くにあるチャットサーバ18であっても、通信環境によっては遠くのチャットサーバ18より通信速度が遅くなることが考えられる。
 またチャットサーバ18の地域を選択する場合、クライアント端末10が属する地域より、それに隣接する地域にあるチャットサーバ18の方が、当該クライアント端末10に近かったり通信速度が速かったりすることも考えられる。これらを踏まえ好適には、実際の距離や通信速度を踏まえてチャットサーバ18を選択できるように選択規則を作成しておく。あるいはさらに、チャット相手のクライアント端末10の位置情報や通信速度も考慮してよい。具体例は後に述べる。
 チャット管理部82は、クライアント端末10からの要求に応じてチャットルームが開設されたチャットサーバ18と当該チャットルームの識別情報とを紐付け、チャット情報記憶部84に格納する。そしてチャット管理部82は、各クライアント端末10からチャットへの参加要求がなされた場合に、当該要求信号に含まれるチャットルームの識別情報に基づき、参加要求の送信先であるチャットサーバ18を特定して要求を転送する。この手続きにより、複数あるチャットサーバ18から選択されたチャットサーバ18とクライアント端末10がやがては直接、通信できるようにする。
 図6は、本実施の形態におけるチャットサーバ18の機能ブロックの構成を示している。チャットサーバ18は、クライアント端末10、中継ポイント割り当てサーバ14、ロードバランサ16と通信を確立しデータの送受信を行う通信部90、チャットルームを開設するチャットルーム開設部92、発言データを適切に転送するチャット処理部94、およびチャットに係る情報を記憶するチャット情報記憶部96を含む。
 通信部90は、中継ポイント割り当てサーバ14から直接、あるいはロードバランサ16を介してチャットルームの開設要求信号を取得するとともに、それに応じて開設されたチャットルームの識別情報と、そこにアクセスするためのキーとなる情報を中継ポイント割り当てサーバ14に返す。以後、チャットルームごとに一意に決定され付与される、アクセスのためのキーを「トークン」と呼ぶ。
 通信部90はさらに、クライアント端末10からの通信確立要求、すなわちチャットへの参加要求を中継ポイント割り当てサーバ14から取得し、その結果を中継ポイント割り当てサーバ14、ゲートウェイ12を介してクライアント端末10へ返す。通信部90はまた、通信が確立されたクライアント端末10から発言データを取得し、同じチャットに参加している他のユーザのクライアント端末10に転送する。
 チャットルーム開設部92は、チャットルーム開設要求に従いチャットルームを開設する。具体的にはチャットルームの識別情報とトークンを生成し、それらを対応づけてチャット情報記憶部96に格納する。そしてクライアント端末10がチャットへの参加要求を発行した際、当該信号に含まれるチャットルームの識別情報とトークンを、チャット情報記憶部96に格納しておいた情報と照合し、双方が合致した場合にチャットへの参加を許可する。参加を許可したクライアント端末10の識別情報は、チャットルームの識別情報と対応づけてチャット情報記憶部96に格納する。
 参加を許可したクライアント端末10へは、通信の確立に要する情報を生成し、通信部90、中継ポイント割り当てサーバ14、ゲートウェイ12を介してクライアント端末10に送信する。所定の手続きを経てクライアント端末10と直接的な通信が確立されたら、チャット処理部94は、各クライアント端末10から発言データを随時取得する。そして当該データに付加されるチャットルームの識別情報に基づき、チャットに参加している他のユーザのクライアント端末10を特定したうえ、それを宛先として発言データを転送する。
 チャットから離脱する旨の要求信号がクライアント端末10から送信されたら、チャット処理部94は、チャット情報記憶部96の該当チャットルームに対応づけられた、要求元のクライアント端末10のエントリを抹消し通信を終了させる。チャット自体の終了要求信号が送信されたら、チャット処理部94はチャット情報記憶部96における当該チャットルームのエントリを抹消し通信を終了させる。
 次に、これまで述べた構成によって実現できる、チャット空間の構築方法について説明する。図7は、本実施の形態においてチャットルームを開設する処理手順を示すタイムチャートである。まずクライアント端末10aは、チャットを開始する要求をユーザから受け付ける(S8)。するとクライアント端末10aは、図示しない認証サーバに対して所定の手順で認証を要求し、チャットシステムへのアクセス権を取得する(S10)。このアクセス権には、認証処理において特定された、クライアント端末10aの位置情報が含まれる。クライアント端末10aがインターネットプロバイダに接続することにより取得したグローバルIPアドレスには位置情報が含まれるため、これを利用してもよい。
 そしてクライアント端末10aは、当該アクセス権を含むチャットルームの開設要求を発行する(S12)。当該要求はまず、ゲートウェイ12により取得され、要求信号に含まれる位置情報が取り出されうえ、中継ポイント割り当てサーバ14へ転送される(S14)。すると中継ポイント割り当てサーバ14のチャットサーバ選択部78は、選択規則記憶部80を参照して、クライアント端末10aに適合するチャットサーバ18a、あるいはその地域を選択する(S16)。なお同図では地域を選択する場合を示している。
 中継ポイント割り当てサーバ14は、選択した地域に設けられたロードバランサ16aのアドレスを選択規則記憶部80からさらに取得し、当該ロードバランサ16aにチャットルームの開設要求を転送する(S18)。図では複数のロードバランサ16のうち、選択された地域のロードバランサ16aを実線、その他を破線で示している。ロードバランサ16aは、自らが管理するチャットサーバ18のうち、処理の負荷が偏らないように選択したチャットサーバ18aに、チャットルームの開設要求を転送する(S20)。図では複数のチャットサーバ18のうち、選択されたチャットサーバ18aを実線、その他を破線で示している。
 チャットルームの開設要求を受信したチャットサーバ18aは、チャットルームの開設処理を実施する。すなわちチャットルームの識別情報(ルームID)および、当該チャットルームに参加するためのトークンを生成する。そしてチャットサーバ18aは開設要求の結果としてそれらの情報を、チャットサーバ18a自体のプライベートIPアドレス(サーバIP)とともにロードバランサ16aに返す(S22)。ロードバランサ16aは、取得した開設要求結果を中継ポイント割り当てサーバ14へ転送する(S24)。
 なお中継ポイント割り当てサーバ14が直接、チャットサーバ18aを選択する場合は当然、ロードバランサ16aの処理を省略できる。チャットルームの開設要求結果を受信した中継ポイント割り当てサーバ14は、ルームIDとサーバIPを対応づけてチャット情報記憶部84に格納する。これにより以降、ルームIDのみが指定された要求信号がクライアント端末10から送信されても、中継ポイント割り当てサーバ14は適切なチャットサーバ18aに当該要求信号を転送できる。そのうえで中継ポイント割り当てサーバ14はチャットルーム開設要求の結果として、ルームIDとトークンを、ゲートウェイ12を介してクライアント端末10aへ返す(S26、S28)。
 図8、9は、図7の処理に続き、開設されたチャットルームに参加する際の処理手順を示すタイムチャートである。すなわちチャットルームの開設を要求したクライアント端末10aは、この時点でチャットルームのルームIDとトークンを取得済みである。クライアント端末10aはまず、開設されたチャットルームへの参加要求を発行する(S30)。クライアント端末10aはこの際、送信する信号にチャットルームのルームIDとトークンを含める。
 参加要求信号はゲートウェイ12を介して中継ポイント割り当てサーバ14に送信される(S32)。すると中継ポイント割り当てサーバ14は、チャット情報記憶部84を参照し、送信されたルームIDに対応づけられたチャットサーバ18aのサーバIPを特定したうえ、当該チャットサーバ18aに参加要求信号を転送する(S34)。チャットサーバ18aは当該要求信号に応じて、チャットの一ノードとしてクライアント端末10aに識別情報(ピアID)を付与し、ルームIDと対応づけてチャット情報記憶部96に格納する(S35)。この際、チャットサーバ18aは、要求信号に含まれるルームIDとトークンのペアを、チャット情報記憶部96に格納されたものと比較し、両者が合致しているときに限り登録を行う。
 そしてチャットサーバ18aは、付与したピアIDを中継ポイント割り当てサーバ14、ゲートウェイ12を介して要求元のクライアント端末10aに送信する(S36、S38、S40)。次にクライアント端末10aは、自身のSDP(Session Description Protocol)を取得し、ゲートウェイ12を介して中継ポイント割り当てサーバ14に送信する(S42、S44)。SDPは送信するデータの種類や自身のIPアドレス、ポート番号など、通信の確立に必要な一般的な情報である。
 クライアント端末10aはこの際、送信する信号にチャットルームのルームIDおよび自身に付与されたピアIDを含める。この場合も中継ポイント割り当てサーバ14は、チャット情報記憶部84を参照して対応するチャットサーバ18aを特定し、当該チャットサーバ18aにSDPを転送する(S46)。チャットサーバ18aは送信されたSDPを、送信元のクライアント端末のピアIDと対応づけてチャット情報記憶部96に格納したうえ、自身のSDPを取得し、中継ポイント割り当てサーバ14、ゲートウェイ12を介してクライアント端末10aに送信する(S48、S50、S52)。
 続いてクライアント端末10aおよびチャットサーバ18aは、互いのSDPを用いて通信経路を探索し通信を確立する(S54)。この処理は実際には、クライアント端末10aとチャットサーバ18a間でICE(Interactive Connectivity Establishment)の候補を交換する処理を含む。ICEは接続可能な通信経路を表す情報である。この処理においてもクライアント端末10aが、送信信号にルームIDを含めることにより、中継ポイント割り当てサーバ14はそれに対応づけられたチャットサーバ18aへ信号を転送する。これらの手続きにより、クライアント端末10aとチャットサーバ18aとの間で直接的なデータの送受が可能になる。
 図9に移り、クライアント端末10aは、チャット相手を選択する操作入力をユーザより受け付ける(S56)。例えばチャット情報記憶部48に登録済みの友達のリストを表示装置に表示させ、ユーザによる選択操作を受け付ける。するとクライアント端末10aは、選択されたユーザ、または当該ユーザが操作するクライアント端末10bの識別情報をチャット情報記憶部48から読み出し、それを宛先としてチャットへの招待通知を発行する(S58)。図示する例では、当該通知を一旦、「セッションマネージャ」が受け取り、相手ユーザに転送している(S60)。
 ここでセッションマネージャは、本実施の形態のチャットシステムとは別に準備され、メッセージの送受信を実現する一般的な構成としており、具体的な通知手順は特に限定されない。ただしセッションマネージャの機能を本実施の形態のチャットシステムに含めてもよい。いずれにしろクライアント端末10aは、招待通知にチャットルームのルームIDとトークンを含める。通知を見た相手ユーザがクライアント端末10bに対しチャットへの参加操作を行うと、クライアント端末10bはそれを受け付け(S62)、チャットルームへの参加要求を発行する(S64)。クライアント端末10bはこの際、送信する信号にチャットルームのルームIDとトークンを含める。
 以降、クライアント端末10aの参加処理と同様、中継ポイント割り当てサーバ14を介してチャットサーバ18aに参加要求が送信され(S66、S68)、チャットサーバ18aからはクライアント端末10bのピアIDが返される(S70、S72、S74)。クライアント端末10bについても当然、ルームIDとトークンのペアが正当な場合にのみ参加登録がなされピアIDが送信される。その後、図8を参照して上述したのと同様の手続きを経て(図示せず)、クライアント端末10bとチャットサーバ18aとの通信が確立される(S76)。
 図9に示したクライアント端末10bに係る手続きは、チャット参加者候補として指定された全てのユーザのクライアント端末10についても同様に実施する。そしてチャットサーバ18aが、各クライアント端末10におけるユーザの発言データを他のクライアント端末10に転送することにより、チャットサーバ18aを中継ポイントとして会話が成立することになる。この構成によれば、各クライアント端末10がチャットのために接続すべき相手が、1つのチャットサーバ18に限定されるため、チャットの参加人数によらず安定した通信が可能になる。
 図10は、中継ポイント割り当てサーバ14の選択規則記憶部80に格納されるデータの構造例を示している。この例で選択規則100は、クライアント端末10が存在する地域の識別情報を示す端末地域フィールド102と、チャットサーバ18が存在する地域の識別情報を示すサーバ地域フィールド104とを対応づけた構造を有する。例えばクライアント端末10のコード「0001」の地域に対し、識別情報「A」なるチャットサーバの地域が対応づけられている。
 クライアント端末10の位置情報から判明する地域の単位と、チャットサーバ18に与えられる地域の単位は同じでも異なっていてもよい。また両者の地域の単位は一方が他方に包含される関係にあってもよいし、一部が重複していても、全く重複していなくてもよい。いずれにしろクライアント端末10の単位地域ごとに、なるべく高速に通信を行えるチャットサーバ18の地域をあらかじめ求めておき、選択規則100として準備しておく。
 中継ポイント割り当てサーバ14のチャットサーバ選択部78は選択規則100を参照し、チャットルーム開設要求の信号に含まれるクライアント端末10の位置情報に対応するチャットサーバ18の地域を取得することで、最適なチャットサーバ18を選択できる。なお図10および後述する図11、12において示される各種パラメータや、その表示形式は一例に過ぎず、図示するものに限定されない。例えば選択規則100において、サーバ地域フィールド104の代わりにチャットサーバ18の識別情報を示すフィールドを設け、チャットサーバ18を直接選択できるようにしてもよい。またサーバ地域フィールド104に格納する地域はそれぞれ、当該地域に配置されたロードバランサ16あるいはチャットサーバ18と別途対応づけておく。
 図11は、中継ポイント割り当てサーバ14のチャット情報記憶部84に格納されるデータの構造例を示している。この例でチャット情報110は、チャットサーバ18のIPアドレスを示すサーバIPフィールド112と、それぞれで開設されたチャットルームの識別情報を示すルームIDフィールド114を対応づけた構造を有する。例えばサーバIPが「100.100.100.111」のチャットサーバ18において、ルームID「01」、「03」、「08」なる3つのチャットルームが開設されている。
 中継ポイント割り当てサーバ14は、チャットルームを開設したチャットサーバ18からの返答に基づき、チャット情報110のエントリを更新していく。これによりルームIDからサーバIPを導出でき、クライアント端末10からの以後の要求信号を適切なチャットサーバ18へ転送できる。なおユーザ操作によりチャットが終了した際は、中継ポイント割り当てサーバ14はチャットサーバ18からその旨の通知を取得することで、ルームIDフィールド114から該当エントリを抹消する。
 図12は、チャットサーバ18のチャット情報記憶部96に格納されるデータの構造例を示している。この例でチャット情報120は、自装置で開設されているチャットルームの識別情報を示すルームIDフィールド122、各チャットへの参加に必要なキー情報を示すトークンフィールド124、および、各チャットに参加しているクライアント端末10の識別情報を示すピアIDフィールド126を対応づけた構造を有する。例えばルームID「01」のチャットルームのトークンは「2A」であり、それに参加しているのはピアID「01aa」、「02ac」、「00cv」、「04ka」、「02pp」なる5つのクライアント端末10である。
 チャットサーバ18はチャットルームの開設にあたりルームIDとトークンを発行し、それらを対応づけてルームIDフィールド122およびトークンフィールド124に格納する。そしてクライアント端末10からのチャット参加要求に含まれる、ルームIDとトークンのペアが合致する場合に限り参加を許可し、要求元のクライアント端末10にピアIDを発行したうえピアIDフィールド126に登録する。各ピアIDは、その後に実際に通信を確立した際に決定したSDPやICEなど、データの送受信に必要な情報と別途対応づけておく。チャット中、クライアント端末10はルームIDとピアIDをユーザの発言データに付加したうえでチャットサーバ18に送信する。
 これを受けてチャットサーバ18は、チャット情報120を参照してルームIDに対応するピアIDを取得することにより、チャットに参加しているその他のクライアント端末10に発言データを転送する。ピアIDがエントリされているクライアント端末10のいずれかにおいて、ユーザがチャットから離脱する操作を行ったら、チャットサーバ18はピアIDフィールド126から該当エントリを抹消する。またチャットを終了させる操作がなされたら、チャットサーバ18は該当ルームIDとそれに対応づけられた各フィールドのエントリを抹消する。
 図13は、本実施の形態において中継ポイント割り当てサーバ14が、チャットルームを開設させるチャットサーバ18あるいはその地域を選択するポリシーを説明するための図である。同図はクライアント端末10a、10b、10cとチャットサーバ18a、18b、18cの位置関係を示している。例えば図の領域を世界全体としてもよいし、それより狭い範囲としてもよい。チャットサーバの選択基準として最もシンプルには、距離のみを考慮することが考えられる。例えばクライアント端末10aに最も近いチャットサーバはチャットサーバ18bであるので、チャットサーバ18bを選択してチャットルームを開設させる。
 一方、クライアント端末10a、あるいはそれが属する地域aの多くの部分あるいは全てが、チャットサーバ18aが属する地域Aに含まれている場合、地域Aのチャットサーバ18aを選択することも考えられる。このポリシーは、上述したチャットの特性との親和性が高い。例えば地域Aを国とした場合、同じ言語で会話する参加者は同じ国にいる確率が高いため、後から参加したり離脱したりして参加者に変動があったとしても、参加者から見て総じて距離が近いのはチャットサーバ18aである可能性が高い。
 そのような距離または面積的な観点に加え、通信帯域を考慮に入れてもよい。例えばクライアント端末10aに最も近いチャットサーバがチャットサーバ18bであっても、十分な通信環境が整備されているのはチャットサーバ18aとの間のネットワークであることが考えられる。この場合も、チャットサーバ18aを選択することにより低遅延でのチャットを実現できる。
 このようにチャットシステムの構築においては、距離、地域の包含関係、通信帯域のいずれかまたは組み合わせを考慮して選択規則100を準備する。上述のとおりチャットにより同一言語で会話をするユーザのクライアント端末10a、10b、10cは、世界の中でも同じ国などある程度近い距離に存在する確率が高いため、クライアント端末10aによるチャットルーム開設要求に従い、チャットサーバ18aあるいはチャットサーバ18bを選択すれば、その他の参加者のクライアント端末10b、10cに対しても、高速通信を実現できる可能性が高くなる。
 すなわちクライアント端末10a、10b、10cのいずれからも遠いチャットサーバ18cが選択されるのを回避でき、無駄な経路による通信遅延を抑えることができる。ただし同じ通信経路であっても使用状況によって通信速度が変化するため、選択規則は固定としなくてもよい。例えば各クライアント端末10a、10b、10cは、全てのチャットサーバ18a、18b、18cと定期的に通信して通信速度を測定し、その結果を、ゲートウェイ12を介して中継ポイント割り当てサーバ14に通知する。中継ポイント割り当てサーバ14は当該結果に基づき選択条件における対応づけを更新する。
 例えばクライアント端末10aが計測した結果、通信速度が最高となるチャットサーバがチャットサーバ18bからチャットサーバ18aに変化したら、中継ポイント割り当てサーバ14は選択規則100において端末地域aに対応づけられたサーバ地域をチャットサーバ18bの地域からチャットサーバ18aの地域Aに更新する。このようにすることで、チャットルームの開設時点で最も高速に通信を行えるチャットサーバ18を利用することができる。
 これを応用すると、チャットルームの開設を要求したクライアント端末10aばかりでなく、チャット相手のクライアント端末10b、10cとチャットサーバ18との通信速度も考慮してチャットサーバ18を選択することもできる。すなわちあらかじめチャットに参加するユーザまたは参加しそうなユーザがおよそ判明している場合、チャットサーバ18ごとに、各クライアント端末10との通信速度の平均値を算出する。そして平均速度が最も速いチャットサーバ18を選択すれば、全体として最も遅延の少ないチャットを実現できる。
 図14は、通信速度の実測値に基づきチャットサーバ18を選択する態様における、クライアント端末10の機能ブロックの構成を示している。なお図4に示したクライアント端末10と同じ機能を有するブロックには同じ符号を付し、説明を省略する。図示するクライアント端末10aは、図4に示したクライアント端末10と同様に、入力情報取得部42、チャット処理部44、出力部46、およびチャット情報記憶部48を備える。この態様ではさらに、チャットサーバ18との通信速度を定期的に計測する速度計測部51を備えた通信部50aを含む。
 速度計測部51は、全てのチャットサーバ18、あるいは距離や通信帯域などに基づき絞り込まれた、候補となるチャットサーバ18と定期的に通信を確立し、所定のデータの送受信を行うことにより通信速度を測定する。この測定処理自体には一般的な技術を適用できる。通信部50aは基本的には、図4で示したクライアント端末10の通信部50と同様に機能するが、速度計測部51が通信速度を計測した際は、そのデータもゲートウェイ12を介して中継ポイント割り当てサーバ14に送信する。
 中継ポイント割り当てサーバ14の機能ブロックは、図5で示したものと同様でよいが、選択規則記憶部80には、各クライアント端末10から送信された通信速度の実測値を、クライアント端末10とチャットサーバ18の組み合わせごとに格納する。そしてチャットサーバ選択部78は上述のとおり、図10で示した選択規則100の対応づけを更新する必要があれば、すなわち最速のチャットサーバに変更があれば、情報を更新する。
 あるいは選択規則100を準備せずに、チャットルームの開設要求がなされた時点で、開設要求を発行したクライアント端末10aにとって最速のチャットサーバ18を選択するようにしてもよい。または上述のとおり、チャットに参加する予定のクライアント端末10全てで平均した通信速度が最速のチャットサーバ18を選択するようにしてもよい。ここで参加予定のユーザは、チャットルームの開設を要求したユーザが指定してもよいし、過去の履歴などから推定してもよい。
 図15は、複数のクライアント端末との通信速度の平均値に基づきチャットサーバ18を選択する処理手順を示すフローチャートである。このチャートは、図7のS12~S16の処理に対応する。まず各クライアント端末10a、10bの速度計測部51は、チャットサーバごとに通信を確立し、それぞれの通信速度を計測したうえ(S80a、S80b)、計測結果を中継ポイント割り当てサーバ14に送信する(S82a、S82b)。ここで計測、送信する対象は、通信の速さを直接的または間接的に表すパラメータであればその種類は特に限定されない。
 また、図では2つのクライアント端末10a、10bのみを代表させて示しているが、この処理は、全てのクライアント端末10が定期的に実施する。中継ポイント割り当てサーバ14では、クライアント端末10とチャットサーバ18の組み合わせごとに、直近に計測された通信速度を格納していく。ユーザからチャットの開始を要求する操作がなされたクライアント端末10aは、中継ポイント割り当てサーバ14にチャットルームの開設要求を送信する(S84)。この際、チャットに参加予定の相手ユーザまたはそれぞれのクライアント端末10b、10c、・・・の識別情報も同時に送信する。
 中継ポイント割り当てサーバ14は当該要求を受信したら、チャットサーバ18ごとに、参加予定のユーザのクライアント端末10と当該チャットサーバ18との通信速度の平均値を算出する(S86)。ここで参加予定のユーザのクライアント端末10のうちn番目のクライアント端末とN番目のチャットサーバとの通信速度をS(n,N)と表記すると、N番目のチャットサーバに対して算出される平均通信速度Save(N)は次の式で得られる。
 Save(N)=ΣS(n,N)
 そして中継ポイント割り当てサーバ14は、最速の平均速度Save(N)が得られるチャットサーバ18を、チャットルームを開設するサーバとして選択する(S88)。
 なお図示する例では、通信速度の実測値に基づきチャットサーバの有意性を比較したが、チャットに参加予定のユーザのクライアント端末10と各チャットサーバ18との距離に基づきチャットサーバを選択してもよい。この場合、クライアント端末10がモバイル端末であれば、中継ポイント割り当てサーバ14は通信速度と同様に、各クライアント端末10と各チャットサーバ18との距離を収集していく。クライアント端末10が据え置き型の端末であれば、距離は固定となるため事前に取得が可能である。
 いずれにしろ中継ポイント割り当てサーバ14は、参加予定者のクライアント端末からの距離の平均値が最も小さいチャットサーバ18を選択すればよい。なお発言が伝わるまでの遅延時間に影響を与えるものであれば、チャットサーバ選択の根拠となるパラメータは通信速度や距離に限定されない。いずれの場合も、同様にクライアント端末全体での平均値を比較することにより、チャットサーバを一意に決定できる。あるいは複数のパラメータの平均値の重みづけ和をスコアとして比較することで、多角的な観点からチャットサーバを選択してもよい。
 以上述べた本実施の形態によれば、複数のユーザがネットワークを介して会話するチャットシステムにおいて、クライアント端末が発信した発言データを中継するチャットサーバを異なる地域に複数設けるとともに、好適なチャットサーバを選択する中継ポイント割り当てサーバを設ける。チャットサーバが中継することにより、クライアント端末が確保すべき通信経路が単純化されるため、ピアツーピア接続のケースと比較し参加人数によらず安定したチャット環境を提供できる。またチャットに必要な通信経路が限定されるため、並行して他のコンテンツを楽しむ場合にチャットの影響を受けにくい。さらに、クライアント端末から見て相手の端末の実体は抽象化されるため、悪意のあるユーザからの攻撃やなりすましなどセキュリティー上の問題を回避しやすい。
 ここで中継ポイント割り当てサーバが、距離、通信帯域、通信速度などに基づき適切なチャットサーバを選択することにより、チャットサーバを経由しても発言が相手に伝わるまでの遅延を最低限に抑えることができる。チャットが一つの言語で交わされる会話であるという特性上、チャット参加者は地理的に近い位置に存在する確率が高いため、クライアント端末から見たチャットサーバの優劣は、人数によらずチャット参加者でおよそ共通となる。それを利用し最適なチャットサーバを一つ選択することにより、安定的かつ遅延の少ないチャットシステムを実現できる。
 以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
 本発明は、チャットシステム、ゲームシステムなどのオンラインシステム、および、それに用いるサーバ、ゲーム装置、携帯端末、パーソナルコンピュータなどの各種情報処理装置に利用可能である。
1 チャットシステム、 10 クライアント端末、 12 ゲートウェイ、 14 中継ポイント割り当てサーバ、 16 ロードバランサ、 18 チャットサーバ、 42 入力情報取得部、 44 チャット処理部、 46 出力部、 48 チャット情報記憶部、 50 通信部、 72 通信部、 74 位置情報取得部、 76 通信部、 78 チャットサーバ選択部、 80 選択規則記憶部、 82 チャット管理部、 84 チャット情報記憶部、 90 通信部、 92 チャットルーム開設部、 94 チャット処理部、 96 チャット情報記憶部。

Claims (12)

  1.  各チャット空間に参加している複数のメンバーが、クライアント端末を用いてネットワークを介した会話を実現するチャットシステムにおいて、
     前記クライアント端末のいずれかから、前記チャット空間の開設要求を取得する通信部と、
     前記開設要求に応じて、分散して配置され、前記クライアント端末間での発言データの伝送を中継する複数のチャットサーバのうち、所定の規則に基づき選択した一のチャットサーバに、前記開設要求に対応するチャット空間における発言データの中継を要求するチャットサーバ選択部と、
     を備えることを特徴とする中継ポイント割り当てサーバ。
  2.  前記チャットサーバ選択部は、前記クライアント端末と前記チャットサーバの存在する地域との位置関係および、前記クライアント端末と前記チャットサーバ間の通信速度、の少なくともいずれかに基づき、前記チャットサーバを選択することを特徴とする請求項1に記載の中継ポイント割り当てサーバ。
  3.  前記チャットサーバ選択部は、前記チャットサーバを選択するための根拠となるパラメータを継続して収集し、前記開設要求が発行された時点における前記パラメータに応じて、前記チャットサーバを選択することを特徴とする請求項1または2に記載の中継ポイント割り当てサーバ。
  4.  前記チャットサーバ選択部は、前記チャット空間の開設要求が発行された時点における、前記チャット空間に参加予定のメンバーが使用する前記クライアント端末と、各チャットサーバとの平均通信速度に基づき、前記チャットサーバを選択することを特徴とする請求項1から3のいずれかに記載の中継ポイント割り当てサーバ。
  5.  前記チャットサーバ選択部は、前記チャット空間の開設要求を発行した前記クライアント端末の位置情報に対応する地域を取得し、当該地域に存在する前記チャットサーバを選択することを特徴とする請求項1に記載の中継ポイント割り当てサーバ。
  6.  前記発言データの中継要求に応じて前記チャットサーバが生成したチャット空間の識別情報と、当該チャットサーバの識別情報とを対応づけて記憶するチャット情報記憶部と、
     前記クライアント端末から前記チャットサーバへの通信確立に係る要求信号を取得し、前記チャット空間の識別情報に基づき、前記要求信号を当該チャットサーバへ転送するチャット管理部と、
     をさらに備えたことを特徴とする請求項1から5のいずれかに記載の中継ポイント割り当てサーバ。
  7.  各チャット空間に参加している複数のメンバーによるネットワークを介した会話を実現するチャットシステムであって、
     メンバーの発言データをネットワークに出力するとともに、他のメンバーの発言データをネットワークから取得して出力装置に出力させる複数のクライアント端末と、
     分散して配置され、前記クライアント端末間での前記発言データの伝送を中継する複数のチャットサーバと、
     前記クライアント端末のいずれかからの前記チャット空間の開設要求に応じて、前記複数のチャットサーバのうち、所定の規則に基づき選択した一のチャットサーバに、前記開設要求に対応するチャット空間における発言データの中継を要求する中継ポイント割り当てサーバと、
     を備えることを特徴とするチャットシステム。
  8.  各チャット空間に参加している複数のメンバーが、ネットワークを介した会話を実現するチャットシステムにおいて用いるクライアント端末であって、
     当該クライアント端末を用いているメンバーの発言を取得する入力情報取得部と、
     分散して配置され、前記クライアント端末間での発言データの伝送を中継する複数のチャットサーバから所定の規則に基づき選択された一のチャットサーバと通信を確立することにより、発言データの送受信を行う通信部と、
     各メンバーの発言データを所定のフォーマットで順次出力装置に出力する出力部と、
     を備え、
     前記通信部は、前記入力情報取得部が取得したチャット開始要求に応じて、前記チャットサーバを選択する中継ポイント割り当てサーバに対し、チャット空間の開設要求を発行し、その結果として前記中継ポイント割り当てサーバから送信された情報に基づき、選択された前記チャットサーバと通信を確立することを特徴とするクライアント端末。
  9.  前記通信部は、前記複数のチャットサーバとの通信速度を継続して測定する速度計測部を備え、計測結果が得られる都度、前記中継ポイント割り当てサーバに送信することにより、前記チャットサーバの選択に利用させることを特徴とする請求項8に記載のクライアント端末。
  10.  各チャット空間に参加している複数のメンバーが、クライアント端末を用いてネットワークを介した会話を実現するチャットシステムにおいて、分散して配置され、前記クライアント端末間での発言データの伝送を中継するチャットサーバであって、
     前記クライアント端末のいずれかが発行した前記チャット空間の開設要求に応じて所定の規則に基づき一のチャットサーバを選択する中継ポイント割り当てサーバからの要求に従い、チャット空間を開設するチャット空間開設部と、
     前記クライアント端末ごとに発行される、前記チャット空間への参加要求を前記中継ポイント割り当てサーバから受け付け、所定の条件を満たした前記クライアント端末と直接通信を確立することにより、前記発言データを中継するチャット処理部と、
     を備えたことを特徴とするチャットサーバ。
  11.  各チャット空間に参加している複数のメンバーが、クライアント端末を用いてネットワークを介した会話を実現するチャットシステムにおいて、
     前記クライアント端末のいずれかが、前記チャット空間の開設要求を発行するステップと、
     中継ポイント割り当てサーバが、前記開設要求に応じて、分散して配置され、前記クライアント端末間での発言データの伝送を中継する複数のチャットサーバのうち、所定の規則に基づき選択した一のチャットサーバに、前記開設要求に対応するチャット空間における発言データの中継を要求するステップと、
     選択された前記チャットサーバがチャット空間を開設したうえ、前記クライアント端末と直接通信を確立することにより、前記発言データを中継するステップと、
     を含むことを特徴とするチャット空間構築方法。
  12.  各チャット空間に参加している複数のメンバーが、クライアント端末を用いてネットワークを介した会話を実現するチャットシステムにおける中継ポイント割り当てサーバに、
     前記クライアント端末のいずれかから、前記チャット空間の開設要求を取得する機能と、
     前記開設要求に応じて、分散して配置され、前記クライアント端末間での発言データの伝送を中継する複数のチャットサーバのうち、所定の規則に基づき選択した一のチャットサーバに、前記開設要求に対応するチャット空間における発言データの中継を要求する機能と、
     を実現させることを特徴とするコンピュータプログラム。
PCT/JP2020/003718 2019-02-07 2020-01-31 中継ポイント割り当てサーバ、チャットシステム、クライアント端末、チャットサーバ、およびチャット空間構築方法 WO2020162364A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20752171.7A EP3923147A4 (en) 2019-02-07 2020-01-31 RELAY POINT ALLOCATION SERVER, ONLINE CHAT SYSTEM, CLIENT TERMINAL, ONLINE CHAT SERVER AND METHOD FOR CONSTRUCTING ONLINE CHAT SPACE
US17/428,022 US20220029842A1 (en) 2019-02-07 2020-01-31 Relay point allocation server, chat system, client terminal, chat server, and chat space construction method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-020859 2019-02-07
JP2019020859A JP7175788B2 (ja) 2019-02-07 2019-02-07 中継ポイント割り当てサーバ、チャットシステム、クライアント端末、チャットサーバ、およびチャット空間構築方法

Publications (1)

Publication Number Publication Date
WO2020162364A1 true WO2020162364A1 (ja) 2020-08-13

Family

ID=71947028

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/003718 WO2020162364A1 (ja) 2019-02-07 2020-01-31 中継ポイント割り当てサーバ、チャットシステム、クライアント端末、チャットサーバ、およびチャット空間構築方法

Country Status (4)

Country Link
US (1) US20220029842A1 (ja)
EP (1) EP3923147A4 (ja)
JP (1) JP7175788B2 (ja)
WO (1) WO2020162364A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7020580B1 (ja) * 2021-09-29 2022-02-16 凸版印刷株式会社 翻訳提供管理システム、および翻訳提供管理方法
WO2024084633A1 (ja) 2022-10-19 2024-04-25 株式会社システムデザイン 通信確立システム
US11895198B1 (en) * 2022-10-28 2024-02-06 Jonathon Anderson Universal session protocol
CN116506244B (zh) * 2023-05-24 2023-11-17 北京比邻星空科技有限公司 一种自适应房间人数的聊天室配置方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002291017A (ja) * 2001-03-28 2002-10-04 Fujitsu Ltd 移動網を利用した中継サービス処理方法
JP2003022226A (ja) * 2001-07-05 2003-01-24 Nec Commun Syst Ltd ネットワークにおける負荷分散システム及び負荷分散方式
US20040210636A1 (en) * 2000-07-06 2004-10-21 Microsoft Corporation Load balancing of chat servers based on gradients

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030208610A1 (en) * 2002-05-01 2003-11-06 Rochetti Robert J. Method and apparatus for facilitating content distribution across a network
CN100518068C (zh) * 2006-06-02 2009-07-22 阿里巴巴集团控股有限公司 一种通过浏览器实现即时通信的方法及系统
WO2010025343A1 (en) * 2008-08-28 2010-03-04 Jonas Lawrence A System for integrating multiple im networks and social networking websites
US9154735B2 (en) * 2013-03-15 2015-10-06 Blue Jeans Network Provision of video conferencing with load balancing
JP6028123B1 (ja) * 2016-02-19 2016-11-16 株式会社サマデイ ポートフォリオ作成システム
US10812323B2 (en) * 2016-02-29 2020-10-20 WhatsApp. Inc. Techniques to provide relay server configuration for geographically disparate client devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040210636A1 (en) * 2000-07-06 2004-10-21 Microsoft Corporation Load balancing of chat servers based on gradients
JP2002291017A (ja) * 2001-03-28 2002-10-04 Fujitsu Ltd 移動網を利用した中継サービス処理方法
JP2003022226A (ja) * 2001-07-05 2003-01-24 Nec Commun Syst Ltd ネットワークにおける負荷分散システム及び負荷分散方式

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3923147A4 *

Also Published As

Publication number Publication date
JP2020129207A (ja) 2020-08-27
EP3923147A1 (en) 2021-12-15
US20220029842A1 (en) 2022-01-27
JP7175788B2 (ja) 2022-11-21
EP3923147A4 (en) 2022-10-12

Similar Documents

Publication Publication Date Title
WO2020162364A1 (ja) 中継ポイント割り当てサーバ、チャットシステム、クライアント端末、チャットサーバ、およびチャット空間構築方法
JP5711849B2 (ja) 異なるサービスプロバイダー間のピア・ツー・ピア接続を管理する装置及び方法
AU2012262053B2 (en) System and method for secure instant messaging
US10404943B1 (en) Bandwidth reduction in video conference group sessions
TWI336632B (en) System,method, and computer program product for providing simultaneous context based audio interaction among a plurality of participants in a network based gaming environment
US8032925B2 (en) Method for enabling login and establishing session for wireless communication terminal
US11470023B2 (en) Session initiation method and device
US9871930B2 (en) Call invites
KR100967416B1 (ko) 네트워크 기반의 노래방 서비스 시스템 및 그 방법
KR101635615B1 (ko) 모바일 기기 및 모바일 기기의 제어 방법
EP1388999A1 (en) Entertainment system
KR20020038229A (ko) 실시간 음성/화상 채팅 서비스를 제공하는 온라인 게임시스템 및 그 운영 방법
JP2005100419A (ja) ピアツーピア通信のサーバ制御方法及び制御システム
TW201136372A (en) Apparatus and method for establishing and utilizing backup communication channels
US9130761B2 (en) Method and system for data transmission
US7392288B2 (en) Information processing apparatus, information processing method, information exchanging method, recording medium, and program
EP3026844B1 (en) Apparatus, system, and method of selecting relay device in conferencing system, and carrier medium
JP2023508061A (ja) アカウントアクセス方法及びその装置、記憶媒体、並びに電子機器
WO2011107027A1 (zh) 业务平台间信息交互的方法和装置
US20190089754A1 (en) System and method for providing audio conference between heterogenious networks
US9137029B1 (en) State and availability monitoring for customer support services for multimedia conferences
JP2016100859A (ja) 制御システム、通信システム、制御方法、及びプログラム
KR20130105004A (ko) 인스턴트 메시지를 이용한 온라인게임제공시스템 및 온라인게임제공방법
JP4573135B2 (ja) 情報処理装置、情報処理方法、及びプログラム
KR100668386B1 (ko) 모바일 im 서비스 기반의 단말 대 단말 게임 구동 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20752171

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020752171

Country of ref document: EP

Effective date: 20210907