Concurrent file and object protocol access using space-efficient cloning
First Claim
1. A computer program product for providing concurrent file and object protocol access, the computer program product comprising a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:
- computer readable program code configured to receive a notification that indicates storage of an object by an object-based client;
computer readable program code configured to create a clone of the object;
computer readable program code configured to provide a file-based client access to the clone of the object;
computer readable program code configured to return, in response to one or more read requests for the object received from one or more object-based clients while the file-based client modifies the clone of the object, the object to the one or more object-based clients;
computer readable program code configured to, after the file-based client has finished modifying the clone of the object, replace the object with an updated object based on the modified clone of the object;
computer readable program code configured to provide the file-based client access to the modified clone of the object; and
computer readable program code configured to, after the file-based client has finished modifying the modified clone of the object;
based on the modification of the modified clone by the file-based client, generate an additional clone of the object, andreplace the updated object with an additional object based on the additional clone of the object;
wherein each of the clone, the modified clone, and the additional clone are separately and simultaneously stored.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer-implemented method is provided for concurrent file and object protocol access. The method includes receiving a notification that indicates storage of an object by an object-based client, and creating a clone of the object. Also, the method includes providing a file-based client access to the clone of the object. Further, the method includes returning, in response to one or more read requests for the object received from one or more object-based clients while the file-based client modifies the clone of the object, the object to the one or more object-based clients. Moreover, the method includes, after the file-based client has finished modifying the clone of the object, replacing the object with an updated object based on the modified clone of the object.
-
Citations
18 Claims
-
1. A computer program product for providing concurrent file and object protocol access, the computer program product comprising a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:
-
computer readable program code configured to receive a notification that indicates storage of an object by an object-based client; computer readable program code configured to create a clone of the object; computer readable program code configured to provide a file-based client access to the clone of the object; computer readable program code configured to return, in response to one or more read requests for the object received from one or more object-based clients while the file-based client modifies the clone of the object, the object to the one or more object-based clients; computer readable program code configured to, after the file-based client has finished modifying the clone of the object, replace the object with an updated object based on the modified clone of the object; computer readable program code configured to provide the file-based client access to the modified clone of the object; and computer readable program code configured to, after the file-based client has finished modifying the modified clone of the object; based on the modification of the modified clone by the file-based client, generate an additional clone of the object, and replace the updated object with an additional object based on the additional clone of the object;
wherein each of the clone, the modified clone, and the additional clone are separately and simultaneously stored. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method for providing concurrent file and object protocol access, the method comprising:
-
receiving a notification that indicates storage of an object by an object-based client; creating a clone of the object; providing a file-based client access to the clone of the object; returning, in response to one or more read requests for the object received from one or more object-based clients while the file-based client modifies the clone of the object, the object to the one or more object-based clients; after the file-based client has finished modifying the clone of the object, replacing the object with an updated object based on the modified clone of the object; providing the file-based client access to the modified clone of the object; and after the file-based client has finished modifying the modified clone of the object; based on the modification of the modified clone by the file-based client, generating an additional clone of the object, and replacing the updated object with an additional object based on the additional clone of the object, wherein each of the clone, the modified clone, and the additional clone are separately and simultaneously stored. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A system, comprising:
a processor and logic integrated with and/or executable by the processor, the logic being configured to; receive a notification that indicates storage of an object by an object-based client; create a clone of the object; provide a file-based client access to the clone of the object; return, in response to one or more read requests for the object received from one or more object-based clients while the file-based client modifies the clone of the object, the object to the one or more object-based clients; after the file-based client has finished modifying the clone of the object, replace the object with an updated object based on the modified clone of the object; providing the file-based client access to the modified clone of the object; and after the file-based client has finished modifying the modified clone of the object; based on the modification of the modified clone by the file-based client, generating an additional clone of the object, and replacing the updated object with an additional object based on the additional clone of the object, wherein each of the clone, the modified clone, and the additional clone are separately and simultaneously stored.
Specification