The MonALISA communication makes possible reliable global vizualization, control and process
of huge amount of data gathered and analized by distributed monitoring services in a large environment.
The communication has to be fast, secure and scalable.
Registration and discovery of services, clients-services interaction and agents cooperation
are the important parts of the communication system, schematically shown in Figure 1.
Registration and discovery of services:
The MonALISA Services are able to register themselves in some replicated and distributed Lookup Services, together with some
describing attributes. Clients can dinamically discover these services by their attributes and start the communication protocol.
More features of this part are described in the Registration and Discovery Section.
Client-Services interaction:
The interaction between clients and services is made available through transparent proxy services.
The proxy services also publish themselves in lookup services. In this way mutual discovery is used to connect monitoring
services with proxies and clients with the nearest and less used proxy service.It is also worth to emphasize that a monitoring
service running behind a firewall or NAT is loaded in the distributed system because it initiates connections to all the available
proxies found in the lookup services. At the same time the proxy service does an "intelligent" multiplexing of
subscribed data for multiple clients and can forward multicast messages sent by endpoints.
For redundancy, scalability and dynamic load-balancing of clients, it is important to have two or more proxy services in the system.
Services have secured access. Clients can discover a service, interact with it and request data from it only if they have the right
credentials. When first connecting to a transparent proxy service, the client has to send his proxy certificate. The proxy service will ask
an Autorization, Authentification and Accounting (AAA) service for the credentials of the new connected client, based on the client proxy
certificate. Using the received credentials, the proxy will access only authorized services for that client. See the
Security Section for an in depth description of the MonALISA Security.
Agents cooperation:
Agents are entities loaded on monitoring services that process gathered data and cooperate between them to perform a
distributed task (creat optical paths between switches ( see
Optical Switches Monitoring and Control), content-based search ( see
Search and Storage System ) in a distributed environment, distributed
intrusion-detection system (see
Intrusion Detection System)
, etc). It is important for this entities to communicate in a secure, fast and reliable way.
The existence of the proxy services connecting clients and monitoring services makes possible the existence of an agent
communication platform. The agents cooperate using the TCP connections between proxy and monitoring services, with the
proxy forwarding their messages. Agents groups are created in the proxy, broadcast and multicast messages being permited
and handled by the proxy service. For detailed information see the Monalisa
agents communication platform section.
Figure 1: MonALISA Communication Infrastructure
The clients can get any real-time or historical data by using a predicate mechanism for requesting or subscribing
to selected measured values. These predicates are based on regular expressions to match the attribute description
of the measured values a client is interested in. They may also be used to impose additional conditions or constrains
for selecting the values. In case of requests for historical data, the predicates are used to generate SQL queries
into the service local database.
Monitoring data requests with the predicate mechanism is also possible using the WSDL/SOAP binding from clients or
services written in other languages. The class description for predicates and the methods to be used are described
in WSDL and any client can create dynamically and instantiate the objects it needs for communication. See
the MonALISA Web Services section for details.