XIAN : Cross-layer Interface for wireless Ad hoc Networks Version 1.2


1 XIAN basic components for cross-layer exchanges.

MAC/PHY state information, such as number of transmission retries or number of transmitted frameswith CTS enabled, is available at driver level and a large part of this information may be of interest to higher layers. To support flexible cross-layer access to this information XIAN implements a software architecture composed of three main components:

The Kernel Space XIAN Interface (KSI) is dedicated to kernel space components (e.g. TCP or UDP implementations) and implemented as a Linux kernel module. It interacts directly with the MadWifi driver to retrieve its internal states or statistics or with the XIAN components involved in the definition of complex metrics (see section 2).

The User Space XIAN Interface (USI) mimics the KSI but at user space level. This API is implemented as an ordinary C library in order to facilitate its integration with user space programs (e.g. routing daemons or applications).

The XIAN Information Transport Module (ITM) allows to pass information and statistics from the kernel space to the user space, by connecting the two previousXIAN APIs. This module is implemented in this version of XIAN as a special character device.

In addition, a complementary component, called the XIAN User Space Extended Interface (or USEI), provides simple means for experimenters to perform additional processing of raw measurements, such as averaging, metric combination or notification of significant changes. Figure 1 illustrates how the components interact and how internal driver/MAC states or metrics are provided to other Linux system components. Figure 1. XIAN Framework software architecture.

From the developers point of view, the two XIAN APIs (i.e. KSI and USI) are identical. The information exchanged through the ITM and accessible via the USI and the KSI are of two kinds: (1) basic metrics extracted from specific structures/states maintained by the MadWifi driver, and (2) new metrics integrated to the framework thanks to the software components described in the following section.

figure 1 XIAN framework software architecture

2 Extension to integrate and manage complex cross-layer metrics

XIAN offers mechanisms implementing bidirectional exchanges of metrics among neighbouring nodes (such as those classically needed by [6, 9, 10, 11]). This makes possible the creation and the integration within the XIAN framework of metrics that require information from neighbouring nodes (e.g. the number of packets that have been received by a neighbour). Implementing a new metric involves the definition of the metric calculation formula, i.e., it defines how to combine readings from several individual PHY/MAC layer metric values to obtain a new compound one. Obtaining the individual values involves configuring the XIAN framework, by setting which metrics to read from the nodes neighbours and at which frequency. . As shown Figure 1, four software components, all implemented as Linux kernel modules, support the integration of such complex metrics within the XIAN framework:

The XIAN Metric Manager (XMM), in charge of the registration and unregistration of the new cross-layer metrics instantiated as XIAN Cross-layer Metric modules (XCMs). An XCM mainly implements the metric calculation formula and configures the protocol exchanges involved in the calculation of the metric in terms of type of information and frequency .

The XIAN Nano-Protocol handler (XNP), which handles the XIAN Nanoprotocol messages containing the values of the metrics exchanged between neighbouring nodes. The XNP is implemented between the MadWifi driver and the Linux kernel implementation of the IP layer. Its role is to extract the XIAN Nanoprotocol messages from in-coming 802.11 frames and to create and send out-going XIAN Nano-protocol messages to the desired neighbours.

The XIAN Metrics Repository (XMR), which is responsible of recording the calculated values of the new cross-layer metrics introduced within the XIAN framework. Once recorded by the XMR, the metric values become accessible (via the KSI or the USI see section 1) to other operating system components, along with all MadWifi driver information reported by default by XIAN.

The XIAN Neighbouring Manager (XNM), which detects neighbour nodes and triggers updates necessary to automate XIAN Nano-protocol message exchanges. To enable the exchanges of metrics between neighbouring nodes, we propose a simple MAC layer-oriented protocol, called the XIAN Nano-protocol. It is described in the following section.

3 The XIAN Nano-protocol

The XIAN Nano-protocol is responsible of exchanging the XIAN Nano-protocol messages. Figure 2 gives an example of such a message. It contains a XIAN Nano-protocol Metrics Reports made up of (1) a header, which mainly indicates information about the report object itself and (2) a payload, which can embed several XIAN Nano-protocol Metric Objects that provides metric values and associated meta information. Note that XIAN Nano-protocol messages are encapsulated into unicast or broadcast 802.11 data frames.

The XIAN Nano-protocol Metrics Report is composed of the following fields:

A XIAN Nano-protocol Metric Object is composed of the following fields: -Type indicates the identifier associated to a metric. -Id identifies a reference to the associated XCM. -Encoding_type indicates how the metric value is encoded (e.g. integer or float). -Mac_addr indicates the MAC address to which the metric value belongs to. -Value contains the effective numerical value of the metric. Moreover, in order to optimize the number of messages sent to a given neighbour node, note that the XIAN Nano-Protocol handler (XNP) is able to aggregate several XIAN Cross-Layer Metrics Object of different types in a single XIAN Metrics Report.

Generated on Mon Jan 21 12:31:45 2008 for XIAN by  doxygen 1.5.3