System and methods for multi-dimensional information processing
First Claim
1. In an electronic spreadsheet system, the system including a processor for manipulating a multi-dimensional spread of information, and including a memory for representing the spread of information as an at least three-dimensional matrix of information cells, an improved method for allocating storage for the spread in the memory, the improvement comprising:
- (a) arranging said at least three-dimensional matrix of information as a plurality of two-dimensional spreads;
(b) for each said two-dimensional spread having cells currently in use, said cells currently in use being referred to as active cells, determining a rectangle that encompasses the active cells for the spread;
(c) from all such rectangles determined in step (b), selecting a bounding rectangle that encompasses all such rectangles;
(d) determining a bounding block encompassing all active cells of the at least three-dimensional matrix by multiplying the number of cells in the bounding rectangle by a count of all two-dimensional spreads which have active cells; and
(e) utilizing information about the bounding block for allocating storage in the memory.
3 Assignments
0 Petitions
Accused Products
Abstract
An electronic spreadsheet system of the present invention includes a notebook interface having a plurality of notebook pages, each of which may contain a spread of information cells, or other desired page type (e.g., Graphs page). Methods are provided for rapidly accessing and processing information on the different pages, including displaying a plurality of page identifiers for selecting individual pages, and further including a preferred syntax for referencing information. Additional methods are described for in-memory management and persistent storage of notebooks and their pages.
159 Citations
21 Claims
-
1. In an electronic spreadsheet system, the system including a processor for manipulating a multi-dimensional spread of information, and including a memory for representing the spread of information as an at least three-dimensional matrix of information cells, an improved method for allocating storage for the spread in the memory, the improvement comprising:
-
(a) arranging said at least three-dimensional matrix of information as a plurality of two-dimensional spreads; (b) for each said two-dimensional spread having cells currently in use, said cells currently in use being referred to as active cells, determining a rectangle that encompasses the active cells for the spread; (c) from all such rectangles determined in step (b), selecting a bounding rectangle that encompasses all such rectangles; (d) determining a bounding block encompassing all active cells of the at least three-dimensional matrix by multiplying the number of cells in the bounding rectangle by a count of all two-dimensional spreads which have active cells; and (e) utilizing information about the bounding block for allocating storage in the memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A multi-dimensional information processing system comprising:
-
a computer having a processor and a memory; means for representing a multi-dimensional matrix of information to a user as a plurality of two-dimensional pages; means for displaying desired views of selected ones of the pages on a screen device, including means for displaying to a user multiple, simultaneous views of identical portions of the multi-dimensional matric of information; means for representing in the memory information structures that describe the multi-dimensional matrix; and means for storing data records on a persistent storage device, the data records containing sufficient information to permit reconstruction of the memory information structures when read from the storage device; the data records including a plurality of data records containing page information grouped into a page region and further including a number of data records containing view information grouped into a view region on the storage device; and a data record for each one of the simultaneous views including user-settable display attributes which operate independent of other views, thereby providing the user with multiple, virtual views of underlying identical information. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A multi-dimensional information processing system comprising:
-
a computer having a processor and a memory; means for representing a multi-dimensional matrix of information to a user as a plurality of two-dimensional pages; means for displaying desired views of selected ones of the pages on a screen device; means for representing in the memory information structures that describe the multi-dimensional matrix; and means for storing data records on a persistent storage device, the data records containing sufficient information to permit reconstruction of the memory information structures when read from the storage device; wherein said information structures in the memory include a notebook information structure describing a single multi-dimensional matrix and including a page table entry, a page table, referenced by said page table entry in said notebook information structure, said page table including a plurality of page entries, a plurality of page information structures, each being referenced by a respective page entry in said page table and describing a single two-dimensional page, each page information structure including a sheet table entry, a plurality of sheet tables, each being referenced by a respective sheet table entry in a respective page information structure, each sheet table having a plurality of entries, and a plurality of cell information structures, each referenced directly or indirectly by one of said entries in said sheet table, each said cell information structure describing a single information cell; and wherein said data records corresponding to a given notebook information structure in the memory include a page region having a plurality of page groups, each page group having a plurality of page data records for describing one of the two-dimensional pages, the plurality of page data records for a page being divided into first and second subgroups, the first subgroup for storing information shared among information cells of the page, the second subgroup for storing information specific to selected ones of the information cells of the page, and a notebook region, separate from said page region, having a plurality of notebook data records shared among the two-dimensional pages. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification