Dynamic cross-environment application configuration/orientation
First Claim
1. A method for dynamically configuring active application screens of applications running in two different operating systems of a mobile computing device, the two different operating systems comprising a first operating system associated with a first active user environment and a second operating system associated with a second active environment, the method comprising:
- receiving a device configuration change message, the device configuration change message related to a device configuration of the second active user environment, the second active user environment receiving graphics information from the mobile computing device through a graphics interface;
allocating, by a shared kernel, anonymous shared memory comprising named memory blocks, the anonymous shared memory being accessible and configured to be used by all processes running on the first operating system and a second operating system and not accessible by name by other processes, the first operating system and the second operating system running concurrently and independently on the shared kernel, the shared kernel running on the mobile computing device;
receiving a display parameter associated with an active display of the second active user environment, wherein the second active user environment is a desktop computing system;
selecting an active resource set from a plurality of resource sets associated with the first application based at least in part on the display parameter; and
configuring a first application screen associated with the first application based on the received device configuration change message by disestablishing the first application screen associated with the first application and displaying a second application screen associated with the first application using the active resource set on the active display of the second user environment;
wherein the first operating system is a mobile operating system and the second operating system is a desktop operating system;
wherein the shared kernel directly manages resources of the mobile device including memory and the first operating system and the second operating system make system calls to the memory through the shared kernel without virtualized memory;
wherein the mobile computing device and the desktop computing system are distinct computing devices;
wherein the mobile computing device is a mobile telephony device;
wherein device drivers in the single shared kernel control hardware interfaces;
wherein the shared kernel allocates a first frame buffer memory associated with the mobile operating system and allocates a second frame buffer memory associated with the desktop operating system;
wherein the mobile operating system renders the first application in the first frame buffer memory through the shared kernel and the desktop operating system renders the second application in the second frame buffer memory through the shared kernel; and
wherein the shared kernel provides direct access to the first frame buffer memory and the second frame buffer memory by the respective mobile operating system and desktop operating system through frame buffer devices without virtualization of addressing by either operating system.
1 Assignment
0 Petitions
Accused Products
Abstract
Dynamic configuration of cross-environment applications enhances the computing experience in a computing environment with an extended active user environment and/or multiple active user environments. A mobile computing device maintains multiple active device configurations associated with multiple active user environments and/or application windows within active user environments. Device configuration qualifiers are determined from a variety of sources including device characteristics, device indicators, user settings, and/or application presentation. The mobile computing device selects active resource sets for applications based on the device configuration qualifiers. Application presentation is dynamically updated by disestablishing an application screen and establishing a new active application screen using a different resource set. 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.
79 Citations
15 Claims
-
1. A method for dynamically configuring active application screens of applications running in two different operating systems of a mobile computing device, the two different operating systems comprising a first operating system associated with a first active user environment and a second operating system associated with a second active environment, the method comprising:
-
receiving a device configuration change message, the device configuration change message related to a device configuration of the second active user environment, the second active user environment receiving graphics information from the mobile computing device through a graphics interface; allocating, by a shared kernel, anonymous shared memory comprising named memory blocks, the anonymous shared memory being accessible and configured to be used by all processes running on the first operating system and a second operating system and not accessible by name by other processes, the first operating system and the second operating system running concurrently and independently on the shared kernel, the shared kernel running on the mobile computing device; receiving a display parameter associated with an active display of the second active user environment, wherein the second active user environment is a desktop computing system; selecting an active resource set from a plurality of resource sets associated with the first application based at least in part on the display parameter; and configuring a first application screen associated with the first application based on the received device configuration change message by disestablishing the first application screen associated with the first application and displaying a second application screen associated with the first application using the active resource set on the active display of the second user environment; wherein the first operating system is a mobile operating system and the second operating system is a desktop operating system; wherein the shared kernel directly manages resources of the mobile device including memory and the first operating system and the second operating system make system calls to the memory through the shared kernel without virtualized memory; wherein the mobile computing device and the desktop computing system are distinct computing devices; wherein the mobile computing device is a mobile telephony device; wherein device drivers in the single shared kernel control hardware interfaces; wherein the shared kernel allocates a first frame buffer memory associated with the mobile operating system and allocates a second frame buffer memory associated with the desktop operating system; wherein the mobile operating system renders the first application in the first frame buffer memory through the shared kernel and the desktop operating system renders the second application in the second frame buffer memory through the shared kernel; and wherein the shared kernel provides direct access to the first frame buffer memory and the second frame buffer memory by the respective mobile operating system and desktop operating system through frame buffer devices without virtualization of addressing by either operating system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A mobile computing device including a memory storing instructions for a physical processor, the instructions, when executed, causing the processor to perform steps comprising:
-
running a first application in a first operating system of the mobile computing device, the first operating system associated with a first active user environment; running a second application in a second operating system different from the first operating system, the second operating system being associated with a second active user environment and wherein the first operating system and the second operating system run concurrently and independently in a shared kernel running on the mobile computing device; receiving a device configuration change message, the device configuration change message being related to a device configuration of the second active user environment, the second active user environment receiving graphics information from the mobile computing device through a graphics interface; allocating, by the shared kernel, anonymous shared memory comprising named memory blocks, the anonymous shared memory being accessible and configured to be used by all processes running on the first operating system and the second operating system and not accessible by name by other processes; receiving a display parameter associated with an active display of the second active user environment, the second active user environment being associated with the second operating system, wherein the second active user environment is a desktop computing system; selecting an active resource set from a plurality of resource sets associated with the first application based on the display parameter; and configuring a first application screen associated with the first application based on the received device configuration change message by disestablishing a first application screen associated with the first application and displaying a second application screen associated with the first application using the active resource set on the active display of the second active user environment; wherein the first operating system is a mobile operating system and the second operating system is a desktop operating system; wherein the shared kernel directly manages resources of the mobile device including memory and the first operating system and the second operating system make system calls to the memory through the shared kernel without virtualized memory; wherein the mobile computing device and the desktop computing system are distinct computing devices; wherein the mobile computing device is a mobile telephony device; wherein the shared kernel allocates a first frame buffer memory associated with the mobile operating system and allocates a second frame buffer memory associated with the desktop operating system; wherein the mobile operating system renders the first application in the first frame buffer memory through the shared kernel and the desktop operating system renders the second application in the second frame buffer memory through the shared kernel; and wherein the shared kernel provides direct access to the first frame buffer memory and the second frame buffer memory by the respective mobile operating system and desktop operating system through frame buffer devices without virtualization of addressing by either operating system. - View Dependent Claims (14)
-
-
15. A non-transitory, computer-readable medium comprising a set of instructions stored therein which, when executed by a processor, causes the processor to dynamically configure active application screens of applications running in two different operating systems of a mobile computing device, the two different operating systems comprising a first operating system associated with a first active user environment and a second operating system associated with a second active environment by:
-
receiving a device configuration change message, the device configuration change message being related to a device configuration of the second active user environment, the second active user environment receiving graphics information from the mobile computing device through a graphics interface; allocating, by a shared kernel, anonymous shared memory comprising named memory blocks, the anonymous shared memory being accessible and configured to be used by all processes running on the first operating system and a second operating system and not accessible by name by other processes, the first operating system and the second operating system running concurrently and independently on the shared kernel, the shared kernel running on the mobile computing device; receiving a display parameter associated with an active display of the second active user environment, wherein the second active user environment is a desktop computing system; selecting an active resource set from a plurality of resource sets associated with the first application based at least in part on the display parameter; and configuring a first application screen associated with the first application based on the received device configuration change message by disestablishing the first application screen associated with the first application and displaying a second application screen associated with the first application using the active resource set on the active display of the second user environment; wherein the first operating system is a mobile operating system and the second operating system is a desktop operating system; wherein the shared kernel directly manages resources of the mobile device including memory and the first operating system and the second operating system make system calls to the memory through the shared kernel without virtualized memory; wherein the mobile computing device and the desktop computing system are distinct computing devices; wherein the mobile computing device is a mobile telephony device; wherein device drivers in the single shared kernel control hardware interfaces; wherein the shared kernel allocates a first frame buffer memory associated with the mobile operating system and allocates a second frame buffer memory associated with the desktop operating system; wherein the mobile operating system renders the first application in the first frame buffer memory through the shared kernel and the desktop operating system renders the second application in the second frame buffer memory through the shared kernel; and wherein the shared kernel provides direct access to the first frame buffer memory and the second frame buffer memory by the respective mobile operating system and desktop operating system through frame buffer devices without virtualization of addressing by either operating system.
-
Specification