Message queue architecture and interface for a multi-application platform

US11765120B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11765120-B2
Application numberUS-202217666208-A
CountryUS
Kind codeB2
Filing dateFeb 7, 2022
Priority dateMar 2, 2021
Publication dateSep 19, 2023
Grant dateSep 19, 2023

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.

Non-volatile memory may contain definitions of: (i) a plurality of message queue implementations respectively associated with different queue behaviors, the different queue behaviors specified by corresponding sets of modes, and (ii) an application programming interface (API) through which applications can access one or more message queues. One or more processors may be configured to: create a message queue of a particular message queue type, supported by a corresponding message queue implementation, by specifying a set of modes corresponding to a queue behavior; receive, from a producing application and by way of the API, one or more messages for the message queue; store the one or more messages in a data structure associated with the message queue; receive, from a consuming application and by way of the API, a request to read from the message queue; and provide a message from the message queue to the consuming application.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: non-volatile memory containing definitions of: a message producer, a message consumer, and a context specifying a plurality of instantiated queues, wherein each of the instantiated queues has a different respective set of queuing behaviors controlling storage of messages in that queue to be either in-memory or persistent and directionality of messages in that queue to be either unidirectional or bidirectional; and one or more processors configured to: receive, at the message producer and by way of a message queue application programming interface (API), a message from a first application; determine, at the message producer, a particular queue from the instantiated queues based on the context or metadata of the message; place, at the message producer, the message into the particular queue; receive, at the message consumer and by way of the message queue API, a request from a second application, wherein the respective set of queuing behaviors of the particular queue also include a queueing behavior controlling usage of the particular queue to be either point-to-point or publish/subscribe, wherein the usage being point-to-point results in the message being removed from the particular queue when provided to the second application, and wherein the usage being publish/subscribe results in the message persisting in the particular queue after being provided to the second application; identify, at the message consumer, the particular queue based on the context or the request; and provide, at the message consumer, the message from the particular queue to the second application. 2. The system of claim 1 , wherein the message producer and the message consumer operate independently from the first application and the second application. 3. The system of claim 1 , wherein the message queue API is part of a software library that provides the first application and the second application access to the message producer and the message consumer. 4. The system of claim 1 , wherein the metadata identifies a queue name of the particular queue. 5. The system of claim 1 , wherein the metadata identifies one or more queueing behaviors of the particular queue. 6. The system of claim 1 , wherein the context of the particular queue is determined by the message. 7. The system of claim 1 , wherein the storage and the directionality of the message are determined by the respective set of queueing behaviors of the particular queue. 8. The system of claim 1 , wherein the message includes a service header that contains one or more units of the metadata, wherein the one or more units of the metadata are not provided to the second application, and are used by the message producer or the message consumer. 9. The system of claim 8 , wherein the message also contains a body and a client header, wherein the body contains content from the first application that the message producer and the message consumer transparently provide to the second application, wherein the client header contains one or more further units of the metadata from the first application that the message producer and the message consumer transparently provide to the second application. 10. The system of claim 1 , wherein the storage being in-memory results in the being stored only in volatile memory, and wherein the storage being persistent results in the message being stored in the non-volatile memory. 11. The system of claim 1 , wherein the directionality being unidirectional results in messages in the particular queue only flowing from the first application to the second application, and wherein the directionality being bidirectional results in some of the messages in the particular queue flowing from the first application to the second application and other messages in the particular queue flowing from the second application to the first application. 12. A computer-implemented method comprising: receiving, at a message producer and by way of a message queue application programming interface (API), a message from a first application, wherein non-volatile memory contains definitions of: the message producer, a message consumer, and a context specifying a plurality of instantiated queues, wherein each of the instantiated queues has a different respective set of queuing behaviors controlling storage of messages in that queue to be either in-memory or persistent and directionality of messages in that queue to be either unidirectional or bidirectional; determining, at the message producer, a particular queue from the instantiated queues based on the context or metadata of the message; placing, at the message producer, the message into the particular queue; receiving, at the message consumer and by way of the message queue API, a request from a second application, wherein the respective set of queuing behaviors of the particular queue also include a queueing behavior controlling usage of the particular queue to be either point-to-point or publish/subscribe, wherein the usage being point-to-point results in the message being removed from the particular queue when provided to the second application, and wherein the usage being publish/subscribe results in the message persisting in the particular queue after being provided to the second application; identifying, at the message consumer, the particular queue based on the context or the request; and providing, at the message consumer, the message from the particular queue to the second application. 13. The computer-implemented method of claim 12 , wherein the metadata identifies a queue name of the particular queue. 14. The computer-implemented method of claim 12 , wherein the message includes a service header that contains one or more units of the metadata, wherein the one or more units of the metadata are not provided to the second application, and are used by the message producer or the message consumer. 15. The computer-implemented method of claim 14 , wherein the message also contains a body and a client header, wherein the body contains content from the first application that the message producer and the message consumer transparently provide to the second application, wherein the client header contains one or more further units of the metadata from the first application that the message producer and the message consumer transparently provide to the second application. 16. The computer-implemented method of claim 12 , wherein the storage being in-memory results in the being stored only in volatile memory, and wherein the storage being persistent results in the message being stored in the non-volatile memory. 17. The computer-implemented method of claim 12 , wherein the directionality being unidirectional results in messages in the particular queue only flowing from the first application to the second application, and wherein the directionality being bidirectional results in some of the messages in the particular queue flowing from the first application to the second application and other messages in the particular queue flowing from the second application to the first application. 18. An article of manufacture including a non-transitory computer-readable medium, having stored thereon program instructions that, upon execution by a computing system, cause the computing system to perform operations comprising: receiving, at a message producer and by way of a message queue application programming interface (API), a message from a first application, wherein non-volatile memory contains definitions of: the message producer, a message consumer,

Assignees

Inventors

Classifications

  • H04L41/02Primary

    Standardisation; Integration · CPC title

  • H04L51/226Primary

    Delivery according to priorities · CPC title

  • Queue scheduling · CPC title

  • between virtual entities, e.g. orchestrators, SDN or NFV entities · CPC title

  • Message passing systems or structures, e.g. queues · 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 US11765120B2 cover?
Non-volatile memory may contain definitions of: (i) a plurality of message queue implementations respectively associated with different queue behaviors, the different queue behaviors specified by corresponding sets of modes, and (ii) an application programming interface (API) through which applications can access one or more message queues. One or more processors may be configured to: create a …
Who is the assignee on this patent?
Servicenow Inc
What technology area does this patent fall under?
Primary CPC classification H04L41/02. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 19 2023 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).