IP Library Granted Patent US 10,498,848
Granted Patent B2
US 10,498,848 · App. 15/318,478 · Granted Dec 3, 2019

Proxy node for transferring packets between a server and a client using port sharding

Inventor: Sean Hinde (Christchurch Dorset, GB)
Assignee: SANDVINE CORPORATION
H04L67/2814H04L47/11H04L47/12H04L47/24H04L67/02H04L67/2819H04L67/42H04L69/163
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,498,848
App. No.
15/318,478
Granted
Dec 3, 2019
Kind
B2
Abstract

The present disclosure relates to a proxy node 30 , a method and a computer program in a proxy node in an IP network for transferring TCP packets between a server 40 and a client 20 . The disclosure comprises modifying the port number of the server of at least one object so as to create the appearance that the at least one object, which resides on the same server, is residing on a different server, and causing the client 20 to open an additional TCP connection for the at least one object, whereby the speed of downloading web content can be accelerated.

Claims (22)

1. A method in a proxy node for transferring TCP/IP packets between a server and a client in an IP network, the proxy node being arranged in between the server and the client, wherein the method comprises:

initiating connection between the client and the server using a three-way TCP handshake protocol for establishing connection;

the client using the established connection for requesting information from the server by transferring an HTTP/GET request;

the proxy node capturing HTML response packets on their way being transferred from the server to the client;

the proxy node inspecting the content of HTML tags for each captured response packet of a type generally known to incorporate HTML data;

for each HTML tag that includes a URL pointing to either external content or content hosted directly on the origin server:

counting the number of instances of each server hostname of the resource pointed to by the HTML tag and incrementing by one for each instance, when the counting for a server exceeds a predetermined threshold value, modifying the port number of the host part of the URL in the HTML tag to append a non-standard port number and adding a prefix to the path part of the URL to indicate in the subsequent request that this URL has been subject to re-direction of the URL;

upon a client request to a modified port number of the HTML tag, intercepting the request and redirecting it to a standard port number:

prioritizing the client request, wherein the prioritization is based on the prevailing network conditions as measured by either the speed earlier page elements were delivered to the client or based on packet loss or measured delay indicative of congestion;

removing the added prefix; and

checking that the part of the prefix relating to the port number of the HTML tag matches the port number of the TCP/SYN packet.

2. A method in a proxy node according to claim 1 , wherein:

if the prefix relating to the port number of the HTML tag does not match the and the port number of the TCP/SYN packet, rejecting the connection and excluding this port number from being used in future requests to the same server address.

3. A method in a proxy node according to claim 1 , wherein the three-way TCP handshake protocol comprises a TCP/SYN packet initially being transferred from the client to the server, which server responds by transferring a TCP/SYN-ACK packet back to the client, which in turn follows up by transferring a TCP/ACK packet back to the server, whereby a new connection is established.

4. A method in a proxy node according to claim 1 , wherein the three-way TCP handshake protocol is conducted when initiating the connection between the client and the server, and after that only upon said client request to a modified port number of the HTML tag.

5. A method in a proxy node according to claim 1 , wherein the HTML tag includes a URL pointing to external content, such as img tags that point to pictures (<img src=http://“external-domain/path”>) or tags that point to script files (<link type=“script name”).

6. A method in a proxy node according to claim 1 , wherein, the HTML tag includes a URL pointing to additional resources hosted on the same server as the HTML content (/path).

7. A method according to claim 1 , wherein the prioritization is further based on occurrence of a particular URL prefix in a HTML tag.

8. A method according to claim 1 , wherein the prioritization is further based on the resource size of content associated with a particular URL in a HTML tag.

9. A method in a proxy node for according to claim 1 , wherein the predetermined threshold value is any multiple of 2 between and including 4 and 8, preferably 6.

10. A proxy node comprising one or more processors configured to transfer TCP/IP packets between a server and a client in an IP network, the proxy node being arranged in between the server and the client, wherein the proxy node is adapted for carrying out the method according to claim 1 .

11. A non-transitory computer readable storage medium having stored thereon executable instructions that, when executed by one or more processors of a computer system cause the computer system to carry out the method of claim 1 .

Assignments (5)
MERGER Recorded Dec 7, 2018
From: SANDVINE CORPORATION; SANDVINE INCORPORATED ULC; SANDVINE LTD.; SANDVINE TECHNOLOGIES (CANADA) INC.
To: SANDVINE CORPORATION
Reel/Frame 047750/0077 →
MERGER Recorded Dec 7, 2018
From: PNI CANADA ACQUIRECO CORP.; SANDVINE CORPORATION
To: PNI CANADA ACQUIRECO CORP.
Reel/Frame 047750/0326 →
CHANGE OF NAME Recorded Dec 7, 2018
From: PNI CANADA ACQUIRECO CORP.
To: SANDVINE CORPORATION
Reel/Frame 048897/0558 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2017
From: HINDE, SEAN
To: TECLO NETWORKS AG
Reel/Frame 042581/0104 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2017
From: TECLO NETWORKS AG
To: SANDVINE TECHNOLOGIES (CANADA) INC.
Reel/Frame 042581/0131 →
Continuity (1)
Related Publication 20170142216A1 · May 18, 2017