Event Notification Engine for File Sharing Data Sync
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data synchronization models, such as the 'pull' and 'traditional push' models, fail to effectively notify third-party applications of data changes across multiple computing devices in a file-sharing environment, leading to outdated data and inefficient CPU usage.
Innovation Solution
An event notification engine manages subscriptions to data events in a shared data file, notifying local applications and setting recovery timestamps for non-local applications, allowing them to query for updated data objects only when necessary, and using proxy applications to forward notifications across a network.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a pull model is used for data synchronization, then third party applications can query data changes, but data is not up-to-date during polling intervals and CPU cycles are wasted on redundant polling
Solution Approach 1:
The patent inverts the traditional pull model by implementing a push model where the host application actively notifies third party applications of data changes. Instead of third party applications continuously polling for changes, the host application detects changes and pushes notifications to subscribed applications, eliminating polling delays and ensuring real-time data synchronization.
Solution Approach 2:
The patent implements a feedback mechanism where third party applications subscribe to specific data events, and the host application provides feedback notifications when those events occur. This creates a closed-loop synchronization system where changes are automatically communicated back to interested parties without requiring continuous querying.
2Reliability
If a traditional push model is used for data synchronization, then data changes are notified immediately, but it cannot notify applications on other computing devices in a file-sharing environment
Solution Approach 1:
The patent extends the push model to provide universal notification capability across multiple computing devices. The host application on any device can notify third party applications on other devices about data changes in shared files, making the notification system versatile and device-agnostic. This is achieved through network communication integration and cross-device event propagation.
Solution Approach 2:
The patent introduces network communication mechanisms as intermediaries that facilitate notification transmission between computing devices. When a data change occurs on one device, the host application uses network protocols to relay the notification to third party applications on remote devices, acting as a mediator that bridges local and remote communication gaps.
3Measurement precision
If applications continuously poll for data changes, then they can detect changes, but CPU cycles are wasted and data is not up-to-date during polling intervals
Solution Approach 1:
The patent implements a self-service notification system where the host application automatically detects data changes and notifies third party applications without requiring them to actively poll. The system serves itself by monitoring its own data state and initiating notifications only when necessary, eliminating wasteful CPU consumption while maintaining precise change detection.
Solution Approach 2:
The patent performs preliminary actions by having third party applications subscribe to data events in advance. When changes occur, the host application already has the information ready to push to subscribed applications, eliminating the need for continuous polling and reducing CPU usage while maintaining real-time detection accuracy.
Data Source
AI summary
A notification engine manages subscriptions of applications to data events in a file-sharing environment. A subscription includes a data event recovery time stamp indicating the time when a first change to subscribed data objects occurred of which an application was not aware. When the data event occurs on a computer, the engine finds applications subscribed to that data event and sets the time stamp in the subscriptions for non-local applications to the current time if the data event recovery time stamp is clear. An application that was not notified of the data event that occurred on another computer learns about the data event when it is called back. The application uses a data event recovery time stamp indicated in the callback to issue a query for a current version of subscribed data objects to which data events occurred at or after the time indicated in the time stamp.


