6

Click here to load reader

11645

  • Upload
    amir

  • View
    201

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 11645

Last update: 01/07/2009

11645 - APDA - Advanced Programming and Distributed Applications

Universitat Politècnica de Catalunya1 / 6

Understand the characteristics, challenges and main design concerns for large scale distributed systems.

Take informed decisions on the selection of the architecture, the application of design principles, and the utilization of algorithms and techniques for distributed systems in future projects.

Understand the principles of network programming and the mechanisms for the communication between components of adistributed system.

Coordinator: PABLO JESUS CHACIN MARTINEZ

Teaching unit:

Academic year:

Credits:

701 - AC - Department of Computer Architecture

2009

MASTER OF SCIENCE IN INFORMATION AND COMMUNICATION TECHNOLOGIES (Syllabus 2004). (Teaching unit Compulsory) TELECOMMUNICATION ENGINEERING (Syllabus 1992). (Teaching unit Optative) ELECTRONICS ENGINEERING, PLA 92 (Syllabus 1992). (Teaching unit Optative) MASTER OF SCIENCE IN INFORMATION AND COMMUNICATION TECHNOLOGIES (Syllabus 2006). (Teaching unit Compulsory) MASTER IN TELEMATICS ENGINEERING (Syllabus 2006). (Teaching unit Optative)

6 Teaching languages: English

Coordinating unit: 230 - ETSETB - Escola Tècnica Superior d'Enginyeria de Telecomunicació de Barcelona

Degree:

Lecturers

Learning objectives of the subject

Theory lectures Practice sessions and guided discussionsLab practices in groups

Teaching methodology

Page 2: 11645

Last update: 01/07/2009

11645 - APDA - Advanced Programming and Distributed Applications

Universitat Politècnica de Catalunya2 / 6

Content

1. Introduction

1.1 Basic concepts, characteristics and challenges

1.2 Architectures: tightly coupled, client/server, multi-tier, P2P

1.3 Comunication models: shared memory, stream oriented, remote procedure call,

1.4 Case studies

2. Network programming

2.1 TCP/IP Networking basics

2.2 Java network programming

2.3 Network protocol design

2.4 Data encoding

Page 3: 11645

Last update: 01/07/2009

11645 - APDA - Advanced Programming and Distributed Applications

Universitat Politècnica de Catalunya3 / 6

3. Network services and middleware

3.1 Network services: FTP, DNS, Mail, Time

3.2 Middleware: communication, transaction monitors, application servers, data

4. Web Applications

4.1 HTTP protocol

4.2 Static and dynamic web content

4.3 Server side application programming

5 Internet of Services

5.1 Service Oriented Architectures

5.2 Web Services Standards: XML, SOAP, WSDL

Page 4: 11645

Last update: 01/07/2009

11645 - APDA - Advanced Programming and Distributed Applications

Universitat Politècnica de Catalunya4 / 6

5.3 Alternatives to Web Services: XML-RPC, REST

6. Design of distributed Systems

6.1 Design concerns: scalability and foult tolerance

6.2 Replication and Distribution

6.3 Architecture topologies: Centralized, Ring, Decentralized, Hierarchical, Hybrid

7 Naming and location

7.1 Name resolution and location

7.2 DNS

7.3 Mobility

8 Basic algorithms

Page 5: 11645

Last update: 01/07/2009

11645 - APDA - Advanced Programming and Distributed Applications

Universitat Politècnica de Catalunya5 / 6

Continuous assessment 30 %Laboratory 30 %Final examination 40 %

Qualification system

8.1 Logical an physical clocks, causality

8.2 Global state

8.3 Reaching consensus and leader selection

8.4 Mutual exclusion and distributed transactions

9. Advanced Topics

9.1 Grid Computing

9.2 P2P systems

9.3 Content Delivery Networks

9.4 Sensor Networks

Page 6: 11645

Last update: 01/07/2009

11645 - APDA - Advanced Programming and Distributed Applications

Universitat Politècnica de Catalunya6 / 6

Regulations for carrying out activities

Prior skillsComputer Networks: Communication protocols, LANs/WANs

Computer Systems: Computer organization and architecture (CPU, memory, I/O), processes and threads

System Software: Linux operating systems and tools

Programming: Basic algorithms and data structures, Compile-Test-Debug cycle, Java programming language

BibliographyBasic:

Requirements

Others resources:

Tanenbaum, A.S.; Steen, M.van. Distributed systems: principles and paradigms. 2nd ed. Upper Saddle River, N. J.: Pearson Prentice Hall, 2007. ISBN 0132392275.

Reilly, D.; Reilly, M. Java network programming and distributed computing [on line]. Addison-Wesley, 2002 [Consultation: 27/07/2009]. Available on: <http://proquest.safaribooksonline.com/0201710374/pref01>. ISBN 0201710374.