System and method for priority scheduling of plurality of message types with serialization constraints and dynamic class switching
First Claim
Patent Images
1. A preemptive priority scheduling system providing serialization by dynamic switching of a plurality of messages of a plurality of classes in an intersystem communication, the system comprising of:
- an intersystem communication comprising a front office to handle a plurality of predefined first set of business operations and a back office to handle plurality of second set of business operations, the back office receiving a plurality of messages from the front office in a serialized sequence;
a plurality of inbound messages, each message assigned to a pre-identified class, comprising at least one highest priority message, at least one medium priority message and at least one lowest priority message stored in a cache memory of the front office system, wherein each message is assigned with a unique messageid and a class of messages corresponding to at least one pre-identified business activity is assigned a unique baseid;
an input message queue to index the queue with messageid and baseid of at least one message residing therein the cache memory of the front office system;
a plurality of output server processes running on at least one message output server identified by an assigned serverid thereof, wherein each output server process invokes a synchronous service call to fetch at least one message from the cache memory corresponding to the indexed messageid in the input message queue and sending messages in first come first serve order to at least one back office system;
at least one serialization constraint, pre-identified for priority based message scheduling, comprising of fully restrictive, partially restrictive and non restrictive constraints, each constraint allowing to identify priority of each class of the inbound message and subsequent processing thereof by a scheduling system;
a pending list comprising indexed messageid of a pre-identified at least one class of messages having medium priority messages with serialization conflict with the highest priority messages and one or more other priority message classes, wherein the conflicting messageid is fetched from the input message queue in response to the service call from at least one output server process;
a restrictive message list comprising indexed baseid of at least one class of messages having lowest priority messages with serialization conflict with the highest priority messages and one or more other priority message classes, wherein the baseid is linked to a linked list pointer thereof;
a dispatcher, communicatively coupled with the cache memory of the front office system, dynamically configurable to adapt to at least one serialization constraint, wherein the dispatcher assigns at least one message of at least one class, indexed in the input message queue, to at least one output server process according to predetermined priority thereof for priority based preemptive message transmission to at least one back office node in confirmation with at least one selected message serialization constraint; and
a service over queue, communicatively connected to the dispatcher, to assign at least one message to at least one output server process and updating a server process completion flag accessible by the dispatcher, enabling the dispatcher to resume dispatching of at least one new message from the input message queue to at least one output server process.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a preemptive priority scheduling system and method for optimal load balancing of messages and preserving the lightweight allocation resources in an intersystem communication. The invention also provides a system and method for scheduling of messages of a plurality of classes in an intersystem communication.
-
Citations
17 Claims
-
1. A preemptive priority scheduling system providing serialization by dynamic switching of a plurality of messages of a plurality of classes in an intersystem communication, the system comprising of:
-
an intersystem communication comprising a front office to handle a plurality of predefined first set of business operations and a back office to handle plurality of second set of business operations, the back office receiving a plurality of messages from the front office in a serialized sequence; a plurality of inbound messages, each message assigned to a pre-identified class, comprising at least one highest priority message, at least one medium priority message and at least one lowest priority message stored in a cache memory of the front office system, wherein each message is assigned with a unique messageid and a class of messages corresponding to at least one pre-identified business activity is assigned a unique baseid; an input message queue to index the queue with messageid and baseid of at least one message residing therein the cache memory of the front office system; a plurality of output server processes running on at least one message output server identified by an assigned serverid thereof, wherein each output server process invokes a synchronous service call to fetch at least one message from the cache memory corresponding to the indexed messageid in the input message queue and sending messages in first come first serve order to at least one back office system; at least one serialization constraint, pre-identified for priority based message scheduling, comprising of fully restrictive, partially restrictive and non restrictive constraints, each constraint allowing to identify priority of each class of the inbound message and subsequent processing thereof by a scheduling system; a pending list comprising indexed messageid of a pre-identified at least one class of messages having medium priority messages with serialization conflict with the highest priority messages and one or more other priority message classes, wherein the conflicting messageid is fetched from the input message queue in response to the service call from at least one output server process; a restrictive message list comprising indexed baseid of at least one class of messages having lowest priority messages with serialization conflict with the highest priority messages and one or more other priority message classes, wherein the baseid is linked to a linked list pointer thereof; a dispatcher, communicatively coupled with the cache memory of the front office system, dynamically configurable to adapt to at least one serialization constraint, wherein the dispatcher assigns at least one message of at least one class, indexed in the input message queue, to at least one output server process according to predetermined priority thereof for priority based preemptive message transmission to at least one back office node in confirmation with at least one selected message serialization constraint; and a service over queue, communicatively connected to the dispatcher, to assign at least one message to at least one output server process and updating a server process completion flag accessible by the dispatcher, enabling the dispatcher to resume dispatching of at least one new message from the input message queue to at least one output server process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for preemptive priority scheduling of messages in an intersystem communication causing dynamic class switching of messages corresponding to a selected serialization constraint, the method comprises the computer implemented steps of:
-
receiving a plurality of inbound messages associated with a plurality of message classes from a front office in a serialized sequence into a cache memory of the front office system, each message having pre-assigned priority and a unique messageid and a class thereof a unique baseid, wherein all the related messages corresponding to at least one pre-identified business activity have the same baseid; indexing each inbound message residing therein the cache memory of the front office system according to a serialization constraint, assigned baseid and messageid into an input message queue, wherein the serialization constraint comprising of fully restrictive, partially restrictive and non restrictive constraints, each constraint allowing to identify priority of each class of the inbound message and subsequent processing thereof by a scheduling system; receiving at least one synchronous service call from at least one output service server process running on at least one message output server having a unique serverid for fetching at least one message from the cache memory; communicating a work status of the outbound message processing server'"'"'s to a dispatcher, wherein the dispatcher is communicatively coupled with the cache memory of the front office system and is dynamically configurable to adapt to at least one serialization constraint; assigning at least one message of at least one class, indexed in the input message queue, to at least one output server process according to predetermined priority thereof for priority based preemptive message transmission to at least one back office node in accordance with at least one selected message serialization constraint; creating a pending list and a restrictive list of messages for swapping the lower priority messages and for further processing thereof in accordance with the associated serialization constraint therewith, wherein the dispatcher swapping and indexing the messageids associated with the lower priority messages and fetching the conflicting messageid from the input message queue in response to the service call from at least one output server process; creating a linked list hash table for storing a pointers for the lower priority messages in the pending list and restrictive list, wherein the hashing is performed in relation to a baseid of each message; transmitting the messages in first come first serve order to at least one back office system; communicating the completion of each message processing associated with each output server, wherein a service over queue, communicatively connected to the dispatcher, assigns at least one message to at least one output server process and updating a server process completion flag accessible by the dispatcher, enabling the dispatcher to resume dispatching of at least one new message from the input message queue to at least one output server process; and repeating iteratively the message server processes in accordance with the serialization constraint for the messages in the input queue.
-
Specification