Swift allows the OpenStack users to store or retrieve files. It stores data in the form of virtual containers, which is based on Rackspace's Cloud Files. Neutron is responsible for communication between interface devices, which are managed by other OpenStack services. It provides connectivity as a service to the users. Keystone is responsible for handling authentication and authoriza- tion in OpenStack. It maintains and manages the rules for users of different levels such as operator, admin, and tenants. Keystone provides authorization token for logging into virtual machines and manages the privileges of users for various services. 6 Open Source and Research Activities Horizon provides web-based interface to the users to interact with all the OpenStack services, such as managing images, object storage for volumes, and compute for VMs. Clinder is the block storage service. It provides a persistent stor- age for virtual machines in the form of volumes. These volumes are attached with the running instance and act as persistent storage for data storage. Celiometer is responsible for various monitoring and metering functionalities. 6.1.2 OpenDayLight ODL [112] is a collaborative open source project for developing a Java-based open source SDN controller. It is hosted by The Linux Foundation. There are over 50 active members participating in con- tribution, ranging from NEP, CSP to customers. They can contribute with new initiatives and submit new feature requests to the technical stressing community of ODL. The ODL architecture is developed based on the Open Services Gateway Imitative (OSGi) framework. Its loosely coupled modular design allows different modules to be constructed independently. Figure 6.2 shows its architectural design. It contains three layers: the top layer is the network applications, the middle layer is the platform controller layer, and the bottom layer is the network elements. The platform controller layer is the essential piece to the controller. It provides the northbound APIs to the application