RTOS, virtualization for real-time systems, DO-178B and hypervisor for the most demanding embedded operating system applications...

Messenger for High Availability Advanced messaging for distributed and high availability architectures

PRINTABLE PDF VERSION (48 kB)

Messenger implements a message-based communication protocol for intelligent devices to cooperatively process information. The architecture is designed to facilitate intelligent I/O processor cards (IOP), and increase system scalability and availability. Peer-to-peer communications allow developers to flexibly integrate different I/O resources, enable direct communications between these I/O devices, and deploy split device drivers running in a high availability system. Applications and split device drivers communicate to each other over the underlying I/O bus using the services defined by Messenger's APIs.

Messenger is an essential part of systems that are distributed across processors and must interact with one another in a high availability distributed software/hardware architecture with N+1 redundancy.

By abstracting the system architecture and bus topology, Messenger allows applications to view their distributed environment as a single "virtual computer." High availability processes execute without regard to processor location and do not need to address other processes or CPUs with reference to platform specifics. Such abstraction fosters the generality needed to deploy applications in a high availability CompactPCI™ environment. Moreover, the abstraction eases prototyping while facilitating system monitoring and dynamic fault management.

MORE ABOUT HIGH AVAILABILITY SYSTEMS

Messenger is designed to work in a heterogeneous computing and operating systems environment. A distributed high availability system may be made up of different kinds of computing nodes running different operating systems. LynxOS® may run on nodes with real-time requirements, while other nodes run on Linux applications. The OS abstraction layer of Messenger is portable and can be ported to run on different operating systems.

LCS SECURE TCP/IP PROTOCOL STACK

Toolkit capabilities

Messenger includes object forms of the following components:

  • Messenger—Message communications facilities and software
  • I/O Processor Manager—A software component that manages subordinate intelligent devices in a PCI domain. IOP Manager provides an interface between its clients and the host OS hot swap/high availability support subsystem. IOP management functions include:
    • Configuration of intelligent devices on the PCI bus
    • Boot and reset of intelligent devices
    • Detection and handling of failures that occur at the intelligent devices
  • MINET network driver—Messenger Interface Network, or MINET, is a data-link driver, implementing TCP/IP connectivity across the Messenger domain. MINET supports the familiar LynxOS TCP/IP APIs to implement communications between intelligent devices in a distributed IP environment
  • Utilities, debug facilities, and management statistics

Enables node-to-node communications and full mesh connectivity

Messenger implements peer-to-peer and host-to-IOP models of communication. The concepts of communications paths and messages allow full mesh connectivity of logical devices: one to many: many to one: from logical module to logical module.

Integrated with LynxOS hot swap and high availability

Messenger provides the most flexible approach to fault-tolerant real-time distributed systems in the industry. Split processing applications and IOPs can be mixed and matched for specific configuration requirements. In a high availability and hot swap environment, the system's capabilities can be re-provisioned dynamically and expanded without interruption, or downtime.

In addition to loading the LynxOS RTOS onto subordinate IOPs at the system initialization time, the IOP Manager is responsible for recovering IOPs from failures, including hot swap extraction/insertion events.

HIGH-AVAILABILITY WHITE PAPER (815kB PDF)

Scalable and dynamic applications

Messenger supports the dynamic configuration of distributed applications and IOPs. The Logical Device Module naming scheme uses C-style character string object handles that allow inter-process communications to be based upon object types and properties, rather than upon static addresses.

Designed for performance

Support for message-passing among multiple independent processors greatly improves I/O performance in high-bandwidth applications such as layered communications protocol processing, VoIP, routing, and networked video applications by off-loading I/O intensive tasks from a single host processor onto specialized IOPs. Messenger implements a fast and slim asynchronous data-link messaging model.

For more robust communications and distributed applications, MINET interfaces directly with the Lynx TCP/IP stack for IP network addressing and routing. MINET makes Messenger nodes appear like nodes on an Ethernet network, allowing programmers to use standard, off-the-shelf network development tools and applications.

Designed for portability

The communications model for Messenger architecture is a message-passing system. The communication model is analogous to a connection-oriented networking protocol or the OSI layered model, in which two entities exchange messages by using the message layer to set up a connection and exchange data and control. The Messenger architecture is written specifically to be I/O processor-independent, allowing maximum flexibility in choosing an IOP that best suits a particular performance and cost objective. Messenger imposes no restriction on where layered modules execute, providing support for multi-processor and clustered systems. Messenger is designed to support different types of transport media, including: serial, TDM I/O buses, intelligent switch fabric chip interfaces, and network-facilitated clustered systems.

Messenger APIs

Messenger includes a well-defined set of APIs to support all aspects of split application, or driver, development. The Messenger APIs for distributed inter-process communications (IPC) compliments the rich selection of POSIX® APIs available in the LynxOS real-time operating system.

Message passing is one type of inter-process communication used in distributed, parallel systems. The messages consist of a very small header and the information to be transferred (payload). When a process is ready to send a message, it calls the Messenger Logical Device Module by submitting the name of the destination logical device and the payload information.

A message passing protocol is the logical model for building high-performance, fault-tolerant distributed systems.

  • Object Hierarchy
  • Message Instance
  • Logical Device
  • Path Pattern
  • Communication Path
  • Communication Path State
  • Message Sending
  • Message Receiving
  • Message Frame
  • List of Waitable Objects
  • Static Message
  • Scatter Gather Lists
  • Service Status

Additional messenger services

Messenger includes several additional facilities and utilities that simplify debugging, testing and managing distributed applications.

  • Messenger Debug Services
  • Messenger Statistics
  • IOP Configuration and Booting
  • IOP Manager Control Utility
  • IOP Health Heartbeat
A LynuxWorks embedded OS is featured in this LynxOS real-time embedded system application:
Who else uses a LynuxWorks embedded operating system?
LynxSecure Separation Kernel and Embedded Hypervisor LynxOS-SE Embedded RTOS RTOS: LynxOS-178 for software certification Luminosity Eclipse-based IDE
LynxOS Embedded RTOS Embedded Linux: BlueCat SpyKer Embedded-System Trace Tool

Industry Solutions

Migration

Industry Standards

Embedded Systems Technology

RTOS Training for Embedded Systems

Training at LynuxWorks

Embedded System Consulting

LynuxWorks Support

Embedded Systems

LynxOS RTOS Support

BlueCat Embedded Linux Support

Contact Us

About LynuxWorks

Press Room

Newsletter and Announcements

Careers

Site Map

Board Support Packages (BSPs)

BSP Device Drivers

BSP Targets by Operating System

BSP Targets by Form Factor

Third-party I/O Devices and Hardware

SynergyWorks: LynuxWorks partners


What is SynergyWorks?

Third-party add-ons for LynuxWorks operating systems

Copyright © LynuxWorks™, Inc. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of LynuxWorks is prohibited.