BACKGROUND 
       [0001]    Managed networks exist everywhere, including telecommunications networks, utilities pipelines, television and radio broadcast networks, to name just a few. Such networks are typically monitored to detect component failures and deviations from optimum performance caused by changing operating conditions. As a result, most conventional networks include self-monitoring systems which vary widely in their level of sophistication depending on the type and complexity of the network involved. 
         [0002]    Irrespective of the level of complexity of the network, a managed network can conventionally include centralised or regionalised management capabilities to allow network operators to monitor the status and performance of network components and re-configure the network in response to changing operational needs or failures. 
         [0003]    This is acceptable if the managed network can be monitored and maintained by a reasonable number of experienced network operations personnel. Under these circumstances, human operators are responsible for correlating the streams of state change events and performance measurements received from network components and, based on their experience of operating that network under a range of operational and fault conditions, adjusting the operational parameters to provide the required level of service to their customers. 
         [0004]    However, where a network becomes more complex with a large number of interconnected network components, it becomes more difficult for network operators to diagnose problems encountered with the network because of the sheer volume of information that is presented to them. 
         [0005]    In addition, the continuous reliable operation of the network may be critical, for example, if the network relates to essential telecommunications or nuclear plant control or other infrastructure power supply etc. In these cases it is important that there is an accurate awareness of any vulnerability within the network, the appropriate back-ups designed into the network, and an ability to quickly locate the source of observed network failure. 
         [0006]    In this situation, network operators often turn to automated correlation systems in an attempt to offload some of the analysis workload and speed up fault resolution times. Conventionally, such systems analyze state change events and/or performance measurements gathered from the live network and depending on their level of sophistication, attempt to identify network problems, their impact on delivered services and to perform root cause analysis. In general however these types of system are driven by state change events and performance measurement changes caused by actual network problems. Accordingly, they do not typically provide anything more than a localized ‘what-if’ predictive capability to evaluate the vulnerability of an existing or planned network to component problems or changing operating conditions 
       SUMMARY OF THE INVENTION 
       [0007]    A first aspect of the present invention provides a method of analysing a network which has a plurality of interconnected network components, the method using a network model which includes component configuration data for each of the network components and component interconnection data for each connection between network components, the method comprising:
       selectively altering component configuration data for a first network component, or selectively altering component interconnection data for a first connection, thereby selectively altering a modeled state of the first network component or the first component connection within the network model;   propagating the effect of such altering of a modeled state throughout the network model in dependence upon configuration data and interconnection data relating to the first network component and in dependence upon such data relating to other connected network components;   monitoring the effect of said propagation on other network components within the network model.       
 
         [0011]    In this way, selected alterations may be made to the network model and the effect of such changes monitored. For example, a network component may be disabled to mimic network component failure. The effect of this alteration to the configuration data of the network component may then be monitored to assess the impact of the change on the other network components within the network and the effect on the network as a whole and the network outputs. Alternatively, a network connection may be disabled to simulate a connection failure and the effect of this change on the network components and the network as a whole may be monitored. This will allow a picture to be created of the importance of each network component and connection within the network and of the effect on the network outputs. This information can then be relied on as an indication of the failure source when a real-time network output failure or the like is detected. 
         [0012]    Alternatively, the selected alteration may mimic degradation or partial compromise of the network component or network connection i.e. operational compromise, but not complete failure. This allows modeling of time-dependent or environment-dependent degradation of network components and/or connections within a network and the effect on other part of the network including network outputs. 
         [0013]    The use of the term ‘configuration data’ is intended to include, but is not restricted to, passive configuration data such as name, type and connectivity data; data representing an operational status such as ‘in-service’, ‘out-of-service’, ‘commissioning’ and the like; data representing an operational state as a consequence of the actual component in the network it represents, for example, due to receipt of state change events or performance measurement changes from the monitoring system; and consequential state data as a result of the effect of a state change on some related component within the model which has been propagated by whatever means to cause an effect on another component within the model. 
         [0014]    The use of the term ‘network component’ is intended to include, but is not restricted to, components within a network (such as a telecommunication network or the like), for example, switches etc, as well as all the other components of a network including but not limited to logical and service components of the network. 
         [0015]    The method may further comprise selectively altering the component configuration data of more than one network component. 
         [0016]    Alternatively, or in addition, the method may further comprise selectively altering component interconnection data for more than one connection. 
         [0017]    It will be appreciated that the selective alteration of more than one network component/network connection allows the modeling of more complex failure scenarios within the network. This may more realistically reflect the actual operational experiences within a network, particularly where some network components are co-located and the local environment becomes compromised or local connectivity is disrupted. 
         [0018]    In one embodiment, the method further comprises the step of identifying the effect of selectively altering component configuration data on the network outputs. However, it will be appreciated that the method of the present invention is not restricted to monitoring just the delivery of the network outputs, but is also useful to monitor the status at other points within the network as well as identification of vulnerabilities within the network. 
         [0019]    The component configuration data and/or component interconnection data may be selected for altering in dependence upon predetermined selection parameters. 
         [0020]    In a further embodiment, the method further comprises the step of recording the effect of said propagation on other network components within the network model. 
         [0021]    A further aspect of the present invention provides a system for analysing a network which has a plurality of interconnected network components, the system comprising:
       a component data storage unit operable to store component configuration data for each network component in the network, and component interconnection data for each connection between network components in the network, such stored data forming a network model;   a processing unit operable to alter selectively component configuration data stored in the storage unit relating to a first network component, or to alter selectively component interconnection data for a first connection, thereby to alter selectively a modeled state of such a first network component or such a first component connection within the network model; the processing unit also being operable to propagating the effect of such altering of a modeled state throughout such a stored network model in dependence upon stored configuration data and interconnection data relating to the first network component and in dependence upon such stored data relating to other network components; and   a monitoring unit operable to monitor an effect of said propagation on stored data relating to other network components within the network model.       
 
         [0025]    According to an example, there is provide a method for analysing a network including a plurality of interconnected network components using a network model including component configuration data for each of the network components and component interconnection data for each connection between network components, the method comprising selecting a set of network components representing a class of components of the network, selectively altering component configuration data for a first network component in the selected set, or selectively altering component interconnection data for a first connection of a component in the selected set, thereby selectively altering a modeled state of the first network component or the first component connection within the network model to one of multiple states corresponding to failure, degradation or partial compromise of the component or connection, propagating the effect of such altering of a modeled state throughout the network model in dependence upon configuration data and interconnection data relating to the first network component and in dependence upon such data relating to other connected network components, monitoring the effect of said propagation on other network components within the network model. 
         [0026]    According to an example, there is provide a method for analysing a network to determine a vulnerability, comprising selecting a network component or interconnection within the network, modifying a state of the selected component or interconnection and determining the states of multiple other components or interconnections in the network in response to the change of state of the selected component or interconnection. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0027]    Certain embodiments of the invention will now be described, by way of example only, and with reference to the accompanying drawings, in which: 
           [0028]      FIG. 1  illustrates an example of a network model; 
           [0029]      FIG. 2  illustrates the effect of carrying out a first embodiment of the method of the present invention on the network model of  FIG. 1 ; 
           [0030]      FIG. 3  illustrates the effect of carrying out a second embodiment of the method of the present invention on the network model of  FIG. 1 ; 
           [0031]      FIG. 4  illustrates the effect of carrying out a third embodiment of the method of the present invention on the network model of  FIG. 1 ; 
           [0032]      FIG. 5  illustrates the effect of carrying out a fourth embodiment of the method of the present invention on the network model of  FIG. 1 ; 
           [0033]      FIG. 6  illustrates the effect of carrying out a fifth embodiment of the method of the present invention on the network model of  FIG. 1 ; 
           [0034]      FIG. 7  illustrates the effect of carrying out a sixth embodiment of the method of the present invention on the network model of  FIG. 1 ; and 
           [0035]      FIG. 8  is a bar chart presenting the vulnerabilities within the network model of  FIG. 1 . 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0036]      FIG. 1  shows a network model of a sample network. It will be appreciated that a network model of any complexity may be used according to an example, and the network model of  FIG. 1  is presented for illustrative purposes only. 
         [0037]    Network model  10  comprises a plurality of components  20  representing physical, logical or service components such as routers, channels and IP TV services respectively for example. Each type of component  20  may be interconnected to any other type of component  30  in the same or another layer of the network model  10 . It is to be appreciated that network model  10  illustrates a three tier hierarchy of interconnected components. However, more complex networks may be modelled and subject to the method of the present application. 
         [0038]    It may be desirable to modify the network model  10  shown in  FIG. 1  to remove network components for maintenance. Alternatively, it may be desirable to modify the network in a more significant manner to modify the network arrangement. However, before doing this with the actual physical network, it is desirable to model such changes to assess the impact that such modifications will have.  FIG. 2  shows the network model  10  of  FIG. 1  with the configuration data of physical component  20 A altered to reflect a degradation of physical component  20 A. Degradation can include a reduction in the quality or volume of data passing via or from component  20 A for example. The configuration properties of logical component  30 A support redundancy i.e. the failure of both physical components  20 A and  20 B is required before logical component  30 A itself fails. Therefore, although physical component  20 A is compromised, logical component  30 A remains unaffected and thus service components  40 A,  40 B remain unaffected and operational. 
         [0039]      FIG. 3  demonstrates a further modification to network model  10 . The configuration data of physical component  20 B is modified to represent failure of the network component. Failure can include a total loss of data input to component  20 B, such as data packets being dropped for example as a result of the component being unable to function. In this case, due to the aforementioned redundancy of logical component  30 A, logical component  30 A remains operationally unaffected and service  40 A remains unaffected and operational. 
         [0040]      FIG. 4  shows an alternative modification where the configuration data of physical component  20 C is modified to reflect the failure of physical component  20 C. Physical component  20 C is connected to logical component  30 C. However, as logical component  30 C has no redundancy, the simulated failure of physical component  20 C results in the failure of logical component  30 C. This is turn leads to the failure of service components  40 A and  40 B due to the interconnection of logical component  30 C with service components  40 A and  40 B. Thus, unlike the situations in  FIGS. 2 and 3 , the failure of physical component  20 C results in a failure of the network as a result of disruption to the operation of both service components  40 A and  40 B. 
         [0041]    Accordingly, failure of components in the same level of a network cannot be assumed to have the same level of effect on the overall network and network outputs. 
         [0042]      FIG. 5  illustrates the modification of the configuration data of physical component  20 D to represent a failure of physical component  20 D. This results in operational failure of logical component  30 D and subsequent failure of connected service  40 B. Thus, breaking physical component  20 D can be seen to have a less serious effect than the example shown in  FIG. 4  as only service component  40 B is affected. However, it does highlight a weakness inherent in logical component  30 C, i.e. that is non-redundant and therefore a failure of any of its supporting components such as physical component  20 D or  20 E will cause it to fail. In addition, this example demonstrates that service component  40 A depends on logical component  30 B, whose configuration data and state, including operational state, cannot be affected by a failure in the physical component layer  20 . 
         [0043]      FIG. 6  illustrates the effects of configuration of the data of physical component  20 E. This in turn affects the operation of logical component  30 D and the subsequent operational failure of service component  40 B. 
         [0044]    Finally,  FIG. 7  illustrates the network model  10  of  FIG. 1  with the selective alteration to the configuration data of physical component  20 F. However, as can be seen from network model  10 , physical component  20 F is not connected to either of service components  40 A or  40 B and therefore the simulated failure of physical component  20 F has no effect on the operation of service components  40 A or  40 B. 
         [0045]    According to an example, the above-described modifications to network model  10  would typically constitute a first pass analysis of a network to identify the most exposed, vulnerable or influential regions of the network. It will be appreciated that, by its very nature, this type of ‘bottom-up’ analysis lends itself to detecting the effect on interconnected or dependent components within the network. In addition, the scalability of this approach allows the analysis of large numbers of network components without the burden of an onerous processing overhead. 
         [0046]    A network analysis system according to an example can be efficiently applied to the simulation of multiple failures within a network. It will be appreciated that in order to analyse the effect of multiple failures on a system, there will be a combinatorial increase in the number of failed network components/component connections involved in a comprehensive testing of the network. For example, in a relatively simple network of 10,000 low level provider components, such as the physical components  20 , the number of failure combinations to be tested to obtain a full analysis of the network would require a scan of (10,000×9999)/2 different simulated scenarios (even assuming that the order of failure is unimportant) to measure the final effect of a double failure on all possible sites within the network. The number of differently simulated scenarios continues to increase if additional network failures are included and this large number of network scans can be time consuming and difficult to monitor. 
         [0047]    According to an example, a desired level of complex analysis is possible whilst obtaining the maximum benefit and information harvesting from the minimum number of failure combination network simulations. This is achieved by reducing the number of potential failure sites. The information to allow this would typically be obtained from the results of an initial network analysis such as previously described with reference to  FIGS. 1 to 7 , however, it may be possible to obtain this information from an alternative source such as historical data from a network indicating areas which have encountered issues in the past, or which are considered to be critical areas of the network (such as a set of network components serving one or more mission critical services for example). Once obtained, the initial network analysis information will allow the identification of the combinations that are most likely to have a significant effect on the network&#39;s vulnerability. A significant effect can include where one or more service components is adversely affected by a failure or partial degradation of one or more associated physical components for example. Alternatively, an effect can be significant it more than a predetermined number of components or services is adversely affected. A complex multiple failure scenario analysis can be carried out using those identified combinations only. 
         [0048]    One or more of the following methods may be employed to reduce the number of network components to be scanned to those most likely to have a significant effect on the network&#39;s vulnerability. Some methods include: 
         [0049]    1. Excluding low level components that do not contribute to service failures, or that do not contribute to failures in services considered to be mission critical for example. For example, in the network model of  FIG. 1 , physical component  20 F would fall into this category. 
         [0050]    2. Limiting potential failures to certain classes or sub-classes of components. For example, in the network model of  FIG. 1 , a reduction in the number of components to scan can be achieved by concentrating only on the physical component  20  layer and excluding the logical component  30  layer of the network from the analysis. Accordingly, a class or sub-class of components can be selected, and all or some components within that class can be scanned to determine the effect that any potential failures or partial compromises would have on the network. Determining the effect of failures can include determining the effect that state changes to components upstream or downstream of the component or interconnection in question have. 
         [0051]    3. Performing a network scan at a higher layer in the network model, so that the number of input components in each problem dimension is reduced. Typically, at relatively higher layers in a network hierarchy there exist fewer components. They will be affected by problems associated with components in relatively lower layers unless there is a significant amount of redundancy. Accordingly, a hierarchical scanning process can be used in which components in higher network layers can be scanned to determine the effects caused as a result of issues with connected components from lower layers. This increases the tractability of a network analysis compared to a ‘bottom-up’ approach in which components in lower or the lowest network layer are scanned. 
         [0052]    4. Identifying a subset of dependent components that are of interest, for example the service components  40 A,  40 B of  FIG. 1 , and from existing knowledge of the network model structure identifying the subset of provider components that could contribute to their failure. For example, in a network in which there exist multiple core components or services, such components or associated service components can be prioritised for scanning. Other non-prioritised components can be scanned afterwards, or left un-scanned as desired. 
         [0053]    5. Utilising historical data to identify likely failure sites and concentrate on the network components and connections at or feeding into these failure sites in the network. For example, from log information of a network, the likely location within the network, or specific components within a network which have historically experienced issues can be prioritised for scanning. 
         [0054]    6. Utilise sophisticated randomising/analytical techniques to obtain the maximum benefit from the minimum calculation effort. For example, genetic algorithms can be used according to an example. A genetic algorithm is a technique to find solutions to optimization problems and is based on the principles of evolutionary natural selection. Any potential solution to the problem (ie. a ‘chromosome’, which in this case represents a set of interconnected network components) is encoded normally in the form of a series of 0 and 1 bits. Initially a large population of random solutions is created and each solution is evaluated in terms of a ‘fitness score’ (in this case, the resulting impact on service components). Two solutions are then chosen, the chance of selection being proportional to their ‘fitness’, and genetic operators such as crossover and mutation are applied to the bit patterns in order to evolve the solution. This process of creating a new ‘generation’ of solutions is repeated a fixed number of times or until a fixed level of optimal solution is achieved. 
         [0055]    As will be appreciated from the methods set out above, a network component selection method according to an example provides flexible input data set choices in dependence upon the network type, analysis criteria and network failure types being analysed. In combination with the ability for users to provide their own algorithms to perform multi-site failure analysis, this method for the analysis of the vulnerabilities of the network is extremely powerful. For example, an analysis of historical failures where particular combinations of failures have caused significant network outages can be used to provide an algorithm that allows previous ‘bad-day’ experiences to be quantified and replayed through any new model to see how it would have reacted. These can be generalised so that they do not just use the original failure locations, but can be applied at any relevant location in a new model structure. 
         [0056]    Once the scan phase has been completed, there exist many possibilities for analysing and presenting the results e.g. tabular, model visualisation overlays, animations etc, with the aim of providing output data that is easily interpreted and therefore immediately useful for assessing the vulnerabilities of the network to single points of failure. For example, such a tabular presentation is shown below with reference to the network model of  FIG. 1 : 
         [0000]    
       
         
               
               
               
               
             
           
               
                   
                 TABLE 1 
               
               
                   
                   
               
               
                   
                   
                 Number of 
                   
               
               
                   
                 Failed Component 
                 services affected 
                 Impact 
               
               
                   
                   
               
             
             
               
                   
                 Physical component 20A 
                 0 
                 None 
               
               
                   
                 Physical component 20B 
                 0 
                 None 
               
               
                   
                 Physical component 20C 
                 2 
                 Severe 
               
               
                   
                 Physical component 20D 
                 1 
                 Medium 
               
               
                   
                 Physical component 20E 
                 1 
                 Medium 
               
               
                   
                 Physical component 20F 
                 0 
                 None 
               
               
                   
                   
               
             
          
         
       
     
         [0057]    Alternatively, the results may be provided in graphical form, as shown in  FIG. 8 .  FIG. 8  shows a bar chart containing the same information as presented in the above Table 1. 
         [0058]    Although aspects of the invention have been described with reference to the embodiments shown in the accompanying drawings, it is to be understood that the invention is not limited to the precise embodiments shown and that various changes and modifications may be effected without further inventive skill and effort.
A method of analyzing a network is disclosed that may include a plurality of interconnected network components, and a network model with component configuration data for each of the network components and component interconnection data for each connection between network components. The method may also comprise selectively altering component configuration data for a first network component, or selectively altering component interconnection data for a first connection, thereby selectively altering a modeled state of the first network component or the first component connection within the network model, propagating the effect of such altering of a modeled state throughout the network model in dependence upon configuration data and interconnection data relating to the first network component and in dependence upon such data relating to other connected network components, monitoring the effect of said propagation on other network components within the network model. Also disclosed is a system for analyzing a network.