Teaching

Winter Term 2017/2018

Seminar: Edge Computing and Communication

Pre-meeting: TBD

Summer Term 2017

Lab course: Networked Multimedia Systems

Multimedia content has become the dominant traffic in the Internet, both for stationary and mobile users. The main contributors are over-the-top video-on-demand services such as YouTube and Netflix, augmented by the multimedia service offerings by Internet Service Providers for IPTV and network-based video recording. A longer history but lower volume have Internet telephony and multimedia conferencing applications (Skype, WebEx, Lync, GotoMeeting, etc.), which are now seeing another push as services migrate towards full integration with the web browser using WebRTC technologies (e.g., Google Hangouts). From early packet audio experiments to ubiquitous HD video and beyond, Internet multimedia protocols and systems have seen many changes over time: in media distribution, in content encoding, in media and signaling protocols, and in systems platforms. But in spite of these changes, the fundamentals and some designs remain stable. In this class, we will explore the technical foundations of packet-based multimedia communications, focusing on the functions on the endpoints and only briefly touching upon support mechanisms inside the network. We will present the architecture and the protocol building blocks for Internet multimedia and also dive into system and implementation aspects. We will also consider assessing performance of multimedia communications from a systems and user perspective. Backed by introductory lectures, the key elements of this course will be designing and implementing a working multimedia communication systems that is interoperable with today’s (commercial) products.

The topics to be covered in more detail are:

  • Multimedia systems by example
  • Background of multimedia communications in the Internet
  • Network support for multimedia
  • Media codecs by example
  • Real-time transport protocol (RTP)
  • RTP payload formats
  • Internet multimedia conferencing architecture
  • Concepts for multimedia control
  • Session Description Protocol (SDP)
  • NAT traversal and mechanisms: STUN, TURN, ICE
  • Application area I: Multicast-based media distribution
  • Application area II: Media streaming
  • Application area III: Multimedia conferencing
  • Scalable multimedia services
  • Multimedia measurements
  • Quality of Service and Quality of Experience

Pre-meeting: 31 January 2017, 13:00, room 01.07.023

Slides from the pre-meeting.

Seminar: Internet measurements

Pre-meeting: 3 February 2017, 10:00, room 01.07.023

Seminar: Interactive Recommender Systems

Pre-meeting: 1 February 2017, 15:00, room 01.07.023

Lecture Course Recommender Systems (for TUM-BWL) (IN8023)

Lecture Course User Modeling and Recommender Systems (IN2119)

Winter Term 2016/17

Lecture: Connected Mobility Basics (IN2324)

Billions of users are connected to the Internet and make extensive use of an ever growing number and diversity of network-based services, whose demands are constantly increasing. And more and more users access the network from mobile devices, in their home and office, but also on the move. Mobility of users and their devices (as well as mobile devices not carried by humans) poses a challenge to network operators and cloud service providers alike to satisfy the user expectations in terms of reliability and responsiveness (among others).

In this course, we will explore the basics of keeping mobile users and devices connected in (hopefully) somewhat encompassing breadth, with different levels of depth. We will only briefly recap lower layer wireless technologies and we will also keep security aspects short (as those are well covered by other courses). We will instead focus on network to application layer aspects and at system design.

The following list offers a rough outline of the topics we expect to cover:

  • Connected mobile systems by example
  • Mobile networks (just a recap)
  • Mobility modeling: generic, human, and vehicular mobility models
  • Mobile networking: mobility support at the network, transport, and application layers
  • Mobile offloading
  • Mobile measurements: network performance and quality of experience
  • Ethics in mobile measurements and services
  • Privacy and security aspects
  • Mobile services: architectures, system design, evaluation

The course will combine lectures and self-studies (possibly with brief student presentations) with (likely) four theoretical and practical (Java-based coding, scripting, evaluation) assignments.

Seminar: Internet for All 

The Internet has become an essential element of our daily lives, ranging from news & information to business to entertainment to personal routines. At least for those living in urban areas in industrialized countries. However, the majority of the world's population is still off the net. This may have different reasons (which are partly intertwined), including: 1) on the technical side, Internet connectivity being not available or of poor performance; 2) on the market side, Internet access (network connectivity, devices) being not affordable; and 3) on the political side, Internet access being limited by means of censorship.

In this first iteration of this seminar, we will explore case studies from different regions about missing or poor Internet connectivity. We will explore different types of measures (of technical and non-technical nature) to improve the situation on connectivity.

Internet for All is presently a topic of many activities, one of which is the Global Access to the Internet for All (GAIA) Research Group of the Internet Research Task Force.

Lack of Internet access could be attributed to a number of reasons, including (but not limited to) the following. There may be no physical infrastructure such a fixed lines or wireless networks, (stable) electricity, devices to access the network. Reasons for this motivated by the terrain (e.g., remote regions) or the economic situation in an area, or—quite often—a combination of both; but also disasters may create loss of connectivity and/or a strong need for impromptu networks. Sufficient education is also a pre-requisite for participating in the Internet, starting with as simple aspects as literacy. Internet access might also be available but it intentionally blocked or limited as we see with many attempts of censorship, which also limits freedom of speech and hence the value the network can bring.

In our topic areas, we try to reflect the above spectrum and offer seminar topics ranging from technical solutions to measurement-based observations of the status quo to political and economics aspects.

  • Wireless mesh networks for rural and urban environments
  • Alternative networking concepts and local/regional networking
  • Economics and ecosystems
  • Many flavors and aspects of censorship
  • Technology for education and technology for people with less education

We will provide a list of topics and papers associated with those topics to get started. We expect everybody to find and read further papers and then combine those to provide a synthesis (rather than individual summaries) in the end. Topic choices are not limited to what we have in mind and if you can make a good case for your own topic idea related to the Internet for All you are more than welcome.

Slides from the pre-meeting.

Summer 2016

Summer course (Praktikum): Do-It-Yourself Networking (10 ECTS)

This practical course will focus on the idea, design, development, and evaluation of a (software) system for do-it-yourself networking. To support this practical focus, there will be no single written exam, but instead we will review, during the course of the class, the individual steps towards and the outcome of the project. Work will be carried out in teams of two. While the basis for the grading will be the result of the group work, we will assess the contributions of individual student based upon presentation and final code review. 

The Internet interconnects people globally and allows access to networked services pretty much anytime, anywhere. A wealth of cloud-based services has made it into every day uses, from file and document sharing to social networking to chat to real-time video. Cloud services are not just convenient because of their global reach but also because they are accessible across different personal devices and relieve individuals from maintaining and backing up data. This convenience comes at three types of cost (at least): 1) Cloud service providers manage user data, define the features, and set the rules (cf. censorship) for their services so that users are always dependent on third parties elsewhere. 2) Even when providing location-based services, e.g., to share a picture with friends close by, data usually travels halfway around the globe to be stored and processed in remote data centers, which creates global traffic for purely local interactions. 3) Privacy concerns arise as third parties are remotely able to gather data about user habits, preferences, contents, etc.

Do-it-Yourself networks, a flavor of community networks, are (local) counterpoints to the global dominance of big application services providers. We want to explore building localized services relevant to the people at a given place and time using Raspberry PIs and enhanced WLAN access points, mobile (Android) phones, and local sensors. As one starting point, we are offering a simple localized communication platform (http://www.liberouter.mobi) that provides communication and database abstractions to build localized services. The goal of this practical course is threefold:

  1. Understanding the background and underlying communication models of hyperlocal and do-it-yourself networks. We will provide introductory lectures and practical sessions for the background and the tools. (1 week)
  2. Developing an application/service idea that fits some definition of localized do-it-yourself networking and particularly exploits colocation (in space, not necessarily in time) of its users. (1 week)
  3. Designing and implementing your idea in teams of two and demonstrating it at the end of the class and documenting your system. (2 weeks + 1 day)

To illustrate the above, examples of applications could be:

  • A digital version of geocaching where content can be retrieved and posted via short range radio rather than exchanging physical goods with the cache.
  • A local music sharing tool that allows exploring what people around you (e.g., in a certain café) would listen to.

(Recommended) requirements:

Participants in computer networks and distributed systems (IN0010 or equivalent knowledge) as well as solid command of the Java programming language, scripting languages, and build environments. We also expect familiarity with the Linux operating system and systems level programming. We will use web technologies (HTML5, Javascript, PHP) and/or native Android application design so that students need to be familiar with at least one of those.

The course in TUM Online (pointer coming shortly).

Slides from the pre-meeting.

Contact: Jörg Ott, Teemu Kärkkäinen, Aaron Yi Ding.