Alternately Processing Messages
2 Assignments
0 Petitions
Accused Products
Abstract
Among other things, processing an incoming message stream includes storing context data of an application in a global database. Various messages from the incoming message stream are placed in an in-memory message queue. One of at least a first and a second phases at a first process is executed, and another of the at least first and second phases at a second process is also executed, so as to alternately execute a first phase and a second phase by a first process and a second process. The first phase includes processing at least one message from the various messages and storing at least one corresponding result in a local memory area. The first phase also includes storing at least one modification to the context data in the local memory area. The second phase includes performing a transaction of the at least one result and the at least one modification of the context data to the global database and committing the transaction.
5 Citations
21 Claims
-
1. (canceled)
-
2. A computer-implemented method comprising:
-
obtaining, by a first instance of an application, exclusive access to a global memory area based on a second instance of the application not having the exclusive access to the global memory area; processing, by the first instance having the exclusive access to the global memory area, information that is stored in the global memory area; obtaining, by the first instance of the application, exclusive access to a global database based on the second instance of the application not having the exclusive access to the global database; and based on the first instance obtaining the exclusive access to the global database; determining that the first instance does not have the exclusive access to the global memory area; storing, in the global database, a result of the first instance processing the information that was stored in the global memory area; and determining that the first instance of the application does not have the exclusive access to the global database. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system comprising:
-
one or more computers comprising at least one processor; and a computer-readable medium coupled to the one or more computers having instructions stored thereon which, when executed by the one or more computers, cause the one or more computers to perform operations comprising; obtaining, by a first instance of an application, exclusive access to a global memory area based on a second instance of the application not having the exclusive access to the global memory area; processing, by the first instance having the exclusive access to the global memory area, information that is stored in the global memory area; obtaining, by the first instance of the application, exclusive access to a global database based on the second instance of the application not having the exclusive access to the global database; and based on the first instance obtaining the exclusive access to the global database; determining that the first instance does not have the exclusive access to the global memory area; storing, in the global database, a result of the first instance processing the information that was stored in the global memory area; and determining that the first instance of the application does not have the exclusive access to the global database.
-
-
21. A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
-
obtaining, by a first instance of an application, exclusive access to a global memory area based on a second instance of the application not having the exclusive access to the global memory area; processing, by the first instance having the exclusive access to the global memory area, information that is stored in the global memory area; obtaining, by the first instance of the application, exclusive access to a global database based on the second instance of the application not having the exclusive access to the global database; and based on the first instance obtaining the exclusive access to the global database; determining that the first instance does not have the exclusive access to the global memory area; storing, in the global database, a result of the first instance processing the information that was stored in the global memory area; and determining that the first instance of the application does not have the exclusive access to the global database.
-
Specification