IP Library Granted Patent US 8,490,119
Granted Patent B2
US 8,490,119 · App. 12/967,770 · Granted Jul 16, 2013

Communication interface for non-communication applications

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,490,119
App. No.
12/967,770
Granted
Jul 16, 2013
Kind
B2
Abstract

Software applications are enabled with multimodal communication capabilities and features associated with enhanced communication systems through a communication application programming interface (API). Applications for document processing, scheduling, audio/video data processing, and/or business operations can exchange communication system data and parameters bi-directionally with components of an enhanced communication system, initiate communication sessions through the application's user interface, and preserve post-communication updates.

Claims (40)

1. A method executed at least in part by a computing device for enabling non-communication applications with enhanced communication capabilities, the method comprising:

exposing a rich communication application programming interface (API) provided by an embedded user interface to a non-communication application, wherein the exposure allows the non-communication application to integrate with enhanced communication systems to achieve rich presence information and perform communication related tasks;

receiving communication-related data from an enhanced communication system through the API;

publishing data to the enhanced communication system through the API; and enabling facilitation of multimodal communication sessions employing a communication user interface integrated to a user interface of the non-communication application through the API, wherein the non-communication application data is accessed through a thin client and exchanged bi-directionally with the communication system;

upon establishment of the communication session that includes application sharing, activating one of an embedded and the attached user interface for facilitating the application sharing.

2. The method of claim 1 , further comprising:

upon completion of a communication session, preserving modifications to non-communication application data and -related data at the non-communication application.

3. The method of claim 1 , further comprising:

employing the received communication-related data and a plurality of parameters in initiation of a communication session.

4. The method of claim 1 , wherein the communication user interface is one of embedded and docked to the non-communication application user interface.

5. The method of claim 1 , wherein the non-communication application is one of locally installed and hosted.

6. The method of claim 1 , wherein the non-communication application provides functionality associated with at least one from a set of: document processing, spreadsheet processing, presentation, analysis, calendaring, scheduling, audio data processing, video data processing, and graphics processing.

7. The method of claim 1 , wherein the multimodal communication sessions include at least one from a set of: an audio modality, a video modality, a data sharing modality, an application sharing modality, white boarding modality, a text messaging modality, an email exchange modality, and an online conferencing modality.

8. The method of claim 7 , wherein the communication-related data includes at least one from a set of: contact information, presence information, and modality information.

9. A computing device executing a non-communication application and capable of connecting to an enhanced communication system, the computing device comprising:

a memory storing instructions;

a communication server, the communication server managing conversations between users over at least one network;

a processor coupled to the memory, the processor executing the non-communication application and exposing a communication application programming interface (API) to the non-communication application in conjunction with the instructions stored in the memory, wherein the communication API is configured to enable the non-communication application to:

receive communication-related data from the enhanced communication system;

manage the users computing device capabilities, applications capabilities, and network capabilities, including one or more of processing power and available memory; publish data to the enhanced communication system;

employ the received communication-related data in initiation of a multimodal communication session;

facilitate the multimodal communication session employing a communication user interface integrated to user interface of the non-communication application; and

preserve a conversation history, newly created data, and modified data during the multimodal communication session,

wherein the communication API includes a communication client object as a root entry point for the non-communication application, a contact manager, a conversation manager, and a device manager.

10. The computing device of claim 9 , wherein the contact manager manages at least one from a set of: individual contact objects, contact group objects, search objects, and subscription objects.

11. The computing device of claim 9 , wherein the conversation manager manages conversation objects that enable the non-communication application to create conversations, modality objects that enable one of starting a modality and accepting-a the modality, participant objects that enable one of addition and removal of participants, an audio channel object for starting and audio conversation, and a video channel object for starting a video conversation.

12. The computing device of claim 9 , wherein the device manager manages registered audio and video devices to facilitate multimodal communications.

13. The computing device of claim 9 , wherein the API further includes a self class to manage permissions objects representing granted permissions for other contacts to access a user's published information and a publication object to enable the non-communication application to publish the users contact information to the enhanced communication system.

14. The computing device of claim 9 , wherein the API further includes one or more extensibility classes that manage an automation object for enabling a user to start conversations through an API call, a conversation window object to enable docking and undocking of a conversation user interface, and a registration object for registering application packages to be used for extensibility.

15. The computing device of claim 9 , wherein the API further includes an object representing the computing devices' capabilities, another object representing the non-communication application's capabilities, and a further object representing network capabilities.

16. A computer-readable memory device with instructions stored thereon for enabling non-communication applications with enhanced communication capabilities, the instructions comprising:

exposing a rich communication application programming interface (API) provided by an embedded user interface to a non-communication application, wherein the exposure allows the non-communication application to integrate with enhanced communication systems to achieve rich presence information, start a conversation, join a conference, start and communicate with participants with different modalities, and perform communication related tasks;

receiving communication-related data from an enhanced communication system;

publishing data to the enhanced communication system; receiving a request from a user to initiate a multimodal communication session through a communication portion of an application user interface enabled by the communication API;

employing the received communication-related data in initiation of a multimodal communication session;

facilitating the multimodal communication session employing a communication user interface integrated to a user interface of the non-communication application; and

upon completion of the multimodal communication session, preserving a conversation history, newly created information, and modifications to non-communication application data and the communication-related data at the non-communication application;

wherein the instructions comprise:

employing the received communication-related data for at least one inherent function of the non-communication application.

17. The computer-readable memory device of claim 16 , wherein the non-communication application user interface is one of a rich client user interface associated with a locally installed application and a browser for accessing a hosted non-communication application.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2011
From: LEUNG, YIU-MING; LIANG, RUI; SHAO, YU; FARJALLA, MARCELO; ZHANG, LI; SOLANO, DANILO PEREZ; OSOBOV, SERGEI
To: MICROSOFT CORPORATION
Reel/Frame 025583/0176 →