Resolving mutations in a partially-loaded spreadsheet model
First Claim
1. A method for resolving mutations in a partially-loaded spreadsheet model, the method comprising:
- loading onto a client computer a first chunk of a spreadsheet stored on a server, wherein the first chunk represents a first range of cells in the spreadsheet;
requesting a second chunk of the spreadsheet from the server, wherein the second chunk represents a second range of cells in the spreadsheet;
storing a plurality of pending user mutations on the client computer generated by a user in a pending queue on the client computer, wherein the plurality of pending user mutations are applied to the first chunk, wherein each mutation in the plurality of mutations in the pending queue is labeled in a label as an unsent mutation;
periodically sending, the plurality of pending user mutations from the client computer to the server to be applied to the spreadsheet and after sending the plurality of mutations to the server, changing the label of each mutation in the plurality of mutations from the unsent mutations to a sent mutation;
receiving at the client computer, from the server, an acknowledgement after the plurality of pending user mutations are applied to the spreadsheet;
deleting the plurality of pending user mutations from the pending queue after the client computer receives the acknowledgement from the server;
receiving from the server a plurality of collaborator mutations;
receiving from the server the second chunk;
transforming the plurality of pending user mutations against the plurality of collaborator mutations; and
applying the transformed plurality of pending user mutations to the second chunk.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of resolving mutations in a partially-loaded spreadsheet model includes loading onto a client computer a first chunk of a spreadsheet stored on a server, where the first chunk represents a first range of cells in the spreadsheet, and requesting a second chunk of the spreadsheet from the server, where the second chunk represents a second range of cells in the spreadsheet. The method further includes storing a plurality of pending user mutations on the client computer generated by a user on the client computer, where the plurality of pending user mutations are applied to the first chunk, and receiving from the server a plurality of collaborator mutations and the second chunk. The method further includes transforming the plurality of pending user mutations against the plurality of collaborator mutations, and applying the transformed plurality of pending user mutations to the second chunk.
-
Citations
31 Claims
-
1. A method for resolving mutations in a partially-loaded spreadsheet model, the method comprising:
-
loading onto a client computer a first chunk of a spreadsheet stored on a server, wherein the first chunk represents a first range of cells in the spreadsheet; requesting a second chunk of the spreadsheet from the server, wherein the second chunk represents a second range of cells in the spreadsheet; storing a plurality of pending user mutations on the client computer generated by a user in a pending queue on the client computer, wherein the plurality of pending user mutations are applied to the first chunk, wherein each mutation in the plurality of mutations in the pending queue is labeled in a label as an unsent mutation; periodically sending, the plurality of pending user mutations from the client computer to the server to be applied to the spreadsheet and after sending the plurality of mutations to the server, changing the label of each mutation in the plurality of mutations from the unsent mutations to a sent mutation; receiving at the client computer, from the server, an acknowledgement after the plurality of pending user mutations are applied to the spreadsheet; deleting the plurality of pending user mutations from the pending queue after the client computer receives the acknowledgement from the server; receiving from the server a plurality of collaborator mutations; receiving from the server the second chunk; transforming the plurality of pending user mutations against the plurality of collaborator mutations; and applying the transformed plurality of pending user mutations to the second chunk. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for resolving mutations in a partially-loaded spreadsheet model, the system comprising:
a client computer, wherein the client computer is configured to; communicate with a server using a communication connection; load a first chunk of a spreadsheet stored on the server, wherein the first chunk represents a first range of cells in the spreadsheet; request a second chunk of the spreadsheet from the server, wherein the second chunk represents a second range of cells in the spreadsheet; store a plurality of pending user mutations generated by a user on the client computer in a pending queue, wherein the plurality of pending user mutations are applied to the first chunk, wherein each mutation in the plurality of mutations in the pending queue is labeled in a label as an unsent mutation; periodically send, the plurality of pending user mutations from the client computer to the server to be applied to the spreadsheet and after sending the plurality of mutations to the server, changing the label of each mutation in the plurality of mutations from the unsent mutations to a sent mutation; receive at the client computer, from the server, an acknowledgement after the plurality of pending user mutations are applied to the spreadsheet; delete the plurality of pending user mutations from the pending queue after the client computer receives the acknowledgement from the server; receive from the server a plurality of collaborator mutations; receive from the server the second chunk; transform the plurality of pending user mutations against the plurality of collaborator mutations; and apply the transformed plurality of pending user mutations to the second chunk. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
21. A method for resolving mutations in a partially-loaded spreadsheet model, the method comprising:
-
loading onto a client computer a first chunk of a spreadsheet stored on a server, wherein the first chunk represents a first range of cells in the spreadsheet; searching local memory of the client computer for a second chunk of the spreadsheet, wherein the second chunk represents a second range of cells in the spreadsheet; storing a plurality of pending user mutations on the client computer generated by a user on the client computer in a pending queue, wherein the plurality of pending user mutations are applied to the first chunk, wherein each mutation in the plurality of mutations in the pending queue is labeled in a label as an unsent mutation; periodically sending, the plurality of pending user mutations from the client computer to the server to be applied to the spreadsheet and after sending the plurality of mutations to the server, changing the label of each mutation in the plurality of mutations from the unsent mutations to a sent mutation; receiving at the client computer, from the server, an acknowledgement after the plurality of pending user mutations are applied to the spreadsheet; deleting the plurality of pending user mutations from the pending queue after the client computer receives the acknowledgement from the server; receiving from the server a plurality of collaborator mutations; retrieving the second chunk from the local memory; transforming the plurality of pending user mutations against the plurality of collaborator mutations; and applying the transformed plurality of pending user mutations to the second chunk. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
Specification