# US 7,610,400 B2 · Rule-based networking device

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

- Number: US 7,610,400 B2
- Document ID: US7610400B2
- Status: Granted
- Kind: B2
- Application number: 10/996,871
- Filed: 2004-11-23
- Published: 2006-05-25
- Granted: 2009-10-27
- Earliest claimed: 2004-11-23
- Assignees: Juniper Networks, Inc.
- Inventors: Israel L'Heureux; Steve Malmskog
- Web page: https://patentgrep.com/patent/US7610400B2

## CPC

- H04L 67/561: Adding application-functional data or data for application control, e.g. adding metadata
- H04L 67/564: Enhancement of application control based on intercepted application data
- H04L 67/565: Conversion or adaptation of application format or content (adding application control or application functional data H04L67/561)
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/306: User profiles
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A networking system, device, and method are provided. The networking device typically includes a user-defined ruleset including HTTP request rules and HTTP response rules. The networking device may further include a request processor configured to receive an incoming HTTP request from the client, apply HTTP request rules to the incoming HTTP request, to thereby produce a modified HTTP request, and send the modified HTTP request to the server. The networking device may further include a response processor configured to receive an HTTP response to the modified HTTP request from the server, apply the HTTP response rules to the HTTP response, to thereby produce a modified HTTP response, and send the modified HTTP response to the client.

## Claims

### Claim 1

A networking method for use with a networking device having hardware for executing program modules, the network device positioned intermediate a client and a server on a computer network, the method comprising:
receiving, with the networking device, a user-defined ruleset comprising a set of user-defined request rules and a set of user-defined response rules;
at the networking device, receiving an unsecure response from the server;
converting, with the networking device, the unsecure response to a secure response according to the set of user-defined request rules;
forwarding the secure response to the client;
receiving a secure request from the client, the secure request originating from a link contained in the secure response;
converting, with the networking device, the secure request to an unsecure request according to the set of user-defined response rules; and
forwarding the unsecure request to the server.

### Claim 2 (depends on 1)

The networking method of claim 1, wherein converting the unsecure response to a secure response comprises rewriting a portion of the unsecure response from Hypertext Transfer Protocol (HTTP) to Hypertext Transfer Protocol Secure (HTTPS) according to the set of user-defined response rules.

### Claim 3 (depends on 1)

The networking method of claim 1, wherein converting the unsecure response to a secure response comprises rewriting the response headers in the unsecure response from HTTP to HTTPS according to the set of user-defined response rules.

### Claim 4 (depends on 1)

The networking method of claim 1, wherein converting the unsecure response to a secure response comprises rewriting links contained in the content of the unsecure response from HTTP to HTTPS according to the set of user-defined response rules.

### Claim 5 (depends on 1)

The networking method of claim 1, wherein converting the secure request to an unsecure request comprises rewriting a portion of the secure request from HTTPS to HTTP according to the set of user-defined request rules.

### Claim 6 (depends on 1)

The networking method of claim 1, wherein converting the secure request to an unsecure request comprises rewriting a portion of a query string in the secure request from HTTPS to HTTP according to the set of user-defined request rules.

### Claim 7 (depends on 1)

The networking method of claim 1, wherein converting the secure request to an unsecure request comprises rewriting a portion of a referrer URL in the secure request from HTTPS to HTTP according to the set of user-defined request rules.

### Claim 8 (depends on 1)

The method of claim 1, wherein each of the rules of the set of user-defined request rules comprises a test condition and an action statement, wherein converting the secure request to the unsecure request comprises:
applying the test condition of each of the set of user-defined request rules to the secure request to determine whether the test condition is true for the secure request; and
performing an action defined by the action statement of each of the user-defined request rules for which the applied test condition is determined to be true for the secure request.

### Claim 9 (depends on 1)

The method of claim 1, wherein each of the rules of the set of user-defined response rules comprises a test condition and an action statement, wherein converting the unsecure response to the secure response comprises:
applying the test condition of each of the set of user-defined response rules to the unsecure response to determine whether the test condition is true for the unsecure response; and
performing an action defined by the action statement of each of the user-defined response rules for which the applied test condition is determined to be true for the unsecure response.

### Claim 10

A networking device positioned intermediate a client and server on a computer network, the networking device having hardware for executing program modules, the network device comprising:
a configuration tool configured to receive a user-defined ruleset comprising a set of user-defined request rules and a set of user-defined response rules;
a response processor configured to receive an unsecure Hypertext Transfer Protocol (HTTP) response from the server, rewrite a portion of the HTTP response from HTTP to Hypertext Transfer Protocol Secure (HTTPS) according to the set of user-defined response rules to form a secure response, and send the secure response to the client;
a request processor configured to receive a secure HTTPS request from the client, rewrite a portion of the secure HTTPS request from HTTPS to HTTP according to the set of user-defined request rules to form a unsecure request, and send the unsecure request to the server.

### Claim 11 (depends on 10)

The networking device of claim 10, wherein the response processor is configured to rewrite a portion of a response header of the HTTP response from HTTP to HTTPS according to the set of user-defined response rules.

### Claim 12 (depends on 10)

The networking device of claim 10, wherein the response processor is configured to rewrite a portion of a link within the HTTP response from HTTPS to HTTPS according to the set of user-defined response rules.

### Claim 13 (depends on 10)

The networking device of claim 10, wherein the request processor is configured to rewrite a portion of a query string of the HTTP request from HTTPS to HTTP according to the set of user-defined request rules.

### Claim 14 (depends on 10)

The networking device of claim 10, wherein the request processor is configured to rewrite a portion of a referrer URL in a request header of the HTTP request from HTTPS to HTTP according to the set of user-defined request rules.

### Claim 15

A networking method for use with a networking device positioned intermediate a client and a server on a computer network, the method comprising:
receiving a set of user-defined response rules;
receiving an original HTTP request from the client, at the networking device;
at least temporarily storing a copy of the original HTTP request, at the networking device;
forwarding a version of the HTTP request to the server;
receiving an HTTP response to the version of the HTTP request at the networking device;
applying the set of user-defined response rules to the HTTP response, wherein the user-defined response rules reference the original HTTP request;
recalling the original HTTP request according to the set of user-defined response rules;
modifying the HTTP response according to the set of user-defined response rules, at least in part based on the original HTTP request stored at the networking device; and
forwarding the modified HTTP response to the client.

### Claim 16 (depends on 15)

The networking method of claim 15, further comprising,
prior to forwarding the HTTP request to the server, modifying the HTTP request to form a modified version of the HTTP request;
wherein the modified version of the HTTP request comprises the version of the HTTP request that is forwarded to the server.
