perfSONAR is an infrastructure for network performance monitoring, making it easier to solve end-to-end performance problems on paths crossing several networks. It contains a set of services delivering performance measurements in a federated environment. These services act as an intermediate layer, between the performance measurement tools and the diagnostic or visualization applications. This layer is aimed at making and exchanging performance measurements between networks, using well-defined protocols.
perfSONAR is a services-oriented architecture. That means that the set of elementary functions have been isolated and can be provided by different entities called services. All those services communicate with each other using well-defined protocols. perfSONAR has three contexts:
- A consortium of organizations who seek to build network performance middleware that is interoperable across multiple networks and useful for intra- and inter-network analysis. One of the main goals is to make it easier to solve end-to-end performance problems on paths crossing several networks.
- A protocol. It assumes a set of roles (the various service types), defines the protocol standard (syntax and semantics) by which they communicate, and allows anyone to write a service playing one of those roles. The protocol is based on SOAP XML messages and following the Open Grid Forum (OGF) Network Measurement Working Group (NM-WG).
- Several, interoperable software packages (implementations of various services) that attempt to implement an interoperable peformance middleware framework. Those sets of code are developed by different partners. Some pieces of code are "more important" than others because their goal is to ensure interoperability between domains (e.g. the Lookup Service and the Authentication Service). Different subsets of code are important to each partner, with a great deal of overlap. The services developed acts as an intermediate layer, between the performance measurement tools and the diagnostic or visualization applications. These software packages are available here.
perfSONAR-PS (pS-PS) is a set of independent software services that implement the perfSONAR protocols for network performance monitoring. pS-PS services are designed to be compatible with all other perfSONAR software that implements the perfSONAR protocols. pS-PS is able to federate between deployments, particularly those that span multiple domains, making the job of solving end-to-end performance problems on paths crossing several networks much easier to address.
The pS-PS services provide web services-based interfaces into already deployed network monitoring infrastructures and act as an intermediate layer, between the performance measurement tools and the diagnostic or visualization applications. The targeted audience for full implementation of these services is Network Operation Centers (NOCs) at Universities and Regional networks, however these services are broadly useful to the general public at large.
The pS-PS software suite is developed entirely in the Perl programming language, taking full advantage of numerous language features and benefits including the Comprehensive Perl Archive Network (CPAN) distribution system. This software manager makes pS-PS the ideal choice for integration into typical NOC environments.