Abstract:
A method of selecting a network path for a network coding communication includes initializing a length of each of links; searching for an independent path from a source node to one of target nodes based on the length of each of the links; multiplying a predetermined factor to the length of each of the links used in the independent path; repeating the searching and the multiplying for all the target nodes; extracting the links and the nodes used in the independent path; generating a subgraph with the links and the nodes extracted at the extracting; and selecting the network path based on the subgraph.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a method of selecting a network path and a communication system. 
     2. Description of the Related Art 
     When sending data from a source to a destination in a network that connects communication devices (hereinafter, “nodes”) and communication paths (hereinafter, “links”), each node performs a switching process of outputting input data to a desired destination in a conventional packet communication. In the packet switching process, only packet sorting into the destinations is performed, and no process is performed on user data in the packet. By contrast, a recent noticeable network coding technology has enabled each node to perform coding in addition to the switching process, so that network-wide efficient transmission is attained. 
     A first feature of the network coding is streamlining of transmission, i.e., effective utilization of communication resources such as band frequencies. The conventional network coding technologies for wide and effective communication to a plurality of destinations are disclosed in Japanese Patent Application Laid-open No. 2006-31693; R. Ahlswede et al., “Network Information Flow”, IEEE tran. on Information Theory, vol. 46, No. 4, July, 2000, pages 1204 to 1216; Miki Yamamoto, “Network Coding”, The Journal of the Institute of Electronics, Information, and Communication Engineers, vol. 90, No. 2, February, 2007, pages 111 to 116; S-Y. R. Li et al., “Linear Network Coding” vol. 49, No. 2, February, 2003, pages 371 to 381; T. Ho, M. Medard, R. Koetter, D. R. Karger, M. Effros, B Leong, “A Random Linear Network Coding Approach to Multicast”, IEEE Transactions, Information Theory, Vol. 52, No. 10, Pages 4413 to 4430, October, 2006.; J.-S. Park, M Gerla, D. S. Lun, Y. Yi, M. Medard, “Code-Cast: A Network-Coding-Based Ad Hoc Multicast Protocol”, IEEE Wireless Communication Vol. 13, No. 5, October, 2006, pages 76 to 81. 
     The conventional network coding technologies offer methods for efficiently transmitting date to a plurality of destinations; however consideration is not given to surely transmitting data to specific destinations and reducing the risk of possible interception that can be prevented by avoiding unnecessary communication. Therefore, data deliveries to designated destinations are not ensured and possibility of the interception is not reduced. 
     The above documents “A Random Linear Network Coding Approach to Multicast” and “Code-Cast: A Network-Coding-Based Ad Hoc Multicast Protocol” disclose technologies in which each node selects the coding methodology at random, and selects and transmits information. If the processing fails, the packet is discarded. Thus, consideration is not given to the surely transmitting of information and the avoiding of the unnecessary communication. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to at least partially solve the problems in the conventional technology. 
     According to an aspect of the present invention, there is provided a method of selecting a network path for a network coding communication using a network model that includes nodes including at least one source node that transmits data and at least two target nodes that receive the data from the source node and links between the nodes, the method includes initializing a length of each of the links to a predetermined value; searching for an independent path from the source node to one of the target nodes based on the length of each of the links; multiplying a predetermined factor to the length of each of the links used in the independent path that is obtained at the searching; repeating the searching and the multiplying until the searching and the multiplying are performed on all the target nodes; extracting the links and the nodes that are used in the independent path; generating a subgraph with the links and the nodes extracted at the extracting; and selecting the network path based on the subgraph. 
     The above and other objects, features, advantages and technical and industrial significance of this invention will be better understood by reading the following detailed description of presently preferred embodiments of the invention, when considered in connection with the accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a schematic diagram of an exemplary network model of a communication system according to an embodiment of the present invention; 
         FIG. 2  is a schematic diagram for explaining exemplary independent paths of the network model shown in  FIG. 1 ; 
         FIG. 3  is a schematic diagram of an exemplary subgraph according to the embodiment; 
         FIG. 4  is a flowchart of a procedure of a network coding designing method according to the embodiment; and 
         FIG. 5  is a flowchart of a procedure of a network path selecting process according to the embodiment. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Exemplary embodiments of the present invention are explained in detail below with reference to the accompanying drawings. 
       FIG. 1  is a schematic diagram of an exemplary network model of a communication system according to an embodiment of the present invention. A network communication method according to the present embodiment is explained below referring to the network model shown in  FIG. 1 . The network model includes a plurality of nodes N that represents communication devices and a plurality of links L that represents communication paths between the nodes N. The links L have directional components and thereby being directed in directions indicated by arrows shown in  FIG. 1 . The present embodiment is based on the assumption that the nodes N are connected to one another with the directed links L in a network. 
     As shown in  FIG. 1 , one of the nodes N is a source node NS as a data source, and one or more of the nodes N are target nodes NT as a data destination. In the example shown in  FIG. 1 , two target nodes NT 1  and NT 2  are provided. 
     For realizing efficient communication using a network coding technology, independent paths from the source node NS to the target nodes NT in the network model are important factor. The independent path is a path from the single source node NS to a single target node NTi (“i” is an identifier of the target node) and does not share any link L with other paths but can share nodes with other paths. 
     In the document by S-Y. R. Li et al., of “Linear Network Coding” vol. 49, No. 2, February, 2003, pages 371 to 381, it is theoretically described that the number of the independent paths from the source node NS to the target node NT is equivalent to an upper limit of an efficient communication in the network model exemplified in  FIG. 1  in the network coding technology. Thus, assuring the independent paths from the source node NS to the target node NT are a key for an efficient communication. 
       FIG. 2  is a schematic diagram of independent paths of the network model shown in  FIG. 1 . As one example of independent paths from the source node NS as a start point to the target node NT 1  as a destination, two independent paths RT 1 _ 1  and RT 1 _ 2  are shown. As another example of independent paths from the source node NS to the target node NT 2 , two independent paths RT 2 _ 1  and RT 2 _ 2  are shown. 
     There are numerous links L that are not used for the independent paths RT 1 _ 1 , RT 1 _ 2 , RT 2 _ 1 , and RT 2 _ 2 . In other words, the network has a number of unused links L that do not form the independent paths. Communication from the NS to the target node NT 1  and from the source node NS to the target node NT 2  only employs the independent paths that are set before determination of network coding methodologies such as concrete contents of coding or calculations performed by each node. Because links and nodes that are not on the independent paths are not used, such links and nodes can be eliminated from the network model before the determinations of the network coding methodologies. The elimination of the links and the nodes does not influence efficient network communication and is even beneficial in improving a communication efficiency by eliminating communication resource for maintenance of redundant nodes and links. 
     Furthermore, the elimination of redundant nodes and links facilitates determination of coding methodologies. Moreover, even if the network model contains a loop that causes a circulation along directions of the links from an original source node to be returned to the original source node, elimination of the redundant nodes and links can cut off the loop. 
     In the present embodiment, the network model in which the redundant nodes and links are eliminated from the original network is referred to as a “subgraph”.  FIG. 3  is a schematic diagram of the exemplary subgraph. The subgraph is a subset graph (a partial network model) of an original graph (the network model shown in  FIG. 1 ) and contains part of the nodes N and the links L of the original graph. The effective subgraph is one that does not include nodes and links that are redundant and does not contribute to forming the independent paths. The subgraph in  FIG. 3  is the subset after nodes N and links L that are not used in the independent paths RT 1 _ 1 , RT 1 _ 2 , RT 2 _ 1 , and RT 2 _ 2  shown in  FIG. 2  are eliminated from the original network shown in  FIGS. 1 and 2 . 
     Independent paths to the same target node do not share any link. However, independent paths to different target nodes can share the same link. In how many independent paths a single link is used is referred to as “link utilization rate”. A higher link utilization rate means that communication is performed efficiency by effectively using resources. Therefore, according to the present embodiment, the independent paths are selected to increase the link utilization rate. 
     A network path selecting process according to the present embodiment is explained below.  FIG. 4  is a flowchart of a procedure of a network coding designing method including the network path selecting process. A source node and a target node are determined to generate an original network model (Step S 11 ). In the present embodiment, the network model is the one shown in  FIG. 1  and includes the nodes and the directed links. The network model is generated by the same method as that in the conventional network coding. 
     An effective subgraph is determined for the network coding in accordance with the network path selecting process described later (Step S 12 ). Based on the subgraph determined in Step S 12 , the network coding methodology is determined (Step S 13 ), in which a matrix to be multiplied to an input signal at each node N to obtain an output signal is specifically determined, and more specifically, methodologies of the network coding and calculations are determined. The methodology of the network coding is determined in the same manner as that in the conventional network technology. The conventional network technology does not employ Step S 12 . In the present embodiment, Step S 13  can effectively be performed by performing Step S 12  between Step S 11  and Step S 13 . 
       FIG. 5  is a flowchart of a procedure of the network path selecting process. The network path selecting process can be performed by a node such as the source node NS or a network-controlling node, or it can be performed in advance by a calculator as a separate function from the network. 
     A length of each link is initialized to one. Numbering of “1, 2, . . . , m (where m is the number of the nodes)” is conducted on the target nodes NT 1 , NT 2 , . . . , NTi (Step S 21 ). The variable d is set to an initial value of a large number. The variable d is used for obtaining the minimum number of the independent paths to each of the target nodes (Step S 22 ). The large initial value can be a number larger than the number of the presumable independent paths to each of the target nodes. 
     Processes from Steps S 23  to S 29  are performed for each of the target nodes NTi (i=1 to m). The i-th processes from Steps S 23  to S 29  are performed to the i-th target node. Parameter k is set to zero by default (Step S 23 ). The parameter k is used as a counter for counting the number of the independent paths per target node. It is determined whether there is a path from the source node NS to the target node NTi corresponding to the number “i” assigned at Step S 21  (Step S 24 ). Specifically, when the i-th process at Step S 24  is performed, it is determined whether there is a path to the target node NTi corresponding to the number “i”. 
     If there is a path to the target node NTi (YES at Step S 24 ), a shortest path to the target node NTi from the NS is selected (Step S 25 ). For example, Dijkstra Method is employed for selecting the shortest path. The Dijkstra Method is disclosed in Toshihide Ibaraki, Masao Fukushima, “Optimization Method”, Kyoritsu Shuppan Co., Ltd., 1993, pages 43 to 44. The methodologies of selecting the shortest path are not limited to the Dijkstra Method, and other known methods can also be employed. The selection of the shortest path is not necessarily precise in the path length and an algorism that selects a roughly shortest path can be used. 
     The parameter k is incremented by one (k=k+1), and then the links that are selected to be used for the shortest path at Step S 25  are eliminated from the network model (Step S 26 ), and system control returns to Step S 24 . In the network model subjected to the link elimination at Step S 26 , if the k=1, the network model is equivalent to the original network model generated at Step S 11 . If the k≧2, the network model subjected to the link elimination at Step S 26  is a network model after subjected to the link elimination by the (k−1)-th process at Step S 26 . 
     In the process at Step S 24  where k≧2 (the second or the subsequent processing on the same target node), it is determined whether there is a path from the source node NS to the target node NTi for the network model after the link elimination by the (k−1)-th process at Step S 26 . 
     If it is determined that a path from the source node NS to the target node NTi is not present (NO at Step S 24 ), the parameter d is reset to d=k in the case where k&lt;d (Step S 27 ). If other than k&lt;d, the parameter d is not changed. All the links eliminated at Step S 26  are restored to the original network model that is generated at Step  11  and a length of each of the eliminated links is multiplied by a weighting factor p (0≦p≦1) when restoring the eliminated links (Step S 28 ). 
     Then, it is determined whether all the processes from Steps S 23  to S 28  for all the target nodes have been completed (Step S 29 ). If the processes are not completed (NO at Step S 29 ), the system control returns to Step S 23  and subsequent processes are performed for unprocessed target node. If the processes are completed (YES at Step S 29 ), all the links used in the shortest path in the network model generated at Step S 11  are retained and all the unused nodes and links are eliminated (Step S 30 ), and then the processes end. 
     The subgraph according to the present embodiment includes only the links and nodes retained in the above manner. The k shortest paths that are eliminated at Step S 26  for each target node is the number of the independent paths to the target node. The final value of the variable d at the end of the network path selecting process is the minimum number of the independent paths to each of the target nodes. Based on a typical network coding theory, d-dimensional data can be transmitted from a source node NS to the target nodes NTi (i=1 to m) through a single transmission. 
     According to the present embodiment of the present invention, utilization of one link for a plurality of paths is considered as desirable. High link utilization rate reduces the number of necessary nodes and links, so that communication can be performed efficiently. To achieve the efficient communication, the desirable link utilization is quantified by multiplying a weighing factor p to the length of each of the links selected as the shortest path at Step S 26 . The weighing factor p is 0&lt;p&lt;1, so that the length of the link is shortened as utilization frequency of the link increases. The shortened links are prioritized when selecting the shortest path at Step S 25 . The multiplication by the weighing factor p facilitates the ease of utilization of a single link in numerous paths. The weighing factor p can be discretionary set within the range of 0&lt;p&lt;1. However, smaller weighing factor p can facilitate to achieve an object of utilizing a single link for a number of paths as many as possible. 
     As stated above, the unused nodes and links in the independent paths are eliminated to generate the subgraph in the network model, the weighing factor p is multiplied to the length of each of the links every time each of the links is used as the independent path, the “p”-multiplied length of the links is considered for selecting another independent path, and the network coding methodology is determined utilizing the subgraph. Therefore, necessary nodes and links are included but unnecessary nodes and links are eliminated for every target node and the efficient network coding is attained. Furthermore, data can surely and reliably be transmitted to specific destinations. Moreover, because the redundant and unnecessary communication can be avoided maximally, so that the risk of possible interception can be reduced. 
     According to an aspect of the present invention, data can surely and reliably be transmitted to specific destinations and the risk of possible interception can be reduced. 
     Although the invention has been described with respect to specific embodiments for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art that fairly fall within the basic teaching herein set forth.