Multi-tenant virtual reality (VR) system and method of operation thereof

Through the central platform and VR training module of the multi-tenant virtual reality system, user training data is tracked and evaluated in real time, solving the problem of insufficient data tracking and security in the existing system, and achieving efficient and secure multi-tenant management.

CN120406720APending Publication Date: 2025-08-01VIRTUAL X SDN BHD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411091959.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-02-01
Filing Date
2024-08-09
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

Existing virtual reality systems cannot accurately track training time data and status in a multi-tenant environment, cannot evaluate the effectiveness of users performing tasks, and hardware sharing leads to insufficient security and flexibility.

Method used

Using a multi-tenant virtual reality system, through the central platform and VR training module, VR plug-ins embedded with branch code are used for real-time data tracking, including the collection of subroutines, programs and chapter data, combined with access verification and module code, mode isolation is achieved to ensure data security.

Benefits of technology

Real-time evaluation and certification of user training performance is realized, improving system flexibility and security, reducing cost and complexity, and supporting efficient management and data isolation of multiple tenants.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120406720A_ABST
    Figure CN120406720A_ABST
Patent Text Reader

Abstract

A multi-tenant virtual reality (VR) system for providing a hand-operated VR environment, training and evaluation, and methods of operation thereof are disclosed. The multi-tenant VR system comprises a central platform, and the central platform comprises a user platform and a background connected with a server. And a VR training module in communication with the central platform, the VR training module including a source code module configured to selectively present, via the server, one or more VR content representative of practicing the VR environment, training, and evaluation to a trainee on the user platform. The source code module includes a VR plug-in or component in which segment code is embedded, allowing the VR plug-in or component to perform real-time data tracking, collecting segment data, including time and status taken by a trainee to complete the segment for one or more VR content rendered by the trainee.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention generally relates to the field of virtual reality. More specifically, the present invention relates to a multi-tenant virtual reality (VR) system for providing a hands-on VR environment, training and assessment, and methods thereof. Background Art

[0002] The subject matter discussed in the background section should not be assumed to be prior art merely because it is mentioned in the background section. Similarly, the problems mentioned in the background section or problems related to the subject matter of the background section should not be considered as problems that have been recognized in the prior art. The subject matter in the background section merely represents different approaches, which may themselves correspond to implementations of the claimed technology.

[0003] Employee training is crucial because it can help employees learn specific knowledge or skills to acquire new or improve their job responsibilities. Employers must provide employees with the necessary information, guidance, training, and supervision to ensure, to the extent reasonably practicable, the health and safety of employees at work. Adequate workplace safety training can greatly boost employee morale, identify potential risks in the workplace, and eliminate certain hazards.

[0004] When working in a high-risk environment, the probability of accidents is greater no matter how cautious employees are. Although there is a certain risk of injury in every job, the degree of risk varies greatly among different jobs, industries, geographical regions, and individuals. More participatory or interactive practical training can help employees better understand the potential dangers and threats they face at work, avoid making fatal mistakes, or prevent accidents. Research results show that in jobs with the highest likelihood of casualties, more participatory training (such as practical training) is much more effective than less participatory training (such as lectures, movies, reading materials, and videos).

[0005] Virtual reality (VR) is increasingly being used by employers or training institutions to provide employees with realistic job previews or scenarios for training and skill development purposes. It refers to a computer-generated three-dimensional (3D) virtual environment with which users can interact, typically through a computer capable of projecting three-dimensional information (e.g., unique scenarios that users can learn in the virtual environment, including how to solve errors that may occur at work), through a display (which can be a standalone screen or a wearable display, such as a head-mounted display), and user identification sensors. Virtual reality technology can provide a safe and responsive environment for users (such as employees) to learn various skills and promote behavior change. This also allows employees to make mistakes safely without endangering their own or others' lives and learn the correct countermeasures.

[0006] Training using virtual reality technology is not new. However, in recent years, the technology has advanced significantly. Nevertheless, in the virtual reality industry, building a dedicated virtual reality multi-tenant infrastructure that provides more flexibility, control, and security for different tenants or customers remains a huge challenge. In a multi-tenant environment, users are isolated from each other at the virtual level, but the hardware is not isolated, and users share the hardware. In addition, existing virtual reality systems are still unable to accurately track the time data and status of various trainings, nor can they evaluate the training effects related to users' performance of specific tasks. Therefore, we hope to solve the above problems and deficiencies by developing an improved virtual reality system with a multi-tenant infrastructure, so as to provide practical training at a lower cost, manpower, time, and ease of use. In addition, the multi-tenant virtual reality system preferably enables real-time data tracking for training performance evaluation, user access authentication, and back-end management.

[0007] As background, U.S. Patent No. US2019 / 0392728A1 (hereinafter referred to as the "728 publication") discloses a virtual reality training system for industrial labor applications. The user wears a virtual reality device including a head-mounted device and enters a virtual workplace filled with VR industrial equipment, VR hazards, and virtual tasks. According to the 728 publication, during the task completion process, multiple sensors monitor the user's performance and identify the user's knowledge gaps and stress. The system in the 728 publication generates evaluation results related to the user, then informs the user where improvements are needed, and informs the administrator of the potential liabilities of the evaluated employees.

[0008] For the above reasons and other reasons that those skilled in the art will find after reading and understanding this specification, there is a need in the art for an improved multi-tenant VR system. Although there may be similar methods in the prior art, there is still considerable room for improvement for many practical purposes. Summary of the Invention

[0009] The following is a simplified summary of the present invention, aimed at providing a basic understanding of certain aspects of the present invention. This summary is not an overall overview of the present invention. Its sole purpose is to introduce some concepts of the present invention in a simplified form as a prelude to the more detailed description that follows.

[0010] Accordingly, the present invention provides a multi-tenant virtual reality (VR) system for providing hands-on VR environments, training, and assessment. The multi-tenant virtual reality system of the present invention is characterized in that: the central platform includes a user platform and a background connected to the server; a VR training module communicating with the central platform, including a source code module, which is configured to selectively render one or more VR contents representing practical VR environments, training, and assessment to trainees on the user platform through the server, wherein the source code module includes a VR plugin or component, and partial code is embedded in the VR plugin or component, allowing the VR plugin or component to perform real-time data tracking, and the VR plugin or component collects partial data, including the time spent by the trainee on one or more VR contents rendered by it and the status of completing the part.

[0011] Preferably, the VR plugin or component includes an access verification component embedded therein, which allows the VR plugin or component to communicate the token code received from the user platform with the server for access verification.

[0012] In the best case, the VR plugin or component includes a module code and a tenant code embedded therein, which, together with the partial code, allow data to be uploaded and paired between the VR training module and its background.

[0013] The partial code is preferably represented by a string of alphanumeric characters.

[0014] The module code is preferably represented by a string of alphanumeric characters.

[0015] Preferably, the tenant code is represented by a string of alphanumeric characters.

[0016] Preferably, the source code module includes 3D models and encoded assets.

[0017] Preferably, the partial code includes a subroutine code, a program code, and a chapter code, which are respectively adapted to allow the VR plugin or component to perform real-time data tracking to collect subroutine data (including the time and status spent by the trainee in completing the subroutine), program data (including the time and status spent by the trainee in completing the program), and chapter data (including the time and status spent by the trainee in completing the chapter).

[0018] In the best case, the VR plugin or component accumulates the collected subroutine data through the subroutine code to generate program data, then accumulates the program data to generate chapter data, and accumulates them into module session data.

[0019] Preferably, the server includes a cloud server, an internal server, and any combination thereof, including a database through which the VR training module communicates with the user platform for one or more online and / or offline VR contents and verifies the token code transmitted from the VR plug-in.

[0020] According to another aspect, the present invention provides a method for providing a hands-on VR environment, training, and assessment. The method of the present invention may be characterized by the following steps: providing a multi-tenant VR system including a central platform having a user platform and a backend connected to a server, and a VR training module communicating with the central platform, the VR training module including a source code module, wherein the step of providing a multi-tenant VR system includes preparing the source code module including a VR plug-in or component with embedded partial codes; the VR training module selectively renders on the user platform, through the server, one or more VR contents representing hands-on training VR environment, training, and assessment for the trainees; and the VR plug-in or component starts real-time data tracking through the partial codes, including collecting partial data such as the time and status taken by the trainees to complete the partial for the one or more VR contents rendered for them.

[0021] A better understanding of the above and other objects, features, aspects, and advantages of the present invention can be obtained by reading the detailed description provided below and referring appropriately to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] With reference to the following detailed description and in conjunction with the accompanying drawings, a better understanding of the present invention and its many attendant advantages will be readily obtained, and a more comprehensive appreciation of the present invention and its many attendant advantages will be achieved:

[0023] Figure 1 is a schematic diagram showing a multi-tenant virtual reality (VR) system according to an embodiment of the present invention for providing a hands-on VR environment, training, and its assessment;

[0024] Figure 2A is a flowchart showing tenant types, management access, and mode isolation according to an embodiment of the present invention;

[0025] Figure 2B is a flowchart showing tenant types, management access, and mode isolation according to another embodiment of the present invention;

[0026] Figure 3 is a flowchart showing a VR plug-in or component employed in a multi-tenant VR system according to an embodiment of the present invention;

[0027] Figure 4A is a flowchart showing tenant types and roles for each tenant type according to an embodiment of the present invention;

[0028] Figure 4B is a flowchart showing tenant types and the roles of each tenant type according to another embodiment of the present invention;

[0029] Figure 5 is a flowchart showing the data tracking hierarchy of the VR training module according to an embodiment of the present invention;

[0030] Figure 6 is a flowchart showing the platform / system / application, user (role) operations, and related data operations according to an embodiment of the present invention;

[0031] Figure 7 is a flowchart showing the system dashboard according to an embodiment of the present invention;

[0032] Figure 8A is a flowchart showing the developer dashboard according to an embodiment of the present invention;

[0033] Figure 8B is a flowchart showing the developer dashboard according to another embodiment of the present invention; [[ID=QQ]]

[0034] Figure 9A is a flowchart showing the organization dashboard according to an embodiment of the present invention;

[0035] Figure 9B is a flowchart showing the organization dashboard according to another embodiment of the present invention; and

[0036] Figure 10A - 10J shows an exemplary dashboard screenshot according to an embodiment of the present invention.

[0037] Note that these figures may not be drawn to scale. The accompanying drawings are only used to describe typical aspects of the present invention and should not be construed as limiting the scope of the present invention. Detailed Description

[0038] The present invention discloses a multi-tenant virtual reality (VR) system which, among other things, is suitable for providing hands-on VR environments, training, and evaluation, and methods thereof, and can be fabricated, used, and maintained in a highly specific, compact, cost-effective, fast, and simple manner without using complex and sophisticated steps, components, or parts. The multi-tenant VR system of the present invention can be used for various trainings in various industries, including trainings for teaching hands-on skills such as operating machinery, performing surgeries, and flying airplanes, as well as other trainings that require real or realistic scenarios to teach important skills, knowledge, and concepts.

[0039] Advantageously, the present invention enables a dedicated virtual reality multi-tenant infrastructure, providing higher flexibility, control, and security for various tenants or customers, capable of accurately tracking time data and status of various trainings in real time, and evaluating training performance (e.g., scoring and certification) related to a user's execution of specific tasks. The term "time data" may refer to data related to time, time of day, date of month, month of year, any other time data, and their mixtures or combinations. More advantageously, the present invention is capable of performing user access verification and back-end management in one place. Without back-end management, it is difficult for users to self-manage their trainings and content. Therefore, they have to often seek help from the provider. This will result in prohibitively high costs (generally, the cost of VR development itself is already high), which is not a scalable solution.

[0040] The multi-tenant virtual reality system of the present invention is based on pattern isolation, demonstrating the ability of a computer-implemented architecture (such as a software architecture) to serve multiple customers / tenants (such as enterprises) through a single instance or version of a platform such as software, allowing multiple customers / tenants to share the same resources provided by a service provider. The multi-tenant VR system of the present invention allows developers to develop a platform using a single source code, which can be used to serve multiple customers / tenants, improving their efficiency without compromising their data security. In addition, the multi-tenant virtual reality system of the present invention can easily update platform applications according to customer requirements. Through multi-tenancy, the service provider allows customers / tenants of various sizes to share the same cloud infrastructure (such as management servers, streaming servers, playback servers, cloud storage, and content delivery network (CDN), etc.) and data centers. In a single-tenant architecture, the service provider must maintain a dedicated virtual reality infrastructure for each customer, while in a multi-tenant architecture such as the present invention, the service provider only needs to manage a set of infrastructure for any number of customers / tenants. The present invention can also host multiple virtual reality training module applications (platforms) in one infrastructure.

[0041] The term "virtual reality" as used herein may refer to, but is not limited to, simulating an interactive user experience that provides an enhanced environment (i.e., a VR environment) perceptible to a user or trainee, where such an enhanced environment may be similar to or different from the real-world environment. In one embodiment, the term includes a scene that is entirely computer-generated and displayed in a virtual reality (VR) device (such as goggles or a VR headset), and the changes in the scene correspond to the movement of the wearer of the VR device. Thus, the wearer of the goggles can watch and "move" in the virtual world created by the VR device.

[0042] As used herein, the term "virtual reality device" or "VR device" refers to a computing device that generates a digital three-dimensional representation of a virtual environment. Specifically, the term "virtual reality device" includes a computing device (such as goggles, a head-mounted device, or a head-mounted display) that can generate a digital three-dimensional view of a virtual environment and simulate a user's physical presence through the generated sensory experience (such as an immersive visual display, speakers, etc.). By way of example, a VR device includes a head-mounted display that generates an immersive three-dimensional representation of a virtual environment and can modify the view of the virtual environment according to the user's actions to simulate physical presence in the virtual environment. In addition, a VR device may also include one or more sensors for detecting user interactions. For example, a VR device may include optical sensors, clothing, gloves, or other sensors to detect the user's actions and / or gestures. Similarly, a VR device may also include user input devices such as controllers, remote controls, joysticks, or keyboards. In addition, a VR device may also include (and / or be operably connected to) one or more biometric sensors to detect biometric data. [[ID=…]]

[0043] As used herein, the term "application" generally refers to a logical deployment unit that includes one or more application components. Each "application component" may include any suitable software code, such as software services, scripts, code components, application-specific software packages, custom script packages, etc. An application can be single-layer or multi-layer, in which case the functions of the application are distributed over logically independent application components.

[0044] As used herein, the term "real-time" refers to the actual time at which a process or event (such as data tracking) occurs. In other words, a real-time event is completed in real time (completed within milliseconds so that the result can be immediately provided as feedback). For example, a real-time event can be represented within 100 milliseconds after the event occurs. The term also includes the execution of a process or event (such as data tracking) without intentional delay and / or substantially without significant time delay.

[0045] The multi-tenant VR system of the present invention preferably includes a central platform 100 and a VR training module 200 that communicates with the central platform 100.

[0046] According to a preferred embodiment of the present invention, the central platform 100 preferably includes a user platform 101, a background 102, and a server 103. The server 103 is preferably connected to the user platform 101 and the background 102. Preferably, the user platform 101, the background 102, and the server 103 are communicatively and / or operatively connected to the VR training module 200 by wireless and / or wired means. The user platform 101 and the background 102 preferably form an application platform. The term "application platform" as used herein generally refers to any computer device or software application that is remote from the user platform and that executes an application to perform some activity or conduct a transaction with the user. The application platform may include, but is not limited to, a web-based platform, or a platform residing inside a commercial firewall.

[0047] The user platform 101 as used herein may refer to any communication device, including but not limited to a laptop computer, a desktop computer, a personal computer, a television, or a mobile computing device, including but not limited to a personal digital assistant, a tablet computer, or a mobile phone, nominally including a web browser, through which a user or trainee (i.e., an individual) can access (or attempt to access) the VR content of the present invention. The user platform 101 is basically configured to securely launch the VR and track training data related to the trainee.

[0048] In one embodiment, the user platform 101 includes a desktop application (e.g., a VR training desktop application). The term "desktop application" is used to collectively refer to a typical application that runs locally on a single computer (e.g., a local computer system), e.g., run by a user on a terminal coupled to the computing system. A desktop application also refers to an application that generates and / or uses a graphical user interface (GUI) for user interaction, as opposed to those applications that are built using a web interface (which allows users to interact through a web browser). User input can be received through an input device. The desktop application can use local resources, including data, files residing on a local storage device (such as a hard disk or other storage medium), which storage devices can be connected to and / or reside on the local computer system. The local computer system can be a workstation, a personal computer, a desktop computer, a laptop computer, a notebook computer, or any computing device having a processor, memory, storage devices (including removable storage devices / media, input / output (I / O) devices), and / or other resources capable of running an interactive desktop application. The local computer system can be connected to a network (not shown), a display, and one or more input / output devices.

[0049] The backend 102 used herein is essentially a backend system, which can be a remote computer facility. The backend 102 is preferably configured to self-manage training, data, and users. Those of ordinary skill in the art will recognize that one or more systems from a variety of computing systems can be used in addition to and / or in place of the backends and / or other computing components described herein.

[0050] The server 103 preferably includes a database configured, among other things, to store all VR content and data of the present invention. The server 103 includes cloud servers, local servers, and any combination thereof. Cloud servers generally represent the infrastructure for configuring VR environments in the user platform 101. Cloud servers can dynamically allocate or remove hardware resources and can include public cloud servers and home cloud servers. Different from cloud servers that run on remote server computers, local servers refer to software installed and running on local computers (e.g., in facilities owned or controlled by customers and / or developers). The term "internal" may refer to being physically located within the same facility and / or building or being connected to the same local network.

[0051] The VR training module 200 is preferably configured to selectively present to trainees on the user platform 101, via the server 103, one or more VR contents representing (and populating) practical VR environments, training, and assessments. One or more VR contents (or virtual reality content items) are information that can be presented to users via VR devices. In particular, VR content includes digital visual and / or audio information that can be presented to trainees via VR devices. For example, VR content includes virtual reality videos (e.g., digital videos, three-dimensional videos, and / or spherical panoramic digital videos), virtual reality images (e.g., digital images, three-dimensional images, and / or spherical panoramic digital images), virtual reality avatars, virtual reality structures, virtual locations, virtual environments, virtual objects, music, or sound effects provided to users via VR devices. Virtual reality content can also include tactile content, such as causing vibrations in VR devices, controllers, chairs, watches, or wearable devices (e.g., increasing or starting the "rumble" of the controller). VR content can be retrieved, triggered, launched, prompted, or invoked from the VR training module 200, which in turn sends or transmits this content to the database of the server 103.

[0052] In a preferred embodiment, the VR training module 200 includes a source code module 201. The source code module 201 preferably includes a VR plug-in or component, as well as three-dimensional (3D) and encoded assets. In a non-limiting representative embodiment, the VR plug-in and the 3D and encoded assets refer to text written in a format and syntax consistent with a programming language, which is an executable description of the system software. For example, they include high-level languages and other system notations. In an exemplary embodiment, they are automatically translated into machine code (such as binary machine code) for execution on a processor (or other processing unit). The translation into binary machine code can be a single step, several steps, or occur at different times. For example, in an exemplary embodiment, an interpreter translates them into machine code and executes them during runtime. In an exemplary embodiment, a compiler translates them into machine code and stores the machine code in one or more executable files for subsequent execution. The VR plug-in and / or the 3D and encoded assets can be program code written in a dynamically typed language to form a software application. The instructions can be expressed in one or more programming languages (such as a combination of Java, C, C++, or similar languages), compiled or uncompiled instructions, intermediate language (IL), bytecode, objects, or similar languages. For example, the deliverables of the source code module 201 can be files, elements, objects, modules, etc. The deliverables can also refer to software modules or instructions in any state that can be assembled into larger software applications, programs, and / or tools.

[0053] The VR plug-in or component of the present invention is preferably configured as a "forced plug-in" capable of interacting, communicating, and / or establishing a connection between the VR training module 200 and the central platform 100 via any suitable network. In a representative embodiment, the VR plug-in or component used herein can refer to a separate computer program (e.g., a software component, executable instructions) that runs or executes in its own (independent) process to provide features and functions to the server 103, e.g., for the purpose of VR practical training. In fact, the VR plug-in or component must be used to support the above-mentioned communication methods. In another representative embodiment, the VR plug-in or component can be a software application wrapper and provide an interface between the VR training module 200 and the central platform 100. The VR plug-in or component can also be referred to as an extension, software agent, software development kit (SDK), add-on, plug-in, quick installer, or small script, and can refer to a software layer or code executable by a hardware processor, which is a custom application or third-party application that works in coordination with the system. Advantageously, the VR plug-in or component can implement real-time data tracking for training performance evaluation, user access verification, and background management.

[0054] The virtual reality plug-in or component of the present invention preferably includes a partition code embedded therein. The split code is preferably represented by a string of alphanumeric characters. The term "alphanumeric character" means a string of numbers, a string of letters, or a string of characters having at least one number and one letter. The term also includes (but is not limited to) all symbols that can be input using a keyboard, whether grammatical symbols or other symbols.

[0055] In one embodiment, the division code preferably includes subroutine code, program code, and chapter code, which are adapted to allow the VR plug-in or component to perform real-time data tracking to collect subroutine data (including the time and status taken by the trainee to complete the subroutine), program data (including the time and status taken by the trainee to complete the program), and chapter data (including the time and status taken by the trainee to complete the chapter). These codes can be used alone, in combination with each other, and / or in combination with other agents or components described herein. For example, a multi-tenant virtual reality system can use only the subroutine code to collect subroutine data. In the present invention, a multi-tenant VR system can adopt a combination of subroutine code and program code, or a combination of subroutine code, program code, and chapter code. It is also contemplated that a multi-tenant VR system can adopt a combination of subroutine code and chapter code.

[0056] The subroutine code associated with one or more subroutines related to the training preferably allows, enables, triggers, and / or initiates real-time data tracking of the VR plug-in or component, which collects subroutine data (associated with one or more subroutines), including the time taken by the trainee to complete the subroutine and the status of one or more VR contents presented thereby. The term "time taken" may refer to the time required for the trainee to complete the subroutine. The term "completed" may refer to the subroutine that the trainee has solved and / or completed. The term "status" may refer to the ratio of the time used for the subroutine to its running time. In a representative embodiment, the status of subroutine completion includes an "incomplete" status, indicating that the trainee skipped any subroutine; a "completed" status, indicating that the trainee completed all subroutines within a threshold time (e.g., the time taken by the trainee is less than the threshold time); an "incomplete" status, indicating that the trainee skipped any subroutine; a "completed" status, indicating that the trainee completed all subroutines, while a "failed" status indicates that the time taken by the trainee to complete all subroutines exceeded the threshold time (e.g., the time taken by the trainee exceeded the threshold time) and / or the trainee performed one or more error steps related to a specific subroutine.

[0057] The program code is associated with one or more training-related programs, preferably allowing, enabling, triggering, and / or starting real-time data tracking of a VR plugin or component that collects program data (associated with one or more programs), including the time and status taken by the trainee to complete programs related to one or more VR contents. The term "time taken" may refer to the time required for the trainee to complete the program. The term "completed" may refer to the program that the trainee has solved and / or completed. The term "status" may refer to the ratio of the time used for the program to its running time. In a representative implementation, the program completion status includes an "incomplete" status (indicating that the trainee skipped any program), a "completed" status (indicating that the trainee completed all programs within a threshold time (e.g., the time taken by the trainee is less than or equal to the threshold time)), and a "failed" status (indicating that the time taken by the trainee to complete all programs exceeds the threshold time (e.g., the time taken by the trainee exceeds the threshold time) and / or the trainee performed one or more incorrect steps related to a specific program).

[0058] The chapter code associated with one or more training-related chapters preferably allows, enables, triggering, and / or starting real-time data tracking of a VR plugin or component to collect chapter data (associated with one or more chapters), including the time and status taken by the trainee to complete chapters related to one or more VR contents. The term "time taken" may refer to the time required for the trainee to complete a chapter. The term "completed" may refer to the chapter that the trainee has solved and / or completed. The term "status" may refer to the ratio of the time used for a chapter to its running time. In a representative implementation, the chapter completion status includes an "incomplete" status (indicating that the trainee skipped any chapter), a "completed" status (indicating that the trainee completed all chapters within a threshold time (e.g., the time taken by the trainee is less than or equal to the threshold time)), and a "failed" status (indicating that the time taken by the trainee to complete all chapters exceeds the threshold time (e.g., the time taken by the trainee exceeds the threshold time) and / or the trainee performed one or more incorrect steps related to a specific chapter).

[0059] In one embodiment, the term "procedure" is used to collectively refer to tasks related to the training module (a part of the VR training module 201), such as training-related actions, steps, events, manners, means, techniques, tests, examinations, and other operations to achieve a specific purpose. Thus, the term "subprocedure" refers to a subset that is part of a procedure and is a set of larger related things. A subprocedure is preferably a set, and each element of it is an element of an inclusive set. In one embodiment, a "procedure" is a subset of a "chapter". The "chapter" is preferably composed of a set of "procedures" that collectively belong to the set. Thus, the VR plugin or component accumulates the collected subprocedure data through subprocedure code to generate procedure data, and then accumulates the procedure data to generate chapter data. The chapter data should be accumulated and presented as module session data. It can be further envisioned that the VR training module 201 may include a subprocedure, which refers to a subset that is part of a subprocedure, and the subprocedure is a set of larger related things, etc.

[0060] The VR plugin or component of the present invention preferably includes an access verification component embedded therein. The access verification component preferably allows, enables, triggers, and / or initiates the access verification of the VR plugin or component, and communicates the token code received from the user platform 101 with the server 103. The token code is preferably represented by a string of alphanumeric characters. The term "alphanumeric character" means a string of numbers, a string of letters, or a string of characters with at least one number and one letter. The term also includes, but is not limited to, all symbols (syntactic symbols or other symbols) that can be input using a keyboard. The database of the server 103 preferably communicates VR content online and / or offline between the VR training module 200 and the user platform 100, and / or verifies the token code transmitted from the VR plugin 201.

[0061] In one example, access verification is initiated by a user (such as a trainee) via the user platform 101 based on a user request or user instruction, which also triggers the startup of the VR training module 200. Then, the user platform 101 sends a token code to the VR plugin or its components. The VR plugin or components transmit the token code received from the user platform 101 to the server 103 for access verification. The server 103 can be configured to match the token code transmitted by the VR plugin or components with the token code in the database in order to verify the user's access based on the token code. The server 103 can use any other access verification method, either in combination with the token code or without using any other verification information, details, or documents. Once the access verification is performed by the server 103 and / or officially at the server 103, the server 103 sends an access verification decision or result to the virtual reality plugin or components, and the virtual reality plugin or components shall notify the user of this. If the access verification is successful (e.g., the token code matches the database of the server 103), the user is allowed to access the VR training module 200. If the access verification is unsuccessful (e.g., the token code does not match the database of the server 103), the user's access to the VR training module 200 is denied. The terms "user request" or "user command" as used herein are generally defined as any communication instance from the user to the application platform that causes the application platform to execute a certain transaction or a part of a transaction (such as access verification). User requests can include, but are not limited to, user keystrokes, key combinations, or key representations that convey instructions or information to the application platform (e.g., ASCII representations of user keystrokes or combinations), keyboard inputs, or combinations or representations thereof.

[0062] According to one embodiment, the VR plugin or components include module code and tenant code embedded therein. The module code and tenant code are preferably represented by a string of alphanumeric characters. The term "alphanumeric character" means a string of digits, a string of letters, or a string of characters having at least one digit and one letter. The term also includes (but is not limited to) all symbols that can be input using a keyboard, whether grammatical symbols or other symbols.

[0063] Preferably, the module code, tenant code, and their division codes (e.g., subroutine code, program code, and / or chapter code) preferably allow, enable, trigger, and / or initiate data upload and data pairing between the VR training module 101 and its background 102. In one embodiment, in terms of data upload, the background 102 needs to obtain the corresponding data of the VR training module 200 through the application of the background 102 (as the caller), the data provided by the VR training module 200 (as the callee), and the data received by the background 102. It may refer to the operation of the VR training module 200 transmitting the data stored therein to the background 102. Regarding the above data pairing, it is conceivable to pair the division codes (i.e., subroutine code, program code, and / or chapter code), module code, and tenant code between the VR training module 200 and the background 102.

[0064] Wherein, the present invention preferably generates scoring data related to the practical training for evaluating and assessing the capabilities of the trainees. The evaluation of the training results is basically obtained based on the real-time data tracking of the VR plug-in of the source code module 201 of its VR training module 200. Through real-time data tracking, the present invention can score and evaluate the training performance of each user, control and authenticate the access rights of each user to the system, and achieve the autonomous management of the background for each tenant. The term "score" refers to an integer or number that can be determined mathematically, such as using a calculation model. The score data can refer to any grade, level, ranking, quantity, total, or other numerical value, whether numerical, graphical, verbal, or written, which can represent the training performance of the user. The user can also obtain a certificate of completion with or without any score data. In a representative embodiment, the subroutine data should be input to generate program data. The program data preferably includes score data, which may include the score (%) and criticality score (e.g., yes / no) that can be assigned to any subroutine. The program data should be cumulatively generated to form chapter data for forming module session data (or module data). The module session data should display the module results, e.g., whether the trainee has passed or failed.

[0065] For example, in one or more embodiments, the VR training module 200 generates VR content and specifies one or more target user responses and / or target user actions corresponding to the VR content. The term "user reaction" refers to the characteristics, conditions, or states of a user. The term "user response" includes the emotional or physical state or condition of a user. The term "target user response" refers to a selected, chosen, desired, undesired, liked, or disliked user response. The term "target user reaction" refers to a user reaction that is desired to be elicited or avoided. The target user reaction may also include a user reaction that the VR training module 200 attempts to avoid. In addition, the term "user behavior" refers to any action (or inaction), behavior, activity, or user input. In particular, the term "user behavior" includes the actions, behaviors, or user inputs of a virtual reality device user. By way of example, the term "user action" includes moving a tool from an original position to a destination, interacting with virtual elements in a virtual environment, starting (or stopping) an activity (e.g., starting a virtual reality game or leaving a virtual reality environment), the amount of time spent on a particular activity (e.g., the amount of time to complete a task), turning on (or off) a device (e.g., turning off a virtual reality device), or changing a location (e.g., entering or leaving a virtual location). Similarly, "target user action" refers to a selected, chosen, desired, undesired, liked, or disliked user action. For example, target user behavior may include the user behavior that the VR training module 200 attempts to elicit from a user experiencing the virtual reality content. Target user behavior may also include user behavior that the VR training module 200 wishes to avoid (e.g., the VR training module 200 wishes to prevent a user from leaving a particular location in a virtual environment).

[0066] By using schema isolation, each tenant in the ecosystem will have its own schema in the same database. This ensures that each tenant and its data are isolated from other tenants within the system. This helps to improve data security and privacy. Each tenant can only access the data in its own schema and not the data in other tenants' / schemas. In terms of management flexibility, each tenant can make its own unique customizations and configurations without affecting other tenants. Similar to the scalability of the system, any system maintenance, backup, setup, update, or addition of new tenants can be carried out at the schema level of each tenant, thus not affecting all other existing tenants. Each tenant has its own VR training module application library and is hosted in its own schema.

[0067] In a representative embodiment, the tenants include the system owner, system organizations (customer organizations managed by the system owner), developers (other parties using the platform to provide services to customers, typically middlemen, system integrators, resellers / distributors, and other virtual reality content creators), and developer organizations (customer organizations managed by a specific "developer"). Similar to the roles, the system owner is the system administrator (with the authority to manage the roles of all developers and organizations within the system), while the developer is the developer administrator (with the authority to manage the roles of their own developer tenants and all developer organizations they manage). In terms of the system / developer organization, the super administrator has the highest level within the organization and can access all content within the organization, group administrators (roles managing specific groups within the organization), course administrators (roles managing specific courses within the organization), and users (trainees who will use the VR training application).

[0068] For the sake of clarity, the methods of providing a training VR environment, training, and assessment described in the foregoing paragraph in connection with the system are outlined as follows:

[0069] (a) Provide a multi-tenant VR system that includes a central platform 100 having a user platform 101 and a backend 102 connected to a server 103, and a VR training module 200 communicating with the central platform 100, the VR training module 200 including a source code module 201,

[0070] where step (a) includes preparing the source code module 201, which includes a VR plug-in or component in which partial code is embedded;

[0071] (b) Render, by the VR training module 200 via the server 103, one or more VR contents representing the training VR environment, training, and assessment to trainees on the user platform 101; and

[0072] (c) Initiate real-time data tracking by the VR plug-in or component via the partial code, including collecting partial data, which includes the time and status taken by the trainees to complete the parts related to the one or more VR contents presented.

[0073] Although, for the sake of clarity, the method is described as a series of numbered steps, the numbers do not necessarily determine the order of the steps. It should be understood that some of these steps can be skipped, executed in parallel, or executed without requiring a strict order to be maintained.

[0074] For example, the multi-tenant VR system of the present invention can be implemented as one or more operating systems, one or more standalone applications, one or more application modules, one or more library functions or functions that can be called by other applications, and / or a cloud computing model. Thus, the multi-tenant VR system can be implemented as a standalone application, such as a desktop or mobile application. Additionally, the multi-tenant VR system can also be implemented as one or more network-based applications hosted on a remote server. The multi-tenant virtual reality system can also be implemented in a set of mobile device applications or "apps".

[0075] In some embodiments, a VR device suitable for use with the present invention can include a computing device with a head-mounted display and speakers. The VR device can provide a view of the virtual environment through the head-mounted display and modify the view of the virtual environment based on the user's actions to simulate physical presence in the virtual environment. The VR device also includes some biometric data sensors. Specifically, the VR device includes a hearing monitor (e.g., a monitor with an optical sensor that measures the pulse through the skin), a respiration monitor (e.g., a sensitive microphone that detects the breathing rate and volume, a strap that measures lung expansion, and / or a sensor that measures the oxygen in the blood), a blood pressure monitor (e.g., a sensor that measures blood pressure by contacting the forehead or other parts of the body), a temperature sensor (e.g., a monitor attached to the forehead, ear, mouth, etc.), a head movement sensor (e.g., a gyroscope, accelerometer, and other sensors for tracking head movement), a humidity sensor (e.g., a sensor for detecting sweating on the forehead or other parts of the body), an eye sensor (e.g., a camera for tracking eye movement), an ocular sensor (e.g., a camera pointed at the eye for tracking eye movement, opening or closing of the eyes, eye color, and / or pupil dilation), or a face shape monitor (e.g., a camera pointed at all or part of the face for tracking the shape of the mouth, etc.). In other embodiments, the VR device can include a subset of these biometric sensors and / or other biometric sensors.

[0076] Embodiments of the present disclosure may include or utilize a special-purpose or general-purpose computer including computer hardware, such as one or more processors and system memory, which will be discussed in detail below. Embodiments within the scope of the present disclosure also include physical and other computer-readable media for carrying or storing computer-executable instructions and / or data structures. In particular, one or more of the processes described herein can be at least partially implemented as instructions embodied in a non-transitory computer-readable medium and executable by one or more computing devices (e.g., any of the media content access devices described herein). Generally, a processor (such as a microprocessor) receives instructions from a non-transitory computer-readable medium (such as memory, etc.) and executes those instructions, thereby performing one or more processes, including one or more of the processes described herein.

[0077] A computer-readable medium can be any available medium that can be accessed by a general-purpose or special-purpose computer system. A computer-readable medium storing computer-executable instructions is a non-transitory computer-readable storage medium (device). A computer-readable medium carrying computer-executable instructions is a transmission medium. Thus, by way of example and not limitation, embodiments of the present disclosure can include at least two distinct types of computer-readable media: non-transitory computer-readable storage media (devices) and transmission media.

[0078] Non-transitory computer-readable storage media (devices) include RAM, ROM, EEPROM, CD-ROM, solid state drives (“SSDs”) (e.g., based on RAM), flash memory, phase change memory (“PCM”), other types of memory, other optical disc storage, magnetic disk storage, or other magnetic storage devices, or any other medium that can be used to store the desired program code means in the form of computer-executable instructions or data structures and that can be accessed by a general-purpose or special-purpose computer.

[0079] In addition, after reaching various computer system components, program code means in the form of computer-executable instructions or data structures can be automatically transferred from a transmission medium to a non-transitory computer-readable storage medium (device) (and vice versa). For example, computer-executable instructions or data structures received over a network or data link can be buffered in the RAM of a network interface module (such as a “network card”) and then ultimately transferred to the RAM and / or a less volatile computer storage medium (device) of a computer system. Thus, it should be understood that non-transitory computer-readable storage media (devices) can be included in computer system components that also (even primarily) utilize a transmission medium.

[0080] For example, computer-executable instructions include instructions and data that, when executed on a processor, can cause a general-purpose computer, a special-purpose computer, or a special-purpose processing device to perform a certain function or a set of functions. In some embodiments, the computer-executable instructions are executed on a general-purpose computer, transforming the general-purpose computer into a special-purpose computer for implementing the present disclosure. The computer-executable instructions can be binary files, intermediate format instructions such as assembly language, or even source code. Although the subject matter has been described in specific language of structural features and / or method acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the features or acts described above. Instead, the described features and acts are disclosed as example forms for implementing the claims.

[0081] Those skilled in the art will appreciate that the present disclosure can be implemented in a network computing environment having a variety of computer system configurations, including personal computers, desktop computers, laptop computers, information processors, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile phones, palmtop computers, tablet computers, pagers, routers, switches, etc. The present disclosure can also be implemented in a distributed system environment, in which local and remote computer systems are connected by a network (or by a hardwired data link, a wireless data link, or a combination of hardwired and wireless data links) and perform tasks simultaneously. In a distributed system environment, program modules may be located in local and remote memory storage devices.

[0082] Although the subject matter of the present invention has been outlined with reference to specific example embodiments, various modifications and changes can be made to these embodiments without departing from the broader scope of the present disclosure. For convenience, the term "invention" may be used herein to refer to these embodiments of the subject matter of the present invention individually or collectively, without intending to voluntarily limit the scope of the present application to any one disclosed or inventive concept, if more than one is in fact disclosed.

[0083] The embodiments illustrated herein have been described in sufficient detail to enable those skilled in the art to practice the disclosed teachings. Other embodiments can be used and derived, and thus structural and logical substitutions and changes can be made without departing from the scope of the present disclosure. Therefore, this detailed description is not limiting, and the scope of various embodiments is defined only by the appended claims and all equivalents thereof.

[0084] The term "or" as used herein can be both inclusive and exclusive. Additionally, the resources, operations, or structures described herein can be provided as multiple instances of a single instance. Further, the boundaries between various resources, operations, modules, engines, and data stores are to some extent arbitrary, and specific operations are illustrated in a particular illustrative configuration. Other allocations of functionality are conceivable and may fall within the scope of various embodiments of the present disclosure. Generally, structures and functionality presented as separate resources in an example configuration can be implemented as a combined structure or resource. Similarly, structures and functionality that are a single resource can also be implemented as separate resources. These and other variations, modifications, additions, and improvements fall within the scope of the embodiments of the present disclosure represented by the appended claims. Accordingly, the specification and drawings are to be regarded as illustrative rather than restrictive.

[0085] For ease of explanation, the above description has been presented with reference to specific example embodiments. However, the foregoing illustrative discussion is not intended to be exhaustive, nor is it intended to limit possible example embodiments to the precise forms disclosed. Given the above teachings, many modifications and variations are possible. The example embodiments were chosen and described to best explain the principles involved and their practical application, so as to enable others skilled in the art to best utilize the various example embodiments and make various modifications as suited to the particular use contemplated.

[0086] It should also be understood that although terms such as "first", "second", etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first contact can be referred to as a second contact, and similarly, a second contact can also be referred to as a first contact, without departing from the scope of this example embodiment. The first contact and the second contact are both contacts, but they are not the same contact.

[0087] The terms used in the description of the example embodiments herein are for the purpose of describing particular example embodiments only and are not limiting. The singular forms "a", "an" as used in the description of the exemplary embodiments and the appended examples also include the plural forms unless the context clearly dictates otherwise. Further, it should be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It should be further understood that the terms "comprises" and / or "comprising" as used in this specification specify the presence of the stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0088] As used herein, the term "if" can be understood, depending on the context, as "when" or "upon" or "in response to determining" or "in response to detecting". Similarly, the phrase "if determined" or "if [the condition or event] is detected" can be understood, depending on the context, as "upon determining" or "in response to determining" or "upon detecting [the condition or event]" or "in response to detecting [the condition or event]".

Claims

1. A multi-tenant virtual reality (VR) system, characterized in that, For providing a hands-on VR environment, training, and its assessment, characterized in that the multi-tenant VR system comprises: A central platform (100), including a user platform (101) and a background (102) connected to a server (103); and A VR training module (200) communicating with the central platform (100), the module including a source code module (201), which is configured to selectively render one or more VR contents representing practical VR environments, training, and assessment to trainees on the user platform (101) through the server (103). Wherein, the source code module (201) includes a VR plug-in or component, which is embedded with division code, allowing the VR plug-in or component to perform real-time data tracking and collect division data, including the time spent by trainees on one or more VR contents rendered by them and the status of completing the division.

2. The multi-tenant virtual reality (VR) system according to claim 1, wherein The VR plug-in or component includes an access verification component embedded therein, which allows the VR plug-in or component to communicate the token code received from the user platform (101) with the server (103).

3. The multi-tenant virtual reality (VR) system according to claim 1, wherein The VR plug-in or component includes module code and tenant code embedded therein, which together with the division code allow data upload and pairing between the VR training module (200) and its background (102).

4. The multi-tenant virtual reality (VR) system according to claims 1 and 3, characterized in that, The division code is represented by a string of alphanumeric characters.

5. The multi-tenant virtual reality (VR) system according to claims 1 and 3, characterized in that, The module code is represented by a string of alphanumeric characters.

6. The multi-tenant virtual reality (VR) system according to claims 1 and 3, characterized in that, The tenant code is represented by a string of alphanumeric characters.

7. The multi-tenant virtual reality (VR) system according to claim 1, characterized in that, The source code module includes a 3D model and encoded assets.

8. The multi-tenant virtual reality (VR) system according to claim 1, wherein The division code includes subroutine code, program code, and chapter code, suitable for allowing the VR plug-in or component to perform real-time data tracking to collect subroutine data, including the time and status spent by trainees in completing the subroutine, program data, including the time and status spent by trainees in completing the program, and chapter data, respectively including the time and status spent by trainees in completing the chapter.

9. The multi-tenant virtual reality (VR) system according to claims 1 and 8, characterized in that, The VR plug-in or component accumulates the subroutine data collected by it through the subroutine code to generate process data, which is further accumulated to generate chapter data, and the chapter data is accumulated into module session data.

10. The multi-tenant virtual reality (VR) system according to claims 1 and 2, characterized in that, The server (103) includes a cloud server, an internal server, and any combination thereof, which includes a database, and communicates one or more VR contents online and / or offline from the database between the VR training module (200) and the user platform (101), and verifies the token code transmitted from the VR plug-in from the database.

11. A method for providing multi-tenant virtual reality (VR) system operations, characterized in that, The method includes the following steps: Providing a multi-tenant VR system, the system including a central platform (100), the central platform (100) having a user platform (101) and a background (102) connected to a server (103), and a VR training module (200) communicating with the central platform (100), the VR training module (200) including a source code module (201). Wherein, the step of providing the multi-tenant VR system includes preparing the source code module (201), the source code module (201) including a VR plug-in or component embedded with division code. One or more VR contents representative of a practice VR environment, training, and assessment are selectively rendered by a VR training module (200) to a trainee on a user platform (101) via a server (103); and Real-time data tracking is initiated by a VR plug-in or component via partial code, including collecting partial data, including the time and status taken by the trainee to complete a part related to the rendered one or more VR contents.

Citation Information

Patent Citations

  • Virtual reality training and evaluation system

    US20190392728A1