# US 10,122,605 B2 · Annotation of network activity through different phases of execution

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

- Number: US 10,122,605 B2
- Document ID: US10122605B2
- Status: Granted
- Kind: B2
- Application number: 14/629,151
- Filed: 2015-02-23
- Published: 2016-01-14
- Granted: 2018-11-06
- Earliest claimed: 2014-07-09
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Karthik Kulkarni; Raghunath Nambiar
- Web page: https://patentgrep.com/patent/US10122605B2

## CPC

- H04L 43/0817: by checking functioning
- G06F 11/3006: {where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50)}
- G06F 11/3409: {for performance assessment}
- G06F 11/3065: {Monitoring arrangements determined by the means or processing involved in reporting the monitored data (error or fault reporting or logging G06F11/0766)}
- H04L 43/067: using time frame reporting
- H04L 43/16: Threshold monitoring
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The subject technology provides a drillable time-series heat map, which combines information of separate network element (e.g., switch, router, server or storage) and relates them together through impact zones to correlate network wide events and the potential impact on the other units in the network. The subject technology also brings together the network and its components, the distributed application(s) and a heat map controller to proactively communicate with one another to disseminate information such as failures, timeouts, new jobs, etc. For an individual job (e.g., for a distributed application), the subject technology may monitor consumption of resources during different phases of execution to provide individual job profile data that could be presented as a drillable heat map. The heat map, in this regard, nay include resource utilization heat metrics of resources such as CPU, Input/Output (I/O), memory, etc., in the heat map or graphs and presented along with network activity.

## Claims

### Claim 1

A system, comprising:
processor; and
memory including instructions that, when executed by the processor, cause the system to:
receive information for a job to be processed by a distributed application, the job being submitted from a user or other application and having at least two phases of execution for completion of the job;
identify a set of network elements to monitor during processing of the job, the set of network elements corresponding to (a) nodes that are involved in at least a first phase of the job and (b) one or more level of network hierarchy nodes to include potential problems that are created from network higher up in the hierarchy;
monitor, over a period of time, the set of network elements during processing of the job for the at least two phases of execution;
detect a failure during at least one phase of execution in at least one network element;
determine a recursive impact zone of all network elements connected to the at least one network element, in response to detecting the failure;
flag the network elements of the recursive impact zone; and
generate job profile data indicating at least the failure and the network elements of the recursive impact zone;
indicate, in a graphical representation, the failure in the at least one network element based at least in part on the job profile data;
wherein the recursive impact zone includes all further adjoining network elements connected to the at least one network element in a hierarchy to the at least one network element, but does not include adjoining network elements not in the hierarchy to the at least one network element.

### Claim 2 (depends on 1)

The system of claim 1, wherein the instructions further cause the processor to:
provide, for display, the graphical representation indicating the failure at a position along a timeline corresponding to the at least one phase of execution.

### Claim 3 (depends on 1)

The system of claim 1, wherein to monitor, over the period of time, the set of network elements comprises:
providing a first set of heat maps, wherein each heat map represents actual metrics for the set of network elements during completion of the job; and
providing a set of second heat maps that each second heat map represents estimated or planned metrics for the set of network elements for each of the at least two phases of execution.

### Claim 4 (depends on 1)

The system of claim 1, wherein to monitor, over the period of time, the set of network elements further comprises:
determining averages of network, I/O, RAM and CPU utilization of each of the network elements that are monitored during each of the at least two phases of execution.

### Claim 5 (depends on 1)

The system of claim 1, wherein to monitor, over the period of time, the set of network elements further comprises:
receiving information related to a phase of execution for the job.

### Claim 6 (depends on 5)

The system of claim 5, wherein the information related to the phase of execution comprises at least one of a map phase start, a map phase end, a reduce phase start, or a shuffle phase start.

### Claim 7 (depends on 6)

The system of claim 6, wherein the instructions further cause the processor to:
provide, for display, the graphical representation indicating the failure at a position along a timeline corresponding to the at least one phase of execution;
indicate, in a second graphical representation, the information related to the phase of execution; and
provide, for display, the second graphical representation indicating the failure at a position along a timeline corresponding to the at least one phase of execution.

### Claim 8 (depends on 1)

The system of claim 1, wherein the set of network elements comprises a set of servers or storage devices in a network hierarchy to be monitored in which data travels through for completing the job.

### Claim 9

A computer-implemented method, comprising:
receiving information for a job to be processed by a distributed application, the job being submitted from a user or other application and having at least two phases of execution for completion of the job;
identifying a set of network elements to monitor during processing of the job, the set of network elements corresponding to (a) nodes that are involved in at least a first phase of the job and (b) one or more level of network hierarchy nodes to include potential problems that are created from network higher up in the hierarchy;
monitoring, over a period of time, the set of network elements during processing of the job for the at least two phases of execution;
detecting a failure during at least one phase of execution in at least one network element;
determining a recursive impact zone of all network elements connected to the at least one network element; and
generating job profile data indicating at least the failure;
indicating, in a graphical representation, the failure in the at least one network element based at least in part on the job profile data;
wherein the recursive impact zone includes all further adjoining network elements connected to the at least one network element in a hierarchy to the at least one network element, but does not include adjoining network elements not in the hierarchy to the at least one network element.

### Claim 10 (depends on 9)

The computer-implemented method of claim 9, further comprising:
providing, for display, the graphical representation indicating the failure at a position along a timeline corresponding to the at least one phase of execution.

### Claim 11 (depends on 9)

The computer-implemented method of claim 9, wherein to monitor, over the period of time, the set of network elements further comprises:
collecting monitoring data in an application-network controller, the monitoring data indicating at least one of a utilization of resources and network activity during execution of the job;
providing the monitoring data collected in the application-network controller for inclusion with the job profile data for the job;
providing a first set of heat maps, wherein each heat map represents actual metrics for the set of network elements during completion of the job; and
providing a set of second heat maps that each second heat map represents estimated or planned metrics for the set of network elements for each of the at least two phases of execution.

### Claim 12 (depends on 9)

The computer-implemented method of claim 9, wherein to monitor, over the period of time, the set of network elements further comprises:
determining averages of network, I/O, RAM and CPU utilization of each of the network elements that are monitored during each of the at least two phases of execution.

### Claim 13 (depends on 9)

The computer-implemented method of claim 9, wherein to monitor, over the period of time, the set of network elements further comprises:
receiving information related to a phase of execution for the job.

### Claim 14 (depends on 13)

The computer-implemented method of claim 13, wherein the information related to the phase of execution comprises at least one of a map phase start, a map phase end, a reduce phase start, or a shuffle phase start.

### Claim 15 (depends on 14)

The computer-implemented method of claim 14, further comprising:
providing, for display, the graphical representation indicating the failure at a position along a timeline corresponding to the at least one phase of execution;
indicating, in a second graphical representation, the information related to the phase of execution; and
providing, for display, the second graphical representation indicating the failure at a position along a timeline corresponding to the at least one phase of execution.

### Claim 16 (depends on 9)

The computer-implemented method of claim 9, wherein the set of network elements comprises a set of servers or storage devices in a network hierarchy to be monitored in which data travels through for completing the job.

### Claim 17

A non-transitory computer-readable medium including instructions stored therein that, when executed by a computing device, cause the at least one computing device to:
receive information for a job to be processed by a distributed application, the job being submitted from a user or other application and having at least two phases of execution for completion of the job;
identify a set of network elements to monitor during processing of the job, the set of network elements corresponding to (a) nodes that are involved in at least a first phase of the job and (b) one or more level of network hierarchy nodes to include potential problems that are created from network higher up in the hierarchy;
monitor, over a period of time, the set of network elements during processing of the job for the at least two phases of execution;
detect a failure during at least one phase of execution in at least one network element;
determine a recursive impact zone of all network elements connected to the at least one network element, in response to detecting the failure;
flag the network elements of the recursive impact zone; and
generate job profile data indicating at least the failure and the network elements of the recursive impact zone;
indicate, in a graphical representation, the failure in the at least one network element based at least in part on the job profile data;
wherein the recursive impact zone includes all further adjoining network elements connected to the at least one network element in a hierarchy to the at least one network element, but does not include adjoining network elements not in the hierarchy to the at least one network element.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the instructions further cause the at least one computing device to:
provide, for display, the graphical representation indicating the failure at a position along a timeline corresponding to the at least one phase of execution.

### Claim 19 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein to monitor, over the period of time, the set of network elements further comprises:
collecting monitoring data in an application-network controller, the monitoring data indicating at least one of a utilization of resources and network activity during execution of the job;
providing the monitoring data collected in the application-network controller for inclusion with the job profile data for the job;
providing a first set of heat maps, wherein each heat map represents metrics for the set of network elements during completion of the job; and
providing a set of second heat maps that each second heat map represents estimated or planned metrics for the set of network elements for each of the at least two phases of execution.

### Claim 20 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein to monitor, over the period of time, the set of network elements further comprises:
determining averages of network, I/O, RAM and CPU utilization of each of the network elements that are monitored during each of the at least two phases of execution.
