Notification Service for Real-Time Document Change Discovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Co-authoring sessions face latency issues in document change discovery, where clients must poll the server for updates, leading to delayed synchronization and increased risk of conflicts.

Innovation Solution

Establishing a separate real-time or near real-time communication channel between client devices and a notification service allows for immediate notification of document changes, enabling clients to download and merge updates without relying on polling, thus reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If clients poll the server for document updates, then clients can discover changes, but latency increases and synchronization is delayed

Engineering Contradiction:
Improvedocument change discovery latencyVSAvoidsynchronization speed
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

Instead of clients actively polling the server to discover changes (client-initiated), the system inverts the approach by having the server push notifications to clients when changes occur (server-initiated). This is achieved through establishing persistent communication channels where the server can proactively notify clients of document changes, eliminating the need for continuous client polling and reducing discovery latency.

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

Solution Approach 2:

The patent introduces a notification service as an intermediary component that mediates between the content server and client devices. This notification service receives change notifications from the content server and forwards them to appropriate clients through persistent communication channels. The intermediary enables efficient change propagation without requiring clients to directly poll the content server, thus reducing latency while maintaining system architecture separation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If clients continuously poll for updates, then changes are discovered, but network traffic increases

Engineering Contradiction:
Improvechange notification reliabilityVSAvoidnetwork traffic
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent replaces continuous periodic polling with event-driven periodic action. Instead of clients sending continuous periodic requests to check for changes, the system establishes persistent channels where the server only transmits data when changes occur. This transforms the communication pattern from regular periodic traffic to event-triggered traffic, maintaining reliable change notification while significantly reducing overall network traffic volume.

Inventive Principle:
Principle #19Periodic action

3Speed

If a separate communication channel is established for notifications, then latency is reduced, but device complexity increases

Engineering Contradiction:
Improvechange propagation speedVSAvoidcommunication channel management
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the communication infrastructure into distinct functional channels: a content channel for document data transfer and a separate notification channel for change alerts. This segmentation allows each channel to be optimized for its specific purpose - the notification channel can maintain persistent connections for immediate alert delivery, while the content channel handles bulk data transfer. The separation reduces latency for change discovery without requiring the entire system to manage complex unified communication protocols.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11036712B2Latency-reduced document change discovery
Publication Date: 2021.06.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11036712B2 patent drawing
  • US11036712B2 patent drawing
  • US11036712B2 patent drawing

AI summary

Latency-reduced document change discovery in a co-authoring session is provided. When a co-authoring session is established between clients for co-authoring a document, a communication channel that is separate from a content channel is established between each client in the co-authoring session and a notification service. When a client uploads edits made to the document to a server-stored and managed master copy of the document, the client sends a notification on the separate channel to the other clients via the notification service, notifying the other clients that document changes have been made and are available to download from the content service. The other clients are enabled to discover document changes in real-time or in near real-time to when the changes are saved to the master copy of the document, and download the client edits for merging the changes with a local copy of the document.