Middleware 2003

ACM/IFIP/USENIX International Middleware Conference

Rio Othon Palace Hotel

Rio de Janeiro, Brazil

16-20 June 2003

Home ] Program ] Registration ] Organization ] Sponsors ] CFP ] Important Dates ] Submissions ] Travel ]


Keynote Speech
Work in Progress
Student Travel Grants
Student Volunteer Program



Website Mirror at the University of São Paulo

Tutorial 5: Advanced Publish/Subscribe Communication Services


Publish/subscribe communication is becoming the medium of choice for the design and development of loosely-coupled, component-based, distributed systems. Applications range from e-commerce  frameworks (e.g., BEA's WebLogic) to peer-to-peer information sharing systems (e.g., Gnutella) to military command and control (e.g., US Air Force's Joint Battlespace Infosphere). They underlie technologies supporting ad hoc communities of interest, event notification services, and sensor networks.

Publish/subscribe communication is characterized by the notion that senders and receivers are not required to have a priori knowledge of each other. The flow of information from senders to receivers is determined by the specific interests of the receiver rather than by an explicit destination address assigned by the sender. With this communication pattern, receivers subscribe to information that is of interest to them without regard to any specific source, while senders simply publish information without addressing it to any specific destination. A publish/subscribe communication service is responsible for interpreting subscriptions and delivering the relevant publications to subscribers.

This tutorial introduces the basic concepts of publish/subscribe communication, discusses issues in the design and implementation of publish/subscribe services, and presents a survey of commercial and research systems available today. Topics will include the following:

  • Terminology and history
  • Common characteristics of publish/subscribe applications
  • Types of publish/subscribe service (subject-based, channel-based, and content-based)
  • Scales of service (single machine, LAN, WAN)
  • Data models and subscription languages
  • Standards (CORBA NS, JMS, etc.)
  • Commercial and research publish/subscribe services (TIBCO, Talarian, Vitria, Active, Gryphon, Siena, etc.)
  • Advanced features and issues (security, pattern languages, communication paradigms, etc.)

Target audience

This tutorial is of interest to students, researchers, and practitioners wanting a general review of publish/subscribe communication services. Previous experience with the design and implementation of distributed client/server applications, peer-to-peer systems, and communication networks is helpful but not necessary.

Speaker profiles

Antonio Carzaniga is an Assistant Research Professor in the Department of Computer Science of the University of Colorado at Boulder. He received the Laurea degree in electrical engineering and the Ph.D. degree in computer science from the Department of Electronics and Information at the Politecnico di Milano, Italy. Prior to receiving his Ph.D. degree, he was a researcher at the CEFRIEL telecommunications consortium in Milano. Carzaniga's research interests include distributed systems, networking, security, middleware, and programming languages.

Alexander L. Wolf is a Professor of Computer Science in the Department of Computer Science of the University of Colorado at Boulder. He received the M.S. and Ph.D. degrees in computer science from the University of Massachusetts, Amherst. Prior to joining the faculty of the University of Colorado, he was a Member of the Technical Staff at AT&T Bell Laboratories in Murray Hill, New Jersey, where he was involved in research supporting the development of large-scale distributed systems. Wolf is serving as Chair of the ACM Special Interest Group on Software Engineering, is on the editorial boards of the ACM Transactions on Software Engineering and Methodology and the Software Process Journal, has been a program chair of several international conferences, and has published extensively in a variety of areas of software systems.

Latest update: 13 June 2003 - Questions and Comments about the Site: fmc@inf.ufg.br