Client-Side Sampling of Software Event Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software providers face challenges in efficiently collecting, organizing, and processing large volumes of software update event information from client computers, leading to network traffic overload and impractical processing demands, necessitating a more efficient sampling method.
Innovation Solution
Implementing a client-side sampling system where client computers generate and use sampling values to determine whether to report software events to a collection service, reducing the volume of data transmitted and processed while maintaining accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If all client computers report every software update event to the collection service, then complete event data is collected for analysis, but network bandwidth and infrastructure are overwhelmed
Solution Approach 1:
The patent implements client-side sampling where each client computer randomly selects a subset of events to report based on a sampling rate parameter. Instead of reporting all events (excessive action), only a statistically significant portion is reported (partial action), reducing network traffic by up to 75% while maintaining sufficient data for accurate aggregate analysis.
2Measurement precision
If a large sample size is collected to maintain statistical accuracy, then measurement precision is improved, but processing complexity and infrastructure requirements increase
Solution Approach 1:
The sampling decision is made in advance at the client computer before events are transmitted to the collection service. Each client generates or receives a sampling rate parameter and uses it to pre-determine which events will be reported. This preliminary sampling action at the source eliminates the need for complex server-side filtering and processing infrastructure.
3Loss of energy
If sampling is performed at the client side, then network bandwidth usage is reduced, but implementation complexity on client devices increases
Solution Approach 1:
The patent introduces a sampling rate parameter that controls the proportion of events reported. This single parameter can be adjusted to balance network bandwidth consumption against client-side processing requirements. The sampling logic uses simple random selection based on this parameter, keeping client-side implementation relatively simple while achieving significant network bandwidth reduction.
Data Source
AI summary
A networked computing system for reporting software events occurring on a client computer to a collection service is presented. The networked computing system comprises a collection service, communicatively coupled to a communications network, and a plurality of client computers. The collection service is configured to receive software events from a client computer over the communications network. Each client computer is also communicatively coupled to the communications network. Each client computer is further configured to generate a sampling value on the client computer for a corresponding software module, and detect the occurrence of a software event corresponding to the software module. Upon detecting the occurrence of a software event corresponding to the software module, each client computer determines whether a sampling value falls within a predetermined sampling range, and if so, reports the software event to the collection service over the communications network.


