System and method for providing a unified storage system that supports file/object duality
First Claim
Patent Images
1. A method comprising:
- storing a data entity in a network storage system;
accepting both a file protocol and an object protocol to access the data entity, wherein the data entity includes a file representation and an object representation, and further wherein the file representation of the data entity is accessed via the file protocol, and the file representation has a first set of access characteristics comprising non-atomic file-based update and retrieval, and further wherein the object representation of the data entity is accessed via the object protocol, and the object representation has a second set of access characteristics comprising object-based atomic update and retrieval;
if the file representation has been modified, copying the modified file representation to update the object representation; and
if the object representation has been modified, copying the modified object representation to update the file representation,wherein modifications made via the file protocol are accessible by the object protocol, and wherein modifications made via the object protocol are accessible by the file protocol.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems that permit file protocols and object protocols to co-exist using a file namespace and an object namespace in a unified storage system are disclosed. Data stored in the unified storage system are file-objects that preserve the behaviors expected by both file clients and object clients.
-
Citations
29 Claims
-
1. A method comprising:
-
storing a data entity in a network storage system; accepting both a file protocol and an object protocol to access the data entity, wherein the data entity includes a file representation and an object representation, and further wherein the file representation of the data entity is accessed via the file protocol, and the file representation has a first set of access characteristics comprising non-atomic file-based update and retrieval, and further wherein the object representation of the data entity is accessed via the object protocol, and the object representation has a second set of access characteristics comprising object-based atomic update and retrieval; if the file representation has been modified, copying the modified file representation to update the object representation; and if the object representation has been modified, copying the modified object representation to update the file representation, wherein modifications made via the file protocol are accessible by the object protocol, and wherein modifications made via the object protocol are accessible by the file protocol. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
creating a plurality of representations of a data entity stored in a network storage system; upon receiving a file protocol request to access the data entity, non-atomically retrieving or non-atomically updating a first representation of the plurality of representations stored in the network storage system; upon receiving an object protocol request to access the data entity, atomically retrieving or atomically updating a second representation of the plurality of representations, wherein a file namespace is used by the file protocol to locate the first representation, and an object namespace is used by the object protocol to locate the second representation; if the first representation has been modified, copying the modified first representation to update the second representation; and if the second representation has been modified, copying the modified second representation to update the first representation, wherein modifications made via the file protocol are accessible via the object protocol, and modifications made via the object protocol are accessible via the file protocol, and further wherein copying comprises basic copying, copying on write, cloning or delayed copying. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A method of providing a unified storage system that supports both object protocols and file protocols, comprising:
-
if a file protocol update of a file representation of a data entity is to be performed; writing the file protocol update to the file representation; and copying contents of the updated file representation to update an object representation of the data entity; and if an object protocol update of the object representation of the data entity is to be performed; copying the object representation to a new object representation; applying the object protocol update to the new object representation; and copying contents of the new object representation to update the file representation, wherein the file representation is linked to the object representation and the object protocol operates upon object representations, and a file protocol operates upon file representations, and further wherein copying comprises basic copying, copying on write, cloning or delayed copying. - View Dependent Claims (15, 16, 17)
-
-
18. A network storage server system, comprising:
-
a receiving module configured to receive a request from a client to access a data entity stored in a network storage system, wherein the data entity comprises a first representation that is accessed using a file protocol, and a second representation that is accessed using an object protocol, an object identifier module configured to allocate an object identifier to the second representation; a file namespace module configured to create a namespace redirector in a file namespace that points to the first representation; an object namespace module configured to create an object location redirector in an object namespace that points to the second representation; and a copying module configured to copy the first representation to update the second representation when the first representation has been modified and to copy the second representation to update the first representation when the second representation has been modified, wherein the first representation is modified non-atomically, and further wherein the second representation is modified atomically. - View Dependent Claims (19, 20)
-
-
21. A non-transitory machine readable medium storing instructions which when executed by a machine, cause the machine to:
-
store a data entity in a network storage system; accept both a file protocol and an object protocol to access the data entity, wherein the data entity includes a file representation and an object representation, and further wherein the file representation of the data entity is accessed via the file protocol, and the file representation has a first set of access characteristics comprising non-atomic file-based update and retrieval, and further wherein the object representation of the data entity is accessed via the object protocol, and the object representation has a second set of access characteristics comprising object-based atomic update and retrieval; if the file representation has been modified, copy the modified file representation to update the object representation; and if the object representation has been modified, copy the modified object representation to update the file representation, wherein modifications made via the file protocol are accessible by the object protocol, and wherein modifications made via the object protocol are accessible by the file protocol. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
-
28. A method comprising:
-
storing a data entity in a network storage system; maintaining two representations of the data entity, wherein a first representation has a first set of access characteristics comprising non-atomic update and retrieval, and a second representation has a second set of access characteristics comprising non-atomic update and retrieval; accepting both a first protocol and an second protocol to access the data entity, wherein the first representation of the data entity is accessed via the first protocol, and the second representation of the data entity is accessed via the second protocol; if the first representation has been modified, copying the modified first representation to update the second representation; and if the second representation has been modified, copying the modified second representation to update the first representation, wherein modifications made via the first protocol are accessible by the second protocol, and wherein modifications made via the second protocol are accessible by the first protocol. - View Dependent Claims (29)
-
Specification