Method and apparatus for managing a plurality of servers in a content delivery network
First Claim
1. A method for managing a plurality of servers in a content delivery network comprising:
- distributing one or more incoming tasks to one or more available servers in a network node, said network node having a plurality of servers capable of processing said one or more incoming tasks, wherein said one or more available servers comprises a functioning subset of said plurality of servers;
maintaining a list of tasks for each of said one or more available servers of said network node, said list of tasks comprising all tasks from said one or more incoming tasks distributed to said each of said one or more available servers;
distributing said all tasks from said list of tasks of a server of said plurality of servers that becomes designated as an unavailable server to said one or more available servers.
3 Assignments
0 Petitions
Accused Products
Abstract
Large payload files are selectively partitioned in blocks and the blocks distributed to a plurality of distribution stations at the edge of the network qualified to have the data. Each qualified station decides how much and what portion of the content to save locally, based on information such as network location and environment, usage, popularity, and other distribution criteria defined by the content provider. Different pieces of a large payload file may be available from different nodes, however, when a user requests access to the large payload file, for example, through an application server, a virtual file control system creates an illusion that the entire file is present at the connected node. However, since only selective portions of the large payload file may actually be resident at that node'"'"'s storage at the time of request, a cluster of distribution servers at the distribution station may download the non-resident portions of the file as the application server is servicing the user. The download may be in parallel and usually from the least congested nodes. New nodes added to the network learn from other nodes in the network what content they should have and download the required content, in a desired amount, onto their local storage devices from the nearest and least congested nodes without interrupting network operation. Each node manages its local storage and decides what content to prune based on information such as usage patterns.
652 Citations
25 Claims
-
1. A method for managing a plurality of servers in a content delivery network comprising:
-
distributing one or more incoming tasks to one or more available servers in a network node, said network node having a plurality of servers capable of processing said one or more incoming tasks, wherein said one or more available servers comprises a functioning subset of said plurality of servers;
maintaining a list of tasks for each of said one or more available servers of said network node, said list of tasks comprising all tasks from said one or more incoming tasks distributed to said each of said one or more available servers;
distributing said all tasks from said list of tasks of a server of said plurality of servers that becomes designated as an unavailable server to said one or more available servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for managing a plurality of servers in a content delivery network comprising:
-
selecting a master server amongst a plurality of servers in a network node, said selecting being performed by said plurality of servers, wherein said plurality of servers are configured to execute one or more incoming tasks;
distributing said one or more incoming tasks to one or more available servers of said plurality of servers, said one or more incoming tasks comprising jobs to be executed by at least one of said one or more available servers, wherein said one or more available servers comprises a functioning subset of said plurality of servers;
maintaining a job queue for each of said one or more available servers of said network node, said job queue comprising all tasks from said one or more incoming tasks distributed to said each of said one or more available servers;
distributing, by said master server to said one or more available servers, all jobs from said job queue of each of said plurality of servers that becomes designated as an unavailable server.
-
-
10. A method for managing a plurality of servers in a content delivery network comprising:
-
selecting a master server amongst a plurality of servers in a network node, said selecting being performed by said plurality of servers, wherein said plurality of servers are configured to perform a set of tasks;
distributing one or more incoming tasks to one or more available servers in said node, said tasks being treated as jobs by each of said one or more available servers, wherein said one or more available servers is a functioning subset of said plurality of servers;
maintaining a job queue for each of said one or more available servers of said network node, said job queue comprising all tasks from said one or more incoming tasks distributed to said each of said one or more available servers;
registering a heartbeat in a database associated with said one or more available servers, wherein said one or more available servers watch each other'"'"'s heartbeat and use said heartbeat to declare a server as an unavailable server when said server misses a number of heartbeats;
distributing, by said master server to said one or more available servers, all jobs from said job queue of each of said plurality of servers that becomes designated as an unavailable server.
-
-
11. A computer program product comprising:
-
a computer usable medium comprising computer readable code for managing a plurality of servers in a content delivery network, said computer readable program code configured to;
distribute one or more incoming tasks to one or more available servers in a network node, said network node having a plurality of servers capable of processing said one or more incoming tasks, wherein said one or more available servers comprises a functioning subset of said plurality of servers;
maintain a list of tasks for each of said one or more available servers of said network node, said list of tasks comprising all tasks from said one or more incoming tasks distributed to said each of said one or more available servers;
distribute said all tasks from said list of tasks of a server of said plurality of servers that becomes designated as an unavailable server to said one or more available servers. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25)
-
-
19. An apparatus for managing a plurality of servers in a content delivery network comprising:
-
a network node having a plurality of servers capable of performing identical tasks;
a load balancer distributing one or more incoming tasks to one or more available servers in said network node, wherein said one or more available servers is a functioning subset of said plurality of servers, each of said plurality of servers maintaining a list of tasks containing said incoming tasks distributed to it;
a master server distributing to said one or more available servers all tasks from said list of tasks of a server of said plurality of servers that becomes designated as an unavailable server.
-
Specification