Control unit operations in a real-time collaboration server
First Claim
1. In a real-time collaboration among multiple collaboration clients, a method of tracking the status of the collaboration, the method comprising:
- receiving, at a real-time collaboration server, data submitted as part of a real-time collaboration involving multiple collaboration clients;
updating a representation of the status of the real-time collaboration to include the data;
establishing a connection with a new collaboration client;
generating a copy of said representation of the status of the real-time collaboration; and
transmitting said copy to the new collaboration client to facilitate synchronization of the new collaboration client with the real-time collaboration.
1 Assignment
0 Petitions
Accused Products
Abstract
In a real-time collaboration server, a control unit manages a collaboration mode. The control unit operates a virtual client that maintains a virtual screen reflecting the status of the collaboration (e.g., the contents of a shared desktop or whiteboard). The virtual client renders collaboration data within the virtual screen. New clients are synchronized with an ongoing collaboration by packing and sending them a copy of the virtual screen. The control unit maintains a queue of collaboration data to be sent to participating clients. Each client may have a pointer identifying the queued data it is processing. The queue may be collapsed (e.g., when it reaches a maximum size) by sending a copy of the virtual screen to one or more clients that have not yet consumed old data in the queue; those clients are then updated to skip the queue entries embodied in the virtual screen.
-
Citations
45 Claims
-
1. In a real-time collaboration among multiple collaboration clients, a method of tracking the status of the collaboration, the method comprising:
-
receiving, at a real-time collaboration server, data submitted as part of a real-time collaboration involving multiple collaboration clients;
updating a representation of the status of the real-time collaboration to include the data;
establishing a connection with a new collaboration client;
generating a copy of said representation of the status of the real-time collaboration; and
transmitting said copy to the new collaboration client to facilitate synchronization of the new collaboration client with the real-time collaboration. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of tracking the status of a real-time collaboration involving multiple collaboration clients, the method comprising:
-
receiving, at a real-time collaboration server, data submitted as part of the collaboration;
updating a representation of the status of the real-time collaboration to include the data;
establishing a connection with a new collaboration client;
generating a copy of said representation of the status of the real-time collaboration; and
transmitting said copy to the new collaboration client to facilitate synchronization of the new collaboration client with the real-time collaboration.
-
-
12. A method of monitoring the status of a real-time collaboration in which a presenter'"'"'s desktop is shared with multiple clients, comprising:
-
operating a virtual client within a real-time collaboration server configured to manage a real-time collaboration in which a presenter'"'"'s desktop is shared with multiple clients;
receiving a first set of data from the presenter at the virtual client, wherein said a first set of data comprises one or more media streams;
rendering the first set of data within a virtual screen configured to mimic the presenter'"'"'s desktop;
receiving a media sync modifier configured to trigger a reset of said media streams; and
in response to said media sync modifier, packing said virtual screen for transmission to a client. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of monitoring the status of a real-time collaboration in which a presenter'"'"'s desktop is shared with multiple clients, the method comprising:
-
operating a virtual client within a real-time collaboration server configured to manage the real-time collaboration;
receiving a first set of data from the presenter at the virtual client, wherein said a first set of data comprises one or more media streams;
rendering the first set of data within a virtual screen configured to mimic the presenter'"'"'s desktop;
receiving a media sync modifier configured to trigger a reset of said media streams; and
in response to said media sync modifier, packing said virtual screen for transmission to a client.
-
-
25. A method of managing a queue of collaboration data for clients participating in a real-time collaboration, comprising:
-
operating a control unit configured to manage dissemination of collaboration data to clients participating in a real-time collaboration;
in said control unit, maintaining a queue to store said collaboration data, wherein the clients are configured to consume said collaboration data in the order queued;
for each client, maintaining a reference identifying the queue entry comprising data currently being processed by the client; and
executing a virtual client configured to maintain a virtual screen comprising a portion of the collaboration data; and
collapsing the queue by;
transmitting said virtual screen to a first client; and
updating the client'"'"'s reference to identify the queue entry comprising the newest data included in said virtual screen. - View Dependent Claims (26, 27, 28, 29, 30)
-
-
31. A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of managing a queue of collaboration data for clients participating in a real-time collaboration, the method comprising:
-
operating a control unit configured to manage dissemination of collaboration data to clients participating in a real-time collaboration;
in said control unit, maintaining a queue to store said collaboration data, wherein the clients are configured to consume said collaboration data in the order queued;
for each client, maintaining a reference identifying the queue entry comprising data currently being processed by the client; and
executing a virtual client configured to maintain a virtual screen comprising a portion of the collaboration data; and
collapsing the queue by;
transmitting said virtual screen to a first client; and
updating the client'"'"'s reference to identify the queue entry comprising the newest data included in said virtual screen.
-
-
32. A real-time collaboration system, comprising:
-
a control unit configured to manage a mode of a real-time collaboration in which content of a first attendee'"'"'s client is shared with other attendees'"'"' clients;
a virtual client configured to maintain a virtual screen configured to mirror said content;
a queue in which said control unit stores said content for transmission to the other attendees'"'"' clients;
for each attendee'"'"'s client, a corresponding reference identifying a queue entry containing content the client is currently processing; and
one or more communication modules configured to transmit said content to the other attendees'"'"' clients;
- View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
-
Specification