IP Library Granted Patent US 10,877,633
Granted Patent B2
US 10,877,633 · App. 16/568,000 · Granted Dec 29, 2020

Formulas

Inventors: Melissa Ming-Sak Boucher (Los Altos, CA); Jeremy Edward Britton (Santa Cruz, CA); Luke Bayes (St. Petersburg, FL); Monica F. Caso (Burlingame, CA); Alexander W. Deneui (Emerald Hills, CA); Christopher Leland Eck (Sammamish, WA); Nigel Robin Ellis (Redmond, WA); Filipe P. Fortes (Sarasota, FL); David Lilja Greenspan (Aptos, CA); Brett Robert Hobbs (Santa Monica, CA); Matthew B. Hudson (San Carlos, CA); Timothy Andrew James (Seattle, WA); Kenneth Francis Mendes (Sunnyvale, CA); Shishir S. Mehrotra (Los Altos, CA); Trevor Michael O'Brien (San Francisco, CA); Lane Patrick Shackleton (San Francisco, CA); Rhed Shi (San Jose, CA); Hariharan Sivaramakrishnan (Sunnyvale, CA); Jason Peter Stowe (Newcastle, WA); Jason Andrew Tamulonis (Seattle, WA); Himanshu Vasishth (Sunnyvale, CA); Ramesh Krishna Vyaghrapuri (Kenmore, WA); David Richard Wright (Redwood City, CA); Irvin Zhan (New Hyde Park, NY); Roger Mathieu Zurawicki (San Francisco, CA)
Assignee: Coda Project, Inc.
G06F3/0482G06F3/0486G06F3/04847G06F7/544G06F11/3476G06F16/2228G06F16/2282G06F16/93G06F40/106G06F40/14G06F40/177G06F40/18G06F40/205G06F3/04842G06F11/3438G06F40/10G06T11/206G06T2200/24
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 10,877,633
App. No.
16/568,000
Granted
Dec 29, 2020
Kind
B2
Abstract

The present disclosure describes methods and systems for a document server communicatively coupled to at least one client computing device, a document comprising an operation log, wherein the operation log comprises at least one first sequential operation defining operations to create data values of the document, a document object model, wherein the document is at least partially positioned on at least one of the document server and a first client computing device of the at least one client computing device, and a formula engine, wherein the formula engine is structured to determine a calculation definition in response to the user formula value and the document object model.

Claims (50)

1. A system, comprising:

a document server communicatively coupled to at least one client computing device;

a processor configured to execute a document object model, wherein the document object model comprises an object

definition corresponding to each of a plurality of objects in a document;

wherein the document is at least partially positioned on at least one of the document server and a first client computing device of the at least one client computing device;

wherein the at least one client computing device comprises a unified document surface application circuit structured to interpret a user formula value and to update one or more data values of the document in response to the user formula value; and

wherein the processor is further configured to execute a formula engine, wherein the formula engine is structured to determine a calculation definition in response to the user formula value and the document object model, wherein the calculation definition comprises requirements for operations of an executable model to implement the user formula value;

wherein at least one of the document server and the first client computing device perform operations in response to the calculation definition, and wherein the operations comprise a column-wise operation of a table in response to the user formula value comprising a table column reference.

2. The system of claim 1 , wherein the column-wise operation comprises applying the user formula value to an entire column of the table.

3. The system of claim 2 , wherein the column of the table comprises a vertical column.

4. The system of claim 2 , further comprising a formula entry tool interface associated with the entire column of the table; wherein a column-wise operation is applied to a column with a drag-and-drop operation of the user formula value to the column.

5. The system of claim 1 ,

wherein the unified document surface application circuit is further structured to interpret a first user input comprising a text flow entry, and to interpret a second user input comprising a table-based calculation entry; and

the system further comprising: a text flow processing circuit structured to position a text entry value on a unified document surface in response to the first user input; and

an enhanced data processing circuit structured to create at least one data structure in response to the table-based calculation entry, and to position the at least one data structure on the unified document surface.

6. The system of claim 1 , wherein the column-wise operation comprises applying the user formula value to an entire data column of a table with a single entry of a formula.

7. The system of claim 1 , wherein the column-wise operation comprises selecting an entire column of the table in response to a formula value referencing the column.

8. The system of claim 1 , wherein the formula engine is further structured to generate an executable object in response to the calculation definition, and wherein the executable object comprises instructions which, upon execution, cause at least one of the document server and the at least one client computing device to perform operations in response to the calculation definition.

9. A method, comprising:

executing a document object model, wherein the document object model comprises an object definition corresponding to each of a plurality of objects in a document;

interpreting a user formula value and updating data values of the document in response to the user formula value;

executing a formula engine to determine a calculation definition in response to the user formula value and the document object model, wherein the calculation definition comprises requirements for operations of an executable model to implement the user formula value; and

further comprising generating an executable object in response to the calculation definition, wherein the executable object comprises instructions which, upon execution, cause at least one of a document server and a first client computing device to perform operations in response to the calculation definition, and wherein the instructions comprise a column-wise operation in response to the user formula value comprising a table column reference.

10. The method of claim 9 , wherein the column-wise operation comprises applying the user formula value to an entire column of a table.

11. The method of claim 10 , wherein a column-wise operation is applied to a column with a drag-and-drop operation of the user formula value to the column.

12. The method of claim 9 , further comprising:

interpreting a first user input comprising a text flow entry;

interpreting a second user input comprising a table-based calculation entry;

positioning a text entry value on a unified document surface in response to the first user input;

creating at least one data structure in response to the table-based calculation entry; and

positioning the at least one data structure on the unified document surface.

13. The method of claim 9 , wherein the column-wise operation comprises applying the user formula value to an entire data column of a table with a single entry of a formula.

14. The method of claim 9 , further comprising selecting an entire column of a table in response to the user formula value referencing a column.

15. The method of claim 9 , further comprising generating an executable object in response to the calculation definition, and wherein the executable object comprises instructions which, upon execution, cause at least one of the document server and the first client computing device to perform operations in response to the calculation definition.

16. A non-transient computer readable medium containing program instructions for causing a computer to perform the method of:

executing a document object model, wherein the document object model comprises an object definition corresponding to each of a plurality of objects in a document;

interpreting a user formula value and updating data values of a document in response to the user formula value;

executing a formula engine to determine a calculation definition in response to the user formula value and the document object model, wherein the calculation definition comprises requirements for operations of an executable model to implement the user formula value; and

further comprising generating an executable object in response to the calculation definition, wherein the executable object comprises instructions which, upon execution, cause at least one of a document server and a first client computing device to perform operations in response to the calculation definition, and wherein the instructions comprise a column-wise operation in response to the user formula value comprising a table column reference.

17. The medium of claim 16 , wherein the column-wise operation comprises applying the user formula value to an entire column of a table.

18. The medium of claim 17 , wherein the column of the table comprises a vertical column.

19. The medium of claim 17 , wherein a column-wise operation is applied to a column with a drag-and-drop operation of the user formula value to the column.

20. The medium of claim 16 , further comprising:

interpreting a first user input comprising a text flow entry;

interpreting a second user input comprising a table-based calculation entry;

positioning a text entry value on a unified document surface in response to the first user input;

creating at least one data structure in response to the table-based calculation entry; and

positioning the at least one data structure on the unified document surface.

21. The medium of claim 16 , wherein the column-wise operation comprises applying the user formula value to an entire data column of a table with a single entry of a formula.

22. The medium of claim 16 , further comprising selecting an entire column of a table in response to a formula value referencing the column.

Assignments (5)
CHANGE OF NAME Recorded Nov 21, 2025
From: GRAMMARLY, INC.
To: SUPERHUMAN PLATFORM INC.
Reel/Frame 073655/0099 →
MERGER Recorded Mar 5, 2025
From: CODA PROJECT, INC.
To: CODA PROJECT, LLC
Reel/Frame 070407/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2025
From: CODA PROJECT, LLC
To: GRAMMARLY, INC.
Reel/Frame 070407/0687 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2020
From: BOUCHER, MELISSA MING-SAK; BRITTON, JEREMY EDWARD; BAYES, LUKE; CASO, MONICA F.; DENEUI, ALEXANDER W.; ECK, CHRISTOPHER LELAND; ELLIS, NIGEL ROBIN; FORTES, FILIPE P.; GREENSPAN, DAVID LILJA; HOBBS, BRETT ROBERT; HUDSON, MATTHEW B.; JAMES, TIMOTHY ANDREW; MENDES, KENNETH FRANCIS; MEHROTRA, SHISHIR S.; O'BRIEN, TREVOR MICHAEL; SHACKLETON, LANE PATRICK; SHI, RHED; SIVARAMAKRISHNAN, HARIHARAN; STOWE, JASON PETER; TAMULONIS, JASON ANDREW; VASISHTH, HIMANSHU; VYAGHRAPURI, RAMESH KRISHNA; WRIGHT, DAVID RICHARD; ZHAN, IRVIN; ZURAWICKI, ROGER MATHIEU
To: KRYPTON PROJECT, INC.
Reel/Frame 051513/0762 →
CHANGE OF NAME Recorded Jan 14, 2020
From: KRYPTON PROJECT, INC.
To: CODA PROJECT, INC.
Reel/Frame 051631/0373 →
Continuity (4)
Continuation 15499875 · Apr 27, 2017
Provisional Application 62328469 · Apr 27, 2016
Provisional Application 62485908 · Apr 15, 2017
Related Publication 20200081586A1 · Mar 12, 2020
Cited By (7)
US 12,288,024 US 12,346,653 US 12,412,212 US 12,437,148 US 12,561,518 US 12,591,351 US 12,645,343