UDP Client-Server Role Inference via OS System Call Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Identifying client-server relations in computing systems that use transport protocols without handshake mechanisms, such as UDP, is challenging due to the lack of handshaking packets, which complicates determining which endpoint acts as a server and which as a client.

Innovation Solution

A method and apparatus for monitoring operating-system system calls in endpoints to identify client-server relations by analyzing system calls related to UDP flows, including socket creation and initial communication transactions, memory allocation patterns, port assignments, and temporal patterns of system calls, to deduce the roles of endpoints in packet exchanges.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If transport protocols without handshake mechanisms (such as UDP) are used for communication, then communication speed and efficiency are improved, but the ability to identify client-server relations deteriorates

Engineering Contradiction:
Improvecommunication speedVSAvoiddifficulty of identifying client-server relations
Core Design Contradiction:
SpeedVSDifficulty of detecting and measuring

Solution Approach 1:

The patent applies preliminary action by analyzing system calls that occur before and during the establishment of UDP communication. The monitoring system examines socket creation calls, bind calls, and connection establishment patterns in advance to pre-determine client-server roles based on the initiating endpoint's behavior, allowing identification without requiring handshake packets.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary approach by using the operating system's system call interface as a mediator between the UDP communication and the monitoring system. Instead of directly observing UDP packets, the monitoring system intercepts and analyzes system calls (such as socket creation, bind, and send/recv operations) that occur at the OS level, providing indirect but reliable information about communication patterns and endpoint roles.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If system call monitoring is implemented to identify client-server relations in UDP flows, then measurement precision is improved, but device complexity increases

Engineering Contradiction:
Improveprecision of client-server identificationVSAvoidcomplexity of monitoring system
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies the extraction principle by isolating and analyzing only the critical system calls relevant to UDP communication establishment and maintenance. Instead of monitoring all system calls, the system extracts and focuses on specific calls such as socket creation, bind operations, and initial send/recv calls, reducing processing complexity while maintaining high identification precision.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements universality by designing a monitoring system that uses a unified approach for identifying client-server relations across different UDP applications and scenarios. The same system call analysis methodology applies regardless of the specific UDP protocol or application, making the solution broadly applicable without requiring protocol-specific customization.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10917500B2Inferring client-server relations for UDP connections
Publication Date: 2021.02.09 AKAMAI TECHNOLOGIES INC
  • US10917500B2 patent drawing
  • US10917500B2 patent drawing
  • US10917500B2 patent drawing

AI summary

A method for monitoring a computing system including multiple endpoints, includes monitoring, in at least some of the endpoints, operating-system (OS) system calls relating to a transport protocol having no handshake mechanism. First and second endpoints, which exchange a flow of packets with one another using the transport protocol, are identified from among the multiple endpoints. A deduction is made, from the monitored system calls, which of the first and second endpoints acts as a server in the flow of packets, and which of the first and second endpoints acts as a client in the flow of packets.