All Lecture Series

School@chep06

Lecture Series 1

Fundamentals of Grid Technologies

Saturday 11 February 2005

09:00 12:25

Rüdiger Berlich

FZK

Fundamentals of Grid Technologies

Overview

Grid is at the onset of mainstream adoption in science and industry. Having originated from the need to process huge amounts of data in distributed compute centres, with the need to provide seamless and transparent access to thousands of people in different geographical locations, the meaning of the term "Grid computing" is changing. This series describes the roots and discusses different meanings of "The Grid", introduces technical components, standards and international Grid initiatives and takes a look at various Grid applications and use cases. A life demonstration of Grid techniques, based around the middleware gLite of the EGEE initiative, will be shown provided network connectivity is available.

Outline

Definition of Grid computing and middleware components

·          Definitions of Grid Computing: 

·          Key Question: "What is it ?"

·          Particular emphasis on Grids of the "Wide Area" type

 

·          Grid Components found in middleware of the "Wide area" type

·          Key Question: "What are the building blocks ?"

·          UI, CE, WN, local batch submission systems, RB  SE, …

Standards and Technologies

·          Key Question: "Which implementations exist?

·          The Globus Toolkit, with special emphasis on security

 

·          Grid Middlewares

-          Globus 2+4

-          LCG-2 + gLite

-          Unicore

-          AliEn

Applications and Grid Organization

·          Key Question: "What can you do with it ?"

·          Domain of applications

·          Illustration with existing scientific infrastructures (EGEE, others)

School@chep06

Lecture Series 2

Computer Security 1:  Introduction to cryptography

 

A few questions

  • Do you know what is a digital certificate and how certificate-based authentication works ?

  • Do you know how Kerberos-based authentication works and why time synchronization services are important in a Kerberos-based infrastructure?

All the answers at School@chep06

Saturday 11 February 2005

13:30 16:55

Alberto Pace

CERN

Computer Security 1:  Introduction to cryptography

Overview

The series of lectures addresses the fundamental principles of Cryptography and Public Key Infrastructure and its alternative Kerberos, which from the basis of modern security mechanisms for confidentially, data protection and integrity, authentication of people and systems, The   lectures will present asymmetric encryption, and  will describe its various fields of application. It will then discuss the need for an infrastructure to distribute keys, and the possible architectural models to construct such infrastructure. It will describe compare contract the PKI solution and compare and contrast it to the Kerberos approach.

Outline

An Introduction to Cryptography

Computer security relies on a number of complementary technologies.  Cryptography is one of them. Unlike what is sometimes believed, cryptography's role is not only to ensure the confidentiality of exchanges. It also serves to protect the integrity of transmitted information, and more importantly in Grid environments to authenticate individuals and systems. The lecture describes the fundamentals of asymmetric encryption, and explain how it is implemented in the real world.

An Introduction to PKI

Cryptography is not sufficient to ensure that secret information is safely shared. In particular, distributing cryptographic keys requires an infrastructure of logically connected systems. This is called Pubic Key Infrastructure and is the subject of this lecture.

An Introduction to Kerberos

Kerberos is an alternative to PKI fro authentication. This third lecture explains the respective positioning and the differences. It also explains how the two technologies can be integrated. This is illustrated by practical examples drawn from web and mail services.

School@chep06

Lecture Series 3

Fundamentals of Networking QoS

 

A few questions

  • Have you ever heard of Difserv or NIS?

  • Do you know what MPLS is and how it can help guaranteeing service quality?

  • Do you know how network congestion can be avoided in the Internet?

  • Do you know how TCP is designed to limit congestions and how it should be tuned for better performance?

  • Do you know what Random Early Detection or Explicit Congestion Notification means?

  • Do you know which specific protocols are required to support Audio and Video over the Internet, and why?

All the answers at School@chep06

Sunday 12 February 2005

09:00 12:25

François Flückiger

CERN

Fundamentals of Networking QoS

Overview

Improving Quality of Service guarantees and performances in data network is a key requirement of Grid computing. Indeed, fast transfers require high-bit rate connections, and grid operation requires network predictability and high availability. On the other hand, the Internet historical technology is not naturally best suited to deterministic behaviour. In this part, we will explain the technical challenges and the range of options available to improve QoS guarantees in Internet-based networks.

Not only the underlying network has to be highly performing, but the network software running within the end-systems must have an optimal behaviour. This part recalls the basics of TCP and discusses the relationships between TCP and the risks of congestions over Internet-based connections.

The Grid is not only a network of computer resources but also a network of people cooperating to use these resources. Part of the collaborative tools scientists are increasingly using include audio and video systems. They place new challenging requirements on the networking systems. We will discuss in this part these requirements and their consequences on the underlying network.

Outline

Internet QoS options

·          Why is QoS networking important in Grid environments?

·          Options to improve Internet QoS: reservations by signalling vs. aggregate-marking techniques

·          The NSIS and Diffserv protocols: status, prospects; are they complementary of competing technologies?

·          The role of MPLS in QoS issues

·          Are these technologies really necessary?

TCP and congestion control

·          Fundamentals of TCP mechanisms for flow and congestion control

·          The challenges of long distance / high bit rate Grid networking

·          Congestion notification principles in the Internet

·          Congestion avoidance and management: RED, ECN

·          Overall comparison of QoS and congestion management techniques

Supporting real-time steaming traffic over the Internet

·          Qualitative Requirements of real-time applications

·          Why is TCP inappropriate? The need of RTP, its functionalities

·          Quantitative requirements of audio and video streaming

·          Limiting the overheads; header compression

·          Conclusion: Which QoS technologies are suitable for real-time applications?

School@chep06

Lecture Series 4

Computer Security 2: From Theory to Implementation

 

A few questions

  • What are the top 10 attacks ever performed?

  • What are the common security pitfalls when developing software? How to avoid them?

  • How to balance between security and productivity?

  • Cryptography: where can it help, where must it  complemented by other mechanisms?

  • What are social engineering threats?

All the answers at School@chep06

   

Sunday 12 February 2005

09:00 12:25

Sebastian Lopienski

CERN

Computer Security 2: From Theory to Implementation

Overview

Computer security has been an increasing concern for IT professionals for a number of years, yet despite all the efforts, computer systems and networks remain highly vulnerable to attacks of different kinds. Design flaws and security bugs in the underlying software are among the main reasons for this situation. This series of lecture aims at explaining what computer security is, and how secure systems should be designed and developed.

The series will start with a definition of computer security and introduction of concepts like threat modeling and risk assessment, as well as protection, detection and reaction strategies. It then presents real-life examples of vulnerabilities and attacks, and describe the role of cryptography: where it can help, and where this needs to be complemented by other mechanisms. One of the focuses of the series is security of software applications. This part targets software developers, drawing their attention to the main pitfalls and providing guidelines for best practices.

Outline

Introduction to Computer Security

First lecture starts with a definition of computer security and an explanation of why it is so difficult to achieve. The lecture highlights the importance of proper threat modelling and risk assessment. It then presents three complementary methods of mitigating threats: protection, detection, reaction; and tries to prove that security thru obscurity is not a good choice.

Real-life threats, vulnerabilities, exploits and attacks

Second lecture discusses different vectors of attacks and motives behind them, various types of attackers and ways they exploit vulnerabilities. It includes studies of real-life cases and scenarios. The conclusion drawn here is that while many problems can be solved with cryptography, some lie outside the scope of cryptographic solutions. Several miscellaneous issues like social engineering threats are also covered in this part.

Security in different phases of software development

Last lecture addresses the following question: how to create secure software? It introduces the main security principles (like least-privilege, or defense-in-depth) and discusses security in different phases of the software development cycle. The emphasis is put on the implementation part: most common pitfalls and security bugs are listed, followed by advice on best practice for security development.

School@chep06

Lecture Series 5

Pragmatic Software Engineering

 

A few questions

  • Have you ever heard of Pragmatic Software Engineering?

  • Do you know how you can benefit from using enterprise design patterns in your applications?

  • Are you fully satisfied with the tools and methods to manage your software projects?

  • Do you think you know enough on easily monitoring the code quality and robustness of your applications ?

All the answers at School@chep06

Sunday 12 February 2005

13:30 16:55

Brice Copy

CERN

Pragmatic Software EngineeringH

Overview

What is Pragmatic Software Engineering? The adjective “pragmatic” here is not a qualifier chosen by chance for the title, but a emerging term used in the software profession.

The approach of Pragmatic Software Engineering aims at extracting the best of existing practices (ranging from project management to software patterns), and then to integrate them in a simple and practical manner.

After an introduction to the principle of Pragmatic Software Engineering, the lecture Series will cover Software Project Management, explaining the idea of “agile” projects, and reviewing tools such as Change Management and Defect Tracking. The lecture will then move on to Software Quality, something that everyone wants, but which is difficult to achieve in practice -this will include Functional Testing for Web applications, and Continuous Integration Testing. The lecture will finally address Enterprise Software Architectures, an area that academic circles are sometimes hesitant to use in practice, often because of its perceived complexity and steep learning curve. The lecture will try and demystify it and will show how to apply in a simplified way these theoretical principles to concrete cases.

Outline

Introduction to Pragmatic Software Engineering

·          How to manage software

·          How to enforce quality

·          How to benefits from software patterns in your architecture

… All of this with readily available tools (open source or commercial)

Lecture Series Overview

·          Pragmatic Software Projects

·          Pragmatic Software Quality

·          Pragmatic Enterprise Patterns

Pragmatic Software Projects

Recently  coined “agile” projects

·          Iterative development

·          “Extreme Programming”

·          Project Management Tools:

o         SCM (Change Management)

o         DDR (Defect Detection and Recovery)

o         Build Tools

Pragmatic Software Quality

·          How to measure code quality today

·          Focus on Testing and Building tools

o         Unit Testing

o         Functional Testing for web based applications

o         Testing Coverage

o         Continuous Integration

o         Soft approaches:

§          Peer reviews

§          Code reviews

Pragmatic Enterprise Patterns

·          Software Patterns Introduction

·          Enterprise Environment (EE) Software Introduction

·          EE Patterns Introduction

o         Directory Naming

o         Object Pooling

o         Object Caching

o         Object Relational Mapping

o         Web MVC

·          Pragmatic EE Patterns with the Spring Framework

·          Competitors

 

School@chep06

Lecture Series 6

Working with databases and database-centric interfaces H

 

A few questions

  • What is database performance tuning is,  how to tame it?

  • Do you know how to read an execution plan?

  • Do you know how to create a materialized view or a function-based index?

  •  How can I work with XML and a relational database management system?

  • How can I store XML in my database, or generate XML from it?

  • How to add some auditing and logging to my database and improve the error handling?

  • What is HTMLDB and how can I develop my applications with it?

All the answers at School@chep06

 

Sunday 12 February 2005

13:30 16:55

Zornitsa Zaharieva

CERN

Working with databases and database-centric interfaces H

Overview

Database systems form the primary means for storing data and representing information, therefore a thorough understanding of the capabilities of database systems is crucial for the professional development of any software system.

The lectures will focus on several important aspects concerning the use of databases. In order to gain the best performance from a database system, it is important to understand the optimisation concepts (such as indexes, materialized views, partitioning, database optimizers) as well as the relevant best practices. The lecture series will also address logging and auditing of databases as well as usage of XML with databases.

Another issue that data management faces is the design and development of database-centric interfaces.

The class will compare and contrast several technologies, some of them being used for rapid application development (Java – ADF Framework, HTMLDB, PL/SQL web-cartridge, Oracle Forms). A brief practical example will be shown of using HTMLDB to develop a simple interface

Outline

  • Features to improve the performance of your database (indexes, materialized views, partitioning, hints, optimizers, etc.)
  • Using XML with your database
  • Implementing a database logging and auditing - practical examples
  • Best Practices in database design and development
  • Building database-centric interfaces
    • overview of different technologies (Java, HTMLDB, PL/SQL web-cartridge, Oracle Forms)
    • practical example of building an interface with HTMLDB