US 11,989,255 B2
Client-side sorting and updating of paginated data obtained from a server
Omer Doron, Tel Aviv (IL); Liran Brimer, Ramat Gan (IL); Dor Yehuda, Hod Hasharon (IL); and Eviathar Moussaffi, Tel Aviv (IL)
Assigned to monday.com Ltd., Tel Aviv (IL)
Filed by monday.com Ltd., Tel Aviv (IL)
Filed on Dec. 30, 2021, as Appl. No. 17/565,767.
Prior Publication US 2023/0214442 A1, Jul. 6, 2023
Int. Cl. G06F 16/958 (2019.01); G06F 16/901 (2019.01); G06F 16/9535 (2019.01); G06F 16/957 (2019.01)
CPC G06F 16/958 (2019.01) [G06F 16/9024 (2019.01); G06F 16/9535 (2019.01); G06F 16/957 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system for providing scalability to client terminals of a client-side updating and sorting of a page of a dataset, comprising:
at least one processor of a client terminal executing a code for accelerating a performance of the client terminal and reducing traffic between at least one server which stores and sorts a dataset, and the client terminal accessing the dataset on the at least one server, said reduction is achieved by transferring updates of said dataset from said at least one server to said client terminal and performing local re-sorting on said client terminal, by:
accessing the at least one server to obtain a portion of the dataset, wherein the dataset is structured as a board comprising a plurality of data cells storing values and arranged in a plurality of table columns and plurality of table rows and is sorted by the at least one server according to a sort operation of sorting at least one of the columns and rows of the board, wherein said portion comprising a sub-table of said board, wherein a size of said portion is determined according to displaying capabilities of said client terminal, wherein said portion is defined as a page and wherein data cells not included in said portion are not provided to the client terminal;
presenting the page on a display of the client terminal;
receiving at least one update message for updating of a value of at least one data cell of the dataset, regardless of whether said at least one data cell is included in said portion or not included in said portion;
receiving from the at least one server, an indication of the data cells not included in said portion;
for each data cell of the at least one data cell, that is included in the page:
applying the update to the page to create an updated page,
re-executing the sort operation of sorting the at least one of the columns and rows on the portion of the board which is included in the updated page, and
presenting the sorted updated page; and
for the data cells of the at least one data cell, not included in said portion, generating placeholders and storing said generated placeholders on said client terminal;
wherein a same update message is sent to each one of a plurality of client terminals, wherein each of the plurality of client terminals presenting a different page representing a respective different portion of the dataset and/or applying a different sort operation sorting at least one of the columns and rows of the respective presented sorted updated page.