is so "polluted" with events. In some telecommunications networks, such as EMBRATEL's Frame Relay and ATM net- works, a management application receives around 130 000 events daily. To avoid the pollution of the user interface with events, some applications apply correlation and filtering mechanisms on events. The Event Handler Service allows the user to define functions which will be executed upon the reception of an event, eventually masking some events and generating other new ones. This allows the generation of more significant events, helping the operator to identify the root cause of the problem. To allow event processing to be distributed among different machines, the Event Handler Service can be decomposed into several processes, forming a hierarchical structure. This structure is made up of two kinds of process: the Event Dispatcher and the Event Agents. Figure 14.2 presents the architecture of this service with some event agents and one event dispatcher. Communication between the event service processes is also based on CORBA. 14 Web-based Telecommunications Systems Management Event Event agent dispatcher Event Event PROXY PROXY Engine Lua code CORBA SNMP trap Event Figure 14.2 Event agent. All the configuration of this service is done using Lua and CORBA. It is possible to define dynamically the way the events will be handled and to configure user domains which will receive events. With domain configuration it is possible to set up different user profiles, such as user groups who will receive provisioning events and others who will receive alarms. An Event Agent is a process responsible for receiving and processing events, even- tually generating new events. Event agents provide a CORBA interface containing methods for agent configuration and for registering new events. For agent configu- ration, one of the methods in this interface allows the programmer to pass a chunk of Lua code containing function definitions. The CORBA call for registering an event is one of the two possible ways for an agent to re