High availability presence engine for instant messaging
First Claim
1. A system for a high availability presence engine for instant messaging, comprising:
- a plurality of presence engines for receiving presence information on users;
a global table engine accessible to the plurality of presence engines, the global table engine including user presence information and being operable to receiving presence changes from the plurality of presence engines; and
a plurality of local tables accessible to the plurality of presence engines and the global table engine, wherein the plurality of local tables are configured such that each of the plurality of local tables is associated with at least one of the plurality of presence engines and being operable to receive presence change information from the global table engine.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems for a high availability presence engine for instant messaging service comprise a plurality of presence engines for receiving presence information on users and a global table engine accessible to the plurality of presence engines. The global table engine includes user presence information and receives presence changes from the plurality of presence engines. A plurality of local tables are accessible to the plurality of presence engines and the global table engine. The plurality of local tables are configured such that each of the plurality of local tables is associated with at least one of the plurality of presence engines, and is configured to receive presence change information from the global table engine. Other systems and methods are also provided.
-
Citations
52 Claims
-
1. A system for a high availability presence engine for instant messaging, comprising:
-
a plurality of presence engines for receiving presence information on users;
a global table engine accessible to the plurality of presence engines, the global table engine including user presence information and being operable to receiving presence changes from the plurality of presence engines; and
a plurality of local tables accessible to the plurality of presence engines and the global table engine, wherein the plurality of local tables are configured such that each of the plurality of local tables is associated with at least one of the plurality of presence engines and being operable to receive presence change information from the global table engine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A high availability presence engine, comprising:
-
a plurality of processors adapted to provide presence information;
a global table accessible to the plurality of processors, the global table including presence information for a plurality of users;
a local table operatively coupled to each processor, the local table including presence information for users associated with one of the plurality of processors associated with that particular local table and being operable to receiving presence information updates from the global table for users associated with that local table; and
a load balancer operatively coupled to the plurality of processors, wherein the load balancer distributes and balances requests from a user to at least one of the plurality of processors having capacity to process the request. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36)
-
-
37. A method for deploying a high availability presence engine for instant messaging, comprising the steps of:
-
receiving a user'"'"'s presence change information in a global table;
updating the global table to reflect the change in the user'"'"'s presence information; and
sending updated presence information on the user to local tables of contacts affected by the change in the user'"'"'s presence. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44)
-
-
45. A method for determining status of a user of a high availability instant messaging system, comprising:
-
querying for presence status of a user;
determining whether information on the user resides in a local table; and
returning the status of the user to the requesting client when information on the user resides in the local table. - View Dependent Claims (46, 47, 48)
-
-
49. A method for removing a user from a high availability presence engine for instant messaging system, comprising:
-
receiving a presence change of a user to an offline state;
sending the presence change to a global table; and
purging the user'"'"'s user identification from the global table. - View Dependent Claims (50, 51, 52)
-
Specification