The course aims at presenting and analyzing design and implementation aspects in Future Internet. To this effect, the first part of the course provides an overview of the today’s Internet, as well as of the problems-challenges of the latter. It then presents and analyzes the most recent technologies, protocols and architectures that have been proposed for addressing the identified above problems-challenges. These involve, among others, new routing schemes and QoS provisioning mechanisms in Enterprise networks, the continuously evolving virtual and Software-Defined Networks, but also new architectures for the Future Internet such as, Information/Content Centric Networks and Delay/Disruptive Tolerant Networks.
The second part of the course focuses on the infrastructures per se, that comprise variant entities (Things) and computing Clouds. The course offers the theoretical fundaments of these infrastructures, whereas it aims at the familiarization of the students with both the functional and programming technologies and the application execution in these environments through lab exercises and the use of specific tools (e.g. OpenStack, Google AppEngine). Techniques and methodologies in all infrastructure layers are thoroughly examined and analyzed, in particular focusing on modern cloud architectures (computing clouds, storage clouds, event-driven etc), their structural components (resource types service classes, service level and event level agreements, synthesis and multilayer service orchestration), as well as on networking technologies.
- Overview & Challenges of today’s Internet: Overview of Internet architecture and applications. Web (data, interconnections, access, communication types and services, standards, identification). Overview of application layer protocols, architectures, processes, HTTP, SMTP, File transfer, DNS service, P2P systems, content delivery. Overview of transport layer protocols and algorithms. Overview of network layer protocols and algorithms. Challenges and trends (performance, scalability, security) – Towards Future Internet.
- Advanced networking and QoS provisioning: Advanced routing schemes. Advanced transport protocols. Enterprise Networks, MAN/WAN interconnections, Intranets/Extranets. Middleboxes, Firewalls, Network Address Translators (NAT), DPI. Data Center Networking. Advances in Quality of Service υπηρεσιών (QoS) provisioning and Traffic engineering), Multimedia networks, IPTV, Home networks. Lab/Simulation exercises.
- Network Virtualization/ Software Defined Networking (SDN): Management of SDN networks: Introduction to Software Defined Networks (SDN). Virtual Switches and SDN controllers. The OpenFlow protocol. Network virtualization, SDN Applications, Network abstractions/languages. SDN in telecommunications networks – Network Function Virtualization. Hands-on experience: Development of Network applications using SDN frameworks and controllers, simulated (mininet) and/or SDN-enabled hardware (Openflow switches). Lab exercises.
- Novel network architectures in the Future Internet: Content-based networking, Content-based routing, Content Distribution Networks, Information-centric networking and named data networking, Publish/Subscribe, Caching. Delay/Disruptive-Tolerant Networking: DTN Architectures, Naming, Addressing, DTN Routing, Mobile Opportunistic networks.
- Future Internet Research & Experimentation: Platforms and infrastructures for research and experimentation on Future Internet. Introduction to XiFi project/infrastructure. Introduction and Hands-on experience to with XiFI Piraeus Node. Lab exercises.
- Future Internet Infrastructures: Computation clouds and Internet of Things. Challenges, aims, application domains. Architectural approaches for computational clouds. SPI Model: Software-Platform-Infrastructure, functionality, attributes, interfaces and interconnection of layers. Cloud deployment models: private, public, hybrid, federated, community.
- Cloud Computing Technologies: Application and infrastructure monitoring (Nagios, Ganglia). Workflow management: Requirements and description languages (XPDL, WS-BPEL, QoWL). Virtualization: Deployment and provisioning of virtual resources, Virtualization types (native, hardware, OS-level, application), Hypervisors (KVM, Xen). Virtual network resources, Network virtualization L2 (VLAN stacking, OTV, OpenVZ, vNetwork, SUNCrossbow), Network virtualization L3.
- Internet of Things: Objects description, things ontologies (OWL, SUMO, SensorML). Technologies and networking protocols (Zigbee, KNX, Z-wave, MQTT). Object management (centralized, distributed, cognitive). Applications, future challenges.
- Storage and Data Management Technologies: Scalability approaches, elasticity, data coherence, namespace management. Computational storage model. Access and management of stored objects based on content. Laboratory exercise using Apache Hadoop.
- Deployment of Computational Clouds and Cloud Applications Development: Laboratory exercises using OpenStack and Google App Engine.
- R. Buyya, J. Broberg, A. M. Goscinski, «Cloud Computing, Principles and Paradigms», Wiley, 2011
- T. Erl, R. Puttini, Z. Mahmood, «Cloud Computing, Concepts, Technology & Architecture», Prentice Hall, 2013