# US 2013/0185455 A1 · Systems and methods for routing network information

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

- Number: US 2013/0185455 A1
- Document ID: US20130185455A1
- Status: Published application
- Kind: A1
- Application number: 13/355,101
- Filed: 2012-01-20
- Published: 2013-07-18
- Earliest claimed: 2012-01-17
- Assignees: Dynamite Data, LLC
- Inventors: Mordechai Nunberg; Kristopher Kubicki
- Web page: https://patentgrep.com/patent/US20130185455A1

## CPC

- H04L 45/306: {Route determination based on the nature of the carried application}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/565: Conversion or adaptation of application format or content (adding application control or application functional data H04L67/561)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A network routing system is described herein. The network routing system comprises a traffic router and a plurality of proxy gateways. The traffic router is configured to receive at least one request for a network object from a requester. The request includes a network address of a target web host. One or more proxy servers from a plurality of proxy servers are assigned to each proxy gateway. In operation, if there is a proxy server having a current connection with the target web host, the traffic router selects the proxy server and forwards the request to a proxy gateway that the proxy server is assigned to. In operation, the proxy gateway receives the request for the network object, converts the request into a translated request based on a protocol type of the proxy server, and sends the translated request to the proxy server.

## Claims

### Claim 1

A network routing system, comprising:
a traffic router configured to receive at least one request for a network object from a requester, the request including a network address of a target web host; and
a plurality of proxy gateways, one or more proxy servers from a plurality of proxy servers being assigned to each proxy gateway of the plurality of proxy gateways;
wherein, in operation, the traffic router selects a proxy server having a current connection with the target web host from the plurality of proxy servers, and forwards the request for the network object to a proxy gateway that the proxy server is assigned to; and
wherein, in operation, the proxy gateway receives the request for the network object from the traffic router, converts the request for the network object into a translated request based on a protocol type of the proxy server, and sends the translated request to the proxy server.

### Claim 2 (depends on 1)

The network routing system of claim 1,
wherein, in operation, if none of the plurality of proxy servers has current connections with the target web host, the traffic router selects a proxy server from the plurality of proxy servers based on a current load for each proxy server and a route history between each proxy server and the target web host; and
wherein, in operation, the proxy gateway instructs the proxy server to initiate a connection with the target web host.

### Claim 3 (depends on 1)

The network routing system of claim 1,
wherein, in operation, the proxy gateway receives a response having an instance of the network object based on the protocol type of the proxy server from the proxy server, converts the response into a translated response based on a protocol type of the traffic router, and sends the translated response to the traffic router;
wherein the instance of the network object is fetched from the target web host through the current connection by the proxy server; and
wherein, in operation, the traffic router receives the translated response, and forwards the translated response to the requester.

### Claim 4 (depends on 2)

The network routing system of claim 2,
wherein, for each web host and each proxy server of the plurality of proxy servers, the route history is a number of expired connections between said web host and said proxy server.

### Claim 5 (depends on 2)

The network routing system of claim 2,
wherein, for each proxy server of the plurality of proxy servers, the current load is a number of current connections between said proxy server and web hosts.

### Claim 6 (depends on 2)

The network routing system of claim 2,
wherein, in operation, if none of the plurality of proxy servers has current connections with the target web host, the traffic router selects a proxy server from the plurality of proxy servers, and the selected proxy server has the least current load and the least route history with the target web host.

### Claim 7 (depends on 1)

The network routing system of claim 1,
further comprising a database server having a route history database,
wherein, for each web host and each proxy server of the plurality of proxy servers, the route history database recording a number of expired connections between said web host and said proxy server.

### Claim 8 (depends on 1)

The network routing system of claim 1,
further comprising a database server having a current load database,
wherein, for each proxy server of the plurality of proxy servers, the current load database recording a number of current connections between said proxy server and any web host.

### Claim 9 (depends on 1)

The network routing system of claim 1, wherein the network object comprises a text, a web page, an image, an HTML file, a CSS file, a JavaScript file, an audio, a video, or content-less HTTP control messages.

### Claim 10 (depends on 1)

The network routing system of claim 1, wherein the requester is a computer or a process running on a computer.

### Claim 11 (depends on 1)

The network routing system of claim 1, wherein the target web host is an HTTP web server.

### Claim 12 (depends on 1)

The network routing system of claim 1, wherein the protocol type of the proxy server is HTTP, VPN, SRCIP, SOCKS, or L2TP.

### Claim 13 (depends on 3)

The network routing system of claim 3, wherein the protocol type of the traffic router is HTTP.

### Claim 14 (depends on 1)

The network routing system of claim 1,
wherein, in operation, the proxy gateway initiates an connection to the proxy server based on the protocol type of the proxy server.

### Claim 15 (depends on 1)

The network routing system of claim 1,
wherein, in operation, the proxy gateway signs on and initiates an connection to the proxy server based on an authentication mode and the protocol type of the proxy server.

### Claim 16 (depends on 1)

The network routing system of claim 1,
wherein, in operation, the proxy gateway maintains a keep-alive connection to the proxy server.

### Claim 17 (depends on 1)

The network routing system of claim 1,
wherein, in operation, the proxy gateway instructs the proxy server to maintain a keep-alive connection to the target web host.

### Claim 18 (depends on 1)

The network routing system of claim 1,
wherein at least one proxy gateway of the plurality of proxy gateways runs on a separated computer from the computer that the traffic router runs on.

### Claim 19 (depends on 1)

The network routing system of claim 1,
wherein at least one proxy gateway of the plurality of proxy gateways and the traffic router runs on a commonly shared computer.

### Claim 20 (depends on 1)

The network routing system of claim 1,
wherein the traffic router is further configured to concurrently receive a plurality of requests for network objects from a plurality of requesters, select a proxy server for each request of the plurality of requests, and forward each request to a proxy gateway that said proxy server is assigned to.

### Claim 21 (depends on 1)

The network routing system of claim 1,
wherein the traffic router is further configured to maintain a cache for network objects from previous requests.

### Claim 22 (depends on 7)

The network routing system of claim 7,
wherein the database server and the traffic router runs on a commonly shared computer.

### Claim 23 (depends on 1)

The network routing system of claim 1,
wherein the proxy gateway further instructs the proxy server to maintain a cache for network objects from previous requests.

### Claim 24

A method for routing network information, comprising:
receiving at a traffic router, at least one request for a network object, the request for a network object including a network address of a target web host;
determining whether there is any current connection between the target web host and any proxy server of the plurality of proxy servers;
selecting a proxy server having a current connection with the target web host;
forwarding the request for the network object to a proxy gateway of a plurality of proxy gateways, the proxy server being assigned to the proxy gateway;
receiving the request for the network object from the traffic router at the proxy gateway;
converting the request for the network object into a translated request based on a protocol type of the proxy server; and
sending the translated request to the proxy server.

### Claim 25 (depends on 24)

The method of claim 24, further comprising:
selecting a proxy server from the plurality of proxy servers based on a current load for each proxy server and a route history between each proxy server and the target web host if none of the plurality of proxy servers has current connections with the target web host; and
instructing the proxy server to initiate a connection with the target web host.

### Claim 26 (depends on 24)

The method of claim 24, further comprising:
receiving a response having an instance of the network object based on the protocol type of the proxy server from the proxy server, at the proxy gateway;
converting the response into a translated response based on a protocol type of the traffic router;
sending the translated response to the traffic router; and
forwarding the translated response to the requester.

### Claim 27 (depends on 26)

The method of claim 26,
wherein the instance of the network object is fetched from the target web host through the current connection by the proxy server.

### Claim 28 (depends on 25)

The method of claim 25,
wherein, for each web host and each proxy server of the plurality of proxy servers, the route history is a number of expired connections between said web host and said proxy server.

### Claim 29 (depends on 25)

The method of claim 25,
wherein, for each proxy server of the plurality of proxy servers, the current load is a number of current connections between said proxy server and all web hosts.

### Claim 30 (depends on 25)

The method of claim 25,
wherein the selected proxy server has the least current load and the least route history with the target web host, among the plurality of proxy servers.

### Claim 31 (depends on 24)

The method of claim 24, further comprising:
initiating a connection from the proxy gateway to the proxy server.

### Claim 32 (depends on 24)

The method of claim 24, further comprising:
instructing the proxy server to maintain a keep-alive connection to the target web host.
