Facilitating resilient and fault tolerant asynchronous messaging
US-10652081-B1 · May 12, 2020 · US
US10938633B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10938633-B2 |
| Application number | US-202015929539-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 8, 2020 |
| Priority date | Jun 24, 2019 |
| Publication date | Mar 2, 2021 |
| Grant date | Mar 2, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.