Patent ID: 12255788

DESCRIPTION

FIG.1shows a block diagram of a platform management system100for automatically detecting network resources and monitoring, in real-time or near-real-time, the performance of a computing platform, or multiple platforms at once if applicable, of an organization according to at least one embodiment of the present invention. Each platform may support, or implement, a corresponding business-related function of the organization. For example, if the organization provides wealth management services, one platform could be used for generating trades of financial securities. Another platform could be used for account opening, strategy builder, portfolio management, trading, order entry and management, or Risk Management.

The performance management system100can comprises a server system104(comprising one or more internetworked servers, and referred to in the singular as “server104” for simplicity unless otherwise noted) communicably coupled, through respective program application interfaces (API), with the computer and network infrastructure of the organization that implement its computing platforms. The server system104may be in communication with the various computer and network infrastructure of the organization via an enterprise network102of the organization, which may include, for example, a private enterprise cloud network, a local area network (LAN), a wide area network (WAN), etc. The enterprise network102may comprise a plurality of local and distributed network resources or components. A private enterprise cloud network, of the organization, may be separated from a WAN of the organization by a gateway service imposing security rules through a firewall. In one example, the gateway service may impose rules to address unauthorized platform or application access, or entitlement access controls to manage platform or application access authorization.

The server system104may comprise an auto-discovery module114, a processing and parsing module116, a standardization module118, and a metadata generation module120. Additionally, the server system104may comprise a plurality of severs, where each server may host the auto-discovery module114, the processing and parsing module116, the standardization module118, and the metadata generation module120, separately. The auto-discovery module114may collect infrastructure data and key performance indicators (KPIs) associated with one or more respective computing platforms of the organization. The infrastructure data and KPIs may be stored on network resources, infrastructure components, or a database112within (or connected to) the enterprise network102. The data processing module116may perform data processing to identify key infrastructure components for each of the computing platforms and, for any one of the platforms, correlates the infrastructure data of a component with the business related KPIs that the platform supports. For example, where the platform is configured for trading securities, the KPIs are related to trading securities, such as how many trades is it presently processing (or has processed in a given time period), the number of trades at various trade stages (e.g., pending, executed, confirmed, under review, etc.). The standardization module118may normalize and standardize the collected data to ensure consistency and uniformity across different types of infrastructure components. The data standardization processes may include mapping data attributes to a common schema and applying normalization rules to handle variations in data formats and conventions. This allows for data to be reliably analyzed from different data sources. The metadata generation module120of the server system104may generate metadata representative of the correlated data so that it may be displayed in a customizable output interface for a user110of the management system. In one example, the generated metadata comprises a script file (e.g., JSON file) that details the network resource metrics, KPIs, relationships, dependencies, and thresholds for a platform.

FIG.1further shows an example of the computer and network resources that might be utilized by a platform, such as a private cloud network106(e.g., Treadmill) and an on-premises network107(e.g., local data center). Each of these networks106,107may comprise a plurality of infrastructure components, such as hosts105a-nand load balancers (not shown), for example. Also, the various hosts105a-nmay host multiple software applications (shown as “APP” inFIG.1). A platform may utilize multiple applications to implement its business function, and those apps may be hosted by various hosts105a-ndistributed throughout the platform's network. Also, some applications and some hosts may be utilized infrastructure components by multiple, different platforms. For example, an application for two-factor authentication or risk modeling may be used by a trading platform as well as other platforms of a wealth management firm. However, the use of shared resources can create difficulties in attributing PKIs to specific components in traditional monitoring systems.

The components of the platform's network may generate data logs that store KPIs associated with the performance of the platform and infrastructure performance data associated with the underlying infrastructure components that support the computing platform. The data logs may include, for example, system logs containing information about the operating system and its components, application logs providing details about an application's behavior and errors, network logs capturing network traffic details, audit logs recording security-related events and user activities, database logs storing database operations and transactions, and middleware logs including logs from web servers, message brokers, etc. The auto-discover module114may employ a log aggregation tool(s) like ELK (Elasticsearch, Logstash, Kibana) Stack, Splunk, Loki, or App Dynamics to collect and centralize the plurality of data logs from the various platform components for further data analysis. Such aggregation tools can collect data from various sources like applications, hosts, and network devices, and parse and transform the collected data into a format that allows for fast and efficient searching and analysis. The data logs may be stored in an on-premises database and/or a cloud database, for example. The server's aggregation tool(s) can periodically update the platform data (e.g., batch data can be updated in 15-minute intervals).

In one example, the plurality of data logs and infrastructure data may indicate that there is an outage at a load balancer (e.g., infrastructure component) utilized by a trading platform being monitored. Due to the outage of the load balancer, rather than utilizing a plurality of computational servers to process trades, the trading platform may be forced to route all trades through a single host or datacenter, over a given period of time. Accordingly, the enterprise trading platform may not scale computation resources during periods of high demand. Under normal operating conditions, the platforms may be configured to anticipate high trading volume at specific times of the day, days of the week, or in response to scheduled or unscheduled events and may employ one or more load balancers to account for fluctuation in trading volume.

In another example, an infrastructure component outage in the enterprise trading platform may limit the number of trades to x trades, over the given period (e.g., in one day), but it was predicted to execute Y trades under fully operational infrastructure conditions. Here, the server system104can correlate the number of executed trades (e.g., a KPI for the platform) to the load balancer outage and quantify the lost utilization at Y-X unexecuted trades. The platform management system may also display the impact on infrastructure load, applications, and a higher threshold level in a service level agreement. In another example, the performance management system may plot trend lines of for a real-time status of an infrastructure component KPI against a baseline value or expected value. The performance management system may monitor any deviations between the actual and expected values as an indication of the current state of the platform performance.

The auto-discover module114may collect infrastructure data from a plurality of sources within the network, associated with the infrastructure components. These sources may include system APIs, configuration files, network scans, deployment tools, and monitoring agents deployed across the infrastructure. The auto-discover module114may also collect infrastructure data through an agentless discovery approach that minimizes the need for installing additional software agents on each system. The agentless discovery approach leverages existing system capabilities and network protocols to gather relevant data. The auto-discover module114relies on multiple data sources (e.g., windeploy, webfarm, custom private cloud, or other sources specific to the organization's infrastructure environment) and aggregates information. This ensures comprehensive coverage and accuracy in the metadata generation. The auto discover platform114continuously monitors the infrastructure environment for changes and updates. As new components are added or configurations are modified, the auto-discovery module114dynamically adjusts its discovery process to capture these changes in real-time. This ensures that the metadata remains up-to-date and reflective of the current state of the infrastructure.

During the data is collected by the auto-discovery module114, the processing and parsing module116may extract data about infrastructure components including hardware specifications, network configurations, software dependencies, service endpoints, and communication patterns between components. The extracted data may be configured as structured data (e.g., computing platform data, KPIs, infrastructure data) from unstructured log entries. For example, the data logs may capture timestamps, source and destination IP addresses/ports for data packet logs, process identifiers (PIDs), error and status codes, and configuration details for infrastructure components. The timestamp data may be used to identify network events and correlate dependency between different infrastructure components. In one example, timestamp data may be extracted from different sources and needs to be normalized by the standardization module118, according to common schema or rule. This allows for the processing module116to correlate different data logs in different sources based on the timestamp data. The source and destination IP addresses/ports may be used for discovering infrastructure components and establish interactions for the platform. Process identifiers may be used to track different processes and their spawning relationships. In various embodiments, the server system104may discover network resources or infrastructure components based on service names (e.g., restriction service, order maintenance service, PM trade service, order enrichment service, financial service) and endpoints from the service and endpoint information of logs. Additionally, the server system104may rely on error and status codes to identify network issues (e.g., network congestion, latency, processing delay, no responsive components), operational statuses of components (e.g., online, offline, standby, error, reboot), and configuration setting for specific infrastructure components that can be used to correlate applications and services.

The auto-discovery module114may automatically identify network resources (e.g., infrastructure components, APIs, applications, databases) that are associated with specific computing platforms for the organization. However, due to the interdependence of network resources used by the various computing platforms of the organization, the processing module116of the server system104may need to cross-reference a plurality of different sources (e.g., different logs) to identify relevant network resources for a particular platform. This process may include identifying network traffic patterns based on packet load, transmission times, and source or destination addresses. In one example, the server system104may employ regular expressions (regex) to identify specific patterns related to known applications and infrastructure components. Further, the server system104may employ machine learning techniques to detect unusual patterns or anomalies that could indicate new or misconfigured components.

The server system104may employ various techniques for correlating infrastructure component dependencies that identify request-response patterns, including trace requests, trace route, ACK message from entry points (e.g., load balancers) through the application stack to the database. Additionally, the log aggregation tool may be configured to analyze logs for keywords or patterns associated with specific applications or services. For example, entries related to “MySQL connection” or “Starting Apache web server” may include data (e.g., data format, nomenclature, etc.) that indicates the presence of those applications. In another example, the server system104may correlate infrastructure dependency based on cloud-specific information from registries that can be matched against known service names or APIs. Services such as an “EC2 instance” or an Azure “Virtual Machine” may employ cloud map entries to point towards the cloud computing platform that is being used. Ultimately, the server system104can map the infrastructure component dependencies throughout the enterprise private cloud network to help identify the source of system issues by observing which services call others.

A traditional resource monitoring system may determine non-business related KPIs for network components (e.g., load balancer and web server, etc.). However, without mapping network dependencies, the system would not recognize that the infrastructure components might be downstream components and not the source of the infrastructure issue.

In contrast, with various embodiments of the present invention, once the server system104determines correlations between the infrastructure data and KPIs, the server system104can generate metadata, through a metadata generation module120, that indicate dependency relationships between infrastructure component for the computing platform. In the event of an infrastructure issue arises in the network102, the server system104may trace the issue to the source infrastructure component based on the dependency metadata. For example, one log may show an issue associated with a first component based on a single log in the computing platform. However, the poor performance of the first component may be a downstream effect from a second, upstream component. Without dependency information linking the first component with the second component, an incorrect determination might be made that the source of the issue is the first component. In contrast, with embodiments of the present invention, the metadata can be used to create visualizations and dashboards to represent the discovered infrastructure components and their interactions so that the true source of an issue can be identified. The server system104may employ data visualization tools such as Kibana or Grafana to help in create meaningful visualizations.

Kibana relies on Logstash, another component of the ELK Stack, to gather data from various sources like applications, servers, or network devices. Logstash processes and transforms this data into a format that Elasticsearch understands. The processed data is then stored in Elasticsearch, the search and analytics engine. Kibana connects to Elasticsearch to retrieve specific data based on user queries or visualizations being built. Kibana offers a variety of visualization options like line graphs, bar charts, pie charts, heatmaps, and time series graphs. Users can create dashboards that combine these visualizations to explore their data from multiple angles. Kibana also integrates with Elasticsearch's powerful search functionality, allowing users to filter and drill down into their data very precisely primarily. Grafana connects directly to various data sources like databases (e.g., MySQL, PostgreSQL, SQL Server, IBM DB2, MongoDB, Apache Derby), time series databases (e.g., InfluxDB, Cortex), cloud platforms (e.g., AWS, Google Cloud), and even custom APIs or custom cloud solutions (e.g., Kubernetes/private/public cloud solution). Users need to configure the connection details for each data source. Once connected, users write queries specific to the data source to retrieve the desired data. Grafana offers a query builder to help users construct these queries. Similar to Kibana, Grafana provides a wide range of visualizations like bar charts, scatter plots, gauges, and heatmaps. Users can drag-and-drop these visualizations onto dashboards to create custom layouts for data exploration. Grafana also offers a high level of customization for these visualizations, allowing users to tailor them to their specific needs.

FIG.2shows an onboarding graphical user interface (GUI)200that can be used to automatically discover network resources and generate platform metadata for a new platform, according to at least one embodiment of the present invention. The onboarding GUI200allows platform developers to onboard a new platform into the performance management system100or manage an existing platform in the performance management system100. The onboarding GUI200may execute the auto-discovery module114, the processing module116, the standardization module118, and/or the metadata generation module120for configuring and onboarding a new platform. The onboarding GUI200may comprise a plurality of tabs202a-bthat allow the developer to configure infrastructure components202a, configure, modify, or generate a new platform202b, view the platform monitoring dashboard202c, view metadata202d, view infrastructure diagrams202d, and view seq diagrams202n.

In one example, the developer may select the platform tab202bthat displays a plurality of sequential configuration flow tabs204a-nfor onboarding a new platform. The sequential configuration flow tabs204a-nallow the developer to execute the auto-discovery module114to identify network resources for the platform204aand select identified applications204b, execute the processing module116to review resource dependencies204c, execute the standardization module118to merge metadata204dand add monitor thresholds204efor metrics or KPIs, and execute the metadata generation module120to download metadata and add the metadata to the platform management system100. The resource dependencies flow tab204cdisplays a resource pane208that allows the developer to select the identified network resources and resource dependency, including a network area storage system (NAS), load balancer (LB), DB2 database management and servers, Windows hosts, Java virtual machine (JVM) hosts, message queue (MQ), MQ error, and database. The selected network resources may be identified by a drop-down menus206a-nthat shows detailed resource information. The drop-down menus206a-nmay show a resource ID, resource name, environment (e.g., production, quality assurance (QA), development) application name, machine type (e.g., virtual machine, physical server), location, address, etc.

Once the network resources are selected and configured the developer may select scalable threshold models for the network resources. The thresholds may indicate specific ranges or points to display notifications in the platform GUI corresponding to infrastructure components, APIs, applications, or resource dependencies. The resource thresholds may correspond to a notification system with discrete color values, continuous color values, or a single value color or symbol. In one example, the scalable threshold models may adjust threshold values based on expected conditions (e.g., increased trading volume on the first trading day after a holiday; change in mid-day volume or patterns following news reports of current events, jobs report, or a statement by the Chairman of the Federal Reserve). Once the threshold values are added, the metadata may be downloaded and implemented into the platform management system for the new platform.

FIG.3shows a first view300of a platform graphical user interface (GUI) that can be generated by the server system104for a plurality of computing platforms302a-n, and provided to a user110(seeFIG.1), according to at least one embodiment of the present invention. The GUI (e.g., glass pane interface) can be hosted by the front-end server (e.g., web server) of the server system104(e.g., data center servers) for access by a plurality of client devices110(e.g., users) within the network102. Each platform of the plurality of computing platforms302a-nin the network102may correspond to a platform icon302a-nin the first view and display a health indicator for in the platform icon. The plurality of platform icons may display a color (e.g., red=network resource issue; yellow=downward trend or underperformance of network resource; green=normal operation of network resource) or symbol overly (e.g. caution, alert) on the plurality of platform icons to display the platform health indicator. The plurality of platform icons302a-nare selectable icons that displays the second view for a first platform, as shown byFIG.4.

FIG.4shows a second view400of the platform GUI that can be automatically generated by the server system104for a first platform of a plurality of computing platforms302a-n(seeFIG.3), according to at least one embodiment of the present invention. The second view400of the GUI comprises an aggregation of performance metrics associated with the first computing platform. The second view300can display information for various network resources, components, features and KPIs of the platform as selectable icons, such as infrastructure metrics402a-nused to evaluate infrastructure components of the first platform and displayed in an infrastructure metrics pane412; applications406a-nused by the first platform and displayed in an applications pane416; business-related KPIs404a-nfor the first platform and displayed in a KPI pane414; and external dependencies408a-nof the first platform in an external dependencies pane418of the platform GUI. The user of the client device110may select one of the selectable icons to display detailed information associated with the infrastructure components, applications (e.g., apps), KPIs and/or external dependencies (such as by clicking on the icon for the component, app, KPI and/or external dependency) to access, in another pane or view of the GUI (with examples show below). The detailed information may provide real-time or near-real time platform analytics for the specific item selected by the user.

In one example, the GUI may be configured to provide performance metrics associated a plurality of selected computing platforms customized by a user. The example ofFIG.4shows an example GUI for a particular platform that the user could have reached by searching, in a search field, for the particular platform. If the user (or another user) selected a different platform, the GUI would be tailored for that platform, e.g., showing its infrastructure components, applications, business KPIs, etc. It should be recognized that some apps may be used in multiple platforms; that some infrastructure components may be used in multiple platforms; and that some infrastructure components (e.g., hosts) may host multiple applications for a single platform or multiple applications used across multiple platforms. The user may be a point of contact for the computing platform with permissions to perform a recovery or repair actions in response to an identified issue with an infrastructure component associated with the computing platform. Additionally, the permission settings for the user may allow read only/monitoring of computing platforms. The permission settings for the user may be assigned based on permissions of an entitlement database112.

FIGS.5A and5Bshow a third view500of the platform GUI comprising a plurality of graphical representations of infrastructure component analysis502a-dfor a selected network resource (e.g., infrastructure component, API, application), according to at least one embodiment of the present invention.FIGS.5A and5Bshow a drop-down menu504associated with different analysis data for the infrastructure components or applications. Based on a user selection, the plurality of graphical representations of infrastructure component analysis502a-dare displayed in the second third view500over a predetermined time interval (e.g., x-axis showing time in minutes). In one example, a risk profile API is selected from the drop-down menu504comprising a plurality of trend analysis data. The selection of the risk profile API causes the plurality of graphical representations of infrastructure component analysis502a-dto be displayed. The plurality of graphical representations of infrastructure component analysis502a-dcomprise a max time per endpoint502a, a request count endpoint502b, a max time per instance502c, and a request count on each instance502d. Each of the plurality of graphical representations of infrastructure component analysis502a-dcomprise a legend showing individual plots for each metric. The legend may comprise granular data analysis for each plot in the graph.

FIGS.5A and5Bfurther shows notification information in the infrastructure pane412. For example, a database and a load balancer may be identified by the server system104as experiencing infrastructure issues. The selectable icons in infrastructure pane412may indicate an issue with specific infrastructure components based on a color or symbol. In one example, the plurality of performance metrics may be displayed as green when the underlying components are functioning properly but change to yellow (e.g., reduced performance) or red (e.g., offline or poor performance) based on the identification of performance issues. The color status may be based on threshold performance levels, or a continuous spectrum based on a deviation from an expected value. In another example, a reduced performance status may be indicated by the graphic overlay of a symbol (e.g., caution symbol). The infrastructure components may be the first indication of a performance issue in enterprise cloud network. As shown in the business KPI pane414ofFIG.5B, the KPIs do not indicate a reduced or poor performance. The KPIs for a computing platform may have a delayed response to an infrastructure component issue.

Once the server system104updated the metadata to indicate a performance issue associated with the computing platform, it may also provide a secondary notification to a point of contact associated with the computing platform. For example, the point of contact may be notified through a designated communication medium (e.g., email, sms, text, phone call, etc.) that an infrastructure component is experiencing an issue. The secondary notification allows the point of contact to be alerted in real time of the computing platform issue without the need to constantly monitor the GUI. Once the point of contact is notified, they may access the GUI through the client device110to obtain more information about the computing platform issue. The notification may also comprise a summary of the platform information and dependent components and KPIs associated with the computing platform issue.

Once the platform management system100identifies the source infrastructure component responsible for the computing platform KPI issues, the server system104may wait to for a manual resolution action from a client device110or may automatically perform a resolution action according to a predetermined set of procedures (e.g., infrastructure resolution playbook). A resolution database112may comprise an ordered procedure of repair instructions for an infrastructure component based on the component type. The component type may include host, application, load balancer, database, computational server, storage server, etc. The database server may comprise different resolution and repair instructions based on the component type. The server system104may chronologically execute the resolution actions or may start at an identified step based on an infrastructure component status. Additionally, the point of contact may initiate manual resolution actions based on the infrastructure component status.

FIG.6shows a fourth view600of the platform GUI interface comprising a plurality of graphical plots602of KPI icons604a-g, according to at least one embodiment of the present invention. The plurality of KPI icons604a-gmay be the same KPIs displayed in the second view400and the third view500of the business KPI pane414. By selecting the business KPI pane414, the fourth view600may be created to show graphical plots602for the plurality of KPI icons604a-g. The user may configure the plurality of KPI icons604a-gor graphical plots602based on the selections made in the KPI menu606. In one example, the KPIs show the order count by order status (i.e., y-axis) over time (i.e., x-axis).

FIG.7shows a plurality of notification in the platform GUI, according to at least one embodiment of the present invention. The first view300of the platform GUI indicates a performance issue on the first computing platform by displaying a color notification in the first platform icon302a. In one example, the first platform icon302adisplays a red status based on the most severe notification of the first platform. A user of the platform GUI may select702the first platform icon302ato display the second view400, specific to the first computing platform. The second view400shows two notifications in the infrastructure metric pane412. In one example, the message queue (MQ) icon402bindicates a red status (e.g., failure or performance issue) and the DB2 icon402cindicates an orange or yellow (e.g., caution) status. The user of the platform GUI may select708the MQ icon402bto display a fifth view700. The fifth view700comprises a depth metric icon704a, a dequeue rate icon704b, and an oldest transaction metric icon704c. Each icon704a-ccorresponds to a metric graph706a-c. Metric graphs706b-cshow normal performance based on predetermined thresholds, while the depth metric graph706ashows a queue depth spike at11:50. After the user views performance issue, they may resolve the issue or view additional notifications.

FIG.8shows a plurality of notification in a sixth view800of the platform GUI, according to at least one embodiment of the present invention. The user of the platform GUI may select802the DB2 icon402cto display the sixth view800. The sixth view800comprises a plurality of infrastructure metric icons804a-nincluding CPU804a, Disk804b, capacity804c, memory804d, cache804e, deadlock804f, connections804g, and lock wait804n. Each of the infrastructure metric icons704a-ccorresponds to a graphical representation for the metric. In one example, the capacity icon804ccorresponds to the database capacity used percentage graphic806that shows a high percentage of capacity used, at 71.65%. The deadlock count icon804fcorresponds to the graphical display showing a total number of 6 database applications in a deadlock state. Accordingly, the user may restart the deadlocked database applications and thus resolving the queue depth issue and the database capacity issue.

FIG.9is a logic flow diagram for automatically discovering network resources for a platform management system100and monitoring metric thresholds to identify computing platform issues in a private enterprise cloud network, according to at least one embodiment of the present invention. The auto-discovery module114of the server system104collects, at step902, infrastructure data from a plurality of network resources (e.g., sources) associated with a first computing platform. The plurality of network resources may comprise data logs within the first computing platform, data log with a second computing platform that identify dependencies for the first computing platform, databases112on the network102, etc. The server system104processes, at step904, the infrastructure data by parsing the data fields associated with network resources including timestamps, source and destination IP addresses/ports for data packet logs, process identifiers (PIDs), error and status codes, and configuration details for infrastructure components. The server may utilize an aggregation tool or parsing tool to aggregate and extract structured and unstructured data associated the infrastructure components and application-level performance. The processing of the infrastructure data helps to discover network resources associated with the performance of the computing platform. The server system104converts, at step906, the infrastructure data into a standardized format based on the infrastructure component type (e.g., host, application, load balancer, database, computational server, storage server, etc.). For example, each infrastructure component type may be associated with a standardized data format. The standardized data can be used to establish clear patterns between the underlying infrastructure components, their interdependency, and the KPIs of the computing platform. The server system104correlates, at step908, clear links between network resources and their impact on the computing platform performance. The server system104employs statistical analysis, correlation algorithm, and other pattern recognition services to establish links between infrastructure components, application-level data, KPIs, and infrastructure component dependency relationships. In one example, the server system104correlates CPU usage spikes on a database server with a decrease in transaction throughput on an associated application service. This correlation enables IT teams to pinpoint the root cause of performance issues more effectively. The server system104generates, at step910, metadata that summarizes and describes performance of the infrastructure components and include component names, types, roles, dependencies, configurations, and performance metrics. The metadata serves as a structured representation of the infrastructure environment, facilitating efficient analysis and monitoring.

Once the server system104has generated the metadata, the server system104transmits, at step912, performance data including the KPIs, performance data for the network resources, application-level data, and correlation data to the front-end server108, where the front-end server renders the GUI for the client device110within the private enterprise cloud network102. The server system104monitors, at step914, performance data against predetermined threshold models determined for each computing platform and the infrastructure components. The server system104determines, at step916, performance issues based on the performance data and the predetermine thresholds. In response, the server system104updates, at step918, the metadata for the GUI to indicate a performance issue associated with one of the network resources or infrastructure components. Additionally, the server system104transmits920a secondary notification to a point-of-contact associated with the identified performance issue. The server system104receives or determines922resolution action to resolve the performance issue. In one example, the server sends a requests to restart and reboot a load balancer that is determined to be offline.

The server system104may be implemented by one or a number of internetworked computers, such as servers. The software for the modules114,116,118,120and other computer functions described herein may be implemented in computer software using any suitable computer programming language, such as PowerShell, .NET, C, C++, or Python, and using conventional, functional, or object-oriented techniques. For example, the server system104may be implemented with software modules (i.e., the modules114,116,118,120) stored or otherwise maintained in computer readable media, e.g., RAM, ROM, secondary storage, etc. One or more processing cores (e.g., CPU or GPU cores) of the server system104may then execute the software modules to implement the functions provided by the module. Programming languages for computer software and other computer-implemented instructions may be translated into machine language by a compiler or an assembler before execution and/or may be translated directly at run time by an interpreter. Examples of assembly languages include ARM, MIPS, and x86; examples of high-level languages include Ada, BASIC, C, C++, C#, COBOL, Fortran, Java, Lisp, Pascal, Object Pascal, Haskell, ML; and examples of scripting languages include Bourne script, JavaScript, Python, Ruby, Lua, PHP, and Perl.

In one general aspect, therefore, the present invention is directed to systems and methods for managing computing platforms of an enterprise network. The computing platforms can each provide a business-related service for the enterprise network, and the enterprise network can comprise a plurality of applications, application program interfaces (APIs), and network infrastructure components for implementing the computing platforms. In various embodiments, the system comprises a front-end server configurable to host a graphical user interface (GUI) a back-end server system communicably coupled to the front-end server. The back-end server system is configured to: collect and extract data from a plurality of sources related to a first computing platform of the computing platforms; identify network resources associated with the first computing platform, where the network resources comprise the network infrastructure components, the APIs, and applications for the first computing platform based on the extracted data for the first computing platform; determine correlations between performance metrics of the network resources and key performance indicators (KPIs) to the first computing platform; determine monitoring thresholds for the performance metrics and the KPIs associated with the network resources; generate metadata for the first computing platform, where the metadata comprises each of the identified network resources associated with the first computing platform, where the metadata describes application-level relationships with the network resources, dependency relationships between different network resources, and the monitoring thresholds for the performance metrics and the KPIs, of the first computing platform; and transmit the metadata associated with the first computing platform to the front-end server.

In various embodiments, the front-end server is configured to generate the GUI comprising: a plurality of selectable icons comprising infrastructure metric icons, application icons, resource dependency icons and KPI icons; each of the infrastructure metric icons correspond to one of the network infrastructure components of the first computing platform and dynamically indicates a real-time status of the network infrastructure components; each of the application icons corresponds to one of the applications of the first computing platform and dynamically indicates a real-time status of the applications; each of the resource dependency icons correspond to the network resources of the first computing platform and dynamically indicates a real-time status of interdependent network resources; and each of the KPI icons corresponds to one of the KPIs of the first computing platform and dynamically indicates a real-time status of the KPIs.

In various implementations, the extracted data identifies at least one of: component names, component types, component roles, component dependency relationships, component configurations, component performance metrics, or any combination thereof.

In various implementations, the plurality of sources comprises a plurality of system logs associated with the network resources. For example, the plurality of system logs can comprise at least one of: system logs, audit logs, network logs, application logs, database logs, middleware logs, or any combination thereof.

In various implementations, the back-end server system is further configured to determine a performance issue associated with the first computing platform, where the performance issue is determined based on a comparison to the monitoring thresholds, and where the GUI is configured to display an indication of the performance issue associated with the first computing platform. For example, the indication of the performance issue can be represented by a graphical overlay on a first selectable icon of the plurality of selectable icons in the GUI and/or by a color change of a first selectable icon of the plurality of selectable icons in the GUI. In various implementations, the performance issue is identified at a source infrastructure component, where the source infrastructure component is associated with a reduced performance of a first KPI of the KPIs for the first computing platform.

In various implementations, the back-end server system is further configured to: determine a secondary contact address for the first computing platform; and generate a notification to the secondary contact address associated with the performance issue at the source infrastructure component. In various implementations, the secondary contact address is a communication medium outside of the GUI. Still further, the back-end server system can be further configured to automatically perform a resolution action in response to the performance issue at the source infrastructure component, where the resolution action is based on a component type of the source infrastructure component and a resolution procedure guide.

In one general aspect, a method according to various embodiments of the present invention comprises the steps of: collecting, by a server system, infrastructure data for a plurality of network resources associated with a computing platform; identifying, by the server system, the plurality of network resources associated with the computing platform; parsing, by the server system, the infrastructure data to extract a first structured dataset associated with the plurality of network resources; converting, by the server system, the infrastructure data based in a standardized format for the plurality of network resources; correlating, by the server system, performance metrics of the plurality of network resources and key performance indicator (KPIs) to the computing platform; determining, by the server system, monitoring thresholds for the performance metrics and the KPIs associated with the plurality of network resources; and generating, by the server system, metadata describing dependency relationships between different components of the plurality of network resources, relationships between application-level data and the plurality of network resources, the KPIs and the performance metrics of the plurality of network resources, and the monitoring thresholds for the performance metrics and the KPIs.

In various implementations, the method further comprises generating, by the server system, a graphical user interface (GUI) comprising a plurality of selectable icons, where the plurality of selectable icons represent, the KPIs, the performance metrics of the plurality of network resources, the application-level data, and the dependency relationships between the different components of the plurality of network resources, and where the GUI is automatically updated based on a status of the plurality of network resources and the KPIs. In various implementations, the method further comprises the steps of: monitoring, by the server system, the performance metrics of the plurality of network resources and the KPIs; determining, by the server system, a performance issue based on the performance metrics of the plurality of network resources or the KPIs, where the performance issue is based on exceeding one of the monitoring thresholds; and updating, by the server system, the GUI to indicate the performance issue for the performance metrics and the KPIs of the computing platform. In various implementations, the method further comprises the step of generating, by the server system, a notification to a secondary contact address associated with the performance issue of the computing platform. In various implementations, the secondary contact address is a communication medium outside of the GUI. In various implementations, the method further comprises the steps of: determining, by the server system, a source infrastructure component associated with the performance issue, where the source infrastructure component is determined based on the dependency relationships between the different components of the plurality of network resources; and performing, by the server system, a resolution action on the source infrastructure component, wherein the resolution action is based on a component type of the source infrastructure component and a resolution procedure guide.

The examples presented herein are intended to illustrate potential and specific implementations of the present invention. It can be appreciated that the examples are intended primarily for purposes of illustration of the invention for those skilled in the art. No particular aspect or aspects of the examples are necessarily intended to limit the scope of the present invention. Further, it is to be understood that the figures and descriptions of the present invention have been simplified to illustrate elements that are relevant for a clear understanding of the present invention, while eliminating, for purposes of clarity, other elements. While various embodiments have been described herein, it should be apparent that various modifications, alterations, and adaptations to those embodiments may occur to persons skilled in the art with attainment of at least some of the advantages. The disclosed embodiments are therefore intended to include all such modifications, alterations, and adaptations without departing from the scope of the embodiments as set forth herein.