Middleware Servers
MultiServ: Multicast Lease Server: This server provides a mechanism for "leasing" multicast addresses from an available pool. This allows RSV to obtain a multicast address to use with collaborating peers and allows weather stations to obtain multicast addresses for use in conducting network tests. The server utilizes the information channels facility to create the lease mechanism. When an application is given an address to use the application begins to announce a "MLease" channel where the name of the channel is the multicast address. As long as the channel continues to be reasserted by the application the multicast lease server marks the address as being unavailable.
LogServ: Logging Performance Data: This server advertises a channel that applications can use to relay performance data, which this server then logs into the performance database. Applications communicate with the LogServ through a client side API that queues log messages, sends them as single udp packets to the LogServ and continues to resend them until acknowledged by the LogServ. If the application quits before all log messages are acknowledged the remaining queue of messages is written to a local file. The next time the application is run it will attempt to resend these messages.
COR & CORQ: Correlating Performance Data
This server correlates the weather station measured metrics and application data. Since specific performance data is unique to each application the COR server creates correlation tables unique to each application. The general principle is to aggregate application performance information based upon the prevailing weather conditions at the time the application was running. As a secondary correlation, application data is also aggregated by the time of day and day of week. The correlation mechanism allows individual computers to be treated separately or for the performance data from a group of machines (e.g. a teaching lab) to be combined.
The correlation query server, CORQ, allows applications to ask for their aggregate performance experience for the weather conditions currently prevailing between a specific client and server locations. Clients can ask for the performance experience from a specific computer or for the combined experience of all machines within their local zone.
Scalable Transport Protocols: Each application will have unique ways in which it can adapt its behavior to changing network performance conditions as a result of design choices. RSV is designed to support unpredictable navigation through large image sets by transporting images on demand. This implies a transport protocol that attempts to send image packets at as high of a rate as possible while balancing this against the goal of zero-packet loss since lost packets incur a round-trip time penalty to recover.


