IP Library Granted Patent US 9,363,298
Granted Patent B2
US 9,363,298 · App. 13/786,242 · Granted Jun 7, 2016

Methods and systems for aggregating presence information to provide a simplified unified presence

Inventors: Michael Colbert (Debary, FL); Michael Gray (Montclair, NJ); Yongqian Zheng (Encino, CA); Shen-Yuan Michael Yap (Woodland Hills, CA)
Assignee: BlackBerry Limited
H04L65/1066H04L12/589H04L51/36H04L67/24H04L65/1006
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,363,298
App. No.
13/786,242
Granted
Jun 7, 2016
Kind
B2
Abstract

Methods and systems for providing simplified presence for a user are described. The user has a plurality of associated communication devices registered with a communications server, and each communication device enables at least one communication service class. The server has a user data entry associating the user with each of the plurality of communication devices. To hide the details of the user-associated devices from third parties, a virtual device is defined and associated with the user. Presence information received at the server from the various devices is aggregated together to create aggregated presence information that indicates at least the service classes available from the user-associated devices based on the received presence information. A virtual device presence document is generated containing the aggregated presence information and is provided to a presence server as presence information associated with the user.

Claims (42)

1. A method for initiating a communication session between a first party and a second party using one of a plurality of communication service classes, wherein a communications server stores an association between the second party and a plurality of communication device interfaces, wherein each communication device interface has an associated device address and is capable of communicating using one of the plurality of communication service classes, and wherein the plurality of communication device interfaces comprises a first interface of a first communication device configured to communicate using a first communication service class over a first IP-based network, and a second interface of the first communication device configured to communicate using the first communication service class over a second IP network, the method comprising:

for each of the plurality of communication service classes, receiving at a presence server user presence information indicating the second party's availability to communicate via the communication service class on one or more of the communication device interfaces;

for each of the plurality of communication service classes, communicating the user presence information from the presence server to the first party, wherein the communicated user presence information includes a virtual device address associated with the second party but excludes identification of any of the communication device interfaces and excludes the device addresses of the communication device interfaces;

receiving at the communications server a message from the first party to request a communication session with the second party which identifies the first communication service class excluding the identification of any of the communication device interfaces;

communicating the session request from the communications server to two or more of the communication device interfaces including the first interface and the second interface, based on rules stored on the communications server;

receiving at the communications server instructions from the second party to initiate the communication session on the first interface; and

initiating the communication session between the first party and the first interface using the communications server.

2. The method claimed in claim 1 , wherein the communication session initiated by the communications server has a first leg from the first party to the communications server and a second leg from the communications server to the first communication device interface.

3. The method claimed in claim 1 , wherein the step of communicating the session request to one or more of the communication device interfaces comprises communicating the session request to a plurality of the communication device interfaces simultaneously.

4. The method claimed in claim 1 , wherein the step of communicating the session request to one or more of the communication device interfaces comprises communicating the session request to a plurality of the communication device interfaces sequentially.

5. The method claimed in claim 1 , wherein the rules stored on the communications server are at least in part determined by user preferences set by the second party.

6. The method claimed in claim 1 , wherein the plurality of communication device interfaces capable of communicating using a communication service class comprises a plurality of interfaces on a single communication device each of which is capable of communicating using the communication service class.

7. The method claimed in claim 1 , wherein the plurality of communication device interfaces capable of communicating using a communication service class comprises a plurality of communications devices each of which has at least one interface capable of communicating using the communication service class.

8. The method claimed in claim 1 , wherein the user presence information is associated with a user address.

9. The method claimed in claim 8 , wherein the user address is not linked to any one of the communication device interfaces.

10. A communications server for initiating communication sessions for a user using one of a plurality of communication service classes, the user having a plurality of associated communication device interfaces, each communication device interface having an associated device address and enabling one of the plurality of communication service classes, and wherein the plurality of associated communication device interfaces comprises a first interface of a first communication device configured to communicate using a first communication service class over a first IP-based network, and a second interface of the first communication device configured to communicate using the first communication service class over a second IP network, the communications server comprising:

a network interface for connecting the server to an IP network;

a memory storing an association between the user with each of the plurality of communication device interfaces;

a processor; and

the memory containing instructions executable by the processor to:

for each of the plurality of communication service classes, communicating, to a first party, user presence information indicating the user's availability to communicate via the communication service class on one or more of the communication device interfaces, wherein the communicated user presence information includes a virtual device address associated with the second party but does not identify the communication device interfaces and does not identify the device addresses of the communication device interfaces;

receive a message from the first party to request a communication session with the user which identifies the first communication service class, wherein the request does not identify a specific identification of any communication device interface associated with the user;

communicate the session request to two or more of the communication device interfaces including the first interface and the second interface, based on rules stored in the memory;

receive instructions from the user to initiate the communication session on the first interface; and

initiate the communication session between the first party and the first interface.

11. The communications server claimed in claim 10 , wherein the communication session initiated by the communications server has a first leg from the first party to the communications server and a second leg from the communications server to the first communication device interface.

12. The communications server claimed in claim 10 , wherein the processor is further configured to communicate the session request to a plurality of the communication device interfaces simultaneously.

13. The communications server claimed in claim 10 , wherein the processor is further configured to communicate the session request to a plurality of the communication device interfaces sequentially.

14. The communications server claimed in claim 10 , wherein the rules stored in the memory are at least in part determined by user preferences set by the user.

15. The communications server claimed in claim 10 , wherein the request to initiate a communication session with the user identifies the user by a user address.

16. The communications server claimed in claim 15 , wherein:

the user address is not linked to any one of the communication device interfaces; and

the presence manager is further configured to:

associate the user address with one or more of the communication device interfaces based on rules stored in the memory, and

communicate the session request to the one or more associated communication device interfaces.

17. A non-transitory computer readable medium comprising program code executable by a processor of a communication device for initiating a communication session between a first party and a second party using one of a plurality of communication service classes, wherein a communications server stores an association between the second party and a plurality of communication device interfaces, each communication device interface having an associated device address and being capable of communicating using one of the plurality of communication service classes, and wherein the plurality of associated communication device interfaces comprises a first interface of a first communication device configured to communicate using a first communication service class over a first IP-based network, and a second interface of the first communication device configured to communicate using the first communication service class over a second IP network, the code comprising:

computer executable instructions for receiving at a presence server user presence information for each communication service class indicating the second party's availability to communicate via the communication service class on one or more of the communication device interfaces;

computer executable instructions for communicating the user presence information for each communication service class from the presence server to the first party, wherein the communicated user presence information includes a virtual device address associated with the second party but excludes identification of any of the communication device interfaces and excludes the device addresses of the communication device interfaces;

computer executable instructions for receiving at the communications server a message from the first party to request a communication session with the second party which identifies the first communication service class excluding the identification of any of the communication device interfaces;

computer executable instructions for communicating the session request from the communications server to two or more of the communication device interfaces including the first interface and the second interface, based on rules stored on the communications server;

computer executable instructions for receiving at the communications server instructions from the second party to initiate the communication session on the first interface; and

computer executable instructions for initiating the communication session between the first party and the first interface using the communications server.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDED PATENT NUMBER TO REMOVE PATENT NO. 8,873,407 AT PREVIOUSLY RECORDED ON REEL 64066 FRAME 1. ASSIGNOR(S) HEREBY CONFIRMS THE NUNC PRO TUNC ASSIGNMENT EFFECTIVE DATE MARCH 20, 2023. Recorded Feb 2, 2026
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 074921/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT 12817157 APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 064015 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064807/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COVER SHEET AT PAGE 50 TO REMOVE 12817157 PREVIOUSLY RECORDED ON REEL 063471 FRAME 0474. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 064806/0669 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064066/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 16, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064015/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 063471/0474 →
CHANGE OF NAME Recorded Nov 3, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034143/0567 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2013
From: ASCENDENT TELECOMMUNICATIONS INC.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 030259/0789 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2013
From: COLBERT, MICHAEL; GRAY, MICHAEL; YAP, MICHAEL; ZHENG, YONGQIAN
To: ASCENDENT TELECOMMUNICATIONS INC.
Reel/Frame 030187/0651 →
Continuity (2)
Continuation 12235929 · Sep 23, 2008
Related Publication 20130185443A1 · Jul 18, 2013