Academic year 2015-16

Protocols and Distributed Applications

Degree: Code: Type:
Bachelor's Degree in Computer Science 21415 Compulsory subject, 2nd year
Bachelor's Degree in Telematics Engineering - -
Bachelor's Degree in Audiovisual Systems Engineering 22671 Optional subject

 

ECTS credits: 4 Workload: 100 hours Trimester: 3rd

 

Department: Dept. of Information and Communication Technologies
Coordinator: Dolors Sala
Teaching staff:

Dolors Sala, Srinivas Nidhra 

Language:

Català i Anglès

Timetable:
Building: Communication campus - Poblenou

 

Introduction

The course distributed protocols and applications (PAD) is a course part of the teaching block in networks. It is offered after the first year course “Xarxes i Serveis” (Computer and services - XS). Hence basic concepts of networks are known. However, the first chapter of the course is a review of the networking concepts needed in the course.

PAD studies the high layers of the OSI stack focusing, and pi rely in the application layer and in particular on distributed applications based on the client-server model. These applications are studied from the use, configuration and maintenance perspective (but not from development and programming perspective). The security initial concepts are just introduced in this course.

The course gives a lot of weight the practical part acquiring experience as system administrator responsible to install and maintain these services in a small company.

 

The PAD subjects continue in the course “Desenvolupament d’aplicacions distribuïdes” (development of distributed applications - DAD). DAD works the distributed applications from the development perspective to focus on programming and skills and targetting the peer-to-peer. Security related issues are addressed in an optional course called “Estratègies de Seguretat en Xarxes i Serveis” (Security Strategies in networks and services – ESXS). This course is fully dedicated to security addressing all levels of the OSI stack. At the same time as PAD, there is the course d’Arquitectura de Xarxes (Network Arquitectures - AX) which studies the low levels of the OSI network design

 

 

Prerequisites

None.

 

Associated competences

Specific competencies

C1

Understand the networking infrastructure that is needed for the distributed applications to operate

C2

Understand the basic concepts in security

C3

Understand the socket functionality and know how to use it to implement communications in the network

C4

Understand the need and functionality of DHCP and know how to install and configure a DHCP server

C5

Understand the need of the domain name in the network and know how to define domain names for a particular context and know how to put it in practice installing and configuring and DNS server

C6

Understand and know how to configure and define usage policies of the most important client-server distributed applications  (email, http, ftp)

C7

Understand basic concepts of quality of service in networking

C8

Ability to manipulate concepts and functionalities in real software applications

C9

Ability to understand user, installation and configuration manuals of software

 

Generic Competencies

Instrumentals

C10

Reasoning and abstraction abilities

Interpersonal

C11

Ability to work in teams

Systematic

C12

Initiative

 

Assessment

The course gives the same weight to the theory and lab, 50% each. There are additional activities to improve grade once the course is already passed (basic grade >= 5).

The following table below provides the exact detail of the grading of the course.

Theory evaluation is done in two parts both evaluated in a written exam. Part 1 is evaluated in the midterm exam and Part 2 is evaluated at the end of the quarter (during official exam period). Each part can be recovered separately in July if not passed. The exams are formed of short questions of the same type prepared by students in the submitted theory summaries. The report submissions count as extra to the exam grades.

The evaluation of lab abilities is done by a written exam and lab assignments including a project elaborated along the course. Each lab assignment puts in practice one topic of the course. The project is a real framework to work all concepts and each assignment has a project section to apply the concepts in the assignment to the team project. Therefore, the project is evaluated as part of each individual lab assignment, and there is a fix percentage of 15% grade dedicated to the project in each assignment. The lab and project are worked out in teams and it is expected that all team members participate actively in the lab sessions and development of reports. To promote this, the lab exam evaluates each lab separately and it is required to pass each lab question to pass the lab exam, and hence the course. In addition there is a lab performance grade where the lab instructor evaluates the student attitude and participation in the lab work. Therefore, each lab assignment has a grade composed of the grade of the report (group grade) and the individual grade of the corresponding question in the written exam.

The lab assignments are done in teams. All written exams and performance grades are individual. The theory summaries are done individually. It is expected that these summaries are the result of the individual study and hence it is not allowed to share information between students. At the same time, it is expected a full participation of all team members in team activities and the authors of the document have to be full participants of the content. If someone does not participate enough do not put the name and inform the professor and let’s discuss it to find solutions.

If we detect copy of individual reports, or no participation in group work without notifying we will act immediately assuming the same responsibilities of all parts (the person who copied, who let copy his work and with all team members in group submissions). All people involved will lose the right to be evaluated in the course and we will open a file (“expedient”).

Only written exams have a second chance to be evaluated in July. The rest of evaluation is continuing evaluation that cannot be repeated if failed. Exceptions can be made at instructors’ criteria (for border-line submissions or cases).

 

Evaluation

 

Theory

50%

 Theory Written Exam Part 1 (1)

50%

Theory Written Exam Part 2 (1)

50%

Lab

50%

Lab Written Exam (one question per lab report) (1)

50%

Lab Reports (includes project in each report) (1-5) (1) (2)

40% (5x8%)

Lab performance  (1)

10%

Total

100%

Extra Grading (if course already passed >= 5) (3):

Theory summaries submitted electronically  (3)

Hand-submission in class of theory summaries “presencials” (3)

Other Optional Activities (4)

 

10%

5%

Up to 20%

 

 

Each lab assignment is evaluated separate as follows

 

Lab report (group) (1)

50%

Question on written lab exam (individual) (1)

50%

(1) To pass the course is required to pass (grade >= 5) each individual part (exam part 1, exam part 2 and each lab question in lab exam, and lab performance) separately.

 

(2) The project counts 15% of total grade report in each report.

(3) Non-compulsory Submissions to add extra grade to theory final grade. It is required to submit at least 50% of submissions to get partial grade.

(4) You can also propose additional activities to improve your grade up to 20% of the final grade (added to final grade only if course is already passed). Exact details to be decided based on proposal.

 

Extra grading above the 100% applies only when the course is already passed. It helps improve grade but not to pass the course.

 

 

Contents

The course is divided in 10 subjects. These subjects are grouped in 4 blocks as follows:

Basic concepts on Networking

  1. Networking Concepts (review)
  2. Client-server Model
  3. Socket Interface

Networking infrastructure for distributed applications

  1. DHCP
  2. DNS

Examples of client-server applications

  1. Web: HTTP, HTTPS
  2. Email: SMTP, s/MIME, PGP
  3. FTP

Advanced concepts on protocol design

  1. Basic concepts on Security
  2. Multimedia protocols: RSVP, RTP

The following knowledge is acquired with these subjects:

Concepts

OSI Model

Protocol

Data Encapsulation

Sub-net

Client-server vs peer-to-peer architectures

Sockets

DNS

DHCP

Thread, attacks

Security service

Digital certificates and signatures

Trust in security

Web

Email

File transfer

 

Procedures

Packet routing through path establishment or datagram

Public key and private Cryptography

DHCP

HTTP(s)

Install and run an application server

Install and run an application client

Know how to configure an application to represent a particular use scenario

 

Attitudes

Decision to install and configure client and servers

Interpret an application configuration as an strategy and not just a set of numbers

 

Methodology

The course has a very practical orientation focusing a large portion of the student independent work in lab assignments. The lab assignments and specially the project section puts the students in the role of an engineer as system administration of the internet services (distributed client-server applications) of a company. We want to assure that ALL students acquire the practical competencies while working in teams.

We are every day users of the applications studied in the course. Some students may even have fluent or even expert knowledge in particular applications that fit in the context of the course. We can use this experience to consolidate the knowledge and meet the objective competences of the course. Hence, the course contemplates optional activities with the intention to exploit the relevant practical experience of the students attending the course with the intention to use these experiences as example for the formal engineering knowledge to be consolidated in the course. It is important to highlight that the course objective is to specialize this user level knowledge to a high level technical engineering knowledge of the same.

The course defines a framework so that each student can take the course closer to his/her experience profile and hence identify the framework that better motivates him/her to acquire the target competencies to acquire. With this intention we embrace students to propose optional activities based on his experience and interests related to the course general course subject of client-server distributed applications. As example, if you know or are interested in studying one in particular proposes to do it as optional activity. Other options are additional theory readings. In order to manage these proposals there is a period to collect these intentions. See the “propostes opcionals” in aula global for exact date.

The course has three types of class sessions:

  1. Theory Sessions (T): These are “magistral” sessions where professor explains the content but involving students. These sessions are done in large group (all students). These sessions follow the content of a book very closely and it is recommended to read the book after the session. The first 10 minutes of the session are used to review the concepts of previous sessions. This review is done with active participation of the students using their summary reports previously done at home. The comprehension of a concept is higher when one can formulate intelligent questions (and not just respond to answers). Therefore, the summary reports have the format of a list of questions with corresponding answers (in fact this inspired by the flashcard study methodology). The doubts are the questions that one cannot formulate the answer or when one has doubts whether the answer is correct. The questions should be as exhaustive as possible including direct concepts as well as knowledge that relate the concepts. Hence if well done they are perfect material for study. These summaries are submitted electronically just before the next theory session and students who attend the session are encourage (get extra credit) to bring/submit them printed to use it as material for the review discussion.
  2. Lab Sessions (P - Pràctiques): These sessions are done in the networking lab to use the required equipment depending on each session. These sessions are done in half-group and hence there are two lab groups: P11 i P12. Lab assignments are worked in teams of 3 students. The lab assignment is posted one week before the lab session and discussed in the previous lab session. Hence students are required to read and prepare the lab work before the session. The practical work is done during the session in the lab and the report is submitted electronically one week after (in “aula global”). The assignments are much guided requiring responding process step-by-step. But global understanding is also expected and the report also requires more general and open questions to provide conclusions and understanding. Progressively the assignments are less guided to reach the end with the project that is just a scenario to be developed. More detail on the project is given later in this section.
  3.  Seminar Sessions (S): These are working and study sessions with the objective to consolidate the concepts and procedures to acquire using the theory summary reports done by the students or just addressing student questions and doubts. These reports can be submitted later just for the seminars but then these account only 25% of the full grade.

Project definition: The project defines the framework for all lab assignments and hence it is proposed early in the quarter although it is worked out along the different lab assignments. The project evaluation is done through the lab reports within the sections dedicated to the project, and it accounts for 15% of the grade in each lab report.

Since the course topics are very common in our every day life, if there is anyone interested in exploring additional activities related to the course concepts, you can propose and they will be rewarded with extra grade (once the course is passed with the regular requirement). It is required to notify the interest to do an additional activity within the established period to have time to study and prepare it (see aula global for exact date).

 

Resources

Basic Bibliography

[1]    Kurose, J. F., Ross, K. W, “Computer Networks, A Top-Down Approach Featuring the Internet”, Pearson Addison Wesley. 2010 

[2]    Douglas Comer, "Internetworking with TCP/IP Volume I: principles, protocols and architecture", 5th Edition, 2006, Ed. Prentice Hall. 

[3]    W. Stallings, Cryptography and Network Security: Principles and Practice, 5th Edition, 2010, Ed. Prentice Hall. 

Complementary Bibliography

[4]    Andrew Tanenbaum, “Computer Networks”, 4th Edition, 2003 Pearson Education Inc.