System and method to operate 3D applications through positional virtualization technology
A system and method to operate applications through positional virtualization technology. The system comprises a server including at least one processor and memory storing a persistent virtual world system comprising a data structure in which at least one virtual replica of at least one corresponding real object is represented, and at least one application run and hosted on at least one virtual machine virtually positioned in a location of the persistent virtual world system. Provisioning of the virtual machines is managed by a virtual machine management system stored in the memory of the server. One or more user devices connected to the servers via a network are configured to access and execute the applications hosted on the virtual machines of the at least one server and to receive resources thereof based on application requirements.
1. A system to operate applications through virtualization technologies, the system comprising:
one or more servers comprising at least one processor and memory, the one or more servers storing a persistent virtual world system comprising a data structure in which at least one virtual replica of at least one corresponding real object is represented, and
at least one application run and hosted on at least one virtual machine virtually positioned in the persistent virtual world system, the one or more servers comprising hardware infrastructure providing the at least one virtual machine with resources allocated based on requirements of the at least one application,
wherein provisioning of the at least one virtual machine is managed by a virtual machine management system stored in the memory of the one or more servers based on a distance prioritization parameter and positioning of one or more non-virtual real-world objects between a viewing position of a user device and a physical location of the at least one virtual machine linked to real-world coordinates.
2. The system of claim 1 , wherein the virtual machine management system comprises a global virtual machine manager performing virtual machine resource requirement assessment and provisioning through a hypervisor interfacing with the at least one virtual machine.
3. The system of claim 2 , wherein the global virtual machine manager is part of a 3D engine that enables development, testing, and publishing of virtual-machine-hosted 3D applications in the persistent virtual world system, wherein the 3D applications are linked to one or more real-world locations.
4. The system of claim 2 , wherein the virtual machine management system further comprises a local virtual machine manager connected to the global virtual machine manager and configured to provide the global virtual machine manager with a resource assessment of the at least one virtual machine, the local virtual machine manager comprising a monitoring component measuring virtual machine resource utilization.
5. The system of claim 1 , wherein the virtual machine management system further manages the provisioning to the at least one virtual machine based on application coordinates, 3D data structure of virtual replicas, contextual data, user-related data, scene graphs, level of detail management, preparation for rendering stages, load balancing, or virtual machine migration, or a combination thereof.
6. The system of claim 5 , wherein the contextual data further comprises a micro-context and macro-context, the micro-context comprising user-related data and user interaction radius data, and the macro-context is determined in a predefined area and comprises network equipment, the one or more non-virtual real-world objects, virtual objects, number of users, or resource management, or a combination thereof.
7. The system of claim 6 , wherein the user-related data comprises user location data, user viewing position and orientation, user social data, user preferences, user service context, or level of agreement-related quality of service, or a combination thereof.
8. The system of claim 6 , wherein the macro-context further comprises data related to the one or more servers in a predetermined area, the one or more non-virtual real-world objects in the predetermined area, the number of users in the predetermined area, applications, ads, or other virtual objects in the predetermined area, or resource management for the predetermined area, or a combination thereof.
9. The system of claim 1 , wherein the at least one application comprises a 3D application, and wherein the distance prioritization parameter takes into account a distance of the user device to the physical location of the at least one virtual machine linked to the real-world coordinates.
10. The system of claim 1 , wherein the provisioning is performed in a cloud-to-edge infrastructure.
11. The system of claim 1 , wherein the at least one virtual machine hosts virtual objects comprising ads, interactive elements, and virtual replicas.
12. A system to operate applications through virtualization technologies, the system comprising:
one or more servers comprising at least one processor and memory, the one or more servers storing a persistent virtual world system comprising a data structure in which at least one virtual replica of at least one corresponding real object is represented, and at least one application hosted on at least one container virtually positioned in the persistent virtual world system, the one or more servers comprising a hardware infrastructure providing the at least one container with resources allocated based on requirements of the at least one application, wherein provisioning of the at least one container is managed by a container management system based on at least a distance prioritization parameter and positioning of one or more non-virtual real-world objects between a user device and a physical location of the at least one container linked to real-world coordinates; and
the user device connected to the one or more servers via a network, the user device being configured to access and execute the at least one application hosted on the at least one container of the one or more servers and to receive resources thereof based on application requirements.
13. A method to operate applications through virtualization technologies, the method comprising:
providing, in memory of a server system comprising one or more servers, a persistent virtual world system comprising a data structure in which at least one virtual replica of at least one corresponding real object is represented;
providing in the memory of the server system a virtual machine management system and at least one application run and hosted on a virtual machine virtually positioned in the persistent virtual world system, the at least one application being interacted with by a user device connected to the server system via a network;
providing the virtual machine with resources from the server system allocated based on requirements of the at least one application; and
managing provisioning of the virtual machine by the virtual machine management system based at least in part on a distance prioritization parameter taking into account a distance of the user device to a physical location of the virtual machine linked to real-world coordinates and positioning of one or more non-virtual real-world objects between the user device and the physical location of the virtual machine linked to the real-world coordinates.
14. The method of claim 13 , wherein the virtual machine management system comprises a global virtual machine manager performing virtual machine resource requirement assessment and provisioning through a hypervisor interfacing with the virtual machine.
15. The method of claim 13 , wherein the virtual machine management system comprises a local virtual machine manager connected to a global virtual machine manager and configured to provide the global virtual machine manager with a resource assessment of the virtual machine, the local virtual machine manager comprising a monitoring component measuring virtual machine resource utilization, a feedback controller configured to determine required resource allocations for the virtual machine, and an arbitrator obtaining resource allocation requests from the feedback controller and sets resource shares for the virtual machine.
16. The method of claim 13 , wherein managing the provisioning of the virtual machine is further based on a data relevance filter of a global virtual machine manager taking into account application coordinates, 3D data structure of virtual replicas, contextual data, user-related data, scene graphs, level of detail management, preparation for rendering stages, load balancing, or virtual machine migration, or a combination thereof.
17. The method of claim 13 , wherein managing the provisioning of the virtual machine by a virtual machine management system comprises:
performing a resource requirement assessment by a global virtual machine manager; and
allocating the resources to the virtual machine by the global virtual machine manager.
18. The method of claim 13 , wherein the global virtual machine manager is part of a 3D engine that enables development, testing, and publishing of VM-hosted 3D applications in the persistent virtual world system linked to a real-world location.
19. One or more non-transitory computer-readable media having stored thereon instructions configured to, when executed by one or more computers, cause the one or more computers to:
provide a persistent virtual world system comprising a data structure in which at least one virtual replica of at least one corresponding real object is represented;
provide at least one 3D application run and hosted on one or more virtual machines virtually positioned in the persistent virtual world system, the at least one 3D application configured to be interacted with by a user device;
provide the one or more virtual machines with resources from at least one server allocated based on requirements of the at least one 3D application; and
manage provisioning of the one or more virtual machines by a virtual machine management system, wherein the provisioning is based on a distance prioritization parameter taking into account a distance of the user device to a physical location of the one or more virtual machines linked to real-world coordinates and positioning of one or more non-virtual real-world objects between the user device and the physical location of the one or more virtual machines linked to the real-world coordinates.
20. The system of claim 12 , wherein the at least one application comprises a 3D application, and wherein the distance prioritization parameter takes into account a distance of the user device to the physical location of the at least one container linked to the real-world coordinates.