WO2022264990A1 - 情報処理装置、データ同期プログラム、データ同期方法、データ同期システム及び端末装置 - Google Patents
情報処理装置、データ同期プログラム、データ同期方法、データ同期システム及び端末装置 Download PDFInfo
- Publication number
- WO2022264990A1 WO2022264990A1 PCT/JP2022/023718 JP2022023718W WO2022264990A1 WO 2022264990 A1 WO2022264990 A1 WO 2022264990A1 JP 2022023718 W JP2022023718 W JP 2022023718W WO 2022264990 A1 WO2022264990 A1 WO 2022264990A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- client
- information
- synchronization
- ownership
- target object
- Prior art date
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 123
- 238000000034 method Methods 0.000 title abstract description 61
- 230000001360 synchronised effect Effects 0.000 claims abstract description 194
- 230000005540 biological transmission Effects 0.000 claims abstract description 71
- 230000008859 change Effects 0.000 claims description 142
- 238000012546 transfer Methods 0.000 claims description 38
- 230000010076 replication Effects 0.000 claims description 20
- 230000004913 activation Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 49
- 238000012545 processing Methods 0.000 abstract description 38
- 238000007726 management method Methods 0.000 description 178
- 238000012876 topography Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 17
- 230000015654 memory Effects 0.000 description 17
- 238000013461 design Methods 0.000 description 15
- 230000000694 effects Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 230000001934 delay Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000004088 simulation Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 238000013515 script Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 230000002250 progressing effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 241000209202 Bromus secalinus Species 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 210000005155 neural progenitor cell Anatomy 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/31—Communication aspects specific to video games, e.g. between several handheld game devices at close range
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5526—Game data structure
- A63F2300/5533—Game data structure using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5593—Details of game data or player data management involving scheduling aspects
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8082—Virtual reality
Definitions
- the present invention relates to an information processing device, a data synchronization program, a data synchronization method, a data synchronization system, and a terminal device.
- Patent Document 1 an information processing device that synchronizes a user object of a user terminal and a simulation target of a simulator has been proposed (see Patent Document 1, for example).
- the information processing apparatus disclosed in Patent Document 1 is connected to an individual simulator that simulates a predetermined behavior of a simulation target, and a user terminal that determines the behavior of a user object according to an instruction input by a user.
- the processing device holds a copy of the user object and the simulation target, and the user terminal transmits the information of the simulation target to the individual simulator via the information processing device at each synchronization timing determined based on the predetermined timing determination rule. , and predicts the behavior of the simulated object based on the information of the simulated object that was last obtained outside the synchronization timing, and presents the result of the prediction to the user.
- Such a configuration reduces the processing load and the communication load.
- Patent Literature 1 holds a copy of the user object and the simulation target, and transmits the copy of the simulation target included in the visual field range of the user object to the user terminal, thereby reducing processing load and communication load. Although it reduces the impact, the information processing device performs collision determination for the simulation target and notifies the corresponding simulator to perform the interaction. Since copies of user objects and other objects to be simulated are not sent to the simulator, the problem is that it cannot be applied as is to the situation in which data of multiple user terminals are synchronized in a configuration in which multiple user terminals participate. There is This problem is especially true in the Metaverse and Massively Multiplayer Online Games (MMOG), where a large number of user terminals participate, and users can freely join or leave in the middle and the user terminals change at any time. manifest.
- MMOG Metaverse and Massively Multiplayer Online Games
- an object of the present invention is to provide an information processing apparatus, a data synchronization program, a data synchronization program, and a data synchronization program that suppress an increase in processing load and communication load in a situation in which a plurality of user terminals participate in data synchronization.
- a synchronization method, a data synchronization system and a terminal device are provided.
- One aspect of the present invention provides the following information processing device, data synchronization program, data synchronization method, data synchronization system, and terminal device in order to achieve the above object.
- An information processing device connected by a network to a plurality of clients participating in one or more virtual spaces,
- the synchronization target object in the virtual space is synchronized between clients of a synchronization group composed of a client having ownership of the synchronization target object and a client having no ownership of the synchronization target object,
- the management information managed for each synchronization target object defines a client having ownership of the synchronization target object, and the management information defines a client that is the transmission source of the synchronization target object.
- the client belongs to one or more of the synchronization groups.
- the synchronization group includes clients that synchronize user information with each other among the objects to be synchronized.
- the synchronization group is composed of clients that synchronize topography information for reproducing contents constituting a virtual space among the objects to be synchronized.
- the receiving means receives a synchronization target object owned by the client and stores it in a recording medium as the replicated object;
- the transmission means transmits the duplicate object to the client as an object to be synchronized by the client.
- the receiving means duplicates the newly generated object as a synchronization target object and stores the duplicated object in a recording medium.
- the transmitting means transfers the duplicate object or the synchronization target object stored in the recording medium to the plurality of clients according to the ownership.
- the information processing apparatus according to any one of [13] to [15], which transmits to a client other than the client having the above.
- the information processing apparatus according to any one of [13] to [15], wherein the receiving means does not receive change content information of the synchronization target object from a client other than a client having ownership of the synchronization target object.
- the updating means does not update the replication object when the receiving means receives change content information of the synchronization target object from a client other than a client having ownership of the synchronization target object.
- the information processing device according to any one of . [19]
- the transmission means transmits the change content information to the client having the ownership.
- the information processing apparatus according to any one of [13] to [15]. [20] Any one of [13] to [15] above, wherein the receiving means receives a difference from the synchronization target object before change as change content information of the synchronization target object, and updates the replication object.
- the information processing device When the client leaves the synchronization group in which the plurality of clients participate, the transfer of ownership permits the ownership of the replication object corresponding to the synchronization target object that the client had ownership of.
- the information processing apparatus according to any one of [13] to [15], further functioning as management means for transferring to a client other than the client in accordance with a predetermined rule when the information processing device has been set.
- a data synchronization program for functioning a networked computer with multiple clients participating in a virtual space comprising: The object to be synchronized in the virtual space is synchronized between clients of a synchronization group composed of a client having ownership of the object and a client having no ownership of the object, Receiving means for receiving change content information of the synchronization target object from each client having ownership of the synchronization target object;
- the management information managed for each synchronization target object defines a client having ownership of the synchronization target object, and the client of the transmission source in the management information defines the ownership of the synchronization target object.
- a data synchronization program for functioning as transmission means for transmitting the change content information to clients other than the client having the ownership among the clients of the synchronization group.
- An information processing device connected to the plurality of clients via a network, The object to be synchronized in the virtual space is synchronized between clients of a synchronization group composed of a client having ownership of the object and a client having no ownership of the object, Receiving means for receiving change content information of the synchronization target object from each client having ownership of the synchronization target object;
- the management information managed for each synchronization target object defines a client having ownership of the synchronization target object, and the management information defines a client that is the transmission source of the synchronization target object.
- a data synchronization system comprising: an information processing device having transmission means for transmitting the change content information to a client other than the client having the ownership among the clients of the synchronization group.
- a terminal device as a client that participates in a virtual space and is connected to other clients via a network via an information processing device,
- the object to be synchronized in the virtual space is synchronized between clients of a synchronization group composed of a client having ownership of the object and a client having no ownership of the object,
- the management information managed for each synchronization target object defines a client having ownership of the synchronization target object, and the management information defines a client that is the transmission source of the synchronization target object.
- receiving means for receiving, via the information processing apparatus, information about changes to the synchronization target object from a client having ownership of the synchronization target object only when the client is defined as a client having ownership; updating means for updating a duplicate object obtained by duplicating the synchronization target object according to the change content information;
- a terminal device serving as a client that is communicatively connected to the information processing device, and has transmission means for transmitting the change content information to a client other than the client having the ownership among the clients of the synchronization group.
- a terminal device as a client that participates in a virtual space and is connected to other clients via a network via an information processing device,
- the object to be synchronized in the virtual space is synchronized between clients of a synchronization group composed of a client having ownership of the object and a client having no ownership of the object, If the replication object that replicated the synchronization target object is updated in the self client, Management information managed for each synchronization target object, wherein the management information defining a client having ownership of the synchronization target object is referred to, and in the management information, the self-client owns the synchronization target object.
- a virtual space management and provision device connected by a network to a plurality of clients participating in one or more virtual spaces,
- the synchronization target object in the virtual space is synchronized between clients of a synchronization group composed of a client having ownership of the synchronization target object and a client having no ownership of the synchronization target object,
- the management information managed for each synchronization target object defines a client having ownership of the synchronization target object, and the management information defines a client that is the transmission source of the synchronization target object.
- update means for updating a replicated object, which is a replica of the synchronization target object, according to the change content information when defined as a client having ownership; and a transmission means for transmitting the change content information to clients of the synchronization group other than the client having the ownership.
- the present invention in a configuration in which a plurality of user terminals participate, it is possible to suppress an increase in processing load and communication load in a situation where data of a plurality of user terminals are synchronized.
- FIG. 1 is a schematic diagram showing an example of the configuration of a synchronization system according to an embodiment.
- FIG. 2 is a schematic diagram showing the relationship between terrain information (areas) and rooms (worlds).
- FIG. 3 is a block diagram illustrating a configuration example of a server device according to the embodiment;
- FIG. 4 is a diagram showing the structure of terrain information (area management information).
- FIG. 5 is a diagram showing the structure of room management information.
- FIG. 6 is a diagram showing the configuration of participant management information for a certain room.
- FIG. 7 is a diagram showing the configuration of replica management information for a certain area.
- FIG. 8 is a diagram showing the configuration of replica management information for a certain room.
- FIG. 9 is a flowchart for explaining an example of synchronous operation.
- FIG. 9 is a flowchart for explaining an example of synchronous operation.
- FIG. 10 is a flowchart for explaining an example of a synchronization operation based on ownership.
- FIG. 11 is a flowchart for explaining an example of a synchronous operation in halfway participation.
- FIG. 12 is a flow chart for explaining an example of a synchronous operation for leaving halfway.
- FIG. 13 is a flow chart for explaining another example of the synchronous operation when leaving halfway.
- FIG. 14 is a flowchart for explaining an example of synchronous operation when the area owner joins midway.
- FIG. 15 is a flow chart for explaining another example of the synchronization operation when the area owner joins midway.
- FIG. 16 is a diagram showing the relationship between the synchronization operations of area information synchronization objects managed for each area and non-area information synchronization objects managed for each room.
- a plurality of participants performs activities in a common virtual space, such as Metaverse and Massively Multiplayer Online Game (MMOG).
- MMOG Metaverse and Massively Multiplayer Online Game
- the ground, buildings, rooms and their accompanying objects (furniture, clocks, doors, etc.), services provided in the ground, buildings, and rooms, programs executed in the services, etc. are prepared.
- terrain information which will be described later.
- the terrain information of the virtual space corresponds to the content information of the experience (hereinafter sometimes referred to as "game experience") that can be performed in the virtual space.
- the server centrally manages these topographical information, and it is possible to acquire them from the server when participating in the virtual space.
- the activities of the participants are related to each other over time in the virtual space.
- a plurality of virtual characters operated by a plurality of participants interacts, fights, fights together, cooperates, or collects items over time. This activity increases or decreases the character's experience points for items, battle-related numbers, and actions.
- the ground, buildings, rooms, and objects attached to these included in the terrain information also change depending on the operation of the character (for example, deformation of the ground, extension or demolition of buildings, movement of furniture, operation of clocks, opening and closing of doors, etc.).
- Rooms worlds, areas
- participants can freely create, modify, and customize, such as the participant's home world and participant-created worlds.
- It can be an individual room that expresses the world view of your favorite hobby (anime, space travel, cats, mini games, dungeons, etc.), or a corporate room for online sales, showrooms, or exhibitions.
- Room, world, and area are often synonymous with virtual space, but in the present embodiment, area and room correspond to a certain area in which an experience can be shared in all or part of the virtual space.
- the virtual space refers to the entire virtual space provided by the present embodiment (aggregate of certain areas divided as a place for sharing experiences, or virtual space applications and virtual space services using the present embodiment). It can mean the entire virtual space provided by), or it can mean a part of the virtual space, which is a certain area divided as a place to share experiences.
- the former may be called one or more virtual spaces, etc., and the latter may be called an area or room, as will be described later, when it is necessary to distinguish them. Due to various restrictions and circumstances, there may be multiple virtual spaces (corresponding to rooms) where you can experience the same content (corresponding to areas).
- the participants it is a parallel world state), and although they can experience the contents of the same area, they may not be able to meet each other in the virtual space (room).
- the content of the virtual space itself is called a uniquely existing area, and the virtual space actually experienced by the participants who participate in the area is called a room having zero or more. If there is only a single virtual experience space (room) that can participate in a single virtual space (area), area and room are almost synonymous.
- the above synchronization target objects are classified into two types: area information and non-area information.
- the area information is the terrain information described above, and is area attribute information necessary to reproduce the contents (areas) that make up the virtual space regardless of the terrain. Rooms and their accompanying objects may also change according to the character's operation (eg, deformation of the ground, extension or demolition of buildings, movement of furniture, operation of clocks, opening and closing of doors, etc.).
- Non-area information is synchronization target information other than area information, and is mainly attribute information of participants. They are characters, owned items, numerical values related to battles, experience values related to actions, and so on. The boundary between area information and non-area information, and the specification of objects to be synchronized can be changed by game design.
- area information manages the contents of the area, and the results of collaborative work are applied and retained.
- non-area information manages the status of users active in the room and their belongings, and maintains the progress of work in progress (hereinafter referred to as the status of users active in the virtual space and their belongings)
- Avatar, equipment and belongings such as clothing and weapons, which are information managed and operated uniquely by the user, are sometimes collectively referred to as user information.By sharing user information with each other, virtual space (room ) participants can recognize and share each other's avatar activities.).
- Area information and non-area information are typically terrain information and user information, but are not limited to them. However, in the following description, terrain information and user information will be mainly described, but the respective descriptions can be read as descriptions of area information and non-area information.
- the shared virtual space is divided, or the same virtual space (room, world) is prepared by setting a limit on the number of participants.
- participants in different rooms cannot share the game experience. Therefore, it is desirable for all participants to be in the same room in order to fully share the gaming experience.
- a synchronization system for increasing the number of shared objects and participants that can be accommodated in a single room (world) and suppressing synchronization delays will be described.
- a synchronization system for simplifying the method of specifying, selecting, and sharing rooms to participate in will be described.
- a synchronization system is described to facilitate customizing (creating, editing, deleting, etc.) grounds, buildings, rooms, and their accompanying objects contained in terrain information.
- FIG. 1 is a schematic diagram showing an example of the configuration of a synchronization system according to an embodiment.
- This synchronization system is configured by connecting a server device 1 as an information processing device and terminal devices 2a, 2b, and 2c as clients so that they can communicate with each other via a network.
- the device or network may be a cloud, a personal computer, a game terminal, a LAN, the Internet, a virtual machine, a virtual network, or the like.
- the server device 1 is a server-type information processing device that operates in response to requests from terminal devices 2a, 2b, and 2c operated by an operator, and has a function for processing information within its main body. Equipped with electronic components such as CPU (Central Processing Unit), HDD (Hard Disk Drive) or flash memory, volatile memory, LAN board (wireless/wired).
- the server device 1 communicates with the terminal devices 2a, 2b, and 2c and transmits and receives data to synchronize data handled on the terminal devices 2a, 2b, and 2c. etc.
- the server device 1 may be configured by a plurality of clusters, and may be configured to execute distributed processing. Alternatively, it may be configured as a virtual machine in a cloud environment.
- the terminal devices 2a, 2b, and 2c are terminal-type information processing devices that operate based on programs, and have electronic devices such as CPUs, HDDs, or flash memories that have functions for processing information in their main bodies. Have parts.
- the terminal devices 2a, 2b, and 2c are pre-installed with programs such as Metaverse and MMOG, and operate based on the programs. It receives data as a result of operations of other terminals from the device 1 and synchronizes objects frequently among the terminal devices 2a, 2b and 2c.
- the terminal device 2 is depicted as three devices, it may be a single device or two devices, or may be configured with four or more devices. To provide a configuration capable of communication even when connected.
- programs such as Metaverse and MMOG may be independent applications or may be programs that operate on a web browser.
- a network is a communication network capable of high-speed communication, for example, a wired or wireless communication network such as the Internet, an intranet, a LAN (Local Area Network), or a fifth generation mobile communication system (5G).
- a wired or wireless communication network such as the Internet, an intranet, a LAN (Local Area Network), or a fifth generation mobile communication system (5G).
- 5G fifth generation mobile communication system
- the server device 1 and the terminal devices 2a, 2b, and 2c synchronize information held as objects (synchronized objects) within each device as activities and games progress on the Metaverse.
- a copy of an object in each device is maintained as a replica (replicated object), and the replica is copied (as a tertiary copy) in each device while managing the ownership of the replica.
- Synchronous operation is assisted by sending and receiving (relaying). Note that the server device 1 does not actually perform a synchronous operation, but rather performs a relay. , and synchronous processing.
- the content of the replica of the server device 1 is updated only by updating the object in the terminal device of the user who has the ownership, and the object in the terminal device of the other user who does not have the ownership ( tertiary copy) is updated.
- Non-proprietary objects (tertiary copies) in terminals of other non-proprietary users are not updated.
- classes and instantiated classes may be collectively referred to as "objects.”
- object is a collection of processes for executing a program, and the class includes methods for executing the processes and fields as variables used by the methods when executing the processes.
- An object has zero or more fields, and each field has one or more field names and field values.
- FIG. 2 is a schematic diagram showing the relationship between areas (terrain information 111) and rooms (world).
- Terrain information 111a to 111c as area information defines the terrain and buildings (and their accessories) that are the stage of the metaverse or game. be.
- the server device 1 When the server device 1 accepts a user's desire to participate, the server device 1 causes the avatars 4a to 4c, which are incarnations of the user, to participate in the rooms 112a to 112c corresponding to the desired terrain information 111a to 111c (hereinafter referred to as the entire virtual space or Participating in a room to experience a part of an area is sometimes simply described as “participating in an area.” If there is only one room corresponding to an area, area participation and room participation are synonymous.
- the server device 1 may always hold all the area management information, all the room management information, and the corresponding replica management information 114 in its memory. It is realistic to hold only the necessary management information (area management information, room management information, and replica management information). That is, when all the avatars 4a to 4c disappear from a certain area or room (the number of participants becomes zero), the server device 1 saves the setting values of the corresponding management information and temporarily deletes them from the memory.
- the area management information, the room management information, and the replica management information corresponding to each are corresponding management information (area If management information, room management information, and replica management information) exists in the server device 1, the server device 1 participates in the corresponding management information. Participates in each management information generated (restored) by area management information, room management information, and replica management information. In addition, it is not limited only to the timing of saving setting values before deleting an area or room.
- the data management program 110 In order to permanently accumulate status update results regardless of the survival of areas and rooms (more strictly speaking, corresponding to the existence of area participants and room participants, respectively), the data management program 110, area management information 111 and In order to synchronize the objects corresponding to the contents held by the room management information 112, the respective contents are periodically updated at regular time intervals in order to synchronize them with the change results of the replica management information.
- the avatars participating in the rooms 112c and 112x can share the experience of changing the terrain information even if they cannot see each other.
- avatars participating in rooms 112c and 112x can share the results of changes in areas (terrain information 111) such as construction work and excavation work that can be shared by rooms without knowing each other's existence. work becomes possible.
- Room participants experience both synchronization of area management information and synchronization of non-area information (synchronization of information other than area management information within the room, such as avatars, objects, etc.) (see FIG. 16 below). ).
- the topography information 111a to 111c are managed by identifiers called area IDs
- the rooms 112a to 112c and 112x are managed by identifiers called room IDs.
- each area has a unique identifier, such as a URL (Uniform Resource Locator).
- URL Uniform Resource Locator
- URI Uniform Resource Identifier
- the server device 1 If the room corresponding to the specified area (geographical information) does not yet exist (is not active) in the server device 1, or if all the rooms corresponding to the specified area (geographical information) are fully occupied, the server device 1 is newly created. If a room corresponding to the specified area (geographical information) exists in the server device 1 and there is still room for the number of people (room capacity, etc.), one of the rooms with the room Join a room in progress. Furthermore, in order to participate by directly specifying existing specific rooms 112a-112c, 112x, such as mid-way participation by invitation from an existing participant, a unique URL can be specified for each room 112a-112c, 112x. may In that case, if the room you tried to join no longer exists for some reason, such as the invited participant leaving, process to prepare a new room in the corresponding area and join without an error. You may
- an area ID and an owner are defined for the areas (terrain information 111a to 111c), and the user who is the owner can edit the contents of the area such as the terrain information 111a to 111c.
- a URL unique to the area topography information 111a to 111c
- the web browser of the terminal device 2a, 2b, 2c, . . . By entering a URL on the page, the corresponding terrain information is loaded and can be edited.
- Various existing authentication methods such as terminal device authentication or user ID/password authentication, may be applied to the authentication at the time of joining the room and the authentication at the time of starting to edit the terrain of the area. Ownership is therefore not necessarily uniquely associated with a terminal device, and can be joined and edited as an owner from another terminal as appropriate.
- FIG. 3 is a block diagram showing a configuration example of the server device 1 according to the embodiment.
- the server device 1 is composed of a CPU (Central Processing Unit) and the like, controls each part, and also includes a control unit 10 that executes various programs, and a storage unit 11 that is composed of a storage medium such as a flash memory and stores information. , a memory 12 configured from a volatile recording medium for temporarily storing information, and a communication section 13 for communicating with the outside via a network.
- a CPU Central Processing Unit
- the server device 1 is composed of a CPU (Central Processing Unit) and the like, controls each part, and also includes a control unit 10 that executes various programs, and a storage unit 11 that is composed of a storage medium such as a flash memory and stores information. , a memory 12 configured from a volatile recording medium for temporarily storing information, and a communication section 13 for communicating with the outside via a network.
- a CPU Central Processing Unit
- control unit 10 controls topography information management means 100, topography information editing means 101, room management means 102, participant management means 103, data reception means 104, data transmission It functions as means 105, replica management means 106, data update means 107, and the like.
- the terrain information management means 100 manages terrain information 111, which is the terrain and buildings (and their accessories) that serve as the stage of the Metaverse or game. Specifically, it loads the topography information 111 to the room, manages the area ID, issues a URL as an example of an identifier corresponding to the topography information 111, updates the topography information 111, and the like.
- Identifiers are not limited to URLs, and if possible, they should not be used only for specific MMOGs or Metaverse apps, and it is desirable to have a general-purpose one that can be used in an open environment. ), etc., or a part of those identifiers, a character string containing those identifiers, or a byte string that is the result of an operation such as compression or encoding on those identifiers or character strings. .
- the terrain information editing means 101 edits the terrain information 111, especially terrain data, in response to requests from the terminal devices 2a-2c.
- Terrain data specifically includes terrain, buildings, and their attachments, and the terrain information editing means 101 changes the shape and layout of terrain and buildings, and changes the operation contents of terrain attachments. It also edits programs (scripts) that describe operations associated with terrain data (for example, opening and closing doors).
- editing means corresponding to non-terrain information such as avatars, monsters, equipment such as vehicles, and chat bulletin boards may be provided in the same manner as the terrain information editing means 101 .
- the room management means 102 generates, suspends, resumes, deletes, etc., a common virtual space, which is usually called a room with a room ID, and manages room management information 112 according to these operations.
- the participant management means 103 records the user ID of the participant who participates in the room, the socket ID of the terminal device of the participant, etc., and stores them in the storage unit 11 as the participant management information 113 of the room. .
- a system that provides only a single virtual space does not need to distinguish between rooms, so room IDs may not be necessary.
- the data receiving means 104 receives and copies zero or more arbitrary objects (including terrain data) from the terminal devices 2a, 2b, and 2c via the communication unit 13 as data to be synchronized, which are respectively owned.
- the replica 120a, the replica 120b, and the replica 120c are stored in the memory 12 as replicated objects.
- Data to be synchronized are objects such as topography information 111 loaded in the room, participants in the room, and items.
- a synchronous object related to area management information is managed in units of areas (replica management information 114A), and a synchronous object related to non-area information is managed in units of rooms (replica management information 114B).
- the data transmission means 105 transmits the replicas 120a, 120b, and 120c via the communication unit 13 to terminals determined as transmission destinations based on the transmission rules of the participant management information 113 and the replica management information 114A or 114B. .
- the replica management means 106 stores the replica ID of the replica 120a, the replica 120b, and the replica 120c, the user ID of the owner who owns the replica of the replica ID, Transmission rules indicating users to be synchronized and policies such as permission/prohibition of transfer are recorded, and replica management information 114A for each area and replica management information 114B for each room are used for replicas of area information and replicas of non-area information. , and stored in the storage unit 11 .
- the data update means 107 updates the difference from the terminal device of the user who has the ownership based on the replica management information 114A or 114B by the data reception means 104 when the objects corresponding to the replicas 120a, 120b, and 120c are updated. and update the corresponding replicas. Receiving the difference is preferable from the viewpoint of suppressing the information amount of the network, but the updated object itself may be received. Furthermore, the data transmission means 105 transmits the difference to the terminal determined as the transmission destination based on the participant management information 113 and the replica management information 114A or 114B. It should be noted that transmitting the difference is preferable from the viewpoint of suppressing the amount of network information, but the updated object itself may be transmitted. Note that the replica management information 114A is used for managing synchronization target objects of the terrain information 111, and the replica management information 114B is used for management of non-area information target objects such as characters such as avatars and items.
- the storage unit 11 stores a data management program 110 that causes the control unit 10 to operate as the means 100 to 107 described above, terrain information 111, room management information 112, participant management information 113, replica management information 114A and 114B, and the like.
- the storage unit uses a relational database, file system, or the like. For speeding up, an in-memory database such as Redis may be used or used together.
- the memory 12 temporarily stores the replicas 120a, 120b, 120c... and other information.
- terminal devices 2a, 2b, and 2c have the same configuration as the server device 1, and also include an operation unit and a display unit. A description of the parts that have the same configuration as the server device 1 will be omitted.
- FIG. 4 is a diagram showing the configuration of management information for all areas (all terrain information 111).
- the terrain information 111 is information about the terrain, buildings, and their attachments loaded into the virtual space room. When one virtual space (area) is created, one piece of terrain information ( equivalent) is created.
- the topography information 111 includes an area ID for identifying the topography information, topography data indicating the shape and arrangement of topography and buildings, operation contents of attachments to the topography, and the like, and for experiencing the virtual space represented by the area.
- the URL for specifying the area to participate in the room or accessing the editing page of the terrain information described later, the update date and time when the terrain information was updated, and the participant ID who created the room.
- the owner or editor indicating the ID of the participant who has ownership or editing rights to the room, the destination rule to which the replica of the terrain information should be sent for synchronization, and the terrain information for which the room has already been created 111, and a new room creation rule that defines a rule for creating a new room using .111.
- a new room creation rule that defines a rule for creating a new room using .111.
- the rules for creating a new room may be based on conditions such as "more than 2,000 participants", or may be based on external requests such as "accept requests from participants”. There may be.
- the area ID and URL are generated when the terrain information editing means 101 creates the terrain information (for one line).
- the terrain data is updated according to creation and editing by the terrain information editing means 101, and further according to the results of activities of the participants in the area that affect the terrain information. For example, depending on the various operation rights (creation, deletion, editing, reference, transfer of ownership) for the terrain information, the creator (creation only), the owner (creation, deletion, editing, reference, transfer of ownership are all allowed). ), editor (only editing and reference allowed), referrer (only reference allowed), etc., one or more participant IDs are designated and managed.
- the URL is issued in response to the owner's request, the URL itself, or the equivalent of the URL with operations such as shortening.
- FIG. 5 is a diagram showing the configuration of the room management information 112. As shown in FIG.
- the room management information 112 includes a room ID for identifying a room, which is a virtual space, an area ID indicating the terrain information 111 developed in the room, a URL for joining the room, and the date and time when the room was created. It has a certain creation date and time.
- FIG. 6 is a diagram showing the configuration of the participant management information 113. As shown in FIG. 6
- the participant management information 113 is created for each room, which is a virtual space, and includes a user ID for identifying a participant, the user name of the participant, the IP address of the terminal device operated by the participant and the server device 1, It has a socket ID of a socket (TCP socket or UDP socket) including information necessary for transmission and reception, such as a port number, and a participation date and time indicating the date and time of participation in the room.
- a socket TCP socket or UDP socket
- the role of the participant in the room, the group to which they belong, the transmission when updating the shared object, the selection rule of the synchronization target object to be received (close distance, within sight), the reception format or its preference (default) may be described.
- FIG. 7 is a diagram showing the configuration of replica management information 114A of synchronization target objects related to topography information managed for each area.
- Terrain information replica management information 114A is created for each area that is (a template of) a virtual space, and includes a list of active room IDs in the area, replica IDs for identifying replicas, and ownership of the replicas. It has an owner indicating the participant ID, a transmission rule under which the replica should be sent for synchronization, and a transfer indicating whether the ownership of the replica can be transferred. Active participants in the area can be obtained by referring to the list of room IDs and referring to the participant management information 113 of each room. (It is necessary to synchronize and update this when the participant management information 113 of the room is updated). Furthermore, if transfer is possible, rules for the transfer method, transmission and reception data formats when updating objects, or their preferences may be described.
- the transmission rule may be defined according to the capabilities of the client terminal, the role of the user who owns the network status of the client terminal, and the group to which it belongs. It is desirable that all object owners related to terrain information are owners of the area, but it is not realistic to assume that the owner always participates in the room of the area.
- the owner of the synchronization object for terrain information is either a special user such as the system (such as a dummy client) for all replicas, or the oldest user participating in the room corresponding to the area. Become a participant.
- a dummy client may be prepared on the server device 1 or another server, and the dummy client may be the owner of the topography information 111 .
- the "dummy client” here means, for example, one that operates on the server device 1, operates part or all of the software of the client, participates in a synchronization group, and becomes a member of another synchronization group. It operates synchronously with the client.
- the oldest participant means the first participant who joined the area even if there are multiple rooms corresponding to the area, or if the oldest participant such as the first participant leaves , followed by participants who have been participating for a long time. Instead of using the oldest participant, another method may be used, such as using the participant with the lowest participant ID when the owner should be determined. Most terrain information (eg, ground shape information G1, G2 and building information B1) should be transferred and maintained, but some special work marks (eg, M1) do not need to be transferred. may exist.
- ground shape information G1, G2 and building information B1 should be transferred and maintained, but some special work marks (eg, M1) do not need to be transferred. may exist.
- the dummy client When the dummy client becomes the owner (of the object to be synchronized), the dummy client is activated when any room in the area becomes active, acquires the area information from the area management information 111, Create and maintain a primary for the objects to be synchronized in the area. Also, if the oldest participant becomes the owner (of the object to be synchronized), when the participant joins the room of the area, the area information is acquired from the area management information 111, and other participants (one of which is the oldest participant), a replica of the object to be synchronized in the area is obtained from the server device 1, and a tertiary is generated and held. If there are no participants in any of the rooms in the area (including no rooms), i.e. if the participant is the first participant in a room in the area, then the participant will become an old participant, acquire the relevant area information from the area management information, and create and hold the primary for the objects to be synchronized in the relevant area.
- FIG. 8 is a diagram showing the configuration of replica management information 114B of non-area information in a certain room.
- the replica management information 114B of non-area information is created for each room, which is a virtual space, and is used to synchronize a replica ID for identifying a replica with an owner indicating a participant ID having ownership of the replica. It has a transmission rule under which the replica should be transmitted and a transfer that indicates whether ownership of the replica can be transferred. Furthermore, if transfer is possible, rules for the transfer method, transmission and reception data formats when updating objects, or their preferences may be described.
- the transmission rule may be defined by the performance of the client terminal, the role of the user who owns the network status of the client terminal, and the group to which he belongs ("group ⁇ " in FIG. 8). The definition may be based on criteria such as being close or being in sight (“within 50 distance” in FIG. 8).
- the participant management information 113 may be acquired by referring to the participant management information 113, but the participant list is redundantly retained in the non-area information replica management information 114B (synchronized when the room participant management information 113 is updated). must also be updated).
- the non-area information may be synchronized for each room, and furthermore, the rooms belonging to the same area may be grouped together and the area information may be synchronized for each area (FIG. 16). reference).
- the synchronization group is the room 114B, it is efficient to manage a plurality of objects in a single synchronization group for each room, as shown in FIG. 114B.
- a plurality of synchronization groups may be managed for each synchronization target object.
- terrain information within an area and as shown in FIG. 114A, a plurality of terrain objects may be managed in a single area group for each area.
- Users 3a, 3b, and 3c operate terminal devices 2a, 2b, and 2c to connect to the server in order to participate in a desired virtual space (designated area) of the Metaverse.
- a desired virtual space designated area
- the user By using a unique URL prepared for each ID, the user directly participates in a room corresponding to the terrain information 111 (area) in which desired rooms, event venues, etc. are prepared.
- Launching an app from a URL especially launching a specific state of the app (a specific place or position in the virtual space, such as a state where the participant's avatar is sitting in a specific position such as on a chair in the room)
- methods such as URL schemes, deep links, and Universal Links can be used.
- the terminal devices 2a, 2b, and 2c activate the application for the Metaverse via the browser to which the URL on the terminal is input, and the application is sent from the server device to the terrain data (not subject to synchronization) of the terrain information 111 (area).
- the server device 1 requests the server device 1 to join the room, and starts synchronizing the area information and the non-area information.
- synchronization object information (parameters such as position) for downloading terrain data is described in the data receiving means 104 . Specifically, the participant in the first room belonging to the area keeps the primary copy to himself and creates a replica on the server as well, and subsequent participants get the replica on the server and themselves create tertiary copies. Initialize the parameters required for synchronization (synchronization target object).
- the area (terrain information 111) corresponds to the contents of the virtual space.
- the waiting time for joining the room may be a problem. Instead of downloading each time, cache the downloaded content once and reuse the cached content if the content is not updated, anticipate the content that is likely to be used next and download it in advance. You may try to
- the room management means 102 of the server device 1 Upon receiving a request from the terminal devices 2a, 2b, and 2c, the room management means 102 of the server device 1 refers to the room management information 112 to check whether a room is prepared for the corresponding area ID, and confirms that the room is prepared. or the room already exists, but the participant management means 103 determines that the rules for creating a new room in the terrain information 111 are satisfied (for example, the number of participants in the room has reached the upper limit). If so), a new room is prepared and the terrain information 111 is loaded and provided in the new room.
- room management means 102 associates a plurality of room IDs with one area ID, and participant management means 103 manages participants who participate in the room for each room ID.
- Area information (area) replica management information 114A or non-area information (room) replica management information 114B is managed by the information 113, and the owner of the area information and the replica of the area information handled in the room by the replica management means 106, respectively. managed by
- the participant management means 103 of the server device 1 Upon receiving a room participation request, the participant management means 103 of the server device 1 sends the participant a user ID, a user name, a socket ID, a date and time of participation, and a participant associated with the room ID in the storage unit 11. Recorded in the management information 113 .
- participation in a room can take various forms depending on the design of the metaverse and terrain information 111.
- a URL corresponding to a desired area or room is specified, and the user directly participates in a room in a specific area (terrain information) or a specific room that already exists.
- this embodiment can also be applied to other forms. If you provide only a single room for the entire virtual space (single terrain information and single room), all users who join (such as login) join the default room. When providing multiple rooms in the entire virtual space, participating users enter a special room called a lobby (there may be multiple lobbies if the number of people is limited), and then move to the desired room. There is also a form to do.
- the Metaverse may be started by one person, or may be started at an appropriate timing after several participants gather.
- the participating user is treated as a mid-way participation (see "(3) Mid-way participation/leaving operation" to be described later).
- the method of joining a room is not particularly limited.
- a plurality of rooms are prepared, they are managed by the room management information 112 .
- the terminal devices 2a, 2b, and 2c sequentially generate, update, and delete the terrain information 111 and a plurality of objects (characters, weapons, items, etc.) in accordance with the execution of the program during activities in the Metaverse and the game. .
- the server device 1 performs a relay operation for synchronizing the terrain information 111 and objects (hereinafter referred to as "synchronization target objects") in the terminal devices 2a, 2b, and 2c.
- synchronization target objects the editing operation of the terrain information 111 will be described in "(2) Terrain information editing operation”. Synchronization operation will be described for a case where a new object to be synchronized is generated in the terminal device 2a after all the terrain information 111 and objects are synchronized.
- the user 3a operates the terminal device 2a to edit the topography information 111, activates the web browser, connects to the topography information editing site, and logs in.
- FIG. Also, in order to specify the area ID to be edited, as shown in the terrain information 111 of FIG. 4, the URL associated with the area ID is entered into the site of the web browser.
- a user who can edit the terrain information 111 (a user who has the right to edit) is assumed to be the owner of the corresponding area ID in the replica management information 114A as shown in FIG. You may set editing rights to the owner of the file and another user.
- the terrain information editing means 101 of the server device 1 identifies the area ID from the character string included in the URL, compares it with the user ID of the user 3a, and obtains the replica management information 114A. , the terminal device 2a is controlled to display a screen for editing the terrain data corresponding to the area ID if the owner is the owner.
- the user 3a While confirming the screen displayed on the terminal device 2a, the user 3a edits the ground, buildings, rooms, and the objects associated with them, as well as programs for providing services.
- the edited contents are transmitted from the terminal device 2a to the server device 1, and when the ground, buildings, rooms, and objects attached thereto are edited, the terrain data of the terrain information 111 is updated by the terrain information editing means 101.
- the terrain data of the terrain information 111 is edited when the terrain information 111 is not loaded (when the room does not exist).
- the terrain data of the terrain information 111 may be edited when the terrain information 111 is loaded (when a room exists).
- the difference between the landform data before editing and the landform data after editing is treated as the difference in the objects to be synchronized described in "(3) Synchronization operation”.
- the difference due to the change must be reflected in the terrain information 111 to be edited. Treated as the difference of the target object.
- editing of the terrain information 111 refers to editing of the primary copy described in "(3) Synchronous operation”.
- FIG. 9 is a flowchart for explaining an example of non-area information synchronization operation.
- the terminal device transmits a change of the object (primary copy) having ownership to the server device 1 while referring to the non-area information replica management information 114B, and the server device 1 responds. and refer to the room participant list to send update information to terminal devices that do not have ownership of the object that corresponds to the destination rule, and each terminal device that receives the update information owns This is achieved by updating an object (tertiary) that does not have rights.
- the synchronization operation of area information is realized in substantially the same manner.
- the participant list to be synchronized is not necessarily the participants in the same room, and if there are multiple rooms in the same area, the participants in all the rooms corresponding to the same area. Therefore, the owners of replicas of area information are not necessarily participants in the same room.
- the original owner of the object should be the owner of the area, but not necessarily online all the time. If the area owner has not joined the room in that area, another participant must be made the owner.
- the owner can be a special user provided by the system (dummy client, etc.), the oldest participant in the room in the area (the participant with the longest duration of joining the room corresponding to the area, or if there are multiple rooms). may be participants in other rooms).
- the owner of the area returns to the room of the area, the ownership may be transferred to the owner of the area by the same procedure as the later-described early leaving.
- FIG. 16 shows the relationship between area information synchronization processing (replica management information 114A) and non-area information synchronization processing (replica management information 114B) when a plurality of rooms exist in an area.
- the basic synchronization mechanics primary copy, replica, tertiary are all the same.
- the relationship between the area and the room is an inclusion relationship in which a synchronization target client in the area belongs to a plurality of rooms and is composed of a plurality of terminal devices (clients) that operate in synchronization with each other.
- Synchronization operations in this embodiment are not limited to inclusion relationships because synchronization groups are defined for each object.
- a client can have multiple synced objects, each with a different object owner and synced group, in a more flexible configuration.
- groups to be synchronized are defined for each object, for each party (group), distance, purpose, and the like, and each group may be independent of each other or may overlap.
- the synchronization group when synchronizing for each room, the synchronization group will consist of clients that synchronize user information among the objects to be synchronized. Further, when synchronization is performed for each area, a synchronization group is composed of clients that perform synchronization of terrain information for reproducing contents constituting a virtual space among the objects to be synchronized.
- the terminal device 2a generates an object A0 as a new object to be synchronized as the metaverse progresses in the game ( S120a ).
- the terminal device 2 a generates a primary copy A 0 of the object A 0 (S 121 a ) and transmits it to the server device 1 .
- the reason for generating the primary copy is that the object A0 changes over time. is generated and treated as information for synchronization.
- Another reason for generating a primary copy is that in subsequent synchronizations, the information used in the immediately preceding synchronization may be necessary in order to confirm differences due to changes over time.
- the object A0 may be treated as information for direct synchronization and sent to the server device 1 without creating a primary copy. Alternatively, it may be a combination of both, especially in a composite object composed of multiple objects. In the following discussion, we do not strictly distinguish between primary copies and synchronized objects.
- the data receiving means 104 of the server device 1 receives and duplicates the primary copy of the object as data to be synchronized from the terminal device 2a via the communication unit 13, and stores the replica A0 in the memory 12 as a secondary copy (S110). ).
- the replica management means 106 of the server device 1 determines that the owner of the replica A0 is "U001" (the user of the terminal device 2a), and the transmission destination rule is that other than the user of the terminal device 2a.
- the replica management information 114A or 114B is updated and stored in the storage unit 11 by recording policies such as “other than the owner” and permission/prohibition of transfer “OK”.
- the policy may be fixedly defined for each type of object (for example, as a default, the destination is all room participants other than the owner, transfer is not allowed, etc.), or when the terminal device 2a creates an object
- the terminal device 2a which has the ownership right, may specify or change the designation at any time according to the progress of the game, or the terminal device 2b of the transmission destination may be different from the terminal device 2a in the virtual space. You may specify not to receive it temporarily for reasons such as distance.
- the data transmission means 105 of the server device 1 transmits data to the terminal devices 2b and 2c of the users determined as destinations based on the replica management information 114A or 114B. ) via the communication unit 14.
- the terminal devices 2b and 2c receive and duplicate the replica A0 from the server device 1 , and store the tertiary A0 as a tertiary copy in the memory ( S120b , S120c).
- the terminal devices 2b and 2c proceed with the metaverse and the game based on the objects synchronized by the tertiary A0 .
- the tertiary difference is updated in a later step, it is necessary to devise a way not to directly change the tertiary depending on the progress of the metaverse and the game.
- the terminal device 2a further changes the field values and the like of the object A0 as the metaverse and the game progresses to make the object A1 ( S122a ).
- the terminal device 2a updates the primary copy (primary copy A 1 ) in correspondence with the object A 1 and generates a difference A 01 from the primary copy A 0 corresponding to the object A 0 (S123a).
- the update information of the changed field as the difference A 01 is transmitted to the server device 1 .
- the difference from the previous transmission of the synchronization information is sufficiently large to exceed a threshold predetermined according to the metaverse and game content, and the synchronization state is maintained.
- the number of fields that need to be updated is collectively sent as list information as a pair of field name and field value. If zero, do not send or send as 0 updates. If the field name is long, a data serialization technique may be used to compress the data size by coding the field name into a number or the like.
- the data receiving means 104 of the server device 1 receives the difference A01 from the terminal device 2a via the communication unit 13 (S111), and the data updating means 107 updates the replica A0 in the memory 12 to the replica A1 ( S112 ). ).
- the data transmission means 105 of the server device 1 transmits the difference A 01 of the replica A 0 to the terminal devices 2b and 2c determined as transmission destinations based on the replica management information 114A or 114B via the communication unit 14. do.
- the terminal devices 2b and 2c receive the difference A01 from the server device 1 ( S121b , S121c), update the tertiary A0 in the memory to the tertiary A1 ( S122b , S122c ), and update the object synchronized by the tertiary A1. Based on the Metaverse, the game progresses.
- Each of the terminal devices 2a, 2b, and 2c assumes that the locally-stored primary copy and tertiary copy are the latest state of the object to be synchronized, and independently performs user operation processing and physics simulation while executing the Metaverse and the game. progress. As a result, when each primary copy is changed, the processing corresponding to S422a and S423a is performed, and the transmission of the difference to the server apparatus 1 is repeated.
- the terminal device 2a suppresses the amount of communication by not notifying the server device 1 when there is no change in the object, but it may be designed to notify even when there is no change.
- the terminal device 2a transmits difference information to suppress the amount of communication.
- the specification may be such that the entire object including unchanged fields is notified. Alternatively, these specifications may be changed statically or dynamically for each object to be synchronized and notified.
- FIG. 10 is a flowchart for explaining an example of a synchronization operation based on ownership.
- Object A 0 of terminal device 2a (S220a, S221a) is replicated as replica A 0 in server device 1 (S210), and replicated from server device 1 to terminal devices 2b and 2c as tertiary A 0 (S220b, S220c).
- the tertiary A 0 when the tertiary A 0 is updated with the progress of the game in the metaverse and changes to the tertiary A 0 ′ (S221b), the object A 0 that is the original of the tertiary A 0 ′ is owned Since the right is defined for the user of the terminal device 2a, the difference A 00′ (S222b) between the tertiary A 0 ′ updated by the terminal device 2b and the tertiary A 0 updates the replica A 0 of the server device 1 and other terminals. Object A 0 of device 2a and tertiary A 0 of terminal device 2c are not updated.
- prohibition of synchronization by tertiary A 0 ' means that the terminal device 2 b does not transmit the difference A 00 ' between the tertiary A 0 and the tertiary A 0 ' to the server device 1 (a), and the server device 1 00′ (S211) is received, synchronization processing is not performed (no update processing is performed on the replica, nor is update information transmission processing performed) (ignoring or discarding) (a), the server apparatus 1 A 00′ is not applied to its own replica A 0 and is not updated, and is not transmitted to the terminal device 2a (and the terminal device 2c) (c); (d) Or, even if the terminal device 2a receives the difference A 00′ , it does not perform synchronization processing (either the primary copy or the tertiary copy is updated).
- Prohibition of synchronization based on object updates other than the terminal device of the user who has the ownership may be realized by any of the methods a to e, or any combination of one or more of them.
- the amount of information sent and received in network communication is the smallest, and the amount of information sent and received in network communication increases in the order of B, C, D, E, so the order of A to E is preferable. Configuration.
- server verification is usually performed in many cases to prevent cheating of the game, the combination of A and B or the combination of A and B and E is the preferred minimum configuration.
- the terminal device 2b has generated the object B0
- the user of the terminal device 2b has ownership of the object B0
- the terminal device 2c has generated the object C0
- the user of the terminal device 2c has the object B0 Assumes ownership of C0 .
- FIG. 11 is a flowchart for explaining an example of a synchronous operation in mid-participation.
- the terminal device 2a joins the room.
- the server device 1 adds information on the user U001 associated with the terminal device 2a to the participant management information 113.
- the terminal device 2a creates, for example, a new character as a new object A0 along with the midway participation ( S320a ).
- the terminal device 2a generates a primary copy of the object A0 ( S321a ) and transmits it to the server device 1.
- the data receiving means 104 of the server device 1 receives and duplicates the primary copy of the object as data to be synchronized from the terminal device 2a via the communication unit 13, and stores the replica A0 in the memory 12 as a secondary copy (S310). ).
- the replica management means 106 of the server device 1 determines that the owner of the replica A0 is "U001" (the user of the terminal device 2a), the destination rule is "other than the user of the terminal device 2a", A policy such as “OK” for permission to transfer is recorded, and the replica management information 114A or 114B is updated and stored in the storage unit 11 .
- the data transmission means 105 of the server device 1 transmits the replica A0 via the communication section 14 to the terminal devices 2b and 2c determined as destinations based on the replica management information 114A or 114B.
- the terminal devices 2b and 2c receive the replica A0 from the server device 1 , duplicate it, and store the tertiary A0 in the memory as a tertiary copy ( S320b , S320c).
- the data transmission means 105 of the server device 1 manages in advance the replicas of the objects owned by the users of the other terminal devices 2b and 2c (S311), the data is transmitted based on the replica management information 114A or 114B.
- the replicas B 0 and C 0 are transmitted via the communication unit 14 to the terminal device 2a determined as the first. Note that the transmission may be performed prior to the synchronous operation of the object A0 .
- the terminal device 2a receives and duplicates the replicas B 0 and C 0 from the server device 1, and stores the tertiary B 0 and C 0 in the memory as tertiary copies (S322a).
- the terminal device 2a communicates only with the server device 1 without communicating with the terminal devices 2b and 2c, and the joining operation is completed.
- two terminals have already participated, but even if 1,000 terminals have already participated, the terminal device 2a can complete the participation by communicating only with the server device 1, and the participation has already been completed. There is no need for the 1,000 terminals to notify the terminal device 2a of the objects to be synchronized that they own, and the load on the network and each terminal device due to the terminal device 2a joining in the middle is small.
- the case where the terminal device 2a leaves halfway will be described.
- the case where the object continues and the case where the object is deleted will be described.
- the area information synchronization process if the owner of the area joins (returns) to one of the rooms in the area, the ownership of each area information object is transferred to the owner of the area. method. In that case, the exit of the terminal device 2a that holds ownership is not the trigger, but the participation of the area owner terminal in the area room is the trigger. , instructs to dispose of the transferred/owned object, and performs operations similar to those of FIGS. 12 and 13, respectively.
- FIG. 12 is a flow chart for explaining an example of a synchronous operation when leaving halfway.
- the terminal device 2a generates object A 0 (S420a), updates it to object A 1 (S422a), and synchronizes tertiary A 0 and A 1 with terminal devices 2b and 2c (S422b and S422c). It is assumed that the user exits (S424a).
- S420a object A 0
- S422a object A 1
- S422b and S422c terminal devices 2b and 2c
- the terminal device 2a requests the server device 1 to leave.
- the participant management means 103 of the server device 1 deletes the user information associated with the terminal device 2a from the participant management information 113.
- the replica management means 106 of the server device 1 confirms the transfer item of the replica management information 114A or 114B, and if the transfer item is "OK", the next owner is changed to the user of the terminal device 2b and the replica is transferred. It updates the contents of the management information 114A or 114B (S413) and notifies the terminal device 2b that the ownership has been changed.
- the terminal device 2b When the terminal device 2b receives the notification that the ownership has been changed to the terminal device 2b from the server device 1 , the terminal device 2b changes the stored tertiary A1 to the object A1 of which the terminal device 2b owns the ownership ( S423b ). to complete the exit operation.
- the terminal device 2a explicitly notifies the server device 1 of leaving (S424a), but there are cases where the leaving cannot be notified due to sudden line disconnection or the like. Even in this case, when the server device 1 detects that the terminal device 2a is disconnected (socket is closed, etc.), the server device 1 can complete the leaving and ownership change processing in the same way as when the leaving notification is explicitly received.
- the server device 1 is transferred ownership, and after that, the terminal device other than the terminal device 2b that manages the tertiary as the primary. All remaining terminal devices participating in the synchronous operation (terminal device 2c in this case) are also notified that the ownership of object A (tertiary A) has been transferred from terminal device 2a to terminal device 2b.
- terminal device 2c When each terminal device manages only whether the synchronization target object managed by itself is the primary that it owns or the tertiary that it does not own (when it does not manage the owner of the tertiary) ) does not need to notify the terminal device (2c) that does not hold ownership of the object.
- the server device 1 transmits the update information to the terminal device without ownership only when the terminal device with ownership receives change information indicating that the primary has been changed.
- the update information must not be sent to the non-proprietary terminal device.
- the terminal device In the former, the terminal device strictly manages the owner of the tertiary, making it easier to respond to abnormal update information such as cheats, but the amount of communication increases due to leaving midway.
- the latter depends on how the server device 1 handles abnormal update information such as cheats, but the amount of communication becomes extremely small as you leave in the middle, and it is effective when a huge number of terminals are participating in the synchronous operation. .
- the former and the latter may be selected individually depending on the type of object to be synchronized and the performance of the terminal device.
- the transfer item When the transfer item is [OK], it may be determined in advance to which user the transfer is made, it may be determined at the time of leaving, it may be transferred in order of participation date and time, or it may be randomly assigned. Alternatively, it may be assigned to a user with a terminal with high processing capability, or a terminal with a good network environment (large bandwidth, low latency/RTT (round-trip time), stable communication (RTT is stable). It may be assigned to users who are small).
- FIG. 13 is a flow chart for explaining another example of the synchronous operation when leaving halfway.
- the terminal device 2a requests the server device 1 to leave (S524a).
- the server device 1 confirms the transfer item of the replica management information 114A or 114B, and if the transfer item is "NG", deletes the information about the replica A1, and transfers the participant management information 113 and the replica management information 114A or 114B. (delete the user information associated with the terminal device 2a, delete the synchronization target object owned by the user associated with the terminal device 2a) (S513), and the replica A 1 is added to the terminal devices 2b and 2c. Notify that it has been deleted.
- the terminal devices 2b and 2c Upon receiving the notification that the replica A 1 has been deleted from the server device 1, the terminal devices 2b and 2c delete the stored tertiary A 1 (S523b, S523c), thereby completing the leaving operation.
- FIG. 10 is a flow chart for explaining an example of recovering rights
- the ownership of the object is transferred from the terminal device 2a to the terminal device 2c of the area owner in substantially the same procedure as in FIG.
- the primary of 2a becomes the tertiary (for example, the server device 1 notifies the terminal device 2a of loss of ownership due to the transfer of ownership) (S624a), and the terminal device 2c holds the primary (S621c) (for example, the server device 1 transmits the replica to the terminal device 2c and notifies the terminal device 2c of acquisition of ownership by transfer of ownership (S614). receiving a replica and keeping it as primary).
- the terminal device 2b is also notified of the owner change if necessary for reasons such as managing the owner of the tertiary at the terminal. If the replica management information 114A indicates that the object is not subject to transfer, as shown in FIG. 15, the replica of the object is discarded (S714) in substantially the same procedure as in FIG. 13, and participates in all rooms in the area. The participant's corresponding primary and tertiary are also discarded (S724a, S723b).
- the server device 1 stores replicas of objects generated by all the terminal devices without the terminal device 2a receiving objects to be synchronized from all the other terminal devices 2b and 2c.
- the terminal device 2a receives objects to be synchronized from the server device 1, in a configuration in which a plurality of terminal devices participate and in a situation in which data of a plurality of terminal devices are synchronized with each other, communication load increases. can be suppressed.
- the server device 1 does not progress the metaverse or the game, the processing load can be reduced. As a result, it becomes possible to synchronize Metaverse and game objects on a scale of 1,000 users.
- halfway participation only needs to receive a replica from the server and create a tertiary, so there is no need to receive objects from other clients, and an increase in communication load and processing load can be suppressed.
- the terrain information 111 is similarly edited via a web browser using a URL, there is no need to install an application for editing on the terminal devices 2a, 2b, and 2c, and the process for starting editing can be reduced. be able to.
- the processing load is reduced to 1/10 or 1/100 of the case of 1000 users.
- the processing load can be reduced as compared with the method of (1), and services using the invention can be provided to users at a low cost.
- the ownership of the object of the ball changes as the game progresses, but each object If the ownership is managed, the management information can be updated only once, and there is no need to check and update the authorization lists of multiple users, so the processing load and communication load can be reduced.
- a further object of the present invention is to provide a server capable of executing synchronous actions in a multiplayer game regardless of the design of the game.
- the present invention has a configuration that can withstand, for example, a design in which the ownership of a synchronization target object changes rapidly with a large number of people, or a design in which the number of ownership of a synchronization target object is large. It is possible to provide an environment that is compatible with such games with unknown designs.
- the object updated by the user who has ownership updates the replica of the server device 1, and furthermore, the updated information is propagated to the remaining clients in the same room.
- Metaverse and game avatars can achieve equality if the Metaverse and game design are owned by each client. Conflicts between owner clients shall be resolved in the metaverse and game design. For example, by designing without direct interrelationship, or by another mechanism such as RPC (Remote Procedure Call), or through another object, direct synchronization object It should be designed so that there is no mutual relationship between them.
- the ownership of synchronization objects related to area information is defined for each area, so if there are multiple rooms in an area, it will be applied to and shared by all rooms in the same area. That is, when a client with ownership updates the state of a synchronized object in an area, not only the area information of the rooms that the client participates in, but also the rooms that belong to the same area that the client does not participate in are updated. Since area information is not strictly a client-specific object, it is conceivable that a client that does not have ownership of the area would like to update it. In order for a client that does not have the ownership of the area to update, the client that has the ownership (primary) of the object to be synchronized is requested to update.
- a program such as RPC is used.
- An operation that involves changing an object that does not have ownership, such as opening and closing a building door, is operated as a program of the synchronization target object (door in this case), and operating the program synchronizes the object.
- the operation is performed equally on all working clients, the operation on the client without ownership fails, but the operation on the client with ownership succeeds and the state of the object in question changes (e.g. door opens) happens on the client's primary copy with ownership.
- This change is reflected in the replica of the server device 1 by the mechanism of synchronizing the state change of the object, and is subsequently reflected in the tertiary of the remaining clients participating in each room in the same area without ownership.
- This mechanism also allows clients to manipulate objects that they do not have ownership of.
- An example of synchronizing area information within an area across rooms has been shown, but the synchronization method using a program/script such as the same RPC is not limited to an area, and can be used for other people's objects that do not have ownership in the room. It is also possible to do However, with this mechanism, if multiple clients attempt to operate the same object at the same time, multiple similar RPC requests will be generated, but the order of execution will differ depending on the client, including communication delays and luck.
- the client with ownership is overwhelmingly advantageous, and between clients without ownership, the It depends on the distance between the client and the client having ownership, the CPU performance of the client, the network environment to which the client is connected, and so on. Therefore, it is not fair to use it as a synchronous operation in time-critical operations such as FPS, but it is sufficient for infrequent changes such as social content.
- FPS time-critical operations
- the details of the method of progressing the metaverse and the game while synchronizing between clients are omitted because existing technology can be applied.
- a virtual environment in which a large number of people from all over the world participate there is a possibility that delays or loss may occur in the transmission of information regarding objects to be synchronized. Therefore, in order to transmit information, in addition to the method proposed in this embodiment, it is necessary to use various general ideas in combination according to the type of virtual space (metaverse, game genre) and the type of objects to be synchronized. be.
- each client In order to handle network delays, each client often synchronizes the virtual space time within the participating virtual space and attaches the virtual space time to the communication information related to the object to be synchronized.
- terminal device 2a and the terminal device 2b are geographically separated from each other, and when there is a large difference in the distance between the terminal device 2a and the terminal device 2b and the server device 1 (for example, server device 1, terminal device 2a, and terminal device 2b are located in Tokyo, Osaka, and New York, respectively).
- retransmissions may be performed by communication protocols to handle network losses.
- a retransmission further delays the communication of information about the synchronized object.
- the time (virtual space time or frame serial number) is attached and sent to the server device 1 as update information (difference or all).
- each terminal device receives the update information of the primary copy of the other terminal together with the frame time of each update.
- the frame time attached to the update information of the other terminal received by the terminal device matches the frame time of the latest primary copy when there is no delay.
- the frame time attached to the update information received by the terminal device differs depending on the terminal device that owns it due to various reasons such as the location of the terminal device, the network environment, or temporary changes in the communication state. , generally older than the frame time of the terminal's own primary copy.
- the difference in synchronization between terminals may become large.
- the deviation of the frame time received from each terminal is measured in advance, and the metaverse and the game progress according to the frame time of the terminal that sends the slowest frame time on average. You can also do In that case, update information for several frames is buffered in the terminal device, and the same frame times are combined to strictly progress the metaverse and the game.
- the lag is 0.1 seconds or more (2 frames or more delay for 20 frames per second)
- the user experience deteriorates, depending on the metaverse and game genre. I won't go into any more details, but various ideas and compromises will be used to match the Metaverse and game genres. In mobile terminals, etc., frame delays change greatly dynamically, so other measures are necessary.
- the virtual space time information in the virtual space may be attached.
- a reliable communication protocol such as TCP/IP or RUDP (Reliable UDP)
- the virtual space-time order of received shared object update information does not change.
- the entire object to be synchronized is sent every time and the entire object to be synchronized is transmitted as update information using a protocol such as UDP that does not guarantee reliability, assuming communication loss, update
- UDP reliable UDP
- the terminal device replaces the received information using the virtual space time attached to the update information, or discards unnecessary old information when old update information is received. Synchronize the objects to progress the metaverse and the game.
- the participant management information 113 may manage links to participant objects as a list in order of participation.
- the server device 1 may communicate with the terminal devices 2a, 2b, and 2c by acquiring information necessary for corresponding communication from the participant information of each link.
- each means 100 to 104 of the control unit 10 are realized by programs, but all or part of each means may be realized by hardware such as ASIC.
- the program used in the above embodiment can be stored in a recording medium such as a CD-ROM and provided.
- replacement, deletion, addition, etc., of the steps described in the above embodiments are possible within the scope of not changing the gist of the above embodiments.
- the function of each means may be appropriately combined with other means, or may be separated into a plurality of means.
- the room synchronization group is composed of one or more room units (FIG. 8, 114B in the case of one) from clients that synchronize user information with each other among the objects to be synchronized.
- One or more in the case of one in FIG.
- each synchronization group may be dynamically created, changed, and destroyed, as described with the room as an example.
- Group management is managed and maintained as group management information in the same manner as room management information and terrain management information.
- a terminal device can join or leave one or more groups as appropriate according to the policy of each group. For example, when experiencing a virtual experience by designating a certain area, if you participate in the synchronized group of the area and the synchronized group of the room, and leave the room, you will also leave the synchronized group of the area and the synchronized group of the room.
- a method for configuring a more versatile synchronous operation will be shown.
- a terminal device group (synchronization group) for a synchronous operation which is composed of an object to be synchronized and a terminal device participating in the synchronous operation of the object, is the basis of the synchronous operation.
- Synchronous operation of objects is realized by connecting and communicating with the server device 1 between the owner terminal and the terminal without the ownership that performs the synchronous operation of the target object for each synchronous object.
- terminal devices to be operated synchronously form a synchronous group.
- This terminal device group (synchronization group) is all or part of the terminal devices connected to the server device 1 in order to participate in the virtual space.
- Synchronization operations within a synchronization group for individual objects to be synchronized are as described in FIGS. 9-13.
- the terminal device of the participant who owns the object holds the primary of the object
- the server device 1 holds the replica of the object
- the terminal devices of the remaining participants of the synchronization group who do not own the object. holds the tertiary of the object. Modified information in the primary is applied to replicas and tertiary sequentially, and the primary, replicas, and tertiary are synchronized to the same state.
- a terminal device of a participant who does not have ownership must not change the tertiary directly, and even if the tertiary is changed, the tertiary of the replica, primary, or other terminals will not be changed.
- the terminal device of the non-ownership participant who wants to change the tertiary requests the terminal device of the participant with ownership to change the primary without directly changing the tertiary. If the terminal device updates the primary in response to the request, the update information is propagated to the replica and tertiary, and as a result, the tertiary of its own terminal is also changed.
- Synchronous operations are managed and operated by the replica management device for each object to be synchronized.
- the server device 1 assigns a replica ID, a terminal device group (synchronization group) for synchronous operation (owner, participants without ownership, If necessary, rules for limited destinations), information on transfer, etc. are retained.
- 7 and 8 correspond to the case where the area participants and room participants form a terminal device group for synchronous operation, and participants who do not have ownership can , become participants excluding the owner.
- a plurality of synchronization target objects having the same terminal device constituting a synchronization group are collectively managed in units of areas or rooms. It works. However, the number of active synchronization groups can be reduced by collectively managing synchronization target objects having the same terminal device in a synchronization group as shown in FIGS.
- Objects to be synchronized may be objects recognized as objects in the virtual space. By restricting it to object parameters such as posture (some of the object's fields or their encoding), or by grouping multiple objects with similar behavior into a combined object, we can actually achieve synchronized behavior. It is desirable to reduce the load of synchronization operations by reducing the number and contents of objects to be processed.
- the avatars are synchronized, it is sufficient to synchronize only the parameter information such as the position and posture without synchronizing the shapes and details of the avatars that do not change.
- the parameter information such as the position and posture
- it consists of only the parameters to be synchronized among the parameters of each multiple objects (and further encoding such as joint compression if necessary).
- Replica management information (room replica management information 114b if the synchronization group is a room, and area replica management information 114a if the synchronization group is an area) is collected as a single (or a small number) of special synchronization target objects by collecting only the parameters to be used. It is preferable to manage and target individual non-area information and area information for synchronous operation.
- synchronization methods such as whether to synchronize object fields (values, parameters) (synchronize as objects) or synchronize as program operation events (trigger).
- Values and parameters are synchronized as objects as described above, but the event is not an object value, but a trigger message is sent to the synchronization group including its own terminal device, and the trigger is a program (script) of each terminal device.
- RPC Remote Procedure Call
- almost the same experience is shared as the execution result of the client program on each terminal.
- “substantially at the same time” or “substantially the same” means that the execution results may not always be exactly the same due to differences in execution between terminals or slight differences in the internal states of the terminals.
- complex animations such as avatar jumps can be executed independently on each terminal device by synchronizing the reception of events such as animation playback processes such as jumps with triggers instead of synchronizing operation triggers for position and posture parameter changes one by one. run to If the environment of the virtual space before program execution, which is the initial value, is substantially the same for all terminal devices, substantially the same animation is executed, and experience sharing in the virtual space can be substantially realized. If the result of the program affects the position or orientation of the object, the mechanism of synchronous operation of the object is used with the result of the program execution, and the result of the program execution on the terminal device that has the ownership of the object to be changed is , the primary is changed, and replicas and tertiary are updated to reflect the result.
- Execution of a program on a terminal without ownership does not directly change the tertiary, but execution of a similar program on a terminal with ownership changes the primary, so that change is a replica, It is reflected as tertiary, and as a result the tertiary is also changed.
- Area information and non-area information are contents in the virtual space, and may be created, edited, and deleted by methods other than operations (game operations) in the virtual space.
- a unique ID is assigned to each of these contents, and convenience will be enhanced if a URL or the like can be specified as one of the unique IDs.
- non-area information (contents) in the virtual space such as names and avatars, is created and edited.
- a space providing user experience such as name and area information is created and edited for the new virtual space.
- Such various content editing operations are performed using a 3D editor.
- a 3D editor By referring to the content of area information and non-area information by URL, it becomes possible to directly edit the content with a 3D editor. Immediateness and convenience are improved compared to the method of downloading and uploading contents for each constituent object and editing them with a 3D editor.
- basic units such as points and lines can be combined to create, combine, and arrange detailed objects, or basic objects such as the ground, houses, and mountains provided by the editor can be created.
- Objects such as desks, benches, and stars may be placed and customized in template spaces such as living rooms, showrooms, parks, and outer space.
- Metaverse and MMGO functions for creating and editing non-area and area information are provided as part of the functions of virtual space applications, and data created by general-purpose 3D editing applications can be uploaded and registered in the virtual space. It is often done.
- the server manages non-area and area information as a general rule. Download as necessary when executing the program on the terminal device.
- a configuration that synchronizes information to be synchronized primary, replica, tertiary
- by providing a mechanism for directly specifying content such as non-area and area information that exists on the server, Alternatively, various contents can be easily shared among multiple terminals of the same user.
- a more general term such as a URL instead of expressions within the application such as terrain IDs and character IDs.
- methods such as URL schemes, deep links, and Universal Links are used, and by adjusting the parameters according to the target content and access method, you can directly edit the target content without detours, or It is possible to access in the desired mode (program) such as participation in content.
- program program
- each content can be used not only in this service but also in mutual use and reuse in a more open environment.
- non-area information owned by a certain user U501 for example, a "home" area corresponding to a web homepage
- access management user ID, password, etc.
- the appropriate program game program, metaverse program, WebGL, 3D editor
- the server device 1 When the number of terminal devices to be synchronously operated becomes enormous, the amount of processing and communication for synchronization becomes enormous in the server device 1 and the terminal devices, causing a high load on the CPU and reaching the limit of the communication band.
- the increase in the amount of communication in the terminal device causes the communication bandwidth to be reduced. I reach my limit.
- terminal devices cannot be expected to have sufficient performance in terms of CPU performance and communication speed.
- the communication speed may not be stable, and an increase in the amount of communication may not be welcomed for terminals with a pay-as-you-go communication fee contract.
- the user terminal In order to reduce the range (number of users) of synchronous operation of objects, limit the number of terminals that are synchronously operated for each object to the minimum necessary. In many cases, the user terminal does not represent all the objects that make up the virtual space, but only a part of them. Therefore, if the synchronous operation is realized for only a small part of the objects that are represented, the user of the terminal device can The experience in the virtual space that can be perceived by is the same.
- each virtual space is divided into a plurality of areas (areas where virtual space content can be experienced), and the user's terminal device participates in the room where the virtual space corresponding to the area is experienced.
- the terminal devices participating in the same room, as avatars virtually experience the content provided by the area along with the avatars of other terminal devices according to the content of the area (buildings, attractions, etc.).
- avatars and avatar attachments created by participants are synchronized objects owned by the participant who created them, and other participants who have primaries on their terminal devices and join the room. By synchronizing with the terminal device of the participant, it is possible to inform other participants of the activity status of the participant.
- avatars and attachments to avatars are enumerated as synchronization target objects here, but in actual implementation, information on multiple objects managed by the user consisting of avatars and attachments to avatars (Non-area information) are aggregated as the minimum number of parameters such as position and posture, and avatars and avatar attachments are collected for each user into a single special object for user information management (synchronized non-area information ) and perform synchronous processing for efficiency.
- each participant In order to share the activity status of other participants in a specific area (room) of the virtual space, each participant has ownership of their own non-synchronized area, and each participant's terminal device holds the primary for its own synchronization target non-area, and the tertiary for the synchronization target user management information of other participants.
- the creator of an area also participates in one of the rooms in the area.
- the creator of an area is the owner of the area information of the area.
- the synchronization of area information of areas instead of synchronizing individual terrain objects directly, only the area information to be synchronized, which is part of the field of multiple terrain objects that you want to synchronize, is collected as a single special object.
- the creator terminal of an area participates in one of the rooms in the area, it is used as the primary for its own non-area information to be synchronized, and as the tertiary for the non-area information to be synchronized by other participants in the same room.
- it also holds the primary of the synchronization target area information for the area.
- the creator terminal of the area is the creator of the area, the owner of the area, and the owner (primary holder) of the objects to be synchronized regarding the area in the synchronization operation.
- a participant terminal of an area room other than an area participant regardless of whether it participates in the same room as an area participant or participates in a different room, has the same
- the synchronization target area information tertiary of the area is held.
- the creator of the area is both the owner and the editor.
- the creator of the area is a content creator outsourced by a company
- the owner is the president of the company
- the editor is the president of the company or other public relations company. Be an employee belonging to a department.
- we describe the case where the creator of the area is also the editor of the area. In some cases, it is appropriate to replace it with the editor.
- any one of the terminal devices belonging to the synchronization group of the area information to be synchronized becomes the owner of the object to be synchronized. Any method may be used to determine the owner of the object to be synchronized. For example, it may be the terminal device that has participated in the synchronization group for the longest time, or the terminal device with the smallest terminal ID.
- a method for synchronizing a single or a small number of synchronous area information consisting of only the parameters to be synchronized from all the objects that make up the area information.
- area information where the participant who will operate the object subject to synchronization has not been decided and the owner of the object can be anyone, it is necessary to distribute the load on the server device.
- a plurality of synchronization target area information objects may be created and owned by different terminal devices.
- FIG. 16 shows how, when a plurality of rooms 101 and 102 exist in an area 100, the non-areas to be synchronized and the area information to be synchronized are synchronized in each target terminal as primary, replica, and tertiary.
- Users A, B, and C participate in room 101 in area 100 with terminal devices A, B, and C, respectively.
- users X and Y participate in room 102 in area 100 with terminal devices X and Y, respectively.
- Synchronization non-areas (A0, B0, C0) of users A, B, and C are synchronized (A2, B2, C2) by user terminal devices A, B, and C that are participants in room 101, and server device 1
- A2, B2, C2 Through the replicas (A1, B1, C1) of the server device 1, non-areas (X0, Y0) to be synchronized with users X and Y are participants in the room 102 through the replicas (X1, Y1) of the server device 1.
- Synchronization (X2, Y2) is performed by certain user terminal devices X and Y, and area information (G0) of the area 100 to be synchronized is transferred to the rooms 100 and 101, which are the rooms of the area 100, via the replica (G1) of the server device.
- Synchronization (G2) is performed by the user terminal devices A, B, C, X, and Y that are participants in the event.
- sync groups are not limited to areas and rooms. Also, the relationship of synchronization groups is not limited to one being included in the other, such as area and room. Synchronization groups can be freely created. Synchronization groups may be identical, partially contained, partially common, or entirely independent and disjoint. Each synchronization group manages participant terminals in a manner such as that shown in FIG. 4 or FIG. Although the examples in which rooms are dynamically created and deleted have been described above, terminal devices in a synchronization group are not necessarily fixed and unchanging.
- sync groups may include chat groups, co-op parties, affiliated organizations, etc., in addition to areas and rooms. Chat groups, collaborative parties, and affiliated organizations exist beyond the boundaries of rooms and areas. X match, visiting company M's showroom, business negotiations with company N, etc.) are shared synchronously so as to be superimposed on the sharing of synchronous experiences in the room or area.
- voice chat may be superimposed on a speaker and listened to, and by switching buttons or switches on the screen, switching between utterances to the room and utterances to the chat group may be performed.
- activity status by clicking the team status icon arranged on the upper right of the screen, the status list of the affiliated organization members may be superimposed on the display screen of the participating virtual world.
- Another aspect of the present invention provides the following information processing device, data synchronization program, data synchronization method, data synchronization system, and terminal device in order to achieve the above object.
- An information processing device connected by a network to a plurality of clients for synchronizing objects with each other, receiving means for receiving change content information of a synchronization target object from a client having ownership of the synchronization target object; updating means for updating a duplicate object obtained by duplicating the synchronization target object according to the change content information; and transmitting means for transmitting the change content information to one of the plurality of clients other than the client having the ownership.
- the reception means receives a synchronization target object owned by the client and stores the same in a recording medium as the duplicate object.
- the receiving means duplicates the newly generated object as a synchronization target object and stores the duplicated object in a recording medium.
- Information processing equipment When a client participates or when a client newly generates an object, the transmitting means transmits the duplicate object or the synchronization target object stored in the recording medium to the The information processing apparatus according to [2] or [3], which transmits to a client other than a client having ownership.
- the receiving means does not receive change content information of the synchronization target object from a client other than a client having ownership of the synchronization target object. .
- the updating means does not update the replication object when the receiving means receives the change content information of the synchronization target object from a client other than the client having ownership of the synchronization target object.
- the information processing device according to any one of [4].
- the transmission means transmits the change content information to the client having the ownership of the synchronization target object.
- the information processing apparatus according to any one of [1] to [4], which does not transmit to the client.
- the transmitting means instructs another client to delete an object corresponding to the duplicated object held by the client other than the client.
- processing equipment [11] a computer networked with multiple clients that synchronize objects with each other; receiving means for receiving change content information of a synchronization target object from a client having ownership of the synchronization target object; updating means for updating a duplicate object obtained by duplicating the synchronization target object according to the change content information; A data synchronization program for functioning as transmission means for transmitting the change content information to a client other than the client having the ownership among the plurality of clients.
- a plurality of clients synchronizing objects with each other;
- An information processing device connected to the plurality of clients via a network, receiving means for receiving change content information of a synchronization target object from a client having ownership of the synchronization target object; updating means for updating a duplicate object obtained by duplicating the synchronization target object according to the change content information;
- a data synchronization system comprising an information processing apparatus having a transmitting means for transmitting the change content information to a client other than the client having the ownership among the plurality of clients.
- the terminal device as a client according to [16] above which, when receiving a duplicate object of a synchronization target object owned by itself from the information processing device, refuses to receive the duplicate object.
- the terminal device as a client according to [16] or [17] which transmits a difference from the synchronization target object before change as change content information of the synchronization target object to the information processing device.
- the management information managed for each synchronization target object defines a client having ownership of the synchronization target object, and the management information defines a client that is the transmission source of the synchronization target object.
- An information processing device networked with a plurality of clients for synchronizing objects with each other, Receiving means for receiving change content information of a synchronization target object from the plurality of clients; updating means for updating a duplicate object obtained by duplicating the synchronization target object according to the change content information;
- the management information managed for each synchronization target object defines a client having ownership of the synchronization target object, and the management information defines a client that is the transmission source of the synchronization target object. and transmitting means for transmitting the change content information to a client other than the client having the ownership among the plurality of clients when defined as a client having the ownership.
- the receiving means receives a synchronization target object owned by the client and stores it in the recording medium as the replicated object. 19] or the information processing apparatus according to [20].
- the receiving means duplicates the newly generated object as a synchronization target object and stores the duplicate object in the recording medium according to [19] or [20]. ].
- the transmitting means transmits the duplicate object or the synchronization target object stored in the recording medium to the one of the plurality of clients.
- the information processing apparatus according to [21] or [22] which transmits to a client other than a client having ownership.
- the information processing apparatus according to any one of [19] to [23], wherein the receiving means does not receive change content information of the synchronization target object from a client other than a client having ownership of the synchronization target object. .
- the updating means does not update the replication object when the receiving means receives the change content information of the synchronization target object from a client other than the client having ownership of the synchronization target object.
- the information processing device according to any one of [23].
- the transmission means transmits the change content information to the client having the ownership of the synchronization target object.
- the information processing apparatus according to any one of [19] to [23], which does not transmit to the client. [27] The above [19] to [26], wherein the receiving means receives a difference from the synchronization target object before change as change content information of the synchronization target object, and updates the replication object.
- the information processing device according to any one of . [28] When the client exits from the virtual space in which the plurality of clients participate, the ownership of the replicated object corresponding to the synchronization target object that the client has owned is replaced by the ownership.
- the information processing apparatus according to any one of [19] to [27], further functioning as management means for transferring to a client other than the client based on a predetermined rule when transfer is permitted.
- the management information managed for each synchronization target object defines a client having ownership of the synchronization target object, and the management information defines a client that is the transmission source of the synchronization target object.
- a computer networked with multiple clients that synchronize objects with each other Receiving means for receiving change content information of a synchronization target object from the plurality of clients; updating means for updating a duplicate object obtained by duplicating the synchronization target object according to the change content information;
- the management information managed for each synchronization target object defines a client having ownership of the synchronization target object, and the management information defines a client that is the transmission source of the synchronization target object.
- an information processing device networked with a plurality of clients that synchronize objects with each other, receiving change content information of a synchronization target object from the plurality of clients; a step of updating a replicated object, which is a replica of the synchronization target object, with the change content information;
- the management information managed for each synchronization target object defines a client having ownership of the synchronization target object, and the management information defines a client that is the transmission source of the synchronization target object. and if defined as a proprietary client, sending the change information to a client of the plurality of clients other than the proprietary client.
- a plurality of clients synchronizing objects with each other;
- An information processing device connected to the plurality of clients via a network,
- Receiving means for receiving change content information of a synchronization target object from the plurality of clients;
- the management information managed for each synchronization target object defines a client having ownership of the synchronization target object, and the management information defines a client that is the transmission source of the synchronization target object.
- updating means for updating a replicated object, which is a replica of the synchronization target object, according to the change content information when defined as a client having ownership;
- a data synchronization system comprising an information processing apparatus having a transmitting means for transmitting the change content information to a client other than the client having the ownership among the plurality of clients.
- a plurality of clients synchronizing objects with each other;
- An information processing device connected to the plurality of clients via a network,
- Receiving means for receiving change content information of a synchronization target object from the plurality of clients; updating means for updating a duplicate object obtained by duplicating the synchronization target object according to the change content information;
- the management information managed for each synchronization target object defines a client having ownership of the synchronization target object, and the management information defines a client that is the transmission source of the synchronization target object.
- a data synchronization system comprising: an information processing apparatus having transmission means for transmitting the change content information to a client other than the client having the ownership among the plurality of clients when the client is defined as the client having the ownership.
- receiving means for receiving, via the information processing apparatus, change content information of the synchronization target object from the client having the ownership of the synchronization target object when the client is defined as a client having ownership; updating means for updating a duplicate object obtained by duplicating the synchronization target object according to the change content information;
- a terminal device as a client for synchronizing objects with other clients via an information processing device If the replication object that replicated the synchronization target object is updated in the self client, Management information managed for each synchronization target object, wherein the management information defining a client having ownership of the synchronization target object is referred to, and in the management information, the self-client owns the synchronization target object.
- a terminal device as a client that is communicably connected to the information processing device having transmission means for transmitting the change content information to the information processing device when defined as a client having the right.
- An information processing device a data synchronization program, a data synchronization method, a data synchronization system, and a configuration in which a plurality of user terminals participate and suppresses an increase in processing load and communication load in a situation where data of a plurality of user terminals are synchronized provide terminal equipment
- server devices 2a, 2b, 2c terminal devices 3a, 3b, 3c: users 4a, 4b, 4c: avatars 10: control unit 11: storage unit 12: memory 13: communication unit 100: terrain information management means 101: Topography information editing means 102 : Room management means 103 : Participant management means 104 : Data reception means 105 : Data transmission means 106 : Replica management means 107 : Data update means 110 : Data management program 111 : Topography information 112 : Room management information 113 : Participant management information 114A : Replica management information 114B : Replica management information 120a, 120b, 120c: Replica
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Processing Or Creating Images (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Communication Control (AREA)
Abstract
Description
前記仮想空間の同期対象オブジェクトは当該同期対象オブジェクトの所有権を有するクライアントと所有権を有しないクライアントから構成される同期グループのクライアント間で同期されるものであり、
前記同期グループのクライアントのうち、前記同期対象オブジェクトの所有権を有するクライアントからそれぞれ当該同期対象オブジェクトの変更内容情報を受信する受信手段と、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合、前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記変更内容情報を前記同期グループのクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段とを有する情報処理装置。
[2]
前記クライアントが1以上の前記同期グループに属する前記[1]に記載の情報処理装置。
[3]
前記同期グループは、前記同期対象オブジェクトのうち互いのユーザ情報の同期を行うクライアントから構成される前記[1]に記載の情報処理装置。
[4]
前記同期グループは、前記同期対象オブジェクトのうち仮想空間を構成するコンテンツを再現するための地形情報の同期を行うクライアントから構成される前記[1]に記載の情報処理装置。
[5]
前記同期対象オブジェクトのうち前記地形情報に対応する同期対象オブジェクトの所有権を有するクライアントは、サーバ上のダミークライアントである前記[4]に記載の情報処理装置。
[6]
前記地形情報の編集権を有するクライアントからの操作内容に基づいて前記地形情報を編集する編集手段としてさらに機能させる前記[4]に記載の情報処理装置。
[7]
前記仮想空間の前記同期対象オブジェクトを含むオブジェクトに対応した識別子を発行する地形情報管理手段としてさらに機能させる前記[6]に記載の情報処理装置。
[8]
前記識別子は、前記クライアントが前記仮想空間のコンテンツへのアクセスに用いられる前記[7]に記載の情報処理装置。
[9]
前記仮想空間のコンテンツへのアクセスは、前記クライアントの前記仮想空間への参加である前記[8]に記載の情報処理装置。
[10]
前記仮想空間のコンテンツへのアクセスは、前記クライアントの前記コンテンツの編集である前記[8]に記載の情報処理装置。
[11]
前記仮想空間のコンテンツへのアクセスは、前記クライアントにおける前記仮想空間への参加のためのプログラムの起動である前記[9]に記載の情報処理装置。
[12]
前記仮想空間のコンテンツへのアクセスは、前記クライアントにおける前記コンテンツの編集のためのウェブサイトへのアクセスであって、当該ウェブサイトへのアクセスのためのウェブブラウザの起動である前記[10]に記載の情報処理装置。
[13]
前記受信手段は、前記複数のクライアントが参加する同期グループにクライアントが参加した際に、当該クライアントが所有権を有する同期対象オブジェクトを受信して前記複製オブジェクトとして記録媒体に格納する前記[1]に記載の情報処理装置。
[14]
前記複数のクライアントが参加する同期グループにクライアントが参加した際に、当該クライアントが前記エリア情報の編集権を有する場合、前記送信手段は、前記複製オブジェクトを当該クライアントの同期対象オブジェクトとして当該クライアントに送信し、さらに所有権を移譲する前記[1]に記載の情報処理装置。
[15]
前記受信手段は、前記クライアントが新たにオブジェクトを生成した際に、当該新たに生成したオブジェクトを同期対象オブジェクトとして複製して前記複製オブジェクトを記録媒体に格納する前記[1]に記載の情報処理装置。
[16]
前記送信手段は、クライアントが参加した際、又は前記クライアントが新たにオブジェクトを生成した際に、記録媒体に格納した前記複製オブジェクト、又は前記同期対象オブジェクトを、前記複数のクライアントのうち前記所有権を有するクライアント以外へ送信する前記[13]から[15]のいずれかに記載の情報処理装置。
[17]
前記受信手段は、前記同期対象オブジェクトの所有権を有するクライアント以外のクライアントから当該同期対象オブジェクトの変更内容情報を受信しない前記[13]から[15]のいずれかに記載の情報処理装置。
[18]
前記更新手段は、前記受信手段が前記同期対象オブジェクトの所有権を有するクライアント以外のクライアントから当該同期対象オブジェクトの変更内容情報を受信した場合、前記複製オブジェクトを更新しない前記[13]から[15]のいずれかに記載の情報処理装置。
[19]
前記送信手段は、前記受信手段が前記同期対象オブジェクトの所有権を有するクライアント以外のクライアントから当該同期対象オブジェクトの変更内容情報を受信した場合、当該変更内容情報を、前記所有権を有するクライアントへ送信しない前記[13]から[15]のいずれかに記載の情報処理装置。
[20]
前記更新手段は、前記受信手段が前記同期対象オブジェクトの変更内容情報として変更前の前記同期対象オブジェクトとの差分を受信して、前記複製オブジェクトを更新する前記[13]から[15]のいずれかに記載の情報処理装置。
[21]
前記クライアントが、前記複数のクライアントが参加する同期グループから退出した際に、当該クライアントが所有権を有していた前記同期対象オブジェクトに対応する複製オブジェクトの所有権を、当該所有権の移譲が許可されている場合に、予め定めたルールに基づいて当該クライアント以外の他のクライアントに移譲する管理手段としてさらに機能させる前記[13]から[15]のいずれかに記載の情報処理装置。
[22]
前記クライアントが、当該クライアントが参加する同期グループから退出した際に、当該クライアントが所有権を有していた前記同期対象オブジェクトに対応する複製オブジェクトの所有権の移譲が許可されていない場合に、当該複製オブジェクトを削除する管理手段としてさらに機能させ、
前記送信手段は、当該クライアント以外の他のクライアントに保持されている前記複製オブジェクトに対応するオブジェクトを削除するよう当該他のクライアントに指示する前記[13]から[15]のいずれかに記載の情報処理装置。
[23]
仮想空間に参加する複数のクライアントとネットワークで接続されたコンピュータを機能させるためのデータ同期プログラムであって、
前記仮想空間の同期対象オブジェクトは当該オブジェクトの所有権を有するクライアントと所有権を有しないクライアントから構成される同期グループのクライアント間で同期されるものであり、
前記同期対象オブジェクトの所有権を有するクライアントからそれぞれ当該同期対象オブジェクトの変更内容情報を受信する受信手段と、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合、前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記変更内容情報を前記同期グループのクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段として機能させるためのデータ同期プログラム。
[24]
仮想空間に参加する複数のクライアントと、
前記複数のクライアントとネットワークで接続された情報処理装置であって、
前記仮想空間の同期対象オブジェクトは当該オブジェクトの所有権を有するクライアントと所有権を有しないクライアントから構成される同期グループのクライアント間で同期されるものであり、
前記同期対象オブジェクトの所有権を有するクライアントからそれぞれ当該同期対象オブジェクトの変更内容情報を受信する受信手段と、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合、前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記変更内容情報を前記同期グループのクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段とを有する情報処理装置とを備えたデータ同期システム。
[25]
前記複数のクライアントは、前記同期対象オブジェクトの変更内容情報として変更前の前記同期対象オブジェクトとの差分を前記情報処理装置に送信する前記[24]に記載のデータ同期システム。
[26]
情報処理装置を介して他のクライアントとネットワークで接続される、仮想空間に参加するクライアントとしての端末装置であって、
前記仮想空間の同期対象オブジェクトは当該オブジェクトの所有権を有するクライアントと所有権を有しないクライアントから構成される同期グループのクライアント間で同期されるものであり、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合にのみ、当該同期対象オブジェクトの所有権を有するクライアントからの当該同期対象オブジェクトの変更内容情報を、前記情報処理装置を介して受信する受信手段と、
前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記変更内容情報を前記同期グループのクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段とを有し、前記情報処理装置と通信可能に接続されるクライアントとしての端末装置。
[27]
情報処理装置を介して他のクライアントとネットワークで接続される、仮想空間に参加するクライアントとしての端末装置であって、
前記仮想空間の同期対象オブジェクトは当該オブジェクトの所有権を有するクライアントと所有権を有しないクライアントから構成される同期グループのクライアント間で同期されるものであり、
同期対象オブジェクトを複製した複製オブジェクトが自己クライアントにおいて更新された場合、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において当該自己クライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合にのみ、当該前記変更内容情報を前記情報処理装置へ送信する送信手段とを有し、前記情報処理装置と通信可能に接続されるクライアントとしての端末装置。
[28]
前記同期対象オブジェクトの変更内容情報として変更前の前記同期対象オブジェクトとの差分を前記情報処理装置に送信する前記[26]又は[27]に記載のクライアントとしての端末装置。
[29]
前記情報処理装置により発行された識別子により前記仮想空間へのアクセス及び前記仮想空間を構成するコンテンツを再現するための地形情報の編集ウェブサイトへアクセスする前記[26]又は[27]に記載の端末装置。
[30]
1以上の仮想空間に参加する複数のクライアントとネットワークで接続された仮想空間管理提供装置であって、
前記仮想空間の同期対象オブジェクトは当該同期対象オブジェクトの所有権を有するクライアントと所有権を有しないクライアントから構成される同期グループのクライアント間で同期されるものであり、
前記同期グループのクライアントのうち、前記同期対象オブジェクトの所有権を有するクライアントからそれぞれ当該同期対象オブジェクトの変更内容情報を受信する受信手段と、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合、前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記変更内容情報を前記同期グループのクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段とを有する仮想空間管理提供装置。
本実施の形態における同期システムにおいて、複数の参加者が共通の仮想空間における活動、例えば、メタバースや多人数参加型ゲーム(MMOG:Massively Multiplayer Online Game)が実行される。当該仮想空間には地面、建物、部屋及びこれらに付随する物(家具、時計、ドア等)、さらには当該地面、建物、部屋において提供されるサービス及び当該サービスにおいて実行されるプログラム等が用意されるが、これらは後述する地形情報として管理される。これら仮想空間の地形情報は、仮想空間で行える体験(以後、「ゲーム体験」ということもある)のコンテンツ情報に相当する。本実施の形態では、これらの地形情報もサーバで一元的に管理し、仮想空間に参加する時にサーバより取得することを可能とする。あらかじめ参加者端末にダウンロードや配信をしている場合に比べて、より多くのコンテンツを、より最新の状態で経験することが可能となる。さらに、最新のコンテンツ情報がサーバで管理されるので、参加者がコンテンツの開発や修正に寄与することも可能となる。
図1は、実施の形態に係る同期システムの構成の一例を示す概略図である。
図3は、実施の形態に係るサーバ装置1の構成例を示すブロック図である。
次に、本実施の形態の作用を、(1)基本動作、(2)地形情報編集動作、(3)同期動作、(4)途中参加・退出動作に分けて説明する。
複数のユーザが、複数のオブジェクトを同期させて同一の仮想空間(ルーム、ワールド)での体験(メタバース、ゲームプレイ)を共有するために、ある地形情報111(エリア)がロードされた仮想空間(ルーム)に参加する。なお、「(3)同期動作」においては、オブジェクトの同期動作の説明では簡単のため、単一の仮想空間のみを提供するメタバースの例を中心に説明する。複数の仮想空間(ルーム)に同一の地形情報111(エリア)がロードされる場合は、地形情報111の同期動作はメタバース、ゲームのデザイン及びポリシーに基づいて定められる。地形情報111の同期動作の具体例としては、それぞれのルームごとに非エリア情報について同期をとり、さらに、同じエリアに属するルームをまとめて、エリアごとにエリア情報について同期をとればよい(図16参照)。なお、ルーム内で同期動作するアバターやアバターの付属物、又は、それらに関連付けられる同期対象オブジェクトは、ルーム内の参加者端末がそれぞれ自身のアバターなどの所有権を保持するが、同期グループはルーム内の参加者端末ですべての同期対象オブジェクトに同じであるので、図114Bに示すように、ルーム単位で複数のオブジェクトを単一の同期グループで管理すると効率がよい。もちろん単一ではなく複数の同期グループとして管理してもよいし、同期対象オブジェクトごとに管理してもよい。同様のことはエリア内の地形情報についても該当し、図114Aに示すように、エリア単位で複数の地形オブジェクトを単一のエリアグループで管理してもよい。
まず、利用者3aは、地形情報111を編集するために端末装置2aを操作し、ウェブブラウザを起動して地形情報編集用のサイトに接続し、ログインする。また、編集対象のエリアIDを指定するため、図4の地形情報111に示したように、当該エリアIDに紐付けられたURLをウェブブラウザのサイトに入力する。ただし、当該地形情報111を編集可能な利用者(編集権を有する利用者)は、図7に示したようにレプリカ管理情報114Aにおいて該当するエリアIDの所有者であるものとするが、エリアIDの所有者と別の利用者に編集権を設定してもよい。
図9は、非エリア情報の同期動作の一例を説明するためのフローチャートである。非エリア情報の同期動作は、非エリア情報のレプリカ管理情報114Bを参照しながら、端末装置は、所有権をもつオブジェクト(プライマリコピー)の変更を、サーバ装置1へ送信し、サーバ装置1は対応するレプリカの更新と、ルーム参加者リストを参照して、送信先ルールに該当する当該オブジェクトの所有権をもたない端末装置へ更新情報を送信し、更新情報を受信したそれぞれの端末装置は所有権をもたないオブジェクト(ターシャリ)を更新することで、実現される。また、エリア情報の同期動作もほぼ同様に実現される。ただし、オブジェクト同期の範囲(ルームとエリアのちがい)とオブジェクトの所有者(エリアの所有者が常にオンラインとは限らない)の選定方法が異なる。同期の対象となる参加者リストは、かならずしも同じルームの参加者とは限らず、同じエリアに複数のルームが存在する場合は、同じエリアに対応しているすべてのルームの参加者となる。従って、エリア情報のレプリカの所有者は同じルームの参加者とは限らない。オブジェクトの本来の所有者はエリアの所有者であるべきだが、かならずしも常にオンラインであるとは限らない。エリアの所有者が当該エリアのルームに参加していない場合、別の参加者を所有者とする必要がある。そのため、所有者は、システム提供の特別なユーザ(ダミークライアントなど)であったり、最も古くから当該エリアのルームの参加者(エリアに対応するルーム参加継続時間が最長の参加者、複数ルームある場合は他のルームの参加者である場合もある)であったりする。エリアの所有者が当該エリアのルームに復帰した場合は、後述の途中退出と同様の手続きで、所有権をエリアの所有者に委譲するようにしてもよい。
次に、端末装置2aが途中参加する場合について説明する。端末装置2bがオブジェクトB0を生成しているとともに端末装置2bのユーザが当該オブジェクトB0の所有権を有し、端末装置2cがオブジェクトC0を生成しているとともに端末装置2cのユーザがオブジェクトC0の所有権を有していることを前提とする。
上記した実施の形態によれば、端末装置2aが他の全ての端末装置2b、2cから同期対象のオブジェクトを受信せずに、サーバ装置1が全ての端末装置で生成されたオブジェクトのレプリカを保存し、端末装置2aがサーバ装置1から同期対象のオブジェクトを受信するようにしたため、複数の端末装置が参加する構成であって、複数の端末装置のデータを互いに同期する状況において、通信負担の増加を抑制することができる。また、サーバ装置1はメタバース、ゲームを進行しないため、処理負担を軽減することができる。その結果、1000ユーザ規模のメタバース、ゲームのオブジェクト同期が可能となる。
なお、本発明は、上記実施の形態に限定されず、本発明の趣旨を逸脱しない範囲で種々な変形が可能である。
互いに同期する端末装置のグループは柔軟に指定することができる。実施の形態及び他の実施の形態では、エリアのエリア情報の同期動作、ルームの非エリア情報の同期操作として説明してきたが、互いに同期する端末装置のグループ(以後、単に「同期グループ」と呼ぶこともある。)はエリア(エリアのすべてのルームの参加者端末)あるいはルーム(ルームの参加者端末)に限定されるものではない。ここでルームの同期グループは、同期対象オブジェクトのうち互いのユーザ情報の同期を行うクライアントからルーム単位に1個以上(図8、114Bは1個の場合)構成され、エリアの同期グループは、同期対象オブジェクトのうち仮想空間を構成するコンテンツを再現するための当該地形情報(エリア)の同期を行うクライアントからエリア単位に1個以上(図7、114Aは1個の場合)構成される。また、それぞれの同期グループは、ルームの場合を例として説明したように、ダイナミックに生成、変更、消滅してよい。グループの管理は、ルーム管理情報や地形管理情報同様、それぞれのグループ管理情報として管理維持される。端末装置は、それぞれのグループのポリシーによって、適宜、1個又は複数個のグループに、参加、退出できる。例えば、あるエリアを指定して仮想体験を体験する場合は、エリアの同期グループとルームの同期グループに参加し、ルームから退出すると、それぞれのエリアの同期グループとルームの同期グループからも退出する。
同期オブジェクトごとに所有者端末と対象のオブジェクトを同期動作させる所有権のない端末とがサーバ装置1と接続通信することでオブジェクトの同期動作が実現される。この場合、同期動作させる端末装置は同期グループを形成している。この端末装置グループ(同期グループ)は、仮想空間に参加するために、サーバ装置1に接続されている端末装置の全部あるいは一部である。
同期対象とするオブジェクトは、仮想空間でオブジェクトして認識されるオブジェクトであってもよいが、オブジェクトそのものではなく、オブジェクトの同期状態を再現するために必要な位置や姿勢などのオブジェクトのパラメータ(オブジェクトのフィールドの一部やそれらをエンコードしたものなど)に限定したり、同様の挙動をする複数のオブジェクトをグループ化した結合オブジェクトとしたりすることで、実際に同期動作させるオブジェクトの数や内容を削減することで同期動作の負荷を削減することが望ましい。
同期動作させる端末装置は、当該同期オブジェクトの動作が仮想体験の共有に意味があるグループ間だけでの同期動作のみに限定されることが望ましい。
同期対象オブジェクトの所有権を有するクライアントから当該同期対象オブジェクトの変更内容情報を受信する受信手段と、
前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記変更内容情報を前記複数のクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段とを有する情報処理装置。
[2]前記受信手段は、クライアントが参加した際に、当該クライアントが所有権を有する同期対象オブジェクトを受信して前記複製オブジェクトとして記録媒体に格納する前記[1]に記載の情報処理装置。
[3]前記受信手段は、前記クライアントが新たにオブジェクトを生成した際に、当該新たに生成したオブジェクトを同期対象オブジェクトとして複製して前記複製オブジェクトを記録媒体に格納する前記[1]に記載の情報処理装置。
[4]前記送信手段は、クライアントが参加した際、又は前記クライアントが新たにオブジェクトを生成した際に、記録媒体に格納した前記複製オブジェクト、又は前記同期対象オブジェクトを、前記複数のクライアントのうち前記所有権を有するクライアント以外へ送信する前記[2]又は[3]に記載の情報処理装置。
[5]前記受信手段は、前記同期対象オブジェクトの所有権を有するクライアント以外のクライアントから当該同期対象オブジェクトの変更内容情報を受信しない前記[1]~[4]のいずれかに記載の情報処理装置。
[6]前記更新手段は、前記受信手段が前記同期対象オブジェクトの所有権を有するクライアント以外のクライアントから当該同期対象オブジェクトの変更内容情報を受信した場合、前記複製オブジェクトを更新しない前記[1]~[4]のいずれかに記載の情報処理装置。
[7]前記送信手段は、前記受信手段が前記同期対象オブジェクトの所有権を有するクライアント以外のクライアントから当該同期対象オブジェクトの変更内容情報を受信した場合、当該変更内容情報を、前記所有権を有するクライアントへ送信しない前記[1]~[4]のいずれかに記載の情報処理装置。
[8]前記更新手段は、前記受信手段が前記同期対象オブジェクトの変更内容情報として変更前の前記同期対象オブジェクトとの差分を受信して、前記複製オブジェクトを更新する前記[1]~[7]のいずれかに記載の情報処理装置。
[9]前記クライアントが退出した際に、当該クライアントが所有権を有していた前記同期対象オブジェクトに対応する複製オブジェクトの所有権を、当該所有権の移譲が許可されている場合に、予め定めたルールに基づいて当該クライアント以外の他のクライアントに移譲する管理手段としてさらに機能させる前記[1]~[8]のいずれかに記載の情報処理装置。
[10]前記クライアントが退出した際に、当該クライアントが所有権を有していた前記同期対象オブジェクトに対応する複製オブジェクトの所有権の移譲が許可されていない場合に、当該複製オブジェクトを削除する管理手段としてさらに機能させ、
前記送信手段は、当該クライアント以外の他のクライアントに保持されている前記複製オブジェクトに対応するオブジェクトを削除するよう当該他のクライアントに指示する前記[1]~[8]のいずれかに記載の情報処理装置。
[11]オブジェクトを互いに同期する複数のクライアントとネットワークで接続されたコンピュータを、
同期対象オブジェクトの所有権を有するクライアントから当該同期対象オブジェクトの変更内容情報を受信する受信手段と、
前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記変更内容情報を前記複数のクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段として機能させるためのデータ同期プログラム。
[12]オブジェクトを互いに同期する複数のクライアントとネットワークで接続された情報処理装置において、
同期対象オブジェクトの所有権を有するクライアントから当該同期対象オブジェクトの変更内容情報を受信するステップと、
前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新するステップと、
前記変更内容情報を前記複数のクライアントのうち前記所有権を有するクライアント以外へ送信するステップとを有するデータ同期方法。
[13]オブジェクトを互いに同期する複数のクライアントと、
前記複数のクライアントとネットワークで接続された情報処理装置であって、
同期対象オブジェクトの所有権を有するクライアントから当該同期対象オブジェクトの変更内容情報を受信する受信手段と、
前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記変更内容情報を前記複数のクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段とを有する情報処理装置
とを備えたデータ同期システム。
[14]前記複数のクライアントは、前記情報処理装置から自己が所有権を有する同期対象オブジェクトの複製オブジェクトを受信した場合、当該複製オブジェクトを受信拒否する前記[13]に記載のデータ同期システム。
[15]前記複数のクライアントは、前記同期対象オブジェクトの変更内容情報として変更前の前記同期対象オブジェクトとの差分を前記情報処理装置に送信する前記[13]又は[14]に記載のデータ同期システム。
[16]他のクライアントとオブジェクトを互いに同期するクライアントとしての端末装置であって、
同期対象オブジェクトの所有権を有するクライアントから当該同期対象オブジェクトの変更内容情報を受信する受信手段と、
前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記変更内容情報を前記複数のクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段とを有する情報処理装置
と通信可能に接続されるクライアントとしての端末装置。
[17]前記情報処理装置から自己が所有権を有する同期対象オブジェクトの複製オブジェクトを受信した場合、当該複製オブジェクトを受信拒否する前記[16]に記載のクライアントとしての端末装置。
[18]前記同期対象オブジェクトの変更内容情報として変更前の前記同期対象オブジェクトとの差分を前記情報処理装置に送信する前記[16]又は[17]に記載のクライアントとしての端末装置。
[19]オブジェクトを互いに同期する複数のクライアントとネットワークで接続された情報処理装置であって、
前記複数のクライアントから同期対象オブジェクトの変更内容情報を受信する受信手段と、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合、前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記変更内容情報を前記複数のクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段とを有する情報処理装置。
[20]オブジェクトを互いに同期する複数のクライアントとネットワークで接続された情報処理装置であって、
前記複数のクライアントから同期対象オブジェクトの変更内容情報を受信する受信手段と、
前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合、前記変更内容情報を前記複数のクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段とを有する情報処理装置。
[21]前記受信手段は、前記複数のクライアントが参加する仮想空間にクライアントが参加した際に、当該クライアントが所有権を有する同期対象オブジェクトを受信して前記複製オブジェクトとして記録媒体に格納する前記[19]又は[20]に記載の情報処理装置。
[22]前記受信手段は、前記クライアントが新たにオブジェクトを生成した際に、当該新たに生成したオブジェクトを同期対象オブジェクトとして複製して前記複製オブジェクトを記録媒体に格納する前記[19]又は[20]に記載の情報処理装置。
[23]前記送信手段は、クライアントが参加した際、又は前記クライアントが新たにオブジェクトを生成した際に、記録媒体に格納した前記複製オブジェクト、又は前記同期対象オブジェクトを、前記複数のクライアントのうち前記所有権を有するクライアント以外へ送信する前記[21]又は[22]に記載の情報処理装置。
[24]前記受信手段は、前記同期対象オブジェクトの所有権を有するクライアント以外のクライアントから当該同期対象オブジェクトの変更内容情報を受信しない前記[19]~[23]のいずれかに記載の情報処理装置。
[25]前記更新手段は、前記受信手段が前記同期対象オブジェクトの所有権を有するクライアント以外のクライアントから当該同期対象オブジェクトの変更内容情報を受信した場合、前記複製オブジェクトを更新しない前記[19]~[23]のいずれかに記載の情報処理装置。
[26]前記送信手段は、前記受信手段が前記同期対象オブジェクトの所有権を有するクライアント以外のクライアントから当該同期対象オブジェクトの変更内容情報を受信した場合、当該変更内容情報を、前記所有権を有するクライアントへ送信しない前記[19]~[23]のいずれかに記載の情報処理装置。
[27]前記更新手段は、前記受信手段が前記同期対象オブジェクトの変更内容情報として変更前の前記同期対象オブジェクトとの差分を受信して、前記複製オブジェクトを更新する前記[19]~[26]のいずれかに記載の情報処理装置。
[28]前記クライアントが、前記複数のクライアントが参加する仮想空間から退出した際に、当該クライアントが所有権を有していた前記同期対象オブジェクトに対応する複製オブジェクトの所有権を、当該所有権の移譲が許可されている場合に、予め定めたルールに基づいて当該クライアント以外の他のクライアントに移譲する管理手段としてさらに機能させる前記[19]~[27]のいずれかに記載の情報処理装置。
[29]前記クライアントが、当該クライアントが参加する仮想空間から退出した際に、当該クライアントが所有権を有していた前記同期対象オブジェクトに対応する複製オブジェクトの所有権の移譲が許可されていない場合に、当該複製オブジェクトを削除する管理手段としてさらに機能させ、
前記送信手段は、当該クライアント以外の他のクライアントに保持されている前記複製オブジェクトに対応するオブジェクトを削除するよう当該他のクライアントに指示する前記[19]~[26]のいずれかに記載の情報処理装置。
[30]オブジェクトを互いに同期する複数のクライアントとネットワークで接続されたコンピュータを、
前記複数のクライアントから同期対象オブジェクトの変更内容情報を受信する受信手段と、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合、前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記変更内容情報を前記複数のクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段として機能させるためのデータ同期プログラム。
[31]オブジェクトを互いに同期する複数のクライアントとネットワークで接続されたコンピュータを、
前記複数のクライアントから同期対象オブジェクトの変更内容情報を受信する受信手段と、
前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合、前記変更内容情報を前記複数のクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段として機能させるためのデータ同期プログラム。
[32]オブジェクトを互いに同期する複数のクライアントとネットワークで接続された情報処理装置において、
前記複数のクライアントから同期対象オブジェクトの変更内容情報を受信するステップと、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合、前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新するステップと、
前記変更内容情報を前記複数のクライアントのうち前記所有権を有するクライアント以外へ送信するステップとを有するデータ同期方法。
[33]オブジェクトを互いに同期する複数のクライアントとネットワークで接続された情報処理装置において、
前記複数のクライアントから同期対象オブジェクトの変更内容情報を受信するステップと、
前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新するステップと、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合、前記変更内容情報を前記複数のクライアントのうち前記所有権を有するクライアント以外へ送信するステップとを有するデータ同期方法。
[34]オブジェクトを互いに同期する複数のクライアントと、
前記複数のクライアントとネットワークで接続された情報処理装置であって、
前記複数のクライアントから同期対象オブジェクトの変更内容情報を受信する受信手段と、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合、前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記変更内容情報を前記複数のクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段とを有する情報処理装置とを備えたデータ同期システム。
[35]オブジェクトを互いに同期する複数のクライアントと、
前記複数のクライアントとネットワークで接続された情報処理装置であって、
前記複数のクライアントから同期対象オブジェクトの変更内容情報を受信する受信手段と、
前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合、前記変更内容情報を前記複数のクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段とを有する情報処理装置とを備えたデータ同期システム。
[36]前記複数のクライアントは、前記同期対象オブジェクトの変更内容情報として変更前の前記同期対象オブジェクトとの差分を前記情報処理装置に送信する前記[34]又は[35]に記載のデータ同期システム。
[37]情報処理装置を介して他のクライアントとオブジェクトを互いに同期するクライアントとしての端末装置であって、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合、当該同期対象オブジェクトの所有権を有するクライアントからの当該同期対象オブジェクトの変更内容情報を、前記情報処理装置を介して受信する受信手段と、
前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記変更内容情報を前記複数のクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段とを有する前記情報処理装置と通信可能に接続されるクライアントとしての端末装置。
[38]情報処理装置を介して他のクライアントとオブジェクトを互いに同期するクライアントとしての端末装置であって、
同期対象オブジェクトを複製した複製オブジェクトが自己クライアントにおいて更新された場合、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において当該自己クライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合、当該前記変更内容情報を前記情報処理装置へ送信する送信手段とを有する前記情報処理装置と通信可能に接続されるクライアントとしての端末装置。
[39]前記同期対象オブジェクトの変更内容情報として変更前の前記同期対象オブジェクトとの差分を前記情報処理装置に送信する前記[37]又は[38]に記載のクライアントとしての端末装置。
2a、2b、2c:端末装置
3a、3b、3c:利用者
4a、4b、4c:アバター
10 :制御部
11 :記憶部
12 :メモリ
13 :通信部
100 :地形情報管理手段
101 :地形情報編集手段
102 :ルーム管理手段
103 :参加者管理手段
104 :データ受信手段
105 :データ送信手段
106 :レプリカ管理手段
107 :データ更新手段
110 :データ管理プログラム
111 :地形情報
112 :ルーム管理情報
113 :参加者管理情報
114A :レプリカ管理情報
114B :レプリカ管理情報
120a、120b、120c:レプリカ
Claims (30)
- 1以上の仮想空間に参加する複数のクライアントとネットワークで接続された情報処理装置であって、
前記仮想空間の同期対象オブジェクトは当該同期対象オブジェクトの所有権を有するクライアントと所有権を有しないクライアントから構成される同期グループのクライアント間で同期されるものであり、
前記同期グループのクライアントのうち、前記同期対象オブジェクトの所有権を有するクライアントからそれぞれ当該同期対象オブジェクトの変更内容情報を受信する受信手段と、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合、前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記変更内容情報を前記同期グループのクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段とを有する情報処理装置。 - 前記クライアントが1以上の前記同期グループに属する請求項1に記載の情報処理装置。
- 前記同期グループは、前記同期対象オブジェクトのうち互いのユーザ情報の同期を行うクライアントから構成される請求項1に記載の情報処理装置。
- 前記同期グループは、前記同期対象オブジェクトのうち仮想空間を構成するコンテンツを再現するための地形情報の同期を行うクライアントから構成される請求項1に記載の情報処理装置。
- 前記同期対象オブジェクトのうち前記地形情報に対応する同期対象オブジェクトの所有権を有するクライアントは、サーバ上のダミークライアントである請求項4に記載の情報処理装置。
- 前記地形情報の編集権を有するクライアントからの操作内容に基づいて前記地形情報を編集する編集手段としてさらに機能させる請求項4に記載の情報処理装置。
- 前記仮想空間の前記同期対象オブジェクトを含むオブジェクトに対応した識別子を発行する地形情報管理手段としてさらに機能させる請求項6に記載の情報処理装置。
- 前記識別子は、前記クライアントが前記仮想空間のコンテンツへのアクセスに用いられる請求項7に記載の情報処理装置。
- 前記仮想空間のコンテンツへのアクセスは、前記クライアントの前記仮想空間への参加である請求項8に記載の情報処理装置。
- 前記仮想空間のコンテンツへのアクセスは、前記クライアントの前記コンテンツの編集である請求項8に記載の情報処理装置。
- 前記仮想空間のコンテンツへのアクセスは、前記クライアントにおける前記仮想空間への参加のためのプログラムの起動である請求項9に記載の情報処理装置。
- 前記仮想空間のコンテンツへのアクセスは、前記クライアントにおける前記コンテンツの編集のためのウェブサイトへのアクセスであって、当該ウェブサイトへのアクセスのためのウェブブラウザの起動である請求項10に記載の情報処理装置。
- 前記受信手段は、前記複数のクライアントが参加する同期グループにクライアントが参加した際に、当該クライアントが所有権を有する同期対象オブジェクトを受信して前記複製オブジェクトとして記録媒体に格納する請求項1に記載の情報処理装置。
- 前記複数のクライアントが参加する同期グループにクライアントが参加した際に、当該クライアントが前記エリア情報の編集権を有する場合、前記送信手段は、前記複製オブジェクトを当該クライアントの同期対象オブジェクトとして当該クライアントに送信し、さらに所有権を移譲する請求項1に記載の情報処理装置。
- 前記受信手段は、前記クライアントが新たにオブジェクトを生成した際に、当該新たに生成したオブジェクトを同期対象オブジェクトとして複製して前記複製オブジェクトを記録媒体に格納する請求項1に記載の情報処理装置。
- 前記送信手段は、クライアントが参加した際、又は前記クライアントが新たにオブジェクトを生成した際に、記録媒体に格納した前記複製オブジェクト、又は前記同期対象オブジェクトを、前記複数のクライアントのうち前記所有権を有するクライアント以外へ送信する請求項13から15のいずれか1項に記載の情報処理装置。
- 前記受信手段は、前記同期対象オブジェクトの所有権を有するクライアント以外のクライアントから当該同期対象オブジェクトの変更内容情報を受信しない請求項13から15のいずれか1項に記載の情報処理装置。
- 前記更新手段は、前記受信手段が前記同期対象オブジェクトの所有権を有するクライアント以外のクライアントから当該同期対象オブジェクトの変更内容情報を受信した場合、前記複製オブジェクトを更新しない請求項13から15のいずれか1項に記載の情報処理装置。
- 前記送信手段は、前記受信手段が前記同期対象オブジェクトの所有権を有するクライアント以外のクライアントから当該同期対象オブジェクトの変更内容情報を受信した場合、当該変更内容情報を、前記所有権を有するクライアントへ送信しない請求項13から15のいずれか1項に記載の情報処理装置。
- 前記更新手段は、前記受信手段が前記同期対象オブジェクトの変更内容情報として変更前の前記同期対象オブジェクトとの差分を受信して、前記複製オブジェクトを更新する請求項13から15のいずれか1項に記載の情報処理装置。
- 前記クライアントが、前記複数のクライアントが参加する同期グループから退出した際に、当該クライアントが所有権を有していた前記同期対象オブジェクトに対応する複製オブジェクトの所有権を、当該所有権の移譲が許可されている場合に、予め定めたルールに基づいて当該クライアント以外の他のクライアントに移譲する管理手段としてさらに機能させる請求項13から15のいずれか1項に記載の情報処理装置。
- 前記クライアントが、当該クライアントが参加する同期グループから退出した際に、当該クライアントが所有権を有していた前記同期対象オブジェクトに対応する複製オブジェクトの所有権の移譲が許可されていない場合に、当該複製オブジェクトを削除する管理手段としてさらに機能させ、
前記送信手段は、当該クライアント以外の他のクライアントに保持されている前記複製オブジェクトに対応するオブジェクトを削除するよう当該他のクライアントに指示する請求項13から15のいずれか1項に記載の情報処理装置。 - 仮想空間に参加する複数のクライアントとネットワークで接続されたコンピュータを機能させるためのデータ同期プログラムであって、
前記仮想空間の同期対象オブジェクトは当該オブジェクトの所有権を有するクライアントと所有権を有しないクライアントから構成される同期グループのクライアント間で同期されるものであり、
前記同期対象オブジェクトの所有権を有するクライアントからそれぞれ当該同期対象オブジェクトの変更内容情報を受信する受信手段と、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合、前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記変更内容情報を前記同期グループのクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段として機能させるためのデータ同期プログラム。 - 仮想空間に参加する複数のクライアントと、
前記複数のクライアントとネットワークで接続された情報処理装置であって、
前記仮想空間の同期対象オブジェクトは当該オブジェクトの所有権を有するクライアントと所有権を有しないクライアントから構成される同期グループのクライアント間で同期されるものであり、
前記同期対象オブジェクトの所有権を有するクライアントからそれぞれ当該同期対象オブジェクトの変更内容情報を受信する受信手段と、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合、前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記変更内容情報を前記同期グループのクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段とを有する情報処理装置とを備えたデータ同期システム。 - 前記複数のクライアントは、前記同期対象オブジェクトの変更内容情報として変更前の前記同期対象オブジェクトとの差分を前記情報処理装置に送信する請求項24に記載のデータ同期システム。
- 情報処理装置を介して他のクライアントとネットワークで接続される、仮想空間に参加するクライアントとしての端末装置であって、
前記仮想空間の同期対象オブジェクトは当該オブジェクトの所有権を有するクライアントと所有権を有しないクライアントから構成される同期グループのクライアント間で同期されるものであり、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合にのみ、当該同期対象オブジェクトの所有権を有するクライアントからの当該同期対象オブジェクトの変更内容情報を、前記情報処理装置を介して受信する受信手段と、
前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記変更内容情報を前記同期グループのクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段とを有し、前記情報処理装置と通信可能に接続されるクライアントとしての端末装置。 - 情報処理装置を介して他のクライアントとネットワークで接続される、仮想空間に参加するクライアントとしての端末装置であって、
前記仮想空間の同期対象オブジェクトは当該オブジェクトの所有権を有するクライアントと所有権を有しないクライアントから構成される同期グループのクライアント間で同期されるものであり、
同期対象オブジェクトを複製した複製オブジェクトが自己クライアントにおいて更新された場合、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において当該自己クライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合にのみ、当該前記変更内容情報を前記情報処理装置へ送信する送信手段とを有し、前記情報処理装置と通信可能に接続されるクライアントとしての端末装置。 - 前記同期対象オブジェクトの変更内容情報として変更前の前記同期対象オブジェクトとの差分を前記情報処理装置に送信する請求項26又は27に記載のクライアントとしての端末装置。
- 前記情報処理装置により発行された識別子により前記仮想空間へのアクセス及び前記仮想空間を構成するコンテンツを再現するための地形情報の編集ウェブサイトへアクセスする請求項26又は27に記載の端末装置。
- 1以上の仮想空間に参加する複数のクライアントとネットワークで接続された仮想空間管理提供装置であって、
前記仮想空間の同期対象オブジェクトは当該同期対象オブジェクトの所有権を有するクライアントと所有権を有しないクライアントから構成される同期グループのクライアント間で同期されるものであり、
前記同期グループのクライアントのうち、前記同期対象オブジェクトの所有権を有するクライアントからそれぞれ当該同期対象オブジェクトの変更内容情報を受信する受信手段と、
前記同期対象オブジェクト毎に管理される管理情報であって、当該同期対象オブジェクトの所有権を有するクライアントを定義する前記管理情報を参照し、当該管理情報において送信元のクライアントが、当該同期対象オブジェクトの所有権を有するクライアントとして定義されている場合、前記変更内容情報により、前記同期対象オブジェクトを複製した複製オブジェクトを更新する更新手段と、
前記変更内容情報を前記同期グループのクライアントのうち前記所有権を有するクライアント以外へ送信する送信手段とを有する仮想空間管理提供装置。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2022293125A AU2022293125B2 (en) | 2021-06-14 | 2022-06-14 | Information processing device, data synchronization program, data synchronization method, data synchronization system and terminal device |
CN202280008097.3A CN116583328B (zh) | 2021-06-14 | 2022-06-14 | 信息处理装置、数据同步方法、数据同步系统、记录介质以及终端装置 |
EP22824978.5A EP4239980A4 (en) | 2021-06-14 | 2022-06-14 | INFORMATION PROCESSING DEVICE, DATA SYNCHRONIZATION PROGRAM, DATA SYNCHRONIZATION METHOD, DATA SYNCHRONIZATION SYSTEM AND TERMINAL DEVICE |
JP2022555956A JP7274161B1 (ja) | 2021-06-14 | 2022-06-14 | 情報処理装置、データ同期プログラム、データ同期方法、データ同期システム及び端末装置 |
KR1020237016620A KR102638092B1 (ko) | 2021-06-14 | 2022-06-14 | 정보 처리 장치, 데이터 동기 프로그램, 데이터 동기 방법, 데이터 동기 시스템 및 단말 장치 |
KR1020247004936A KR20240023706A (ko) | 2021-06-14 | 2022-06-14 | 정보 처리 장치, 데이터 동기 프로그램, 데이터 동기 방법, 데이터 동기 시스템 및 단말 장치 |
US18/450,427 US11992753B2 (en) | 2021-06-14 | 2023-08-16 | Information processing device, data synchronization program, data synchronization method, data synchronization system, and terminal device |
US18/633,516 US20240252915A1 (en) | 2021-06-14 | 2024-04-12 | Information processing device, data synchronization program, data synchronization method, data synchronization system, and terminal device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021098419 | 2021-06-14 | ||
JP2021-098419 | 2021-06-14 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/450,427 Continuation US11992753B2 (en) | 2021-06-14 | 2023-08-16 | Information processing device, data synchronization program, data synchronization method, data synchronization system, and terminal device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022264990A1 true WO2022264990A1 (ja) | 2022-12-22 |
Family
ID=84526508
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/023718 WO2022264990A1 (ja) | 2021-06-14 | 2022-06-14 | 情報処理装置、データ同期プログラム、データ同期方法、データ同期システム及び端末装置 |
PCT/JP2022/023717 WO2022264989A1 (ja) | 2021-06-14 | 2022-06-14 | 情報処理装置、データ同期プログラム、データ同期方法、データ同期システム及び端末装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/023717 WO2022264989A1 (ja) | 2021-06-14 | 2022-06-14 | 情報処理装置、データ同期プログラム、データ同期方法、データ同期システム及び端末装置 |
Country Status (7)
Country | Link |
---|---|
US (3) | US11766608B2 (ja) |
EP (2) | EP4239980A4 (ja) |
JP (2) | JP7274161B1 (ja) |
KR (3) | KR20240023706A (ja) |
CN (2) | CN116583328B (ja) |
AU (1) | AU2022293125B2 (ja) |
WO (2) | WO2022264990A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240231639A9 (en) * | 2022-10-21 | 2024-07-11 | Western Digital Technologies, Inc. | Data Storage Device and Method for Reducing Read Disturbs When Reading Redundantly-Stored Data |
CN117009146B (zh) * | 2023-09-28 | 2024-03-08 | 金篆信科有限责任公司 | 数据同步方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007125250A (ja) * | 2005-11-04 | 2007-05-24 | Nintendo Co Ltd | ゲームプログラムおよびゲーム機 |
JP2007185446A (ja) | 2006-01-16 | 2007-07-26 | Sony Computer Entertainment Inc | シミュレータシステム |
JP2008022573A (ja) * | 1999-05-10 | 2008-01-31 | Telefon Ab L M Ericsson | 通信ネットワークにおける方法及び装置 |
JP2014056546A (ja) * | 2012-09-14 | 2014-03-27 | Konica Minolta Inc | 情報共有システム及び共有端末並びに共有制御プログラム |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000157724A (ja) | 1998-11-24 | 2000-06-13 | Sega Enterp Ltd | ネットワークを利用したゲームシステム、ネットワークに接続可能なゲーム機及びこのゲーム機のためのプログラムが記録された媒体 |
US6763371B1 (en) * | 1999-05-10 | 2004-07-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for collaborative communication in a communication network |
JP2004135051A (ja) | 2002-10-10 | 2004-04-30 | Sony Corp | 情報処理システム、サービス提供装置および方法、情報処理装置および方法、記録媒体、並びにプログラム |
KR20050023495A (ko) * | 2003-08-28 | 2005-03-10 | (주)트라이헤드론 | 다자간 네트웍 게임에서의 데이타 동기화 방법 |
JPWO2006025255A1 (ja) * | 2004-08-30 | 2008-05-08 | 松下電器産業株式会社 | 多人数参加型アプリケーションを実行するクライアント端末装置、グループ形成方法及びグループ形成プログラム |
US8142289B2 (en) * | 2006-06-30 | 2012-03-27 | Sony Computer Entertainment America Llc | Dead reckoning in a gaming environment |
US20080282090A1 (en) * | 2007-05-07 | 2008-11-13 | Jonathan Leybovich | Virtual Property System for Globally-Significant Objects |
JP4950978B2 (ja) * | 2008-10-08 | 2012-06-13 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および情報処理方法 |
EP2500859A4 (en) | 2009-08-17 | 2016-05-25 | Diagonal Inc | INFORMATION UPDATE SYSTEM |
US8785737B2 (en) * | 2011-07-29 | 2014-07-22 | Monsanto Technology Llc | Soybean variety A1026091 |
JP6506527B2 (ja) * | 2014-10-14 | 2019-04-24 | キヤノン株式会社 | 情報処理装置とデータ同期方法、データ同期システムおよびプログラム |
US10484249B1 (en) * | 2015-09-18 | 2019-11-19 | Amazon Technologies, Inc. | Dynamic distribution of simulation load |
CN105468358B (zh) | 2015-11-17 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种移动游戏的数据处理方法以及装置 |
AU2017363534B2 (en) * | 2016-11-22 | 2022-01-20 | Cox Automotive, Inc. | Multiple agent distributed ledger architecture |
JP6523378B2 (ja) | 2017-07-20 | 2019-05-29 | 株式会社コロプラ | ゲームプログラム、ゲームプログラムを実行する方法、および情報処理装置 |
US11020660B2 (en) * | 2019-02-21 | 2021-06-01 | Sony Interactive Entertainment LLC | Transactional memory synchronization between multiple sessions of a video game |
CN110694266B (zh) * | 2019-10-23 | 2023-07-18 | 网易(杭州)网络有限公司 | 一种游戏状态的同步方法、展示方法及装置 |
CN112642143B (zh) * | 2020-12-30 | 2022-11-15 | 明日世界(上海)网络科技有限公司 | 一种实现信息同步的方法、装置、存储介质和电子设备 |
-
2022
- 2022-06-14 WO PCT/JP2022/023718 patent/WO2022264990A1/ja active Application Filing
- 2022-06-14 CN CN202280008097.3A patent/CN116583328B/zh active Active
- 2022-06-14 KR KR1020247004936A patent/KR20240023706A/ko active Application Filing
- 2022-06-14 EP EP22824978.5A patent/EP4239980A4/en active Pending
- 2022-06-14 EP EP22809305.0A patent/EP4145805A4/en active Pending
- 2022-06-14 AU AU2022293125A patent/AU2022293125B2/en active Active
- 2022-06-14 KR KR1020227043276A patent/KR102612811B1/ko active IP Right Grant
- 2022-06-14 KR KR1020237016620A patent/KR102638092B1/ko active IP Right Grant
- 2022-06-14 JP JP2022555956A patent/JP7274161B1/ja active Active
- 2022-06-14 CN CN202280004615.4A patent/CN115943619B/zh active Active
- 2022-06-14 WO PCT/JP2022/023717 patent/WO2022264989A1/ja unknown
- 2022-11-29 US US18/070,481 patent/US11766608B2/en active Active
-
2023
- 2023-04-20 JP JP2023069164A patent/JP7462197B2/ja active Active
- 2023-08-16 US US18/450,427 patent/US11992753B2/en active Active
-
2024
- 2024-04-12 US US18/633,516 patent/US20240252915A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008022573A (ja) * | 1999-05-10 | 2008-01-31 | Telefon Ab L M Ericsson | 通信ネットワークにおける方法及び装置 |
JP2007125250A (ja) * | 2005-11-04 | 2007-05-24 | Nintendo Co Ltd | ゲームプログラムおよびゲーム機 |
JP2007185446A (ja) | 2006-01-16 | 2007-07-26 | Sony Computer Entertainment Inc | シミュレータシステム |
JP2014056546A (ja) * | 2012-09-14 | 2014-03-27 | Konica Minolta Inc | 情報共有システム及び共有端末並びに共有制御プログラム |
Non-Patent Citations (1)
Title |
---|
See also references of EP4239980A4 |
Also Published As
Publication number | Publication date |
---|---|
JP7274161B1 (ja) | 2023-05-16 |
CN115943619A (zh) | 2023-04-07 |
WO2022264989A1 (ja) | 2022-12-22 |
CN116583328B (zh) | 2024-09-13 |
KR20240023706A (ko) | 2024-02-22 |
US20240252915A1 (en) | 2024-08-01 |
EP4239980A4 (en) | 2024-01-24 |
AU2022293125B2 (en) | 2023-10-05 |
KR102612811B1 (ko) | 2023-12-11 |
EP4239980A1 (en) | 2023-09-06 |
CN116583328A (zh) | 2023-08-11 |
EP4145805A4 (en) | 2024-08-14 |
KR20230003311A (ko) | 2023-01-05 |
EP4145805A1 (en) | 2023-03-08 |
US20230394759A1 (en) | 2023-12-07 |
JP2023103259A (ja) | 2023-07-26 |
KR102638092B1 (ko) | 2024-02-16 |
JPWO2022264990A1 (ja) | 2022-12-22 |
CN115943619B (zh) | 2024-05-28 |
US11992753B2 (en) | 2024-05-28 |
AU2022293125A1 (en) | 2023-08-03 |
US11766608B2 (en) | 2023-09-26 |
KR20230074619A (ko) | 2023-05-30 |
US20230088340A1 (en) | 2023-03-23 |
JP7462197B2 (ja) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7274161B1 (ja) | 情報処理装置、データ同期プログラム、データ同期方法、データ同期システム及び端末装置 | |
JP6101267B2 (ja) | 仮想世界の相互作用のシステムおよび方法 | |
JP5051242B2 (ja) | ゲームイベントに基づく、ブログ、ウェブページ又はファイル共有サイトのための自動エントリ作成のためのシステム及び方法 | |
US11638871B2 (en) | Method, system and apparatus of recording and playing back an experience in a virtual worlds system | |
US20030177187A1 (en) | Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications | |
US9256347B2 (en) | Routing a teleportation request based on compatibility with user contexts | |
JP2009510561A (ja) | オンラインロビーを提供するシステムおよび方法 | |
US20100093438A1 (en) | Dynamic and Scalable Topology for Virtual World Environments | |
US20100035692A1 (en) | Avatar closet/ game awarded avatar | |
CN101180621A (zh) | 建立游戏上下文外的在线游戏会话 | |
JP2007505673A (ja) | ネットワークを利用したゲーム・システム | |
Gilmore et al. | A survey of state persistency in peer-to-peer massively multiplayer online games | |
McGonigal | SuperGaming: Ubiquitous play and performance for massively scaled community | |
JP7148941B1 (ja) | 情報処理装置、データ同期プログラム、データ同期方法、データ同期システム及び端末装置 | |
Behnke | Increasing the supported number of participants in distributed virtual environments | |
Bell et al. | VWRAP for virtual worlds interoperability [Standards] | |
Silva et al. | Socializing in higher education through an MMORPG | |
Calhau | MULTIPLAYER MODULE FOR SCIENCE4PANDEMICS’ | |
Sant | A Second Life for online performance: Understanding present developments through an historical context | |
CN113509719A (zh) | 多版本应用的计算机系统、运行方法、装置及介质 | |
Zhang | Multiplayer network game programming in MFC: a case study of video poker | |
Brun et al. | Managing Latency and Fairness in Networked Games Fighting propagation delays in real-time interactive applications improves gameplay and fairness in networked games by trading off inconstencies and tuning decision points topology. | |
Berry Jr et al. | Connectivity of Heterogeneous Environments Part 1: Communication | |
Marshall et al. | Challenges in modern Distributed Interactive Application design (Technical Report) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2022555956 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22824978 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 20237016620 Country of ref document: KR Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2022824978 Country of ref document: EP Effective date: 20230531 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202280008097.3 Country of ref document: CN |
|
ENP | Entry into the national phase |
Ref document number: 2022293125 Country of ref document: AU Date of ref document: 20220614 Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |