CROSS-ENVIRONMENT USER INTERFACE MIRRORING USING REMOTE RENDERING
First Claim
1. A method comprising:
- calculating, using a first operating system, updates to a set of surfaces of a first application compiled for and in active execution within the first operating system;
storing the updated set of surfaces in a shared memory location accessible by both the first operating system and a second operating system running concurrently on a shared kernel;
rendering the updated set of surfaces to generate a first graphics frame using the first operating system;
displaying the first graphics frame to a first application display of the first application on a first display of a first computing environment using the first operating system;
passing a file descriptor indicating the shared memory location to a console application compiled for and in active execution within the second operating system;
rendering the updated set of surfaces from the shared memory location to generate a second graphics frame that is substantially identical to the first graphics frame via the console application of the second operating system according to the file descriptor; and
displaying the second graphics frame to a second application display of the first application on a second display of a second computing environment via the console application of the second operating system, such that the second application display is substantially identical to the first application display.
3 Assignments
0 Petitions
Accused Products
Abstract
Cross-environment rendering and user interaction support provide a seamless computing experience in a multi-operating system computing environment. The multi-operating system computing environment may include a mobile operating system and a desktop operating system running concurrently and independently on a mobile computing device. The seamless computing experience includes mirroring the active user interaction space of the mobile operating system to a display of a user environment associated with the desktop operating system. The user interface is rendered by the desktop operating system by accessing surface information of the active user interaction space directly from shared memory. The mobile computing device may be a smartphone running the Android mobile operating system and a full desktop Linux distribution on a modified Android kernel.
-
Citations
17 Claims
-
1. A method comprising:
-
calculating, using a first operating system, updates to a set of surfaces of a first application compiled for and in active execution within the first operating system; storing the updated set of surfaces in a shared memory location accessible by both the first operating system and a second operating system running concurrently on a shared kernel; rendering the updated set of surfaces to generate a first graphics frame using the first operating system; displaying the first graphics frame to a first application display of the first application on a first display of a first computing environment using the first operating system; passing a file descriptor indicating the shared memory location to a console application compiled for and in active execution within the second operating system; rendering the updated set of surfaces from the shared memory location to generate a second graphics frame that is substantially identical to the first graphics frame via the console application of the second operating system according to the file descriptor; and displaying the second graphics frame to a second application display of the first application on a second display of a second computing environment via the console application of the second operating system, such that the second application display is substantially identical to the first application display. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A mobile computing device, comprising:
-
a first application compiled for and in active execution within a first operating system; a set of surfaces updated by the first application stored in a shared memory location accessible by both the first operating system and a second operating system running concurrently with the first operating system on a shared kernel; a first graphics frame for the first application rendered by the first operating system; a second graphics frame for the first application rendered by a console application of the second operating system by accessing the updated surfaces from the shared memory location through a file descriptor passed by the first operating system. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computing device including a computer-readable medium storing instructions for a physical processor, the instructions, when executed, causing the processor to perform steps comprising:
-
calculating, using a first operating system, updates to a set of surfaces of a first application compiled for and in active execution within the first operating system; storing the updated set of surfaces in a shared memory location accessible by both the first operating system and a second operating system running concurrently on a shared kernel; rendering the updated set of surfaces to generate a first graphics frame using the first operating system; displaying the first graphics frame to a first application display of the first application on a first display of a first computing environment using the first operating system; passing a file descriptor indicating the shared memory location to a console application compiled for and in active execution within the second operating system; rendering the updated set of surfaces from the shared memory location to generate a second graphics frame that is substantially identical to the first graphics frame via the console application of the second operating system according to the file descriptor; and displaying the second graphics frame to a second application display of the first application on a second display of a second computing environment via the console application of the second operating system, such that the second application display is substantially identical to the first application display.
-
Specification