IP Library Granted Patent US 11,902,377
Granted Patent B2
US 11,902,377 · App. 17/812,802 · Granted Feb 13, 2024

Methods, systems, and computer program products for implementing cross-platform mixed-reality applications with a scripting framework

Inventors: Nikolay Ivanov Grozdanov (Boca Raton, FL); Konrad Piascik (Ontario, CA); Leonid Zolotarev (Weston, FL); Timothy Dean Caswell (Leander, TX)
Assignee: Magic Leap, Inc.
H04L67/131G06F8/38G06F8/76G06F9/45529G06F40/166G06F40/211G06T19/006H04L65/765H04L67/133
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,902,377
App. No.
17/812,802
Granted
Feb 13, 2024
Kind
B2
Abstract

Disclosed are methods and systems for a scripting framework and implementations therefor for mixed reality software applications of heterogeneous systems. These methods or systems create a mixed-reality software application that executes across heterogeneous platforms on a server-side instance of a scripting framework and manage a change in the mixed-reality software application using the server-side instance of the scripting framework. Moreover, the change in the mixed-reality software application using a client-side instance of the scripting framework; and the mixed-reality software application may be interactively executed on a mixed-reality device.

Claims (104)

1. A computer implemented method, comprising:

creating on a server-side instance of a scripting framework a mixed-reality (MR) software application that executes across heterogeneous platforms;

managing a change in the mixed-reality software application using a client-side instance of the scripting framework by a process comprising:

providing a list of one or more elements to be updated for the mixed-reality software application to one or more script components that execute one or more actions to the list of one or more elements;

identifying or determining one or more target platforms on which the mixed-reality software application is executing, wherein the one or more target platforms comprise one or more mixed-reality target platforms executing one or more mixed-reality operating systems and one or more computing devices executing one or more respective non-mixed reality operating systems; and

executing, at a first framework in the scripting framework, one or more actions to generate an update to the list of one or more elements for the one or more target platforms, wherein the first framework comprises at least one of a declarative framework, a script framework, or a script native framework in the scripting framework;

interactively executing the mixed-reality software application on a mixed-reality device; and

managing the change in the mixed-reality software application using the server-side instance of the scripting framework using a process comprising:

providing application code of the mixed-reality software application as an input to a reconciler;

detecting a change in a state of the mixed-reality software application; and

determining, at the reconciler, a list of one or more elements to be updated in the mixed-reality software application at least by comparing the initial rendering with the updated rendering.

2. The computer implemented method of claim 1 , creating the mixed-reality (MR) software application comprising:

exposing one or more native application programming interfaces (APIs) of a mixed-reality operating system runtime to the scripting framework using at least a declarative framework in the scripting framework;

generating a package for the mixed-reality software application with a declarative markup language; and

specifying one or more native components or elements or one or more spatialized implementations for the one or more native components or elements.

3. The computer implemented method of claim 2 , wherein creating the mixed-reality (MR) software application further comprises:

providing a spatial representation of a tag component for the mixed-reality software application;

including a multimedia content or a 3D (three-dimensional) model in the mixed-reality software application; and

generating the mixed-reality software application without compiling native code of the mixed-reality software application.

4. The computer implemented method of claim 1 , further comprising:

the scripting framework rendering an initial user interface to generate an initial rendering for the mixed-reality software application;

detecting a change in a user interface (UI) in the mixed-reality software application caused by a user's interaction with the mixed-reality software application; and

the scripting framework rendering an updated user interface to generate an updated rendering for the mixed-reality software application.

5. The computer implemented method of claim 4 , wherein managing the change in the mixed-reality software application using the server-side instance of the scripting framework further comprises:

managing updates to the mixed-reality software application using at least the scripting framework.

6. The computer implemented method of claim 1 , wherein managing the change in the mixed-reality software application using the client-side instance of the scripting framework further comprising at least one of:

invoking the declarative framework to provide the update to a mixed-reality target platform of the one or more target platforms; or

invoking the script framework or the script native framework to provide the update to a non-mixed-reality target platform of the one or more target platforms.

7. The computer implemented method of claim 1 , wherein interactively executing the mixed-reality software application on the mixed-reality device comprises:

identifying a client architecture and one or more components of the mixed-reality device;

identifying an entry point script file for the mixed-reality software application, wherein the script file is specified as an entry point in a manifest; and

parsing the entry point script file by using a kernel of a mixed-reality operating system executing on the mixed-reality device.

8. The computer implemented method of claim 7 , wherein interactively executing the mixed-reality software application on the mixed-reality device further comprises:

launching a virtual machine at least by invoking, at the scripting framework, one or more applications in the mixed-reality operating system on the client-side instance of the scripting framework;

performing a verification on one or more files that are loaded in a script engine at least by parsing a file generated by executing a cryptographic function on a list of files that is included in a package transmitted to the mixed-reality device; and

executing the mixed-reality software application on the mixed-reality device in response to a user interaction with the mixed-reality software application.

9. A system, comprising:

a processor; and

a non-transitory computer accessible storage medium storing thereupon a sequence of instructions which, when executed by at least the processor, causes the processor to perform a set of acts, the set of acts comprising:

creating on a server-side instance of a scripting framework a mixed-reality (MR) software application that executes across heterogeneous platforms;

managing a change in the mixed-reality software application using a client-side instance of the scripting framework by a process comprising:

providing a list of one or more elements to be updated for the mixed-reality software application to one or more script components that execute one or more actions to the list of one or more elements;

identifying or determining one or more target platforms on which the mixed-reality software application is executing, wherein the one or more target platforms comprise one or more mixed-reality target platforms executing one or more mixed-reality operating systems and one or more computing devices executing one or more respective non-mixed reality operating systems; and

executing, at a first framework in the scripting framework, one or more actions to generate an update to the list of one or more elements for the one or more target platforms, wherein the first framework comprises at least one of a declarative framework, a script framework, or a script native framework in the scripting framework;

interactively executing the mixed-reality software application on a mixed-reality device, and

managing the change in the mixed-reality software application using the server-side instance of the scripting framework using a process comprising:

providing application code of the mixed-reality software application as an input to a reconciler;

detecting a change in a state of the mixed-reality software application; and

determining, at the reconciler, a list of one or more elements to be updated in the mixed-reality software application at least by comparing the initial rendering with the updated rendering.

10. The system of claim 9 , the sequence of instructions further comprising instructions which, when executed by the processor, cause the processor to perform the set of acts, the set of acts further comprising:

exposing one or more native application programming interfaces (APIs) of a mixed-reality operating system runtime to the scripting framework using at least a declarative framework in the scripting framework;

generating a package for the mixed-reality software application with a declarative markup language;

specifying one or more native components or elements or one or more spatialized implementations for the one or more native components or elements;

providing a spatial representation of a tag component for the mixed-reality software application;

including a multimedia content or a 3D (three-dimensional) model in the mixed-reality software application; and

generating the mixed-reality software application without compiling native code of the mixed-reality software application.

11. The system of claim 10 , the sequence of instructions further comprising instructions which, when executed by the processor, cause the processor to perform the set of acts, the set of acts further comprising:

the scripting framework rendering an initial user interface to generate an initial rendering for the mixed-reality software application;

detecting a change in a user interface (UI) in the mixed-reality software application caused by a user's interaction with the mixed-reality software application; and

the scripting framework rendering an updated user interface to generate an updated rendering for the mixed-reality software application; and

managing updates to the mixed-reality software application using at least the scripting framework.

12. The system of claim 9 , the sequence of instructions further comprising instructions which, when executed by the processor, cause the processor to perform the set of acts, the set of acts further comprising at least one of:

invoking the declarative framework to provide the update to a mixed-reality target platform of the one or more target platforms; or

invoking the script framework or the script native framework to provide the update to a non-mixed-reality target platform of the one or more target platforms.

13. The system of claim 9 , the sequence of instructions further comprising instructions which, when executed by the processor, cause the processor to perform the set of acts, the set of acts further comprising:

identifying a client architecture and one or more components of the mixed-reality device;

identifying an entry point script file for the mixed-reality software application, wherein the script file is specified as an entry point in a manifest;

parsing the entry point script file by using a kernel of a mixed-reality operating system executing on the mixed-reality device;

launching a virtual machine at least by invoking, at the scripting framework, one or more applications in the mixed-reality operating system on the client-side instance of the scripting framework;

performing a verification on one or more files that are loaded in a script engine at least by parsing a file generated by executing a cryptographic function on a list of files that is included in a package transmitted to the mixed-reality device; and

executing the mixed-reality software application on the mixed-reality device in response to a user interaction with the mixed-reality software application.

14. A computer program product embodied on a non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor, causes the processor to execute a set of acts, the set of acts comprising:

creating on a server-side instance of a scripting framework a mixed-reality (MR) software application that executes across heterogeneous platforms;

managing a change in the mixed-reality software application using a client-side instance of the scripting framework by a process comprising:

providing a list of one or more elements to be updated for the mixed-reality software application to one or more script components that execute one or more actions to the list of one or more elements;

identifying or determining one or more target platforms on which the mixed-reality software application is executing, wherein the one or more target platforms comprise one or more mixed-reality target platforms executing one or more mixed-reality operating systems and one or more computing devices executing one or more respective non-mixed reality operating systems; and

executing, at a first framework in the scripting framework, one or more actions to generate an update to the list of one or more elements for the one or more target platforms, wherein the first framework comprises at least one of a declarative framework, a script framework, or a script native framework in the scripting framework;

interactively executing the mixed-reality software application on a mixed-reality device, and

managing the change in the mixed-reality software application using the server-side instance of the scripting framework using a process comprising:

providing application code of the mixed-reality software application as an input to a reconciler;

detecting a change in a state of the mixed-reality software application; and

determining, at the reconciler, a list of one or more elements to be updated in the mixed-reality software application at least by comparing the initial rendering with the updated rendering.

15. The computer program product of claim 14 , the set of acts further comprising:

exposing one or more native application programming interfaces (APIs) of a mixed-reality operating system runtime to the scripting framework using at least a declarative framework in the scripting framework;

generating a package for the mixed-reality software application with a declarative markup language;

specifying one or more native components or elements or one or more spatialized implementations for the one or more native components or elements;

providing a spatial representation of a tag component for the mixed-reality software application;

including a multimedia content or a 3D (three-dimensional) model in the mixed-reality software application; and

generating the mixed-reality software application without compiling native code of the mixed-reality software application.

16. The computer program product of claim 15 , the set of acts further comprising:

the scripting framework rendering an initial user interface to generate an initial rendering for the mixed-reality software application;

detecting a change in a user interface (UI) in the mixed-reality software application caused by a user's interaction with the mixed-reality software application; and

the scripting framework rendering an updated user interface to generate an updated rendering for the mixed-reality software application; and

managing updates to the mixed-reality software application using at least the scripting framework.

17. The computer program product of claim 16 , the set of acts further comprising at least one of:

invoking the declarative framework to provide the update to a mixed-reality target platform of the one or more target platforms; or

invoking the script framework or the script native framework to provide the update to a non-mixed-reality target platform of the one or more target platforms.

18. The computer program product of claim 15 , the set of acts further comprising:

identifying a client architecture and one or more components of the mixed-reality device;

identifying an entry point script file for the mixed-reality software application, wherein the script file is specified as an entry point in a manifest;

parsing the entry point script file by using a kernel of a mixed-reality operating system executing on the mixed-reality device;

launching a virtual machine at least by invoking, at the scripting framework, one or more applications in the mixed-reality operating system on the client-side instance of the scripting framework;

performing a verification on one or more files that are loaded in a script engine at least by parsing a file generated by executing a cryptographic function on a list of files that is included in a package transmitted to the mixed-reality device; and

executing the mixed-reality software application on the mixed-reality device in response to a user interaction with the mixed-reality software application.

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 →
SECURITY INTEREST Recorded Sep 23, 2022
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 061197/0942 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2022
From: GROZDANOV, NIKOLAY IVANOV; PIASCIK, KONRAD; ZOLOTAREV, LEONID; CASWELL, TIMOTHY DEAN
To: MAGIC LEAP, INC.
Reel/Frame 060521/0928 →