Seminar on Internet Technologies (Summer 2018): Difference between revisions
(Created page with "== Details == {{CourseDetails |credits=4 ECTS (BSc/MSc AI); 4 (ITIS) |lecturer=[http://user.informatik.uni-goettingen.de/~fu Prof. Xiaoming Fu] |ta=[http://www.net.informatik.u...") |
|||
(17 intermediate revisions by 7 users not shown) | |||
Line 3: | Line 3: | ||
{{CourseDetails | {{CourseDetails | ||
|credits= | |credits=5 ECTS (BSc/MSc AI); 4 (ITIS) | ||
|lecturer=[http://user.informatik.uni-goettingen.de/~fu Prof. Xiaoming Fu] | |lecturer=[http://user.informatik.uni-goettingen.de/~fu Prof. Xiaoming Fu] | ||
|ta=[http://www.net.informatik.uni-goettingen.de/people/Tao_Zhao Tao Zhao] | |ta=[http://www.net.informatik.uni-goettingen.de/people/Tao_Zhao Tao Zhao] | ||
|time=April 12, 16: | |time=April 12, 16:00-16:30: Introduction Meeting | ||
|place=IFI Building, Room 1.101 | |place=IFI Building, Room 1.101 | ||
|univz=[https://univz.uni-goettingen.de/qisserver//rds?state=verpublish&status=init&vmfile=no&publishid=211342&moduleCall=webInfo&publishConfFile=webInfo&publishSubDir=veranstaltung&idcol=k_semester.semid&idval=20181&getglobal=semester&htmlBodyOnly=true&noDBAction=y&init=y] | |univz=[https://univz.uni-goettingen.de/qisserver//rds?state=verpublish&status=init&vmfile=no&publishid=211342&moduleCall=webInfo&publishConfFile=webInfo&publishSubDir=veranstaltung&idcol=k_semester.semid&idval=20181&getglobal=semester&htmlBodyOnly=true&noDBAction=y&init=y] | ||
Line 22: | Line 22: | ||
==Passing requirements== | ==Passing requirements== | ||
*There will be 2 milestones before the presentations where the students should pass before they register for the course. | |||
**Intro milestone where the adviser make sure that the student start to work on the topic and following an accepted methodology. | |||
**Midterm milestone. (ex. programming tasks done etc... ) | |||
*Actively and frequently participate in the project communication with your topic advisor | |||
**This accounts for 20% of your grade. | |||
* Present the selected topic (20 min. presentation + 10 min. Q&A). | |||
** This accounts for 40% of your grade. | |||
* Write a report on the selected topic (12-15 pages) (LaTeX Template:[ftp://ftp.springernature.com/cs-proceeding/llncs/llncs2e.zip]). | |||
** This accounts for 40% of your grade. | |||
* Please check the [[#Schedule]] and adhere to it. | |||
==Schedule== | ==Schedule== | ||
TBD | * '''April. 12, 16:00ct''': Introduction meeting | ||
* TBD : Deadline for registration | |||
* TBD : Presentations | |||
* '''Sept. 31, 2018, 23:59''': Deadline for submission of report (should be sent to the topic adviser!) | |||
== Topics == | == Topics == | ||
{| align="center" class="wikitable sortable" {{Prettytable}} | |||
|- | |||
|{{Hl2}} |'''Topic''' | |||
|{{Hl2}} |'''Description''' | |||
|{{Hl2}} |'''Prerequisites''' | |||
|{{Hl2}} |'''Topic Advisor''' | |||
|{{Hl2}} |'''Initial Readings''' | |||
|- | |||
| '''Reinforcement Mechanism Design''' | |||
| Mechanism design is a modeling and algorithmic framework to design and optimize mechanisms in dynamic industrial environments where a designer can make use of the data generated in the process to automatically improve future design. Reinforcement mechanism design is rooted in game theory but incorporates recent AI techniques to get rid of nonrealistic modeling assumptions and to make automated optimization feasible. The framework can be applied on many key application scenarios, such as Baidu and Taobao, two of the largest mobile app companies in China. For the Taobao case, the framework automatically designs mechanisms that allocate buyer impressions for the e-commerce website; for the Baidu case, the frame-work automatically designs dynamic reserve pricing schemes of advertisement auctions of the search engine. Experiments show that the solutions outperform the state-of-the-art alternatives and those currently deployed, under both scenarios. | |||
| Basic knowledge of machine learning, deep learning and big data analysis. Familar with mechanism design. | |||
|Bo Zhao (bo.zhao@gwdg.de) | |||
|[https://pdfs.semanticscholar.org/5ec9/ed5c9936c069fa554603aa773d3ee036b4ac.pdf][https://arxiv.org/abs/1708.07607][http://iiis.tsinghua.edu.cn/~kenshin/rmd_ec.pdf] | |||
|- | |||
| '''Understanding and implementing web crawler''' | |||
| Web crawlers collect information such the URL of the website, the meta tag information, the Web page content, the links in the webpage and the destinations leading from those links, the web page title and any other relevant information. Web crawler can be used in data mining, wherein pages are analyzed for different properties like statistics, and data analytics are then performed on them. The topic has two main tasks: 1) explore and summarize existing python-based web crawling frameworks; 2) design and implement a simple web crawler with Python, e.g., crawl some information of a simple webpage in Twitter. | |||
| The student interested in this topic should be familiar with Python, and ideally has some practical experience with Python. | |||
| [http://www.net.informatik.uni-goettingen.de/people/tao_zhao Tao Zhao] | |||
| [https://en.wikipedia.org/wiki/Web_crawler] | |||
|- | |||
| '''Getting a Practical Understanding of Segment Routing''' | |||
| Segment Routing (SR) is a new data-plane paradigm that employs source routing and software defined networking (SDN) to present an ease to manage network. The main key advantage compared to openflow based SDN is that SR embeds the path in the packet header and hence no states are kept in the core network. Your task is to understand in practical and theory how this main key affects the way SR is doing relative network tasks such as traffic enigneering and service function chaining. If you are not sure about your time schedule during this semester, please choose another topic. | |||
| The student should be at least familiar with one programming language (eg. Java or Python), basic open-flow SDN and basic linux skills. | |||
| [http://www.net.informatik.uni-goettingen.de/people/osamah_barakat Osamah Barakat] | |||
| [http://www.segment-routing.net/][http://www.segment-routing.org/] | |||
|- | |||
| '''Hands-on study of Vector Packet Processing (VPP)''' | |||
| The VPP platform is an extensible framework that provides out-of-the-box production quality switch/router functionality. It is the open source version of Cisco's Vector Packet Processing (VPP) technology: a high performance, packet-processing stack that can run on commodity CPUs. The benefits of this implementation of VPP are its high performance, proven technology, its modularity and flexibility, and rich feature set. | |||
The student's task will be acquiring hands-on experience with the VPP platform (included source code). The expected outcome would be a detailed report on how to use VPP and how to create a custom plug-in (for this part a demo application should be implemented). | |||
| Basic networking knowledge, C/C++ programming, Unix/Linux administration. Knowledge of Data Plane Development Kit (DPDK) would be beneficial (but not mandatory). | |||
| [http://www.net.informatik.uni-goettingen.de/people/jacopo_de%20benedetto Jacopo De Benedetto] | |||
| [https://wiki.fd.io/view/VPP] | |||
|- | |||
| '''Deep Learning and Smart City (assigned to Jihan Munkar)''' | |||
| Smart city is a hot topic in recent years. And deep learning is another hot topic. However, the application of DL in smart city areas is largely overlooked by the reserach community. The student picking this topic need to read several recent papers about connecting DL to smart city questions. In this process, you will know basic concept, general problems and important approahces in this field. | |||
| Basic machine learning knowledge | |||
| [Shichang Ding--shichang.ding@informatik.uni-goettingen.de] | |||
| [https://aaai.org/ocs/index.php/AAAI/AAAI17/paper/view/14501] | |||
|- | |||
| ''' Research and implementation of an OPC UA application in ICN''' | |||
| THE OPC foundation is a consortium of industry partners that is responsible for creating and maintaining industry standards. There most recent standard is called Open Platform Communications Unified Architecture (OPC UA). OPC UA brings a significant enhancement to the existing OPC framework, especially making is platform independent, and turning it into a service oriented architecture. It is an open source architecture and in this topic you will be required to perform a research on the OPC UA standard and the communication protocols offered in this architecture and implement an application based on this architecture in Information Centric Networking (ICN). | |||
| Basic networking knowledge, C/C++ programming, Unix/Linux, Java and Information Centric Networking (ICN). | |||
| Sripriya Adhatarao (adhatarao@cs.uni-goettingen.de) | |||
| [https://opcfoundation.org/] | |||
|- | |||
|'''NFV Frameworks - Insight and Assessment''' | |||
| Focus of this topic is to present a comprehensive study and evaluate at least 2 of the NFV platforms (either the Industry and academic works targeted towards deployment of NFV in Telecommunications, Data Center and Enterprise networks). Understand and Analyze the key aspects of the predominant NFV frameworks, and characterize them in terms of the adopted standards, resource requirements, deployment factors and constraints, performance metrics, support for service function chaining, etc. for deployment of Middleboxes and Network Functions in Telco/ISP/Data Center Networks. Evaluate the key deployment metrics accounting both qualitative and quantitative aspects in deploying and building the NFV solutions. | |||
| Familiarity with SDN, NFV and DPDK (students who have already taken SDN course are preferred). Must have Basic networking knowledge, C/C++ programming, Linux administration. | |||
| [http://www.net.informatik.uni-goettingen.de/people/sameer_kulkarni Sameer Kulkarni] | |||
| [https://www.opnfv.org/] [https://www.usenix.org/system/files/conference/nsdi14/nsdi14-paper-martins.pdf] [http://dl.acm.org/ft_gateway.cfm?id=2940155&ftid=1754642&dwn=1&CFID=919487200&CFTOKEN=31286219] [http://superfluidity.eu/about/research-description] [https://fd.io/] | |||
|- | |||
| '''Online Pricing Mechanisms for Cloud and Edge Computing''' | |||
| The goal is to present at least two online pricing schemes in cloud computing. Currently, cloud resources are billed hourly basis. These online pricing schemes charge customers based on supply demand at current time instance. | |||
| Familiarity with basic optimization (linear programming) and probability. | |||
| [https://www.net.informatik.uni-goettingen.de/people/abhinandan_s_prasad Abhinandan S Prasad] | |||
|[https://dl.acm.org/citation.cfm?id=3086574] [https://dl.acm.org/citation.cfm?id=3084460] | |||
|- | |||
|} | |||
==Workflow== | ==Workflow== | ||
=== 1. Select a topic === | |||
A student picks a topic to work on. You can pick up a topic and start working '''at any time'''. However, make sure to notify the advisor of the topic before starting to work. | |||
=== 2. Get your work advised === | |||
For each topic, a topic advisor is available. He is your contact person for questions and problems regarding the topic. He supports you as much as you want, so please do not hesitate to approach him for any advice or with any questions you might have. It is recommended (and not mandatory) that you schedule a face-to-face meeting with him right after you select your topic. | |||
=== 3. Approach your topic === | |||
* By choosing a topic, you choose the direction of elaboration. | |||
* You may work in different styles, for example: | |||
** Survey: Basic introduction, overview of the field; general problems, methods, approaches. | |||
** Specific problem: Detailed introduction, details about the problem and the solution. | |||
* You should include your own thoughts on your topic. | |||
=== 4. Prepare your presentation === | |||
* Present your topic to the audience (in English). | |||
* 20 minutes of presentation followed by 10 minutes discussion. | |||
You present your topic to an audience of students and other interested people (usually the [http://www.net.informatik.uni-goettingen.de/ NET] group members). Your presentation should give the audience a general idea of the topic and highlight interesting problems and solutions. You have 20 minutes to present your topic followed by 10 minutes of discussion. You must keep it within the time limit. Please send your slides to your topic advisor for any possible feedback before your presentation. | |||
Hints for preparing the presentation: | |||
20 minutes are too short to present a topic fully. | |||
It is alright to focus just on one certain important aspect. | |||
Limit the introduction of basics. | |||
Make sure to finish in time. | |||
Suggestions for preparing the slides: | |||
No more than 20 pages/slides. | |||
Get your audiences to quickly understand the general idea. | |||
Figures, tables and animations are better than sentences. | |||
Summary of the topic: thinking in your own words. | |||
=== 5. Write your report === | |||
* Present the problem with its background. | |||
* Detail the approaches, techniques, methods to handle the problem. | |||
* Evaluate and assess those approaches (e.g., pros and cons). | |||
* Give a short outlook on potential future developments. | |||
The report must be written in English according to common guidelines for scientific papers, between 12 and 15 pages of content (excluding the table of content, bibliography, etc.). | |||
=== 6. Course schedule=== | |||
There are no regular meetings, lectures or classes for this course. The work is expected to be done by yourself with the assistance of your topic advisor. Please follow the [[#Schedule]] to take appropriate actions. | |||
[[Category:Courses]] | [[Category:Courses]] |
Latest revision as of 12:09, 1 October 2018
Details
Workload/ECTS Credits: | 5 ECTS (BSc/MSc AI); 4 (ITIS) |
Lecturer: | Prof. Xiaoming Fu |
Teaching assistant: | Tao Zhao |
Time: | April 12, 16:00-16:30: Introduction Meeting |
Place: | IFI Building, Room 1.101 |
UniVZ | [1] |
Course description
This course covers selected topics on the up-to-date Internet technologies and research. Each student takes a topic, does a presentation and writes a report on it. Besides the introduction meeting, there are no regular meetings, lectures or classes for this course. The purpose of this course is to familiarize the students with new technologies, enable independent study of a specific topic, and train presentation and writing skills.
The informational meeting at the beginning of the course will cover some guidelines on scientific presenting and writing.
Due to topic advisors' workload limitation, we could only provide limited topics, and the topic assignment will be on the basis of first come first serve principle. Please contact the topic advisor directly for the topic availability.
Note: Participants in the seminar only need to register the exam before the end of the course.
Passing requirements
- There will be 2 milestones before the presentations where the students should pass before they register for the course.
- Intro milestone where the adviser make sure that the student start to work on the topic and following an accepted methodology.
- Midterm milestone. (ex. programming tasks done etc... )
- Actively and frequently participate in the project communication with your topic advisor
- This accounts for 20% of your grade.
- Present the selected topic (20 min. presentation + 10 min. Q&A).
- This accounts for 40% of your grade.
- Write a report on the selected topic (12-15 pages) (LaTeX Template:[2]).
- This accounts for 40% of your grade.
- Please check the #Schedule and adhere to it.
Schedule
- April. 12, 16:00ct: Introduction meeting
- TBD : Deadline for registration
- TBD : Presentations
- Sept. 31, 2018, 23:59: Deadline for submission of report (should be sent to the topic adviser!)
Topics
Topic | Description | Prerequisites | Topic Advisor | Initial Readings |
Reinforcement Mechanism Design | Mechanism design is a modeling and algorithmic framework to design and optimize mechanisms in dynamic industrial environments where a designer can make use of the data generated in the process to automatically improve future design. Reinforcement mechanism design is rooted in game theory but incorporates recent AI techniques to get rid of nonrealistic modeling assumptions and to make automated optimization feasible. The framework can be applied on many key application scenarios, such as Baidu and Taobao, two of the largest mobile app companies in China. For the Taobao case, the framework automatically designs mechanisms that allocate buyer impressions for the e-commerce website; for the Baidu case, the frame-work automatically designs dynamic reserve pricing schemes of advertisement auctions of the search engine. Experiments show that the solutions outperform the state-of-the-art alternatives and those currently deployed, under both scenarios. | Basic knowledge of machine learning, deep learning and big data analysis. Familar with mechanism design. | Bo Zhao (bo.zhao@gwdg.de) | [3][4][5] |
Understanding and implementing web crawler | Web crawlers collect information such the URL of the website, the meta tag information, the Web page content, the links in the webpage and the destinations leading from those links, the web page title and any other relevant information. Web crawler can be used in data mining, wherein pages are analyzed for different properties like statistics, and data analytics are then performed on them. The topic has two main tasks: 1) explore and summarize existing python-based web crawling frameworks; 2) design and implement a simple web crawler with Python, e.g., crawl some information of a simple webpage in Twitter. | The student interested in this topic should be familiar with Python, and ideally has some practical experience with Python. | Tao Zhao | [6] |
Getting a Practical Understanding of Segment Routing | Segment Routing (SR) is a new data-plane paradigm that employs source routing and software defined networking (SDN) to present an ease to manage network. The main key advantage compared to openflow based SDN is that SR embeds the path in the packet header and hence no states are kept in the core network. Your task is to understand in practical and theory how this main key affects the way SR is doing relative network tasks such as traffic enigneering and service function chaining. If you are not sure about your time schedule during this semester, please choose another topic. | The student should be at least familiar with one programming language (eg. Java or Python), basic open-flow SDN and basic linux skills. | Osamah Barakat | [7][8] |
Hands-on study of Vector Packet Processing (VPP) | The VPP platform is an extensible framework that provides out-of-the-box production quality switch/router functionality. It is the open source version of Cisco's Vector Packet Processing (VPP) technology: a high performance, packet-processing stack that can run on commodity CPUs. The benefits of this implementation of VPP are its high performance, proven technology, its modularity and flexibility, and rich feature set.
The student's task will be acquiring hands-on experience with the VPP platform (included source code). The expected outcome would be a detailed report on how to use VPP and how to create a custom plug-in (for this part a demo application should be implemented). |
Basic networking knowledge, C/C++ programming, Unix/Linux administration. Knowledge of Data Plane Development Kit (DPDK) would be beneficial (but not mandatory). | Jacopo De Benedetto | [9] |
Deep Learning and Smart City (assigned to Jihan Munkar) | Smart city is a hot topic in recent years. And deep learning is another hot topic. However, the application of DL in smart city areas is largely overlooked by the reserach community. The student picking this topic need to read several recent papers about connecting DL to smart city questions. In this process, you will know basic concept, general problems and important approahces in this field. | Basic machine learning knowledge | [Shichang Ding--shichang.ding@informatik.uni-goettingen.de] | [10] |
Research and implementation of an OPC UA application in ICN | THE OPC foundation is a consortium of industry partners that is responsible for creating and maintaining industry standards. There most recent standard is called Open Platform Communications Unified Architecture (OPC UA). OPC UA brings a significant enhancement to the existing OPC framework, especially making is platform independent, and turning it into a service oriented architecture. It is an open source architecture and in this topic you will be required to perform a research on the OPC UA standard and the communication protocols offered in this architecture and implement an application based on this architecture in Information Centric Networking (ICN). | Basic networking knowledge, C/C++ programming, Unix/Linux, Java and Information Centric Networking (ICN). | Sripriya Adhatarao (adhatarao@cs.uni-goettingen.de) | [11] |
NFV Frameworks - Insight and Assessment | Focus of this topic is to present a comprehensive study and evaluate at least 2 of the NFV platforms (either the Industry and academic works targeted towards deployment of NFV in Telecommunications, Data Center and Enterprise networks). Understand and Analyze the key aspects of the predominant NFV frameworks, and characterize them in terms of the adopted standards, resource requirements, deployment factors and constraints, performance metrics, support for service function chaining, etc. for deployment of Middleboxes and Network Functions in Telco/ISP/Data Center Networks. Evaluate the key deployment metrics accounting both qualitative and quantitative aspects in deploying and building the NFV solutions. | Familiarity with SDN, NFV and DPDK (students who have already taken SDN course are preferred). Must have Basic networking knowledge, C/C++ programming, Linux administration. | Sameer Kulkarni | [12] [13] [14] [15] [16] |
Online Pricing Mechanisms for Cloud and Edge Computing | The goal is to present at least two online pricing schemes in cloud computing. Currently, cloud resources are billed hourly basis. These online pricing schemes charge customers based on supply demand at current time instance. | Familiarity with basic optimization (linear programming) and probability. | Abhinandan S Prasad | [17] [18] |
Workflow
1. Select a topic
A student picks a topic to work on. You can pick up a topic and start working at any time. However, make sure to notify the advisor of the topic before starting to work.
2. Get your work advised
For each topic, a topic advisor is available. He is your contact person for questions and problems regarding the topic. He supports you as much as you want, so please do not hesitate to approach him for any advice or with any questions you might have. It is recommended (and not mandatory) that you schedule a face-to-face meeting with him right after you select your topic.
3. Approach your topic
- By choosing a topic, you choose the direction of elaboration.
- You may work in different styles, for example:
- Survey: Basic introduction, overview of the field; general problems, methods, approaches.
- Specific problem: Detailed introduction, details about the problem and the solution.
- You should include your own thoughts on your topic.
4. Prepare your presentation
- Present your topic to the audience (in English).
- 20 minutes of presentation followed by 10 minutes discussion.
You present your topic to an audience of students and other interested people (usually the NET group members). Your presentation should give the audience a general idea of the topic and highlight interesting problems and solutions. You have 20 minutes to present your topic followed by 10 minutes of discussion. You must keep it within the time limit. Please send your slides to your topic advisor for any possible feedback before your presentation.
Hints for preparing the presentation: 20 minutes are too short to present a topic fully. It is alright to focus just on one certain important aspect. Limit the introduction of basics. Make sure to finish in time.
Suggestions for preparing the slides: No more than 20 pages/slides. Get your audiences to quickly understand the general idea. Figures, tables and animations are better than sentences. Summary of the topic: thinking in your own words.
5. Write your report
- Present the problem with its background.
- Detail the approaches, techniques, methods to handle the problem.
- Evaluate and assess those approaches (e.g., pros and cons).
- Give a short outlook on potential future developments.
The report must be written in English according to common guidelines for scientific papers, between 12 and 15 pages of content (excluding the table of content, bibliography, etc.).
6. Course schedule
There are no regular meetings, lectures or classes for this course. The work is expected to be done by yourself with the assistance of your topic advisor. Please follow the #Schedule to take appropriate actions.