IP Library Granted Patent US 9,164,787
Granted Patent B2
US 9,164,787 · App. 12/200,778 · Granted Oct 20, 2015

Methods and systems for running multiple operating systems in a single mobile device

Inventor: Yongyong Xu (Sunnyvale, CA)
Assignee: Intellectual Ventures Fund 63 LLC
G06F9/45545G06F11/1446G06F11/1469G06F12/14G06F9/441G06F9/4401G06F9/4406G06F9/544
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 9,164,787
App. No.
12/200,778
Granted
Oct 20, 2015
Kind
B2
Abstract

Methods and systems for running multiple operating systems in a single embedded or mobile device (include PDA, cellular phone and other devices) are disclosed. The invention allows a mobile device that normally can only run a single operating system to run another operating system while preserving the state and data of the original operating system. Guest OS is packaged into special format recognizable by the host OS that still can be executed in place by the system. The Methods include: •Change the memory protection bits for the original OS; •Fake a reduced physical memory space for guest OS; •Use special memory device driver to claim memories of host OS; •Backup whole image of the current OS and data to external memory card.

Claims (34)

1. A mobile device comprising:

a memory including a host operating system and a guest operating system, wherein an image of the guest operating system is wrapped into a host operating system application, wherein the host operating system executes the host operating system application to start the guest operating system, after which guest operating system executes the guest operating system code; and

a processor configured via programming to:

store a state of the host operating system in a first portion of the memory;

copy the first portion of the memory onto an external memory device to protect the state of the host operating system such that the guest operating system cannot use the state of the host operating system;

load the guest operating system into a second portion of the memory; wherein at least a portion of the first portion of the memory is used;

transfer control to the guest operating system;

receive an exit code from the guest operating system, wherein the exit code is generated at the termination of the guest operating system;

restore, based upon receipt of the exit code, the copied first portion of the memory from the external memory device back to the memory; and

resume operation of the host operating system after the copied first portion of the memory is restored from the external memory device.

2. The mobile device of claim 1 , wherein the processor is further configured via programming to use a bootloader to copy the first portion of memory to the external memory device.

3. The mobile device of claim 1 , wherein the processor is further configured via programming to compress the first portion of the memory before the first portion is stored on the external memory device.

4. A method comprising:

protecting, at a processor, a first portion of a memory such that a guest operating system cannot use the first portion of the memory, wherein protecting the first portion of the memory includes copying the first portion of the memory onto an external memory device, wherein an image of the guest operating system is wrapped into a host operating system application, wherein the host operating system executes the host operating system application to start the guest operating system, after which guest operating system executes the guest operating system code;

storing a state of the host operating system in the first portion of the memory;

copying the first portion of the memory onto an external memory device to protect the state of the host operating system such that the guest operating system cannot use the state of the host operating system;

loading the guest operating system into a second portion of the memory; wherein at least a portion of the first portion of the memory is used;

transferring control to the guest operating system;

receiving an exit code from the guest operating system, wherein the exit code is generated at the termination of the guest operating system;

restoring, based upon receipt of the exit code, the copied first portion of the memory from the external memory device back to the memory; and

resuming operation of the host operating system after the copied first portion of the memory is restored from the external memory device.

5. The method of claim 4 , wherein copying uses a bootloader to copy the first portion of memory to the external memory device.

6. The method of claim 4 , further comprising compressing the first portion of the memory before the first portion is stored on the external memory device.

7. An article of manufacture including a non-transitory computer-readable medium having instructions stored thereon that, if executed by a computing device, cause the computing device to perform operations comprising:

protecting, at a processor, a first portion of a memory such that a guest operating system cannot use the first portion of the memory, wherein protecting the first portion of the memory includes copying the first portion of the memory onto an external memory device, wherein an image of the guest operating system is wrapped into a host operating system application, wherein the host operating system executes the host operating system application to start the guest operating system, after which guest operating system executes the guest operating system code;

storing a state of the host operating system in the first portion of the memory;

copying the first portion of the memory onto an external memory device to protect the state of the host operating system such that the guest operating system cannot use the state of the host operating system;

loading the guest operating system into a second portion of the memory; wherein at least a portion of the first portion of the memory is used;

transferring control to the guest operating system;

receiving an exit code from the guest operating system, wherein the exit code is generated at the termination of the guest operating system;

restoring, based upon receipt of the exit code, the copied first portion of the memory from the external memory device back to the memory; and

resuming operation of the host operating system after the copied first portion of the memory is restored from the external memory device.

8. The article of manufacture of claim 7 , wherein copying uses a bootloader to copy the first portion of memory to the external memory device.

9. The article of manufacture of claim 7 , wherein the operations further comprise compressing the first portion of the memory before the first portion is stored on the external memory device.

Assignments (2)
MERGER Recorded Jan 25, 2016
From: INTELLECTUAL VENTURES FUND 63 LLC
To: INTELLECTUAL VENTURES HOLDING 81 LLC
Reel/Frame 037577/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2010
From: XU, YONGYONG
To: INTELLECTUAL VENTURES FUND 63 LLC
Reel/Frame 024293/0685 →
Continuity (2)
Continuation 10710387 · Jul 7, 2004
Related Publication 20090037909A1 · Feb 5, 2009