Seminar: Issues in distributed and mobile data and software
Fall 2002
Messages
|
|
|
|
|---|---|---|
| 17/12/2002 |
Last session with muffins | The last session of our seminar is Wednesday, December 18th, featuring: the wrap-up from last time (9-10, questions and answers re lecture 14); a discussion of how state-of-the-art software platforms address some of the issues we have covered in the seminar and how they support the construction of open distributed and mobile applications (10-11); a (written) evaluation cum (oral) discussion of the seminar (11-12); and, throughout it all, Henning's famous muffins and coffee ad libitum (tea anyone?), which should make it hard to stay away... FH. |
| 12/12/2002 |
Questions (lecture 14) | The questions for lecture 14 are now available here. FH/HN. |
| 5/12/2002 |
Questions (lecture 13) | The questions for lecture 13 are now available here. FH. |
| 28/11/2002 |
Questions (lecture 12) | The questions for lecture 12 are now available here. FH. |
| 22/11/2002 |
Questions (lecture 11) | The questions for lecture 11 are now available here. HN/FH. |
| 15/11/2002 |
Questions (lecture 10) | The questions for lecture 10 are now available here. HN. |
| 6/11/2002 |
Slides and questions | The slides and questions for lecture 8, and the questions for lecture 7, are now available. HN. |
| 21/10/2002 |
Answers to questions | Please feel free to submit answers to questions for previous lectures, even if they have already been discussed in class. I will try to give back comments as soon as possible. HN. |
| 21/10/2002 |
Hughes paper | The paper by Hughes is, as mentioned on the bibliography page, not available online. However, a hard copy is available from the DIKU Library (LNCS 201, pages 256-272) or from my office. HN. |
| 13/10/2002 |
Questions (lecture 6) | The questions for lecture 6 are now available here. HN. |
| 4/10/2002 |
Questions (lecture 5) | The questions for lecture 5 are now available here. Please note that there are two additional questions by Fritz. HN. |
| 1/10/2002 |
Questions (lecture 4) | Please remember that the questions for lecture 4 are on the last page of part II
of Mads' and Niels' slides (see lecture plan below). FH Update (HN): they can now also be found here and in the exercises section. |
| 24/9/2002 |
Mailing list and newsgroup | There is established a mailing list, plan10 (at diku.dk), for all participants in our seminar. If you haven't received a message about having being added to it, you should do so yourself: Behind DIKU's firewall, go to http://hugin.diku.dk/mailman/listinfo/plan10. Outside DIKU's firewall, send a message to plan10-request (at diku.dk), with the subject "Subscribe", without quotes (or "Help" to receive more detailed instructions). The mailing list is gatewayed with newsgroup diku.plan10 (news server news.diku.dk:119, only accessible inside DIKU's firewall), which means everything mailed to the mailing list shows up on the newsgroup, and everything posted to the newsgroup is sent to the mailing list. You can thus elect to use email or a news reader --- or both. (If you want to use the newsgroup alone, you have to unsubscribe to the mailing list -- or not subscribe to it in the first place. See instructions in your welcome message for how to unsubscribe.) FH |
| 18/9/2002 |
Questions (lecture 3) |
Questions for lecture 3
by Christoffer, with some supplementary questions by Henning and myself are
posted. Note: They include a programming exercise where you are asked
to implement (simplified) versions of (simulations of) the original Unix
file systems and a log-structured file system. You may do these by
yourself, but you are strongly encouraged to work on these programming exercises
in groups of 2-4 persons. We expect to build on top of this programming
exercise next week in connection with distributed file systems. Important:
Deadline for answers to the questions, excluding the programming exercise,
is Tuesday, September 24th, 10:00. Deadline for the programming exercise
is Monday, September 30th, 15:00. For both, send your answers to Henning. Satisfactory answers to
(a), (b), (c) of the programming exercise constitute a satisfactory answer to the
programming exercise part of the questions.
Satisfactory implementation of (d) on top of that constitutes a good answer,
and (e) is strictly voluntary.
FH |
| 18/9/2002 |
URL |
You can now access the course home through http://www.plan-x.org. FH |
| 16/9/2002 |
Voluntary exercises |
I have posted a rather lengthy list of voluntary questions on lecture no. 1, which we'll
discuss Wednesday, Sep. 18, 9:15-10:00. Please take a look at them and think
about them in preparation for that. |
| 14/9/2002 | No exercises | Unfortunately, there will be no exercises related to the XML Store presentation (Sep 11). Please read the thesis anyway. The slides for the presentation are available below (by clicking on the presentation title). HN |
| 5/9/2002 | Lecture plan updated | I updated the lecture plan and the list of students. Please check that I assigned you a correct slot (i.e,. one that you wished for) and e-mail me if something went wrong. HN |
Description
- Title:
- Seminar on Issues in Distributed and Mobile Data and Software
- Teachers:
- Fritz Henglein and Henning Niss
- Course ID:
- 224
- Time and place:
- Lectures and exercises: Wednesdays, 9:15-12:00, DIKU, room N037
- Format:
- Weekly 3 hour sessions, starting with 1-hour wrap-up (exercises) from
previous session (first session: course organization), followed by 2-hour
presentation on select topic, based on 1 main article, plus a number of supplementary
articles. Presentations include preparation of exercises (paper and/or programming)
for the participants.
First session: Wednesday, September 4th, 9:15-12:00, room TBA.
- Credits:
- 7.5 ECTS points (1/4 full-time semester credit), either pass/fail or grade on 13-scale; possibility of continuation projects (7.5 or 15 ECTS points per person, or for Master's theses) in the Spring 2003 semester. Pass/fail is based on at least one paper presentation, plus active participation throughout the seminar, including select solutions of paper and programming exercises. 13-scale grade is based on an oral exam in January 2003 (exact date/time TBA), with an external evaluator (censor). To qualify for participation in the oral exam, active participation during the seminar is required.
- Goals:
- In this seminar we study fundamental computer science (domain independent)
issues in the design and implementation of mobile and distributed software
systems, with an emphasis on data management and programming.
This seminar is intended to:
- present you with fundamental problems that present and future distributed and mobile systems face;
- explore known techniques for addressing those problems;
- provide a survey of state-of-the-art systems embodying those techniques, including select distributed file systems and peer-to-peer based systems; and
- shed fundamental insights into the interplay between programming models and distributed and mobile systems techniques.
- Topics:
- Below is a list of topics for the seminar. Note
that this is not a course schedule nor a schedule of presentations.
- Fundamental issues for distributed and mobile systems:
- Programming models for distributed and mobile applications
- Caching, coalescing, memoization
- Synchronous and asynchronous remote access (incl. time-outs)
- Concurrency control (incl. control and limitation of updates)
- Replication (for availability, fault tolerance, efficiency; incl. back-up)
- Synchronization and merging of data (after multiple independent updates)
- Garbage collection (distributed)
- Naming, addressing and routing (incl. name services)
- Security (incl. authentication, privacy, resource control)
- software and data versioning
- Systems/software architecture:
- Distributed file systems and peer-to-peer networking; e.g., FastTrack (Kazaa), Gnutella, Napster, OceanStore/Tapestry, CFS etc.
- Mobile software:
- programming language technology for mobile code (type systems, proof-carrying code, static resource analysis)
- cryptographic techniques for authenticity and privacy
- programming languages: Transcript, Obliq, Actors, Java applets etc.
- Desiderata for a software platform:
Given the fundamental issues, present techniques and experience with current systems, we take a stab (and no more) at discussing the following issues:
- Which services (incl. interfaces) should a "software platform" ideally provide to support programming applications that "work" in a distributed and mobile setting such that the programming can focus on the application logic instead of being encumbered with solving the "generic" problems of dealing with distribution and mobility (migration) of data and software?
- What is a good software architecture for such a software platform, both in terms of its component structure and configurability, and in terms of supporting "good" software design patterns for distributed and/or mobile systems?
- How do existing software platforms such as J2EE (Java 2 Enterprise Edition), .NET (Microsoft's distributed webservices platform), Jini (Java-based platfrom aimed at ad-hoc networking of devices), CORBA (Common Object Request Broker Architecture) address and solve the fundamental issues?
NB: This part may be moved to the start of the follow-up project cluster in Spring 2003.
- Fundamental issues for distributed and mobile systems:
- Course material:
- Will be posted on the course home page.
- Prerequisites:
- Mandatory prerequisites: Bachelor's degree in computer science; or
corresponding introductions to:
- programming and programming languages,
- algorithms and data structures,
- operating systems and networks,
- concurrency.
- Introduction to distributed systems; e.g. at DIKU (Intro. to parallel programming and distributed systems), at DTU (Distribuerede systemer, course 02222), IT-C (Distribuerede systemer; course DS or DSY), or at RUC (Distribuerede systemer);
- Introduction to programming language semantics; e.g. at DIKU (DAT2V Programming Languages and/or Introduction to semantics).
- Web page (URL):
- http://www.plan-x.org/
- Additional remarks:
- The course is held in English, unless all the participants are fluent in Danish and agree on switching to Danish.
People
Teachers
| Name | Initials | Office | Telephone | |
|---|---|---|---|---|
| Fritz Henglein | FH | N203 | 35 32 14 63 | henglein@diku.dk |
| Henning Niss | HN | N110 | 35 32 14 06 | hniss@diku.dk |
Students
| Name | Initials | |
|---|---|---|
| Arne Glenstrup | AG | panic |
| Casper Gjerris | CG | |
| Christian Ulrik Søttrup | CUS | chrulle |
| Christoffer H. Fredriksen | CHF | |
| Claus Jensen | CJ | surf |
| Daniel Brixen | DB | daniel |
| David Nykjær Jørgensen | DNJ | davidn |
| Dina Friis | DF | dina |
| Henrik Skovby | HS | skovby |
| Jacob Jensen | JJ | jacobjj |
| Jakob Gregor Pedersen | JGP | bbrother |
| Lars Georg Techau Jøregensen | LGTJ | larsj |
| Mads Pultz Hansen | MPH | mpultz |
| Mikkel Fischer Christensen | MFC | halte |
| Niels Ebsen Boldt | NEB | boldt |
| Thomas Ambus | TA |
Lectures
The following is the plan of presentations for the semester. Click on a subject title to go the corresponding bibliography section.
Exercises
Exercises associated with a particular presentation will be posted shortly after the presentation. (Whoever is giving the presentation must send the exercises in plain text or HTML format to Henning Niss for subsequent posting here. Please do this before you hold your presentation or immediately after.)|
|
|
|---|---|
| 1 (Sep 4) | No exercises |
| 2 (Sep 11) | Question set no. 2 |
| 3 (Sep. 18) |
Question set no. 3 |
| 4 (Sep. 25) |
Question set no. 4 |
| 5 (Oct. 2) |
Question set no. 5 |
| 6 (Oct. 9) |
Question set no. 6 |
| 7 (Oct. 23) |
Question set no. 7 |
| 8 (Oct. 30) |
Question set no. 8 |
| 9 (Nov. 6) |
Question set no. 9 |
| 10 (Nov. 13) |
Question set no. 10 |
| 11 (Nov. 20) |
Question set no. 11 |
| 12 (Nov. 27) |
Question set no. 12 |
| 13 (Dec. 4) |
Question set no. 13 |
| 14 (Dec. 11) |
Question set no. 14 |
An oral exam
An oral exam will be held in January 2003 for those participants who would like to obtain a grade on the Danish "13-scale". The exam will be conducted by the course teachers and an external evaluator (censor).| Date | Time | Place | Student | Pensum (Reading list) |
|---|
Literature
All literature have been moved to a separate page to allow me to make a more comprehensive bibliography while not cluttering the main page. Let me know if there are any difficulties with the new setup. HN.
Resources
The Java Software Development Kit (Java SDK, J2SE 1.4) installed on the DIKU pc's may be used for programming exercises and experiments. Other programming platforms and languages may be used at your liberty, e.g., O'Caml. Indeed you are encouraged to try different implementation platforms so that we can obtain practical experiences in class from the use of a variety of programming languages, development environments and library packages.Odds'n'ends
Odds and ends, snippets of interesting information that relate to the topics covered in the class in one way or the other will be posted here. (Send a one sentence description and a link to Henning Niss for posting.)Last updated: Dec 9, 2002 (
hniss)