Computer system to support failover in an event stream processing system
First Claim
1. A plurality of non-transitory computer-readable media configured to switch stream processing of an event block object, sent from a publishing device to a subscribing device, to a first computing device from a third computing device that has failed, the plurality of non-transitory computer-readable media comprising:
- a first non-transitory computer-readable medium comprising first computer-readable instructions stored thereon wherein, when the first computer-readable instructions are executed by a first processor, the first computer-readable instructions cause the first computing deviceto determine a first status of a first event stream processing engine (ESPE) executing at the first computing device as newly active;
when the first status of the first ESPE is determined as newly active, to determine a last published event block object identifier as an identifier that uniquely identifies a last event block object published to an out-messaging network device;
when the first status of the first ESPE is determined as newly active, to select a next event block object having an event block object identifier that is greater than the determined last published event block object identifier from the first non-transitory computer-readable medium;
when the first status of the first ESPE is determined as newly active, to publish the selected next event block object to the out-messaging network device;
to receive a first event block object from the first ESPE executing at the first computing device, wherein the first event block object includes a unique identifier of the first event block object;
to determine a first status of the first ESPE as active; and
when the first status of the first ESPE is determined as active, to publish the received first event block object to the out-messaging network device; and
a second non-transitory computer-readable medium comprising second computer-readable instructions stored thereon wherein, when the second computer-readable instructions are executed by a second processor, the second computer-readable instructions cause a second computing device different from the first computing device and from the third computing deviceto receive the first event block object from a second ESPE executing at the second computing device, wherein the first event block object includes the unique identifier of the first event block object;
to determine a first status of the second ESPE as standby; and
when the first status of the second ESPE is determined as standby, to store the received first event block object in the second non-transitory computer-readable medium.
1 Assignment
0 Petitions
Accused Products
Abstract
In a system, a first status of a first ESP engine (ESPE) executing at a first computing device is determined as newly active; a last published event block object identifier is determined as an identifier uniquely identifying a last event block object published to an out-messaging network device; a next event block object having an event block object identifier greater than the determined last published event block object identifier is selected from a first computer-readable medium; and the selected next event block object is published to the out-messaging network device. A first event block object is received from a second ESPE executing at a second computing device. A first status of the second ESPE is determined as standby by the second computing device. The received first event block object is stored by the second computing device in a second non-transitory computer-readable medium.
14 Citations
30 Claims
-
1. A plurality of non-transitory computer-readable media configured to switch stream processing of an event block object, sent from a publishing device to a subscribing device, to a first computing device from a third computing device that has failed, the plurality of non-transitory computer-readable media comprising:
-
a first non-transitory computer-readable medium comprising first computer-readable instructions stored thereon wherein, when the first computer-readable instructions are executed by a first processor, the first computer-readable instructions cause the first computing device to determine a first status of a first event stream processing engine (ESPE) executing at the first computing device as newly active; when the first status of the first ESPE is determined as newly active, to determine a last published event block object identifier as an identifier that uniquely identifies a last event block object published to an out-messaging network device; when the first status of the first ESPE is determined as newly active, to select a next event block object having an event block object identifier that is greater than the determined last published event block object identifier from the first non-transitory computer-readable medium; when the first status of the first ESPE is determined as newly active, to publish the selected next event block object to the out-messaging network device; to receive a first event block object from the first ESPE executing at the first computing device, wherein the first event block object includes a unique identifier of the first event block object; to determine a first status of the first ESPE as active; and when the first status of the first ESPE is determined as active, to publish the received first event block object to the out-messaging network device; and a second non-transitory computer-readable medium comprising second computer-readable instructions stored thereon wherein, when the second computer-readable instructions are executed by a second processor, the second computer-readable instructions cause a second computing device different from the first computing device and from the third computing device to receive the first event block object from a second ESPE executing at the second computing device, wherein the first event block object includes the unique identifier of the first event block object; to determine a first status of the second ESPE as standby; and when the first status of the second ESPE is determined as standby, to store the received first event block object in the second non-transitory computer-readable medium. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A system configured to switch stream processing of an event block object, sent from a publishing device to a subscribing device, to a first computing device from a third computing device that has failed, the system comprising:
-
the first computing device comprising a first processor configured to execute a first event stream processing engine (ESPE); and a first non-transitory computer-readable medium operably coupled to the first processor, the first non-transitory computer-readable medium having first computer-readable instructions stored thereon that, when executed by the first processor, cause the first computing device to determine a first status of the executing first ESPE as newly active; when the first status is determined as newly active, to determine a last published event block object identifier as an identifier that uniquely identifies a last event block object published to an out-messaging network device; when the first status is determined as newly active, to select a next event block object having an event block object identifier that is greater than the determined last published event block object identifier from the first non-transitory computer-readable medium; when the first status is determined as newly active, to publish the selected next event block object to the out-messaging network device; to receive a first event block object from the first ESPE executing at the first computing device, wherein the first event block object includes a unique identifier of the first event block object; to determine a first status of the first ESPE as active; and when the first status of the first ESPE is determined as active, to publish the received first event block object to the out-messaging network device; and a second computing device different from the first computing device and from the third computing device, the second computing device comprising a second processor configured to execute a second ESPE; and a second non-transitory computer-readable medium operably coupled to the second processor, the second non-transitory computer-readable medium having second computer-readable instructions stored thereon that, when executed by the second processor, cause the second computing device to receive the first event block object from the executing second ESPE, wherein the first event block object includes the unique identifier of the event block object; to determine a second status of the executing second ESPE as standby; and when the second status is determined as standby, to store the received first event block object in the second non-transitory computer-readable medium. - View Dependent Claims (28, 29)
-
-
30. A method of supporting failover in an event stream processing system by switching stream processing of an event block object, sent from a publishing device to a subscribing device, to a first computing device from a third computing device that has failed, the method comprising:
-
determining, by a first computing device, a first status of a first event stream processing engine (ESPE) as newly active, wherein the first ESPE is executing at the first computing device; determining, by the first computing device, a last published event block object identifier as an identifier that uniquely identifies a last event block object published to an out-messaging network device; selecting, by the first computing device, a next event block object having an event block object identifier that is greater than the determined last published event block object identifier from a first non-transitory computer-readable medium; publishing, by the first computing device, the selected next event block object to the out-messaging network device; receiving, by the first computing device, a first event block object from the first ESPE executing at the first computing device, wherein the first event block object includes a unique identifier of the first event block object; determining, by the first computing device, a first status of the first ESPE as active; when the first status of the first ESPE is determined as active, publishing, by the first computing device, the received first event block object to the out-messaging network device; receiving a first event block object from a second ESPE executing at a second computing device different from the first computing device and from the third computing device, wherein the first event block object includes the unique identifier of the first event block object; determining, by the second computing device, a first status of the second ESPE as standby; and storing, by the second computing device, the received first event block object in a second non-transitory computer-readable medium.
-
Specification