| 4 | |
| 5 | The Monitoring-Framework consists of three independent modules, each having his own purpose. |
| 6 | The Main functionalities of the framework are data access, collect and visualize. To access the data, every HAMcast node has to run a daemon process that serves as a remote interface to the HAMcast-API, the Monitoring Daemon. A collector will use this daemons to collect and process the acquired information. A view then displays the data provided by the collector. |
| 7 | All components are completely separated. This modular architecture allows us to change functionalities without interfering with other modules. Most important the design and development of User-Interfaces can be separated from the monitoring task, allowing us to implement different kind of views. As for now we provide a Qt-Based view. |
| 8 | |
| 9 | |
| 10 | ==== Monitoring Daemon ==== |
| 11 | |
| 12 | Using the HAMcast-API, the daemon provides information about the current network status of a node. All API-Calls that provide such information are encapsulated by a RESTful-Web-Service. |
| 13 | A collector connected to a Daemon, can use the RESTful-Interface to execute these calls, using HTTP POST messages. As a result, a HTTP REPLY message containing the requested information will be generated. |
| 14 | |
| 15 | In order to establish a connection to the collector, daemons join into a well known multicast group. This enables the collector to send connect request and set up connections with unknown nodes. |
| 16 | |
| 17 | ==== Monitoring Collector ==== |
| 18 | |
| 19 | This program frequently collects data from connected daemons, providing the view with information about the HAMcast network. Node information will be retrieved over the RESTful-Web-Service. |
| 20 | A view can use a RESTful-Web-Interface to access information from the collector. These functions are directly adapted for monitoring reasons and visualization. |
| 21 | The collector has to be reachable over a public IP-address allowing daemons and views to open a connection. |
| 22 | |
| 23 | ==== Monitoring View ==== |
| 24 | |
| 25 | The view obtains all data via the REST-Web-Service. The data displayed will be frequently updated to give the user an accurate representation of the network. |
| 26 | The view provides a group focused visualization of the network. |
| 27 | All groups existing in the HAMcast network are displayed, to get an overview. There is also a more detailed view on the specific groups. The detailed view list all nodes and their detailed description, for example interface and routing information. |
| 28 | As a second visualization, the view can draw multicast forwarding trees that show the relation between nodes in a graphical manner. All detailed information about a node can be prompted in an extra window by left clicking on the item. |
| 29 | This is just one of many possible representations that can be provided with the monitoring framework. |