214 | | Define an approach based on OMF/OML and S3: |
215 | | HTTP(S)[[BR]] |
216 | | REST vs SOAP[[BR]] |
217 | | Authorization by credentials or ? If credentials, how to revoke?[[BR]] |
218 | | Pass XML fragments[[BR]] |
219 | | Define basic API[[BR]] |
| 214 | Most instrumentation services follow the following steps: (1) request, |
| 215 | (2) measure, (3) process, (4) transport, and (5) retrieve. A user of |
| 216 | the instrumentation service will request certain measurements, which |
| 217 | results in the provisioning and configuration of measurement |
| 218 | probes. The probes generate a set or a stream of measurement data |
| 219 | which may be further processed and potentially transported to a |
| 220 | different location. Finally, the results of the requested measurements |
| 221 | are stored in one or more repositories from which they can be |
| 222 | retrieved and/or queried by authorized users, tools and services, |
| 223 | either immediately (real-time) or at a later time (history).[[BR]] |
| 224 | |
| 225 | Depending on usage scenarios and objectives, several different |
| 226 | architectures for instrumentation and measurement can emerge. Current |
| 227 | GENI instrumentation projects leverage a number of popular tools to |
| 228 | construct their service. For example, the Scalable Sensing Service |
| 229 | project (S3) implements "sensor pods" (measurement points) as |
| 230 | cgi scripts accessible through any web-server that supports cgi. Boa, |
| 231 | a light-weight open source web-server, is currently used. Therefore, |
| 232 | starting/stopping the sensor pods is simply accomplished by starting |
| 233 | and stopping the server. This framework enables convenient third |
| 234 | party measurements; that is, measurements between two nodes can be |
| 235 | initiated by a third node. Periodic measurements are configured as |
| 236 | "cron" jobs on the sensor pods. A sensing information manager ensures |
| 237 | the liveness of the service using vxargs. The sensing information |
| 238 | manager also collects the measurements from the sensor pods using |
| 239 | rsync, and stores them in a data store (S3).[[BR]] |
| 240 | |
| 241 | In contrast, OML (OMLTridentCom,OMLwiki) takes a distributed |
| 242 | stream-based approach. Probes are assumed to produce a stream of |
| 243 | measurement tuples which are streamed through a configurable set of |
| 244 | filters and caches to a repository. The repository, like S3, provides |
| 245 | a web service interface allowing users and other services to retrieve |
| 246 | the results (pull mode). However, users/services can also directly |
| 247 | subscribe to a stream for operation in push mode. OML is integrated |
| 248 | into the OMF control framework to simplify configuration of the entire |
| 249 | distributed setup, as well as provide to support for "steerable" |
| 250 | experiments, where the orchestration of an experiment can be |
| 251 | influenced by the simultaneously collected measurements.[[BR]] |
| 252 | |
| 253 | Another instrumentation service currently in GENI is perfSONAR, which |
| 254 | sits somewhere in the middle. Various distributed monitoring services |
| 255 | are "wrapped" into individual web services called "Measurement Points" |
| 256 | (MPs) which return their results using the Open Grid Forum's Network |
| 257 | Measurement Working Group (NMWG) XML schema. A set of other services, |
| 258 | such as the Measurement Archive, Lookup, Authentication, Topology, |
| 259 | Transformation, and Resource Protector provide a comprehensive suite |
| 260 | of services. perfSONAR is migrating to Representational State |
| 261 | Transfer (REST), viewed as a lighter-weight service-oriented |
| 262 | architecture over existing web service technologies, e.g., |
| 263 | SOAP. XML-RPC and SNMP are also leveraged in several current |
| 264 | measurement projects.[[BR]] |
| 265 | |
| 266 | APIs[[BR]] |
| 267 | |
| 268 | There are essentially two types of measurement APIs: one concerning |
| 269 | itself with the configuration of the various elements and services |
| 270 | participating in the measurement and monitoring activities, and the |
| 271 | other facilitating the transfer of the measurement data itself.[[BR]] |
| 272 | |
| 273 | The provisioning and configuration of instrumentation functionality in |
| 274 | a large federated environment serving many experimenters and spanning |
| 275 | many countries with their respective legal frameworks is clearly a |
| 276 | complex undertaking. However, at a fundamental level, instrumentation |
| 277 | requires discovering, provisioning, and configuring resources, within |
| 278 | the constraints of policies and user privileges. This is essentially |
| 279 | functionality that the GENI control framework (CF) is (or will be) |
| 280 | providing. What is not covered by the CF is the protocol for encoding |
| 281 | and transporting measurement data between entities. Here, we must |
| 282 | differentiate between two types of operations: the push or streaming, |
| 283 | and the pull or requesting mode of operation. Both are not unique to |
| 284 | this domain and there are several standards and widely used solutions.[[BR]] |
| 285 | |
| 286 | OML will soon be using the Internet Protocol Flow Information Export |
| 287 | (IPFIX) protocol standardized by the IETF for streaming measurements |
| 288 | from an exporter to a collector. perfSONAR, as discussed above, is |
| 289 | using SOAP and the Open Grid Forum's Network Measurement Working Group |
| 290 | (NMWG) XML schema for returning measurements back to a requester. In |
| 291 | OML, once an application has been modified to integrate OML |
| 292 | measurements, two possible configurations are possible: passing |
| 293 | general arguments on the command line of the enhanced application, or |
| 294 | using an XML configuration file. The XML configuration file allows |
| 295 | the user to multiplex the measurement stream and apply different |
| 296 | filters inside the application and between Measurement Points |
| 297 | (OMLTridentCom,OMLwiki).[[BR]] |
| 298 | |
| 299 | |
| 300 | References:[[BR]] |
| 301 | |
| 302 | (S3) P. Yalagandula, P. Sharma, S. Banerjee, S. Basu, and S.-J Lee. |
| 303 | S3: A scalable sensing service for monitoring large networked |
| 304 | systems. In Proceedings of the ACM SIGCOMM Workshop on Internet |
| 305 | Network Management (INM), Sept. 2006.[[BR]] |
| 306 | |
| 307 | (OMLTridentCom) J. White, G. Jourjon, T. Rakatoarivelo, M. Ott. |
| 308 | Measurement Architectures for Network Experiments with Disconnected |
| 309 | Mobile Nodes. In Proceedings of TridentCom, 2009.[[BR]] |
| 310 | |
| 311 | (OMLwiki) http://omf.mytestbed.net/wiki/oml/Documentation |
| 312 | |
| 313 | |