Project Skip to main content
IBM Research Homepage 
 Research Home  >> Distributed Messaging

About Distributed Messaging

Research Areas:


   Web Messaging



Related Areas:
   Distributed Computing

   Services Computing

The Gryphon Project Gryphon Image

The Gryphon project focuses on the design and development of highly scalable, available and secure publish/subscribe systems. A publish/subscribe system contains information producers, which publish events to the system, and information consumers, which subscribe to particular categories of events within the system. The system ensures the timely delivery of published events to all interested subscribers. In addition to supporting many-to-many communication, the primary requirement met by publish/subscribe systems is that producers and consumers of messages are anonymous to each other, so that the number of publishers and subscribers may dynamically change, and individual publishers and subscribers may evolve without disrupting the entire system.

The earliest publish/subscribe systems were subject-based. In these systems, each message belongs to one of a fixed set of subjects (also known as groups, channels, or topics). Publishers are required to label each message with a subject; consumers subscribe to all the messages within a particular subject. For example a subject-based publish/subscribe system for stock trading may define a group for each stock issue; publishers may post information to the appropriate group, and subscribers may subscribe to information regarding any issue.

An alternative to subject-based systems is content-based messaging systems. A significant restriction with subject-based publish/subscribe is that the selectivity of subscriptions is limited to the predefined subjects. Content-based systems support a number of information spaces, where subscribers may express a "query" against the content of messages published.

We have designed and implemented the Gryphon system to provide content-based publish/subscribe functionality using the fast, scalable routing algorithms that we have invented. The system is structured as a redundant overlay network of routing brokers. Clients access the system through our implementation of the Java Message Service (JMS) API. The system supports best-effort and guaranteed delivery, and both normal and durable subscriptions. We have paid particular attention to scalability, availability, and security:

  • Scalability: Brokers may be added into the network to provide support for additional clients. We used this approach to provide capacity for almost 100,000 concurrently connected clients for Wimbledon 2001. Our configuration support is flexible enough to efficiently support geographic distribution of brokers.  Server farms in multiple geographies may be linked through a number of explicit links rather than requiring NxN connectivity between all brokers.
  • Availability: Gryphon responds to the failure of one broker in a network by rerouting traffic around the failed broker.  Reconfiguration is automatic and requires no intervention by an administrator.
  • Security: Gryphon supports access controls for limiting who may publish and subscribe to portions of the information space. Different secrecy and integrity policies can be specified for different parts of the information space. Multiple authentication mechanisms can be used to verify client identity: simple password (e.g. telnet), mutual secure password authentication (password is never sent over the wire), asymmetric SSL (password sent over a secure SSL connection to the server) and symmetric SSL (both client and server use certificates to authenticate each other).

The Gryphon project was initiated in the spring of 1997 as a two-person exploratory project on publish/subscribe technology. In fall 1997, it was identified as one of 5 projects to receive exploratory research funding via the prestigious ASSR program at IBM's T. J. Watson research center. The Gryphon system has been deployed over the Internet for real-time sports score distribution at the Grand Slam Tennis events, Ryder Cup, and for monitoring and statistics reporting at the Sydney Olympics.

Group Members
Mark Astley, Sumeer Bhola, Robert Saccone, Ignacio Silva-Lepe, Michael J. Ward, Yuanyuan Zhao.

Joshua Auerbach, Gerry Buttner, Kevan Miller, Rob Strom, Daniel Sturman, and summer interns.

Clear pixel for formatting

 Privacy | Legal | Contact | IBM Home | Research Home | Project List | Research Sites | Page Contact