IP Library Granted Patent US 10,305,734
Granted Patent B2
US 10,305,734 · App. 15/093,502 · Granted May 28, 2019

Method, system, and program storage device for customization of services in an industrial internet of things

Inventors: Richard Dost (Alameda, CA); Eric Steele (San Ramon, CA)
Assignee: GENERAL ELECTRIC COMPANY
H04L41/082H04L67/12H04L67/125H04W4/70
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,305,734
App. No.
15/093,502
Granted
May 28, 2019
Kind
B2
Abstract

A system includes at least one hardware processor and a memory storing a plurality of service configurations and a plurality of configuration programs, including a first configuration program, and a first service configuration identifying at least one conditional element and the first configuration program. The system also includes a customization engine configured to receive a REST call from a requesting device, the REST call identifying an IIoT machine, the IIoT machine executing a service exposing a REST-ful API. The customization engine also parses the REST call into a plurality of parameters, compares the parameters to the conditional element(s) and determines that the parameters satisfies the conditional element(s), identifies the first configuration program from the first service configuration, and executes the first configuration program resulting in a second plurality of parameters, constructs an outbound REST call to include the second parameters, and transmits the outbound REST call to the IIoT machine.

Claims (71)

1. A system comprising:

at least one hardware processor;

a memory storing a plurality of service configurations and a plurality of configuration programs, the plurality of configuration programs including a first configuration program, the plurality of service configurations including a first service configuration identifying at least one conditional element and the first configuration program; and

a customization engine, executed by the at least one hardware processor, configured to perform operations comprising:

receiving an incoming representational state transfer (REST) call from a requesting device, the REST call being an operational call identifying an Industrial Internet of Things (IIoT) machine using a custom identifier, the IIoT machine executing a service exposing a REST-ful application programming interface (API);

parsing the REST call into a plurality of parameters;

comparing the plurality of parameters to the at least one conditional element of the first service configuration;

based on the comparing, determining that the plurality of parameters satisfies the at least one conditional element of the first service configuration, wherein the at least one conditional element is satisfied by detecting a particular REST verb or a particular data management operation;

identifying the first configuration program from the first service configuration;

based on the identifying, executing the first configuration program, the executing resulting in a second plurality of parameters;

constructing an outbound REST call to include the second plurality of parameters; and

transmitting the outbound REST call to the IIoT machine for processing by the service, the outbound REST call being a customized communication between the engine and the API that adds new functionality to the incoming REST call.

2. The system of claim 1 , wherein the customization engine is further configured to perform operations comprising:

receiving an inbound REST response message from the IIoT machine, the inbound REST response message being responsive to the outbound REST call;

executing a second configuration program based on the inbound REST response message; and

transmitting an outbound REST response message to requesting device.

3. The system of claim 1 , wherein executing the first configuration program causes the adding of a new parameter to the second plurality of parameters, the new parameter being not included in the first plurality of parameters.

4. The system of claim 1 , wherein executing the first configuration program causes a first parameter of the first plurality of parameters to be excluded from the second plurality of parameters.

5. The system of claim 1 , wherein executing the first configuration program causes the changing of a first parameter of the first plurality of parameters into an altered parameter, the altered parameter being included in the second plurality of parameters.

6. The system of claim 1 , wherein the customization engine is further configured to perform operations comprising:

receiving a second REST call;

determining that the second REST call satisfies one or more conditional elements of a second service configuration; and

executing a second configuration program causing rejection of the second REST call.

7. The system of claim 1 , wherein the customization engine is further configured to perform operations comprising:

identifying a uniform resource locator (URL) from the first REST call; and

determining an address associated with the IIoT machine based on the URL from the first REST call,

wherein constructing the outbound REST call further includes constructing the outbound REST to call to include the address.

8. A computer-implemented method comprising:

receiving an incoming representational state transfer (REST) call from a requesting device, the REST call, the REST call being an operational call identifying an Industrial Internet of Things (IIoT) machine using a custom identifier, the IIoT machine executing a service exposing a REST-ful application programming interface (API);

parsing the REST call into a plurality of parameters;

comparing the plurality of parameters to at least one conditional element of a first service configuration of a plurality of service configurations;

based on the comparing, determining that the plurality of parameters satisfies the at least one conditional element of the first service configuration, wherein the at least one conditional element is satisfied by detecting a particular REST verb or a particular data management operation;

identifying a first configuration program of a plurality of configuration programs from the first service configuration;

based on the identifying, executing the first configuration program, the executing resulting in a second plurality of parameters;

constructing an outbound REST call to include the second plurality of parameters; and

transmitting the outbound REST call to the IIoT machine for processing by the service, the outbound REST call being a customized communication between the engine and the API that adds new functionality to the incoming REST call.

9. The method of claim 8 , further comprising:

receiving an inbound REST response message from the IIoT machine, the inbound REST response message being responsive to the outbound REST call;

executing a second configuration program based on the inbound REST response message; and

transmitting an outbound REST response message to requesting device.

10. The method of claim 8 , wherein executing the first configuration program causes the adding of a new parameter to the second plurality of parameters, the new parameter being not included in the first plurality of parameters.

11. The method of claim 8 , wherein executing the first configuration program causes a first parameter of the first plurality of parameters to be excluded from the second plurality of parameters.

12. The method of claim 8 , wherein executing the first configuration program causes the changing of a first parameter of the first plurality of parameters into an altered parameter, the altered parameter being included in the second plurality of parameters.

13. The method of claim 8 , further comprising:

receiving a second REST call;

determining that the second REST call satisfies one or more conditional elements of a second service configuration; and

executing a second configuration program causing rejection of the second REST call.

14. The method of claim 8 , further comprising:

identifying a uniform resource locator (URL) from the first REST call; and

determining an address associated with the IIoT machine based on the URL from the first REST call,

wherein constructing the outbound REST call further includes constructing the outbound REST to call to include the address.

15. A non-transitory machine-readable medium storing processor-executable instructions which, when executed by a processor, cause the processor to perform operations comprising:

receiving an incoming representational state transfer (REST) call from a requesting device, the REST call, the REST call being an operational call identifying an Industrial Internet of Things (IIoT) machine using a custom identifier, the IIoT machine executing a service exposing a REST-ful application programming interface (API);

parsing the REST call into a plurality of parameters;

comparing the plurality of parameters to at least one conditional element of a first service configuration of a plurality of service configurations;

based on the comparing, determining that the plurality of parameters satisfies the at least one conditional element of the first service configuration, wherein the at least one conditional element is satisfied by detecting a particular REST verb or a particular data management operation;

identifying a first configuration program of a plurality of configuration programs from the first service configuration;

based on the identifying, executing the first configuration program, the executing resulting in a second plurality of parameters;

constructing an outbound REST call to include the second plurality of parameters; and

transmitting the outbound REST call to the IIoT machine for processing by the service, the outbound REST call being a customized communication between the engine and the API that adds new functionality to the incoming REST call.

16. The non-transitory machine-readable medium of claim 15 , wherein the processor-executable instructions further cause the processor to perform operations comprising:

receiving an inbound REST response message from the IIoT machine, the inbound REST response message being responsive to the outbound REST call;

executing a second configuration program based on the inbound REST response message; and

transmitting an outbound REST response message to requesting device.

17. The non-transitory machine-readable medium of claim 15 , wherein executing the first configuration program causes the adding of a new parameter to the second plurality of parameters, the new parameter being not included in the first plurality of parameters.

18. The non-transitory machine-readable medium of claim 15 , wherein executing the first configuration program causes a first parameter of the first plurality of parameters to be excluded from the second plurality of parameters.

19. The non-transitory machine-readable medium of claim 15 , wherein executing the first configuration program causes the changing of a first parameter of the first plurality of parameters into an altered parameter, the altered parameter being included in the second plurality of parameters.

20. The non-transitory machine-readable medium of claim 15 , wherein the processor-executable instructions further cause the processor to perform operations comprising:

receiving a second REST call;

determining that the second REST call satisfies one or more conditional elements of a second service configuration; and

executing a second configuration program causing rejection of the second REST call.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2023
From: GENERAL ELECTRIC COMPANY
To: GE DIGITAL HOLDINGS LLC
Reel/Frame 065612/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2016
From: DOST, RICHARD; STEELE, ERIC
To: GENERAL ELECTRIC COMPANY
Reel/Frame 038223/0857 →
Continuity (1)
Related Publication 20170295057A1 · Oct 12, 2017
Cited By (1)
US 12,283,009