Dynamically sizing chunks in a partially loaded spreadsheet model
First Claim
1. A method for managing a dynamically-sized chunked spreadsheet model on a server, the method comprising:
- creating, on the server, a plurality of chunks representing a spreadsheet, wherein a first chunk in the plurality of chunks comprises a first range of cells in the spreadsheet;
storing on the server a mutation log for the spreadsheet;
receiving a first plurality of mutations from a plurality of client computers, wherein the first plurality of mutations are stored in the mutation log;
applying the first plurality of mutations to the first chunk in response to a first client computer in the plurality of client computers requesting the first range of cells;
modifying the range of cells that comprise the first chunk based on the first plurality of mutations, wherein;
when at least one of the plurality of mutations comprises deleting at least one row from a portion of the spreadsheet covered by the first chunk, determining whether the application of the at least one of the plurality of mutations reduces the size of the first chunk below a predetermined threshold, and merging the first chunk with a different chunk from the plurality of chunks, or,when at least one of the plurality of mutations comprises adding at least one row to a portion of the spreadsheet covered by the first chunk, determining whether the application of the at least one of the plurality of mutations increases the size of the first chunk above the predetermined threshold, and splitting the first chunk into two chunks; and
sending the first chunk to the first client computer.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for managing a dynamically-sized chunked spreadsheet model on a server includes creating, on the server, a plurality of chunks representing a spreadsheet, where a first chunk in the plurality of chunks includes a first range of cells in the spreadsheet. The method further includes storing on the server a mutation log for the spreadsheet, and receiving a first plurality of mutations from a plurality of client computers, where the first plurality of mutations are stored in the mutation log. The method further includes applying the first plurality of mutations to the first chunk in response to a first client computer in the plurality of client computers requesting the first range of cells, and sending the first chunk to the first client computer.
-
Citations
22 Claims
-
1. A method for managing a dynamically-sized chunked spreadsheet model on a server, the method comprising:
-
creating, on the server, a plurality of chunks representing a spreadsheet, wherein a first chunk in the plurality of chunks comprises a first range of cells in the spreadsheet; storing on the server a mutation log for the spreadsheet; receiving a first plurality of mutations from a plurality of client computers, wherein the first plurality of mutations are stored in the mutation log; applying the first plurality of mutations to the first chunk in response to a first client computer in the plurality of client computers requesting the first range of cells; modifying the range of cells that comprise the first chunk based on the first plurality of mutations, wherein; when at least one of the plurality of mutations comprises deleting at least one row from a portion of the spreadsheet covered by the first chunk, determining whether the application of the at least one of the plurality of mutations reduces the size of the first chunk below a predetermined threshold, and merging the first chunk with a different chunk from the plurality of chunks, or, when at least one of the plurality of mutations comprises adding at least one row to a portion of the spreadsheet covered by the first chunk, determining whether the application of the at least one of the plurality of mutations increases the size of the first chunk above the predetermined threshold, and splitting the first chunk into two chunks; and sending the first chunk to the first client computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for managing a dynamically-sized chunked spreadsheet model, the system comprising:
-
a server, wherein the server is configured to; communicate with a plurality of client computers using a communication connection; create a plurality of chunks representing a spreadsheet, wherein a first chunk in the plurality of chunks comprises a first range of cells in the spreadsheet; store a mutation log for the spreadsheet; receive a first plurality of mutations from the plurality of client computers, wherein the first plurality of mutations are stored in the mutation log; apply the first plurality of mutations to the first chunk in response to a first client computer in the plurality of client computers requesting the first range of cells; modify the range of cells that comprise the first chunk based on the first plurality of mutations, wherein; when at least one of the plurality of mutations comprises deleting at least one row from a portion of the spreadsheet covered by the first chunk, determine whether the application of the at least one of the plurality of mutations reduces the size of the first chunk below a predetermined threshold, and merge the first chunk with a different chunk from the plurality of chunks, or, when at least one of the plurality of mutations comprises adding at least one row to a portion of the spreadsheet covered by the first chunk, determine whether the application of the at least one of the plurality of mutations increases the size of the first chunk above a predetermined threshold, and split the first chunk into two chunks; and send the first chunk to the first client computer over the communication connection. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification