Systems and methods for storing and transferring message data

US9843551B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9843551-B2
Application numberUS-201615291633-A
CountryUS
Kind codeB2
Filing dateOct 12, 2016
Priority dateOct 9, 2015
Publication dateDec 12, 2017
Grant dateDec 12, 2017

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.

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing and transferring messages. An example method includes providing a queue having an ordered plurality of storage blocks. Each storage block stores one or more respective messages and is associated with a respective time. The times increase from a block designating a head of the queue to a block designating a tail of the queue. The method also includes reading, by each of a plurality of first sender processes, messages from one or more blocks in the queue beginning at the head of the queue. The read messages are sent, by each of the plurality of first sender processes, to a respective recipient. One or more of the blocks are designated as old when they have associated times that are earlier than a first time. A block is designated as a new head of the queue when the block is associated with a time later than or equal to the first time. One or more of the first sender processes is allowed to read messages from the old blocks until a second time which is later than the first time. One or more of the old blocks are deleted at a time later than or equal to the second time.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: providing a queue comprising an ordered plurality of blocks, wherein each block stores one or more respective messages and is associated with a respective time, and wherein the times increase from a block designating a head of the queue to a block designating a tail of the queue; designating, by one or more computer processors, as old one or more of the blocks having associated times that are earlier than a first time; designating, by the one or more computer processors, a block associated with a time later than or equal to the first time as a new head of the queue; allowing messages to be read from the old blocks until a second time which is later than the first time; and deleting from the queue one or more of the old blocks at a time later than or equal to the second time. 2. The method of claim 1 , wherein the queue comprises a channel queue. 3. The method of claim 1 , wherein the queue is for messages from at least one of a publisher and a multiple queue publisher. 4. The method of claim 1 , comprising: reading, by each of one or more sender processes, messages from one or more blocks in the queue beginning at the head of the queue; and sending, by each of the one or more sender processes, the read messages to a respective recipient. 5. The method of claim 4 , wherein a particular sender process comprises a multiple queue consumer. 6. The method of claim 4 , wherein a particular recipient comprises one of an MX node and a Q node. 7. The method of claim 4 , comprising: putting a sender process to sleep that has no more messages to read from the queue. 8. The method of claim 4 , comprising: deleting the queue when a sender process has not been active for more than a threshold period of time. 9. The method of claim 1 , comprising: inserting, by one or more publisher processes, one or more messages in the block designating the tail of the queue. 10. The method of claim 9 , wherein a particular publisher process comprises one of an MX node, a Q node, and a multiple queue publisher. 11. A system, comprising: a queue, wherein the queue comprises an ordered plurality of blocks, wherein each block to store one or more respective messages and is associated with a respective time, and wherein the times increase from a block designating a head of the queue to a block designating a tail of the queue; and one or more computer processors, operatively coupled with the queue, programmed to perform operations to: designate as old one or more of the blocks having associated times that are earlier than a first time; designate a block associated with a time later than or equal to the first time as a new head of the queue; allow messages to be read from the old blocks until a second time which is later than the first time; and delete from the queue one or more of the old blocks at a time later than or equal to the second time. 12. The system of claim 11 , wherein the queue comprises a channel queue. 13. The system of claim 11 , wherein the queue is for messages from at least one of a publisher and a multiple queue publisher. 14. The system of claim 11 , wherein the operations further to: read, by each of one or more sender processes, messages from one or more blocks in the queue beginning at the head of the queue; and send, by each of the one or more sender processes, the read messages to a respective recipient. 15. The system of claim 14 , wherein a particular sender process comprises a multiple queue consumer. 16. The system of claim 14 , wherein a particular recipient comprises one of an MX node and a Q node. 17. The system of claim 14 , wherein the operations further to: put a sender process to sleep that has no more messages to read from the queue. 18. The system of claim 11 , further to: insert, by one or more publisher processes, one or more messages in the block designating the tail of the queue. 19. The system of claim 18 , wherein a particular publisher process comprises one of an MX node, a Q node, and a multiple queue publisher. 20. A non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more computer processors, cause the one or more computer processors to: provide a queue comprising an ordered plurality of blocks, wherein each block to store one or more respective messages and is associated with a respective time, and wherein the times increase from a block designating a head of the queue to a block designating a tail of the queue; designate, by the one or more computer processors, as old one or more of the blocks having associated times that are earlier than a first time; designate, by the one or more computer processors, a block associated with a time later than or equal to the first time as a new head of the queue; allow messages to be read from the old blocks until a second time which is later than the first time; and delete from the queue one or more of the old blocks at a time later than or equal to the second time.

Assignees

Inventors

Classifications

  • Arrangements for multi-party communication, e.g. for conferences (data switching systems for conference H04L12/18; arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities H04M3/56; television conferencing systems H04N7/15) · CPC title

  • User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail · CPC title

  • Streamlined, light-weight or high-speed protocols, e.g. express transfer protocol [XTP] or byte stream · CPC title

  • Multimedia information · CPC title

  • for peripheral storage systems, e.g. disk cache · 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 US9843551B2 cover?
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing and transferring messages. An example method includes providing a queue having an ordered plurality of storage blocks. Each storage block stores one or more respective messages and is associated with a respective time. The times increase from a block designating a head of the queue to …
Who is the assignee on this patent?
Machine Zone Inc
What technology area does this patent fall under?
Primary CPC classification H04L51/26. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 12 2017 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).