On-Demand User Presence Loading in Real-Time Collaboration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional online collaboration services face challenges in managing large numbers of participants, leading to increased computational workload and resource exhaustion due to the need to broadcast and process presence information for all connected users, which can result in slowed service or session crashes, especially in scenarios with thousands of simultaneous connections.
Innovation Solution
A session manager that selectively transmits user records on an as-needed basis, revealing presence information only upon active participation, thereby reducing CPU and network resource usage and allowing collaborative applications to scale to tens of thousands of users by tagging contributory data events with unique user identifiers without including full presence information in message payloads.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the collaboration service broadcasts presence information to all connected users when a new user joins, then all users can maintain accurate roster lists of connected participants, but the computational workload and network bandwidth usage increase significantly with large numbers of participants
Solution Approach 1:
The patent extracts only the essential identifier (user ID) from the full presence information and transmits only this extracted element to all users. Full presence information including names, status, and other details is withheld and only provided on-demand when a user actively requests it through interaction. This extraction principle reduces the data transmission burden while maintaining the ability to identify participants.
Solution Approach 2:
The system performs preliminary action by pre-transmitting only user identifiers to all participants when someone joins, establishing a minimal baseline presence notification. The full presence information is prepared in advance on the server side but not pushed to clients until needed, allowing the system to be ready to provide complete information without the cost of continuously transmitting it.
2Ease of operation
If the collaboration service transmits full presence information to all connected users, then users can immediately identify and interact with other participants, but network bandwidth and server resources are exhausted with thousands of simultaneous connections
Solution Approach 1:
The system applies partial action by transmitting only a subset of presence information (user IDs) to all users, rather than the full presence information. This partial transmission is sufficient for basic identification and interaction purposes. Full presence details are transmitted selectively only when users actively engage with specific content from other participants, applying resources only where needed.
3Reliability
If the collaboration service maintains presence information for all connected users, then the service can provide accurate participant lists, but the service performance degrades and sessions may crash with large numbers of participants
Solution Approach 1:
The presence information is segmented into two distinct parts: (1) user identifiers that are transmitted to all users for basic roster maintenance, and (2) detailed presence information that is transmitted only on-demand when users interact with specific content. This segmentation allows the system to maintain participant list accuracy while avoiding the performance degradation caused by transmitting and processing full presence information for all users continuously.
Data Source
AI summary
Techniques disclosed herein include systems and methods that enable a relatively large number of users to connect to a collaborative communication application with a comparatively lower investment in service hardware (CPU, network) while still providing identification of contributing client devices. Techniques disclosed herein can also include systems and methods that enable an application developer to build higher-performing applications that reduce a computational load for client devices. A session manager, for a collaborative service session, provides selective transmission of user records on an as-needed basis, and thus avoids sending user records until those records are actually needed or requested, typically as a result of a user's active participation within the collaboration environment. The session manager thus reveals the presence of connected users on-demand, thereby saving CPU and network resources, and allowing collaborative applications to more easily scale into the tens of thousands of users.


