Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1998-03-03
2001-09-18
Feild, Joseph H. (Department: 2176)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000, C345S215000
Reexamination Certificate
active
06292810
ABSTRACT:
TECHNICAL FIELD
The present invention relates generally to the field of information processing by digital computers and particularly to the processing and presentation of information by computer program applications such as electronic spreadsheets.
BACKGROUND OF THE INVENTION
Spreadsheets enable the organization of data into columns and rows, permitting rapid accumulation of information by a user. Before spreadsheet processors were developed for computers, spreadsheet information, especially financial, was prepared on accountants' columnar pads or paper spreadsheets, using pencils and calculators. The task of preparing a spreadsheet on paper is much slower than in a computer because each entry must be calculated and hand entered in the spreadsheet. Manually prepared spreadsheets are prone to errors.
A spreadsheet processor (hereafter, spreadsheet) is an interactive computer processor that consists of a collection of rows and columns displayed on a computer monitor screen in a scrollable window. The intersection of each row and column is called a cell or a node. A cell can hold a number, a text string, or a formula that does calculations using the entries in one or more other cells. A spreadsheet can copy cells, move cells, and modify formulas. Spreadsheets may save a cell in a file for later use and may discard a cell after it has served its purpose. Spreadsheets can format cells in a spreadsheet presentation in a variety of ways and the presentation may be printed for hard-copy reference. In addition, groups of cells can be used to generate charts and maps.
Perhaps the most significant advantage of an electronic spreadsheet is the easy, immediate recalculation of a formula's results when a change is made in any of the entries in cells. Once a spreadsheet is set up by defining formulas, it can be used as a model to try different possibilities by varying entries to show the effect of changes.
A typical spreadsheet processor configures the memory of a computer to resemble the grid format of an accountant's columnar pad, providing a visible presentation for a user. Because the pad exists dynamically in the computer's memory, however, it differs from paper pads in several important ways. Locations in the electronic spreadsheet, for example, must be expressed to the computer in a format which it can use. A common scheme for accomplishing that is to assign a number to each row and a letter to each column. For example, the reference A1 designates the address of a location at column A and row 1, i.e., the cell in the upper-left-hand corner. In that manner, the spreadsheet reference defines an addressable storage location or cell at each intersection of a row with a column.
Data entry into an electronic spreadsheet is done in much the same manner that information is entered on an accountant's pad. A screen cursor is positioned at a desired location and a user enters alphanumeric information. Besides holding text and numeric information, however, spreadsheet cells can store special instructions such as formulas specifying calculations to be done on values stored in other spreadsheet cells. Cell addresses can be used as variables in an equation, allowing mathematical relationships to be defined among cells. The structure and operation of a spreadsheet processor, including functions and macros, are well known in the art.
Electronic spreadsheets offer many advantages. They can be much larger to hold more information than their paper counterparts; electronic spreadsheets having thousands or even millions of cells are not uncommon. Spreadsheet processors also allow users to do what-if scenarios. After they have stored a set of computational relationships into a worksheet, the spreadsheet information can be recalculated using different sets of assumptions with the results of each recalculation appearing almost instantaneously. Doing this operation manually with paper and pencil might require recalculating every relationship in the model with each change made.
Spreadsheets can be multidimensional rather than being restricted to two-dimensional models. In a three-dimensional spreadsheet, they uniquely identify each cell by a row, a column, and a page. This is analogous to a notebook or workbook. A notebook can hold any number of spreadsheets or worksheet pages. A notebook, therefore, depicts a three-dimensional representation of information cells. Using this metaphor, the user can leaf through many pages of information or to go to a specific page of information within the notebook.
The present state-of-the-art electronic spreadsheets have limitations and do not support additional forms of analysis that many users would find very valuable. For example, in current art spreadsheets, a value entered into a formula cell will override the formula, place the value in the cell, erase the formula, and invalidate the existing model logic. This result is counter productive. The spreadsheet should respond in a more intelligent, context-sensitive, fashion. First, it should not simply erase the formula and invalidate the model without further interaction with the user. Second, it should seek to correctly satisfy the user. The correct response when the user enters a value on a formula cell is to change the model's form, i.e., from one that cannot be calculated into one that can be calculated. Since many cells can contain formulas, the correct response will also include the ability for the model to take on any one of many possible forms. It should accept an entry into any formula cell present in the model, without breaking it.
It is an object of the present invention to both prevent a corrupt model and to provide a correct response when the user enters a value on a formula cell. The spreadsheet should generate one of a potentially unlimited number of new model forms that can be correctly calculated. The result is an event driven, polymorphic spreadsheet, that can reconfigure itself into one of several model formats dynamically during runtime operation.
Current art spreadsheets bind data and formulas together. When a model is loaded, it replaces both the current data and the current formulas in computer memory. This limits the user to a single spreadsheet model that operates on a single set of spreadsheet data. Commercially available spreadsheets at the current time also provide only a single standard calculation method that operates on a single model and a single set of data. Thus, the model's logic and data are bound together. It is, however, an advantage to be able to apply more than one model version to a single set of spreadsheet data. There are many desirable, but currently unsolved forms of analysis, that require the ability to apply multiple model versions to a single set of data.
Therefore, it is an object of the invention to uncouple spreadsheet data from its formulas, so that the data and the model formulas are independent. In so doing, an unlimited number of model versions can be applied to a single set of spreadsheet data.
U.S. Pat. No. 5,339,410 shows the use of more than a one-way calculation method. However, its bidirectional method is limited in scope to a forward and a backward direction. In a complex spreadsheet model with a large number of interrelated formula cells, a plurality of directions, i.e., combinations and permutations, exist. At every formula node directional decisions can be made that are equal in number to the number of precedent cells contained in the cell's formula. So, while many directions can exist for each cell, an almost unlimited number of directions can result from the combinations and permutations produced by many formula cells. Unfortunately, the bidirectional method is limited to a single directional decision for each cell. Also, since a bidirectional computation method is fixed in computer logic it is limited to a single alternate computational path. For each cell affected by a first change event, it derives a single inverse formula, using algebra, that it uses to calculate a single result cell. As a result, for any particula
Feild Joseph H.
Rohrer Charles E.
LandOfFree
Polymorphic enhanced modeling does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Polymorphic enhanced modeling, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Polymorphic enhanced modeling will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2441518