SYSTEMS AND METHODS FOR NOTIFYING LISTENERS OF EVENTS
First Claim
Patent Images
1. 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.
12 Assignments
0 Petitions
Accused Products
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.
-
Citations
32 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 26)
-
-
10. 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.
-
11. 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. - View Dependent Claims (12, 13, 27, 28, 29)
-
-
14-25. -25. (canceled)
-
30. 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. - View Dependent Claims (31, 32)
-
Specification