Patent ID: 8386840
Filing Date: 2013-02-26
Classification: G06F

Abstract:
1. A distributed object storage system, comprising: a plurality of redundant storage elements, operable to store and retrieve a data object comprising a data object identifier in the form of a predetermined number of redundant sub blocks comprising said data object identifier, said predetermined number corresponding to a predetermined multiple of a desired spreading width, wherein said desired spreading width consists of the sum of: each one of said redundant sub blocks comprising: a plurality of storage nodes each comprising a share of said plurality of redundant storage elements; and at least one controller node, operably connected to or comprised within said storage nodes when storing or retrieving said data object, comprising: a monitoring agent, operably connected to said storage nodes when monitoring said data object, and operable to: and wherein: the distributed object storage system further comprises a maintenance agent operably connected to said controller node when repairing said repair data object, and operable to perform the following steps when executing said repair task: said maintenance agent determining said repair data object identifier comprised within said repair task; said maintenance agent instructing said clustering module to retrieve said predetermined number of sub blocks comprising said repair data object identifier, said clustering module subsequently retrieving a number of collected sub blocks equal to or greater then said predetermined multiple of said minimal spreading requirement; said maintenance agent determining a number of missing sub blocks which corresponds to the number of sub blocks said clustering module is not able to collect; said maintenance agent instructing said decoding module to assemble said repair data object from said number of collected sub blocks; said maintenance agent instructing said encoding module to disassemble said repair data object into a specific number of repair sub blocks, said specific number being equal to or greater than said number of missing sub blocks and less then said predetermined number of sub blocks; and said maintenance agent instructing said spreading module to store said number of repair sub blocks, said spreading module subsequently storing said number of repair sub blocks, such that said repair sub blocks and said collected sub blocks are stored on a number of said storage elements that is larger or equal to said desired spreading width.