Event Notification Engine for File Sharing Data Sync

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata up-to-date statusVSAvoidpolling interval delay
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #13The other way round (Inversion)

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improvedata synchronization accuracyVSAvoidmulti-device notification capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedata change detection accuracyVSAvoidCPU cycle consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7680838B1Maintaining data synchronization in a file-sharing environment
Publication Date: 2010.03.16 INTUIT INC
  • US7680838B1 patent drawing
  • US7680838B1 patent drawing
  • US7680838B1 patent drawing

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.