Systems and methods for resilient communication protocols and interfaces

US11516306B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11516306-B2
Application numberUS-202217577287-A
CountryUS
Kind codeB2
Filing dateJan 17, 2022
Priority dateOct 23, 2020
Publication dateNov 29, 2022
Grant dateNov 29, 2022

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.

An event processing system is provided for providing resilient message processing using asynchronous communications. The event processing device includes a processor and a memory. The event processing device is in communication with a publisher microservice and subscriber microservices. The processor is configured to receive an event including a collection of data from the publisher microservice. The processor is also configured to process the event to identify a recipient microservice. The processor is configured to update a queue with a queue entry for each of the at least one recipient microservices for the event. Each queue entry is associated with a priority. The processor is also configured to attempt to transmit the event to each of the at least one recipient microservices until a transmission confirmation message is received. The processor is further configured to update the queue by removing the queue entry for which the transmission confirmation message is received.

First claim

Opening claim text (preview).

What is claimed is: 1. An event processing system for providing resilient message processing using asynchronous communications comprising: a publisher microservice; at least one subscriber microservice; and an event processing device including a processor and a memory, said event processing device is in communication with the publisher microservice and the at least one subscriber microservice, wherein the event processing device includes an events API, wherein the processor is configured to: receive, at the events API, an event comprising a collection of data from the publisher microservice,; process the event to identify at least one recipient microservice from the at least one subscriber microservices; update a queue with a queue entry for each of the at least one recipient microservices for the event; attempt to transmit the event to each of the at least one recipient microservices until a transmission confirmation message associated with the transmission is received from the at least one recipient microservice; and update the queue based, at least in part, on receipt of the transmission confirmation message. 2. The event processing system of claim 1 , wherein the processor is further configured to: request protected payload data from the publisher microservice; and transmit a receipt confirmation message to the publisher microservice upon receiving the event. 3. The event processing system of claim 1 , wherein the processor is further configured to: receive enrollment definitions from the publisher microservice and each subscriber microservice; identify routing rules based on the enrollment definitions; and process the event to identify at least one recipient microservice from the at least one subscriber microservices based at least partially on the routing rules. 4. The event processing system of claim 3 , wherein the processor is further configured to: identify a set of required definitional attributes associated with the publisher microservice and the subscriber microservices; validate the received event includes the set of required definitional attributes; and process the event if the received event is validated. 5. The event processing system of claim 1 , wherein the processor is further configured to: update the event to include at least a timestamp; and update the queue with the queue entry for each of the at least one recipient microservices for the event, wherein each queue entry is associated with a priority, and wherein the priority is at least partially determined based on the timestamp. 6. The event processing system of claim 1 , wherein the processor is further configured to: identify a maximum number of event transmission attempts; attempt to transmit the event to each of the at least one recipient microservices until a transmission confirmation message associated with the transmission is received from the at least one recipient microservice; determine that the maximum number of event transmission attempts has been met; and wait a predetermined period before continuing to attempt to transmit the event. 7. The system of claim 1 , wherein the processor is further configured to: process the event to identify a group of recipient microservices from the at least one subscriber microservices; and attempt to simultaneously transmit the event to each of the group of recipient microservices. 8. An event processing device including a processor and a memory, the event processing device is in communication with a publisher microservice and at least one subscriber microservice, wherein the event processing device includes an events API, wherein the processor is configured to: receive, at the events API, an event comprising a collection of data from the publisher microservice; process the event to identify at least one recipient microservice from the at least one subscriber microservices; update a queue with a queue entry for each of the at least one recipient microservices for the event; attempt to transmit the event to each of the at least one recipient microservices until a transmission confirmation message associated with the transmission is received from the at least one recipient microservice; and update the queue based, at least in part, on receipt of the transmission confirmation message. 9. The event processing device of claim 8 , wherein the processor is further configured to: request protected payload data from the publisher microservice; and transmit a receipt confirmation message to the publisher microservice upon receiving the event. 10. The event processing device of claim 8 , wherein the processor is further configured to: receive enrollment definitions from the publisher microservice and each subscriber microservice; identify routing rules based on the enrollment definitions; and process the event to identify at least one recipient microservice from the at least one subscriber microservices based at least partially on the routing rules. 11. The event processing device of claim 10 , wherein the processor is further configured to: identify a set of required definitional attributes associated with the publisher microservice and the subscriber microservices; validate the received event includes the set of required definitional attributes; and process the event if the received event is validated. 12. The event processing device of claim 8 , wherein the processor is further configured to: update the event to include at least a timestamp; and update the queue with the queue entry for each of the at least one recipient microservices for the event, wherein each queue entry is associated with a priority, and wherein the priority is at least partially determined based on the timestamp. 13. The event processing device of claim 8 , wherein the processor is further configured to: identify a maximum number of event transmission attempts; attempt to transmit the event to each of the at least one recipient microservices until a transmission confirmation message associated with the transmission is received from the at least one recipient microservice; determine that the maximum number of event transmission attempts has been met; and wait a predetermined period before continuing to attempt to transmit the event. 14. The event processing device of claim 8 , wherein the processor is further configured to: process the event to identify a group of recipient microservices from the at least one subscriber microservices; and attempt to simultaneously transmit the event to each of the group of recipient microservices. 15. A method for providing resilient message processing using asynchronous communications, the method performed by an event processing device including a processor and a memory, the event processing device is in communication with a publisher microservice and at least one subscriber microservice, wherein the event processing device includes an events API, the method comprising: receiving, at the events API, an event comprising a collection of data from the publisher microservice; processing the event to identify at least one recipient microservice from the at least one subscriber microservices; updating a queue with a queue entry for each of the at least one recipient microservices for the event; attempting to transmit the event to each of the at least one recipient microservices until a transmission confirmation message associated with the transmission is received from the at least one recipient microservice; and updating the queue based, at least in part, on receipt of the transmission confirmation message.

Assignees

Inventors

Classifications

  • Message passing systems or structures, e.g. queues · CPC title

  • H04L67/55Primary

    Push-based network services · CPC title

  • H04L67/51Primary

    Discovery or management thereof, e.g. service location protocol [SLP] or web services · CPC title

  • Event management; Broadcasting; Multicasting; Notifications · 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 US11516306B2 cover?
An event processing system is provided for providing resilient message processing using asynchronous communications. The event processing device includes a processor and a memory. The event processing device is in communication with a publisher microservice and subscriber microservices. The processor is configured to receive an event including a collection of data from the publisher microservic…
Who is the assignee on this patent?
Express Scripts Strategic Dev Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/55. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 29 2022 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).