Trends in Middleware Systems - Selected Topics and Concepts - Spring 2004
ECE1770 - Graduate Course

With a few words

Instructor: Prof. Hans-Arno Jacobsen
[ Contact Information ]
Office hours: Catch me right after class, or by appointment.
Room: Bahen Bldg. BA 3014, 40 St. George Street
Time: Tuesday 2 PM - 4 PM
Textbook: Research papers et al.
Previous years: 2003, 2002, 2001.

Announcements and News



A "middleware system" (a.k.a. computing infrastructure) constitutes a set of services that aim at facilitating the development of distributed applications in heterogeneous environments. The primary objectives of middleware are to foster application portability, distributed application component interoperability, and facilitate software component integration. At least conceptually, the "middleware layer" comprises a layer below the application and above the operating system and network substrate. Common middleware platforms include CORBA, DCOM, Java RMI, J2EE, MQSeries, MSMQ, and Web Services.

Other than in previous years (see 2003, 2002, and 2001.), this course will focus entirely on current research trends in the broad scope of middleware systems.

These trends are manifest in algorithms, protocols, and systems found in application domains such as selective information dissemination, sensor networks, and peer-to-peer computing. It is the objective of this course to discuss research papers about these matters.

This course targets research-oriented graduate students who would like to learn more about middleware systems research.

Brief Topic and Lecture Outline

The following constitutes a tentative outline of the course.

  1. Publish/Subscribe matching algorithm
  2. Processing of XML data over Xpath expressions
  3. Processing of XML data over XQuery queries
  4. Regular expression processing
  5. Composite event processing
  6. Content-based routing in distributed broker networks
  7. Directed diffusion in sensor networks
  8. Stream data processing
  9. Distributed Hash-Tables (DHT) a la Chord
  10. Content Addressable Networks
  11. Topic-based publish/subscribe over DHTs
  12. TBA

Course Objectives

This course constitutes a discussion-based, research-oriented graduate course about middleware system research. The objective is to learn about algorithms, protocols, and systems in various areas of application of middleware and to learn about the different research methodologies.

Reading Material

[1st reading] Frannçoise Fabret, Arno Jacobsen, François Llirbat, João Pereira, Ken Ross, Dennis Shasha. Filtering Algorithms and Implementation for Very Fast Publish/Subscribe Systems. SIGMOD 2001. ( Original version from conference proceedings.)

[2nd reading] Chee-Yong Chan, Pascal Felber, Minos Garofalakis, Rajeev Rastogi Efficient Filtering of XML Documents with XPath Expressions ICDE 2001.

[3rd reading] Yanlei Diao, and Michael J. Franklin. Query Processing for High-Volume XML Message Brokering. VLDB 2003.

Chee-Yong Chan, Minos Garofalakis, Rajeev Rastogi RE-Tree: An Efficient Index Structure for Regular Expressions VLDB 2002.

[4th reading] Peter R. Pietzuch, Brian Shand, Jean Bacon A Framework for Event Composition in Distributed Systems Proc. of the 4th Int. Conf. on Middleware (MW'03)

A. Carzaniga and A.L. Wolf. Forwarding in a Content-Based Network. Proceedings of ACM SIGCOMM 2003. p. 163-174. Karlsruhe, Germany. August, 2003. Forwarding in a Content-Based Network

A. Carzaniga, M.J. Rutherford, and A.L. Wolf. A Routing Scheme for Content-Based Networking. Proceedings of IEEE INFOCOM 2004. Hong Kong, China. March, 2004. To appear.

Chalermek Intanagonwiwat, Ramesh Govindan, Deborah Estrin Directed Diffusion: A Scalable and Robust Communication Paradigm for Sensor Networks MobiCom 2000.

S. Chandrasekaran and M. J. Franklin. Streaming Queries over Streaming Data. VLDB, 2002.

Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications ACM SIGCOMM 2001, San Deigo, CA, August 2001.

Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker. A Scalable Content-Addressable Network. Proceedings of ACM SIGCOMM 2001.

Miguel Castro, Peter Druschel, Anne-Marie Kermarrec and Antony Rowstron SCRIBE: A large-scale and decentralized application-level multicast infrastructure IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 20, NO. 8, OCTOBER 2002 100

Class Project

This course is project-based, i.e., you have to propose and carry out a project that investigates an issue within the scope of middleware systems. A list of suggested topics will be discussed in class.

The guidelines for research projects are as follows:

For your final project write-up you must use the proposed format (cf. ACM proceedings format.) Do not write more than 8 pages in the given format. Note, you may write less, if you are able to express your project results in fewer pages.

Your project report must be of "publishable quality". This means, the presentation should not include typos, not contain too many grammatical errors, etc. It DOES NOT mean that your paper must be ready for publication in a major conference. (Even though this would be a desirable future result, but is not necessary in order to achieve a good result in the course !)

Project marking scheme

Final project timeline etc.: Progress Report:
- submit a progress report by e-mail in ASCII (plain e-mail) anytime before

- it should contain:
  - brief and concise description of the problem you are working on
  - describe your approach
  - summary of accomplishments so far
  - next steps 
  - problems encountered and how you anticipate to solve them
Project Proposals:
- are due TBA
- just send me a plain e-mail with a description
- the proposal should include the following points:

    - problem statement: identify the problem
    - relevance: state why this is an important problem
    - related approaches: briefly review what others have done to solve this  problem
    - approach: say what you intend to do to solve the problem
    - describe anticipated difficulties


Project idea suggestions

A list of suggested project topics will be distributed in class a few weeks after the beginning of the semester.


The course mark is broken down as follows:

One Pager

A "one pager" is a one page summary of the research paper assigned reading for the lecture. It should NOT be longer then one page of printed paper. The one pager is to be handed-in in class. It must be typed.

The one pager should address the following points:

There are four marks for a one pager:

  1. 0 - nothing was handed in
  2. 1 - one pager is not detailed enough
  3. 2 - one pager is good, all aspects covered
  4. 3 - one pager is exceptional, as it outlines further interesting points that go beyond the discussion in the paper

Research Paper Presentation

A group of students will be assigned to present a research paper for each lecture. The group is responsible for this presentation. The presentation should be no longer then 20 minutes and will take place at the beginning of the lecture. However, groups may decide on a different modus, if wanted. Groups may use additional literature to enrich the presentation and compare the solution in the assigned paper to other solutions. Groups are responsible for leading the follow-on discussion about the assigned paper. Groups may assume that all students have read the assigned paper but no assumption should be made about any other sources used by the group.

Each student in the group will be judged on how she or he presents the paper (i.e., all group members should participate in the presentation to some degree) and on how well each member leads the discussion and participates in the discussion.

There are four marks for this:

  1. 0 - no activity
  2. 1 - has done an okay job
  3. 2 - has done a good job
  4. 3 - has gone beyond the order of duty

Each member has to prepare a one pager.