Cloud Collaboration Update Synchronization via Segmented Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud-based collaboration environments, maintaining consistency and correct ordering of changes across multiple user devices is challenging due to the diverse types of clients and devices accessing shared content simultaneously, leading to inconsistencies and conflicts in file updates.

Innovation Solution

A system that incrementally updates remote clients by using a host server to manage action log entries, sort them by user, and write them to queues in a distributed database cluster, ensuring that updates are synchronized in a timely and orderly fashion across various client types and devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple types of clients and devices access shared content simultaneously in a cloud-based collaboration environment, then user accessibility and collaboration flexibility are improved, but maintaining consistency and correct ordering of changes across clients becomes difficult

Engineering Contradiction:
Improveclient diversityVSAvoiddata consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments the update management by creating separate queues for different client types (web client, mobile client, desktop client) while maintaining a centralized action log. Each client type has its own queue in the distributed database cluster, allowing independent processing while ensuring global consistency through the centralized log that records all actions in chronological order.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The action log serves as an intermediary between the host server and multiple client queues. All actions are first recorded in the centralized action log with timestamps, then the host server processes these actions and distributes them to appropriate client queues. This intermediary mechanism ensures that all clients receive updates in the correct chronological order regardless of their client type or access timing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If updates are synchronized across multiple remote clients in real-time or near real-time, then collaboration efficiency is improved, but system complexity and processing overhead increase

Engineering Contradiction:
Improvecollaboration efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary action by recording all actions in a centralized action log with timestamps before distributing them to client queues. This pre-processing step ensures that when updates are pushed to multiple clients, they are already ordered correctly, eliminating the need for complex client-side sorting and conflict resolution logic.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates copies of the centralized action log entries and distributes them to multiple client-specific queues in the distributed database cluster. Each client receives relevant updates as copies of the original actions, allowing parallel processing across multiple clients while maintaining data consistency through the original log as the source of truth.

Inventive Principle:
Principle #26Copying

3Reliability

If action log entries are processed and distributed to multiple client queues, then update completeness is improved, but processing time and computational resources increase

Engineering Contradiction:
Improveupdate completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The processing workload is segmented by distributing action log entries to multiple client-specific queues simultaneously. The host server processes actions and writes them to relevant queues in parallel, reducing the total processing time compared to sequential distribution. Each queue is independently processed by its corresponding client, enabling concurrent update application.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9015248B2Managing updates at clients used by a user to access a cloud-based collaboration service
Publication Date: 2015.04.21 BOX INC
  • US9015248B2 patent drawing
  • US9015248B2 patent drawing
  • US9015248B2 patent drawing

AI summary

System and method for managing updates at clients used by a user to access a cloud-based collaboration service are disclosed. In one aspect, embodiments of the present disclosure include a method, which may be implemented on a system, for storing a representation of the action to queues of clients associated with the user in a distributed database cluster based on an action type of an action performed by a collaborator of the user. The clients of the user are selected based on the client category and the action type of the action, to receive a notification as a result of the action or to perform a synchronization with changes that occurred as a result of the action.