IP Library Granted Patent US 8,601,470
Granted Patent B2
US 8,601,470 · App. 11/970,479 · Granted Dec 3, 2013

Symbiotic smart peripherals

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,601,470
App. No.
11/970,479
Granted
Dec 3, 2013
Kind
B2
Abstract

Systems and methods for augmenting the functionality of a device using a virtual machine monitor is provided. In general, in one aspect, a computer implemented method is provided. The computer implemented method includes launching a virtual machine monitor on a host device and for a peripheral device. The virtual machine monitor comprises one or more software components capable of performing actions including connecting a peripheral device to a host device, where the peripheral device memory includes peripheral device specific software and one or more available software bundles. The software components can launch the virtual machine monitor for the peripheral device and execute the peripheral device-specific software and an available software bundle on the host device. In one implementation, the computer implemented method includes connecting a peripheral device to a host device, where the peripheral device memory includes peripheral device-specific software that is executed on the host device.

Claims (46)

1. A method comprising:

connecting a peripheral device to a host device through an interface, the peripheral device having memory including multiple software components, each software component operable to perform a function associated with the peripheral device;

launching a virtual machine monitor for the peripheral device, the virtual machine monitor being launched on the host device;

identifying one or more host device capabilities;

generating a list of use cases available at the peripheral device based on said identifying, wherein the use cases are associated with the launched virtual machine monitor;

presenting the list of use cases to a user at the host device;

receiving a selection of a use case from the user;

providing, at the host device, a set of software components from the peripheral device, wherein the provided set is associated with the selected use case; and

executing, by the virtual machine monitor, the provided set of software components on the host device, thereby enabling the selected use case at the host device.

2. The method of claim 1 , wherein providing the set of software components further involve:

identifying the set of software components in the peripheral device based on the identified one or more host device capabilities.

3. The method of claim 1 , further comprising actions including:

identifying and updating one or more software components stored in the peripheral device.

4. The method of claim 1 , further comprising actions including:

storing user-specific content and configuration data on the peripheral device.

5. A system comprising:

an interface operable for coupling to a removable peripheral device;

a processor; and

a memory for storing instructions, which when executed by the processor, causes the processor to perform operations comprising:

launching a virtual machine monitor for the peripheral device, the virtual machine monitor being launched on the host device;

identifying one or more host device capabilities;

generating a list of use cases available at the peripheral device based on said identifying, wherein the use cases are associated with the launched virtual machine monitor;

presenting the list of use cases to a user at the host device;

receiving a selection of a use case from the user;

providing, at the hos device, a set of software components from the peripheral device, wherein the provided set is associated with the selected use case; and

executing, by the virtual machine monitor, the provided set of software components on the host device, thereby enabling the selected use case at the host device.

6. The system of claim 5 , wherein providing the set of software components further involves:

identifying the set of software components in the peripheral device based on the identified one or more host device capabilities.

7. The system of claim 5 , further comprising actions including:

identifying and updating one or more software components stored in the peripheral device.

8. The system of claim 5 , further comprising actions including:

storing user-specific content and configuration data on the peripheral device.

9. A computer-program product tangibly embodied on a non-transitory computer-readable medium for storing instructions, which when executed by a processor of a host device, causes the processor to perform operations comprising:

launching a virtual machine monitor for the peripheral device, the virtual machine monitor being launched on the host device;

identifying one or more host device capabilities;

generating a list of use cases available at the peripheral device based on said identifying, wherein the use cases are associated with the launched virtual machine monitor;

presenting the list of use cases to a user at the host device;

receiving a selection of a use case from the user;

providing, at the host device, a set of software components from the peripheral device, wherein the provided set is associated with the selected use case; and

executing, by the virtual machine monitor, the provided set of software components on the host device, thereby enabling the selected use case at the host device.

10. The computer-program product of claim 9 , wherein providing the set of software components further involves:

identifying the set of software components in the peripheral device based on the identified one or more host device capabilities.

11. The computer-program product of claim 9 , further comprising actions including:

identifying and updating one or more software components stored in the peripheral device.

12. The computer-program product of claim 9 , further comprising actions including:

storing user-specific content and configuration data on the peripheral device.

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 2, 2009
From: YUE, KEVIN; LAM, MONICA SIN-LING; PURTELL, THOMAS J., II
To: MOKA5, INC.
Reel/Frame 023185/0683 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2008
From: YUE, KELVIN KAM-SUEN; LAM, MONICA SIN-LING; PURTELL II, THOMAS J.
To: MOKA5, INC.
Reel/Frame 020343/0871 →