Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of distributing presence information comprising: associating a plurality of users in a distributed community of users with a presence server, where each user communicates across a network using a computer processing device; identifying subsets of users from said plurality of users; selecting a set of mediators used to communicate presence information between said presence server and said plurality of users; assigning each mediator to an identified subset of users; and communicating presence information from said presence server to select mediators in said set of mediators to service said subset of users assigned to the selected mediator, where each selected mediator receives presence information regarding subscribed-to presence information for users in said subset of users assigned to the selected mediator; wherein subscribed-to presence information is communicated from each selected mediator in said set of mediators to associated ones of said users in said subset of users assigned to the selected mediator to keep said users in said subset of users up to date with their subscribed-to presence information.
2. The method according to claim 1 , further comprising: operating said presence server in a hub and spoke fashion to communicate presence information subscribed-to by each of said plurality of users if a predetermined event has not occurred; and operating said presence server to communicate presence information corresponding to each subset of said plurality of users to their corresponding mediator if said predetermined event has occurred, wherein said corresponding mediator distributes subscribed-to presence information to ones of said subset of said plurality of users.
3. The method according to claim 2 , wherein said predetermined event comprises at least one of detecting a predetermined limit associated with a message queue and detecting at least one occurrence that messages are timing out due to a FIFO queue being too long.
4. The method according to claim 1 , wherein said selecting a set of mediators comprises: selecting said mediators from at least one autonomous device in communication with said presence server.
5. The method according to claim 1 , wherein said selecting a set of mediators comprises: selecting said mediators from the processing devices operated by said users.
6. The method according to claim 5 , further comprising selecting the set of mediators in real time upon the occurrence of a predetermined event by selecting said mediators based, at least in part, upon at least one of detecting a performance threshold and detecting a predetermined load level on said presence server.
7. The method according to claim 1 , further comprising selecting each said subset of said plurality of users by deriving subscription list supersets for each corresponding mediator from decisions that are stored on said presence server.
8. The method according to claim 1 , further comprising: utilizing organizational distances derived in an LDAP tree to establish a list of mediators that are assigned to an associated subset based upon organizational units implicit in said LDAP braches; and using location information from said LDAP and location information from a presence system client to establish peer-peer proximity and decisions regarding selection of corresponding mediators.
9. The method according to claim 1 , further comprising: analyzing subscription list decisions that have been made in real time; and constructing a map that builds a set of mediators that are directly associated with a corresponding set of peer users, said set of peer users defining said subset of said plurality of users.
10. The method according to claim 9 , further comprising: instructing said peer users in real time to negotiate presence information for their subscription lists directly with their corresponding mediator until instructed otherwise by the presence server.
11. The method according to claim 1 , further comprising: establishing each said subset of said plurality of users by an administrator who stores decisions in a central store that is managed by said administrator.
12. The method according to claim 1 , further comprising: self learning by said presence server, of new patterns for autonomic adjustment to derive performance based upon sending instant message activities across said community.
13. The method according to claim 1 , further comprising: performing an initial self-learning process by said presence server, to establish at least one subset of said plurality of users and at least one corresponding mediator.
14. The method according to claim 1 , further comprising: managing a state table that keeps subscription lists for each mediator accurate and up to date based on peer-peer asynchronous polling of said plurality of users.
15. The method according to claim 1 , further comprising: selecting a gateway as a mediator, wherein said gateway caches presence information and utilizes a predetermined policy to determine when to function as said mediator.
16. The method according to claim 1 , wherein identifying subsets of users from said plurality of users comprises identifying subsets of users from said plurality of users, wherein each user is a member of a single subset of users.
17. The method according to claim 1 , wherein assigning each mediator to an identified subset of users comprises assigning each mediator to a unique identified subset of users.
18. The method according to claim 1 , wherein assigning each mediator to an identified subset of users comprises assigning each mediator to an identified subset of users based on at least one of location and organizational grouping.
19. The method according to claim 1 , wherein assigning each mediator to an identified subset of users comprises assigning each mediator to an identified subset of users at a startup of the presence server.
20. The method according to claim 1 , wherein assigning each mediator to an identified subset of users comprises the presence server assigning each mediator to an identified subset of users.
21. A computer program product to process presence information comprising: a computer usable storage medium having computer usable program code embodied therewith, the computer usable program code comprising: computer usable program code means for associating a plurality of users in a distributed community of users with a presence server, where each user communicates across a network using a computer processing device; computer usable program code means for identifying subsets of users from said plurality of users; computer usable program code means for selecting a set of mediators used to communicate presence information between said presence server and said plurality of users; computer usable program code means for assigning each mediator to an identified subset of users; computer usable program code means for communicating presence information from said presence server to select mediators in said set of mediators to service said subset of users assigned to the selected mediator, where each mediator receives presence information regarding subscribed-to presence information for users in said subset of users assigned to the selected mediator; and computer usable program code means for communicating subscribed-to presence information from each mediator in said set of mediators to associated ones of said users in said subset of users assigned to the selected mediator to keep said users in said subset of users up to date with their subscribed-to presence information.
22. The computer program product according to claim 21 , further comprising: computer usable program code means for operating said presence server in a hub and spoke fashion to communicate presence information subscribed-to by each of said plurality of users if a predetermined event has not occurred; and computer usable program code means for operating said presence server to communicate presence information corresponding to each subset of said plurality of users to their corresponding mediator if said predetermined event has occurred, wherein said corresponding mediator distributes subscribed-to presence information to ones of said subset of said plurality of users.
23. The computer program product according to claim 22 , wherein said predetermined event comprises at least one of the detection of a predetermined limit associated with a message queue and the detection of at least one occurrence that messages are timing out due to a FIFO queue being too long.
24. The computer program product according to claim 21 , wherein said computer usable program code means for selecting a set of mediators comprises: computer usable program code means for selecting said mediators from at least one autonomous device in communication with said presence server.
25. The computer program product according to claim 21 , wherein said computer usable program code means for selecting a set of mediators comprises: computer usable program code means for selecting said mediators from the processing devices operated by said users.
26. The computer program product according to claim 25 , further comprising computer usable program code means for selecting a set of mediators from said plurality of users mediators based, at least in part, upon at least one of detecting a performance threshold and detecting a predetermined load level on said presence server.
27. The computer program product according to claim 21 , further comprising computer usable program code means for selecting each said subset of said plurality of users by deriving subscription list supersets for each corresponding mediator from decisions that are stored on said presence server.
28. The computer program product according to claim 21 , further comprising: computer usable program code means for utilizing organizational distances derived in an LDAP tree to establish a list of mediators that are assigned to an associated subset based upon organizational units implicit in said LDAP braches; and computer usable program code means for using location information from said LDAP and location information from a presence server client to establish peer-peer proximity and decisions regarding selection of corresponding mediators.
29. The computer program product according to claim 21 , further comprising: computer usable program code means for analyzing subscription list decisions that have been made in real time; and computer usable program code means for constructing a map that builds a set of mediators that are directly associated with a corresponding set of peer users, said set of peer users defining said subset of said plurality of users.
30. The computer program product according to claim 29 , further comprising: computer usable program code means for instructing said peer users in real time to negotiate presence information for their subscription lists directly with their corresponding mediator until instructed otherwise by the presence server.
31. The computer program product according to claim 21 , further comprising: computer usable program code means for establishing each said subset of said plurality of users by an administrator who stores decisions in a central store that is managed by said administrator.
32. The computer program product according to claim 21 , further comprising: computer usable program code means for performing self learning by said presence server, of new patterns for autonomic adjustment to derive performance based upon sending instant message activities across said community.
33. The computer program product according to claim 21 , further comprising: computer usable program code means for performing an initial self-learning process by said presence server, to establish at least one subset of said plurality of users and at least one corresponding mediator.
34. The computer program product according to claim 21 , further comprising: computer usable program code means for managing a state table that keeps subscription lists for each mediator accurate and up to date based on peer-peer asynchronous polling of said plurality of users.
35. The computer program product according to claim 21 , further comprising: computer usable program code means for selecting a gateway as a mediator, wherein said gateway caches presence information and utilizes a predetermined policy to determine when to function as said mediator.
36. The computer program product according to claim 21 , wherein said computer usable program code means for identifying subsets of users from said plurality of users comprises computer usable program code means for identifying subsets of users from said plurality of users, wherein each user is a member of a single subset of users.
37. The computer program product according to claim 21 , wherein said computer usable program code means for assigning each mediator to an identified subset of users comprises computer usable program code means for assigning each mediator to a unique identified subset of users.
38. The computer program product according to claim 21 , wherein said computer usable program code means for assigning each mediator to an identified subset of users comprises computer usable program code means for assigning each mediator to an identified subset of users based on at least one of location and organizational grouping.
39. The computer program product according to claim 21 , wherein said computer usable program code means for assigning each mediator to an identified subset of users comprises computer usable program code means for assigning each mediator to an identified subset of users at a startup of the presence server.
40. The computer program product according to claim 21 , wherein said computer usable program code means for assigning each mediator to an identified subset of users comprises computer usable program code means for implementing the presence server to assign each mediator to an identified subset of users.
Unknown
April 15, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.