Client-Side Server Performance Measurement via Backchannel Messaging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for measuring server performance in client-server environments fail to provide true end-to-end performance measurements, as they either rely on server correlation of command responses or are limited to measuring performance affecting only the issuing client, lacking comprehensive latency assessment across multiple clients.

Innovation Solution

Implementing backchannel messaging and information matching logic at clients to calculate server performance without server involvement, using activity start and end timestamps, and unique identifier attributes to match command requests and responses, enabling end-to-end performance measurement across multiple clients.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If measurement tools execute on the server to measure time duration between receiving command request and sending command response, then server performance measurement is simplified, but true end-to-end performance measurement is not achieved since client network transmission time is not accounted for

Engineering Contradiction:
Improvemeasurement system complexityVSAvoidend-to-end performance measurement accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent introduces backchannel messages as an intermediary mechanism that carries command request information from the issuing client to affected clients. This allows the measurement system to capture end-to-end performance without requiring complex server-side correlation logic, as the backchannel message serves as a mediator that preserves timing information across the network boundary.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent enables affected clients to autonomously perform measurement calculations by receiving backchannel messages containing command request timestamps and comparing them with their local command response timestamps. This self-service approach eliminates the need for centralized server correlation, simplifying the measurement system while achieving accurate end-to-end performance measurement.

Inventive Principle:
Principle #25Self-service

2Measurement precision

If measurement tools execute on the client to measure time duration between issuing command request and receiving command response, then client-side performance measurement is achieved, but true end-to-end performance measurement is not provided for commands affecting other clients

Engineering Contradiction:
Improveclient-side performance measurement accuracyVSAvoidmeasurement applicability to multi-client scenarios
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal measurement mechanism where backchannel messages enable any affected client to measure performance of commands issued by any other client. The same backchannel infrastructure serves multiple measurement scenarios simultaneously, making the system adaptable to various multi-client configurations without requiring separate measurement tools for each scenario.

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

Solution Approach 2:

The backchannel message acts as an intermediary that bridges the gap between client-specific measurements and multi-client performance assessment. By carrying command request information through the backchannel, the system enables clients to measure performance of commands affecting them even when they did not issue the original command, thus achieving versatility across different client roles.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If server correlates command responses to command requests for performance measurement, then accurate performance data is obtained, but server involvement increases system complexity and resource requirements

Engineering Contradiction:
Improveperformance data accuracyVSAvoidserver correlation logic complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts the correlation function from the server and relocates it to the clients. By removing the server's responsibility for matching commands and responses, the system eliminates complex server-side correlation logic. The server simply sends backchannel messages with command information, while clients perform the matching locally using their own command response timestamps.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent enables clients to self-serve their own performance measurement needs by autonomously correlating received backchannel messages with their local command response records. This distributes the correlation workload from the server to individual clients, reducing server complexity while maintaining measurement accuracy through client-side timestamp comparison.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7587449B2Method and system for calculating performance metrics using backchannel messaging and information pattern matching
Publication Date: 2009.09.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7587449B2 patent drawing
  • US7587449B2 patent drawing
  • US7587449B2 patent drawing

AI summary

A client utilizes a backchannel messaging infrastructure and information matching logic to measure server performance characteristics at the client without requiring the server to correlate command responses to command requests. The backchannel messaging infrastructure facilitates the sending of messages between clients, and allows a client to send to the interested clients messages containing an activity start timestamp and identifying the requested activity when sending a command request to a server. The information matching logic enables each client to measure server performance by matching command requests, as indicated by the backchannel messages, and command responses based on message types, identification of the sender (i.e., the client that generated the original command request), and identifier attributes that are unique to the command requests and command responses.