Architecture for an extensible real-time collaboration system
First Claim
1. A method performed by a computing system for providing real-time collaboration services in an application, comprising:
- instantiating an activity object, the activity object having an application program interface for providing a collaboration service; and
invoking methods of the application program interface, the invoked methods providing management services and content communications services between applications that are communicating information of the collaboration service.
2 Assignments
0 Petitions
Accused Products
Abstract
An architecture for an extensible real-time collaboration system is provided. The architecture presents a unified application program interface for writing application programs that use communications protocols. The architecture has activity objects, endpoint objects, and multiple media stacks. These objects may use various communications protocols, such as Session Initiation Protocol or Real-Time Transport Protocol to send and receive messages. The activity objects, endpoint objects, and multiple media stacks may each have one or more APIs that an application developer can use to access or provide collaboration-related functionality. These objects map the API to the underlying implementation provided by other objects. Using the activity objects enables a developer to provide less application logic than would otherwise be necessary to provide complex collaboration services.
-
Citations
24 Claims
-
1. A method performed by a computing system for providing real-time collaboration services in an application, comprising:
-
instantiating an activity object, the activity object having an application program interface for providing a collaboration service; and
invoking methods of the application program interface, the invoked methods providing management services and content communications services between applications that are communicating information of the collaboration service. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An extensible real-time collaboration system, comprising:
-
multiple media stack objects;
an endpoint object, the endpoint object for providing or receiving signaling information; and
multiple activity objects, wherein the activity objects provide an application program interface to applications and utilizes the multiple media stack objects and endpoint object to provide collaboration services, further wherein the application uses the application program interface and does not need to provide logic to coordinate the media stack objects and endpoint object. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer-readable medium having computer-executable instructions for providing an extensible real-time collaboration system, comprising:
-
providing an application program interface relating to a real-time collaboration component having an implementation;
receiving another real-time collaboration component having another implementation; and
providing the application program interface relating to the other real-time collaboration component even though the implementation of the real-time collaboration component is not identical to the implementation of the other real-time collaboration component. - View Dependent Claims (23, 24)
-
Specification