User interaction across cross-environment applications through an extended graphics context
First Claim
1. A method, comprising:
- receiving a first user input event in a first operating system, a first application and a second application in active concurrent execution within the first operating system, the first application displayed within a first user environment associated with the first operating system and the second application displayed within a second user environment associated with a second operating system, the first operating system maintaining application graphics for the second application by rendering a graphics frame for the second application through a first virtual display of an extended rendering context, the graphics frame in a first memory location of anonymous shared memory comprising named memory blocks, 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 freed by a single shared kernel, the first operating system and the second operating system running concurrently on the single shared kernel;
establishing an extended input queue of the first operating system having a first motion space and a second motion space, the second motion space associated with the first virtual display;
receiving the first user input event at a first virtual input device from the first console application of the second operating system;
mapping the first virtual input device to the second motion space of the extended input queue of the first operating system; and
passing the first user input event to the second application from the mapped first virtual input device, wherein the first user environment is a mobile device with a first computing environment and the second user environment is a desktop computing system with a second computing environment, wherein the first operating system and the second operating system execute on the mobile device, wherein the single shared kernel includes 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 so as to communicate across process boundaries, wherein the mobile device and the desktop computing system are distinct computing devices.
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 shared kernel of a mobile computing device. User interaction support includes handling input events initially received in the shared kernel by accepting the input events in the desktop operating system and translating, mapping, and/or passing the input events through a virtual input device to the mobile operating system such that applications of the mobile operating system receive the input events as if coming from a user interaction space of the mobile operating system. 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.
235 Citations
18 Claims
-
1. A method, comprising:
-
receiving a first user input event in a first operating system, a first application and a second application in active concurrent execution within the first operating system, the first application displayed within a first user environment associated with the first operating system and the second application displayed within a second user environment associated with a second operating system, the first operating system maintaining application graphics for the second application by rendering a graphics frame for the second application through a first virtual display of an extended rendering context, the graphics frame in a first memory location of anonymous shared memory comprising named memory blocks, 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 freed by a single shared kernel, the first operating system and the second operating system running concurrently on the single shared kernel; establishing an extended input queue of the first operating system having a first motion space and a second motion space, the second motion space associated with the first virtual display; receiving the first user input event at a first virtual input device from the first console application of the second operating system; mapping the first virtual input device to the second motion space of the extended input queue of the first operating system; and passing the first user input event to the second application from the mapped first virtual input device, wherein the first user environment is a mobile device with a first computing environment and the second user environment is a desktop computing system with a second computing environment, wherein the first operating system and the second operating system execute on the mobile device, wherein the single shared kernel includes 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 so as to communicate across process boundaries, wherein the mobile device and the desktop computing system are distinct computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A mobile computing device, comprising:
-
a first application and a second application in active concurrent execution within a first operating system; a first input device that receives a first input event from an input element of a first user environment, the first user environment associated with the first operating system; a second input device that receives a second input event from an input element of a second user environment, the second user environment associated with a second operating system; anonymous shared memory comprising named memory blocks 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 freed by a single shared kernel, the first operating system and the second operating system running concurrently on the single shared kernel; a console application running in the second operating system that receives the second input event and passes a third input event based on the second input event to a virtual input device accessible by the first operating system; and an extended input queue of the first operating system, the extended input queue including a first motion space associated with a local display of the first operating system and a second motion space associated with a first virtual display of the first operating system, the first virtual display associated with the second application, wherein the first operating system maps the virtual input device to the second motion space, wherein the first user environment is the mobile device and the second user environment is a desktop computing system, wherein the first operating system and the second operating system execute on the mobile device, wherein the single shared kernel includes 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 so as to communicate across process boundaries, wherein the mobile device and the desktop computing system are distinct computing devices. - View Dependent Claims (9)
-
-
10. 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:
-
receiving a first user input event in a first operating system, a first application and a second application in active concurrent execution within the first operating system, the first application displayed within a first user environment associated with the first operating system and the second application displayed within a second user environment associated with a second operating system, the first operating system maintaining application graphics for the second application by rendering a graphics frame for the second application through a first virtual display of an extended rendering context, the graphics frame in a first memory location of anonymous shared memory, the anonymous shared memory comprising named memory blocks 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 freed by a single shared kernel, the first operating system and the second operating system running concurrently on the single shared kernel; establishing an extended input queue of the first operating system having a first motion space and a second motion space, the second motion space associated with the first virtual display; receiving the first user input event at a first virtual input device from the first console application of the second operating system; mapping the first virtual input device to the second motion space of the extended input queue of the first operating system; and passing the first user input event to the second application from the mapped first virtual input device, wherein the first user environment is the mobile device and the second user environment is a desktop computing system, wherein the first operating system and the second operating system execute on the mobile device. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification