Message queue architecture and interface for a multi-application platform

US11277369B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-11277369-B1
Application numberUS-202117189782-A
CountryUS
Kind codeB1
Filing dateMar 2, 2021
Priority dateMar 2, 2021
Publication dateMar 15, 2022
Grant dateMar 15, 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.

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).

The invention claimed is: 1. A system comprising: non-volatile memory containing definitions of: (i) a plurality of message queue implementations respectively associated with different queue behaviors, wherein the different queue behaviors are specified by corresponding sets of modes, and (ii) an application programming interface (API) through which applications executing on the system can access one or more message queues of the message queue implementations, wherein the sets of modes includes an ordering mode that is either chronological or priority, wherein the ordering mode being chronological results in the message queue having first-in-first-out (FIFO) operation, wherein the ordering mode being priority results in the message queue having non-FIFO operation, wherein the non-FIFO operation involves all messages in the message queue being assigned one of a plurality of priorities, wherein a first priority of the plurality of priorities has a higher precedence than a second priority of the plurality of priorities, wherein the system is configured to cause the message queue to deliver m messages of the second priority for every n messages delivered of the first priority, and wherein n>m; and one or more processors 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 of the particular message queue type; receive, from a producing application executing on the system and by way of the API, one or more messages for the message queue; in response to receiving the one or more messages, store the one or more messages in a data structure associated with the message queue and in accordance with the set of modes; receive, from a consuming application executing on the system and by way of the API, a request to read from the message queue; and in response to receiving the request, provide a message from the message queue to the consuming application in accordance with the set of modes. 2. The system of claim 1 , wherein the one or more processors are further configured to: create a second message queue of a second particular message queue type, supported by a corresponding message queue implementation, by specifying a second set of modes corresponding to a second queue behavior of the second particular message queue type; receive, from a second producing application executing on the system and by way of the API, one or more further messages for the second message queue; in response to receiving the one or more further messages, store the one or more further messages in a second data structure associated with the second message queue and in accordance with the set of modes; receive, from a second consuming application executing on the system and by way of the API, a second request to read from the second message queue; and in response to receiving the second request, provide a second message from the second message queue to the second consuming application in accordance with the set of modes. 3. The system of claim 1 , wherein the message queue is created with a name, wherein the producing application provides the name with the one or more messages, wherein the consuming application provides the name with the request, and wherein the system uses the name to identify the message queue. 4. The system of claim 1 , wherein a messaging framework within the system includes: (i) a producer module configured to receive the one or more messages from the API and place the one or more messages in the message queue, and (ii) a consumer module configured to receive the request from the API, identify the message, and provide the message to the API. 5. The system of claim 4 , wherein the message contains a body, a client header, and a service header, wherein the body contains content from the producing application that the producer module and the consumer module transparently provide to the consuming application, wherein the client header contains metadata from the producing application that the producer module and the consumer module transparently provide to the consuming application, and wherein the service header contains metadata that is not provided to the consuming application, and is used by the producer module or the consumer module. 6. The system of claim 4 , wherein the messaging framework also includes a context configured to store mappings between the different queue behaviors and their associated message queue implementations, and wherein the producer module and the consumer module use the context to identify the message queue. 7. The system of claim 1 , wherein the set of modes includes a messaging mode that is either point-to-point or publish/subscribe, wherein the messaging mode being point-to-point results in the message being removed from the message queue when provided to the consuming application, and wherein the messaging mode being publish/subscribe results in the message persisting in the message queue when provided to the consuming application. 8. The system of claim 1 , wherein the set of modes includes a delivery mode that is either in-memory, persistent, or persistent cached, wherein the delivery mode being in-memory results in messages in the message queue being stored only in volatile memory, wherein the delivery mode being persistent results in the messages in the message queue being stored only in the non-volatile memory, and wherein the delivery mode being persistent cached results in the messages in the message queue being stored in the volatile memory and at least some of the messages being cached in the non-volatile memory. 9. The system of claim 1 , wherein the set of modes includes a connection mode that is either unidirectional or bidirectional, wherein the connection mode being unidirectional results in messages in the message queue only flowing from the producing application to the consuming application, and wherein the connection mode being bidirectional results in some of the messages in the message queue flowing from the producing application to the consuming application and other messages in the message queue flowing from the consuming application to the producing application. 10. A computer-implemented method comprising: creating a message queue of a particular message queue type by specifying a set of modes corresponding to a queue behavior of the particular message queue type, wherein non-volatile memory contains definitions of: (i) a plurality of message queue type respectively associated with different queue behaviors, wherein the different queue behaviors are specified by corresponding sets of modes, and (ii) an application programming interface (API) through which applications can access one or more message queues of the message queue types, wherein the sets of modes includes an ordering mode that is either chronological or priority, wherein the ordering mode being chronological results in the message queue having first-in-first-out (FIFO) operation, wherein the ordering mode being priority results in the message queue having non-FIFO operation, wherein the non-FIFO operation involves all messages in the message queue being assigned one of a plurality of priorities, wherein a first priority of the plurality of priorities has a higher precedence than a second priority of the plurality of priorities, wherein the message queue delivers m messages of the second priority for every n messages delivered of the first priority, and wherein n>m; receiving, from a producing application and by way of the API, one or more messages for the message queue; in response to receiving the one or more messages, storing the one or more messages in a data structure associated

Assignees

Inventors

Classifications

  • H04L51/226Primary

    Delivery according to priorities · CPC title

  • using selective forwarding · CPC title

  • Commands or executable codes · CPC title

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

  • between virtual entities, e.g. orchestrators, SDN or NFV entities · 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 US11277369B1 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 H04L51/226. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 15 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).