The present invention generally pertains to the field of creating a link-state routing protocol for finding an optimal spanning tree in a communication network.
Optimizing management of communication networks has been a continuous challenge for many years. The communication network management system requires finding the balance between using of system resources and optimizing the connectivity of network users.
The following prior art is believed to be the current status of the art.
Throughout the years various protocols have been used to optimize the network management system, among them are: Ad Hoc On-Demand Distance Vector (AODV) On-Demand Multicast Routing Protocol (ODMRP) Optimized Link State Routing Protocol (OSLR) Differential Destination Multicast (DDM) routing protocol Multicast Ad hoc On-Demand Distance Vector (MAODV) routing protocol Topology Broadcast based on Reverse-Path Forwarding (TBRPF) Dynamic Source Routing (DSR) Temporally-Ordered Routing Algorithm (TORA) Zone Routing Protocol for Ad Hoc Networks (ZRP) Source-Tree Adaptive Routing (STAR).
All of these methods are based on the spanning tree describing the network or parts of it at a given time. While only a small portion of the methods apply any consideration to the quality of communication between network nodes, none of them do so in view of the entire network status. This state of affairs can lead to considerable data loss during operation of the network. Consequently, due to lake of information (either by status of the network or by strength of connections) in the stage of spanning a tree, a truly optimal tree cannot be spanned.
There is therefore a long unmet need for a method of managing networks which will consider not only the binary state of connected\disconnected of two specific nodes, but also the quality of this connection.
An object of the invention is to provide a method for selecting at least one relay in a communication network; the network comprises a plurality of nodes; each of the nodes comprises at least one processing unit; each pair of the nodes is characterized by a first connection number; a first score is associated with each pair of (i) first first connection number; and (ii) second first connection number; each of the processing unit is programmed to execute the method;
It is another object of the invention to disclose the method as defined above, additionally comprising step of performing the method on a time changing network; the method is performed at predetermined time steps.
It is another object of the invention to disclose the method as defined above, where method is performed on a time changing network at predetermined time steps, wherein each of the first connection number, second connection number and first score is defined for each time the method is performed.
It is another object of the invention to disclose the method as defined above, additionally comprising step of performing the method on a time changing network upon demand.
It is another object of the invention to disclose the method as defined above, where method is performed on a time changing network upon demand, wherein each of first connection number, second connection number and first score is defined for each time the method is performed.
It is another object of the invention to disclose the method as defined above, wherein characterizing second node with second score depends upon number of relays connected to the second node.
It is another object of the invention to disclose the method as defined above, wherein the first connection number characterizes quality of connection.
It is another object of the invention to disclose the method as defined above, additionally comprising step of providing step of changing the predetermined integer M.
It is another object of the invention to disclose a system for selecting at least one relay in a communication network; the network comprises a plurality of nodes; each of the nodes comprises at least one processing unit; each pair of the nodes is characterized by a first connection number; a first score is associated with each pair of (i) first first connection number; and (ii) second first connection number; for each node the processing unit is programmed to set itself to be a relay; wherein each of the processing unit is programmed to execute the following steps:
It is another object of the invention to disclose the system as defined above, wherein the processing unit is programmed to execute actions (a)-(h) on a time changing network; the actions are performed at predetermined time steps.
It is another object of the invention to disclose the system as defined above, wherein each of the first connection number, second connection number and first score is defined for each time the actions (a)-(h) are performed on a time-changing network at predetermined time-steps.
It is another object of the invention to disclose the system as defined above, wherein the processing unit is programmed to execute actions (a)-(h) on a time changing network upon demand.
It is another object of the invention to disclose the system as defined above, wherein each of first connection number, second connection number and first score is defined for each time the method is performed on a time-changing network upon demand.
It is another object of the invention to disclose the system as defined above, wherein characterizing second node with second score depends upon number of relays connected to the second node.
It is another object of the invention to disclose the system as defined above, wherein the first connection number characterizes quality of connection.
It is another object of the invention to disclose the system as defined above, wherein the predetermined integer M is changeable.
In order to understand the invention and to see how it may be implemented in practice, a few preferred embodiments will now be described, by way of non-limiting example only, with reference to be accompanying drawings, in which:
a and 4b shows transfer functions for grading change of connection strength between two nodes.
The following description is provided so as to enable any person skilled in the art to make use of the invention and sets forth the best modes contemplated by the inventor of carrying out this invention. Various modifications, however, will remain apparent to those skilled in the art, since the generic principles of the present invention have been defined specifically to provide methods and systems for relay selection in a communication network. Also, it is to be understood that the phraseology and terminology employed herein is for the purpose of description and should not be regarded as limiting.
The term ‘Node’ refers hereinafter to a single physical entity (moving or static) with an independent processing unit and at least one communication interface for networking. Considered as a single member of a network, a node could be considered a network of a single physical unit.
The term ‘Relay’ refers hereinafter to a node, which can in a specific time of operation, be used as an interpreter of information between two or more other network nodes.
The term ‘Backbone’ refers hereinafter to a bidirectional loop less graph composed of Relays (as its vertices).
The term ‘Routing’ refers hereinafter to the process of selecting paths in a network along which to send network traffic
The term ‘Link-state routing’ refers hereinafter to decisions on paths achieved by a node sharing the same information about the links with the rest of the nodes in the network, assuming all knowledge about links to the neighbors was somehow transferred to every node. The basic concept of link-state routing is that every node constructs a map of the connectivity to the network, converting this map to a connected graph, and using it to know the routing from point to point or from point to multipoint.
The present invention provides a method for selecting at least one relay in a communication network; the network comprises a plurality of nodes; each of the nodes comprises at least one processing unit; each pair of the nodes is characterized by a first connection number; a first score is associated with each pair of (i) first first connection number; and (ii) second first connection number; each of the processing unit is programmed to execute the method;
wherein the method comprising:
The present invention also provides a system for selecting at least one relay in a communication network; the network comprises a plurality of nodes; each of the nodes comprises at least one processing unit; each pair of the nodes is characterized by a first connection number; a first score is associated with each pair of (i) first first connection number; and (ii) second first connection number; for each the node the processing unit is programmed to set itself to be a relay; wherein each of the processing unit is programmed to execute the following steps:
Reference is now made to
wherein the method comprising:
In some embodiments of the current invention, the method as described above, additionally comprising step of performing said method on a time changing network; said method is performed at predetermined time steps. For example, time steps can be periodic or random. The method may also be performed only upon request and not at predetermined times.
At each time the method is performed said first connection number, second connection number and first score may be redefined partially or fully.
In some embodiments of the current invention, step of characterizing 104 second node with second score depends upon number of relays connected to said second node.
In some embodiments of the current invention, first connection number characterizes quality of connection.
In some embodiments of the current invention, the method as described above, additionally comprising step of providing step of changing the predetermined integer M.
Reference is now made to
In some embodiments of the current invention, the system as described above, wherein said processing unit is programmed to execute actions (a)-(h) on a time changing network;. For example, time steps can be periodic or random. Actions (a)-(h) may also be performed only upon request and not at predetermined times.
In some embodiments of the current invention, the system as described above, wherein each of said first connection number, second connection number and first score is defined for each time said actions (a)-(h) are performed.
In some embodiments of the current invention, the system as described above, wherein said characterizing second node with second score depends upon number of relays connected to said second node.
In some embodiments of the current invention, the system as described above, wherein said predetermined integer M is changeable.
In some embodiments of the current invention, first connection numbers are given at the stage that the network is being constructed and the algorithm is performed using these predetermined numbers. In the case that there are N connection numbers, a matrix 400 as illustrated in
In some embodiments of the current invention, the system as described above, the first connection number characterizes quality of connection. For example, zero can describe no connection at all and any other number in some predetermined scale will represent whether the connection is weak or strong. The first score is aimed to determine the gain the system gets from strengthening or weakening the connection, that is, from changing the connection strength from one number to another. Once a score is set for each such connection, each node in the system runs the algorithm on itself, that is, it starts by setting itself into a relay.
Once the node is set to be relay 300 as illustrated in
Once the connection number is evaluated, a first grade can be given to each new connection between the relay 300 and the second connected node 302a (b or c).
The first grade will be the grade given for changing the connection number from (i) connection number between the relay 300 and the second connected node 302a (b or c) from what it is before connecting it via the first connected node 301a (or b) to (ii) the connection number between the relay 300 and the second connected node 302a (b or c) from what it is before connecting it via the first connected node 301a (or b).
Reference is now made to
This procedure continues for each node until a stopping criterion is fulfilled. The result is a method for finding an optimal spanning tree of the network.
This example is provided in a non-limiting manner to illustrate one scope of the invention, wherein in a method for selecting at least one relay in a communication network, the network comprises a plurality of nodes; each of the nodes comprises at least one processing unit; each pair of the nodes is characterized by an integer between 0-3, where 0 indicates that the two nodes are not connected, and any number between 1-3 indicates a connection between the nodes and the strength of this connection. An illustration can be seen in
A first score is given to any two integers between 0-3 shown in a matrix 401 in
A second connection number is now given for each third node 302 when connected via a second node 301.The second connection number of:
A first score is given now to each third node 302 when connected to each second node 301. The first score is based on changing the connection number between relay 300 and third node 302 from first connection number (zero in this case) to the second connection number:
A second score is now given to the second nodes 301a and 301b according to the first score of the third nodes 302:
The score of the second node 301a is higher, therefore it is selected to be a relay.
It will be appreciated by persons skilled in the art that embodiment of the invention are not limited by what has been particularly shown and described hereinabove. Rather the scope of at least one embodiment of the invention is defined by the claims below.
| Filing Document | Filing Date | Country | Kind |
|---|---|---|---|
| PCT/IL13/50229 | 3/12/2013 | WO | 00 |
| Number | Date | Country | |
|---|---|---|---|
| 61610553 | Mar 2012 | US |