We use Remos in the Network Module to monitor and predict network performance. In the following, "network performance" means network bandwidth available for the application.
Remos (Resource Monitoring System)[3,4,15] is a network performance middleware service developed at CMU. It provides a scalable, flexible and portable network monitoring system for applications in distributed computing environments. Remos is composed of two parts: Modeler and Collector. The Modeler implements the Remos API, which enables applications to communicate with the Collector, query the interested information, and transform the data from the Collector. The Modeler also integrates some prediction services , allowing history-based data collected across the network to be used to generate the predictions needed by a particular user. The Collector is responsible for the network performance information collection, using SNMP[18,19] or benchmarks. The network performance information includes network topology, link latency, link capacity and link available bandwidth. Several types of collectors are implemented in Remos. They are the SNMP Collector, WAN Collector, Bridge Collector and Master Collector . Different collectors work in different network environment and provide different monitoring methods.
Our experiments are carried out on a local LAN testbed. We use the SNMP Collector to get the available bandwidth information. In a LAN, the SNMP Collector depends on SNMP agents to collect information. SNMP agents can provide the information about the total amount of input data and output data from each network interface. By keeping track of these values, the SNMP Collector can estimate the average throughput of the link between two end hosts during the measurement period. Together with the knowledge of the link capacity, which can also be obtained from SNMP agents, it will be able to figure out the available bandwidth. Fig. 4 illustrates this method.
To predict the available bandwidth for the near future, the SNMP Collector periodically queries SNMP agents and keeps a record history (associated with a history period time slot). It uses the average of the history record in the history period as the prediction for available bandwidth.