Patent ID: 8090792

Claim:
A method for grid storage comprising the steps of: balancing read and write requests from applications across a first group of nodes in a grid storage system for avoiding hot spots and optimizing performance through smart caching; balancing storage capacity across a second group of nodes in the grid storage system, nodes in the first and second groups being at least one of hardware interchangeable online, capable of being added to change performance or capacity of the grid storage system, and capable of being removed to change performance or capacity of the grid storage system; and self managing of the first and second groups of nodes for providing at least one of scalability, self healing after failure of components in the grid storage, non-disruptive upgrades to the grid storage system, and eliminating duplicate data on an object or sub-object level in the grid storage system; wherein the balancing steps with the first and second group of nodes comprises generating a plurality of data fragments by erasure coding a block of data and storing each of the plurality of data fragments in different physical nodes so they can be moved to maximize utilization of storage capacity; and wherein generating a plurality of data fragments by erasure coding a block of data comprises: determining a network cardinality; dividing the block of data into a number of original fragments; and creating a plurality of redundant fragments wherein the number of redundant fragments is equal to the network cardinality minus the number of original data fragments.