Polling Reservation System for Load Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In communication systems, simultaneous polling requests from multiple client devices for updated object data lead to a significant and unpredictable spike in load on the backend, causing increased latency and potential failures.

Innovation Solution

Implementing a polling reservation system where client devices transmit polling reservation requests, which are evaluated based on staleness tolerance and attention signals, to dynamically schedule polling slots, thereby managing the load and ensuring fresh data is retrieved efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If every client device polls the backend simultaneously for updated object data, then each client receives fresh data, but the backend experiences a significant and unpredictable spike in load causing increased latency and potential failures

Engineering Contradiction:
Improvedata freshnessVSAvoidbackend processing capacity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by having client devices send polling reservation requests before actual polling is needed. The polling schedule server evaluates these requests and assigns polling slots in advance, allowing the backend to prepare and distribute processing load before the actual data retrieval occurs, thus avoiding simultaneous spikes

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts polling schedules based on multiple factors including staleness tolerance levels, data mutation rates, and client device attention signals. This dynamic scheduling allows the backend to adapt processing capacity allocation in real-time, ensuring data freshness when needed while maintaining manageable load during quieter periods

Inventive Principle:
Principle #15Dynamics

2Loss of information

If polling frequency is increased to ensure fresh data, then data staleness is reduced, but network traffic and backend load increase significantly

Engineering Contradiction:
Improvedata stalenessVSAvoidnetwork traffic
Core Design Contradiction:
Loss of informationVSLoss of energy

Solution Approach 1:

The system changes the parameter of polling frequency from a fixed value to a dynamic parameter that adjusts based on staleness tolerance levels, data mutation rates, and client attention signals. This allows the system to optimize the balance between data freshness and network traffic by adapting polling frequency to actual needs rather than using a constant high frequency

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Instead of continuous or frequent periodic polling, the system implements irregular periodic action where polling occurs at dynamically scheduled intervals. The polling schedule server determines optimal polling times based on current system state, creating periodic actions that are spaced out to reduce network traffic while still ensuring data freshness when necessary

Inventive Principle:
Principle #19Periodic action

3Productivity

If polling requests are scheduled periodically to manage backend load, then processing capacity is maintained, but data freshness may be compromised

Engineering Contradiction:
Improvebackend processing capacityVSAvoiddata freshness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback mechanisms where the polling schedule server continuously monitors data mutation rates from the backend and client device attention signals. This feedback loop allows the system to adjust polling schedules in real-time, increasing frequency when data changes rapidly or clients are actively using the application, thereby maintaining data freshness while managing overall backend load

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary evaluation of polling requests and assigns polling slots before actual polling occurs. This preliminary action allows the backend to prepare data and ensures that when polling does occur, fresh data is available, thus maintaining data freshness without requiring continuous high-frequency polling that would overwhelm the backend

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11582271B2Reservation management for polling requests in a communication system
Publication Date: 2023.02.14 SALESFORCE INC
  • US11582271B2 patent drawing
  • US11582271B2 patent drawing
  • US11582271B2 patent drawing

AI summary

Techniques for committing back end computing resources to an online stream of requests for data from client devices are described herein. A polling schedule server (e.g., a reservation management system), may receive polling reservation requests from a plurality of client devices, may evaluate each client device's need for “fresh” data based on a number of input signals, and may assign the client device a polling slot (e.g., a reservation for a future polling time). The polling scheduler server may subsequently receive a polling request from a client device and, upon validating a token received from the client device as well as a difference between an assigned polling time and the polling request timestamp, may grant the polling request by transmitting a request to one or more communication system servers, receiving data from the communication system servers, and providing the data to the client device.