×

Maintenance of message serialization in multi-queue messaging environments

  • US 9,141,446 B2
  • Filed: 10/24/2008
  • Issued: 09/22/2015
  • Est. Priority Date: 10/24/2008
  • Status: Active Grant
First Claim
Patent Images

1. A computer system for managing a plurality of related messages generated by an application in a serial order and a serialization context generated by the application for each of the plurality of related messages to ensure that the plurality of related messages are transmitted in the serial order, the computer system comprising:

  • at least one processor;

    instructions recorded on a non-transitory computer-readable medium and executable by the at least one processor; and

    the computer system further includesa queue assignment handler configured to associate the serialization context of the plurality of related messages with a source queue used to transmit a sequence of the related messages in the serial order based on the serialization context and configured to receive a change in queue assignment of the serialization context from the source queue to a target queue;

    a queue monitor configured to monitor the related messages associated with the source queue and the target queue to assist with maintaining the sequence of the related messages in the serial order;

    a queue scheduler configured to execute the change in queue assignment, including being configured toschedule transmission of the related messages to and from the source queue and the target queue so as to maintain the sequence of the related messages in the serial order;

    determine, from the queue assignment handler, the change in queue assignment of the serialization context from the source queue to the target queue;

    suspend transmission of existing messages of the related messages from the source queue and the target queue, and disable a placement of subsequent messages of the related messages into the source queue;

    schedule placement of the subsequent messages of the related messages within the target queue;

    resume transmission of the existing messages of the related messages from the source queue;

    receive, from the queue monitor, notification of completion of the transmission of the existing messages of the related messages from the source queue; and

    after receiving the notification of completion of the transmission of the existing messages of the related messages from the source queue, transmit the subsequent messages of the related messages from the target queue to thereby maintain transmission of the sequence of the related messages in the serial order using the serialization context;

    wherein the source queue is included within a plurality of source queues, each having at least one serialization context, and wherein the change in queue assignment includes a consolidation of the serialization contexts of all of the plurality of source queues into association with the target queue;

    wherein the queue assignment handler is configured to select the plurality of source queues from among a larger pool of source queues;

    wherein the serialization context includes an identifier received from the application that originates the related messages, and that is associated with each of the related messages; and

    wherein the queue scheduler is configured to execute the change in queue assignment, including being configured toschedule an initial transmission of the related messages from the source queue using the serialization context, prior to the change in queue assignment, andbegin transmission of the subsequent messages from the target queue, using the serialization context, subsequent to the notification.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×