IP Library Granted Patent US 9,455,946
Granted Patent B1
US 9,455,946 · App. 13/184,490 · Granted Sep 27, 2016

Server for providing unified communications

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,455,946
App. No.
13/184,490
Granted
Sep 27, 2016
Kind
B1
Abstract

A unified communication server or Client Application Server (CAS) comprises a client communication module, a status determination module, an operation determination module, an object manager, and a permissions module. The CAS enables communication between a client device and a plurality of communication services. The CAS receives requests for services from the client devices. The CAS interacts with a plurality of service providers offering different functionality and responds to requests or provides listings of available services in a unified manner despite the service offerings and service providers being disparate. The present invention also includes a number of methods including a method for operating a unified communication server, a method for generating a list of possible operations, a method for determining the status of a user and a method for determining permissions of a user.

Claims (56)

1. A unified communication apparatus, the apparatus comprising:

a hardware processor for receiving a request for a unified communication service, the processor processing the request and sending a reply message, the processor coupled to receive the request from a client device and coupled to send the reply message to the client device; and

an application, stored in memory, coupled for communication with the processor, the application for cooperating with the processor to process the request, the application cooperating with one of a plurality of communication service providers to perform a selected operation based on a selection from a list of operations and generating the reply message for the processor to send, the application coupled for communication with the plurality of communication service providers, and coupled to receive the request from the processor and send the reply message to the processor, the application including a status determination module for identifying a user and determining a status of the user, the status determination module coupled to receive the request and provide status information, the application also including a module for determining a contact and generating the list of operations available for performance, the operations in the list of operations determined based upon the user, the determined status of the user, and the determined contact, the application further including an object manager module to generate an object executable by the processor to perform the selected operation, the object including information necessary to perform the selected operation and permissions to perform the selected operation, the object being included in the reply message sent to the client device.

2. The apparatus of claim 1 , wherein the plurality of communication service providers includes two or more from the group of: a subscription service provider; a telephony service provider; a directory service provider; a configuration service provider; a voicemail service provider; a call history service provider; a presence service provider; an instant messenger service provider; and a plug-in service provider.

3. The apparatus of claim 1 , wherein the application includes a client communication module coupled for communication with the client device, the client communication module for receiving the request and determining a user and a requested operation from the request, the client communication module for generating and sending reply messages.

4. The apparatus of claim 3 , wherein the request and the reply message are in a Client Application Server (CAS) message format, including one of a JSON-based CAS format and a XML-based CAS format.

5. The apparatus of claim 4 , wherein the CAS message format includes one or more headers including (1) “topic;” (2) “message;” (3) “timestamp;” (4) “sequence-id;” and (5) “request-id”.

6. The apparatus of claim 1 wherein the status of the user includes one or more from the group of class of service, client type, device type, state of device of the user, and a user preference.

7. The apparatus of claim 1 , wherein the application includes an operation determination module for determining whether it is possible to perform a requested operation associated with the request, the operation determination module coupled to receiving information identifying the user and a status of the user, and information from at least one service provider, the operation determination module determining whether it is possible to perform the requested operation based on an identity of the user, the status of the user and the information from at least one service provider.

8. The apparatus of claim 1 wherein performing the selected operation requires permission and the application includes a permissions module for determining permissions for a particular user, the permissions module configured to receive information identifying the user and to retrieve permission information from a permissions storage, the permissions module coupled to provide the permission information to enable performance of the selected operation.

9. The apparatus of claim 1 wherein the application includes a module for sending information related to unified communication for display by the client device, the module for sending information responsive to the request.

10. The apparatus of claim 9 wherein the module is a user interface module.

11. The apparatus of claim 9 wherein the module sends information regarding operations that are available for the user based upon one from the group of status of the user, status of a contact, permissions, client type, type of device, and state of device.

12. The apparatus of claim 9 wherein the sending includes formatting the information to present at least one operation of the list of operations available for performance by the user including an indication as to a contact with which the at least one operation is available for performance.

13. The unified communication apparatus of claim 1 , wherein the application further comprises a permissions module for determining one or more permissions, the one or more permissions including whether one or more capabilities have been delegated to a second user to perform operations on behalf of the user.

14. The unified communication apparatus of claim 13 , wherein the application is further configured to allow the second user to set up a call on behalf of the user according to a permission delegated to the second user by the user.

15. A method for unified communication, the method comprising:

receiving a request for a unified communication service from a client;

determining a user;

determining a status of the user;

determining a contact;

generating a list of operations available for performance, the operations in the list of operations determined based upon the user, the determined status of the user, and the determined contact;

sending the list of operations to the client;

receiving a selection of an operation from the list, the selection constituting a selected operation;

generating an object executable by a hardware processor to perform the selected operation, the object including information necessary to perform the selected operation and permissions to perform the selected operation, the object being sent to the client; and

performing at least one unified communication operation based on the selected operation.

16. The method of claim 15 , wherein the at least one unified communication operation is one from the group of: a subscription service operation; a telephony service operation; a directory service operation; a configuration service operation; a voicemail service operation; a call history service operation; a presence service operation; an instant messenger service operation; and a plug-in service operation.

17. The method of claim 15 , further comprising determining a status of the contact.

18. The method of claim 17 wherein determining the status of the contact includes determining one from the group of class of service, client type, device type, state of device of the user, and a user preference.

19. The method of claim 15 wherein determining the status of the user includes determining one from the group of class of service, client type, device type, state of device of the user, and a user preference.

20. The method of claim 15 further comprising determining permissions of the user and wherein the performing at least one unified communication operation is based on the determined permissions of the user.

21. The method of claim 20 further comprising determining whether the user is an administrator and setting the permissions of the user to administration.

22. The method of claim 20 further comprising determining whether the user has a delegated permission and setting the permission of the user to include the delegated permission.

23. The method of claim 15 further comprising sending information for presentation to the user relating to performance of the at least one unified communication operation.

24. The method of claim 15 wherein performing the at least one unified communication operation comprises determining whether the performing generates output data and sending the output data to the client.

25. The method of claim 23 wherein the sending includes formatting the information to present at least one operation of the list of operations available for performance by the user including an indication as to a contact with which the at least one operation is available for performance.

26. The method of claim 15 further comprising determining one or more permissions, the one or more permissions including whether one or more capabilities have been delegated to a second user to perform operations on behalf of the user.

27. The method of claim 26 , wherein the application is further configured to allow the second user to set up a call on behalf of the user according to a permission delegated to the second user by the user.

28. A computer program product comprising a non-transitory computer readable medium storing a computer readable program, wherein the computer readable program when executed on a computer causes the computer to perform steps of:

receiving a request for a unified communication service from a client;

determining a user;

determining a status of the user;

determining a contact;

generating a list of operations available for performance, the operations in the list of operations determined based upon the user, the determined status of the user, and the determined contact;

sending the list of operations to the client;

generating an object executable by the computer to perform a selected operation, the object including information necessary to perform the selected operation and permissions to perform the selected operation, the object being included with the list of operations sent to the client;

receiving a selection of an operation from the list; and

performing at least one unified communication operation based on the selection of the operation.

29. The computer program product of claim 28 , wherein the computer readable program causes the computer to perform further steps comprising determining a status of the contact.

30. The computer program product of claim 29 , wherein the determining the status of the contact includes determining one from the group of class of service, client type, device type, state of device of the user, and a user preference.

31. The computer program product of claim 28 , wherein the determining the status of the user includes determining one from the group of class of service, client type, device type, state of device of the user, and a user preference.

32. The computer program product of claim 28 , wherein the computer readable program causes the computer to perform further steps comprising determining permissions of the user and wherein the performing at least one unified communication operation is based on the determined permissions of the user.

33. The computer program product of claim 28 , wherein the computer readable program causes the computer to perform further steps comprising determining whether the user is an administrator and setting the permission of the user to administration.

34. The computer program product of claim 28 , wherein the computer readable program causes the computer to perform further steps comprising determining whether the user has a delegated permission and setting the permission of the user to include the delegated permission.

35. The computer program product of claim 28 , wherein the computer readable program causes the computer to perform further steps comprising sending information for presentation to the user relating to performance of the at least one unified communication operation.

36. The computer program product of claim 35 , wherein the computer readable program causes the computer to perform further steps comprising formatting the information to present at least one operation of the list of operations available for performance the user including an indication as to a contact with which the operation is available for performance.

Assignments (23)
SECURITY INTEREST Recorded Jun 30, 2025
From: MLN US HOLDCO LLC; MITEL (DELAWARE), INC.; MITEL NETWORKS CORPORATION; MITEL NETWORKS, INC.
To: U.S. PCI SERVICES, LLC
Reel/Frame 071758/0843 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2025
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: MITEL (DELAWARE), INC.; MITEL COMMUNICATIONS, INC.; MITEL NETWORKS, INC.; MITEL NETWORKS CORPORATION
Reel/Frame 071712/0821 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2025
From: ANKURA TRUST COMPANY, LLC
To: MITEL (DELAWARE), INC.; MITEL COMMUNICATIONS, INC.; MITEL CLOUD SERVICES, INC.; MITEL NETWORKS, INC.; MITEL NETWORKS CORPORATION
Reel/Frame 071722/0721 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2025
From: ACQUIOM AGENCY SERVICES LLC
To: MITEL (DELAWARE), INC.; MITEL NETWORKS, INC.; MITEL NETWORKS CORPORATION
Reel/Frame 071730/0632 →
SECURITY INTEREST Recorded Jun 20, 2025
From: MITEL (DELAWARE), INC.; MITEL NETWORKS CORPORATION; MITEL NETWORKS, INC.
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 071676/0815 →
SECURITY INTEREST Recorded Mar 12, 2025
From: MITEL (DELAWARE), INC.; MITEL NETWORKS CORPORATION; MITEL NETWORKS, INC.
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 070689/0857 →
NOTICE OF SUCCCESSION OF AGENCY - 2L Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 069896/0001 →
NOTICE OF SUCCCESSION OF AGENCY - 3L Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 070006/0268 →
NOTICE OF SUCCESSION OF AGENCY - 5L Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ANKURA TRUST COMPANY, LLC
Reel/Frame 069897/0046 →
NOTICE OF SUCCESSION OF AGENCY - 4L Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ANKURA TRUST COMPANY, LLC
Reel/Frame 069896/0827 →
NOTICE OF SUCCCESSION OF AGENCY - PL Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 069895/0755 →
SECURITY INTEREST Recorded Nov 1, 2022
From: MITEL (DELAWARE), INC.; MITEL NETWORKS, INC.; MITEL COMMUNICATIONS, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 061830/0715 →
SECURITY INTEREST Recorded Nov 1, 2022
From: MITEL (DELAWARE), INC.; MITEL NETWORKS, INC.; MITEL COMMUNICATIONS, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 061830/0643 →
SECURITY INTEREST Recorded Nov 1, 2022
From: MITEL (DELAWARE), INC.; MITEL NETWORKS, INC.; MITEL COMMUNICATIONS, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 061830/0760 →
SECURITY INTEREST Recorded Dec 13, 2018
From: MITEL NETWORKS, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047909/0814 →
SECURITY INTEREST Recorded Dec 13, 2018
From: MITEL NETWORKS, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047988/0478 →
RELEASE OF SECURITY INTEREST Recorded Dec 3, 2018
From: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
To: SHORETEL, INC.
Reel/Frame 047713/0843 →
MERGER AND CHANGE OF NAME Recorded Oct 29, 2018
From: SHORETEL, INC.; MITEL NETWORKS, INC.
To: SHORETEL, INC.
Reel/Frame 047339/0346 →
CHANGE OF NAME Recorded Oct 29, 2018
From: SHORETEL, INC.
To: MITEL NETWORKS, INC.
Reel/Frame 047339/0408 →
RELEASE OF SECURITY INTEREST Recorded Sep 25, 2017
From: SILICON VALLEY BANK
To: SHORETEL, INC.
Reel/Frame 043993/0430 →
SECURITY INTEREST Recorded Sep 25, 2017
From: SHORETEL, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 043829/0711 →
SECURITY INTEREST Recorded Oct 23, 2014
From: SHORETEL, INC.
To: SILICON VALLEY BANK
Reel/Frame 034038/0741 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2011
From: TOVINO, MICHAEL S.W.; OKITA, GLEN K.; OKINO, LOIS; PATEL, ASHVINKUMAR H.; ACHMANOV, IOURI; TSAI, MEIGY
To: SHORETEL, INC.
Reel/Frame 026608/0186 →