ADVANCED NETWORK ARCHITECTURE AND PROGRAMMING WITH LAB
Lectures in Italian,
books in English
Students must demonstrate knowledge and know how to understand aspects related to
advanced networking with sensor networks, from strategies at the MAC level to applications, with which to navigate
among the techniques of acquisition, management and analysis of sensor data in a both theoretical and practical context. Furthermore, students must demonstrate knowledge and know how to understand advanced aspects of systems and distributed architectures
in a both theoretical and practical context.
Moreover, students must prove themselves to be able to prepare documents and oral presentation in order to present the solution to problems they are called to address. dimostri capacità di elaborare relazioni scritte e orali inerenti le soluzioni concepite per specifici problemi applicativi.
For the students of Applied Informatics it is necessary to have acquired the knowledge
and the skills transmitted by the following courses: Programming I, Programming II, Operating Systems, Algorithms
and Data Structures and Communication Networks.
1. Wireless communication principles
a. electromagnetic waves
b. Analog and digital signals
c. Relationship between frequency band and data rate
d. Effects of wave propagation and noise
e. Allocation of frequencies
f. Modulation and Multiplexing
2. Cellular networks
a. definition and basic concepts
b. architecture of a cellular network (GSM)
c. Databases in cellular networks
d. Reuse of frequencies
e. Position management
h. Assignment of the channel
i. Evolution of cellular networks
3. RFID systems:
b. components of an RFID system
c. Types of tags and readers
d. Life cycle tags and privacy and security issues
e. Inductive electromagnetic coupling and electromagnetic coupling with backscatter
4. Cloud computing:
b. cloud models
c. service models: SaaS, PaaS and IaaS
d. Virtualisation techniques
e. Load balancing
f. Scalability and elasticity
h. Examples of commercial clouds.
5. Wireless Sensor Networks
b. Architecture of a sensor node
c. Architectures of sensor networks
d. Requirements and design constraints for MAC-level protocols for WSN
e. MAC-level protocols: contention based and scheduling based
f. MAC protocols: S-MAC, T-MAC, PAMAS, LEACH, SMACS, PLOT
g. Routing protocols for WSN: design constraints and requirements, unicast geographic routing; routing
perimeter; Other face routing; RSPG; Routing on a curve; Geographical and energy-aware routing;
Attribute-based routing: GHT, Directed diffusion, rumor routing.
h. Topology control and Time synchronisation: interval method and reference broadcasting;
i. Sensor Networks Database: Interface for queries; In-network aggregation; Data-centric storage;
Data indexes and query ranges.
j. Operating system for WSN: Contiki.
1. Introduction to distributed systems: Distributed architectural models and their programming. Principles, key characteristics, advantages and disadvantages. Project choices and related problems. Topologies, types of networks of
interconnection. Transmission media. Protocol and services. Performance.
2. Communication: Client-server and IPC paradigms. Group communication. Multicast. Invocation mechanisms e
remote call: Remote Method Invocation (RMI). Remote Procedure Call (RPC). Types and semantics. Examples.
3. Time and status of a distributed system: Time. State. Clock. Clock synchronisation. Precedences between events.
Recording of the global status.
4. Distributed control algorithms: Synchronisation and coordination algorithms. Deadlock. Scheduling.
Elections of a leader. Process allocation in distributed systems. Termination detection.
5. Processes: allocation, migration and load balancing.
6. Distributed File Systems: Template of file service and project issues. Case studies: NFS, AFS and CODA,
7. Distributed Shared Memory
8. Apache Hadoop. Hadoop ecosystem: Zookeeper, Spark, Storm.
With part I, the course introduces the issues of the emerging technology of the Internet of Things (IoT) that pervades modern everyday life, in which hundreds of thousands of heterogeneous objects they are interconnected through wireless and non-wireless communication channels to provide information and control over the physical world that surrounds us. After an overview of the main technologies enabling IoT applications, that is, wireless communication, RFID systems, Cloud Computing, the focus will be on wireless sensor networks (WSN). The WSN main characteristics, namely, the components of a sensor node, the objectives and principles of
design of a WSN architecture, the main protocols at the MAC and networking level, will be detailed.
Part II introduces systems and architectures for the IoT from the point of view of distributed systems and architectures and their planning. Firstly, the course analyses the problems underlying the distributed systems, that is, communication and definition of time and state of distribution. Then will be analysed some control algorithms used to manage distributed resources: synchronization and coordination algorithms; Deadlock; Scheduling; Leader elections; Process allocation; Termination detection; Consent; Allocation, migration and load balancing; Distributed Shared Memory. The next phase deals with the topic of distributed filesystems from the theoretical / design point of view and then from the implementation point of view,
analysing some case studies such as: NFS, ANDREW, CODA, GFS, HDFS. Finally, the course presents an introduction to the Hadoop ecosystem focusing in particular on three modules: Zookeeper, Spark, Storm. The course includes a part of the laboratory in which to experiment with the WSN OS and related WSN and with the Hadoop ecosystem.
Teaching is carried out through lectures, seminars of experts in the field and by the students themselves and activities to be accomplished as
 F. Zhao, L. Guibas, Wireless Sensor Networks – An Information Processing Approach, Elsevier, 2004;
 H. Karl, A. Willig, Protocols and Architectures for Wireless Sensor Networks, Wiley, 2006
 W. Stallings, Wireless communication and networks, 2nd Ed., Pearson
 A. Forster, Introduction to Wireless Sensor Networks, Wiley
 D. Dhamdhere, “Operating Systems: A Concept-Based Approach”, McGraw-Hill Companies, 2008.
 A. S. Tanenbaum, M. Van Steen, “Distributed Systems: Principles and Paradigms”, Prentice Hall, 2002.
 G. Coulouris, J. Dollimore, T. Kindberg, G. Blair, "Distributed Systems: Concepts and Design", 2009.
 P. K. Sinha, " Distributed Operating Systems: Concepts and Design ", 1997.
 A. S. Tanenbaum, "Distributed Operating Systems", 1997.
 T. White, "Hadoop: The Definitive Guide, 4th Edition", O’Reilly, 2015.
 B. Reed, F. Junqueira, "ZooKeeper. Distributed Process Coordination", O’Reilly, 2013.
 M. Zaharia, H. Karau, A. Konwinski, P. Wendell, "Learning Spark Lightning-Fast Big Data Analysis", O’Reilly,
 G. Eisbruch, J. Leibiusky, D. Simonassi, "Getting Start with Storm", O’Reilly, 2015.
The goal of the verification procedure is to quantify, for each student, the level of achievement of the
training objectives previously indicated. The verification procedure consists (a) of a seminar on a topic chosen by the
student and / or by teachers (20%) or, alternatively, (b) in a project proposal to be carried out in a group on an application of
interest identified by students and / or teachers (40%) through which their ability for working in a team and for preparing documents discussing their solution to the addressed problems are evaluated, and in a final oral exam ((a) 80%, (b) 60%), consisting in questions covering the whole program topics.
All detailed information on the course can be found on the course page in the e-learning platform
Department of Science and Technology: http://e-scienzeetecnologie.uniparthenope.it/
Part I: http://e-scienzeetecnologie.uniparthenope.it/course/view.php?id=152
Part II: http://e-scienzeetecnologie.uniparthenope.it/course/view.php?id=64