Distributed event processing method and architecture
AssigneeNetApp, Inc.
InventorsGokul Soundararajan, Kaladhar Voruganti, Lakshmi Narayanan Bairavasundaram, Vipul Mathur
Life of this patent
Estimating the term…
Abstract
Method and system for distributing a notification of an event occurring at a one entity to an affected entity. In one embodiment, entities are grouped into one or more groups so that an event occurring at one entity of the group is distributed to the other entities of the group (“affected entities”). If an event occurs at an entity managed by a local entity manager, a notification of the event can be routed to a remote entity manager that manages an affected entity. The local entity manager can use a distributed mapping to determine where to route the event notification. In one embodiment the mapping associates an entity to an entity manager.
Claims29
A method comprising:
- grouping a plurality of entities into one or more groups within a distributed event processing architecture, according to a manner in which each of the plurality of entities is expected to be affected by an event, wherein to be affected by an event at an entity comprises the entity to be dependent for its operation, at least in part, upon a resource associated with the event;
- operating a plurality of entity managers in the distributed event processing architecture, each said entity manager configured to route to at least one other entity manager of the plurality of entity managers an event notification in response to an event;
- receiving, at a first entity manager, an event notification associated with an occurrence at a first component;
- identifying a second component affected by the occurrence;
- identifying an entity monitoring the second component;
- determining that the entity monitoring the second component is not located on a same server as the first entity manager;
- routing the event notification associated with the occurrence to a second entity manager configured to manage the entity monitoring the second component;
- assessing an efficiency of the one or more groups based on a number of notifications, including the event notification, passed between the first entity manager and the second entity manager;
- and
- reassigning the entity monitoring the second component to another group of the one or more groups based on the efficiency assessment, the reassignment reducing the rate at which notifications are passed between the first entity manager and the second entity manager.
A method comprising:
- grouping a plurality of entities into one or more groups within a distributed event processing architecture, based on the manner in which each of the plurality of entities is expected to affect one or more other entities of the plurality of entities in response to an event within the distributed event processing architecture, wherein to be affected by an event at an entity comprises the entity to be dependent for its operation, at least in part, upon a resource associated with the event;
- in response to an event occurring within the distributed event processing architecture, the event associated with an occurrence at a first component, identifying a first group, of the one or more groups, that contains a first entity, of the plurality of entities, the first entity configured to monitor the first component;
- identifying a first entity manager that manages the first group;
- identifying a second component affected by the occurrence;
- identifying a second entity monitoring the second component;
- determining that the second entity monitoring the second component is not located on the same server as the first entity manager;
- routing an event notification for the event from the first entity manager that manages the first group to a second entity manager that manages the second entity,
- assessing an efficiency of the one or more groups based on a number of notifications passed between the first entity manager and the second entity manager;
- and
- reassigning the second entity monitoring the second component to another group of the one or more groups based on the efficiency assessment, the reassignment reducing the rate at which notifications are passed between the first entity manager and the second entity manager.
A first entity manager comprising:
- a grouping module to group a plurality of entities into one or more groups within a distributed event processing architecture, based on the manner in which each of the plurality of entities is expected to affect one or more other entities of the plurality of entities in response to an event within the distributed event processing architecture, wherein to be affected by an event at an entity comprises the entity to be dependent for its operation, at least in part, upon a resource associated with the event;
- a routing module configured to route to a next entity manager a notification of an occurrence of the event of the specified type, so that the notification can be delivered to a next entity of the plurality of entities, wherein the next entity is in a group of entities that were previously determined to be potentially affected by the event of the specified type;
- at least one processor;
- a memory comprising instructions executable by the at least one processor to cause the first entity manager to:
- receive an event notification associated with an occurrence at a first component;
- identify a second component affected by the occurrence;
- identify an entity monitoring the second component;
- determine that the entity monitoring the second component is not located on the same server as the first entity manager;
- assess an efficiency of the one or more groups based on a number of notifications passed via the routing module to a second entity manager configured to manage the entity monitoring the second component;
- and
- reassign the entity monitoring the second component to another group of the one or more groups based on the efficiency assessment, the reassignment reducing the rate at which notifications are passed between the first entity manager and the second entity manager.
Dependencies are inferred from the claim text.