SOFTWARE & DEVELOPMENT TOOLS
Middleware for Servers
Off-the-Shelf Carrier-Grade Middleware: The Next Logical Step
With the growth of ever more complex communications systems, middleware is becoming a vital tool for integration, management and customization through the use of modular software elements that enable high availability, speed development and support product differentiation.
NIRANJAN VAIDYA, OPENCLOVIS
The telecommunications industry gave birth to the catch phrase “Innovation at the speed of the Internet,” so it should come as no surprise that telecom equipment vendors themselves are facing increasing pressure to rapidly bring complex carrier-grade solutions to market. An evolving ecosystem of industry standards and off-the-shelf products is helping to drive this cycle and equipment vendors can increasingly develop a large portion of their systems with off-the-shelf hardware, operating systems, protocol stacks and carrier-grade middleware.
Carrier-grade middleware provides the glue that binds the various hardware and software components in a system (Figure 1). The simplest way of looking at it is that it provides everything above the operating system that is not specific to the “application” of a system. The primary focus areas for middleware are core infrastructure services such as intra-cluster messaging, system and platform management, and, of course, high availability. In addition to providing specific features, the middleware also differentiates a product by defining the system’s overall character. Well-designed middleware can enable the rapid scoping of system requirements, model component and system behavior before a product is built; simplify the development and re-usability of applications across a product family; drastically reduce integration effort and support iterative enhancements across multiple product releases.

The carrier-grade features of a network element have traditionally been viewed as major market differentiators but they are now considered the norm, and a product is only distinguished by its lack of such characteristics. The bar will only go up in the future. By selecting appropriate off-the-shelf carrier-grade hardware, operating systems and middleware, equipment manufacturers can focus limited resources on their own application-specific innovations, while significantly reducing both risk and time getting a product to market.
Middleware: Tying Together a Platform
The term middleware is often used loosely, so it makes sense to define it in the context of a carrier-grade system. The features provided by carrier-grade middleware can be roughly broken down into four mutually interdependent areas: system management, platform management, high availability and core infrastructure. Particular implementations will naturally provide more or less functionality in each area.
In terms of system management, middleware should provide a complete solution to model the various logical and physical entities in a system using an object model or information base. It provides the run-time framework to manage and monitor these entities as well as standard interfaces such as simple network management protocol (SNMP) or command line interface (CLI) to integrate with external element management systems. A number of third-party products in the system management space have traditionally provided these capabilities. Middleware must provide comparable functionality as well as tighter integration with application and availability management capabilities.
Middleware also provides the ability to manage a specific platform using industry standard interfaces such as the Service Availability Forum’s Hardware Platform Interface (SAF HPI). Often, the middleware is pre-integrated with standard platforms such as AdvancedTCA or IBM’s BladeCenter/T, enabling a plug-and-play experience. A system designer need only write drivers or board support packages for application-specific hardware such as specialized cards or chip sets. Middleware may further simplify the integration of these components into the rest of the framework, providing an additional level of assurance that they will work together reliably.
Actual higher availability (“five nines”) is best achieved when a system designer plans for it up front and designs a system taking various constraints and behaviors into account. Middleware can aid this task by providing a comprehensive modeling framework and a design discipline, which, in addition to modeling and validating the desired system characteristics, also gives a measure of predictability to system behavior. Eventually, a system failure is inevitable and a system that fails and recovers predictably is preferable to one that handles the various fault modes in an ad-hoc manner. The framework can also enable consistent application behavior from one platform footprint to another.
Hand in hand with the modeling framework, middleware must also provide the run-time infrastructure to manage the components’ entire life and fault cycle, from start-up to shutdown, and from detection and diagnosis to service recovery and repair. This infrastructure may include an availability management service for managing the life cycle and work assignments of redundant components, a fault service for implementing user-defined repair policies, a checkpoint service for enabling stateful application failovers, a messaging service with high-availability semantics, an upgrade framework for non-service impacting software upgrades and group membership services for enabling the formation of independent redundancy groups. Obviously, this is just a sampling of the services that middleware should provide. It might also provide common application domain services such as an extensible virtual IP framework.

Kontron
Interphase