IP Library Granted Patent US 9,124,646
Granted Patent B2
US 9,124,646 · App. 13/529,467 · Granted Sep 1, 2015

Method and system for obtaining availability status for multiple SIP users

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,124,646
App. No.
13/529,467
Granted
Sep 1, 2015
Kind
B2
Abstract

Systems and methods for obtaining availability status in respect of a plurality of user identifiers are provided. For each user identifier, a respective SIP cluster identifier is obtained. The user identifiers are then grouped according to SIP cluster identifier, each such group of user identifiers containing at least one user identifier for which the same SIP cluster identifier was obtained. For each SIP cluster identifier for which there is a group of user identifiers, a request is sent for availability status information in a single message to a SIP cluster associated with the SIP cluster identifier, the request containing the user identifiers of the group of user identifiers. A response to each single message is received in a single message containing availability status information for the user identifiers belonging to the group of user identifiers.

Claims (53)

1. A method of obtaining availability status in respect of a plurality of user identifiers, the method comprising:

for each user identifier of the plurality of user identifiers, obtaining a respective SIP cluster identifier from a user cluster information repository;

grouping each user identifier into a plurality of groups of user identifiers according to the SIP cluster identifier obtained for each user identifier, each group of user identifiers is associated with a SIP cluster identifier such that the user identifiers of a group of user identifiers have the same obtained SIP cluster identifier;

for each SIP cluster identifier for which there is a group of user identifiers:

sending a request for availability status information in a single message to a SIP cluster associated with the SIP cluster identifier, the request containing the user identifiers of the group of user identifiers associated with the SIP cluster identifier;

receiving a response in a single message from the SIP cluster associated with the SIP cluster identifier, the response containing availability status information for the user identifiers belonging to the group of user identifiers associated with the SIP cluster identifier;

receiving a request to obtain availability status in respect of the plurality of user identifiers; and

based on the received request to obtain availability status information, determining a respective availability status for each user identifier of the group of user identifiers associated with the SIP cluster identifier and responding to the request with the respective availability status for each user identifier of the group of user identifiers associated with the SIP cluster identifier.

2. The method of claim 1 wherein determining each availability status comprises determining the availability status to be one of available, unavailable and unknown.

3. The method of claim 1 wherein receiving the request to obtain availability status in respect of the plurality of user identifiers comprises receiving the request from a SIP node, the method further comprising sending a response to the SIP node containing the availability status for the user identifiers of the request.

4. The method of claim 3 wherein receiving the request from a SIP node comprises receiving the request from a SIP infrastructure node.

5. The method of claim 3 wherein receiving the request from a SIP node comprises receiving the request from a SIP endpoint.

6. The method of claim 1 wherein:

receiving the request comprises SIP method invocation.

7. The method of claim 1 wherein:

for each SIP cluster identifier for which there is a group of user identifiers, sending the request for availability status information in the single message to the SIP cluster associated with the SIP cluster identifier, the request containing the user identifiers of the group comprises using SIP method invocation.

8. A SIP node comprising:

a multi-user availability status handler configured to, in respect of obtaining availability status in respect of a plurality of user identifiers:

for each user identifier of the plurality of user identifiers, obtain a respective SIP cluster identifier;

group each user identifier into a plurality of groups of user identifiers according to the SIP cluster identifier obtained for each user identifier, each group of user identifiers is associated with a SIP cluster identifier such that the user identifiers of a group of user identifiers have the same obtained SIP cluster identifier;

for each SIP cluster identifier for which there is a group of user identifiers:

send a request for availability status information in a single message to a SIP cluster associated with the SIP cluster identifier, the request containing the user identifiers of the group of user identifiers associated with the SIP cluster identifier;

receive a response in a single message from the SIP cluster associated with the SIP cluster identifier, the response containing availability status information for the user identifiers belonging to the group of user identifiers associated with the SIP cluster identifier;

receive a request to obtain availability status in respect of the plurality of user identifiers; and

based on the received request to obtain availability status information, determine a respective availability status for each user identifier of the group of user identifiers associated with the SIP cluster identifier and respond to the request with the respective availability status for each user identifier of the group of user identifiers associated with the SIP cluster identifier.

9. A system comprising:

a plurality of SIP nodes that are interconnected with SIP connectivity, the plurality of nodes being arranged in at least two SIP clusters, each SIP cluster having:

a local binding repository containing availability status information for each user identifier for which there is a SIP endpoint connected to a SIP node within the SIP cluster; and

a respective multi-user availability status handler;

a user cluster information repository indicating a respective SIP cluster identifier of a SIP cluster to which a SIP endpoint of each of a plurality of user identifiers is expected to be connected;

wherein each multi-user availability status handler is configured to, in respect of obtaining availability status in respect of a plurality of user identifiers:

for each user identifier of the plurality of user identifiers, obtain a respective SIP cluster identifier from the user cluster information repository;

group each user identifier into a plurality of groups of user identifiers according to the SIP cluster identifier obtained for each user identifier, each group of user identifiers is associated with a SIP cluster identifier such that the user identifiers of a group of user identifiers have the same obtained SIP cluster identifier;

for each SIP cluster identifier for which there is a group of user identifiers:

send a request for availability status information in a single message to the SIP cluster associated with the SIP cluster identifier, the request containing the user identifiers of the group of identifiers associated with the SIP cluster identifier;

receive a response in a single message from the SIP cluster associated with the SIP cluster identifier, the response containing availability status information for the user identifiers belonging to the group of user identifiers associated with the SIP cluster identifier

receive a request to obtain availability status in respect of the plurality of user identifiers from a SIP node; and

based on the received request to obtain availability status information, determine a respective availability status for each user identifier of the group of user identifiers associated with the SIP cluster identifier and send a response to the SIP node with the respective availability status for each user identifier of the group of user identifiers associated with the SIP cluster identifier.

10. The system of claim 9 wherein:

SIP method invocation is used to request availability status of the plurality of users;

for each SIP cluster identifier for which there is a group of user identifiers, SIP method invocation is used to send a request for availability status information in a single message to the SIP cluster associated with the SIP cluster identifier, the request containing the user identifiers of the group.

11. The system of claim 9 wherein each multi-user availability status handler is further configured to:

based on the received response for each SIP cluster identifier for which there is a group of user identifiers, determine a respective availability status for each user identifier and respond to the request with the respective availability status for each user.

12. The system of claim 11 wherein availability status comprising one of available, unavailable and unknown.

13. A non-transitory-computer readable storage medium having computer executable instructions stored thereon for obtaining availability status in respect of a plurality of user identifiers, the computer executable instructions comprising instructions for:

for each user identifier of a plurality of user identifiers, obtaining a respective SIP cluster identifier;

grouping each user identifier into a plurality of groups of user identifiers according to the SIP cluster identifier obtained for each user identifier, each group of user identifiers is associated with a SIP cluster identifier such that the user identifiers of a group of user identifiers have the same obtained SIP cluster identifier;

for each SIP cluster identifier for which there is a group of user identifiers:

sending a request for availability status information in a single message to a SIP cluster associated with the SIP cluster identifier, the request containing the user identifiers of the group of user identifiers associated with the SIP cluster identifier;

receiving a response in a single message from the SIP cluster associated with the SIP cluster identifier, the response containing availability status information for the user identifiers belonging to the group of user identifiers associated with the SIP cluster identifier;

receiving a request to obtain availability status in respect of the plurality of user identifiers; and

based on the received request to obtain availability status information, determining a respective availability status for each user identifier of the group of user identifiers associated with the SIP cluster identifier and responding to the request with the respective availability status for each user identifier of the group of user identifiers associated with the SIP cluster identifier.

14. The non-transitory computer readable storage medium of claim 13 wherein determining each availability status comprises determining the availability status to be one of available, unavailable and unknown.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064271/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Nov 6, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034179/0923 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2012
From: ROZINOV, BORIS
To: RESEARCH IN MOTION LIMITED
Reel/Frame 028420/0479 →