# US 7,610,294 B2 · Multidimensional data cube validation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,610,294 B2
- Document ID: US7610294B2
- Status: Granted
- Kind: B2
- Application number: 11/756,285
- Filed: 2007-05-31
- Published: 2008-12-04
- Granted: 2009-10-27
- Earliest claimed: 2007-05-31
- Assignees: International Business Machines Corporation
- Inventors: Rasmus Borgsmidt
- Web page: https://patentgrep.com/patent/US7610294B2

## CPC

- G06Q 10/04: Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem" (market predictions or forecasting for commercial activities G06Q30/0202)
- G06Q 40/00: Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q 40/06: Asset management; Financial planning or analysis
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

This disclosure describes techniques of validating data that a user enters into an enterprise system for storage within a multidimensional data cube. The data cube includes one or more data hyperplanes associated with members of a dimension having cells that contain data. In addition, the data cube includes a validation rule hyperplane of the dimension. Cells in the validation rule hyperplane contain data that indicate whether data in corresponding cells of the data hyperplanes comply with a validation rule. In accordance with these techniques, data in the cells of the data hyperplanes may be submitted if the data in the cells of the validation results hyperplane indicate that data contained in corresponding cells of the data hyperplanes complies with the validation rule.

## Claims

### Claim 1

A method comprising:
storing, by a computing device, a multidimensional data cube that includes:
(a) one or more data hyperplanes associated with members of a first dimension of the data cube, wherein the data hyperplanes have cells that contain data; and
(b) a validation results hyperplane associated with a member of the first dimension of the data cube, wherein the validation results hyperplane has cells that contain results that indicate whether data in corresponding cells of the data hyperplanes comply with a validation rule, and wherein the validation rule provides a validation expression specifying one or more of the data hyperplanes as operand hyperplanes;
causing the cells in the validation results hyperplane to indicate whether data in corresponding cells in the operand hyperplanes complies with the validation expression; and
submitting data contained in the cells of the operand hyperplanes when data contained in one or more cells of the validation results hyperplane indicate that data contained in corresponding cells of the operand hyperplanes complies with the validation expression.

### Claim 2 (depends on 1)

The method of claim 1, wherein a first cell in a first hyperplane of a first dimension of a data cube corresponds to a second cell in a second hyperplane of the first dimension when the first cell and the second cell are, for every other dimension in the data cube, in a common hyperplane.

### Claim 3 (depends on 1)

The method of claim 1, wherein the validation rule represents a policy of an enterprise.

### Claim 4 (depends on 1)

The method of claim 1, wherein the data contained in cells of the data hyperplanes comprises enterprise planning data.

### Claim 5 (depends on 1)

The method of claim 1, wherein the method further comprises receiving the multi-dimensional data cube from a server via a computer network.

### Claim 6 (depends on 5)

The method of claim 5, wherein submitting data contained in the cells of the operand hyperplanes comprises submitting data in the data cube to the server when the data in the data cube complies with the validation rule.

### Claim 7 (depends on 1)

The method of claim 1, wherein the method further comprises:
storing the validation rule, wherein the validation rule further specifies the first dimension of the data cube as an expression dimension.

### Claim 8 (depends on 7)

The method of claim 7,
wherein the method further comprises identifying cells in the validation results hyperplane to which the validation rule is applicable.

### Claim 9 (depends on 8)

The method of claim 8,
wherein, for each dimension in the data cube other than the expression dimension, the validation rule specifies a hyperplane as a scoping hyperplane of the dimension; and
wherein identifying cells comprises identifying a cell in the validation results hyperplane that is also in the scoping hyperplanes of each of the other dimensions.

### Claim 10 (depends on 8)

The method of claim 8,
wherein the method further comprises determining whether the validation rule is applicable to an entity who entered the data in the data cube; and
wherein identifying cells comprises identifying the cells in the validation results hyperplane when the validation rule is applicable to the entity who entered the data in the data cube.

### Claim 11 (depends on 10)

The method of claim 10, wherein the method further comprises:
storing a rule set object that specifies one or more validation rules, wherein the rule set object is associated with one or more users; and
wherein determining whether the validation rule is applicable to the user comprises determining that the validation rule is applicable to the user when the validation rule is one of the validation rules specified by the rule set object and when the user is one of the users associated with the rule set object.

### Claim 12 (depends on 11)

The method of claim 11,
wherein the rule set object specifies a failure action; and
wherein the method further comprises performing the failure action when the validation rule is applicable to the entity and when one or more of the identified cells in the validation results hyperplane indicate that data contained in corresponding cells in the operand hyperplanes does not comply with the validation expression.

### Claim 13 (depends on 12)

The method of claim 12, wherein performing the failure action comprises preventing the entity from submitting data contained in the corresponding cells in the operand hyperplanes.

### Claim 14 (depends on 11)

The method of claim 11, wherein the rule set object is associated with a role within an enterprise performed by the entity.

### Claim 15 (depends on 1)

The method of claim 1, wherein causing the cells in the validation results hyperplane to indicate whether data in corresponding cells of the operand hyperplanes complies with the validation expression comprises:
generating new values by recalculating data in the data cube; and
storing the new values into appropriate cells in the data cube.

### Claim 16 (depends on 15)

The method of claim 15, wherein generating new values comprises:
adding calculation items associated with the identified cells into a calculation list associated with the data cube; and
generating the new values by processing a set of calculation items in a calculation list associated with the data cube,
wherein each of the calculation items specifies an operation to recalculate values in cells in a different hyperplane of the data cube.

### Claim 17 (depends on 16)

The method of claim 16,
wherein a first one of the calculation items specifies an operation to recalculate values in cells of the validation results hyperplane;
wherein storing the new values into appropriate ones of the identified cells comprises storing, in cells of the validation results hyperplane, values that result from processing the first one of the calculation items.

### Claim 18 (depends on 1)

The method of claim 1, wherein the data cube includes three or more dimensions.

### Claim 19

A device comprising:
at least one processor;
a multidimensional data cube that includes:
(a) one or more data hyperplanes associated with members of a first dimension of the data cube, wherein the data hyperplanes have cells that contain data; and
(b) a validation results hyperplane associated with a member of the first dimension of the data cube, wherein the validation results hyperplane has cells that contain results that indicate whether data in corresponding cells of the data hyperplanes comply with a validation rule, and wherein the validation rule provides a validation expression specifying in one or more of the data hyperplanes as operand hyperplanes; and
a software system executable by the at least one processor, wherein the software system comprises a calculation engine that causes the cells in the validation results hyperplane to indicate whether data in corresponding cells in the operand hyperplanes complies with the validation expression, and
wherein the software system further causes the device to submit data contained in the cells of the operand hyperplanes when data contained in one or more cells of the validation results hyperplane indicate that data contained in corresponding cells of the operand hyperplanes complies with the validation expression.

### Claim 20 (depends on 19)

The device of claim 19, wherein a first cell in a first hyperplane of a first dimension of a data cube corresponds to a second cell in a second hyperplane of the first dimension when the first cell and the second cell are, for every other dimension in the data cube, in a common hyperplane.

### Claim 21 (depends on 19)

The device of claim 19, wherein the validation rule represents a policy of an enterprise.

### Claim 22 (depends on 19)

The device of claim 19, wherein the data comprises enterprise planning data.

### Claim 23 (depends on 19)

The device of claim 19, wherein the software system submits data in the data cube to a server via a computer network when the data in the data cube complies with the validation rule.

### Claim 24 (depends on 19)

The device of claim 19, wherein the
validation rule further specifies the first dimension of the data cube as an expression dimension.

### Claim 25 (depends on 24)

The device of claim 24, wherein the calculation engine identifies cells in the validation results hyperplane to which the validation rule is applicable.

### Claim 26 (depends on 25)

The device of claim 25,
wherein, for each dimension in the data cube other than the expression dimension, the validation rule specifies a hyperplane as a scoping hyperplane of the dimension; and
wherein the calculation engine identifies the cells in part by identifying a cell in the validation results hyperplane that is also in the scoping hyperplane of each of the other dimensions.

### Claim 27 (depends on 25)

The device of claim 25, wherein the calculation engine determines whether data in the data cube complies with the validation rule in part by determining whether the validation rule is applicable to a user who entered the data in the data cube and by identifying the cells in the validation results hyperplane when the validation rule is applicable to a user who entered the data in the data cube.

### Claim 28 (depends on 27)

The device of claim 27,
wherein the device further comprises a rule set object that specifies one or more validation rules in the model, and
wherein the rule set object is associated with one or more users; and
wherein the calculation engine determines whether the validation rule is applicable to the user in part by determining that the validation rule is applicable to the user when the validation rule is one of the validation rules specified by the rule set object and when the user is one of the users associated with the rule set object.

### Claim 29 (depends on 28)

The device of claim 28,
wherein the rule set object specifies a failure action; and
wherein the device further comprises a session manager that performs the failure action when the validation rule is applicable to the user and when one or more of the identified cells in the validation results hyperplane indicate that data contained in corresponding cells in the operand hyperplanes does not comply with the validation expression.

### Claim 30 (depends on 29)

The device of claim 29, wherein, when the session manager performs the failure action, the export manager prevents the user from submitting the data contained in the corresponding cells in the operand hyperplanes.

### Claim 31 (depends on 28)

The device of claim 28, wherein the rule set object is associated with a role within an enterprise performed by the user.

### Claim 32 (depends on 24)

The device of claim 24,
wherein the calculation engine identifies data cubes that store data that requires recalculation due to changes in data of the data cube;
wherein the calculation engine generates new values by recalculating data in the identified cells; and
wherein the calculation engine stores the new values into appropriate ones of the identified cells, thereby causing cells in the validation results hyperplane to indicate whether the validation expression holds for data in corresponding cells in the operand hyperplanes.

### Claim 33 (depends on 32)

The device of claim 32,
wherein the calculation engine comprises a calculation list that stores calculation items associated with the data cube,
wherein each of the calculation items instructs the calculation engine how to calculate values in a different hyperplane of the data cube, and
wherein the calculation engine processes each one of the calculation items in order to generate the new values.

### Claim 34 (depends on 33)

The device of claim 33,
wherein a first one of the calculation items specifies an operation to calculate results in cells of the validation results hyperplane, and
wherein when the calculation engine performs the first one of the calculation items, the calculation engine stores the new values into appropriate ones of the cells in the validation results hyperplane.

### Claim 35 (depends on 19)

The device of claim 19, wherein the data cube includes three or more dimensions.

### Claim 36

A computer-readable storage medium comprising instructions that, when executed, cause a processor to:
store a multidimensional data cube that includes:
(a) one or more data hyperplanes associated with members of a first dimension of the data cube, wherein the data hyperplanes have cells that contain data; and
(b) a validation results hyperplane associated with a member of the first dimension of the data cube, wherein the validation results hyperplane has cells that contain results that indicate whether data in corresponding cells of the data hyperplanes comply with a validation rule, and wherein the validation rule provides a validation expression specifying one or more of the data hyperplanes as operand hyperplanes;
cause the cells in the validation results hyperplane to indicate whether data in corresponding cells in the operand hyperplanes complies with the validation expression; and
submit data contained in the cells of the operand hyperplanes when data contained in one or more cells of the validation results hyperplane indicate that data contained in corresponding cells of the operand hyperplanes complies with the validation expression.

### Claim 37 (depends on 36)

The computer-readable storage medium of claim 36, wherein the instructions further cause the processor to:
store the validation rule, wherein the validation rule further specifies the first dimension of the data cube as an expression dimension.

### Claim 38 (depends on 37)

The computer-readable storage medium of claim 37,
wherein the instructions further cause the processor identify cells in the validation results hyperplane to which the validation rule is applicable.

### Claim 39 (depends on 36)

The computer-readable storage medium of claim 36, wherein the instructions cause the processor to cause cells in the validation results hyperplane to indicate whether data in corresponding cells of the operand hyperplanes complies with the validation expression by causing the processor to:
recalculate data in cells of the validation results hyperplane; and
store the recalculated data in the cells of the validation results hyperplane.
