Ephemeral Channels for Real-Time Document Collaboration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Real-time collaboration systems in group-based communication face bottlenecks and scalability issues as the number of users increases, leading to latency and inefficiencies in managing real-time updates in document collaboration sessions.

Innovation Solution

Implementing a system with multiple servers to handle real-time updates, where ephemeral channels are created for document collaboration sessions, users are subscribed and unsubscribed based on connection status, and real-time events are transmitted to subscribed users, along with mechanisms for handling reconnects and permission changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single server handles all real-time updates for document collaboration sessions, then the system is simpler to manage, but bottlenecks and latency increase as the number of users grows

Engineering Contradiction:
Improvesystem complexityVSAvoidreal-time update efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system segments the real-time update handling by creating separate ephemeral channels for different document collaboration sessions. Each channel operates independently, allowing parallel processing of updates across multiple sessions. This segmentation prevents a single server from becoming a bottleneck while maintaining manageable system complexity through modular channel-based architecture.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple servers are implemented to handle real-time updates, then scalability and performance improve, but system complexity increases

Engineering Contradiction:
Improvereal-time update efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces an intermediary layer of ephemeral channels that manage the complexity of multiple servers. These channels act as mediators between users and the underlying server infrastructure, abstracting away the complexity of distributed server management while enabling scalable real-time update handling across multiple servers.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If users remain subscribed to channels after disconnecting, then reconnection is faster, but resource consumption and latency increase

Engineering Contradiction:
Improvereconnection speedVSAvoidsystem resource consumption
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The system implements dynamic subscription management where user subscriptions to ephemeral channels are automatically adjusted based on connection status. When users disconnect, their subscriptions are suspended rather than terminated, allowing for rapid reconnection while preventing continuous resource consumption during disconnection periods. This dynamic approach balances reconnection speed with resource efficiency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12177270B2Real-time updates for document collaboration sessions in a group-based communication system
Publication Date: 2024.12.24 SALESFORCE INC
  • US12177270B2 patent drawing
  • US12177270B2 patent drawing
  • US12177270B2 patent drawing

AI summary

Media, methods, and systems are provided for real-time updates of collaborative documents in a group-based communication system. Collaborative documents may allow for multiple users to simultaneously modify and edit a document. When a collaborative document is created, a server may create an ephemeral channel and an identifier for the collaborative document. As users connect to the collaborative document, the users may be assigned a temporary subscription to the collaborative document. Real-time events, such as indications that a user is typing, indications that a user is connected in the collaborative document, and changes to the collaborative document may be published to the user via the temporary subscription. When the user disconnects from the document, the real-time events may no longer be communicated.