Method and system for reliable access of messages by multiple consumers
First Claim
1. A method for managing information produced by an application to be accessed by multiple consumers, said information comprising one or more information records, said information records to be accessed by said multiple consumers in a specified order, said information record comprising data produced by the application to be accessed by a consumer, said method comprising:
- providing said data of an information record to a consumer of the multiple consumers;
updating, by using a processor, a history table, said history table comprising a history record for said consumer for said information record, said history record comprising a message state field for indicating whether said data of said information record have been provided to said consumer, said updating comprising setting said message state field in a history record corresponding to said consumer to indicate said consumer accessed said data, wherein the multiple consumers access the same information records in the same prescribed order and the consumer does not have to wait for any others to finish a transaction before the consumer begins the transaction on the same information records;
associating a work list table with said history table, said work list table comprising one or more work entries;
batching two or more work entries in said work list table;
reading one or more history records of said history table, said one or more history records determined by said two or more work entries;
deleting the one or more information records; and
storing the data in a volatile or non-volatile computer-readable medium or displaying the data on a display device.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for managing the processing of the same pieces of information, e.g., messages, by multiple consumers, in a prescribed order, without causing the degradation of any consumer'"'"'s performance because of other consumers'"'"' access to the same information. A single information queue contains pieces of information to be accessed by multiple consumers. Each piece of information is stored in the information queue along with an information identifier that uniquely identifies the piece of information. A separate table is used to keep track of and identify the pieces of information in the information queue that have been accessed by respective consumers. This separate table is decoupled from the information queue, and, thus, each consumer'"'"'s access of a piece of queued information does not impact any other consumer'"'"'s access of the same piece of information. A deletion process may also be executed, in the background if desired, which uses a working list table that identifies the pieces of information that have been accessed. With the working list table and the separate table, the deletion process identifies the pieces of information that have been accessed by all the respective consumers, and deletes them from the information queue.
47 Citations
40 Claims
-
1. A method for managing information produced by an application to be accessed by multiple consumers, said information comprising one or more information records, said information records to be accessed by said multiple consumers in a specified order, said information record comprising data produced by the application to be accessed by a consumer, said method comprising:
-
providing said data of an information record to a consumer of the multiple consumers; updating, by using a processor, a history table, said history table comprising a history record for said consumer for said information record, said history record comprising a message state field for indicating whether said data of said information record have been provided to said consumer, said updating comprising setting said message state field in a history record corresponding to said consumer to indicate said consumer accessed said data, wherein the multiple consumers access the same information records in the same prescribed order and the consumer does not have to wait for any others to finish a transaction before the consumer begins the transaction on the same information records; associating a work list table with said history table, said work list table comprising one or more work entries; batching two or more work entries in said work list table; reading one or more history records of said history table, said one or more history records determined by said two or more work entries; deleting the one or more information records; and storing the data in a volatile or non-volatile computer-readable medium or displaying the data on a display device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for the delivery of information produced by an application to multiple consumers, said information comprising data produced by the application to be accessed by a consumer, said system comprising:
-
a processor for executing instructions; an information queue comprising one or more information queue records, said information queue record comprising information to be accessed by one or more consumers;
a table separated from said information queue, said table comprising one or more table records, said table record comprising an identification of said information in an information queue record, said table record further comprising a consumer identification field comprising an identification of one of said one or more consumers, and a message state field for indicating whether one of the one or more information queue records has been accessed by one of the one or more consumers, wherein the multiple consumers access the same information queue records in the same prescribed order and the one or more consumers do not have to wait for any others to finish a transaction before the one or more consumers begin the transaction on the same information queue records;a work list table being associated with said table, said work list table comprising one or more work entries, wherein the processor is programmed for; batching two or more work entries in said work list table; reading one or more table records of said table, said one or more table records determined by said two or more work entries; deleting the one or more information records; and a volatile or non-volatile computer-readable medium for storing the information or a display device displaying the information. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A system for the delivery of messages produced by an application to multiple consumers, said messages comprising data produced by the application to be accessed by a consumer, said method comprising, said system comprising:
-
a processor for executing instructions; a message queue comprising one or more message queue records, said one or more message queue records comprising a message and a message identification; a history table separated from said message queue comprising one or more history records, said one or more history records comprising a message identification, a consumer identification and a message state identification, said message state identification indicating whether one of the one or more message queue records has been accessed; and a work list table separated from said message queue and said history table comprising one or more work list entries, said work list entry comprising a message identification, wherein the multiple consumers access the same message queue records in the same prescribed order and a consumer does not have to wait for any others to finish a transaction before the consumer begins the transaction on the same message queue records, wherein the processor is programmed for; batching two or more work entries in said work list table; reading one or more history records of said history table, said one or more history records determined by said two or more work entries; deleting the one or more information records; and a volatile or non-volatile computer-readable medium storing the message or a display device for displaying the message. - View Dependent Claims (21)
-
-
22. A method for multiple consumers to access information produced by an application in a non first-in first-out, prescribed order, said information comprising one or more pieces of information, a first piece of information produced by the application stored in a first location to be accessed by a consumer, said method comprising:
-
providing access to said first piece of information to a first consumer of said multiple consumers; indicating in a second location in a history table that said first consumer has accessed said first piece of information, said history table having a first message state field for indicating whether said first consumer has accessed said first piece of information; providing access to said first piece of information to a second consumer of said multiple consumers; indicating, by using a processor, in a third location in said history table that said second consumer has accessed said first piece of information, said history table having a second message state field for indicating whether said second consumer has accessed said first piece of information, wherein the multiple consumers access the same information records in the same prescribed order and the first consumer does not have to wait for any others to finish a transaction before the consumer begins the transaction on the same information records; associating a work list table with said history table, said work list table comprising one or more work entries; reading one or more history records of said history table, said one or more history records determined by said two or more work entries; deleting said entry comprising said first piece of information from said queue of information after said first consumer and said second consumer have accessed said first piece of information, in which said first location comprises an information entry in a queue of information, in which said queue of information comprises one or more information entries, and each said information entry comprises a piece of information to be accessed by one or more of said multiple consumers, each said information entry further comprising an identification of said piece of information in said information entry; and storing the first piece of information in a volatile or non-volatile computer-readable medium or displaying the first piece of information on a display device. - View Dependent Claims (23, 24, 25)
-
-
26. A computer program product that includes a volatile or non-volatile computer readable storage medium, the computer readable medium having stored thereon a sequence of instructions which, when executed by a processor, causes the processor to execute a process for multiple consumers to access information produced by an application in a non first-in first-out, prescribed order, said information comprising one or more pieces of information, a first piece of information produced by the application stored in a first location to be accessed by a consumer once, said process comprising:
-
providing access to said first piece of information to a first consumer of said multiple consumers; indicating in a second location in a history table that said first consumer has accessed said first piece of information, said history table having a first message state field for indicating whether said first consumer has accessed said first piece of information; providing access to said first piece of information to a second consumer of said multiple consumers; indicating in a third location in said history table that said second consumer has accessed said first piece of information, said history table having a second message state field for indicating whether said second consumer has accessed said first piece of information, wherein the multiple consumers access the same information records in the same prescribed order and the first consumer does not have to wait for any others to finish a transaction before the first consumer begins the transaction on the same information records; associating a work list table with said history table, said work list table comprising one or more work entries; reading one or more history records of said history table, said one or more history records determined by said two or more work entries; deleting said entry comprising said first piece of information from said queue of information after said first consumer and said second consumer have accessed said first piece of information, in which said first location comprises an information entry in a queue of information, in which said queue of information comprises one or more information entries, and at least one of said one or more information entries comprises a piece of information to be accessed by one or more of said multiple consumers, said at least one of said one or more information entries further comprising an identification of said piece of information in said information entry; and storing the first piece of information or displaying the first piece of information on a display device. - View Dependent Claims (27, 28, 29)
-
-
30. A system for multiple consumers to access information produced by an application in a non first-in first-out, prescribed order, said information comprising one or more pieces of information, a first piece of information produced by the application stored in a first location to be accessed by a consumer, said system comprising:
-
a processor programmed for; providing access to said first piece of information to a first consumer of said multiple consumers; indicating in a second location in a history table that said first consumer has accessed said first piece of information, said history table having a first message state field for indicating whether said first consumer has accessed said first piece of information; providing access to said first piece of information to a second consumer of said multiple consumers; indicating in a third location in said history table that said second consumer has accessed said first piece of information, said history table having a second message state field for indicating whether said second consumer has accessed said first piece of information, wherein the multiple consumers access the same information records in the same prescribed order and the first consumer does not have to wait for any others to finish a transaction before the first consumer begins the transaction on the same information records; associating a work list table with said history table, said work list table comprising one or more work entries; reading one or more history records of said history table, said one or more history records determined by said two or more work entries; deleting said entry comprising said first piece of information from said queue of information after said first consumer and said second consumer have accessed said first piece of information, in which said first location comprises an information entry in a queue of information, in which said queue of information comprises one or more information entries, said information entry comprises a piece of information to be accessed by one or more of said multiple consumers, said information entry further comprising an identification of said piece of information in said information entry; and a volatile or non-volatile computer-readable medium for storing the first piece of information or a display device for displaying the first piece of information. - View Dependent Claims (31, 32, 33)
-
-
34. A computer program product that includes a non-transitory computer readable medium, the computer readable medium having stored thereon a sequence of instructions which, when executed by a processor, causes the processor to execute a process for managing information produced by an application to be accessed by multiple consumers, said information comprising one or more information records, said information records to be accessed by said multiple consumers in a specified order, said information record produced by the application comprising data to be accessed by a consumer, said process comprising:
-
providing said data of an information record to a consumer of the multiple consumers; updating a history table, said history table comprising a history record for said consumer for said information record, said history record comprising a message state field for indicating whether said data of said information record have been provided to said consumer, said updating comprising setting said message state field in a history record corresponding to said consumer to indicate said consumer accessed said data, wherein the multiple consumers access the same information records in the same prescribed order and the consumer does not have to wait for any others to finish a transaction before the consumer begins the transaction on the same information records; associating a work list table with said history table, said work list table comprising one or more work entries; batching two or more work entries in said work list table; reading one or more history records of said history table, said one or more history records determined by said two or more work entries; deleting the one or more information records; and storing the data in a volatile or non-volatile computer-readable medium or displaying the data on a display device. - View Dependent Claims (35, 36, 37, 38, 39, 40)
-
Specification