Efficient copy paste in a collaborative spreadsheet

US11244105B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11244105-B2
Application numberUS-201414560954-A
CountryUS
Kind codeB2
Filing dateDec 4, 2014
Priority dateDec 4, 2014
Publication dateFeb 8, 2022
Grant dateFeb 8, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems and methods are disclosed herein for editing a collaborative spreadsheets hosted on a server. Multiple users may edit the spreadsheet, resulting in situations of intersecting or conflicting edits. A change provided by one user may intersect the cells affected by a change provided by another user. In these cases, one user's change is transformed against the other user's change. In this manner, the conflict is resolved and both changes can be applied to the spreadsheet. Each user device may perform these transforms, and the server may also perform these transforms. This can result in transmission of a reduced volume of data over a network between the devices and the server, in comparison with other methods.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for editing a collaborative spreadsheet hosted on a server, comprising: displaying, by a processor of a first user device, the collaborative spreadsheet hosted on the server and based on a first model stored on the first user device; receiving, by the processor of the first user device, a first input of the first user device to modify the collaborative spreadsheet; modifying, by the processor of the first user device, the first model based on the first input to obtain a second model; sending, by the processor to the server, the first input comprising a source range, a destination range, and an instruction to copy content from the source range to the destination range; receiving, by the processor and from the server, a second input of a second user device to modify a portion of the collaborative spreadsheet, wherein the second input comprises an instruction to modify content of the collaborative spreadsheet, wherein the content is to be modified in at least one of the source range or the destination range; subsequent to receiving from the server the second input of the second user device to modify the portion of the collaborative spreadsheet, determining, by the processor of the first user device, whether the first input sent to the server by the first user device has not been acknowledged by the server; and responsive to determining that the first input sent to the server has not been acknowledged by the server, transforming, by the processor of the first user device, the first input based on the second input to obtain a transformed first input based on a set of collaboration rules that are common to the first user device and the server, modifying, by the processor of the first user device, the second model based on the transformed first input to obtain a third model, and displaying, by the processor of the first user device, the collaborative spreadsheet based on the third model. 2. The method of claim 1 , further comprising: responsive to determining that that the first input to the server has been acknowledged by the server, modifying the second model based on the second input of the second user device to obtain a fourth model, and displaying, by the processor of the first user device, the collaborative spreadsheet based on the fourth model. 3. The method of claim 1 , wherein the first input further comprises a first revision number corresponding to the first model stored on the first user device. 4. The method of claim 1 , wherein the destination range is larger than the source range, and the instruction to copy content includes an instruction to tile the content from the source range into the destination range. 5. A system comprising: a memory; and a processor, coupled to the memory, the processor to: display, by the processor of a first user device, a collaborative spreadsheet hosted on a server based on a first model stored on the first user device; receive, by the processor of the first user device, a first input of the first user device to modify the collaborative spreadsheet; send, by the processor to the server, the first input of the first user comprising a source range, a destination range, and an instruction to copy content from the source range to the destination range; modify, by the processor of the first user device, the first model based on the first input to obtain a second model; receive, by the processor and from the server, a second input of a second user device to modify a portion of the collaborative spreadsheet, wherein the second input comprises an instruction to modify content of the collaborative spreadsheet, wherein the content is to be modified in at least one of the source range or the destination range; subsequent to receiving from the server the second input of the second user device to modify the portion of the collaborative spreadsheet, determine, by the processor of the first user device, whether the first input sent to the server by the first user device has not been acknowledged by the server; and responsive to determining that the first input sent to the server has not been acknowledged by the server, transform, by the processor of the first user device, the first input based on the second input to obtain a transformed first input based on a set of collaboration rules that are common to the first user device and the server, modify, by the processor of the first user device, the second model based on the transformed first input to obtain a third model, and display, by the processor of the first user device, the collaborative spreadsheet based on the third model. 6. The system of claim 5 , the processor further to: responsive to determining that that the first input to the server has been acknowledged by the server, modify the second model based on the second input of the second user device to obtain a fourth model, and display, by the processor of the first user device, the collaborative spreadsheet based on the fourth model. 7. The system of claim 5 , the first input further comprises a first revision number corresponding to the first model stored on the first user device. 8. The system of claim 5 , wherein the destination range is larger than the source range, and the instruction to copy content includes an instruction to tile content from the source range into the destination range. 9. A non-transitory computer-readable medium comprising instructions that, responsive to execution by a processor, cause the processor to perform operations comprising: displaying, by the processor of a first user device, a collaborative spreadsheet hosted on a server and based on a first model stored on the first user device; receiving, by the processor of the first user device, a first input of the first user device to modify the collaborative spreadsheet; modifying, by the processor of the first user device, the first model based on the first input to obtain a second model; sending, by the processor to the server, the first input comprising a source range, a destination range, and an instruction to copy content from the source range to the destination range; receiving, by the processor and from the server, a second input of a second user device to modify a portion of the collaborative spreadsheet, wherein the second input comprises an instruction to modify content of the collaborative spreadsheet, wherein the content is to be modified in at least one of the source range or the destination range; subsequent to receiving from the server the second input of the second user device to modify the portion of the collaborative spreadsheet, determining, by the processor of the first user device, whether the first input sent to the server by the first user device has not been acknowledged by the server; and responsive to determining that the first input sent to the server has not been acknowledged by the server, transforming, by the processor of the first user device, the first input based on the second input to obtain a transformed first input based on a set of collaboration rules that are common to the first user device and the server, modifying, by the processor of the first user device, the second model based on the transformed first input to obtain a third model, and displaying, by the processor of the first user device, the collaborative spreadsheet based on the third model. 10. The non-transitory computer-readable medium of claim 9 , wherein sending the first input of the first user device to the server, the operations further comprising: sending a first revision number corresponding to the first model stored on the first user device to the server. 11. The non-transitory c

Assignees

Inventors

Classifications

  • for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range · CPC title

  • G06F40/18Primary

    of spreadsheets (form-filling G06F40/174) · CPC title

  • G06F40/197Primary

    Version control (for software G06F8/71) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11244105B2 cover?
Systems and methods are disclosed herein for editing a collaborative spreadsheets hosted on a server. Multiple users may edit the spreadsheet, resulting in situations of intersecting or conflicting edits. A change provided by one user may intersect the cells affected by a change provided by another user. In these cases, one user's change is transformed against the other user's change. In this m…
Who is the assignee on this patent?
Google Inc, Google Llc
What technology area does this patent fall under?
Primary CPC classification G06F40/18. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 08 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).