Lookup partitioning storage system and method
First Claim
1. A computer implemented method of managing access to a storage resource for one of a plurality of network-based applications in a multiple server storage system, the method comprising:
- obtaining a resource identifier from a front end server;
utilizing the resource identifier to lookup, in a resource lookup store of a lookup partitioning service server, a partition of a storage server associated with the resource identifier;
in an event the partition of the storage server is associated with the resource identifier, granting access to the storage resource by providing a location of the partition of the storage server to the front end server; and
in an event no partition of the storage server is associated with the resource identifier;
failing to locate a mapping to the storage resource;
determining a load balancing factor for each storage partition of a plurality of storage partitions;
using the load balancing factors to determine a new storage partition in which a new storage resource should be created and creating the new storage resource in the new storage partition;
mapping the resource identifier to the new storage partition in the resource lookup store; and
providing a location of the new storage partition to the front end server,wherein determining a load balancing factor for each storage partition comprises;
given n storage partitions, determining the number of mapping counts C for each of the n storage partitions; and
calculating a load balancing factor (LBFm) for each storage partition m using the following;
LBFm=(1/Cm)/(1/C1+1/C2+ . . . +1/Cn).
3 Assignments
0 Petitions
Accused Products
Abstract
A method, system, and computer-readable medium for accessing and managing an online storage system is disclosed. Access to a storage resource in a multiple server storage system is provided by sending to a lookup partitioning service server a resource identifier that is associated with a storage resource stored in a particular storage partition of a storage server. The LPS returns the looked-up partition that stores the storage resource associated with the resource identifier. Access to the storage resource is then enabled to the looked-up storage partition.
22 Citations
20 Claims
-
1. A computer implemented method of managing access to a storage resource for one of a plurality of network-based applications in a multiple server storage system, the method comprising:
-
obtaining a resource identifier from a front end server; utilizing the resource identifier to lookup, in a resource lookup store of a lookup partitioning service server, a partition of a storage server associated with the resource identifier; in an event the partition of the storage server is associated with the resource identifier, granting access to the storage resource by providing a location of the partition of the storage server to the front end server; and
in an event no partition of the storage server is associated with the resource identifier;failing to locate a mapping to the storage resource; determining a load balancing factor for each storage partition of a plurality of storage partitions; using the load balancing factors to determine a new storage partition in which a new storage resource should be created and creating the new storage resource in the new storage partition; mapping the resource identifier to the new storage partition in the resource lookup store; and providing a location of the new storage partition to the front end server, wherein determining a load balancing factor for each storage partition comprises; given n storage partitions, determining the number of mapping counts C for each of the n storage partitions; and calculating a load balancing factor (LBFm) for each storage partition m using the following;
LBFm=(1/Cm)/(1/C1+1/C2+ . . . +1/Cn). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer readable storage medium containing computer-executable instructions for performing a method of managing access to a storage resource for one of a plurality of network-based applications in a multiple server storage system, the computer-executable instructions comprising instructions comprising:
-
receiving a resource identifier associated with the storage resource from a front end server; utilizing the resource identifier to lookup, in a resource lookup store of a lookup partitioning service server, a storage partition associated with the resource identifier; in an event the storage partition is associated with the resource identifier; locating the storage partition of a storage server; and sending the location of the storage partition to the front end server to grant access to the storage resource; and in an event the storage partition is not associated with the resource identifier; failing to locate a mapping to the storage resource; determining a load balancing factor for each storage partition of a plurality of storage partitions; using the load balancing factors to determine a new storage partition in which a new storage resource should be created and creating the new storage resource in the new storage partition; mapping the resource identifier to the new storage partition in the resource lookup store; and sending a location of the new storage partition to the front end server, wherein determining a load balancing factor for each storage partition comprises; given n storage partitions, determining the number of mapping counts C for each of the n storage partitions; and calculating a load balancing factor (LBFm) for each storage partition m using the following;
LBFm=(1/Cm)/(1/C1+1/C2+ . . . +1/Cn. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A lookup partitioning server comprising:
-
a processing unit; at least one primary lookup partition; and at least two redundant lookup partitions which mirror two respective different primary lookup partitions stored on other look-up partitioning servers; a memory configured to store computer-executable instructions configured to manage access to a plurality of storage resources at a plurality of storage servers, the computer-executable instructions performing acts comprising; receiving a resource identifier associated with a storage resource from a front end server; utilizing the resource identifier to lookup, in a resource lookup store, a storage partition associated with the resource identifier; in an event a particular storage partition is associated with the resource identifier; locating the particular storage partition of a storage server; and sending a location of the particular storage partition of the storage server to the front end server to grant access to the storage resource; and in an event no particular storage partition is associated with the resource identifier; failing to locate a mapping to the storage resource; determining a load balancing factor for each storage partition of a plurality of storage partitions; using the load balancing factors to determine a new storage partition in which a new storage resource should be created and creating the new storage resource in the new storage partition; mapping the resource identifier to the new storage partition in the resource lookup store; and sending a location of the new storage partition to the front end server, wherein determining a load balancing factor for each storage partition comprises; given n storage partitions, determining the number of mapping counts C for each of the n storage partitions; and calculating a load balancing factor (LBFm) for each storage partition m using the following;
LBFm=(1/Cm)/(1/C1+1/C2+ . . . +1/Cn. - View Dependent Claims (20)
-
Specification