GLOBAL LOAD BASED FILE ALLOCATION AMONG A PLURALITY OF GEOGRAPHICALLY DISTRIBUTED STORAGE NODES
First Claim
1. A method for balancing loads on a plurality of geographically distributed storage nodes coupled to a communications network, comprising:
- receiving a request from a user device to download a data file;
identifying all storage nodes from a plurality of geographically distributed storage nodes containing the requested data file;
selecting a first storage node containing the requested file to serve the request; and
determining if the first storage node is too busy, wherein if the first storage node is determined not to be too busy, directing the request to the first storage node, otherwise searching for a second storage node containing the requested data file that is not too busy and, if the second storage node is found, directing the request to the second storage node.
7 Assignments
0 Petitions
Accused Products
Abstract
A method for balancing loads on a plurality of geographically distributed storage nodes coupled to a communications network, includes: receiving a request from a user device to download a data file; identifying all storage nodes from a plurality of geographically distributed storage nodes containing the requested data file; selecting a first storage node containing the requested file to serve the request; and determining if the first storage node is too busy, wherein if the first storage node is determined not to be too busy, directing the request to the first storage node, otherwise searching for a second storage node containing the requested data file that is not too busy and, if the second storage node is found, directing the request to the second storage node.
-
Citations
31 Claims
-
1. A method for balancing loads on a plurality of geographically distributed storage nodes coupled to a communications network, comprising:
-
receiving a request from a user device to download a data file; identifying all storage nodes from a plurality of geographically distributed storage nodes containing the requested data file; selecting a first storage node containing the requested file to serve the request; and determining if the first storage node is too busy, wherein if the first storage node is determined not to be too busy, directing the request to the first storage node, otherwise searching for a second storage node containing the requested data file that is not too busy and, if the second storage node is found, directing the request to the second storage node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for balancing loads on a plurality of geographically distributed storage nodes coupled to a communications network, comprising:
-
a web services interface operable to receive a request from a user device to download a data file, wherein the user device is associated with an internet protocol (IP) address; a database containing one or more data tables correlating a plurality of IP addresses to a plurality of geocode values, each geocode value corresponding to a specified geographic region, and assigning at least one of a plurality of geographically distributed storage nodes to serve user devices associated with each geocode value, the one or more tables further identifying one or more storage nodes wherein each of a plurality of data files are stored; and a server coupled to the database, the server comprising; a first module for receiving a request from a user device to download a data file; a second module for identifying all storage nodes from a plurality of geographically distributed storage nodes containing the requested data file; a third module for selecting a first storage node containing the requested file to serve the request; and a fourth module for determining if the first storage node is too busy, wherein if the first storage node is determined not to be too busy, directing the request to the first storage node, otherwise searching for a second storage node containing the requested data file that is not too busy and, if the second storage node is found, directing the request to the second storage node. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer readable medium storing computer executable instructions that when executed perform a process for balancing loads on a plurality of geographically distributed storage nodes, the instructions comprising:
-
a first code module for receiving a request from a user device to download a data file; a second code module for identifying all storage nodes from a plurality of geographically distributed storage nodes containing the requested data file; a third code module for selecting a first storage node containing the requested file to serve the request; and a fourth code module for determining if the first storage node is too busy, wherein if the first storage node is determined not to be too busy, directing the request to the first storage node, otherwise searching for a second storage node containing the requested data file that is not too busy and, if the second storage node is found, directing the request to the second storage node. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31)
-
Specification