Concurrent file and object protocol access using space-efficient cloning

US9959281B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9959281-B2
Application numberUS-201615224182-A
CountryUS
Kind codeB2
Filing dateJul 29, 2016
Priority dateJan 11, 2016
Publication dateMay 1, 2018
Grant dateMay 1, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A computer-implemented method is provided in one general embodiment 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, 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. The file-based client is provided access to the modified clone of the updated object. After the file-based client has finished modifying the modified clone of the updated object, the updated object is replaced with an additional object based on the modification to the modified clone of the updated object.

First claim

Opening claim text (preview).

What is claimed is: 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 in response to an object PUT request from an object-based client, utilizing an object-based access protocol; computer readable program code configured to create a clone of the object; computer readable program code configured to identify a request to access the object by a file-based client different from the object-based client; computer readable program code configured to provide, to the file-based client, access to the clone of the object, utilizing a file-based network attached storage (NAS) protocol different from the object-based access protocol, where the file-based NAS protocol implements a traversal of a file system hierarchy; computer readable program code configured to identify a modification of the clone of the object by the file-based client that results in a modified clone of the object; computer readable program code configured to return the object to the object-based client or another object-based client, in response to one or more object GET read requests for the object received from the object-based client or the other object-based client during the modification of the clone of the object by the file-based client; and computer readable program code configured to replace the object with an updated object after the modification of the clone of the object, utilizing the modified clone of the object. 2. The computer program product of claim 1 , wherein the modification of the clone of the object is performed utilizing the file-based NAS protocol. 3. The computer program product of claim 1 , comprising computer readable program code configured to: create a second clone of the updated object; and delete the object and remove the clone of the object, in response to the creation of the second clone of the updated object. 4. The computer program product of claim 1 , wherein the clone of the object includes a representation of blocks of the object that have changed relative to when the object was stored in response to the request from the object-based client. 5. The computer program product of claim 4 , wherein replacing the object with the updated object includes merging the object with the blocks of the object that have changed relative to when the object was stored in response to the request from the object-based client, to create the updated object. 6. The computer program product of claim 1 , comprising: computer readable program code configured to provide, to 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. 7. The computer program product of claim 6 , comprising 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 modified clone of the object to generate the additional clone, the updated object to the one or more object-based clients. 8. The computer program product of claim 6 , comprising computer readable program code configured to de-clone the clone, the modified clone, and the additional clone in response to determining that a predetermined number of clones are associated with the object. 9. The computer program product of claim 1 , wherein the clone of the object is created in response to the storage of the object in response to the request from the object-based client. 10. The computer program product of claim 1 , wherein the clone of the object is created in response to identifying the request to access the object by the file-based client. 11. A computer-implemented method for providing concurrent file and object protocol access, the method comprising: receiving a notification that indicates storage of an object in response to an object PUT request from an object-based client, utilizing an object-based access protocol; creating a clone of the object; identifying a request to access the object by a file-based client different from the object-based client; providing, to the file-based client, access to the clone of the object utilizing a file-based network attached storage (NAS) protocol different from the object-based access protocol, where the file-based NAS protocol implements a traversal of a file system hierarchy; identifying a modification of the clone of the object by the file-based client that results in a modified clone of the object; replacing the object with an updated object based on the modified clone of the object; providing, to the file-based client, access to the modified clone of the object; identifying a modification of the modified clone of the object by the file-based client; and replacing the updated object with an additional object based on the modification of the modified clone of the object. 12. The computer-implemented method of claim 11 , wherein the modification of the clone of the object is performed utilizing the file-based NAS protocol. 13. The computer-implemented method of claim 11 , further comprising: creating a second clone of the updated object; and deleting the object and removing the clone of the object, in response to the creation of the second clone of the updated object. 14. The computer-implemented method of claim 11 , wherein the clone of the object includes a representation of blocks of the object that have changed relative to when the object was stored in response to the request from the object-based client. 15. The computer-implemented method of claim 14 , wherein replacing the object with the updated object includes merging the object with the blocks of the object that have changed relative to when the object was stored in response to the request from the object-based client, to create the updated object. 16. The computer-implemented method of claim 11 , comprising: based on the modification of the modified clone of the object by the file-based client, generating an additional clone of the object, wherein the additional object is based on the additional clone of the object; wherein each of the clone of the object, the modified clone of the object, and the additional clone of the object are separately and simultaneously stored. 17. The computer-implemented method of claim 16 , comprising 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 modified clone of the object to generate the additional clone, the updated object to the one or more object-based clients. 18. The computer-implemented method of claim 16 , comprising de-cloning the clone, the modified clone, and the additional clone in response to determining that a predetermined number of clones are associated with the object. 19. The computer-implemented method of claim 11 , wherein

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9959281B2 cover?
A computer-implemented method is provided in one general embodiment 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, after the file-b…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F17/30117. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 01 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).