Presence Server Mediator Distribution for Scalability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional presence servers face scalability and performance issues in managing real-time presence information for large user communities, leading to lost messages and inaccurate data due to memory and processor limitations, especially when handling numerous updates and community connections via gateways.
Innovation Solution
A presence system that selects mediators to distribute presence information to subsets of users, offloading the burden from the primary presence server and allowing for autonomous management and optimization of presence data, thereby reducing the load and improving performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the presence server uses more threads to handle more users and presence information updates, then the system can support larger user bases and higher update frequencies, but memory restrictions and central processor capabilities limit the ability to simply use more threads
Solution Approach 1:
The patent divides the user base into multiple communities, each handled by a dedicated thread. Instead of using one thread for all users (which would require excessive memory and processing), the system segments users into manageable groups. Each community thread manages presence information for its assigned users independently, reducing the memory footprint and processing burden per thread while maintaining overall system capacity to handle large user bases.
2Reliability
If messages are placed in FIFO queues for processing, then message delivery order is maintained, but messages that are not addressed within a prescribed time limit time out and are not delivered, resulting in lost messages and inaccurate presence information
Solution Approach 1:
The patent implements dynamic thread assignment where community threads are activated and deactivated based on real-time presence information activity. When presence information changes occur for users in a community, the corresponding community thread is activated to process and distribute updates. This dynamic approach ensures that messages are processed promptly when needed rather than waiting in static FIFO queues, reducing timeout occurrences while maintaining reliable presence information delivery.
3Speed
If the presence server handles all presence information distribution centrally, then real-time updates can be maintained, but scalability is limited by the server's processing capacity and message queue throughput
Solution Approach 1:
The patent segments the centralized presence server functionality into multiple distributed community threads, each handling a specific group of users. This segmentation allows the system to scale horizontally by adding more community threads as the user base grows, rather than being limited by a single server's processing capacity. Each community thread maintains real-time presence information for its users, preserving update speed while enabling system scalability through distributed architecture.
Solution Approach 2:
The patent transitions from a single-dimension centralized server model to a multi-dimensional distributed thread model. Instead of one server handling all users sequentially or in a single queue, the system creates multiple parallel processing dimensions through community threads. This dimensional change allows simultaneous presence information distribution across multiple user groups, increasing overall system capacity and scalability while maintaining real-time update capabilities.
Data Source
AI summary
A presence system comprises a presence server and a plurality of users in a distributed community of users that are associated with the presence server. The presence server selects a set of mediators, e.g., based upon a predetermined event, or other suitable factors, wherein each mediator is associated with a subset of the plurality of users. The presence server communicates presence information to the mediators where each mediator receives presence information regarding subscribed-to presence information for the users in their associated subset of users. Each mediator communicates the subscribed-to presence information to associated ones of the users in their associated subset of users.


