DYNAMIC DATA LINK SEGMENTATION AND REASSEMBLY
In a Mobile Ad Hoc Network (MANET), Dynamic Data Link Segmentation and Reassembly (SAR) functions perform a large packet to small packet transformation and reassembles packets at a receiving node. The packet size is determined dynamically in response to link quality data for each individual data link. By periodically sharing link quality information with neighbors, the segmentation size and corresponding reassembly can be performed using readily available neighborhood and waveform information.
1 . A method comprising:
providing a data item for transmission from a first node to a second node over a data link in an ad hoc wireless network, the data item having a length;
determining a link quality of the data link;
selecting a transmit mode for the data link according to the link quality, the transmit mode including a data rate;
determining a payload length for the data link according to the data rate;
segmenting the data item into one or more segments according to the payload length; and
transmitting the one or more segments as one or more packets over the data link.
2 . The method of claim 1 further comprising measuring a link quality of the data link, and selecting a data rate for the data link based upon the link quality.
3 . The method of claim 2 wherein selecting a data rate further includes selecting one of a plurality of transmit modes for the data link.
4 . The method of claim 2 wherein measuring a link quality includes obtaining a receive signal strength indicator for the data link.
5 . The method of claim 4 further comprising communicating the receive signal strength indicator from the first node to the second node.
6 . The method of claim 2 further comprising counting a number of packets sent from the second node to the first node and transmitting this number from the second node to the first node.
7 . The method of claim 6 wherein measuring a link quality includes comparing the number of packets sent from the second node to a number of packets received from the second node.
8 . The method of claim 1 further comprising selecting the data link from a plurality of available data links between the first node and the second node.
9 . The method of claim 1 further comprising:
receiving the one or more packets at the second node;
receiving a receive signal strength indicator at the second node, the receive signal strength indicator indicative of a strength of a signal for the data link received at the first node from the second node;
receiving a first packet count from the first node, the first packet count indicative of a number of packets received at the first node from the second node over a time period;
maintaining a second packet count at the second node, the second packet count indicative of a number of packets transmitted from the second node to the first node over the time period;
inferring a segmentation for the one or more packets based upon the first packet count, the second packet count and the receive signal strength indicator; and
reassembling the data item based upon the segmentation of the one or more packets.
10 . The method of claim 9 further comprising determining a second receive signal strength indicator according to a strength of a signal for the data link received at the second node from the first node and transmitting the second receive signal strength indicator from the second node to the first node.
11 . The method of claim 1 further comprising, when the payload length is larger than a segment of the data item one of the packets, adding a second segment of a second data item to the payload of the one of the packets.
12 . The method of claim 1 wherein segmenting includes selectively using one, two or four segments for each of the one or more packets according to a length of the data item.
13 . A device comprising:
a data source that provides data;
a data link that packetizes data from the data source into a packet;
a radio that provides an air interface to a mobile ad hoc network including a link to a neighboring node; and
a signal processor that prepares the packet for transmission over the air interface, the signal processor adapted to dynamically segment the packet into one or more segments according to a data rate for the link.
14 . The device of claim 13 wherein the air interface includes a plurality of links to a plurality of neighboring nodes.
15 . The device of claim 13 wherein the signal processor modulates the one or more segments with one of a plurality of waveform modes, the one of the plurality of waveform modes selected according to a link quality metric for the link.
16 . The device of claim 15 wherein the link quality metric is determined using a signal strength indicator for the link.
17 . The device of claim 15 wherein the link quality metric is determined using a received packet count and a sent packet count for the link.
18 . A computer program product comprising computer executable code that, when executing on one or more computing devices, performs the steps of:
providing a data item for transmission from a first node to a second node over a data link in an ad hoc wireless network;
determining a link quality of the data link;
selecting a transmit mode for the data link according to the link quality, the transmit mode including a data rate;
determining a payload length for the data link according to the data rate;
segmenting the data item into one or more segments according to the payload length; and
transmitting the one or more segments as one or more packets over the data link.
19 . The computer program product of claim 18 further comprising computer executable code that performs the step of measuring a link quality of the data link, and selecting a data rate for the data link based upon the link quality.
20 . The computer program product of claim 18 wherein selecting a data rate further includes selecting one of a plurality of transmit modes for the data link.