Method and apparatus for facilitating distributed delivery of content across a computer network
First Claim
1. A method for receiving content at a client from one or more candidate servers that can provide the content, comprising the client:
- sending a request to a directory server, the request including a range set that identifies pieces of the content that have previously been received by the client;
in response to the request, receiving a response from the directory server that includes a list of the candidate servers that can potentially provide the content;
sending a request for the content to at least one candidate server from the list of candidate servers; and
receiving the content from at least one candidate server.
4 Assignments
0 Petitions
Accused Products
Abstract
One embodiment of the present invention provides a system that facilitates receiving content at a client from one or more servers that can potentially provide the content. The client starts by sending a request for the content to a directory server. In response to the request, the client receives a list of candidate servers that can potentially provide the content from the directory server. Once the client has received the list of candidate servers, the client sends a request to one or more of the candidate servers for the content, and subsequently receives the content from one or more of the candidate servers.
234 Citations
70 Claims
-
1. A method for receiving content at a client from one or more candidate servers that can provide the content, comprising the client:
-
sending a request to a directory server, the request including a range set that identifies pieces of the content that have previously been received by the client; in response to the request, receiving a response from the directory server that includes a list of the candidate servers that can potentially provide the content; sending a request for the content to at least one candidate server from the list of candidate servers; and receiving the content from at least one candidate server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for enabling the sending of content to a client in a distributed manner, comprising:
-
receiving a request from the client at a directory server, the request including a range set that identifies pieces of the content that have previously been received by the client; sending a response to the client that includes a list of candidate servers that can potentially provide the content; and adding the client to the list of candidate servers for the content so that the client can act as a server for the content for subsequent requests from other clients for the content. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for receiving content at a client from one or more candidate servers, the method comprising:
-
sending a request to a directory server that stores information on where the content is possibly located, the request including a range set that identifies pieces of the content that have previously been received by the client; in response to the request, receiving a response from the directory server that includes a list of candidate servers; sending a request to at least one candidate server from the list of candidate servers for the content; and receiving the content from at least one candidate server. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for enabling sending of content to a client in a distributed manner, comprising:
-
receiving a request from the client at a directory server, the request including a range set that identifies pieces of the content that have previously been received by the client; sending a response to the client that includes a list of candidate servers that can potentially provide the content; and adding the client to the list of candidate servers for the content so that the client can act as a server for the content for subsequent requests from other clients for the content. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45)
-
-
46. An apparatus for receiving content at a client from one or more content servers, comprising:
-
a requesting mechanism configured to send a request to a directory server, the request including a range set that identifies pieces of the content that have previously been received by the client; a receiving mechanism configured to receive a response from the directory server that includes a list of candidate servers that can potentially provide the content; a secondary requesting mechanism configured to send a request to at least one candidate server from the list of candidate servers for the content; and a secondary receiving mechanism configured to receive the content from at least one candidate server. - View Dependent Claims (47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58)
-
-
59. An apparatus for enabling sending of content to a client in a distributed manner, comprising:
-
a receiving mechanism to receive a request from the client, the request including a range set that identifies pieces of the content that have previously been received by the client; a sending mechanism to send a response to the client that includes a list of candidate servers that can potentially provide the content; and a directory mechanism to add the client to the list of candidate servers for the content so that the client can act as a server for the content for subsequent requests from other clients for the content. - View Dependent Claims (60, 61, 62, 63, 64, 65, 66, 67, 68)
-
-
69. A means for receiving content at a client from one or more candidate servers, comprising:
-
a sending means for sending a request for a list of candidate servers to a directory server, the request including a range set that identifies pieces of the content that have previously been received by the client; a receiving means for receiving a response from the directory server that includes the list of candidate servers that can potentially provide the content; a secondary sending means for sending a request to at least one candidate server from the list of candidate servers for the content; and a secondary receiving means for receiving the content from at least one candidate server.
-
-
70. A means for enabling the sending of content to a client in a distributed manner, comprising:
-
a receiving means for receiving a request from the client at a directory server, the request including a range set that identifies pieces of the content that have previously been received by the client; a sending means for sending a response to the client that includes a list of candidate servers that can potentially provide the content; and an adding means for adding the client to the list of candidate servers for the content so that the client can act as a server for the content for subsequent requests from other clients for the content.
-
Specification