IP Library Granted Patent US 8,589,918
Granted Patent B1
US 8,589,918 · App. 12/052,708 · Granted Nov 19, 2013

Multi-platform compatible portable virtual machine player

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,589,918
App. No.
12/052,708
Granted
Nov 19, 2013
Kind
B1
Abstract

Systems and methods for detecting, selecting and running environments on a host device is provided. In general, in one aspect, a computer implemented method is provided. The computer implemented method includes detecting a device including a plurality of platform specific virtual machine monitors, identifying a virtual machine monitor that is compatible with a specified platform; and enabling a launch of the identified virtual machine monitor on the specified platform. In another aspect, a computer implemented method includes detecting a first device including one or more environments, launching an application on a second device, and using the application to collect a list of stacks, collect a list of environments, and determine environments capable of running on a stack. The method further includes receiving a selection of an environment and a stack, and running the selected environment on the selected stack.

Claims (44)

1. A method comprising:

detecting a first device being attached to a second device, the first device including one or more environments, two or more stacks, and one or more decider applications, wherein each decider application is capable of executing on one or more operating systems;

selecting a decider application from the one or more decider applications based on the operating system of the second device;

launching the selected decider application on the second device;

the selected decider application collecting a list of two or more stacks, the two or more stacks on the list being located on either the first device or on the second device, and being capable of running on the operating system of the second device;

the selected decider application collecting a list of environments located on either the first device or on the second device;

the selected decider application determining which environments from the list of environments are capable of being mounted on which stacks from the list of two or more stacks;

presenting information which indicates which environments from the list of environments are capable of being mounted on which stacks from the list of two or more stacks;

receiving a selection of an environment and a stack, wherein the selected environment is capable of being mounted on the selected stack;

running the selected stack on the operating system of the second device; and

mounting the selected environment.

2. The method of claim 1 , wherein the decider application automatically selects a stack and then collects a list of environments capable of being mounted on the selected stack.

3. The method of claim 1 , wherein the first device is a portable device and the second device is a host device.

4. The method of claim 1 , wherein the stacks include Virtual Machine Monitor stacks and Operating System Application Program Interface stacks.

5. The method of claim 4 , wherein when a Virtual Machine Monitor stack is selected, a Virtual Machine mounts the selected environment.

6. A non-transitory computer-readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method, the method comprising:

detecting a first device being attached to a second device, the first device including one or more environments, two or more stacks, and one or more decider applications, wherein each decider application is capable of executing on one or more operating systems;

selecting a decider application from the one or more decider applications based on the operating system of the second device;

launching the selected decider application on the second device;

the selected decider application collecting a list of two or more stacks, the two or more stacks on the list being located on either the first device or on the second device, and being capable of running on the operating system of the second device;

the selected decider application collecting a list of environments located on either the first device or on the second device;

the selected decider application determining which environments from the list of environments are capable of being mounted on which stacks from the list of two or more stacks;

presenting information which indicates which environments from the list of environments are capable of being mounted on which stacks from the list of two or more stacks;

receiving a selection of an environment and a stack, wherein the selected environment is capable of being mounted on the selected stack;

running the selected stack on the operating system of the second device; and

mounting the selected environment.

7. The non-transitory computer-readable storage medium of claim 6 , wherein the decider application automatically selects a stack and then collects a list of environments capable of being mounted on the selected stack.

8. The non-transitory computer-readable storage medium of claim 6 , wherein the stacks include Virtual Machine Monitor stacks and Operating System Application Program Interface stacks.

9. The non-transitory computer-readable storage medium of claim 8 , wherein when a Virtual Machine Monitor stack is selected, a Virtual Machine mounts the selected environment.

10. An apparatus comprising:

a processor;

a detection mechanism configured to detect a first device being attached to a second device, the first device including one or more environments, two or more stacks, and one or more decider applications, wherein each decider application is capable of executing on one or more operating systems;

a selecting mechanism configured to select a decider application from the one or more decider applications based on the operating system of the second device;

a launching mechanism configured to launch the selected decider application on the second device;

wherein the selected decider application collects a list of two or more stacks, the two or more stacks on the list being located on either the first device or on the second device, and being capable of running on the operating system of the second device;

wherein the selected decider application collects a list of environments located on either the first device or on the second device;

wherein the selected decider application determines which environments from the list of environments are capable of being mounted on which stacks from the list of two or more stacks;

a presenting mechanism configured to present information which indicates which environments from the list of environments are capable of being mounted on which stacks from the list of two or more stacks;

a receiving mechanism configured to receive a selection of an environment and a stack, wherein the selected environment is capable of being mounted on the selected stack;

a running mechanism configured to run the selected stack on the operating system of the second device; and

a mounting mechanism configured to mount the selected environment.

11. The apparatus of claim 10 , wherein the decider application automatically selects a stack and then collects a list of environments capable of being mounted on the selected stack.

12. The apparatus of claim 10 , wherein the stacks include Virtual Machine Monitor stacks and Operating System Application Program Interface stacks.

13. The apparatus of claim 12 , wherein when a Virtual Machine Monitor stack is selected, a Virtual Machine mounts the selected environment.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE PATENT ASSIGNMENT AGREEMENT DATED NOVEMBER 30, 2021 PREVIOUSLY RECORDED AT REEL: 058426 FRAME: 0791. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2022
From: OPEN INVENTION NETWORK LLC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058736/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2021
From: OPEN INVENTION NETWORK LLC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058426/0791 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2015
From: MOKA5, INC.
To: OPEN INVENTION NETWORK, LLC
Reel/Frame 036529/0800 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2009
From: SAPUNTZAKIS, CONSTANTINE P.; LAM, MONICA SIN-LING
To: MOKA5, INC.
Reel/Frame 023241/0815 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2008
From: SAPUNTZAKIS, CONSTANTINE P.; LAM, MONICA SIN-LING
To: MOKA5, INC.
Reel/Frame 021021/0198 →