The present invention relates to a communication device, a method for detecting a hub, and a method for transmitting a packet, and more particularly, to a communication device for transmitting a packet to a selected forwarding node by using an ant colony algorithm in a multi-hop network, a method for detecting a hub, and a method for transmitting a packet.
The present invention is derived from research supported by NAP of Korea Research Council of Fundamental Science & Technology.
An ant colony algorithm is a routing method based upon such recognition that ants use the shortest distance when seeking food and share information with each other by emitting pheromone up to a destination. The related art ant colony algorithm is advantageous in that the shortest path can be sought in an autonomous manner without such control overhead as in a flooding scheme but disadvantageous in that it causes congestion of a particular area.
Meanwhile, an online social network, which is based on a wired network, has characteristics in that mobility is scarce and communication is performed based on data stored in servers of service providers, so the users role is not large in transferring data.
In comparison, a data transmission of a mobile social network is made based on information stored in user personal terminal, so the role of users is of relatively great importance. Here, the mobile social network refers to a network in which users of mobile portable communication terminals such as smartphones, tablets PCs, or the like, form a community through a social application according to common interests of individuals or groups to exchange data.
Currently, one-hop communication through a cellular network, a wireless (Wi-Fi) network, a Bluetooth network, or the like, is the mainstream, but, in the future, it is highly like to be reorganized into a structure in which terminals establish an ad-hoc network through radio communication and a data transmission is made through a multi-hop of a heterogeneous network including the ad-hoc network. This will advantageously lessen data explosion because resources of the cellular network and the wireless (Wi-Fi) network occupied by the users of the smartphones and tablet PCs that are currently sharply increasing can be considerably reduced.
Also, a social network is known as a scale-free network. Thus, a hub which is connected with a large number of different nodes, compared with general nodes, exist in the social network. Such a hub is frequently selected as a transmission path of the shortest path routing and has characteristics in that data can be transferred in various directions.
Meanwhile, in the related art communication network, in order to search for a hub, betweenness centrality must be measured based on information regarding an overall topology. However, there is a difficulty in detecting a hub due to an absence of a central management system, discontinuity of a wireless network connection, or the like. In addition, a hub may cause traffic congestion due to relatively frequent connections and may be utilized as a propagation means such as virus, warm, or the like.
The above information disclosed in this Background section is only for enhancement of understanding of the background of the invention and therefore it may contain information that does not form the prior art that is already known in this country to a person of ordinary skill in the art.
The present invention has been made in an effort to provide a communication device, a method for detecting a hub, and a method for transmitting a packet having advantages of detecting a hub in such a distributed manner that a central control system is not required, and reducing the frequency of use of a path with respect to the hub.
An exemplary embodiment of the present invention provides a communication device. The communication device operating as a node constituting a multi-hop network in which a plurality of different networks are mixed, includes: a hub detection unit configured to determine whether or not the communication device is a hub; a pheromone calculation unit configured to calculate a pheromone value according to whether or not the communication device is a hub; a transmission unit configured to broadcast the pheromone value to neighbor nodes; a reception unit configured to receive the pheromone value from each of the neighbor nodes; and a forwarding node selecting unit configured to compare the pheromone values of the neighbor nodes and select a neighbor node having the greatest pheromone value as a forwarding node to which a packet is to be transmitted.
Another embodiment of the present invention provides a method for detecting a hub. The method includes: storing, by a certain node constituting a multi-hop network in which a plurality of different networks are mixed, a source address and a destination address of packets which have passed through the certain node; receiving location information, a pheromone value, and path utilization frequency of each of one-hop neighbor nodes from the one-hop neighbor nodes; determining whether or not the one-hop neighbor nodes are problematic nodes based on received signal strength, the location information, and the pheromone value of each of the one-hop neighbor nodes; and determining whether or not the certain node itself is a hub by comparing path utilization frequency of a one-hop neighbor node which is not a problematic node with path utilization frequency of the certain node.
Yet another embodiment of the present invention provides a method for transmitting a packet. The method for transmitting a packet by a node constituting a multi-hop network in which a plurality of different networks are mixed, includes: whether or not the node is a hub; calculating a pheromone value according to whether or not the node is a hub; exchanging the pheromone value with neighbor nodes; comparing pheromone values received from the neighbor nodes; and transmitting a packet to a neighbor node having the greatest pheromone value.
According to an embodiment of the present invention, since the method for assigning pheromone is provided to detect a hub and prevent the hub from being overly included in a routing path, a congestion in the area around the hub can be prevented and a degradation of performance of an overall network when the hub has a problem due to an attack, an intrusion, a failure, or the like, can be minimized.
Also, since a hub is detected by using path utilization frequency based on the number of hops through which a packet has passed, a source address, and a destination address in a mobile social network, only information regarding the node itself and neighbor nodes is utilized, so overhead with respect to overall topology information exchange can be reduced.
In addition, in the method for detecting a hub may be utilized for effectively detecting a hub in a hub-and-spoke type network such as a scale-free network, a wireless mesh network, a wireless sensor network, or the like.
Moreover, since effective communication is selected according to a channel status and a billing policy of several communications and a pheromone value is calculated according to a movement speed of a neighbor node and whether or not a corresponding node is a hub, an optimum service can be provided in the process of transmitting data.
Furthermore, usage frequency of a hub can be appropriately adjusted by controlling a pheromone value of the hub, and a traffic congestion around the hub can be resolved. Thus, the influence of a hub, which is infected by a virus, worm, or the like, so as to be utilized as a propagation means, or the influence of a hub when the hub has a problem such as a failure, an attack, or the like, on the overall network performance can be minimized.
In the following detailed description, only certain exemplary embodiments of the present invention have been shown and described, simply by way of illustration. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In order to clarify the present invention, parts irrespective of description will be omitted, and similar drawing sequences are used for the similar parts throughout the specification.
Throughout the specification, unless explicitly described to the contrary, the word “comprise” and variations such as “comprises” or “comprising”, will be understood to imply the inclusion of stated elements but not the exclusion of any other elements.
Term of “ . . . part” described in the specification refers to a unit for processing at least one function or operation, and it may be implemented by hardware, software, or a combination of hardware and software.
With reference to
Here, in the mobile social network, a data transmission is made based on information stored in user personal information, so the users role is given a great deal of weight. Namely, the mobile social network refers to a network in which users of mobile portable communication terminals such as smartphones, tablet PCs, or the like, form a community through a social application according to common interests of individuals or groups to exchange data.
Such a social network is implemented as an ad-hoc multi-hop network including one or more nodes and a set of links existing between two nodes.
Here, each node is a constituent element constituting the multi-hop network, and includes a base station, an access point, a desktop PC, a smartphone, a tablet PC, or the like. Here, the node having mobility, such as a smartphone, a table PC, or the like, is particularly called a mobile node.
The multi-hop network is a network in which a plurality of heterogeneous networks are mixed. In the multi-hop network, a desktop PC connected to a weird network or a wireless network, a plurality of access points providing a wireless (Wi-Fi) network service, a plurality of base stations (BSs) providing a cellular network service exist as a single node present on a communication path. Namely, nodes providing different communication schemes form different links to transmit and receive packets.
Also, information regarding a neighbor node can be known by transmitting and receiving a hello message. Namely, when a node wants to inform about its existence, the node may periodically transmit a hello message to a one-hop neighbor node.
For example, when a source node 100 transmits a packet to a destination node 100′ a desktop PC, an access point, and a tablet PC exist on a packet transmission path, and the packet is transmitted to the final destination node 100′ through such multi-hop. Here, the source node 100 and the destination node 100′ are all smartphones.
Here, all the nodes will be generally called a communication device 100, and the communication device 100 is configured as shown in
The communication device 100 includes constituent elements each performing a unique function according to whether they are a mobile node, a base station, and an access point. In
With reference to
The packet transmission unit 101 transmits a packet to a one-hop neighbor node selected as a forwarding node by the forwarding node selecting unit 117. In this case, the packet transmission unit 101 transmits a packet having a set TTL (Time-To-Live) value.
Here, the TTL value is reduced by 1 each time whenever the packet is hopped to a different node, and the packet is hopped to a different node until such time as the TTL value becomes 0. For example, when a node receives the packet from the source node, it reduces the TTL value by 1 and hops it to a neighbor node.
The packet reception unit 103 receives the packet from the source node or a certain one-hop neighbor node.
The FIB management unit 105 updates an FIB including routing table information whenever the packet is transmitted or received through the packet transmission u nit 101 and the packet reception unit 103. Namely, the FIB management unit 105 stores a source address and a destination address of packets which have passed therethorugh.
The communication method selecting unit 107 selects an appropriate communication method according to a channel status and a billing policy from among communication using a cellular network base station communication using a wireless network access point, and direct communication through neighbor nodes.
The communication method selecting unit 107 includes a user interface for requesting a user to select an access network from among a plurality of networks and receiving a selected network when the user wants a data connection.
Also, when a communication method of the communication device 100 is fixed like a base station, an access point, or the like, the communication method selecting unit 107 selects a communication method set as a default.
The hello message reception unit 109 periodically receives hello messages from one-hop neighbor nodes. The hello message includes location information of the corresponding neighbor nodes, a movement speed, a path utilization frequency, a pheromone value, and a communication method.
The hub detection unit 111 determines whether or not a certain one-hop neighbor node is a problematic node based on location information, received signal strength, and a pheromone value checked through the hello messages from the one-hop neighbor nodes received through the hello message reception unit 109, and excludes a one-hop neighbor node determined to be a problematic node. And, the hub detection unit 111 compares the path utilization frequency and the pheromone value of the communication device 100 with those of one-hop neighbor nodes, not a problematic node, in order to determine whether or not the communication device 100 is a hub.
In detail, the hub detection unit 111 determines whether or not received signal strength of each of hello messages received by the hello message reception unit 109 from one-hop neighbor nodes satisfies a certain strength and whether or not a link connection duration (tij) satisfies a predefined threshold value.
Here, in order to minimize the influence of mobility of each of the mobile nodes (i), the hub detection unit 111 estimates a link connection duration (tij) by using location information (xj, yj) a relative movement speed (vx, vy), a transmission range (d) of each of the mobile nodes (i), as represented by Equation 1 shown below.
Here, vx, vy are relative movement speeds in an x axis direction and y axis direction of one-hop neighbor node (j) with respect to each of the mobile nodes (i), respectively.
rx, ry are relative coordinates of x axis and y axis of one-hop neighbor node (i).
Also, the hub detection unit 111 calculates its path utilization frequency based on location information and pheromone values checked through the hello messages from the one-hop neighbor nodes whose received signal strength satisfies a certain strength and link connection duration (tij) satisfies the predefined threshold value, and a source address and a destination address stored in the FIB. And, the hub detection unit 111 compares the calculated path utilization frequency of its own with path utilization frequency included in the hello messages of the one-hop neighbor nodes, and when its path utilization frequency is greater and the TTL of a transmission and reception packets satisfies an average TTL condition, the hub detection unit 111 recognizes that the communication device 100 is a hub.
When the communication device 110 is a mobile node, the pheromone calculation unit 113 calculates its relative movement speed based on the movement of one-hop neighbor node, and calculates a pheromone value according to whether or not the hub detection unit 111 detects that communication device 100 is a hub. Here, the pheromone calculation unit 113 updates the pheromone value each time a packet is transmitted or received.
Here, the pheromone value is calculated through Equation 2 shown below.
P
id(t+1)=(1−ρM)Pid(t)+e−KP
Here, Pid(t+1) is a pheromone value corresponding to a destination node d of each node i at a point in time t+1 calculated based on a pheromone value corresponding to the destination node d of each node i at a point in time t. The method for calculating such a pheromone value follows the conventional ant colony algorithm.
ρM is a pheromone evaporation rate with respect to a cellular network, a wireless (Wi-Fi) network, and a mobile terminal.
e−KP
In this manner, as the pheromone values are continuously updated in each of the nodes according to Equation 2, a stable routing path can be secured.
The hello message transmission unit 115 includes the pheromone value calculated by the pheromone calculation unit 113 and the communication method selected by the communication method selecting unit 107 in a hello message, and periodically broadcasts the hello message to the one-hop neighbor nodes.
The forwarding node selecting unit 117 selects one-hop neighbor nodes, whose link connection duration estimated by the hub detection unit 111 satisfies the predefined reference value, among one-hop neighbor nodes from which the hello message reception unit 109 has received the hello messages, as targets of forwarding nodes. And then, the forwarding node selecting unit 117 compares pheromone values of the one-hop neighbor nodes selected as targets of forwarding nodes, selects a one-hop neighbor node having the greatest pheromone value as a forwarding node, and informs the packet transmission unit 101 accordingly.
With reference to
Here, the source address field 201 includes source addresses of packets which have passed through a corresponding node.
The destination address field 203 includes destination addresses of packets which have passed through a corresponding node.
The neighbor node address field 205 includes neighbor node addresses which may be included in a packet transmission path with respect to the destination addresses included in the destination address field 203.
The neighbor node location information field 207 includes location information regarding a neighbor node included in the neighbor node address field 205.
The neighbor node speed information field 209 includes velocity information regarding a neighbor node included in the neighbor node address field 205.
The neighbor node pheromone field 211 includes pheromone values of respective neighbor nodes included in the neighbor node address field 205.
With reference to
The location information field 301 includes location information of a corresponding node.
The movement speed field 303 includes a movement speed of a corresponding node.
The path utilization frequency field 305 includes path utilization frequency of a corresponding node.
The pheromone field 307 includes a pheromone value of a corresponding node.
The communication method field 309 includes a communication method of a corresponding node. Here, when a corresponding node is a base station or an access point, a default communication method may be set for the base station or the access point, respectively. Namely, when the corresponding node is a base station, a cellular network is set as a default communication method, when the corresponding node is an access point, a wireless LAN is set as a default communication method, and when the corresponding node is a desktop PC, a wired network is set as the default communication method. Also, when the corresponding node is a mobile node, a communication method selected by the user from among accessible communication schemes may be set.
With reference to
Here, the average TTL values may change according to mobility, a connection configuration, and the number of nodes of a network. Namely, when the total number of nodes is 1,000, an average TTL is 2.1, when the total number of nodes is 2,000, an average TTL is 2.8, when the total number of nodes is 3,000, an average TTL is 3.2, when the total number of nodes is 4,000, an average TTL is 3.7, and when the total number of nodes is 5,000, an average TTL is 4.0.
Thus, the hub detection unit 111 of
With reference to
Also, when the communication method of the communication device 100 is a cellular ρM) is 0.2.
When the communication method of the communication device 100 is a wireless (Wi-Fi) network, the pheromone evaporation rate (ρM) is 0.3.
When the communication method of the communication device 100 is direct communication between devices, the pheromone evaporation rate (ρM) is 0.4.
Thus, the pheromone calculation unit 113 of
With reference to
Also, in case in which whether or not a node is a hub is true, when 0<path utilization frequency (f)≦10, the parameter K is mapped as 2.
Also, in case in which whether or not a node is a hub is true, when 0<path utilization frequency (f)≦20, the parameter K is mapped as 3.
Also, in case in which whether or not a node is a hub is true, when 20<path utilization frequency (f), the parameter K is mapped as 4.
Thus, the pheromone calculation unit 113 of
A method for detecting a hub and a method for transmitting a packet of the communication device 100 according to an embodiment of the present invention will now be described.
Here, the same reference numerals will be used in association with the constituent elements of
Here, a packet transmission includes both an operation of first transmitting, by a source node, a packet, and an operation of routing, by a forwarding node positioned between the source node and a destination node, the packet.
With reference to
Here, step S101 is performed when the communication device 100 is a mobile node. This step may be omitted when the communication device 100 is a base station, an access point, or a desktop PC, because the communication method is fixed such that it cannot be selected.
Next, the hub detection unit 111 of the communication device 100 determines whether or not the communication device 100 is a hub having high path utilization frequency (S103). A detailed process will be described later with reference to
And then, the pheromone calculation unit 113 of the communication device 100 calculates a pheromone value by using Equation 2 according to the communication method selected in step S101 or a communication method set as a default, and according to whether or not the communication device 100 is a hub having high path utilization frequency as detected in step S103 (S105). Namely, when the communication device 100 is detected as a hub in step S103, a pheromone value is calculated by applying K selected from the parameter configuration table of
Thereafter, the hello message transmission unit 115 of the communication device 100 broadcasts a hello message including the pheromone value calculated in step S105 to one-hop neighbor nodes, and the hello message reception unit 109 receives hello messages from the one-hop neighbor nodes, respectively (S107).
Here, the operation of broadcasting the hello message and the operation of receiving the hello messages may be simultaneously performed or separately performed.
And then, the forwarding node selecting unit 117 of the communication device 100 compares pheromone values of the one-hop neighbor nodes based on the hello messages received in step S107 (S 109) and transmits a packet to a neighbor node having the greatest pheromone value (5111).
Here, in case of a node operating as a hub among the one-hop neighbor nodes, the fact that the node is a hub is reflected in the pheromone value, so the node has a lower pheromone value than that of other neighbor nodes, and thus, it is not selected as a node for a packet transmission, resulting in a reduction of the path utilization frequency of the hub.
With reference to
Thereafter, the hub detection unit 111 of the communication device 100 determines whether or not the received signal strength of each of the hello messages received by the hello message reception unit 109 from the one-hop neighbor nodes (S205) is equal to or greater than a predetermined strength (S207). This step is to exclude neighbor nodes in an unstable state from an intention determination process.
Next, the hub detection unit 111 estimates a link connection duration (tij) of each of the one-hop neighbor nodes whose received signal strength is determined to be equal to or greater than the predetermined strength (S209) to determine whether or not the link connection duration (tij) satisfies a predefined threshold value (S211).
Here, one-hop neighbor nodes satisfying the predetermined threshold value are selected as forwarding node subjects (or targets) (S213).
Here, the process of estimating a link connection duration may be omitted in an environment in which mobility is scarce.
Then, the hub detection unit 111 determines whether or not a TTL of the transmitted or received packet satisfies an average TTL condition (S215). Here, the TTL of the transmitted or received packet is included in the transmitted or received packet.
Also, the average TTL may change according to mobility, a connection configuration, or the number of nodes of a network, and it may be previously stored or may be calculated periodically.
For example, as the average TTL condition, an average TTL condition mapped to a network to which the communication device 100 itself belongs in the values of
Here, when the average TTL condition is met in step S215, the hub detection unit 111 calculates path utilization frequency of the node itself based on the information included in the FIB which was updated in step S203 (S217).
And, the hub detection unit 111 compares the calculated path utilization frequency with the path utilization frequency included in each of the hello messages received from the one-hop neighbor nodes (S205) selected as forwarding node subjects in step S213 and determine whether or not the calculated path utilization frequency is greater (S221).
When the path utilization frequency calculated in step S217 is greater than each path utilization frequency received in step S205, the communication device 100 determines that it is a hub (S223).
Here, when the mobile social network does not meet the reference of the scale-free network, step S215 is omitted and the next step S217 may be performed.
In this manner, whether or not the communication device 100 is a hub or not may be detected by simply utilizing area information without betweenness centrality information based on the overall topology information in the mobile social network.
With reference to
Thereafter, when a period arrives (S305), the hello message transmission unit 115 of the communication device 100 includes the communication method and the pheromone value updated in step S303 in a hello message and broadcasts the same to the one-hop neighbor nodes (S309).
Also, the method for transmitting a packet according to an embodiment of the present invention will be described by dividing it into a process in which a source node transmits a packet and a process in which a forwarding node routes the packet.
With reference to
Here, the forwarding node selecting unit 117 selects one-hop neighbor nodes whose hello message, which has been received by the hello message reception unit 109, has a received signal strength equal to or greater than a predetermined strength and whose link connection duration satisfies a reference value (or threshold value), as forwarding node subjects, and determines whether or not the selected forwarding node subjects have a pheromone value.
Here, if there is no pheromone information regarding a node like in a network initial stage, the forwarding node selecting unit 117 selects a forwarding node with random probability (S405).
Meanwhile, when there are pheromone values which have been received, the forwarding node selecting unit 117 compares the pheromone values (S407) and selects a one-hop neighbor node having the greatest pheromone value as a forwarding node (S409).
The forwarding node selecting unit 117 then determines whether or not the communication method included in the hello message received from the one-hop neighbor node and the communication method (which is selective or fixed as a default) of the communication device 100 correspond with each other (S411)
Here, when the mutual communication methods do not correspond with each other, the forwarding node selecting unit 117 selects a one-hop neighbor node having the second-greatest pheromone value as a forwarding node (S413), and then performs step S411.
Meanwhile, when the mutual communication methods correspond with each other in step S411, the forwarding node selecting unit 117 includes the communication method of the communication device 100 in a packet (S415).
Then, the packet transmission unit 101 transmits the packet generated in step S415 to the forwarding node selected in step S405 or step S409 (S417).
With reference to
Also, the forwarding node selecting unit 117 selects one-hop neighbor nodes whose hello message, which has been received by the hello message reception unit 109, has a received signal strength equal to or greater than a predetermined strength and whose link connection duration satisfies a reference value (or threshold value), as forwarding node subjects, and determines whether or not the selected forwarding node subjects have a pheromone value.
Here, if there is no pheromone information regarding a node like in a network initial stage, the forwarding node selecting unit 117 selects a forwarding node with random probability (S505).
Meanwhile, when there are pheromone values which have been received, the forwarding node selecting unit 117 compares the pheromone values (S507) and selects a one-hop neighbor node having the greatest pheromone value as a forwarding node (S509).
The forwarding node selecting unit 117 then determines whether or not the communication method included in the received packet and the communication method included in the hello message received from the one-hop neighbor node selected as a forwarding node correspond with each other (S511)
Here, when the mutual communication methods do not correspond with each other, the forwarding node selecting unit 117 selects a one-hop neighbor node having the second-greatest pheromone value as a forwarding node (S513), and then performs step S511.
Meanwhile, when the mutual communication methods correspond with each other in step S511, the packet transmission unit 101 transmits the received packet to the forwarding node selected in step S505 or step S509 (S515).
Meanwhile,
With reference to
Here, the mobile nodes 401, 407, 409, and 415 and the desktop PCs 403 and 413 transmit and exchange data packets to and with the access points 405 and 411 and the base station 417 through direct communication. A pheromone value is included in order to form a routing path for a packet transmission.
Each of the nodes selects a node having a high pheromone value among its one-hop neighbor nodes, as a forwarding node, and transmits a packet thereto.
Here, in the case of the related art ant colony algorithm routing (ARA), routing is determined based on a pheromone value P for a data transmission between a source node 401 and a destination node 415. Thus, the determined path is 401->403->405->411->415, including the access point 405 as a hub.
Then, the hub is frequently utilized for the routing path, causing a degradation of the overall network performance due to a traffic congestion, a node failure, infection, or the like.
Meanwhile, in case of using the algorithm (i.e., hub detour routing (HDR)) proposed according to an embodiment of the present invention, P′ is assigned as a pheromone value for establishing a path for a data transmission, and a corresponding routing path is 401->403->407->409->413->415. Thus, since the path bypassing the access point 405, i.e., a hub, is selected, the influence of the hub can be adjusted such that it is not excessive.
With reference to
In comparison, in the case of the ARA, the evaporation rate is uniform irrespective of the pheromone value.
With reference to
In comparison, in the case of ARA, the pheromone value is continuously increased even after a certain point in time. Such characteristics cause an excessive utilization of the hub because the pheromone value of the hub is constantly maintained to have a value greater than that of different nodes.
While this invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
Also, the embodiments of the present invention may not necessarily be implemented only through the foregoing devices and/or methods but may also be implemented through a program for realizing functions corresponding to the configurations of the embodiments of the present invention, a recording medium including the program, or the like.
Number | Date | Country | Kind |
---|---|---|---|
10-2011-0061767 | Jun 2011 | KR | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/KR2011/005144 | 7/13/2011 | WO | 00 | 12/16/2013 |