IP Library Granted Patent US 8,898,443
Granted Patent B2
US 8,898,443 · App. 13/217,108 · Granted Nov 25, 2014

Multi-operating system

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 8,898,443
App. No.
13/217,108
Granted
Nov 25, 2014
Kind
B2
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 secondary terminal environment. The mobile computing device may be a smartphone running the Android mobile OS and a full desktop Linux distribution on a modified Android kernel.

Claims (59)

1. A computing system, comprising:

a first computing device, comprising:

a mobile operating system running in a first execution environment on a shared kernel, the mobile operating system having a first application framework supporting a first application;

a desktop operating system running concurrently with the mobile operating system in a second execution environment on the shared kernel, the desktop operating system having a second application framework supporting a second application, wherein the second application is incompatible with the first application framework; and

a second computing device providing a desktop computing experience;

wherein the first computing device is a mobile computing device providing a mobile computing experience;

wherein each of the mobile operating system and the desktop operating system run concurrently and independently on the shared kernel of the mobile computing device;

wherein the second computing device is distinct from the first computing device;

wherein when the mobile computing device is connected to the second computing device, a user experiences the second application on a display of the second computing device through the desktop computing experience of the second 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.

2. The computing system of claim 1 , wherein the mobile operating system includes a first set of user libraries in the first execution environment, and wherein the second application is incompatible with the first set of user libraries.

3. The computing system of claim 1 , wherein the shared kernel is running on a mobile processor of the first computing device.

4. The computing system of claim 1 , wherein the desktop operating system is associated with the second computing device.

5. The computing system of claim 1 , wherein the first computing device and the second computing device are connected with a single dock connector that includes a display interface and serial communications interface.

6. The computing system of claim 1 , the first computing device further including a physical memory device, wherein the mobile operating system is associated with the first frame buffer in the physical memory device and the desktop operating system is associated with the second frame buffer in the physical memory device.

7. The computing system of claim 6 , wherein the first computing device further includes a first display device, and wherein the first frame buffer is associated with the first display device.

8. The computing system of claim 7 , wherein the second computing device includes a second display device, and wherein the second frame buffer is associated with the second display device.

9. The computing system of claim 8 , wherein the second application is displayed on the second display device through the second frame buffer.

10. The computing system of claim 1 , the first computing device further including a physical storage device, wherein the second execution environment is logically isolated from the first execution environment on the physical storage device.

11. The computing system of claim 1 , further including an input device connected to the first computing device, wherein input commands from the input device are available to the mobile operating system in the first execution environment and to the desktop operating system in the second execution environment.

12. The computing system of claim 11 , wherein the desktop operating system accesses input commands from the input device through the shared kernel.

13. The computing system of claim 1 , wherein the first computing device is configured using a boot process that includes the steps of:

starting, in response to a power on event, a boot loader;

establishing, by the boot loader, the first execution environment;

starting, by the boot loader, the shared kernel;

initializing, by the shared kernel, the mobile operating system;

starting, by the shared kernel, the first application framework;

starting, in the mobile operating system, a desktop monitor service;

establishing, by the desktop monitor service, the second execution environment within the first execution environment; and

starting, by the desktop monitor service, the second application framework.

14. A method of providing multiple operating systems on a single physical processor of a mobile computing device, the method comprising:

running a first application on a mobile operating system of the mobile computing device, the mobile operating system running on a shared kernel and having a first application framework, the mobile computing device providing a mobile computing experience;

running a second application on a desktop operating system, the desktop operating system running concurrently with the mobile operating system on the shared kernel and having a second application framework, wherein the second application is incompatible with the first application framework;

providing a second computing device providing a desktop computing experience;

allocating, by the shared kernel, a first frame buffer memory associated with the mobile operating system;

allocating, by the shared kernel, a second frame buffer memory associated with the desktop operating system;

rendering, by the mobile operating system, the first application in the first frame buffer memory through the shared kernel; and

rendering, by the desktop operating system, the second application in the second frame buffer memory through the shared kernel;

wherein each of the mobile operating system and the desktop operating system run concurrently and independently on the shared kernel of the mobile computing device;

wherein the second computing device is distinct from the first computing device;

wherein when the mobile computing device is connected to the second computing device, a user experiences the second application on a display of the second computing device through the desktop computing experience of the second device;

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.

15. The method of claim 14 , wherein graphics data for the mobile operating system is directly accessed by the desktop operating system, wherein a graphics server of the mobile operating system communicates to a client application in the desktop operating system by passing file descriptors to shared memory allocated for application surfaces.

16. The computing system of claim 1 , wherein graphics data for the mobile operating system is directly accessed by the desktop operating system, wherein a graphics server of the mobile operating system communicates to a client application in the desktop operating system by passing file descriptors to shared memory allocated for application surfaces.

17. A computing system including a first computing device comprising a computer-readable medium storing instructions for a physical processor, the instructions, when executed, causing the processor to perform steps comprising:

running a mobile operating system in a first execution environment on a shared kernel, the mobile operating system having a first application framework supporting a first application;

running a desktop operating system concurrently with the mobile operating system in a second execution environment on the shared kernel, the desktop operating system having a second application framework supporting a second application, wherein the second application is incompatible with the first application framework, wherein each of the mobile operating system and the desktop operating system run concurrently and independently on the shared kernel of the first computing device, wherein the first computing device is a mobile computing device providing a mobile computing experience;

providing a second computing device providing a desktop computing experience;

allocating, by the shared kernel, a first frame buffer memory associated with the mobile operating system and allocating, by the shared kernel, a second frame buffer memory associated with the desktop operating system; and

rendering, by the mobile operating system, the first application in the first frame buffer memory through the shared kernel, and rendering, by the desktop operating system, the second application in the second frame buffer memory through the shared kernel;

wherein the second computing device is distinct from the first computing device;

wherein when the mobile computing device is connected to the second computing device, a user experiences the second application on a display of the second computing device through the desktop computing experience of the second device; 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.

18. The computing system of claim 17 , wherein the second execution environment comprises a chrooted environment.

19. The computing system of claim 17 , further comprising mobile telephony capabilities.

20. The computing system of claim 17 , wherein the first computing device comprises a smartphone.

Assignments (5)
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 →
CHANGE OF NAME Recorded Jun 22, 2012
From: IMERJ LLC
To: Z124 LLC
Reel/Frame 028431/0057 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2012
From: Z124 LLC
To: Z124
Reel/Frame 028322/0178 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2011
From: REEVES, BRIAN; REEVES, PAUL; TELTZ, RICHARD; REEVES, DAVID; SIRPAL, SANJIV; TYGHE, CHRIS
To: IMERJ LLC
Reel/Frame 026809/0911 →