Prevention of circular event publication in publish/subscribe model using path vector
AssigneeOpen Text Corporation
InventorsSreejith Prabhakaran Nair, Swati Bhatia, Sachin G. Totale
Life of this patent
Estimating the term…
Abstract
Techniques to prevent circular event publication are disclosed. In various embodiments, a change in an entity's own value is detected. A change event is published based at least in part on the detected change, including by associating with the change event an event path vector that includes an identifier associated with the entity.
Claims20
A method, comprising:
- receiving, at an entity, an event including an indication that a change event has occurred and an event path vector associated with the change event, the change event indicating a change in value;
- in response to receiving the indication, checking the event path vector associated with the change event for an identifier identifying the entity;
- and
- after the checking, selecting and performing, by a computing device, processing according to a first mode of operation or a second mode of operation based on whether the identifier identifying the entity is included in the event path vector, the processing according to the first mode of operation including dropping the change event by the entity, the dropping the change event being performed based on the checking determining that the identifier identifying the entity is included in the event path vector as received and the processing according to the second mode of operation including updating the event path vector by adding the identifier identifying the entity to a set of one or more identifiers included in the event path vector as received and associating the change event with the updated event path vector, the updating the event path vector being performed based on the checking determining that the identifier identifying the entity is not included in the event path vector as received,
- wherein a presence of the identifier identifying the entity in the event path vector indicates that the entity was previously modified by an event chain, and an absence of the identifier identifying the entity in the event path vector indicates that the entity was not previously modified by the event chain,
- wherein the entity is a software component adapted to provide information to or consume information from at least one other software component.
A system comprising:
- at least one device processor;
- and
- at least one memory storing instructions translatable by the at least one device processor to:
- receive, at an entity, an event including indication that a change event has occurred and an event path vector associated with the change event, the change event indicating a change in value;
- in response to receiving the indication, check the event path vector associated with the change event for an identifier identifying the entity;
- drop the change event by the entity based on the checking determining that the identifier identifying the entity is included in the event path vector;
- and
- update the event path vector by adding the identifier identifying the entity to the event path vector as received and associate the change event with the updated event path vector based on the checking determining that the identifier identifying the entity is not included in the event path vector,
- wherein a presence of the identifier identifying the entity in the event path vector indicates that the entity was previously modified by an event chain, and an absence of the identifier identifying the entity in the event path vector indicates that the entity was not previously modified by the event chain,
- wherein the entity is a software component adapted to provide information to or consume information from at least one other software component.
A computer program product to prevent circular event publication, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
- receiving, at an entity, an event comprising an indication that a change event has occurred and an event path vector associated with the change event, the change event indicating a change in value;
- in response to receiving the indication, checking the event path vector associated with the change event for an identifier identifying the entity;
- drop the change event by the entity based on the checking determining that the identifier identifying the entity is included in the event path vector;
- and
- update the event path vector by adding the identifier identifying the entity to the event path vector as received and associate the change event with the updated event path vector based on the checking determining that the identifier identifying the entity is not included in the event path vector,
- wherein a presence of the identifier identifying the entity in the event path vector indicates that the entity was previously modified by an event chain, and an absence of the identifier identifying the entity in the event path vector indicates that the entity was not previously modified by the event chain,
- wherein the entity is a software component adapted to provide information to or consume information from at least one other software component.
Dependencies are inferred from the claim text.