Network Transit Time Measurement via Packet Processing Subtraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for measuring network transit time between a user and a computing service are often inaccurate, especially in virtualized environments, and do not effectively account for packet processing times, which can impact user experience in services like file retrieval, streaming media, and remote gaming.

Innovation Solution

A client application collaborates with a hosted measurement application to send request and reply packets, using local timers to measure transit time and subtract packet processing time, providing a more accurate measurement of network transit time, and allowing for monitoring and selection of optimal data centers or availability zones based on these metrics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional network transit time measurement methods are used, then the measurement process is simple, but the measurement precision is low due to not accounting for packet processing times

Engineering Contradiction:
Improvenetwork transit time measurement precisionVSAvoidmeasurement system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the total packet travel time into distinct components: network transit time and packet processing time. The measurement system is divided into client-side timing (measuring total round trip time) and server-side timing (measuring packet processing time), which are then combined to derive accurate network transit time by subtracting processing time from total time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary timing mechanisms - local timers at both client and server endpoints - that act as mediators to capture specific time intervals. These intermediary time measurements enable the separation and accurate calculation of network transit time by serving as reference points for the calculation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If packet processing time is accounted for in the measurement, then the measurement precision improves, but the device complexity increases due to requiring coordinated timing between client and server

Engineering Contradiction:
Improvenetwork transit time measurement precisionVSAvoiddifficulty of measuring packet processing time
Core Design Contradiction:
Measurement precisionVSDifficulty of detecting and measuring

Solution Approach 1:

The server sends timing information back to the client as feedback. The client timer receives information about when the server received the packet and when it sent the reply, allowing the client to calculate the server's packet processing time. This feedback mechanism enables both parties to coordinate their measurements without requiring complex shared timing infrastructure.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Each endpoint (client and server) uses its own local timer to measure time intervals independently. The server measures its own packet processing time using its local clock, and the client measures its own timing intervals. This self-service approach eliminates the need for synchronized clocks or external timing references between the endpoints.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10218595B1Measuring network transit time
Publication Date: 2019.02.26 AMAZON TECH INC
  • US10218595B1 patent drawing
  • US10218595B1 patent drawing
  • US10218595B1 patent drawing

AI summary

Disclosed are various embodiments to determine network transit time for a packet. A request packet for determining a network transit time is received. A reply packet is transmitted to the requester in response to the request packet. A reply packet is transmitted to the requester. The reply packet includes information about a packet processing time. This packet processing time includes a time between the receiving of the request packet and the transmitting of the reply packet.