IP Library Granted Patent US 12,236,188
Granted Patent B2
US 12,236,188 · App. 18/069,757 · Granted Feb 25, 2025

Resolving live edit conflicts

Inventors: Jason D. Frantz (San Francisco, CA); Neil F. Lugovoy (Los Gatos, CA); Christopher Messer (San Francisco, CA)
Assignee: SIGMA COMPUTING, INC.
G06F40/197G06F40/18
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,236,188
App. No.
18/069,757
Granted
Feb 25, 2025
Kind
B2
Abstract

Live editing a workbook with multiple clients including receiving, by a workbook manager from a first workbook client, a first workbook patch comprising a base version ID and a first workbook edit; determining, by the workbook manager, that the base version ID from the first workbook patch matches the version ID for a confirmed workbook on the workbook manager; applying, by the workbook manager, the first workbook edit to the confirmed workbook on the workbook manager; advancing, by the workbook manager, the version ID for the confirmed workbook; and sending, by the workbook manager, an acknowledgement of the first workbook patch to the first workbook client.

Claims (41)

1. A method for live editing a workbook with multiple clients, the method comprising:

receiving, by a workbook manager from a first workbook client, a first workbook patch comprising a base version ID, a proposed version ID, and a first workbook edit;

determining, by the workbook manager, that the base version ID from the first workbook patch matches a version ID for a confirmed workbook on the workbook manager;

applying, by the workbook manager, the first workbook edit to the confirmed workbook on the workbook manager;

advancing, by the workbook manager, the version ID for the confirmed workbook to the proposed version ID from the first workbook patch; and

sending, by the workbook manager, an acknowledgement of the first workbook patch to the first workbook client.

2. The method of claim 1 , further comprising:

receiving, by the workbook manager from a second workbook client, a second workbook patch comprising a base version ID and a second workbook edit;

determining, by the workbook manager, that the base version ID from the second workbook patch does not match the version ID for the confirmed workbook on the workbook manager; and

sending, by the workbook manager, a rejection of the second workbook patch to the second workbook client.

3. The method of claim 1 , further comprising:

sending, by the workbook manager to a second workbook client, an instruction to apply the first workbook patch to the workbook on the second workbook client and advance the version ID of the workbook on the second workbook client.

4. The method of claim 1 , wherein the workbook manager receives the first workbook patch after the first workbook patch is applied to the workbook on first workbook client.

5. The method of claim 1 , wherein the first workbook client is on a first workbook client computing system.

6. The method of claim 1 , wherein the first workbook edit modifies a visualization of the workbook.

7. The method of claim 1 , wherein the first workbook edit modifies a spreadsheet structure of the workbook.

8. The method of claim 1 , wherein the confirmed workbook is populated with data from a cloud-based data warehouse.

9. The method of claim 1 , wherein the workbook manager is on an intermediary computing system.

10. An apparatus for live editing a workbook with multiple clients, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

receiving, by a workbook manager from a first workbook client, a first workbook patch comprising a base version ID, a proposed version ID, and a first workbook edit;

determining, by the workbook manager, that the base version ID from the first workbook patch matches a version ID for a confirmed workbook on the workbook manager;

applying, by the workbook manager, the first workbook edit to the confirmed workbook on the workbook manager;

advancing, by the workbook manager, the version ID for the confirmed workbook to the proposed version ID from the first workbook patch; and

sending, by the workbook manager, an acknowledgement of the first workbook patch to the first workbook client.

11. The apparatus of claim 10 , wherein the computer program instructions further cause the apparatus to carry out the steps of:

receiving, by the workbook manager from a second workbook client, a second workbook patch comprising a base version ID and a second workbook edit;

determining, by the workbook manager, that the base version ID from the second workbook patch does not match the version ID for the confirmed workbook on the workbook manager; and

sending, by the workbook manager, a rejection of the second workbook patch to the second workbook client.

12. The apparatus of claim 10 , wherein the computer program instructions further cause the apparatus to carry out the steps of:

sending, by the workbook manager to a second workbook client, an instruction to apply the first workbook patch to the workbook on the second workbook client and advance the version ID of the workbook on the second workbook client.

13. The apparatus of claim 10 , wherein the workbook manager receives the first workbook patch after the first workbook patch is applied to the workbook on first workbook client.

14. The apparatus of claim 10 , wherein the first workbook client is on a first workbook client computing system.

15. The apparatus of claim 10 , wherein the first workbook edit modifies a visualization of the workbook.

16. The apparatus of claim 10 , wherein the first workbook edit modifies a spreadsheet structure of the workbook.

17. The apparatus of claim 10 , wherein the confirmed workbook is populated with data from a cloud-based data warehouse.

18. A computer program product for live editing a workbook with multiple clients, the computer program product disposed upon a non-transitory computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

receiving, by a workbook manager from a first workbook client, a first workbook patch comprising a base version ID, a proposed version ID, and a first workbook edit;

determining, by the workbook manager, that the base version ID from the first workbook patch matches a version ID for a confirmed workbook on the workbook manager;

applying, by the workbook manager, the first workbook edit to the confirmed workbook on the workbook manager;

advancing, by the workbook manager, the version ID for the confirmed workbook to the proposed version ID from the first workbook patch; and

sending, by the workbook manager, an acknowledgement of the first workbook patch to the first workbook client.

Assignments (2)
SECURITY INTEREST Recorded Aug 1, 2025
From: SIGMA COMPUTING, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 072316/0724 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2023
From: FRANTZ, JASON D.; LUGOVOY, NEIL F.; MESSER, CHRISTOPHER
To: SIGMA COMPUTING, INC.
Reel/Frame 062552/0856 →
Continuity (2)
Continuation In Part 17715718 · Apr 7, 2022
Related Publication 20240111949A1 · Apr 4, 2024
References Cited (79)
US 7496841B2 · Hadfield et al. · 2009 [cited by applicant]
US 7756824B2 · Campbell et al. · 2010 [cited by applicant]
US 7769810B1 · Kaufman · 2010 [cited by applicant]
US 7933952B2 · Parker et al. · 2011 [cited by applicant]
US 8453052B1 · Newman · 2013 [cited by examiner]
US 8453112B1 · Brambley et al. · 2013 [cited by applicant]
US 8516050B1 · Chapweske et al. · 2013 [cited by applicant]
US 8612380B2 · Kleppner et al. · 2013 [cited by applicant]
US 8738706B1 · Grieve · 2014 [cited by examiner]
US 9092413B1 · Ho et al. · 2015 [cited by applicant]
US 9367530B2 · Antebi et al. · 2016 [cited by applicant]
US 9396279B1 · O'Donnell · 2016 [cited by applicant]
US 9785693B2 · Kapadia · 2017 [cited by examiner]
US 10169401B1 · Ho et al. · 2019 [cited by applicant]
US 10503822B1 · Spencer et al. · 2019 [cited by applicant]
US 10606576B1 · Tung et al. · 2020 [cited by applicant]
US 10721084B2 · Simonyi et al. · 2020 [cited by applicant]
US 10740551B2 · Rochelle et al. · 2020 [cited by applicant]
US 10872062B2 · Truong et al. · 2020 [cited by applicant]
US 10887357B2 · Hardee et al. · 2021 [cited by applicant]
US 10902185B1 · Cairns · 2021 [cited by examiner]
US 10970457B2 · Prakash et al. · 2021 [cited by applicant]
US 11023445B2 · Bestfleisch · 2021 [cited by examiner]
US 11755825B2 · Smith et al. · 2023 [cited by applicant]
US 20020065848A1 · Walker et al. · 2002 [cited by applicant]
US 20040205653A1 · Hadfield et al. · 2004 [cited by applicant]
US 20060195532A1 · Zlateff et al. · 2006 [cited by applicant]
US 20080059539A1 · Chin et al. · 2008 [cited by applicant]
US 20090157811A1 · Bailor et al. · 2009 [cited by applicant]
US 20090271696A1 · Bailor · 2009 [cited by examiner]
US 20090327358A1 · Lukiyanov · 2009 [cited by examiner]
US 20100083136A1 · Komine et al. · 2010 [cited by applicant]
US 20100169269A1 · Chandrasekaran · 2010 [cited by applicant]
US 20100318922A1 · Strathearn · 2010 [cited by examiner]
US 20110078246A1 · Dittmer-Roche · 2011 [cited by applicant]
US 20120110445A1 · Greenspan et al. · 2012 [cited by applicant]
US 20120192055A1 · Antebi et al. · 2012 [cited by applicant]
US 20120233137A1 · Jakobson et al. · 2012 [cited by applicant]
US 20130155071A1 · Chan et al. · 2013 [cited by applicant]
US 20130226876A1 · Gati et al. · 2013 [cited by applicant]
US 20130326323A1 · Siwoff et al. · 2013 [cited by applicant]
US 20130326330A1 · Harris et al. · 2013 [cited by applicant]
US 20140101310A1 · Savage et al. · 2014 [cited by applicant]
US 20140195899A1 · Bastide et al. · 2014 [cited by applicant]
US 20140245015A1 · Velamoor et al. · 2014 [cited by applicant]
US 20150113390A1 · Vagell · 2015 [cited by examiner]
US 20150193406A1 · Lemonik et al. · 2015 [cited by applicant]
US 20150378972A1 · Kapadia et al. · 2015 [cited by applicant]
US 20160048486A1 · Lopategui · 2016 [cited by applicant]
US 20160162461A1 · Simon et al. · 2016 [cited by applicant]
US 20160378737A1 · Keslin et al. · 2016 [cited by applicant]
US 20170149906A1 · DeMaris et al. · 2017 [cited by applicant]
US 20170357646A1 · Ayyar et al. · 2017 [cited by applicant]
US 20180189369A1 · Baek et al. · 2018 [cited by applicant]
US 20180196788A1 · Grigorovitch et al. · 2018 [cited by applicant]
US 20180365263A1 · Mohan et al. · 2018 [cited by applicant]
US 20190065526A1 · Ribeiro et al. · 2019 [cited by applicant]
US 20190129973A1 · Truong et al. · 2019 [cited by applicant]
US 20190138588A1 · Silk et al. · 2019 [cited by applicant]
US 20190147402A1 · Sitrick et al. · 2019 [cited by applicant]
US 20190250780A1 · Feng et al. · 2019 [cited by applicant]
US 20200034438A1 · Bestfleisch · 2020 [cited by examiner]
US 20210081605A1 · Smith et al. · 2021 [cited by applicant]
US 20210133253A1 · Underwood et al. · 2021 [cited by applicant]
US 20210216704A1 · Peterson et al. · 2021 [cited by applicant]
US 20210234908A1 · Wallhult · 2021 [cited by examiner]
US 20220222625A1 · Haramati et al. · 2022 [cited by applicant]
US 20220237371A1 · Simon et al. · 2022 [cited by applicant]
US 20230055241A1 · Zionpour et al. · 2023 [cited by applicant]
CN 101527837A · 2009 [cited by examiner]
EP 3230894B1 · 2021 [cited by applicant]
WO WO2002027434A2 · 2002 [cited by examiner]
WO 2009055531A2 · 2009 [cited by applicant]
WO 2022153122A1 · 2022 [cited by applicant]
Preston Gralla, How to use Excel's new live collaboration features, retrieved from—https://www.computerworld.com/article/3212262/how-to-use-excel-live-collaboration.html, Aug. 1, 2017, 9 pages (Year: 2017). [cited by examiner]
Gralla, Preston, “How to use Excel's new live collaboration features”, Aug. 1, 2017, retrieved from—https://www.computerworld.com/article/3212262/how-to-use-excel-live-collaboration.html, 10 pages, 2017. [cited by applicant]
Annonymous, “Google Sheets Connector by Fivetran,” retrieved from—https://console.cloud.google.com/marketplace/product/fivetran-bq-dts/google-sheets, dated Apr. 3, 2021, 2 pages. [cited by applicant]
Heller, “How to choose a cloud data warehouse”, https://www.infoworld.com/article/3640540/how-to-choose-a-cloud-data-warehouse.html, dated Dec. 13, 2021, 11 pages. [cited by applicant]
International Search Report and Written Opinion, PCT/US2023/085269, Apr. 16, 2024, 9 pages. [cited by applicant]