IP Library Granted Patent US 10,423,472
Granted Patent B2
US 10,423,472 · App. 15/597,779 · Granted Sep 24, 2019

System and method for providing extended javascript object notation (JSON) remote procedure call (RPC) with mediator

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 10,423,472
App. No.
15/597,779
Granted
Sep 24, 2019
Kind
B2
Abstract

Systems and methods for providing an extended JavaScript Object Notation (JSON) remote procedure call (RPC) with a mediator in a management software in a host computing device. The management software implements a mediator using the extended JSON RPC format to forward a request from a remote computing device to a device to perform a method. In operation, the management software receives the request from the remote computing device. Then the mediator converts the request to an extended JSON RPC request, which includes first properties for performing a method on a target device and second properties not for performing the method. The mediator may store the first and second properties based on the extended JSON RPC request for internal use. Then the mediator generates a command based on the first properties of the extended JSON RPC request, and sends the command to the target device to perform the method.

Claims (54)

1. A system, comprising:

a host computing device, comprising a processor and a storage device storing computer executable code, wherein the computer executable code, when executed at the processor, is configured to:

receive a request from a remote computing device;

in response to receiving the request,

convert the request to an extended JavaScript Object Notation (JSON) remote procedure call (RPC) request, wherein the extended JSON RPC request comprises first properties for performing a method on a target device and second properties not for performing the method;

store the first properties and the second properties based on the extended JSON RPC request;

generate a command to perform the method at the target device, based on the first properties of the extended JSON RPC request; and

send the command to the target device to perform the method at the target device;

receive, from the target device, a response based on the method being performed at the target device; and

in response to receiving the response,

convert the response to an extended JSON RPC response, wherein the extended JSON RPC response comprises third properties for generating a client response to the request and fourth properties not for generating the client response;

store the third properties and the fourth properties based on the extended JSON RPC response;

generate the client response based on the third properties of the extended JSON RPC response; and

send the client response to the remote computing device;

wherein the first properties comprise a method identification of the method, at least one parameter for performing the method, and a request identification.

2. The system of claim 1 , wherein the request is in an Extensible Markup Language (XML) format, and the command is a Java command.

3. The system of claim 1 , wherein the second properties comprise a device identification of the target device, a user identification, and a time stamp.

4. The system of claim 1 , wherein the response is a Java response, and the client response is in an Extensible Markup Language (XML) format.

5. The system of claim 1 , wherein the third properties comprise a result of performing the method, an error message of performing the method, and a response identification, wherein the response identification is identical to the request identification.

6. The system of claim 1 , wherein the host computing device is a baseboard management controller (BMC).

7. A method for providing an extended JavaScript Object Notation (JSON) Remote Procedure Call (RPC) with a mediator in a management software of a host computing device, comprising:

receiving, by the management software, a request from a remote computing device;

in response to receiving the request,

converting, by the management software, the request to an extended JSON RPC request, wherein the extended JSON RPC request comprises first properties for performing a method on a target device and second properties not for performing the method;

storing, at the management software, the first properties and the second properties based on the extended JSON RPC request;

generating, by the management software, a command to perform the method at the target device, based on the extended JSON RPC request; and

sending the command from the management software to the target device to perform the method at the target device;

receiving, by the management software from the target device, a response based on the method being performed at the target device; and

in response to receiving the response,

converting, by the management software, the response to an extended JSON RPC response, wherein the extended JSON RPC response comprises third properties for generating a client response to the request and fourth properties not for generating the client response,

storing, at the management software, the third properties and the fourth properties based on the extended JSON RPC response;

generating, by the management software, the client response based on the third properties of the extended JSON RPC response; and

sending the client response from the management software to the remote computing device;

wherein the first properties comprise a method identification of the method, at least one parameter for performing the method, and a request identification, and the second properties comprise a device identification of the target device, a user identification, and a time stamp.

8. The method of claim 7 , wherein the request is in an Extensible Markup Language (XML) format, and the command is a Java command.

9. The method of claim 7 , wherein the response is a Java response, and the client response is in an Extensible Markup Language (XML) format.

10. The method of claim 7 , wherein the third properties comprise a result of performing the method, an error message of performing the method, and a response identification, wherein the response identification is identical to the request identification.

11. A non-transitory computer readable medium storing computer executable code, wherein the computer executable code, when executed at a processor of a host computing device, is configured to:

receive a request from a remote computing device;

in response to receiving the request,

convert the request to an extended JavaScript Object Notation (JSON) remote procedure call (RPC) request, wherein the extended JSON RPC request comprises first properties for performing a method on a target device and second properties not for performing the method;

store the first properties and the second properties based on the extended JSON RPC request;

generate a command to perform the method at the target device, based on the first properties of the extended JSON RPC request; and

send the command to the target device to perform the method at the target device;

receive, from the device, a response based on the method being performed at the target device; and

in response to receiving the response,

convert the response to an extended JSON RPC response, wherein the extended JSON RPC response comprises third properties for generating a client response to the request and fourth properties not for generating the client response;

store the third properties and the fourth properties based on the extended JSON RPC response;

generate the client response based on the third properties of the extended JSON RPC response; and

send the client response to the remote computing device;

wherein the first properties comprise a method identification of the method, at least one parameter for performing the method, and a request identification, and the second properties comprise a device identification of the target device, a user identification, and a time stamp.

12. The non-transitory computer readable medium of claim 11 , wherein the request is in an Extensible Markup Language (XML) format, and the command is a Java command.

13. The non-transitory computer readable medium of claim 11 , wherein the response is a Java response, and the client response is in an Extensible Markup Language (XML) format.

14. The non-transitory computer readable medium of claim 11 , wherein the third properties comprise a result of performing the method, an error message of performing the method, and a response identification, wherein the response identification is identical to the request identification.

Assignments (5)
PATENT SECURITY AGREEMENT Recorded Oct 23, 2024
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: BAIN CAPITAL CREDIT, LP, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 069229/0834 →
RELEASE OF SECURITY INTEREST Recorded Oct 17, 2024
From: MIDCAP FINANCIAL TRUST
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 069205/0795 →
SECURITY INTEREST Recorded May 6, 2019
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: MIDCAP FINANCIAL TRUST, AS COLLATERAL AGENT
Reel/Frame 049087/0266 →
ENTITY CONVERSION Recorded Apr 15, 2019
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 049091/0973 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2017
From: REDDY, BAKKA RAVINDER; INBARAJ, JOSEPRABU; NETTEM, DIVYA
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 042414/0630 →