Overview of common application problems
Very Portable Software
Small Footprint
Scalable Heartbeating protocol
Reliable Message protocol
Designed to be very Testable
Add Security to the Communication in Your Distributed Application
Zero-Copy Messaging
Point-to-Point and broadcast Messaging
Technologies Supported
Next Generation Fault Tolerant Communication Middleware
learn more
Reduce Your Development Time by Relying on Ventura's Battle Tested Communication Middleware
learn more
Product Summary: FTm - Fault Tolerant Middleware

FTm uniquely coordinates communication with failure management to simplify the development of embedded, distributed applications.

Years have gone into developing and testing the protocols used in FTm to comprehensively address the issues faced by distributed systems.

FTm is a fault management and communication services middleware product. Application developers use FTm for reliable communication in their applications and to manage configuration changes so that all machines are made aware as the system changes.

FTm combines many technologies to ensure that communication will be reliably delivered and that network and machine failures can be tolerated. In particular, Ventura Networks uses distributed protocols which help to ensure that applications are each presented with consistent information about the configuration regardless of the failures that occur.

By receiving a consistent picture of the system as failures occur, the applications running on the machines have a much easier job of managing failures. If the system is partitioned into multiple sets of machines, the different sets each see the membership constrict to the individual set they are in. When the network heals, they will then merge back together again.


FTm Feature Breakdown


• Small code size.
has been implemented so that it requires as little as 100 KB of code size. Depending on the features used, this can be even smaller.

• Software Portability.
is implemented in standard ANSI C. Any system with a standards based C compiler can easily run FTm.

• Network flexibility.
can run over any networking fabric. It currently supports TCP, UDP, and raw Ethernet. Most fabrics can be rapidly added.

• Scheduling.
Integrating component based middleware solutions typically requires selecting a particular scheduling infrastructure that all components support. FTm can provide this capability and it is simple to incorporate into other scheduling approaches.

• FTm’s heartbeating protocols are configurable, have low CPU requirement, and are extremely scalable so that as the system grows the CPU and network load does not increase at the same rate. Failure detection is implemented independently of other mechanisms, such as TCP, to ensure consistent failure reporting.

• Zero copy messaging.
FTm provides a state of the art communication infrastructure. One of the elements of this is support for zero copy messaging objects. This eliminates copying of message data in the protocols and allows sharing of messages for buffering purposes.

• Automatic Discovery Protocols are used so that FTm is able to separate the notions of physical and logical addresses. Applications use logical addresses when interacting with FTm and FTm translates these into physical addresses as necessary. This approach allows applications to be independent of the fabric they are initially implemented on.

• Designed for Testability.
Many years of experience designing and implementing mission critical distributed systems has taught the importance of thorough testing. In addition to comprehensive unit testing and internal consistency checking, FTm makes use of a simulation harness designed to exercise all networking situations.

• Fragmentation and Reassembly protocols are used to allow large messages to be automatically fragmented and reassembled when they arrive at their destination. There is no limit on the size of messages supported, regardless of the underlying networking technology.

• Scalability.
FTm utilizes protcols that scale to 100's of machines without the use of any external protocol servers.

• Security.
Optional protocols are provided for guaranteeing secure authentication and/or privacy of communication.

• Flexible protocol engine.
FTm makes use of VNi’s powerful and flexible Pulse protocol engine. Pulse's default configuration is adequate for most configurations. However, its modular design allows the protocols to be rapidly extended for particular applications.

• Integrated messaging and configuration changes.
FTm coordinates failures with messaging so that strange corner cases are eliminated.

• Reliable Messaging protocols are used to coordinate message delivery with system configuration monitoring.

• Broadcast messages.
Efficient broadcasting of messages to multiple endpoints is supported.

• Flow Control protocols are used so that FTm can provide guidance to the application when one or more communication channels in the system are becoming overloaded as well as when the overload has cleared up.

Technologies Supported.
Network Fabrics: Ethernet (including 802.11b & g), UDP, TCP; Programming Language: C; Memory Requirements: 100 – 200 KB Object Size; Operating Systems: Linux, BSD (Microsoft Windows and Wind River's VxWorks to come).