Extended graphics context with divided compositing
First Claim
1. A method for maintaining display of application graphics for a first application and a second application, both compiled for and in active concurrent execution within a first operating system, the method comprising:
- establishing an extended rendering context of the first operating system having a first context space of the extended rendering context associated with the first application and a second context space of the extended rendering context associated with the second application, the first and second context spaces being non-overlapping, wherein the first context space defines a first active display associated with a mobile device and the second context space defines a second active display associated with a desktop computing system, wherein the mobile device and the desktop computing system are distinct computing devices;
allocating anonymous shared memory comprising named memory blocks for surfaces of the first application and the second application by a graphics server of the first operating system, the anonymous shared memory accessible by name through a file descriptor by all processes running on the first operating system and a second operating system and not accessible by name by other processes, the memory blocks of the anonymous shared memory freed by a shared kernel, the first operating system and the second operating system running concurrently and independently on the shared kernel, the shared kernel including an inter-process communications driver which passes the file descriptor to processes in the first operating system and the second operating system to allow communication between the first operating system and the second operating system to communicate across process boundaries;
calculating updates to surfaces of the first application and the second application using the first operating system, wherein the first operating system and the second operating system execute on a mobile device;
rendering the updated surfaces of the first application according to the first context space using the first operating system to generate a first graphics frame in a frame buffer of the first operating system; and
rendering the updated surfaces of the second application according to the second context space using the first operating system to generate a second graphics frame in an anonymous shared memory location accessible by both the first operating system and the second operating system, wherein the updated surfaces of the second application are displayed on the second active display associated with the desktop computing system;
wherein the first operating system is a mobile operating system and the second operating system is a desktop operating system;
wherein when the mobile device is connected to the desktop computing system, a user experiences the second application on the second active display of the desktop computing system through a desktop computing experience of the desktop computing system;
wherein the mobile device is a mobile telephony device; and
wherein each first and second operating system makes system calls through the shared kernel without virtualized memory.
3 Assignments
0 Petitions
Accused Products
Abstract
A mobile computing device with a mobile operating system and desktop operating system running concurrently and independently on a shared kernel without virtualization. The mobile operating system provides a user experience for the mobile computing device that suits the mobile environment. The desktop operating system provides a full desktop user experience when the mobile computing device is docked to a second user environment. Cross-environment rendering and user interaction support provide a seamless computing experience in a multi-operating system computing environment. Real-time display of applications running in the mobile operating system within an environment of the desktop operating system is provided by rendering the application through an extended graphics context of the mobile operating system. Application graphics for multiple applications are rendered into separate graphics frames. 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
20 Claims
-
1. A method for maintaining display of application graphics for a first application and a second application, both compiled for and in active concurrent execution within a first operating system, the method comprising:
-
establishing an extended rendering context of the first operating system having a first context space of the extended rendering context associated with the first application and a second context space of the extended rendering context associated with the second application, the first and second context spaces being non-overlapping, wherein the first context space defines a first active display associated with a mobile device and the second context space defines a second active display associated with a desktop computing system, wherein the mobile device and the desktop computing system are distinct computing devices; allocating anonymous shared memory comprising named memory blocks for surfaces of the first application and the second application by a graphics server of the first operating system, the anonymous shared memory accessible by name through a file descriptor by all processes running on the first operating system and a second operating system and not accessible by name by other processes, the memory blocks of the anonymous shared memory freed by a shared kernel, the first operating system and the second operating system running concurrently and independently on the shared kernel, the shared kernel including an inter-process communications driver which passes the file descriptor to processes in the first operating system and the second operating system to allow communication between the first operating system and the second operating system to communicate across process boundaries; calculating updates to surfaces of the first application and the second application using the first operating system, wherein the first operating system and the second operating system execute on a mobile device; rendering the updated surfaces of the first application according to the first context space using the first operating system to generate a first graphics frame in a frame buffer of the first operating system; and rendering the updated surfaces of the second application according to the second context space using the first operating system to generate a second graphics frame in an anonymous shared memory location accessible by both the first operating system and the second operating system, wherein the updated surfaces of the second application are displayed on the second active display associated with the desktop computing system; wherein the first operating system is a mobile operating system and the second operating system is a desktop operating system; wherein when the mobile device is connected to the desktop computing system, a user experiences the second application on the second active display of the desktop computing system through a desktop computing experience of the desktop computing system; wherein the mobile device is a mobile telephony device; and wherein each first and second operating system makes system calls through the shared kernel without virtualized memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A mobile computing device, comprising:
-
a first application and a second application in active concurrent execution within a first operating system; a first graphics surface of the first operating system updated by the first application; a second graphics surface of the first operating system updated by the second application; an extended rendering context of the first operating system, the extended rendering context including a first context space associated with the first application and a second context space of the extended rendering context associated with the second application, the first and second context spaces being non-overlapping, wherein the first context space defines a first active display associated with a mobile device and the second context space defines a second active display associated with a desktop computing system, wherein the mobile device and the desktop computing system are separate computing devices; and a graphics server of the first operating system that allocates anonymous shared memory for surfaces of the first application and the second application and renders updated surface information of the first surface to generate a first graphics frame in a frame buffer of the first operating system, an anonymous shared memory comprising named memory blocks accessible by all processes running on the first operating system and the second operating system, the anonymous shared memory accessible by name through a file descriptor by all processes running on the first operating system and the second operating system and not accessible by name by other processes, the memory blocks of the anonymous shared memory freed by a shared kernel, the first operating system and the second operating system running concurrently and independently on the shared kernel, the shared kernel including an inter-process communications driver which allows processes in the first operating system and the second operating system to communicate with one another across process boundaries; wherein the graphics server renders updated surface information of the second surface to generate a second graphics frame in an anonymous shared memory location accessible by both the first operating system and the second operating system; wherein the first operating system is a mobile operating system and the second operating system is a desktop operating system; wherein when the mobile device is connected to the desktop computing system, a user experiences the second application on the second active display of the desktop computing system through a desktop computing experience of the desktop computing system; wherein the mobile device is a mobile telephony device; and wherein each first and second operating system makes system calls through the shared kernel without virtualized memory. - View Dependent Claims (15, 16)
-
-
17. A computing device including a non-transitory computer-readable medium storing instructions for a physical processor, the instructions, when executed, causing the processor to perform steps comprising:
-
executing a first application and a second application concurrently on a first operating system; establishing an extended rendering context of the first operating system having a first context space of the extended rendering context associated with the first application and a second context space of the extended rendering context associated with the second application, the first and second context spaces being non-overlapping, wherein the first context space defines a first active display associated with a mobile device and the second context space defines a second active display associated with a desktop computing system, wherein the mobile device and the desktop computing system are distinct computing devices; allocating anonymous shared memory comprising named memory blocks for surfaces of the first application and the second application by a graphics server of the first operating system, the anonymous shared memory accessible by name through a file descriptor by all processes running on the first operating system and a second operating system and not accessible by name by other processes, the memory blocks of the anonymous shared memory freed by a shared kernel, the first operating system and the second operating system running concurrently and independently on the shared kernel; calculating updates to surfaces of the first application and the second application using the first operating system; rendering the updated surfaces of the first application according to the first context space using the first operating system to generate a first graphics frame in a frame buffer of the first operating system; and rendering the updated surfaces of the second application according to the second context space using the first operating system to generate a second graphics frame in an anonymous shared memory location accessible by both the first operating system and the second operating system, wherein the updated surfaces of the second application are displayed on the second active display associated with the desktop computing system; wherein the first operating system is a mobile operating system and the second operating system is a desktop operating system; wherein when the mobile device is connected to the desktop computing system, a user experiences the second application on the second active display of the desktop computing system through a desktop computing experience of the desktop computing system; wherein the mobile device is a mobile telephony device; and wherein each first and second operating system makes system calls through the shared kernel without virtualized memory. - View Dependent Claims (18, 19, 20)
-
Specification