Polling Server Mediator for Database Update Scalability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data refresh mechanisms in web applications are inefficient, as they often require frequent and costly refresh requests to application servers, which can lead to system slowdowns and fail to address non-local data changes in a timely manner, especially as the number of users increases.

Innovation Solution

Implementing a polling server that communicates with application servers and client systems to reduce the frequency of refresh requests by allowing client systems to query for data changes, thereby controlling the number of requests sent to the application server and improving the responsiveness of data updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data pages refresh themselves periodically by sending update requests to application servers, then data changes are reflected in displayed pages, but the system becomes expensive and difficult to sustain as the number of users scales up

Engineering Contradiction:
Improvedata update reliabilityVSAvoidsystem scalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a polling server as an intermediary component between client systems and application servers. The polling server receives and processes polling requests from multiple clients, then sends consolidated update requests to application servers only when data changes are detected. This intermediary architecture reduces the number of direct requests to application servers, improving scalability while maintaining data update reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If the refresh period is decreased from 15 minutes to every minute or 30 seconds, then data changes are reflected more quickly, but the impact on application servers slows down the entire system

Engineering Contradiction:
Improvedata refresh speedVSAvoidsystem performance
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent implements a feedback mechanism where the polling server monitors for data changes and only triggers refresh requests when updates are detected. Instead of periodic forcing refreshes, the system uses event-driven feedback from data change notifications. This allows fast data reflection when changes occur while avoiding unnecessary requests during stable states, maintaining both speed and system performance.

Inventive Principle:
Principle #23Feedback

3Reliability

If client systems send frequent refresh requests to application servers, then data is updated more frequently, but the number of requests increases and slows down the application servers

Engineering Contradiction:
Improvedata freshnessVSAvoidnumber of requests
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The polling server acts as a mediator that consolidates multiple client polling requests into fewer update requests to application servers. When multiple clients poll for updates, the polling server detects data changes through its subscription mechanism and sends a single batched update request to the application server, reducing the total request quantity while maintaining data freshness for all clients.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent merges multiple individual client polling operations into a single centralized polling service. Instead of each client independently querying application servers, all polling activities are combined through the polling server, which then consolidates update requests. This merging reduces the overall number of requests to application servers while maintaining the same data freshness level.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8407338B2Methods and systems for polling an on demand service
Publication Date: 2013.03.26 SALESFORCE INC
  • US8407338B2 patent drawing
  • US8407338B2 patent drawing
  • US8407338B2 patent drawing

AI summary

Systems and methods for automatically polling for data changes in an on-demand database service environment. A polling server communicates with application servers and client systems. Application servers send update messages to the polling server identifying which database objects have been updated, and client systems communicate with the polling server on a regular basis, rather than with the application server, to determine whether updates to a data object may have been made. When it has been determined that an update may have been made, the client system then sends a refresh request to the application server to request an update to the data object, thereby controlling (e.g., reducing) the number of refresh requests sent to the application server.