The reconfigurable protocol stack approach is based on the redefinition of interfaces between
protocol layers, classification of interactions between different layers within the protocol
stack, and provision of an architecture to support protocol stack and protocol reconfiguration.
This approach introduces and implements active programming interfaces in the form ofobjects that become part of the protocol stack, using object-oriented design methods to define
this protocol stack architecture and to replace protocol implementations during run time
(following the ‘class bloader’ principle of the Java virtual machine).
Application programming interfaces (APIs) have already been in use for decades in the
field of computing to simplify high level application development. Meanwhile, within the
fields of networking and telecommunications the need for and potential benefits of common
open interfaces on the application layer has been widely acknowledged. Several research projects have been initiated to explore the implementation and application of open programming
interfaces and platforms and their use in mobile terminals and network nodes.Going beyond this conventional approach, using standardized active programming interfaces
at all layers introduces an additional degree of freedom to reconfigure protocol stacks in
both terminal and network. A major function required for SDR terminals is the ability to exchange protocol software ‘on the fly’, implying the dynamic reconfiguration of the protocol
stack. The OPtIMA framework was developed to address this need.
OPtIMA is based on the separation of protocol stacks into a number of
functional entities. These entities include protocol (pro-) layers, (pro-) interfaces and threads,
described in generic ‘classes’ organized in class libraries which enable dynamic binding during runtime. The architecture can also support composable protocols, whereby single protocol layers can be replaced by a collection of components, each of
which implements a particular function.The OPtIMA framework is centered on the paradigm of active programming interfaces
rather than using the straightforward approach of defining a broad set of APIs and PPIs which
contain all the functionality of certain protocols. The use of active protocol interfaces adds
more complexity to the systems but also provides the advantage of protocol exchange during
runtime rather than during compile or boot time. Active protocol interfaces are objects which
embody a set of message interpretation and message distribution methods. The active interface objects retrieve information required for the
processing of the messages from the incoming message headers or, depending on the instantiation
of the framework, from the (thread) object in which the incoming message is wrapped.
The active interface object processes/interprets the message and passes it on to the target ‘pro-layer’.Figure shows the principle of message passing within the framework.
|