Real-time information delivery plays a key role in a new generation of highly networked Internet applications such as software updates and consumer alert services. However, scalability limitations and the unicast nature of IP protocols have required these applications to use the request/response or polling-based methods of information delivery.
A new technology, Internet-scale publish/subscribe, uses network-based processing to avoid the bandwidth and computational obstacles of traditional request/response communication. This lets publishers of continually changing information selectively reach large numbers of users more efficiently.
Publish/subscribe technology is deployed widely in the financial services field, where commercial publish/subscribe servers are used to relay real-time information such as stock quotes.
In publish/subscribe communication, subscribers sign up for relevant information from producers or publishers, and then the information is delivered to them.
When it comes to delivering real-time information, request/response methods are problematic because they are one-to-one and because users must constantly poll information producers to determine when new information is available. This continual polling wastes compute cycles and network bandwidth.
To scale publish/subscribe to the Internet, vendors have transformed the technology into a networkwide routing schema with its own protocols and routing algorithms.
With publish/subscribe networking, subscriptions provide routing information for efficient message delivery. Just as IP routing uses information about network topology and IP address locality to establish efficient and resilient paths between IP packet senders and receivers, publish/subscribe networking can use information about network topology, location and subscriber interests to establish the best paths.
When deployed as a network-level service, publish/subscribe technology can employ multicast routing to ensure that only one copy of a message traverses any network link. By performing intelligent networking, you can scale publish/subscribe messaging to applications deployed involving millions of publishers and subscribers.
The primary component of a publish/subscribe network is a routing engine, coupled with caching and deferred delivery of published messages for subscribers that go offline. To reduce the amount of message traffic and creation of message paths, the routing algorithm exploits overlaps in subscriber interests.
Consider an application supporting real-time airfare alert publications. Suppose there were two subscribers interested in airfare for the same route - one wanted airfares of less than $250 and the other less than $300. The router that received the subscriptions could merge them and forward the one with fares of less than $300 because the set of notifications matching this would include ones for airfares of less than $250. The router then would direct notifications to the appropriate subscribers.
Publish/subscribe networking is a highly effective and efficient technology for worldwide real-time information delivery. As the demand for affordable Internetwide real-time information delivery increases, expect to see more deployments of the technology in intranets, in content delivery networks and ultimately in ISP networks.