IP Library Granted Patent US 8,005,895
Granted Patent B2
US 8,005,895 · App. 12/395,162 · Granted Aug 23, 2011

Distributed routing of conferences using conference identifier

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 8,005,895
App. No.
12/395,162
Granted
Aug 23, 2011
Kind
B2
Abstract

Users attempting to join a conference facilitated by an enhanced communication system employing a network communication protocol such as SIP and having a distributed architecture are enabled to request the conference through a numeric conference identifier. The conference directory identifier is assigned to an associated resource, rather than directly to a pool of resources in the communication system. If a pool is decommissioned, any conference directories with remaining data may be assigned to other pools, like users may be moved, to ensure continuity of the system.

Claims (56)

1. A method to be executed at least in part in a computing device for facilitating conferencing in a distributed communication system, the method comprising:

receiving a request to join a conference, the request including a numeric conference identifier associated with the conference, wherein the numeric conference identifier is generated at conference scheduling time employing a logical inverse of the predefined algorithm by:

combining a numeric identifier assigned to a conference resource and a random number,

appending a ceiling function of a logarithm of the numeric identifier and the random number to generate a string of digits,

reversing the digits in the string of digits, wherein a first and a last digit in the string of digits remain in their place if the last digit is zero,

replacing the digits with a combination of themselves and a digit to their left, wherein the first digit remains unchanged, and

formatting the combination to derive the numeric conference identifier unique to the conference;

determining the conference resource associated with the requested conference based on decoding the numeric conference identifier, wherein the conference resource is part of a distributed architecture of conference resources;

contacting the determined conference resource employing an enhanced network communication protocol; and

facilitating the conference upon receiving an affirmative response from the contacted conference resource.

2. The method of claim 1 , further comprising:

encoding the numeric conference identifier for the conference based on a combination of a conference directory identifier assigned to the conference resource and a local identifier at conference scheduling time; and

providing the numeric conference identifier to a user invited to join the conference.

3. The method of claim 2 , wherein the local identifier is a combination of a recently used identifier with a random number.

4. The method of claim 3 , wherein the combination of the conference directory identifier assigned to the conference resource and the local identifier are formatted according to a predefined algorithm to derive the numeric conference number such that the numeric conference identifier is a pseudo-random number unique to the requested conference.

5. The method of claim 4 , further comprising:

decoding the numeric conference identifier employing a predefined inverse algorithm.

6. The method of claim 1 , wherein the enhanced network communication protocol is Session Initiation Protocol (SIP).

7. The method of claim 6 , wherein determining the conference resource includes determining a SIP Universal Resource Identifier (URI) of the conference resource.

8. The method of claim 1 , wherein the conference resource is part of a Unified Communication (UC) system, and wherein the request is received from subscriber of a non-UC network.

9. The method of claim 8 , wherein the non-UC network includes one of: a Public Switched Telephone Network (PSTN) and a cellular phone network.

10. The method of claim 1 , wherein the conference includes one of an audio conference and a video conference.

11. A communication system for facilitating conferencing within a Unified Communication (UC) network with distributed resource architecture, the system comprising:

a plurality of communication servers configured to facilitate multi-modal communications including conferencing between end-points of the system employing Session Initiation Protocol (SIP);

a mediation server configured to facilitate communication with the plurality of communication servers employing SIP;

a Conference Auto Attendant (CAA) endpoint receiving communications from non-UC network, the CAA endpoint configured to:

receive a request to join a conference from a non-UC network caller, the request including a numeric conference identifier associated with the conference;

generate the numeric conference identifier at conference scheduling time employing a logical inverse of a predefined algorithm by:

combining a numeric identifier assigned to a communication server and a random number;

appending a ceiling function of a logarithm of the numeric identifier and the random number to generate a string of digits;

reversing the digits in the string of digits, wherein a first and a last digit in the string of digits remain in their place if the last digit is zero;

replacing the digits with a combination of themselves and a digit to their left, wherein the first digit remains unchanged; and

formatting the combination to derive the numeric conference identifier unique to the conference;

determine the communication server associated with the requested conference based on decoding the numeric conference identifier according to the predefined algorithm;

contact the determined communication server; and

facilitate the conference upon receiving an affirmative response from the contacted communication server.

12. The system of claim 11 , wherein

the numeric conference identifier is a pseudo-random number designed to increase a user confidence in uniqueness of the number;

the first digit of the numeric conference identifier is a non-zero digit; and

a plurality of conferences managed by the same communication server are assigned numeric conference identifier appearing to be unrelated.

13. The system of claim 11 , wherein the CAA endpoint is further configured to:

contact another communication server in response to one of: receiving a notification from a first contacted communication server that the server is not responsible for the requested conference and receiving a notification that the first contacted communication server is not responsive.

14. The system of claim 11 , further comprising a UC database server configured to store and retrieve issued numeric conference identifiers.

15. A computer-readable memory device with instructions stored thereon for facilitating conferencing within a Unified Communication (UC) network with distributed resource architecture, the instructions comprising:

encoding a numeric conference identifier for a scheduled conference employing a predefined algorithm based on a combination of a conference directory identifier assigned to a conference resource responsible for the scheduled conference and a local identifier by:

formatting the combination to derive the numeric conference identifier unique to the conference;

appending a ceiling function of a logarithm of the conference directory identifier and the numeric identifier to generate a string of digits;

reversing the digits in the string of digits, wherein a first and a last digit in the string of digits remain in their place if the last digit is zero; and

replacing the digits with a combination of themselves and a digit to their left, wherein the first digit remains unchanged;

receiving a request to join the scheduled conference from a non-UC network caller, the request including the numeric conference identifier associated with the conference;

determining a SIP URI of the responsible conference resource associated with the requested conference based on decoding the numeric conference identifier employing an inverse of the predefined algorithm;

contacting the determined conference resource; and

facilitating the conference upon receiving an affirmative response from the contacted conference resource.

16. The computer-readable memory device of claim 15 , wherein the request to join the scheduled conference is received and validated at a CAA endpoint prior to decoding of the numeric conference identifier.

17. The computer-readable memory device of claim 15 , wherein the numeric conference identifier is a number unique to the scheduled conference with a non-zero first digit formatted such that a plurality of conferences associated with the same conference resource are assigned numeric conference identifiers that appear unrelated.

18. The computer-readable memory device of claim 15 , wherein the conference is a multi-modal conference.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2009
From: NARAYANAN, SANKARAN; SEKARAN, DHIGHA; VERMETTE, CHARLES A.; YAN, HAO
To: MICROSOFT CORPORATION
Reel/Frame 022334/0230 →
Continuity (1)
Related Publication 20100223334A1 · Sep 2, 2010