Object file system
First Claim
1. A method for accessing objects comprising:
- object access software on a server receiving from an application program an object write request, the write request including an object comprised of object data and meta datathe object access software selecting a best storage node from a plurality of storage nodes on which to store the object including identifying and evaluating among a least busy storage node, a most used storage node and a least full storage node of the plurality of storage nodesthe object access software selecting at least one additional storage node from the plurality of storage nodes on which to store the objectthe object access software sending the object and the object write request to the best storage node and concurrently sending the object to the at least one additional storage nodethe object access software receiving a first write success message from the best storage node, the first write success message including an object identifier, the object identifier including a version identifier, a location identifier and a unique identifierthe object access software receiving a second write success message from the additional storage nodethe object access software reporting successful writing of the object to the application programthe object access software storing the object identifier and object data in a databasethe object access software receiving a read request for a requested object specifying the object identifierthe object access software selecting to obtain the requested object from between at least the best storage node and the additional storage node according to criteria including a shortest path, a highest speed connection, and a least accessed.
5 Assignments
0 Petitions
Accused Products
Abstract
An object based file system for storing and accessing objects is disclosed. The file system may be implemented as a method in hardware, firmware, software, or a combination thereof. The method may include receiving from an application program an object write request. A selected storage node on which to store the object may be selected, including identifying a least busy storage node and/or a least full storage node. The object and the object write request may be sent to the selected storage node. A write success message may be received from the selected storage node. The successful writing of the object may be reported to the application program. An object identifier and object data may be stored in a database.
21 Citations
22 Claims
-
1. A method for accessing objects comprising:
-
object access software on a server receiving from an application program an object write request, the write request including an object comprised of object data and meta data the object access software selecting a best storage node from a plurality of storage nodes on which to store the object including identifying and evaluating among a least busy storage node, a most used storage node and a least full storage node of the plurality of storage nodes the object access software selecting at least one additional storage node from the plurality of storage nodes on which to store the object the object access software sending the object and the object write request to the best storage node and concurrently sending the object to the at least one additional storage node the object access software receiving a first write success message from the best storage node, the first write success message including an object identifier, the object identifier including a version identifier, a location identifier and a unique identifier the object access software receiving a second write success message from the additional storage node the object access software reporting successful writing of the object to the application program the object access software storing the object identifier and object data in a database the object access software receiving a read request for a requested object specifying the object identifier the object access software selecting to obtain the requested object from between at least the best storage node and the additional storage node according to criteria including a shortest path, a highest speed connection, and a least accessed. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A storage medium having instructions stored thereon which when executed by a processor cause the processor to perform actions comprising:
-
receiving from an application program an object write request, the write request including an object comprised of object data and meta data selecting a best storage node from a plurality of storage nodes on which to store the object including identifying and evaluating among a least busy storage node, a most used storage node and a least full storage node of the plurality of storage nodes selecting at least one additional storage node from the plurality of storage nodes on which to store the object sending the object and the object write request concurrently to the best storage node and the at least one additional storage node receiving a first write success message from the selected storage node, the write success message including an object identifier, the object identifier including a version identifier, a location identifier and a unique identifier receiving a second write success message from the additional storage node reporting successful writing of the object to the application program storing the object identifier and object data in a database receiving a read request for a requested object specifying the object identifier selecting to obtain the requested object from between at least the best storage node and the additional storage node according to criteria including a shortest path, a highest speed connection, and a least accessed. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computing device to manage a plurality of storage arrays of storage devices, the computing device comprising:
-
a processor; a memory coupled with the processor; a storage medium having instructions stored thereon which when executed cause the computing device to perform actions comprising; receiving from an application program an object write request, the write request including an object comprised of object data and meta data selecting a best storage node from a plurality of storage nodes on which to store the object including identifying and evaluating among a least busy storage node, a most used storage node and a least full storage node of the plurality of storage nodes selecting at least one additional storage node from the plurality of storage nodes on which to store the object sending the object and the object write request concurrently to the best storage node and the additional storage node receiving a first write success message from the selected storage node, the write success message including an object identifier, the object identifier including a version identifier, a location identifier and a unique identifier receiving a second write success message from the additional storage node reporting successful writing of the object to the application program storing the object identifier and object data in a database receiving a read request for a requested object specifying the object identifier selecting to obtain the requested object from between at least the best storage node and the additional storage node according to criteria including a shortest path, a highest speed connection, and a least accessed. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
Specification