Sending inter-server notifications using an out-of-band communications protocol
First Claim
1. A method in a server pool of servers for sending notifications of presence information to subscribers of presence information of publishers, each server of the server pool for accessing presence-related information via a back-end database server, the back-end database server storing presence information of publishers and subscription information of subscribers, the publishers and subscribers being clients of presence information, the method comprising:
- for each client,receiving at a load balancer for the server pool a logon request from the client; and
upon receiving the logon request from the client,selecting at the load balancer a server of the server pool to be assigned as being a distinguished server for the client based on number of clients assigned to each server; and
storing by the load balancer at the back-end database server an indication that the selected server has been assigned to be the distinguished server of the client;
receiving at the load balancer an update to presence information of a publisher;
after receiving the update,determining at the load balancer the distinguished server of the publisher; and
sending from the load balancer to the distinguished server of the publisher an indication of the updated presence information of the publisher;
storing at the back-end database server by the distinguished server of the publisher updated presence information of the publisher;
determining by the distinguished server of the publisher that an in-band notification is to be sent to subscribers to the presence information of the publisher by retrieving from the back-end database server an indication of subscribers to the presence information of the publisher;
identifying by the distinguished server of the publisher a distinguished server for each subscriber to the presence information of the publisher by retrieving from the back-end database server an indication of the distinguished server of each subscriber;
sending from the distinguished server of the publisher an out-of-band notification to each distinguished server of each subscriber, the out-of-band notification indicating that the distinguished server is to send an in-band notification to the subscriber whose distinguished server is that distinguished server, the in-band notification indicating the updated presence information of the publisher so that the distinguished server of a subscriber can send to the subscriber a notification of the updated presence information; and
under control of each distinguished server of each subscriber,retrieving from the back-end database server, undated presence information of the publisher; and
sending the retrieved undated presence information to the subscriber.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for sending notifications from servers of a server pool to clients is provided. The notification system determines when an in-band notification is to be sent to clients. The notification system identifies a distinguished server for each client that is to send the in-band notification to that client. The notification system then sends an out-of-band notification to the distinguished server of each client indicating that an in-band notification is to be sent to the client. When the distinguished server receives the out-of-band notification, the distinguished server then sends an in-band notification to the client.
13 Citations
15 Claims
-
1. A method in a server pool of servers for sending notifications of presence information to subscribers of presence information of publishers, each server of the server pool for accessing presence-related information via a back-end database server, the back-end database server storing presence information of publishers and subscription information of subscribers, the publishers and subscribers being clients of presence information, the method comprising:
-
for each client, receiving at a load balancer for the server pool a logon request from the client; and upon receiving the logon request from the client, selecting at the load balancer a server of the server pool to be assigned as being a distinguished server for the client based on number of clients assigned to each server; and storing by the load balancer at the back-end database server an indication that the selected server has been assigned to be the distinguished server of the client; receiving at the load balancer an update to presence information of a publisher; after receiving the update, determining at the load balancer the distinguished server of the publisher; and sending from the load balancer to the distinguished server of the publisher an indication of the updated presence information of the publisher; storing at the back-end database server by the distinguished server of the publisher updated presence information of the publisher; determining by the distinguished server of the publisher that an in-band notification is to be sent to subscribers to the presence information of the publisher by retrieving from the back-end database server an indication of subscribers to the presence information of the publisher; identifying by the distinguished server of the publisher a distinguished server for each subscriber to the presence information of the publisher by retrieving from the back-end database server an indication of the distinguished server of each subscriber; sending from the distinguished server of the publisher an out-of-band notification to each distinguished server of each subscriber, the out-of-band notification indicating that the distinguished server is to send an in-band notification to the subscriber whose distinguished server is that distinguished server, the in-band notification indicating the updated presence information of the publisher so that the distinguished server of a subscriber can send to the subscriber a notification of the updated presence information; and under control of each distinguished server of each subscriber, retrieving from the back-end database server, undated presence information of the publisher; and sending the retrieved undated presence information to the subscriber. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A server pool of servers for sending notifications of presence information to subscribers of presence information of publishers, each server of the server pool for accessing presence-related information via a back-end database server, the back-end database server storing presence information of publishers and subscription information of subscribers, the publishers and subscribers being clients of presence information, comprising:
-
a load balancer that, for each client, receives for the server pool a logon request from the client; and upon receiving the logon request from the client, selects a server of the server pool to be assigned as being a distinguished server for the client based on number of clients assigned to each server; and stores at the back-end database server an indication that the selected server has been assigned to be the distinguished server of the client; receives an update to presence information of a publisher; and after receiving the update, determines the distinguished server of the publisher; and sends to the distinguished server of the publisher an indication of the updated presence information of the publisher; and a plurality of servers that when a server is a distinguished server of a publisher, receives from the load balancer an indication of updated presence information of the publisher; stores at the back-end database server updated presence information of the publisher; determines that an in-band notification is to be sent to subscribers to the presence information of the publisher by retrieving from the back-end database server an indication of subscribers to the presence information of the publisher; identifies a distinguished server for each subscriber to the presence information of the publisher by retrieving from the back-end database server an indication of the distinguished server of each subscriber; and sends an out-of-band notification to each distinguished server of each subscriber, the out-of-band notification indicating that the distinguished server is to send an in-band notification to the subscriber whose distinguished server is that distinguished server, the in-band notification indicating the updated presence information of the publisher so that the distinguished server of a subscriber can send to the subscriber a notification of the updated presence information; and when the server is the distinguished server a subscriber of a publisher, receives from the distinguished server of the publisher an out-of-band notification; retrieves from the back-end database server, updated presence information of the publisher; and sends the retrieved updated presence information to the subscriber. - View Dependent Claims (9, 10, 11)
-
-
12. One or more computer-readable storage media storing computer-executable instructions for controlling a server pool of servers to send notifications of presence information to subscribers of presence information of publishers, each server of the server pool for accessing presence-related information via a back-end database server, the back-end database server storing presence information of publishers and subscription information of subscribers, the publishers and subscribers being clients of presence information, by a method comprising:
-
for each client, receiving at a load balancer for the server pool a logon request from the client; and upon receiving the logon request from the client, selecting at the load balancer a server of the server pool to be assigned as being a distinguished server for the client based on number of clients assigned to each server; and storing by the load balancer at the back-end database server an indication that the selected server has been assigned to be the distinguished server of the client; receiving at the load balancer an update to presence information of a publisher;
after receiving the update,determining at the load balancer the distinguished server of the publisher; and sending from the load balancer to the distinguished server of the publisher an indication of the updated presence information of the publisher; storing at the back-end database server by the distinguished server of the publisher updated presence information of the publisher; determining by the distinguished server of the publisher that an in-band notification is to be sent to subscribers to the presence information of the publisher by retrieving from the back-end database server an indication of subscribers to the presence information of the publisher; identifying by the distinguished server of the publisher a distinguished server for each subscriber to the presence information of the publisher by retrieving from the back-end database server an indication of the distinguished server of each subscriber; sending from the distinguished server of the publisher an out-of-band notification to each distinguished server of each subscriber, the out-of-band notification indicating that the distinguished server is to send an in-band notification to the subscriber whose distinguished server is that distinguished server, the in-band notification indicating the updated presence information of the publisher so that the distinguished server of a subscriber can send to the subscriber a notification of the updated presence information; and under control of each distinguished server of each subscriber, retrieving from the back-end database server, updated presence information of the publisher; and sending the retrieved updated presence information to the subscriber. - View Dependent Claims (13, 14, 15)
-
Specification