Inside Networking
December 2000

Tony Rybczynski

Just-In-Time Information Distribution

BY TONY RYBCZYNSKI


Today's mission-critical systems make extensive use of distributed computing to share information over large, heterogeneous networks. The need for distributed applications runs the gamut from the classic commercial replication of a database to more exotic publish­subscribe applications. At the heart of these mission-critical systems are real-time infrastructure software systems, which pass information reliably and securely in real-time between many application servers and PCs, not just within the confines of LAN and campus networks, but also across the WAN/Internet.

The financial services industry is a leading sector for this class of application, driven by the need for real-time communication of market data to traders, brokers, and customers over the WAN/Internet. In addition, real-time infrastructure hardware and software becomes increasingly critical with the movement to straight-through processing and real-time settlement.

While the financial industry leads, examples can be found across many industries in areas such as:

  • Manufacturing and process control for real-time collection, monitoring, and distribution of sensor data from the factory floors.
  • Military/aerospace for real-time signal collection and data distribution from satellites.
  • Telecommunications for real-time monitoring and control of network devices and for distribution of alarms and errors from network devices.

PUBLISH-THEN-SUBSCRIBE SOLUTIONS
Historically, the communications infrastructure for these distributed applications was built in-house using low-level inter-process communications primitives such as sockets, pipes, shared memory, and remote procedure call. These home-brewed solutions were relatively straightforward to develop for very small applications running on LANs. But as the distributed applications grew larger and more heterogeneous, using these primitive mechanisms became less and less attractive as myriad complexities arose.

The need to handle these complexities stimulated the introduction of real-time infrastructure software products, which themselves have contributed to a broader businessware management system market. IDC research forecasts that product revenues will experience more than 1,700 percent growth from 1998 to 2003, increasing from $313 million in 1998 to $5.3 billion in 2003. This growth results from the need for a better way to deliver application integration, event-driven processing, and business process automation. Real-time communications and business process automation will increasingly kick in to drive the expected growth.
Publish­subscribe differs from message queuing in that rather than forcing applications to find the information they request, the information is more efficiently pushed to the interested parties. In publish­subscribe, clients subscribe to (register interest in) a subject. Once a subject has been subscribed to by a program, the program will receive any messages published to that subject in the distributed application. Subjects are defined by the application developer. Subjects can be thought of as logical message addresses, providing a virtual connection between programs.

Real-time infrastructure software systems delivering scalable high-performance publish­subscribe applications cover more than just high-speed message routing and delivery throughout a network. They provide high-availability and reliability by handling changes and failures to the network through dynamic message routing. They also provide transparent checking of problems that occur when processes are connecting, sending or receiving messages, and providing automatic recovery. Real-time infrastructure software systems provide thread-safe operation, allowing multiple threads to operate simultaneously on a connection. Multiple threads can greatly increase performance in multi-processor environments.

The heart of a real-time infrastructure software system is a high-speed software message routing engine that programs can connect with to send/receive messages with any other programs in the application group. This message routing engine may or may not reside on the same machine as the programs that connect to it. A simple application may use only one server to provide all services. A more complex application may use multiple servers to reduce network bandwidth and to realize the benefits of added performance, load sharing, modularity, and reliability.
Leading vendors include Talarian (partially owned by Nortel Networks), with its SmartSockets product and extensive OEM agreements, and Tibco Software (partially owned by Reuters).

MAKING IT RELIABLE
Real-time infrastructure software systems and the communicating applications, databases, and clients ride on an IP network, either operating in unicast (point-to-point) or multicast (point-to-multipoint) modes. Most of today's implementations use unicast, running on a best-effort IP networking infrastructure and employing TCP to provide highly reliable point-to-point data transfer. As client demands move increasingly towards highly reliable real-time content distribution, the underlying network has to move to a high-performance network.

However, it doesn't stop here! The growth of point-to-multipoint content delivery will drive the deployment of IP multicasting, which is significantly more bandwidth-effective than using multiple point-to-point TCP sessions. High-performance IP multicasting is only part of the solution, since IP multicasting is inherently unreliable; even in the best design, some packet loss and out-of-sequence packets can occur. This leads towards the need for reliable multicast protocols that can deliver TCP-level reliability in a multicast environment. Such a reliable multicast protocol runs best over a high-performance IP multicast network (using one of a number of standard multicast protocols), in the same way that TCP runs best over a high-performance IP unicast network.

The standards bodies are leveraging the experience gained from designing and deploying reliable multicast protocols. One such protocol is Pragmatic Generic Multicast (PGM). Another is the Reliable Multicast Protocol (also known as the RMTP-II protocol). The objective for both is to deliver TCP-level reliability, to be compatible with TCP congestion control mechanisms, and to work without the need for router support. Part of the standards development includes work on an optional Generic Router Assist that would allow routers and switches to accelerate the recovery from failures by caching information and retransmitting it as required to subscribers.

WHAT TO LOOK FOR?
So what are the key parameters in evaluating real-time infrastructure software and hardware for reliable content distribution? There are three:

  1.  Application development flexibility that allows accelerated time to market, avoiding the need for extensive customization and support from the vendor.
  2. Deployment simplicity avoiding the need for configuration of each machine that is participating in a publish­subscribe environment.
  3. Network efficiency offering seamless integration of publish­subscribe and queuing, and multicast and unicast, offering a single unified solution for all reliable real-time messaging needs.

Real-time infrastructure software systems meet the need for timely reliable information dissemination. These applications represent just one set of applications that characterize the second wave of e-business and drive the need for superior performance (reliability, throughput, and scalability) in not only the LAN but also the WAN/Internet.

Tony Rybczynski is director of strategic marketing and technologies for Nortel Networks' Enterprise Solutions unit. E-mail questions or comments to tonyryb@nortelnetworks.com

[ Return To The December 2000 Table Of Contents ]