IP Library Granted Patent US 9,483,285
Granted Patent B2
US 9,483,285 · App. 13/741,884 · Granted Nov 1, 2016

Systems and methods of optimizing resources for emulation

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,483,285
App. No.
13/741,884
Granted
Nov 1, 2016
Kind
B2
Abstract

Methods and systems for providing an emulation session to emulate a computer product for a host device. A method and system involve providing a communication link between the host device and an emulation bridge module provided on an emulation server separate from the host device; providing a host resource library file including a list of the plurality of resources available on the host device to the emulation bridge module; operating the emulation bridge module to determine emulation session resources required to provide the emulation session; selecting at least one of the host device and the emulation server for providing each required emulation session resource in the emulation session resources required to provide the emulation session; and providing the emulation session using the required emulation session resources provided by at least one of the host device and the emulation server.

Claims (66)

1. A method of providing an emulation session to emulate a computer product for a host device, the host device comprising a host processor and a plurality of host resources, the method comprising:

a) providing a communication link between the host device and an emulation bridge module provided on an emulation server separate from the host device, the emulation server comprising a server storage module and a server processor;

b) providing a host resource library file including a list of the plurality of resources available on the host device to the emulation bridge module;

c) operating the emulation bridge module to determine a plurality of emulation session resources required to provide the emulation session;

d) selecting at least one of the host device and the emulation server for providing each required emulation session resource in the plurality of emulation session resources required to provide the emulation session, the step of selecting including

in response to determining a required emulation session resource corresponds to a resource listed in the host resource library file, selecting the host device for providing the required emulation session resource; and

in response to determining a required emulation session resource does not correspond to a resource listed in the host resource library file, selecting the emulation server for providing the required emulation session resource; and

e) providing the emulation session using the plurality of required emulation session resources provided by at least one of the host device and the emulation server.

2. The method of claim 1 , wherein the plurality of host resources comprises at least one of a hardware component and a software component.

3. The method of claim 1 , wherein a) further comprises

providing a host bridge module on the host device, the host bridge module being configured to operate the host processor to generate the host resource library file; and

communicating the host resource library file from the host bridge module to the emulation bridge module.

4. The method of claim 3 , wherein a) further comprises

providing a user selection list comprising at least one or more of the plurality of host resources, the user selection list comprising at least one of a hardware component and a software component;

communicating the user selection list to a host device user using a host device user interface; and

receiving feedback from the host device user regarding each resource in the user selection list, the feedback indicating whether or not to include that resource in the host resource library file.

5. The method of claim 3 , wherein d) further comprises providing a selected host resource list to the host bridge module, the selected host resource list corresponding to a list of resources selected to be provided by the host device for the emulation session.

6. The method of claim 5 , wherein d) further comprises:

prioritizing access to the communication link between resources in the selected host resource list; and

providing at least one resource in the selected host resource list with a highest access priority to the communication link, the highest access priority enabling the at least one resource to gain substantially immediate access to the communication link.

7. The method of claim 1 , wherein at least one emulation session resource is selected from the host resource library file.

8. The method of claim 1 further comprising receiving, at the emulation bridge module, a request for the emulation session to emulate the selected computer product.

9. The method of claim 1 , wherein the emulation server is remote from the host device.

10. The method of claim 9 , wherein a) comprises establishing the communication link between the emulation server and the host device over the Internet.

11. A system for providing an emulation session to emulate a computer product for a host device, the host device comprising a host processor and a plurality of host resources, the system comprising:

a host bridge module for installing on the host device, the host bridge module being configured to operate the host processor when installed on the host device, to provide a host resource library file including a list of the plurality of resources available on the host device; and

at least one emulation server comprising an emulation bridge module, a server storage module and a server processor; the at least one emulation server being separate from the host device and being configured to:

determine a plurality of emulation session resources required to provide the emulation session;

receive the host resource library file from the host bridge module via a communication link between the host device and the at least one emulation server;

select at least one of the host device and the at least one emulation server for providing each required emulation session resource in the plurality of emulation session resources required to provide the emulation session;

in response to determining a required emulation session resource corresponds to a resource listed in the host resource library file, select the host device for providing the required emulation session resource;

in response to determining a required emulation session resource does not correspond to a resource listed in the host resource library file, select the emulation server for providing the required emulation session resource; and

provide the emulation session using the plurality of required emulation session resources provided by at least one of the host device and the at least one emulation server.

12. The system of claim 11 , wherein the plurality of host resources comprises at least one of a hardware component and a software component.

13. The system of claim 11 , wherein, when installed on the host device, the host bridge module is further configured to:

operate the host processor to generate the host resource library file; and

communicate the host resource library file to the emulation bridge module.

14. The system of claim 13 , wherein, when installed on the host device, the host bridge module is further configured to:

provide a user selection list comprising at least one or more of the plurality of host resources, the user selection list comprising at least one of a hardware component and a software component;

communicate the user selection list to a host device user using a host device user interface; and

receive feedback from the host device user regarding each resource in the user selection list, the feedback indicating whether or not to include that resource in the host resource library file.

15. The system of claim 13 , wherein the emulation bridge module is configured to provide a selected host resource list to the host bridge module installed on the host device, the selected host resource list corresponding to a list of resources selected to be provided by the host device for the emulation session.

16. The system of claim 15 , wherein, when installed on the host device, the host bridge module is further configured to:

prioritize access to the communication link between resources in the selected host resource list; and

provide at least one resource in the selected host resource list with a highest access priority to the communication link, the highest access priority enabling the at least one resource to gain substantially immediate access to the communication link.

17. The system of claim 11 , wherein at least one emulation session resource is selected from the host resource library file.

18. The system of claim 11 , wherein the emulation bridge module is configured to receive a request for the emulation session to emulate the selected computer product.

19. The system of claim 11 , wherein the at least one emulation server is remote from the host device.

20. The system of claim 19 , wherein the communication link between the at least one emulation server and the host device is provided over the Internet.

21. A method of providing an emulation session to emulate a computer product using at least one host resource of a plurality of host resources on a host device, the host device comprising a host processor, the method comprising:

a) providing a host resource library file including a list of the plurality of resources available on the host device to an emulation server separate from the host device, the emulation server providing the emulation session;

b) receiving, from the emulation server, a selected host resource list, the selected host resource list corresponding to a list of resources selected by the emulation server from the host resource library file to be provided by the host device for the emulation session; and

c) in response to receiving the selected host resource list, determining whether the selected host resource list comprises at least one resource, and in response to determining the selected host resource list comprises the at least one resource, enabling each host resource in the plurality of host resources corresponding to a resource in the selected host resource list to be accessible by the emulation server to provide the emulation session, otherwise, receiving the emulation session via the emulation server.

22. A host device providing at least one host resource for an emulation session to emulate a computer product provided by an emulation server, the emulation server being separate from the host device, the host device comprising:

a host processor;

a plurality of host resources comprising at least one of a hardware component and a software component; and

a host bridge module configured to:

provide a host resource library file including a list of the plurality of host resources available on the host device to the emulation server;

receive, from the emulation server, a selected host resource list, the selected host resource list corresponding to a list of resources selected by the emulation server from the host resource library file to be provided by the host device for the emulation session; and

in response to receiving the selected host resource list, determining whether the selected host resource list comprises at least one resource, and in response to determining the selected host resource list comprises the at least one resource, enable each host resource in the plurality of host resources corresponding to a resource in the selected host resource list to be accessible by the emulation server to provide the emulation session, otherwise, receive the emulation session via the emulation server.

23. The method of claim 1 wherein the selecting at least one of the host device and the emulation server for providing each required emulation session resource in the plurality of emulation session resources required to provide the emulation session, the step of selecting including

in response to determining a required emulation session resource corresponds to a resource listed in the host resource library file, selecting the host device for providing the required emulation session resource; and

in response to determining a required emulation session resource does not correspond to a resource listed in the host resource library file, selecting the emulation server for providing the required emulation session resource;

further comprises,

for at least one required emulation session resource in the plurality of emulation session resources, determining the required emulation session resource corresponds to a resource listed in the host resource library file, and then selecting the host device to provide the resource listed in the host resource library file as the at least one required emulation session resource; and

for at least one additional required emulation session resource in the plurality of emulation session resources, determining the additional required emulation session resource does not corresponds to any resource listed in the host resource library file and then selecting the emulation server for providing the at least one additional required emulation session resource.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2018
From: FBC HOLDINGS S.A R.L
To: V3 SYSTEMS HOLDINGS, INC.; OVERLAND STORAGE, INC.; SPHERE 3D CORP; SPHERE 3D, INC.
Reel/Frame 047552/0407 →
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2018
From: FBC HOLDINGS S.A R.L
To: SPHERE 3D CORP; SPHERE 3D INC.; V3 SYSTEMS HOLDINGS, INC.; OVERLAND STORAGE, INC.
Reel/Frame 047605/0027 →
SECURITY INTEREST Recorded Aug 28, 2017
From: OVERLAND STORAGE, INC.; SPHERE 3D CORP.; SPHERE 3D INC.; V3 SYSTEMS HOLDINGS, INC.
To: OPUS BANK
Reel/Frame 043424/0318 →
SECURITY INTEREST Recorded Sep 22, 2016
From: SPHERE 3D CORP.; SPHERE 3D, INC.; V3 SYSTEMS HOLDINGS, INC.; OVERLAND STORAGE, INC.
To: FBC HOLDINGS S.A.R.L.
Reel/Frame 039831/0567 →
SECURITY INTEREST Recorded Apr 18, 2016
From: SPHERE 3D CORP.; SPHERE 3D, INC.; V3 SYSTEMS HOLDINGS, INC.; OVERLAND STORAGE, INC.
To: OPUS BANK
Reel/Frame 038306/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2013
From: MORELLI, GIOVANNI, JR.
To: SPHERE 3D INC.
Reel/Frame 030583/0794 →