Internet of Things, a.a. 2020/2021
GENERAL INFORMATION
Instructor: Prof.ssa Chiara Petrioli
Office: Via Salaria 113, terzo piano, stanza 311
Tel: 06 4991 8354
E-mail:SURNAME OF INSTRUCTOR (PETRIOLI)
AT di.uniroma1.it
Office hours: please send me an e-mail to set up an appointment.
Classes: Wednesday (12-14) and Friday (11-14), aula 1 Castro Laurenziano (aule L di ingegneria, Via del Castro Laurenziano 7, main campus).
Textbook: we will use chapters of books and scientific papers (which will be listed below, together with the slides from the classes, as we go on...)
Instructor Assistant: Dr. Marco Bernardi
IMPORTANT INFORMATION
Rules to attend the course in videostreaming.
please connect to zoom
Aula RM018:
https://web.uniroma1.it/i3s/node/9344
Steps to follow for midterm and final:
1. You should first connect on zoom on the first conference link we will have shared to you from your PC.
2. You will receive a second zoom link you should connect to from a second device (smartphone/tablet). Before the exam find a way to position so that we can see you well, the video etc.
3. Safe Exam Browser is strongly recommended (from the PC).
4. We will split you into groups, each with a second zoom link
5. We will invite on the second zoom only a student at the time. We will check your identity. Then you will be asked to keep the video on, microphone set to low so we can use the second device for surveillance.
6. Once we are ready on the main zoom I will give you to each group "RED", "YELLOW", "GREEN", "BLUE" a code
7. Each group will connect to its exam on exam.net and start the exam. Don't exit from the exam environment (don't click icons, focus on simply answering the questions and
then when you are done submit).
8. If during the exam we contact you to check correct behavior please follow instruction.
SYLLABUS
The course will make students aware of the challenges behind the design, implementation and field use of Wireless system, Sensing systems and the Internet of Things. The course will present both the theoretical foundations and practical aspects you need to know to develop such systems. Hands on lab experiences are associated to the course.
Part 1, Prerequisites
Fundamentals of wireless systems
Fundamental of ad hoc and cellular networks
Part 2, Internet of Things Core
Internet of Thigs applications, architectures, enabling technologies and protocols
Part 3, Emerging Technological Trends in Internet of Things
Wake Up Radio, energy harvesting, ...
Blockchain and ledger technologies for Internet of Things
Machine learning for Internet of Things systems
Part 4, From technologies to Applications
Internet of Things for smart planet and smart cities: practical examples of how to put the pieces together to implement real systems (ON GOING)
Transversal Topics
Performance evaluation of Internet of Things systems
How to model, what to model
Simulators for Internet of Things systems: Green Castalia
How to move from an idea to a validated idea to a solution
Lab: The course provides also some lectures on C++ tailored to what needed to program simulatiors on Internet of Things systems.
COURSE MATERIAL
How to get a background on networking if I don't have any? (for students who have never attended a computer networking class)
Kurose, Ross Book "Computer Networking: A Top Down Approach" is a very good undergrad book you should be able to find in the libaray (it is used for our computer networking class at undergrad level) providing background material you might need. In particular you may want to understand the concept of components of a network (hosts, routers, transmission media), a background on performance metrics as well as on layering (chapter 1). You can skip chapter 2 on applications. Chapters on transport protocols, routing and medium access control are easy to read and provide the needed material for more advanced networking classes. The rest of the book (chapters on security, multimedia, wireless) can be skipped.
Course material
Book chapters, articles
These book chapter refer to what can be consulted or read to deepen into the slide material.
Introduction to wireless systems (lessons 1 and 2)
P.Mohana Shankar "Introduction to Wireless Systems', Wiley 2002. Cap 1, 2
Andres Garcia-Saavedra, Pablo Serrano, Albert Banchs, Giuseppe Bianchi: Energy consumption anatomy of 802.11 devices and its implication on modeling and design. <a href="http://twiki.di.uniroma1.it/twiki/edit/Wireless/CoNEXT?topicparent=Wireless.WebHome;nowysiwyg=0" rel="nofollow" title="CoNEXT (this topic does not yet exist; you can create it)">
CoNEXT </a> 2012: 169-180
http://conferences.sigcomm.org/co-next/2012/eproceedings/conext/p169.pdf
N. Balasubramanian, A. Balasubramanian, A. Venkataramani “Energy consumption in mobile phones: A Measurement Study and Implications for Network Applications”, ACM IMC 2009.
Introduction to cellular systems and from 2G to 5G.
For italian students, on GSM: O. Berazioli, L. Favalli "GSM-GPRS", second edition, Hoepli. Chapters 2.1,2.2,2.3, chapter 5, chapter 6 (from 6.4 on), chapter 8, chapter 11, chapter on GPRS/EDGE and 3G systems In english (and for overall info on cellular systems) please consider as a reference A. Kukushkin Introduction to Mobile Network Engineering: GSM, 3G-WCDMA, LTE and the Road to 5G, Wiley and Sons, 2018.
- NB-IoT: <a data-saferedirecturl="https://www.google.com/url?q=http://www.sharetechnote.com/html/Handbook_LTE_NB_LTE.html&source=gmail&ust=1585410876541000&usg=AFQjCNEWuO74goct3iOD_z49fjoPVQ0ENw" href="http://www.sharetechnote.com/html/Handbook_LTE_NB_LTE.html" target="_blank">http://www.sharetechnote.com/html/Handbook_LTE_NB_LTE.html</a>
article: B. Martinez, F. Adelantado, A. Bartoli and X. Vilajosana, "Exploring the Performance Boundaries of NB-IoT," in
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 5702-5712, June 2019.
Other supplemental material to deepen understanding on physical layer (not mandatory and not part of the exam, only as extra material for interested students)
- OFDM: ci sono libri interi! Ad es.: Bahai A.R.S. et al. – Multicarrier digital communications – Theory and applications of OFDMas well as what you can find here: <a data-saferedirecturl="https://www.google.com/url?q=http://wcsp.eng.usf.edu/OFDM_links.html&source=gmail&ust=1585410876541000&usg=AFQjCNFS2tc-3XN5eAKbagcBz-gzU-YuCg" href="http://wcsp.eng.usf.edu/OFDM_links.html" target="_blank">http://wcsp.eng.usf.edu/OFDM_links.html</a>
Fundamental of ad hoc/mesh networks.
DSDV protocol:https://people.cs.umass.edu/~mcorner/courses/691M/papers/perkins.pdf
OSLR protocol: see the Request for Comment describing the protocol (as part of the IETF MANET Working Group activities), available here:
https://www.ietf.org/rfc/rfc3626.txt
(exercise of reading an RFC: start from the beginning, get at the bbeginning the general idea, skip details such as multi-interface, focus on hello messages and 2 hop neighborhood discovery, MPR selection, TD message exchange, skip the details in the second half; when you get the idea reread from the neginng again these parts. When reading an RFC you need to learn how to skip sections, how to get only the important details, fast going though 80-100 pages)
AODV protocol: It is recommended that you read the original paper (skipping experimental results section). You can find the paper here
http://people.cs.ucsb.edu/ebelding/sites/people/ebelding/files/publications/wmcsa99.pdf
For details and doubts you can also consult the associated RFC (non mandatory RFC
https://tools.ietf.org/html/rfc3561
).
Another possible use of RFCs is simply as reference to double-check some details you don't have clear. You are also encouraged to make this use of extra material made available through RFCs.
DSR protocol (skip experimental results and start from the protocol description):
http://www.utdallas.edu/~ksarac/Papers/DSR.pdf
GeRaF protocol (only description of the protocol, that you can find here):
http://www.dei.unipd.it/~casarip/Collection_publications/j007_WCMC_GeRaF.pdf
ALBA protocol:
http://senseslab.di.uniroma1.it/administrator/components/com_jresearch/files/publications/ALBA_R_Load_Balancing_Geograph.pdf
For low power MAC protocols, IEEE 802.15.4, 6
LowPan (and in general for material to read on the second part of the course-typically scientific papers or whitepapers) information on the articles to read (only for technical solution description) and on the standards/whitepapers to read are included directly in the slides (before each solution description). As Sapienza students you have access to the ACM and IEEE digital libraries and can download the papers (you need to be connected to Sapienza network). Material is typically available also on the web (do a good search with the name of the protocol and paper and you should be able to find it).
Slides and teaching material
FROM LAST YEAR, IT WILL BE UPDATED OVER TIME
Lesson 1 (march 6th) 2020: Introduction to wireless systems. Main challenges behind wireless systems design. Wireless signal propagation. Reading material. Book chapter: P. Mohana Shankar "Introduction to Wireless Systems", John Wiley & Sons, chapter 2 "propagation characteristics of wireless channels".
Lesson 2 (march 10th 2020): Low power design. Methodologies and Techniques.
IoT_2019_2020_intro_lez2_compressed.pdf:
IoT _2019_2020_intro_lez2_compressed.pdf
Lesson 3 (march 13th 2020): Low power design. Advanced techniques
Articles: 1) N. Balasubramanian, A. Balasubramanian, A. Venkataramani “Energy consumption in mobile phones: A Measurement Study and Implications for Network Applications”, ACM IMC 2009
http://ciir-publications.cs.umass.edu/getpdf.php?id=904
2) Andres Garcia-Saavedra, Pablo Serrano, Albert Banchs, Giuseppe Bianchi: Energy consumption anatomy of 802.11 devices and its implication on modeling and design.
CoNEXT2012: 169-180
http://conferences.sigcomm.org/co-next/2012/eproceedings/conext/p169.pdf
Introduction to cellular systems: digital cellular systems; resource allocation; frequency reuse and reuse distance; radio access networks (mobile users; BTS; BSC); network service subsystem; operational and management center; information stored in the network; numbers and identified.
Lesson 4 (march 17th 2020): GSM. Radio Interface; Mobility Management; Examples of procedures.
IoT_2019_2020_lez4_compressed.pdf:
IoT _2019_2020_lez4_compressed.pdf
Lesson 5 (march 17th 2020, extra lab hours). C++ Lab
IoT_IntroductionToCpp_2019_2020_Lab1_compressed.pdf:
IoT _IntroductionToCpp_2019_2020_Lab1_compressed.pdf
Lesson 6 (march 19th 2020, extra lab hours) C++ Lab, class 2
IoT_IntroductionToCpp_2019_2020_Lab2_compressed.pdf:
IoT _IntroductionToCpp_2019_2020_Lab2_compressed.pdf
Lesson 7 (march 20th 2020): Logical and physical channels; Codecs principles; Cellular systems procedures.
Lesson 8 (march 24th 2020): Mobility management procedures in GSM; Evolution of cellular systems: GPRS/EDGE; 3G; 4G
Lesson 9 (march 24th 2020): C++ lab, third class
Lesson 10 (march 26th 2020): Introduction to simulations. Green Castalia.
Lesson 11 (march 27th 2020): 5G systems. Understanding physical layer and resource allocation in modern wireless systems. OFDM/OFDMA. An integrated world, how cellular systems support
IoT wireless access: LTE-M and NB-IoT.
Lesson 12 (march 31st, videorecorded): Introduction to Introduction to peer to peer "ad hoc" wireless networks; CSMA/CA and distribuited TDMA schemes; Background on ourting: link state and distributed Bellman Ford.
AdHoc_2019_2020_part1.ppt:
AdHoc _2019_2020_part1.ppt
Lesson 13 (april 3rd 2020): MANET routing protocols: proactive (DSDV, OSLR);Reactive MANET routing protocols (AODV,DSR); geographic routing protocols (Dream, LAR); concept of cross-layering and hierarchical routing protocols;
AdHoc_2019_2020_part2_compressed.pdf:
AdHoc _2019_2020_part2_compressed.pdf
Lesson 14 (april 7 2020): Example of geographic cross layering protocols for
IoT (
GeRaF and ALBA); techniques to provide device localization in environments where GPS cannot be applied (ranging techniques, multi-lateration; range-free approaches).How to Read standards and articles (this part of the class will guide you through how to study the material provided -papers and standards, what to read, what to skip and is highly recommended).
AdHoc_2019_2020_lez_final_compressed.pdf:
AdHoc _2019_2020_lez_final_compressed.pdf
HowToReadMaterial_2019.pdf:
HowToReadMaterial _2019.
Lesson 15th (april 17th 2020): How machine learning can help optimizing
IoT systems. Getting reasing for exams: tools for remote exams. Exam.net, videoconferencing tools such as zooms. Rules to perform midterm and written exams.
IoT_2019_2020_ReinforcementLearning_compressed.pdf:
IoT _2019_2020_ReinforcementLearning_compressed.pdf
Lesson 16th (april 21st 2020) Low power MAC protocols for
IoT (S-MAC, T-MAC, B-MAC, X-MAC,
WiseMAC). Q&A with students.
MAC_Routing_for_IoT_19_20_part1.pdf: MAC_Routing_for_IoT_19_20_part1.pdf
Lesson 17th (april 24th 2020) Architecture of
IoT systems;
IoT standards: IEEE 802.15.4 and introduction to 6lowPAN. 6LowPan, Collection Tree Protocol. Q&A and review on some aspects of the lab.
MAC_Routing_for_IoT_19_20_part2_compr.pdf: MAC_Routing_for_IoT_19_20_part2_compr.pdf
Lesson 18th ( april 28th 2020):Extensions to IEEE 802.15.4 and 6LowPAN: IEEE 802.15.4e and 6Lo. RPL (routing protocol identified by 6LowPan).
IoT standardization: Bluetooth Low Energy and Low power
WiFi, brief summary.
MAC_Routing_for_IoT_18_19_part2_compressed.pdf: MAC_Routing_for_IoT_18_19_part2_compressed.pdf
Lesson 19 (may 8/5/2020) Midterm and midterm correction
Lesson 20 May 12/5/2020:
LoRa technnologies revealed
LoRa_2019_2020_compressed.pdf:
LoRa _2019_2020_compressed.pdf
Lesson 21 May 12/5/2020 (extra time 4-7pm) lab C++ correction and extra class on typical mistakes made by students during the midterm
Lesson 22: May 15/5/2020 (also with a IOTA representative, videostreamed): Blockchain technologies for
IoT
Additional material on IOTA (requested by some students)
Blog on IOTA
https://blog.iota.org/the-tangle-an-illustrated-introduction-79f537b0a455
Second class explains Unweighted and la Weighted Random Walk for tip selection
https://blog.iota.org/the-tangle-an-illustrated-introduction-c0a86f994445
IOTA white paper for those of you who are most interested
https://assets.ctfassets.net/r1dr6vzfxhev/2t4uxvsIqk0EUau6g2sw0g/45eae33637ca92f85dd9f4a3a218e1ec/iota1_4_3.pdf
Lesson 23: May 19/5/2020 Beyond 5G: Visible Light Communications and its possible application to the
IoT world
Lesson 24: May 22/5/2020 Overview of the challenges and steps to tackle to design an
IoT system and on what it means to innovate in this field. Examples of
IoT applications.Energy Harvesting enabled
IoT systems. Pro-Energy, energy-harvesting aware mission allocation, green routing.
IoT systems with wake up radio. Protocols: Flood WUP, Green WUP, ALBA WUP. Use of these concepts in on going standardization.
Compressed_EnergyHarvesting_andWakeUp_enabledIoT_2019_2020.pdf: Compressed_EnergyHarvesting_andWakeUp_enabledIoT_2019_2020.pdfEND OF FINAL PROGRAMME
This class will be in videostreaming using the standard Cisco Webex.
Lesson 25: May 26/5/2020 Q&A and discussion on topics so far proposed. Presentation of possible projects, with example of applications of
IoT techniques to
real applications. MQTT, REST APIs, COAP, platforms for developing
IoT applications.
Lesson 26: May 29/5/2020 Final and final exam correction
Results of feb 2021 are now available. The following students have passed the exam
1614998 30/30 e lode
1497990 22/30
1693268 26/30
if students do not want to register the exam they have to inform the instructor by Tuesday Feb 16th.
The mark has been preregistered but will be formalized only then.
Results of september exam are now available.
Students with ID 1347661, 1744640 1761515 (there maybe a mistake of one number in this id), 1918978 should register today to the new appello or contact the instructor to register the exam (they don't seem to have registered on Infostud).
Students who have partially passed the exam 1799271,1921383,1921760 can keep the parts they passed for the september exam.
EXAMS, GRADING AND EXTRA CREDITS
extra session: 1874453 (not passed)
Results of midterm are here available. All tests that have been provided in the two needed parts have been corrected. Students who have dropped after
the first part are not reported. Results are summarized into written exam (first and second part) and the lab. According to the rules I had given the lab allowed
only to increase points. If some students have not passed the exam and will pass it in the final (last chance in June/July) then they can get the extra points still
assigned. It is highly recommended for your career to learn those topics also.
Low marks (not sufficient to pass the midterm are NOT PASSED (shirtened as NO in the file).
- Screen_Shot_2020-06-11_at_12.32.04.png:
- Screen_Shot_2020-06-11_at_12.32.20.png:
June 15th exam
Full exam/esame completo:
1656617: 20/30
the following students have not passed the exam: 1873464, 1883255,1874453
Second midterm
1919010 NOT PASSED
1916304 27/30 (can register 23/30 as final vote)
Lab c++
1616234 | 30 | can register 30L |
1705929 | 24 | can register 30L |
1656617 | 25 | |
1717025 | 28 | |
1889429 | 18 | |
1893790 | 23 | can register 28 |
First midterm
1347661 27+/30 (can register 24)
1700502 29/30 (can register 29)
1707429 28+/30 (can register 27)
1889429 24-25/30 (can register 23)
1895088 27/30 (can register 25)
1904053 27/30 (can register 24)
1905478 18+/30 (can register 18)
1919827 NOT SUFF
Results of July exam
Screenshot_2020-07-11_at_13.10.32.png:
Results of September exam
1921760: 29+/30 (second part of the exam); 23/30 C++ lab (optional). Can register: 30/30.
1693268: 21/30 C++ lab (optional). The student has to pass the written exam next time.
1799271: 17/18 (full exam). Can register: 18/30
RULES
We will have a midterm a final written exam at the end of the course (on the remaining topics, excluding the lab). The midterm will have two separate sections on the main course material and on C++. It will be possible to pass one of the two parts of the midterm.
Rules: If a student passes at least one of the (midterm/final) tests he/she will be allowed to take the missing one in the June/July exam sessions. In such sessions it will also be possible to take a complete written exam on the topics covered during the course.
In the fall and winter exam sessions students will have to take the complete written exam to pass the class.
Students attending the Green Castalia lab (which requires to first get needed background, part of the course, on C++) will have the opportunity (it will not be mandatory) to take an exam associated to it to get up to 3 extra points. The exam will be at the end of the lab. Students attending the theory seminars will have the opportunity to do a modeling project, or to investigate a particular research topic not covered during classe for up to 3 extra points (maximum 4 extra points overall). The possibility to take extra credits with modeling/article reading is reserved to students passing the midterm or final with at least 27/30 on the main part of the exam (main class material).
Extra points and associated lab/theory exam sessions will be possible only if students pass the exam in the June/July session, or through midterm and final.
Consider that on the lab you can take up to 3 (I gave a 3,5) points on the midterm and if you to the Castalia activity extra 3 points on the final, for an averageof up to 3 overall. In addition, for the very best students, there is the possibility to be offered a project valid for the AFC (extra 6 credits). This should stimulate best students to also engage and solve issues related to the lab.