Apparatus and method for message queuing in a database system
First Claim
1. A method for receiving, queuing and executing messages in a database system in a computer system including a memory, comprising the steps of:
- establishing a queue in the memory using a table of the database system;
receiving to the queue at least one message comprising message meta-data and message user data, said message meta-data including a condition for executing said message;
waiting until said condition is satisfied;
executing said message by an application program; and
retaining said message in said queue.
2 Assignments
0 Petitions
Accused Products
Abstract
An advanced message queuing system is integrated into a database system. A queue is an ordered list of messages. Messages are requests for processing by an application. Messages are database objects and can represent events or data. Messages comprise user data and control information such as a queue name. Each queue is part of a table in a relational database. A queue table holds a set of queues. Dictionary tables store configuration information describing queues and queue tables. Messages are entered into a queue by instructing the database system using an enqueuing command attached to a message and control information. The control information describes how to order, schedule, and execute the message, and can include a result queue name into which a result message is written after execution. The system responds to a dequeuing command by delivering a copy of a message from the queue. A user can define message order within a queue, message delay factors, and exception processing. Messages may be retained in their queues after delivery and can be preserved, queried, documented, correlated, reviewed and tracked, alone or in a set comprising a transaction, regardless of message state or execution state. The system can be used to develop large-scale, message-oriented distributed applications. Existing development tools for database applications can also be used to develop queuing applications. Administrative functions to create, delete, and specify access control for queues are provided. The system provides transactional integrity; a single transaction applies to both the database and the queue. A single transaction log is maintained.
-
Citations
60 Claims
-
1. A method for receiving, queuing and executing messages in a database system in a computer system including a memory, comprising the steps of:
-
establishing a queue in the memory using a table of the database system; receiving to the queue at least one message comprising message meta-data and message user data, said message meta-data including a condition for executing said message; waiting until said condition is satisfied; executing said message by an application program; and retaining said message in said queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer system comprising:
-
a processor; and a memory coupled to said processor;
the memory having stored a queue using a table of a database system; andsequences of instructions which, when executed by said processor, cause said processor to receive, queue and execute a message in the database system by causing the processor to perform the steps of; (a.) receiving to the queue at least one message comprising message meta-data and message user data, said message meta-data including a condition for executing said message; (b.) waiting until said condition is satisfied; (c.) executing said message by an application program; and (d.) retaining said message in said queue. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A computer-readable medium having stored thereon a plurality of sequences of instructions, said plurality of sequences of instructions including sequences of instructions which, when executed by a processor, cause said processor to perform the steps of:
-
establishing a queue in a memory coupled to a processor using a table of a database system in said memory and executed by said processor; receiving to the queue at least one message comprising message meta-data and message user data, said message meta-data including a condition for executing said message; waiting until said condition is satisfied; executing said message by an application program in said memory and executed by said processor; and retaining said message in said queue. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57)
-
-
58. A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause said processor to queue messages in a database system by performing the steps of:
-
establishing a queue in a memory coupled to a processor using a table of said database system in said memory and executed by said processor; receiving to the queue at least one message comprising message meta-data and message user data, said message meta-data including a condition for executing said message; waiting until said condition is satisfied; executing said message by an application program in said memory and executed by said processor; and retaining said message in said queue.
-
-
59. A method for receiving, queuing and executing messages in a database system in a computer system including a memory, comprising the steps of:
-
establishing a queue in the memory using a table of the database system; receiving to the queue at least one message comprising message meta-data and message user data, said message meta-data including a condition for executing said message; executing said message by an application program only when said condition is satisfied; and retaining said message in said queue.
-
-
60. A computer-readable medium having stored thereon a plurality of sequences of instructions, said plurality of sequences of instructions including sequences of instructions which, when executed by a processor, cause said processor to perform the steps of:
-
establishing a queue in a memory coupled to a processor using a table of a database system in said memory and executed by said processor; receiving to the queue at least one message comprising message meta-data and message user data, said message meta-data including a condition for executing said message; executing said message by an application program in said memory and executed by said processor only when said condition is satisfied; and retaining said message in said queue.
-
Specification