IP Library Granted Patent US 11,599,718
Granted Patent B1
US 11,599,718 · App. 17/702,079 · Granted Mar 7, 2023

Database system for storing electronic spreadsheets

Inventors: Jim Watkins (Charlotte, NC); Cindy Bulger (Danville, CA); Ruslan Askarov (Portland, OR)
Assignee: Acuitive Solutions, Inc.
G06F40/18G06F16/25G06F16/26
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 11,599,718
App. No.
17/702,079
Granted
Mar 7, 2023
Kind
B1
Abstract

Some examples relate to database systems for electronic spreadsheets. In one specific example, a system includes a relational database and a document database that is separate from the relational database. The system can retrieve structural data from the relational database, where the structural data describes a column configuration for a set of columns of the electronic spreadsheet, and where the structural data describes a row configuration for a set of rows of the electronic spreadsheet. The system can also retrieve cell data from the document database. The system can then generate the electronic spreadsheet based on the structural data and the cell data, such that the electronic spreadsheet has the column configuration and the row configuration defined in the structural data, and has the cell data positioned in a set of cells located at intersections of the set of rows and the set of columns.

Claims (77)

1. A system comprising:

a relational database storing structural data for an electronic spreadsheet;

a document database separate from the relational database and storing cell data for the electronic spreadsheet;

a processor; and

a memory including instructions that are executable by the processor for causing the processor to:

retrieve, from the relational database, the structural data describing a row configuration for a set of rows of the electronic spreadsheet and a column configuration for a set of columns of the electronic spreadsheet;

retrieve the cell data from the document database;

generate the electronic spreadsheet based on the structural data and the cell data, such that the electronic spreadsheet has the column configuration and the row configuration defined in the structural data, and such that the electronic spreadsheet has the cell data positioned in a set of cells located at intersections of the set of rows and the set of columns; and

transmit the electronic spreadsheet to a client device for display.

2. The system of claim 1 , wherein the column configuration defines an order of the set of columns.

3. The system of claim 1 , wherein the structural data includes column headers for the set of columns, and wherein the memory further includes instructions that are executable by the processor for causing the processor to generate the electronic spreadsheet to include the column headers.

4. The system of claim 1 , wherein the row configuration defines an order of the set of rows.

5. The system of claim 1 , wherein the structural data includes row headers for the set of rows, and wherein the memory further includes instructions that are executable by the processor for causing the processor to generate the electronic spreadsheet to include the row headers.

6. The system of claim 1 , wherein the memory further includes instructions that are executable by the processor for causing the processor to transmit the electronic spreadsheet to the client device by:

generating a graphical user interface that includes the electronic spreadsheet; and

providing the graphical user interface to the client device.

7. The system of claim 1 , wherein the memory further includes instructions that are executable by the processor for causing the processor to:

receive, from the client device, updated cell data for one or more cells of the electronic spreadsheet; and

store the updated cell data in the document database in a document format.

8. The system of claim 1 , wherein the memory further includes instructions that are executable by the processor for causing the processor to:

receive, from the client device, updated structural data for the electronic spreadsheet; and

store the updated structural data in the relational database in a relational format.

9. The system of claim 1 , further comprising a data link defining a relationship between the structural data in the relational database and the cell data in the document database.

10. The system of claim 9 , wherein the data link is located in the document database or the relational database.

11. The system of claim 9 , wherein the memory further includes instructions that are executable by the processor for causing the processor to:

receive a request for the electronic spreadsheet from the client device, the request including a unique identifier of the electronic spreadsheet; and

in response to receiving the request:

retrieve the structural data from the relational database based on the data link;

retrieve the cell data from the document database based on the data link; and

generate the electronic spreadsheet based on the structural data and the cell data.

12. The system of claim 11 , wherein the data link is the unique identifier of the electronic spreadsheet.

13. A method comprising:

retrieving, by a processor and from a relational database, structural data describing a row configuration for a set of rows of an electronic spreadsheet and a column configuration for a set of columns of the electronic spreadsheet;

retrieving, by the processor, cell data for the electronic spreadsheet from a document database that is separate from the relational database;

generating, by the processor, the electronic spreadsheet based on the structural data and the cell data, such that the electronic spreadsheet has the column configuration and the row configuration defined in the structural data, and such that the electronic spreadsheet has the cell data positioned in a set of cells located at intersections of the set of rows and the set of columns; and

transmitting, by the processor, the electronic spreadsheet to a client device for display.

14. The method of claim 13 , wherein the column configuration defines an order of the set of columns, and wherein the row configuration defines another order of the set of rows.

15. The method of claim 13 , wherein the structural data includes column headers for the set of columns and row headers for the set of rows, and further comprising generating the electronic spreadsheet to include the column headers and the row headers.

16. The method of claim 13 , further comprising transmitting the electronic spreadsheet to the client device by:

generating a webpage that includes the electronic spreadsheet; and

providing the webpage to the client device.

17. The method of claim 13 , further comprising:

receiving, from the client device, updated cell data for one or more cells of the electronic spreadsheet;

storing the updated cell data in the document database in a document format;

receiving, from the client device, updated structural data for the electronic spreadsheet; and

storing the updated structural data in the relational database in a relational format.

18. The method of claim 13 , further comprising:

receiving a request for the electronic spreadsheet from the client device, the request including a unique identifier of the electronic spreadsheet; and

in response to receiving the request:

determining a data link associated with the electronic spreadsheet based on the unique identifier, the data link defining a relationship between the structural data in the relational database and the cell data in the document database;

retrieving the structural data from the relational database based on the data link;

retrieving the cell data from the document database based on the data link; and

generating the electronic spreadsheet based on the structural data and the cell data.

19. The method of claim 18 , wherein the data link is the unique identifier of the electronic spreadsheet.

20. A non-transitory computer-readable medium comprising program code that is executable by a processor for causing the processor to:

retrieve, from a relational database, structural data describing a row configuration for a set of rows of an electronic spreadsheet and a column configuration for a set of columns of the electronic spreadsheet;

retrieve cell data for the electronic spreadsheet from a document database that is separate from the relational database;

generate the electronic spreadsheet based on the structural data and the cell data, such that the electronic spreadsheet has the column configuration and the row configuration defined in the structural data, and such that the electronic spreadsheet has the cell data positioned in a set of cells located at intersections of the set of rows and the set of columns; and

transmit the electronic spreadsheet to a client device for display.

21. A non-transitory computer-readable medium comprising program code that is executable by a processor for causing the processor to:

obtain column configuration data describing a column configuration for a set of columns of an electronic spreadsheet;

obtain row configuration data describing a row configuration for a set of rows of the electronic spreadsheet;

obtain cell data for the electronic spreadsheet, the cell data corresponding to data in a set of cells located at intersections of the set of columns and the set of rows;

generate structural data that describes the column configuration and the row configuration based on the column configuration data and the row configuration data;

store the structural data in a relational database;

store the cell data in a document database that is separate from the relational database;

subsequent to storing the structural data in the relational database and storing the cell data in the document database:

receive a request for the electronic spreadsheet; and

in response to receiving the request:

retrieve the structural data for the electronic spreadsheet from the relational database;

retrieve the cell data for the electronic spreadsheet from the document database;

generate the electronic spreadsheet based on the structural data and the cell data, such that the electronic spreadsheet has the column configuration and the row configuration defined in the structural data, and such that the electronic spreadsheet has the cell data positioned in the set of cells; and

output the electronic spreadsheet for display on a display device.

22. The non-transitory computer-readable medium of claim 21 , further comprising program code that is executable by the processor for causing the processor to:

obtain the column configuration data and the row configuration data by receiving the column configuration data and the row configuration data from a client device; and

obtain the cell data by receiving the cell data from the client device.

23. The non-transitory computer-readable medium of claim 21 , wherein the structural data is formatted differently than the column configuration data and the row configuration data.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2025
From: ACUITIVE SOLUTIONS, LLC
To: ACUITIVE SOLUTIONS, INC.
Reel/Frame 070353/0170 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 59500 FRAME 258. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 9, 2024
From: WATKINS, JIM; BULGER, CYNTHIA; ASKAROV, RUSLAN
To: ACUITIVE SOLUTIONS, LLC
Reel/Frame 069137/0281 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2022
From: WATKINS, JIM; BULGER, CYNTHIA; ASKAROV, RUSLAN
To: ACUITIVE SOLUTIONS, INC.
Reel/Frame 059500/0258 →