IP Library Granted Patent US 9,118,582
Granted Patent B1
US 9,118,582 · App. 14/566,587 · Granted Aug 25, 2015

Network traffic management using port number redirection

Inventor: Paul Michael Martini (San Diego, CA)
Assignee: iboss, Inc.
H04L45/22H04L63/08H04L67/02H04L67/2842
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 9,118,582
App. No.
14/566,587
Granted
Aug 25, 2015
Kind
B1
Abstract

A first request is received from a device over a network. It is determined that the first request should be redirected, based at least in part on information included in the first request. A redirect message is sent to the device over the network. A second request is received that includes the address and the port number. Responsive to determining that the port number is on the predetermined list of port numbers, modifying the second request by removing the port number. The modified second request is sent to the address.

Claims (58)

1. A method performed by data processing apparatuses, the method comprising:

receiving, from a device over a network, a first request that includes an address;

in response to receiving the first request, determining, based at least in part on information included in the first request, that the first request is to be redirected;

in response to determining that the first request is to be redirected, sending, to the device over the network, a redirect message that includes the address and a port number;

receiving, from the device over the network, a second request that includes the address and the port number;

determining that the port number is included in a predetermined list of port numbers;

responsive to determining that the port number is on the predetermined list of port numbers, modifying the second request by removing the port number; and

sending the modified second request to the address;

wherein the address includes a first port number and the port number is a second port number different than the first port number, and modifying the second request includes inserting the first port number into the second request

receiving, from a device over a network, a third request that comprises a second address and a third port number;

in response to receiving the third request, determining that the third request is not to be redirected based at least in part on information included in the third request; and

in response to determining that the third request is not to be redirected, sending the third request to the second address.

2. The method of claim 1 , the method further comprising maintaining data that corresponds, for each of a plurality of port numbers, a corresponding modified port number.

3. The method of claim 2 , wherein: determining that the first request is to be redirected based at least in part on information included in the first request comprises determining that first port number matches one of the plurality of port numbers in the maintained data.

4. The method of claim 3 , wherein the second port number is the modified port number that corresponds to the matched port number in the plurality of port numbers in the maintained data.

5. The method of claim 1 , the method further comprising: receiving a message from the address, the message comprising the first port number; modifying the message by replacing the first port number with the second port number; and sending the message to the device.

6. The method of claim 1 , wherein the first request and the second request are Hypertext Transfer Protocol (HTTP) requests.

7. The method of claim 1 , wherein sending, to the device over the network, a redirect message comprising the address and a port number is performed by a network gateway; and receiving, from the device over the network, a second request that comprises the address and the port number is performed by a proxy server that is a different device than the network gateway.

8. The method of claim 7 , wherein the proxy server is configured to perform, for at least some network traffic, at least one of the group consisting of sandboxing traffic, caching resources, logging traffic, and blocking traffic.

9. The method of claim 7 , wherein the proxy server handles traffic in a selective manner based on a port number of messages of the traffic.

10. The method of claim 7 , wherein the proxy server serves resources through the Web Cache Communication Protocol (WCCP).

11. The method of claim 1 , wherein sending, to the device over the network, a redirect message comprising the address and a port number is performed by a particular device; and receiving, from the device over the network, a second request that comprises the address and the port number is performed by the particular device.

12. A non-transitory computer storage media encoded with computer program instructions that, when executed by one or more processors, cause a computer device to perform operations comprising:

receiving, from a device over a network, a first request that includes an address;

in response to receiving the first request, determining, based at least in part on information included in the first request, that the first request is to be redirected;

in response to determining that the first request is to be redirected, sending, to the device over the network, a redirect message that includes the address and a port number;

receiving, from the device over the network, a second request that includes the address and the port number;

determining that the port number is included in a predetermined list of port numbers;

responsive to determining that the port number is on the predetermined list of port numbers, modifying the second request by removing the port number; and

sending the modified second request to the address;

wherein the address includes a first port number and the port number is a second port number different than the first port number, and modifying the second request includes inserting the first port number into the second request

receiving, from a device over a network, a third request that comprises a second address and a third port number;

in response to receiving the third request, determining that the third request is not to be redirected based at least in part on information included in the third request; and

in response to determining that the third request is not to be redirected, sending the third request to the second address.

13. The storage media of claim 12 , wherein the address includes a first port number and the port number is a second port number different than the first port number, and modifying the second request includes inserting the first port number into the second request.

14. The storage media of claim 12 , wherein sending, to the device over the network, a redirect message comprising the address and a port number is performed by a network gateway; and receiving, from the device over the network, a second request that comprises the address and the port number is performed by a proxy server that is a different device than the network gateway.

15. The storage media of claim 12 , wherein sending, to the device over the network, a redirect message comprising the address and a port number is performed by a particular device; and receiving, from the device over the network, a second request that comprises the address and the port number is performed by the particular device.

16. A system comprising: one or more processors configured to execute computer program instructions; and computer storage media encoded with computer program instructions that, when executed by one or more processors, cause a computer device to perform operations comprising:

receiving, from a device over a network, a first request that includes an address;

in response to receiving the first request, determining, based at least in part on information included in the first request, that the first request is to be redirected;

in response to determining that the first request is to be redirected, sending, to the device over the network, a redirect message that includes the address and a port number;

receiving, from the device over the network, a second request that includes the address and the port number;

determining that the port number is included in a predetermined list of port numbers;

responsive to determining that the port number is on the predetermined list of port numbers, modifying the second request by removing the port number; and sending the modified second request to the address

wherein the address includes a first port number and the port number is a second port number different than the first port number, and modifying the second request includes inserting the first port number into the second request;

receiving, from a device over a network, a third request that comprises a second address and a third port number;

in response to receiving the third request, determining that the third request is not to be redirected based at least in part on information included in the third request; and

in response to determining that the third request is not to be redirected, sending the third request to the second address.

17. The system of claim 16 , the operations further comprising maintaining data that corresponds, for each of a plurality of port numbers, a corresponding modified port number.

18. The system of claim 17 wherein: determining that the first request is to be redirected based at least in part on information included in the first request comprises determining that first port number matches one of the plurality of port numbers in the maintained data.

19. The system of claim 18 , wherein the second port number is the modified port number that corresponds to the matched port number in the plurality of port numbers in the maintained data.

20. The system of claim 16 , the operations further comprising: receiving a message from the address, the message comprising the first port number; modifying the message by replacing the first port number with the second port number; and sending the message to the device.

21. The system of claim 16 wherein the first request and the second request are Hypertext Transfer Protocol (HTTP) requests.

22. The system of claim 16 wherein sending, to the device over the network, a redirect message comprising the address and a port number is performed by a network gateway; and receiving, from the device over the network, a second request that comprises the address and the port number is performed by a proxy server that is a different device than the network gateway.

23. The system of claim 22 , wherein the proxy server is configured to perform, for at least some network traffic, at least one of the group consisting of sandboxing traffic, caching resources, logging traffic, and blocking traffic.

24. The system of claim 22 , wherein the proxy server handles traffic in a selective manner based on a port number of messages of the traffic.

25. The system of claim 22 , wherein the proxy server serves resources through the Web Cache Communication Protocol (WCCP).

26. The system of claim 16 , wherein sending, to the device over the network, a redirect message comprising the address and a port number is performed by a particular device; and receiving, from the device over the network, a second request that comprises the address and the port number is performed by the particular device.

Assignments (6)
SUPPLEMENTAL INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 28, 2023
From: IBOSS, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 066158/0266 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 28, 2023
From: IBOSS, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 066158/0219 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Dec 12, 2023
From: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK TRUST COMPANY
To: IBOSS, INC.
Reel/Frame 066140/0480 →
SECURITY INTEREST Recorded Sep 19, 2022
From: IBOSS, INC.
To: SILICON VALLEY BANK
Reel/Frame 061463/0331 →
SECURITY INTEREST Recorded Dec 16, 2020
From: IBOSS, INC.
To: SILICON VALLEY BANK
Reel/Frame 054789/0680 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2015
From: MARTINI, PAUL MICHAEL
To: IBOSS, INC.
Reel/Frame 035530/0874 →