Cloud Event Update Scalability via Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cloud-based collaboration platforms face scalability bottlenecks when updating multiple users due to the difficulty in storing event entries within a designated time frame, especially as the number of collaborators increases, leading to potential failures in updating clients with events such as renaming or editing actions.

Innovation Solution

The system divides event updates into smaller chunks, allowing each chunk to be stored within a designated time frame, and incorporates mechanisms to retry only failed chunks, ensuring successful updates and maintaining scalability, robustness, and availability for large numbers of collaborators.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the system updates all collaborators with event entries simultaneously, then all clients receive timely notifications, but the system fails to store event entries within the designated time frame when the number of collaborators is large

Engineering Contradiction:
Improvetimely notification deliveryVSAvoidevent entry storage time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system divides the list of event entries into multiple sub-lists (chunks), where each sub-list contains a manageable number of events. These sub-lists are then stored separately in the database, allowing parallel processing and reducing the time required to update all collaborators while ensuring each chunk is processed within the designated time frame

Inventive Principle:
Principle #1Segmentation

2Loss of time

If the system divides event updates into smaller chunks, then the system can store events within the designated time frame, but the complexity of managing multiple sub-lists and retries increases

Engineering Contradiction:
Improveevent entry storage timeVSAvoidupdate management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system implements a retry mechanism that monitors which sub-lists fail to store within the designated time frame. Failed sub-lists are identified and retried separately, while successful updates are confirmed. This feedback loop automates the management of multiple sub-lists, reducing the perceived complexity while ensuring reliable delivery

Inventive Principle:
Principle #23Feedback

3Device complexity

If the system processes all event entries in a single batch, then the implementation is simpler, but the system cannot scale to handle large numbers of collaborators

Engineering Contradiction:
Improveupdate processing simplicityVSAvoidcollaborator update scalability
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system segments the collaborator update process into manageable sub-lists, each representing a portion of the total collaborator base. This segmentation enables the system to scale to large numbers of collaborators by processing multiple sub-lists in parallel, while maintaining relatively simple processing logic for each individual sub-list

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces a new dimension of organization by grouping collaborators into sub-lists based on event relevance rather than processing all collaborators uniformly. This dimensional change allows the system to scale horizontally by adding more sub-lists as needed, improving productivity without proportionally increasing overall system complexity

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9535924B2Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
Publication Date: 2017.01.03 BOX INC
  • US9535924B2 patent drawing
  • US9535924B2 patent drawing
  • US9535924B2 patent drawing

AI summary

Techniques are disclosed for improving scalability in a system which incrementally updates remote clients with events that occurred in a cloud-enabled platform. In one embodiment, a method comprises, in response to an action from a user in the cloud-enabled platform, determining a list of events to update one or more collaborators of the user about the action. The method further comprises separating the list of events into a plurality of sub-lists of events such that each sub-list of events can be stored in a database within a designated amount of time, and further comprises storing the plurality of sub-lists of events into the database to be read by the one or more collaborators. Among other advantages, embodiments disclosed herein provide enhancement in scalability, robustness and availability for cloud-based collaboration platforms with large numbers of collaborators by incorporating mechanisms to divide-and-conquer the workload of event updates in such platforms.