Multipath geographic routing protocol
AssigneeAirbus SAS
InventorPaulo Mendes
Life of this patent
Estimating the term…
Abstract
Systems and methods for routing data packets in mobile ad-hoc networks. An interest packet is sent from a data consumer to a data producer via multiple intermediate routing devices. The interest packet is transmitted from one routing device to the next routing device based on the geographic position of the routing devices and the interest message carries information about the links and network nodes it passes when being transmitted. The data packet is transmitted from the data producer to the data consumer the same path in the reverse order. In case one of the intermediate nodes is not available anymore, due to the mobile nature of the ad-hoc network, an opportunistic forwarding strategy is applied.
Claims11
A method for routing data packets between a first end device and a second end device via a mobile ad-hoc network that comprises multiple routing devices that are communicatively interconnected with each other, the method comprising:
- generating, by the first end device, a data request message;
- sending the data request message to a first routing device;
- forwarding, by the first routing device the data request message to at least two neighbor routing devices by using a first opportunistic forwarding mechanism, wherein the data request message is forwarded to each of the at least two neighbor routing devices via different routes through the mobile ad-hoc network;
- providing, by the second end device and in response to the data request message, a requested data packet to a second routing device;
- forwarding, by the second routing device, the requested data packet via the mobile ad-hoc network to the first end device by using a source based forwarding mechanism;
- determining, by the second routing device, if the source based forwarding mechanism fails in forwarding the requested data packet to the first end device;
- and
- in response to the source based forwarding mechanism failing to forward the requested data packet to the first end device, using a second opportunistic forwarding mechanism for forwarding the requested data packet to the first end device;
- wherein forwarding, by the first routing device, the data request message to at least two neighbor routing devices by using a first opportunistic forwarding mechanism comprising:
- generating a source tuple identifying the first end device;
- generating a destination tuple identifying the second end device;
- defining a path quality tuple identifying a minimum bandwidth and a minimum accumulative transmission latency in a data transmission path;
- defining a path vector identifying a list of all nodes crossed by the data request message;
- and
- adding the source tuple, the destination tuple, the path quality tuple, and the path vector to a header of the data request message;
- and
- wherein the method further comprises:
- in response to the requested data packet being available in the content store, adding the path quality tuple and the path vector tuple contained in the header of the data request message to a local vector associated with the source tuple contained in the data request message to identify the first end device;
- and
- in response to the path quality tuple contained in the header of the data request message meeting the path quality required for transmitting the requested data packet, formatting the requested data packet to be transmitted to the first end device based on the information stored in the header of the data request message.
A routing device for routing data packets between a first end device and a second end device via a mobile ad-hoc network,
- wherein the routing device is configured to:
- receive, from the first end device, a data request message;
- forward the data request message to at least two neighbor routing devices via different routes through the mobile ad-hoc network and by using a first opportunistic forwarding mechanism;
- receive, from the second end device or a neighbor routing device, a requested data packet;
- forward the requested data packet to the first end device by using a source based forwarding mechanism;
- determine if the source based forwarding mechanism fails in forwarding the requested data packet to the first end device;
- use a second opportunistic forwarding mechanism to forward the requested data packet to the first end device in response to the source based forwarding mechanism failing to forward the requested data packet to the first end device;
- wherein forwarding the data request message to at least two neighbor routing devices includes the routing device being configured to use a first opportunistic forwarding mechanism, including the routing device being configured to:
- generate a source tuple identifying the first end device;
- generate a destination tuple identifying the second end device;
- define a path quality tuple identifying a minimum bandwidth and a minimum accumulative transmission latency in a data transmission path;
- define a path vector identifying a list of all nodes crossed by the data request message;
- and
- add the source tuple, the destination tuple, the path quality tuple, and the path vector to a header of the data request message;
- and
- wherein the routing device is further configured to:
- in response to the requested data packet being available in the content store, add the path quality tuple and the path vector tuple contained in the header of the data request message to a local vector associated with the source tuple contained in the data request message to identify the first end device;
- and
- in response to the path quality tuple contained in the header of the data request message meeting the path quality required for transmitting the requested data packet, format the requested data packet to be transmitted to the first end device based on the information stored in the header of the data request message.
Dependencies are inferred from the claim text.