Efficiently managing modular data storage systems
First Claim
1. A method for efficiently managing a modular data storage system which stores a plurality of data objects, the method comprising:
- an act of determining that a first plurality of containers is available for storing a plurality of data objects, wherein the plurality of data objects comprises e-mail messages, and wherein the number and identity of the plurality of data objects is subject to change;
an act of defining a previous set of one or more location maps associated with the data storage system, wherein the previous set of one or more location maps deterministically maps the plurality of data objects to a corresponding one or more containers of the first plurality of containers;
an act of using the previous set of one or more location maps to store at least some of the plurality of data objects in respective containers of the first plurality of containers;
an act of determining that there has been or is to be a change in the availability of containers of the first plurality of containers to a subsequent second plurality of containers that is available for storing the plurality of data objects;
an act of defining a second location map associated with the data storage system, wherein the second location map deterministically maps the plurality of data objects to a corresponding one or more containers of the second plurality of containers, wherein the second plurality of containers may, but need not, at least partially overlap the first plurality of containers such that one or more containers may be members of both the first and second plurality of containers;
an act of using the second location map to store at least some of the plurality of data objects in respective containers of the second plurality of containers; and
an act of searching for at least one data object stored in the first or second plurality of containers, comprising;
an act of using at least one of the previous set of one or more location maps to determine whether the at least one data object is stored in the first plurality of containers; and
an act of using the second location map to determine whether the at least one data object is stored in the second plurality of containers.
3 Assignments
0 Petitions
Accused Products
Abstract
The management of a data storage system. The system may store data objects that are subject to change in container sets. The data storage system uses location maps to map the data objects to a corresponding container. When there has been, or will be, a change in the availability of containers, a new location map is created which maps the data objects to a new potentially overlapping set of containers. New data objects are added to the new set of containers, and a data object is found by searching all location maps. As an alternative or as an addition to this system, data objects may be stored in a manner that they may be efficiently removed when a condition is met. A container is created which stores all data objects to be removed when the condition occurs. When the condition occurs, the container is removed.
-
Citations
11 Claims
-
1. A method for efficiently managing a modular data storage system which stores a plurality of data objects, the method comprising:
-
an act of determining that a first plurality of containers is available for storing a plurality of data objects, wherein the plurality of data objects comprises e-mail messages, and wherein the number and identity of the plurality of data objects is subject to change; an act of defining a previous set of one or more location maps associated with the data storage system, wherein the previous set of one or more location maps deterministically maps the plurality of data objects to a corresponding one or more containers of the first plurality of containers; an act of using the previous set of one or more location maps to store at least some of the plurality of data objects in respective containers of the first plurality of containers; an act of determining that there has been or is to be a change in the availability of containers of the first plurality of containers to a subsequent second plurality of containers that is available for storing the plurality of data objects; an act of defining a second location map associated with the data storage system, wherein the second location map deterministically maps the plurality of data objects to a corresponding one or more containers of the second plurality of containers, wherein the second plurality of containers may, but need not, at least partially overlap the first plurality of containers such that one or more containers may be members of both the first and second plurality of containers; an act of using the second location map to store at least some of the plurality of data objects in respective containers of the second plurality of containers; and an act of searching for at least one data object stored in the first or second plurality of containers, comprising; an act of using at least one of the previous set of one or more location maps to determine whether the at least one data object is stored in the first plurality of containers; and an act of using the second location map to determine whether the at least one data object is stored in the second plurality of containers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for efficiently administering a spam quarantine system which stores a plurality of spam e-mail messages, the method comprising:
-
an act of determining that a first plurality of containers is available for storing a plurality of spam e-mail messages, wherein the number and identity of the plurality of spam e-mail messages is subject to change; an act of defining a first hash map associated with the spam quarantine system, wherein the first hash map defines a range of hash values which are distributed across the first plurality of containers, and wherein the first hash map deterministically maps each hash value of the range of hash values to one container of the first plurality of containers; an act of using the first hash map to store at least some of the plurality of spam e-mail messages in respective containers of the first plurality of containers; an act of determining that one or more containers has been or will be added to the first plurality of containers to define a subsequent second plurality of containers that is available for storing the plurality of spam e-mail messages; an act of defining a second hash map associated with the spam quarantine system, wherein the second hash map defines a same range of hash values defined by the first hash map but which are distributed across the second plurality of containers, and wherein the second hash map deterministically maps each hash value of the same range of hash values to one container of the second plurality of containers, and further wherein the second plurality of containers may, but need not, at least partially overlap the first plurality of containers such that one or more containers may be members of both the first and second plurality of containers; an act of using the second hash map to store at least some of the plurality of spam e-mail messages in respective containers of the second plurality of containers; an act of searching for at least one of the plurality of spam e-mail messages stored in the first or second plurality of containers, comprising; an act of using the first hash map to determine whether the at least one of the plurality of spam e-mail messages is stored in the first plurality of containers; and an act of using the second hash map to determine whether the at least one of the plurality of spam e-mail messages is stored in the second plurality of containers; an act of determining that the first hash map is no longer valid when all data objects mapped by the first hash map are determined to no longer be valid; and in response to determining that the first hash map is no longer valid, an act of removing the first hash map.
-
Specification