The present invention relates generally to communications and, in particular, to node discovery in communication networks.
This section introduces aspects that may help facilitate a better understanding of the inventions. Accordingly, the statements of this section are to be read in this light and are not to be understood as admissions about what is prior art or what is not prior art.
In an autonomous dynamic ad-hoc/fixed network there is no central authority that maintains network topology and/or individual characteristics of member nodes. If an application on a node needs to find a set of nodes in the network that meet a certain criterion, there is no known, efficient way of discovering these nodes.
In current implementations, a central node will be selected to maintain all the said parameters and topology of the network and its associated hosts. Any node interested in a set of nodes meeting a set criterion would query this central node. The central node would then reply back to the originator node with a set of nodes. However, this approach has a number of potential issues:
A node interested in only a subset of nodes in the whole cluster (e.g., those separated by just two hops) won't be able to set that criterion when performing the search. In essence localized searches cannot be performed. Thus, new solutions and techniques that are able to address one or more of the issues encountered in current implementations would meet a need and advance wireless communications generally.
Specific embodiments of the present invention are disclosed below with reference to
Simplicity and clarity in both illustration and description are sought to effectively enable a person of skill in the art to make, use, and best practice the present invention in view of what is already known in the art. One of skill in the art will appreciate that various modifications and changes may be made to the specific embodiments described below without departing from the spirit and scope of the present invention. Thus, the specification and drawings are to be regarded as illustrative and exemplary rather than restrictive or all-encompassing, and all such modifications to the specific embodiments described below are intended to be included within the scope of the present invention.
Various methods and devices are provided to address the need for improved network node discovery. In one method, a network node receives from a sending node a request indicating a criterion of interest to an originator node. If the network node meets the criterion, the network node sends a response to the originator node indicating that the network node meets the criterion. The network node also forwards the request to any nodes that neighbor the network node other than the sending node. An article of manufacture is also provided, the article comprising a processor-readable storage medium storing one or more software programs which when executed by one or more processors performs the steps of this method.
Many embodiments are provided in which the method above is modified. For example, in many embodiments the forwarding of the request to any nodes that neighbor the network node involves forwarding the request to any nodes that are a single network hop from the network node. Also, in many embodiments, the network node decrements a hop count value included in the request prior to forwarding the request. Subsequent to forwarding the request, the network node may additionally handle various other events, depending on the embodiment. For example, the network node may detect a new neighboring node to which the request has not been forwarded and thus proceeds to forward the request to the new neighboring node. In another example, the network node may receive the request again but from a different sending node and determine that the request has already been forwarded to any nodes that neighbor the network node. In yet another example, the network node may receive a response for the originator node from a node to which the network node forwarded the request and then forward the received response towards the originator node.
In another method, an originator node sends to each network node, of a group of network nodes that neighbor the originator node, a request indicating a criterion of interest to the originator node. The originator node establishes a period of time during which to receive responses to the request sent to each network node of the group and collects information to identify which network nodes meet the criterion. An article of manufacture is also provided, the article comprising a processor-readable storage medium storing one or more software programs which when executed by one or more processors performs the steps of this method.
A network node apparatus is also provided. The network node being configured to communicate with other devices of a system and being operative to receive, from a sending node, a request indicating a criterion of interest to an originator node and to determine whether the network node meets the criterion. If the network node meets the criterion, the network node is operative to send a response to the originator node indicating that the network node meets the criterion. The network node is also operative to forward the request to any nodes that neighbor the network node other than the sending node.
To provide a greater degree of detail in making and using various aspects of the present invention, a description of our approach to the discovery of nodes that meet a given criterion and a description of certain, quite specific, embodiments follows for the sake of example.
We propose a distributed mechanism for discovering a set of nodes in a network. Consider an ad-hoc/fixed network with number of nodes. These nodes are connected to each other through one or more transport mediums. When a node is interested in a set of nodes meeting a certain criterion, it first discovers its neighbors by broadcasting its availability on the transport medium or through a routing protocol, like Ad hoc On-Demand Distance Vector (AODV) for ad hoc networks. Neighbors that are one hop away from this node would perform the following actions.
Diagram 100 of
Thus, the embodiments described above provide an example of how a set of nodes that meet a certain criterion can be discovered. Network traffic to discover these nodes is triggered when a node requests that information. The set of nodes discovered is current with respect to topology, and topology changes, like the addition of nodes, can be handled automatically without triggering a second request. Also, the network traffic required to discover this information can be controlled by the use of timers, forward flags and/or path metrics. In sum, a solution is provided to network discovery that is distributed, that is not vulnerable to a single point failure, and that reduces the need to maintain complete network information such as topology, parameters, etc.
The detailed and, at times, very specific description above is provided to effectively enable a person of skill in the art to make, use, and best practice the present invention in view of what is already known in the art. In the examples, specifics are provided for the purpose of illustrating possible embodiments of the present invention and should not be interpreted as restricting or limiting the scope of the broader inventive concepts.
Aspects of embodiments of the present invention can be further understood with reference to
Many embodiments are provided herein in which the method and logic flow above may be modified. Subsequent to forwarding (203) the request, the network node may additionally handle various other events, depending on the embodiment. Logic flow diagrams 210, 220 and 230 in
Benefits, other advantages, and solutions to problems have been described above with regard to specific embodiments of the present invention. However, the benefits, advantages, solutions to problems, and any element(s) that may cause or result in such benefits, advantages, or solutions, or cause such benefits, advantages, or solutions to become more pronounced are not to be construed as a critical, required, or essential feature or element of any or all the claims.
As used herein and in the appended claims, the term “comprises,” “comprising,” or any other variation thereof is intended to refer to a non-exclusive inclusion, such that a process, method, article of manufacture, or apparatus that comprises a list of elements does not include only those elements in the list, but may include other elements not expressly listed or inherent to such process, method, article of manufacture, or apparatus. The terms a or an, as used herein, are defined as one or more than one. The term plurality, as used herein, is defined as two or more than two. The term another, as used herein, is defined as at least a second or more. Unless otherwise indicated herein, the use of relational terms, if any, such as first and second, top and bottom, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions.
The terms including and/or having, as used herein, are defined as comprising (i.e., open language). The term coupled, as used herein, is defined as connected, although not necessarily directly, and not necessarily mechanically. Terminology derived from the word “indicating” (e.g., “indicates” and “indication”) is intended to encompass all the various techniques available for communicating or referencing the object/information being indicated. Some, but not all, examples of techniques available for communicating or referencing the object/information being indicated include the conveyance of the object/information being indicated, the conveyance of an identifier of the object/information being indicated, the conveyance of information used to generate the object/information being indicated, the conveyance of some part or portion of the object/information being indicated, the conveyance of some derivation of the object/information being indicated, and the conveyance of some symbol representing the object/information being indicated.