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 from a first collaboration client, data submitted as part of a real-time collaboration involving multiple collaboration clients;
queuing the data at a control unit of the collaboration server for dissemination to the other collaboration clients;
operating a virtual client at the control unit of the collaboration server, wherein the virtual client acts as a collaboration client and receives the same queued data from the control unit as the other collaboration clients;
maintaining, by the virtual client, a collaboration status in a virtual screen that comprises a representation of the real-time collaboration;
updating the representation within the virtual screen to include the received data and to track the collaboration status of the real-time collaboration;
establishing a connection with a new collaboration client;
generating a copy of said representation of the real-time collaboration which tracks the updated 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.
0 Assignments
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.
69 Citations
23 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 from a first collaboration client, data submitted as part of a real-time collaboration involving multiple collaboration clients; queuing the data at a control unit of the collaboration server for dissemination to the other collaboration clients; operating a virtual client at the control unit of the collaboration server, wherein the virtual client acts as a collaboration client and receives the same queued data from the control unit as the other collaboration clients; maintaining, by the virtual client, a collaboration status in a virtual screen that comprises a representation of the real-time collaboration; updating the representation within the virtual screen to include the received data and to track the collaboration status of the real-time collaboration; establishing a connection with a new collaboration client; generating a copy of said representation of the real-time collaboration which tracks the updated 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. A non-transitory 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 from a first collaboration client, data submitted as part of the collaboration; queuing said data at the control unit of the collaboration server for dissemination to the other collaboration clients; operating a virtual client at the control unit of the collaboration server, wherein the virtual client acts as a collaboration client and receives the same queued data from the control unit as the other collaboration clients; maintaining, by the virtual client, a collaboration status in a virtual screen that comprises a representation of the real-time collaboration; updating the representation within the virtual screen to include the received data and to track the collaboration status of the real-time collaboration; establishing a connection with a new collaboration client; generating a copy of said representation of the real-time collaboration which tracks the updated 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.
-
-
11. 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 at a control unit of a real-time collaboration server configured to manage a real-time collaboration in which a presenter'"'"'s desktop is shared with other collaboration clients, wherein the virtual client acts as a collaboration client and receives the same queued data from the control unit as the other collaboration 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; queuing the first set of data at the control unit of the collaboration server; maintaining, by the virtual client, a collaboration status in a virtual screen within which the first set of data is rendered 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 the other collaboration clients. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A non-transitory computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method, the method comprising:
-
operating a virtual client at a control unit of a real-time collaboration server configured to manage the real-time collaboration in which a presenter'"'"'s desktop is shared with other collaboration clients, wherein the virtual client acts as a collaboration client and receives the same queued data from the control unit as the other collaboration 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; queuing the first set of data at the control unit of the collaboration server; maintaining, by the virtual client, a collaboration status in a virtual screen within which the first set of data is rendered 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 the other collaboration clients.
-
Specification