IP Library Granted Patent US 9,489,442
Granted Patent B1
US 9,489,442 · App. 14/172,196 · Granted Nov 8, 2016

Prevention of circular event publication in publish/subscribe model using path vector

Inventors: Sreejith Prabhakaran Nair (Bangalore, IN); Swati Bhatia (Bangalore, IN); Sachin G. Totale (Bangalore, IN)
Assignee: EMC Corporation
G06F17/30578
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,489,442
App. No.
14/172,196
Granted
Nov 8, 2016
Kind
B1
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.

Claims (26)

1. A method to prevent circular event publication, comprising:

detecting a change in an entity's own value;

determining whether the detected change is from an another entity, wherein the entity and the another entity are page components of an application user interface page;

in the event the detected change is not from the another entity, publishing a change event based at least in part on the detected change and including in the change event an event path vector that includes an identifier associated with the entity; and

in the event the detected change is from the another entity, publishing the change event without including the identifier associated with the entity in the event path vector, wherein the change is associated with evaluation of a function used to determine the entity's own value, wherein the function is evaluated in response to a received event, wherein the received event indicates a change in the another entity's value, wherein the another entity's value is an argument of the function.

2. The method of claim 1 , wherein the received event includes a corresponding event path vector, and associating with the change event an event path vector that includes an identifier associated with the entity includes adding the identifier associated with the entity to a set of one or more identifiers included in the corresponding event path vector as received.

3. The method of claim 1 , wherein the change in the value associated with the another entity is received via a received change event and the detected change in the entity's own value is made in response to the received change event.

4. The method of claim 1 , wherein a subscribing entity is configured to receive the published change event.

5. The method of claim 4 , wherein the subscribing entity is configured to check the event path vector to determine whether an identifier associated with the subscribing entity is included in the event path vector.

6. The method of claim 5 , wherein the subscribing entity is configured to drop the event based at least in part on a determination that the identifier associated with the subscribing entity is included in the event path vector.

7. The method of claim 5 , wherein the subscribing entity is configured to act on the event based at least in part on a determination that the identifier associated with the subscribing entity is not included in the event path vector.

8. The method of claim 5 , wherein the subscribing entity is configured to act on the event based at least in part on a determination that the identifier associated with the subscribing entity is not included in the event path vector more than a prescribed number of times.

9. The method of claim 1 , wherein detecting a change in an entity's own value is detected by an application user interface or other page component.

10. The method of claim 1 , wherein the entity is configured to subscribe to a change event associated with the another entity.

11. A system to prevent circular event publication, comprising:

a memory; and

a processor coupled to the memory and configured to:

detect a change in an entity's own value as stored in the memory;

determine whether the changes is from an another entity, wherein the entity and the another entity are page components of an application user interface page;

in the event the detected change is not from an another entity, publish a change event based at least in part on the detected change and include in the change event an event path vector that includes an identifier associated with the entity; and

in the event the detected change is from the another entity, publish the change event without including the identifier associated with the entity in the event path vector, wherein the change is associated with evaluation of a function used to determine the entity's own value, wherein the function is evaluated in response to a received event, wherein the received event indicates a change in the another entity's value, wherein the another entity's value is an argument of the function.

12. 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:

detecting a change in an entity's own value;

determining whether the change is from an another entity, wherein the entity and the another entity are page components of an application user interface page;

in the event the detected change is not from the another entity, publishing a change event based at least in part on the detected change and including in the change event an event path vector that includes an identifier associated with the entity; and

in the event the detected change is from the another entity, publishing the change event without including an identifier associated with the entity in the event path vector, wherein the change is associated with evaluation of a function used to determine the entity's own value, wherein the function is evaluated in response to a received event, wherein the received event indicates a change in the another entity's value, wherein the another entity's value is an argument of the function.

Assignments (12)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 063559/0805) Recorded Jun 21, 2024
From: BARCLAYS BANK PLC
To: OPEN TEXT CORPORATION
Reel/Frame 067807/0069 →
SECURITY INTEREST Recorded Aug 30, 2023
From: OPEN TEXT CORPORATION
To: THE BANK OF NEW YORK MELLON
Reel/Frame 064761/0008 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 063559/0805 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 063559/0831 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 063559/0839 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 041579/0133 →
PATENT RELEASE (REEL:40134/FRAME:0001) Recorded Jan 23, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: EMC CORPORATION, AS GRANTOR
Reel/Frame 041073/0136 →
RELEASE OF SECURITY INTEREST Recorded Jan 23, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC CORPORATION
Reel/Frame 041073/0443 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2014
From: PRABHAKARAN NAIR, SREEJITH; BHATIA, SWATI; TOTALE, SACHIN G.
To: EMC CORPORATION
Reel/Frame 032138/0517 →