Trillium Advanced Portability Architecture (TAPA) is a set of exclusive architectural and coding standards that ensures the implementation of communication protocol solutions.
TAPA embodies these standards and techniques and reflects the collective feedback of hundreds of design wins over two decades, and it ensures that Trillium software code solutions from Radisys are completely independent of the target system’s compiler, processor, operating system and architecture. The payoff: TAPA’s flexibility allows telecom equipment manufacturers to adapt and integrate communication protocol solutions rapidly into a wide range of products.
Customers may use any number of Trillium software products to build a protocol stack. A protocol stack consists of several interconnected protocol layers. Radisys designs each of its products to operate with maximum flexibility, either independently or with adjacent Trillium software. Protocol stacks built entirely of Trillium software products require minimal integration effort because Trillium products are designed to work seamlessly together. This is essentially the basic premise of TAPA. Hence, used across the entire product line, TAPA helps reduces risk and product life-cycle costs while accelerating time-to-market by reducing the learning curve for the customer’s development team.
TAPA defines a set of interfaces that control all interactions between the Trillium software and the target system. Think of it as a single box surrounded by four boxes. The box in the center represents a single Trillium software product. The outer boxes represent the other software to which the Trillium product may be linked. The separation between the center box and the outer boxes defines the C function interfaces across which the Trillium product interacts with the target system.
Just as an integrated circuit can be understood by its pinouts and response to signals, Trillium software can be effectively utilized by mastery of its interfaces alone. Even though the complete source code is delivered, there should be no need to modify the body of the protocol software itself. Each Trillium product may be linked with one or more service users/providers through direct functions calls as a single task (tightly coupled) or by inter-task messages between separate cooperating tasks (loosely coupled). Complete protocol stacks may reside on a single processor or reside across multiple processors.
The system services interface provides the initialization, timer management, message management and queue management functions that the Trillium communications software needs. The system services interface has been ported to Solaris, Windows NT, VxWorks/Tornado, pSOS, VRTX, LynuxWorks, UNIX, OSF, QNX, Enea OSE, Streams, Linux and other operating systems. In addition to these operating systems, all Trillium communications software can run with the Trillium MOS product without modification. Trillium also provides a System Services Interface Software Development Kit for quick, efficient and flexible porting of Trillium’s system services interface onto new operating system platforms. All Trillium software products use the same system services interface.
The layer management interface provides the runtime configuration, control, statistics, status, alarm and accounting functions. The layer management interface has been ported to SNMP, CMIP/CMISE and other layer management agents.
The upper layer interface provides the bind/unbind, connect/disconnect, data transfer, reset and flow control functions.
The lower layer interface provides the bind/unbind, connect/disconnect, data transfer, reset and flow control functions.
Customers may use any number of Trillium software products from Radisys to build a protocol stack. The products have been designed to operate separately or with adjacent Trillium products. Protocol stacks built entirely of Trillium products will require minimal integration effort. The lower interface of each Trillium product aligns exactly with the upper interface of the adjacent Trillium product.
Porting Trillium software products into a target system should consist of a few simple steps: mapping the system services interface to the target operating system; mapping the layer management interface to the target layer management agent; and mapping the upper and lower interfaces of the protocol stack to the target applications and/or device drivers. The inter-layer, system services and layer management function calls are clearly defined and documented to ease the effort.
Trillium software has extensive error-checking capabilities to ensure the proper operation of all inter-layer, system services and layer management interfaces. The customer simply uses compile-time options to generate runtime error-checking code. This built-in error checking capability helps to quickly identify and resolve any problems encountered while porting the code.
This component defines the common interface used by all Trillium products to obtain the services of the underlying operating system. The System Services entity implements the mapping of the SSI to the underlying operating system. The SSI has been successfully mapped to support a variety of operating systems, including Multi-Threaded host-based systems and Real-Time operating system environments such as Solaris, Windows NT/2000, VXWorks, pSOS, and Linux.
The following system functions are performed at the SSI:
- Process management and inter-process communication
- Timer management
- Memory management
- Message and queue management
- Date and time management
- Resource checking
- Supports both multi-threaded and single-threaded operations (configurable).
- Permits configuration of all significant system parameters (such as maximum tasks, task priorities, maximum timers and memory usage).
- Reduces the number of system services primitives that must be implemented.
- Explicit structure of the kit eliminates the need for complex design.
- Defines the set of primitives required to be implemented. Describes a mechanism for adding platform-specific data to the core system services data structures.
- Priority-based scheduling of tasks and message delivery.
- Separates memory management from the core system services, permitting the use of specialized memory managers.
- Provides a STREAMS interface for message management.
- Permits errors to be logged to a console.
- Conforms to Trillium Advanced Portability Architecture (TAPA)
- Benefits of licensing Trillium software from Radisys
Layer Manager Interface
This component defines a consistent API used by an Operations, Administration, and Management (OAM) application to manage and control Trillium products. The Layer Manager entity implements the mapping of the LMI to the layer management agent.
This interface provides services to:
- Set up the operational configuration of the Trillium product and to enable dynamic reconfiguration
- Retrieve status and statistics from the Trillium product
- Control the resources managed by the Trillium product
- Provide run-time alarm and trace information to the layer management entity
Upper & Lower Interfaces
The Upper and Lower Interfaces are protocol-specific interfaces hat facilitate integrating Trillium products into a variety of devices and product architectures.
Services Provider & Service User
At the Upper Interface (UI), the Trillium portable software product provides services to be used by an upper payer, known as a Service User (SU) of the Trillium product, to perform protocol operations. At the Lower Interface (LI), the Trillium portable software product obtains services from the lower layer, known as the Service Provider (SP) to the Trillium product, to perform required protocol operations.
These interfaces provide services to associate or disassociate the layers in a protocol stack, for setting up or releasing connections, and for exchanging protocol data.
Service Access Point (SAP)
The Service Access Point (SAP) is an abstract data structure that provides the means for inter-layer communication at the layer interfaces. The SAP is identified using context Ids known as the Service User ID (SuId) at the upper layer interface, and the Service Provider ID (SpId) at the lower layer interface. A single instance of the Trillium product can provide services to multiple service users or obtain services from multiple service providers, using multiple instances of SAPs.
Tight and Loose Coupling
The service user and service provider can be:
- Tightly coupled, meaning they reside in a single process, and therefore interact using direct function calls
- Loosely coupled, meaning they reside in different processes, and therefore interact using an inter-process communication mechanism provided by the system services entity.
System Services Interface – Software Development Kit (SSI-SDK)
The System Services Interface – Software Development Kit (SSI – SDK) enables quick, efficient and flexible porting of Trillium System Services Interface onto new operating system platforms. Trillium SSI – SDK makes it possible to run any Trillium portable protocol layers on new operating system platforms.
Trillium SSI – SDK software enables telecom equipment manufacturers of soft switches, signaling gateways, signal transfer points, service control points, media gateway controllers or other products to:
- Accelerate time to market
- Reduce development costs
- Reduce project risk of internally developed SSI – SDK applications
Product deliverables consist of C source software, documentation, training, a warranty and technical support.
Trillium SSI-SDK software can be used with all Trillium software products.