IP Library Granted Patent US 10,038,721
Granted Patent B2
US 10,038,721 · App. 14/623,075 · Granted Jul 31, 2018

Enabling an on-premises resource to be exposed to a public cloud application securely and seamlessly

Inventors: Linwood Hugh Overby, Jr. (Raleigh, NC); Anthony Ffrench (Medford, MA); Barry Mosakowski (Raleigh, NC); Adolfo Francisco Rodriguez (Raleigh, NC)
Assignee: International Business Machines Corporation
H04L63/20G06F9/50H04L63/0227H04L63/0236H04L63/0272H04L63/0281H04L63/10H04L63/101H04L63/168H04L65/102H04L67/02H04L67/10H04L67/28
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,038,721
App. No.
14/623,075
Granted
Jul 31, 2018
Kind
B2
Abstract

An application deployed in a public cloud is enabled to access an on-premises resource securely and without requiring additional ports on a firewall. A pair of security gateways is instantiated, one at the cloud, and another located on-premises. Each gateway can access information that is necessary to locate and establish a secure connection to the on-premises resource. In response to a determination that the application needs to access the on-premises resource, the data set is used to locate the resource. A communication request is then issued from the cloud gateway to the on-premises gateway over a socket-based communication channel established between the gateways. The communication request is sent over an HTTP-based protocol such that the application is able to access the on-premises resource without requiring an additional IP address/port to be defined at the firewall. Proxied connectivity is then enabled from the application to the on-premises resource.

Claims (20)

1. Apparatus, comprising:

a processor;

computer memory holding computer program instructions executed by the processor to enable an application deployed in a public cloud to access an on-premises resource, the application having been deployed in the public cloud from an enterprise that retains the on-premises resource, wherein the application normally accesses the on-premises resource over a native, non-HTTP-based protocol, the computer program instructions comprising:

program code to provide a policy data set having at least one condition, and an associated action, wherein the condition identifies a service name, and the action identifies a location in the enterprise of the on-premises resource, together with a security requirement needed to establish a secure connection to the on-premises resource;

program code responsive to a determination that the application needs to access the on-premises resource, to issue a connection request from a cloud gateway associated with the application to an on-premises gateway, the connection request being issued over a socket-based communication channel established between the cloud gateway and the on-premises gateway to carry the policy data set to the on-premises gateway, the connection request provided over an HTTP-based protocol, the on-premises gateway using the policy data set to locate the on-premises resource and to establish a proxy connection thereto according to the security requirement, the connection request being terminated at the on-premises gateway, and the proxy connection including a new TCP connection between the on-premises gateway and the on-premises resource; and

program code responsive to locating the on-premises resource and establishment of the proxy connection to deliver application data over the native, non-HTTP-based protocol from the application to the on-premises resource;

wherein the application data is communicated over a native, non-HTTP-based protocol from the application to the cloud gateway over the proxied connection, then from the cloud gateway to the on-premises gateway over the socket-based communication channel, and then from the on-premises gateway to the on-premises resource.

2. The apparatus as described in claim 1 wherein the connection request is an HTTP WebSocket Upgrade request on port 443.

3. The apparatus as described in claim 2 wherein the computer program instructions further include program code to establish a proxied connection from the application to the cloud gateway.

4. The apparatus as described in claim 1 wherein the computer program instructions further include program code operative to associate a second on-premises gateway to the cloud gateway, wherein the socket-based communication channel is used for a communication between the cloud gateway and the second on-premises gateway.

5. The apparatus as described in claim 1 wherein the computer program instructions further include program code to establish the socket-based communication channel in advance of the determination, or in response to the determination.

6. A computer program product in a non-transitory computer readable medium for use in a data processing system, the computer program product holding computer program instructions executed by the data processing system to enable an application deployed in a public cloud to access an on-premises resource, the application having been deployed in the public cloud from an enterprise that retains the on-premises resource, wherein the application normally accesses the on-premises resource over a native, non-HTTP-based protocol, the computer program instructions comprising:

program code to provide a policy data set having at least one condition, and an associated action, wherein the condition identifies a service name, and the action identifies a location in the enterprise of the on-premises resource, together with a security requirement needed to establish a secure connection to the on-premises resource;

program code responsive to a determination that the application needs to access the on-premises resource, to issue a connection request from a cloud gateway associated with the application to an on-premises gateway, the connection request issued over a socket-based communication channel established between the cloud gateway and the on-premises gateway to carry the policy data set to the on-premises gateway, the connection request provided over an HTTP-based protocol, the on-premises gateway using the policy data set to locate the on-premises resource and to establish a proxy connection thereto according to the security requirement, the connection request being terminated at the on-premises gateway, and the proxy connection including a new TCP connection between the on-premises gateway and the on-premises resource; and

program code responsive to locating the on-premises resource and establishment of the proxy connection to deliver application data over the native, non-HTTP-based protocol from the application to the on-premises resource;

wherein the application data is communicated over a native, non-HTTP-based protocol from the application to the cloud gateway over the proxied connection, then from the cloud gateway to the on-premises gateway over the socket-based communication channel, and then from the on-premises gateway to the on-premises resource.

7. The computer program product as described in claim 6 wherein the connection request is an HTTP WebSocket Upgrade request on port 443.

8. The computer program product as described in claim 7 wherein the computer program instructions further include program code to establish a proxied connection from the application to the cloud gateway.

9. The computer program product as described in claim 6 wherein the computer program instructions further include program code operative to associate a second on-premises gateway to the cloud gateway, wherein the socket-based communication channel is used for a communication between the cloud gateway and the second on-premises gateway.

10. The computer program product as described in claim 6 wherein the computer program instructions further include program code to establish the socket-based communication channel in advance of the determination, or in response to the determination.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2015
From: OVERBY, LINWOOD HUGH, JR.; FFRENCH, ANTHONY; MOSAKOWSKI, BARRY; RODRIGUEZ, ADOLFO FRANCISCO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 034966/0797 →
Continuity (1)
Related Publication 20160241633A1 · Aug 18, 2016