IP Library Granted Patent US 7,653,715
Granted Patent B2
US 7,653,715 · App. 11/343,644 · Granted Jan 26, 2010

Method and system for supporting the communication of presence information regarding one or more telephony devices

Assignee: Microsoft Corporation
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 7,653,715
App. No.
11/343,644
Granted
Jan 26, 2010
Kind
B2
Abstract

A system for detecting and communicating the presence of one or more computing devices is presented. The invention also presents a method and system for aggregating presence information generated by multiple devices associated with a single user. A server acting as a presence agent on behalf of a first user receives and responds to a subscription request generated by a computing device operated by a second wishing to be permitted as a watcher of the first user. When the second user corresponds to access preferences of the first user, a notify message is sent to the second user's device that includes presence information indicative of an activity level and availability level associated with the first user. When the first user employs multiple computing devices, the server generates an aggregate presence document that is representative of the overall presence of the first user.

Claims (47)

1. A method for aggregating presence information associated with a plurality of computing devices that are associated with a user, the method comprising:

receiving from a first computing device a first presence document comprising a first availability level indicating whether the first computing device may receive a communication and a first activity level indicating action in which the user is engaged;

receiving from a second computing device a second presence document comprising a second availability level indicating whether the second computing device may receive a communication and a second activity level indicating action in which the user is engaged;

comparing the first activity level with the second activity level, wherein the second activity level is higher than the first activity level;

based upon the comparison, selecting the first activity level from the first presence document as an aggregate activity level;

creating an aggregate presence document, wherein the aggregate presence document includes the aggregate activity level and an aggregate availability level that is the first availability level of the first presence document; and

providing the aggregate presence document to a watcher device, wherein the aggregate availability level and the aggregate activity level are sufficient to permit the watcher computing device to determine how to submit a communication to the user.

2. The method of claim 1 wherein the first availability level is selected from the group consisting of offline, undetermined, connected, and online.

3. The method of claim 1 wherein the first activity level is selected from the group consisting of no explicit activity, away, at lunch, idle, temporarily unavailable, active, in a call, busy, do not disturb, and always interruptible.

4. The method of claim 1 wherein the first availability level is selected from the group consisting of offline, undetermined, connected, and online and wherein the first activity level is selected from the group consisting of no explicit activity, away, at lunch, idle, temporarily unavailable, active, in a call, busy, do not disturb, and always interruptible.

5. The method of claim 1 wherein the aggregate activity level indicates a likelihood of a communication being accepted by the first computing device or the second computing device.

6. The method of claim 1 wherein the first activity level indicates to override the second activity level.

7. A system for aggregating presence information associated with a plurality of computing devices that are associated with a user, comprising:

a presence server device comprising:

at least one communication connection that:

receives from a first computing device a first presence document comprising a first availability level and a first activity level, the first availability level indicating whether the first computing device may receive a communication and the first activity level indicating action in which the user is engaged;

receives from a second computing device a second presence document comprising a second availability level and a second activity level, the second availability level indicating whether the second computing device may receive a communication and the second activity level indicating action in which the user is engaged; and

provides access to an aggregate presence document;

at least one processing unit; and

a memory, communicatively coupled to the at least one processing unit, that stores:

the first activity level and the first availability level received from the first computing device and the second activity level and the second availability level received from the second computing device; and

computer executable instructions that, when executed by the at least one processing unit:

compares the first activity level with the second activity level, wherein the second activity level is higher than the first activity level;

based upon the comparison, selects the first activity level from the first presence document as an aggregate activity level;

creates an aggregate presence document, wherein the aggregate presence document includes the aggregate activity level and an aggregate availability level that is the first availability level of the first presence document; and

transmits the aggregate presence document via the communication connection to a watcher computing device, wherein the aggregate availability level and the aggregate activity level are sufficient to permit the watcher computing device to determine how to submit a communication to the user.

8. The system of claim 7 wherein the aggregate activity level indicates a likelihood of a communication being accepted by the first computing device or the second computing device.

9. The system of claim 7 wherein the first activity level indicates to override the second activity level.

10. A computer storage medium comprising stored computer-executable instructions that, when executed by a computing device configured as a presence server, cause the presence server to:

receive from a first computing device a first presence document comprising a first availability level indicating whether the first computing device may receive a communication and a first activity level indicating action in which the first computing device or the user is engaged;

receive from a second computing device a second presence document comprising a second availability level indicating whether the second computing device may receive a communication and a second activity level indicating action in which the second computing device or the user is engaged;

comparing the first activity level with the second activity level, wherein the second activity level is higher than the first activity level;

based upon the comparison, select the first activity level from the first presence document as an aggregate activity level;

create an aggregate presence document, wherein the aggregate presence document includes the aggregate activity level and an aggregate availability level that is the first availability level of the first presence document; and

provide the aggregate presence document to a watcher device, wherein the aggregate availability level and the aggregate activity level are sufficient to permit the watcher computing device to determine how to submit a communication to the user.

11. The computer storage medium of claim 10 wherein the first availability level is selected from the group consisting of offline, undetermined, connected, and online.

12. The computer storage medium of claim 10 wherein the first activity level is selected from the group consisting of no explicit activity, away, at lunch, idle, temporarily unavailable, active, in a call, busy, do not disturb, and always interruptible.

13. The computer storage medium of claim 10 wherein the first availability level is selected from the group consisting of offline, undetermined, connected, and online and wherein the first activity level is selected from the group consisting of no explicit activity, away, at lunch, idle, temporarily unavailable, active, in a call, busy, do not disturb, and always interruptible.

14. The computer storage medium of claim 10 wherein the aggregate activity level indicates a likelihood of a communication being accepted by the first computing device or the second computing device.

15. The computer storage medium of claim 10 wherein the first activity level indicates to override the second activity level.

16. A method for aggregating presence information associated with a plurality of computing devices that are associated with a user, the method comprising:

receiving from a first computing device a first presence document comprising a first availability level indicating whether the first computing device may receive a communication and a first activity level indicating action in which the user is engaged;

receiving from a second computing device a second presence document comprising a second availability level indicating whether the second computing device may receive a communication and a second activity level indicating action in which the user is engaged;

comparing the first availability level with the second availability level, wherein the first availability level and the second availability level are within a range of availability-level values and the first availability level is a value that is higher than the second availability level;

based upon the comparison, selecting the first availability level from the first presence document as an aggregate availability level;

creating an aggregate presence document, wherein the aggregate presence document includes the aggregate availability level and an aggregate activity level that is the first activity level of the first presence document; and

providing the aggregate presence document to a watcher device, wherein the aggregate availability level and the aggregate activity level are sufficient to permit the watcher computing device to determine how to submit a communication to the user.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034543/0001 →
Continuity (2)
Continuation 1014567300 · May 15, 2002
Related Publication 20060190525A1 · Aug 24, 2006