IP Library Granted Patent US 10,412,167
Granted Patent B2
US 10,412,167 · App. 15/220,779 · Granted Sep 10, 2019

Hybrid cloud communication system

Inventors: Stephen Mark Hanney (Los Gatos, CA); Christopher Oarion Kreager (Bellingham, WA); Jason O'Brien (Austin, TX); Fabio Alberto Gutierrez (North Conway, NH)
Assignee: Presidio LLC
H04L67/1097G06F16/116H04L41/0843H04L41/5048H04L67/02H04L67/10H04L41/22H04L41/5054H04L41/5096
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,412,167
App. No.
15/220,779
Granted
Sep 10, 2019
Kind
B2
Abstract

A system includes a processor and a memory device. The processor may be communicatively couplable to a first computing device corresponding to a consumer and a second computing device corresponding to a service provider. The memory device may be accessible to the processor and including instructions executable by the processor to cause the processor to: (i) receive resource parameters corresponding to information for allowing the consumer to access a computing resource hosted by the service provider on a remote server via a hybrid cloud; (ii) identify a template file including a call format corresponding to an HTTP method; and (iii) generate an adapter using the template file and the portion of the resource parameters.

Claims (63)

1. A system, comprising:

a processor communicatively couplable to a first computing device corresponding to a consumer and a second computing device corresponding to a service provider; and

a memory device accessible to the processor and including instructions executable by the processor to cause the processor to:

receive resource parameters from the service provider via a network, the resource parameters including information for allowing the consumer to access a computing resource hosted by the service provider on a remote server via a hybrid cloud, wherein the resource parameters are provided in a JavaScript Object Notation (JSON) format and indicate a hypertext transfer protocol (HTTP) method for communicating with the service provider;

identify a template file configured to use the HTTP method as a call format from among a plurality of template files stored in a database, wherein the template file includes placeholder information;

replace the placeholder information in the template file with at least some of the resource parameters to generate a modified template file; and

generate an adapter using the modified template file, the adapter being configured to:

receive a request from the consumer to access the computing resource hosted by the service provider; and

communicate the request to the service provider by executing a routine corresponding to the HTTP method.

2. The system of claim 1 , wherein the resource parameters further include a host of the computing resource, a port for allowing communication between the hybrid cloud and the remote server, a communication path between the hybrid cloud and the remote server, a content type associated with the computing resource, and encoding information for accessing the computing resource from the hybrid cloud.

3. The system of claim 1 , wherein the adapter is a Javascript file including the resource parameters formatted in the call format.

4. The system of claim 1 , wherein the memory device includes additional instructions executable by the processor to cause the processor to:

receive the request associated with the computing resource from the first computing device, the request including identifying information for identifying which adapter among a plurality of adapters corresponds to the service provider hosting the computing resource;

generate a message based on the request, the message having a layered format including a plurality of layers, each layer of the plurality of layers including a different type of identifying information associated with the computing resource; and

transmit the message to an engine within an enterprise service bus, the engine being executable to analyze the plurality of layers of the message to identify the adapter from among the plurality of adapters as corresponding to the service provider hosting the computing resource and responsively transmit a call associated with the computing resource.

5. The system of claim 4 , wherein the plurality of layers includes:

a first layer including routing information identifying a service type corresponding to the computing resource;

a second layer including category information identifying the service provider of the computing resource;

a third layer including service information identifying the adapter corresponding to the computing resource, the service information including method information identifying the HTTP method corresponding to the adapter; and

a fourth layer including provider-specific information useable by the adapter to convert the call into a format readable by the second computing device corresponding to the service provider of the computing resource.

6. The system of claim 4 , wherein the memory device includes instructions executable by the processor to cause the processor to identify the adapter from the plurality of adapters by:

identifying a service type associated with the computing resource based on a first subset of the identifying information;

identifying the service provider of the computing resource based on a second subset of the identifying information included within the first subset of the identifying information; and

identifying the adapter based on a third subset of the identifying information included within the second subset of the identifying information.

7. The system of claim 4 , wherein the memory device includes instructions executable by the processor to cause the processor to:

generate a first user interface that is displayable on the first computing device, the first user interface including one or more input options, wherein each input option of the one or more input options corresponds to a parameter type and is configured to allow the service provider to input a resource parameter having the parameter type; and

generate a second user interface that is displayable on the second computing device, the second user interface including one or more selection options selectable by the consumer and corresponding to one or more computing resources available from the service provider through the hybrid cloud.

8. A method for establishing a communication path between a consumer and a service provider via a hybrid cloud, comprising:

receiving, by a processor, resource parameters from a service provider via a network, the resource parameters include information for allowing the consumer to access a computing resource hosted by the service provider on a remote server via the hybrid cloud, wherein the resource parameters are provided in a JavaScript Object Notation (JSON) format and indicate a hypertext transfer protocol (HTTP) method for communicating with the service provider;

identifying, by the processor, a template file configured to use the HTTP method as a call format from among a plurality of template files stored in a database, wherein the template file includes placeholder information;

replacing, by the processor, the placeholder information in the template file with at least some of the resource parameters to generate a modified template file; and

generating, by the processor, an adapter using the modified template file, the adapter being configured to:

receive a request from the consumer to access the computing resource hosted by the service provider; and

communicate the request to the service provider by executing a routine corresponding to the HTTP method.

9. The method of claim 8 , wherein at least a portion of the placeholder information includes an information type, wherein the portion of the placeholder information is replaceable by one or more of the resource parameters having a parameter type corresponding to the information type, wherein the template file is a Javascript file.

10. The method of claim 8 , wherein the resource parameters further include at least one of a host of the computing resource, a port for allowing communication between the hybrid cloud and the remote server, a path between the hybrid cloud and the remote server, a content type associated with the computing resource, or encoding information for accessing the computing resource from the hybrid cloud.

11. The method of claim 8 , further including:

receiving, from the consumer via the network, a request associated with the computing resource from the consumer, the request including identifying information for identifying which adapter among a plurality of adapters corresponds to the service provider hosting the computing resource;

generating, by the processor, a message based on the request, the message having a layered format including a plurality of layers, each layer of the plurality of layers including a different type of identifying information associated with the computing resource; and

transmitting the message to an engine within an enterprise service bus, the engine being executable to analyze the plurality of layers of the message to identify the adapter from among the plurality of adapters as corresponding to the service provider hosting the computing resource and responsively transmit a call associated with the computing resource.

12. The method of claim 11 , wherein generating the message corresponding to the request includes:

extracting a plurality of data types from the request; and

generating the message such that each data type of the plurality of data types is packaged in a different layer of the plurality of layers.

13. The method of claim 11 , wherein identifying the adapter from the plurality of adapters includes:

identifying a service type associated with the computing resource based on a first subset of the identifying information;

identifying the service provider of the computing resource based on a second subset of the identifying information included within the first subset of the identifying information; and

identifying the adapter based on a third subset of the identifying information included within the second subset of the identifying information.

14. The method of claim 8 , further including tracking consumption of the computing resource by the consumer by counting how many times a new message corresponding to a request from the consumer is identified in a message queue.

15. A system, comprising:

a processor; and

a memory device comprising instructions that are executable by the processor for causing the processor to:

receive resource parameters from a service provider via a network, the resource parameters including information for enabling a consumer to interact with a computing resource hosted by the service provider via a hybrid cloud, wherein the information specifies at least two hypertext transfer protocol (HTTP) methods with which the hybrid cloud is to communicate with the service provider; and generate an adapter including (i) a first routine configured to use a first call format corresponding to a first HTTP method among the at least two HTTP methods, and (ii) a second routine configured to use a second call format corresponding to a second HTTP method among the at least two HTTP methods.

16. The system of claim 15 , wherein the adapter is generated using a template file that includes the first call format, the template file including placeholder information that is replaceable by at least one resource parameter based on an parameter type associated with the at least one resource parameter, wherein the template file is a Javascript file.

17. The system of claim 15 , wherein the memory device further comprises instructions that are executable by the processor for causing the processor to:

receive a request corresponding to the computing resource from the consumer;

generate a message based on the request, the message having a layered format including a plurality of layers, each layer of the plurality of layers including different identifying information for identifying the adapter corresponding to the computing resource; and

identify the adapter from a plurality of adapters using the different identifying information in at least one layer of the plurality of layers of the message.

18. The system of claim 17 , wherein the different identifying information includes:

a first set of information identifying a service type corresponding to the computing resource associated with the adapter;

a second set of information identifying the service provider of the computing resource associated with the adapter; and

a third set of information identifying the first HTTP method or the second HTTP method associated with the adapter.

19. The system of claim 18 , wherein the first set of information is included in a first layer of the plurality of layers of the message, wherein the second set of information is included in a second layer of the plurality of layers of the message, and wherein the third set of information is included in a third layer of the plurality of layers of the message.

20. The system of claim 15 , wherein the resource parameters are provided in a JavaScript Object Notation (JSON) format.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Jul 17, 2024
From: DELAWARE TRUST COMPANY
To: PRESIDIO LLC
Reel/Frame 068012/0770 →
RELEASE OF SECURITY INTEREST Recorded Jun 28, 2024
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: PRESIDIO LLC
Reel/Frame 067868/0518 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR NAME PREVIOUSLY RECORDED ON REEL 051688 FRAME 0051. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Feb 3, 2020
From: PRESIDO LLC
To: DELAWARE TRUST COMPANY, AS COLLATERAL AGENT
Reel/Frame 051777/0823 →
SECURITY INTEREST Recorded Jan 31, 2020
From: PRESIDO NETWORKED SOLUTIONS GROUP, LLC
To: DELAWARE TRUST COMPANY, AS COLLATERAL AGENT
Reel/Frame 051688/0051 →
SECURITY INTEREST Recorded Dec 19, 2019
From: PRESIDIO LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 051327/0988 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2017
From: HANNEY, STEPHEN MARK; KREAGER, CHRISTOPHER OARION; O'BRIEN, JASON; GUTIERREZ, FABIO ALBERTO
To: PRESIDIO LLC
Reel/Frame 042222/0596 →
Continuity (3)
Provisional Application 62197397 · Jul 27, 2015
Provisional Application 62203786 · Aug 11, 2015
Related Publication 20170034255A1 · Feb 2, 2017