IP Library Granted Patent US 12705049
Granted Patent B2
US 12705049 · App. 18/495,828 · Granted Aug 11, 2026

Optimizing telemetry volume

Inventors: Ajanta Mahato (Snoqualmie, WA); Benjamin Eric Ahlvin (Seattle, WA); Michael Christopher Cales (Gilbert, AZ); Garima Gupta (Bellevue, WA); Dolly Sobhani (Kirkland, WA); Matthew Joseph Koscumb (Poulsbo, WA); Rohit Raj (Redmond, WA); Pallav Punhani (Vancouver, CA); Brian Kihneman (Bellevue, WA); Siddharth Dahiya (Kenmore, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F8/77H04L67/535G06F8/71G06F9/30185G06F9/451G06F9/4875G06F9/4881G06F9/542G06F9/547G06F11/3409G06F11/3438G06F11/3466G06F11/3495G06F11/3612G06F11/366G06F21/577
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12705049
App. No.
18/495,828
Granted
Aug 11, 2026
Kind
B2
Abstract

A system for optimizing telemetry volume generated for an application product includes: a volume calculation service and a configuration service coupled to a client device via a network connection. The volume calculation service receiving identification of a particular event that occurs during execution of the application product by the client and calculating an optimized sampling rate for that event in telemetry produced by the client, the optimized sampling rate calculated based on reducing an overall volume of telemetry while still maintaining tracking of the particular event within the telemetry. The configuration service generating a configuration for the client device, the configuration service configuring the client to use the optimized sampling rate to produce telemetry for the event during execution of the application product by the client device.

Claims (39)

1 . A system for optimizing telemetry volume generated by a client device during an execution of an application product, the system comprising:

a processor; and

a memory storing executable instructions that, when executed, cause the processor alone or in combination with other processors to perform operations of:

receiving, by a volume calculation service, identification of an event that occurs during the execution of the application product by the client device, wherein the volume calculation service determines an event frequency (EF) and a margin of error (MOE) for the event based on an event volume, and generates a mapping table for the application product, the mapping table including a plurality of EFs and MOEs to be mapped to a plurality of sampling rates spanning a plurality of pivots;

generating, by a configuration service, a configuration for the client device that includes the EF, the MOE, and the mapping table;

fetching, by the client device, the configuration from the configuration service to obtain the EF, the MOE, and the mapping table; and

determining, by the client device, an optimized sampling rate from the plurality of sampling rates that maps to the EF and the MOE for the event;

wherein the client device generates telemetry according to the optimized sampling rate in a manner that reduces the telemetry volume while maintaining tracking of the event within the telemetry.

2 . The system of claim 1 , further comprising:

a telemetry store for receiving the telemetry produced by the client device; and

a telemetry volume service for observing a resulting telemetry volume produced by a current configuration and captured in the telemetry store.

3 . The system of claim 2 , wherein the telemetry volume service provides input to the volume calculation service for updating the configuration.

4 . The system of claim 3 , wherein the telemetry volume service calculates a volume for each event and a total number of sessions for the mapping table so as to provide the input for updating the configuration.

5 . The system of claim 1 , further comprising a user interface for receiving user input parameters, wherein the configuration is based on user input.

6 . The system of claim 5 , wherein the user input specifies a specific stratum within operation of the client device for the configuration.

7 . The system of claim 6 , wherein the specific stratum is defined by any of: application, audience, channel, platform and build.

8 . The system of claim 1 , further comprising a telemetry analysis system for analyzing the telemetry to guide further development of the application product.

9 . A method of optimizing telemetry volume for an application product, the method comprising:

receiving, by a volume calculation service, identification of an event that occurs during execution of the application product by a client device, wherein the volume calculation service determines an event frequency (EF) and a margin of error (MOE) for the event based on an event volume, and generates a mapping table for the application product, the mapping table including a plurality of EFs and MOEs to be mapped to a plurality of sampling rates spanning a plurality of pivots;

generating, by a configuration service, a configuration for the client device that includes the EF, the MOE, and the mapping table;

fetching, by the client device, the configuration from the configuration service to obtain the EF, the MOE, and the mapping table; and

determining, by the client device, an optimized sampling rate from the plurality of sampling rates that maps to the EF and the MOE for the event;

wherein the client device generates telemetry according to the optimized sampling rate in a manner that reduces the telemetry volume while maintaining tracking of the event within the telemetry.

10 . The method of claim 9 , further comprising updating the configuration based on observation of resulting telemetry volume produced by a current configuration in a telemetry store.

11 . The method of claim 10 , wherein updating the configuration further comprises calculating a volume for each event and a total number of sessions for the mapping table so as to provide input for updating the configuration.

12 . The method of claim 9 , further comprising:

receiving user input through a user interface; and

generating the configuration according to the user input.

13 . The method of claim 12 , wherein the user input specifies a specific stratum within operation of the client device.

14 . The method of claim 13 , wherein the specific stratum is defined by any of: application, audience, channel, platform and build.

15 . The method of claim 9 , wherein the optimized sampling rate is determined by using an established margin of error and confidence level to solve for an optimal size of a sampled population.

16 . A client device comprising:

a processor; and

a memory storing executable instructions which, when executed by the processor, cause the processor, alone or in combination with other processors, to perform operations of:

receiving, by a volume calculation service, identification of an event that occurs during execution of an application product by the client device, wherein the volume calculation service determines an event frequency (EF) and a margin of error (MOE) for the event based on an event volume, and generates a mapping table for the application product, the mapping table including a plurality of EFs and MOEs to be mapped to a plurality of sampling rates spanning a plurality of pivots;

generating, by a configuration service, a configuration for the client device that includes the EF, the MOE, and the mapping table;

fetching, by the client device, the configuration from the configuration service to obtain the EF, the MOE, and the mapping table; and

determining, by the client device, an optimized sampling rate from the plurality of sampling rates that maps to the EF and the MOE for the event;

wherein the client device generates telemetry according to the optimized sampling rate in a manner that reduces telemetry volume while maintaining tracking of the event within the telemetry.