Service-oriented routing in software-defined MANETs
First Claim
1. A computer-implemented method for providing service-oriented routing in a mobile ad-hoc network (MANET) that includes a centralized controller node and a plurality of ad-hoc mobile nodes, comprising:
- at the centralized controller node;
receiving an update message from a first mobile node of the plurality of the ad-hoc mobile nodes, wherein the update message includes an update to neighborhood metrics and an update to a name list specifying names of content items cached in the first mobile node, wherein the neighborhood metrics include a list of neighbor nodes of the plurality of the ad-hoc mobile nodes and connectivity metrics for respective neighbor nodes of the list of neighbor nodes, and wherein the connectivity metrics include a channel reliability, a residual bandwidth, and a queueing latency;
receiving, from a source mobile node of the plurality of the ad-hoc mobile nodes, a request for a service, wherein the request includes an identifier associated with the requested service;
identifying a node of the plurality of the ad-hoc mobile nodes that provides the service based at least on the update to the name list;
updating a network graph for the plurality of ad-hoc mobile nodes based on the update to the neighborhood metrics of the first mobile node;
computing a path between the source mobile node and the node using the updated network graph, wherein the path includes one or more mobile nodes of the plurality of the ad-hoc mobile nodes;
selecting the node as a destination mobile node when the path is a least-cost path based on the neighborhood metrics for the one or more mobile nodes; and
sending the path to the destination mobile node to cause the destination mobile node to send one or more destination mobile node packets via the path to the source mobile node, wherein when the source mobile node receives the one or more destination mobile node packets from one of the one or more mobile nodes, the source mobile node is caused to send one or more source mobile node packets to the one of the one or more mobile nodes such that the destination mobile node receives the one or more source mobile node packets via the path.
4 Assignments
0 Petitions
Accused Products
Abstract
One embodiment provides a mobile ad-hoc network (MANET). The MANET includes a plurality of mobile nodes and a centralized controller node. The controller node includes a receiving mechanism configured to receive, from a source mobile node, a request for a service, with the request including an identifier associated with the requested service; an identification mechanism configured to identify a destination mobile node that provides the service associated with the identifier; a path-computation mechanism configured to compute a path between the source mobile node and the destination mobile node using a network graph for the mobile nodes; and a path-sending mechanism configured to send the computed path to at least the destination mobile node, which facilitates establishing a route between the source mobile node and the destination mobile node.
399 Citations
21 Claims
-
1. A computer-implemented method for providing service-oriented routing in a mobile ad-hoc network (MANET) that includes a centralized controller node and a plurality of ad-hoc mobile nodes, comprising:
at the centralized controller node; receiving an update message from a first mobile node of the plurality of the ad-hoc mobile nodes, wherein the update message includes an update to neighborhood metrics and an update to a name list specifying names of content items cached in the first mobile node, wherein the neighborhood metrics include a list of neighbor nodes of the plurality of the ad-hoc mobile nodes and connectivity metrics for respective neighbor nodes of the list of neighbor nodes, and wherein the connectivity metrics include a channel reliability, a residual bandwidth, and a queueing latency; receiving, from a source mobile node of the plurality of the ad-hoc mobile nodes, a request for a service, wherein the request includes an identifier associated with the requested service; identifying a node of the plurality of the ad-hoc mobile nodes that provides the service based at least on the update to the name list; updating a network graph for the plurality of ad-hoc mobile nodes based on the update to the neighborhood metrics of the first mobile node; computing a path between the source mobile node and the node using the updated network graph, wherein the path includes one or more mobile nodes of the plurality of the ad-hoc mobile nodes; selecting the node as a destination mobile node when the path is a least-cost path based on the neighborhood metrics for the one or more mobile nodes; and sending the path to the destination mobile node to cause the destination mobile node to send one or more destination mobile node packets via the path to the source mobile node, wherein when the source mobile node receives the one or more destination mobile node packets from one of the one or more mobile nodes, the source mobile node is caused to send one or more source mobile node packets to the one of the one or more mobile nodes such that the destination mobile node receives the one or more source mobile node packets via the path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
10. A non-transitory computer-readable storage medium storing instructions that, when executed by a centralized controller node, cause the centralized controller node to perform a method for providing service-oriented routing in a mobile ad-hoc network (MANET) that includes the centralized controller node and a plurality of ad-hoc mobile nodes, the method comprising:
at the centralized controller node; receiving an update message from a first mobile node of the plurality of the ad-hoc mobile nodes, wherein the update message includes an update to neighborhood metrics and an update to a name list specifying names of content items cached in the first mobile node, wherein the neighborhood metrics include a list of neighbor nodes of the plurality of the ad-hoc mobile nodes and connectivity metrics for respective neighbor nodes of the list of neighbor nodes, and wherein the connectivity metrics include a channel reliability, a residual bandwidth, and a queueing latency; receiving, from a source mobile node of the plurality of the ad-hoc mobile nodes, a request for a service, wherein the request includes an identifier associated with the requested service; identifying a node of the plurality of the ad-hoc mobile nodes that provides the service based at least on the update to the name list; updating a network graph for the plurality of ad-hoc mobile nodes based on the update to the neighborhood metrics of the first mobile node; computing a path between the source mobile node and the node using the updated network graph, wherein the path includes one or more mobile nodes of the plurality of the ad-hoc mobile nodes; selecting the node as a destination mobile node when the path is a least-cost path based on the neighborhood metrics for the one or more mobile nodes; and sending the path to the destination mobile node to cause the destination mobile node to send one or more destination mobile node packets via the path to the source mobile node, wherein when the source mobile node receives the one or more destination mobile node packets from one of the one or more mobile nodes, the source mobile node is caused to send one or more source mobile node packets to the one of the one or more mobile nodes such that the destination mobile node receives the one or more source mobile node packets via the path. - View Dependent Claims (11, 12, 13, 14, 15)
-
16. A mobile ad-hoc network (MANET), comprising:
-
a plurality of mobile nodes; and a centralized controller node, wherein the centralized controller node comprises a processor and a storage device coupled to the processor, wherein the storage device stores instructions which, when executed by the processor, cause the processor to perform a method, the method comprising; receiving an update message from a first mobile node of the plurality of the ad-hoc mobile nodes, wherein the update message includes an update to neighborhood metrics and an update to a name list specifying names of content items cached in the first mobile node, wherein the neighborhood metrics include a list of neighbor nodes of the plurality of the ad-hoc mobile nodes and connectivity metrics for respective neighbor nodes of the list of neighbor nodes, and wherein the connectivity metrics include a channel reliability, a residual bandwidth, and a queueing latency; receiving, from a source mobile node of the plurality of the ad-hoc mobile nodes, a request for a service, wherein the request includes an identifier associated with the requested service; identifying, in response to the request, a node of the plurality of the ad-hoc mobile nodes that is capable of providing the service based at least on the update to the name list; updating a network graph for the plurality of mobile nodes based on the update to the neighborhood metrics of the first mobile node; computing a path between the source mobile node and the node using the updated network graph, wherein the path includes one or more mobile nodes of the plurality of the ad-hoc mobile nodes; selecting the node as a destination mobile node when the path is a least-cost path based on the neighborhood metrics for the one or more mobile nodes; and sending the path to the destination mobile node to cause the destination mobile node to send one or more destination mobile node packets via the path to the source mobile node, wherein when the source mobile node receives the one or more destination mobile node packets from one of the one or more mobile nodes, the source mobile node is caused to send one or more source mobile node packets to the one of the one or more mobile nodes such that the destination mobile node receives the one or more source mobile node packets via the path. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification