WO2016025524A1 - Systems for managing datacenters - Google Patents

Systems for managing datacenters Download PDF

Info

Publication number
WO2016025524A1
WO2016025524A1 PCT/US2015/044721 US2015044721W WO2016025524A1 WO 2016025524 A1 WO2016025524 A1 WO 2016025524A1 US 2015044721 W US2015044721 W US 2015044721W WO 2016025524 A1 WO2016025524 A1 WO 2016025524A1
Authority
WO
WIPO (PCT)
Prior art keywords
computer
user
panel
attribute
servers
Prior art date
Application number
PCT/US2015/044721
Other languages
French (fr)
Inventor
James MALACHOWSKI
Hwa Jin BAE
Original Assignee
Nodeprime, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nodeprime, Inc. filed Critical Nodeprime, Inc.
Publication of WO2016025524A1 publication Critical patent/WO2016025524A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/328Computer systems status display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis

Definitions

  • a data center is a facility that may be used to house computer systems and associated components, such as telecommunications and storage systems.
  • a data center may include redundant or backup power supplies, redundant data communications connections, environmental controls (e.g., air conditioning and fire suppression) and various security devices.
  • SaaS software as a service
  • Many services are designed as "distributed” applications characterized by components that run on different machines, typically in communication via a network, such as the Internet.
  • a shift towards interactive Web 2.0 applications has led to development of truly distributed systems where code is written in different languages, runs on multiple machines, and interacts in complex ways.
  • Today, many such applications are written in an ad-hoc manner, where the server and client-side functionality are developed at the same time— but separately and often in different programming languages— and subsequently combined.
  • Distribution of multi-tier components can be complex and require significant resources to ensure proper operation, not to mention collection of information as to how an application performs, the number of users and other metrics that can impact overall cost (e.g., number of servers, bandwidth, number of I/Os, advertising revenue, etc.).
  • Computer systems of the present disclosure can comprise electronic displays that have user interfaces displaying attributes and states of computer servers of data centers. Such user interfaces can provide users with the ability to monitor data center performance, including individual computer servers of data centers.
  • Systems of the present disclosure provide a platform for automated systems management and analytics. Such systems can be a readily scalable approach to deploy, monitor and operate data center infrastructures. For example, computer servers may be readily added and monitored with other servers already being monitored, or removed and not monitored.
  • Systems provided herein can be fully integrated deployment and operations platforms. They can take racks of servers from the factory and can automate and configure bare-metal configuration settings (BIOS, BMC, RAID, peripherals, etc.) as well as firmware packages to optimize a data center. Systems provided herein can provide insight into power consumption, temperature and environmental data, in addition to standard monitoring components of data centers, such as components of computer servers (e.g., computer processors, memory, hard disks and network traffic).
  • components of computer servers e.g., computer processors, memory, hard disks and network traffic.
  • User interfaces of the present disclosure can provide users (e.g., systems administrators) the ability to monitor data centers having a variety of computer servers, and to take action with respect to a state change of those computer servers. This may enable the users to take action in little to no time, substantially improving the manner in which data centers are monitored and maintained.
  • User interfaces provided herein can limit, if not eliminate, downtime that may be associated with loss in data center performance, including computer server failure.
  • Systems and user interfaces of the present disclosure can provide various advantages and benefits, such as enabling users to monitor and manage data centers with a plurality of devices (e.g., computer servers) from a single location, and take any action that may be necessary to maintain the devices.
  • a user can receive a notification of a request for an action and take action in a time period that is less than about 30 minutes, 20 minutes, 10 minutes, 5 minutes, 1 minute, 30 seconds or 10 seconds.
  • the user can request that action be taken automatically if one or more conditions defined by the user have been satisfied.
  • An aspect of the present disclosure provides a computer system for monitoring a data center and enabling user action to reduce or eliminate downtime of the data center, comprising an electronic display comprising a user interface that displays at least a first panel and a second panel to a user, wherein the first panel identifies at least two computer servers of a data center, wherein at least a subset of the at least two computer servers are different computer servers, and wherein the second panel includes an attribute and/or a state of each of the at least two computer servers; and a computer processor coupled to the electronic display and programmed to (i) monitor the attribute of each of the at least two computer servers, (ii) receive one or more updates with respect to the attribute and/or state, and (iii) asynchronously direct the one or more updates to the electronic display to be presented to the user in the second panel.
  • the data center is a remote data center.
  • the state is selected from the group consisting of memory utilization, computer processor utilization, disk utilization and active/inactive.
  • the attribute is selected from the group consisting of computer processor, operating system, hard disk platform, vendor and media access control address.
  • the computer servers are manufactured by different vendors.
  • the user interface includes a third panel that includes one or more user interface elements that enable a user to instruct each of the at least two computer servers to perform an action.
  • the user interface includes a fourth panel that includes metrics with respect to at least a subset of the at least two computer servers.
  • the user interface includes a third panel that displays the at least two computer servers and links for user-implemented actions with respect to each of the at least two computer servers.
  • the second panel includes the attribute and the state of each of the at least two computer servers.
  • the computer processor is programmed to provide a notification or an alert on the electronic display, which notification or alert is with respect to the attribute and/or the state of each of the at least two computer servers.
  • the computer processor is programmed to request an action from the user in response to the notification or alert.
  • the computer processor is programmed to receive the action from the user.
  • the computer processor is programmed to implement an action in response to the one or more updates.
  • the action is implemented without any involvement from the user.
  • the action is defined by the user.
  • the one or more updates are periodic updates.
  • a computer-implemented method for monitoring a data center and enabling user action to reduce or eliminate downtime of the data center comprises (a) providing an electronic display comprising a user interface that displays at least a first panel and a second panel to a user, wherein the first panel identifies at least two computer servers of a data center, wherein at least a subset of the at least two computer servers are different computer servers, and wherein the second panel includes an attribute and/or a state of each of the at least two computer servers; (b) monitoring the attribute of each of the at least two computer servers; (c) receiving one or more updates with respect to the attribute and/or state; and (d) asynchronously directing the one or more updates to the electronic display to be presented to the user in the second panel.
  • the state is selected from the group consisting of memory utilization, computer processor utilization, disk utilization and active/inactive.
  • the attribute is selected from the group consisting of computer processor, operating system, hard disk platform, vendor and media access control address.
  • the second panel includes the attribute and the state of each of the at least two computer servers.
  • the method further comprises providing a notification or an alert on the electronic display, which notification or alert is with respect to the attribute and/or the state of each of the at least two computer servers. In some embodiments, the method further comprises requesting an action from the user in response to the notification or alert. In some embodiments, the method further comprises receiving the action from the user. In some embodiments, the method further comprises implementing an action in response to the one or more updates.
  • the action is implemented without any involvement from the user. In some embodiments, the action is defined by the user. In some embodiments, the one or more updates are periodic updates.
  • Another aspect of the present disclosure provides a computer readable medium comprising machine executable code that, upon execution by one or more computer processors, implements any of the methods above or elsewhere herein.
  • a non-transitory computer readable medium comprises machine-executable code that, upon execution by one or more computer processors, implements a method for monitoring a data center and enabling user action to reduce or eliminate downtime of the data center, the method comprising (a) activating an electronic display comprising a user interface that displays at least a first panel and a second panel to a user, wherein the first panel identifies at least two computer servers of a data center, wherein at least a subset of the at least two computer servers are different computer servers, and wherein the second panel includes an attribute and/or a state of each of the at least two computer servers; (b) monitoring the attribute of each of the at least two computer servers; (c) receiving one or more updates with respect to the attribute and/or state; and (d) asynchronously directing the one or more updates to the electronic display to be presented to the user in the second panel.
  • the computer memory can comprise machine executable code that, upon execution by the one or more computer processors, implements any of the methods above or elsewhere herein.
  • FIG. 1 schematically illustrates a user interface that permits a user to monitor a data center comprising one or more computer servers;
  • FIG. 2 is a screenshot of a user interface that shows the results of a search
  • FIG. 3 is a screenshot of a user interface that shows a node information (info) block diagram visualization
  • FIG. 4 is a screenshot of a user interface that shows a redundant array of inexpensive disks profile configuration page
  • FIG. 5 is a screenshot of a user interface that shows an active matrix that provides context around nodes, profiles, and state;
  • FIG. 6 is a screenshot of a user interface that shows an active matrix that provides contextual access to application programming interface (API) endpoints;
  • API application programming interface
  • FIG. 7 is a screenshot of a user interface that shows a dashboard with histograms
  • FIG. 8 is a screenshot of a user interface that shows a dashboard with gauges
  • FIG. 9 is a screenshot of a user interface that shows a dashboard with timelines
  • FIG. 10 is a screenshot of a user interface that shows a dashboard with gauges, a bar graph and a timeline;
  • FIG. 11 is a screenshot of a user interface that shows a data exploration interface
  • FIG. 12 is a screenshot of a user interface that shows a pull-up panel that displays various details with respect to nodes and actions that can be taken with respect to the nodes;
  • FIG. 13 schematically illustrates a computer system that is programmed or otherwise configured to implement user interfaces of the present disclosure.
  • attribute generally refers to a property of software products, computer systems or computer servers, or processes.
  • metric generally refers to a quantitative attribute.
  • state generally refers to a condition of a computer system or computer server.
  • the state of a computer system can include various operational parameters of the computer system, including power consumption, temperature and environmental data (e.g., pressure, temperature and humidity).
  • node generally refers to a device being monitored or managed, such as a computer server, or any connected device.
  • the present disclosure provides computer systems with user interfaces that can present information relevant to data center state and/or performance to a user.
  • a user interface of the present disclosure can be a graphical user interface (GUI) or a web-based user interface, for example.
  • GUI graphical user interface
  • the user interface can be presented on an electronic display, which can be a passive or active display. Examples of active displays include touch screens.
  • a computer system for monitoring a data center comprises an electronic display comprising a user interface that displays at least a first panel and a second panel.
  • the first panel can identify at least two computer servers of a data center. At least a subset of the at least two computer servers can be different computer servers.
  • the second panel can include an attribute and/or a state of each of the at least two computer servers.
  • the computer system can further include a computer processor coupled to the electronic display and programmed to monitor the attribute of each of the at least two computer servers and receive one or more updates with respect to the attribute and/or state.
  • the computer processor can be a central processing unit (CPU).
  • the computer processor can also be programed to direct the one or more updates to the electronic display to be presented in the second panel.
  • the updates can be directed asynchronously.
  • the updates can be directed in a periodic or non-periodic manner.
  • the periodic updates can be directed upon detection of a change in the attribute and/or state, or upon detection of no change in the attribute and/or state.
  • the updates can be directed asynchronously without the use of an external clock signal.
  • data can be transmitted intermittently rather than in a steady stream. Any timing required to recover data from communication symbols may be encoded within the symbols. Data may not be transmitted at regular intervals, thus making possible a variable bit rate.
  • the transmitter and receiver clock generators may not have to be exactly
  • the one or more updates can be periodic updates.
  • a periodic update may be provided, for example, every 1 minute, 10 minutes, 30 minutes, or 1 hour.
  • the one or more updates are not periodic.
  • the one or more updates can be provided at random intervals or as updates become available.
  • An update may be indicative of a change in an attribute, a state or both the attribute and the state of a computer server.
  • the update may indicate that the computer server, which was operating under normal conditions, now has an attribute or state that is indicative of a malfunction (e.g., faulty hard drive or high processor temperature).
  • the update may be indicative of no change in an attribute, a state or the attribute and the state of the computer server.
  • the update may indicate that the computer server is still operating under normal conditions.
  • the user interface can include various user interface elements, such as graphical, textual, audio elements and/or video elements.
  • Graphical elements can include images and machine generated components (e.g., circles, triangles or squares).
  • Graphical elements can be static or dynamic.
  • the size and/or shape of a graphical element can be dynamically rendered based on a given event (e.g., system level event), or based on a state and/or attribute of a computer server.
  • the data center is a remote data center.
  • the data center can be located in a different city of state than the computer system.
  • the data center can be located at a distance that is at least about 0.1 miles, 1 mile, 2 miles, 3 miles, 4 miles, 5 miles, 10 miles, 50 miles, 100 miles, or 1000 miles from the computer system.
  • the computer system can be in network communication with the data center. In some situations, network communication is through the Internet or an intranet.
  • a state of a computer server can be selected from memory utilization, computer processor utilization, disk utilization, active/inactive, process information and/or sensor information.
  • An attribute of a computer server can be selected from computer processor, operating system, hard disk platform, vendor, media access control (MAC) address and/or physical components.
  • At least some or a majority of the computer servers can be manufactured by different vendors, such as different companies (e.g., Dell® and Lenovo®).
  • the computers servers can have different device attributes, such as different computer processors and/or memory.
  • the user interface can include more than two panels. In some cases, the user interface includes at least 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, or 50 panels.
  • the panels can have different shapes and/or sizes. For example, the panels can be circular, triangular, square, rectangular, pentagonal, hexagonal, or partial shapes and/or combinations thereof.
  • a size and/or shape of a panel can be static or dynamic. In an example, the size and/or shape of a panel can be dynamically rendered based on a given event (e.g., system level event), or based on a state and/or attribute of a computer server.
  • the user interface can display notifications to the user.
  • An example of a notification can be a reminder, such as a reminder for software upgrade (e.g., firmware upgrade).
  • Another example of a notification is an alert, such as an alert that a computer server is not functioning or requires maintenance.
  • the user interface can include a third panel that includes one or more user interface elements that enable a user to instruct each of the at least two computer servers to perform an action.
  • the action can be, for example, to turn a computer sever on or off, to perform an update (e.g., software update, such as a firmware update), or to take the computer server offline or bring it online.
  • the action can be a corrective or remedial action, or a prophylactic measure (e.g., virus scan).
  • the action may be to regulate power use by the computer server, such as to minimize power use when demand for power is high (on peak) and increase power use when the demand for power is low (off peak).
  • the action may be to throttle one or more computer processors of the computer server, which may permit regulating the rate at which application processing is conducted, either statically or dynamically.
  • the user interface can present the user with metrics that are relevant to at least a subset of the at least two computer servers.
  • a metric can be a performance metric, such as resource utilization of a computer server or multiple computer servers.
  • metrics include computer processor utilization, memory utilization, disk space utilization, processes being run, and/or sensor utilization.
  • the user interface can include another panel that displays the at least two computer servers and links for user-implemented actions (e.g., update firmware, activate, inactivate, or burn in) with respect to each of the at least two computer servers.
  • user-implemented actions e.g., update firmware, activate, inactivate, or burn in
  • This panel can be dynamically displayed to the user and hidden from the user.
  • the panel can be displayed on the user interface upon request from the user, such as upon the user activating the panel through a pull-up tab. In such a case, the user can hide the panel using a pull-down tab.
  • FIG. 1 schematically illustrates a user interface 101 that permits a user to monitor a data center comprising one or more computer servers.
  • the user interface 101 includes a first panel 102, second panel 103 and third panel 104.
  • the first panel 102 can identify one or more computer servers of the data center.
  • the first panel 102 can list computer servers by device identification, such as MAC address.
  • the second panel 103 and/or third panel 104 can display an attribute and/or a state of each of the computer servers identified in the first panel 102.
  • User interfaces of the present disclosure can enable users to perform searches across devices, attributes, states and metrics. Such searches can be performed by inputting search criteria in a search field (e.g., search box) of a user interface.
  • a search can be directed to all data center resources.
  • the search is a natural language search.
  • the search can be directed to various components and can be saved as a query for later access or for driving ongoing actions.
  • FIG. 2 is an example user interface that shows the results of a search directed to Bios Firmware 1.02.
  • the user interface includes device identification (e.g., MAC address) directed to computer servers returned in the search, and information as to a state of each computer server.
  • the vendor of each computer server is also displayed in the user interface.
  • all nodes under management e.g., Dell R720xd, Open Compute ARM server, Virtual machines, docker containers, web services, etc.
  • a user can also search profiles, such as all profiles that are user-defined or system-defined (e.g., captured BIOS settings from a node, default firmware levels, etc.).
  • Another example of a searchable object is jobs, including actions happening on the system (e.g., currently running firmware updates, systems being rebooted, RAID rebuilds, etc.).
  • a user can also search components, such as computer processors, memory and hard disk.
  • metrics can be searched, such as a search based on event-driven data and time-series data (e.g., all nodes with greater than 90% CPU utilization in the last 2 hours, all Nodes running hadoop, all Nodes with VT technology enabled, etc.).
  • a user can also search facets, such as an analysis of the distribution of common and disparate attributes within the set of search results.
  • User interfaces of the present disclosure can also provide node information (info), which can provide visualization (or "block diagram") for an individual node.
  • info can provide visualization (or "block diagram") for an individual node.
  • This visualization can be the basis for expanded usage around visualizing where applications are running in the physical world and how various datacenter components and devices are interconnected.
  • FIG. 3 shows a node info block diagram visualization.
  • Node info can expose the entire set of inventory, metrics and history of a given node. The block diagram can dynamically resize and lay out based on a node's inventory and/or current state.
  • a system of the present disclosure can include an application programming interface (API).
  • the API can include data on metrics the node is generating (e.g., >700 per second depending on the device), physical inventory, the machine configuration settings, operating system inventory and configuration, user-defined attributes (tags), as well as the node's history of state changes.
  • Profiles can allow for infrastructure configuration management through a user- defined state.
  • profiles types can include basic input/output system (BIOS) settings, baseboard management controller (BMC) settings, and redundant array of inexpensive disks (RAID) configuration, firmware packages, and operating system (OS).
  • BIOS basic input/output system
  • BMC baseboard management controller
  • RAID redundant array of inexpensive disks
  • OS operating system
  • Profiles can be captured, cloned and analyzed across a fleet of machines to help end-users understand state, reliability, version control, and configuration drift across a massive fleet of machines. Every profile can be accessible via our search user interface and API.
  • FIG. 4 shows a user interface with a RAID profile configuration page.
  • a matrix can be an abstraction construct that provides the user and an API service contextual awareness.
  • a Matrix can be used for transitioning state for any node on the system. State transitions can be defined via profiles, and the matrix can be used to match profiles to nodes to drive the transition. Nodes can also be defined via saved search queries. For example, the matrix can be used to create a job that provides the user with the ability to define an action in response to a given condition (e.g., if a node appears on the platform that matches the saved search query, apply a particular set of firmware patches and BIOS settings).
  • a matrix can provide various separate instances for use in compare/contrast scenarios (i.e., root cause analysis). For example, a matrix can provide at least 2, 3, 4, 5, 6, 7, 8, 9, or 10 separate instances for use in compare and contrast scenarios.
  • FIG. 5 shows an example user interface with an active matrix that provides context around nodes, profiles, and state.
  • a matrix can be used to create jobs that are tracked and indexed for reporting and analysis. This can be designed to learn from the user and machine interaction to drive greater intelligence over time.
  • An example matrix use case can be peripheral component interconnect (PCI) compliance, which can help insure that a given set of nodes has the right set of firmware packages to remain compliant.
  • the Matrix can be configured and designed to allow the user to manage various devices (e.g., computer servers), such as thousands of computer servers from a single interface.
  • FIG. 6 shows a user interface with an active matrix that provides contextual access to application programming interface (API) endpoints.
  • API application programming interface
  • GUIs of the present disclosure can include dashboards, which can provide users with visibility into various aspects of a state and level of performance of a system or components (e.g., computer servers) of a system.
  • dashboards can provide macro and micro views designed to show high-level fleet wide metrics, as well as specific metrics for specific sets of machines.
  • a matrix can be populated with nodes and profiles to drive context for any given dashboard that is of interest to the user.
  • Dashboards can be fully customizable and can be used to drive any metric or collection of metrics to any device or collection of devices.
  • the dashboard can also have a network operations center (NOC) operational mode that allows the user to flip between various metrics and views in real time.
  • NOC network operations center
  • FIG. 7 shows a user interface displaying a dashboard with histograms that display a distribution of nodes and their utilization across various metrics, including disk utilization, CPU utilization and memory utilization.
  • the distribution of nodes can also be displayed as gauges, as shown in the example user interface of FIG. 8.
  • User interfaces of the present disclosure can display dashboards that display various metrics as a timeline, which can show a given metric as a function of time.
  • FIG. 9 shows a user interface displaying a dashboard with timelines showing active node utilization across various metrics, including CPU utilization, memory utilization and disk utilization.
  • Dashboards can display metrics in a composite manner, as shown in the example of FIG. 10, which shows metrics displayed as gauges, bar graphs and timelines. The manner in which metrics are displayed on a user interface can be selected by the user.
  • User interfaces of the present disclosure can provide for data exploration. This can provide the user with the capability to explore unique groupings of devices through various metrics and visualizations. For example, a user can take a specific Hadoop cluster, activate each node of the cluster into the Matrix, and elect to analyze the cluster. This can take the user to a data exploration interface of the user interface.
  • An example data exploration interface is shown in FIG. 11. This example is a scatter plot of nodes. The scatter plot showcases memory vs. CPU utilization over time. The user can leverage this view to provide improved capacity planning, root-cause analysis, and datacenter optimization. This interface also provides simultaneous views of different ways of looking at the same data to drive greater situational awareness for the user.
  • User interfaces provided herein can enable a user to monitor multiple nodes and take a given action or a plurality of actions with respect to at least a subset of the nodes.
  • the action can be defined by the user or a default action, such as a default action implemented by a computer system having the user interface.
  • FIG. 12 shows a user interface with a pull-up panel displaying two nodes (e.g., Dell Machines and Apache Servers), three profiles and various actions (e.g., deploy, power options, identify and burn in).
  • the pull-up panel can be retracted and hidden upon user input.
  • the present disclosure provides computer systems that are programmed or otherwise configured to implement user interfaces for monitoring a data center.
  • Such user interface can be displayed on electronic displayed that are part of or in communication with a computer system for monitoring a data center.
  • FIG. 10 shows a computer system 1001 that is programmed or otherwise configured to monitor a data center.
  • the computer system 1001 can regulate various aspects of data center monitoring of the present disclosure, such as, for example, monitoring computer servers and present a state and/or attribute of the computer servers to a user on a user interface displayed on an electronic display of an electronic device of the user.
  • the computer system 1001 includes a central processing unit (CPU, also
  • the computer system 1001 also includes memory or memory location 1010 (e.g., random-access memory, read-only memory, flash memory), electronic storage unit 1015 (e.g., hard disk), communication interface 1020 (e.g., network adapter) for communicating with one or more other systems, and peripheral devices 1025, such as cache, other memory, data storage and/or electronic display adapters.
  • memory 1010, storage unit 1015, interface 1020 and peripheral devices 1025 are in communication with the CPU 1005 through a communication bus (solid lines), such as a motherboard.
  • the storage unit 1015 can be a data storage unit (or data repository) for storing data.
  • the computer system 1001 can be operatively coupled to a computer network ("network") 1030 with the aid of the communication interface 1020.
  • the network 1030 can be the Internet, an internet and/or extranet, or an intranet and/or extranet that is in communication with the Internet.
  • the network 1030 in some cases is a telecommunication and/or data network.
  • the network 1030 can include one or more computer servers, which can enable distributed computing, such as cloud computing.
  • the network 1030, in some cases with the aid of the computer system 1001, can implement a peer-to-peer network, which may enable devices coupled to the computer system 1001 to behave as a client or a server.
  • the CPU 1005 can execute a sequence of machine-readable instructions, which can be embodied in a program or software.
  • the instructions may be stored in a memory location, such as the memory 1010.
  • the instructions can be directed to the CPU 205, which can subsequently program or otherwise configure the CPU 205 to implement methods of the present disclosure. Examples of operations performed by the CPU 1005 can include fetch, decode, execute, and writeback.
  • the CPU 1005 can be part of a circuit, such as an integrated circuit.
  • a circuit such as an integrated circuit.
  • One or more other components of the system 1001 can be included in the circuit.
  • the circuit is an application specific integrated circuit (ASIC).
  • ASIC application specific integrated circuit
  • the storage unit 1015 can store files, such as drivers, libraries and saved programs.
  • the storage unit 1015 can store user data, e.g., user preferences and user programs.
  • the computer system 1001 in some cases can include one or more additional data storage units that are external to the computer system 1001, such as located on a remote server that is in communication with the computer system 1001 through an intranet or the Internet.
  • the computer system 1001 can communicate with one or more remote computer systems through the network 1030.
  • the computer system 1001 can communicate with one or more remote computer systems through the network 1030.
  • the computer system 1001 can communicate with one or more remote computer systems through the network 1030.
  • the computer system 1001 can communicate with one or more remote computer systems through the network 1030.
  • the computer system 1001 can communicate with one or more remote computer systems through the network 1030.
  • the computer system 1001 can communicate with one or more remote computer systems through the network 1030.
  • the computer system 1001 can communicate with one or more remote computer systems through the network 1030.
  • the computer system 1001 can communicate with one or more remote computer systems through the network 1030.
  • the computer system 1001 can communicate with one or more remote computer systems through the network 1030.
  • the computer system 1001 can communicate with one or more remote computer systems through the network 1030.
  • remote computer systems include personal computers (e.g., portable PC), slate or tablet PC's (e.g., Apple® iPad, Samsung® Galaxy Tab), telephones, Smart phones (e.g., Apple® iPhone, Android-enabled device, Blackberry®), or personal digital assistants.
  • the user can access the computer system 1001 via the network 1030.
  • Methods as described herein can be implemented by way of machine (e.g., computer processor) executable code stored on an electronic storage location of the computer system 1001, such as, for example, on the memory 1010 or electronic storage unit 1015.
  • machine executable or machine readable code can be provided in the form of software.
  • the code can be executed by the processor 1005.
  • the code can be retrieved from the storage unit 1015 and stored on the memory 1010 for ready access by the processor 1005.
  • the electronic storage unit 1015 can be precluded, and machine-executable instructions are stored on memory 1010.
  • the code can be pre-compiled and configured for use with a machine have a processer adapted to execute the code, or can be compiled during runtime.
  • the code can be supplied in a programming language that can be selected to enable the code to execute in a pre-compiled or as-compiled fashion.
  • aspects of the systems and methods provided herein can be embodied in programming.
  • Various aspects of the technology may be thought of as “products” or “articles of manufacture” typically in the form of machine (or processor) executable code and/or associated data that is carried on or embodied in a type of machine readable medium.
  • Machine-executable code can be stored on an electronic storage unit, such memory (e.g., read-only memory, random-access memory, flash memory) or a hard disk.
  • Storage type media can include any or all of the tangible memory of the computers, processors or the like, or associated modules thereof, such as various semiconductor memories, tape drives, disk drives and the like, which may provide non-transitory storage at any time for the software programming. All or portions of the software may at times be communicated through the Internet or various other telecommunication networks. Such communications, for example, may enable loading of the software from one computer or processor into another, for example, from a management server or host computer into the computer platform of an application server.
  • another type of media that may bear the software elements includes optical, electrical and electromagnetic waves, such as used across physical interfaces between local devices, through wired and optical landline networks and over various air-links.
  • a machine readable medium such as computer-executable code
  • a tangible storage medium such as computer-executable code
  • Non-volatile storage media include, for example, optical or magnetic disks, such as any of the storage devices in any computer(s) or the like, such as may be used to implement the databases, etc. shown in the drawings.
  • Volatile storage media include dynamic memory, such as main memory of such a computer platform.
  • Tangible transmission media include coaxial cables; copper wire and fiber optics, including the wires that comprise a bus within a computer system.
  • Carrier- wave transmission media may take the form of electric or electromagnetic signals, or acoustic or light waves such as those generated during radio frequency (RF) and infrared (IR) data communications.
  • RF radio frequency
  • IR infrared
  • Common forms of computer-readable media therefore include for example: a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD or DVD- ROM, any other optical medium, punch cards paper tape, any other physical storage medium with patterns of holes, a RAM, a ROM, a PROM and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave transporting data or instructions, cables or links transporting such a carrier wave, or any other medium from which a computer may read programming code and/or data.
  • Many of these forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to a processor for execution.
  • the computer system 1001 can include or be in communication with an electronic display 1035 that comprises a user interface (UI) that may enable a user to monitor a data center, as described herein.
  • UI user interface
  • Examples of UFs include, without limitation, a graphical user interface (GUI) and web-based user interface.
  • the electronic display 1035 may be part of an electronic device of a user, such as mobile (or portable) electronic device.
  • one or more updates with respect to an attribute and/or a state of each or a subset of at least 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, or 1000 computer servers can be displayed on the electronic display 1035.
  • Systems of the present disclosure can enable the monitoring of remote data centers having various numbers of computer servers.
  • a system of the present disclosure can enable a remote data center having at least 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, or 1000 computer servers to be monitored.
  • a subset of the computer servers can be different from a remainder of the computer servers.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The present disclosure provides a computer system for monitoring a data center, comprising an electronic display comprising a user interface that displays at least a first panel and a second panel. The first panel can identify at least two computer servers of a data center. At least a subset of the at least two computer servers can be different computer servers. The second panel can include an attribute and/or a state of each of the at least two computer servers. The computer system can further comprise a computer processor coupled to the electronic display and programmed to (i) monitor the attribute of each of the at least two computer servers, (ii) receive one or more updates with respect to the attribute and/or state, and (ii) asynchronously direct the one or more updates to the electronic display to be presented in the second panel.

Description

SYSTEMS FOR MANAGING DATACENTERS
CROSS-REFERENCE
[0001] This application claims priority to U.S. Provisional Application No. 62/036,057, filed August 11, 2014, which is entirely incorporated herein by reference.
BACKGROUND
[0002] A data center is a facility that may be used to house computer systems and associated components, such as telecommunications and storage systems. A data center may include redundant or backup power supplies, redundant data communications connections, environmental controls (e.g., air conditioning and fire suppression) and various security devices.
[0003] The organization of large scale data centers has evolved rapidly as the commercial opportunities they provide has expanded. Typical modern data centers may be organized collections of clusters of hardware that run collections of standard software packages, such as web servers database servers, etc., which may be interconnected by high speed networking, routers, and firewalls. Human operators typically organize these machines, optimize their configuration, debug errors in their configuration, and install and uninstall software on the constituent machines.
[0004] There are web services (e.g., software as a service, or "SaaS") that are supported by data centers. Many services are designed as "distributed" applications characterized by components that run on different machines, typically in communication via a network, such as the Internet. For example, a shift towards interactive Web 2.0 applications has led to development of truly distributed systems where code is written in different languages, runs on multiple machines, and interacts in complex ways. Today, many such applications are written in an ad-hoc manner, where the server and client-side functionality are developed at the same time— but separately and often in different programming languages— and subsequently combined. Distribution of multi-tier components can be complex and require significant resources to ensure proper operation, not to mention collection of information as to how an application performs, the number of users and other metrics that can impact overall cost (e.g., number of servers, bandwidth, number of I/Os, advertising revenue, etc.).
SUMMARY
[0005] The present disclosure provides computer systems for monitoring data centers. Computer systems of the present disclosure can comprise electronic displays that have user interfaces displaying attributes and states of computer servers of data centers. Such user interfaces can provide users with the ability to monitor data center performance, including individual computer servers of data centers.
[0006] Systems of the present disclosure provide a platform for automated systems management and analytics. Such systems can be a readily scalable approach to deploy, monitor and operate data center infrastructures. For example, computer servers may be readily added and monitored with other servers already being monitored, or removed and not monitored.
[0007] Systems provided herein can be fully integrated deployment and operations platforms. They can take racks of servers from the factory and can automate and configure bare-metal configuration settings (BIOS, BMC, RAID, peripherals, etc.) as well as firmware packages to optimize a data center. Systems provided herein can provide insight into power consumption, temperature and environmental data, in addition to standard monitoring components of data centers, such as components of computer servers (e.g., computer processors, memory, hard disks and network traffic).
[0008] User interfaces of the present disclosure can provide users (e.g., systems administrators) the ability to monitor data centers having a variety of computer servers, and to take action with respect to a state change of those computer servers. This may enable the users to take action in little to no time, substantially improving the manner in which data centers are monitored and maintained. User interfaces provided herein can limit, if not eliminate, downtime that may be associated with loss in data center performance, including computer server failure.
[0009] Systems and user interfaces of the present disclosure can provide various advantages and benefits, such as enabling users to monitor and manage data centers with a plurality of devices (e.g., computer servers) from a single location, and take any action that may be necessary to maintain the devices. In some situations, a user can receive a notification of a request for an action and take action in a time period that is less than about 30 minutes, 20 minutes, 10 minutes, 5 minutes, 1 minute, 30 seconds or 10 seconds. As an alternative, the user can request that action be taken automatically if one or more conditions defined by the user have been satisfied.
[0010] An aspect of the present disclosure provides a computer system for monitoring a data center and enabling user action to reduce or eliminate downtime of the data center, comprising an electronic display comprising a user interface that displays at least a first panel and a second panel to a user, wherein the first panel identifies at least two computer servers of a data center, wherein at least a subset of the at least two computer servers are different computer servers, and wherein the second panel includes an attribute and/or a state of each of the at least two computer servers; and a computer processor coupled to the electronic display and programmed to (i) monitor the attribute of each of the at least two computer servers, (ii) receive one or more updates with respect to the attribute and/or state, and (iii) asynchronously direct the one or more updates to the electronic display to be presented to the user in the second panel.
[0011] In some embodiments, the data center is a remote data center. In some embodiments, the state is selected from the group consisting of memory utilization, computer processor utilization, disk utilization and active/inactive. In some embodiments, the attribute is selected from the group consisting of computer processor, operating system, hard disk platform, vendor and media access control address. In some embodiments, the computer servers are manufactured by different vendors. In some embodiments, the user interface includes a third panel that includes one or more user interface elements that enable a user to instruct each of the at least two computer servers to perform an action. In some
embodiments, the user interface includes a fourth panel that includes metrics with respect to at least a subset of the at least two computer servers. In some embodiments, the user interface includes a third panel that displays the at least two computer servers and links for user-implemented actions with respect to each of the at least two computer servers. In some embodiments, the second panel includes the attribute and the state of each of the at least two computer servers.
[0012] In some embodiments, the computer processor is programmed to provide a notification or an alert on the electronic display, which notification or alert is with respect to the attribute and/or the state of each of the at least two computer servers. In some embodiments, the computer processor is programmed to request an action from the user in response to the notification or alert. In some embodiments, the computer processor is programmed to receive the action from the user.
[0013] In some embodiments, the computer processor is programmed to implement an action in response to the one or more updates. In some embodiments, the action is implemented without any involvement from the user. In some embodiments, the action is defined by the user. In some embodiments, the one or more updates are periodic updates. [0014] In another aspect, a computer-implemented method for monitoring a data center and enabling user action to reduce or eliminate downtime of the data center comprises (a) providing an electronic display comprising a user interface that displays at least a first panel and a second panel to a user, wherein the first panel identifies at least two computer servers of a data center, wherein at least a subset of the at least two computer servers are different computer servers, and wherein the second panel includes an attribute and/or a state of each of the at least two computer servers; (b) monitoring the attribute of each of the at least two computer servers; (c) receiving one or more updates with respect to the attribute and/or state; and (d) asynchronously directing the one or more updates to the electronic display to be presented to the user in the second panel.
[0015] In some embodiments, the state is selected from the group consisting of memory utilization, computer processor utilization, disk utilization and active/inactive. In some embodiments, the attribute is selected from the group consisting of computer processor, operating system, hard disk platform, vendor and media access control address. In some embodiments, the second panel includes the attribute and the state of each of the at least two computer servers.
[0016] In some embodiments, the method further comprises providing a notification or an alert on the electronic display, which notification or alert is with respect to the attribute and/or the state of each of the at least two computer servers. In some embodiments, the method further comprises requesting an action from the user in response to the notification or alert. In some embodiments, the method further comprises receiving the action from the user. In some embodiments, the method further comprises implementing an action in response to the one or more updates.
[0017] In some embodiments, the action is implemented without any involvement from the user. In some embodiments, the action is defined by the user. In some embodiments, the one or more updates are periodic updates.
[0018] Another aspect of the present disclosure provides a computer readable medium comprising machine executable code that, upon execution by one or more computer processors, implements any of the methods above or elsewhere herein. In some
embodiments, a non-transitory computer readable medium comprises machine-executable code that, upon execution by one or more computer processors, implements a method for monitoring a data center and enabling user action to reduce or eliminate downtime of the data center, the method comprising (a) activating an electronic display comprising a user interface that displays at least a first panel and a second panel to a user, wherein the first panel identifies at least two computer servers of a data center, wherein at least a subset of the at least two computer servers are different computer servers, and wherein the second panel includes an attribute and/or a state of each of the at least two computer servers; (b) monitoring the attribute of each of the at least two computer servers; (c) receiving one or more updates with respect to the attribute and/or state; and (d) asynchronously directing the one or more updates to the electronic display to be presented to the user in the second panel.
[0019] Another aspect of the present disclosure provides a computer system comprising one or more computer processors and computer memory coupled thereto. The computer memory can comprise machine executable code that, upon execution by the one or more computer processors, implements any of the methods above or elsewhere herein.
[0020] Additional aspects and advantages of the present disclosure will become readily apparent to those skilled in this art from the following detailed description, wherein only illustrative embodiments of the present disclosure are shown and described. As will be realized, the present disclosure is capable of other and different embodiments, and its several details are capable of modifications in various obvious respects, all without departing from the disclosure. Accordingly, the drawings and description are to be regarded as illustrative in nature, and not as restrictive.
INCORPORATION BY REFERENCE
[0021] All publications, patents, and patent applications mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent, or patent application was specifically and individually indicated to be incorporated by reference.
BRIEF DESCRIPTION OF THE DRAWINGS
[0022] The novel features of the invention are set forth with particularity in the appended claims. A better understanding of the features and advantages of the present invention will be obtained by reference to the following detailed description that sets forth illustrative embodiments, in which the principles of the invention are utilized, and the accompanying drawings (also "figure" and "FIG." herein), of which:
[0023] FIG. 1 schematically illustrates a user interface that permits a user to monitor a data center comprising one or more computer servers;
[0024] FIG. 2 is a screenshot of a user interface that shows the results of a search; [0025] FIG. 3 is a screenshot of a user interface that shows a node information (info) block diagram visualization;
[0026] FIG. 4 is a screenshot of a user interface that shows a redundant array of inexpensive disks profile configuration page;
[0027] FIG. 5 is a screenshot of a user interface that shows an active matrix that provides context around nodes, profiles, and state;
[0028] FIG. 6 is a screenshot of a user interface that shows an active matrix that provides contextual access to application programming interface (API) endpoints;
[0029] FIG. 7 is a screenshot of a user interface that shows a dashboard with histograms;
[0030] FIG. 8 is a screenshot of a user interface that shows a dashboard with gauges;
[0031] FIG. 9 is a screenshot of a user interface that shows a dashboard with timelines;
[0032] FIG. 10 is a screenshot of a user interface that shows a dashboard with gauges, a bar graph and a timeline;
[0033] FIG. 11 is a screenshot of a user interface that shows a data exploration interface;
[0034] FIG. 12 is a screenshot of a user interface that shows a pull-up panel that displays various details with respect to nodes and actions that can be taken with respect to the nodes; and
[0035] FIG. 13 schematically illustrates a computer system that is programmed or otherwise configured to implement user interfaces of the present disclosure.
DETAILED DESCRIPTION
[0036] While various embodiments of the invention have been shown and described herein, it will be obvious to those skilled in the art that such embodiments are provided by way of example only. Numerous variations, changes, and substitutions may occur to those skilled in the art without departing from the invention. It should be understood that various alternatives to the embodiments of the invention described herein may be employed.
[0037] The term "attribute," as used herein, generally refers to a property of software products, computer systems or computer servers, or processes.
[0038] The term "metric," as used herein, generally refers to a quantitative attribute.
[0039] The term "state," as used herein, generally refers to a condition of a computer system or computer server. The state of a computer system can include various operational parameters of the computer system, including power consumption, temperature and environmental data (e.g., pressure, temperature and humidity). [0040] The term "node," as used herein, generally refers to a device being monitored or managed, such as a computer server, or any connected device.
[0041] The present disclosure provides computer systems with user interfaces that can present information relevant to data center state and/or performance to a user. A user interface of the present disclosure can be a graphical user interface (GUI) or a web-based user interface, for example. The user interface can be presented on an electronic display, which can be a passive or active display. Examples of active displays include touch screens.
[0042] In an aspect of the present disclosure, a computer system for monitoring a data center comprises an electronic display comprising a user interface that displays at least a first panel and a second panel. The first panel can identify at least two computer servers of a data center. At least a subset of the at least two computer servers can be different computer servers. The second panel can include an attribute and/or a state of each of the at least two computer servers.
[0043] The computer system can further include a computer processor coupled to the electronic display and programmed to monitor the attribute of each of the at least two computer servers and receive one or more updates with respect to the attribute and/or state. The computer processor can be a central processing unit (CPU). The computer processor can also be programed to direct the one or more updates to the electronic display to be presented in the second panel.
[0044] The updates can be directed asynchronously. The updates can be directed in a periodic or non-periodic manner. For example, the periodic updates can be directed upon detection of a change in the attribute and/or state, or upon detection of no change in the attribute and/or state.
[0045] The updates can be directed asynchronously without the use of an external clock signal. In such a case, data can be transmitted intermittently rather than in a steady stream. Any timing required to recover data from communication symbols may be encoded within the symbols. Data may not be transmitted at regular intervals, thus making possible a variable bit rate. The transmitter and receiver clock generators may not have to be exactly
synchronized all the time.
[0046] The one or more updates can be periodic updates. A periodic update may be provided, for example, every 1 minute, 10 minutes, 30 minutes, or 1 hour. As an alternative, the one or more updates are not periodic. For example, the one or more updates can be provided at random intervals or as updates become available. [0047] An update may be indicative of a change in an attribute, a state or both the attribute and the state of a computer server. For example, the update may indicate that the computer server, which was operating under normal conditions, now has an attribute or state that is indicative of a malfunction (e.g., faulty hard drive or high processor temperature). As an alternative or in addition to, the update may be indicative of no change in an attribute, a state or the attribute and the state of the computer server. For example, the update may indicate that the computer server is still operating under normal conditions.
[0048] The user interface can include various user interface elements, such as graphical, textual, audio elements and/or video elements. Graphical elements can include images and machine generated components (e.g., circles, triangles or squares). Graphical elements can be static or dynamic. In an example, the size and/or shape of a graphical element can be dynamically rendered based on a given event (e.g., system level event), or based on a state and/or attribute of a computer server.
[0049] In some cases, the data center is a remote data center. In some examples, the data center can be located in a different city of state than the computer system. The data center can be located at a distance that is at least about 0.1 miles, 1 mile, 2 miles, 3 miles, 4 miles, 5 miles, 10 miles, 50 miles, 100 miles, or 1000 miles from the computer system.
[0050] The computer system can be in network communication with the data center. In some situations, network communication is through the Internet or an intranet.
[0051] A state of a computer server can be selected from memory utilization, computer processor utilization, disk utilization, active/inactive, process information and/or sensor information. An attribute of a computer server can be selected from computer processor, operating system, hard disk platform, vendor, media access control (MAC) address and/or physical components.
[0052] At least some or a majority of the computer servers can be manufactured by different vendors, such as different companies (e.g., Dell® and Lenovo®). The computers servers can have different device attributes, such as different computer processors and/or memory.
[0053] The user interface can include more than two panels. In some cases, the user interface includes at least 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, or 50 panels. The panels can have different shapes and/or sizes. For example, the panels can be circular, triangular, square, rectangular, pentagonal, hexagonal, or partial shapes and/or combinations thereof. A size and/or shape of a panel can be static or dynamic. In an example, the size and/or shape of a panel can be dynamically rendered based on a given event (e.g., system level event), or based on a state and/or attribute of a computer server.
[0054] The user interface can display notifications to the user. An example of a notification can be a reminder, such as a reminder for software upgrade (e.g., firmware upgrade). Another example of a notification is an alert, such as an alert that a computer server is not functioning or requires maintenance.
[0055] In some cases, the user interface can include a third panel that includes one or more user interface elements that enable a user to instruct each of the at least two computer servers to perform an action. The action can be, for example, to turn a computer sever on or off, to perform an update (e.g., software update, such as a firmware update), or to take the computer server offline or bring it online. The action can be a corrective or remedial action, or a prophylactic measure (e.g., virus scan). As another example, the action may be to regulate power use by the computer server, such as to minimize power use when demand for power is high (on peak) and increase power use when the demand for power is low (off peak). The action may be to throttle one or more computer processors of the computer server, which may permit regulating the rate at which application processing is conducted, either statically or dynamically.
[0056] The user interface can present the user with metrics that are relevant to at least a subset of the at least two computer servers. A metric can be a performance metric, such as resource utilization of a computer server or multiple computer servers. In some examples, metrics include computer processor utilization, memory utilization, disk space utilization, processes being run, and/or sensor utilization.
[0057] The user interface can include another panel that displays the at least two computer servers and links for user-implemented actions (e.g., update firmware, activate, inactivate, or burn in) with respect to each of the at least two computer servers. For example, the user can activate or inactive a given server, or update firmware of the given server. This panel can be dynamically displayed to the user and hidden from the user. In some cases, the panel can be displayed on the user interface upon request from the user, such as upon the user activating the panel through a pull-up tab. In such a case, the user can hide the panel using a pull-down tab.
[0058] FIG. 1 schematically illustrates a user interface 101 that permits a user to monitor a data center comprising one or more computer servers. The user interface 101 includes a first panel 102, second panel 103 and third panel 104. The first panel 102 can identify one or more computer servers of the data center. For example, the first panel 102 can list computer servers by device identification, such as MAC address. The second panel 103 and/or third panel 104 can display an attribute and/or a state of each of the computer servers identified in the first panel 102.
[0059] User interfaces of the present disclosure can enable users to perform searches across devices, attributes, states and metrics. Such searches can be performed by inputting search criteria in a search field (e.g., search box) of a user interface. A search can be directed to all data center resources. In some cases, the search is a natural language search. The search can be directed to various components and can be saved as a query for later access or for driving ongoing actions.
[0060] FIG. 2 is an example user interface that shows the results of a search directed to Bios Firmware 1.02. The user interface includes device identification (e.g., MAC address) directed to computer servers returned in the search, and information as to a state of each computer server. The vendor of each computer server is also displayed in the user interface.
[0061] There are various searchable objects. For example, all nodes under management (e.g., Dell R720xd, Open Compute ARM server, Virtual machines, docker containers, web services, etc.) can be searched. A user can also search profiles, such as all profiles that are user-defined or system-defined (e.g., captured BIOS settings from a node, default firmware levels, etc.). Another example of a searchable object is jobs, including actions happening on the system (e.g., currently running firmware updates, systems being rebooted, RAID rebuilds, etc.). A user can also search components, such as computer processors, memory and hard disk. In another example, metrics can be searched, such as a search based on event-driven data and time-series data (e.g., all nodes with greater than 90% CPU utilization in the last 2 hours, all Nodes running hadoop, all Nodes with VT technology enabled, etc.). A user can also search facets, such as an analysis of the distribution of common and disparate attributes within the set of search results.
[0062] User interfaces of the present disclosure can also provide node information (info), which can provide visualization (or "block diagram") for an individual node. This visualization can be the basis for expanded usage around visualizing where applications are running in the physical world and how various datacenter components and devices are interconnected. In an example, FIG. 3 shows a node info block diagram visualization. [0063] Node info can expose the entire set of inventory, metrics and history of a given node. The block diagram can dynamically resize and lay out based on a node's inventory and/or current state.
[0064] A system of the present disclosure can include an application programming interface (API). The API can include data on metrics the node is generating (e.g., >700 per second depending on the device), physical inventory, the machine configuration settings, operating system inventory and configuration, user-defined attributes (tags), as well as the node's history of state changes.
[0065] User interfaces of the present disclosure can enable users to create, view and edit profiles. Profiles can allow for infrastructure configuration management through a user- defined state. In some examples, profiles types can include basic input/output system (BIOS) settings, baseboard management controller (BMC) settings, and redundant array of inexpensive disks (RAID) configuration, firmware packages, and operating system (OS). Profiles can be captured, cloned and analyzed across a fleet of machines to help end-users understand state, reliability, version control, and configuration drift across a massive fleet of machines. Every profile can be accessible via our search user interface and API. In an example, FIG. 4 shows a user interface with a RAID profile configuration page.
[0066] User interfaces of the present disclosure can provide matrixes. A matrix can be an abstraction construct that provides the user and an API service contextual awareness. A Matrix can be used for transitioning state for any node on the system. State transitions can be defined via profiles, and the matrix can be used to match profiles to nodes to drive the transition. Nodes can also be defined via saved search queries. For example, the matrix can be used to create a job that provides the user with the ability to define an action in response to a given condition (e.g., if a node appears on the platform that matches the saved search query, apply a particular set of firmware patches and BIOS settings).
[0067] A matrix can provide various separate instances for use in compare/contrast scenarios (i.e., root cause analysis). For example, a matrix can provide at least 2, 3, 4, 5, 6, 7, 8, 9, or 10 separate instances for use in compare and contrast scenarios. FIG. 5 shows an example user interface with an active matrix that provides context around nodes, profiles, and state.
[0068] A matrix can be used to create jobs that are tracked and indexed for reporting and analysis. This can be designed to learn from the user and machine interaction to drive greater intelligence over time. An example matrix use case can be peripheral component interconnect (PCI) compliance, which can help insure that a given set of nodes has the right set of firmware packages to remain compliant. The Matrix can be configured and designed to allow the user to manage various devices (e.g., computer servers), such as thousands of computer servers from a single interface. In an example, FIG. 6 shows a user interface with an active matrix that provides contextual access to application programming interface (API) endpoints.
[0069] User interfaces of the present disclosure can include dashboards, which can provide users with visibility into various aspects of a state and level of performance of a system or components (e.g., computer servers) of a system. In some cases, dashboards can provide macro and micro views designed to show high-level fleet wide metrics, as well as specific metrics for specific sets of machines. A matrix can be populated with nodes and profiles to drive context for any given dashboard that is of interest to the user. Dashboards can be fully customizable and can be used to drive any metric or collection of metrics to any device or collection of devices. The dashboard can also have a network operations center (NOC) operational mode that allows the user to flip between various metrics and views in real time. In an example, FIG. 7 shows a user interface displaying a dashboard with histograms that display a distribution of nodes and their utilization across various metrics, including disk utilization, CPU utilization and memory utilization. The distribution of nodes can also be displayed as gauges, as shown in the example user interface of FIG. 8.
[0070] User interfaces of the present disclosure can display dashboards that display various metrics as a timeline, which can show a given metric as a function of time. In an example, FIG. 9 shows a user interface displaying a dashboard with timelines showing active node utilization across various metrics, including CPU utilization, memory utilization and disk utilization. Dashboards can display metrics in a composite manner, as shown in the example of FIG. 10, which shows metrics displayed as gauges, bar graphs and timelines. The manner in which metrics are displayed on a user interface can be selected by the user.
[0071] User interfaces of the present disclosure can provide for data exploration. This can provide the user with the capability to explore unique groupings of devices through various metrics and visualizations. For example, a user can take a specific Hadoop cluster, activate each node of the cluster into the Matrix, and elect to analyze the cluster. This can take the user to a data exploration interface of the user interface. An example data exploration interface is shown in FIG. 11. This example is a scatter plot of nodes. The scatter plot showcases memory vs. CPU utilization over time. The user can leverage this view to provide improved capacity planning, root-cause analysis, and datacenter optimization. This interface also provides simultaneous views of different ways of looking at the same data to drive greater situational awareness for the user.
[0072] User interfaces provided herein can enable a user to monitor multiple nodes and take a given action or a plurality of actions with respect to at least a subset of the nodes. The action can be defined by the user or a default action, such as a default action implemented by a computer system having the user interface. In an example, FIG. 12 shows a user interface with a pull-up panel displaying two nodes (e.g., Dell Machines and Apache Servers), three profiles and various actions (e.g., deploy, power options, identify and burn in). The pull-up panel can be retracted and hidden upon user input.
[0073] The present disclosure provides computer systems that are programmed or otherwise configured to implement user interfaces for monitoring a data center. Such user interface can be displayed on electronic displayed that are part of or in communication with a computer system for monitoring a data center.
[0074] FIG. 10 shows a computer system 1001 that is programmed or otherwise configured to monitor a data center. The computer system 1001 can regulate various aspects of data center monitoring of the present disclosure, such as, for example, monitoring computer servers and present a state and/or attribute of the computer servers to a user on a user interface displayed on an electronic display of an electronic device of the user.
[0075] The computer system 1001 includes a central processing unit (CPU, also
"processor" and "computer processor" herein) 1005, which can be a single core or multi core processor, or a plurality of processors for parallel processing. The computer system 1001 also includes memory or memory location 1010 (e.g., random-access memory, read-only memory, flash memory), electronic storage unit 1015 (e.g., hard disk), communication interface 1020 (e.g., network adapter) for communicating with one or more other systems, and peripheral devices 1025, such as cache, other memory, data storage and/or electronic display adapters. The memory 1010, storage unit 1015, interface 1020 and peripheral devices 1025 are in communication with the CPU 1005 through a communication bus (solid lines), such as a motherboard. The storage unit 1015 can be a data storage unit (or data repository) for storing data. The computer system 1001 can be operatively coupled to a computer network ("network") 1030 with the aid of the communication interface 1020. The network 1030 can be the Internet, an internet and/or extranet, or an intranet and/or extranet that is in communication with the Internet. The network 1030 in some cases is a telecommunication and/or data network. The network 1030 can include one or more computer servers, which can enable distributed computing, such as cloud computing. The network 1030, in some cases with the aid of the computer system 1001, can implement a peer-to-peer network, which may enable devices coupled to the computer system 1001 to behave as a client or a server.
[0076] The CPU 1005 can execute a sequence of machine-readable instructions, which can be embodied in a program or software. The instructions may be stored in a memory location, such as the memory 1010. The instructions can be directed to the CPU 205, which can subsequently program or otherwise configure the CPU 205 to implement methods of the present disclosure. Examples of operations performed by the CPU 1005 can include fetch, decode, execute, and writeback.
[0077] The CPU 1005 can be part of a circuit, such as an integrated circuit. One or more other components of the system 1001 can be included in the circuit. In some cases, the circuit is an application specific integrated circuit (ASIC).
[0078] The storage unit 1015 can store files, such as drivers, libraries and saved programs. The storage unit 1015 can store user data, e.g., user preferences and user programs. The computer system 1001 in some cases can include one or more additional data storage units that are external to the computer system 1001, such as located on a remote server that is in communication with the computer system 1001 through an intranet or the Internet.
[0079] The computer system 1001 can communicate with one or more remote computer systems through the network 1030. For instance, the computer system 1001 can
communicate with a remote computer system of a user (e.g., operator). Examples of remote computer systems include personal computers (e.g., portable PC), slate or tablet PC's (e.g., Apple® iPad, Samsung® Galaxy Tab), telephones, Smart phones (e.g., Apple® iPhone, Android-enabled device, Blackberry®), or personal digital assistants. The user can access the computer system 1001 via the network 1030.
[0080] Methods as described herein can be implemented by way of machine (e.g., computer processor) executable code stored on an electronic storage location of the computer system 1001, such as, for example, on the memory 1010 or electronic storage unit 1015. The machine executable or machine readable code can be provided in the form of software.
During use, the code can be executed by the processor 1005. In some cases, the code can be retrieved from the storage unit 1015 and stored on the memory 1010 for ready access by the processor 1005. In some situations, the electronic storage unit 1015 can be precluded, and machine-executable instructions are stored on memory 1010.
[0081] The code can be pre-compiled and configured for use with a machine have a processer adapted to execute the code, or can be compiled during runtime. The code can be supplied in a programming language that can be selected to enable the code to execute in a pre-compiled or as-compiled fashion.
[0082] Aspects of the systems and methods provided herein, such as the computer system 1001, can be embodied in programming. Various aspects of the technology may be thought of as "products" or "articles of manufacture" typically in the form of machine (or processor) executable code and/or associated data that is carried on or embodied in a type of machine readable medium. Machine-executable code can be stored on an electronic storage unit, such memory (e.g., read-only memory, random-access memory, flash memory) or a hard disk. "Storage" type media can include any or all of the tangible memory of the computers, processors or the like, or associated modules thereof, such as various semiconductor memories, tape drives, disk drives and the like, which may provide non-transitory storage at any time for the software programming. All or portions of the software may at times be communicated through the Internet or various other telecommunication networks. Such communications, for example, may enable loading of the software from one computer or processor into another, for example, from a management server or host computer into the computer platform of an application server. Thus, another type of media that may bear the software elements includes optical, electrical and electromagnetic waves, such as used across physical interfaces between local devices, through wired and optical landline networks and over various air-links. The physical elements that carry such waves, such as wired or wireless links, optical links or the like, also may be considered as media bearing the software. As used herein, unless restricted to non-transitory, tangible "storage" media, terms such as computer or machine "readable medium" refer to any medium that participates in providing instructions to a processor for execution.
[0083] Hence, a machine readable medium, such as computer-executable code, may take many forms, including but not limited to, a tangible storage medium, a carrier wave medium or physical transmission medium. Non-volatile storage media include, for example, optical or magnetic disks, such as any of the storage devices in any computer(s) or the like, such as may be used to implement the databases, etc. shown in the drawings. Volatile storage media include dynamic memory, such as main memory of such a computer platform. Tangible transmission media include coaxial cables; copper wire and fiber optics, including the wires that comprise a bus within a computer system. Carrier- wave transmission media may take the form of electric or electromagnetic signals, or acoustic or light waves such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media therefore include for example: a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD or DVD- ROM, any other optical medium, punch cards paper tape, any other physical storage medium with patterns of holes, a RAM, a ROM, a PROM and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave transporting data or instructions, cables or links transporting such a carrier wave, or any other medium from which a computer may read programming code and/or data. Many of these forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to a processor for execution.
[0084] The computer system 1001 can include or be in communication with an electronic display 1035 that comprises a user interface (UI) that may enable a user to monitor a data center, as described herein. Examples of UFs include, without limitation, a graphical user interface (GUI) and web-based user interface. The electronic display 1035 may be part of an electronic device of a user, such as mobile (or portable) electronic device. In some examples, one or more updates with respect to an attribute and/or a state of each or a subset of at least 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, or 1000 computer servers can be displayed on the electronic display 1035.
[0085] Systems of the present disclosure can enable the monitoring of remote data centers having various numbers of computer servers. For example, a system of the present disclosure can enable a remote data center having at least 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, or 1000 computer servers to be monitored. A subset of the computer servers can be different from a remainder of the computer servers.
[0086] While preferred embodiments of the present invention have been shown and described herein, it will be obvious to those skilled in the art that such embodiments are provided by way of example only. It is not intended that the invention be limited by the specific examples provided within the specification. While the invention has been described with reference to the aforementioned specification, the descriptions and illustrations of the embodiments herein are not meant to be construed in a limiting sense. Numerous variations, changes, and substitutions will now occur to those skilled in the art without departing from the invention. Furthermore, it shall be understood that all aspects of the invention are not limited to the specific depictions, configurations or relative proportions set forth herein which depend upon a variety of conditions and variables. It should be understood that various alternatives to the embodiments of the invention described herein may be employed in practicing the invention. It is therefore contemplated that the invention shall also cover any such alternatives, modifications, variations or equivalents. It is intended that the following claims define the scope of the invention and that methods and structures within the scope of these claims and their equivalents be covered thereby.

Claims

CLAIMS WHAT IS CLAIMED IS:
1. A computer system for monitoring a data center and enabling user action to reduce or eliminate downtime of said data center, comprising:
an electronic display comprising a user interface that displays at least a first panel and a second panel to a user, wherein said first panel identifies at least two computer servers of a data center, wherein at least a subset of said at least two computer servers are different computer servers, and wherein said second panel includes an attribute and/or a state of each of said at least two computer servers; and
a computer processor coupled to said electronic display and programmed to (i) monitor said attribute of each of said at least two computer servers, (ii) receive one or more updates with respect to said attribute and/or state, and (iii) asynchronously direct said one or more updates to said electronic display to be presented to said user in said second panel.
2. The computer system of Claim 1, wherein said data center is a remote data center.
3. The computer system of Claim 1, wherein said state is selected from the group consisting of memory utilization, computer processor utilization, disk utilization and active/inactive.
4. The computer system of Claim 1, wherein said attribute is selected from the group consisting of computer processor, operating system, hard disk platform, vendor and media access control address.
5. The computer system of Claim 1, wherein said computer servers are manufactured by different vendors.
6. The computer system of Claim 1, wherein said user interface includes a third panel that includes one or more user interface elements that enable a user to instruct each of said at least two computer servers to perform an action.
7. The computer system of Claim 6, wherein said user interface includes a fourth panel that includes metrics with respect to at least a subset of said at least two computer servers.
8. The computer system of Claim 1, wherein said user interface includes a third panel that displays said at least two computer servers and links for user-implemented actions with respect to each of said at least two computer servers.
9. The computer system of Claim 1, wherein said second panel includes said attribute and said state of each of said at least two computer servers.
10. The computer system of Claim 1, wherein said computer processor is programmed to provide a notification or an alert on said electronic display, which notification or alert is with respect to said attribute and/or said state of each of said at least two computer servers.
11. The computer system of Claim 10, wherein said computer processor is programmed to request an action from said user in response to said notification or alert.
12. The computer system of Claim 11, wherein said computer processor is programmed to receive said action from said user.
13. The computer system of Claim 1, wherein said computer processor is programmed to implement an action in response to said one or more updates.
14. The computer system of Claim 13, wherein said action is implemented without any involvement from said user.
15. The computer system of Claim 13, wherein said action is defined by said user.
16. The computer system of Claim 1, wherein said one or more updates are periodic updates.
17. A computer-implemented method for monitoring a data center and enabling user action to reduce or eliminate downtime of said data center, comprising:
(a) providing an electronic display comprising a user interface that displays at least a first panel and a second panel to a user, wherein said first panel identifies at least two computer servers of a data center, wherein at least a subset of said at least two computer servers are different computer servers, and wherein said second panel includes an attribute and/or a state of each of said at least two computer servers;
(b) monitoring said attribute of each of said at least two computer servers;
(c) receiving one or more updates with respect to said attribute and/or state; and
(d) asynchronously directing said one or more updates to said electronic display to be presented to said user in said second panel.
18. The computer-implemented method of Claim 17, wherein said state is selected from the group consisting of memory utilization, computer processor utilization, disk utilization and active/inactive.
19. The computer-implemented method of Claim 17, wherein said attribute is selected from the group consisting of computer processor, operating system, hard disk platform, vendor and media access control address.
20. The computer-implemented method of Claim 17, wherein said second panel includes said attribute and said state of each of said at least two computer servers.
21. The computer-implemented method of Claim 17, further comprising providing a notification or an alert on said electronic display, which notification or alert is with respect to said attribute and/or said state of each of said at least two computer servers.
22. The computer-implemented method of Claim 21, further comprising requesting an action from said user in response to said notification or alert.
23. The computer-implemented method of Claim 22, further comprising receiving said action from said user.
24. The computer-implemented method of Claim 21, further comprising implementing an action in response to said one or more updates.
25. The computer-implemented method of Claim 24, wherein said action is implemented without any involvement from said user.
26. The computer-implemented method of Claim 24, wherein said action is defined by said user.
27. The computer-implemented method of Claim 17, wherein said one or more updates are periodic updates.
28. A non-transitory computer readable medium comprising machine-executable code that, upon execution by one or more computer processors, implements a method for monitoring a data center and enabling user action to reduce or eliminate downtime of said data center, the method comprising:
(a) activating an electronic display comprising a user interface that displays at least a first panel and a second panel to a user, wherein said first panel identifies at least two computer servers of a data center, wherein at least a subset of said at least two computer servers are different computer servers, and wherein said second panel includes an attribute and/or a state of each of said at least two computer servers;
(b) monitoring said attribute of each of said at least two computer servers;
(c) receiving one or more updates with respect to said attribute and/or state; and
(d) asynchronously directing said one or more updates to said electronic display to be presented to said user in said second panel.
PCT/US2015/044721 2014-08-11 2015-08-11 Systems for managing datacenters WO2016025524A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462036057P 2014-08-11 2014-08-11
US62/036,057 2014-08-11

Publications (1)

Publication Number Publication Date
WO2016025524A1 true WO2016025524A1 (en) 2016-02-18

Family

ID=55304561

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/044721 WO2016025524A1 (en) 2014-08-11 2015-08-11 Systems for managing datacenters

Country Status (1)

Country Link
WO (1) WO2016025524A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3226186A1 (en) * 2016-03-31 2017-10-04 DextraData GmbH Capacity analysis and planning tool, in particular for an information technology (infrastructure)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090070697A1 (en) * 2007-09-06 2009-03-12 Oracle International Corporation System and method for monitoring servers of a data center
US8051156B1 (en) * 2006-07-28 2011-11-01 Hewlett-Packard Development Company, L.P. Managing power and performance
US20130124712A1 (en) * 2011-11-10 2013-05-16 Verizon Patent And Licensing Inc. Elastic cloud networking
US20130185243A1 (en) * 2008-02-18 2013-07-18 International Business Machines Corporation Alert management system and method
US20130198637A1 (en) * 2012-01-27 2013-08-01 Sungard Availability Services Lp Cloud service dashboard

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8051156B1 (en) * 2006-07-28 2011-11-01 Hewlett-Packard Development Company, L.P. Managing power and performance
US20090070697A1 (en) * 2007-09-06 2009-03-12 Oracle International Corporation System and method for monitoring servers of a data center
US20130185243A1 (en) * 2008-02-18 2013-07-18 International Business Machines Corporation Alert management system and method
US20130124712A1 (en) * 2011-11-10 2013-05-16 Verizon Patent And Licensing Inc. Elastic cloud networking
US20130198637A1 (en) * 2012-01-27 2013-08-01 Sungard Availability Services Lp Cloud service dashboard

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3226186A1 (en) * 2016-03-31 2017-10-04 DextraData GmbH Capacity analysis and planning tool, in particular for an information technology (infrastructure)

Similar Documents

Publication Publication Date Title
US11138058B2 (en) Hierarchical fault determination in an application performance management system
US11223680B2 (en) Computer servers for datacenter management
US20200004660A1 (en) Systems and methods of integrated testing and deployment in a continuous integration continuous deployment (cicd) system
US20170109206A1 (en) Task scheduling method, apparatus, and device
CN110574338A (en) Root cause discovery engine
US9921569B2 (en) Field device commissioning system and method
US20160261459A1 (en) Package dependency maps for distributed computing
US10942801B2 (en) Application performance management system with collective learning
EP3912039B1 (en) Machine-based recognition and dynamic selection of subpopulations for improved telemetry
US11474892B2 (en) Graph-based log sequence anomaly detection and problem diagnosis
US11138060B2 (en) Application performance management system with dynamic discovery and extension
US20230205516A1 (en) Software change analysis and automated remediation
US11153183B2 (en) Compacted messaging for application performance management system
US11012291B2 (en) Remote access controller support system
US10848371B2 (en) User interface for an application performance management system
WO2016025524A1 (en) Systems for managing datacenters
US11163637B1 (en) Determining server issues related to software versions using artificial intelligence techniques
US10817396B2 (en) Recognition of operational elements by fingerprint in an application performance management system
US11797388B1 (en) Systems and methods for lossless network restoration and syncing
US11550555B2 (en) Dependency-based automated data restatement
US20230419806A1 (en) Method and system for device monitoring and diagnostics
US20230004469A1 (en) Management action predictions

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15832262

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15832262

Country of ref document: EP

Kind code of ref document: A1