An Accounting solution for GN3 GEMBus

Task 3 of research activity JRA3 in GÉANT3 project is dedicated to developing GEMBus, a multi-domain bus that uses the Enterprise Service Bus (ESB) concept to offer a platform for deploying and composing services across several administrative domains [1].

One of the core services available in GEMBus is the Accounting, on which our team in i2CAT has been working. This service provides aggregated information on service usage, in order to support monitoring and troubleshooting. The architecture of this service consists of a common accounting repository, where all collected data from each ESB instance is stored, and an Accounting Module, which is deployed at every participating ESB.

The Accounting Module consists of the following main building blocks:

1. Data Collection: this block is in charge of collecting basic, “raw” data about the services. Data collection is done at the ESB level. This is an asynchronous operation, as it is triggered each time a service is being called. The function of this block is to capture every message exchanged between services, as these messages are precisely the source of information to evaluate GEMBus services behavior and performance.

2. Data Storage: this component stores the raw data in the common accounting repository. This operation occurs in conjunction with data collection; in other words, the collection operation is always followed by the operation of storing the collected raw data. Consequently, this is an asynchronous operation as well.

3. Data Processing: this block computes the metrics of interest related to each service. In order to fulfill this operation, the Accounting Module must be aware of the metrics it should compute for each of the services registered with the system. Which metrics are appropriate for a particular service or how to define them is out-of-scope of our work. Instead, we assume the metrics are either part of a basic set provided by the Accounting module itself, or they are specified by the service provider. Data processing occurs asynchronously; by that we refer to the fact that the raw data is processed only when a request is received.

4. Information Reporting: this component is responsible for producing a report in a human-readable format. Once the data processing has been concluded, the information reporting block produces a report containing a complete view, including data obtained across all available ESBs.

Let us give a short example to explain the workflow in the Accounting Module, also illustrated in the figure below. We consider a situation when a system user or system administrator would like to get information on a certain service, therefore he will issue a request to the Accounting Module (Step 1 from the figure). Next, the Data Processing component will retrieve the raw data collected so far, from the Data Storage (steps 2 and 3), and it will compute the metrics of interest, which are passed to the Information Reporting component (step 4). This block will further produce a report, to be delivered to the system user or system administrator who issued the request in the first place (step 5).

Currently, the Accounting service supports three operations: configuration of the data storage, listing all services about which accounting data is available, and generating an accounting report for a specific service.

This post was written by Steluta Gheorghiu

[1] GEMBus provides easy access to GÉANT services across the GÉANT Service Area

About Joan A. García-Espín

M.Sc. Joan A. García-Espín ( is the Director of the Distributed Applications and Networks Area (DANA) of the i2CAT Foundation. He received his Telecommunication Engineering degree from the Technical University of Catalonia (UPC) in 2007. He wrote his Master Thesis in design and implementation of TE-enabled, DiffServ-aware MPLS networks for providing end-to-end QoS, also in 2007. He is a PhD candidate in the Telematics Engineering Department of the UPC. He is currently working in European projects FP7 GEYSERS (WP3 Leader) and GÉANT3. He has also participated in various European projects such as FP6 PHOSPHORUS and FP7 FEDERICA, and national (Spanish) projects including Enigma, Enigma Enhanced (Enigma II) and E3MS. He owns experience in optical networking, dynamic switching and management systems for networks, QoS and DiffServ for MPLS networks and infrastructure virtualisation. He is an active contributor to the NSI-wg and ISOD-rg gropus in the Open Grid Forum. His main research interests are cooperative agent interaction for network service provisioning, infrastructure virtualisation and network resource sharing and allocation.
This entry was posted in Uncategorized and tagged . Bookmark the permalink.