Claims
- 1. A method for a learning-based strategy utilized within message-initiated constraint-based routing for digital message communication among nodes in an ad-hoc network, wherein each node includes a plurality of attributes having attribute values, comprising:
determining local attributes for each of the nodes in the ad-hoc network; providing access to the attributes of each neighboring node, wherein said neighboring node is a node one hop away from a current node within the ad-hoc network; estimating the minimum and maximum values of at least one attribute within the plurality of attributes; defining constraints on the plurality of attributes; performing constraint checking for each message type, wherein a message type includes a destination specification, route specification, and objective specification; performing cost estimation checking for each said message type, wherein cost is defined as the total value of an attribute along a message path; utilizing cost estimation to converge on an optimal message path; and routing a message within the ad-hoc network, said message including the address of a sending node, the address of the source node, route and destination constraints, the number of route constraints, the number of destination constraints, message identification number, sequence identification number, and routing objectives.
- 2. The method for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 1, wherein said message further comprises a routing strategy identification number for identifying a routing strategy type.
- 3. The method for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 2, wherein said routing strategy type comprises a search-based routing strategy.
- 4. The method for a learning-based strategy utilized within of message-initiated constraint-based routing according to claim 3, wherein said search-based routing strategy comprises:
receiving not less than one forward message from not less than one source node within the ad-hoc network; determining whether said forward message is of a new type; identifying an appropriate entry for said forward message type; estimating a cost for transmission of said forward message from a receiving node to a destination node; sending a confirmation of said estimated cost; reviewing the destination of said forward message and processing said forward message if said destination has been reached; and reviewing the destination of said forward message and selecting a next node for receipt of said forward message, updating said forward message with identification of the intermediate node through which said forward message has passed, and transmitting said forward message to said next node if said destination has not been reached.
- 5. The method for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 4, wherein estimating a cost for transmission from said receiving node to said destination node comprises determining the sum of the local cost and the estimated cost for the total path from said next node.
- 6. The method for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 4, wherein sending a confirmation of said estimated cost comprises sending said estimated cost to said source node.
- 7. The method for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 4, wherein sending a confirmation of said estimated cost comprises broadcasting said estimated cost to a plurality of nodes within the network.
- 8. The method for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 4, further comprising sending a destination confirmation to said source node.
- 9. The method for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 4, further comprising updating said entry for said message type.
- 10. The method for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 4, wherein next node selection is based on a selection criterion, said selection criterion comprising the neighbor with the minimum estimated cost.
- 11. The method for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 10, wherein said next node selected comprises a neighbor node having the highest probability of meeting said selection criterion.
- 12. The method for a learning-based strategy utilized within of message-initiated constraint-based routing according to claim 10, wherein the next node selected is a plurality of nodes within the network.
- 13. The method for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 8, wherein sending a destination confirmation comprises:
receiving a message confirmation from a node on the network; locating a message entry for the message type of said received message; and updating said message entry with the cost objective estimate, wherein said cost objective estimate comprises the weighted sum of the new cost values from said confirmation message and the previous cost values in the message entry.
- 14. The method for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 8, further comprising:
determining whether said receiving node is a source node or if there is no change in the message entry; and sending a confirmation message to said source node if either the current node is not a source node or if there is a change in said message entry.
- 15. The method for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 8, further comprising updating cost values at all nodes in said message path back to said source node.
- 16. The method for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 4, further comprising back propagating a confirmation message.
- 17. The method for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 16, wherein said back propagation comprises:
receiving a confirmation message having a number of back propagations, wherein back propagations updates said message entry for all receiving and sending nodes along said message path; determining whether said message is of a new type; creating a message entry if said message is a new type message; updating said message entry with a new cost value; locating an existing message entry for a message which is not a new type message; updating the cost value of said existing message entry and reducing the back propagation number count by one; discontinuing back propagation if the receiving node is a source node; discontinuing back propagation if said new cost value is the same as said updated cost value; and discontinuing back propagation if no additional potential receiving nodes are identified.
- 18. The method for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 16, wherein back propagation is performed only when said message arrives at said destination node.
- 19. The method for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 16, wherein back propagation is performed only for specified nodes along said message path.
- 20. The method for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 16, wherein back propagation is performed only for a specified number of nodes along said message path.
- 21. A system for a learning-based strategy utilized within message-initiated constraint-based routing for digital message communication among nodes in an ad-hoc network, wherein each node includes a plurality of attributes having attribute values, comprising:
local attribute module means for determining local attributes for each of the nodes in the ad-hoc network; remote attribute module means for providing access to the attributes of each neighboring node, wherein said neighboring node is a node one hop away from a current node within the ad-hoc network; timer module for providing a time trigger function for said local attribute module and said remote attribute module; broadcast module for providing a send function for said local attribute module and a receive function for said remote attribute module; attribute property module for estimating the minimum and maximum values of at least one attribute within the plurality of attributes; constraint module for defining constraints on the plurality of attributes, performing constraint checking for each message type, wherein a message type includes a destination specification, route specification, and objective specification, and performing cost estimation checking for each said message type, wherein cost is defined as the total value of at least one attribute along a message path; and routing module for routing a message within the ad-hoc network utilizing a learning-based strategy to converge on an optimal message path, said message including the address of a sending node, the address of the source node, route constraints, destination constraints, the number of route constraints, the number of destination constraints, message identification number, sequence identification number, and routing objectives.
- 22. The system for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 21, wherein said learning-based strategy comprises cost estimation.
- 23. The system for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 21, wherein said message further comprises a routing strategy identification number for identifying a routing strategy type.
- 24. The system for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 23, wherein said routing strategy type comprises a search-based routing strategy.
- 25. The system for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 24, wherein said search-based routing strategy comprises:
means for receiving not less than one forward message from not less than one source node within the ad-hoc network; means for determining whether said forward message is of a new type; means for identifying an appropriate entry for said forward message type; means for estimating a cost for transmission of said forward message from a receiving node to a destination node; means for sending a confirmation of said estimated cost; means for reviewing the destination of said forward message and processing said forward message if said destination has been reached; and means for reviewing the destination of said forward message and selecting a next node for receipt of said forward message, updating said forward message with identification of the intermediate node through which said forward message has passed, and transmitting said forward message to said next node if said destination has not been reached.
- 26. The system for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 25, wherein estimating a cost for transmission from said receiving node to said destination node comprises determining the sum of the local cost and the estimated cost for the total path from said next node.
- 27. The system for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 25, wherein sending a confirmation of said estimated cost comprises sending said estimated cost to said source node.
- 28. The system for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 25, wherein sending a confirmation of said estimated cost comprises broadcasting said estimated cost to a plurality of nodes within the network.
- 29. The system for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 25, further comprising sending a destination confirmation to said source node.
- 30. The system for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 25, further comprising updating said entry for said message type.
- 31. The system for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 25, wherein next node selection is based on a selection criterion, said selection criterion comprising the neighbor with the minimum estimated cost.
- 32. The system for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 31, wherein said next node selected comprises a neighbor node having the best possibility of meeting said selection criterion.
- 33. The system for a learning-based strategy utilized within of message-initiated constraint-based routing according to claim 31, wherein the next node selected comprises a plurality of nodes within the network.
- 34. The system for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 29, wherein means for sending a destination confirmation comprises:
means for receiving a message confirmation from a node on the network; means for locating a message entry for the message type of said received message; and means for updating said message entry with the cost objective estimate, wherein said cost objective estimate comprises the weighted sum of the new cost values from said confirmation message and the previous cost values in the message entry.
- 35. The system for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 34, further comprising:
means for determining whether said receiving node is a source node or if there is no change in the message entry; and means for sending a confirmation message to said source node if either the current node is not a source node or if there is a change in said message entry.
- 36. The system for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 29, further comprising back propagating a confirmation message.
- 37. The system for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 36, wherein said back propagation comprises:
means for receiving a confirmation message having a number of back propagations, wherein back propagations updates said message entry for all receiving and sending nodes along said message path; means for determining whether said message is of a new type; means for creating a message entry if said message is a new type message; means for updating said message entry with a new cost value; means for locating an existing message entry for a message which is not a new type message; means for updating the cost value of said existing message entry and reducing the back propagation number count by one; means for discontinuing back propagation if the receiving node is a source node; means for discontinuing back propagation if said new cost value is the same as said updated cost value; and means for discontinuing back propagation if no additional potential receiving nodes are identified.
- 38. The system for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 36, wherein back propagation is performed only when said message arrives at said destination node.
- 39. The system for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 36, wherein back propagation is performed only for specified nodes along said message path.
- 40. The system for a learning-based strategy utilized within message-initiated constraint-based routing according to claim 36, wherein back propagation is performed only for a specified number of nodes along said message path.
- 41. An article of manufacture comprising a computer usable medium having computer readable program code embodied in said medium which, when said program code is executed by said computer causes said computer to perform method steps for a learning-based strategy utilized within message-initiated constraint-based routing for digital message communication among nodes in an ad-hoc network, wherein each node includes a plurality of attributes having attribute values, the method comprising:
determining local attributes for each of the nodes in the ad-hoc network; providing access to the attributes of each neighboring node, wherein said neighboring node is a node one hop away from a current node within the ad-hoc network; estimating the minimum and maximum values of at least one attribute within the plurality of attributes; defining constraints on the plurality of attributes; performing constraint checking for each message type, wherein a message type includes a destination specification, route specification, and objective specification; performing cost estimation checking for each said message type, wherein cost is defined as the total value of an attribute along a message path; utilizing cost estimation to converge on an optimal message path; and routing a message within the ad-hoc network, said message including the address of a sending node, the address of the source node, route and destination constraints, the number of route constraints, the number of destination constraints, message identification number, sequence identification number, and routing objectives.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The following co-pending applications, Attorney Docket Number D/A3157, U.S. application Ser. No.______, filed______, titled “Protocol Specification for Message-initiated Constraint-based Routing”, and Attorney Docket Number D/A3159, U.S. application Ser. No.______, filed______, titled “Time-aware Strategy for Message-initiated Constraint-based Routing”, are assigned to the same assignee of the present application. The entire disclosures of these co-pending applications are totally incorporated herein by reference in their entirety.
Government Interests
[0002] This work was funded in part by the Defense Advanced Research Projects Agency (DARPA), Contract #F33615-01-C-1904. The U.S. Government may have certain rights in this invention.