IP Library Granted Patent US 11,936,733
Granted Patent B2
US 11,936,733 · App. 17/521,740 · Granted Mar 19, 2024

Application sharing

Inventors: Praveen Babu J D (Plantation, FL); Karen Stolzenberg (Fort Lauderdale, FL); Jehangir Tajik (Fort Lauderdale, FL); Rohit Anil Talwalkar (Weston, FL); Colman Thomas Bryant (Fort Lauderdale, FL); Leonid Zolotarev (Weston, FL)
Assignee: Magic Leap, Inc.
H04L67/131G02B27/017G06T19/006H04L63/10H04L67/51H04L67/75H04W4/021
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 11,936,733
App. No.
17/521,740
Granted
Mar 19, 2024
Kind
B2
Abstract

A host device having a first processor executes an application via the first processor. The host device determines a state of the application. A scenegraph is generated corresponding to the state of the application, and the scenegraph is presented to a remote device having a display and a second processor. The remote device is configured to, in response to receiving the scenegraph, render to the display a view corresponding to the scenegraph, without executing the application via the second processor.

Claims (85)

1. A method comprising:

at a host device having a first display and a first processor, executing a first application via the first processor;

determining a first state of the first application;

generating a first scenegraph corresponding to the first state of the first application;

presenting, to a first remote device having a second display and a second processor distinct from the first processor, the first scenegraph;

at the first remote device, executing a second application via the second processor;

generating a second scenegraph corresponding to a first state of the second application; and

presenting the second scenegraph to the host device;

wherein:

the first remote device is configured to, in response to receiving the first scenegraph, render to the second display a first view corresponding to the first scenegraph, and

rendering the first view to the first second display does not comprise executing the first application via the second processor,

the host device is configured to, in response to receiving the second scenegraph, render to the first display a second view corresponding to the second scenegraph, and

rendering the second view to the first display does not comprise executing the second application via the first processor.

2. The method of claim 1 , further comprising:

at the host device, receiving input from the first remote device;

determining, based on the input, a second state of the first application, the second state different than the first state;

generating a third scenegraph corresponding to the second state, the third scenegraph different than the first scenegraph;

presenting, to the first remote device, the third scenegraph,

wherein:

the first remote device is configured to, in response to receiving the third scenegraph, render to the second display a third view corresponding to the third scenegraph without executing the first application, and

rendering the third view to the second display does not comprise executing the first application via the second processor.

3. The method of claim 1 , wherein the first application is installed on the host device and the first application is not installed on the first remote device.

4. The method of claim 1 , wherein the first application is installed on the host device and the first application is installed on the first remote device.

5. The method of claim 1 , wherein the first remote device is a wearable computing device and the second display is configured to be head-mounted to a user of the first remote device.

6. The method of claim 1 , further comprising presenting, to a second remote device having a third display and a third processor, the first scenegraph, wherein:

the second remote device is configured to, in response to receiving the first scenegraph, render to the third display a third view corresponding to the first scenegraph, and

rendering the third view to the third display does not comprise executing the first application via the third processor.

7. The method of claim 1 , further comprising determining a first state of a third application, wherein:

the first scenegraph further corresponds to the first state of the third application, and

rendering the first view to the second display does not comprise executing the third application via the second processor.

8. The method of claim 1 , further comprising receiving, from the first remote device, a request to present the first scenegraph, wherein:

the request to present the first scenegraph is generated in response to an interaction between the first remote device and a trigger, and

presenting the first scenegraph to the first remote device is performed in response to receiving the request.

9. The method of claim 8 , wherein the trigger comprises a QR code.

10. The method of claim 8 , wherein the trigger comprises location information.

11. The method of claim 8 , wherein the request comprises an identification of the first application.

12. A non-transitory machine readable medium storing instructions, which when executed by a first device having a first display and one or more processors including a first processor, cause the first device to perform a method comprising:

executing a first application via the first processor;

determining a first state of the first application;

generating a first scenegraph corresponding to the first state of the first application;

presenting, to a second device having a second display and a second processor distinct from the first processor, the first scenegraph;

at the second device, executing a second application via the second processor;

generating a second scenegraph corresponding to a first state of the second application; and

presenting the second scenegraph to the first device;

wherein:

the second device is remote to the first device,

the second device is configured to, in response to receiving the first scenegraph, render to the second display a first view corresponding to the first scenegraph, and

rendering the first view to the second display does not comprise executing the first application via the second processor,

the first device is configured to, in response to receiving the second scenegraph, render to the first display a second view corresponding to the second scenegraph, and

rendering the second view to the first display does not comprise executing the second application via the first processor.

13. The non-transitory machine readable medium of claim 12 , wherein the method further comprises:

at the first device, receiving input from the second device;

determining, based on the input, a second state of the first application, the second state different than the first state;

generating a third scenegraph corresponding to the second state, the third scenegraph different than the first scenegraph;

presenting, to the second device, the third scenegraph,

wherein:

the second device is configured to, in response to receiving the third scenegraph, render to the second display a third view corresponding to the third scenegraph without executing the first application, and

rendering the third view to the second display does not comprise executing the first application via the second processor.

14. The non-transitory machine readable medium of claim 12 , wherein the first application is installed on the first device and the first application is not installed on the second device.

15. The non-transitory machine readable medium of claim 12 , wherein the first application is installed on the first device and the first application is installed on the second device.

16. The non-transitory machine readable medium of claim 12 , wherein the second device is a wearable computing device and the second display is configured to be head-mounted to a user of the second device.

17. The non-transitory machine readable medium of claim 12 , wherein the method further comprises presenting, to a third device having a third display and a third processor, the first scenegraph,

wherein:

the third device is configured to, in response to receiving the first scenegraph, render to the third display a third view corresponding to the first scenegraph, and

rendering the third view to the third display does not comprise executing the first application via the third processor.

18. The non-transitory machine readable medium of claim 12 , wherein the method further comprises determining a first state of a third application, wherein:

the first scenegraph further corresponds to the first state of the third application, and

rendering the first view to the second display does not comprise executing the third application via the second processor.

19. The non-transitory machine readable medium of claim 12 , wherein the method further comprises receiving, from the second device, a request to present the first scenegraph, wherein:

the request to present the first scenegraph is generated in response to an interaction between the second device and a trigger, and

presenting the first scenegraph to the second device is performed in response to receiving the request.

20. A first device having a first display and one or more processors including a first processor, the first device capable of performing a method comprising:

executing a first application via the first processor;

determining a first state of the first application;

generating a first scenegraph corresponding to the first state of the first application;

presenting, to a second device having a second display and a second processor distinct from the first processor, the first scenegraph;

at the second device, executing a second application via the second processor;

generating a second scenegraph corresponding to a first state of the second application; and

presenting the second scenegraph to the first device;

wherein:

the second device is remote to the first device,

the second device is configured to, in response to receiving the first scenegraph, render to the second display a first view corresponding to the first scenegraph, and

rendering the first view to the second display does not comprise executing the first application via the second processor

the first device is configured to, in response to receiving the second scenegraph, render to the first display a second view corresponding to the second scenegraph, and

rendering the second view to the first display does not comprise executing the second application via the first processor.

Assignments (3)
SECURITY INTEREST Recorded Oct 28, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073388/0027 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2023
From: J D, PRAVEEN BABU; STOLZENBERG, KAREN; TAJIK, JEHANGIR; TALWALKAR, ROHIT ANIL; BRYANT, COLMAN THOMAS; ZOLOTAREV, LEONID
To: MAGIC LEAP, INC.
Reel/Frame 064340/0801 →
SECURITY INTEREST Recorded May 24, 2022
From: MOLECULAR IMPRINTS, INC.; MENTOR ACQUISITION ONE, LLC; MAGIC LEAP, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 060338/0665 →
Cited By (1)
US 12,495,094