132 | | |
133 | | The '''Collection Server''' collects experimental results. There is one instance of the '''Collection Server''' per experiment. The Berkeley database is used for scalability, and an SQL database is used for persistent data archiving. One multicast channel per experiment is used for logical segregation of data and for scalability. |
134 | | |
135 | | Besides ORBIT Services, other ORBIT-developed software includes '''Libmac''' and the '''ORBIT Measurement Framework'''. Each provides procedures that may be called in user-developed applications. '''Libmac''' is a user-space C library that allows applications to inject and capture MAC layer frames, manipulate wireless interface parameters at both aggregate and per-frame levels, and communicate wireless interface parameters over the air on a per-frame level. |
136 | | |
137 | | The '''ORBIT Measurement Framework (OML)''' has a client/server architecture illustrated in Figure 4 below. '''OML''' uses IP multicast to send data to the measurement server as it is collected. '''OML''' includes a client application programming interface (API). A developer can use this client API through a web interface to define the measurement points and parameters for his or her application. Such definitions are saved as an XML-based configuration file and source code for the measurement client is automatically generated that contains application-specific methods that handle type-safe data collection. This source code can be compiled and linked with the application. |
138 | | |
139 | | [[Image(oml-50.png)]] |
140 | | [[BR]]Figure 4. '''OML''' component architecture. |
141 | | |
142 | | User-developed software includes the script for the experiment, the application(s) and any modifications to system software. The user-developed script for the experiment contains three static components: the configuration of nodes, the configuration of the application software, and the configuration of the '''ORBIT Measurements Framework and Library (OML)'''. The application is one or more programs that implement the intended behavior of the active nodes in the experiment. Modified system software may include modified Linux components or custom device drivers. Each of these types of user-developed software is covered in more detail in the Testbed Experiments section of this tutorial. |
143 | | |
144 | | |
| 133 | This method is the appropriate one for experimenters who use existing applciations with no access to their source code, or who develop their own experimental applications in another language than C/C++. [[BR]] '''-- NOTE:''' this method is currently under development, and will be available soon |