# US 8,788,619 B2 · Method and infrastructure for accessing remote applications through a secure firewall

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,788,619 B2
- Document ID: US8788619B2
- Status: Granted
- Kind: B2
- Application number: 11/422,300
- Filed: 2006-06-05
- Published: 2007-07-19
- Granted: 2014-07-22
- Earliest claimed: 2005-10-25
- Assignees: International Business Machines Corporation
- Applicants: Holger Karn; Torsten Steinbach
- Inventors: Holger Karn; Torsten Steinbach
- Web page: https://patentgrep.com/patent/US8788619B2

## CPC

- H04L 41/5022: by giving priorities, e.g. assigning classes of service
- H04L 63/029: {Firewall traversal, e.g. tunnelling or, creating pinholes}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 69/329: in the application layer [OSI layer 7]
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method, computer program product, and infrastructure for accessing a remote application running on a system A by a system B, each being connected to an open network and located behind a firewall, are provided. The method, computer program product, and infrastructure provide for system A sending a first HTTP request to system B via the open network, blocking the first HTTP request from system A till an application request is available at system B, system B sending an HTTP response to system A via the open network, the HTTP response comprising the application request, system A processing the application request from system B to generate an application response, system A sending a second HTTP request to system B via the open network, the second HTTP request comprising the application response, and blocking the second HTTP request from system A till another application request is available at system B.

## Claims

### Claim 1

A method comprising:
sending, from a first hardware system that executes an application, a first HTTP request to a second hardware system via an open network, the first hardware system being located behind a first secure firewall, the second hardware system being located behind a second secure firewall;
receiving, at the first hardware system, an HTTP response having an application request from the second hardware system;
processing, at the first hardware system, the application request received from the second hardware system to generate an application response that includes an allowance of access that is determined by the first hardware system, the allowance of access providing secure remote access of the application to the second hardware system without having to open an additional port through the first secure firewall; and
sending, from the first hardware system, a second HTTP request to the second hardware system, the second HTTP request including the application response.

### Claim 2 (depends on 1)

The method of claim 1, wherein the application request is from a performance server running on the second hardware system seeking to monitor performance of a remote server running on the first hardware system, wherein the application request comprises structured query language statements that invoke one or more snapshot table functions of the remote server, wherein a Distributed Relational Database Architecture protocol is used for communication between the performance server running on the second hardware system and the remote server running on the first hardware system, and wherein processing the application request comprises:
performing the table functions using the structured query language statements in the application request, the table functions retrieving performance data relating to the remote server and storing the performance data into a plurality of tables; and
accessing the plurality of tables to generate the application response.

### Claim 3 (depends on 2)

The method of claim 2, wherein the performance server is accessing the remote server based on a request from a client connected to the performance server.

### Claim 4 (depends on 2)

The method of claim 2, wherein the performance server is accessing the remote server in a background mode at regular intervals.

### Claim 5 (depends on 1)

The method of claim 1, wherein the application request specifies the application.

### Claim 6 (depends on 1)

The method of claim 1, wherein the allowance of access is based on predefined operations to be allowed by the first hardware system.

### Claim 7 (depends on 1)

The method of claim 1, wherein HTTP communication between the first hardware system and the second hardware system is encrypted.

### Claim 8 (depends on 1)

The method of claim 1, wherein the application request comprises at least one of a request by the second hardware system to monitor the application running on the first hardware system, a request to analyze performance of the application running on the first hardware system, and a request to collect information relating to configuration and workload of the application running on the first hardware system.

### Claim 9

A computer program product comprising a computer readable hardware program storage medium, the computer readable hardware program storage medium including a computer readable program comprising program instructions to:
send, from a first hardware system that executes an application, a first HTTP request to a second hardware system via an open network, the first hardware system being located behind a first secure firewall, the second hardware system being located behind a second secure firewall;
receive, at the first hardware system, an HTTP response having an application request from the second hardware system;
process, at the first hardware system, the application request received from the second hardware system to generate an application response that includes an allowance of access that is determined by the first hardware system, the allowance of access providing secure remote access of the application to the second hardware system without having to open an additional port through the first secure firewall; and
send, from the first hardware system, a second HTTP request to the second hardware system, the second HTTP request including the application response.

### Claim 10 (depends on 9)

The computer program product of claim 9, wherein the application request is from a performance server running on the second hardware system seeking to monitor performance of a remote server running on the first hardware system, wherein the application request comprises structured query language statements that invoke one or more snapshot table functions of the remote server, wherein a Distributed Relational Database Architecture protocol is used for communication between the performance server running on the second hardware system and the remote server running on the first hardware system, and wherein processing the application request comprises:
performing the table functions using the structured query language statements in the application request, the table functions retrieving performance data relating to the remote server and storing the performance data into a plurality of tables; and
accessing the plurality of tables to generate the application response.

### Claim 11 (depends on 10)

The computer program product of claim 10, wherein the performance server is accessing the remote server based on a request from a client connected to the performance server.

### Claim 12 (depends on 10)

The computer program product of claim 10, wherein the performance server is accessing the remote server in a background mode at regular intervals.

### Claim 13 (depends on 9)

The computer program product of claim 9, wherein the application request specifies the application.

### Claim 14 (depends on 9)

The computer program product of claim 9, wherein the allowance of access is based on predefined operations to be allowed by the first hardware system.

### Claim 15 (depends on 9)

The computer program product of claim 9, wherein HTTP communication between the first hardware system and the second hardware system is encrypted.

### Claim 16 (depends on 9)

The computer program product of claim 9, wherein the application request comprises at least one of a request by the second hardware system to monitor the application running on the first hardware system, a request to analyze performance of the application running on the first hardware system, and a request to collect information relating to configuration and workload of the application running on the first hardware system.

### Claim 17

A method comprising:
receiving, from a first hardware system that executes an application at a second hardware system, a first HTTP request via an open network, the first hardware system being located behind a first secure firewall, the second hardware system being located behind a second secure firewall;
sending, from the second hardware system, an HTTP response having an application request to the first hardware system so that the application request is processed at the first hardware system to generate an application response that includes an allowance of access that is determined by the first hardware system, the allowance of access providing secure remote access of the application to the second hardware system without having to open an additional port through the first secure firewall; and
receiving, from the first hardware system at the second hardware system, a second HTTP request, the second HTTP request including the application response.

### Claim 18 (depends on 17)

The method of claim 17, wherein the application request specifies the application.

### Claim 19 (depends on 17)

The method of claim 17, wherein the allowance of access is based on predefined operations to be allowed by the first hardware system.

### Claim 20 (depends on 17)

The method of claim 17, wherein HTTP communication between the first hardware system and the second hardware system is encrypted.

### Claim 21 (depends on 17)

The method of claim 17, wherein the application request comprises at least one of a request by the second hardware system to monitor the application running on the first hardware system, a request to analyze performance of the application running on the first hardware system, and a request to collect information relating to configuration and workload of the application running on the first hardware system.

### Claim 22 (depends on 17)

The method of claim 17, wherein the application request is from a performance server running on the second hardware system seeking to monitor performance of a remote server running on the first hardware system, wherein the application request comprises structured query language statements that invoke one or more snapshot table functions of the remote server, wherein a Distributed Relational Database Architecture protocol is used for communication between the performance server running on the second hardware system and the remote server running on the first hardware system.

### Claim 23

A hardware system located behing a secure firewall comprising:
means for executing an application;
means for sending a first HTTP request to an additional hardware system via an open network, the additional hardware system being located behind a second secure firewall;
means for receiving an HTTP response having an application request from the additional hardware system;
means for processing the application request received from the additional hardware system to generate an application response that includes an allowance of access and determining an allowance of access, the allowance of access providing secure remote access of the application to the additional hardware system without having to open an additional port through the secure firewall; and
means for sending a second HTTP request to the additional hardware system, the additional HTTP request including the application response.

### Claim 24 (depends on 23)

The hardware system of claim 23, wherein the application request specifies the application.

### Claim 25 (depends on 23)

The hardware system of claim 23, wherein the allowance of access is based on predefined operations.

### Claim 26 (depends on 23)

The hardware system of claim 23, wherein HTTP communication is encrypted.

### Claim 27 (depends on 23)

The hardware system of claim 23, wherein the application request comprises at least one of a request by the additional hardware system to monitor the application, a request to analyze performance of the application, and a request to collect information relating to configuration and workload of the application.

### Claim 28 (depends on 23)

The hardware system of claim 23, wherein the application request is from a performance server running on the additional hardware system seeking to monitor performance of a remote server, wherein the application request comprises structured query language statements that invoke one or more snapshot table functions of the remote server, wherein a Distributed Relational Database Architecture protocol is used for communication between the performance server running on the additional hardware system and the remote server, and wherein processing the application request comprises:
performing the table functions using the structured query language statements in the application request, the table functions retrieving performance data relating to the remote server and storing the performance data into a plurality of tables; and
accessing the plurality of tables to generate the application response.

### Claim 29 (depends on 23)

The hardware system of claim 23, wherein the performance server is accessing the remote server based on a request from a client connected to the performance server.

### Claim 30 (depends on 23)

The hardware system of claim 23, wherein the performance server is accessing the remote server in a background mode at regular intervals.

### Claim 31

A computer program product comprising a computer readable hardware program storage medium, the computer readable hardware program storage medium including a computer readable program comprising program instructions to:
receive, from a first hardware system that executes an application at a second hardware system, a first HTTP request via an open network, the first hardware system being located behind a first secure firewall, the second hardware system being located behind a second secure firewall;
send, from the second hardware system, an HTTP response having an application request to the first hardware system so that the application request is processed at the first hardware system to generate an application response that includes an allowance of access that is determined by the first hardware system, the allowance of access providing secure remote access of the application to the second hardware system without having to open an additional port through the first secure firewall; and
receive, from the first hardware system at the second hardware system, a second HTTP request, the second HTTP request including the application response.

### Claim 32 (depends on 31)

The computer program product of claim 31, wherein the application request specifies the application.

### Claim 33 (depends on 31)

The computer program product of claim 31, wherein the allowance of access is based on predefined operations to be allowed by the first hardware system.

### Claim 34

A hardware system located behind a secure firewall comprising:
means for receiving, from an additional hardware system that executes an application at the additional hardware system, a first HTTP request via an open network, the additional hardware system being located behind an additional secure firewall;
means for sending an HTTP response having an application request to the additional hardware system so that the application request is processed at the additional hardware system to generate an application response that includes an allowance of access that is determined by the additional hardware system, the allowance of access providing secure remote access of the application without having to open an additional port through the additional secure firewall; and
means for receiving, from the additional hardware system, a second HTTP request, the second HTTP request including the application response.

### Claim 35 (depends on 34)

The hardware system of claim 34, wherein the application request specifies the application.
