IP Library Granted Patent US 10,122,643
Granted Patent B2
US 10,122,643 · App. 15/207,867 · Granted Nov 6, 2018

Systems and methods for reorganization of messages in queuing systems

Inventors: Casimir Saternos (Emmaus, PA); Michael A. Bellomo (Center Valley, PA); Mortimer L. Smedley, III (Kutztown, PA)
Assignee: Synchronoss Technologies, Inc.
H04L47/624H04L47/6275
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,122,643
App. No.
15/207,867
Granted
Nov 6, 2018
Kind
B2
Abstract

A method for the reorganization of messages in queuing systems is disclosed. The method comprising receiving a statement to reorganize one or more messages within an ordered data structure; translating the statement into a first set of instructions for identifying one or more messages on which to perform one or more operations, a second set of instructions for performing the one or more operations on the identified one or more messages, and a third set of instructions for storing, in a memory, the identified one or more messages after the one or more operations have been performed; executing the first set of instructions, the second set of instructions, and the third set of instructions on each message in the ordered data structure; and transmitting the operated upon messages.

Claims (49)

1. A method of providing reorganization of messages in queuing systems, the method comprising:

receiving a statement to reorganize one or more messages within a first ordered data structure;

translating the statement into a first set of instructions for identifying one or more messages on which to perform one or more operations, a second set of instructions for performing the one or more operations on the identified one or more messages, and a third set of instructions for storing, in a memory, the identified one or more messages after the one or more operations have been performed;

executing the first set of instructions to identify the one or more messages on which to perform the one or more operations wherein executing the first set of instructions for each of the one or more messages in the first ordered data structure comprises:

popping the message from the first ordered data structure;

determining whether the message is to be acted upon based on the identified one or more operations comprising matching a routing key from the statement to a binding key of the message;

determining, based on the identified one or more operations, whether to add the message back onto the first ordered data structure; and

adding the message back onto the first ordered data structure when it is determined based on the identified one or more operations;

executing the second set of instructions to perform the one or more operations on the identified one or more messages;

executing the third set of instructions to store the one or more identified messages after the one or more operations have been performed; and

transmitting the operated upon messages; and

returning an error message when one of a statement including invalid syntax is received, an ordered data structure referenced in the statement does not exist, or that statement identifies an ordered data structure to be created that already exists.

2. The method of claim 1 , wherein the first ordered data structure is a first topic queue.

3. The method of claim 2 , wherein the one or more messages identified are logically stored between a first message in the first topic queue and a last message in the first topic queue.

4. The method of claim 1 , wherein executing the third set of instructions comprises storing the messages in a second ordered data structure.

5. The method of claim 1 , wherein each of the one or more messages in the first ordered data structure comprises metadata comprising at least a binding key.

6. The method of claim 1 , wherein the one or more operations include at least one of retrieve a message, delete a message, or move a message to a different queue.

7. The method of claim 1 , wherein the one or more operations further includes creating a third ordered data structure.

8. A system of providing reorganization of messages in queuing systems, comprising:

a) at least one processor;

b) at least one input device; and

c) at least one storage device storing processor-executable instructions which, when executed by the at least one processor, perform a method including:

receiving a statement to reorganize one or more messages within a first ordered data structure;

translating the statement into a first set of instructions for identifying one or more messages on which to perform one or more operations, a second set of instructions for performing the one or more operations on the identified one or more messages, and a third set of instructions for storing, in a memory, the identified one or more messages after the one or more operations have been performed;

executing the first set of instructions to identify the one or more messages on which to perform the one or more operations wherein executing the first set of instructions for each of the one or more messages in the first ordered data structure comprises:

popping the message from the first ordered data structure;

determining whether the message is to be acted upon based on the identified one or more operations comprising matching a routing key from the statement to a binding key of the message;

determining, based on the identified one or more operations, whether to add the message back onto the first ordered data structure; and

adding the message back onto the first ordered data structure when it is determined based on the identified one or more operations;

executing the second set of instructions to perform the one or more operations on the identified one or more messages;

executing the third set of instructions to store the one or more identified messages after the one or more operations have been performed; and

transmitting the operated upon messages; and

returning an error message when one of a statement including invalid syntax is received, an ordered data structure referenced in the statement does not exist, or that statement identifies an ordered data structure to be created that already exists.

9. The system of claim 8 , wherein the first ordered data structure is a first topic queue.

10. The system of claim 9 , wherein the one or more messages identified are logically stored between a first message in the first topic queue and a last message in the first topic queue.

11. The system of claim 8 , wherein executing the third set of instructions comprises storing the messages in a second ordered data structure.

12. The system of claim 8 , wherein each of the one or more messages in the first ordered data structure comprises metadata comprising at least a binding key.

13. The system of claim 8 , wherein the one or more operations include at least one of retrieve a message, delete a message, or move a message to a different queue.

14. A method of providing reorganization of messages in queuing systems, the method comprising:

receiving a statement to reorganize one or more messages within a first queue;

identifying one or more operations described in the statement that are to be performed on one or more messages in the first queue;

identifying one or more messages logically stored between a first message in the first queue and a last message in the first queue on which to perform the one or more operations, wherein identifying each of the one or more messages logically stored between the first message in the first queue and the last message in the first queue comprises:

popping the message from the first queue;

determining whether the message is to be acted upon based on the identified one or more operations comprising matching a routing key from the statement to a binding key of the message;

determining, based on the identified one or more operations, whether to add the message back onto the first queue; and

adding the message back onto the first queue when it is determined based on the identified one or more operations;

performing the one or more operations on the identified one or more messages; and

returning the operated upon messages; and

returning an error message when one of a statement including invalid syntax is received, an ordered data structure referenced in the statement does not exist, or that statement identifies queue to be created that already exists.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Apr 7, 2025
From: SYNCHRONOSS TECHNOLOGIES, INC.
To: CITIZENS BANK, N.A.
Reel/Frame 071224/0279 →
SECURITY INTEREST Recorded Oct 29, 2019
From: SYNCHRONOSS TECHNOLOGIES, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 050854/0913 →
RELEASE OF SECURITY INTEREST Recorded Nov 14, 2017
From: GOLDMAN SACHS BANK USA
To: SYNCHRONOSS TECHNOLOGIES, INC.
Reel/Frame 044444/0286 →
SECURITY INTEREST Recorded Jan 23, 2017
From: SYNCHRONOSS TECHNOLOGIES, INC., AS GRANTOR
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 041072/0964 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2016
From: SATERNOS, CASIMIR; BELLOMO, MICHAEL A; SMEDLEY, MORTIMER L, III
To: SYNCHRONOSS TECHNOLOGIES INC
Reel/Frame 039133/0607 →
Continuity (2)
Provisional Application 62194706 · Jul 20, 2015
Related Publication 20170026302A1 · Jan 26, 2017