OS agnostic resource sharing across multiple computing platforms
First Claim
1. A method for sharing an input device across a plurality of computing platforms, comprising:
- asserting a first System Management Interrupt (SMI) at a first processor included in a first server blade;
switching an execution mode of the first processor included in the first server blade to a System Management Mode (SMM) in response to the first SMI;
in response to the first processor entering the SMM, initiating an out-of-band (OOB) communications channel between the first server blade and a second server blade, wherein initiating the OOB communications channel includes asserting a second SMI on a second processor included in the second server blade;
switching an execution mode of the second processor to the SMM in response to the second SMI;
routing input data generated at the first server blade to the second server blade over the OOB communications channel, said input data and said first SMI generated in response to receiving an input signal produced by an input device coupled to the first server blade; and
providing the input data to an operating system running on the second server blade, wherein routing input data to the first and second server blades and providing the input data to the operating system are performed via a first firmware and a second firmware on the first and second server blades, respectively, wherein the first and second firmware utilize an Extensible Firmware Interface (EFI) framework.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, apparatus, and systems for sharing resources across a plurality of computing platforms. Firmware provided on each platform is loaded for operating system runtime availability. Shared resources are presented to operating systems running on the platforms as local resources, while in reality they are generally hosted by other platforms. An operating system resource access request is received by a requesting platform and rerouted to another platform that actually hosts a target resource used to service the resource access request. Global resource maps are employed to determine the appropriate host platforms. Communications between the platforms is enabled via an out-of-band (OOB) communication channel or network. A hidden execution mode is implemented to effectuate data rerouting via the OOB channel such that the method is performed in a manner that is transparent to operating systems running on the platforms. The shared resources include storage, input, and video devices. The method can be used to support shared KVM (keyboard, video and mouse) resources.
-
Citations
31 Claims
-
1. A method for sharing an input device across a plurality of computing platforms, comprising:
-
asserting a first System Management Interrupt (SMI) at a first processor included in a first server blade; switching an execution mode of the first processor included in the first server blade to a System Management Mode (SMM) in response to the first SMI; in response to the first processor entering the SMM, initiating an out-of-band (OOB) communications channel between the first server blade and a second server blade, wherein initiating the OOB communications channel includes asserting a second SMI on a second processor included in the second server blade; switching an execution mode of the second processor to the SMM in response to the second SMI; routing input data generated at the first server blade to the second server blade over the OOB communications channel, said input data and said first SMI generated in response to receiving an input signal produced by an input device coupled to the first server blade; and providing the input data to an operating system running on the second server blade, wherein routing input data to the first and second server blades and providing the input data to the operating system are performed via a first firmware and a second firmware on the first and second server blades, respectively, wherein the first and second firmware utilize an Extensible Firmware Interface (EFI) framework. - View Dependent Claims (2, 3, 5, 6, 7, 15, 16)
-
-
4. A method for sharing keyboard, video and mouse resources across a plurality of computing platforms, comprising:
-
asserting a first System Management Interrupt (SMI) at a first processor included in a resource host server blade; switching an execution mode of the first processor included in the resource host server blade to a System Management Mode (SMM) in response to the first SMI; in response to the first processor entering the SMM, initiating an out-of-band (OOB) communications channel between the resource host server blade and a target computing platform, wherein initiating the OOB communications channel includes asserting a second SMI on a second processor included in the target computing platform; switching an execution mode of the second processor to the SMM in response to the second SMI; routing user input data produced at the resource host server blade in response to user inputs via a keyboard and mouse coupled to the resource host server blade to the target computing platform over the OOB communications channel, wherein the first SMI is generated in response to the user inputs; providing the user input data to an operating system running on the target computing platform, wherein routing user input data to the target computing platform and providing the user input data to the operating system running on the target computing platform are performed via a first firmware on the resource host server blade and a second firmware on the target computing platform, respectively, wherein the first and second firmware utilize an Extensible Firmware Interface (EFI) framework; routing video data produced by an operating system running on the target server blade to the resource host server blade; and processing the video data at the resource host server blade to generate a video display signal to drive a video display coupled to the resource host server blade. - View Dependent Claims (8, 9, 10, 11)
-
-
12. An article of manufacture comprising a machine-readable medium having instructions stored thereon, which when executed on first and second server blades support sharing of keyboard, video and mouse resources coupled to the first server blade by performing operations including:
-
asserting a first System Management Interrupt (SMI) at a first processor included in a first server blade; switching an execution mode of the first processor included in the first server blade to a System Management Mode (SMM) in response to the first SMI; in response to the first processor entering the SMM, initiating an out-of-band (OOB) communications channel between the first server blade and a second server blade, wherein initiating the OOB communications channel includes asserting a second SMI on a second processor included in the second server blade; switching an execution mode of the second processor to the SMM in response to the second SMI; routing input data produced at the first server blade in response to user inputs via the keyboard and mouse to the second server blade over the OOB communications channel, wherein the first SMI is generated in response to the user inputs; providing the input data to an operating system running on the second server blade; and routing video data produced by the operating system running on the second server blade to a video signal generation component on the first server blade, wherein routing input data produced at the first server blade to the second server blade and providing the input data to the operating system running on the second server blade are performed via a first firmware and a second firmware on the first and second server blades, respectively, wherein the first and second firmware utilize an Extensible Firmware Interface (EFI)framework. - View Dependent Claims (13, 14)
-
-
17. A method for sharing resources across a plurality of computing platforms, the method comprising:
- receiving a request for a first server blade to access a shared resource hosted by a second server blade;
using first firmware located at the first server blade, determining the second server blade via which the shared resource may be accessed, wherein the first firmware implements an Extensible Firmware Interface (EFI) framework;
asserting a first System Management Interrupt (SMI) at a first processor included in the first server blade;
switching an execution mode of the first processor included in the first server blade to a System Management Mode (SMM) in response to the first SMI;
entering the System Management Mode (SMM) at the first server blade;
in response to entering the SMM, initiating an out-of-band (OOB) communications channel between the first server blade and the second server blade;
wherein initiating the OOB communications channel includes asserting a second SMI on a second processor included in the second server blade;
switching an execution mode of the second processor to the SMM in response to the second SMI;
entering the System Management Mode (SMM) at the second server blade;
sending the request to the second server blade from the first server blade over the OOB communications channel; and
using second firmware located at the second server blade, accessing the shared resource, wherein the second firmware implements the EFI framework. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
- receiving a request for a first server blade to access a shared resource hosted by a second server blade;
-
26. A method for sharing a plurality of storage devices across a plurality of computing platforms, the method comprising:
-
configuring the plurality of storage devices as a virtual storage volume; maintaining a global resource map that maps input/output (I/O) blocks defined for the virtual storage volume to corresponding storage devices that actually host the I/O blocks;
receiving a data access request identifying an I/O block from which data are to be accessed via the virtual storage volume wherein the request is for a first server blade to access the data;
using first firmware located at the first server blade, identifying a second server blade via which a target storage device that actually hosts the I/O block may be accessed through use of the global resource map, wherein the first firmware implements an Extensible Firmware Interface (EFI) framework;
asserting a first System Management Interrupt (SMI) at a first processor included in the first server blade;switching an execution mode of the first processor included in the first server blade to a System Management Mode (SMM) in response to the first SMI;
entering the System Management Mode (SMM) at the first server blade;
in response to entering the SMM, initiating an out-of-band (OOB) communications channel between the first server blade and the second server blade;
wherein initiating the OOB communications channel includes asserting a second SMI on a second processor included in the second server blade;
switch SMI an execution mode of the second processor to the SMM in response to the second SMI;
entering the System Management Mode (SMM) at the second server blade;
routing the data access request to the second server blade that is identified, the data access request being routed from the first server blade to the second server blade over the OOB communications channel; and
using second firmware located at the second server blade, accessing the I/O block on the target storage device, wherein the second firmware implements the EFI framework. - View Dependent Claims (27, 28)
-
-
29. A blade server system, comprising:
a chassis, including a plurality of slots in which respective server blades may be inserted;
an interface plane having a plurality of connectors for mating with respective connectors on inserted server blades and providing communication paths between the plurality of connectors to facilitate in out of band (OOB) communication channel; and
a plurality of server blades, each including a processor and firmware executable thereon to perform operations including;
receive a resource access request from an operating system running on a requesting server blade to access a shared resource hosted by at least a second server blade selected from among the plurality of server blades;
using first firmware located at the first server blade, determining a target resource host from among the plurality of server blades that hosts a target resource that may service the resource access request, wherein the first firmware implements an Extensible Firmware Interface (EFI) framework;
asserting a first System Management Interrupt (SMI) at a first processor included in the first server blade;
switching an execution mode of the first processor included in the first server blade to a System Management Mode (SMM) in response to the first SMI;
entering the System Management Mode (SMM) at the first server blade;
in response to entering the SMM, initiating an out-of-band (OOB) communications channel between the first server blade and the second server blade;
wherein initiating the OOB communications channel includes asserting a second SMI on a second processor included in the second server blade;
switching an execution mode of the second processor to the SMM in response to the second SMI;
entering the System Management Mode (SMM) at the second server blade;
sending the resource access request to the target resource host, the resource access request being sent from the first server blade to the second server blade over the OOB communications channel; and
using second firmware located at the second server blade, accessing the target resource via the target resource host to service the resource access request, wherein the second firmware implements the EFI framework.- View Dependent Claims (30, 31)
Specification