IP Library › Granted Patent US 8,176,086
Granted Patent B2
US 8,176,086 · App. 10/999,901 · Granted May 8, 2012

Methods and apparatus for determining a presence of a user

Assignee: Avaya Inc.
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 8,176,086
App. No.
10/999,901
Filed
Nov 30, 2004
Granted
May 8, 2012
Kind
B2
Art Unit
2142
USPC
707/104.1
Abstract

Methods and apparatus are disclosed for collecting presence information about a user from one or more presence sources associated with the user, such as applications, devices and locations. A presence agent is associated with each presence source; and the presence agents provide presence information to one or more presence servers. Typically, the presence agents execute on a processor associated with the corresponding presence source. The presence agent reports one or more of macropresence events and micropresence events. The presence agent optionally prompts the user to update the presence information based on one or more criteria, such as exceeding a time threshold since the last presence event. Continuous presence functions are generated for each presence source that characterize the likelihood of the user to be present on the corresponding presence source at a given time.

Claims (89)

1. A method comprising:

establishing, by a terminal, a data connection with a presence server at time T 1 ;

transmitting, by the terminal, a macro-presence event to the presence server via the data connection;

detecting, by the terminal, a first user input at time T 2 , wherein the first user input is indicative of a first micro-presence event that is different from the macro-presence event, and wherein time T 1 <time T 2 ;

determining, by the terminal, whether the first micro-presence event falls within t time units of a prior micro-presence event recorded by the terminal;

transmitting, by the terminal, the first micro presence event to the presence server in response to determining that the first micro-presence event fails to fall within t time units of the prior micro-presence event; and

establishing, by the terminal, a communications session in response to a selection performed by the presence server, wherein the terminal is selected from a plurality of terminals based on the fact that a first value computed for the first micro-presence event has a greater presence and availability status than those values computed for the plurality of terminals.

2. The method of claim 1 further comprising:

receiving, by the terminal, a signal from the presence server, wherein the signal is to prompt a user of the terminal to update the presence and availability status of the terminal; and

prompting the user, by the terminal, to update the presence and availability status of the terminal in response to receiving the signal from the presence server; and

transmitting, by the terminal, a second micro-presence event to the presence server in response to receiving a second user input after the terminal prompts the user.

3. The method of claim 1 , further comprising:

receiving, by the terminal, a second user input and a third user input;

adjusting, by the terminal, in response to receiving the second user input, a continuous function to establish how available the user desires to be with respect to a first subscriber; and

adjusting, by the terminal, in response to receiving the third user input, the continuous function to establish how available the user desires to be with respect to a second subscriber,

wherein, as a result of adjusting the continuous function based on the second user input and the third user input, a first availability of the user with respect to the first subscriber differs from a second availability of the user with respect to the second subscriber.

4. The method of claim 1 , wherein transmitting the macro-presence event includes transmitting a telephone number of the terminal to the presence server.

5. The method of claim 1 , wherein the presence server selects the terminal from the plurality of terminals based on a ranking of the first value in an ordered list established by the presence server.

6. The method of claim 1 , further comprising:

computing, by the terminal, a second value using a continuous function;

determining, by the terminal, whether the second value falls below a configurable threshold;

prompting a user, by the terminal, to update the presence and availability status of the terminal after determining that the second value falls below the configurable threshold; and

transmitting, by the terminal, a second micro-presence event to the presence server in response to receiving a second user input after the terminal prompts the user.

7. The method of claim 1 , wherein the macro-presence event is at least one of a powering-on, a powering-down, and an inactive status of the terminal.

8. The method of claim 1 , wherein transmitting the first micro-presence event from the terminal to the presence server includes transmitting an indication of a button press received at the terminal that invoked transmission of the first micro-presence event.

9. A method comprising:

receiving, by a presence server, a respective micro-presence event from each of a plurality of sources associated with a user, wherein the presence server receives each respective micro-presence event from one of the plurality of sources at different times based on a temporal interval established by each source;

in a first computation, computing a first value for each source based on their respective micro-presence event, wherein the first value is computed by the presence server using a continuous function;

receiving, by the presence server, a query to determine which source in the plurality of sources has a greater likelihood to be available at time T 1 to establish a communications session;

determining, by the presence sever, that a first source in the plurality of sources has a greater likelihood of being available at time T 1 based at least in part on the first value computed for each source;

selecting, by the presence server, the first source in the plurality of sources based on the determination; and

transmitting, by the presence server, a response to a subscriber indicating that the first source in the plurality of sources has the greater likelihood of being available at time T 1 to establish the communications session.

10. The method of claim 9 , further comprising:

ranking, by the presence server, each source in a list after the first computation, wherein the presence server ranks each source associated with the user in descending order based on the first value computed for each source.

11. The method of claim 10 , wherein the presence server determines which source has the greater likelihood to be available at time T 1 based on the list, and wherein selecting the first source in the plurality of sources is based on where the first value ranks in the list.

12. The method of claim 9 , wherein the presence server re-computes the continuous function for each source on a continuous scale to obtain a current level of presence and availability of the user at each source.

13. The method of claim 9 , further comprising:

computing, by the presence server, at least one of an average and a weighted average for the plurality of sources using the continuous function, and wherein the at least one of the average and the weighted average of the plurality of sources enables the subscriber to discern an overall presence of the user.

14. The method of claim 9 , further comprising:

storing, by the presence server, a plurality of timestamps, wherein each timestamp of the plurality of timestamps is associated with a corresponding micro-presence event that is received from each source in the plurality of sources.

15. The method of claim 9 , further comprising:

receiving, by the presence server, an indication of a user input that invoked each source to transmit their respective micro-presence event, and wherein the user input transmitted by each source is indicative of a particular type of user input.

16. The method of claim 9 , further comprising:

establishing at different times, by the presence server, a data connection with each source of the plurality of sources, wherein the data connection is established before receiving the respective micro-presence event from each source; and

receiving, by the presence server, a macro-presence event from each source via the data connection, and wherein the macro-presence event and the respective micro-presence event are different presence events.

17. The method of claim 9 , further comprising:

re-computing, by the presence server, a second value for the first source in the plurality of sources using the continuous function;

determining, by the presence server, whether the second value computed for the first source falls below a threshold;

transmitting, by the presence server, a signal to a presence agent of the first source in response to determining that the second value falls below the threshold;

wherein the signal is to prompt the user to update a presence status of the first source through user interaction with the first source.

18. The method of claim 9 , further comprising:

determining, by the presence server, whether the time in which the first computation of the continuous function for each source exceeds a threshold; and

re-computing, by the presence server, a second value for each source using the continuous function;

wherein the re-computation is in response to the presence server determining that the time of the first computation performed for each source exceeds the threshold.

19. A terminal comprising:

a memory; and

a processor, coupled to the memory, operative to:

establish a data connection with a presence server at time T 1 ;

transmit a macro-presence event to the presence server via the data connection;

detect a first user input at time T 2 , wherein the first user input is indicative of a first micro-presence event that is different from the macro-presence event, and wherein time T 1 <time T 2 ;

determine whether the first micro-presence event falls within t time units of a prior micro-presence event recorded by the terminal;

transmit the first micro presence event to the presence server in response to determining that the first micro-presence event fails to fall within t time units of the prior micro-presence event; and

establish a communications session in response to a selection performed by the presence server, wherein the terminal is selected from a plurality of terminals based on the fact that a first value computed for the first micro-presence event has a greater presence and availability status than those values computed for the plurality of terminals.

20. The terminal of claim 19 , wherein the processor is further configured to:

receive a signal from the presence server, wherein the signal is to prompt a user of the terminal to update the presence and availability status of the terminal; and

prompt the user to update the presence and availability status of the terminal in response to receiving the signal from the presence server; and

transmit a second micro-presence event to the presence server in response to receiving a second user input after the user is prompted.

21. The terminal of claim 19 , wherein the processor is further configured to:

receive a second user input and a third user input;

adjust, in response to receiving the second user input, a continuous function to establish how available the user desires to be with respect to a first subscriber; and

adjust, in response to receiving the third user input, the continuous function to establish how available the user desires to be with respect to a second subscriber;

wherein, as a result of adjusting the continuous function based on the second user input and the third user input, the availability of the user with respect to the first subscriber is different than the availability of the user with respect to the second subscriber.

22. The terminal of claim 19 , wherein transmitting the macro-presence event includes transmitting a telephone number of the terminal via the data connection established with the presence server.

23. The terminal of claim 19 , wherein selecting the terminal from the plurality of terminals by the presence server is also based on the fact that the first value computed for the first micro-presence event is ranked first in an ordered list established by the presence server.

24. The terminal of claim 19 , wherein the processor is further configured to:

compute a second value using the continuous function;

determine whether the second value falls below a configurable threshold;

prompt a user to update the presence and availability status of the terminal after determining that the second value falls below the configurable threshold; and

transmit a second micro-presence event to the presence server in response to receiving a second user input after the user is prompted.

25. The terminal of claim 19 , wherein the macro-presence event is at least one of a powering-on, a powering-down, and an inactive status of the terminal.

26. The terminal of claim 19 , wherein

transmitting the first micro-presence to the presence server includes transmitting an indication of a button press received at the terminal that invoked the transmission of the first micro-presence event.

27. An article of manufacturer comprising a recordable medium containing instructions, which when executed by a processor, cause the processor to perform steps comprising:

establishing a data connection with a presence server at time T 1 ;

transmitting a macro-presence event to the presence server via the data connection;

detecting a first user input at time T 2 , wherein the first user input is indicative of a first micro-presence event that is different from the macro-presence event, and wherein time T 1 <time T 2 ;

determining whether the first micro-presence event falls within t time units of a prior micro-presence event recorded by the terminal;

transmitting, by the terminal, the first micro presence event to the presence server in response to determining that the first micro-presence event fails to fall within t time units of the prior micro-presence event; and

establishing a communications session in response to a selection performed by the presence server, wherein the terminal is selected from a plurality of terminals based on the fact that a first value computed for the first micro-presence event has a greater presence and availability status than those values computed for the plurality of terminals.

Assignments (24)
(SECURITY INTEREST) GRANTOR'S NAME CHANGE Recorded Sep 21, 2023
From: AVAYA INC.
To: AVAYA LLC
Reel/Frame 065019/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063690/0359 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 4, 2023
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063542/0662 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 3, 2023
From: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; KNOAHSOFT INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT]
Reel/Frame 063742/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: AVAYA INC.; INTELLISIST, INC.; AVAYA MANAGEMENT L.P.; AVAYA CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 061087/0386 →
BANKRUPTCY COURT ORDER RELEASING THE SECURITY INTEREST RECORDED AT REEL/FRAME 020156/0149 Recorded Jul 25, 2022
From: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
To: AVAYA, INC.; AVAYA TECHNOLOGY LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES
Reel/Frame 060953/0412 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
RELEASE OF SECURITY INTEREST Recorded Jan 9, 2018
From: CITICORP USA, INC.
To: AVAYA, INC.; SIERRA HOLDINGS CORP.; AVAYA TECHNOLOGY, LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.
Reel/Frame 045032/0213 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 025863/0535 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST, NA
To: AVAYA INC.
Reel/Frame 044892/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
SECURITY AGREEMENT Recorded Feb 22, 2011
From: AVAYA INC., A DELAWARE CORPORATION
To: BANK OF NEW YORK MELLON TRUST, NA, AS NOTES COLLATERAL AGENT, THE
Reel/Frame 025863/0535 →
CONVERSION FROM CORP TO LLC Recorded May 12, 2009
From: AVAYA TECHNOLOGY CORP.
To: AVAYA TECHNOLOGY LLC
Reel/Frame 022677/0550 →
REASSIGNMENT Recorded Jun 26, 2008
From: AVAYA TECHNOLOGY LLC; AVAYA LICENSING LLC
To: AVAYA INC
Reel/Frame 021156/0082 →
SECURITY AGREEMENT Recorded Nov 28, 2007
From: AVAYA, INC.; AVAYA TECHNOLOGY LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.
To: CITICORP USA, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 020166/0705 →
SECURITY AGREEMENT Recorded Nov 27, 2007
From: AVAYA, INC.; AVAYA TECHNOLOGY LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 020156/0149 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2005
From: JOHN, AJITA; KLEMM, REINHARD P.; SELIGMANN, DOREE D.; SHAN, XUESHAN
To: AVAYA TECHNOLOGY CORP.
Reel/Frame 016261/0954 →
Continuity (1)
Related Publication 20060117050A1 · Jun 1, 2006