IP Library Granted Patent US 9,507,579
Granted Patent B2
US 9,507,579 · App. 14/242,667 · Granted Nov 29, 2016

Interface for translating software commands and hardware commands for a distributed computing system

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,507,579
App. No.
14/242,667
Granted
Nov 29, 2016
Kind
B2
Abstract

In one embodiment, a method receives a software command from a software element in a main computer at a management computer via an application programming interface (API) included in the management computer. The management computer manages the main computer, and the main computer controls services for a distributed computing system. The management computer then determines a hardware device associated with the software command where the management computer includes a communication pathway to the hardware device. The management computer translates the software command to a hardware command that the hardware device can process where the hardware device cannot process the software command. Then, the management computer sends the hardware command to the hardware device via the communication pathway where the management computer provides the API to allow the software element to communicate with the hardware element without the software element having to translate the software command to the hardware command.

Claims (53)

1. A method comprising:

receiving, by a computing device, a software command from a software element in a main computer at a management computer of the computing device via an application programming interface (API) included in the management computer, wherein the management computer manages the main computer, and the main computer controls services for a distributed computing system;

determining, by the management computer, a hardware element associated with the software command, wherein the management computer comprises a communication pathway to the hardware element;

translating, by the management computer, the software command to a hardware command that the hardware element can process, wherein the hardware element cannot process the software command; and

sending, by the management computer, the hardware command to the hardware element via the communication pathway, wherein the management computer provides the API to allow the software element to communicate with the hardware element without the software element having to translate the software command to the hardware command,

wherein the management computer includes a plurality of communication pathways to a plurality of hardware elements that communicate in different hardware protocols, and

wherein the management computer is capable of translating from the different hardware protocols to software commands using the API.

2. The method of claim 1 , wherein the software command is received at the management computer via a remote procedure call from the main computer.

3. The method of claim 1 , wherein sending the hardware command comprises:

sending, by the management computer, the hardware command to the hardware element via a bus coupled to the management computer.

4. The method of claim 1 , wherein sending the hardware command comprises:

sending, by the management computer, the hardware command to an internal switch, wherein the internal switch sends the hardware command to the hardware element.

5. The method of claim 4 , further comprising:

sending the hardware command to a microcontroller configured to send the hardware command to the hardware element, wherein the microcontroller communicates with the hardware element using a hardware protocol for communicating with hardware elements different from a software protocol associated with the software command.

6. The method of claim 1 , wherein the API comprises a hypertext transfer protocol (HTTP) API configured to receive HTTP requests from the main computer.

7. The method of claim 1 , further comprising:

receiving, by the management computer, a second hardware command from the hardware element;

determining, by the management computer, a second software element associated with the second hardware command;

translating, by the management computer, the second hardware command to a second software command; and sending, by the management computer, the second software command to the second software element in the main computer via the API.

8. The method of claim 1 , wherein:

the management computer includes a first operating system,

the main computer includes a second operating system, and

the management computer is capable of hosting the API on the first operating system.

9. An apparatus comprising:

one or more computer processors; and

a non-transitory computer-readable storage medium comprising instructions, that when executed, control the one or more computer processors to be configured for:

receiving a software command from a software element in a main computer at a management computer via an application programming interface (API) included in the management computer, wherein the management computer manages the main computer, and the main computer controls services for a distributed computing system;

determining, by the management computer, a hardware element associated with the software command, wherein the management computer comprises a communication pathway to the hardware element;

translating, by the management computer, the software command to a hardware command that the hardware element can process, wherein the hardware element cannot process the software command; and

sending, by the management computer, the hardware command to the hardware element via the communication pathway, wherein the management computer provides the API to allow the software element to communicate with the hardware element without the software element having to translate the software command to the hardware command,

wherein the management computer includes a plurality of communication pathways to a plurality of hardware elements that communicate in different hardware protocols, and the management computer is capable of translating from the different hardware protocols to software commands using the API.

10. The apparatus of claim 9 , wherein the software command is received at the management computer via a remote procedure call from the main computer.

11. The apparatus of claim 9 , wherein sending the hardware command comprises:

sending, by the management computer, the hardware command to the hardware element via a bus coupled to the management computer.

12. The apparatus of claim 9 , wherein sending the hardware command comprises:

sending, by the management computer, the hardware command to an internal switch, wherein the internal switch sends the hardware command to the hardware element.

13. The apparatus of claim 12 , further comprising:

sending the hardware command to a microcontroller configured to send the hardware command to the hardware element, wherein the microcontroller communicates with the hardware element using a hardware protocol for communicating with hardware elements different from a software protocol associated with the software command.

14. The apparatus of claim 9 , wherein the API comprises a hypertext transfer protocol (HTTP) API configured to receive HTTP requests from the main computer.

15. The apparatus of claim 9 , further configured for:

receiving, by the management computer, a second hardware command from the hardware element;

determining, by the management computer, a second software element associated with the second hardware command;

translating, by the management computer, the second hardware command to a second software command; and sending, by the management computer, the second software command to the second software element in the main computer via the API.

16. The apparatus of claim 9 , wherein:

the management computer includes a first operating system,

the main computer includes a second operating system, and

the management computer is capable of hosting the API on the first operating system.

17. A non-transitory computer-readable storage medium containing instructions, that when executed, control a computer system to be configured for:

receiving a software command from a software element in a main computer at a management computer via an application programming interface (API) included in the management computer, wherein the management computer manages the main computer, and the main computer controls services for a distributed computing system;

determining, by the management computer, a hardware element associated with the software command, wherein the management computer comprises a communication pathway to the hardware element;

translating, by the management computer, the software command to a hardware command that the hardware element can process, wherein the hardware element cannot process the software command; and

sending, by the management computer, the hardware command to the hardware element via the communication pathway, wherein the management computer provides the API to allow the software element to communicate with the hardware element without the software element having to translate the software command to the hardware command,

wherein the management computer includes a plurality of communication pathways to a plurality of hardware elements that communicate in different hardware protocols, and the management computer is capable of translating from the different hardware protocols to software commands using the API.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2018
From: OC ACQUISITION LLC
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 044743/0539 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2015
From: NEBULA, INC.
To: OC ACQUISITION LLC
Reel/Frame 035721/0158 →
RELEASE OF SECURITY INTEREST Recorded May 27, 2015
From: SILICON VALLEY BANK
To: NEBULA, INC.
Reel/Frame 035725/0872 →
SECURITY INTEREST Recorded Mar 24, 2015
From: NEBULA, INC.
To: SILICON VALLEY BANK
Reel/Frame 035241/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2014
From: GAMBARDELLA, MATTHEW; HECK, JOE; MCMILLAN, PAUL
To: NEBULA, INC.
Reel/Frame 033340/0252 →