Reliability calculation device and reliability calculation method
The reliability calculation device efficiently calculates network reliability for failures exceeding a certain scale by constructing a binary decision graph, addressing inefficiencies in existing methods and enabling accurate results for larger networks.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- NT T INC
- Filing Date
- 2024-11-08
- Publication Date
- 2026-05-15
AI Technical Summary
Existing methods for calculating network reliability for communication networks are inefficient for networks of a certain size or larger, requiring enormous computation time, despite the need to only calculate reliability for failures exceeding a certain scale.
A reliability calculation device and method that constructs a binary decision graph to efficiently calculate downtime rates and network reliability for failures exceeding a certain scale by maintaining a boundary set and partition, using dynamic programming to maintain connectivity and the number of disconnected nodes.
Enables efficient calculation of network reliability for failures exceeding a certain scale, reducing computation time and achieving accurate results for networks with hundreds of nodes.
Smart Images

Figure JP2024039878_15052026_PF_FP_ABST
Abstract
Description
Reliability calculation device and reliability calculation method
[0001] This disclosure relates to a reliability calculation device and a reliability calculation method.
[0002] The severity of a failure in a communication network (hereinafter also simply referred to as "the network") can vary depending on the number of users affected by the failure (i.e., the scale of the failure), etc. Therefore, communication carriers need to set network reliability requirements for each scale of failure and design a network that meets those requirements.
[0003] A method for calculating network reliability for each failure scale has been proposed, as described in Non-Patent Document 1. The method described in Non-Patent Document 1 makes it possible to calculate network reliability for all failure scales by determining the probability of a failure of a scale greater than or equal to the failure scale occurring for all failure scales.
[0004] Kengo Nakamura, Takeru Inoue, Masaaki Nishino, Norihito Yasuda, and Shin-ichi Minato. Exact and efficient network reliability evaluation per outage scale. In Proceedings of The 2023 IEEE International Conference on Communications (ICC2023), pp. 4564-4570, 2023.
[0005] However, when calculating network reliability using the method described in Non-Patent Document 1 for networks of a certain size or larger, there is a problem in that the computation time becomes enormous. On the other hand, it is not always necessary to calculate network reliability for all fault sizes; in some cases, it is sufficient to calculate network reliability for fault sizes above a certain level.
[0006] This disclosure is made in view of the above points and aims to provide a technology that can efficiently calculate network reliability for failures exceeding a certain scale.
[0007] A reliability calculation device according to one aspect of the present disclosure includes: an input unit that inputs a connected undirected graph, the operating probabilities of links constituting the undirected graph, a first subset of the set of nodes constituting the undirected graph, a second subset of the set of nodes constituting the undirected graph, and a failure scale representing the number of first nodes included in the first subset that cannot be connected to any of the second nodes included in the second subset; a construction unit that constructs a directed acyclic graph for calculating a downtime rate representing the probability that a number of first nodes equal to or greater than the failure scale will become unable to connect to any of the second nodes, based on the undirected graph, the operating probabilities, the first subset, the second subset, and the failure scale; a first calculation unit that calculates the downtime rate based on the directed acyclic graph; and a second calculation unit that calculates network reliability representing the probability that a number of first nodes equal to or greater than the failure scale will not become unable to connect to any of the second nodes, based on the downtime rate.
[0008] It is possible to efficiently calculate network reliability for failures exceeding a certain level.
[0009] This figure shows an example of the hardware configuration of the reliability calculation device according to this embodiment. This figure shows an example of the functional configuration of the reliability calculation device according to this embodiment. This figure shows an example of a binary decision graph representing a certain family of link subsets. This figure shows an example of a connected undirected graph. This figure shows an example of a binary decision graph representing a family of link subsets E (≧n'). This flowchart shows an example of the reliability calculation process according to this embodiment. This figure shows an example of the process flow for constructing a binary decision graph representing a family of link subsets E (≧n'). This figure shows an example of the process flow for the ROOT function and the CHILD function.
[0010] One embodiment of the present invention will be described below with reference to the drawings.
[0011] <Network Reliability> Modern society relies on communication networks, and telecommunications carriers are required to operate networks in a way that prevents major disruptions even if some components of the network fail. Classically, the severity of a communication network failure is evaluated by the duration and scale of the failure (the number of users affected by the failure). For example, in the United States, a failure affecting more than 900,000 users, and in Japan, a failure affecting more than 30,000 users for more than one hour, are considered major failures and require reporting to the supervising government agency. To prevent major failures as much as possible, telecommunications carriers need to set network reliability requirements for each failure scale (e.g., setting an upper limit on the acceptable probability of failure occurrence for each failure scale) and design networks that meet those requirements. For example, the 6th generation mobile communication system (6G) requires an extremely high network reliability of 99.99999%, and in modern times, it is necessary to calculate network reliability for each failure scale precisely without approximations.
[0012] Network reliability is an indicator used in fields such as network engineering and reliability engineering, and is defined as the probability that specified nodes are interconnected on a probabilistic network where links fail probabilistically. Here, the problem of finding network reliability for failures of a given magnitude or greater is abstractly defined as follows.
[0013] Given a network where links are probabilistically prone to failure, we are presented with several server nodes and client nodes. A network failure occurs when one or more client nodes become unable to connect to any server nodes due to a link failure, and the scale of this failure is defined as the number of client nodes that cannot connect to any server nodes. Note that a single node may function as both a server node and a client node. In a real network, for example, packet gateways and edge servers correspond to server nodes, while edge switches, aggregation switches, and base stations correspond to client nodes. However, these are just examples, and server nodes and client nodes are not limited to these. Below, we consider an abstract problem in which server nodes and client nodes are not limited to specific network devices.
[0014] In this case, given an integer value n' of 1 or greater representing the scale of the failure (hereinafter also simply referred to as "failure scale n'"), we mathematically define network reliability for failure scales greater than or equal to failure scale n'.
[0015] The network is modeled as a connected undirected graph G = (V, E), where V is the set of nodes and E is the set of links. |V| is the number of nodes, and m := |E| is the number of links. Each link e ∈ E has a probability p e Operates with probability 1-p e Assume that a failure occurs and the state of each link (i.e., whether that link is working or failed) is probabilistically independent of the states of other links. Also, assume that the set of server nodes T⊆V and the set of client nodes C⊆V are given. In this case, if S(n') (where n'∈{1, ..., |C|}) is the probability that n' or more nodes in the set of client nodes C are not connected to any node in the set of server nodes T, then S(n') can be expressed by the following equation (1).
[0016]
[0017] Here, E(≧n') is a family of subsets consisting of a subset of the link subset E'⊆E where the number of client nodes that cannot connect to any server node is n' or more.
[0018] The probability S(n') above represents the probability of a failure of magnitude n' or greater occurring, and is called the "downtime rate for failures of magnitude n'" or simply the "downtime rate." Using this downtime rate S(n'), the network reliability for failures of magnitude n' or greater is calculated as R(n') := 1 - S(n'). In other words, the network reliability for failures of magnitude n' or greater represents the probability that a failure of magnitude n' or greater will not occur.
[0019] Hereafter, a subset of the node set V will also be referred to as a "node subset," and a subset of the link set E will be referred to as a "link subset." Furthermore, a working link will be referred to as a "working link," and a malfunctioning link as a "malfunctioning link." In addition, the probability that a link is working will be referred to as the "working probability," and the probability that a link is malfunctioning will be referred to as the "malfunctioning probability."
[0020] <Conventional Methods for Determining Network Reliability for Failures of n' or Greater> As a conventional method that can strictly determine network reliability for failures of n' or greater, the method described in Non-Patent Document 1 has been proposed. The method described in Non-Patent Document 1 can strictly determine the downtime S(n') for all n'∈{1, ..., |C|}. This makes it possible to strictly determine network reliability for failures of n' or greater for all n'∈{1, ..., |C|}.
[0021] <Problems with conventional methods> When calculating network reliability using the method described in Non-Patent Document 1 for a network of a certain size or larger (e.g., a medium-sized network of about 100 nodes), there is a problem that calculating the downtime S(n') takes an enormous amount of time.
[0022] <Proposed Method> Generally, it is not always necessary to have network reliability for all failure scales n' ∈ {1, ..., |C|}, and in some cases it is sufficient to calculate network reliability for failure scales of a certain size n' or larger. For example, if we want to check whether the network reliability of 99.99999% is met for all failure scales, the downtime S(n') is 10 -7 It is sufficient to check only the range of failure scale n' that exceeds this value. Therefore, we propose a method to efficiently calculate network reliability for failure scales n' and above by efficiently calculating the downtime S(n') for a given specific failure scale n'. This makes it possible to efficiently calculate network reliability for failure scales n' and above a certain value, targeting networks of several hundred nodes, which are commonly encountered in practical applications.
[0023] By using the proposed method, for example, if we want to check whether the network reliability of 99.99999% is met for all failure scales, we calculate the downtime S(n') sequentially starting from n'=1, and if the value is 10 -7 By continuing until the downtime S(n') falls below 10 -7 It is possible to identify the range of failure scale n' that exceeds this scale. Therefore, it becomes possible to determine network reliability for failure scales of n' or greater.
[0024] Here, the proposed method, like the method described in Non-Patent Literature 1, is based on dynamic programming that maintains a node subset called a "boundary set," which represents the connectivity between nodes, as a state called a "partition." The method described in Non-Patent Literature 1 is based on dynamic programming that maintains not only the connectivity between nodes represented by the boundary set, but also the number of nodes connected to each connected component. The proposed method achieves efficiency by also maintaining the number of nodes that can no longer connect to the server node. In other words, the main difference between the proposed method and the method described in Non-Patent Literature 1 is that the proposed method also maintains the number of nodes that can no longer connect to the server node.
[0025] The reliability calculation device 10, which calculates network reliability for failures of a given size n' or larger using the proposed method, will be described below.
[0026] <Example of Hardware Configuration of Reliability Calculation Device 10> Figure 1 shows the hardware configuration of the reliability calculation device 10 according to this embodiment. As shown in Figure 1, the reliability calculation device 10 according to this embodiment is implemented with the hardware configuration of a general computer or computer system, and includes an input device 101, a display device 102, an external I / F 103, a communication I / F 104, a RAM (Random Access Memory) 105, a ROM (Read Only Memory) 106, an auxiliary storage device 107, and a processor 108. Each of these hardware components is connected to communicate via a bus 109.
[0027] The input device 101 is, for example, a keyboard, mouse, touch panel, or physical button. The display device 102 is, for example, a display or display panel. The reliability calculation device 10 does not necessarily have to have at least one of the input device 101 and the display device 102.
[0028] The external I / F 103 is an interface with external devices such as the recording medium 103a. Examples of recording media 103a include CDs (Compact Discs), DVDs (Digital Versatile Disks), SD memory cards (Secure Digital memory cards), and USB (Universal Serial Bus) memory cards.
[0029] The communication interface 104 is an interface for connecting to a communication network. The RAM 105 is a volatile semiconductor memory (storage device) that temporarily holds programs and data. The ROM 106 is a non-volatile semiconductor memory (storage device) that can retain programs and data even when the power is turned off. The auxiliary storage device 107 is a non-volatile storage device such as an HDD (Hard Disk Drive), SSD (Solid State Drive), or flash memory. The processor 108 is an arithmetic unit such as a CPU (Central Processing Unit).
[0030] Note that the hardware configuration shown in Figure 1 is just one example, and the hardware configuration of the reliability computing device 10 is not limited to this. For example, the reliability computing device 10 may have multiple auxiliary storage devices 107 and multiple processors 108, it may not have some of the hardware shown, or it may have various other hardware besides the hardware shown.
[0031] <Example of Functional Configuration of Reliability Calculation Device 10> An example of the functional configuration of the reliability calculation device 10 according to this embodiment is shown in Figure 2. As shown in Figure 2, the reliability calculation device 10 according to this embodiment has an input unit 201, a construction unit 202, a calculation unit 203, and an output unit 204. Each of these units is realized, for example, by a process in which one or more programs installed in the reliability calculation device 10 are executed by a processor 108 or the like. Here, the reliability calculation device 10 has a connected undirected graph G = (V, E) and the operation probability p of each link e ∈ E. e Given a set of nodes ∈[0,1], a server node set T⊆V, a client node set C⊆V, and a failure scale n', let m = |E|.
[0032] The input unit 201 has a given connected undirected graph G and the operating probability p of each link e∈E. e Input the server node set T⊆V, the client node set C⊆V, and the failure scale n'.
[0033] The construction unit 202 receives the information input by the input unit 201 (i.e., a connected undirected graph G and the operating probability p of each link e∈E).e Based on the server node set \(T\subseteq V\), the client node set \(C\subseteq V\), and the failure scale \(n'\), a binary decision diagram (BDD: Binary Decision Diagram) representing a link subset family \(E (\geq n')\) is constructed. A binary decision diagram is one of the directed acyclic graphs that can represent logical functions.
[0034] The calculation unit 203 calculates the non - operating rate \(S(n')\) for the failure scale \(n'\) based on the binary decision diagram constructed by the construction unit 202. Further, the calculation unit 203 calculates the network reliability \(R(n') = 1 - S(n')\) for failure scales of \(n'\) or more based on the non - operating rate \(S(n')\) for the failure scale \(n'\).
[0035] The output unit 204 outputs the network reliability \(R(n')\) (or the non - operating rate \(S(n')\) may also be used) calculated by the calculation unit 203 to a predetermined output destination. Examples of the predetermined output destination include a display device 102 such as a display, a storage area such as an auxiliary storage device 107, other programs, and other devices or equipment connected via a communication network.
[0036] <Binary Decision Diagram Representing Link Subset Family \(E (\geq n')\)> After explaining the binary decision diagram (hereinafter also abbreviated as "BDD") below, a method for constructing a binary decision diagram representing the link subset family \(E (\geq n')\) will be described.
[0037] For the link set \(E=\{e\) 1 ,\(\cdots\), \(e\) m \(\}\), the BDD is a data structure that represents a link subset family (that is, a set of subsets of the link set \(E\)) as a rooted directed acyclic graph \(B=(N,A)\). Here, \(N\) is the set of vertices and \(A\) is the set of directed edges. The root is one of the vertices, but it is a vertex with no incoming edges. Hereinafter, the root will be represented as \(r\in N\).
[0038] The vertex set \(N\) is roughly divided into two terminal vertices, which are special vertices with no outgoing edges from the vertex, and internal vertices, which are other vertices. Generally, the two terminal vertices are represented as follows.
[0039]
[0040] In the text of this specification, the downtack symbol will be replaced with the uppercase letter Τ, and the uptack symbol will be replaced with the vertical sign ⊥.
[0041] Each internal vertex v ∈ N \ {T, ⊥} has two edges called LO edges and HI edges, and a label represented by an integer value between 1 and m (inclusive). The vertices pointed to by the LO edges and HI edges of internal vertex v are called LO child vertices and HI child vertices, respectively. The label of each vertex in the BDD must be smaller than the labels of its LO child vertices and HI child vertices. Hereafter, for convenience, the label of a terminal vertex is defined as m+1.
[0042] A BDD representing a family of link subsets is one in which each link subset in the family of link subsets corresponds to a path from its root r to a terminal vertex T. Specifically, given a path from root r to a terminal vertex T, following the LO edge from a vertex labeled i along that path results in a link e in the link subset corresponding to that path. i This means that it is not included, while traversing the HI edge from the vertex labeled i means that the link subset corresponding to that path contains link e. i This means that it includes link e. i Even if it contains link e i This means that it does not have to be included.
[0043] As an example, Figure 3 shows a BDD representing a family of link subsets. The BDD shown in Figure 3 is a link set E = {e 1 , e 2 , e 3 , e 4 , e 5 , e 6 This represents a certain family of link subsets of {e}, where each link subset included in that family of link subsets corresponds to a path from the root r to the terminal vertex T. For example, the path 1-(HI edge)-2-(LO edge)-3-(HI edge)-4-(LO edge)-5-(LO edge)-T of the BDD shown in Figure 3 corresponds to the link subset {e}.1 , e 3} and {e 1 , e 3 , e 6 This corresponds to}. The family of link subsets, each consisting of a link subset corresponding to all paths from the root r to the terminal vertex T, is the family of link subsets represented by the BDD. In the BDD shown in Figure 3, circles represent internal vertices and squares represent terminal vertices, and the numbers inside the circles represent the labels of the internal vertices.
[0044] - Method for constructing a binary decision graph representing a family of link subsets E (≧n') If a BDD can be constructed to represent a family of link subsets E (≧n'), it will be possible to efficiently calculate the downtime S(n') defined by equation (1) above (specifically, in a time proportional to the number of vertices in the BDD) using a method similar to the one described in Non-Patent Literature 1. Therefore, the method for constructing a BDD representing a family of link subsets E (≧n') will be explained below. The method for constructing a BDD representing a family of link subsets E (≧n') is similar to the method for constructing a BDD described in Non-Patent Literature 1, but the method for determining equivalence performed internally is significantly different, so the construction method will be explained with particular attention to this difference.
[0045] As a starting point, consider the following process: The order of m links e by an appropriate method 1 , ..., e m The system determines the order of links and then determines the status of each link (i.e., whether it is working or not) in order from the first link. After determining the status of all links, it calculates the number of client nodes that are not connected to any server node at that point and checks whether that number is n' or greater. Regarding the method for determining the order of links, for example, the method described in Reference 1 is known to be efficient, but it is not limited to this, and the proposed method can determine the order of links using any method.
[0046] The above process allows us to explore all possible combinations of link states, making it possible to calculate the number of link state combinations that would result in a failure of magnitude n' or greater. However, because the above process requires checking each link state combination individually, it takes exponential time with respect to the number of links.
[0047] Therefore, in order to make the above process more efficient, we consider treating equivalent states of links as identical. This equivalence is defined as follows: E <i :={e 1 , ..., e i-1}, E ≧i :={e i , ..., e m Defined as}, E <i We will call a subset of the set the "i-th link subset". Here, we will consider two i-th link subsets X and Y to be equivalent if they satisfy the following condition (*).
[0048] Condition (*): Any Z⊆E ≧i For this case as well, the number of client nodes that cannot connect to any server node when only the links in X∪Z are operational is equal to the number of client nodes that cannot connect to any server node when only the links in Y∪Z are operational.
[0049] To determine the sufficient condition for the above condition (*), we introduce three concepts: "boundary set," "partition," and "count map." First, E <i and E ≧i The set of nodes that appear in both is called the "i-th boundary set", F i This is expressed as follows. Next, for the i-th link subset, its partition is defined as follows.
[0050] Definition of partition: i-th link subset X ⊆ E <i A partition on this is the i-th boundary set F. i This is a division into blocks, where each block consists of one "special block" and all other "general blocks". Node x ∈ F iA node belongs to a special block if it is connected to at least one server node by a link in the i-th link subset X. Two nodes x, y ∈ F do not belong to a special block. i They belong to the same general block only when they are connected to each other by a link in the i-th link subset X. For a partition P, its special block is s P Also, node v∈F i Block containing b v P It is represented as follows.
[0051] Intuitively, special blocks can be said to represent a collection of nodes in a boundary set that are connected to any server node, while general blocks represent the intersection of other connected components and the boundary set.
[0052] Finally, we define the count map. In the method described in Non-Patent Document 1, the count map is a special block s P For the first block, it was the number of client nodes connected to the server node, and for the second block, it was the number of client nodes included in the connected component corresponding to that second block. On the other hand, in the proposed method, the second block was the number of client nodes in the second block. P The count map does not retain a value for this; instead, it retains an integer k'. The integer k' represents the number of n'-k' client nodes that have become unable to connect to the server node. Using this k', the count map is defined as follows.
[0053] Definition of a count map: i-th link subset X ⊆ E <i Given that the partition is P, the count map n of the i-th link subset X is defined as a mapping from the general block of partition P to an integer value, as follows: For a general block b, n(b) is the smaller of the number of client nodes in the general block b and the corresponding connected component, and k'.
[0054] In other words, the proposed method restricts the maximum value of the count map to k'.
[0055] Hereafter, the division will be represented by a list of blocks, with special blocks represented by listing the node numbers inside {}, and general blocks represented by listing the node numbers inside []. Furthermore, the count map value of each block will be represented by writing a number to the upper right of the parentheses representing the block. However, if the count map value is k', it will be written as "≧k'" to indicate that the number of client nodes included in the connected component of the general block corresponding to that count map is k' or greater. For example, {14} 2 [3] ≧3 This notation represents a partition consisting of a special block made up of nodes 1 and 4 and a general block made up of only node 3, as well as a count map n = {{14}→2, [3]→3}.
[0056] Now, if the partitions, values of k', and count maps of two i-th link subsets X and Y are the same, it can be mathematically shown that the two i-th link subsets X and Y satisfy the above condition (*). Furthermore, the following fact can be similarly shown: When the partitions, values of k', and count maps of two i-th link subsets X and Y are the same, then the partitions, values of k', and count maps of X and Y when viewed as the (i+1)-th link subset are the same, and X∪{e i}, Y∪{e i The division of}, the value of k', and the count map also match.
[0057] Due to the above properties, when determining the state of each link in order, the partition, the value of k', and the count map are calculated and then transitioned, thereby constructing a BDD with the partition, the value of k', and the count map as vertices. This BDD can be considered as representing a family of link subsets E (≧n') by transitioning to the terminal vertex T when it is determined that k' or more client nodes cannot connect to the server node, and transitioning to the terminal vertex ⊥ when it is determined that the number of client nodes that cannot connect to the server node is less than k'. For this reason, it is possible to efficiently calculate the downtime S(n') defined by equation (1) above using the above BDD with a method similar to the method described in Non-Patent Document 1.
[0058] As an example, suppose we are given a connected undirected graph G shown in Figure 4 and n' = 2. Here, the connected undirected graph G shown in Figure 4 is given by V = {v 1 ,v 2 ,v 3 ,v 4 ,v 5}, E = {e 1 , e 2 , e 3 , e 4 , e 5 , e 6}. In this case, Figure 5 shows the BDD representing the family of link subsets E (≧n'). The BDD shown in Figure 5 represents the family of link subsets E (≧n'), and each internal vertex has the value of k' on the left and the partition and count map on the right.
[0059] Hereafter, we will refer to the information used to determine the equivalence of vertices when constructing the above BDD as "configure". In the proposed method, configuration is a set of partition, k' value, and count map.
[0060] <Example of Reliability Calculation Process> An example of the reliability calculation process according to this embodiment will be described with reference to Figure 6. Hereinafter, the reliability calculation device 10 has a connected undirected graph G = (V, E) and the operating probability p of each link e ∈ E. eLet's assume that a set of server nodes T ⊆ V, a set of client nodes C ⊆ V, and a failure scale n' are given.
[0061] The input unit 201 has a given connected undirected graph G and the operating probability p of each link e∈E. e The server node set T⊆V, the client node set C⊆V, and the failure scale n' are input (step S101).
[0062] The construction unit 202 receives the information input in step S101 above (a connected undirected graph G and the operating probability p of each link e∈E). e Based on the server node set T⊆V, the client node set C⊆V, and the failure scale n', a binary decision graph representing the link subset family E(≧n') is constructed (step S102). Details of the process for constructing the binary decision graph representing the link subset family E(≧n') will be described later.
[0063] The calculation unit 203 calculates the downtime rate S(n') for a given failure size n' based on the binary decision graph constructed in step S102 (step S103). The calculation unit 203 can calculate the downtime rate S(n') for a given failure size n' by performing dynamic programming on the binary decision graph constructed in step S102 using a procedure similar to Algorithm 1 described in Non-Patent Document 1. That is, the calculation unit 203 successively calculates the probabilities shown in equation (2) below for a configuration s for the i-th link subset.
[0064]
[0065] Here, χ i s This is a family of link subsets consisting of all i-th link subsets such that configure is s. The calculation unit 203 also prepares a value called r[T] and updates this value using the probability shown in equation (3) above to calculate the final value of r[T] as S(n').
[0066] Specifically, first, the calculation unit 203 sets the value of p for the configuration s corresponding to the first link subset to 1, and all other values of p and r[T] to 0. Next, for i=1, ..., m, the calculation unit 203 performs the following steps 1 to 3 using each configuration s corresponding to the i-th link subset. However, below, f∈{LO,HI}, Next f (i, s) represents the configuration of the f-child vertices of the vertex corresponding to configuration s in label i.
[0067] Step 1: The calculation unit 203 performs Next f If the vertex corresponding to (i, s) is not the terminal vertex T, then p[i+1, Next f (i, s)] for p e_i f - Add up the values of p[i,s]. However, "e_i" is "e i It represents ". Also, p e f is, p e LO := 1-p e , p e HI :=p e It is stipulated that...
[0068] Step 2: The calculation unit 203 performs Next f If the vertex corresponding to (i, s) is the terminal vertex T, then for r[T] p e_i f - Add up the values of p[i,s].
[0069] Step 3: The calculation unit 203 outputs the value of r[T] as S(n'). This gives the downtime S(n') for a given failure scale n'.
[0070] The calculation unit 203 calculates the network reliability R(n') = 1 - S(n') for failures of magnitude n' or greater, based on the downtime S(n') calculated in step S103 (step S104).
[0071] The output unit 204 outputs the network reliability R(n') calculated in step S104 above (or the non-operating rate S(n') calculated in step S103 above may also be used) to a predetermined output destination (step S105).
[0072] ≪Example of the process of constructing a binary decision graph representing the link subset family E(≥n')≫ The flow of the process of constructing a binary decision graph representing the link subset family E(≥n') will be described while referring to FIG. 7. Hereinafter, as an example, the case of constructing a binary decision graph representing the link subset family E(≥n') based on the framework of the top-down construction of BDD described in Reference 2 will be described. In the top-down construction, for each link subset family to be represented by BDD, a configure is designed, and by appropriately determining ROOT, which is a function that outputs the configure of the root, and CHILD, which is a function that outputs the configure of vertices other than the root and the terminal vertices, a BDD representing various link subset families can be constructed.
[0073] First, the calculation unit 203 receives the label i of the root 0 and the configure s of the root 0 from the ROOT function (second line). Next, the calculation unit 203 creates a root r with the label i 0 and the configure s 0 . Thereafter, the calculation unit 203 sequentially executes the lines after the fifth line from i = i 0 to m (fourth line).
[0074] Specifically, first, the calculation unit 203 scans for vertices with label i (line 5), and then executes lines 7 onwards for each of the LO and HI child vertices of that vertex (line 6). Hereafter, let f ∈ {LO, HI}. In line 7, the calculation unit 203 generates the label i' and the configuration s' of the f child vertex using the CHILD function. Next, in line 8, the calculation unit 203 sets the f child vertex as the terminal vertex ⊥ if the label i' is m+1 and the configuration s' is 0. On the other hand, in line 9, the calculation unit 203 sets the f child vertex as the terminal vertex T if the label i' is m+1 and the configuration s' is 1. In lines 10-11, the calculation unit 203 determines whether a vertex p' with label i' and configuration s' already exists if label i' is not m+1. If it does not exist, it creates a vertex p' with label i' and configuration s'. The calculation unit 203 then sets the existing vertex p' or the created vertex p' as the f-child vertex. In implementation, for example, the pairs of labels and configurations of existing vertices could be stored in a hash table, and this hash table could be used to determine whether a vertex p' with label i' and configuration s' already exists. However, using a hash table is just one example and is not the only way to implement this.
[0075] <<Examples of ROOT and CHILD Function Processing>> The processing flow of the ROOT and CHILD functions will be explained with reference to Figure 8. Lines 1-2 show the processing flow of the ROOT function, and lines 3-26 show the processing flow of the CHILD function. Here, the CHILD function is given a vertex label i, a set of configuration k', partition P, and count map n, and f representing either LO or HI.
[0076] ・The flow of the ROOT function processing: The root label is 1. Since there is no client node that has been determined to be unconnected to the server node yet, the value of k' is n'. The division is only the empty special block {}. The count map is an empty mapping φ because there are no general blocks. Therefore, the calculation unit 203 outputs a set with label 1, configure as n', {}, φ (second line).
[0077] ・The flow of the CHILD function processing: The calculation unit 203 repeats lines 6 to 8 for the node x that is not included in the boundary set F among the nodes v and v' that are the endpoints of the link e (fourth line). When the node x is a server node, the calculation unit 203 adds the node x to the special block s (fifth line). When the node x is not a server node (sixth line), the calculation unit 203 adds a new general block [x] composed only of the node x to the division P (seventh line). When the node x is a client node, the value of the count map of the general block [x] is set to 1, and when it is not, the value of the count map of the general block [x] is set to 0 (eighth line).
[0078] f = HI, that is, the link e i operates, and when the blocks containing the nodes v and v' that are the endpoints of the link e i are different (ninth line), the calculation unit 203 executes lines 10 to 15. That is, when either the block containing the node v or the block containing the node v' is a special block (tenth line), the calculation unit 203 merges these blocks into a new special block (eleventh line). When both the block containing the node v and the block containing the node v' are general blocks (twelfth line), the calculation unit 203 merges these blocks into a new general block (thirteenth line), and the value of its count map is set to the smaller of the sum of the count map values of the original blocks and k' (fourteenth line). Then, the calculation unit 203 deletes the information about the blocks before the merge from the count map (fifteenth line).
[0079] The calculation unit 203 is for the link e i Among the endpoint nodes v and v', the boundary set F i+1 For any node x that is not included in the block, lines 17 to 20 are repeated (line 16). First, the calculation unit 203 designates the block containing node x as B, and then removes node x from block B (line 17). If block B is a general block and B becomes empty (line 18), client nodes that were connected to nodes included in block B will no longer be able to connect to server nodes, so the calculation unit 203 subtracts the value of the count map of B from k' (line 19), removes block B from partition P, and also removes the count map n(B) (line 20).
[0080] If k' becomes 0 or less, it is determined that n' or more client nodes cannot connect to the server node, so the calculation unit 203 outputs <m+1,1> (line 21).
[0081] E ≧i While it exists in E <i The set of nodes that do not exist in B i In that case, B i If the sum of the number of client nodes among the nodes included and the sum of the values in the general block's count map is less than k', it is determined that at most n'-1 client nodes will be disconnected from the server node, and the calculation unit 203 outputs <m+1, 0> (line 22).
[0082] All server nodes have been processed (i.e., boundary set F) i and B i If it is no longer included in any of the above, and the special block is empty, then subsequent client nodes will no longer connect to the server node, so the calculation unit 203 outputs <m+1,1> (lines 23-24).
[0083] Next, the calculation unit 203 limits the maximum value of the count map for each general block to k' (line 25).
[0084] Finally, the calculation unit 203 outputs a set of i+1 as the label, k' as the configure, partition P, and count map n (line 26).
[0085] While partition P can be implemented on a computer using arrays or similar methods, using arrays is just one example and not the only way to implement it.
[0086] <Summary> As described above, the reliability calculation device 10 according to this embodiment can efficiently calculate the downtime S(n'), which represents the probability of a failure of a magnitude greater than or equal to a given failure magnitude n' occurring. Therefore, the reliability calculation device 10 according to this embodiment can efficiently calculate the network reliability for failure magnitudes greater than or equal to a given failure magnitude n'.
[0087] By using the reliability calculation device 10 according to this embodiment, even for networks with 200 or more nodes, which require an enormous amount of computation time with the method described in Non-Patent Document 1, it becomes possible to calculate the downtime S(n') in a realistic amount of time depending on the scale of the failure n'. Therefore, the 10 which has become necessary in recent years -7 This makes it possible to calculate the downtime S(n') with this level of accuracy over larger networks, such as those with 200 or more nodes.
[0088] The present invention is not limited to the embodiments specifically disclosed above, and various modifications, changes, and combinations with known technologies are possible without departing from the spirit of the claims.
[0089] [References] Reference 1: Yuma Inoue and Shin-ichi Minato. Acceleration of ZDD construction for subgraph enumeration via pathwidth optimization. Technical Report of Division of Computer Science, Hokkaido University, TCS-TR-A-16-80, 2016. Reference 2: Hiroaki Iwashita and Shin-ichi Minato. Efficient top-down ZDD construction techniques using recursive specifications. Technical Report of Division of Computer Science, Hokkaido University, TCS-TR-A-13-69, 2013.
[0090] 10 Reliability calculation device 101 Input device 102 Display device 103 External I / F 103a Recording medium 104 Communication I / F 105 RAM 106 ROM 107 Auxiliary storage device 108 Processor 109 Bus 201 Input unit 202 Construction unit 203 Calculation unit 204 Output unit
Claims
1. A reliability calculation device comprising: an input unit that inputs a connected undirected graph, the operating probabilities of the links constituting the undirected graph, a first subset of the set of nodes constituting the undirected graph, a second subset of the set of nodes constituting the undirected graph, and a failure scale representing the number of first nodes included in the first subset that cannot be connected to any of the second nodes included in the second subset; a construction unit that constructs a directed acyclic graph for calculating a downtime rate representing the probability that a number of first nodes greater than or equal to the failure scale will become unable to connect to any of the second nodes, based on the undirected graph, the operating probabilities, the first subset, the second subset, and the failure scale; a first calculation unit that calculates the downtime rate based on the directed acyclic graph; and a second calculation unit that calculates network reliability representing the probability that a number of first nodes greater than or equal to the failure scale will not become unable to connect to any of the second nodes, based on the downtime rate.
2. The reliability calculation device according to claim 1, wherein the construction unit constructs a binary decision graph as the directed acyclic graph that represents a family of link subsets from which a subset of links constituting the undirected graph is located, such that the first node with a failure magnitude greater than or equal to the second node is unable to connect to any of the second nodes.
3. The construction unit is the set of links E up to the i-1th link that constitute the undirected graph. <i = {e 1 , ..., e i-1 The reliability calculation device according to claim 2, wherein the binary decision graph is constructed as the directed acyclic graph, with the vertices associated with a predetermined partition of a subset of}, a predetermined mapping to the elements included in the partition, and an integer k' representing the number of first nodes of the fault scale - k' that can no longer be connected to any of the second nodes being internal vertices, the vertices representing that it has been determined that k' or more of the first nodes cannot be connected to any of the second nodes are not connected to any of the second nodes are first terminal vertices, and the vertices representing that it has been determined that the number of first nodes that cannot be connected to any of the second nodes is less than k' are second terminal vertices.
4. A reliability calculation method in which a computer performs the following steps: an input procedure for inputting a connected undirected graph, the operating probabilities of the links constituting the undirected graph, a first subset of the set of nodes constituting the undirected graph, a second subset of the set of nodes constituting the undirected graph, and a failure scale representing the number of first nodes included in the first subset that cannot be connected to any of the second nodes included in the second subset; a construction procedure for constructing a directed acyclic graph for calculating a downtime rate representing the probability that a number of first nodes greater than or equal to the failure scale will become unable to connect to any of the second nodes, based on the undirected graph, the operating probabilities, the first subset, the second subset, and the failure scale; a first calculation procedure for calculating the downtime rate based on the directed acyclic graph; and a second calculation procedure for calculating network reliability representing the probability that a number of first nodes greater than or equal to the failure scale will not become unable to connect to any of the second nodes, based on the downtime rate.