Fairly adding documents to a collaborative session
First Claim
1. A computer-implemented method comprising:
- receiving a document for distribution to a plurality of client devices in a collaboration session;
breaking the document into pieces; and
repeatedly, until all pieces of the document are distributed;
selecting a piece of the document for transmission from a first collaboration session queue;
adding the selected piece to a global queue for transmission;
sending the selected piece simultaneously to each of the plurality of client devices;
computing a delay between sending the selected piece and sending a next piece of the document to each of the plurality of client devices based on a size of the selected piece and a minimum network bandwidth, wherein the minimum network bandwidth is determined based on a bandwidth of a client device, of the plurality of client devices, having a limited bandwidth connection;
updating the global queue by adding data from a second collaboration session queue while waiting for the computed delay to send the next piece to each of the plurality of client devices;
synchronizing the sending of the next piece to the plurality of client devices by waiting for the computed delay to send the next piece to each of the plurality of client devices; and
destroying the first collaboration session queue in response to all pieces of document being distributed.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for sharing documents and markup to documents in near real-time. A server coupled with a plurality of client devices via a network is configured to fairly distribute documents to each of the plurality of client devices in one or more collaborative sessions. The server receives a document for distribution to a plurality of client devices associated with a particular collaborative session, breaks the documents into pieces, and repeatedly, until all pieces of the document are distributed: selects a piece of the document for transmission, sends the selected piece to each of the plurality of client devices, computes a delay based on the size of the selected piece and a minimum network bandwidth, and waits for the computed delay.
-
Citations
20 Claims
-
1. A computer-implemented method comprising:
-
receiving a document for distribution to a plurality of client devices in a collaboration session; breaking the document into pieces; and repeatedly, until all pieces of the document are distributed; selecting a piece of the document for transmission from a first collaboration session queue; adding the selected piece to a global queue for transmission; sending the selected piece simultaneously to each of the plurality of client devices; computing a delay between sending the selected piece and sending a next piece of the document to each of the plurality of client devices based on a size of the selected piece and a minimum network bandwidth, wherein the minimum network bandwidth is determined based on a bandwidth of a client device, of the plurality of client devices, having a limited bandwidth connection; updating the global queue by adding data from a second collaboration session queue while waiting for the computed delay to send the next piece to each of the plurality of client devices; synchronizing the sending of the next piece to the plurality of client devices by waiting for the computed delay to send the next piece to each of the plurality of client devices; and destroying the first collaboration session queue in response to all pieces of document being distributed. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
one or more hardware processors; and a memory storing instructions, which when executed by the one or more hardware processors, cause the system to; receive a document for distribution to a plurality of client devices in a collaboration session; break the document into pieces; and repeatedly, until all pieces of the document are distributed; select a piece of the document for transmission from a first collaboration session queue; add the selected piece to a global queue for transmission; send the selected piece simultaneously to each of the plurality of client devices; compute a delay between sending the selected piece and sending a next piece of the document to each of the plurality of client devices based on a size of the selected piece and a minimum network bandwidth, wherein the minimum network bandwidth is determined based on a bandwidth of a client device, of the plurality of client devices, having a limited bandwidth connection; update the global queue by adding data from a second collaboration session queue while waiting for the computed delay to send the next piece to each of the plurality of client devices; synchronize the sending of the next piece to the plurality of client devices by waiting for the computed delay to send the next piece to each of the plurality of client devices; and destroy the first collaboration session queue in response to all pieces of the document being distributed. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer program product comprising a non-transitory computer usable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:
-
receive a document for distribution to the plurality of client devices in a collaboration session; break the document into pieces; and repeatedly, until all pieces of the document are distributed; select a piece of the document for transmission from a first collaboration session queue; add the selected piece to a global queue for transmission; send the selected piece simultaneously to each of the plurality of client devices; compute a delay between sending the selected piece and sending a next piece of the document to each of the plurality of client devices based on a size of the selected piece and a minimum network bandwidth, wherein the minimum network bandwidth is determined based on a bandwidth of a client device, of the plurality of client devices, having a limited bandwidth connection; update the global queue by adding data from a second collaboration session queue while waiting for the computed delay to send the next piece to each of the plurality of client devices; synchronize the sending of the next piece to the plurality of client devices by waiting for the computed delay to send the next piece to each of the plurality of client devices; and destroying the first collaboration session queue in response to all pieces of the document being distributed. - View Dependent Claims (18, 19, 20)
-
Specification