Switching serialization techniques for handling concurrent write requests to a shared file

US11907170B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11907170-B2
Application numberUS-202117347493-A
CountryUS
Kind codeB2
Filing dateJun 14, 2021
Priority dateJun 14, 2021
Publication dateFeb 20, 2024
Grant dateFeb 20, 2024

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.

Provided are a computer program product, system, and method for switching serialization techniques for handling concurrent write requests to a shared file. A first node serializes write requests from client nodes to write to the shared file. The first node determines whether to switch to a second node to manage write quests to the shared file based on a pattern of write requests to the shared file. The client nodes are notified to direct write requests to the shared file to the second node in response to determining to switch to the second node. The second node processes write requests to the shared file to serialize writes to the shared file after the client nodes are notified to submit the write requests to the shared file to the second node.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product for managing access to a shared file in a storage from client nodes in a network, wherein the computer program product comprises a computer readable storage medium having computer readable program instructions to cause a first node and a second node to perform operations, the operations comprising: serializing, by the first node, write requests from client nodes to write to the shared file using a first serialization technique involving use of providing an exclusive token to the client nodes to write to the shared file; determining, by the first node, whether to switch to the second node to manage write requests to the shared file based on a pattern of write requests to the shared file; notifying the client nodes to direct write requests to the shared file to the second node in response to determining to switch to the second node; and processing, by the second node, write requests to the shared file to serialize writes to the shared file, using a second serialization technique different from the first serialization technique to serialize writes to the shared file, after the client nodes are notified to submit the write requests to the shared file to the second node. 2. The computer program product of claim 1 , wherein the exclusive token can only be held by one client node, and wherein the second serialization technique involves the second node buffering received writes in a buffer and periodically flushing the buffer of writes to the shared file. 3. The computer program product of claim 1 , wherein the determining whether to switch to the second node based on the pattern of write requests to the shared file comprises: determining a number and frequency of write requests to the shared file, wherein the determining to switch to the second node is made in response to the number and the frequency of the write requests exceeding a threshold. 4. The computer program product of claim 1 , wherein the write requests to the shared file are to write append data to the shared file. 5. The computer program product of claim 4 , wherein the notifying the client nodes to direct the write requests to the shared file to the second node only applies to write append requests to the shared file, wherein the operations further comprise: receiving, at the first node, a non-append write request to the shared file after notifying the client nodes to direct write append requests to the second node; and sending a revoke notification to the client nodes and the second node to switch back to directing append write requests to the first node in response to receiving the non-append write request to the shared file. 6. The computer program product of claim 4 , wherein the computer readable program instructions further cause a third node to perform operations, the operations comprising: in response to a failure at the second node, notifying, by the third node, client nodes, having submitted write append requests to the shared file, indication to direct requests to the shared file to the third node; and receiving, at the third node, resubmissions of write append requests from client nodes that submitted the write append requests and did not receive acknowledgments from the second node that the append write requests completed. 7. The computer program product of claim 4 , wherein the operations further comprise: in response to receiving an append write request to the shared file from a requesting client node, notifying, by the second node, the requesting client node of an offset location in the shared file to which the append write data will be written; and sending an acknowledgment to the requesting client node that the append write request completed in response to flushing append write data of the append write request to the offset location in the shared file. 8. The computer program product of claim 7 , wherein the computer readable program instructions further cause a third node to perform operations, the operations comprising: in response to a failure at the second node, notifying, by the third node, client nodes having submitted write append requests to the shared file to direct requests to the shared file to the third node and a size of the shared file; receiving a resubmission of the write append request from a client node, having received the notification from the third node, with the offset location sent to the client node from the second node in response to the client node determining that the offset location is greater than the size of the shared file; and writing, by the third node, write append data for the write append request to the offset location included in the resubmission. 9. The computer program product of claim 8 , wherein the notifying the client nodes to direct requests to the third node causes one of the client nodes receiving the notification to retry a previously sent write append request as a new write append request in response to not having received the offset location from the second node for the previously sent write append request. 10. A system for managing access to a shared file in a storage from client nodes in a network, comprising: a first node in communication with the client nodes; a second node in communication with the client nodes, wherein the first node performs operations, the operations comprising: serializing write requests from client nodes to write to the shared file using a first serialization technique involving use of providing an exclusive token to the client nodes to write to the shared file; determining whether to switch to the second node to manage write requests to the shared file based on a pattern of write requests to the shared file; notifying the client nodes to direct write requests to the shared file to the second node in response to determining to switch to the second node; and wherein the second node performs processing write requests to the shared file to serialize writes to the shared file, using a second serialization technique different from the first serialization technique to serialize writes to the shared file, after the client nodes are notified to submit the write requests to the shared file to the second node. 11. The system of claim 10 , wherein the second node buffers received writes in a buffer and periodically flushing the buffer of writes to the shared file. 12. The system of claim 10 , wherein the write requests to the shared file are to write append data to the shared file, further comprising: a third node in communication with the client nodes, wherein the third node performs operations, the operations comprising: in response to a failure at the second node, notifying client nodes, having submitted write append requests to the shared file, indication to direct requests to the shared file to the third node; and receiving resubmissions of write append requests from client nodes that submitted the write append requests and did not receive acknowledgments from the second node that the append write requests completed. 13. The system of claim 10 , wherein the write requests to the shared file are to write append data to the shared file, wherein the second node further performs operations: in response to receiving an append write request to the shared file from a requesting client node, notifying the requesting client node of an offset location in the shared file to which the append write data will be written; and sending an acknowledgment to the requesting client node that the append write request completed in response to flushing append write data of the append write request to the offset location in the shared file.

Assignees

Inventors

Classifications

  • Concurrency control, e.g. optimistic or pessimistic approaches · CPC title

  • Details of archiving (lifecycle management in storage systems G06F3/0649; point-in-time backing up or restoration of persistent data G06F11/1446) · CPC title

  • Distributed file systems · CPC title

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 US11907170B2 cover?
Provided are a computer program product, system, and method for switching serialization techniques for handling concurrent write requests to a shared file. A first node serializes write requests from client nodes to write to the shared file. The first node determines whether to switch to a second node to manage write quests to the shared file based on a pattern of write requests to the shared f…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F16/1767. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 20 2024 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).