ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/documentation/specification/spec-realtime.txt
(Generate patch)

Comparing projects/cms/documentation/specification/spec-realtime.txt (file contents):
Revision 1.2 by tdb, Mon Oct 30 19:38:34 2000 UTC vs.
Revision 1.4 by ajm, Tue Oct 31 16:12:25 2000 UTC

# Line 9 | Line 9 | System Component Startup
9  
10   CORE
11   ----
12 + The core of the system provides little or no functionality
13 + to the operation of the system, but instead oversees the
14 + running.  At startup this should be the first component to
15 + intansiate.  It essentially acts as a central logging and
16 + configuration distrubution site, the "central" in
17 + centralised monitoring system.  It may also be running the
18 + ORB or some components related to it.
19  
20 + On startup the first thing it should do is read in any
21 + configuration files, start the logging interface then
22 + prepare to bring the system online.  This is done by
23 + starting the various components.  If however the system
24 + configuration states that particular components are
25 + operating in "distributed" mode, then it blocks until
26 + the various key components have registered that they are
27 + online.
28  
29   Client Interface
30   ----------------
31 + The Client Interface is essentially just one component with
32 + a series of lists within it. When run it should, obviously,
33 + create an instance of the Client Interface, and then bind
34 + this to the ORB and register with the naming service.
35  
36 + It can then read its configuration in from the CORE and get
37 + a hook on the logging service that the CORE provides.
38  
39 + It then needs to construct the "local clients". These
40 + clients communicate with the system using the same interface
41 + as the external clients, but they are tailored to specific
42 + purposes, such as E-Mail alerts, and SMS alerts. The Client
43 + Interface then listens on a "well known" address for clients
44 + to request a connection.
45 +
46   Filter
47   ------
48   The filter is broken down into three main subcomponents.
# Line 42 | Line 70 | The filter is broken down into three main subcomponent
70   At startup a Filter Manager object is activated at the "well
71   known" location (probably a given machine name at a
72   predefined port). The Filter Manager will create an instance
73 < of the Main Filter, and any Filters under it's control.
74 < Through some mechanism the other Filters, elsewhere on the
75 < network, will register with the Filter Manager. The
48 < Filter Manager will need to tell each Filter the location
49 < of the Main Filter upon registering. The Filter Manager will
50 < then be in a position to receive connections from hosts and
51 < pass them off to Filters.
73 > of the Main Filter, and any Filters under it's control. It
74 > should also bind itself to the ORB and register with the
75 > naming service.
76  
77 + It can then read its configuration in from the CORE and get
78 + a hook on the logging service that the CORE provides.
79 +
80 + Through some mechanism the other Filters, elsewhere on the
81 + network, will register with the Filter Manager. The Filter
82 + Manager will need to tell each Filter the location of the
83 + Main Filter upon registering. The Filter Manager will then
84 + be in a position to receive connections from hosts and pass
85 + them off to Filters.
86 +
87   System Running State
88   ********************
89  
90   CORE
91   ----
92 + Once the various components are running then the core is
93 + essentially idle, logging information and handling
94 + configuration changes.
95  
59
96   Client Interface
97   ----------------
98 + In the running state the Client Interface is always
99 + listening for clients on the "well known" address. When a
100 + connection is received it is passed in to the main Client
101 + Interface and the client is queried about which hosts it
102 + wishes to receive information about. This is then stored in
103 + an internal "routing table" so the Client Interface knows
104 + which hosts to send the information on to. This routing
105 + table is constructed with this form;
106  
107 +  host1: client1 client2 client5
108 +  host2: client2
109 +  host3: client3 client4
110 +  host4: client1 client3
111 +
112 + This design is such that when a piece of information is
113 + recieved from a host the Client Interface can immediately
114 + see which clients wish to receive this data, without too
115 + much searching.
116 +
117 + The "local clients" function just like any other client,
118 + although they are local, in that they will wish to receive
119 + information about hosts they are interested in. However,
120 + they will contain a lot more logic, and be required to work
121 + out who wants to be alerted about what, and when. They will
122 + also be responsible for sending the alert.
123  
124   Filter
125   ------

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines