IP Library Granted Patent US 7,107,277
Granted Patent B1
US 7,107,277 · App. 10/321,317 · Granted Sep 12, 2006

Programmable calculation engine

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 7,107,277
App. No.
10/321,317
Granted
Sep 12, 2006
Kind
B1
Abstract

A calculation engine processes user-definable formulas to generate calculation results. A calculation engine may use the following types of data structures: table, column, row, and field. A sub table may be embedded within a row. Operations may be performed at various levels, such as at: table, column, and field. A calculation engine may operate on a calculation table having columns, which may each have an ordered list of formulas. Formulas within such an ordered list may be evaluated in the order specified until one of the formulas is successfully evaluated. A hierarchy of formulas may be formed by a column's formula depending on another column or table. A graph of data dependencies may be prepared for determining an order in which operands and operations should be evaluated and performed.

Claims (13)

1. A computer-readable storage medium containing computer-executable instructions for implementing a programmable calculation engine by performing operations comprising:

accepting, as input, a user-definable calculation specification that includes:

a primary formula that references at least a first data source, and

an ordered list containing at least one fallback formula for use upon occurrence of a failure associated with evaluating the primary formula;

generating a dependency tree that includes a plurality of nodes that indicate that at least one operand of at least one of the formulas depends on at least one of another operand and one of the data sources;

optimizing the dependency tree by combining redundant nodes into a single node;

generating calculation results by performing operations in accordance with the calculation specification and in accordance with the dependency tree; and

outputting the calculation result.

2. The computer-readable storage medium of claim 1 , wherein at least one of the data sources includes a real-time stock-quote data feed.

3. The computer-readable storage medium of claim 1 , comprising further computer-executable instructions for performing the step of: checking the dependency tree for cyclical dependencies.

4. The computer-readable storage medium of claim 1 , comprising further computer-executable instructions for performing the step of: automatically aggregating data by subtotaling.

5. The computer-readable storage medium of claim 1 , wherein at least one of the data sources includes a database table.

6. The computer-readable storage medium of claim 1 , wherein at least one of the data sources includes a calculation table generated by performing an aggregation operation on a table.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2002
From: MITRA, KANCHAN; TIMASHEVA, ANNA V.; DEWAN, DIPAN; CROCKER, KENNETH L.; CORRINGTON, ROBERT; GUNTER, DAVID V.
To: MICROSOFT CORPORATION
Reel/Frame 013598/0237 →