Route search device

WO2026203480A1PCT designated stage Publication Date: 2026-10-01NAT INST OF INFORMATION & COMM TECH +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/037452
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-03-28
Filing Date
2025-10-24
Publication Date
2026-10-01

Smart Images

  • Figure JP2025037452_01102026_PF_FP_ABST
    Figure JP2025037452_01102026_PF_FP_ABST
Patent Text Reader

Abstract

The present invention efficiently searches for a route for multicast. This route search device 100, via which a source node performs multicast to a plurality of terminal nodes in a communication network that has a plurality of nodes and a link connecting two nodes, comprises: a generation unit 110 that generates, on the basis of the topology of the communication network, a route search graph in which the degree of relay nodes relaying between the source node and a terminal node is equal to or smaller than a prescribed number; a search unit 120 that searches for a route on the basis of the route search graph; and a mapping unit 130 that associates the found route with the topology of the communication network.
Need to check novelty before this filing date? Find Prior Art

Description

Route search device

[0001] This invention relates to an efficient pathfinding device for realizing confidential and reliable multicast communication.

[0002] With the proliferation of real-time multi-party communication services such as video conferencing and live streaming, the importance of efficient and secure multicast communication has increased dramatically. The most basic structure of multicast communication is a distribution tree structure (single-tree multicast) from the source node (sender) to the terminal node (receiver). However, in single-tree multicast, if some links or nodes fail, communication to downstream nodes is interrupted. Furthermore, eavesdroppers can obtain information from the failed nodes.

[0003] Multipath routing, which distributes data across multiple paths, is a known method for maintaining communication reliability and quality even if some links or nodes on a network fail. This technique is also effective in quantum cryptography networks and other applications where node compromise is a way to maintain confidentiality. Multipath routing requires simultaneously searching for multiple paths and selecting the optimal one. Such pathfinding is generally complex, and extending from one-to-one communication to multicast communication is not at all trivial.

[0004] One method for achieving multicast communication that is resilient to node failures is multi-tree multicast, which divides the data to be delivered into multiple data using Multiple Description Coding and delivers it using multiple trees in parallel. Representative methods include SplitStream and THAG (Topology-aware Hierarchical Arrangement Graph).

[0005] SplitStream divides data into multiple streams and delivers each stream through a different tree, and is used for large-scale data distribution and real-time video streaming. Specifically, it uses a distributed hash table (DHT) to evenly distribute data across the entire network and efficiently manages which divided data each node holds. This enables efficient routing with an average of log(N) hops for N nodes (this system is called Pastry). Furthermore, an application-level multicast system called Scribe is built on top of Pastry, managing which multicast group each node belongs to and supporting efficient multicast (Non-Patent Literature 1).

[0006] THAG recognizes the physical and logical topology of the network, configures the network hierarchically, and achieves efficient multi-tree multicast by placing nodes with different roles at each layer. In particular, by adopting a so-called node-disjoint tree structure where each tree is independent and a node that is a parent node in one tree becomes a leaf node in another tree, the impact of node failure can be contained within a single tree (Non-Patent Literature 2).

[0007] Furthermore, as technologies that further develop the concepts of SplitStream and THAG, technologies have been proposed that eliminate bottlenecks in video distribution paths by configuring node-disjoint multi-trees while maintaining uniformity of link capacity (Patent Document 1), and technologies that configure paths to avoid congestion based on bandwidth estimation (Patent Document 2).

[0008] U.S. Patent No. 8,279,766, U.S. Patent No. 9,185,024

[0009] M. Castro, P. Druschel, AM Kermarrec, A. Nandi, A. Rowstron, and A. Singh, “SplitStream: High-bandwidth content distribution in cooperative environments,” in Proc. Int. Workshop on Peer-to-Peer Syst. (IPTPS), pp.298-313, Oct. 2003.R. Tian, ​​Q. Zhang, Z. Xiang, Y. Xiong, X. Li, and W. Zhu, “Robust and efficient path diversity in application-layer multicast for video streaming,” IEEE Trans.Circuits Syst. Video Technol., vol.15, no.8, pp.961-972, Aug. 2005.

[0010] Conventional technologies are designed so that data can be recovered at any node involved in multicast communication. Therefore, if a node is compromised, an eavesdropper may be able to easily obtain and tamper with data from that node. In other words, the node compromise resilience is low. The present invention has been made in view of this situation and aims to efficiently search for multicast routes with high node compromise resilience.

[0011] To achieve the above objective, according to one embodiment, a routing device is provided for a source node to perform multicast to multiple terminal nodes in a communication network having multiple nodes and links connecting two of the nodes. This routing device comprises a generation unit that generates a routing graph based on the topology of the communication network in which the number of input orders of relay nodes that relay between the source node and the terminal node is less than or equal to a predetermined number; a search unit that searches for routes based on the routing graph; and a mapping unit that associates the searched routes with the topology of the communication network.

[0012] According to the present invention, it is possible to efficiently search for a multicast route with high node vulnerability resilience.

[0013] This is an explanatory diagram showing an example of an actual node set. This is an explanatory diagram of a pathfinding graph (X-hop grid). This is an explanatory diagram showing the path found in the pathfinding graph. This is an explanatory diagram showing the searched path mapped to an actual node set. This is a flowchart of the pathfinding process. This is a flowchart of RAPUS. This is an explanatory diagram showing a specific example of RAPUS. This is an explanatory diagram showing a specific example of RAPUS. This is an explanatory diagram showing a specific example of RAPUS. This is an explanatory diagram showing a specific example of RAPUS. This is an explanatory diagram showing a specific example of RAPUS. This is an explanatory diagram showing a specific example of RAPUS. This is a block diagram showing an example of the functional configuration of a pathfinding device. This is a block diagram showing an example of the hardware configuration of a pathfinding device.

[0014] In this specification, multiple paths being link-jointed means that those multiple paths share one or more links. Conversely, multiple paths being link-disjointed means that there are no links that those multiple paths share.

[0015] Multiple paths being node-jointed means that those paths share one or more nodes. Conversely, multiple paths being node-disjointed means that there are no nodes that those paths share.

[0016] The degree of a node refers to the number of links connected to that node. The indegree of a node is the number of links connected to that node that are used for receiving data. The outdegree of a node is the number of links connected to that node that are used for transmitting data.

[0017] Embodiments of the present invention will be described below. However, the present invention is not limited to the embodiments described below.

[0018] First, the inventors of the present invention conducted thorough research on the prior art, as described below.

[0019] The prior art described in Patent Documents 1 and 2 and Non-Patent Documents 1 and 2 can achieve high resilience to node failures and load balancing on the network. However, on the other hand, because they are designed so that data can be recovered from any node, there is a risk that eavesdroppers can easily obtain or tamper with data from a failed node. While information security can be enhanced by using encrypted virtual private networks (VPNs) and Transport Layer Security (TLS), it is not possible to guarantee so-called information-theoretic security, where security will not be threatened even as computing technology advances, and therefore it cannot be applied to data communications that require extremely long-term confidentiality.

[0020] Quantum cryptography networks and physical layer security networks (hereinafter abbreviated as QKD / PLSN) are attracting attention as technologies that guarantee information-theoretically secure networks, but multicasting them is not self-evident. Simply overlaying the above-mentioned multi-tree multicast onto a quantum cryptography network will not solve the problem of confidential information leakage due to node compromise.

[0021] In response to this, there is a method called secure network coding as a means of improving multicast transmission efficiency and ensuring information-theoretic security (Non-Patent Literature 3 (D. Silva and FR Kschischang, ``Universal secure network coding via rank-metric codes,'' IEEE Trans. Inf. Theory, vol. 57, no.2, pp.1124--1135 (2011)), Non-Patent Literature 4 (H. Yao, D. Silva, S. Jaggi, and M. Langberg, ``Network Codes Resilient to Jamming and Eavesdropping,'' IEEE / ACM Trans. Networking, vol. 22, no. 6, pp.1978--1987 (2014))). Secure network coding also encodes the distribution data into multiple packets and distributes them across multiple paths. At relay nodes, the input packets are further superimposed and encoded before being sent to multiple output links. This makes it possible to achieve multicast capacity. On the other hand, secure network coding requires the assumption that the total number of links being eavesdropped on is below a certain threshold. However, as the number of hops increases or the number of nodes where many links are concentrated increases, the probability that this threshold assumption is not met also increases, inevitably narrowing the scope of application. In other words, it suffers from low resilience to node compromise.

[0022] By combining QKD / PLSN (Non-Patent Literature 5 (M. Peev, et al., New J. Phys. 11, 075001, 2009.), Non-Patent Literature 6 (M. Sasaki, et al., Opt. Express 19, pp. 10387-10409, 2011.), Non-Patent Literature 7 (YL Tang, et al., Phys. Rev. X 6(1) 011024, 2016.)) with secure network coding, the confidentiality of links can be significantly enhanced by encrypting the information flowing through each link, thereby effectively suppressing the degradation of the threshold assumption. However, since all encryption keys are still leaked when a node is compromised, there were still limitations in suppressing the degradation of the threshold assumption as the network size and number of users increased. In other words, node compromise resilience was still insufficient.

[0023] To solve this problem, it is necessary to introduce a more appropriate pathfinding method. In route finding, the introduction of multipath routing is necessary to counter node failures and vulnerabilities. However, even in the case of one-to-one communication, if there are two or more metrics to optimize, it becomes an NP-hard problem (Non-Patent Literature 8 (MH Dahshan, "Maximum-bandwidth node-disjoint paths." Int. J. Adv. Comput. Sci. Appl., 3(3), 2012.), Non-Patent Literature 9 (JO Abe, HA Mantar and AG Yayimli, "k-Maximally Disjoint Path Routing Algorithms for SDN," 2015 Int. Conf. Cyber-Enabled Dist. Comput. Knowl. Disc., Xi'an, China, pp. 499-508, 2015.), Non-Patent Literature 10 (T. Wang, CQ Wu, Y. Wang, A. Hou and H. Cao, "Multi-Path Routing for Maximum Bandwidth with K Edge-Disjoint Paths," 2018 14th Int. Wirel. Commun. Mob. Comput. Conf., Limassol, Cyprus, pp. 1178-1183, 2018.), Non-Patent Document 11 (MA Ribeiro, IA Carvalho and AH Pereira, "The widest k-set of disjoint paths problem" RAIRO-Oper. Res. 57, pp. 87-97, 2023.)).

[0024] On the other hand, since the minimum Steiner tree problem in the most basic single-tree multicast is itself an NP-hard problem, optimizing routes for multi-tree multicast based on multipath routing is an extremely difficult problem that cannot be solved with conventional methods. Thus, routing problems for multicast are difficult to solve.

[0025] Therefore, in the embodiments of the present invention, a multicast route is designed after first clearly distinguishing between terminal nodes and simple relay nodes and imposing a limit on the number of input links (input order) to the relay nodes.

[0026] The requirements for multicast routes, including the input order, are determined by the specifications of secure network coding. Specifically, at the source node, when the code length of the maximum rank distance code (MRD code) used for concealment and error correction is n0 and the message length is k, the number of distributions from the source node must be n0 or greater, and the input order must be less than k. At relay nodes with an input order of 2 or more, network coding is performed on the input packets. That is, the input packets are superimposed and coded so that a number of codewords equal to the output order is generated, and then transmitted to the output link. At each terminal node, the presence of n0 linearly independent packets is a necessary condition for decoding, so multicast routes are configured to obtain packets from n0 links. Therefore, from source node A to each terminal node B t Configure n0 link-disjointed paths to the specified terminal. In this case, the paths from the source node to different terminal nodes (A, B t1 ), (A, B t2 In that case, it's okay to share some links (i.e., even if they are link joints).

[0027] Searching for multicast routes that satisfy the above requirements, including minimizing link costs, is an extremely difficult task. Therefore, in the embodiments of the present invention, priority is given to saving as many links as possible across the entire network, and the cost functions such as capacity and latency of each link are not targeted for optimization. Even so, the number of candidate routes becomes enormous, so a kind of filtering function is introduced to find routes that satisfy the above requirements more efficiently. Specifically, a virtual grid that satisfies the input order constraint is introduced, the configuration of the actual network is mapped onto it, and route searching is performed on the virtual grid. For example, the code length of the maximum rank distance code that serves as the basis for the distribution number is assumed to be n0 = 5 to 6, and the message length is k = 3. In this example specification, it is possible to achieve a good balance between error correction capability and security function. Therefore, the outline of the procedure will be explained below according to this example.

[0028] Step 1. Establishing the Base Node Set First, establish a base node set V that includes a source node (Alice), multiple terminal nodes (Bob 1, Bob 2, ..., Bob N; collectively referred to as Bobs), and relay nodes (Charlies). B A set of nodes is given. This set of nodes consists of Alice, Bobs, and several Charlies (collectively referred to as Charlies) that can be used as relay nodes between Alice and Bobs. It includes the geographical location information of each node, and Bobs are numbered Bob 1^, ..., Bob N^ in order of proximity to Alice.

[0029] Figure 1A shows, as an example, the base node set V that is the basis for pathfinding when n0=5 and N=6. B This diagram shows that this base node set is located in North America, with the source node Alice located in South Bend, and terminal nodes Bob 1^ through Bob 6^ located in Fort Wayne, Indianapolis, Toledo, Dayton, Cincinnati, and Columbus, respectively. The white circles in the diagram represent relay nodes Charlie.

[0030] Step 2. Based on the node set for generating the X-hop grid (cross-hop grid), a virtual network grid, or "X-hop grid," is generated to provide a resource-efficient and secure route from Alice to Bobs. As will be described later, route finding is performed using the X-hop grid, so the X-hop grid is also called a route finding graph.

[0031] In the X-hop grid, to maintain confidentiality against the compromise of relay nodes, the input degree constraint, i.e., "input degree < k (= 3)," is easily satisfied, resulting in a structure where each relay node has a maximum of four links. The grid spacing is approximately the same as the average distance that can be directly transmitted using quantum cryptography or physical layer security communication (also known as physical layer cryptography). A key feature of this grid is that, based on the geographical distribution of nodes, areas where no nodes exist are automatically excluded. In particular, if there are no candidate nodes for Bobs or Charlies, their virtual nodes and links are deleted, maintaining a more realistic network structure. This generation of a virtual grid narrows the search space for communication paths from Alice to Bobs, significantly reducing the complexity of pathfinding.

[0032] Figure 1B shows the X-hop grid XG created from the base node set shown in Figure 1A. The dotted lines in the figure indicate links connecting two nodes. The maximum node order is 4; that is, each node is connected to other nodes by up to 4 links. The name X-hop grid is used because the four links extending from one node form an X shape. Based on the node positions of the actual network (Figure 1A), virtual Alice, Charlie, and Bobs are mapped onto the nodes of the X-hop grid.

[0033] Step 3. Multicast Route Search On the X-hop grid, n<0xE2><0x82><0x90> link-disjoint routes from Alice to each Bob are searched. If the total number of terminal nodes is N, a total of n<0xE2><0x82><0x90>N routes will be searched. At Alice, after performing maximum rank distance coding, network coding is further performed on the codeword of length n<0xE2><0x82><0x90>, converting it into n<0xE2><0x82><0x91>(≧n<0xE2><0x82><0x90>) packets, which are then transmitted over n<0xE2><0x82><0x91> links (the actual value of n<0xE2><0x82><0x91> is actually determined at the stage when routes to all Bobs are determined). First, from each Bob to Alice, n<0xE2><0x82><0x90> link-disjoint routes are searched using a method called rank preserving upstream path search (RAPUS) described later. Among the N Bobs, the Bob that can reach Alice with the minimum number of links is named Bob 1, and graph G having n<0xE2><0x82><0x90> disjoint routes from Alice to Bob 1 ~(1) is determined. Next, by repeatedly applying RAPUS similarly to the remaining N-1 Bobs, graph G having n<0xE2><0x82><0x90> disjoint routes from Alice to Bob 1 and Bob 2 ~(2) is determined. Hereinafter, by repeating the same operation, multicast route graph G from Alice to N Bobs ~(N) is determined.

[0034] FIG. 1C shows multicast graph G obtained by multicast route search on X-hop grid XG ~(6) . Each arrow in the figure indicates the data transmission direction of the link constituting the graph.

[0035] Step 4. Remapping to the Actual Network For virtual multicast route graph G derived on the X-hop grid ~(N) , the actual node closest to the virtual node is selected, and a route on the actual network is set along the topology of the virtual multicast route. In this way, route graph G on the actual network from virtual multicast route graph G ~(N) (N) is obtained.

[0036] Figure 1D shows graph G obtained in the X-hop grid. ~(6) Graph G obtained by mapping this to a real network model. (6) This indicates.

[0037] Graph G (N) The internal path often includes sections where one or more 1-input, 1-output nodes are connected consecutively without branches or merges. In particular, if the length of each link in the section is shorter than the typical direct transmission distance and is unnecessarily winding, it may be possible to modify the configuration (path smoothing) to connect the two endpoints of the section with a more linear path with fewer hops. In such cases, the total number of links can be further reduced by performing path smoothing as appropriate. This is especially effective in simplifying paths and reducing latency in wireless networks.

[0038] Pathfinding is performed on the X-hop grid according to the above steps 1 to 4. The details of the pathfinding will be explained below with reference to Figure 2A (main flow) and Figure 2B (RAPUS).

[0039] Referring to Figure 2A, we will explain the multicast routing flow on the X-hop grid. For simplicity, we will assume that there are no sparse areas around Alice. That is, there are four nodes closest to Alice, and four more nodes that are the next closest.

[0040] First, in step S1, as mentioned above, the base node set V B An X-hop grid is generated based on the topology of a real network having the following properties. Alice's output order n0 is 4.

[0041] In step S2, four links are added to the X-hop grid between Alice and the node closest to her. This makes Alice's output order 8 in the X-hop grid.

[0042] Alice's final output order n1 is automatically determined such that n0 ≤ n1 ≤ 8 when the multicast routing described below is completed for all terminal nodes. Figures 1A to 1D correspond to the case where n0 = n1 = 5. After routing is complete, Alice performs F based on the following equation. q -RLNC (Galois field F with q elements) q Packets w using Random Linear Network Coding (RNDC) j Send it by splitting it into n1 links. However, x i Each symbol in the codeword is c i (j) These are coefficients for performing random linear network coding.

[0043] Simply put, each symbol x0, x1, ..., x that makes up the codeword n0-1 Compared to sending it by splitting it into n0 links, F q - The above scheme with RLNC greatly simplifies the route search algorithm. This is because all links potentially constitute a codeword, and all symbols x0, x1, ..., x n0-1 This is because it can carry the data. Therefore, there is no need to pay attention to the packet attributes on each link; it is sufficient to find n0 link-disjointed paths for each Bob.

[0044] In step S3, the initial graph is graph G. ~(0) The following is defined: Thus, graph G ~(0) The node set V (0) It consists of an edge set (or link set) and a node set V. (0) Only Alice belongs to this set. Also, edge set E (0) It is an empty set.

[0045] In step S4, a loop is started for t=1, ..., N. In step S5, a loop is started for t^=1, ..., N. t^ is Bob's provisional index, and t is Bob's final index.

[0046] In step S6, Bob t^ is on graph G ~(t-1) It is determined whether or not it is included. If it is included, step S8 is performed; otherwise, step S7 is performed.

[0047] In step S7, graph G ~(t-1) RAPUS is executed using [this method]. Details will be described later with reference to Figure 2B. The following graph is obtained by executing RAPUS. Thus, graph G ~(t,t^) This is graph G ~(t-1) and route P1 ~(t^) ~P n0 ~(t^) It is defined as the union of the sets.

[0048] At step S8, the loop for t^ ends.

[0049] For a given t, step S6 is executed N times, and step S7 is executed N-t+1 times. Once step S7 is executed, graph G ~(t,t^) Therefore, for a given t, a total of N-t+1 graphs G ~(t,t^) This yields N-t+1 graphs G. ~(t,t^) In the order in which they can be obtained, Let's assume that.

[0050] In step S9, N-t+1 graphs G ~(t,t^) That is to say The one with the fewest links is G ~(t) It is selected as such, and the remaining Nt graphs are discarded.

[0051] In step S10, the loop for t ends.

[0052] Once step S9 is executed, graph G ~(1) This graph G is obtained.~(1) This is obtained by running RAPUS for each of Bob 1^ to N^ and determining Bob 1. Graph G ~(1) This is a disjointed path P consisting of n0 links from Alice to Bob 1. ~ 1 (1) ,・・・, P ~ n0 (1) It has. When step S9 is performed twice, graph G ~(2) This graph G is obtained. ~(2) This is obtained by running RAPUS on each of the remaining N-1 Bobs and determining Bob 2. Graph G ~(2) This is a disjointed path P consisting of n0 links from Alice to Bob 1. ~ 1 (1) ,・・・, P ~ n0 (1) And, n0 link-disjointed paths P from Alice to Bob 2. ~ 1 (2) ,・・・, P ~ n0 (2) It has the following characteristics.

[0053] In this way, step S9 is executed N times, and in step S11, multicast graph G ~(N) This graph shows that there are a total of n0N paths from Alice to Bobs.

[0054] This multicast routing algorithm allows for the efficient creation of a multicast graph with a reduced number of links.

[0055] <RAPUS> Details of RAPUS in step S7 are shown in Figure 2B. RAPUS is shown from Alice to graph G ~(t-1) n0 link-disjointed paths (P) leading to one Bob that are not included in ~ 1, ..., P ~ n0 This is performed to find n0 link-disjointed paths in graph G. ~(t-1)The system searches for new links that are not included in the existing path.

[0056] In step S51, graph G ~(t-1) Then, the terminal node Bob t^, which is not included in that graph, is input.

[0057] In step S52, a new link is added to the X-hop grid connecting the terminal node Bob t^ with up to four candidate nodes located in the vicinity of that terminal node.

[0058] In step S53, graph G0 = G ~(t-1) This is set, and the initial value T0 of the taboo list (or used list) is set to an empty set.

[0059] In step S54, a loop is started for i=1, ..., n0.

[0060] In step S55, graph G ~(t-1) Identify the support node v in the graph. A support node is a node included in graph G0 that can be reached to Bob t^ in a predetermined number of hops. Examples of support nodes will be described later.

[0061] In step S56, the path P from Alice to Bob t^ via support node v is established. ~ i Find the taboo list T. i-1 The links listed are route P ~ i To prevent it from being included in graph G ~(t-1) Not included in route P ~ i The goal is to minimize the number of new links added to route P. ~ i If there are multiple candidates, the most linear path on the X-hop grid is selected.

[0062] In step S57, update the taboo list, T i =T i-1 ∪E i Let E i is P ~i which is a set of edges (or links) used therein.

[0063] In step S58, path P ~ i is added to the graph. That is, G i = G i-1 ∪P ~ i is satisfied.

[0064] In step S59, the loop for i is terminated.

[0065] In step S60, determination is made as follows.

[0066] In step S61, multicast graph G ~(t,t^) is output.

[0067] The above is the description of FIGS. 2A and 2B. Next, RAPUS will be visually described with reference to FIGS. 3A to 3F.

[0068] FIG. 3A shows Alice, Bob 1 to Bob 3, Bob 2^, and relay nodes. In other words, this figure shows a state where step S9 has been executed three times, and multicast graph G for Bob 1 to Bob t (t=3) ~(3) has been determined. Note that a multicast path from Alice to Bob 2^ has not yet been found.

[0069] Multicast graph G ~(3) includes a total of five multicast paths toward Bob 1, a total of five multicast paths toward Bob 2, and a total of five multicast paths toward Bob 3. Some links included in the multicast path from Alice to Bob 2 are common to links included in the multicast path from Alice to Bob 1. Furthermore, some links included in the multicast path from Alice to Bob 3 are common to links included in the multicast path from Alice to Bob 1 or Bob 2.

[0070] The nodes surrounding a terminal node are divided into three surrounding node groups along a concentric quadrilateral centered on the terminal node. The first surrounding node group consists of nodes that are one hop away from the terminal node and has a maximum of eight nodes. The second surrounding node group consists of nodes that are two hops away from the terminal node and has a maximum of sixteen nodes. The third surrounding node group consists of nodes that are three hops away from the terminal node and has a maximum of twenty-four nodes. If there is a sparse area around the terminal node, the number of nodes in the surrounding node group that overlaps with that area will be smaller.

[0071] Based on the above, the search for a multicast path from Alice to Bob 2^ is described below. First, the first group of surrounding nodes of Bob 2^ is identified. This group has seven nodes, as shown by the black rectangle in Figure 3A. Next, the second group of surrounding nodes of Bob 2^ is identified. This group has fifteen nodes, as shown by the black circles in Figure 3A. Furthermore, the third group of surrounding nodes of Bob 2^ is identified. This group has nineteen nodes, as shown by the white rectangle in Figure 3A.

[0072] None of the nodes in the first group of surrounding nodes belong to a multicast route that has already been discovered. However, two of the nodes in the second group of surrounding nodes belong to a multicast route that has already been discovered. These two nodes are identified as support nodes v1 and v2 as shown in Figure 3B (corresponding to step S55 above). The identification of support nodes is shown in Graph G ~(t-1) This can be done by sequentially finding the first node in the surrounding group of nodes that is reached.

[0073] An attempt is made to establish a multicast route from Alice to Bob 2^ via support node v1 or v2. As mentioned above, support nodes v1 and v2 are included in the second group of surrounding nodes, and are therefore two hops away from Bob 2^. Multicast graph G ~(3)Find the path from Alice to Bob 2^ via support node v1, using as few unused links (shown by dashed lines) as possible. Similarly, find the path from Alice to Bob 2^ via support node v2. In Figure 3B, the paths from support nodes v1 and v2 to Bob 2^ are shown by dashed lines.

[0074] Of the paths explored in this way, the first path P is the one with the fewest newly added links. ~ It is specified as 1. If there are multiple paths with the same number of newly added links, the more linear path in the X-hop grid is selected. If there are still multiple paths, one of them is randomly selected.

[0075] As shown in Figure 3B, the number of newly added links is 2 for both the route via support node v1 and the route via support node v2. Therefore, the more direct route, i.e., the route via support node v2, is the first route P as shown in Figure 3C. ~ Selected as 1 (corresponding to step S56 above). Then, the first path P ~ The links used in step 1 are registered in the taboo list (used list) T1 (corresponding to step S57 above).

[0076] Second path P ~ The same method is used to search for path 2. However, links in the taboo list T1 are excluded from the search. The support nodes traversed are different from the support nodes in the previously searched paths. Second path P ~ Once 2 is determined, the taboo list becomes the second path P. ~ By adding the link used in 2, T1 is updated to T2. In this way, the taboo list is a mechanism for finding multiple link-disjointed paths. Figure 3D shows the second path P via support node v1. ~ This indicates 2.

[0077] Similarly, as shown in Figure 3E, the third path P ~Route 3 is explored, and as shown in Figure 3F, the fourth path P ~ Routes 4 and 5 P ~ 5 is searched. As shown in Figure 3B, there are two support nodes, so the third to fifth paths do not pass through the support nodes.

[0078] The set of paths obtained in the manner described above can be represented as follows.

[0079] And then, multicast graph G for Bob t^ ~(t,t ^ ) However, the set of paths and graph G ~(t-1) It is defined as the union of (corresponding to step S60 above). That is, it is as follows:

[0080] Thus, RAPUS plays a crucial role in route finding on an X-hop grid. RAPUS, a multipath routing method, searches for n0 link-disjointed routes between Alice and a certain Bob. As mentioned earlier, RAPUS uses a multicast route graph G already established between Alice and Bob1, ..., Bob t. (t) For this, n0 link disjoint paths are searched to add a new Bob (the t+1th node). On the X-hop grid, Alice and each Bob each have 4 links, but prior to the search, 4 more links are added between the nearest nodes, so that a total of 8 links extend. Then, graph G (t) For each Bob not yet included, from Bob to graph G (t) The system searches for the fewest possible links and the most linear paths to reach the node above, selecting n0 link-disjointed paths one by one. Each time a path is found, a taboo list (used list) is created and updated to prevent duplicate link selections in subsequent path searches. This ensures link-disjoint properties.

[0081] Figure 4 shows the route search device 100. This route search device 100 is configured to communicate with each node in the actual network and comprises a generation unit 110, a search unit 120, and a mapping unit 130. The communication network having source nodes, candidate nodes, and terminal nodes, along with the route search device 100, can be collectively called a communication network system.

[0082] The generation unit 110 generates a pathfinding graph (X-hop grid) from the topology of the actual network. That is, the generation unit 110 executes step S1. The search unit 120 performs pathfinding on the pathfinding graph. That is, the search unit 120 performs steps S2 to S11 to search for multicast paths. The mapping unit 130 associates the searched multicast paths with the topology of the actual network.

[0083] Figure 5 shows an example of the computer hardware configuration of the route search device 100. The route search device 100 includes a CPU 351, an interface device 352, a display device 353, an input device 354, a drive device 355, an auxiliary storage device 356, and a memory device 357, which are interconnected by a bus 358.

[0084] The program that implements the functions of the route search device 100 is provided on a recording medium 359 such as a CD-ROM. When the recording medium 359 on which the program is recorded is set in the drive device 355, the program is installed from the recording medium 359 to the auxiliary storage device 356 via the drive device 355. Alternatively, the program installation does not necessarily have to be done via the recording medium 359, but can also be done via a network. The auxiliary storage device 356 stores the installed program as well as necessary files and data.

[0085] The memory device 357 reads and stores a program from the auxiliary storage device 356 when a program startup command is received. The CPU 351 implements the functions of the pathfinding device 100 according to the program stored in the memory device 357. The interface device 352 is used as an interface for connecting to other computers via a network. The display device 353 displays a GUI (Graphical User Interface) or the like, based on a program. The input device 354 is a keyboard and mouse, etc.

[0086] Furthermore, each node in the communication network has a computer hardware configuration similar to that of the route search device 100.

[0087] In the above embodiment, computational complexity can be significantly reduced by using a virtual grid (X-hop grid) and a rank-preserving upstream routing algorithm (RAPUS) to solve the multicast routing problem based on multipath routing, which is considered NP-hard. The routes derived in this way consist of n0 link-disjointed routes distributed at appropriate intervals for each Bob, satisfying the requirements for decoding the maximum rank distance code at Bob. Furthermore, some links are shared between different Bobs, and the total number of links in the multicast graph as a whole can be suppressed. This can also be interpreted as the n bundles of link-disjointed routes to each Bob being similar in structure to a minimal Steiner tree connecting Alice and all Bobs. In this way, routes that can more efficiently realize multicast based on multipath routing suitable for secure network coding can be derived under input degree constraints. The computational complexity during derivation can also be dramatically reduced by introducing the X-hop grid. While the exact minimum number of links in the total number of links of the derived multicast routes cannot necessarily be guaranteed, the routes are practically indistinguishable. An effective implementation method is to incorporate a rank-maintaining upstream route search algorithm into a centrally managed controller (route search device 100). Furthermore, for large-scale applications, configuring hierarchical control and search methods is also effective.

[0088] According to the above embodiment, a route-finding graph with a limited number of input degrees for relay nodes is generated from the topology of the actual network. Therefore, route-finding can be performed more efficiently compared to performing route-finding directly from the topology of the actual network. Furthermore, because the number of input degrees for relay nodes is limited, the amount of information that an eavesdropper can obtain is reduced even if a relay node is compromised. In other words, node compromise resilience is improved.

[0089] Furthermore, since multicast routes are searched for that minimize the total number of links, the network resources required for multicast can be reduced.

[0090] Identifying support nodes allows for efficient multicast route searching, minimizing the total number of links.

[0091] Furthermore, by using a taboo list (used list), multiple link-disjointed paths are searched for each terminal node, thus suppressing rank loss, which is a problem when performing linear network coding. Rank loss occurs when the rank, or rank, of a matrix in the matrix calculations included in linear network decoding performed by a terminal node is not full rank. Rank loss can hinder matrix calculations, but as described above, this embodiment can suppress rank loss. Note that linear network coding is not essential in a communication network and can be performed as needed.

[0092] Step S9 showed an example of selecting the graph with the minimum number of links from N-t+1 graphs, but this is not the only example. As long as the full rank property of the matrix is ​​preserved, multiple graphs, including the graph with the minimum number of links, may be selected.

[0093] Furthermore, embodiments of the present invention are applicable to communication networks having multiple nodes and links connecting two of the nodes. Examples of such communication networks include quantum cryptography networks and physical layer security networks.

[0094] Embodiments of the present invention provide an extremely effective means for wide-area and multicasting QKD / PLSN. Applicable to wired networks, wireless networks, and hybrid networks, it is considered the most feasible method currently available for globalization, for example, via a satellite constellation covering the entire globe. This is expected to lead to applications in a wide range of communication environments where efficient resource use is required, and in fields where security is paramount.

[0095] The embodiments described so far possess not only aspects as devices, but also aspects as methods and computer programs.

[0096] Although embodiments of the present invention have been described above, the present invention is not limited to the embodiments described above, and various modifications and changes are possible based on the technical concept of the present invention.

[0097] V B Actual node set XG Cross-hop grid v Relay nodes v1, v2 Support nodes 100 Pathfinding device 110 Generation unit 120 Search unit 130 Mapping unit

Claims

1. A routing device for a source node to multicast to multiple terminal nodes in a communication network having multiple nodes and links connecting two of the nodes, comprising: a generation unit that generates a routing graph based on the topology of the communication network, wherein the number of input orders of relay nodes that relay between the source node and the terminal nodes is less than or equal to a predetermined number; a search unit that searches for routes based on the routing graph; and a mapping unit that associates the searched routes with the topology of the communication network.

2. The route search device according to claim 1, wherein the search unit iteratively performs an individual search step of searching for multiple routes for each of the multiple terminal nodes for which a route has not been determined, and a determination step of determining the routes searched for one or more terminal nodes, including the terminal node with the fewest total number of links included in the multiple routes searched by the individual search step.

3. The route search device according to claim 2, wherein the search unit, in the individual search step, identifies as a support node an intermediate node that is included in the route relating to the terminal node whose route has been determined and is within a predetermined number of hops of the terminal node whose route has not been determined, and preferentially searches for a route that passes through the support node.

4. The route search device according to any one of claims 1 to 3, wherein the search unit searches for multiple routes one by one for a terminal node whose route has not been determined, adds a set of links included in the searched routes to a used list, and the search for a certain route is performed so as not to pass through links included in the used list.

5. A communication network system comprising a route search device according to any one of claims 1 to 3, the plurality of nodes, and the link connecting two of the nodes.