Object-oriented sender/receiver model for protocol stack implementation
Publication Date: 2002-Aug-26
The IP.com Prior Art Database
Caroline Landry: INVENTOR [+3]
The present invention concerns communication of messages between software layers. The present document focusses on the HiperLAN/2 technology, but the described principles applies to any kind of protocol stack, and more generally to any kind of software where communication beween different modules is required.
Object-oriented sender/receiver model
The present invention concerns communication of messages between software layers.
The present document focusses on the HiperLAN/2 technology, but the described principles applies to any kind of protocol stack, and more generally to any kind of software where communication beween different modules is required.
A software component is a software unit that implements a given functionality, using the services of other software components. It also provides an interface to other software components. In a closed software environment, every software component can know each other, so that when a software component wants to send a message to another software component, there is no problem: a software component can know the identifier of another software component, and so can use Operating system specific features to send messages to it. In an open environment however, a software component may not know in advance by which other software component it may be used, so that it may not know how to send messages to that other software component. The invention proposes a simple mechanism to develop software components in an open environment, where a software component does not need to know in advance which software component will use it.
This problem occurs in protocol stacks: a layer provides an interface to its upper layer, using the services of the lower layer. But a same layer may be used in different combinations of layers, so that it is convenient to not be tied to a given upper layer when implementing a layer. In what follows, we take the example of HiperLAN 2 ('HL2') , where the Data Link Control (DLC) layer may be used by different convergence layers (Ethernet or 1394). The proposed mechanism allows thus the DLC layer to provide an interface based on messages to an upper layer, without the need to be aware of this upper layer.
The following figure shows an example of this HiperLAN/2 stack in a wireless box:.
The aim of this invention is to define a generic way to make software component communicate with any other software component. Moreover, the following constraints have to be respected:
· The implementation is done using an object-oriented language
· The software component scan run in different threads
A model sender-receiver has been defined, with exchange of messages from the sender to the receiver. A receiver in the upper layer registers itself to a sender located in the HL2 layer to receive the message type it is interested in. When this sender posts a message, it will be sent to all the receivers that have asked for this kind of message.
The following diagram shows the basic mechanism to exchange messages between two objects.
It is up to the receiver to register itself to the sender and to ask to receive the message type it is interested in. So when the sender posts a message, it builds the ap...