IP Library Granted Patent US 9,450,804
Granted Patent B2
US 9,450,804 · App. 12/553,769 · Granted Sep 20, 2016

Anycast aware transport for content distribution networks

Inventors: Jacobus Van der Merwe (New Providence, NJ); Zakaria Al-Qudah (Florham Park, NJ); Seungjoon Lee (Springfield, NJ); Michael Boris Rabinovich (Solon, OH); Oliver Spatscheck (Randolph, NJ)
Assignee: AT&T INTELLECTUAL PROPERTY I, L.P.
H04L29/08729H04L67/1002
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,450,804
App. No.
12/553,769
Granted
Sep 20, 2016
Kind
B2
Abstract

A system for providing content includes a plurality of content delivery servers and a routing control module. Each of the content delivery servers is configured to receive a first request from a client system sent to an anycast IP address for the content, and to provide a first portion of the content to the client system. Each of the content delivery servers is further configured to receive a second request from the client system sent to the anycast IP address for a second portion of the content, and to provide the second portion of the content to the client system. The routing control module is configured to modify the routing of the anycast address from a first content delivery server to a second content delivery server.

Claims (54)

1. A system for providing content, comprising:

a first hardware content delivery server comprising:

a first memory that stores first instructions;

a first processor that executes the first instructions to perform first operations, the first operations comprising:

receiving, from a client system, a request for the content that is sent to an anycast internet protocol address;

establishing a connection between the first hardware content delivery server and the client system;

providing a first portion of the content through the connection to the client system;

identifying a connection error; and

terminating the connection to the client system in response to identifying the connection error; and

a second content delivery server comprising:

a second memory that stores second instructions;

a second processor that executes the second instructions to perform second operations, the second operations comprising:

receiving an unexpected acknowledgement from the client system;

sending a first connection reset message to the client system in response to the unexpected acknowledgement;

receiving a second request from the client system sent to the anycast internet protocol address for a second portion of the content in response to the first connection reset message, wherein the second request includes a range request for the second portion of the content; and

providing the second portion of the content, wherein a slow-start phase is skipped when providing the second portion of the content, wherein a second connection reset message sent by the first hardware content delivery server is ignored when the connection between the first hardware content delivery server and the client system is closed.

2. The system of claim 1 , wherein identifying a connection error includes failing to receive a confirmation in response to sending a content packet.

3. The system of claim 2 , wherein identifying a connection error further includes resending the content packet not more than once.

4. The system of claim 1 , wherein the range request identifies the second portion of the content.

5. The system of claim 1 , wherein the connection error is a result of a routing change.

6. The system of claim 1 , wherein the range request indicates a beginning of the second portion of the content.

7. A method for providing content, comprising:

receiving, from a client system, a request for the content that is sent to an anycast internet protocol address;

establishing a connection between a first content delivery server and the client system;

providing a first portion of the content through the connection to the client system;

identifying a connection error;

terminating, by utilizing first instructions from a first memory that are executed by a first processor of the first content delivery server, the connection to the client system in response to identifying the connection error;

receiving an unexpected acknowledgement from the client system;

sending, by utilizing second instructions from a second memory that are executed by a second processor of a second content delivery server, a first connection reset message to the client system in response to the unexpected acknowledgement;

receiving a second request from the client system sent to the anycast internet protocol address for a second portion of the content in response to the first connection reset message, wherein the second request includes a range request for the second portion of the content; and

providing the second portion of the content, wherein a slow-start phase is skipped when providing the second portion of the content, wherein a second connection reset message sent by the first content delivery server is ignored when the connection between the first content delivery server and the client system is closed.

8. The method of claim 7 , wherein identifying a connection error includes failing to receive a confirmation in response to sending a content packet.

9. The method of claim 8 , wherein identifying a connection error further includes resending the content packet not more than once.

10. The method of claim 7 , wherein the range request identifies the second portion of the content.

11. The method of claim 7 , wherein the connection error is a result of a routing change.

12. The method of claim 7 , wherein range request indicates a beginning of the second portion of the content.

13. A computer-readable storage device for providing content, the computer-readable storage device comprising first instructions, which when loaded and executed by a first processor of a first content delivery server, cause the first processor to perform first operations, the first operations comprising:

receiving, from a client system, a request for the content that is sent to an anycast internet protocol address;

establishing a connection between the first content delivery server and the client system;

providing a first portion of the content through the connection to the client system;

identifying a connection error; and

terminating the connection to the client system in response to identifying the connection error; and

wherein the computer-readable storage device further comprises second instructions, which when loaded and executed by a second processor of a second content delivery server, cause the second processor to perform second operations, the second operations comprising:

receiving an unexpected acknowledgement from the client system;

sending a first connection reset message to the client system in response to the unexpected acknowledgement;

receiving a second request from the client system sent to the anycast internet protocol address for a second portion of the content in response to the first connection reset message, wherein the second request includes a range request for the second portion of the content; and

providing the second portion of the content, wherein a slow-start phase is skipped when providing the second portion of the content, wherein a second connection reset message sent by the first hardware content delivery server is ignored when the connection between the first hardware content delivery server and the client system is closed.

14. The computer-readable storage device of claim 13 , wherein identifying a connection error includes failing to receive a confirmation in response to sending a content packet.

15. The computer-readable storage device of claim 14 , wherein identifying a connection error further includes resending the content packet not more than once.

16. The computer-readable storage device of claim 13 , wherein the range request identifies the second portion of the content.

17. The computer-readable storage device of claim 13 , wherein the connection error is a result of a routing change.

18. The computer-readable storage device of claim 13 , wherein range request indicates a beginning of the second portion of the content.

19. The computer-readable storage device of claim 13 , wherein the second operations further comprise initiating transfer of the second portion of the content in a congestion avoidance phase.

20. The method of claim 7 , wherein the second operations further comprising initiating transfer of the second portion of the content in a congestion avoidance phase.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2009
From: VAN DER MERWE, JACOBUS; AL-QUDAH, ZAKARIA; LEE, SEUNGJOON; RABINOVICH, MICHAEL BORIS; SPATSCHECK, OLIVER
To: AT&T INTELLECTUAL PROPERTY I, LP
Reel/Frame 023192/0398 →
Continuity (1)
Related Publication 20110055316A1 · Mar 3, 2011