Message Distribution System for Real-Time Web Server Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Web servers in high-traffic websites face bottlenecks due to periodic data updates, leading to inconsistent data and delayed responsiveness, as they rely on central data storage which is not scalable.
Innovation Solution
A message system that distributes messages in real-time using a publish/subscribe model, with recording receivers ensuring all web servers receive updates by requesting and filling message gaps, allowing each server to maintain a local copy of data and synchronize it in real-time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is updated periodically on web servers, then data consistency across servers is maintained, but responsiveness to market changes is delayed
Solution Approach 1:
The system performs preliminary actions by maintaining a queue of update messages and proactively pushing them to web servers as they come online, rather than waiting for periodic synchronization cycles. This allows data to be updated as soon as servers are available, reducing delay while maintaining consistency through the queued message approach.
Solution Approach 2:
The patent introduces an intermediary message queue system between the central data source and web servers. Messages are placed in a queue and distributed to servers asynchronously, allowing the system to maintain data consistency through the queue while enabling real-time updates without requiring all servers to be synchronized at the same moment.
2Reliability
If data is stored at a central location, then data consistency is maintained, but system scalability is limited due to bottlenecks
Solution Approach 1:
The patent segments the centralized data storage model by allowing web servers to maintain local copies of data in their message queues. Each server independently processes messages from the queue, eliminating the bottleneck of centralized access while maintaining consistency through the message queue mechanism. This segmentation enables horizontal scaling as servers can be added without increasing central storage load.
Solution Approach 2:
The system transitions from a single-dimensional centralized storage model to a multi-dimensional distributed model where data exists both centrally (in the queue) and locally (on each server). This dimensional change allows the system to maintain consistency through the central queue while enabling scalable local access points, effectively resolving the scalability bottleneck.
3Speed
If each web server has its own copy of data, then access speed is improved, but data inconsistencies may occur
Solution Approach 1:
The patent implements a feedback mechanism where web servers report their status (online/offline) to the message queue system, which then adjusts message distribution accordingly. Servers receive updates only when they are online and able to process them, ensuring data consistency through controlled distribution while maintaining fast local access. The system feedback loop prevents inconsistent states by coordinating updates across all servers.
Data Source
AI summary
A method and system for distributing messages sent from senders to receivers in a reliable and real-time manner. Some of the receivers are designated as recording receivers that are responsible for recording each message that it receives so it can provide to other receivers messages they have missed. When a sender distributes a message, it waits for an acknowledgement from a recorder that it received and recorded the message. If an acknowledgement is received, then the sender knows at least one recorder has a copy of the message that that recorder can provide to other receivers that missed the message. When a receiver detects that it missed a message, it then initiates a “hole filling” process that distributes a request for the missing message to the recorders. A recorder who can provide the missing message sends to the requesting receiver a response indicating it can provide the missing message.


