What-if analysis for network diagnostics
AssigneeMicrosoft Corporation
InventorsLili Qiu, Paramvir Bahl, Lidong Zhou, Ananth Rajagopala Rao
Life of this patent
Estimating the term…
Abstract
A network troubleshooting framework is described. In an implementation, a method includes generating a first estimation of network performance by a simulator based on network settings obtained from a network, estimating the new performance under an alternative setting by providing the alternative setting to the network simulation and observing the simulation output, repeating the procedure for other alternative settings, and suggesting the alternative setting that improves network performance.
Claims15
A computer readable storage media encoded with computer executable instructions, executed by a processor to perform operations comprising:
- selecting one or more of a plurality of fault types for inclusion in a fault set;
- providing the fault set and network settings obtained from a real network as inputs to a first iterative network simulation, wherein the network setting include data that is selected from the group consisting of:
- network topology;
- traffic statistics;
- physical medium;
- network operation;
- target end-to-end demands of one or more nodes of the real network;
- and
- at least one routing protocol that is utilized in the real network;
- acquiring an estimation of network performance from the first iterative network simulation;
- determining a difference between the estimation of network performance and an actual observation of network performance of the real network;
- determining whether the difference between the estimation of network performance and the actual observation of network performance of the real network is greater than a corresponding threshold during an initial fault diagnosis;
- in an event the difference between the estimation of network performance and the actual observation of network performance of the real network is not greater than the corresponding threshold:
- reporting to a manager module, the fault set indicating that the real network is operating normally;
- in an event the difference between the estimation of network performance and the actual observation of network performance of the real network is greater than the corresponding threshold:
- determining, for an individual one of the plurality of fault types, a differential between the estimation of network performance and the actual observation of network performance of the real network;
- translating the differential of the individual fault type into a fault magnitude by utilizing a function to map the impact of the individual fault type into the fault magnitude;
- updating the fault magnitude;
- determining whether the fault magnitude explains an observed discrepancy between an expected network performance and the actual observation of network performance of the real network;
- removing the individual fault type when the fault magnitude is below a predetermined threshold;
- determining whether expected performance of the network approximates real performance of the network;
- in an event the expected performance of the network approximates real performance of the network:
- reporting to the manager module, the fault set indicating that the expected performance of the network using the fault set is converging with real performance of the network;
- and
- in an event the expected performance of the network does not approximate real performance of the network:
- adding a new fault candidate to the fault set to be input to a second iterative network simulation;
- wherein,
- the second iterative network simulation utilizes the new fault candidate added to the fault set to determine whether the expected performance of the network is converging with the real performance of the network.
A method comprising:
- selecting by an analysis module in a manager node, one or more of a plurality of fault types for inclusion in a fault set;
- providing the fault set and network settings obtained from a real network as inputs to a first iterative network simulation, wherein the network settings include data that is selected from the group consisting of:
- network topology;
- traffic statistics;
- physical medium;
- network operation;
- target end-to-end demands of one or more nodes of the real network;
- and
- at least one routing protocol that is utilized in the real network;
- acquiring an estimation of network performance from the first iterative network simulation;
- determining by a processor, a difference between the estimation of network performance and an actual observation of network performance of the real network;
- determining whether the difference between the estimation of network performance and the actual observation of network performance of the real network is greater than a corresponding threshold during an initial fault diagnosis;
- in an event the difference between the estimation of network performance and the actual observation of network performance of the real network is not greater than a corresponding threshold:
- reporting to a manager module, the fault set indicating that the real network is operating normally;
- in an event the difference between the estimation of network performance and the actual observation of network performance of the real network is greater than the corresponding threshold:
- determining for an individual one of the plurality of fault types, a differential between the estimation of network performance and the actual observation of network performance of the real network;
- translating the differential of the individual fault type into a fault magnitude by utilizing a function to map the impact of the individual fault type into the fault magnitude;
- updating the fault magnitude;
- determining whether the fault magnitude explains an observed discrepancy between an expected network performance and the actual observation of network performance of the real network;
- removing the individual fault type when the fault magnitude is below a predetermined threshold;
- determining whether expected performance of the network approximates real performance of the network;
- in an event the expected performance of the network approximates real performance of the network:
- reporting to the manager module, the fault set and indicating that the expected performance of the network using the fault set is converging with real performance of the network;
- and
- in an event the expected performance of the network does not approximate real performance of the network:
- adding, a new fault candidate to the fault set to be input to a second iterative network simulation;
- wherein, the second iterative network simulation utilizes the new fault candidate added to the fault set to determine whether the expected performance of the network is converging with the real performance of the network.
A system comprising:
- at least one node;
- a processor;
- a network connection device for communicatively coupling the processor to a network;
- and
- a memory configured to maintain:
- a simulator to generate a network simulation that provides an estimation of network performance of the network;
- a manager module executed by the processor to perform operations comprising:
- selecting one or more of a plurality of fault types for inclusion in a fault set;
- providing the fault set and network settings obtained from a real network as inputs to a first iterative network simulation, wherein the network settings include data that is selected from the group consisting of:
- network topology;
- traffic statistics;
- physical medium;
- network operation;
- target end-to-end demands of one or more nodes of the real network;
- and
- at least one routing protocol that is utilized in the real network;
- acquiring an estimation of network performance from the first iterative network simulation;
- determining a difference between the estimation of network performance and an actual observation of network performance of the real network;
- determining whether the difference between the estimation of network performance and the actual observation of network performance of the real network is greater than a corresponding threshold during an initial fault diagnosis;
- in an event the difference between the estimation of network performance and the actual observation of network performance of the real network is not greater than the corresponding threshold:
- reporting to the manager module, the fault set indicating that the real network is operating normally;
- in an event the difference between the estimation of network performance and the actual observation of network performance of the real network is greater than the corresponding threshold:
- determining, for an individual one of the plurality of fault types, a differential between the estimation of network performance and the actual observation of network performance of the real network;
- translating the differential of the individual fault type into a fault magnitude by utilizing a function to map the impact of the individual fault type into the fault magnitude;
- updating the fault magnitude;
- determining whether the fault magnitude explains an observed discrepancy between an expected network performance and the actual observation of network performance of the real network;
- removing the individual fault type when the fault magnitude is below a predetermined threshold;
- determining whether expected performance of the network approximates real performance of the network;
- in an event the expected performance of the network approximates real performance of the network:
- reporting to the manager module, the fault set indicating that the expected performance of the network using the fault set is converging with real performance of the network;
- and
- in an event the expected performance of the network does not approximate real performance of the network:
- adding a new fault candidate to the fault set to be input to a second iterative network simulation;
- wherein, the second iterative network simulation utilizes the new fault candidate added to the fault set to determine whether the expected performance of the network is converging with the real performance of the network.
Dependencies are inferred from the claim text.