Back to results
US 2010/0306786 A1Published application
Systems and methods for notifying listeners of events
AssigneeIsilon Systems, Inc.
InventorsAaron J. Passey, Neal T. Fachan
Life of this patent
Estimating the term…
Abstract
In one embodiment, systems and methods are provided for tracking events wherein an event system monitors certain areas of a system. When an event occurs in one area of the system, the event system notifies the processes listening to that area of the system of the event.
Claims21
An event listening system, the event listening system comprising:
- a file system including a plurality of files, the plurality of files logically stored in a tree;
- a first data structure configured to track, for each of the plurality of files, a set of listening files that are listening for events that affect the corresponding file;
- a plurality of processes that each listen for events that affect at least one of the plurality of files;
- a second data structure configured to track, for each of the plurality of files, which of the plurality of processes are listening to the corresponding file;
- a listening module configured to receive an identifier for a first file of the plurality of files and to determine, using the first data structure and the second data structure, whether the first file is relevant to any of the plurality of processes;
- a traverse module configured to traverse a first set of first data structures that correspond to a subset of the plurality of files that represent one branch of the tree including the first file;
- and
- an update module configured to update at least one of the first data structures in the first set corresponding to the file in at least one traversed level by reviewing a scope of at least one of the listening files of the first data structure that corresponds to the file's parent.
5 more elements
The event listening system of claim further comprising:
- a plurality of message queues corresponding to the plurality of processes and configured to receive and queue the event messages.
A method for listening for events, the method comprising:
- retrieving computer-executable instructions from computer storage;
- executing the computer-executable instructions on at least one computer processor, causing computer hardware to perform operations comprising:
- logically storing a plurality of files in a tree;
- for each of the plurality of files, tracking a set of listening files that are listening for events that affect the corresponding file;
- storing a plurality of processes that each listen for events that affect at least one of the plurality of files;
- for each of the plurality of files, tracking which of the plurality of processes are listening to the corresponding file files;
- receiving an identifier for a first file of the plurality of files;
- determining, using the first data structure and the second data structure, whether the first file is relevant to any of the plurality of processes;
- traversing a first set of first data structures that correspond to a subset of the plurality of files that represent one branch of the tree including the first file;
- and
- updating at least one of the corresponding first data structures in the first set corresponding to the file in at least one traversed level, wherein updating includes reviewing a scope of at least one of the listening files of the first data structure that corresponds to the file's parent.
8 more elements
-25. (canceled)
An event listening system, the event listening system comprising:
- a file system including a plurality of files, the plurality of files logically stored in a tree;
- a first data structure configured to track, for each of the plurality of files, a set of listening files that are listening for events that affect the corresponding file;
- a plurality of processes that each listen for events that affect at least one of the plurality of files;
- a second data structure configured to track, for each of the plurality of files, which of the plurality of processes are listening to the corresponding file;
- a listening module configured to receive an identifier for a first file of the plurality of files and to determine, using the first data structure and the second data structure, whether the first file is relevant to any of the plurality of processes;
- a traverse module configured to traverse a first set of first data structures that correspond to a subset of the plurality of files that represent one branch of the tree including the first file;
- an update module configured to update at least one of the first data structures in the first set corresponding to the file in at least one traversed level by reviewing a scope of at least one of the listening files of the first data structure that corresponds to the file's parent;
- and
- an event message module configured to send an event message to the plurality of processes that are relevant to the first file.
6 more elements
Dependencies are inferred from the claim text.