WO2010110155A1 - チャットシステム、サーバ装置、チャット方法、チャット実行プログラム、チャット実行プログラムが記憶された記憶媒体、情報処理装置、画像表示方法、画像処理プログラム、画像処理プログラムが記憶された記憶媒体 - Google Patents

チャットシステム、サーバ装置、チャット方法、チャット実行プログラム、チャット実行プログラムが記憶された記憶媒体、情報処理装置、画像表示方法、画像処理プログラム、画像処理プログラムが記憶された記憶媒体 Download PDF

Info

Publication number
WO2010110155A1
WO2010110155A1 PCT/JP2010/054608 JP2010054608W WO2010110155A1 WO 2010110155 A1 WO2010110155 A1 WO 2010110155A1 JP 2010054608 W JP2010054608 W JP 2010054608W WO 2010110155 A1 WO2010110155 A1 WO 2010110155A1
Authority
WO
WIPO (PCT)
Prior art keywords
chat
room
information
server
information processing
Prior art date
Application number
PCT/JP2010/054608
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 US13/258,082 priority Critical patent/US8725819B2/en
Priority to JP2011506003A priority patent/JP5534469B2/ja
Publication of WO2010110155A1 publication Critical patent/WO2010110155A1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • 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/1831Tracking arrangements for later retrieval, e.g. recording contents, participants activities or behavior, network status

Definitions

  • the present invention relates to a chat system, a server device, a chat method, a chat execution program, a storage medium storing a chat execution program, an information processing device, an image display method, an image processing program, and a storage medium storing an image processing program.
  • chat texts used by client terminals are stored and managed in a server database as chat log data.
  • the chat room and chat log data used by the client terminal are managed by the server. Therefore, the client terminal cannot centrally manage chat rooms in which the client terminal can participate. .
  • the first object of the present invention is to provide a chat system that can efficiently use the storage capacity of a server device.
  • the second object of the present invention is to provide a chat system capable of centrally managing chat rooms in which the user can participate on the client device side.
  • a first aspect of the present invention is a chat system in which a plurality of information processing devices and a server device are connected via a network so that message data can be transmitted and received.
  • the information processing apparatus includes request information generation means and terminal side transmission / reception means.
  • the request information generating means generates participation request information that can identify one chat room in response to a request for participation from the user to the chat system, and generates exit request information that can identify one chat room from the user. Generated upon exit request.
  • the terminal-side transmitting / receiving means transmits participation request information in response to the generation of participation request information, and transmits the exit request information in response to generation of the exit request information.
  • the server device includes server-side receiving means, server-side storage means, registration control means, chat control means, and registration deletion means.
  • the server side transmission / reception means receives participation request information and leaving request information, respectively.
  • the information processing apparatus and the chat room can be registered in association with each other.
  • the registration control means registers the information processing apparatus in the server-side storage means in association with the chat room when one chat room specified by the received participation request information is registered in the server-side storage means, and receives the received participation When one chat room specified by the request information is not registered in the server-side storage unit, the information processing apparatus and the chat room are associated with each other and registered in the server-side storage unit.
  • the chat control means controls the execution of chat by transmitting / receiving message data between a plurality of information processing apparatuses registered in association with one chat room.
  • the registration cancellation means deletes the registration of the information processing apparatus associated with the one chat room specified by the exit request information, and one registered chat room If no information processing apparatus is registered, the registration of the one chat room is deleted.
  • a second aspect of the present invention is an information processing apparatus of a chat system in which an information processing apparatus and a server apparatus are connected via a network so that message data can be transmitted and received, and includes a storage unit and a display control unit.
  • the storage means stores room specifying information for specifying a chat room in which the information processing apparatus can participate in the chat system, and room attribute information associated with the room specifying information.
  • the display control means displays the room-corresponding image and the room attribute information corresponding to the room specifying information on the display means in such a manner that the room specifying information and the room attribute information can be visually recognized.
  • the storage capacity of the server device is minimized. Can be suppressed.
  • chat rooms in which the user can participate can be managed centrally on the information processing apparatus side.
  • FIG. 1 is a schematic diagram showing an outline of the chat system according to the first embodiment.
  • the chat system SYM includes a plurality of client devices (information processing devices) 1A and 1B and a server device 2.
  • the server device 2 includes a plurality of matching servers 3A, 3B, 3C and a message server 4.
  • Each client device 1, each matching server 3, and message server 4 are connected to the Internet 30 and perform data communication via the Internet 30.
  • the users of the client devices 1A and 1B are referred to as users A and B, respectively.
  • the client device 1 When it is not necessary to distinguish between the client devices 1A and 1B, they are simply referred to as the client device 1, and when it is necessary to distinguish between the client devices and their constituent elements, each is followed by a symbol.
  • a and B are appended.
  • the matching server 3 is simply described as the matching server 3 and each matching server and each component thereof must be described separately. In each case, A, B, and C are appended to the end of each symbol.
  • the numbers of client terminals 1 and matching servers 3 are examples, and are not limited to the above.
  • the matching server 3 and the message server 4 do not need to be included in one server device 2 and may be provided individually.
  • the client device 1 generates participation request information that can identify one chat room in response to a participation request from the user to the chat system SYS. Further, exit request information capable of specifying the chat room is generated in response to the exit request from the user.
  • the client terminal device 1 transmits participation request information in response to the generation of participation request information, and transmits the exit request information in response to generation of the exit request information.
  • the participation request from the user to the chat system SYS includes a request to open a chat room and a request to enter the chat room.
  • the client device 1 generates setting request information as participation request information corresponding to the opening request, and generates room entry request information as participation request information corresponding to the room entry request.
  • the matching server 3 receives the participation request information and the leaving request information, respectively.
  • the client device 1 and the chat room can be registered in association with each other.
  • the matching server 3 registers the client device 1 in the storage unit 17 in association with the chat room when one chat room specified by the received participation request information is registered in the storage unit 17. When one chat room specified by the received participation request information is not registered in the storage unit 17, the client device 1 and the chat room are associated with each other and registered in the storage unit 17.
  • the matching server 3 When the matching server 3 receives the setting request information from the client device 1, the matching server 3 associates the client device 1 with the chat room and registers them in the storage unit 17.
  • the entry request information is received from the client device 1, it is determined whether or not the chat room specified by the received entry request information is registered in the storage unit 17, and the chat room is registered in the storage unit 17. Is determined, the client device 1 is registered in the storage unit 17 in association with the chat room.
  • the client device 1 and the chat room are associated with each other and registered in the storage unit 17.
  • the matching server 3 associates with one chat room. The execution of chat by transmitting and receiving message data is controlled between the plurality of registered client apparatuses 1.
  • the matching server 3 When the matching server 3 receives the exit request information, the matching server 3 deletes the registration of the client device 1 associated with one chat room specified by the exit request information. Further, when the client apparatus 1 is not registered at all for one registered chat room, the registration of the one chat room is deleted.
  • each matching server 3 opens a chat room in response to a setting request (participation request) from the client device 1 by executing a chat management program to be described later, and enters an entry request (entry request from each client device 1). ) Is permitted to enter (participate) the client terminal 1 in the chat room, and the transmission / reception of message data (text data) between the client devices 1 entering the chat room is relayed. Further, the matching server 3 deletes the chat room when all the client devices 1 leave the open chat room. Furthermore, when the matching server 3 receives an entry request from the client device 1 for the already deleted chat room, the matching server 3 opens the chat room again.
  • each matching server 3 has only an active chat room in which one or more client devices 1 are entering, and there is no inactive chat room in which the client device 1 is not entering at all.
  • the message server 4 also relays transmission / reception of message data (text data) between the client devices 1, but its function is different from the matching server 3 in that it does not require entry into the chat room.
  • message data transmitted / received to / from the matching server 3 is referred to as chat data, and is distinguished from message data transmitted / received to / from the message server 4.
  • the controller 20 and the monitor device 10 are connected to each client device 1 via a connection cable 19, respectively.
  • the controller 20 is an operation terminal operated by the user, and supplies an operation signal corresponding to the operation from the user to the client device 1.
  • the controller 20 may be any input device that can supply an operation signal (input signal) according to a user's operation to the client device 1, and various types such as a keyboard type and a game controller can be applied. .
  • the monitor device 10 displays an image based on the video signal supplied from the client device 1.
  • a room selection screen is displayed on the monitor device 10.
  • images showing chat rooms that can be selected by the user are arranged and displayed.
  • a chat screen corresponding to the chat room is displayed.
  • the chat screen is switched between a display state and a non-display state according to an instruction from the user.
  • a chat information notification screen for notifying them is displayed over the other screen.
  • the client device 1 includes a communication unit 80, a chat execution unit 13, a display control unit 14, and a storage unit 15, which are connected via a bus.
  • the client device 1 performs the following processes (opening request processing, entry request processing, leaving request processing, chat execution processing, invitation transmission processing, invitation reception processing, room selection screen display Process, chat screen display process, etc.).
  • the user specifying information is unique information that can identify the client device 1 and is stored in the storage unit 15.
  • the user identification information for example, a unique user ID given in advance to the user of the client device 1, a device ID given in advance to the client device 1, a user's mail address, or the like is used.
  • a friend management table for registering friends is set.
  • user identification information and user attribute information of other users (friends) who can use the chat system SYM are stored in association with each other.
  • the user identification information is registered in the friend management table.
  • the user attribute information includes information such as the user's e-mail address, the user's nickname, and image data of the avatar selected by the user.
  • the opening request process is executed when the controller 20 receives a predetermined operation input for instructing to newly open a chat room from the user, and the client device 1 receives an operation signal (room opening instruction signal) from the controller 20.
  • the establishment request process includes a server determination process and a room information determination process.
  • the chat execution unit 13 determines server selection basic information (server key) according to a predetermined method, and selects a matching server 3 that opens a chat room among the plurality of matching servers 3A, 3B, and 3C. It is determined by determining from the server selection basic information according to a predetermined predetermined correspondence.
  • the chat execution unit 13 determines room identification information (room key) unique to the chat room according to a predetermined method.
  • the chat execution unit 13 generates opening request information including its own user specifying information, and the communication unit 80 transmits the generated opening request information to the determined matching server 3. Further, the chat execution unit 13 generates setting request information including the determined room specifying information and its own user specifying information, and the communication unit 80 transmits the generated setting request information to the determined matching server 3. Send.
  • the establishment request process ends when the communication unit 80 receives the room identification information (room ID) of the established chat room from the matching server 3.
  • the chat execution unit 13 stores the determined room specifying information and the server selection basic information in the storage unit 15 in association with each other.
  • the chat execution unit 13 stores chat room establishment information as chat history information in association with room specifying information.
  • the chat room establishment information includes information indicating the establishment date and time of the chat room.
  • the opening date and time of the chat room indicates the execution time of the opening request process such as when the opening request process starts and when the opening request process ends (when the communication unit 80 receives room identification information from the matching server 3). Any date and time can be specified.
  • the timing for storing the opening information is preferably at the end of execution of the opening request process.
  • the client device 1 acquires various information indicating the date and time from its own internal clock.
  • the predetermined method for determining the server selection basic information may be any method that can determine the specific server selection basic information. For example, from the basic data that combines the user identification information and the time at which the opening request processing is started. A method of calculating a hash value using a predetermined hash function can be used. In this case, the hash value obtained by the calculation is the server selection basic information. By combining the time with the basic data on which the hash value is calculated, it is possible to avoid the inconvenience that duplicate server selection basic information is generated in the same client device 1.
  • the predetermined correspondence relationship in which one matching server 3 for establishing a chat room is selected and determined from a plurality of matching servers 3A, 3B, 3C is that chat rooms are evenly distributed to a plurality of matching servers 3. It is only necessary to be a relationship to be allocated (a relationship in which one of the unique server IDs assigned to each matching server 3 and the determined server selection information correspond equally).
  • server reference basic information the hash value
  • a hash function set so that one server ID can be calculated at random can be used.
  • the server ID of the matching server 3 that opens the chat room is calculated as a hash value of the server reference basic information.
  • the predetermined method for determining room-specific information specific to a chat room may be any method that can determine specific room-specific information.
  • the predetermined method is determined from basic data obtained by combining user-specific information and a server ID.
  • the predetermined correspondence for selecting and determining the matching server 3 is updated according to an increase or decrease in the number of matching servers 3. For example, when the administrator or the like of the server device 2 increases or decreases the number of matching servers 3, the server device 2 transmits server number update information including correspondence (new) that matches the increased or decreased server number to each client device 1. To do. The client device 1 that has received the server number update information rewrites the stored correspondence (old) with the received correspondence (new).
  • the chat execution unit 13 receives an input of the room name of the chat room to be opened from the user via the controller 20, and stores the input room name in association with the room specifying information as room attribute information.
  • a preset default room name is stored.
  • the room entry request process is executed when the controller 20 receives a predetermined operation for designating a chat room and instructing entry from the user, and the client device 1 receives an operation signal (room entry instruction signal) from the controller 20.
  • the chat execution unit 13 reads the server selection basic information and the room identification information corresponding to the designated chat room from the storage unit 15, as in the case of the opening request process (the read server selection basic information).
  • the matching server 3 in which the chat room is established is specified in accordance with the above-described predetermined method.
  • the chat execution unit 13 generates entry request information including the user specifying information and the read room specifying information, and the communication unit 80 transmits the generated entry request information to the specified matching server 3.
  • the room specifying information is used for searching for a chat room in the matching server 3.
  • the entry request process is terminated when the communication unit 80 receives entry completion information for itself from the matching server 3.
  • the matching server 3 does not extract the chat room and fails to enter the room.
  • the communication unit 80 receives entry failure information indicating that entry into the chat room has failed from the matching server 3.
  • the process proceeds to the opening request process. That is, the chat execution unit 13 generates establishment request information including its own user identification information, and setting request information including the room identification information of the designated chat room and its own user identification information. The generated opening request information and setting request information are transmitted to the matching server 3 that transmitted the room entry request information.
  • the chat execution unit 13 stores room entry information (self entry information) indicating that a chat room has been entered in association with the room identification information as chat history information.
  • the self entry information includes information indicating the date and time when the user enters the chat room.
  • the entry date and time for entering the chat room includes the time when the entry request process is started and the end of the entry request process (when the communication unit 80 has received its own entry completion information from the matching server 3). Any date and time that specifies the entry time may be used.
  • the timing for storing the own room entry information is preferably at the end of execution of the room entry request process.
  • the room entry request process when the opening request process is completed, the room entry request process is executed without requiring an operation input from the user. In this case, since the chat room has already been specified in the opening request process, the above process for specifying the matching server 3 and the chat room can be omitted. Further, the room entry request process is a process executed independently for each of the plurality of chat rooms, and the client device 1 enters another chat room while maintaining entry to one chat room. be able to.
  • the leaving request process is executed when the controller 20 receives a predetermined operation for designating a chat room and instructing to leave the room from the user, and the client apparatus 1 receives an operation signal (leaving instruction signal) from the controller 20.
  • the chat execution unit 13 generates exit request information including user identification information and a server ID, and the communication unit 80 transmits the generated exit request information to the matching server 3.
  • the exit request process ends when the communication unit 80 receives exit completion information for itself from the matching server 3.
  • the chat execution unit 13 stores exit information (own exit information) indicating that the user has left the chat room in association with the room identification information as chat history information.
  • the self-exit information includes information indicating the date and time when the user leaves the chat room.
  • the timing of storing the exit date / time and the exit information from the chat room is not only when the exit request process starts, but also when the exit request process ends, or when the communication unit 80 receives its own exit completion information from the matching server 3. Any date and time may be used as long as it specifies when to leave the chat room.
  • the chat execution process is continuously executed while entering the chat room (from the end of the entry request process to the end of the exit request process).
  • the chat execution unit 13 generates chat data based on an operation signal from the controller 20.
  • the chat execution unit 13 generates transmission data including the generated chat data and the user identification information in response to a transmission instruction from the user via the controller 20, and the communication unit 80
  • the generated transmission data is transmitted to the chat room (matching server 3) designated by the user.
  • the communication unit 80 is transmitted from another person's entry completion information indicating entry of another client device 1 into the chat room, another person's exit information indicating exit of the other client device 1 from the chat room, or transmitted from the matching server 3.
  • Received data including the chat data (received chat data) and the user specifying information of the client device 1 indicating each execution subject is received from the matching server 3.
  • the chat execution unit 13 uses, as chat history information, the other person's entry completion information, the other person's exit information, and the received message information indicating the received chat data received by the communication unit 80, and the user identification information corresponding thereto. Store in association with specific information.
  • the other person's entry completion information, the other person's exit completion information, and the received message information that are stored include information indicating the reception date and time, respectively.
  • the controller 20 receives a predetermined operation for inviting another user (another client device 1) to the chat room from the user, and the client device 1 receives an operation signal (invitation instruction signal) from the controller 20.
  • the chat execution unit 13 reads the server selection basic information, the room identification information, and the room attribute information associated with the chat room (room identification information) designated by the user from the storage unit 15, and enters the chat room.
  • invitation information including message data indicating invitation, own user specifying information, server selection basic information, room specifying information, and room attribute information is generated.
  • the communication unit 80 transmits the generated invitation information to the other specified client device 1 via the message server 4.
  • the invitation reception process is executed by the communication unit 80 receiving invitation information from another client device 1 via the message server 4.
  • the chat execution unit 13 associates the server selection basic information, the room identification information, the user identification information, and the room attribute information included in the invitation information received by the communication unit 80 with each other, and stores the storage unit 15. To remember.
  • the user specifying information is stored as room attribute information.
  • the room selection screen display process is executed when the controller 20 receives a predetermined operation for instructing the display of the room selection screen from the user.
  • the display control unit 14 displays a room selection screen on the monitor device 10.
  • images room-corresponding images
  • Each room-corresponding image includes at least one information of chat history information and room attribute information stored in association with each chat room (room specifying information).
  • the chat screen display process is executed by selecting and specifying one chat room with the room selection screen displayed.
  • the display control unit 14 displays a chat screen on the monitor device 10.
  • the chat screen includes at least a part of information including the latest information (information with late date and time) among the chat history information stored in association with the designated chat room, and at least a room name among the room attribute information. Part information is displayed. Chat history information is displayed in chronological order from the latest information.
  • the display control unit 14 switches the chat screen between the display state and the non-display state according to an instruction from the user via the controller 20.
  • the chat screen display process is temporarily interrupted and the chat screen is not displayed.
  • the chat screen display process is not ended, but temporarily interrupted, the chat screen is displayed immediately upon receiving an instruction to switch to the display state.
  • the display control unit 14 displays a chat information notification screen for notifying the added room attribute information on the other screen.
  • the chat screen display process ends when the above exit request process ends (exit from the chat room).
  • the client device 1 includes a central processing unit (CPU: Central Processing Unit) 41 and a control system 40 including its peripheral devices, an HDD (Hard Disc Drive) 45, and an image processing device (GPU) that performs drawing in the frame buffer 53.
  • CPU Central Processing Unit
  • control system 40 including its peripheral devices, an HDD (Hard Disc Drive) 45, and an image processing device (GPU) that performs drawing in the frame buffer 53.
  • sound system 60 consisting of sound processing device (SPU: Sound Processing Unit) 61 for generating musical sounds, sound effects, etc.
  • the optical disk control unit 70 that performs control, a communication unit 80, an interface unit 90, and a bus to which the above-described units are connected are configured.
  • the CPU 41 functions as the chat execution unit 13 and the display control unit 14, and the graphic system 50 functions as the display control unit 14.
  • the control system 40 includes a CPU 41, a peripheral device control unit 42 that performs interrupt control and direct memory access (DMA) transfer control, a main memory 43 including a RAM (Random Access Memory), and a ROM (Read Only Memory) 44.
  • the main memory 43 functions as the storage unit 15.
  • the ROM 44 stores a program such as an operating system for controlling each part of the client device 1 and application programs for realizing various functions.
  • the CPU 41 reads the operating system stored in the ROM 44 into the main memory 43 and controls the entire client device 1 by executing the read operating system.
  • the HDD 45 stores various data and various application programs such as a program (chat execution program) for realizing chat.
  • the CPU 41 reads the chat execution program stored in the HDD 45 into the main memory 43 and executes the read chat execution program.
  • the sound system 60 outputs, under the control of the control system 40, an SPU 61 that controls an audio signal, a sound buffer 62 that records waveform data and the like during audio reproduction, and musical sounds and sound effects that are generated by the SPU 61. And a speaker 63.
  • the sound system 60 receives an audio signal and a voice detect value input from the microphone 12.
  • the sound system 60 digitally converts the input audio signal, encodes it with an audio codec, and supplies the encoded signal to the communication unit 80.
  • the sound system 60 is also supplied with audio data acquired via the Internet 30 from the communication unit 80.
  • the sound system 60 decodes the audio data by an audio codec, converts the analog data into analog data, generates waveform data, records the waveform data in the sound buffer 62, and supplies this to the speaker 63.
  • the optical disk control unit 70 includes an optical disk device 71 that reproduces a program, data, and the like recorded on the optical disk, and a decoder that decodes the program, data, and the like recorded with an error correction code (ECC) added thereto, for example. 72 and a buffer 73 that temporarily stores data from the optical disk device 71 to speed up reading of data from the optical disk.
  • a sub CPU 74 is connected to the decoder 72.
  • the interface unit 90 includes a parallel I / O interface (PIO) 91 and a serial I / O interface (SIO) 92. These are interfaces for connecting a memory card (not shown) and the client device 1.
  • PIO parallel I / O interface
  • SIO serial I / O interface
  • the graphic system 50 includes a geometry transfer engine (GTE) 51, a GPU 52, a frame buffer 53, and an image encoder / decoder 54.
  • the graphic system 50 is supplied with image data read from the HDD 45 by the control system 40 and a video signal from the video camera 11.
  • the GTE 51 includes, for example, a parallel operation mechanism that executes a plurality of operations in parallel, and performs operations such as coordinate conversion, light source calculation, matrix, or vector at high speed according to the operation request from the CPU 41. Then, the control system 40 defines a three-dimensional model as a combination of basic unit figures (polygons) such as triangles and quadrilaterals based on the calculation result by the GTE 51, and corresponds to each polygon for drawing a three-dimensional image. A drawing command is sent to the GPU 52.
  • polygons basic unit figures
  • the GPU 52 draws a polygon (polygon) or the like in the frame buffer 53 in accordance with a drawing command from the control system 40.
  • the frame buffer 53 stores an image drawn by the GPU 52.
  • the frame buffer 53 includes a so-called dual port RAM, and can simultaneously perform drawing from the GPU 52 or transfer from the main memory 43 and reading for display.
  • the frame buffer 53 stores a CLUT that stores a color lookup table (CLUT: Color : Lock Up Table) that the GPU 52 refers to when drawing a polygon or the like.
  • An area and a texture area for storing a material (texture) that is inserted (mapped) into a polygon or the like that is coordinate-converted at the time of drawing and drawn by the GPU 52 are provided. These CLUT area and texture area are dynamically changed according to the change of the display area.
  • the image encoder / decoder 54 performs various processes such as encoding and decoding of still images or moving images, digital conversion, and analog conversion under the control of the control system 40 described above.
  • the communication unit 80 controls data communication with other information processing apparatuses including the server apparatus 2 via the Internet 30 under the control of the control system 40.
  • the matching server 3 includes a communication unit 240, a chat management unit 16, and a storage unit 17, which are connected via a bus.
  • the matching server 3 executes the following processes (room opening process, room entry process, room leaving process, chat management process) according to the chat management program stored in the storage unit 17.
  • the storage unit 17 is provided with a room information storage area 230a.
  • the room information storage area 230a is an area in which room identification information, room identification information, user identification information, and at least the latest chat data are stored in association with each other.
  • the room information storage area 230a of the present embodiment is configured by a room information registration table that is associated with each other when each information is registered.
  • the storage unit 17 stores the correspondence between the user identification information and the address information of the transmission destination.
  • An address table is set in advance, and the matching server 3 executes transmission processing for the client device 1 by reading out address information corresponding to the user identification information of the transmission destination from the address table.
  • the room opening process is executed when the communication unit 240 receives the opening request information and the setting request information from the client device 1.
  • the chat management unit 16 opens a chat room according to the opening request information received by the communication unit 240.
  • the establishment of the chat room means setting a storage area for a new chat room in the room information registration table.
  • the chat room is opened, the room specifying information received by the communication unit 240 is registered in the set storage area of the room information registration table.
  • the chat management unit 16 registers the room identification information for identifying the generated chat room in the matching server 3 in association with the room identification information, and the communication unit 240 issues the opening request.
  • the room identification information is transmitted to the client apparatus 1 that has performed.
  • the client device 1 entering the chat room uses the room identification information as the chat room destination in the matching server 3.
  • the room entry process is executed when the communication unit 240 receives room entry request information from the client device 1.
  • the chat management unit 16 searches whether the room specifying information received by the communication unit 240 is registered in the room information registration table (determines whether it exists).
  • the chat management unit 16 associates the user identification information received by the communication unit 240 with the extracted room identification information in the room information registration table. sign up.
  • the registration of the user specifying information brings the client device 1 into the chat room.
  • the chat management unit 16 generates entry completion information, and the communication unit 240 associates the generated entry completion information with all of the client devices 1 registered in association with the chat room (the client device 1 that made the entry request). Including).
  • the chat management unit 16 when the room identification information is not registered (when the room identification information cannot be extracted), the chat management unit 16 generates entry failure information, and the communication unit 240 transmits the generated entry failure information to the client device. Send to 1. Subsequently, the communication unit 240 receives the opening request information and the setting request information from the client device 1, and the chat management unit 16 executes the room opening process.
  • the leaving process is executed when the communication unit 240 receives the leaving request information from the client device 1.
  • the chat management unit 16 extracts and deletes the received user specifying information from the user specifying information associated with the room ID included in the leaving request information. Due to the deletion of the user specific information, the client device 1 has left the chat room.
  • the chat management unit 16 generates exit information, and the communication unit 240 associates the generated exit information with all the client devices 1 registered in association with the chat room (the client device 1 that has made the exit request). Including).
  • the chat management unit 16 When all the client devices 1 leave the chat room (when all the user specific information associated with the registered room specific information is deleted), the chat management unit 16 relates to the chat room (room specific information). All information (room identification information and all data stored in association with this) is deleted from the room information registration table. By deleting all related information, the chat room is deleted.
  • the chat management process is continuously executed while the room identification information is registered in the room information registration table (while the client device 1 entering the chat room exists).
  • the chat management unit 16 registers in association with the room specifying information received by the communication unit 240.
  • the transmission data is transmitted to all the client devices 1 associated with the user identification information.
  • the chat management unit 16 does not transfer the received transmission data as it is, and determines whether or not inappropriate expressions or sentences are included in the message data included in the transmission data. If it is determined that a sentence is included, the corresponding part may be replaced with an irrelevant character or symbol (for example, x) and transmitted to the client device 1.
  • the matching server 3 includes a CPU 200, a ROM 210, a RAM 220, an HDD (Hard Disk Drive) 230, a communication unit 240, and the like, which are connected via a bus.
  • the CPU 200 functions as the chat management unit 16, and the RAM 220 and the HDD 230 function as the storage unit 15.
  • the ROM 210 stores an operating system and various programs for controlling each part of the server device 2.
  • the CPU 200 reads the operating system stored in the ROM 210 into the RAM 210 when the server apparatus 2 is activated, and controls the operation of each unit of the server apparatus 2 by executing the read operating system.
  • the HDD 230 stores various data and various application programs such as a program (chat management program) for realizing chat.
  • CPU 200 reads the chat management program stored in HDD 230 into RAM 220 and executes the read chat management program.
  • the communication unit 240 controls data communication via the Internet 30 under the control of the CPU 200.
  • the message server 4 includes a CPU, a ROM, a RAM, an HDD (Hard Disc Drive), a communication unit, a bus, and the like, and the basic configuration is the same as that of the matching server 3, and thus detailed description thereof is omitted. To do.
  • an unillustrated power supply is turned on, and a program such as an operating system stored in the ROM 44 is read out and executed by the CPU 41 into the main memory 43, and an instruction is input by the user, whereby the ROM 44 and the optical disc Various programs read to the main memory 43 from the optical disk mounted on the apparatus 71 are executed by the CPU 41, and various functions described in the above-described configuration column are realized.
  • the matching server 3 is powered on (not shown), and various programs such as an operating system stored in the ROM 210 are read out to the RAM 220 by the CPU 200 and executed, thereby realizing the various functions described in the above-described configuration column.
  • various programs such as an operating system stored in the ROM 210 are read out to the RAM 220 by the CPU 200 and executed, thereby realizing the various functions described in the above-described configuration column.
  • chat system SYS When a chat is started using the chat system SYS, the user (1) opens a chat room by himself and invites other users, and (2) enters a chat room invited by another person. Is possible.
  • the various settings are as follows.
  • the user specifying information is a user ID.
  • the server key (server selection basic information) is a hash value calculated from the combination of the user ID and the start time of the opening request process.
  • the server ID of the matching server 3 that opens the chat room is calculated as a hash value of the server key.
  • the room key (room specifying information) is a combination of the time (for example, the start time of the opening request process) and the room ID received from the matching server 3.
  • the client apparatus 1A receives the room establishment instruction signal from the controller 20A (step S10), The client device 1A starts the opening request process.
  • the reception time Ta of the room opening instruction signal is acquired from the internal clock of the client device 1A, the user ID (A) of the user A is read from the storage unit 15A, the character string of the user ID (A) and the time Ta To generate basic data (user ID (A) Ta), and using a preset hash function (hashA), the basic data (user ID (A) Ta) to the hash value ( hashA (user ID (A) Ta)) is calculated (step S11).
  • This hash value (hashA (user ID (A) Ta)) functions as a server key SKa that can be used when selecting one matching server 3 from the plurality of matching servers 3 without any bias.
  • the hash value (hashB (SKa)) of the server key SKa is calculated using a preset hash function (hashB) (step S12).
  • This hash value (hashB (SKa)) is the server ID of one matching server 3 selected without any bias from the plurality of matching servers 3.
  • the calculated server ID (A) is the server ID of the matching server 3A and the matching server 3A is selected.
  • the opening request information including the user ID (A) is transmitted to the matching server 3A (step S13).
  • the matching server 3A executes room opening processing in response to receiving the opening request information (step S20) (step S21).
  • a room ID is generated, and the generated room ID is newly registered in the room information registration table.
  • the matching server 3A transmits the generated room ID to the client device 1A (step S22). At this time, the room ID is transmitted in a state associated with the received opening request information so that the client apparatus 1A can determine that the room ID corresponds to the opening request information.
  • the client device 1A that has received the room ID sets a room key RKa unique to the chat room RA by combining the received room ID and time (step S15).
  • the setting request information including the room key RKa and the room ID is transmitted to the matching server 3A (step S15).
  • the matching server 3A When the matching server 3A receives the setting request information (step S16), the matching server 3A associates the room key RKa included in the received setting request information with the established chat room RA (the room ID included in the received setting request information). Register in the information registration table (step S17). Thereby, the establishment of the chat room RA in the matching server 3A (the above opening process and registration process) is completed, and the matching server 3A generates the opening completion information and associates it with the room ID and transmits it to the client apparatus 1A (step S18). ).
  • the client device 1A ends the opening request process upon receiving the opening completion information (step S19).
  • the client device 1A executes a room entry request process following the opening request process, and enters the chat room RA. Details of the entry / exit request processing will be described later.
  • the client device 1A stores the server key SKa calculated in step S11 and the room key RKa set in step S14 in the storage unit 15 in association with each other. Further, information indicating the opening date and time of the chat room RA is stored in association with the room key RKa.
  • the client device 1A displays the room name input screen 100 of the chat room RA on the monitor device 10A as shown in FIG. 7, for example.
  • a sentence 101 such as “Please enter a chat room name”, a room name input field 102, and a confirmation icon 103 are displayed.
  • the user A operates the controller 10A to set a cursor in the room input field 102 and inputs a room name, moves the cursor to the fixed icon 103 and presses a predetermined YES button, the client apparatus 1A is input.
  • the room name is stored in association with the room key RKa. If the user A sets the cursor on the confirmed icon 103 and presses the YES button without inputting the room name, the client device 1A stores the default room name.
  • the client device 1A switches the display of the monitor device 10A from the room name input screen 100 to, for example, an inviter selection screen 110 as shown in FIG.
  • an inviter selection screen 110 On the inviter selection screen 110, a sentence 111 such as “Please select a friend to invite”, a nickname (such as Hanako, Taro, Jiro, and Pochi) 112 of each user registered as a friend, and an avatar 113 of each user.
  • a check box 114 for inputting the presence / absence of selection, a number display column 115 indicating the total number of selected persons, and a confirmation icon 116 are displayed.
  • the nickname 112 and the avatar 113 are read from the friend management table of the storage unit 15A and arranged side by side for each user.
  • One check box 114 is provided for each user, and the default is a non-selection display of a rectangular frame (outline).
  • the display of the corresponding check box 114 is switched.
  • the display is switched to selection display (for example, a filled state), and in the case of selection display, the display is switched to non-selection display.
  • the number-of-persons display column 115 the number of users selected as invitees is displayed by increasing / decreasing according to the selection / non-selection switching of each check box 114.
  • the controller 20A sends the client An invitation instruction signal is transmitted to apparatus 1A.
  • the client device 1A that has received the invitation instruction signal determines that there has been an invitation transmission instruction, determines the user to be invited, and starts the invitation transmission process. In this example, it is assumed that the user B is confirmed as an invitation target.
  • the client apparatus 1A When the invitation transmission process is started, the client apparatus 1A, as shown in FIG. 9, stores the server key, room key, and room name associated with the chat room (room identification information) designated by the user A from the storage unit 15. Read (step S30). In the invitation call processing at the time of opening the chat room, the chat room RA requesting the opening becomes the chat room designated by the user A, and the server key SKa (step S11 in FIG. 6) and the room key RKa (step S14 in FIG. 6). ) And the input room name.
  • the client apparatus 1A generates and generates message data indicating invitation to the chat room RA, own user ID (A), read server key SKa, room key RKa, and room name.
  • the invitation information is transmitted to the message server 4 with the client device 1B as the destination (step S31).
  • the message server 4 When the message server 4 receives the invitation information from the client device 1A, the message server 4 transmits it to the client device 1B (step S32).
  • the client device 1B receives the invitation information (step S33) and executes an invitation reception process. That is, the server key SKa, room key RKa, user ID (A), and room name included in the received invitation information are associated with each other and stored in the storage unit 15B (step S34).
  • the user B When entering the chat room RA invited by the user A, the user B operates the controller 20B to perform a predetermined input in order to select and specify the chat room RA from among the chat rooms that the user A can enter.
  • a room selection screen 120 as shown in FIG. 10 is displayed on the monitor device 10B.
  • room-corresponding images 121 indicating chat rooms that can be selected by the user B are displayed in a vertical arrangement.
  • the room corresponding images 121 are classified and sorted based on room attribute information or chat history information associated with the chat room.
  • the room-corresponding image 121 is a room-corresponding image 121a, 121b of a chat room that is currently entering (participating in), a room-corresponding image 121c of a new chat room that has been invited but never entered, and has entered the past.
  • the chat rooms 121d and 121e that have not been entered are classified into the chat rooms 121d and 121e that have been left, and are arranged from the top to the bottom in the order of entering, new arrival, and leaving.
  • Each room-corresponding image 121a to 121e includes a room name (“movie room”, “waiting room”, “for chatting”, “let's talk while playing games”, “puzzle club”) and a nickname (Jiro, Poti, Ichiro, Hanako, Jiro) are included.
  • the room corresponding images 121a and 121b include an in-room display image 122 indicating that the user is currently in the room
  • the room corresponding images 121c to 121e include an in-room display image 123 indicating that the user is currently in the room.
  • the new arrival display image 124 indicating that it is new arrival is displayed as the leaving display image 123. Attached and displayed. These display images 122 to 124 can identify whether the corresponding room is currently in the room, whether it has left the room and is newly arrived (not entered), or has entered the room in the past while leaving the room. As long as it is displayed, it is not limited to the above.
  • the room-corresponding images 121a and 121b that are currently in the room include the avatar 125 of the last speaker (the user who transmitted the chat data (latest chat data) last received by the client device 1B from the matching server 3), and the last speech. Content of each person (the chat data (latest chat data) received last from the matching server 3 by the client device 1B) is included.
  • the last speaker is the user B (self)
  • the image data of the user's own avatar registered by the user B in the storage unit 15 is read out and displayed as the last speaker's avatar 125.
  • the chat data from the user (the content of the speech of the user B) received last from the user is displayed as the content of the speech of the last speaker.
  • the room-corresponding images 121c to 121e include the avatars 126 and 127 of the inviter (the user who transmitted the invitation information), respectively.
  • the inviter is registered as a friend of the user (user B) (when the user ID of the inviter is stored in the friend management table of the storage unit 15B)
  • the image data of the avatar corresponding to the user ID of the inviter Is read from the friend management table and displayed as the inviter's avatars 126 and 127.
  • a user information registration table in which the correspondence between the user ID of the user who uses the chat system SYS, the image data of the avatar, and the nickname is registered.
  • the image information and nickname of the avatar corresponding to the inviter's user ID are acquired from the user registration table via the network and set in advance in a storage unit on the Internet (for example, the storage unit 17 of the matching server 3). It is displayed as an avatar 126 or a nickname. In the case of a room opened by self (user B), the avatar and nickname of user B are displayed as the avatar 127 and nickname of the inviter.
  • the correspondence between the user ID once set and the image data and nickname of the avatar is stored in the storage unit 15B for the chat screen display process.
  • the last message date is displayed.
  • the reception date and time of the invitation information is displayed.
  • the exit date and time are displayed.
  • the user B selects a desired one from the room correspondence images 121 displayed on the room selection screen 120, moves the cursor to the selected room correspondence image 121, and presses the YES button, thereby confirming the selection of the chat room.
  • the controller 20B transmits a room entry instruction signal to the client device 1B. In this example, it is assumed that the chat room RA is selected.
  • the client device 1B starts the room entry request process by receiving the room entry instruction signal (step S40), and receives the server key SKa and room key RKa corresponding to the chat room RA from the storage unit 15B.
  • the server ID is calculated using the server key SKa to identify the matching server 3 that requests entry (step S42). .
  • the server ID (A) is calculated as in step S12 of FIG.
  • the client device 10B generates room entry request information including its own user ID (B) and room key RKa, and transmits it to the matching server 3A corresponding to the server ID (A) (step S43).
  • the matching server 3A starts the room entry process by receiving the room entry request information (step S44).
  • the room entry process first, it is determined whether or not the room key RKa included in the received room entry request information is registered in the room information registration table (whether or not the chat room RA exists) (step S45).
  • the room entry process can be executed, and the user ID (B) is registered in the room information registration table in association with the room key RKa (step S46). ). Registration of the user ID (B) causes the client device 1B to enter the chat room RA, and entry completion information for all client devices 1 (including the client device 1B) registered in association with the chat room Ra. Is transmitted (step S47).
  • the client device 1B receives the room entry completion information for itself from the matching server 3 and ends the room entry request process (step S48).
  • step S45 when it is determined in step S45 that the room key RKa has not been registered because the chat room RA has already been deleted (when the room key RKa cannot be extracted), the entry failure information is sent to the client device 1B. (Step S49).
  • the client device 1B that has received the entry failure information moves to the opening request process. That is, the establishment request information including the own user ID (B) and the setting request information including the room RKa of the chat room RA and the own user ID (B) are transmitted to the matching server 3A. Thereby, the chat room RA is established in the matching server 3A, and the client device 1B enters the chat room RA.
  • the client device 1B continuously executes the chat execution process for the chat room RA while entering the chat room RA (from the end of the entry request process to the end of the exit request process).
  • the client device 1B generates chat data based on an operation signal from the controller 20B, and transmits transmission data including the generated chat data and a user ID (B) in response to a transmission instruction from the user via the controller 20B.
  • the generated transmission data is transmitted to the chat room RA of the matching server 3A.
  • the client device 1B may be another person's entry completion information indicating entry of another client device 1 into the chat room RA, another person's exit completion information indicating exit of another client device 1 from the chat room RA, or a matching server.
  • Received data including the chat data (received chat data) transmitted from 3 ⁇ / b> A and the user ID of the client device 1 indicating each execution subject is received from the matching server 3.
  • the client device 1B stores the received other person's room entry completion information, the other person's leaving information, the received message information indicating the received chat data, and the corresponding user ID as chat history information in association with the room specifying information. To do.
  • the other person's entry completion information, the other person's exit completion information, and the received message information that are stored include information indicating the reception date and time, respectively.
  • the client device 1B entering the chat room RA executes a chat screen display process while the user B is performing a chat, for example, and displays a chat screen 130 as shown in FIG. 12 on the monitor device 10B. .
  • the chat screen 130 includes at least a part of information including the latest information (information with a late reception date) among the chat history information stored in association with the chat room RA and at least a room name among the room attribute information. Part information is displayed. Chat history information is displayed in chronological order from the latest information.
  • the chat screen 130 in the example shown in FIG. 12 includes a room name display field 132 in which a room name (movie room) is displayed, an avatar and a nickname of a speaker (user who transmitted chat data), and a message content (received chat data). ) Is displayed in chronological order based on the time of speech (reception time), the speech display column 133 in which user B writes the speech (inputs chat data), the number of users entering the room Are displayed, a scroll bar 136 for scrolling the message display field 133, a friend list display icon 137, and a participant list display icon 138.
  • a screen similar to the inviter selection screen 110 shown in FIG. 8 is displayed. Can be invited.
  • a list of all users who have entered (participated in) the chat room for example, a list of nicknames and avatars.
  • the chat screen 130 is switched between a display state and a non-display state according to an instruction from the user via the controller 20, and when the non-display state is instructed, the chat screen display process is temporarily interrupted, and the chat screen 130 is displayed. Is not displayed.
  • chat screen 130 When the chat screen 130 is set to the non-display state and another screen is displayed (for example, when the game is being executed and the game screen is displayed), the room attribute of the chat room that is entering the room When information is added (when the room attribute information is newly stored in association with the room specifying information), a chat information notification screen for notifying the added room attribute information is displayed over the game screen.
  • the chat screen when a user enters a chat room with a room name “waiting room”, the chat screen is set to a non-display state, and the game screen 140 is displayed.
  • the chat information containing these information A notification screen 141 is displayed.
  • the nickname “Hanako” enters the “waiting room”
  • a chat information notification screen including a sentence “Hanako has joined the waiting room” is displayed.
  • the range and position for displaying the chat information notification screen 141 are preferably as narrow as possible and close to the periphery of the game image 140 so as not to hinder the execution of the game.
  • the client apparatus 1B When the user B designates the chat room RA by operating the controller 20B and instructs to leave, the client apparatus 1B receives the leave instruction signal from the controller 20B and starts the leave request process. In the leaving request process, the leaving request information including the user ID (B) and the server ID is transmitted to the matching server 3A.
  • the matching server 3A that has received the exit request information starts exit processing.
  • the matching server 3A extracts and deletes the received user ID (B) from the user IDs registered in association with the room ID included in the received leaving request information.
  • the client apparatus 1B leaves the chat room RA.
  • the matching server 3A transmits the exit completion information to all the client devices 1 registered in association with the chat room RA (including the client device 1B that made the exit request).
  • the matching server 3A determines all the information related to the chat room RA (the room key RKa and this). All the data stored in association with is deleted from the room information registration table. By deleting all related information, the chat room RKa is deleted.
  • the exit request process in the client device 1B is terminated by receiving the exit completion information for itself from the matching server 3A.
  • the matching server 3 deletes the chat room when all the client devices 1 leave the open chat room. In addition, when the matching server 3 receives an entry request from the client device 1 for the already deleted chat room, the matching server 3 opens the chat room again.
  • each matching server 3 has only an active chat room in which one or more client devices 1 are entering, and there is no inactive chat room in which the client device 1 is not entering at all. .
  • the remaining capacity of the storage unit 15 of the matching server 3 is not compressed due to the presence of an inactive chat room, and the storage capacity required for the storage unit 15 can be minimized. 15 efficient use is possible.
  • the client device 1 When the client device 1 requests entry into the chat room, if the chat room is deleted, the client device 1 performs the entry request processing without notifying the user that the chat room has been deleted. Subsequently, an opening request process is executed to open a chat room in the matching server 3 and enter the room. Therefore, the user who uses the chat system SYS does not feel uncomfortable.
  • Each client device 1 leaving the chat room calculates the server ID of the matching server 3 in which the chat room exists as a hash value of the server key, and the server ID and hash function used for the calculation are each client device. 1 is the same. Further, the hash function is set so that a plurality of matching servers 3 are selected without bias, and is updated as appropriate according to the increase or decrease of the matching servers 3. That is, even when all the client devices 1 leave the chat room, the matching server 3 is added, the hash function is updated, and the calculated server ID is changed. The server IDs calculated in the device 1 are all changed so as to correspond to the same matching server 3. Therefore, it is possible to efficiently distribute the server load after adding the matching server 3.
  • the room selection screen 120 When the chat starts (when entering the chat room), the room selection screen 120 is displayed on the monitor device 10. On the room selection screen 120, room-corresponding images 121 indicating selectable chat rooms are arranged and displayed. Each room-corresponding image 121 is at least one of chat history information and room attribute information stored in association with each chat room. Contains one piece of information. Therefore, the user can easily grasp the contents of each chat room that can be entered and enter the desired chat room.
  • the user can centrally manage chat rooms in which the user can participate on the client device 1 side.
  • chat screen 130 When a user enters a chat room and is performing a chat, a chat screen 130 corresponding to the chat room is displayed on the monitor device 10.
  • the chat screen 130 displays at least a part of information including the latest information among the chat history information associated with the chat room, and a part of the room attribute information including at least the room name.
  • the Therefore, the user of the chat system SYS has the same feeling as when the server device stores all chat history information and manages them centrally, and each client device receives the chat history information from the server device and displays it. You can chat.
  • the chat screen 130 is switched between a display state and a non-display state according to an instruction from the user, and when the chat screen 130 is in a non-display state and another screen (for example, the game screen 140) is displayed,
  • another screen for example, the game screen 140
  • the chat information notification screen 141 for notifying them is displayed on the other screen. It is displayed overlaid on the (game screen 140). Therefore, it is possible to easily chat with other users while performing other processing such as a game.
  • the matching server 3 when the client device 1 requests to enter a chat room that does not exist in the matching server 3, the matching server 3 receives the chat room opening request from the client device 1 as a start condition.
  • the chat room may be opened with the determination that the matching server 3 does not exist as a start condition.
  • the chat system SYM of the first embodiment is applied to a system voice chat capable of executing both text chat and voice chat (voice chat) in parallel. Part or all is set as a chat room for system voice chat (system voice chat room). That is, the chat system SYM of this embodiment is common to the first embodiment except that voice data is transmitted and received as chat data in the same manner as text data.
  • system voice chat room the chat system SYM of this embodiment is common to the first embodiment except that voice data is transmitted and received as chat data in the same manner as text data.
  • symbol is attached
  • the case where some chat rooms are set as a system voice chat room among the chat rooms of 1st Embodiment is demonstrated.
  • the number of people who can enter the system voice chat room may be limited to a small number, and a case where the maximum number of people who can enter the system voice chat room is limited to four will be described below.
  • the sound system 60 In the client device 1 that executes system voice chat, the sound system 60 generates chat data (voice chat data) based on the audio signal input from the microphone 12, and the communication unit 80 transmits the generated chat data.
  • the sound system 60 decodes chat data (voice chat data) acquired by the communication unit 80 via the Internet 30 using a voice codec, converts the data into analog data, generates waveform data, and records the waveform data in the sound buffer 62. Then, the sound is output from the speaker 63 as sound. That is, the sound system 60 functions as the chat execution unit 13.
  • the matching server 3 when receiving the setting request information from the client device 1, the matching server 3 registers the client device 1 and the chat room in the storage unit 17 in association with each other. Further, upon receiving the room entry request information from the client device 1, it is determined whether or not the chat room specified by the received room entry request information is registered in the storage unit 17, and the chat room is registered in the storage unit 17. If it is determined that the client device 1 is present, the client device 1 is registered in the storage unit 17 in association with the chat room. On the other hand, when it is determined that the chat room is not registered in the storage unit 17, the client device 1 and the chat room are associated with each other and registered in the storage unit 17.
  • the matching server 3 may register the chat room for text chat (text chat room) and the chat room for system voice chat (system voice chat room) separately, or may register without distinguishing both. Good.
  • Matching server 3 controls the execution of text chat by transmitting and receiving message data (text chat data) between a plurality of client devices 1 registered in association with one text chat room.
  • the matching server 3 performs text chat by transmitting / receiving message data and transmitting / receiving voice data (voice chat data) between a plurality of client devices 1 registered in association with one system voice chat room. Control the execution of voice chat.
  • a screen and a chat screen during system voice chat will be described.
  • the client apparatus 1A When a chat room is newly opened, the user A operates the controller 20A to perform a predetermined input instructing to newly open a chat room.
  • the client device 1A Upon receiving the room opening instruction signal from the controller 20A, the client device 1A starts the opening request process.
  • the client apparatus 1A causes the monitor apparatus 10A to display a selection request screen 150 in which selectable chat types are listed as shown in FIG.
  • the selection request screen 150 displays a sentence 151 such as “Please select a chat type” and selectable chat types.
  • text chat chat of the first embodiment
  • AV chat AV chat
  • system voice chat chat of the present embodiment
  • AV chat is a chat using images and sounds.
  • the client apparatus 1A recognizes that the establishment of the system voice chat room has been requested. And store the opening request information to the matching server 3.
  • the client device 1A sequentially displays the room name input screen 100 and the inviter selection screen 110 on the monitor device 10A as in the first embodiment.
  • the client apparatus 1A displays message data indicating that the user A is invited to the system voice chat room SVRA.
  • invitation information including the user ID, the read server key, the room key, and the room name is generated, and the generated invitation information is transmitted to the message server 4 with the client device 1B as the destination.
  • the message server 4 that has received the invitation information from the client device 1A transmits this invitation information to the client device 1B.
  • the client device 1B that has received the invitation information appropriately displays an image (for example, a text such as “You have been invited to the system voice chat room from Mr. A”) indicating that you have been invited to the chat room to the monitor device 10B. Display.
  • User B who wishes to enter a chat room (text chat room or system voice chat room) operates controller 20B to make a predetermined input, as in the first embodiment, and selects a room as shown in FIG.
  • the screen 120 is displayed on the monitor device 10B.
  • the room selection screen 120 in FIG. 15 is the same as the room selection screen 120 in FIG. 10 except that the room correspondence image 121 of the system voice chat room includes a system voice display image 128 indicating that it is a system voice chat room.
  • two of the five selectable chat rooms are system voice chat rooms, and the room corresponding images 121a and 121c each include a system voice display image 128.
  • User B can enter the corresponding system voice chat room and perform a system voice chat by moving the cursor to the room corresponding image 121c and pressing the YES button.
  • the room selection screen 120 is updated every predetermined time or when new text chat data is received.
  • the latest in each chat room that is in the room is updated.
  • the date and time of the utterances (the date and time of registration of the text chat data of the last registered self or another person) are sorted in order from the newest.
  • the chat room being entered includes a system voice chat room, the display order of the chat room being entered is determined only by the date and time of text chat data registration, and the date and time of voice chat data transmission and reception is not reflected.
  • the client device 1B executing the system voice chat causes the monitor device 10B to display a chat screen 160 corresponding to the system voice chat room being entered.
  • the chat screen 160 includes a room name display field 132, a speech display field 133, a speech input field 134, a number display field 135, as in the first embodiment.
  • a scroll bar 136, a friend list display icon 137, and a participant list display icon 138 are displayed.
  • the participant display column 161 displays the maximum number of people that can enter the system voice chat room simultaneously (in this embodiment, four people), and each participant display column 161 has entered the system voice chat room.
  • the participant's avatar 125 is displayed.
  • the avatar 125 displayed in the participant display field 161 includes the avatar 125a of the self (user B) in addition to the avatar 125b of another person. In addition, when the number of participants has not reached the maximum number, the avatar 125 is not displayed in some (two places in the example of FIG. 16) participant display fields 161. Under the participant display field 161 in which the avatar 125 is displayed, the nickname of the participant (in the example of FIG. 16, the nickname “Pochi” of the user (user B) and the nickname “Jiro” of another person) are displayed. Further, a speaker icon 163 for specifying a speaker who is emitting a voice is displayed in the participant display field 161. The user B can recognize who the voice output from the speaker 63 is by looking at the speaker icon 163.
  • the voice chat setting icon 162 is an icon that is selected when performing a voice changer function setting operation, a sound device setting operation, a microphone 12 on / off operation, or a speaker 63 volume adjustment.
  • users participating in the system voice chat room can freely select and execute text chat and voice chat as appropriate.
  • the users participating in the system voice chat room are overloaded with the client device 1 and the network 30 due to the voice chat (voice chat data).
  • voice chat voice chat data
  • the conversation can be continued by text chat in the same system voice chat room.
  • the user A and the user B participating in the system voice chat of the second embodiment may desire to participate in a network battle game as a friend of the same group.
  • each client device 1 easily realizes the user's request by collating the chat participant list with the game participant list.
  • the client device 1A of the user A and the client device 1B of the user B can execute the same network battle type game program, and the battle type game is divided into a plurality of groups (hereinafter simply referred to as a game). (Refers to a competitive game).
  • the client device 1 includes a communication unit 80, a chat execution unit 13, a display control unit 14, a storage unit 15, and a game execution unit 18, which are connected via a bus.
  • the game execution unit 18 executes game processing according to the game program stored in the storage unit 15.
  • the CPU 41 (see FIG. 3) functions as a game execution unit.
  • the game execution unit 1B of the client device 1B When the game execution unit 1B of the client device 1B activates the battle-type game, the game execution unit 1B displays the group information already set in the battle-type game and the information of users belonging to each group as game participants. Obtained as a list via the Internet 30.
  • the provider of the game participant list is, for example, a server device that manages the progress of the competitive game or another client device 1 that has already participated in the competitive game.
  • the game execution unit 18B that has received the game participant list can recognize that the user A belongs to a predetermined group (group X).
  • the chat execution unit 13B is active (processing is being executed) at a predetermined time from when the competitive game is activated until when it is determined which group the competitive game belongs to. Whether or not is detected.
  • the game execution unit 18B displays a list (chat identification information (user ID)) indicating users (user identification information (user ID)) participating in the system voice chat to the chat execution unit 13B. Request to provide (participant list).
  • the chat execution unit 13B that has received a request to provide a chat participant list from the game execution unit 18B determines whether there is a system voice chat that the user B is currently participating in, and there is a system voice chat that is participating. When doing so, the chat participant list is provided to the game execution unit 18B. On the other hand, when there is no system voice chat in which user B is currently participating, chat execution unit 13B notifies game execution unit 18B that there is no chat participant list.
  • the game execution unit 18B that has received the chat participant list collates the game participant list with the chat participant list, and determines whether there are duplicate users in both lists. In this example, it is determined that the user A is a user who is duplicated in both lists.
  • the game execution unit 18B displays both screens when a screen requesting the user B to select which group belongs to participate in the game is displayed on the monitor device 10B.
  • An image informing which group the duplicate user belongs to is displayed. The user B who sees this image can easily belong to the same group as the user A by selecting the belonging to the group X.
  • the user A and the user B participating in the system voice chat can easily participate in the network battle type game as friends of the same group.
  • the nickname used by user A to participate in system voice chat (nickname for chat) is different from the nickname used by user A to participate in a competitive game (game nickname).
  • the user A is displayed with the chat nickname in the image informing that the user A belongs to the group X, so that the user B can easily and reliably identify the group to which the user A belongs. Recognize and belong to the same group.
  • ⁇ Modification 2> when a user A and a user B who are participating in the same chat room belong to different groups and participate in a competitive game, one of the users can receive private information regarding the games in the group. There is a possibility that an action (so-called cheat action) provided to the other user using chat is performed. In particular, in a voice conversation in system voice chat, a cheat action is easily performed. In this example, in order to prevent such a cheat action, it is avoided that the user A and the user B participating in the system voice chat belong to different groups and participate in the battle game.
  • user A and user B participating in the same system voice chat belong to different groups and participate in the battle-type game
  • user A and user B are participating in the same system chat room.
  • user B participates in a battle game in which user A has already participated and belongs to a group different from user A (first case)
  • user A and user B have the same battle game.
  • the game execution unit 18B starts from the time when the competitive game is activated until the time when it determines which group the competitive game belongs to. It is detected at a predetermined time whether or not the chat execution unit 13B is being activated. When it is detected that the chat execution unit 13B is being activated, the game execution unit 18B requests the chat execution unit to provide a chat participant list for system voice chat to the 13B.
  • the chat execution unit 13B that has received a request to provide a chat participant list from the game execution unit 18B determines whether there is a system voice chat that the user B is currently participating in, and there is a system voice chat that is participating. When doing so, the chat participant list is provided to the game execution unit 18B. On the other hand, when there is no system voice chat in which user B is currently participating, chat execution unit 13B notifies game execution unit 18B that there is no chat participant list.
  • the game execution unit 18B that has received the chat participant list collates the game participant list with the chat participant list, and determines whether there are duplicate users in both lists. In this example, it is determined that the user A is a user who is duplicated in both lists.
  • the game execution unit 18B displays the screen requesting the user B to select which group belongs to participate in the game on the monitor device 10B.
  • a selection screen for causing the user B to select whether or not to leave the system voice chat room in which (user A) participates is displayed on the monitor device 10B.
  • this selection screen for example, there is a sentence that identifies a duplicate user and a group to which the user belongs, such as “user A belongs to group X, so a group other than group X cannot be selected”. included.
  • the chat execution unit 13B executes the exit process from the system voice chat room, and the game execution unit 18B Are displayed on the monitor device 10B as groups to which the user can belong, and the user B arbitrarily selects a group desired to belong from among all the groups.
  • the game execution unit 18B causes the monitor device 10B to display only the group X as a group to which the user A belongs, and allows the user B to Only the selection of group X is allowed.
  • the chat execution unit 13B detects whether or not the game execution unit 18B is activated when leaving the room or joining a new chat room. When it is detected that the game execution unit 18B is being activated, the chat execution unit 13B notifies the game execution unit 18B of participation in the chat.
  • the game execution unit 18B that has received the notification of participation in the chat determines whether or not the game being executed is a battle-type game. If the game is a battle-type game, the game execution unit 18B participates in the system voice chat to the chat execution unit 13B. Request to provide a list of users (chat participant list).
  • the chat execution unit 13B that has received a request to provide a chat participant list from the game execution unit 18B determines whether there is a system voice chat in which the user B is currently participating, and the system voice chat in which the user B is participating. Is present, the chat participant list is provided to the game execution unit 18B. On the other hand, when there is no system voice chat in which user B is currently participating, chat execution unit 13B notifies game execution unit 18B that there is no user participation list.
  • the game execution unit 18B that has received the chat participant list collates the already acquired game participant list with the chat participant list, and other users (users other than the user B) who are duplicated in both lists It is determined whether or not the duplicate user exists and belongs to a group other than the group to which user B belongs. In this example, it is determined that user A is a duplicate user in both lists, and user A belongs to a group (group X) other than the group (group Y) to which user B belongs. When there is no overlapping user and when all the overlapping users belong to the group to which the user B belongs, the game execution unit 18 advances the game process as it is without interruption.
  • game execution unit 18 Displays a selection screen for requesting the user B to select one of the game end, the game end, or the exit from the system voice chat room in which another user (user A) is participating. And displayed on the monitor device 10B.
  • the game execution unit 18 ends the interrupted game process.
  • the chat execution unit 13B executes the exit process from the system voice chat room, and the game execution unit 18B resumes the interrupted game process.
  • chat execution unit 13B may execute the exit processing from the system voice chat room in which the user A participates, or the game execution unit 18B may execute the belonging to the same group as the user A.
  • the chat execution unit 13B may execute the exit processing from the system voice chat room, or the game execution unit 18B may end the game.
  • ⁇ Modification 3> user A and user B participate in the same system voice chat and participate in a competitive game belonging to different groups, on condition that they are made public to all participating users. By allowing, cheating is prevented.
  • the game execution unit 18 creates a game participant list in which the duplicate users (user A and user B) are associated with each other.
  • the game execution unit 18 of each client device 1 refers to the received participant list and displays the user A and the user B in association with each other in the player list on the game screen displayed on the monitor device 10 (for example, the user A's The same mark is displayed on the nickname and the nickname of user B).
  • ⁇ Modification 4> In the second modification, cheating is prevented by leaving the system voice chat room or prohibiting participation in the system voice chat room, but in this example, instead of this, voice data transmission / reception in the system voice chat is performed. Prevent cheating by banning.
  • the game execution unit 18B determines that the duplicate user (user A) is participating in the system voice chat room. Display a selection screen for allowing the user B to select whether or not to prohibit transmission / reception of voice data in the monitor device 10B, and prohibit transmission / reception of voice data in the system voice chat room in which the user A participates Is selected by the user B, the chat execution unit 13B prohibits transmission / reception of voice data in the system voice chat room, and the game execution unit 18B sets the monitor device 10B as a group to which all groups including the group X can belong. And user B belongs to all groups. Arbitrarily select the group you want to Nozomu.
  • the game execution unit 18B displays only the group X as a group to which the group A can belong on the monitor device 10B. The user B is only allowed to select the group X.
  • the game execution unit 18B temporarily suspends the game process and ends the game or prohibits transmission / reception of audio data in the system voice chat room in which another user (user A) is participating. Then, a selection screen for requesting the user B to select one is displayed on the monitor device 10B. When the user B selects the end of the game, the game execution unit 18 ends the interrupted game process. Further, when the user B selects prohibition of transmission / reception of voice data in the system voice chat room, the chat execution unit 13B prohibits transmission / reception of voice data in the system voice chat room, and the game execution unit 18B is suspended. Resume game processing.
  • the chat execution unit 13 provides the chat participant list to the game execution unit 18 for the system voice chat room, but the same processing is performed for the text chat room. Also good.
  • the present invention can be suitably used for a chat system using message data.
  • SYMBOLS 1 Client apparatus (information processing apparatus), 2 ... Server apparatus, 10 ... Monitor apparatus, 13 ... Chat execution part, 14 ... Display control part, 15 ... Memory

Landscapes

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

Abstract

 マッチングサーバ3は、クライアント装置から受信した参加要求情報によって特定されるチャットルームがルーム記憶領域230aに登録されているとき、そのクライアント装置をそのチャットルームに関連付けて登録し、参加要求情報によって特定されるチャットルームが登録されていないとき、そのクライアント装置とチャットルームとを相互に関連付けてルーム記憶領域230aに新規に登録し、クライアント装置から受信した退室要求情報によって特定されるチャットルームがルーム記憶領域230aに登録されているとき、そのチャットルームに対するクライアント装置の登録を抹消し、登録されているチャットルームに対してクライアント装置が全く登録されていないとき、そのチャットルームの登録を抹消する。

Description

チャットシステム、サーバ装置、チャット方法、チャット実行プログラム、チャット実行プログラムが記憶された記憶媒体、情報処理装置、画像表示方法、画像処理プログラム、画像処理プログラムが記憶された記憶媒体
 本発明は、チャットシステム、サーバ装置、チャット方法、チャット実行プログラム、チャット実行プログラムが記憶された記憶媒体、情報処理装置、画像表示方法、画像処理プログラム、画像処理プログラムが記憶された記憶媒体に関する。
 一般的なテキストチャットシステムでは、クライアント端末が利用するチャット文章等は、チャットログデータとしてサーバのデータベースに記憶され管理される。
特開2003-178016号公報
 しかし、クライアント端末が利用するチャット文章等をサーバのデータベースに記憶して管理する構成では、ユーザが長期間継続して全く参加しないインアクティブなチャットルームが累積的に増加し易く、データベースの残容量を圧迫してしまう可能性がある。
 また、上記一般的なテキストチャットシステムでは、クライアント端末が利用するチャットルームやチャットログデータがサーバによって管理されるため、クライアント端末は、自己が参加可能なチャットルームを一元的に管理することができない。
 本発明は、サーバ装置の記憶容量を効率的に利用可能なチャットシステムの提供を第1の目的とする。
 また、本発明は、自己が参加可能なチャットルームをクライアント装置側で一元的に管理することが可能なチャットシステムの提供を第2の目的とする。
 本発明の第1の態様は、複数の情報処理装置とサーバ装置とがネットワークを介してメッセージデータを送受信可能に接続されたチャットシステムである。
 情報処理装置は、要求情報生成手段と端末側送受信手段とを備える。
 要求情報生成手段は、一つのチャットルームを特定可能な参加要求情報を、チャットシステムへのユーザからの参加要求に応じて生成し、一つのチャットルームを特定可能な退室要求情報を、ユーザからの退室要求に応じて生成する。端末側送受信手段は、参加要求情報の生成に応じて参加要求情報を送信し、退室要求情報の生成に応じて退室要求情報を送信する。
 サーバ装置は、サーバ側受信手段とサーバ側記憶手段と登録制御手段とチャット制御手段と登録抹消手段とを備える。
 サーバ側送受手段は、参加要求情報と退室要求情報とをそれぞれ受信する。サーバ側記憶手段には、情報処理装置とチャットルームとを相互に関連付けて登録可能である。
 登録制御手段は、受信した参加要求情報によって特定される一つのチャットルームがサーバ側記憶手段に登録されているとき、情報処理装置をチャットルームに関連付けてサーバ側記憶手段に登録し、受信した参加要求情報によって特定される一つのチャットルームがサーバ側記憶手段に登録されていないとき、情報処理装置とチャットルームとを相互に関連付けてサーバ側記憶手段に登録する。
 チャット制御手段は、一つのチャットルームに対して関連付けて登録された複数の情報処理装置間において、メッセージデータの送受信によるチャットの実行を制御する。
 登録抹消手段は、端末側送受信手段が退室要求情報を受信したとき、退室要求情報によって特定される一つのチャットルームに関連付けられた情報処理装置の登録を抹消し、登録されている一つのチャットルームに対して情報処理装置が全く登録されていないとき、当該一つのチャットルームの登録を抹消する。
 本発明の第2の態様は、情報処理装置とサーバ装置とがネットワークを介してメッセージデータを送受信可能に接続されたチャットシステムの情報処理装置であり、記憶手段と表示制御手段とを備える。
 記憶手段には、チャットシステムにおいて情報処理装置が参加可能なチャットルームを特定するルーム特定情報と、このルーム特定情報に関連付けられたルーム属性情報とが記憶される。
 表示制御手段は、ルーム特定情報とルーム属性情報とが関連付けられていることが視認可能な態様で、ルーム特定情報に対応するルーム対応画像とルーム属性情報とを表示手段に表示する。
 本発明の第1の態様によれば、インアクティブな状態のチャットルームの存在によってサーバ側記憶手段の残容量が不必要に圧迫されてしまうことがないので、サーバ装置の記憶容量を最小限に抑えることができる。
 また、本発明の第2の態様によれば、自己が参加可能なチャットルームを情報処理装置側で一元的に管理することができる。
第1実施形態のチャットシステムの概要を示す図である。 クライアント装置の構成を機能的に示すブロック図である。 クライアント装置の構成の一例を示すブロック図である。 マッチングサーバの構成を機能的に示すブロック図である。 マッチングサーバの構成の一例を示すブロック図である。 第1実施形態のチャットプログラムを示すフローチャートである。 第1実施形態のルーム名入力画面を例示する図である。 第1実施形態の招待者選択画面を例示する図である。 第1実施形態のチャットプログラムを示すフローチャートである。 第1実施形態のルーム選択画面を例示する図である。 第1実施形態のチャットプログラムを示すフローチャートである。 第1実施形態のチャット画面を例示する図である。 第1実施形態のチャット情報報知画面を例示する図である。 第2実施形態のチャット選択画面を例示する図である。 第2実施形態のルーム選択画面を例示する図である。 第2実施形態のチャット画面を例示する図である。 変形例のクライアント装置の構成を機能的に示すブロック図である。
 [チャットシステムの構成]
 図1は、第1実施形態に係るチャットシステムの概要を示す模式図である。チャットシステムSYMは、複数のクライアント装置(情報処理装置)1A,1Bと、サーバ装置2とを備える。サーバ装置2は、複数のマッチングサーバ3A,3B,3Cと、メッセージサーバ4とを含む。各クライアント装置1と各マッチングサーバ3とメッセージサーバ4とは、インターネット30に接続され、インターネット30を介してデータ通信を行う。以下の説明において、これらのクライアント装置1A,1Bの各ユーザを、それぞれユーザA,Bと称する。クライアント装置1A,1Bについて、区別して記載する必要がない場合には、単にクライアント装置1と記載し、各クライアント装置やその各構成要素について区別して記載する必要がある場合には、各々符号の後ろにA,Bを付記する。同様に、マッチングサーバ3A,3B,3Cについても、区別して記載する必要がない場合には、単にマッチングサーバ3と記載し、各マッチングサーバやその各構成要素について区別して記載する必要がある場合には、各々符号の後ろにA,B,Cを付記する。クライアント端末1及びマッチングサーバ3の数は例示であり、上記に限定されるものではない。マッチングサーバ3とメッセージサーバ4とは、一つのサーバ装置2に含まれている必要はなく、個別に設けられていてもよい。
 クライアント装置1は、一つのチャットルームを特定可能な参加要求情報を、チャットシステムSYSへのユーザからの参加要求に応じて生成する。また、チャットルームを特定可能な退室要求情報を、ユーザからの退室要求に応じて生成する。クライアント端末装置1は、参加要求情報の生成に応じて参加要求情報を送信し、退室要求情報の生成に応じて退室要求情報を送信する。
 チャットシステムSYSへのユーザからの参加要求は、チャットルームの開設要求とチャットルームへの入室要求とを含む。この場合、クライアント装置1は、開設要求に応じた参加要求情報として設定要求情報を生成し、入室要求に応じた参加要求情報として入室要求情報を生成する。
 マッチングサーバ3は、参加要求情報と退室要求情報とをそれぞれ受信する。マッチングサーバ3の記憶部17(図4に示す)には、クライアント装置1とチャットルームとが相互に関連付けて登録可能である。
 マッチングサーバ3は、受信した参加要求情報によって特定される一つのチャットルームが記憶部17に登録されているとき、クライアント装置1をそのチャットルームに関連付けて記憶部17に登録する。また、受信した参加要求情報によって特定される一つのチャットルームが記憶部17に登録されていないとき、クライアント装置1とチャットルームとを相互に関連付けて記憶部17に登録する。
 マッチングサーバ3は、クライアント装置1から設定要求情報を受信したときには、クライアント装置1とチャットルームとを相互に関連付けて記憶部17に登録する。クライアント装置1から入室要求情報を受信したときには、受信した入室要求情報によって特定されるチャットルームが記憶部17に登録されているか否かを判定し、当該チャットルームが記憶部17に登録されていると判定した場合は、クライアント装置1を当該チャットルームに関連付けて記憶部17に登録する。当該チャットルームが記憶部17に登録されていないと判定した場合は、クライアント装置1と当該チャットルームとを相互に関連付けて記憶部17に登録する
 マッチングサーバ3は、一つのチャットルームに対して関連付けて登録された複数のクライアント装置1間において、メッセージデータの送受信によるチャットの実行を制御する。
 マッチングサーバ3は、退室要求情報を受信したとき、退室要求情報によって特定される一つのチャットルームに関連付けられたクライアント装置1の登録を抹消する。また、登録されている一つのチャットルームに対してクライアント装置1が全く登録されていないとき、当該一つのチャットルームの登録を抹消する。
 すなわち、各マッチングサーバ3は、後述するチャット管理プログラムを実行することにより、クライアント装置1からの設定要求(参加要求)に応じてチャットルームを開設し、各クライアント装置1からの入室要求(入室要求)に応じてそのクライアント端末1のチャットルームへの入室(参加)を許可し、チャットルームに入室しているクライアント装置1間でのメッセージデータ(テキストデータ)の送受信を中継する。また、マッチングサーバ3は、開設中のチャットルームから全てのクライアント装置1が退室したときに当該チャットルームを消去する。さらに、マッチングサーバ3は、既に消去したチャットルームに対してクライアント装置1から入室要求を受けたときには、そのチャットルームを再度開設する。すなわち、各マッチングサーバ3には、1つ以上のクライアント装置1が入室しているアクティブなチャットルームのみが存在し、クライアント装置1が全く入室していないインアクティブなチャットルームは存在しない。なお、メッセージサーバ4も、クライアント装置1間でのメッセージデータ(テキストデータ)の送受信を中継するが、チャットルームへの入室を条件としていない点でマッチングサーバ3とはその機能が相違する。なお、以下の説明において、マッチングサーバ3に対して送受信するメッセージデータをチャットデータと称して、メッセージサーバ4に対して送受信するメッセージデータと区別する。
 各クライアント装置1には、コントローラ20とモニタ装置10とがそれぞれ接続ケーブル19を介して接続される。コントローラ20は、ユーザによって操作される操作端末であり、ユーザからの操作に応じた操作信号をクライアント装置1に供給する。なお、コントローラ20は、ユーザの操作に応じた操作信号(入力信号)をクライアント装置1に供給可能な入力装置であればよく、キーボードタイプやゲーム用コントローラなど様々な種類のものが適用可能である。
 モニタ装置10は、クライアント装置1から供給された映像信号に基づいて画像を表示する。チャットの開始時(チャットルームへの入室時)には、ルーム選択画面がモニタ装置10に表示される。ルーム選択画面には、ユーザが選択可能なチャットルームを示す画像が配列されて表示される。ユーザがチャットルームに入室してチャットを実行しているときには、そのチャットルームに対応したチャット画面が表示される。チャット画面は、ユーザからの指示に応じて表示状態と非表示状態とに切り替わる。チャット画面が非表示状態であり他の画面が表示されているときに、入室中のチャットルームに対する他のクライアント装置1の入室や退室が行われた場合や、他のクライアント装置1からのチャットデータが送信された場合等には、それらを報知するチャット情報報知画面が上記他の画面上に重ねて表示される。
 <クライアント装置の主要構成>
 次に、図2を参照しながら、クライアント装置の内部構成のうち本発明に関連する主要な構成について説明する。
 クライアント装置1は、通信部80とチャット実行部13と表示制御部14と記憶部15とから構成され、これらはバスを介して接続される。クライアント装置1は、記憶部15に記憶されたチャット実行プログラムに従って、以下の各処理(開設要求処理、入室要求処理、退室要求処理、チャット実行処理、招待送信処理、招待受信処理、ルーム選択画面表示処理、チャット画面表示処理等)を実行する。以下の説明において、ユーザ特定情報とは、クライアント装置1を識別可能な固有の情報であり、記憶部15に記憶されている。ユーザ特定情報としては、例えばクライアント装置1のユーザに対して予め付与された固有のユーザID、クライアント装置1に対して予め付与された装置ID、ユーザのメールアドレスなどが用いられる。
 記憶部15には、友人を登録するためのフレンド管理テーブルが設定されている。フレンド管理テーブルには、チャットシステムSYMを利用可能な他のユーザ(友人)のユーザ特定情報とユーザ属性情報とが、相互に関連付けられて記憶されている。ユーザがコントローラ20を操作して所定の入力を行うことにより、ユーザ特定情報がフレンド管理テーブルに登録される。ユーザ属性情報は、ユーザのメールアドレス、ユーザのニックネーム、ユーザによって選択されたアバターの画像データなどの情報を含む。
 開設要求処理は、チャットルームの新規開設を指示する所定の操作入力をコントローラ20がユーザから受け付け、クライアント装置1がコントローラ20から操作信号(ルーム開設指示信号)を受信することによって実行される。開設要求処理は、サーバ決定処理とルーム情報決定処理とを含む。サーバ決定処理において、チャット実行部13は、予め定められた方法に従ってサーバ選択基礎情報(サーバキー)を決定し、複数のマッチングサーバ3A,3B,3Cのうちチャットルームを開設するマッチングサーバ3を、予め定められた所定の対応関係に従って、上記サーバ選択基礎情報から求めて決定する。ルーム特定情報決定処理において、チャット実行部13は、チャットルームに固有なルーム特定情報(ルームキー)を予め定められた所定の方法に従って決定する。
 チャット実行部13は、自己のユーザ特定情報を含む開設要求情報を生成し、通信部80は、生成された開設要求情報を上記決定したマッチングサーバ3へ送信する。また、チャット実行部13は、上記決定されたルーム特定情報と自己のユーザ特定情報とを含む設定要求情報を生成し、通信部80は、生成された設定要求情報を上記決定したマッチングサーバ3へ送信する。開設要求処理は、開設されたチャットルームのルーム識別情報(ルームID)を通信部80がマッチングサーバ3から受信することによって終了する。
 チャット実行部13は、上記決定されたルーム特定情報とサーバ選択基礎情報とを関連付けて記憶部15に記憶する。また、チャット実行部13は、チャットルームの開設情報を、チャット履歴情報としてルーム特定情報に関連付けて記憶する。チャットルームの開設情報は、チャットルームの開設日時を示す情報を含む。チャットルームの開設日時は、開設要求処理の実行開始時の他、開設要求処理の実行終了時(通信部80がマッチングサーバ3からルーム識別情報を受信した時)など、開設要求処理の実行時期を特定する日時であればよい。開設情報を記憶するタイミングは、開設要求処理の実行終了時が好ましい。なお、日や時刻を示す種々の情報は、クライアント装置1が自己の内部クロックから取得する。
 サーバ選択基礎情報を決定する上記所定の方法とは、固有のサーバ選択基礎情報を決定可能な方法であればよく、例えば、ユーザ特定情報と開設要求処理を開始した時刻とを組み合わせた基礎データから、所定のハッシュ関数を用いてハッシュ値を演算する方法を用いることができる。この場合、演算によって得られたハッシュ値がサーバ選択基礎情報となる。ハッシュ値が演算される基礎データに時刻を組み合わせることにより、同じクライアント装置1において重複したサーバ選択基礎情報が生成されてしまう不都合を最大限に回避することができる。
 チャットルームを開設する一つのマッチングサーバ3を複数のマッチングサーバ3A,3B,3Cから選択して決定する上記所定の対応関係とは、複数のマッチングサーバ3に対してチャットルームが均等に分散して割り振られる関係(マッチングサーバ3にそれぞれ付与された固有のサーバIDの一つと上記決定されたサーバ選択情報とが均等に対応する関係)であればよく、例えば、サーバ基準基礎情報(上記ハッシュ値)から一つのサーバIDがランダムに算出されるように設定されたハッシュ関数を用いることができる。この場合、チャットルームを開設するマッチングサーバ3のサーバIDは、サーバ基準基礎情報のハッシュ値として算出される。
 チャットルームに固有なルーム特定情報を決定する上記所定の方法とは、固有のルーム特定情報を決定可能な方法であればよく、例えば、ユーザ特定情報とサーバIDとを組み合わせた基礎データから、所定のハッシュ関数を用いてハッシュ値を演算する方法を用いることができる。この場合、演算によって得られたハッシュ値がルーム特定情報となる。
 なお、マッチングサーバ3を選択して決定するための上記所定の対応関係は、マッチングサーバ3の数の増減に応じて更新される。例えば、サーバ装置2の管理者等がマッチングサーバ3の数を増減すると、サーバ装置2は、増減後のサーバ数に適合した対応関係(新)を含むサーバ数更新情報を各クライアント装置1へ送信する。サーバ数更新情報を受信したクライアント装置1は、記憶されている対応関係(旧)を、受信した対応関係(新)に書き換える。
 開設要求処理において、チャット実行部13は、開設するチャットルームのルーム名の入力をコントローラ20を介してユーザから受け付け、入力されたルーム名を、ルーム属性情報としてルーム特定情報に関連付けて記憶する。ユーザからルーム名が入力されない場合は、予め設定されたデフォルトのルーム名を記憶する。
 入室要求処理は、チャットルームを指定し入室を指示する所定の操作をコントローラ20がユーザから受け付け、クライアント装置1がコントローラ20から操作信号(入室指示信号)を受信することによって実行される。入室要求処理において、チャット実行部13は、指定されたチャットルームに対応するサーバ選択基礎情報及びルーム特定情報を記憶部15から読み出し、上記開設要求処理の場合と同様に(読み出したサーバ選択基礎情報を用いて上記所定の方法に従って)、チャットルームが開設されたマッチングサーバ3を特定する。
 チャット実行部13は、ユーザ特定情報と上記読み出したルーム特定情報とを含む入室要求情報を生成し、通信部80は、生成された入室要求情報を上記特定したマッチングサーバ3へ送信する。ルーム特定情報は、マッチングサーバ3においてチャットルームを検索するために用いられる。入室要求処理は、自己に対する入室完了情報をマッチングサーバ3から通信部80が受信することによって終了する。
 一方、指定したチャットルームが既に消去されている場合には、マッチングサーバ3においてチャットルームが抽出されず、入室に失敗する。入室に失敗した場合、通信部80は、チャットルームへの入室に失敗した旨を示す入室失敗情報をマッチングサーバ3から受信する。通信部80が入室失敗情報を受信すると、上記開設要求処理に移行する。すなわち、チャット実行部13は、自己のユーザ特定情報を含む開設要求情報と、上記指定したチャットルームのルーム特定情報と自己のユーザ特定情報とを含む設定要求情報とを生成し、通信部80は、生成された開設要求情報及び設定要求情報を、上記入室要求情報を送信したマッチングサーバ3へ送信する。
 チャット実行部13は、チャットルームに入室したことを示す入室情報(自己の入室情報)を、チャット履歴情報としてルーム特定情報に関連付けて記憶する。自己の入室情報は、チャットルームへの入室日時を示す情報を含む。チャットルームへの入室日時は、入室要求処理の実行開始時の他、入室要求処理の実行終了時(通信部80がマッチングサーバ3から自己の入室完了情報を受信した時)など、チャットルームへの入室時期を特定する日時であればよい。自己の入室情報を記憶するタイミングは、入室要求処理の実行終了時が好ましい。
 また、本実施形態では、開設要求処理が終了すると、ユーザからの操作入力を要件とせずに入室要求処理が実行される。なお、この場合、開設要求処理においてチャットルームが既に特定されているため、マッチングサーバ3及びチャットルームを特定するための上記処理は省略可能である。また、入室要求処理は、複数のチャットルームに対してそれぞれ独立して実行される処理であり、クライアント装置1は、一のチャットルームへの入室を維持したままで、他のチャットルームに入室することができる。
 退室要求処理は、チャットルームを指定し退室を指示する所定の操作をコントローラ20がユーザから受け付け、クライアント装置1がコントローラ20から操作信号(退室指示信号)を受信することによって実行される。退室要求処理において、チャット実行部13は、ユーザ特定情報及びサーバIDを含む退室要求情報を生成し、通信部80は、生成された退室要求情報をマッチングサーバ3へ送信する。退室要求処理は、自己に対する退室完了情報をマッチングサーバ3から通信部80が受信することによって終了する。
 チャット実行部13は、チャットルームから退室したことを示す退室情報(自己の退室情報)を、チャット履歴情報としてルーム特定情報に関連付けて記憶する。自己の退室情報は、チャットルームからの退室日時を示す情報を含む。チャットルームからの退室日時及び退室情報を記憶するタイミングは、退室要求処理の実行開始時の他、退室要求処理の実行終了時や、通信部80がマッチングサーバ3から自己の退室完了情報を受信した時など、チャットルームからの退室時期を特定する日時であればよい。
 チャット実行処理は、チャットルームに入室している間(入室要求処理の終了から退室要求処理の終了までの間)、継続して実行される。チャット実行処理において、チャット実行部13は、コントローラ20からの操作信号に基づいてチャットデータを生成する。チャット実行部13は、コントローラ20を介したユーザからの送信指示に応じて、上記生成したチャットデータとユーザ特定情報とを含む送信データを生成し、通信部80は、入室中のチャットルームのうちユーザから指定されたチャットルーム(マッチングサーバ3)に対して、上記生成された送信データを送信する。
 通信部80は、チャットルームへの他のクライアント装置1の入室を示す他人の入室完了情報、チャットルームからの他のクライアント装置1の退室を示す他人の退室完了情報、又はマッチングサーバ3から送信されたチャットデータ(受信チャットデータ)と、それぞれの実行主体を示すクライアント装置1のユーザ特定情報とを含む受信データを、マッチングサーバ3から受信する。
 チャット実行部13は、通信部80が受信した他人の入室完了情報、他人の退室完了情報、及び受信チャットデータを示す受信メッセージ情報と、それぞれに対応するユーザ特定情報とを、チャット履歴情報としてルーム特定情報に関連付けて記憶する。記憶される他人の入室完了情報、他人の退室完了情報、及び受信メッセージ情報は、その受信日時を示す情報をそれぞれ含む。
 招待送信処理は、他のユーザ(他のクライアント装置1)をチャットルームに招待するための所定の操作をコントローラ20がユーザから受け付け、クライアント装置1がコントローラ20から操作信号(招待指示信号)を受信することによって実行される。招待送信処理において、チャット実行部13は、ユーザから指定されたチャットルーム(ルーム特定情報)に関連付けられたサーバ選択基礎情報とルーム特定情報とルーム属性情報とを記憶部15から読み出し、チャットルームへ招待する旨を示すメッセージデータ、自己のユーザ特定情報、サーバ選択基礎情報、ルーム特定情報、及びルーム属性情報を含む招待情報を生成する。通信部80は、生成された招待情報を、上記指定した他のクライアント装置1に対してメッセージサーバ4を介して送信する。なお、招待情報を送信した他のクライアント装置1のユーザ特定情報を、ルーム属性情報又はチャット履歴情報としてルーム特定情報に関連付けて記憶してもよい。
 招待受信処理は、通信部80がメッセージサーバ4を介して他のクライアント装置1から招待情報を受信することによって実行される。招待受信処理において、チャット実行部13は、通信部80が受信した招待情報に含まれているサーバ選択基礎情報とルーム特定情報とユーザ特定情報とルーム属性情報とを相互に関連付けて、記憶部15に記憶する。ユーザ特定情報は、ルーム属性情報として記憶される。
 ルーム選択画面表示処理は、ルーム選択画面の表示を指示する所定の操作をコントローラ20がユーザから受け付けることによって実行される。ルーム選択画面表示処理において、表示制御部14は、ルーム選択画面をモニタ装置10に表示する。ルーム選択画面には、ユーザが選択可能なチャットルームを示す画像(ルーム対応画像)が配列されて表示される。各ルーム対応画像は、各チャットルーム(ルーム特定情報)に関連付けて記憶されたチャット履歴情報及びルーム属性情報のうち少なくとも一つの情報を含む。ユーザがコントローラ20を操作し、一つのチャットルーム(表示されたルーム対応画像の中の一つ)を選択して指定すると、指定したチャットルームに対する上記入室要求処理が実行される。
 チャット画面表示処理は、ルーム選択画面が表示された状態で一つのチャットルームが選択され指定されることによって実行される。チャット画面表示処理において、表示制御部14は、チャット画面をモニタ装置10に表示する。チャット画面には、指定されたチャットルームに関連付けて記憶されたチャット履歴情報のうち最新の情報(日時が遅い情報)を含む少なくとも一部の情報と、ルーム属性情報のうち少なくともルーム名を含む一部の情報とが表示される。チャット履歴情報は、最新の情報から時系列に並べて表示される。
 表示制御部14は、コントローラ20を介したユーザからの指示に応じて、チャット画面を表示状態と非表示状態とに切り替える。非表示状態が指示されると、チャット画面表示処理が一時的に中断され、チャット画面は表示されない。但し、チャット画面表示処理の終了ではなく一時的な中断であるため、表示状態への切り替え指示を受けると即時にチャット画面が表示される。
 チャット画面が非表示状態に設定されて他の画面が表示されているときに、入室中のチャットルームのルーム属性情報が追加されると(ルーム属性情報がルーム特定情報に関連付けて新たに記憶されると)、表示制御部14は、追加されたルーム属性情報を報知するチャット情報報知画面を、上記他の画面上に重ねて表示する。
 チャット画面表示処理は、上記退室要求処理の終了(チャットルームからの退室)によって終了する。
 <クライアント装置の例示>
 次に、図3を参照しながら、上記図2の構成が実装されたクライアント装置1の一例について説明する。
 クライアント装置1は、中央演算処理装置(CPU:Central Processing Unit)41及びその周辺装置等からなる制御系40と、HDD(Hard Disc Drive)45と、フレームバッファ53に描画を行う画像処理装置(GPU:Graphics Processing Unit)52等からなるグラフィックシステム50と、楽音、効果音等を発生する音声処理装置(SPU:Sound Processing Unit)61等からなるサウンドシステム60と、アプリケーションプログラムが記録されている光ディスクの制御を行う光ディスク制御部70と、通信部80と、インターフェース部90と、上記の各部が接続されているバス等を備えて構成されている。CPU41はチャット実行部13及び表示制御部14として機能し、グラフィックシステム50は表示制御部14として機能する。
 制御系40は、CPU41と、割り込み制御やダイレクトメモリアクセス(DMA:Direct Memory Access)転送の制御等を行う周辺装置制御部42と、RAM(Random Access Memory)からなるメインメモリ43と、ROM(Read Only Memory)44とを備えている。メインメモリ43は記憶部15として機能する。
 ROM44には、クライアント装置1の各部を制御するためのオペレーティングシステム等のプログラムや、各種機能を実現させるためのアプリケーションプログラムが記憶されている。CPU41は、ROM44に記憶されているオペレーティングシステムをメインメモリ43に読み出し、読み出したオペレーティングシステムを実行することにより、このクライアント装置1の全体を制御する。
 HDD45には、各種データや、チャットを実現させるためのプログラム(チャット実行プログラム)などの各種アプリケーションプログラムが記憶されている。CPU41は、HDD45に記憶されているチャット実行プログラムをメインメモリ43に読み出し、読み出したチャット実行プログラムを実行する。
 サウンドシステム60は、制御系40の制御の下、音声信号を制御するSPU61と、音声再生の際の波形データ等が記録されるサウンドバッファ62と、SPU61によって発生される楽音、効果音等を出力するスピーカ63とを備えている。サウンドシステム60には、マイクロフォン12から入力された音声信号とボイス・ディテクト値とが入力される。サウンドシステム60は、入力された音声信号をデジタル変換し、音声コーデックにより符号化して通信部80に供給する。また、サウンドシステム60には、インターネット30を介して取得された音声データが、通信部80から供給される。サウンドシステム60は、当該音声データを音声コーデックにより復号し、アナログ変換して波形データを生成し、これをサウンドバッファ62に記録し、これをスピーカ63に供給する。
 光ディスク制御部70は、光ディスクに記録されたプログラムやデータ等を再生する光ディスク装置71と、例えばエラー訂正符号(ECC:Error Correction Code)が付加されて記録されているプログラム、データ等を復号するデコーダ72と、光ディスク装置71からのデータを一時的に記憶することにより、光ディスクからのデータの読み出しを高速化するバッファ73とを備えている。上記のデコーダ72には、サブCPU74が接続されている。
 インターフェース部90は、パラレルI/Oインターフェース(PIO)91と、シリアルI/Oインターフェース(SIO)92とを備えている。これらは、図示しないメモリカードとクライアント装置1とを接続するためのインターフェースである。
 グラフィックシステム50は、ジオメトリトランスファエンジン(GTE:Geometry Transfer Engine)51と、GPU52と、フレームバッファ53と、画像エンコーダ・デコーダ54とを備えている。このグラフィックシステム50には、制御系40がHDD45から読み出した画像データやビデオカメラ11からの映像信号が供給される。
 GTE51は、例えば複数の演算を並列に実行する並列演算機構を備え、上記CPU41からの演算要求に応じて座標変換、光源計算、行列あるいはベクトルなどの演算を高速に行う。そして、制御系40は、GTE51による演算結果に基づいて三角形や四角形などの基本的な単位図形(ポリゴン)の組み合わせとして3次元モデルを定義して3次元画像を描画するための各ポリゴンに対応する描画命令をGPU52に送る。
 GPU52は、制御系40からの描画命令に従って、フレームバッファ53に対して多角形(ポリゴン)等の描画を行う。フレームバッファ53は、GPU52により描画された画像を記憶する。このフレームバッファ53は、いわゆるデュアルポートRAMからなり、GPU52からの描画あるいはメインメモリ43からの転送と、表示のための読み出しとを同時に行うことができる。また、このフレームバッファ53には、ビデオ出力として出力される表示領域の他に、GPU52がポリゴン等の描画を行う際に参照するカラールックアップテーブル(CLUT:Color Lock Up Table)が記憶されるCLUT領域と、描画時に座標変換されてGPU52によって描画されるポリゴン等の中に挿入(マッピング)される素材(テクスチャ)が記憶されるテクスチャ領域が設けられている。これらのCLUT領域とテクスチャ領域は、表示領域の変更等に従って動的に変更される。
 画像エンコーダ・デコーダ54は、上記の制御系40からの制御により、静止画あるいは動画の画像の符号化及び復号化や、デジタル変換及びアナログ変換などの各種処理を行う。
 通信部80は、制御系40の制御の下、インターネット30を介して、サーバ装置2を含む他の情報処理装置とのデータ通信を制御する。
 <マッチングサーバの主要構成>
 次に、図4を参照しながら、マッチングサーバ3の内部構成のうち本発明に関連する主要な構成について説明する。
 マッチングサーバ3は、通信部240とチャット管理部16と記憶部17とから構成され、これらはバスを介して接続される。マッチングサーバ3は、記憶部17に記憶されたチャット管理プログラムに従って、以下の各処理(ルーム開設処理、入室処理、退室処理、チャット管理処理)を実行する。記憶部17には、ルーム情報記憶領域230aが設けられている。このルーム情報記憶領域230aは、ルーム特定情報とルーム識別情報とユーザ特定情報と少なくとも最新のチャットデータとが相互に関連付けられて記憶される領域である。本実施形態のルーム情報記憶領域230aは、各情報が登録されることによって相互に関連付けられるルーム情報登録テーブルによって構成されている。なお、クライアント装置1から受信する各情報に含まれるユーザ特定情報が送信先のアドレス情報として機能しない場合、記憶部17には、ユーザ特定情報と送信先のアドレス情報との対応関係が記憶されたアドレステーブルが予め設定され、マッチングサーバ3は、送信先のユーザ特定情報に対応するアドレス情報をアドレステーブルから読み出すことによって、クライアント装置1に対する送信処理を実行する。
 ルーム開設処理は、通信部240がクライアント装置1から開設要求情報及び設定要求情報を受信することによって実行される。ルーム開設処理において、チャット管理部16は、通信部240が受信した開設要求情報に応じてチャットルームを開設する。このチャットルームの開設とは、ルーム情報登録テーブルに新規のチャットルームのための記憶領域を設定することである。チャットルームを開設すると、ルーム情報登録テーブルの上記設定した記憶領域に、通信部240が受信したルーム特定情報を登録する。このルーム特定情報の登録に際して、チャット管理部16は、生成したチャットルームをマッチングサーバ3内で識別するためのルーム特定情報をルーム識別情報に関連付けて登録し、通信部240は、上記開設要求を行ったクライアント装置1に対してルーム識別情報を送信する。チャットルームに入室中のクライアント装置1は、マッチングサーバ3内におけるチャットルームの宛先としてルーム識別情報を用いる。
 入室処理は、通信部240がクライアント装置1から入室要求情報を受信することによって実行される。入室処理において、チャット管理部16は、通信部240が受信したルーム特定情報がルーム情報登録テーブルに登録されているか否かを検索する(存在するか否かを判定する)。ルーム特定情報が登録されている場合(ルーム特定情報を抽出した場合)、チャット管理部16は、通信部240が受信したユーザ特定情報を、抽出したルーム特定情報に対応付けてルーム情報登録テーブルに登録する。ユーザ特定情報の登録によって、クライアント装置1がチャットルームに入室した状態となる。チャット管理部16は、入室完了情報を生成し、通信部240は、生成された入室完了情報を、そのチャットルームに関連付けて登録されている全てのクライアント装置1(入室要求を行ったクライアント装置1を含む)に対して送信する。
 一方、ルーム特定情報が登録されてない場合(ルーム特定情報を抽出できなかった場合)、チャット管理部16は、入室失敗情報を生成し、通信部240は、生成された入室失敗情報をクライアント装置1へ送信する。続いて、通信部240はクライアント装置1から開設要求情報及び設定要求情報を受信し、チャット管理部16は、上記ルーム開設処理を実行する。
 退室処理は、通信部240がクライアント装置1から退室要求情報を受信することによって実行される。退室処理において、チャット管理部16は、退室要求情報に含まれたルームIDに関連付けられているユーザ特定情報の中から、受信したユーザ特定情報を抽出して消去する。ユーザ特定情報の消去によって、クライアント装置1がチャットルームから退室した状態となる。チャット管理部16は、退室完了情報を生成し、通信部240は、生成された退室完了情報を、そのチャットルームに関連付けて登録されている全てのクライアント装置1(退室要求を行ったクライアント装置1を含む)に対して送信する。
 また、チャットルームから全てのクライアント装置1が退室すると(登録されたルーム特定情報に関連付けられたユーザ特定情報が全て消去されると)、チャット管理部16は、そのチャットルーム(ルーム特定情報)に関する全ての情報(ルーム特定情報とこれに関連付けて記憶された全てのデータ)を、ルーム情報登録テーブルから消去する。関連する全ての情報の消去によって、チャットルームが消去された状態となる。
 チャット管理処理は、ルーム情報登録テーブルにルーム特定情報が登録されている間(チャットルームに入室中のクライアント装置1が存在している間)、継続して実行される。チャット管理処理において、そのチャットルームに対応するルーム特定情報を含む送信データを通信部240がクライアント装置1から受信すると、チャット管理部16は、通信部240が受信したルーム特定情報に関連付けられて登録されたユーザ特定情報に関連付けられた全てのクライアント装置1に対して、上記送信データを送信する。なお、チャット管理部16は、上記受信した送信データをそのまま転送せず、送信データに含まれるメッセージデータに不適切な表現や文章が含まれていないか否かを判定し、不適切な表現や文章が含まれていると判定した場合には、該当する部分を無関係な文字や記号(例えばxなど)に置換して、クライアント装置1に送信してもよい。
 <マッチングサーバの例示>
 次に、図5を参照しながら、上記図4の構成が実装されたマッチングサーバ3の一例について説明する。
 マッチングサーバ3は、CPU200、ROM210、RAM220、HDD(Hard Disc Drive)230、通信部240等から構成され、これらはバスを介して接続される。CPU200は、チャット管理部16として機能し、RAM220及びHDD230は記憶部15として機能する。
 ROM210には、サーバ装置2の各部を制御するためのオペレーティングシステムや各種プログラムが記憶されている。CPU200は、サーバ装置2の起動時にROM210に記憶されているオペレーティングシステムをRAM210に読み出し、読み出したオペレーティングシステムを実行することにより、サーバ装置2の各部の動作を制御する。
 HDD230には、各種データや、チャットを実現させるためのプログラム(チャット管理プログラム)などの各種アプリケーションプログラムが記憶されている。CPU200は、HDD230に記憶されているチャット管理プログラムをRAM220に読み出し、読み出したチャット管理プログラムを実行する。
 通信部240は、CPU200の制御の下、インターネット30を介したデータ通信を制御する。
 <メッセージサーバの構成>
 メッセージサーバ4は、CPUと、ROMと、RAMと、HDD(Hard Disc Drive)と、通信部、バス等を有し、基本的な構成はマッチングサーバ3と同様であるため、その詳しい説明は省略する。
 [動作]
 次に、チャットシステムSYSにおいて実行される動作の一例を説明する。
 クライアント装置1では、図示しない電源が投入され、ROM44に記憶されたオペレーティングシステムなどのプログラムがCPU41によってメインメモリ43に読み出されて実行され、ユーザによってそれぞれ指示が入力されることにより、ROM44や光ディスク装置71に装着された光ディスクからメインメモリ43に読み出された各種プログラムがCPU41によって実行され、上述の構成欄で述べた各種機能が実現される。
 マッチングサーバ3では、図示しない電源が投入され、ROM210に記憶されたオペレーティングシステムなどの各種プログラムがCPU200によってRAM220に読み出されて実行されることにより、上述の構成欄で述べた各種機能が実現される。なお、メッセージサーバについても同様である。
 チャットシステムSYSを利用してチャットを開始する場合、ユーザは、(1)自分でチャットルームを開設して他のユーザを招待すること、及び(2)他人から招待されたチャットルームに入室することが可能である。
 以下の説明は、クライアント装置1AのユーザAがチャットルームを開設し、そのチャットルームにクライアント装置1BのユーザBを招待する場合、及び招待されたユーザBがチャットルームに入室(チャットに参加)する場合の動作であり、各種設定は、以下のとおりである。ユーザ特定情報は、ユーザIDである。サーバキー(サーバ選択基礎情報)は、ユーザIDと開設要求処理の開始時刻との組み合わせから算出したハッシュ値である。チャットルームを開設するマッチングサーバ3のサーバIDは、サーバキーのハッシュ値として算出される。ルームキー(ルーム特定情報)は、時刻(例えば、上記開設要求処理の開始時刻)とマッチングサーバ3から受信したルームIDとの組み合わせである。
 <チャットルームの開設・友人の招待>
 ユーザAがチャットルームRAを新規に開設する場合のクライアント装置1A及びマッチングサーバ3の動作を、図6~図9を参照して説明する。
 図6に示すように、ユーザAがコントローラ20Aを操作してチャットルームRAの新規開設を指示する所定の入力を行い、クライアント装置1Aがコントローラ20Aからルーム開設指示信号を受信すると(ステップS10)、クライアント装置1Aが開設要求処理を開始する。
 開設要求処理では、クライアント装置1Aの内部クロックからルーム開設指示信号の受信時刻Taを取得し、記憶部15AからユーザAのユーザID(A)を読み出し、ユーザID(A)の文字列と時刻Taの文字列とを連結することによって基礎データ(ユーザID(A) Ta)を生成し、予め設定されたハッシュ関数(hashA)を用いて、基礎データ(ユーザID(A) Ta)からハッシュ値(hashA(ユーザID(A) Ta))を演算する(ステップS11)。このハッシュ値(hashA(ユーザID(A) Ta))は、複数のマッチングサーバ3から一つのマッチングサーバ3を偏り無く選択する際に使用可能なサーバキーSKaとして機能する。
 次に、予め設定されたハッシュ関数(hashB)を用いて、サーバキーSKaのハッシュ値(hashB(SKa))を演算する(ステップS12)。このハッシュ値(hashB(SKa))は、複数のマッチングサーバ3から偏り無く選択された一つのマッチングサーバ3のサーバIDである。この例では、算出されたサーバID(A)がマッチングサーバ3AのサーバIDであり、マッチングサーバ3Aが選択されたとする。
 次に、ユーザID(A)を含む開設要求情報をマッチングサーバ3Aへ送信する(ステップS13)。
 マッチングサーバ3Aは、開設要求情報の受信に応じて(ステップS20)、ルーム開設処理を実行する(ステップS21)。ルーム開設処理では、ルームIDを生成し、生成したルームIDをルーム情報登録テーブルに新規に登録する。マッチングサーバ3Aは、生成したルームIDを、クライアント装置1Aへ送信する(ステップS22)。この際、クライアント装置1A側において上記開設要求情報に対応したルームIDであることが判別可能なように、ルームIDを受信した開設要求情報に対応付けた状態で送信する。
 ルームIDを受信したクライアント装置1Aは、受信したルームIDと時刻とを組み合わせることにより、チャットルームRAに固有なルームキーRKaを設定する(ステップS15)。
 次に、ルームキーRKa及びルームIDを含む設定要求情報をマッチングサーバ3Aへ送信する(ステップS15)。
 マッチングサーバ3Aは、設定要求情報を受信すると(ステップS16)、受信した設定要求情報に含まれるルームキーRKaを、開設したチャットルームRA(受信した設定要求情報に含まれるルームID)に関連付けてルーム情報登録テーブルに登録する(ステップS17)。これにより、マッチングサーバ3AにおけるチャットルームRAの開設(上記開設処理及び登録処理)が完了し、マッチングサーバ3Aは、開設完了情報を生成してルームIDに関連付けてクライアント装置1Aに送信する(ステップS18)。
 クライアント装置1Aは、開設完了情報の受信により開設要求処理を終了する(ステップS19)。
 クライアント装置1Aは、開設要求処理に続いて入室要求処理を実行し、チャットルームRAへ入室する。なお、入出要求処理の詳細については後述する。
 クライアント装置1Aは、ステップS11で算出したサーバキーSKaとステップS14で設定したルームキーRKaとを、相互に関連付けて記憶部15に記憶する。また、チャットルームRAの開設日時を示す情報をルームキーRKaに関連付けて記憶する。
 また、開設要求処理において、クライアント装置1Aは、例えば図7に示すように、チャットルームRAのルーム名入力画面100をモニタ装置10Aに表示させる。ルーム名入力画面100には、「チャットルーム名を入力してください」などの文章101と、ルーム名入力欄102と、確定アイコン103とが表示される。ユーザAがコントローラ10Aを操作してルーム入力欄102にカーソルを設定してルーム名を入力し、確定アイコン103にカーソルを移動させて所定のYESボタンを押すと、クライアント装置1Aは、入力されたルーム名をルームキーRKaに関連付けて記憶する。なお、ユーザAがルーム名を入力せずに、確定アイコン103にカーソルを設定してYESボタンを押すと、クライアント装置1Aはデフォルトのルーム名を記憶する。
 ルーム名の入力が完了すると、クライアント装置1Aは、モニタ装置10Aの表示を、ルーム名入力画面100から、例えば図8に示すような招待者選択画面110に切り替える。招待者選択画面110には、「招待する友人を選んでください」などの文章111と、友人として登録された各ユーザのニックネーム(はな子、タロー、次郎、ポチなど)112と、各ユーザのアバター113と、選択の有無を入力するチェックボックス114と、選択された合計人数を示す人数表示欄115と、確定アイコン116とが表示される。ニックネーム112とアバター113とは、記憶部15Aのフレンド管理テーブルから読み出され、各ユーザ毎に横並びに配置される。チェックボックス114は、ユーザに対して1つずつ設けられ、デフォルトは矩形枠状(中抜き)の非選択表示である。ユーザAがコントローラ10Aを操作してカーソルを上下に移動させ、所望のユーザにカーソルを設定してYESボタンを押すと、対応するチェックボックス114の表示が切り替わる。非選択表示の場合には、選択表示(例えば、塗り潰された状態)に切り替わり、選択表示の場合には、非選択表示に切り替わる。人数表示欄115には、招待者として選択しているユーザの数が、各チェックボックス114の選択/非選択の切り替えに応じて増減して表示される。図8は、ニックネーム「タロー」のみが選択され、「人数表示欄」の「1」の数字が表示された状態を示している。ユーザAがチャットルームRAに招待したい1人以上のユーザを選択し(対応するチェックボックス114を選択態様に変更し)、確定アイコン1116にカーソルを設定してYESボタンを押すと、コントローラ20Aからクライアント装置1Aへ招待指示信号が送信される。招待指示信号を受信したクライアント装置1Aは、招待状の送信指示があったと判断し、招待対象のユーザを確定させて、招待送信処理を開始する。この例では、ユーザBが招待対象として確定したとする。
 招待送信処理を開始すると、クライアント装置1Aは、図9に示すように、ユーザAから指定されたチャットルーム(ルーム特定情報)に関連付けられたサーバキー、ルームキー、及びルーム名を記憶部15から読み出す(ステップS30)。チャットルーム開設時の招待発信処理では、開設を要求しているチャットルームRAがユーザAから指定されたチャットルームとなり、サーバキーSKa(図6のステップS11)とルームキーRKa(図6のステップS14)及び入力されたルーム名を読み出す。
 次に、クライアント装置1Aは、チャットルームRAへ招待する旨を示すメッセージデータ、自己のユーザID(A)、読み出したサーバキーSKaとルームキーRKaとルーム名を含む招待情報を生成し、生成した招待情報を、クライアント装置1Bを宛先としてメッセージサーバ4へ送信する(ステップS31)。
 メッセージサーバ4は、クライアント装置1Aから招待情報を受信すると、これをクライアント装置1Bへ送信する(ステップS32)。
 クライアント装置1Bは、招待情報を受信し(ステップS33)、招待受信処理を実行する。すなわち、受信した招待情報に含まれているサーバキーSKaとルームキーRKaとユーザID(A)とルーム名とを相互に関連付けて、記憶部15Bに記憶する(ステップS34)。
 <チャットルームへの入室>
 ユーザBがチャットルームRAに入室する場合のクライアント装置1B及びマッチングサーバ3の動作を、図10及び図11を参照して説明する。
 ユーザAから招待されたチャットルームRAへ入室する場合、ユーザBは、自己が入室可能なチャットルームの中からチャットルームRAを選択して指定するため、コントローラ20Bを操作して所定の入力を行い、図10に示すようなルーム選択画面120をモニタ装置10Bに表示させる。
 ルーム選択画面120には、ユーザBが選択可能なチャットルームを示すルーム対応画像121が縦方向に配列されて表示される。ルーム対応画像121は、そのチャットルームに関連付けられたルーム属性情報又はチャット履歴情報に基づいて分類され、且つソートされている。
 図10の例では、5つのチャットルームが選択可能な状態であり、5つのルーム対応画像121a~121eが上下方向に並んでいる。ルーム対応画像121は、現在入室中(参加中)のチャットルームのルーム対応画像121a,121bと、招待されたが一度も入室していない新着のチャットルームのルーム対応画像121cと、過去に入室したことがあるが現在は入室していない退室中のチャットルーム121d,121eとに分類され、入室中、新着、退室中の順に上方から下方に並んでいる。
 各ルーム対応画像121a~121eには、ルーム名(「映画の部屋」、「待合室」、「おしゃべり用」、「ゲームしながら話そう」、「パズル同好会」)と、ニックネーム(次郎、ポチ、イチロー、はな子、次郎)がそれぞれ含まれる。ルーム対応画像121a,121bには現在入室中であることを示す入室中表示画像122が、ルーム対応画像121c~121eには現在退室中であることを示す退室中表示画像123がそれぞれ含まれる。退室中のルームのうち新着ルーム(他のユーザから招待されて未だ一度も入室していないルーム)のルーム対応画像121cの場合、新着であることを示す新着表示画像124が退室中表示画像123に付されて表示される。なお、これらの表示画像122~124は、対応するルームが現在入室中であるか、退室中で且つ新着(未入室)であるか、或いは退室中で過去に入室したことがあるかを識別可能に表示するものであれば、上記に限定されない。
 現在入室中のルーム対応画像121a,121bには、最終発言者(クライアント装置1Bがマッチングサーバ3から最後に受信したチャットデータ(最新のチャットデータ)の送信元のユーザ)のアバター125と、最終発言者の発言内容(クライアント装置1Bがマッチングサーバ3から最後に受信したチャットデータ(最新のチャットデータ))とがそれぞれ含まれる。最終発言者がユーザB(自己)の場合、ユーザBが予め記憶部15に登録した自己のアバターの画像データが読み出され、最終発言者のアバター125として表示され、クライアント装置1Bがマッチングサーバ3から最後に受信した自己からのチャットデータ(ユーザBの発言内容)が、最終発言者の発言内容として表示される。
 ルーム対応画像121c~121eには、招待者(招待情報を送信したユーザ)のアバター126,127がそれぞれ含まれる。招待者が自己(ユーザB)の友人として登録されている場合(招待者のユーザIDが記憶部15Bのフレンド管理テーブルに記憶されている場合)、招待者のユーザIDに対応するアバターの画像データがフレンド管理テーブルから読み出され、招待者のアバター126,127として表示される。自己のフレンド管理テーブルに登録されていないユーザから招待された新着ルームの場合、チャットシステムSYSを利用するユーザのユーザIDとアバターの画像データ及びニックネームとの対応関係が登録されたユーザ情報登録テーブルが、インターネット上の記憶部(例えばマッチングサーバ3の記憶部17)に予め設定され、招待者のユーザIDに対応するアバターの画像情報やニックネームがネットワークを介してユーザ登録テーブルから取得され、招待者のアバター126やニックネームとして表示される。自己(ユーザB)が開設したルームの場合には、ユーザBのアバター及びニックネームが招待者のアバター127及びニックネームとして表示される。なお、一度設定されたユーザIDとアバターの画像データやニックネームとの対応関係は、チャット画面表示処理のために記憶部15Bに記憶される。
 また、ルーム対応画像121a,121bにカーソルを合わせると最終発言日時が表示され、ルーム対応画像121c,121dにカーソルを合わせると招待情報の受信日時が表示され、ルーム対応画像121eにカーソルを合わせると最終退室日時が表示される。
 ユーザBがルーム選択画面120に表示されたルーム対応画像121から所望の一つを選択し、選択したルーム対応画像121にカーソルを移動させてYESボタンを押すことにより、チャットルームの選択が確定し、コントローラ20Bからクライアント装置1Bに入室指示信号が送信される。この例では、チャットルームRAが選択されたとする。
 図11に示すように、クライアント装置1Bは、入室指示信号を受信することによって入室要求処理を開始し(ステップS40)、チャットルームRAに対応するサーバキーSKaとびルームキーRKaとを記憶部15Bから読み出し(ステップS41)、上記開設要求処理の場合(図6のステップS12)と同様に、サーバキーSKaを用いてサーバIDを算出して、入室を要求するマッチングサーバ3を特定する(ステップS42)。この場合、サーバキーSKaを用いているので、図6のステップS12と同様にサーバID(A)が算出される。
 次に、クライアント装置10Bは、自己のユーザID(B)とルームキーRKaとを含む入室要求情報を生成し、これをサーバID(A)に対応するマッチングサーバ3Aへ送信する(ステップS43)。
 マッチングサーバ3Aは、入室要求情報を受信することによって、入室処理を開始する(ステップS44)。入室処理では、まず、受信した入室要求情報に含まれるルームキーRKaがルーム情報登録テーブルに登録されているか否か(チャットルームRAが存在するか否か)を判定する(ステップS45)。
 登録されていると判定した場合(ルームキーRKaを抽出した場合)、入室処理が実行可能であるため、ユーザID(B)をルームキーRKaに対応付けてルーム情報登録テーブルに登録する(ステップS46)。ユーザID(B)の登録によって、クライアント装置1BがチャットルームRAに入室した状態となり、チャットルームRaに関連付けて登録されている全てのクライアント装置1(クライアント装置1Bを含む)に対して入室完了情報を送信する(ステップS47)。
 クライアント装置1Bは、自己に対する入室完了情報をマッチングサーバ3から受信することによって、入室要求処理を終了する(ステップS48)。
 一方、チャットルームRAが既に消去されている等の理由により、ステップS45においてルームキーRKaが登録されてないと判定した場合(ルームキーRKaを抽出できなかった場合)、入室失敗情報をクライアント装置1Bへ送信する(ステップS49)。
 入室失敗情報を受信したクライアント装置1Bは、上記開設要求処理に移行する。すなわち、自己のユーザID(B)を含む開設要求情報と、チャットルームRAのルームRKaと自己のユーザID(B)とを含む設定要求情報とを、マッチングサーバ3Aへ送信すする。これにより、マッチングサーバ3AにチャットルームRAが開設され、そのチャットルームRAにクライアント装置1Bが入室する。
 クライアント装置1Bは、チャットルームRAに入室している間(入室要求処理の終了から退室要求処理の終了までの間)、チャットルームRAに対するチャット実行処理を継続して実行する。クライアント装置1Bは、コントローラ20Bからの操作信号に基づいてチャットデータを生成し、コントローラ20Bを介したユーザからの送信指示に応じて、生成したチャットデータとユーザID(B)とを含む送信データを生成し、マッチングサーバ3AのチャットルームRAに対して、生成した送信データを送信する。
 また、クライアント装置1Bは、チャットルームRAへの他のクライアント装置1の入室を示す他人の入室完了情報、チャットルームRAからの他のクライアント装置1の退室を示す他人の退室完了情報、又はマッチングサーバ3Aから送信されたチャットデータ(受信チャットデータ)と、それぞれの実行主体を示すクライアント装置1のユーザIDとを含む受信データを、マッチングサーバ3から受信する。クライアント装置1Bは、受信した他人の入室完了情報、他人の退室完了情報、及び受信チャットデータを示す受信メッセージ情報と、それぞれに対応するユーザIDとを、チャット履歴情報としてルーム特定情報に関連付けて記憶する。記憶される他人の入室完了情報、他人の退室完了情報、及び受信メッセージ情報は、その受信日時を示す情報をそれぞれ含む。
 また、チャットルームRAに入室中のクライアント装置1Bは、例えばユーザBがチャットを実行している間、チャット画面表示処理を実行し、図12に示すようなチャット画面130をモニタ装置10Bに表示する。
 チャット画面130には、チャットルームRAに関連付けて記憶されたチャット履歴情報のうち最新の情報(受信日時が遅い情報)を含む少なくとも一部の情報と、ルーム属性情報のうち少なくともルーム名を含む一部の情報とが表示される。チャット履歴情報は、最新の情報から時系列に並べて表示される。
 図12に示す例のチャット画面130は、ルーム名(映画の部屋)が表示されるルーム名表示欄132、発言者(チャットデータを送信したユーザ)のアバターとニックネームと発言内容(受信したチャットデータ)とが、発言時(受信時刻)を基準に時系列で並んで表示される発言表示欄133、ユーザBが発言を書き込む(チャットデータを入力する)発言入力欄134、入室中のユーザの人数を示す人数表示欄135、発言表示欄133をスクロールさせるためのスクロールバー136、フレンドリスト表示用のアイコン137、及び参加者リスト表示用のアイコン138が含まれる。
 フレンドリスト表示用のアイコン137にカーソルを移動させてYESボタンを押すと、図8に示す招待者選択画面110と同様の画面が表示され、所定の操作入力を行うことによって、当該チャットルームに他のユーザを招待することができる。また、参加者リスト表示用のアイコン138にカーソルを移動させてYESボタンを押すと、当該チャットルームに入室(参加)している全てのユーザのリスト(例えば、ニックネームとアバターのリスト)が表示される。
 チャット画面130は、コントローラ20を介したユーザからの指示に応じて表示状態と非表示状態とに切り替わり、非表示状態が指示されると、チャット画面表示処理が一時的に中断され、チャット画面130は表示されない。
 チャット画面130が非表示状態に設定されて他の画面が表示されているとき(例えば、ゲームの実行中であり、そのゲーム画面が表示されているとき)に、入室中のチャットルームのルーム属性情報が追加されると(ルーム属性情報がルーム特定情報に関連付けて新たに記憶されると)、追加されたルーム属性情報を報知するチャット情報報知画面が、ゲーム画面上に重ねて表示される。
 例えば、図13に示すように、「待合室」というルーム名のチャットルームに入室し、チャット画面を非表示状態に設定し、ゲーム画面140を表示しているときに、「待合室」に対して、ニックネーム「ポチ」さんが「了解です」と発言したとき(「了解です」というメッセージデータを、ニックネーム「ポチ」さんに対応するユーザIDに関連付けられて受信したとき)、これらの情報を含むチャット情報報知画面141が表示される。また、ニックネーム「はな子」さんが「待合室」に入室したとき、「はな子さんが待合室に参加しました」という文章を含むチャット情報報知画面が表示される。なお、チャット情報報知画面141を表示する範囲及び位置は、ゲームの実行に支障がないように、可能な限り狭く且つゲーム画像140の周縁の近くであることが好ましい。
 <チャットルームからの退室>
 ユーザBがチャットルームRAから退室する場合のクライアント装置1B及びマッチングサーバ3の動作を説明する。
 ユーザBが、コントローラ20Bを操作することによりチャットルームRAを指定し退室を指示すると、クライアント装置1Bは、コントローラ20Bから退室指示信号を受信し、退室要求処理を開始する。退室要求処理では、ユーザID(B)及びサーバIDを含む退室要求情報をマッチングサーバ3Aへ送信する。
 退室要求情報を受信したマッチングサーバ3Aは、退室処理を開始する。退室処理において、マッチングサーバ3Aは、受信した退室要求情報に含まれるルームIDに関連付けて登録されているユーザIDの中から、受信したユーザID(B)を抽出して消去する。ユーザID(B)の消去によって、クライアント装置1BがチャットルームRAから退室した状態となる。そして、マッチングサーバ3Aは、退室完了情報を、チャットルームRAに関連付けて登録されている全てのクライアント装置1(退室要求を行ったクライアント装置1Bを含む)に対して送信する。
 チャットルームRAから全てのクライアント装置1が退室すると(チャットルームRAに関連付けて登録されたユーザIDが全て消去されると)、マッチングサーバ3Aは、チャットルームRAに関する全ての情報(ルームキーRKaとこれに関連付けて記憶された全てのデータ)を、ルーム情報登録テーブルから消去する。関連する全ての情報の消去によって、チャットルームRKaが消去された状態となる。
 クライアント装置1Bにおける退室要求処理は、自己に対する退室完了情報をマッチングサーバ3Aから受信することによって終了する。
 以上説明したように、マッチングサーバ3は、開設中のチャットルームから全てのクライアント装置1が退室したときに当該チャットルームを消去する。また、マッチングサーバ3は、既に消去したチャットルームに対してクライアント装置1から入室要求を受けたときには、そのチャットルームを再度開設する。
 すなわち、各マッチングサーバ3には、1つ以上のクライアント装置1が入室しているアクティブなチャットルームのみが存在し、クライアント装置1が全く入室していないインアクティブなチャットルームは存在しないことになる。
 従って、インアクティブな状態のチャットルームの存在によってマッチングサーバ3の記憶部15の残容量が圧迫されてしまうことがなく、記憶部15に必要な記憶容量を最小限に抑えることができ、記憶部15の効率的な利用が可能となる。
 クライアント装置1がチャットルームへの入室を要求した際にそのチャットルームが消去されている場合には、チャットルームが消去されていることがユーザに全く報知されないまま、クライアント装置1は、入室要求処理に続けて開設要求処理を実行し、マッチングサーバ3にチャットルームを開設して入室する。従って、チャットシステムSYSを利用するユーザに対して、違和感を与えることがない。
 チャットルームから退室中の各クライアント装置1は、そのチャットルームが存在するマッチングサーバ3のサーバIDをサーバキーのハッシュ値として算出し、その算出に使用するサーバIDとハッシュ関数とは、各クライアント装置1の間で同一である。また、ハッシュ関数は、複数のマッチングサーバ3が偏り無く選択されるように設定され、マッチングサーバ3の増減に応じて適宜更新される。すなわち、チャットルームから全てのクライアント装置1が退室している間に、マッチングサーバ3が増設され、上記ハッシュ関数が更新され、算出されるサーバIDが変更されてしまう場合であっても、各クライアント装置1において算出されるサーバIDは、全て同じマッチングサーバ3に対応するように変更される。従って、マッチングサーバ3の増設後のサーバ負荷の分散を効率よく行うことができる。
 チャットの開始時(チャットルームへの入室時)には、ルーム選択画面120がモニタ装置10に表示される。ルーム選択画面120には、選択可能なチャットルームを示すルーム対応画像121が配列表示され、各ルーム対応画像121は、各チャットルームに関連付けて記憶されたチャット履歴情報及びルーム属性情報のうち少なくとも一つの情報を含む。従って、ユーザは、入室可能な各チャットルームの内容を容易に把握して、所望のチャットルームに入室することができる。
 ユーザは、自己が参加可能なチャットルームをクライアント装置1側で一元的に管理することができる。
 ユーザがチャットルームに入室してチャットを実行しているときには、そのチャットルームに対応したチャット画面130がモニタ装置10に表示される。また、チャット画面130には、そのチャットルームに関連付けられたチャット履歴情報のうち最新の情報を含む少なくとも一部の情報と、ルーム属性情報のうち少なくともルーム名を含む一部の情報とが表示される。従って、チャットシステムSYSのユーザは、サーバ装置が全てのチャット履歴情報を記憶して一元的に管理し、各クライアント装置がサーバ装置からチャット履歴情報の提供を受けて表示する場合と同様の感覚でチャットを行うことができる。
 チャット画面130は、ユーザからの指示に応じて表示状態と非表示状態とに切り替わり、チャット画面130が非表示状態で他の画面(例えばゲーム画面140)が表示されているときに、入室中のチャットルームに対する他のクライアント装置1の入室や退室が行われた場合や、他のクライアント装置1からのチャットデータが送信された場合等には、それらを報知するチャット情報報知画面141が他の画面(ゲーム画面140)上に重ねて表示される。従って、ゲームなどの他の処理を実行しならが、他のユーザとのチャットを容易に行うことができる。
 なお、上記実施形態では、マッチングサーバ3に存在しないチャットルームに対してクライアント装置1が入室を要求した場合、マッチングサーバ3は、クライアント装置1からチャットルームの開設要求を受けること開始条件としてチャットルームを開設するが、マッチングサーバ3に存在しないとの判定を開始条件としてチャットルームを開設してもよい。
 次に、本発明の第2実施形態について説明する。本実施形態は、第1実施形態のチャットシステムSYMを、テキストチャットとボイスチャット(音声チャット)とを並行して実行可能なシステムボイスチャットに適用したものであり、第1実施形態のチャットルームの一部又は全部は、システムボイスチャット用のチャットルーム(システムボイスチャットルーム)として設定される。すなわち、本実施形態のチャットシステムSYMは、音声データがテキストデータと同様にチャットデータとして送受信されることを除き、第1実施形態と共通する。なお、第1実施形態と共通する構成については、同一の符号を付してその説明を省略する。また、以下では、第1実施形態のチャットルームのうち一部のチャットルームがシステムボイスチャットルームとして設定される場合について説明する。また、システムボイスチャットルームに入室可能な人数を少人数に制限してもよく、以下では、システムボイスチャットルームに入室可能な最大人数が4名に制限される場合について説明する。
 システムボイスチャットを実行するクライアント装置1では、マイクロフォン12から入力された音声信号に基づいてサウンドシステム60がチャットデータ(音声チャットデータ)を生成し、生成されたチャットデータを通信部80が送信する。また、サウンドシステム60は、通信部80がインターネット30を介して取得したチャットデータ(音声チャットデータ)を、音声コーデックにより復号し、アナログ変換して波形データを生成し、これをサウンドバッファ62に記録し、スピーカ63から音声として出力させる。すなわち、サウンドシステム60は、チャット実行部13として機能する。
 第1実施形態と同様に、マッチングサーバ3は、クライアント装置1から設定要求情報を受信すると、そのクライアント装置1とチャットルームとを相互に関連付けて記憶部17に登録する。また、クライアント装置1から入室要求情報を受信すると、受信した入室要求情報によって特定されるチャットルームが記憶部17に登録されているか否かを判定し、当該チャットルームが記憶部17に登録されていると判定した場合は、クライアント装置1を当該チャットルームに関連付けて記憶部17に登録する。一方、当該チャットルームが記憶部17に登録されていないと判定した場合は、クライアント装置1と当該チャットルームとを相互に関連付けて記憶部17に登録する。マッチングサーバ3は、テキストチャット用のチャットルーム(テキストチャットルーム)とシステムボイスチャット用のチャットルーム(システムボイスチャットルーム)とを区別して登録してもよく、両者を区別せずに登録してもよい。
 マッチングサーバ3は、一つのテキストチャットルームに対して関連付けて登録された複数のクライアント装置1間において、メッセージデータ(テキストチャットデータ)の送受信によるテキストチャットの実行を制御する。また、マッチングサーバ3は、一つのシステムボイスチャットルームに対して関連付けて登録された複数のクライアント装置1間において、メッセージデータの送受信によるテキストチャットの実行と、音声データ(音声チャットデータ)の送受信による音声チャットの実行とを制御する。
 次に、ユーザAがシステムボイスチャットルームSVRAを開設する場合にモニタ装置10Aに表示される画面と、ユーザBが所望のチャットルームに入室(チャットに参加)する場合にモニタ装置10Bに表示される画面と、システムボイスチャット実行中のチャット画面とについて説明する。
 チャットルームを新規に開設する場合、ユーザAは、コントローラ20Aを操作してチャットルームの新規開設を指示する所定の入力を行う。クライアント装置1Aは、コントローラ20Aからルーム開設指示信号を受信すると、開設要求処理を開始する。開設要求処理において、クライアント装置1Aは、図14に示すように、選択可能なチャットの種類が列挙された選択要求画面150をモニタ装置10Aに表示させる。選択要求画面150には、「チャットの種類を選択してください」などの文章151と、選択可能なチャットの種類とが表示される。この例では、テキストチャット(第1実施形態のチャット)とAVチャットとシステムボイスチャット(本実施形態のチャット)とが選択可能であり、テキストチャットに対応する「テキストチャット」の文字152a及びアイコン152bと、AVチャットに対応する「チャット」の文字153a及びアイコン153bと、システムボイスチャットに対応する「ボイス+テキストチャット」の文字154a及びアイコン154bとが、上下に並んで表示される。なお、AVチャットとは、画像及び音声によるチャットである。ユーザAがコントローラ10Aを操作して「ボイス+テキストチャット」の文字154aにカーソルを設定し、所定のYESボタンを押すと、クライアント装置1Aは、システムボイスチャットルームの開設が要求されたことを認識して記憶し、開設要求情報をマッチングサーバ3に送信する。
 ユーザAによってチャットの種類が選択された後、クライアント装置1Aは、第1実施形態と同様に、ルーム名入力画面100及び招待者選択画面110をモニタ装置10Aに順次表示させる。招待者選択画面110において、ユーザAがシステムボイスチャットルームSVRAに招待したいユーザとしてユーザBを選択して確定すると、クライアント装置1Aは、システムボイスチャットルームSVRAへ招待する旨を示すメッセージデータ、自己のユーザID、読み出したサーバキーとルームキーとルーム名を含む招待情報を生成し、生成した招待情報を、クライアント装置1Bを宛先としてメッセージサーバ4へ送信する。クライアント装置1Aから招待情報を受信したメッセージサーバ4は、この招待情報をクライアント装置1Bへ送信する。招待情報を受信したクライアント装置1Bは、チャットルームへの招待を受けた旨を示す画像(例えば、「Aさんからシステムボイスチャットルームに招待されました」などの文章)を、モニタ装置10Bに適宜表示させる。
 チャットルーム(テキストチャットルーム又はシステムボイスチャットルーム)への入室を希望するユーザBは、第1実施形態と同様に、コントローラ20Bを操作して所定の入力を行い、図15に示すようなルーム選択画面120をモニタ装置10Bに表示させる。図15のルーム選択画面120は、システムボイスチャットルームのルーム対応画像121に、システムボイスチャットルームであることを示すシステムボイス表示画像128が含まれることを除き、図10のルーム選択画面120と共通する。図15の例では、選択可能な5つのチャットルームのうち2つがシステムボイスチャットルームであり、ルーム対応画像121a,121cには、それぞれシステムボイス表示画像128が含まれる。ユーザBは、ルーム対応画像121cにカーソルを移動させてYESボタンを押すことにより、対応するシステムボイスチャットルームに入室してシステムボイスチャットを行うことができる。
 ルーム選択画面120は、所定時間毎に又は新規のテキストチャットデータの受信時に更新され、その更新時において、ユーザBが複数のチャットルームに入室している場合、これら入室中の各チャットルームにおける最新の発言の日時(最後に登録した自己又は他人のテキストチャットデータの登録の日時)が新しい順に並ぶようにソートされる。なお、入室中のチャットルームがシステムボイスチャットルームを含む場合、入室中のチャットルームの表示順序は、テキストチャットデータの登録の日時のみによって決定され、音声チャットデータの送受信の日時は反映されない。
 システムボイスチャットを実行しているクライアント装置1Bは、入室中のシステムボイスチャットルームに対応したチャット画面160をモニタ装置10Bに表示させる。チャット画面160は、参加者表示欄161とボイスチャット設定用のアイコン162の他、第1実施形態と同様に、ルーム名表示欄132、発言表示欄133、発言入力欄134、人数表示欄135、スクロールバー136、フレンドリスト表示用のアイコン137、及び参加者リスト表示用のアイコン138が表示される。参加者表示欄161は、システムボイスチャットルームに同時に入室可能な最大人数分(本実施形態では4名分)が表示され、各参加者表示欄161には、システムボイスチャットルームに入室している参加者のアバター125が表示される。参加者表示欄161に表示されるアバター125は、他人のアバター125bの他、自己(ユーザB)のアバター125aも含まれる。また、参加者が最大人数に達していない場合、一部(図16の例では2箇所)の参加者表示欄161にはアバター125が表示されない。アバター125が表示された参加者表示欄161の下には、その参加者のニックネーム(図16の例では自己(ユーザB)のニックネーム「ポチ」と他人のニックネーム「次郎」)が表示される。さらに、参加者表示欄161には、音声を発している話者を特定する発言者アイコン163が表示される。ユーザBは、スピーカ63から出力される音声が誰の音声であるかを、発言者アイコン163を見ることによって認識することができる。なお、ボイスチャット設定用のアイコン162は、ボイスチェンジャー機能の設定操作や音声機器の設定操作やマイクロフォン12のオン/オフ操作やスピーカ63の音量調整を行う際に選択されるアイコンである。
 本実施形態によれば、システムボイスチャットルームに参加しているユーザ同士は、テキストチャットと音声チャットとを、適宜自由に選択して実行することができる。
 また、テキストチャットと音声チャットとの選択が任意であるので、例えば、システムボイスチャットルームに参加しているユーザ同士は、音声チャット(音声チャットデータ)によるクライアント装置1やネットワーク30の負荷が過大となり音声チャットによって会話を進行させることが困難な場合に、同じシステムボイスチャットルームにおいて、そのままテキストチャットによって会話を続けることができる。
 <変形例1>
 第2実施形態のシステムボイスチャットに参加中のユーザAとユーザBとは、同じグループの仲間としてネットワーク対戦型のゲームに参加することを希望する場合がある。本例は、各クライアント装置1において、チャット参加者リストとゲーム参加者リストとを照合することにより、上記ユーザの要求を簡単に実現させる。
 ユーザAのクライアント装置1AとユーザBのクライアント装置1Bとは、同一のネットワーク対戦型のゲームプログラムを実行可能であり、当該対戦型のゲームは、複数のグループに分かれて対戦を行うゲーム(以下単に対戦型ゲームを称する)である。
 図17に示すように、クライアント装置1は、通信部80とチャット実行部13と表示制御部14と記憶部15とゲーム実行部18とから構成され、これらはバスを介して接続される。ゲーム実行部18は、記憶部15に記憶されたゲームプログラムに従ってゲーム処理を実行する。なお、CPU41(図3参照)はゲーム実行部として機能する。
 以下、ユーザAとユーザBとが同じシステムボイスチャットルームに参加し、且つユーザA(クライアント装置1A)が参加している対戦型ゲームにユーザB(クライアント装置1B)が後から参加する場合について説明する。
 クライアント装置1Bのゲーム実行部1Bが対戦型ゲームを起動すると、ゲーム実行部1Bは、対戦型ゲームに既に設定されているグループの情報と各グループに属しているユーザの情報とを、ゲーム参加者リストとしてインターネット30を介して取得する。ゲーム参加者リストの提供元は、例えば対戦型ゲームの進行を管理するサーバ装置や既に対戦型ゲームに参加している他のクライアント装置1である。ゲーム参加者リストを受信したゲーム実行部18Bは、ユーザAが所定のグループ(グループX)に所属していることを認識することができる。
 ゲーム実行部18Bは、対戦型ゲームの起動時から対戦型ゲームの何れのグループに所属するかを決定する時までの間の所定時に、チャット実行部13Bが起動中(処理を実行中)であるか否かを検出する。チャット実行部13Bが起動中であると検出した場合、ゲーム実行部18Bは、チャット実行部に13Bに対してシステムボイスチャットに参加中のユーザ(ユーザ特定情報(ユーザID))を示すリスト(チャット参加者リスト)の提供を要求する。
 ゲーム実行部18Bからチャット参加者リストの提供の要求を受けたチャット実行部13Bは、ユーザBが現在参加中のシステムボイスチャットが存在するか否かを判定し、参加中のシステムボイスチャットが存在する場合、チャット参加者リストをゲーム実行部18Bに提供する。一方、ユーザBが現在参加しているシステムボイスチャットが存在しない場合、チャット実行部13Bは、チャット参加者リストが存在しない旨をゲーム実行部18Bに通知する。
 チャット参加者リストの提供を受けたゲーム実行部18Bは、ゲーム参加者リストとチャット参加者リストとを照合し、両リストに重複したユーザが存在するか否かを判定する。本例では、ユーザAが両リストに重複したユーザであると判定される。重複したユーザが存在する場合、ゲーム実行部18Bは、何れのグループに所属してゲームに参加するかの選択をユーザBに対して要求する画面をモニタ装置10Bに表示する際に、両リストに重複したユーザが何れのグループに所属しているかを報知する画像(グループXにユーザAが所属していることを報知する画像)を表示させる。この画像を見たユーザBは、グループXへの所属を選択することによって、ユーザAと同じグループに容易に所属することができる。
 このように、変形例1によれば、システムボイスチャットに参加中のユーザAとユーザBとは、同じグループの仲間としてネットワーク対戦型のゲームに容易に参加することができる。特に、システムボイスチャットに参加するためにユーザAが使用しているニックネーム(チャット用ニックネーム)と、対戦型ゲームに参加するためにユーザAが使用しているニックネーム(ゲーム用ニックネーム)とが相違している場合に、グループXにユーザAが所属していることを報知する画像中でユーザAをチャット用ニックネームによって表示することにより、ユーザBは、容易に且つ確実にユーザAが所属するグループを認識して同じグループに所属することができる。
 <変形例2>
 上記変形例1において、同じチャットルームに参加中のユーザAとユーザBとが異なるグループにそれぞれ所属して対戦型ゲームに参加した場合、グループ内のゲームに関する非公開の情報を、一方のユーザが他方のユーザに対してチャットを用いて提供する行為(いわゆるチート行為)が行われる可能性が生じる。特に、システムボイスチャットにおける音声による会話では、チート行為が実行され易い。本例では、このようなチート行為を防止するため、システムボイスチャットに参加中のユーザAとユーザBとが異なるグループにそれぞれ所属して対戦型ゲームに参加することを未然に回避する。
 同じシステムボイスチャットに参加中のユーザAとユーザBとが異なるグループにそれぞれ所属して対戦型ゲームに参加する態様としては、ユーザAとユーザBとが同じシステムチャットルームに参加している状態で、ユーザAが既に参加している対戦型ゲームにユーザBが後から参加してユーザAとは異なるグループに所属する場合(第1のケース)と、ユーザAとユーザBとが同じ対戦型ゲームに異なるグループにそれぞれ所属して参加している状態で、ユーザAが参加しているシステムチャットルームにユーザBが後から参加する場合(第2のケース)とがある。
 上記第1のケースに対応するため、本例では、変形例1と同様に、ゲーム実行部18Bは、対戦型ゲームの起動時から対戦型ゲームの何れのグループに所属するかを決定する時までの間の所定時に、チャット実行部13Bが起動中であるか否かを検出する。チャット実行部13Bが起動中であると検出した場合、ゲーム実行部18Bは、チャット実行部に13Bに対してシステムボイスチャットのチャット参加者リストの提供を要求する。
 ゲーム実行部18Bからチャット参加者リストの提供の要求を受けたチャット実行部13Bは、ユーザBが現在参加中のシステムボイスチャットが存在するか否かを判定し、参加中のシステムボイスチャットが存在する場合、チャット参加者リストをゲーム実行部18Bに提供する。一方、ユーザBが現在参加しているシステムボイスチャットが存在しない場合、チャット実行部13Bは、チャット参加者リストが存在しない旨をゲーム実行部18Bに通知する。
 チャット参加者リストの提供を受けたゲーム実行部18Bは、ゲーム参加者リストとチャット参加者リストとを照合し、両リストに重複したユーザが存在するか否かを判定する。本例では、ユーザAが両リストに重複したユーザであると判定される。重複したユーザが存在する場合、ゲーム実行部18Bは、何れのグループに所属してゲームに参加するかの選択をユーザBに対して要求する画面をモニタ装置10Bに表示する際に、重複したユーザ(ユーザA)が参加しているシステムボイスチャットルームから退室するか否かをユーザBに選択させるための選択画面を、モニタ装置10Bに表示させる。この選択画面には、例えば、「グループXにユーザAが所属しているため、グループX以外のグループは選択できない」などように、重複したユーザと当該ユーザが所属するグループとを特定する文章が含まれる。ユーザAが参加しているシステムボイスチャットルームから退室することをユーザBが選択した場合、チャット実行部13Bは、当該システムボイスチャットルームからの退室処理を実行し、ゲーム実行部18Bは、グループXを含む全てのグループを所属可能なグループとしてモニタ装置10Bに表示させ、ユーザBは、全てのグループの中から所属を希望するグループを任意に選択する。一方、ユーザAが参加しているシステムボイスチャットルームから退室しないことをユーザBが選択した場合、ゲーム実行部18Bは、グループXのみを所属可能なグループとしてモニタ装置10Bに表示させ、ユーザBには、グループXの選択のみが許容される。
 従って、ユーザAとユーザBとが同じシステムチャットルームに参加している状態で、ユーザAが既に参加している対戦型ゲームにユーザBが後から参加する場合、ユーザBは、ユーザAが参加しているシステムボイスチャットルームからの退室することを条件に、ユーザAとは異なるグループに所属して対戦型ゲームに参加することができ、また、ユーザAと同じグループに所属して対戦型ゲームに参加することを条件に、ユーザAが参加しているシステムボイスチャットルームに継続して参加することができる。
 また、上記第2のケースに対応するため、チャット実行部13Bは、退室中又は新規のチャットルームに参加する際に、ゲーム実行部18Bが起動しているか否かを検出する。ゲーム実行部18Bが起動中であると検出した場合、チャット実行部13Bは、チャットへの参加をゲーム実行部18Bに通知する。チャットへの参加の通知を受けたゲーム実行部18Bは、実行中のゲームが対戦型ゲームであるか否かを判定し、対戦型ゲームの場合、チャット実行部13Bに対し、システムボイスチャットに参加中のユーザのリスト(チャット参加者リスト)の提供を要求する。
 ゲーム実行部18Bからチャット参加者リストの提供の要求を受けたチャット実行部13Bは、ユーザBが現在参加しているシステムボイスチャットが存在するか否かを判定し、参加しているシステムボイスチャットが存在する場合、チャット参加者リストをゲーム実行部18Bに提供する。一方、ユーザBが現在参加しているシステムボイスチャットが存在しない場合、チャット実行部13Bは、ユーザ参加リストが存在しない旨をゲーム実行部18Bに通知する。
 チャット参加者リストの提供を受けたゲーム実行部18Bは、既に取得しているゲーム参加者リストとチャット参加者リストとを照合し、両リストに重複した他のユーザ(ユーザB以外のユーザ)が存在し、且つその重複したユーザがユーザBが所属するグループ以外のグループに所属しているか否かを判定する。本例では、ユーザAが両リストに重複したユーザであり、且つユーザBが所属するグループ(グループY)以外のグループ(グループX)にユーザAが所属していると判定される。重複するユーザが存在しない場合及び重複する全てのユーザがユーザBが所属するグループに所属している場合、ゲーム実行部18は、ゲーム処理を中断せずにそのまま進行させる。一方、重複する他のユーザがユーザBが所属するグループ以外のグループに所属している場合(ユーザAがグループXに所属し、ユーザBがグループYに所属している場合)、ゲーム実行部18は、ゲーム処理を一時中断し、ゲームの終了、又は重複する他のユーザ(ユーザA)が参加しているシステムボイスチャットルームからの退室のうち、一方の選択をユーザBに要求する選択画面を、モニタ装置10Bに表示させる。ユーザBがゲームの終了を選択すると、ゲーム実行部18は、中断しているゲーム処理を終了する。また、ユーザBがシステムボイスチャットルームからの退室を選択すると、チャット実行部13Bは、当該システムボイスチャットルームからの退室処理を実行し、ゲーム実行部18Bは、中断しているゲーム処理を再開する。
 従って、ユーザAとユーザBとが同じ対戦型ゲームに異なるグループにそれぞれ所属して参加している状態で、ユーザAが参加しているシステムチャットルームにユーザBが後から参加しようとした場合、ユーザBは、ユーザAが参加しているシステムボイスチャットルームに参加しないことを条件に、実行中の対戦型ゲームに継続して参加することができ、また、対戦型ゲームを終了することを条件に、ユーザAが参加しているシステムボイスチャットルームに参加することができる。
 なお、上記例では、ユーザAとユーザBとが同じシステムチャットルームに参加し、且つユーザAが既に参加してグループXに所属している対戦型ゲームにユーザBが後から参加する場合において、ユーザAが参加しているシステムボイスチャットルームから退室するか、又はグループX以外のグループに所属して対戦型ゲームに参加するかを、ユーザBに対して問い合わせているが、この問い合わせを行うことなく、ユーザAが参加しているシステムボイスチャットルームからの退室処理をチャット実行部13Bが実行してもよく、或いはユーザAと同じグループへの所属をゲーム実行部18Bが実行してもよい。
 同様に、上記例では、ユーザAとユーザBとが同じ対戦型ゲームに異なるグループにそれぞれ所属して参加し、且つユーザAが参加しているシステムチャットルームにユーザBが後から参加する場合、ユーザAが参加しているシステムボイスチャットルームから退室するか、又は対戦型ゲームを終了するかを、ユーザBに対して問い合わせているが、この問い合わせを行うことなく、ユーザAが参加しているシステムボイスチャットルームからの退室処理をチャット実行部13Bが実行してもよく、或いはゲーム実行部18Bがゲームを終了してもよい。
 <変形例3>
 本例は、ユーザAとユーザBとが同じシステムボイスチャットに参加し且つ対戦型ゲームにそれぞれ異なるグループに所属して参加することを、ゲーム参加中の全ユーザに対して公開することを条件に許容することにより、チート行為を防止するものである。
 すなわち、ゲーム参加者とチャット参加者とに重複したユーザが存在する場合、ゲーム実行部18は、重複したユーザ(ユーザAとユーザB)とを関連付けたゲーム参加者リストを作成し、インターネット30を介してゲームに参加している他のユーザのクライアント装置1に送信する。各クライアント装置1のゲーム実行部18は、受信した参加者リストを参照し、モニタ装置10に表示するゲーム画面のプレイヤー一覧において、ユーザAとユーザBとを関連付けて表示させる(例えば、ユーザAのニックネームとユーザBのニックネームとに同じマークを付して表示させる)。
 <変形例4>
 上記変形例2では、システムボイスチャットルームからの退室またはシステムボイスチャットルームへの参加禁止によってチート行為を防止しているが、本例では、これに代えて、システムボイスチャットにおける音声データの送受信を禁止することによってチート行為を防止する。
 すなわち、上記第1のケースにおいて、ゲーム参加者リストとチャット参加者リストとに重複したユーザが存在する場合、ゲーム実行部18Bは、重複したユーザ(ユーザA)が参加しているシステムボイスチャットルームにおける音声データの送受信を禁止するか否かをユーザBに選択させるための選択画面を、モニタ装置10Bに表示させ、ユーザAが参加しているシステムボイスチャットルームにおける音声データの送受信を禁止することをユーザBが選択した場合、チャット実行部13Bは、当該システムボイスチャットルームにおける音声データの送受信を禁止し、ゲーム実行部18Bは、グループXを含む全てのグループを所属可能なグループとしてモニタ装置10Bに表示させ、ユーザBは、全てのグループの中から所属を希望するグループを任意に選択する。一方、ユーザAが参加しているシステムボイスチャットルームにおける音声データの送受信を禁止しないことをユーザBが選択した場合、ゲーム実行部18Bは、グループXのみを所属可能なグループとしてモニタ装置10Bに表示させ、ユーザBには、グループXの選択のみが許容される。
 また、上記第2のケースにおいて、ゲーム参加者リストとチャット参加者リストとに重複した他のユーザが存在し、且つその重複したユーザ(ユーザA)がユーザBが所属するグループ以外のグループに所属している場合、ゲーム実行部18Bは、ゲーム処理を一時中断し、ゲームの終了、又は重複する他のユーザ(ユーザA)が参加しているシステムボイスチャットルームにおける音声データの送受信の禁止のうち、一方の選択をユーザBに要求する選択画面を、モニタ装置10Bに表示させる。ユーザBがゲームの終了を選択すると、ゲーム実行部18は、中断しているゲーム処理を終了する。また、ユーザBがシステムボイスチャットルームにおける音声データの送受信の禁止を選択すると、チャット実行部13Bは、当該システムボイスチャットルームにおける音声データの送受信を禁止し、ゲーム実行部18Bは、中断しているゲーム処理を再開する。
 なお、上記変形例1~3では、システムボイスチャットルームを対象としてチャット実行部13がチャット参加者リストをゲーム実行部18に提供しているが、テキストチャットルームを対象として同様の処理を行ってもよい。
 上述の各実施の形態及び変形例の説明は本発明の一例である。このため、本発明は上述の各実施の形態及び変形例に限定されることはなく、本発明に係る技術的思想を逸脱しない範囲であれば、上述以外であっても種々の変更
 本発明は、メッセージデータによるチャットシステムに好適に用いることができる。
 1・・・クライアント装置(情報処理装置)、2・・・サーバ装置、10・・・モニタ装置、13・・・チャット実行部、14・・・表示制御部、15・・・記憶部、16・・・チャット管理部、17・・・記憶部、SYM・・・チャットシステム

Claims (23)

  1.  複数の情報処理装置とサーバ装置とがネットワークを介してメッセージデータを送受信可能に接続されたチャットシステムであって、
     前記情報処理装置は、
     一つのチャットルームを特定可能な参加要求情報を、前記チャットシステムへのユーザからの参加要求に応じて生成し、前記一つのチャットルームを特定可能な退室要求情報を、ユーザからの退室要求に応じて生成する要求情報生成手段と、
     前記参加要求情報の生成に応じて当該参加要求情報を送信し、前記退室要求情報の生成に応じて当該退室要求情報を送信する端末側送受信手段と、を備え、
     前記サーバ装置は、
     前記参加要求情報と前記退室要求情報とをそれぞれ受信するサーバ側送受信手段と、
     情報処理装置とチャットルームとを相互に関連付けて登録可能なサーバ側記憶手段と、
     前記受信した参加要求情報によって特定される前記一つのチャットルームが前記サーバ側記憶手段に登録されているとき、前記情報処理装置を当該チャットルームに関連付けて前記サーバ側記憶手段に登録し、前記受信した参加要求情報によって特定される前記一つのチャットルームが前記サーバ側記憶手段に登録されていないとき、前記情報処理装置と当該チャットルームとを相互に関連付けて前記サーバ側記憶手段に登録する登録制御手段と、
     前記一つのチャットルームに対して関連付けて登録された複数の情報処理装置間において、メッセージデータの送受信によるチャットの実行を制御するチャット制御手段と、
     前記端末側送受信手段が前記退室要求情報を受信したとき、当該退室要求情報によって特定される前記一つのチャットルームに関連付けられた前記情報処理装置の登録を抹消し、前記登録されている一つのチャットルームに対して情報処理装置が全く登録されていないとき、当該一つのチャットルームの登録を抹消する登録抹消手段と、を備えた
     ことを特徴とするチャットシステム。
  2.  請求項1に記載のチャットシステムであって、
     前記チャットシステムへのユーザからの参加要求は、前記一つのチャットルームの開設要求と、前記一つのチャットルームへの入室要求とを含み、
     前記要求情報生成手段は、前記開設要求に応じた参加要求情報として設定要求情報を生成し、前記入室要求に応じた参加要求情報として入室要求情報を生成し、
     前記登録制御手段は、前記サーバ側送受信手段が前記設定要求情報を受信したとき、前記情報処理装置と前記一つのチャットルームとを相互に関連付けて前記サーバ側記憶手段に登録し、前記サーバ側送受信手段が前記入室要求情報を受信したとき、前記受信した入室要求情報によって特定される前記一つのチャットルームが前記サーバ側記憶手段に登録されているか否かを判定し、当該チャットルームが前記サーバ側記憶手段に登録されていると判定した場合は、前記情報処理装置を当該チャットルームに関連付けて前記サーバ側記憶手段に登録し、当該チャットルームが前記サーバ側記憶手段に登録されていないと判定した場合は、前記情報処理装置と当該チャットルームとを相互に関連付けて前記サーバ側記憶手段に登録する
     ことを特徴とするチャットシステム。
  3.  請求項1又は請求項2に記載のチャットシステムであって、
     前記サーバ装置は、前記サーバ側送受信手段と前記サーバ側記憶手段と前記登録制御手段と前記チャット制御手段と登録抹消手段とをそれぞれが有する複数のマッチングサーバを備え、
     前記情報処理装置は、サーバ選択基礎情報に基づいて前記複数のマッチングサーバから一つを選択するサーバ選択手段を備え、
     前記サーバ選択基礎情報は、前記複数の情報処理装置において同一である
     ことを特徴とするチャットシステム。
  4.  請求項3に記載のチャットシステムであって、
     前記サーバ選択手段は、前記複数のマッチングサーバに対して前記チャットルームを分散して振り分け可能な所定の演算式と前記サーバ選択基準情報とを用いて、前記複数のマッチングサーバから一つを選択し、
     前記所定の演算式は、前記複数の情報処理装置において同一である
     ことを特徴とするチャットシステム。
  5.  請求項3又は請求項4に記載のチャットシステムであって、
     前記情報処理装置は、前記サーバ選択基礎情報を生成する基礎情報生成手段を備え、
     前記基礎情報生成手段が生成した前記サーバ選択基礎情報を、前記一つのチャットルームを特定可能な参加要求情報に含めて送信した情報処理装置の前記要求情報生成手段は、他の情報処理装置のユーザを前記一つのチャットルームに招待する招待情報を、ユーザからの要求に応じて生成し、
     前記端末側送受信手段は、前記招待情報の生成に応じて当該招待情報を前記他の情報処理装置へ送信する
     ことを特徴とするチャットシステム。
  6.  複数の情報処理装置とサーバ装置とがネットワークを介してメッセージデータを送受信可能に接続されたチャットシステムの前記サーバ装置であって、
     前記チャットシステムへのユーザからの参加要求に応じて生成され、一つのチャットルームを特定可能な参加要求情報と、前記チャットシステムへのユーザからの参加要求に応じて生成され、前記一つのチャットルームを特定可能な退室要求情報とを、前記情報処理装置からそれぞれ受信するサーバ側送受信手段と、
     情報処理装置とチャットルームとを相互に関連付けて登録可能なサーバ側記憶手段と、
     前記受信した参加要求情報によって特定される前記一つのチャットルームが前記サーバ側記憶手段に登録されているとき、前記情報処理装置を当該チャットルームに関連付けて前記サーバ側記憶手段に登録し、前記受信した参加要求情報によって特定される前記一つのチャットルームが前記サーバ側記憶手段に登録されていないとき、前記情報処理装置と当該チャットルームとを相互に関連付けて前記サーバ側記憶手段に登録する登録制御手段と、
     前記一つのチャットルームに対して関連付けて登録された複数の情報処理装置間において、メッセージデータの送受信によるチャットの実行を制御するチャット制御手段と、
     前記端末側送受信手段が前記退室要求情報を受信したとき、当該退室要求情報によって特定される前記一つのチャットルームに関連付けられた前記情報処理装置の登録を抹消し、前記登録されている一つのチャットルームに対して情報処理装置が全く登録されていないとき、当該一つのチャットルームの登録を抹消する登録抹消手段と、を備えた
     ことを特徴とするサーバ装置。
  7.  請求項6に記載のサーバ装置であって、
     前記チャットシステムへのユーザからの参加要求は、前記一つのチャットルームの開設要求と、前記一つのチャットルームへの入室要求とを含み、
     前記要求情報生成手段は、前記開設要求に応じた参加要求情報として設定要求情報を生成し、前記入室要求に応じた参加要求情報として入室要求情報を生成し、
     前記サーバ側送受信手段は、前記開設要求に応じた参加要求情報として生成された設定要求情報と、前記入室要求に応じた参加要求情報として生成された入室要求情報とを受信し、
     前記登録制御手段は、前記サーバ側送受信手段が前記設定要求情報を受信したとき、前記情報処理装置と前記一つのチャットルームとを相互に関連付けて前記サーバ側記憶手段に登録し、前記サーバ側送受信手段が前記入室要求情報を受信したとき、前記受信した入室要求情報によって特定される前記一つのチャットルームが前記サーバ側記憶手段に登録されているか否かを判定し、当該チャットルームが前記サーバ側記憶手段に登録されていると判定した場合は、前記情報処理装置を当該チャットルームに関連付けて前記サーバ側記憶手段に登録し、当該チャットルームが前記サーバ側記憶手段に登録されていないと判定した場合は、前記情報処理装置と当該チャットルームとを相互に関連付けて前記サーバ側記憶手段に登録する
     ことを特徴とするサーバ装置。
  8.  複数の情報処理装置とサーバ装置とがネットワークを介してメッセージデータを送受信可能に接続されたチャットシステムにおけるチャット方法であって、
     一つのチャットルームを特定可能な参加要求情報を、前記チャットシステムへのユーザからの参加要求に応じて前記情報処理装置が生成して送信し、
     前記サーバ装置が、前記参加要求情報を受信し、
     前記受信した参加要求情報によって特定される前記一つのチャットルームがサーバ側記憶手段に登録されているとき、前記サーバ装置が、前記情報処理装置を当該チャットルームに関連付けて前記サーバ側記憶手段に登録し、
     前記受信した参加要求情報によって特定される前記一つのチャットルームが前記サーバ側記憶手段に登録されていないとき、前記サーバ装置が、前記情報処理装置と当該チャットルームとを相互に関連付けて前記サーバ側記憶手段に登録し、
     前記一つのチャットルームに対して関連付けて登録された複数の情報処理装置間において、メッセージデータの送受信によるチャットの実行を前記サーバ装置が制御し、
     前記一つのチャットルームを特定可能な退室要求情報を、ユーザからの退室要求に応じて前記情報処理装置が生成して送信し、
     前記サーバ装置が、前記退室要求情報を受信し、
     前記サーバ装置が、前記受信した退室要求情報によって特定される前記一つのチャットルームに関連付けられた前記情報処理装置の登録を抹消し、前記登録されている一つのチャットルームに対して情報処理装置が全く登録されていないとき、当該一つのチャットルームの登録を抹消する
     ことを特徴とするチャット方法。
  9.  複数の情報処理装置とサーバ装置とがネットワークを介してメッセージデータを送受信可能に接続されたチャットシステムの前記情報処理装置のコンピュータを、
     一つのチャットルームを特定可能な参加要求情報を、前記チャットシステムへのユーザからの参加要求に応じて生成し、前記一つのチャットルームを特定可能な退室要求情報を、ユーザからの退室要求に応じて生成する要求情報生成手段と、
     前記参加要求情報の生成に応じて当該参加要求情報を送信し、前記退室要求情報の生成に応じて当該退室要求情報を送信する端末側送受信手段と、して機能させる
     ことを特徴とするチャット実行プログラム。
  10.  請求項9に記載のチャット実行プログラムを記憶したコンピュータ読み取り可能な記憶媒体。
  11.  情報処理装置とサーバ装置とがネットワークを介してメッセージデータを送受信可能に接続されたチャットシステムの前記情報処理装置であって、
     前記チャットシステムにおいて当該情報処理装置が参加可能なチャットルームを特定するルーム特定情報と、このルーム特定情報に関連付けられたルーム属性情報とを記憶する記憶手段と、
     前記ルーム特定情報と前記ルーム属性情報とが関連付けられていることが視認可能な態様で、前記ルーム特定情報に対応するルーム対応画像と前記ルーム属性情報とを表示手段に表示する表示制御手段と、を備えた
     ことを特徴とする情報処理装置。
  12.  請求項11に記載の情報処理装置であって、
     前記サーバ装置のチャットルームへの参加によって前記情報処理装置が前記サーバ装置から受信するチャット履歴情報を、その受信日時と前記チャットルームを特定するルーム特定情報とに関連付けて前記記憶手段に記憶する記憶制御手段を備え、
     前記表示制御手段は、前記ルーム特定情報と前記チャット履歴情報とが関連付けられていることが視認可能な態様で、前記ルーム特定情報に対応するルーム対応画像と前記チャット履歴情報とを表示手段に表示する
     ことを特徴とする情報処理装置。
  13.  請求項11又は請求項12に記載の情報処理装置であって、
     前記ルーム属性情報は、前記チャットルームに参加したことがあるか否かを示す情報である
     ことを特徴とする情報処理装置。
  14.  請求項11~請求項13の何れか1項に記載の情報処理装置であって、
     前記ルーム属性情報は、前記チャットルームに参加中か否かを示す情報である
     ことを特徴とする情報処理装置。
  15.  請求項11~請求項14の何れか1項に記載の情報処理装置であって、
     前記ルーム対応画像の一つを特定する操作入力に応じて、当該ルーム対応画像に対応するチャットルームへ参加するための処理を実行する参加処理実行手段を備えた
     ことを特徴とする情報処理装置。
  16.  情報処理装置とサーバ装置とがネットワークを介してメッセージデータを送受信可能に接続されたチャットシステムの前記情報処理装置であって、
     記憶手段と、
     前記サーバ装置のチャットルームへの参加によって前記情報処理装置が前記サーバ装置から受信するチャット履歴情報を、その受信日時と前記チャットルームを特定するルーム特定情報とに関連付けて前記記憶手段に記憶する記憶制御手段と、
     前記チャット履歴情報を時系列に並べた画像を、前記チャットルームのチャット画面に含めて表示手段に表示する表示制御手段と、を備えた
     ことを特徴とする情報処理装置。
  17.  請求項16に記載の情報処理装置であって、
     前記記憶手段は、前記ルーム特定情報に関連付けられたルーム属性情報を記憶し、
     前記表示制御手段は、前記チャットルームのルーム特定情報に関連付けられたルーム属性情報を、当該チャットルームのチャット画面に含めて表示する
     ことを特徴とする情報処理装置。
  18.  情報処理装置とサーバ装置とがネットワークを介してメッセージデータを送受信可能に接続されたチャットシステムの前記情報処理装置が実行する画像表示方法であって、
     チャットシステムにおいて当該情報処理装置が参加可能なチャットルームを特定するルーム特定情報と、このルーム特定情報に関連付けられたルーム属性情報とを、記憶手段が記憶し、
     前記ルーム特定情報と前記ルーム属性情報とが関連付けられていることが視認可能な態様で、前記ルーム特定情報に対応するルーム対応画像と前記ルーム属性情報とを、表示制御手段が表示手段に表示する
     ことを特徴とする画像表示方法。
  19.  情報処理装置とサーバ装置とがネットワークを介してメッセージデータを送受信可能に接続されたチャットシステムの前記情報処理装置が実行する画像表示方法であって、
     前記サーバ装置のチャットルームへの参加によって前記情報処理装置が前記サーバ装置から受信するチャット履歴情報を、その受信日時と前記チャットルームを特定するルーム特定情報とに関連付けて、記憶制御手段が記憶手段に記憶し、
     前記チャット履歴情報を時系列に並べた画像を、前記チャットルームのチャット画面に含めて、表示制御手段が表示手段に表示する
     ことを特徴とする画像表示方法。
  20.  情報処理装置とサーバ装置とがネットワークを介してメッセージデータを送受信可能に接続されたチャットシステムの前記情報処理装置のコンピュータを、
     前記チャットシステムにおいて当該情報処理装置が参加可能なチャットルームを特定するルーム特定情報と、このルーム特定情報に関連付けられたルーム属性情報とを記憶する記憶手段と、
     前記ルーム特定情報と前記ルーム属性情報とが関連付けられていることが視認可能な態様で、前記ルーム特定情報に対応するルーム対応画像と前記ルーム属性情報とを表示手段に表示する表示制御手段と、して機能させる
     ことを特徴とする画像処理プログラム。
  21.  情報処理装置とサーバ装置とがネットワークを介してメッセージデータを送受信可能に接続されたチャットシステムの前記情報処理装置のコンピュータを、
     前記サーバ装置のチャットルームへの参加によって前記情報処理装置が前記サーバ装置から受信するチャット履歴情報を、その受信日時と前記チャットルームを特定するルーム特定情報とに関連付けて記憶手段に記憶する記憶制御手段と、
     前記チャット履歴情報を時系列に並べた画像を、前記チャットルームのチャット画面に含めて表示手段に表示する表示制御手段と、して機能させる
     ことを特徴とする画像処理プログラム。
  22.  請求項20又は請求項21に記載の画像処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体。
  23.  請求項1に記載のチャットシステムであって、
     前記情報処理装置は、ゲーム処理を実行するゲーム実行手段を有し、
     前記サーバ側送受信手段は、前記一つのチャットルームに対して関連付けて登録された情報処理装置のユーザを特定するチャット参加者情報を送信し、
     前記端末側送受信手段は、前記チャット参加者情報を受信し、
     前記ゲーム実行手段は、前記端末側送受信手段が受信した前記チャット参加者情報を取得する
     ことを特徴とするチャットシステム。
PCT/JP2010/054608 2009-03-23 2010-03-17 チャットシステム、サーバ装置、チャット方法、チャット実行プログラム、チャット実行プログラムが記憶された記憶媒体、情報処理装置、画像表示方法、画像処理プログラム、画像処理プログラムが記憶された記憶媒体 WO2010110155A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/258,082 US8725819B2 (en) 2009-03-23 2010-03-17 Chat system, server device, chat method, chat execution program, storage medium stored with chat execution program, information processing unit, image display method, image processing program, storage medium stored with image processing program
JP2011506003A JP5534469B2 (ja) 2009-03-23 2010-03-17 チャットシステム、チャット方法、チャット実行プログラム、チャット実行プログラムが記憶された記憶媒体、情報処理装置、画像表示方法、画像処理プログラム、画像処理プログラムが記憶された記憶媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-071017 2009-03-23
JP2009071017 2009-03-23

Publications (1)

Publication Number Publication Date
WO2010110155A1 true WO2010110155A1 (ja) 2010-09-30

Family

ID=42780848

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/054608 WO2010110155A1 (ja) 2009-03-23 2010-03-17 チャットシステム、サーバ装置、チャット方法、チャット実行プログラム、チャット実行プログラムが記憶された記憶媒体、情報処理装置、画像表示方法、画像処理プログラム、画像処理プログラムが記憶された記憶媒体

Country Status (3)

Country Link
US (1) US8725819B2 (ja)
JP (1) JP5534469B2 (ja)
WO (1) WO2010110155A1 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013077059A (ja) * 2011-09-29 2013-04-25 Ricoh Co Ltd 対話システム
JP2014511526A (ja) * 2011-02-18 2014-05-15 アビニシオ テクノロジー エルエルシー ソート
JP2016019756A (ja) * 2015-09-07 2016-02-04 株式会社 ディー・エヌ・エー 音声チャット管理装置及び方法
JP2017187995A (ja) * 2016-04-07 2017-10-12 国立大学法人 鹿児島大学 ソーシャルメディアシステム及びプログラム
KR101801596B1 (ko) 2015-04-07 2017-11-28 한국전자통신연구원 푸시 알림 시스템 및 방법
JP2018088224A (ja) * 2016-11-30 2018-06-07 キヤノンマーケティングジャパン株式会社 監視サーバ、制御方法、プログラム
JP2019000219A (ja) * 2017-06-13 2019-01-10 任天堂株式会社 通信システム、サーバ、情報処理方法及びプログラム
JP2019107545A (ja) * 2019-04-10 2019-07-04 グリー株式会社 通信システム、通信システムの制御方法、及びプログラム
JP2021043956A (ja) * 2019-07-26 2021-03-18 スラック テクノロジーズ, インコーポレイテッド グループベースコミュニケーションチャンネルに関連付けられたチャンネルタイトルを管理するよう構成されたグループベースコミュニケーションシステム及び装置
JP2021086245A (ja) * 2019-11-26 2021-06-03 ウイングアーク1st株式会社 チャットシステムおよびチャット管理装置
JP2021516835A (ja) * 2018-05-24 2021-07-08 スラック テクノロジーズ, インコーポレイテッド グループベースコミュニケーションシステムにおいて共通メッセージユーザーインターフェイスを維持及びアップデートするためのシステム、方法、及び装置
US12063122B2 (en) 2021-12-30 2024-08-13 Kakao Corp. Method for operating voice chat room dependent on message chat room, and server and terminal for performing the same

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011209926A (ja) * 2010-03-29 2011-10-20 Fujifilm Corp チャット・システムに用いられるチャット中継サーバおよびチャット端末装置,これらの制御方法,ならびにチャット・システム
US8694613B2 (en) * 2010-11-22 2014-04-08 Sony Corporation Client device, information processing method, and information processing system
US8856870B1 (en) * 2011-01-03 2014-10-07 Intellectual Ventures Fund 79 Llc Methods, devices, and mediums associated with dynamic forum generation
JP6035705B2 (ja) * 2011-03-30 2016-11-30 ソニー株式会社 情報処理装置および方法、端末装置、並びに情報処理システム
US9369543B2 (en) 2011-05-27 2016-06-14 Microsoft Technology Licensing, Llc Communication between avatars in different games
US8814693B2 (en) * 2011-05-27 2014-08-26 Microsoft Corporation Avatars of friends as non-player-characters
US8935764B2 (en) * 2012-08-31 2015-01-13 Hewlett-Packard Development Company, L.P. Network system for implementing a cloud platform
KR101467248B1 (ko) * 2012-10-26 2014-12-02 (주)카카오 모바일 보이스 오버 인터넷 프로토콜을 이용하여 그룹 통화 서비스를 제공하는 어플리케이션의 동작 방법
CN103023913B (zh) * 2012-12-26 2016-02-17 腾讯科技(深圳)有限公司 一种语音通信的建立方法、装置和系统
US10659288B2 (en) 2013-02-21 2020-05-19 Gree, Inc. Method for controlling server device, recording medium, server device, terminal device, and system
US9794080B2 (en) * 2013-04-28 2017-10-17 Tencent Technology (Shenzhen) Company Limited Method and apparatus for establishing chat group
CN103347003B (zh) * 2013-06-19 2016-03-02 腾讯科技(深圳)有限公司 一种语音互联方法、装置及系统
KR102057944B1 (ko) 2013-09-17 2019-12-23 삼성전자주식회사 단말 장치 및 그의 공유 방법
US9727752B2 (en) * 2013-09-25 2017-08-08 Kairos Social Solutions, Inc. Device, system, and method of identifying a specific user from a profile image containing multiple people
KR101654261B1 (ko) 2015-06-25 2016-09-05 주식회사 카카오 링크 정보에 대응하는 오픈 채팅방을 통해 메시지 서비스를 제공하는 메시지 서비스 제공 방법 및 상기 메시지 서비스 제공 방법을 수행하는 메시지 서버 및 단말
KR102395799B1 (ko) * 2015-07-09 2022-05-10 삼성전자주식회사 메신저 서비스를 제공하는 장치 및 방법
JP6729590B2 (ja) * 2015-07-24 2020-07-22 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
CN106953790B (zh) * 2016-01-07 2020-12-15 钉钉控股(开曼)有限公司 多人信息交流方法和装置
WO2018060834A2 (en) * 2016-10-01 2018-04-05 Angusamy Eswaramoorthy Method and system for providing topic based organized communication
US20180198831A1 (en) * 2017-01-11 2018-07-12 International Business Machines Corporation Proactive chatting and instant messaging group management
JP2018156646A (ja) * 2017-03-15 2018-10-04 キャンプ モバイル コーポレーション 外部デバイスを利用したモバイルデバイスにおけるチャット方法およびシステム
JP6996872B2 (ja) * 2017-06-13 2022-01-17 任天堂株式会社 通信システム、サーバ、情報処理方法及びプログラム
US10033674B1 (en) * 2017-07-21 2018-07-24 CallFire, Inc. Communication management system
KR101999780B1 (ko) * 2017-12-11 2019-09-27 주식회사 카카오 가상 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법
US20220229859A1 (en) * 2019-03-15 2022-07-21 Zachory O'neill System for site survey
US11904247B2 (en) * 2019-06-06 2024-02-20 Sony Interactive Entertainment Inc. Information processing apparatus and image display method for superimposing another image on a content image
JP7387396B2 (ja) * 2019-11-13 2023-11-28 キヤノン株式会社 画像処理装置、その制御方法及びプログラム
US12079641B2 (en) * 2022-08-03 2024-09-03 Moore Threads Technology Co., Ltd. Machine learning based power and performance optimization system and method for graphics processing units

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044419A (ja) * 2001-07-31 2003-02-14 Logical Tech Co Ltd チャットサーバ装置、チャットプログラムおよびチャット方法
JP2003150820A (ja) * 2001-08-28 2003-05-23 Square Co Ltd サーバ装置、オークション処理方法、オークション処理プログラム、及びオークション処理プログラムを記録した記録媒体
JP2005167345A (ja) * 2003-11-28 2005-06-23 Sony Corp コミュニケーションシステム、コミュニケーション方法、端末装置、情報提示方法、メッセージ交換装置およびメッセージ交換方法
JP2005530233A (ja) * 2002-06-17 2005-10-06 ポルタ ラネリ,エセ アー 同じウェブページを訪問するユーザ間で可能な通信

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496851B1 (en) * 1999-08-04 2002-12-17 America Online, Inc. Managing negotiations between users of a computer network by automatically engaging in proposed activity using parameters of counterproposal of other user
US6788667B1 (en) * 2000-06-20 2004-09-07 Nokia Corporation Wireless access to wired network audio services using mobile voice call
JP2002183065A (ja) 2000-12-18 2002-06-28 Casio Comput Co Ltd 翻訳支援装置、翻訳支援方法、翻訳支援プログラムが記憶された記録媒体
US6931114B1 (en) * 2000-12-22 2005-08-16 Bellsouth Intellectual Property Corp. Voice chat service on telephone networks
JP2002251364A (ja) 2001-02-21 2002-09-06 Square Co Ltd 電子会議室システム
JP2003178016A (ja) 2001-12-11 2003-06-27 Sony Corp サービス提供システム、情報提供装置および方法、情報処理装置および方法、並びにプログラム
US7487248B2 (en) * 2002-10-08 2009-02-03 Brian Moran Method and system for transferring a computer session between devices
US7360164B2 (en) * 2003-03-03 2008-04-15 Sap Ag Collaboration launchpad
US7603413B1 (en) * 2005-04-07 2009-10-13 Aol Llc Using automated agents to facilitate chat communications
US9021041B2 (en) * 2006-06-29 2015-04-28 Nextpat Limited System to provide integrated on-line support

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044419A (ja) * 2001-07-31 2003-02-14 Logical Tech Co Ltd チャットサーバ装置、チャットプログラムおよびチャット方法
JP2003150820A (ja) * 2001-08-28 2003-05-23 Square Co Ltd サーバ装置、オークション処理方法、オークション処理プログラム、及びオークション処理プログラムを記録した記録媒体
JP2005530233A (ja) * 2002-06-17 2005-10-06 ポルタ ラネリ,エセ アー 同じウェブページを訪問するユーザ間で可能な通信
JP2005167345A (ja) * 2003-11-28 2005-06-23 Sony Corp コミュニケーションシステム、コミュニケーション方法、端末装置、情報提示方法、メッセージ交換装置およびメッセージ交換方法

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014511526A (ja) * 2011-02-18 2014-05-15 アビニシオ テクノロジー エルエルシー ソート
JP2013077059A (ja) * 2011-09-29 2013-04-25 Ricoh Co Ltd 対話システム
KR101801596B1 (ko) 2015-04-07 2017-11-28 한국전자통신연구원 푸시 알림 시스템 및 방법
JP2016019756A (ja) * 2015-09-07 2016-02-04 株式会社 ディー・エヌ・エー 音声チャット管理装置及び方法
JP2017187995A (ja) * 2016-04-07 2017-10-12 国立大学法人 鹿児島大学 ソーシャルメディアシステム及びプログラム
JP2018088224A (ja) * 2016-11-30 2018-06-07 キヤノンマーケティングジャパン株式会社 監視サーバ、制御方法、プログラム
JP7061848B2 (ja) 2017-06-13 2022-05-02 任天堂株式会社 通信システム、サーバ、情報処理方法及びプログラム
JP2019000219A (ja) * 2017-06-13 2019-01-10 任天堂株式会社 通信システム、サーバ、情報処理方法及びプログラム
JP7079369B2 (ja) 2018-05-24 2022-06-01 スラック テクノロジーズ, エルエルシー グループベースコミュニケーションシステムにおいて共通メッセージユーザーインターフェイスを維持及びアップデートするためのシステム、方法、及び装置
JP6991365B2 (ja) 2018-05-24 2022-01-12 スラック テクノロジーズ エルエルシー グループベースコミュニケーションシステムにおいて共通メッセージユーザーインターフェイスを維持及びアップデートするためのシステム、方法、及び装置
JP2022037059A (ja) * 2018-05-24 2022-03-08 スラック テクノロジーズ, エルエルシー グループベースコミュニケーションシステムにおいて共通メッセージユーザーインターフェイスを維持及びアップデートするためのシステム、方法、及び装置
JP2021516835A (ja) * 2018-05-24 2021-07-08 スラック テクノロジーズ, インコーポレイテッド グループベースコミュニケーションシステムにおいて共通メッセージユーザーインターフェイスを維持及びアップデートするためのシステム、方法、及び装置
JP6991365B6 (ja) 2018-05-24 2022-01-28 スラック テクノロジーズ, インコーポレイテッド グループベースコミュニケーションシステムにおいて共通メッセージユーザーインターフェイスを維持及びアップデートするためのシステム、方法、及び装置
JP2019107545A (ja) * 2019-04-10 2019-07-04 グリー株式会社 通信システム、通信システムの制御方法、及びプログラム
JP2021098100A (ja) * 2019-04-10 2021-07-01 グリー株式会社 通信システム、通信システムの制御方法、及びプログラム
JP7062111B2 (ja) 2019-04-10 2022-05-02 グリー株式会社 通信システム、通信システムの制御方法、及びプログラム
JP2022087354A (ja) * 2019-04-10 2022-06-09 グリー株式会社 通信システム、通信システムの制御方法、及びプログラム
JP7360658B2 (ja) 2019-04-10 2023-10-13 グリー株式会社 通信システム、通信システムの制御方法、及びプログラム
JP2021043956A (ja) * 2019-07-26 2021-03-18 スラック テクノロジーズ, インコーポレイテッド グループベースコミュニケーションチャンネルに関連付けられたチャンネルタイトルを管理するよう構成されたグループベースコミュニケーションシステム及び装置
US11115446B2 (en) 2019-11-26 2021-09-07 Wingarc1St Inc. Chat system and chat management apparatus
JP2021086245A (ja) * 2019-11-26 2021-06-03 ウイングアーク1st株式会社 チャットシステムおよびチャット管理装置
JP7381305B2 (ja) 2019-11-26 2023-11-15 ウイングアーク1st株式会社 チャットシステムおよびチャット管理装置
US12063122B2 (en) 2021-12-30 2024-08-13 Kakao Corp. Method for operating voice chat room dependent on message chat room, and server and terminal for performing the same
JP7547455B2 (ja) 2021-12-30 2024-09-09 株式会社カカオ メッセージチャットルームに従属されるオーディオチャットルームの運営方法およびこれを行うサーバーおよび端末

Also Published As

Publication number Publication date
JPWO2010110155A1 (ja) 2012-09-27
US20120110099A1 (en) 2012-05-03
JP5534469B2 (ja) 2014-07-02
US8725819B2 (en) 2014-05-13

Similar Documents

Publication Publication Date Title
JP5534469B2 (ja) チャットシステム、チャット方法、チャット実行プログラム、チャット実行プログラムが記憶された記憶媒体、情報処理装置、画像表示方法、画像処理プログラム、画像処理プログラムが記憶された記憶媒体
JP5162508B2 (ja) クライアント装置、画像表示方法、画像処理プログラム、画像処理プログラムが記憶された記憶媒体
US9716678B2 (en) Network server and computer system for providing access to user profiles
JP7133606B2 (ja) マッチングシステム、プログラム、情報処理端末及びサーバ
JP4950978B2 (ja) 情報処理装置および情報処理方法
JP5336338B2 (ja) コミュニケーションシステムおよびコミュニケーション方法
KR20080086881A (ko) 컴퓨터-기반 게임 그룹 상호작용을 위한 방법, 컴퓨터-기반게임 환경 내에서의 그룹 상호작용을 위한 시스템 및 게임콘솔
JP2002248273A (ja) ビデオゲーム装置およびその制御方法、ならびにビデオゲームのプログラムおよびそのプログラムを記録したコンピュータ読取り可能な記録媒体。
JP2009055988A (ja) 通信システム、通信装置、通信サーバ、通信方法、ならびに、プログラム
KR20220047724A (ko) 멀티플레이어 게임 세션 구축을 위한 게임 중개 인프라
JP2003047778A (ja) 管理サーバ、ゲーム制御方法およびその記録媒体ならびにコンピュータプログラム
KR101578950B1 (ko) 가상 환경에서의 통신 세션 표시 방법, 컴퓨터 프로그램 제품, 서버 컴퓨터 시스템, 시스템 동작 방법 및 컴퓨터 시스템
JP6479700B2 (ja) イベント管理サーバー、情報処理システム、およびイベント実現方法
JP5712174B2 (ja) ゲーム装置及びプログラム
JP2023165606A (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP6531196B2 (ja) 音声チャットを可能とするシステム、方法及びプログラム
JP2003047776A (ja) ゲームシステム、ゲーム制御方法およびその記録媒体ならびにコンピュータプログラム
JP5296896B2 (ja) 情報処理装置および情報処理方法
JP7396714B1 (ja) ゲームシステム、ゲームシステムの制御方法およびプログラム
JP7493085B1 (ja) プログラム、情報処理システム、および情報処理方法
JP7265061B1 (ja) プログラム、情報処理システム、および情報処理方法
JP7389286B1 (ja) プログラム、情報処理装置、および情報処理システム
JPWO2015093506A1 (ja) キャプチャ制御システム、キャプチャ制御方法、プログラム、情報記憶媒体及び情報処理装置
JP2024109252A (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2024017417A (ja) 情報処理プログラム、情報処理装置、サーバ装置、情報処理システム、情報処理方法

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: 10755953

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011506003

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13258082

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 10755953

Country of ref document: EP

Kind code of ref document: A1