In the early days of Vovida, we had a provisioning system that satisfied our needs for testing. As we grew in size and complexity, we recruited a number of talented individuals who expanded a system into the collection of GUI screens, structures, and interactions that are described in Chapters 4, 5, and 6. This system worked well, providing our developers were available to enable access to new servers and configuration setups. The problem was that it would have been very hard for an outside contributor to add her new server to the VOCAL provisioning system.
Late in 2001, our provisioning team was given the opportunity to relieve themselves of their responsibilities for the old system and to design a new system from scratch. This project became known as the Mascarpone project, and this chapter describes how this project was designed. At the time of this writing, Mascarpone has yet to be merged with the rest of VOCAL, but it is included in the CVS tree.
In the old provisioning system, as shown in Chapters 4, 5, and 6, the Provisioning server is responsible for maintaining and storing all information needed by the VOCAL system and supplying it to the appropriate systems, as well as tracking when important parameters change and relaying that information to interested applications.
The provisioning system provides mechanisms for data retrieval, data storage, and registering interest in data points. It is a high-performance system ...