IP Library Granted Patent US 11,201,953
Granted Patent B2
US 11,201,953 · App. 16/518,891 · Granted Dec 14, 2021

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/38G02B27/017G06T19/006H04L63/10H04L67/16H04L67/36H04W4/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,201,953
App. No.
16/518,891
Granted
Dec 14, 2021
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 (101)

1. A method comprising:

at a host device having 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;

rendering to a first display a first view corresponding to the first scenegraph; and

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

wherein:

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

rendering the second view to the second display does not comprise executing the first application via the second 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 second scenegraph corresponding to the second state, the second scenegraph different than the first scenegraph;

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

wherein:

the first remote device is configured to, in response to receiving the second scenegraph, render to the second display a third view corresponding to the second 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 view corresponding to the first scenegraph is different than the second view corresponding to the first scenegraph.

4. 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.

5. 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.

6. 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.

7. 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.

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

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

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

9. 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.

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

11. The method of claim 9 , wherein the trigger comprises location information.

12. The method of claim 9 , wherein the request comprises an identification of the first application.

13. A non-transitory machine readable medium storing instructions, which when executed by a first device having 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;

rendering to a first display a first view corresponding to the first scenegraph; and

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

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 second view corresponding to the first scenegraph, and

rendering the second 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 13 , 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 second scenegraph corresponding to the second state, the second scenegraph different than the first scenegraph;

presenting, to the second device, the second scenegraph,

wherein:

the second device is configured to, in response to receiving the second scenegraph, render to the second display a third view corresponding to the second 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.

15. The non-transitory machine readable medium of claim 13 , wherein the first view is different than the second view.

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

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

18. The non-transitory machine readable medium of claim 13 , 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.

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

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.

20. The non-transitory machine readable medium of claim 13 , wherein the method further comprises determining a first state of a second application, and wherein:

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

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

21. The non-transitory machine readable medium of claim 13 , wherein the method further comprises receiving, from the first remote device, a request to present the first scenegraph, and 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.

22. The non-transitory machine readable medium of claim 21 , wherein the trigger comprises a QR code.

23. The non-transitory machine readable medium of claim 21 , wherein the trigger comprises location information.

24. The non-transitory machine readable medium of claim 21 , wherein the request comprises an identification of the first application.

25. A first device having 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;

rendering to a first display a first view corresponding to the first scenegraph; and

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

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 second view corresponding to the first scenegraph, and

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

26. The device of claim 25 , 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 second scenegraph corresponding to the second state, the second scenegraph different than the first scenegraph;

presenting, to the second device, the second scenegraph,

wherein:

the second device is configured to, in response to receiving the second scenegraph, render to the second display a third view corresponding to the second 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.

27. The device of claim 25 , wherein the first view is different than the second view.

28. The device of claim 25 , wherein the first application is installed on the first device and the first application is not installed on the second device.

29. The device of claim 25 , wherein the first application is installed on the first device and the first application is installed on the second device.

30. The device of claim 25 , 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.

31. The device of claim 25 , wherein the method further comprises presenting, to a second remote device having a third display and a third processor, the first scenegraph, and

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.

32. The device of claim 25 , wherein the method further comprises determining a first state of a second application, and wherein:

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

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

33. The device of claim 25 , wherein the method further comprises receiving, from the first remote device, a request to present the first scenegraph, and 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.

34. The device of claim 33 , wherein the trigger comprises a QR code.

35. The device of claim 33 , wherein the trigger comprises location information.

36. The device of claim 33 , wherein the request comprises an identification of the first application.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2022
From: BABU J D, PRAVEEN; STOLZENBERG, KAREN; TAJIK, JEHANGIR; TALWALKAR, ROHIT ANIL; BRYANT, COLMAN THOMAS; ZOLOTAREV, LEONID
To: MAGIC LEAP, INC.
Reel/Frame 058746/0611 →
ASSIGNMENT OF SECURITY INTEREST IN PATENTS Recorded Nov 7, 2019
From: JPMORGAN CHASE BANK, N.A.
To: CITIBANK, N.A.
Reel/Frame 050967/0138 →
PATENT SECURITY AGREEMENT Recorded Aug 22, 2019
From: MAGIC LEAP, INC.; MOLECULAR IMPRINTS, INC.; MENTOR ACQUISITION ONE, LLC
To: JP MORGAN CHASE BANK, N.A.
Reel/Frame 050138/0287 →
Cited By (1)
US 12,495,094