Providing unit of work continuity in the event initiating client fails over

US10165088B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10165088-B2
Application numberUS-201615226660-A
CountryUS
Kind codeB2
Filing dateAug 2, 2016
Priority dateAug 2, 2016
Publication dateDec 25, 2018
Grant dateDec 25, 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 method is provided for providing unit of work continuity between a client device and a server when the client device initially fails to complete an ongoing unit of work. The method includes temporarily storing, in a temporary storage location in the server, in-doubt messages sent to the server for the ongoing unit of work, when the client device disconnects from the server without committing the ongoing unit of work so that the client device does not have to resend the in-doubt messages to the server. The method further includes utilizing unique hash-codes to identify the in-doubt messages the client device had earlier sent so that the server can retrieve the in-doubt messages from the temporary storage location and include the in-doubt messages as part of the ongoing unit of work to be committed by the client device. The ongoing unit of work is only part of an entire transaction.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of providing unit of work continuity between a client device and a server when the client device initially fails to complete an ongoing unit of work, comprising: temporarily storing, in a temporary storage location in the server, in-doubt messages sent to the server for the ongoing unit of work, when the client device disconnects from the server without committing the ongoing unit of work and in place of the client device resending the in-doubt messages to the server; receiving, by the server from the client device, a respective one of unique hash codes, calculated by the client device, for each of the in-doubt messages; and utilizing the unique hash-codes to identify the in-doubt messages the client device had earlier sent to retrieve the in-doubt messages by the server from the temporary storage location and include the in-doubt messages as part of the ongoing unit of work to be committed by the client device, wherein the ongoing unit of work is only part of an entire transaction. 2. The method of claim 1 , further comprising sending, by the server to the client device, a list of the unique hash-codes for the in-doubt messages that the server is temporarily storing. 3. The method of claim 2 , further comprising waiting, by the server, for client device to indicate whether any of the unique hash codes in the list sent by the server to the client device are matching unique hash codes that match to the unique hash codes calculated by the client device for the in-doubt messages. 4. The method of claim 3 , further comprising receiving, by the server from the client device, each of the matching unique hash codes in place of resending the respective one of the in-doubt messages corresponding thereto to eliminate message resending costs. 5. The method of claim 1 , further comprising receiving, by the server from the client device an explicit indication to include the in-doubt messages as part of the ongoing unit of work to be committed by the client device. 6. The method of claim 1 , further comprising: receiving, by the server from the client device, a unique identifier of the client device; and associating, by the server, the unique identifier with the in-doubt messages. 7. The method of claim 1 , further comprising retrieving one or more of the in-doubt messages from the temporary storage location in the server responsive to the unique hash codes for the one or more of the in-doubt messages matching at both the server and the client device. 8. The method of claim 7 , further comprising sending, from the server to the client device, an acknowledgement that one or more of the in-doubt messages have been successfully retrieved from the temporary storage location in the server, responsive to the one or more of the in-doubt messages being successfully retrieved from the temporary storage location in the server. 9. The method of claim 8 , wherein the acknowledgement indicates that the one or more in-doubt messages are available at the server. 10. The method of claim 1 , discarding, by the server, in the temporary storage location in the server, any of the in-doubt messages for which a respective one of the unique hash codes exists in the list, responsive to receiving, by the server from the client device, a commit instruction for the transaction that includes the ongoing unit of work now completed. 11. The method of claim 1 , further comprising discarding the in-doubt messages from the temporary storage location in the server, responsive to an expiration of a pre-determined timeout constraint. 12. A computer program product for providing unit of work continuity between a client device and a server when the client device initially fails to complete an ongoing unit of work, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to perform a method comprising: temporarily storing, in a temporary storage location in the server, in-doubt messages sent to the server for the ongoing unit of work, when the client device disconnects from the server without committing the ongoing unit of work and in place of the client device resending the in-doubt messages to the server; receiving, by the server from the client device, a respective one of unique hash codes, calculated by the client device, for each of the in-doubt messages; and utilizing the unique hash-codes to identify the in-doubt messages the client device had earlier sent to retrieve the in-doubt messages by the server from the temporary storage location and include the in-doubt messages as part of the ongoing unit of work to be committed by the client device, wherein the ongoing unit of work is only part of an entire transaction. 13. The computer program product of claim 12 , further comprising sending, by the server to the client device, a list of the unique hash-codes for the in-doubt messages that the server is temporarily storing. 14. The computer program product of claim 13 , further comprising waiting, by the server, for client device to indicate whether any of the unique hash codes in the list sent by the server to the client device are matching unique hash codes that match to the unique hash codes calculated by the client device for the in-doubt messages. 15. The computer program product of claim 14 , further comprising receiving, by the server from the client device, each of the matching unique hash codes in place of resending the respective one of the in-doubt messages corresponding thereto to eliminate message resending costs. 16. The computer program product of claim 12 , further comprising retrieving one or more of the in-doubt messages from the temporary storage location in the server responsive to the unique hash codes for the one or more of the in-doubt messages matching at both the server and the client device. 17. The computer program product of claim 16 , further comprising sending, from the server to the client device, an acknowledgement that one or more of the in-doubt messages have been successfully retrieved from the temporary storage location in the server, responsive to the one or more of the in-doubt messages being successfully retrieved from the temporary storage location in the server. 18. The computer program product of claim 12 , discarding, by the server, in the temporary storage location in the server, any of the in-doubt messages for which a respective one of the unique hash codes exists in the list, responsive to receiving, by the server from the client device, a commit instruction for the transaction that includes the ongoing unit of work now completed. 19. A system, comprising: a hardware server, having a processor, configured to: temporarily store, in a temporary storage location in the server, in-doubt messages sent to the server for an ongoing unit of work, when a client device disconnects from the server without committing the ongoing unit of work and in place of the client device resending the in-doubt messages to the server; receive, by the server from the client device, a respective one of unique hash codes, calculated by the client device, for each of the in-doubt messages; and utilize the unique hash-codes to identify the in-doubt messages the client device had earlier sent to retrieve the in-doubt messages by the server from the temporary storage location and include the in-doubt messages as part of the ongoing unit of work to be committed by the client device, wherein the on

Assignees

Inventors

Classifications

  • H04L67/42Primary

    Electricity · mapped topic

  • Electricity · mapped topic

  • for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06) · CPC title

  • H04L67/10Primary

    in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title

  • Electricity · mapped topic

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 US10165088B2 cover?
A method is provided for providing unit of work continuity between a client device and a server when the client device initially fails to complete an ongoing unit of work. The method includes temporarily storing, in a temporary storage location in the server, in-doubt messages sent to the server for the ongoing unit of work, when the client device disconnects from the server without committing …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification H04L67/42. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 25 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).