Network Agent Tracks Socket Calls for Cotenant Process Visibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer networks, it is challenging to determine the specific process participating in a communication channel when multiple cotenant processes share a common network transport, as they appear as a single source or destination, making it difficult to attribute network metrics accurately, especially in encrypted environments or where deep packet inspection is costly.

Innovation Solution

A network agent associated with the operating system tracks socket connection calls and extracts process IDs for cotenant processes, allowing it to attribute network metrics to individual processes, and a controller correlates these metrics to generate reports that break down network visibility for cotenant processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If deep packet inspection is used to identify cotenant processes, then network visibility is improved, but cost and complexity increase significantly

Engineering Contradiction:
Improvenetwork visibilityVSAvoidinspection complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary component (process identification module) that sits between the network traffic flow and the analysis system. This module intercepts socket connection calls at the operating system level and extracts process IDs before the traffic enters the network transport layer. By placing this intermediary at the socket level rather than performing deep packet inspection of encrypted or complex network protocols, the system achieves accurate process identification without the high complexity and cost associated with DPI techniques.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If deep packet inspection is used to determine process identity, then accuracy is improved, but processing time and cost increase

Engineering Contradiction:
Improveprocess identification accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary action by extracting process identification information at the socket connection establishment phase, before the actual network data transmission occurs. The process ID is captured when the socket call is made, and this identification is cached and associated with subsequent traffic flows. This preliminary extraction eliminates the need for time-consuming deep packet inspection during active data transmission, significantly reducing processing time while maintaining accurate process identification throughout the communication session.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If encryption is used to protect network traffic, then security is improved, but network visibility and monitoring capability deteriorate

Engineering Contradiction:
ImprovesecurityVSAvoidnetwork visibility
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent extracts the process identification information from the encrypted network traffic at the socket level, where it is still accessible as metadata associated with the connection. By taking out this identification data at the point of socket connection establishment—before the encrypted payload is transmitted—the system preserves network visibility for monitoring and troubleshooting purposes while maintaining the security benefits of encryption for the actual data content. The extracted process IDs enable attribution of encrypted traffic to specific processes without requiring decryption.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10462031B1Network visibility for cotenant processes
Publication Date: 2019.10.29 CISCO TECHNOLOGY INC
  • US10462031B1 patent drawing
  • US10462031B1 patent drawing
  • US10462031B1 patent drawing

AI summary

In one embodiment, a network agent, associated with an operating system of a computing device, tracks socket connection calls made by a plurality of cotenant processes on the computing device that share a common network transport between the computing device and a remote computing device. The network agent may then extract a process identification (ID) for the socket connection calls, the process ID identifying which particular cotenant process of the plurality of cotenant processes is making each particular socket connection call. While monitoring network metrics of network traffic flows over socket connections between the computing device and the remote computing device, the network agent may attribute given network metrics from particular socket connections to a corresponding cotenant process based on the correlated process ID for the socket connection. As such, the network agent may then report the network metrics as attributed to the corresponding cotenant processes.