Facilitating resilient and fault tolerant asynchronous messaging

US10938633B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10938633-B2
Application numberUS-202015929539-A
CountryUS
Kind codeB2
Filing dateMay 8, 2020
Priority dateJun 24, 2019
Publication dateMar 2, 2021
Grant dateMar 2, 2021

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 device may receive a message from a first different device that includes an identifier and may determine whether the device has previously received the message. The device may generate, based on determining that the device has not previously received the message, an additional identifier and a message status indicator and may cause the additional identifier, the message, and the message status indicator to be stored in a data structure associated with the device. The device may send an acknowledgment status to the first different device and may cause processing of the message to generate an additional message that includes the additional identifier. The device may send the additional message to a second different device and may cause, after sending the additional message to the second different device, the message status indicator in the data structure to be updated.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving, by a device, a message from a first different device, wherein the message includes an identifier; determining, by the device, whether the device has previously received the message; generating, by the device and based on determining that the device has not previously received the message, an additional identifier and a message status indicator; causing, by the device, the additional identifier, the message, and the message status indicator to be stored in a data structure associated with the device; sending, by the device and after causing the additional identifier, the message, and the message status indicator to be stored in the data structure, an acknowledgment status to the first different device; causing, by the device, processing of the message to generate an additional message that includes the additional identifier; sending, by the device, the additional message to a second different device; and causing, by the device and after sending the additional message to the second different device, the message status indicator in the data structure to be updated, the updated message status indicator indicating that the additional message was processed successfully; receiving, by the device, a new message that includes a new identifier from the first different device; determining, by the device and based on the new identifier included in the message, that the device has previously received the new message; and causing, by the device, the new message to be discarded. 2. The method of claim 1 , wherein the message is one of: a representational state transfer (REST) request, or a microservice event message. 3. The method of claim 1 , further comprising: periodically communicating with the data structure to identify one or more stored messages in the data structure. 4. The method of claim 1 , wherein the additional identifier is a universally unique identifier (UUID), and wherein the message status indicator indicates that the message has an untried status. 5. The method of claim 1 , wherein sending the additional message to the second different device comprises: sending the additional message to the second different device via a messaging bus. 6. The method of claim 1 , wherein receiving the message from the first different device comprises: receiving the message from the first different device via an application programming interface (API), wherein sending the acknowledgment status to the first different device comprises: sending the acknowledgment status to the first different device via the API. 7. The method of claim 1 , wherein determining whether the device has previously received the message comprises: identifying the identifier included in the message; and determining whether any stored message in the data structure is associated with the identifier. 8. A device, comprising: one or more memories; and one or more processors, communicatively coupled to the one or more memories, configured to: receive a message that includes an identifier from a different device; determine, based on the identifier included in the message, that the device has not previously received the message; generate, based on determining that the device has not previously received the message, an additional identifier and a message status indicator; cause the additional identifier, the message, and the message status indicator to be stored in a data structure associated with the device; send, after causing the additional identifier, the message, and the message status indicator to be stored in the data structure, an acknowledgment status to the different device; cause processing of the message to perform at least one action; determine whether the message was processed successfully; cause, after determining that the message was not processed successfully, the message status indicator in the data structure to be updated to indicate whether the message is retriable or not retriable; cause, after determining that the message status indicator indicates that the message has a retriable or not retriable status, processing of the message; and cause, after processing of the message, the message status indicator to be updated to indicate that the message was successfully processed. 9. The device of claim 8 , wherein the one or more processor are further configured to: receive a new message that includes a new identifier from the different device; determine, based on the new identifier included in the message, that the device has previously received the new message; and cause the new message to be discarded. 10. The device of claim 9 , wherein the device receives the new message from the different device via at least one of: an application programming interface (API), or a messaging bus. 11. The device of claim 9 , wherein the one or more processors, when receiving the new message, are further to: poll a messaging bus for messages; and obtain the message and the new message via the messaging bus. 12. The device of claim 9 , wherein the one or more processors, when determining that the device has previously received the new message, are configured to: parse the new message to identify the new identifier included in the message; search the data structure based on the new identifier; and determine, based on searching the data structure, that a stored message is associated with a stored identifier that matches the new identifier. 13. The device of claim 8 , wherein the one or more processors are further to: cause processing of the message to update an account based on information included in the message. 14. The device of claim 8 , wherein the acknowledgment status indicates that the device received the message. 15. A non-transitory computer-readable medium storing instructions, the instructions comprising: one or more instructions that, when executed by one or more processors of a device, cause the one or more processors to: obtain one or more messages from a different device, wherein each message, of the one or more messages, includes a respective identifier, and wherein, for each message, of the one or more messages, the one or more instructions, when executed by the one or more processors, cause the one or more processors to: determine whether the device has previously received each message of the one or more messages, generate, based on determining that the device has not previously received the message, an additional identifier and a message status indicator, cause the additional identifier, the message, and the message status indicator to be stored in a data structure associated with the device, and cause processing of the message to perform at least one action; send, after causing respective processing of each message of the one or more messages, an acknowledgment status concerning the one or more messages to the different device; and cause, after sending the acknowledgment status to the different device, a respective message status indicator associated with each message, of the one or more messages, in the data structure to be updated, wherein the respective message status indicator associated with each message indicates whether each message was processed successfully; and determine that a stored message in the data structure is to be processed, wherein, when the stored message is processed, a stored message status indicator associated with the stored message is updated to indicate that the stored message was processed. 16. The non-transitory computer-readable medium of c

Assignees

Inventors

Classifications

  • H04L51/214Primary

    using selective forwarding · CPC title

  • Reliability checks, e.g. acknowledgments or fault reporting · CPC title

  • Messaging; Mailboxes; Announcements · CPC title

  • Additional information in the notification, e.g. enhancement of specific meta-data · CPC title

  • where interconnections or communication control functionality are redundant (flexible arrangements for bus networks involving redundancy H04L12/40176) · 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 US10938633B2 cover?
A device may receive a message from a first different device that includes an identifier and may determine whether the device has previously received the message. The device may generate, based on determining that the device has not previously received the message, an additional identifier and a message status indicator and may cause the additional identifier, the message, and the message statu…
Who is the assignee on this patent?
Capital One Services Llc
What technology area does this patent fall under?
Primary CPC classification H04L51/214. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 02 2021 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 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).