CHIEF is a cloud-based inter-cloud federation framework designed for Software-Defined Community Networks (SDCN).
- Decentralized Inter-Cloud Federation: Loose coupling of community network controllers.
- OpenDaylight Integration: Built on the MD-SAL architecture.
- Messaging4Transport Support: Automatic Northbound binding for MD-SAL using AMQP/JMS.
- Event-Driven Architecture: Schema-agnostic notification forwarding and RPC proxying.
- Network Traffic Monitoring: Real-time stats query via ODL Statistics Manager (Section IV-A).
- Hadoop-Based Billing: Metering and billing service with HDFS integration (Section IV-B).
- Multi-Tenancy & Throttling: Support for virtual partitioning and rate-limited inter-cloud traffic.
CHIEF leverages Messaging4Transport to achieve loose coupling between federated clouds.
- CHIEF Provider: Listens for resource requests and orchestrates inter-cloud cycles.
- Inter-Cloud Orchestrator: Routes events by publishing MD-SAL notifications.
- Monitoring & Billing: Independent bundles for traffic analysis and Hadoop-based metering.
- Messaging4Transport: Automatically intercepts these notifications and forwards them to a shared AMQP broker.
- Java 8
- Apache Maven 3.3.9+
- OpenDaylight (Helium/Lithium/Beryllium recommended)
- Apache ActiveMQ (for AMQP 1.0 broker)
- Hadoop/HDFS (for Billing service parallel processing)
For detailed setup instructions and troubleshooting, see the User Guide.
A single script handles everything — prerequisites check, Docker infrastructure (Hadoop + ActiveMQ), Maven build, and OpenDaylight download/configuration.
# Full setup
./setup.sh| Option | Description |
|---|---|
./setup.sh |
Full setup (infra + build + ODL) |
./setup.sh --infra-only |
Start Docker services only |
./setup.sh --build-only |
Build CHIEF only |
./setup.sh --stop |
Stop and remove all containers |
./setup.sh --clean |
Full reset (stops services, wipes cache, and rebuilds) |
After the script finishes, start OpenDaylight and install the CHIEF features:
# Source environment (Java 8)
source ./env.sh
# Start Karaf
./distribution-karaf-0.3.4-Lithium-SR4/bin/karaf# Inside the Karaf console
feature:repo-add mvn:org.opendaylight.chief/chief-features/1.0-SNAPSHOT/xml/features
feature:install odl-chief-all
| Service | URL | Credentials |
|---|---|---|
| ActiveMQ Broker | tcp://localhost:61616 |
— |
| ActiveMQ Web Console | http://localhost:8161 | admin / admin |
| Hadoop NameNode UI | http://localhost:9870 | — |
| Hadoop HDFS | hdfs://localhost:9000 |
— |
Generated automatically by setup.sh at <karaf>/etc/org.opendaylight.messaging4transport.cfg:
brokerUrl=tcp://localhost:61616
username=admin
password=admin<chief-config xmlns="urn:opendaylight:params:xml:ns:yang:chief">
<controller-id>chief-node-1</controller-id>
<broker-url>tcp://localhost:61616</broker-url>
</chief-config>hdfs.url=hdfs://localhost:9000If you use CHIEF in your research, please cite the below paper:
- Kathiravelu, P. and Veiga, L., 2016, April. CHIEF: controller farm for clouds of software-defined community networks. In 2016 IEEE International Conference on Cloud Engineering Workshop (IC2EW) (pp. 1-6). IEEE.