A computer readable storage medium comprising instructions that when executed by hardware processing circuitry of a device, configure the device to perform operations comprising: joining a collaboration session providing access to a distributed data structure representing a shared document on which operations are effected by multiple participants at respective devices in the collaboration session; receiving a message identifying contiguously ordered operations on the distributed data structure, wherein the contiguously ordered operations have been assigned sequence numbers by a serialization process and define a collaboration window of the distributed data structure, each of the identified operations having a pending acknowledgment; representing a first version of the distributed data structure, the first version represented to include each of the contiguously ordered operations wherein the representing of the first version of the distributed data structure comprises storing data defining each of the contiguously ordered operations; representing a second version of the distributed data structure to include a first operation, the first operation ordered subsequent to a last operation in the contiguously ordered operations wherein the representing of the second version of the distributed data structure comprises storing first data defining each of the contiguously ordered operations, and storing second data defining the first operation based on the first data; and transmitting a second message to the serialization process indicating the first operation and further indicating that the first operation is applied to the first version of the distributed data structure, the performed operations further comprising: receiving an indication of an updated collaboration window, the updated collaboration window excluding some of the contiguous operations; and performing garbage collection on the excluded operations based on the received indication. joining a collaboration session providing access to a distributed data structure representing a shared document on which operations are effected by multiple participants at respective devices in the collaboration session; receiving a message identifying contiguously ordered operations on the distributed data structure, wherein the contiguously ordered operations have been assigned sequence numbers by a serialization process and define a collaboration window of the distributed data structure, each of the identified operations having a pending acknowledgment; representing a first version of the distributed data structure, the first version represented to include each of the contiguously ordered operations wherein the representing of the first version of the distributed data structure comprises storing data defining each of the contiguously ordered operations; representing a second version of the distributed data structure to include a first operation, the first operation ordered subsequent to a last operation in the contiguously ordered operations wherein the representing of the second version of the distributed data structure comprises storing first data defining each of the contiguously ordered operations, and storing second data defining the first operation based on the first data; and transmitting a second message to the serialization process indicating the first operation and further indicating that the first operation is applied to the first version of the distributed data structure, the performed operations further comprising: receiving an indication of an updated collaboration window, the updated collaboration window excluding some of the contiguous operations; and performing garbage collection on the excluded operations based on the received indication. receiving an indication of an updated collaboration window, the updated collaboration window excluding some of the contiguous operations; and performing garbage collection on the excluded operations based on the received indication.