Abstract:
The field of the disclosure relates generally to a method and system for analysing behaviour of a computer infrastructure and the displaying the behaviour of the computer infrastructure in a graphical manner. The system comprises an analytical engine connected to agents running on devices in the computer infrastructure and analysing continuous data and asynchronous data.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    The present application claims the benefit of the filing date of U.S. Provisional Patent Application Ser. No. 61/617,163 filed by the present inventor on Mar. 9, 2012. 
         [0002]    This application additionally is related to U.S. Patent Application Publication No. US 2011-0145400 A1, entitled “Apparatus and Method for Analysing a Computer Infrastructure” and filed on 10 Dec. 2010. 
         [0003]    The above cross-referenced related applications are hereby incorporated by reference herein in their entirety. 
     
    
     FIELD OF THE INVENTION 
       [0004]    The field of the invention relates generally to a monitoring system for a computer infrastructure and to displaying of the behaviour of the computer infrastructure. 
       BACKGROUND OF THE INVENTION 
       [0005]    Present-day computer infrastructures are very complex and a large numbers of processes, often called threads, as part of applications are running on a plurality of devices in the computer infrastructure. The processes organise data processing on the devices including fetching, processing and storage of data. Many industry sectors and large numbers of companies rely on these complex computer infrastructures for their operation. Therefore, failures of one or more of the devices or applications running on the devices, or even the whole of the computer infrastructure, could cause a great deal of damage and financial losses. 
         [0006]    Time-critical and/or other important data, for example financial and business information, is received from external sources and processed or stored on the computer infrastructure. The malfunctioning of at least one of the devices or even the computer infrastructure itself should be minimised or at least be detected as soon as possible. Because current internal computer infrastructures, especially in connection with other external networks, such as the World Wide Web, have reached such a great complexity, a minor problem of the functionality of one of the devices may impact the performance of the whole computer infrastructure and may cause a system crash of other ones of the devices or even the whole computer infrastructure. 
         [0007]    Currently, IT-administrators conduct much of the forensic examination when problems on the devices in the computer infrastructure or in the applications running on the devices have already occurred by examining protocols or log files of past or recent running processes of the affected devices or applications. It could happen that one of the devices within the computer infrastructure malfunctions, such that one or more of the devices of the computer infrastructure would not receive or process all of the necessary data, or one or more of the devices of the computer infrastructure would not be able to process the data in a timely manner. This issue may cause erroneous or ineffective running of the applications within the computer infrastructure and may cause wrong decisions to be made within the company. This is particularly true if the decisions are made automatically by at least some of the devices of the computer infrastructure, such as but not limited to automated investment decisions made by computer devices of banks and financial institutions. 
         [0008]    Computer analysis software for analysing such possible malfunctions or causes of errors within the computer infrastructure are known in the art. An analysing system of the prior art identifies, for example, different types of messages in connection with the running processes on the devices, such as servers, gateways or peripheral devices. Based on analysing the different types of messages the analysing system may estimate a recent functional status of the specific devices or of the computer infrastructure itself and thus identify the source of the malfunction. 
         [0009]    Normally, the analysing system will enable directly a diagnosis or a report of the possible source of the malfunction within the computer infrastructure to the IT-administrator, e.g. the affected application or device. Depending on the complexity of the current computer infrastructure, it is very often not possible or it is very difficult to diagnose or identify the malfunction within even parts of the computer infrastructure. The IT administrator may need to physically investigate, diagnose or identify the malfunction within at least parts of the computer infrastructure. In complex situations, the IT administrator may have to investigate many different running processes of the possibly affected parts of the computer infrastructure. 
         [0010]    An example of an analysing system is Splunk enterprise software that enables users to search, monitor and analyse data generated within the computer infrastructure. Splunk captures indices and correlates real-time data in a searchable repository. U.S. Patent Application Publication No. 2007/0118491 (Baum et al, assigned to Splunk) describes such a system in more detail. 
         [0011]    Co-pending U.S. patent application Ser. No. 12/965,226 (Dodson), published as patent application publication number US 2011/0145400 A1, discloses an apparatus comprising a plurality of devices connected to the computer infrastructure. An analytics engine is connected to the computer infrastructure and analyses system message data within the computer infrastructure to create a unified multi-dimensional model of the computer infrastructure. The analytics engine is able to create a background model of a repetitive operational behaviour occurring within the computer infrastructure. The analytics engine is able to determine unexpected operational behaviour occurring within the computer infrastructure that may be indicative of a possible malfunction within the computer infrastructure. 
         [0012]    U.S. Pat. No. 7,451,210 (IBM) discloses a method for predicting the occurrence of future critical events in a computer cluster having a series of nodes. The method records system performance parameters, such as temperature, central processing unit utilisation time, processor number, user time, idle time, and input/output time, at predetermined intervals of time. The method also records the occurrence of past critical events, such as hardware or software errors or node failures, in the computer cluster. Time-series models and rule-based classification schemes are used to associate various system performance parameters with the occurrence of critical events and fed into a Bayesian network to predict the occurrence of future critical events in the computer cluster. 
         [0013]    U.S. Patent No. 7,280,988 (Netuitive) teaches a monitoring system for a computer infrastructure. The monitoring system of the U.S. Pat. No. 7,280,988 includes a baseline model that automatically captures and models normal system behaviour of the computer infrastructure. The monitoring system further includes a correlation model that employs a multivariate auto regression analysis to detect abnormal system behaviour of the computer infrastructure, and an alarm service that processes and scores a variety of alerts to determine an alarm status and to implement appropriate response action for the computer infrastructure when a threshold value is reached. The baseline model decomposes input variables into a number of components representing relatively predictable behaviours so that the erratic component of the computer infrastructure may be isolated for further processing. Modelling and continually updating of the components of the computer infrastructure separately permits an accurate identification of the input variable, which typically reflects abnormal pattern when they occur. 
         [0014]    The baseline model of the Netuitive monitoring system is updated on an on-going basis that allows the model to adapt to changes in the normal operational pattern of the computer infrastructure. The Netuitive monitoring system does not maintain a large database of historical analysis and does not enable a periodic revaluation of the historical data. The Netuitive monitoring system is able to establish abnormal pattern and is able to present a list of events related to the abnormal pattern. 
         [0015]    U.S. Patent Application Publication No. 2006/0020924 (Lu and Chang) discloses a system, a method and a computer program product for monitoring performance of groupings of a computer infrastructure and applications using statistical analysis. The method, system and computer program monitors managed unit groupings of executing software applications and execution infrastructure to detect deviations in performance of the computer infrastructure. Logic acquires time-series data from at least one managed unit grouping of the executing software applications and the execution infrastructure. Other logic derives a statistical description of expected behaviour from an initial set of acquired data. The logic derives a statistical description of operating behaviour from the acquired data that corresponds to a defined moving window of time slots. The logic compares the statistical description of expected behaviour with the description of operating behaviour and the logic reports predictive triggers. The logic identifies instances in which the statistical description of the operating behaviour deviates from the statistical description of the operating behaviour of the computer infrastructure to indicate a statistically significant probability letting operating anomaly exist within the at least one managed unit grouping corresponding to the acquired time period data. 
       SUMMARY OF THE INVENTION 
       [0016]    The present disclosure teaches a system and method for analysing a behaviour within a computer infrastructure. The computer infrastructure comprises a number of devices, such as but not limited to, computers, servers, clients, (web-based) terminals, gateways, routers and/or other multifunctional devices, such as printers or scanners. The computer infrastructure may be an intra-network within a company environment or a cloud-based network. At least one device is connected to the computer infrastructure and the device can generate continuous data and asynchronous data related to system and application parameters for a log file about the behaviour of the device. At least one analytics engine analyses at least one of the continuous data and the asynchronous data to determine the behaviour of the computer infrastructure. A display indicates the type of behaviour determined For example, the display can indicate abnormal types of behaviour identified by the analytics engine and can indicate a possible negative impact within the computer infrastructure. 
         [0017]    The term “abnormal” used in this present disclosure means a deviation from the expected recent and/or expected future performance of at least one device, one application and/or the computer infrastructure. A possible deviation of the recent and/or future functionally of the computer infrastructure in comparison with a multi-dimensional model of the computer infrastructure is expected to be an abnormal performance, which may have a negative impact on at least one device of the computer infrastructure. The detection of abnormal messages within the computer infrastructure, such as a shutdown-message of at least one device and/or performance deviations above a certain threshold of at least one device are expected to be abnormal performances within the computer infrastructure. 
         [0018]    The present disclosure also teaches a system and method for the visualisation of behaviour within a computer infrastructure using the analytics engine. 
         [0019]    According to an aspect of the present disclosure there is provided a computer program product which, when run on a computer, causes the computer to perform a method for analysing the behaviour within the computer infrastructure. According to a further aspect of the present disclosure there is provided a non-volatile storage medium for storing the computer program product. 
         [0020]    According to another aspect of the present disclosure there is provided a computer program product which, when run on a computer, causes the computer to perform a method for visualization of the behaviour within the computer infrastructure. According to a further aspect of the present disclosure there is provided a non-volatile storage medium for storing the computer program product. 
         [0021]    The present disclosure enables the functionality and performance of the computer infrastructure and/or at least of one device to be visualized in an intuitive way. The teachings of the present disclosure allow the displaying of the analysed behaviour of at least one device or the computer infrastructure itself An IT-administrator could detect easily abnormal behaviours, such as possible malfunctions or underperformances of at least one of the devices and/or within the computer infrastructure, by investigating the display of grouped graphic elements related to performances of devices and/or the computer infrastructure. This helps to avoid expensive and time-consuming data mining by the IT-administrator within a plurality of messages as an indicator for the performances of at least one device and/or the computer infrastructure itself 
         [0022]    The analytics engine determines relationships among the continuous data and the asynchronous data within the computer infrastructure to determine thus the behaviour of the computer infrastructure. 
         [0023]    Graphic elements are linked to the relationships within the computer infrastructure and are visualized on a display. The graphic elements help the IT-administrator in an easy and intuitive way to analyse at least the relationships, especially in case of abnormal behaviour. The graphic elements may vary in relation to detected abnormal types of behaviours. In this case the IT-administrator could view in an easy and quick way possible abnormal functionalities, malfunctions and abnormal performances of at least one device or of computer infrastructure. Further, at least some of the graphic elements are selectable for opening directly the related types of system parameters and the log file data entries within the computer infrastructure. According to this aspect of the invention, the IT-administrator could select directly and intuitively the relevant graphic element and therefore obtain at least one of the related information. According to the present disclosure, a time-consuming manually data mining of the IT-administrator for finding the relevant messages or log data related to the abnormal performance within the computer infrastructure is reduced. 
         [0024]    In a further aspect of the invention, the analytics engine groups the types of relationships within the computer infrastructure and the grouping is represented by the grouping of related graphic elements. The possible relationships are displayed by grouping the relevant graphic elements in a related way. The analytics engine is a self-learning system, which identifies patterns in system parameters via statistical methods such as multivariate Gaussian analysis, and patterns across the log files and system parameters via probabilistic modelling. By using self-learning systems it is possible that new pattern of the graphic elements could be initially identified as being abnormal behaviour and over time be identified as normal running processes of at least one device or the computer infrastructure. It is also possible to obtain an initial behaviour of the computer infrastructure by taking existing data and using the self-learning system to establish the initial pattern. 
         [0025]    In another aspect, the computer infrastructure is connectable with a data source transferring the data to the computer infrastructure via an interface and the interface transforms different formats and/or protocols of data between the data source and the computer infrastructure. 
         [0026]    In a further aspect, the behaviour of the computer infrastructure is compared with an index and the analytics engine determines possible relationships between the behaviour of the computer infrastructure and the index. The index may be, for example, the VIX index of the Chicago Board Options Exchange, which is a measure of the implied volatility of the S&amp;P Standard &amp; Poor&#39;s 500 index. It is possible to determine the relationship between the performance of processing financial data on one or more computer infrastructures of market participants and the VIX index. The VIX index is often referred to as the fear index as it represents one measure of the market&#39;s expectation of stock market volatility over the forthcoming thirty-day period. 
     
    
     
       DESCRIPTION OF THE FIGURES 
         [0027]      FIG. 1  is a schematic diagram showing three networked user terminals within a computer infrastructure. 
           [0028]      FIG. 2  shows a display of graphic elements related to analyzed types of messages. 
           [0029]      FIG. 3  shows a display of graphic elements related to analyzed types of messages within different panes. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0030]    The invention will now be described on the basis of the drawings. It will be understood that the embodiments and aspects of the invention described herein are only examples and do not limit the protective scope of the claims in any way. The invention is defined by the claims and their equivalents. It will be understood that features of one aspect or embodiment of the invention can be combined with a feature of a different aspect or aspects and/or embodiments of the invention. 
         [0031]      FIG. 1  shows a computer infrastructure  10  with three devices  20 ,  21 ,  22 , a management system  40  with database  40   d , an analytics engine  41  and an administrator terminal  60  connected with an external data source  30  through a web server  26 . The external data source  30  sends data to the one or more devices  20 ,  21 ,  22  for processing by applications programs running on the one or more devices  20 ,  21 ,  22  through the web server  26 . The transfer of data and the processing by applications programs produces asynchronous data  71  in the form of events, traps, log messages or other notifications when changes happen in the applications programs and/or on the devices  20 ,  21 ,  22 , and continuous data  72  relating, for example, to CPU processing, access time or memory usage of the devices  20 ,  21  and  22 . 
         [0032]    The one or more devices  20 ,  21 ,  22  include agents  25  (also termed forwarders) which are monitoring and collecting the asynchronous data as well as the continuous data on the devices  20 , 21  and  22 . The agents  25  forward the asynchronous data  71  as well as the continuous data  72  to the management system  40 . Non-limiting examples of the management system  40  include Splunk and CA&#39;s Introscope APM system 
         [0033]    The management system  40  aggregates the asynchronous data  71  and the continuous data  72  from multiple ones of the devices  20 ,  21 ,  22 . In the example of  FIG. 1  the management system  40  is shown as a single management system  40  connected to the other devices  20 ,  21  and  22  within the computer infrastructure  10 . The management system  40  could also be a series of similar or different management systems  40  distributed throughout the computer infrastructure  10 . The series of the management systems  40  can be commonly analysed by the analytics engine  41 . 
         [0034]    The devices  20 ,  21  and  22  can directly process the data from the external data source  30  as well as other generated data through application programs running thereon, or can instruct another processor to run said application programs, such as a server  50 . It will be appreciated that the computer infrastructure  10  may include database servers and file servers. The analytics engine  41  is generally implemented as a computer program stored in a non-volatile medium and running on a general purpose computer. 
         [0035]    The analytics engine  41  interrogates entries in the management system database  40   d  storing the asynchronous data  71  and synchronous data  72  and is able to analyse the performance of the computer infrastructure  10  based on the database entries stored on the management system database  40   d . The relationship between the different database entries in the management system database  40   d  including associated time stamps are used to monitor the performance of the devices  20 ,  21 ,  22  and the computer infrastructure  10 . 
         [0036]    In the exemplary aspect of  FIG. 1  the asynchronous data  71  and the synchronous data  72  from the devices  20 ,  21 ,  22  are analysed and their relationships determined This analysis enables the behaviour of the computer infrastructure  10  to be determined and displayed as graphic elements  90 ,  91 ,  92 ,  93  (shown in  FIGS. 2 and 3 ) in a display on the administrator terminal  60  (or elsewhere). 
         [0037]    The external data source  30  may contain business and financial data  75  and information, such as information of the information provider Thomson Reuters. It will be appreciated that there may be more than one external data source  30  connected the computer infrastructure  10 . 
         [0038]    The analytics engine  41  uses the database entries of the management system database  40   d  to determine patterns and relationships between the various types of asynchronous data, the various types of continuous data and between each types of data. This determination is carried out substantially in real time. In one aspect of the disclosure, a multivariate Gaussian analysis is used to determine these patterns and relationships. 
         [0039]    The initial relationships can be established either by analysis of historical data stored in the management system database  40   d  or by using the current (real-time) generated data in the computer infrastructure  10 . Initially the analytics engine  41  will not recognise any relationships and may report abnormal behaviour. After time, the analytics engine  41  will recognise recurrent patters or behaviours and not report these recurrent patterns or behaviours as being abnormal. 
         [0040]    The analytics engine  41  uses these relationships to determine size, shape and/or colour of the graphic elements  90 ,  91 ,  92 , 9   3  (shown in  FIGS. 2 and 3 ), which are transferred to the display on the administrator terminal  60 . An IT administrator  61  can monitor the performance of the computer infrastructure  10  by intuitively analysing the graphic elements  90 ,  91 ,  92 ,  93  and the relationship between the graphic elements  90 ,  91 ,  92 ,  93  in relation to the size, shape and/or colour of the different graphic elements  90 ,  91 ,  92 ,  93 . 
         [0041]    In one aspect of the disclosure, the analytics engine  41  has the capabilities to determine or simulate probabilities of certain streams of the log files data  71  of at least one of the devices  20 ,  21  or  22  of the computer infrastructure  10  for providing a forecast of the possible future performance of the device  20 ,  21  or  22 ,of the computer infrastructure  10 . 
         [0042]    Additionally, a possible future performance of the device  20 ,  21  or  22  of the computer infrastructure  10  may be simulated by the analytics engine  41  based on past and/or recent performance logs combined with the current system parameters of the computer infrastructure  10 . 
         [0043]    The graphic elements  90 ,  91 ,  92  shown in  FIGS. 2 and 3  relate to the relationships between the database entries in the management system database  40   d . The graphic elements  90 ,  91  and  92  are linked to the relationships determined between the system parameters and the database entries in the management system database  40   d . The analytics engine  41  may group related graphic elements  90 ,  91  and  92  on the display to identify visually related ones of the behaviors. 
         [0044]    Deviations from a normal behavior to give an abnormal behavior may be detected by the analytics engine  41  using the regression analysis disclosed above. 
         [0045]    The relationship between the performance of the computer infrastructure  10  and an index, for example the VIX index which is the Chicago board of options exchange market volatility index, can also be analysed by the analytics engine  41 . The VIX index is a measure of the implied volatility of the S&amp;P Standard &amp; Poor&#39;s 500 index options. The VIX index is often referred to as the fear index or the fear gauge as it represents one measure of the market&#39;s expectation of stock market volatility over the forthcoming thirty-day period. The analytics engine  41  determines the correlation between the entries in the management system database  40   d  of at least one device  20 , 21  or  22  the computer infrastructure  10  or even different computer infrastructures  10  of different market participants and the volatility x in order to understand the drivers and the levers of the market participants. 
         [0046]    The continuous data  72  is supplied to the management system  40  in a discrete form. For example, the values of the continuous data  72  could be supplied as a value at a particular point in time or as an average value of a period of time. The value of the continuous data  72  could also be provided to the management system database  40   d  only if a certain threshold value is reached. The associated time stamp will usually be provided to indicate the time at which the value of the continuous data  72  was recorded. 
         [0047]    Examples of the continuous data  72  issued at 15 s intervals: 
         [0000]    
       
         
               
               
               
               
               
               
               
               
             
           
               
                   
               
               
                 timestamp 
                 user_cpu_% 
                 system_cpu_% 
                 udp_packets_sent 
                 udp_packet_recv 
                 udp_recv_errors 
                 disk_kB_read 
                 disk_kB_wrtn 
               
               
                   
               
             
             
               
                 1269817200 
                 0.04 
                 0.08 
                 76455031 
                 92774447 
                 37237 
                 168659806 
                 1602388429 
               
               
                 1269817215 
                 0.07 
                 0.18 
                 76456531 
                 92778887 
                 37237 
                 168659806 
                 1602391693 
               
               
                 1269817230 
                 3.00 
                 7.28 
                 76457432 
                 92781254 
                 37237 
                 168659806 
                 1602393765 
               
               
                 1269817245 
                 0.00 
                 0.47 
                 76461859 
                 92783865 
                 37237 
                 168661623 
                 1602396709 
               
               
                   
               
             
          
         
       
     
         [0048]    An example of the asynchronous data  71  are log file messages:
   Nov 2 04:17:25 10.1.71.20 security[success] ANONYMOUS LOGON NT AUTHORITY (0x1,0x46E2DC55) 3   Nov 2 04:19:51 10.1.71.20 security[success] (0x1,0x46E2DCBD) 3 NtLmSsp NTLM ITDV1005137 . . . 10.1.71.19 0   Nov 2 04:20:54 10.1.71.20 security[success] (0x1,0x46E2DCCA) 3 NtLmSsp NTLM ITDV1005137 . . . 10.1.71.19 0   Nov 2 05:18:38 155.108.27.78 vmkernel: 346:22:33:18.284 cpu3:1041)BC: 814: FileIO failed with 0x0xbad0006(Limit exceeded)   
 
         [0053]      FIG. 2  shows graphic elements  90 ,  91 ,  92  arranged on a time scale within a pane  95  on the display  60 . The graphic elements  90 ,  91 ,  92  are grouped to display possible relationships between behaviours of the computer infrastructure  10 . The shape, size and colour of the graphic elements  90 ,  91 ,  92  indicate a possible impact of the behaviour or the behaviour type on the performance of the computer infrastructure  10 . The graphic elements  90 ,  91 ,  92  may be displayed in connection with a single one or a set of the devices  20 ,  21  or  22  or for the entirety of the computer infrastructure  10 . Additionally, status messages and notifications  93  may be displayed in the pane  95  to inform the IT-administrator  60  about background information about the displayed graphic element  90 ,  91 ,  92 . It will be appreciated that at least one of the graphic elements  90 , 91 , 92  is selectable and directly linked to the continuous data  72  and/or the asynchronous data  71  in the management system 40 , and information thereabout. 
         [0054]      FIG. 3  shows three different panes  95 ,  96 ,  97  with different graphic elements  90 ,  91 ,  92 . The top pane  97  displays the relationship  94  between different graphic elements  90 ,  91 ,  92  on a time scale. According to this mode of presentation of the graphic elements  90 ,  91 ,  92  the IT-administrator  61  may detect and analyse abnormal behaviours, such as malfunctions and underperformances in an easy and intuitive way because of the shape, size and/or colour of the graphic elements  90 ,  91 ,  92  and their relative arrangement on the time scale. Within the other panes  95 ,  96  a similar time scale is visualized and additional information and/or other graphic elements  90 ,  91 ,  92 , for example visualized as a graph  90  within pane  95 , may be displayed. 
         [0055]    Having thus described the present invention in detail, it is to be understood that the foregoing detailed description of the invention is not intended to limit the scope of the invention. One of ordinary skill in the art would recognise other variants, modifications and alternatives in light of the foregoing discussion. 
         [0056]    What is desired to be protected by letters patent is set forth in the following claims. 
       REFERENCE NUMERALS 
       [0000]    
       
           10  Computer infrastructure 
           11  network 
           20  device 
           21  device 
           22  device 
           25  agents 
           26  web server 
           30  data source 
           40  management system 
           40   d  management system database 
           41  analytics engine 
           50  server 
           60  administrator terminal 
           61  IT administrator 
           71  asynchronous data 
           72  synchronous data 
           75  business and financial data 
           90  graphic element 
           91  graphic element 
           92  graphic element 
           93  notification 
           94  relationship between graphic elements 
           95  pane 
           96  pane 
           97  pane