US20130328909A1 - Systems, Methods, and Media for Generating Multidimensional Heat Maps - Google Patents

Systems, Methods, and Media for Generating Multidimensional Heat Maps Download PDF

Info

Publication number
US20130328909A1
US20130328909A1 US13/963,964 US201313963964A US2013328909A1 US 20130328909 A1 US20130328909 A1 US 20130328909A1 US 201313963964 A US201313963964 A US 201313963964A US 2013328909 A1 US2013328909 A1 US 2013328909A1
Authority
US
United States
Prior art keywords
event data
instances
instance
axis
heat map
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US13/963,964
Inventor
David Pacheco
Brendan Gregg
Bryan Cantrill
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Joyent Inc
Original Assignee
Joyent 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 Joyent Inc filed Critical Joyent Inc
Priority to US13/963,964 priority Critical patent/US20130328909A1/en
Assigned to JOYENT, INC. reassignment JOYENT, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CANTRILL, BRYAN, GREGG, BRENDAN, PACHECO, DAVID
Publication of US20130328909A1 publication Critical patent/US20130328909A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • 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
    • 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/323Visualisation of programs or trace data
    • 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
    • G06F11/3419Recording 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 by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Definitions

  • Embodiments of the disclosure relate to the management of computing resources.
  • Systems, methods, and media provided herein may be utilized to generate multidimensional heat maps of performance values of computing resources, and in some embodiments, the performance of cloud-based computing resources.
  • a cloud is a resource that typically combines the computational power of a large grouping of processors and/or that combines the storage capacity of a large grouping of computer memories or storage devices.
  • systems that provide a cloud resource may be utilized exclusively by their owners, such as GoogleTM or Yahoo!TM, or such systems may be accessible to outside users who deploy applications within the computing infrastructure to obtain the benefit of large computational or storage resources.
  • the cloud may be formed, for example, by a network of servers with each server providing processor and/or storage resources.
  • the cloud may be formed, for example, by a network of web servers, with each web server (or at least a plurality thereof) providing processor and/or storage resources. These servers may manage workloads provided by multiple users (e.g., cloud resource customers or other users). Typically, each user places workload demands upon the cloud that vary in real-time, sometimes dramatically. The nature and extent of these variations typically depend on the type of business associated with the user.
  • the present technology may be directed to methods for generating a heat map of event data by: (a) gathering instances of event data according to a performance characteristic; (b) decomposing the instances by applying at least one constraint to the instances; (c) assigning a hue to each instance, the hue being associated with the at least one constraint; and (d) generating a heat map that includes representations of the instances, wherein each representation includes the hue associated with the at least one constraint to which the instance has been assigned.
  • the present technology may be directed to systems for generating a heat map of event data.
  • These systems may include: (a) a memory for storing an executable instructions that generate a heat map of event data; (b) a processor for executing the instructions; (c) a numerical decomposer that applies a performance characteristic to the instances of event data; (d) a discrete decomposer that applies at least one constraint to the instances; (e) an assignment module that assigns a hue to each instance, the hue being associated with the at least one constraint; and (f) a user interface module that generates a heat map that includes representations of the instances, wherein each representation includes the hue associated with the at least one constraint to which the instance has been assigned.
  • the present technology may be directed to computer readable storage media for generating a heat map of event data.
  • the method may include (a) receiving a request to generate a heat map, the request comprising parameters for selecting instances of event data for at least one computing resource; (b) numerically decomposing the instances of event data by applying a performance characteristic to the instances; (c) discretely decomposing the instances by applying at least one constraint to the instances; (d) assigning a hue to each instance, the hue being associated with the at least one constraint; and (e) generating a heat map that includes representations of the instances, wherein each representation includes the hue associated with the at least one constraint to which the instance has been assigned.
  • FIG. 1 illustrates an exemplary system for practicing aspects of the present technology
  • FIG. 2 illustrates an exemplary analytics application for generating heat maps of event data
  • FIG. 3 illustrates an exemplary three dimensional heat map
  • FIG. 4 illustrates an exemplary four dimensional heat map of a computing resource with performance issues
  • FIGS. 5A and 5B illustrate exemplary heat maps for discrete devices
  • FIG. 6 illustrates an exemplary four dimensional heat map that represents both a computing resource with performance issues and the same computing resource having the performance issue resolved;
  • FIG. 7 is a flowchart of an exemplary method for generating heat maps of event data.
  • FIG. 8 illustrates an exemplary computing system that may be used to implement embodiments according to the present technology.
  • the present technology is directed to generating heat maps from event data created by computing resources, and specifically to generating multidimensional heat maps.
  • These heat maps may provide visual representations of event data that allow system administrators to determine and/or diagnose problems within the computing resources.
  • the heat map may allow a system administrator to determine why a particular program, such as a web-based application, is running slowly on a web server.
  • heat maps may assist system administrators in analyzing many other types of objectively quantifiable information such as overall system utilization (for capacity planning).
  • Heat maps may also be generated to answer business questions related to computing resource, for example, determining a quantity of a cloud's computing resources that are currently being used by a zone or a program within the cloud.
  • heat maps may be generated that reflect the performance values of the cloud, or of any other computing resource. Additionally, heat maps may function as visual representation of many performance values for a computing resource.
  • the present technology generates multidimensional heat maps that provide unique visual representations of analytics of computing resources that may assist system administrators in optimizing the performance of computing resources.
  • the present technology may include cloud analytics within a browser-based interface that includes visualizations that assist administrators in detecting performance issues across the cloud, in real-time.
  • the heat maps may include a plurality of axes that represent different aspects of event data.
  • a heat maps may include a first dimension represented by a horizontally oriented x-axis, a second dimension represented by a vertically oriented y-axis, a third dimension represented by a color saturation of a container (or an individual value), and a fourth dimension represented by a color hue.
  • Heat maps may be generated from individual data points and may resemble a scatter plots. These scatter plot heat maps may include similar dimensions to heat maps that include containers where a first dimension is represented by a horizontally oriented x-axis, a second dimension may be represented by a vertically oriented y-axis, and a third dimension is shown by visually differentiating the instance points, such as by color hue.
  • performance values may be understood to include not only performance based metrics such as latency, bandwidth, and so forth, but also other types of metrics.
  • heat maps may be generated based upon other metrics beyond performance based metrics. For example, a heat map may be generated that illustrates the amount of memory installed on a plurality of servers within a cloud. In another instance, a heat map may be generated to illustrate a number of hardware faults within a computing resource (e.g., correctable ECC “Error Correction Codes” errors)
  • the present technology may discretely decompose event data generated by computing resources, and particularly cloud-based computing resources that may run pluralities of programs, instances of programs, handle pluralities of requests for resources per second, or other complex computing tasks that generate event data.
  • An instance of event data may be understood to comprise any combination of information that corresponds to an instance of computing activity, such as a single (or multiple) measurable action.
  • an instance of event data may include descriptive information such as identifying information that indicates a computing device that executes a program, a program and/or module that instantiates an action, a latency of an action, or any other measurable computing activity that is quantifiable in terms of magnitude, time, and so forth.
  • the present technology may generate heat maps from event data, or summaries of event data. These heat maps may include collections and presentations of n-dimensions of data.
  • the heat maps may include scatter plots that comprise individual instances of event data that are arranged along a first axis of the heat map according to a time associated with the event and along a second axis according to a performance characteristic associated with the event.
  • Each instance may include a mechanism for visual differentiation, such as color hue, that represents a constraint associated with a discrete decomposition. That is, each instance may be assigned a constraint that represents a discrete object that may be associated with the instance.
  • a constraint may include an indication of the computing resource (e.g., discrete resource) that generated a search request.
  • URLs handled by cache memory may be attributed to another computing resource and may be assigned a different constraint.
  • Instances of event data may be differentiated from one another (or alternative grouped together) if they are associated with a different constraint relative to one another.
  • Overlapping instances with different hues may combine to form different hues. For example, instances of event data generated by a first computing resource may be associated with a blue hue, and instances of event data associated with a second computing resource may be associated with a yellow hue. When these two instances of event data share a common event time and a common performance value, they may overlap one another to form a green hue.
  • instances of event data may be placed into containers.
  • the heat map may then include representations of the containers, rather than individual data points.
  • Containers allow the heat maps to be generated for data sets that are dense, allowing for scalability relative to the amount of event data.
  • FIG. 1 illustrates an exemplary system 100 for practicing aspects of the present technology.
  • the system 100 may include a computing resource 105 that may include a cloud-based computing environment.
  • a cloud-based computing environment is a resource that typically combines the computational power of a large grouping of processors and/or that combines the storage capacity of a large grouping of computer memories or storage devices.
  • systems that provide a cloud resource may be utilized exclusively by their owners, such as GoogleTM or Yahoo!TM; or such systems may be accessible to outside users who deploy applications within the computing infrastructure to obtain the benefit of large computational or storage resources.
  • the cloud may be formed, for example, by a network of web servers, with each web server (or at least a plurality thereof) providing processor and/or storage resources. These servers may manage workloads provided by multiple users (e.g., cloud resource customers or other users). Typically, each user places workload demands upon the cloud that vary in real-time, sometimes dramatically. The nature and extent of these variations typically depend on the type of business associated with the user.
  • the computing resource 105 may include a distributed group of computing devices such as web servers that do not share computing resources or workload. Additionally, the computing resource 105 may include a single computing device that has been provisioned with a plurality of programs that each produce instances of event data.
  • the computing resource 105 may communicatively couple with an analytics system 110 via a network connection 115 .
  • the network connection 115 may include any one of a number of private and public communications mediums such as the Internet.
  • the analytics system 110 may generate heat maps of event data by discrete decomposition of instances of event data generated by the computing resource 105 .
  • the analytics system 110 may generate a heat map by gathering instances of event data according to a performance characteristic, discretely decomposing the instances by applying at least one constraint to the instances, assigning a hue to each instance, the hue being associated with the at least one constraint, and generating a heat map that includes representations of the instances, wherein each representation includes the hue associated with the at least one constraint to which the instance has been assigned.
  • gathering may be understood to comprise any of a number of actions such as selecting, choosing, grouping, collecting, and so forth, along with other types of actions that would be known to one of ordinary skill the art with the present disclosure before them.
  • gathering may mean aggregating and filtering.
  • System administrators 120 may utilize client computing devices to access both the computing resource 105 and the analytics system 110 via another network connection.
  • the system administrators 120 may access the analytics system 110 via graphical user interfaces generated by the analytics system 110 , as will be described in greater detail below.
  • FIG. 2 illustrates an analytics application, hereinafter referred to as application 200 , which generally includes an aggregator module 205 , a user interface module 210 , a numerical decomposer module 215 , and a discrete decomposer module 220 .
  • application 200 may include additional modules, engines, or components, and still fall within the scope of the present technology.
  • module may also refer to any of an application-specific integrated circuit (“ASIC”), an electronic circuit, a processor (shared, dedicated, or group) that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.
  • ASIC application-specific integrated circuit
  • individual modules of the application 200 may include separately configured web servers.
  • the application 200 may be provisioned with a cloud.
  • an aggregator module 205 may be executed to obtain instances of event data (or summaries of event data) from the computing resource 105 .
  • event data is continually provided to the application 200 such that the aggregator module 205 does not have to obtain instances of data events proactively.
  • the application 200 may utilize a plurality of aggregator modules to obtain instances of event data that may be utilized to generate heat maps.
  • heat maps may represent the computing activities of the computing resource 105 such as aggregate URL responses by module (e.g., cached, searched, etc.) or certain performance aspects of the computing resource or a computing activity, such as latency, bandwidth, workload, and so forth.
  • the user interface module 210 generates a user interface that allows the end user to specify parameters that may be utilized to generate a heat map.
  • parameters may include an instrumentality that is to be measured.
  • instrumentalities may include HTTP requests, CPU threads, filesystem operations, and the like.
  • an end user may also specify one or more aspects for which they would like to aggregate data. For example, if an end user desires to review HTTP requests for only “search” (e.g., http requests that could not be fulfilled via a response stored in cache memory) the end user may specify that an aggregator should obtain event data from the web server that performs search requests.
  • search e.g., http requests that could not be fulfilled via a response stored in cache memory
  • an HTTP request processed by the search server may have a latency value (e.g. performance value) of 200 milliseconds. Latency may be understood to define a timespan that was required to fulfill a particular computing action, which in this case includes the timespan required to perform the HTTP request that included a search for the resource, rather than a return of a cached response.
  • latency may include other performance characteristics for a computing event such as a timespan required to transmit a file from a first location to a second location, a timespan required to perform a calculation, a timespan required to launch a program or a module, and so forth.
  • the numerical decomposer module 215 may be executed to numerically decompose instances (or summaries) of event data gather by the aggregator module 205 by applying the selected performance characteristic to the instances of event data. That is, the numerical decomposer module 215 may process the instances of event data according to the performance characteristic defined by the end user. The processing of the instances of event data using the performance characteristic allows the instances of event data to be plotted on a three dimensional heat map, such as the heat map of FIG. 3 , which will be described in greater detail infra.
  • a heat map may be provisioned into a plurality of containers.
  • Each of the containers may include a range of values.
  • a latency heat map may include containers that include a range of latency values.
  • a container may include latency values from zero to 100 milliseconds, another container may include latency values from 100 to 200 milliseconds, and so forth.
  • An instance of event data may be placed into a container by comparing a value for the performance characteristic to the containers. Instances of computing events that had a latency value of 50 milliseconds would be placed into the zero to 100 millisecond container.
  • each of the containers may be associated with a temporal aspect. That is, only instances of event data that have a particular latency value and occurred within a specified timespan may be placed into the container.
  • the number of containers created for the heat map may be as granular as individual data points, or may be scaled to include any number of instances of computing events.
  • the heat map may include a scatter plot of individual data points that represent instances of event data.
  • the containers may include overlapping value ranges such that some instances of event data may be properly categorized as belonging to multiple containers.
  • the event data may be weighted and portioned to each of the multiple containers according to the weighting.
  • the containers may be plotted on the heat map, as described below.
  • FIG. 3 illustrates an exemplary three-dimensional heat map 300 for HTTP request latency for a web server. It will be understood that the heat map 300 may be generated by the user interface module 210 .
  • the selected instrumentality for the heat map 300 includes HTTP server operations 305 .
  • the HTTP request 305 is shown as having aspects 310 , which include /GET and /POST. It is noteworthy to mention that containers which include individual instances of event data associated with all URL paths are being shown.
  • the heat map includes a first axis 315 that extends horizontally along the length of the heat map 300 .
  • the first axis 315 may be segmented into event time, and the event time may correspond to the width of a block that represents a container.
  • the first axis 315 represents the passage of time (e.g., a chronological timeline).
  • the second axis 320 may comprise a range of latency values, such that higher vertical positioning on the second axis 320 indicates greater latency.
  • the containers may be plotted along the first and second axes.
  • blocks 325 may be arranged onto the heat map 300 along the first axis 315 and also along the second axis 320 in a vertical manner.
  • color saturation may be applied to each container.
  • the color saturation may represent an aggregate number of instances of event data that are included in a particular container. The darker the block, the greater the number of instances included in the container.
  • the attribution of color saturation to a container may be referred to as a third dimension of the heat map 300 .
  • a system administrator may determine that certain instances of event data fall outside acceptable ranges for latency. While such information may indeed be valuable, additional dimensional metrics may be applied to the heat map 300 to assist the system administrator in deducing the actual cause of any latency issues. That is, the inclusion of additional restraints or heat maps with additional dimensional data may further elucidate latency issues.
  • selection of individual pixels or containers may display a variety of event data associated therewith, such as specific event times, specific latency values, functions, component identification, or other information associated with the event.
  • event data such as specific event times, specific latency values, functions, component identification, or other information associated with the event.
  • clicking on the containers within a line with the lowest latency values shows that the events associated with the lowest latency are generated by synchronous website components, while containers having greater latency appear to be associated with asynchronous polling.
  • the discrete decomposer module 220 may be executed to further decompose the data within the containers.
  • the discrete decomposer module 220 may apply additional constraints to the instances of event data included in the containers.
  • the additional constraints may filter the instances of event data that were generated by discrete computing entities, such as network nodes (which may be implemented as operating system “zones”) that handle HTTP requests.
  • network nodes which may be implemented as operating system “zones”
  • zones operating system “zones”
  • FIG. 4 illustrates an exemplary heat map 400 that includes four different dimensions for viewing instances of event data.
  • the first and second dimensions remain the same, relative to time and latency. Also, the saturation dimension remains.
  • the containers associated with a first zone are shown in blue and containers associated with a second zone are shown in yellow. It is noteworthy to mention that the first zone contains a web server which can only be accessed via the second zone, which contains a web proxy.
  • the blue containers illustrate that a certain portions of HTTP requests generated by the first zone have low latency, as evidenced by the containers located approximately along a line 405 . Another portion of HTTP requests generated by the first zone have relative higher latency, as illustrated by containers along a line 410 .
  • Latency for HTTP requests served by the second zone follow two substantially triangular patterns 415 and 420 .
  • the first pattern 415 indicates that most of the HTTP requests processed by the second zone are subject to variable but relatively short latency as compared to pattern 420 which indicates fewer instances of event data, but with higher latency. Patterns 415 and 420 appear to mimic one another in shape.
  • additional heat maps may be generated that describe latency for other computing resources such as file system latency, I/O latency, or other types of latency related analyses that help the system administrator focus their attention on underperforming resources and remedy the same.
  • the proxy server is the source of the latency issues relative to HTTP requests.
  • latency values may be determined even down to a content level.
  • FIGS. 5A and 5B illustrate additional heat maps 500 and 505 , respectively.
  • the discrete decomposer module 220 may be utilized to apply additional constraints upon the event data which would impose a fifth dimension to the display of the event data.
  • the heat map 500 may include HTTP request information for the web proxy component that is filtered for requests for a specific type of content.
  • Heat map 505 may include HTTP request information for the backend server that is filtered for requests for the same specific type of content.
  • FIG. 6 illustrates yet another heat map 600 that shows an improvement in latency for the computing resource. That is, once the problem with the web proxy has been discovered and remedied, an additional heat map 600 may be generated that shows the improvement in latency.
  • Heat map 600 includes both the heat map information for FIG. 4 in section 605 and a section 610 that illustrates the matched latencies of the zones as lines 615 and 620 . As is shown, the triangular pattern associated with zone two has almost entirely disappeared.
  • the containers of the two resources overlap one another to create a unique hue, and in this case is a combination of yellow and blue, which combine to create green.
  • Non-overlapping containers are shown as blue and yellow. Saturation also remains.
  • FIG. 7 illustrates a flowchart of an exemplary method for generating heat maps from event data.
  • the method may include a step 705 of aggregating event data from one or more computing resources.
  • the method may include a step 710 of receiving a request to generate a heat map. It will be understood that the request may comprise parameters for selecting instances of event data for at least one computing resource.
  • the method may include a step 715 of filtering instances of event data according to a performance characteristic.
  • a performance characteristic may include latency, bandwidth, workload, file offset, device offset, I/O size, sub-second offset, or any other measurable computing resource quantity that would be known to one of ordinary skill in the art. Numerical decomposition of event data by applying the performance characteristic adds a third dimension to the eventual display of the event data.
  • the method may also include a step 720 of discretely decomposing the instances by applying at least one constraint to the instances.
  • the constraint may include the selection of a component, a device, or other discrete computing object such as a proxy, a module, a server, and the like.
  • Discrete decomposition of event data by applying the at least one constraint adds a fourth dimension to the eventual display of the event data.
  • the method may include a step 725 of assigning a hue to each instance, where the hue is associated with the at least one constraint. That is, an instance of event data may be associated with a color hue based upon the constraint that has been placed upon the instance of event data.
  • Event data generated by a particular computing object such as a web server that processes HTTP requests, may be colored similarly, while event data generated by another computing object, such as a cache memory module that also processes HTTP requests may be colored with a different color relative to those generated by the web server.
  • the method may include assigning a visualization.
  • the visualization may include a pattern.
  • a pattern may be understood to include individual dots or pixels of color (even potentially black and white) that are arranged in a predetermined manner.
  • Exemplary patterns may include geometrical shapes, irregular shapes, or even arbitrary shapes.
  • the method may include a step 730 of generating a heat map that includes representations of the instances, wherein each representation includes the hue associated with the at least one constraint to which the instance has been assigned. Additional constraints may be applied to the instances of event data to add additional dimensions thereto. It will be understood that in some instances, when a constraint is applied to the event data, the amount of event data may be reduced. These functionalities may be referred to as “isolation” or “exclusion” functions. Isolation functions generally isolate a particular aspect and exclusion functions remove a selected aspect from a heat map. That is, the application of constraints to the event data may act as filters that remove certain portions of the event data from inclusion into a heat map. It will be understood that in some embodiments, the method may include additional or fewer steps from those recited herein.
  • FIG. 8 illustrates an exemplary computing device 800 that may be used to implement an embodiment of the present technology.
  • the system 800 of FIG. 8 may be implemented in the contexts of the likes of computing resource or device 105 ( FIG. 1 ).
  • the computing device 800 of FIG. 8 includes one or more processors 810 and main memory 820 .
  • Main memory 820 stores, in part, instructions and data for execution by processor 810 .
  • Main memory 820 may store the executable code when in operation.
  • the system 800 of FIG. 8 further includes a mass storage device 830 , portable storage medium drive(s) 840 , output devices 850 , user input devices 860 , a graphics display 870 , and peripheral devices 880 .
  • FIG. 8 The components shown in FIG. 8 are depicted as being connected via a single bus 890 .
  • the components may be connected through one or more data transport means.
  • Processor unit 810 and main memory 820 may be connected via a local microprocessor bus, and the mass storage device 830 , peripheral device(s) 880 , portable storage device 840 , and display system 870 may be connected via one or more input/output (I/O) buses.
  • I/O input/output
  • Mass storage device 830 which may be implemented with a magnetic disk drive or an optical disk drive, is a non-volatile storage device for storing data and instructions for use by processor unit 810 . Mass storage device 830 may store the system software for implementing embodiments of the present invention for purposes of loading that software into main memory 820 .
  • Portable storage device 840 operates in conjunction with a portable non-volatile storage medium, such as a floppy disk, compact disk, digital video disc, or USB storage device, to input and output data and code to and from the computer system 800 of FIG. 8 .
  • a portable non-volatile storage medium such as a floppy disk, compact disk, digital video disc, or USB storage device.
  • the system software for implementing embodiments of the present invention may be stored on such a portable medium and input to the computer system 800 via the portable storage device 840 .
  • Input devices 860 provide a portion of a user interface.
  • Input devices 860 may include an alphanumeric keypad, such as a keyboard, for inputting alpha-numeric and other information, or a pointing device, such as a mouse, a trackball, stylus, or cursor direction keys.
  • the system 800 as shown in FIG. 8 includes output devices 850 . Suitable output devices include speakers, printers, network interfaces, and monitors.
  • Display system 870 may include a liquid crystal display (LCD) or other suitable display device.
  • Display system 870 receives textual and graphical information, and processes the information for output to the display device.
  • LCD liquid crystal display
  • Peripherals 880 may include any type of computer support device to add additional functionality to the computer system.
  • Peripheral device(s) 880 may include a modem or a router.
  • the components provided in the computer system 800 of FIG. 8 are those typically found in computer systems that may be suitable for use with embodiments of the present invention and are intended to represent a broad category of such computer components that are well known in the art.
  • the computer system 800 of FIG. 8 may be a personal computer, hand held computing device, telephone, mobile computing device, workstation, server, minicomputer, mainframe computer, or any other computing device.
  • the computer may also include different bus configurations, networked platforms, multi-processor platforms, etc.
  • Various operating systems may be used including Unix, Linux, Windows, Macintosh OS, Palm OS, Android, iPhone OS and other suitable operating systems.
  • Computer-readable storage media refer to any medium or media that participate in providing instructions to a central processing unit (CPU), a processor, a microcontroller, or the like. Such media may take forms including, but not limited to, non-volatile and volatile media such as optical or magnetic disks and dynamic memory, respectively. Common forms of computer-readable storage media include a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic storage medium, a CD-ROM disk, digital video disk (DVD), any other optical storage medium, RAM, PROM, EPROM, a FLASHEPROM, any other memory chip or cartridge.

Landscapes

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

Abstract

Systems, methods, and media for generating heat maps of event data are provided herein. Methods may include gathering instances of event data according to a performance characteristic, discretely decomposing the instances by applying at least one constraint to the instances, assigning a hue to each instance, the hue being associated with the at least one constraint, and generating a heat map that includes representations of the instances, wherein each representation includes the hue associated with the at least one constraint to which the instance has been assigned.

Description

    FIELD OF THE TECHNOLOGY
  • Embodiments of the disclosure relate to the management of computing resources. Systems, methods, and media provided herein may be utilized to generate multidimensional heat maps of performance values of computing resources, and in some embodiments, the performance of cloud-based computing resources.
  • BACKGROUND OF THE DISCLOSURE
  • A cloud is a resource that typically combines the computational power of a large grouping of processors and/or that combines the storage capacity of a large grouping of computer memories or storage devices. For example, systems that provide a cloud resource may be utilized exclusively by their owners, such as Google™ or Yahoo!™, or such systems may be accessible to outside users who deploy applications within the computing infrastructure to obtain the benefit of large computational or storage resources. The cloud may be formed, for example, by a network of servers with each server providing processor and/or storage resources.
  • The cloud may be formed, for example, by a network of web servers, with each web server (or at least a plurality thereof) providing processor and/or storage resources. These servers may manage workloads provided by multiple users (e.g., cloud resource customers or other users). Typically, each user places workload demands upon the cloud that vary in real-time, sometimes dramatically. The nature and extent of these variations typically depend on the type of business associated with the user.
  • SUMMARY OF THE DISCLOSURE
  • According to some embodiments, the present technology may be directed to methods for generating a heat map of event data by: (a) gathering instances of event data according to a performance characteristic; (b) decomposing the instances by applying at least one constraint to the instances; (c) assigning a hue to each instance, the hue being associated with the at least one constraint; and (d) generating a heat map that includes representations of the instances, wherein each representation includes the hue associated with the at least one constraint to which the instance has been assigned.
  • According to other embodiments, the present technology may be directed to systems for generating a heat map of event data. These systems may include: (a) a memory for storing an executable instructions that generate a heat map of event data; (b) a processor for executing the instructions; (c) a numerical decomposer that applies a performance characteristic to the instances of event data; (d) a discrete decomposer that applies at least one constraint to the instances; (e) an assignment module that assigns a hue to each instance, the hue being associated with the at least one constraint; and (f) a user interface module that generates a heat map that includes representations of the instances, wherein each representation includes the hue associated with the at least one constraint to which the instance has been assigned.
  • According to additional embodiments, the present technology may be directed to computer readable storage media for generating a heat map of event data. The method may include (a) receiving a request to generate a heat map, the request comprising parameters for selecting instances of event data for at least one computing resource; (b) numerically decomposing the instances of event data by applying a performance characteristic to the instances; (c) discretely decomposing the instances by applying at least one constraint to the instances; (d) assigning a hue to each instance, the hue being associated with the at least one constraint; and (e) generating a heat map that includes representations of the instances, wherein each representation includes the hue associated with the at least one constraint to which the instance has been assigned.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
  • The accompanying drawings, where like reference numerals refer to identical or functionally similar elements throughout the separate views, together with the detailed description below, are incorporated in and form part of the specification, and serve to further illustrate embodiments of concepts that include the claimed disclosure, and explain various principles and advantages of those embodiments.
  • The methods and systems disclosed herein have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present disclosure so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.
  • FIG. 1 illustrates an exemplary system for practicing aspects of the present technology;
  • FIG. 2 illustrates an exemplary analytics application for generating heat maps of event data;
  • FIG. 3 illustrates an exemplary three dimensional heat map;
  • FIG. 4 illustrates an exemplary four dimensional heat map of a computing resource with performance issues;
  • FIGS. 5A and 5B illustrate exemplary heat maps for discrete devices;
  • FIG. 6 illustrates an exemplary four dimensional heat map that represents both a computing resource with performance issues and the same computing resource having the performance issue resolved;
  • FIG. 7 is a flowchart of an exemplary method for generating heat maps of event data; and
  • FIG. 8 illustrates an exemplary computing system that may be used to implement embodiments according to the present technology.
  • DETAILED DESCRIPTION
  • In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the disclosure. It will be apparent, however, to one skilled in the art, that the disclosure may be practiced without these specific details. In other instances, structures and devices are shown at block diagram form only in order to avoid obscuring the disclosure.
  • Generally speaking, the present technology is directed to generating heat maps from event data created by computing resources, and specifically to generating multidimensional heat maps. These heat maps may provide visual representations of event data that allow system administrators to determine and/or diagnose problems within the computing resources. For example, the heat map may allow a system administrator to determine why a particular program, such as a web-based application, is running slowly on a web server. In other instances heat maps may assist system administrators in analyzing many other types of objectively quantifiable information such as overall system utilization (for capacity planning). Heat maps may also be generated to answer business questions related to computing resource, for example, determining a quantity of a cloud's computing resources that are currently being used by a zone or a program within the cloud.
  • In some embodiments, heat maps may be generated that reflect the performance values of the cloud, or of any other computing resource. Additionally, heat maps may function as visual representation of many performance values for a computing resource. The present technology generates multidimensional heat maps that provide unique visual representations of analytics of computing resources that may assist system administrators in optimizing the performance of computing resources. In some embodiments, the present technology may include cloud analytics within a browser-based interface that includes visualizations that assist administrators in detecting performance issues across the cloud, in real-time. Generally described, the heat maps may include a plurality of axes that represent different aspects of event data. For example, a heat maps may include a first dimension represented by a horizontally oriented x-axis, a second dimension represented by a vertically oriented y-axis, a third dimension represented by a color saturation of a container (or an individual value), and a fourth dimension represented by a color hue. Heat maps may be generated from individual data points and may resemble a scatter plots. These scatter plot heat maps may include similar dimensions to heat maps that include containers where a first dimension is represented by a horizontally oriented x-axis, a second dimension may be represented by a vertically oriented y-axis, and a third dimension is shown by visually differentiating the instance points, such as by color hue.
  • The terms performance values may be understood to include not only performance based metrics such as latency, bandwidth, and so forth, but also other types of metrics. Similarly, heat maps may be generated based upon other metrics beyond performance based metrics. For example, a heat map may be generated that illustrates the amount of memory installed on a plurality of servers within a cloud. In another instance, a heat map may be generated to illustrate a number of hardware faults within a computing resource (e.g., correctable ECC “Error Correction Codes” errors)
  • The present technology may discretely decompose event data generated by computing resources, and particularly cloud-based computing resources that may run pluralities of programs, instances of programs, handle pluralities of requests for resources per second, or other complex computing tasks that generate event data.
  • An instance of event data may be understood to comprise any combination of information that corresponds to an instance of computing activity, such as a single (or multiple) measurable action. For example, an instance of event data may include descriptive information such as identifying information that indicates a computing device that executes a program, a program and/or module that instantiates an action, a latency of an action, or any other measurable computing activity that is quantifiable in terms of magnitude, time, and so forth.
  • The present technology may generate heat maps from event data, or summaries of event data. These heat maps may include collections and presentations of n-dimensions of data. In some embodiments the heat maps may include scatter plots that comprise individual instances of event data that are arranged along a first axis of the heat map according to a time associated with the event and along a second axis according to a performance characteristic associated with the event. Each instance may include a mechanism for visual differentiation, such as color hue, that represents a constraint associated with a discrete decomposition. That is, each instance may be assigned a constraint that represents a discrete object that may be associated with the instance. For example, a constraint may include an indication of the computing resource (e.g., discrete resource) that generated a search request. As such, URLs handled by cache memory may be attributed to another computing resource and may be assigned a different constraint. Instances of event data may be differentiated from one another (or alternative grouped together) if they are associated with a different constraint relative to one another.
  • Overlapping instances with different hues may combine to form different hues. For example, instances of event data generated by a first computing resource may be associated with a blue hue, and instances of event data associated with a second computing resource may be associated with a yellow hue. When these two instances of event data share a common event time and a common performance value, they may overlap one another to form a green hue.
  • In other embodiments, instances of event data may be placed into containers. The heat map may then include representations of the containers, rather than individual data points. Containers allow the heat maps to be generated for data sets that are dense, allowing for scalability relative to the amount of event data. These and other advantages of the present technology will be described in greater detail with reference to the collective FIGS. 1-4.
  • FIG. 1 illustrates an exemplary system 100 for practicing aspects of the present technology. The system 100 may include a computing resource 105 that may include a cloud-based computing environment. As stated above, a cloud-based computing environment is a resource that typically combines the computational power of a large grouping of processors and/or that combines the storage capacity of a large grouping of computer memories or storage devices. For example, systems that provide a cloud resource may be utilized exclusively by their owners, such as Google™ or Yahoo!™; or such systems may be accessible to outside users who deploy applications within the computing infrastructure to obtain the benefit of large computational or storage resources.
  • The cloud may be formed, for example, by a network of web servers, with each web server (or at least a plurality thereof) providing processor and/or storage resources. These servers may manage workloads provided by multiple users (e.g., cloud resource customers or other users). Typically, each user places workload demands upon the cloud that vary in real-time, sometimes dramatically. The nature and extent of these variations typically depend on the type of business associated with the user.
  • In other embodiments, the computing resource 105 may include a distributed group of computing devices such as web servers that do not share computing resources or workload. Additionally, the computing resource 105 may include a single computing device that has been provisioned with a plurality of programs that each produce instances of event data.
  • The computing resource 105 may communicatively couple with an analytics system 110 via a network connection 115. The network connection 115 may include any one of a number of private and public communications mediums such as the Internet.
  • The analytics system 110 will be described in greater detail with regard to FIG. 2, but generally speaking, the analytics system 110 may generate heat maps of event data by discrete decomposition of instances of event data generated by the computing resource 105. The analytics system 110 may generate a heat map by gathering instances of event data according to a performance characteristic, discretely decomposing the instances by applying at least one constraint to the instances, assigning a hue to each instance, the hue being associated with the at least one constraint, and generating a heat map that includes representations of the instances, wherein each representation includes the hue associated with the at least one constraint to which the instance has been assigned. The term “gathering” may be understood to comprise any of a number of actions such as selecting, choosing, grouping, collecting, and so forth, along with other types of actions that would be known to one of ordinary skill the art with the present disclosure before them. For instance, in some embodiments, in a non-limiting example, the term “gathering” may mean aggregating and filtering.
  • System administrators 120 may utilize client computing devices to access both the computing resource 105 and the analytics system 110 via another network connection. The system administrators 120 may access the analytics system 110 via graphical user interfaces generated by the analytics system 110, as will be described in greater detail below.
  • FIG. 2 illustrates an analytics application, hereinafter referred to as application 200, which generally includes an aggregator module 205, a user interface module 210, a numerical decomposer module 215, and a discrete decomposer module 220. It is noteworthy that the application 200 may include additional modules, engines, or components, and still fall within the scope of the present technology. As used herein, the term “module” may also refer to any of an application-specific integrated circuit (“ASIC”), an electronic circuit, a processor (shared, dedicated, or group) that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. In other embodiments, individual modules of the application 200 may include separately configured web servers. Also, the application 200 may be provisioned with a cloud.
  • Prior to generating a heat map from instances of event data, an aggregator module 205 may be executed to obtain instances of event data (or summaries of event data) from the computing resource 105. In other instances event data is continually provided to the application 200 such that the aggregator module 205 does not have to obtain instances of data events proactively. It will be understood that the application 200 may utilize a plurality of aggregator modules to obtain instances of event data that may be utilized to generate heat maps. Such heat maps may represent the computing activities of the computing resource 105 such as aggregate URL responses by module (e.g., cached, searched, etc.) or certain performance aspects of the computing resource or a computing activity, such as latency, bandwidth, workload, and so forth.
  • Once data has been aggregated by the aggregator module 205, the user interface module 210 generates a user interface that allows the end user to specify parameters that may be utilized to generate a heat map. For example, parameters may include an instrumentality that is to be measured. Non-limiting examples of instrumentalities may include HTTP requests, CPU threads, filesystem operations, and the like. Rather than aggregating all event data associated with an instrumentality, an end user may also specify one or more aspects for which they would like to aggregate data. For example, if an end user desires to review HTTP requests for only “search” (e.g., http requests that could not be fulfilled via a response stored in cache memory) the end user may specify that an aggregator should obtain event data from the web server that performs search requests.
  • It will be understood that one of the many parameters that may be established includes determining a performance characteristic for an instance of event data. For example, an HTTP request processed by the search server may have a latency value (e.g. performance value) of 200 milliseconds. Latency may be understood to define a timespan that was required to fulfill a particular computing action, which in this case includes the timespan required to perform the HTTP request that included a search for the resource, rather than a return of a cached response. As would be understood by one of ordinary skill in the art, latency may include other performance characteristics for a computing event such as a timespan required to transmit a file from a first location to a second location, a timespan required to perform a calculation, a timespan required to launch a program or a module, and so forth.
  • Once the parameters have been established, the numerical decomposer module 215 may be executed to numerically decompose instances (or summaries) of event data gather by the aggregator module 205 by applying the selected performance characteristic to the instances of event data. That is, the numerical decomposer module 215 may process the instances of event data according to the performance characteristic defined by the end user. The processing of the instances of event data using the performance characteristic allows the instances of event data to be plotted on a three dimensional heat map, such as the heat map of FIG. 3, which will be described in greater detail infra.
  • Before plotting the instances of event data to the heat map, the instances may be placed into containers via the aggregator module 205. That is, a heat map may be provisioned into a plurality of containers. Each of the containers may include a range of values. For example, a latency heat map may include containers that include a range of latency values. A container may include latency values from zero to 100 milliseconds, another container may include latency values from 100 to 200 milliseconds, and so forth. An instance of event data may be placed into a container by comparing a value for the performance characteristic to the containers. Instances of computing events that had a latency value of 50 milliseconds would be placed into the zero to 100 millisecond container. Additionally, each of the containers may be associated with a temporal aspect. That is, only instances of event data that have a particular latency value and occurred within a specified timespan may be placed into the container.
  • The number of containers created for the heat map may be as granular as individual data points, or may be scaled to include any number of instances of computing events. In fact, the heat map may include a scatter plot of individual data points that represent instances of event data.
  • Also, in some instances, the containers may include overlapping value ranges such that some instances of event data may be properly categorized as belonging to multiple containers. In such cases, the event data may be weighted and portioned to each of the multiple containers according to the weighting.
  • Once the event data has been placed into containers, the containers may be plotted on the heat map, as described below.
  • FIG. 3 illustrates an exemplary three-dimensional heat map 300 for HTTP request latency for a web server. It will be understood that the heat map 300 may be generated by the user interface module 210.
  • The selected instrumentality for the heat map 300 includes HTTP server operations 305. The HTTP request 305 is shown as having aspects 310, which include /GET and /POST. It is noteworthy to mention that containers which include individual instances of event data associated with all URL paths are being shown.
  • The heat map includes a first axis 315 that extends horizontally along the length of the heat map 300. The first axis 315 may be segmented into event time, and the event time may correspond to the width of a block that represents a container. In this example, the first axis 315 represents the passage of time (e.g., a chronological timeline).
  • The second axis 320 may comprise a range of latency values, such that higher vertical positioning on the second axis 320 indicates greater latency.
  • Because the containers have both a temporal aspect and a performance value range, the containers may be plotted along the first and second axes. For example, blocks 325 may be arranged onto the heat map 300 along the first axis 315 and also along the second axis 320 in a vertical manner.
  • In addition to positioning of containers within the heat map 300, color saturation may be applied to each container. The color saturation may represent an aggregate number of instances of event data that are included in a particular container. The darker the block, the greater the number of instances included in the container. The attribution of color saturation to a container may be referred to as a third dimension of the heat map 300.
  • Therefore, from a visual inspection of the heat map 300, a system administrator may determine that certain instances of event data fall outside acceptable ranges for latency. While such information may indeed be valuable, additional dimensional metrics may be applied to the heat map 300 to assist the system administrator in deducing the actual cause of any latency issues. That is, the inclusion of additional restraints or heat maps with additional dimensional data may further elucidate latency issues.
  • While not shown, selection of individual pixels or containers may display a variety of event data associated therewith, such as specific event times, specific latency values, functions, component identification, or other information associated with the event. In this example, it is understood that clicking on the containers within a line with the lowest latency values shows that the events associated with the lowest latency are generated by synchronous website components, while containers having greater latency appear to be associated with asynchronous polling.
  • Referring back to FIG. 2, in some embodiments, the discrete decomposer module 220 may be executed to further decompose the data within the containers. The discrete decomposer module 220 may apply additional constraints to the instances of event data included in the containers. The additional constraints may filter the instances of event data that were generated by discrete computing entities, such as network nodes (which may be implemented as operating system “zones”) that handle HTTP requests. The inclusion of an additional or fourth dimension of data is described in greater detail with regard to FIG. 4.
  • FIG. 4 illustrates an exemplary heat map 400 that includes four different dimensions for viewing instances of event data. The first and second dimensions remain the same, relative to time and latency. Also, the saturation dimension remains.
  • To further differentiate instances of event data, the containers associated with a first zone are shown in blue and containers associated with a second zone are shown in yellow. It is noteworthy to mention that the first zone contains a web server which can only be accessed via the second zone, which contains a web proxy.
  • The blue containers illustrate that a certain portions of HTTP requests generated by the first zone have low latency, as evidenced by the containers located approximately along a line 405. Another portion of HTTP requests generated by the first zone have relative higher latency, as illustrated by containers along a line 410.
  • Latency for HTTP requests served by the second zone follow two substantially triangular patterns 415 and 420. The first pattern 415 indicates that most of the HTTP requests processed by the second zone are subject to variable but relatively short latency as compared to pattern 420 which indicates fewer instances of event data, but with higher latency. Patterns 415 and 420 appear to mimic one another in shape.
  • While not shown, additional heat maps may be generated that describe latency for other computing resources such as file system latency, I/O latency, or other types of latency related analyses that help the system administrator focus their attention on underperforming resources and remedy the same.
  • It can be inferred from a visual inspection of the heat map 400 that the proxy server is the source of the latency issues relative to HTTP requests. In fact, latency values may be determined even down to a content level.
  • FIGS. 5A and 5B illustrate additional heat maps 500 and 505, respectively. Upon reviewing the heat map 400, the discrete decomposer module 220 may be utilized to apply additional constraints upon the event data which would impose a fifth dimension to the display of the event data. In this example, the heat map 500 may include HTTP request information for the web proxy component that is filtered for requests for a specific type of content. Heat map 505 may include HTTP request information for the backend server that is filtered for requests for the same specific type of content. By comparing the latencies of both the components relative to how each zone provides a particular resource, such as an image file, the latency issues can be attributed to the web proxy. That is, the latencies of the web proxy are much greater than the latencies of the backend server (e.g., originating web server).
  • FIG. 6 illustrates yet another heat map 600 that shows an improvement in latency for the computing resource. That is, once the problem with the web proxy has been discovered and remedied, an additional heat map 600 may be generated that shows the improvement in latency. Heat map 600 includes both the heat map information for FIG. 4 in section 605 and a section 610 that illustrates the matched latencies of the zones as lines 615 and 620. As is shown, the triangular pattern associated with zone two has almost entirely disappeared.
  • As described previously, the containers of the two resources overlap one another to create a unique hue, and in this case is a combination of yellow and blue, which combine to create green. Non-overlapping containers are shown as blue and yellow. Saturation also remains.
  • FIG. 7 illustrates a flowchart of an exemplary method for generating heat maps from event data. The method may include a step 705 of aggregating event data from one or more computing resources. Next, the method may include a step 710 of receiving a request to generate a heat map. It will be understood that the request may comprise parameters for selecting instances of event data for at least one computing resource.
  • Next, the method may include a step 715 of filtering instances of event data according to a performance characteristic. As stated above, a performance characteristic may include latency, bandwidth, workload, file offset, device offset, I/O size, sub-second offset, or any other measurable computing resource quantity that would be known to one of ordinary skill in the art. Numerical decomposition of event data by applying the performance characteristic adds a third dimension to the eventual display of the event data.
  • The method may also include a step 720 of discretely decomposing the instances by applying at least one constraint to the instances. Again, the constraint may include the selection of a component, a device, or other discrete computing object such as a proxy, a module, a server, and the like. Discrete decomposition of event data by applying the at least one constraint adds a fourth dimension to the eventual display of the event data.
  • The method may include a step 725 of assigning a hue to each instance, where the hue is associated with the at least one constraint. That is, an instance of event data may be associated with a color hue based upon the constraint that has been placed upon the instance of event data. Event data generated by a particular computing object, such as a web server that processes HTTP requests, may be colored similarly, while event data generated by another computing object, such as a cache memory module that also processes HTTP requests may be colored with a different color relative to those generated by the web server.
  • It will be understood that in some embodiments, wherein rather than assigning a hue, the method may include assigning a visualization. The visualization may include a pattern. A pattern may be understood to include individual dots or pixels of color (even potentially black and white) that are arranged in a predetermined manner. Exemplary patterns may include geometrical shapes, irregular shapes, or even arbitrary shapes.
  • Additionally, the method may include a step 730 of generating a heat map that includes representations of the instances, wherein each representation includes the hue associated with the at least one constraint to which the instance has been assigned. Additional constraints may be applied to the instances of event data to add additional dimensions thereto. It will be understood that in some instances, when a constraint is applied to the event data, the amount of event data may be reduced. These functionalities may be referred to as “isolation” or “exclusion” functions. Isolation functions generally isolate a particular aspect and exclusion functions remove a selected aspect from a heat map. That is, the application of constraints to the event data may act as filters that remove certain portions of the event data from inclusion into a heat map. It will be understood that in some embodiments, the method may include additional or fewer steps from those recited herein.
  • FIG. 8 illustrates an exemplary computing device 800 that may be used to implement an embodiment of the present technology. The system 800 of FIG. 8 may be implemented in the contexts of the likes of computing resource or device 105 (FIG. 1). The computing device 800 of FIG. 8 includes one or more processors 810 and main memory 820. Main memory 820 stores, in part, instructions and data for execution by processor 810. Main memory 820 may store the executable code when in operation. The system 800 of FIG. 8 further includes a mass storage device 830, portable storage medium drive(s) 840, output devices 850, user input devices 860, a graphics display 870, and peripheral devices 880.
  • The components shown in FIG. 8 are depicted as being connected via a single bus 890. The components may be connected through one or more data transport means. Processor unit 810 and main memory 820 may be connected via a local microprocessor bus, and the mass storage device 830, peripheral device(s) 880, portable storage device 840, and display system 870 may be connected via one or more input/output (I/O) buses.
  • Mass storage device 830, which may be implemented with a magnetic disk drive or an optical disk drive, is a non-volatile storage device for storing data and instructions for use by processor unit 810. Mass storage device 830 may store the system software for implementing embodiments of the present invention for purposes of loading that software into main memory 820.
  • Portable storage device 840 operates in conjunction with a portable non-volatile storage medium, such as a floppy disk, compact disk, digital video disc, or USB storage device, to input and output data and code to and from the computer system 800 of FIG. 8. The system software for implementing embodiments of the present invention may be stored on such a portable medium and input to the computer system 800 via the portable storage device 840.
  • Input devices 860 provide a portion of a user interface. Input devices 860 may include an alphanumeric keypad, such as a keyboard, for inputting alpha-numeric and other information, or a pointing device, such as a mouse, a trackball, stylus, or cursor direction keys. Additionally, the system 800 as shown in FIG. 8 includes output devices 850. Suitable output devices include speakers, printers, network interfaces, and monitors.
  • Display system 870 may include a liquid crystal display (LCD) or other suitable display device. Display system 870 receives textual and graphical information, and processes the information for output to the display device.
  • Peripherals 880 may include any type of computer support device to add additional functionality to the computer system. Peripheral device(s) 880 may include a modem or a router.
  • The components provided in the computer system 800 of FIG. 8 are those typically found in computer systems that may be suitable for use with embodiments of the present invention and are intended to represent a broad category of such computer components that are well known in the art. Thus, the computer system 800 of FIG. 8 may be a personal computer, hand held computing device, telephone, mobile computing device, workstation, server, minicomputer, mainframe computer, or any other computing device. The computer may also include different bus configurations, networked platforms, multi-processor platforms, etc. Various operating systems may be used including Unix, Linux, Windows, Macintosh OS, Palm OS, Android, iPhone OS and other suitable operating systems.
  • It is noteworthy that any hardware platform suitable for performing the processing described herein is suitable for use with the technology. Computer-readable storage media refer to any medium or media that participate in providing instructions to a central processing unit (CPU), a processor, a microcontroller, or the like. Such media may take forms including, but not limited to, non-volatile and volatile media such as optical or magnetic disks and dynamic memory, respectively. Common forms of computer-readable storage media include a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic storage medium, a CD-ROM disk, digital video disk (DVD), any other optical storage medium, RAM, PROM, EPROM, a FLASHEPROM, any other memory chip or cartridge.
  • While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. The descriptions are not intended to limit the scope of the technology to the particular forms set forth herein. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary embodiments. It should be understood that the above description is illustrative and not restrictive. To the contrary, the present descriptions are intended to cover such alternatives, modifications, and equivalents as may be included within the spirit and scope of the technology as defined by the appended claims and otherwise appreciated by one of ordinary skill in the art. The scope of the technology should, therefore, be determined not with reference to the above description, but instead should be determined with reference to the appended claims along with their full scope of equivalents.

Claims (23)

1. A method for generating a heat map of event data, the method comprising:
executing instructions stored in memory via a processor of a computing system for:
gathering instances of event data according to a first performance characteristic;
establishing a first and second axis of the heat map, the first axis representing a parameter and the second axis representing the first performance characteristic of the event data;
establishing a third and fourth axis of the heat map, the third axis represented using hue and the fourth axis represented using saturation;
decomposing the instances of event data by applying at least one constraint to the instances, the at least one constraint comprising a selection of a discrete computing object;
assigning a hue from the third axis to each instance of event data, the assigned hue being associated with the at least one constraint;
determining a saturation for each instance of the event data for representation of the instance of the event data in the fourth axis, the saturation being associated with a second performance characteristic; and
generating a heat map that includes representations of the instances of the event data in the first and second axis, wherein each representation further includes the hue assigned from the third axis and associated with the at least one constraint to which the hue for the instance of the event data has been assigned, and includes the determined saturation for representing the second performance characteristic for the instance of the event data in the fourth axis.
2. The method according to claim 1, wherein the first axis is a chronological timeline, and the second axis includes range of performance characteristic values.
3. The method according to claim 2, further comprising plotting the instances of the event data on the heat map along the second axis based upon a magnitude of the first performance characteristic for each instance.
4. The method according to claim 3, further comprising modifying the hue of an instance based upon the addition of another constraint to the instance.
5. The method according to claim 1, further comprising:
comparing the magnitude of the second performance characteristic of an instance to a plurality of value ranges, wherein each value range is associated with a container; and
placing the magnitude of the instance into one or more containers based upon the comparison, wherein the determined saturation represents a container into which a magnitude has been placed.
6. The method according to claim 5, wherein when an instance of event data includes a value that is shared between multiple containers, the instance of event data may be weighted and a portion of the instance of event data may be placed into each of the multiple containers based upon the weighting.
7. (canceled)
8. The method according to claim 1, wherein the first performance characteristic includes any of latency, bandwidth, utilization, file offset, device offset, I/O size, sub-second offset, content, and combinations thereof.
9. The method according to claim 1, further comprising receiving a request to generate a heat map, the request comprising parameters for selecting instances of event data for at least one computing resource.
10. The method according to claim 1, wherein rather than assigning a hue, the method includes assigning a visualization, wherein the visualization includes a pattern.
11. A system for generating a heat map of event data for a computing resource, the system comprising:
a memory for storing an executable instructions that generate a heat map of event data, the heat map including a first axis and a second axis;
a processor that executes the instructions;
a numerical decomposer that filters the instances of event data according to a performance characteristic;
a discrete decomposer that applies at least one constraint to the instances, the at least one constraint comprising a selection of a discrete computing object;
an assignment module that assigns a hue to each instance, the hue being associated with the at least one constraint; and
a user interface module that generates a heat map that includes representations of the instances, each representation including the hue associated with the at least one constraint to which the instance has been assigned
an aggregator module that:
compares a magnitude of event data for instances of event data to a plurality of value ranges, wherein each value range is associated with a container, further wherein each container includes a time span,
places the event data into one or more containers based upon the comparison and a time span associated with the event data;
wherein when an instance of event data includes a value that is shared between multiple containers, the aggregator module weights the instance and divides the portion of the instance of performance data into each of the multiple containers based upon the weight of the instance; and
wherein the heat map comprises a third axis and a fourth axis, wherein the third axis is represented by color saturation and the fourth axis is represented by color hue.
12. The system according to claim 11, wherein the first axis is a chronological timeline, and the second axis includes range of performance characteristic values.
13. The system according to claim 12, wherein the user interface module plots the instances on the heat map along the second axis based upon a magnitude of the performance characteristic for each instance.
14. The system according to claim 13, wherein the user interface module modifies the hue of a plotted instance when the instance overlaps another instance having a different color, wherein modifying includes combining the hues of the instances together to form a unique hue.
15. (canceled)
16. The system according to claim 11, wherein user interface module plots a container onto a heat map based upon the magnitude of event data included in the container and the time span of the container.
17-18. (canceled)
19. The system according to claim 11, wherein the discrete decomposer applies n-constraints to the instances to generate n-dimensions that are used to generate additional heat maps for the instances of event data.
20. The system according to claim 11, wherein the performance characteristic includes any of latency, bandwidth, utilization, file offset, device offset, I/O size, sub-second offset, and combinations thereof.
21. A non-transitory computer readable storage media having a program embodied thereon, the program being executable by a processor to perform a method for generating a heat map of event data, the method comprising:
receiving a request to generate a heat map, the request comprising parameters for selecting instances of event data for at least one computing resource;
numerically decomposing the instances of event data by applying a performance characteristic to the instances;
discretely decomposing the instances by applying at least one constraint to the instances, the at least one constraint comprising a selection of a discrete computing object;
assigning a hue to each instance, the hue being associated with the at least one constraint; and
generating a heat map that includes representations of the instances in four axes, wherein each axis representation includes:
a position in a first and second axis of the heat map based on a parameter and the performance characteristic,
the hue associated with the at least one constraint to which the instance has been assigned, and
a saturation based on another performance characteristic.
22. The system according to claim 21, wherein the another performance characteristic includes any of number of occurrences, latency, bandwidth, utilization, file offset, device offset, I/O size, sub-second offset, and combinations thereof.
23. The method according to claim 1, further comprising assigning a visualization representing a third performance characteristic, wherein the visualization includes a pattern for representation of the third performance characteristic in a fifth axis.
24. The method according to claim 11, wherein the heat map comprises a fifth axis represented by patterns including individual dots arranged in a predetermined manner, pixels of color arranged in a predetermined manner, geometrical shapes, and combinations thereof.
US13/963,964 2011-12-29 2013-08-09 Systems, Methods, and Media for Generating Multidimensional Heat Maps Abandoned US20130328909A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/963,964 US20130328909A1 (en) 2011-12-29 2013-08-09 Systems, Methods, and Media for Generating Multidimensional Heat Maps

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/340,488 US8547379B2 (en) 2011-12-29 2011-12-29 Systems, methods, and media for generating multidimensional heat maps
US13/963,964 US20130328909A1 (en) 2011-12-29 2013-08-09 Systems, Methods, and Media for Generating Multidimensional Heat Maps

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/340,488 Continuation US8547379B2 (en) 2011-12-29 2011-12-29 Systems, methods, and media for generating multidimensional heat maps

Publications (1)

Publication Number Publication Date
US20130328909A1 true US20130328909A1 (en) 2013-12-12

Family

ID=48694484

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/340,488 Active US8547379B2 (en) 2011-12-29 2011-12-29 Systems, methods, and media for generating multidimensional heat maps
US13/963,964 Abandoned US20130328909A1 (en) 2011-12-29 2013-08-09 Systems, Methods, and Media for Generating Multidimensional Heat Maps

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/340,488 Active US8547379B2 (en) 2011-12-29 2011-12-29 Systems, methods, and media for generating multidimensional heat maps

Country Status (1)

Country Link
US (2) US8547379B2 (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775485B1 (en) 2013-03-15 2014-07-08 Joyent, Inc. Object store management operations within compute-centric object stores
US8782224B2 (en) 2011-12-29 2014-07-15 Joyent, Inc. Systems and methods for time-based dynamic allocation of resource management
US8789050B2 (en) 2011-03-11 2014-07-22 Joyent, Inc. Systems and methods for transparently optimizing workloads
US8881279B2 (en) 2013-03-14 2014-11-04 Joyent, Inc. Systems and methods for zone-based intrusion detection
US8943284B2 (en) 2013-03-14 2015-01-27 Joyent, Inc. Systems and methods for integrating compute resources in a storage area network
US8959217B2 (en) 2010-01-15 2015-02-17 Joyent, Inc. Managing workloads and hardware resources in a cloud resource
US9092238B2 (en) 2013-03-15 2015-07-28 Joyent, Inc. Versioning schemes for compute-centric object stores
US9104456B2 (en) 2013-03-14 2015-08-11 Joyent, Inc. Zone management of compute-centric object stores
WO2014186639A3 (en) * 2013-05-15 2015-09-24 Kensho Llc Systems and methods for data mining and modeling
US9582327B2 (en) 2013-03-14 2017-02-28 Joyent, Inc. Compute-centric object stores and methods of use
CN109961472A (en) * 2017-12-25 2019-07-02 北京京东尚科信息技术有限公司 Method, system, storage medium and the electronic equipment that 3D thermodynamic chart generates
US10405008B2 (en) 2013-05-31 2019-09-03 Enseo, Inc. Hospitality property management tool and system and method for use of same
US10666452B2 (en) 2017-09-08 2020-05-26 Enseo, Inc. Hospitality property management tool and system and method for use of same
US10721518B2 (en) 2017-09-22 2020-07-21 Enseo, Inc. Set-top box with interactive features and system and method for use of same
US11641490B2 (en) 2014-02-05 2023-05-02 Enseo, Llc Geolocationing system and method for use of same
US11641489B2 (en) 2014-02-05 2023-05-02 Enseo, Llc Geolocationing system and method for use of same
US11683534B2 (en) 2014-02-05 2023-06-20 Enseo, Llc Geolocationing system and method for use of same
US11700401B2 (en) 2014-02-05 2023-07-11 Enseo, Llc Geolocationing system and method for use of same
US11700399B2 (en) 2014-02-05 2023-07-11 Enseo, Llc Geolocationing system and method for use of same
US11700400B2 (en) 2014-02-05 2023-07-11 Enseo, Llc Geolocationing system and method for use of same

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9736065B2 (en) 2011-06-24 2017-08-15 Cisco Technology, Inc. Level of hierarchy in MST for traffic localization and load balancing
US8908698B2 (en) 2012-01-13 2014-12-09 Cisco Technology, Inc. System and method for managing site-to-site VPNs of a cloud managed network
US9407521B1 (en) * 2012-05-16 2016-08-02 Veritas Technologies Llc Method and system to visually represent the status of a data center
US9047181B2 (en) * 2012-09-07 2015-06-02 Splunk Inc. Visualization of data from clusters
US10430391B2 (en) 2012-09-28 2019-10-01 Oracle International Corporation Techniques for activity tracking, data classification, and in database archiving
US9043439B2 (en) 2013-03-14 2015-05-26 Cisco Technology, Inc. Method for streaming packet captures from network access devices to a cloud server over HTTP
US8917274B2 (en) 2013-03-15 2014-12-23 Palantir Technologies Inc. Event matrix based on integrated data
US8937619B2 (en) 2013-03-15 2015-01-20 Palantir Technologies Inc. Generating an object time series from data objects
CN104572783B (en) * 2013-10-29 2020-05-12 深圳市腾讯计算机系统有限公司 Webpage clicking condition display method and device
US9483162B2 (en) * 2014-02-20 2016-11-01 Palantir Technologies Inc. Relationship visualizations
US9857958B2 (en) 2014-04-28 2018-01-02 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive access of, investigation of, and analysis of data objects stored in one or more databases
US10122605B2 (en) * 2014-07-09 2018-11-06 Cisco Technology, Inc Annotation of network activity through different phases of execution
US9825878B2 (en) 2014-09-26 2017-11-21 Cisco Technology, Inc. Distributed application framework for prioritizing network traffic using application priority awareness
US9792008B2 (en) * 2014-12-16 2017-10-17 Salesforce.Com, Inc. User interface with analytics overlay
US10050862B2 (en) 2015-02-09 2018-08-14 Cisco Technology, Inc. Distributed application framework that uses network and application awareness for placing data
US10708342B2 (en) 2015-02-27 2020-07-07 Cisco Technology, Inc. Dynamic troubleshooting workspaces for cloud and network management systems
US10476982B2 (en) 2015-05-15 2019-11-12 Cisco Technology, Inc. Multi-datacenter message queue
US10034201B2 (en) 2015-07-09 2018-07-24 Cisco Technology, Inc. Stateless load-balancing across multiple tunnels
US11005682B2 (en) 2015-10-06 2021-05-11 Cisco Technology, Inc. Policy-driven switch overlay bypass in a hybrid cloud network environment
US10462136B2 (en) 2015-10-13 2019-10-29 Cisco Technology, Inc. Hybrid cloud security groups
US10523657B2 (en) 2015-11-16 2019-12-31 Cisco Technology, Inc. Endpoint privacy preservation with cloud conferencing
US10205677B2 (en) 2015-11-24 2019-02-12 Cisco Technology, Inc. Cloud resource placement optimization and migration execution in federated clouds
US10084703B2 (en) 2015-12-04 2018-09-25 Cisco Technology, Inc. Infrastructure-exclusive service forwarding
US9823818B1 (en) 2015-12-29 2017-11-21 Palantir Technologies Inc. Systems and interactive user interfaces for automatic generation of temporal representation of data objects
US10367914B2 (en) 2016-01-12 2019-07-30 Cisco Technology, Inc. Attaching service level agreements to application containers and enabling service assurance
US10129177B2 (en) 2016-05-23 2018-11-13 Cisco Technology, Inc. Inter-cloud broker for hybrid cloud networks
US10659283B2 (en) 2016-07-08 2020-05-19 Cisco Technology, Inc. Reducing ARP/ND flooding in cloud environment
US10432532B2 (en) 2016-07-12 2019-10-01 Cisco Technology, Inc. Dynamically pinning micro-service to uplink port
US10263898B2 (en) 2016-07-20 2019-04-16 Cisco Technology, Inc. System and method for implementing universal cloud classification (UCC) as a service (UCCaaS)
US10382597B2 (en) 2016-07-20 2019-08-13 Cisco Technology, Inc. System and method for transport-layer level identification and isolation of container traffic
US10567344B2 (en) 2016-08-23 2020-02-18 Cisco Technology, Inc. Automatic firewall configuration based on aggregated cloud managed information
US10523592B2 (en) 2016-10-10 2019-12-31 Cisco Technology, Inc. Orchestration system for migrating user data and services based on user information
US11044162B2 (en) 2016-12-06 2021-06-22 Cisco Technology, Inc. Orchestration of cloud and fog interactions
US10326817B2 (en) 2016-12-20 2019-06-18 Cisco Technology, Inc. System and method for quality-aware recording in large scale collaborate clouds
US10334029B2 (en) 2017-01-10 2019-06-25 Cisco Technology, Inc. Forming neighborhood groups from disperse cloud providers
US10552191B2 (en) 2017-01-26 2020-02-04 Cisco Technology, Inc. Distributed hybrid cloud orchestration model
US10320683B2 (en) 2017-01-30 2019-06-11 Cisco Technology, Inc. Reliable load-balancer using segment routing and real-time application monitoring
US10671571B2 (en) 2017-01-31 2020-06-02 Cisco Technology, Inc. Fast network performance in containerized environments for network function virtualization
US11005731B2 (en) 2017-04-05 2021-05-11 Cisco Technology, Inc. Estimating model parameters for automatic deployment of scalable micro services
US10439877B2 (en) 2017-06-26 2019-10-08 Cisco Technology, Inc. Systems and methods for enabling wide area multicast domain name system
US10382274B2 (en) 2017-06-26 2019-08-13 Cisco Technology, Inc. System and method for wide area zero-configuration network auto configuration
US10425288B2 (en) 2017-07-21 2019-09-24 Cisco Technology, Inc. Container telemetry in data center environments with blade servers and switches
US10892940B2 (en) 2017-07-21 2021-01-12 Cisco Technology, Inc. Scalable statistics and analytics mechanisms in cloud networking
US10601693B2 (en) 2017-07-24 2020-03-24 Cisco Technology, Inc. System and method for providing scalable flow monitoring in a data center fabric
US10541866B2 (en) 2017-07-25 2020-01-21 Cisco Technology, Inc. Detecting and resolving multicast traffic performance issues
US11481362B2 (en) 2017-11-13 2022-10-25 Cisco Technology, Inc. Using persistent memory to enable restartability of bulk load transactions in cloud databases
US10705882B2 (en) 2017-12-21 2020-07-07 Cisco Technology, Inc. System and method for resource placement across clouds for data intensive workloads
US11595474B2 (en) 2017-12-28 2023-02-28 Cisco Technology, Inc. Accelerating data replication using multicast and non-volatile memory enabled nodes
US10511534B2 (en) 2018-04-06 2019-12-17 Cisco Technology, Inc. Stateless distributed load-balancing
US10728361B2 (en) 2018-05-29 2020-07-28 Cisco Technology, Inc. System for association of customer information across subscribers
US10904322B2 (en) 2018-06-15 2021-01-26 Cisco Technology, Inc. Systems and methods for scaling down cloud-based servers handling secure connections
US10764266B2 (en) 2018-06-19 2020-09-01 Cisco Technology, Inc. Distributed authentication and authorization for rapid scaling of containerized services
US11019083B2 (en) 2018-06-20 2021-05-25 Cisco Technology, Inc. System for coordinating distributed website analysis
US10819571B2 (en) 2018-06-29 2020-10-27 Cisco Technology, Inc. Network traffic optimization using in-situ notification system
US10904342B2 (en) 2018-07-30 2021-01-26 Cisco Technology, Inc. Container networking using communication tunnels
US11212303B1 (en) * 2018-12-28 2021-12-28 Snap Inc. Detecting anomalous resources and events in social data
US20210073658A1 (en) 2019-09-06 2021-03-11 Ebay Inc. Anomaly detection by correlated metrics
US11385782B2 (en) 2019-09-06 2022-07-12 Ebay Inc. Machine learning-based interactive visual monitoring tool for high dimensional data sets across multiple KPIs
US11727427B2 (en) * 2020-10-27 2023-08-15 Volvo Car Corporation Systems and methods for assessing, correlating, and utilizing online browsing and sales data
CN112734870B (en) * 2020-12-28 2023-12-05 威创集团股份有限公司 Thermodynamic diagram continuous dynamic evolution visualization method and system

Family Cites Families (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2366401B (en) 2000-08-25 2005-06-01 Mitel Corp Resource sharing with sliding constraints
US7379994B2 (en) 2000-10-26 2008-05-27 Metilinx Aggregate system resource analysis including correlation matrix and metric-based analysis
US20020198995A1 (en) 2001-04-10 2002-12-26 International Business Machines Corporation Apparatus and methods for maximizing service-level-agreement profits
US7640547B2 (en) 2002-02-08 2009-12-29 Jpmorgan Chase & Co. System and method for allocating computing resources of a distributed computing system
WO2005004370A2 (en) 2003-06-28 2005-01-13 Geopacket Corporation Quality determination for packetized information
US7265754B2 (en) * 2003-11-12 2007-09-04 Proto Manufacturing Ltd. Method for displaying material characteristic information
US7437730B2 (en) 2003-11-14 2008-10-14 International Business Machines Corporation System and method for providing a scalable on demand hosting system
US20050188075A1 (en) 2004-01-22 2005-08-25 International Business Machines Corporation System and method for supporting transaction and parallel services in a clustered system based on a service level agreement
CA2486103A1 (en) 2004-10-26 2006-04-26 Platespin Ltd. System and method for autonomic optimization of physical and virtual resource use in a data center
EP1717755B1 (en) * 2005-03-08 2011-02-09 Oculus Info Inc. System and method for large scale information analysis using data visualization techniques
US20110016214A1 (en) 2009-07-15 2011-01-20 Cluster Resources, Inc. System and method of brokering cloud computing resources
US7870256B2 (en) 2005-03-25 2011-01-11 Hewlett-Packard Development Company, L.P. Remote desktop performance model for assigning resources
US7774457B1 (en) 2005-03-25 2010-08-10 Hewlett-Packard Development Company, L.P. Resource evaluation for a batch job and an interactive session concurrently executed in a grid computing environment
US7558859B2 (en) 2005-10-17 2009-07-07 Microsoft Corporation Peer-to-peer auction based data distribution
US20070118653A1 (en) 2005-11-22 2007-05-24 Sabre Inc. System, method, and computer program product for throttling client traffic
US8104041B2 (en) 2006-04-24 2012-01-24 Hewlett-Packard Development Company, L.P. Computer workload redistribution based on prediction from analysis of local resource utilization chronology data
US9703285B2 (en) 2006-04-27 2017-07-11 International Business Machines Corporation Fair share scheduling for mixed clusters with multiple resources
US7721091B2 (en) 2006-05-12 2010-05-18 International Business Machines Corporation Method for protecting against denial of service attacks using trust, quality of service, personalization, and hide port messages
US8555288B2 (en) 2006-05-17 2013-10-08 Teradata Us, Inc. Managing database utilities to improve throughput and concurrency
US20080080396A1 (en) 2006-09-28 2008-04-03 Microsoft Corporation Marketplace for cloud services resources
US7917599B1 (en) 2006-12-15 2011-03-29 The Research Foundation Of State University Of New York Distributed adaptive network memory engine
US20080155110A1 (en) 2006-12-22 2008-06-26 Morris Robert P METHODS AND SYSTEMS FOR DETERMINING SCHEME HANDLING PROCEDURES FOR PROCESSING URIs BASED ON URI SCHEME MODIFIERS
US7673113B2 (en) 2006-12-29 2010-03-02 Intel Corporation Method for dynamic load balancing on partitioned systems
US8380880B2 (en) 2007-02-02 2013-02-19 The Mathworks, Inc. Scalable architecture
US8706914B2 (en) 2007-04-23 2014-04-22 David D. Duchesneau Computing infrastructure
US8141090B1 (en) 2007-04-24 2012-03-20 Hewlett-Packard Development Company, L.P. Automated model-based provisioning of resources
US20090077235A1 (en) 2007-09-19 2009-03-19 Sun Microsystems, Inc. Mechanism for profiling and estimating the runtime needed to execute a job
KR20100080822A (en) 2007-09-28 2010-07-12 엑세리온 악티에볼라그 Network operating system
US8151265B2 (en) 2007-12-19 2012-04-03 International Business Machines Corporation Apparatus for and method for real-time optimization of virtual machine input/output performance
JP4724730B2 (en) 2008-04-09 2011-07-13 株式会社日立製作所 Information processing system operation management method, operation management program, operation management apparatus, and information processing system
US8904383B2 (en) 2008-04-10 2014-12-02 Hewlett-Packard Development Company, L.P. Virtual machine migration according to environmental data
US8365167B2 (en) 2008-04-15 2013-01-29 International Business Machines Corporation Provisioning storage-optimized virtual machines within a virtual desktop environment
US8849971B2 (en) 2008-05-28 2014-09-30 Red Hat, Inc. Load balancing in cloud-based networks
US9842004B2 (en) 2008-08-22 2017-12-12 Red Hat, Inc. Adjusting resource usage for cloud-based networks
US8103776B2 (en) 2008-08-29 2012-01-24 Red Hat, Inc. Systems and methods for storage allocation in provisioning of virtual machines
US8271974B2 (en) 2008-10-08 2012-09-18 Kaavo Inc. Cloud computing lifecycle management for N-tier applications
US7912951B2 (en) 2008-10-28 2011-03-22 Vmware, Inc. Quality of service management
US9870541B2 (en) 2008-11-26 2018-01-16 Red Hat, Inc. Service level backup using re-cloud network
US8799895B2 (en) 2008-12-22 2014-08-05 Electronics And Telecommunications Research Institute Virtualization-based resource management apparatus and method and computing system for virtualization-based resource management
US8001247B2 (en) 2009-02-27 2011-08-16 Red Hat, Inc. System for trigger-based “gated” dynamic virtual and physical system provisioning
US20130129068A1 (en) 2009-03-02 2013-05-23 Twilio, Inc. Method and system for a multitenancy telephone network
US7904540B2 (en) 2009-03-24 2011-03-08 International Business Machines Corporation System and method for deploying virtual machines in a computing environment
US8103847B2 (en) 2009-04-08 2012-01-24 Microsoft Corporation Storage virtual containers
BRPI1013062A2 (en) 2009-05-19 2016-04-05 Security First Corp systems and methods to protect cloud data
US9450783B2 (en) 2009-05-28 2016-09-20 Red Hat, Inc. Abstracting cloud management
US20100306767A1 (en) 2009-05-29 2010-12-02 Dehaan Michael Paul Methods and systems for automated scaling of cloud computing systems
US20100332629A1 (en) 2009-06-04 2010-12-30 Lauren Ann Cotugno Secure custom application cloud computing architecture
US20100318609A1 (en) 2009-06-15 2010-12-16 Microsoft Corporation Bridging enterprise networks into cloud
US8286178B2 (en) 2009-06-24 2012-10-09 International Business Machines Corporation Allocation and regulation of CPU entitlement for virtual processors in logical partitioned platform
US9740533B2 (en) 2009-08-03 2017-08-22 Oracle International Corporation Altruistic dependable memory overcommit for virtual machines
US8694819B2 (en) 2009-08-24 2014-04-08 Hewlett-Packard Development Company, L.P. System and method for gradually adjusting a virtual interval timer counter value to compensate the divergence of a physical interval timer counter value and the virtual interval timer counter value
US8271653B2 (en) 2009-08-31 2012-09-18 Red Hat, Inc. Methods and systems for cloud management using multiple cloud management schemes to allow communication between independently controlled clouds
US20110078303A1 (en) 2009-09-30 2011-03-31 Alcatel-Lucent Usa Inc. Dynamic load balancing and scaling of allocated cloud resources in an enterprise network
US10268522B2 (en) 2009-11-30 2019-04-23 Red Hat, Inc. Service aggregation using graduated service levels in a cloud network
US9842006B2 (en) 2009-12-01 2017-12-12 International Business Machines Corporation Application processing allocation in a computing system
US8490087B2 (en) 2009-12-02 2013-07-16 International Business Machines Corporation System and method for transforming legacy desktop environments to a virtualized desktop model
US20110138382A1 (en) 2009-12-03 2011-06-09 Recursion Software, Inc. System and method for loading resources into a virtual machine
US9009294B2 (en) 2009-12-11 2015-04-14 International Business Machines Corporation Dynamic provisioning of resources within a cloud computing environment
US8452835B2 (en) 2009-12-23 2013-05-28 Citrix Systems, Inc. Systems and methods for object rate limiting in multi-core system
US8984503B2 (en) 2009-12-31 2015-03-17 International Business Machines Corporation Porting virtual images between platforms
EP2521976B1 (en) 2010-01-08 2018-04-18 Sauce Labs, Inc. Real time verification of web applications
US8583945B2 (en) 2010-01-14 2013-11-12 Muse Green Investments LLC Minimizing power consumption in computers
US8959217B2 (en) 2010-01-15 2015-02-17 Joyent, Inc. Managing workloads and hardware resources in a cloud resource
US8301746B2 (en) 2010-01-26 2012-10-30 International Business Machines Corporation Method and system for abstracting non-functional requirements based deployment of virtual machines
US9130912B2 (en) 2010-03-05 2015-09-08 International Business Machines Corporation System and method for assisting virtual machine instantiation and migration
US20110270968A1 (en) 2010-04-30 2011-11-03 Salsburg Michael A Decision support system for moving computing workloads to public clouds
US8719804B2 (en) 2010-05-05 2014-05-06 Microsoft Corporation Managing runtime execution of applications on cloud computing systems
US8661132B2 (en) 2010-05-28 2014-02-25 International Business Machines Corporation Enabling service virtualization in a cloud
US8935317B2 (en) 2010-06-23 2015-01-13 Microsoft Corporation Dynamic partitioning of applications between clients and servers
WO2012027478A1 (en) 2010-08-24 2012-03-01 Jay Moorthi Method and apparatus for clearing cloud compute demand
US8544007B2 (en) 2010-09-13 2013-09-24 Microsoft Corporation Customization, deployment and management of virtual and physical machine images in an enterprise system
CN102232282B (en) 2010-10-29 2014-03-26 华为技术有限公司 Method and apparatus for realizing load balance of resources in data center
US8863138B2 (en) 2010-12-22 2014-10-14 Intel Corporation Application service performance in cloud computing
US20120173709A1 (en) 2011-01-05 2012-07-05 Li Li Seamless scaling of enterprise applications
US20120179874A1 (en) 2011-01-07 2012-07-12 International Business Machines Corporation Scalable cloud storage architecture
US8984269B2 (en) 2011-02-28 2015-03-17 Red Hat, Inc. Migrating data among cloud-based storage networks via a data distribution service
US8429282B1 (en) 2011-03-22 2013-04-23 Amazon Technologies, Inc. System and method for avoiding system overload by maintaining an ideal request rate
US9395920B2 (en) 2011-11-17 2016-07-19 Mirosoft Technology Licensing, LLC Throttle disk I/O using disk drive simulation model

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8959217B2 (en) 2010-01-15 2015-02-17 Joyent, Inc. Managing workloads and hardware resources in a cloud resource
US9021046B2 (en) 2010-01-15 2015-04-28 Joyent, Inc Provisioning server resources in a cloud resource
US8789050B2 (en) 2011-03-11 2014-07-22 Joyent, Inc. Systems and methods for transparently optimizing workloads
US8782224B2 (en) 2011-12-29 2014-07-15 Joyent, Inc. Systems and methods for time-based dynamic allocation of resource management
US8881279B2 (en) 2013-03-14 2014-11-04 Joyent, Inc. Systems and methods for zone-based intrusion detection
US8943284B2 (en) 2013-03-14 2015-01-27 Joyent, Inc. Systems and methods for integrating compute resources in a storage area network
US9104456B2 (en) 2013-03-14 2015-08-11 Joyent, Inc. Zone management of compute-centric object stores
US9582327B2 (en) 2013-03-14 2017-02-28 Joyent, Inc. Compute-centric object stores and methods of use
US8898205B2 (en) 2013-03-15 2014-11-25 Joyent, Inc. Object store management operations within compute-centric object stores
US9075818B2 (en) 2013-03-15 2015-07-07 Joyent, Inc. Object store management operations within compute-centric object stores
US9092238B2 (en) 2013-03-15 2015-07-28 Joyent, Inc. Versioning schemes for compute-centric object stores
US9792290B2 (en) 2013-03-15 2017-10-17 Joyent, Inc. Object store management operations within compute-centric object stores
US8775485B1 (en) 2013-03-15 2014-07-08 Joyent, Inc. Object store management operations within compute-centric object stores
US11373244B2 (en) 2013-05-15 2022-06-28 Kensho Technologies, Llc Searching pre-generated data structures for event impact discovery
WO2014186639A3 (en) * 2013-05-15 2015-09-24 Kensho Llc Systems and methods for data mining and modeling
US11582492B2 (en) 2013-05-31 2023-02-14 Enseo, Llc Hospitality property management tool and system and method for use of same
US11140421B2 (en) 2013-05-31 2021-10-05 Enseo, Llc Hospitality property management tool and system and method for use of same
US10687089B2 (en) 2013-05-31 2020-06-16 Enseo, Inc. Hospitality property management tool and system and method for use of same
US10405008B2 (en) 2013-05-31 2019-09-03 Enseo, Inc. Hospitality property management tool and system and method for use of same
US11700401B2 (en) 2014-02-05 2023-07-11 Enseo, Llc Geolocationing system and method for use of same
US11641490B2 (en) 2014-02-05 2023-05-02 Enseo, Llc Geolocationing system and method for use of same
US11641489B2 (en) 2014-02-05 2023-05-02 Enseo, Llc Geolocationing system and method for use of same
US11683534B2 (en) 2014-02-05 2023-06-20 Enseo, Llc Geolocationing system and method for use of same
US11700399B2 (en) 2014-02-05 2023-07-11 Enseo, Llc Geolocationing system and method for use of same
US11700400B2 (en) 2014-02-05 2023-07-11 Enseo, Llc Geolocationing system and method for use of same
US11336478B2 (en) 2017-09-08 2022-05-17 Enseo, Llc Hospitality property management tool and system and method for use of same
US10666452B2 (en) 2017-09-08 2020-05-26 Enseo, Inc. Hospitality property management tool and system and method for use of same
US11855798B2 (en) 2017-09-08 2023-12-26 Enseo, Llc Hospitality property management tool and system and method for use of same
US11006170B2 (en) 2017-09-22 2021-05-11 Enseo, Llc Set-top box with interactive features and system and method for use of same
US11297376B2 (en) 2017-09-22 2022-04-05 Enseo, Llc Set-top box with interactive features and system and method for use of same
US10721518B2 (en) 2017-09-22 2020-07-21 Enseo, Inc. Set-top box with interactive features and system and method for use of same
CN109961472A (en) * 2017-12-25 2019-07-02 北京京东尚科信息技术有限公司 Method, system, storage medium and the electronic equipment that 3D thermodynamic chart generates

Also Published As

Publication number Publication date
US8547379B2 (en) 2013-10-01
US20130169666A1 (en) 2013-07-04

Similar Documents

Publication Publication Date Title
US8547379B2 (en) Systems, methods, and media for generating multidimensional heat maps
US11870558B1 (en) Identification of related event groups for IT service monitoring system
CN109690492B (en) Network security vulnerability management system and method
US10877987B2 (en) Correlating log data with performance measurements using a threshold value
US11200130B2 (en) Automatic entity control in a machine data driven service monitoring system
US10305758B1 (en) Service monitoring interface reflecting by-service mode
CN110134542B (en) Automatic anomaly detection and resolution system
US20230102389A1 (en) Providing a user interface reflecting service monitoring adaptation for maintenance downtime
US20200328952A1 (en) Distributed Tracing for Application Performance Monitoring
US10997191B2 (en) Query-triggered processing of performance data and log data from an information technology environment
US11671312B2 (en) Service detail monitoring console
US20180123918A1 (en) Automatically detecting latency bottlenecks in asynchronous workflows
US10346357B2 (en) Processing of performance data and structure data from an information technology environment
US10788954B1 (en) Systems and methods for integration of application performance monitoring with logs and infrastructure using a common schema
EP3032442B1 (en) Modeling and simulation of infrastructure architecture for big data
US10466866B2 (en) Displaying a complex service topology for monitoring
US10756959B1 (en) Integration of application performance monitoring with logs and infrastructure
US20170255711A1 (en) Processing of Performance Data and Raw Log Data from an Information Technology Environment
US10452463B2 (en) Predictive analytics on database wait events
US20090235267A1 (en) Consolidated display of resource performance trends
US10419553B2 (en) Dynamic docker pool recycling
US10200252B1 (en) Systems and methods for integrated modeling of monitored virtual desktop infrastructure systems
KR20120115170A (en) Visualization of jvm and cross-jvm call stacks
US20180121856A1 (en) Factor-based processing of performance metrics
US20150244596A1 (en) Deploying applications in a networked computing environment

Legal Events

Date Code Title Description
AS Assignment

Owner name: JOYENT, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PACHECO, DAVID;GREGG, BRENDAN;CANTRILL, BRYAN;REEL/FRAME:031363/0803

Effective date: 20111229

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION