Overview‎ > ‎

WP3

Architecture Design and Engineering

WP3 aims at designing the architecture and creating a prototype of the SmartenIT system. The final system architecture has been designed and documented in the Deliverable 3.3, while the prototype implementation is still work in progress. The first release (v1.0) of the SmartenIT software, implementing the Dynamic Traffic Management (DTM) mechanism, has been completed since July 2014 (M20). Since then, 2 minor releases, v1.1 in August 2014 (M22) and v1.2 in November 2014 (M25) have been completed, fixing bugs and implementing enhancements to the DTM mechanism. In addition, the second version (v2.0) of the SmartenIT software has been released, implementing the RB-HORST mechanism functionalities. The implementation tasks concluded with 4 additional system releases (versions 2.1, 3.0, 3.1 and 3.2) with new features and bugs fixes in both DTM and RB-HORST prototypes, and enhancements to support the WP4 experiments and demonstration showcases for Y2 and Y3 reviews. All deliverables, tasks and milestones have been completed successfully, and the source code of the SmartenIT prototype has been released as open-source to GitHub.

Architectural Design

The initial architecture was designed (MS3.1) in late April 2013 and was archived in D3.1. Since then the architecture has evolved with improved component diagrams and descriptions and the addition of deployment diagrams. The external interfaces, as well as the semantics of exchanged information have been defined, while additional components have been included to reflect the evolution and improvement of specified WP2 mechanisms. The final system architecture is depicted in the Figure below, and documented in the Deliverable D3.3, released in October 2014 (M24), also addressing milestone MS3.4.

Technologies

A set of tools and technologies were investigated to support the implementation and deployment of all selected mechanisms, and finally, the consortium has selected a specific subset. Java is the programming language for all entities (SBox, uNaDa, SDN controller, end-user device), due to its open-source nature, ease of development, libraries’ support and partners’ familiarity. JBoss Netty NIO framework is selected as the key communication framework, and all SmartenIT entities will be developed on top of this. JSON is the protocol serialization format for the internal entities interfaces. Finally, a couple of additional decisions were made with regards to supporting libraries and tools, e.g. Floodlight is preferred over Opendaylight as the SDN Controller, SNMP is used for QoS measurements, RestFB library is used to retrieve required information from the Facebook API, and TomP2P open-source library is used to form and maintain the overlay network between uNaDas. 

The technology scouting process, the final technologies’ selection, as well as the technical documentation of the first software release are documented in the released Deliverable D3.2 (MS3.3).

System releases

The first release (version 1.0) of the SmartenIT software implements the DTM mechanism components, in 2 architecture entities: SBox and SDN Controller. SBox includes the following components: the QoS Analyzer retrieves the required SNMP measurements from the network entities, the Economic Analyzer calculates the reference vector based on links’ costs and the Network Traffic Manager calculates the compensation vector and also coordinates the interaction with the other entities (remote SBox, local SDN Controller). The inter-SBox Communication Service is responsible for sending and receiving the calculated reference and compensation vector to/from other SBoxes. The SBox-SDN executes the same functionality towards the local SDN controller, and finally, UI and DB provide the necessary interfaces to save and access required configuration. The SDN controller is built on top of Floodlight controller source code to implement DTM functionality, which translates received compensation and reference vectors into flow rules. It also exposes interfaces towards the SBox to receive these vectors and additional configuration parameters.

Version 1.1 of the SmartenIT software fixes bugs in the reference vector calculation of the Economic Analyzer component and introduces changes in the Maven dependenies’ and plugins’ management.

Version 1.2 of the SmartenIT software added new features to the DTM mechanism, introducing new tunnel identifiers and inter-domain link identification, adding support for multiple traffic receiving DCs, and traffic details logging.  

The second release (version 2.0) of the SmartenIT software introduced the RB-HORST mechanism functionalities. It is implemented in 2 architecture entities: uNaDa and End-user device. The uNaDa consists of the following components: The Overlay Manager creates and maintains the overlay network between the RB-HORST uNaDas and performs the overlay prediction algorithm, the Social Monitor retrieves relevant information from Facebook Graph API and Vimeo API, the Social Analyzer aggregates these data and performs the social prediction algorithm, and the Cloud Traffic Manager proxies all end-user requests, and updates the uNaDa cache based on the overlay and social prediction algorithms’ outcome. The UI and DB components provide support functionality to save and access required configuration. The End-user Android application provides the necessary functionality to search, authenticate and connect to nearby RB-HORST WiFis.

Version 2.1 of the SmartenIT software includes bug fixes and enhancements to the RB-HORST mechanism to support the Y2 review showcase demonstration.

Version 3.0 of the SmartenIT software includes new features to the DTM mechanism, introducing the support for the 95th percentile rule and new SDN Controller operation mode.

Version 3.1 provides bug fixes for certain DTM components and algorithms, including new compensation vector calculation, and introduces the support of delay-tolerant traffic management and the usage of NETCONF protocol for the configuration of the BG router.

Final version 3.2 o­­­­f the SmartenIT software includes bug fixes after the execution of WP4 experiments.

The source code and the generated artifacts of the final version 3.2 has been made available as open-source to Github, with Apache License Version 2.0. The source code is available at: https://github.com/smartenit-eu/smartenit.

The final documentation of the SmartenIT software has been documented in the released Deliverable D3.4.