# US 8,572,241 B2 · Integrating external and cluster heat map data

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,572,241 B2
- Document ID: US8572241B2
- Status: Granted
- Kind: B2
- Application number: 12/962,869
- Filed: 2010-12-08
- Published: 2012-03-22
- Granted: 2013-10-29
- Earliest claimed: 2010-09-17
- Assignees: Microsoft Corporation
- Applicants: Salim Alam
- Inventors: Salim Alam
- Web page: https://patentgrep.com/patent/US8572241B2

## CPC

- G06F 11/3495: {for systems}
- H04L 41/5009: Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
- H04L 43/0817: by checking functioning
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- G06F 2201/88: Monitoring involving counting
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The present invention extends to methods, systems, and computer program products for integrating external and cluster heat map data. Embodiments of the invention include a proxy service that manages (e.g., asynchronous) communication with cloud nodes. The proxy service simulates packets to on-premise services to simplify the integration with an existing heat map infrastructure. The proxy maintains a cache of performance counter mappings and timestamps on the on-premise head node to minimize the impact of latency into heat map infrastructure. In addition, data transfer is minimized by mapping a fixed set of resource based performance counters into a variable set of performance counters compatible with the on premise heat map infrastructure.

## Claims

### Claim 1

At a computer system including a processor and system memory, the computer system also including a computing component and a heat map service, the computing component having a cloud interface module, a cloud performance monitor, and a heat map module, the computer system within a customer premise and connected to an on premise cluster, a cloud management service and a resource cloud, the heat map service configured to render on premise performance counters in a specified format for on premise nodes running in the on premise cluster, a method for integrating on premise cluster heat map data with resource cloud heat map data, the method comprising:
an act of deploying a cloud based computing service into the resource cloud, the cloud based computing service for supplementing an on premise computing service deployed in the on premise cluster, deployment including:
an act of deploying one or more cloud based nodes in a worker role to implement the cloud based computing service, the one or more cloud based nodes configured to write cloud based performance counters to a cloud based storage location, the cloud based performance counters indicating the state of the one or more cloud based nodes; and
an act of formulating mappings for mapping the cloud based performance counters into the specified format;
an act of polling the cloud based storage location for cloud based performance counters subsequent to deploying the cloud based computing service;
an act of receiving cloud based performance counters for the one or more cloud based nodes in response to polling the cloud based storage location;
an act of mapping the cloud based performance counters into the specified format in accordance with the formulated mappings;
an act of integrating the cloud based performance counters along with on premise performance counters in an on premise store subsequent to mapping the cloud based performance counters into the specified format; and
an act of rendering the cloud based performance counters along with the on premise performance counters in a heat map to indicate the status of the on premise nodes and the one or more cloud based nodes.

### Claim 2 (depends on 1)

The method as recited in claim 1, wherein the act of polling the cloud based storage location comprises an act of polling the cloud based storage location at a polling interval.

### Claim 3 (depends on 2)

The method as recited in claim 2, wherein an act of rendering the cloud based performance counters along with the on premise performance counters in a heat map comprises updating the heat map at an update interval, wherein the update interval occurs more frequently than the polling interval.

### Claim 4 (depends on 3)

The method as recited in claim 3, further comprising an act of buffering the cloud based performance counters for some amount of time to compensate for update interval occurring more frequently than the polling interval.

### Claim 5 (depends on 4)

The method as recited in claim 4, wherein the act of integrating the cloud based performance counters along with on premise performance counters comprises an act of sending the cloud based performance counters from the buffer to the heat map service.

### Claim 6 (depends on 1)

The method as recited in claim 1, wherein the act of polling the cloud based storage location comprises an act of a performance monitor class polling the cloud based storage location.

### Claim 7 (depends on 1)

The method as recited in claim 1, wherein the act of mapping the cloud based performance counters into the specified format in accordance with the formulated mappings comprises an act of mapping the cloud based performance counters from a fixed format into a variable format.

### Claim 8 (depends on 1)

The method as recited in claim 1, wherein the act of integrating the cloud based performance counters along with on premise performance counters comprises an act of sending the cloud based performance counters to the heat map service using communication mechanisms that simulate the cloud based performance counters being sent from an on premise node.

### Claim 9

A computer program product for use at computer system including a processor and system memory, the computer system also including a computing component and a heat map service, the computing component having a cloud interface module, a cloud performance monitor, and a heat map module, the computer system within a customer premise and connected to an on premise cluster, a cloud management service and a resource cloud, the heat map service configured to render on premise performance counters in a specified format for on premise nodes running in the on premise cluster, the computer program product for implementing a method for integrating on premise cluster heat map data with resource cloud heat map data, the computer program product comprising one or more computer storage devices having stored thereon computer-executable instructions that, when executed at a processor, cause the computer system to implement the method, including the following:
deploy a cloud based computing service into the resource cloud, the cloud based computing service for supplementing an on premise computing service deployed in the on premise cluster, deployment including:
deploying one or more cloud based nodes in a worker role to implement the cloud based computing service, the one or more cloud based nodes configured to write cloud based performance counters to a cloud based storage location, the cloud based performance counters indicating the state of the one or more cloud based nodes; and
formulating mappings for mapping the cloud based performance counters into the specified format;
poll the cloud based storage location for cloud based performance counters subsequent to deploying the cloud based computing service;
receive cloud based performance counters for the one or more cloud based nodes in response to polling the cloud based storage location;
map the cloud based performance counters into the specified format in accordance with the formulated mappings;
integrate the cloud based performance counters along with on premise performance counters in an on premise store subsequent to mapping the cloud based performance counters into the specified format; and
render the cloud based performance counters along with the on premise performance counters in a heat map to indicate the status of the on premise nodes and the one or more cloud based nodes.

### Claim 10 (depends on 9)

The computer program product as recited in claim 9, wherein computer-executable instructions that, when executed, cause the computer system to poll the cloud based storage location comprise computer-executable instructions that, when executed, cause the computer system to poll the cloud based storage location at a polling interval.

### Claim 11 (depends on 10)

The computer program product as recited in claim 10, wherein computer-executable instructions that, when executed, cause the computer system to render the cloud based performance counters along with the on premise performance counters in a heat map comprise computer-executable instructions that, when executed, cause the computer system to update the heat map at an update interval, wherein the update interval occurs more frequently than the polling interval.

### Claim 12 (depends on 11)

The computer program product as recited in claim 11, further comprising computer-executable instructions that, when executed, cause the computer system to buffer the cloud based performance counters for some amount of time to compensate for update interval occurring more frequently than the polling interval.

### Claim 13 (depends on 12)

The computer program product as recited in claim 12, wherein computer-executable instructions that, when executed, cause the computer system to integrate the cloud based performance counters along with on premise performance counters comprise computer-executable instructions that, when executed, cause the computer system to send the cloud based performance counters from the buffer to the heat map service.

### Claim 14 (depends on 9)

The computer program product as recited in claim 9, wherein computer-executable instructions that, when executed, cause the computer system to poll the cloud based storage location comprise computer-executable instructions that, when executed, cause a performance monitor class to poll the cloud based storage location.

### Claim 15 (depends on 9)

The computer program product as recited in claim 9, wherein computer-executable instructions that, when executed, cause the computer system to map the cloud based performance counters into the specified format in accordance with the formulated mappings comprise computer-executable instructions that, when executed, cause the computer system to map the cloud based performance counters from a fixed format into a variable format.

### Claim 16 (depends on 9)

The computer program product as recited in claim 9, wherein computer-executable instructions that, when executed, cause the computer system to integrate the cloud based performance counters along with on premise performance counters comprises computer-executable instructions that, when executed, cause the computer system to send the cloud based performance counters to the heat map service using communication mechanisms that simulate the cloud based performance counters being sent from an on premise node.

### Claim 17

At computer system including a processor and system memory, the computer system also including a high performance computing component and a heat map service, the high performance computing component having a cloud interface module, a cloud performance monitor, and a heat map module, the computer system within a customer premise and connected to an on premise cluster, a cloud management service and a resource cloud, the heat map service configured to render on premise performance counters in a specified variable format for on premise nodes running in the on premise cluster, a method for integrating on premise cluster heat map data with resource cloud heat map data, the method comprising:
an act of deploying a cloud based computing service into the resource cloud, the cloud based computing service for supplementing an on premise computing service deployed in the on premise cluster to solve a scientific computation, deployment including:
an act of deploying one or more cloud based nodes in a worker role to implement the cloud based computing service, the one or more cloud based nodes configured to write cloud based performance counters to a cloud based storage location, the cloud based performance counters indicating the state of the one or more cloud based nodes; and
an act of formulating mappings for mapping the cloud based performance counters into the specified variable format;
an act of a performance monitor class polling the cloud based storage location for cloud based performance counters in accordance with a polling interval subsequent to deploying the cloud based computing service;
an act of receiving cloud based performance counters for the one or more cloud based nodes in response to polling the cloud based storage location, the cloud based performance counters including values for a node name and one or more counter values for each of the one or more cloud based nodes;
an act of mapping the cloud based performance counters into the specified variable format in accordance with the formulated mappings;
an act of the performance monitor class sending the cloud based performance counters to the heat map service using communication mechanisms that simulate the cloud based performance counters being sent form an on premise node;
an act of receiving on premise performance counters pushed from one or more in premise nodes in accordance with a push interval; and
an act of rendering a heat map that includes the cloud based performance counters and the on premise performance counters in accordance with an update interval.

### Claim 18 (depends on 17)

The method as recited in claim 17, wherein one or more of the push interval and the update interval occur more frequently than the polling interval.

### Claim 19 (depends on 18)

The method as recited in claim 18, further comprising an act of buffering the cloud based performance counters in a buffer to compensate for differences in a polling interval and one or more of the push interval and the update interval.

### Claim 20 (depends on 19)

The method as recited in claim 19, wherein the an act of the performance monitor class sending the cloud based performance counters to the heat map service comprises act of sending the cloud based performance counters from the buffer to the heat map service.
