LINX
IPC Technology for Distributed Applications
Born from use with the vendor's own OSE and OSEck real-time operating systems, LINX is an InterProcess Communications (IPC) platform targeted primarily for use with distributed applications; whether they run within the same or disparate (remote) CPUs. Key features of LINX noted by the vendor include enhanced performance over traditional application communication methods (such as TCP, mailboxes, or shared memory) and a common API that enables applications to communicate with one another regardless of where the receiving application resides (including CPU/DSP, interconnect, or OS). With LINX, an application needn't be concerned about how to implement differing communication methods for interacting with processes on the same CPU or on remote CPUs; the same API is used for both. In terms of performance, the vendor states that LINX is 90% faster than TCP/UDP/Sockets for local IPC and 50% faster than TCP for remote IPC; and on average offers 25% lower latency and 20% higher throughput than TIPC for local IPC, and 10% lower latency and 25% higher throughput than TIPC for remote IPC.
LINX technology is available for the vendor's OSE and OSEck (compact kernel) Real-Time Operating Systems; as well as available as open source for Linux.
The vendor states that LINX can be seen as both an interconnect and a transport service; roughly corresponding to the Link through Session layers of the OSI model. The LINX protocol is a direct, media and protocol independent message passing technology that can be used in native form, or can use existing protocols (TCP, UDP, etc.) as "bearer protocols" for the physical transportation of communications (such as may be necessary in routed connections, for example). Native LINX messages are passed in an asynchronous manner; senders need not wait for synchronization from the receiver before they continue their own processing.
The total footprint of the technology is minimized via its ability to maintain optimized address maps. LINX dynamically discovers and builds its address maps for links and application connections at run-time; only maintaining addresses for those connections/links that are actually needed by the node. According to the vendor, typical component sizes are 50K code + 2K for static data in Linux; and 33K code + 7K for static data in OSEck.
Other features include a traffic adaptation algorithm for balancing latency/throughput; built-in support for redundant links; and built-in supervision for detecting and re-establishing communication links.
The LINX for Linux offering is divided into three primary packages: The OS Adaptation Layer, which is OS specific and is offered under the GPL; the Generic Protocol Layer, which is BSD licensed; and the API Layer, which is also BSD licensed.
New in the LINX for Linux package is support for protocol and feature negotiation; allowing for forward/backwards compatibility between future versions of the platform. As each LINX node connects it discovers the version in use on the other node and reverts to the lowest common set of features and protocol versions supported by both nodes.
LINX is available now. Visit the vendor's Web site for further information.
product submission by EITPlanet Staff
E-Mail this page to a colleague
send info about LINX

Suggest a link
for the LINX fact sheet