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 and including a first file, a parent file of the first file, and a grandparent file of the first file;
a first data structure for the first file and configured to track a set of listening files, each of the listening files having at least one process associated with the respective listening file that is listening for events that affect the first file;
a first data structure for the parent file and configured to track a set of listening files, each of the listening files having at least one process associated with the respective listening file that is listening for events that affect the parent file;
a first data structure for the grandparent file and configured to track a set of listening files, each of the listening files having at least one process associated with the respective listening file that is listening for events that affect the grandparent file; and
a traverse module configured to, in response to receipt of an identifier that is generated in response to an event that affects the first file;
access the first data structure of the grandparent file;
access the first data structure of the parent file;
review the grandparent file'"'"'s set of listening files to identify any listening files for the grandparent file that are also listening files for the parent file, but that are not being tracked by the parent file'"'"'s first data structure;
add the files identified in the review of the grandparent file'"'"'s set of listening files to the parent file'"'"'s first data structure;
access the first file'"'"'s first data structure;
review the parent file'"'"'s set of listening files to identify any listening files for the parent file that are also listening files for the first file, but that are not being tracked by the first file'"'"'s first data structure; and
add the files identified in the review of the parent file'"'"'s set of listening files to the first file'"'"'s first data structure.
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.
407 Citations
26 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 and including a first file, a parent file of the first file, and a grandparent file of the first file; a first data structure for the first file and configured to track a set of listening files, each of the listening files having at least one process associated with the respective listening file that is listening for events that affect the first file; a first data structure for the parent file and configured to track a set of listening files, each of the listening files having at least one process associated with the respective listening file that is listening for events that affect the parent file; a first data structure for the grandparent file and configured to track a set of listening files, each of the listening files having at least one process associated with the respective listening file that is listening for events that affect the grandparent file; and a traverse module configured to, in response to receipt of an identifier that is generated in response to an event that affects the first file; access the first data structure of the grandparent file; access the first data structure of the parent file; review the grandparent file'"'"'s set of listening files to identify any listening files for the grandparent file that are also listening files for the parent file, but that are not being tracked by the parent file'"'"'s first data structure; add the files identified in the review of the grandparent file'"'"'s set of listening files to the parent file'"'"'s first data structure; access the first file'"'"'s first data structure; review the parent file'"'"'s set of listening files to identify any listening files for the parent file that are also listening files for the first file, but that are not being tracked by the first file'"'"'s first data structure; and add the files identified in the review of the parent file'"'"'s set of listening files to the first file'"'"'s first data structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. 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, the plurality of files including a first file, a parent file of the first file, and a grandparent file of the first file; tracking in a first data structure for the first file a set of listening files, each of the listening files having at least one process associated with the respective listening file that is listening for events that affect the first file; tracking in a first data structure for the parent file a set of listening files, each of the listening files having at least one process associated with the respective listening file that is listening for events that affect the parent file; tracking in a first data structure for the grandparent file a set of listening files, each of the listening files having at least one process associated with the respective listening file that is listening for events that affect the grandparent file; receiving an identifier for a first file of the plurality of files that is generated in response to an event that affects a first file of the plurality of files; accessing the first data structure of the grandparent file; accessing the first data structure of the parent file; reviewing the grandparent file'"'"'s set of listening files to identify any listening files for the grandparent file that are also listening files for the parent file, but that are not being tracked by the parent file'"'"'s first data structure; adding the files identified in the review of the grandparent file'"'"'s set of listening files to the parent file'"'"'s first data structure; accessing the first data structure of the first file; reviewing the parent file'"'"'s set of listening files to identify any listening files for the parent file that are also listening files for the first file, but that are not being tracked by the first file'"'"'s first data structure; and adding the files identified in the review of the parent file'"'"'s set of listening files to the first file'"'"'s first data structure. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. 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 and including a first file, a parent file of the first file, and a grandparent file of the first file; a first data structure for the first file and configured to track a set of listening files, each of the listening files having at least one process associated with the respective listening file that is listening for events that affect the first file; a first data structure for the parent file and configured to track a set of listening files, each of the listening files having at least one process associated with the respective listening file that is listening for events that affect the parent file; a first data structure for the grandparent file and configured to track a set of listening files, each of the listening files having at least one process associated with the respective listening file that is listening for events that affect the grandparent file; a traverse module configured to, in response to receipt of an identifier that is generated in response to an event that affects the first file; access the first data structure of the grandparent file; access the first data structure of the parent file; review the grandparent file'"'"'s set of listening files to identify any listening files for the grandparent file that are also listening files for the parent file, but that are not being tracked by the parent file'"'"'s first data structure; add the files identified in the review of the grandparent file'"'"'s set of listening files to the parent file'"'"'s first data structure; access the first file'"'"'s first data structure; review the parent file'"'"'s set of listening files to identify any listening files for the parent file that are also listening files for the first file, but that are not being tracked by the first file'"'"'s first data structure; and add the files identified in the review of the parent file'"'"'s set of listening files to the first file'"'"'s first data structure; and an event message module configured to send an event message to one or more processes that are relevant to the first file. - View Dependent Claims (25, 26)
-
Specification