Reliably storing information across multiple computers such as in a hive of computers
First Claim
1. A method for reliably storing information across a plurality of computers networked together, each of the plurality of computers including a storage mechanism, said information including a plurality of information units, the method comprising:
- generating at least one protection unit based on the plurality of information units such that said information can be recreated using less than all of said information units and at least one of said at least one protection unit, wherein a data unit of a plurality of data units is defined as one or more information units of the plurality of information units, one or more protection units of said at least one protection unit, or a combination of one or more information units of the plurality of information units and one or more protection units of said at least one protection unit; and
wherein each of said information units are included in at least one of the plurality of data units and each of said at least one protection unit are included in at least one of the plurality of data units; and
initiating storage on each of the plurality of computers of at least one data unit of the plurality of data units such that each data unit in the plurality of data units is stored in at least one of the plurality of computers;
wherein said generating and said initiating storage are performed by a particular computer of the plurality of computers; and
wherein the method includes;
the particular computer receiving an instruction to store said information from a different device, said instruction including said information and an identifier for use in storing said information.
6 Assignments
0 Petitions
Accused Products
Abstract
Disclosed are mechanisms for reliably storing information across multiple computers networked together, where each of these computers may or may not be a hive node of a hive. This information includes multiple information units. At least one protection unit is generated based on the information units such that the information can be recreated using less than all of these information units and at least one protection unit. A data unit is defined as one or more information units, one or more protection units, or a combination of information and protection units, with each information unit being included in at least one of the data units and each protection unit being included in at least one of the data units. A operation is initiated to store on each of the computers at least one data unit, such that each data unit is stored in at least one of the computers.
-
Citations
48 Claims
-
1. A method for reliably storing information across a plurality of computers networked together, each of the plurality of computers including a storage mechanism, said information including a plurality of information units, the method comprising:
-
generating at least one protection unit based on the plurality of information units such that said information can be recreated using less than all of said information units and at least one of said at least one protection unit, wherein a data unit of a plurality of data units is defined as one or more information units of the plurality of information units, one or more protection units of said at least one protection unit, or a combination of one or more information units of the plurality of information units and one or more protection units of said at least one protection unit; and
wherein each of said information units are included in at least one of the plurality of data units and each of said at least one protection unit are included in at least one of the plurality of data units; andinitiating storage on each of the plurality of computers of at least one data unit of the plurality of data units such that each data unit in the plurality of data units is stored in at least one of the plurality of computers; wherein said generating and said initiating storage are performed by a particular computer of the plurality of computers; and
wherein the method includes;
the particular computer receiving an instruction to store said information from a different device, said instruction including said information and an identifier for use in storing said information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 47)
-
-
19. A method for use with a hive distributed storage system for storing information among a plurality of hive nodes in a reliability group of a hive, each of the plurality of hive nodes including a storage mechanism, said information including a plurality of information units, the method comprising:
-
creating the reliability group, said creating the reliability group including requesting hive volunteers and receiving responses, and selecting the plurality of hive nodes from said responses; generating at least one protection unit based on the plurality of information units such that said information can be recreated using less than all of said information units and at least one of said at least one protection unit, wherein a data unit of a plurality of data units is defined as one or more information units of the plurality of information units, one or more protection units of said at least one protection unit, or a combination of one or more information units of the plurality of information units and one or more protection units of said at least one protection unit; and
wherein each of said information units are included in at least one of the plurality of data units and each of said at least one protection unit are included in at least one of the plurality of data units; andstoring on each of said hive nodes at least one data unit of the plurality of data units such that each data unit in the plurality of data units is stored in at least one of said hive nodes. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
38. A method for reliably storing information across different groups of computers, each of said different groups including a plurality of computers networked together, each of said computers including a storage mechanism, the method comprising:
-
reliability storing first information across a first group of said different groups of computers; and reliability storing second information across a second group of said different groups of computers, wherein the first group of computers includes at least one computer different that the second groups of computers; wherein said reliably storing said respective information, with said respective information including a plurality of information units, includes;
generating at least one protection unit based on the plurality of information units such that said respective information can be recreated using less than all of said information units and at least one of said at least one protection unit, wherein a data unit of a plurality of data units is defined as one or more information units of the plurality of information units, one or more protection units of said at least one protection unit, or a combination of one or more information units of the plurality of information units and one or more protection units of said at least one protection unit; and
wherein each of said information units are included in at least one of the plurality of data units and each of said at least one protection unit are included in at least one of the plurality of data units; and
initiating storage on each of the plurality of computers of said respective group of computers of at least one data unit of the plurality of data units such that each data unit in the plurality of data units is stored in at least one of the plurality of computers of said respective group of computers;wherein the first and second groups of computers each consist of a different number of computers, and said generating at least one protection unit includes using an (n, k) threshold scheme, wherein the plurality of data units consists of n data units; and
wherein a minimum of k of the plurality of data units are required to recreate said information; and
wherein said k used for storing said first information across the first group of computers is different than k used for storing said second information across the second group of computers. - View Dependent Claims (39, 48)
-
-
40. A method for use with a hive distributed storage system for storing information units among a plurality of hive nodes in a reliability group of a hive, each of the plurality of hive nodes including a storage mechanism, said information including an information unit, the method comprising:
-
creating the reliability group, said creating the reliability group including requesting hive volunteers and receiving responses, and selecting the plurality of hive nodes from said responses; generating one protection unit based on the information unit such that said information can be recreated from the information unit or the protection unit, wherein a data unit of a plurality of data units is defined as the information unit or the protection unit; and
wherein the information unit is included in one of the plurality of data units and the protection unit is included in one of the plurality of data units; andstoring on each of said hive nodes at least one data unit of the plurality of data units such that each data unit in the plurality of data units is stored in at least one of said hive nodes. - View Dependent Claims (41, 42, 43, 44, 45, 46)
-
Specification