Dynamic Buffering for Instrumentation Event Delivery Rate Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing instrumentation systems face challenges in managing the variable generation and consumption rates of instrumentation events, leading to potential losses due to processing and space constraints, necessitating a mechanism that honors consumer delivery demands while preventing real-time event loss.

Innovation Solution

A computer-implemented system and method for buffering instrumentation data, which dynamically adjusts the delivery rate based on consumer requirements, including a buffer threshold, maximum buffer size, and event aggregation size, and implements an urgent delivery rate when the buffer is full, ensuring even event distribution and minimizing losses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If events are sent to the consumer at a high delivery rate, then the consumer receives more events, but the consumer processing constraints are violated and data loss occurs

Engineering Contradiction:
Improveevent delivery rateVSAvoidconsumer processing constraint compliance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a buffer as an intermediary component between the event producer and consumer. This buffer temporarily stores events when the consumer cannot process them at the desired rate, preventing data loss while respecting consumer processing constraints. The buffer acts as a mediator that decouples the production and consumption rates, allowing high delivery rates when the consumer is ready while preventing overload when it is not.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If a fixed buffer size is used, then memory usage is controlled, but events may be lost when the buffer is full

Engineering Contradiction:
Improvebuffer sizeVSAvoidevent loss
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

The patent implements a dynamic delivery rate adjustment mechanism that adapts the event delivery rate based on buffer status. When the buffer is full, the system increases the delivery rate to flush events to the consumer more quickly. When the buffer is not full, the system uses a lower regular delivery rate. This dynamic adjustment allows the system to maximize buffer utilization while preventing event loss through rate adaptation.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If events are deleted from the buffer when full, then new events can be stored, but uneven event loss occurs

Engineering Contradiction:
Improvebuffer capacityVSAvoidevent distribution uniformity
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

The patent implements a feedback mechanism where the system monitors buffer status and adjusts the delivery rate accordingly. When the buffer approaches full capacity, the system increases the delivery rate to prevent overflow. This feedback loop ensures that events are delivered in a more uniform distribution over time, preventing the uneven loss that would occur with simple overwriting policies. The system continuously adapts based on buffer occupancy feedback.

Inventive Principle:
Principle #23Feedback

4Loss of time

If the delivery rate is increased to meet consumer demands, then event freshness is improved, but processing constraints are violated

Engineering Contradiction:
Improveevent freshnessVSAvoidconsumer overload
Core Design Contradiction:
Loss of timeVSObject-affected harmful factors

Solution Approach 1:

The patent dynamically changes the delivery rate parameter based on consumer readiness and buffer status. Instead of using a fixed high delivery rate that could overload the consumer, the system adjusts the rate between a regular rate and a higher flush rate based on whether the buffer is full and whether the consumer is ready to process events. This parameter adaptation allows the system to improve event freshness when possible while preventing consumer overload.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8001297B2Dynamic adjusting send rate of buffered data
Publication Date: 2011.08.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8001297B2 patent drawing
  • US8001297B2 patent drawing
  • US8001297B2 patent drawing

AI summary

Systems and methods for intermediate buffering of data for the purpose of controlling its delivery to the consumer. The systems and methods for buffering data can arbitrate between the incoming data flow from the generating component and the outgoing data flow to the consumer. In doing so, the systems and methods for buffering of data seek to honor the delivery demands and/or constraints of the consumer, while avoiding the loss of the data generated by the producer. The delivery demands of the consumer may include requirements pertaining to maximum acceptable incoming data rate, the desired incoming data rate, incoming data aggregation, the desired freshness of the data, and tolerance for event loss. The generation component constraints may include the space limitations on buffering data within the data buffer.