Method and apparatus for facilitating distributed delivery of content across a computer network
AssigneeKontiki, Inc.
InventorsWade L Hennessey, John B. Wainwright
Life of this patent
Estimating the term…
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.
Claims70
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.
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.
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.
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.
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.
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.
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.
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.
Dependencies are inferred from the claim text.