Patent · US10062354B2 · B2 · US
System and methods for creating virtual environments
- (11) Publication number
- US10062354B2
- (21) Application number
- 14/878,262
- (22) Filing date
- 2015-10-08
- (30) Priority date
- 2014-10-10
- (43) Publication date
- 2018-08-28
- (45) Date of grant
- 2018-08-28
- (51) IPC
- G09G 5/00; H04L 29/06; H04L 29/08; A63F 13/55; A63F 13/57; A63F 13/67; G06F 8/20; G06F 8/38; G06F 9/00; G06F 9/455; G06N 3/04; H04L 12/24
- (52) CPC
- G09G Arrangements or circuits for control of indicating devices using static means to present variable information: 5/006, 2370/022
- A63F Card, board, or roulette games; indoor games using small moving playing bodies; video games; games not otherwise provided for: 13/55, 13/57, 13/67, 2300/6027, 2300/8082
- G06F Electric digital data processing: 8/20, 8/38, 9/00, 9/4411, 9/455
- G06N Computing arrangements based on specific computational models: 3/0472, 7/005, 7/01
- H04L Transmission of digital information, e.g. telegraphic communication: 41/083, 41/0886, 67/10, 67/131, 67/32, 67/38, 67/60
- (73) Assignee
- Dimensionalmechanics Inc
- (72) Inventors
- Rajeev Dutt
- (54) Title
- System and methods for creating virtual environments
- (57) Abstract
Systems and methods for creating entities that operate within a virtual environment, where in some embodiments the entities are substantially autonomous in the sense that they are capable of communications and interactions with the environment and other entities. In some embodiments, the entities may be capable of interacting with an environment other than the one in which they were created and originally configured. In some embodiments, the entities may engage in interactions with other entities that operate to enable changes in behavior of one or both of the entities.
- Full text
- View on Google Patents
Claims (18)
- A virtual environment system for providing access to virtual entities for multiple users, the system comprising at least one server configured to: communicatively connect to at least one communication network, the communication network providing communication to user devices for interfacing with virtual entities in the virtual environment system; support a kernel environment that controls at least one of a physics engine, a gaming engine, a rendering engine, data input and output, a runtime, database access, and storage access; support a core data structure having modules, wherein each module corresponds to a virtual entity and includes behavior logic and representational data for the corresponding virtual entity; create a virtual entity by instantiating the core data structure, creating a foundation runtime for the core data structure configured to execute the behavior logic imparted by the module corresponding to an entity to the entity, and communicate with other core foundation runtimes; support event messaging between a first and a second virtual entity and between a virtual entity and the virtual environment by, responsive to detecting an event message, identifying an instantiated core data structure to which the event message is registered, forward the event message to the identified core; and process the event message in accordance with logic defined in the core data structure for handling the received event message; render representational data for the virtual entity for presentation to at least one user external to the virtual environment; and provide at least one interface for the one user to perceive the virtual entity.
- The virtual environment system of claim 1, where the system is further configured to provide at least one capability to allow virtual environments originating from different sources or platforms to interact with one another.
- The virtual environment system of claim 1, where the system is further configured to provide at least one capability to allow a virtual entity to navigate between disparate unrelated virtual environments.
- The virtual environment system of claim 1, wherein the created virtual entity is associated with an electronically stored data structure, and further, wherein the associated data structure includes an event handler, executable logic, and data storage.
- The virtual environment system of claim 4, wherein the event handler operates to detect an event emitted by another entity or by the virtual environment, and in response to determine if the detected event is directed to the created virtual entity.
- The virtual environment system of claim 5, wherein if the detected event is directed to the created virtual entity, then the created virtual entity processes the event by extracting microcode contained within the event.
- The virtual environment system of claim 6, wherein the extracted microcode is executable by the created virtual entity and operates to alter the executable logic of the created virtual entity.
- The virtual environment system of claim 7, wherein the extracted microcode functions to correct an error in the current executable logic of the created virtual entity or to alter the functionality of the created virtual entity.
- The virtual environment system of claim 8, wherein the error is a security flaw within the executable logic.
- The virtual environment system of claim 5, wherein the detected event is one of a query, a notification, or an executable.
- The virtual environment system of claim 4, wherein the data structure associated with a created virtual entity includes executable logic that enables the created virtual entity to perform a specified task.
- The virtual environment system of claim 11, wherein the specified task includes representing the behavior of a real entity external to the virtual environment.
- The virtual environment system of claim 1, wherein a module is operable to be used to generate one or more virtual entities.
- The virtual environment system of claim 1, wherein the virtual environment is a representation of one of an economic system, a communications system, a transportation system, or a social group.
- The virtual environment system of claim 1, wherein the system is configured to cause the dissemination of an event, message, or microcode among a plurality of virtual entities in accordance with a Log (N) behavior, where N is the number of entities.
- The virtual environment system of claim 1, wherein the kernel environment supports one or more of an executable model of an interaction between a first virtual entity and a second virtual entity or an executable model of an interaction between a virtual entity and a feature of the virtual environment.
- The virtual environment system of claim 1, wherein the kernel environment supports an executable process to optimize the transfer of data between the virtual environment system and a device operated by a user.
- The virtual environment system of claim 17, wherein the executable process to optimize the transfer of data includes one or more of a process or sub-process to determine a conditional probability between a plurality of pairs of events occurring within the system for generating the virtual environment, a process or sub-process to generate a prediction of an event or events likely to occur within the system based on the conditional probabilities, and a process or sub-process to pre-compute the expected response or responses to the predicted event or events.
Description
A virtual environment is a computer based simulated reality that may depict real or fictitious entities, such as characters and objects, in a space in which the entities may interact with each other and where one or more external actors can interact with the objects in the space and/or other actors. Examples of a virtual environment (VEnv) may present visual, audio, haptic or other stimuli to an actor, e.g. a gamer or user, who, in turn, acts on (or interacts with) entities in the simulated reality through touch, gestures, or movement, or through equipment capable of translating human action into action on an entity inside the VEnv (such as a virtual reality (VR) headset). In some examples, an actor is represented within a VEnv as an avatar that may be perceived by other actors who are using the VEnv at the same time.
Other examples of VEnvs could include a space capable of hosting containers such as virtual machines that are capable of executing programs or performing functions. Another example could be a digital environment in which conditions exist for agents representing real or abstract entities to exist and interact with each other.
Virtual entities and virtual environments may be used to provide several different types of user experiences. These include, but are not limited to, simulations, models of the evolution of systems, and multiple forms of electronic games (such as contests, missions, development of a narrative, etc.). However, conventional systems and methods for generating these types of virtual experiences, while quite advanced when compared to prior generations, still have inherent limitations.
Citations (48)
- US5485600A
- US5625788A
- US5884027A
- US6421047B1
- US6377263B1
- US6049805A
- US6792606B2
- US6725208B1
- US20040199481A1
- US6757736B1
- US7036082B1
- US8667081B2
- US20040088392A1
- US20040083389A1
- US20050223102A1
- US20140335948A1
- WO2006119099A2
- US7944448B2
- US20070066403A1
- US7775885B2
- US20070129148A1
- US8751203B2
- US7937518B2
- US20080280684A1
- US20080120558A1
- US20080220873A1
- US20080225718A1
- US7814154B1
- US8127297B2
- US8881254B2
- US8257173B2
- US8066571B2
- US20120004041A1
- US8412662B2
- US20120188256A1
- US20140094938A1
- US8878877B2
- US20130232344A1
- US8825187B1
- US20120274585A1
- US20130159068A1
- US9224218B2
- US20140274370A1
- US20140279800A1
- US9594907B2
- US20140317745A1
- US20140325406A1
- US20160012640A1
Record as JSON
{
"publication_number": "US10062354B2",
"country": "US",
"kind": "B2",
"title": "System and methods for creating virtual environments",
"abstract": "Systems and methods for creating entities that operate within a virtual environment, where in some embodiments the entities are substantially autonomous in the sense that they are capable of communications and interactions with the environment and other entities. In some embodiments, the entities may be capable of interacting with an environment other than the one in which they were created and originally configured. In some embodiments, the entities may engage in interactions with other entities that operate to enable changes in behavior of one or both of the entities.",
"claims": [
"1. A virtual environment system for providing access to virtual entities for multiple users, the system comprising at least one server configured to: communicatively connect to at least one communication network, the communication network providing communication to user devices for interfacing with virtual entities in the virtual environment system; support a kernel environment that controls at least one of a physics engine, a gaming engine, a rendering engine, data input and output, a runtime, database access, and storage access; support a core data structure having modules, wherein each module corresponds to a virtual entity and includes behavior logic and representational data for the corresponding virtual entity; create a virtual entity by instantiating the core data structure, creating a foundation runtime for the core data structure configured to execute the behavior logic imparted by the module corresponding to an entity to the entity, and communicate with other core foundation runtimes; support event messaging between a first and a second virtual entity and between a virtual entity and the virtual environment by, responsive to detecting an event message, identifying an instantiated core data structure to which the event message is registered, forward the event message to the identified core; and process the event message in accordance with logic defined in the core data structure for handling the received event message; render representational data for the virtual entity for presentation to at least one user external to the virtual environment; and provide at least one interface for the one user to perceive the virtual entity.",
"2. The virtual environment system of claim 1, where the system is further configured to provide at least one capability to allow virtual environments originating from different sources or platforms to interact with one another.",
"3. The virtual environment system of claim 1, where the system is further configured to provide at least one capability to allow a virtual entity to navigate between disparate unrelated virtual environments.",
"4. The virtual environment system of claim 1, wherein the created virtual entity is associated with an electronically stored data structure, and further, wherein the associated data structure includes an event handler, executable logic, and data storage.",
"5. The virtual environment system of claim 4, wherein the event handler operates to detect an event emitted by another entity or by the virtual environment, and in response to determine if the detected event is directed to the created virtual entity.",
"6. The virtual environment system of claim 5, wherein if the detected event is directed to the created virtual entity, then the created virtual entity processes the event by extracting microcode contained within the event.",
"7. The virtual environment system of claim 6, wherein the extracted microcode is executable by the created virtual entity and operates to alter the executable logic of the created virtual entity.",
"8. The virtual environment system of claim 7, wherein the extracted microcode functions to correct an error in the current executable logic of the created virtual entity or to alter the functionality of the created virtual entity.",
"9. The virtual environment system of claim 8, wherein the error is a security flaw within the executable logic.",
"10. The virtual environment system of claim 5, wherein the detected event is one of a query, a notification, or an executable.",
"11. The virtual environment system of claim 4, wherein the data structure associated with a created virtual entity includes executable logic that enables the created virtual entity to perform a specified task.",
"12. The virtual environment system of claim 11, wherein the specified task includes representing the behavior of a real entity external to the virtual environment.",
"13. The virtual environment system of claim 1, wherein a module is operable to be used to generate one or more virtual entities.",
"14. The virtual environment system of claim 1, wherein the virtual environment is a representation of one of an economic system, a communications system, a transportation system, or a social group.",
"15. The virtual environment system of claim 1, wherein the system is configured to cause the dissemination of an event, message, or microcode among a plurality of virtual entities in accordance with a Log (N) behavior, where N is the number of entities.",
"16. The virtual environment system of claim 1, wherein the kernel environment supports one or more of an executable model of an interaction between a first virtual entity and a second virtual entity or an executable model of an interaction between a virtual entity and a feature of the virtual environment.",
"17. The virtual environment system of claim 1, wherein the kernel environment supports an executable process to optimize the transfer of data between the virtual environment system and a device operated by a user.",
"18. The virtual environment system of claim 17, wherein the executable process to optimize the transfer of data includes one or more of a process or sub-process to determine a conditional probability between a plurality of pairs of events occurring within the system for generating the virtual environment, a process or sub-process to generate a prediction of an event or events likely to occur within the system based on the conditional probabilities, and a process or sub-process to pre-compute the expected response or responses to the predicted event or events."
],
"description_excerpt": "A virtual environment is a computer based simulated reality that may depict real or fictitious entities, such as characters and objects, in a space in which the entities may interact with each other and where one or more external actors can interact with the objects in the space and/or other actors. Examples of a virtual environment (VEnv) may present visual, audio, haptic or other stimuli to an actor, e.g. a gamer or user, who, in turn, acts on (or interacts with) entities in the simulated reality through touch, gestures, or movement, or through equipment capable of translating human action into action on an entity inside the VEnv (such as a virtual reality (VR) headset). In some examples, an actor is represented within a VEnv as an avatar that may be perceived by other actors who are using the VEnv at the same time.\n\nOther examples of VEnvs could include a space capable of hosting containers such as virtual machines that are capable of executing programs or performing functions. Another example could be a digital environment in which conditions exist for agents representing real or abstract entities to exist and interact with each other.\n\nVirtual entities and virtual environments may be used to provide several different types of user experiences. These include, but are not limited to, simulations, models of the evolution of systems, and multiple forms of electronic games (such as contests, missions, development of a narrative, etc.). However, conventional systems and methods for generating these types of virtual experiences, while quite advanced when compared to prior generations, still have inherent limitations.",
"cpc": [
"G09G 5/006",
"A63F 13/55",
"A63F 13/57",
"A63F 13/67",
"A63F 2300/6027",
"A63F 2300/8082",
"G06F 8/20",
"G06F 8/38",
"G06F 9/00",
"G06F 9/4411",
"G06F 9/455",
"G06N 3/0472",
"G06N 7/005",
"G06N 7/01",
"G09G 2370/022",
"H04L 41/083",
"H04L 41/0886",
"H04L 67/10",
"H04L 67/131",
"H04L 67/32",
"H04L 67/38",
"H04L 67/60"
],
"ipc": [
"G09G 5/00",
"H04L 29/06",
"H04L 29/08",
"A63F 13/55",
"A63F 13/57",
"A63F 13/67",
"G06F 8/20",
"G06F 8/38",
"G06F 9/00",
"G06F 9/455",
"G06N 3/04",
"H04L 12/24"
],
"assignees": [
"Dimensionalmechanics Inc"
],
"inventors": [
"Rajeev Dutt"
],
"filing_date": "2015-10-08",
"publication_date": "2018-08-28",
"grant_date": "2018-08-28",
"priority_date": "2014-10-10",
"application_number": "US-201514878262-A",
"family_id": "57252037",
"cited_by_count": 16,
"citations": [
"US5485600A",
"US5625788A",
"US5884027A",
"US6421047B1",
"US6377263B1",
"US6049805A",
"US6792606B2",
"US6725208B1",
"US20040199481A1",
"US6757736B1",
"US7036082B1",
"US8667081B2",
"US20040088392A1",
"US20040083389A1",
"US20050223102A1",
"US20140335948A1",
"WO2006119099A2",
"US7944448B2",
"US20070066403A1",
"US7775885B2",
"US20070129148A1",
"US8751203B2",
"US7937518B2",
"US20080280684A1",
"US20080120558A1",
"US20080220873A1",
"US20080225718A1",
"US7814154B1",
"US8127297B2",
"US8881254B2",
"US8257173B2",
"US8066571B2",
"US20120004041A1",
"US8412662B2",
"US20120188256A1",
"US20140094938A1",
"US8878877B2",
"US20130232344A1",
"US8825187B1",
"US20120274585A1",
"US20130159068A1",
"US9224218B2",
"US20140274370A1",
"US20140279800A1",
"US9594907B2",
"US20140317745A1",
"US20140325406A1",
"US20160012640A1"
]
}
Record 3,312 of 8,000 in Patents full text (MLC-0201). Request the full dataset.