Academic year 2013-14

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, Kamruddin Nur

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

Know how to identify the level of quality of server an application needs to operate well and understand and know how to apply the appropriate QoS functionalities

C8

Ability to manipulate concepts and functionalities in real applications  over physical equipment and corresponding software

C9

Ability to understand user, installation and configuration manuals of software and hardware equipment

C10

Understand the role and know how to perform the responsibilities of a a computer system engineer responsible of the internet application and services of a company

 

Generic Competencies

Instrumentals

C11

Reasoning and abstraction abilities

C12

Abilities to tackle problems/projects of reasonable complexity and size independently

Interpersonal

C13

Ability to work in teams

Systematic

C14

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 provides the exact detail of the grading of the course: 

Evaluation

 

 

Theory

50%

 

1er Block Exam (“Parcial”) (1)

40%

 

2n Block Exam (1)

50%

 

Theory summaries submitted electronically  (2)

10%

 

Lab

50%

 

Lab 1-6 (1)

10%

 

Final Project (1)

20%

 

Lab performance (individual and for each lab)  (1)

20%

 

Total

100%

 

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

Optional Activities (to improve grade if course is already passed >= 5) (3)

5%

20%

 

125%

 

 

 

Each lab assignment is evaluated separate as follows

 

 

Lab report (group) (1)

50%

 

Written lab exam (individual) (1)

50%

 

(1) To pass the course it is required to pass (grade >= 5) each individual part o lab assignment separately.

 

(2) Non-compulsory Submissions. It is required to submit at least 50% of submissions to get partial grade.

 

(3) You can 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.

 

 Theory is evaluated with two exams dividing the subjects in two blocks. It is required to pass each block individually to pass the course. The first block is evaluated in the middle of the quarter (“examen parcial”) and if not passed there is a second chance in June. The second block is evaluated in June and if not passed there is a second chance in July. Both blocks have a second chance to pass, and no more. There is no option to evaluate the first block in July as this would be a third chance for the same content. 

It is expected to study the theory along with the lectures in order to synchronize the learning process between lectures and lab sessions. With this goal, it is required to submit summary reports in the theory sessions. These reports are submitted electronically before the next session. These reports are used in the initial review done in the theory session on the previous session. Hence it is expected a very active student participation using the report as basis. In order to motivate this participation, there is an extra 5% for the hand submission of the reports of students attending the session. 

The evaluation of lab abilities is done by a written exam and an oral defense in the lab, both evaluated individually, in addition to the lab reports submitted in groups. 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. Therefore, each lab assignment has a grade composed of the grade of the report (group grade) and the individual grade of this question in the written exam. In addition, there will be a lab performance grade that will evaluate in the lab the knowledge of each individual lab assignment orally (demo day).

The lab assignments (included final project) are done in group. All written and oral exams of the course 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 group 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 will open a file (“expedient”).

Only written exams have a second chance to be evaluated. The rest of evaluation is continuing evaluation that cannot be repeated if failed. 

 

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

Thread, attacks

Trust in security

Security service

Digital certificates and signatures

 

Web

Email

File transfer

 

Procedures

Packet routing through path establishment or datagram

Public key and private Cryptography

Cipher and hash functions

Authentication

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 and the final project. The project report has to demonstrate the conceptual and practical knowledge of the role of an engineer as system administration of the internet services of a company and the applications it runs. We want to assure that ALL students acquire the practical competencies even working in groups.

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. 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 final project that is just a scenario to be developed. More detail on the final 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: As discussed above, the final project is similar to a lab assignment but a little longer, less guided and more open-ended. Th  e lab sessions of the final project are free-style where each group works the final project and the lab instructor is available to consult. These sessions are done also in the lab. The assignment of the project is presented at the beginning of the course as target for what abilities to acquire during the entire course and what to produce to consolidate them. The project assignment is the same for all teams but if any team wants to do something different they can propose it in the optional activities (before the established period to have time to study and prepare it) and it can be discussed with the lab instructor. The proposal will be accepted as long as it allows acquiring the competencies objective of the course. The lab instructor will inform the group if the proposal is accepted substituting the standard project or if there is any combination. If the resulting project, substituting the standard, is of very good quality the grade could be up to 120% of normal grade. If it is an additional project it can increase 20% the grade of the standard project. The project evaluation will be done with a written project report and a practical demo in the lab where all students of the team must show participation and fluency in the work presented. It is required to notify the interest to do a different project or additional project 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.