SMART is a research framework for achieving differentiated Quality of Service (QoS) in multi-tenant clouds using selective redundancy.
- Selective Redundancy Algorithms: Adaptive logic for
CLONE,DIVERT, andREPLICATEactions based on SLA soft-thresholds. - Dynamic Breakpoint Discovery: Real-time identification of congestion points using ODL Operational Port Statistics.
- Schema-Agnostic AMQP Propagation: Integration with Messaging4Transport using Apache Qpid JMS and DOMDataBroker for high-performance, schema-agnostic flow management.
- SENDIM-Ready Verification: Seamless verification via unit tests and SENDIM-style Python emulation.
api/: contains the YANG models (smart.yang) for flow data and policy definitions.impl/: The core implementation of SMART algorithms and ODL/AMQP integration.scripts/: SENDIM-style Python scripts for Mininet emulation and logic validation.
- Java 8 (for ODL Beryllium compatibility)
- Maven 3.8.7+
- Docker & Docker Compose
mvn clean install -DskipTestsRun the logic verification tests:
mvn test -pl implDemonstrate the selective redundancy behavior:
python3 scripts/run_smart_emulation.pyTo simplify the setup of the AMQP broker and other dependencies, a docker-compose.yml is provided.
The project requires an AMQP 1.0 compatible broker (e.g., Apache ActiveMQ).
docker-compose up -dThe ActiveMQ web console is available at http://localhost:8161 (default credentials: admin/admin).
SMART is designed to run as an OSGi bundle within the OpenDaylight (ODL) Beryllium environment.
- Messaging4Transport (M4T): Used as the transport layer for policy propagation. SMART components publish/subscribe to the
smart/flow-updatesAMQP topic. - SDN Actuation: The
RulesManagerinteracts with the ODLDOMDataBrokerto perform schema-agnostic updates to the Operational Data Store. - Congestion Detection: The
BreakpointManagerqueries the ODL Inventory Operational Data for port statistics (bytes-transmitted,packets-received) to identify link saturation.
The default broker URL is amqp://localhost:5672. This can be updated in SmartProvider or passed via ODL Configuration Subsystem.
If you use SMART in your research, please cite the following papers:
-
Kathiravelu, P. and Veiga, L., 2016, October. Selective Redundancy in Network-as-a-Service: Differentiated QoS in Multi-tenant Clouds. In OTM Confederated International Conferences "On the Move to Meaningful Internet Systems" (pp. 87-97). Cham: Springer International Publishing.
-
Kathiravelu, P. and Veiga, L., 2017, May. SDN middlebox architecture for resilient transfers. In 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM) (pp. 560-563). IEEE.