IP Library Granted Patent US 12,443,326
Granted Patent B2
US 12,443,326 · App. 18/390,914 · Granted Oct 14, 2025

Systems and methods of virtualized systems on electronic devices

Inventor: Benjamin B. Loggins (San Francisco, CA)
Assignee: Apple Inc.
G06F3/04815G06F3/0484G06F9/451G06T13/40G06T19/00G06F3/0488G06F3/0489G06T2200/24
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,443,326
App. No.
18/390,914
Granted
Oct 14, 2025
Kind
B2
Abstract

Some examples of the disclosure are directed to a virtualized system on an electronic device. In some embodiments, a simulator application that includes a guest operating system is provided on an electronic device. In some embodiments, the simulator application provides a testing environment for a virtual experience of a secondary application that is in communication with the guest operating system. In some embodiments, the electronic device displays a user interface associated with the simulator application, the user interface including a computer-generated environment and an object. In some embodiments, while displaying the user interface, the electronic device receives an input that corresponds to a request to cause the object to perform a respective operation in the computer-generated environment. In some embodiments, in response to receiving the input, the electronic device causes the object to perform an operation based on the input and updates the computer-generated environment based on the operation.

Claims (58)

1. A method, comprising:

at an electronic device including a display and in communication with one or more input devices:

displaying, via the display, a user interface associated with a simulator application, wherein the user interface includes:

a first computer-generated environment that is generated based on scene data received from a host operating system of the electronic device; and

a first object that is displayed within the first computer-generated environment;

while displaying the user interface associated with the simulator application, receiving, via the one or more input devices, a first input to the electronic device corresponding to a request to cause the first object to perform a respective operation within the first computer-generated environment; and

in response to receiving the first input:

causing the first object to perform a first operation within the first computer-generated environment in accordance with the first input; and

updating display of the first computer-generated environment in the user interface based on the first operation.

2. The method of claim 1 , wherein the electronic device is a desktop or laptop computer.

3. The method of claim 1 , wherein the simulator application includes a guest operating system.

4. The method of claim 3 , wherein updating the display of the first computer-generated environment in the user interface based on the first operation is in accordance with data received from the guest operating system of the simulator application.

5. The method of claim 1 , wherein the first object includes a virtual agent.

6. The method of claim 1 , wherein the first object includes a virtual representation of a first user, different from a user of the electronic device.

7. The method of claim 6 , wherein the first computer-generated environment corresponds to a virtual physical environment surrounding the first user.

8. The method of claim 1 , wherein receiving the first input corresponding to the request to cause the first object to perform the respective operation within the first computer-generated environment includes detecting movement of a contact on a touch-sensitive surface of an input device in communication with the electronic device.

9. The method of claim 1 , wherein receiving the first input corresponding to the request to cause the first object to perform the respective operation within the first computer-generated environment includes detecting selection of one or more keys of a keyboard in communication with the electronic device.

10. The method of claim 1 , wherein causing the first object to perform the first operation within the first computer-generated environment in accordance with the first input includes causing the first object to move within the first computer-generated environment.

11. The method of claim 1 , wherein causing the first object to perform the first operation within the first computer-generated environment in accordance with the first input includes causing the first object to interact with a second object included in the first computer-generated environment.

12. The method of claim 1 , wherein:

before receiving the first input, displaying the first computer-generated environment in the user interface includes displaying first portions of the first computer-generated environment, without displaying second portions, different from the first portions, of the first computer-generated environment; and

in response to receiving the first input, updating the display of the first computer-generated environment in the user interface based on the first operation includes displaying, via the display, the second portions of the first computer-generated environment in the user interface.

13. The method of claim 1 , wherein:

before receiving the first input, the first computer-generated environment includes a second object; and

in response to receiving the first input, updating the display of the first computer-generated environment in the user interface based on the first operation includes causing the second object to perform a second operation in the first computer-generated environment.

14. The method of claim 1 , wherein the scene data received from the host operating system of the electronic device corresponds to previously authored data saved in memory of the electronic device for rendering the first computer-generated environment.

15. The method of claim 14 , wherein the first computer-generated environment is selected for display in the user interface from a library of computer-generated environments in the simulator application, the library of computer-generated environments including a second computer-generated environment that is configurable to be displayed in the user interface using second scene data saved in the memory of the electronic device.

16. The method of claim 1 , wherein the first computer-generated environment does not include captured portions of a physical environment surrounding the electronic device.

17. The method of claim 1 , wherein:

the first object is associated with a secondary application that is in communication with a guest operating system of the simulator application; and

in response to receiving the first input:

the host operating system transmits, to the guest operating system, input data corresponding to the first input;

the guest operating system generates synthetic input data based on the input data; and

the guest operating system transmits, to the secondary application, the synthetic input data.

18. The method of claim 17 , wherein:

causing the first object to perform the first operation within the first computer-generated environment in accordance with the first input is in accordance with synthetic output data received from the guest operating system;

the synthetic output data is generated using the guest operating system based on application data received from the secondary application; and

the application data is generated using the secondary application based on the synthetic input data.

19. An electronic device, comprising:

a display;

one or more processors;

memory; and

one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:

displaying, via the display, a user interface associated with a simulator application, wherein the user interface includes:

a first computer-generated environment that is generated based on scene data received from a host operating system of the electronic device; and

a first object that is displayed within the first computer-generated environment;

while displaying the user interface associated with the simulator application, receiving, via one or more input devices, a first input to the electronic device corresponding to a request to cause the first object to perform a respective operation within the first computer-generated environment; and

in response to receiving the first input:

causing the first object to perform a first operation within the first computer-generated environment in accordance with the first input; and

updating display of the first computer-generated environment in the user interface based on the first operation.

20. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by one or more processors of an electronic device including a display, cause the electronic device to perform a method comprising:

displaying, via the display, a user interface associated with a simulator application, wherein the user interface includes:

a first computer-generated environment that is generated based on scene data received from a host operating system of the electronic device; and

a first object that is displayed within the first computer-generated environment;

while displaying the user interface associated with the simulator application, receiving, via one or more input devices, a first input to the electronic device corresponding to a request to cause the first object to perform a respective operation within the first computer-generated environment; and

in response to receiving the first input:

causing the first object to perform a first operation within the first computer-generated environment in accordance with the first input; and

updating display of the first computer-generated environment in the user interface based on the first operation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2023
From: LOGGINS, BENJAMIN B.
To: APPLE INC.
Reel/Frame 065929/0750 →
Continuity (2)
Provisional Application 63477122 · Dec 23, 2022
Related Publication 20240211092A1 · Jun 27, 2024
References Cited (6)
US 8226477B1 · Machado · 2012 [cited by examiner]
US 20200117212A1 · Tian · 2020 [cited by examiner]
US 20200393952A1 · Hsiao · 2020 [cited by examiner]
US 20220318035A1 · Garstenauer et al. · 2022 [cited by applicant]
US 20230011228A1 · Kaku · 2023 [cited by examiner]
International Search Report received for PCT Patent Application No. PCT/US2023/085173, mailed on Mar. 14, 2024, 4 pages. [cited by applicant]