IP Library Granted Patent US 10,503,344
Granted Patent B2
US 10,503,344 · App. 14/950,632 · Granted Dec 10, 2019

Dynamic cross-environment application configuration/orientation

Inventors: Brian Reeves (Hamilton, CA); Paul E. Reeves (Oakville, CA); Wuke Liu (Mississauga, CA); Borys Sushchev (Mississauga, CA)
Assignee: Z124
G06F3/0481G06F3/04847G06F3/1423G06F3/1454G06F9/451G09G5/14H04L67/36H04W4/60G09G2340/0492G09G2354/00G09G2370/047G09G2370/12
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 10,503,344
App. No.
14/950,632
Granted
Dec 10, 2019
Kind
B2
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.

Claims (58)

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.

2. The method of claim 1 , wherein the mobile telephony device is a smartphone.

3. The method of claim 2 , wherein the display parameter is based on a property of a console window associated with a console application running on the second operating system.

4. The method of claim 1 , further comprising translating a plurality of configuration parameters including the received display parameter into a configuration qualifier, wherein the configuration qualifier is used in selecting the active resource set from the plurality of resource sets.

5. The method of claim 4 , wherein at least one of the plurality of configuration parameters is associated with the first active user environment.

6. The method of claim 4 , wherein the display parameter comprises a resolution of the console window.

7. The method of claim 4 , wherein the display parameter comprises an aspect ratio of the console window.

8. The method of claim 1 , wherein the device configuration change message indicates a connection state of the second active user environment.

9. The method of claim 1 , wherein the device configuration change message comprises a user input that indicates that the active application screen is to be moved from a display associated with the first user environment to the display associated with the second user environment.

10. The method of claim 1 , further comprising:

selecting a secondary resource set from the plurality of resource sets associated with the application;

displaying a first application screen of the application in a first portion of a display associated with the second active user interaction space using the resource set; and

displaying a second application screen of the application in a second portion of the display associated with the second active user interaction space using the secondary resource set.

11. The method of claim 1 , wherein the second active user interaction space is associated with the first operating system.

12. The method of claim 1 , wherein the selecting of the resource set is in response to a user input that indicates that the application should be moved from the first active user interaction space to the second active user interaction space.

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.

14. The mobile computing device of claim 13 , wherein the mobile telephony device is a smartphone, wherein device drivers in the single shared kernel control hardware interfaces.

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.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2024
From: Z124
To: MULTIFOLD INTERNATIONAL INCORPORATED PTE. LTD.
Reel/Frame 069049/0339 →
QUITCLAIM EXCLUSIVE LICENSE/RIGHTS Recorded Sep 18, 2024
From: Z124
To: MULTIFOLD INTERNATIONAL INCORPORATED PTE. LTD.
Reel/Frame 068979/0612 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2017
From: REEVES, BRIAN; REEVES, PAUL E.; LIU, WUKE; SUSHCHEV, BORYS
To: Z124
Reel/Frame 041321/0042 →