IP Library Granted Patent US 8,316,377
Granted Patent B2
US 8,316,377 · App. 11/851,306 · Granted Nov 20, 2012

Sharing legacy devices in a multi-host environment

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,316,377
App. No.
11/851,306
Granted
Nov 20, 2012
Kind
B2
Abstract

Systems and methods of sharing legacy devices in a multi-host environment are disclosed. An exemplary method for sharing legacy devices in a multi-host environment includes receiving device information from a legacy device, the device information identifying a target within a virtual machine. The method also includes encapsulating the device information into a corresponding bus transaction for a network switch fabric. The method also includes routing the bus transaction over the network switch fabric in the virtual machine to a host within the virtual machine.

Claims (31)

1. A method for sharing legacy devices as virtual legacy devices in a multi-host environment, comprising:

binding an instance of a legacy device between compute node gateways and a management node gateway with a descriptor block created and actively running with an associated software emulator driver;

receiving device information from the legacy device, the device information identifying a target host within a virtual machine;

encapsulating the device information into a corresponding bus transaction for a network switch fabric having a plurality of switches;

initializing the network switch fabric so that data packets are routed through redundant paths identified through the plurality of switches during initializing, wherein after a valid configuration cycle all ports not yet coupled are identified as secondary ports, wherein if at least one port has not been identified as a secondary port, a path is designated as an active path within the bus hierarchy, and if both ports have been identified as secondary ports, the path is designated as a redundant or alternate path; and

routing the bus transaction over the network switch fabric in the virtual machine through paths identified during initializing to the target host within the virtual machine.

2. The method of claim 1 , further comprising unencapsulating the device information after being received at the target host memory space.

3. The method of claim 1 , further comprising virtualizing the legacy device in the virtual machine.

4. The method of claim 1 , wherein the legacy device is a keyboard, video, or mouse device controller.

5. The method of claim 1 , wherein the legacy device is system ROM mapped into the RAM space of a management node.

6. The method of claim 1 , wherein the legacy device is an extensible firmware interface (ER).

7. The method of claim 1 , wherein the legacy device is not configured for sharing among a plurality of hosts.

8. The method of claim 1 , wherein the legacy device is represented completely in software.

9. The method of claim 1 , further comprising adding host partitions to the multi-host environment without having to add legacy devices to support the additional host partitions.

10. The method of claim 1 , further comprising propagating a subsequent valid configuration cycle to each of the plurality of switches coupled to secondary ports, and reporting port configuration as primary or secondary to ports of other switches to which a port is coupled.

11. A multi-host environment with shared legacy devices, comprising:

a management node communicatively coupled to a legacy device, the management node receiving device information from the legacy device;

a gateway in the management node configured to virtualize a legacy device header space into a virtual machine and encapsulate the virtual device information into a corresponding bus transaction;

a gateway in a compute note configured to virtualize the legacy device header for a host OS; and

a network switch fabric for routing the bus transaction to a target host within the virtual machine, the network switch fabric initialized by each of a plurality of switches designating ports and paths between the plurality of switches as active and alternate, wherein if at least one of the ports has not been identified as an alternate port, a corresponding path is designated as an active path, and if more than one of the ports have been identified as alternate ports, the corresponding path is designated as a redundant path.

12. The multi-host environment of claim 11 , wherein the device information identifies the target host within the virtual machine.

13. The multi-host environment of claim 11 , further comprising a gateway at the target host for receiving the bus transaction.

14. The multi-host environment of claim 13 , wherein the gateway at the target host unencapsulates and remaps the target address into a unique memory space pre-allocated for the legacy device information for processing at the target host.

15. The multi-host environment of claim 14 , wherein information at the gateway travels in both directions from a virtual machine OS to the legacy device and from the legacy device to the virtual machine OS in response to a request from the virtual machine OS.

16. The multi-host environment of claim 13 , wherein the target host comprises a CPU node.

17. The multi-host environment of claim 11 , wherein the legacy device is virtualized in the virtual machine.

18. The multi-host environment of claim 11 , wherein the legacy device is a keyboard, video, or mouse device.

19. The multi-host environment of claim 11 , wherein the legacy device is ROM.

20. The multi-host environment of claim 11 , wherein the legacy device is configured at least in part in the management node as a single-host device but operates as a virtual legacy device in the virtual machine.

21. The multi-host environment of claim 11 , wherein host partitions can be added without having to add legacy devices on a one-to-one basis to support the additional host partitions.

22. The multi-host environment of claim 11 , wherein the gateway in the compute note and the gateway in the management node each provides an abstraction layer for each node to communicate with components of other nodes without having to interact directly with the network switch fabric so that legacy devices on the management node are visible to the compute node as independent and discrete devices.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 055360/0424 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2007
From: RILEY, DWGHT D.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 019806/0232 →