IP Library Granted Patent US 7,917,459
Granted Patent B2
US 7,917,459 · App. 11/983,465 · Granted Mar 29, 2011

System and method for executing complex IF-THEN clauses

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,917,459
App. No.
11/983,465
Granted
Mar 29, 2011
Kind
B2
Abstract

Complex nested if-then statement on data objects in a digital computer are organized as a plurality of logical case statements; for each case statement, a set of binary condition arrays is provided and for each data object a condition set. Case statements are executed on the data objects for which a condition array from the set of binary condition arrays matches the condition set for the data object.

Claims (52)

1. A method for structuring complex nested if-then statements in program code executing on data objects in a digital computer to facilitate computer programmer maintenance and enhancement of a billing agent, and to improve program performance, of said program code, comprising:

defining for said billing agent a plurality of condition set data objects, each data object representing a billable activity and represented by a plurality of attribute values including division, department, and at least one additional attribute value;

organizing said if-then statements as a plurality of logical case statements, said case statements including new division, new department, new attribute value, and no change;

for each said case statement, providing a set of binary condition arrays;

determining a condition set for a data object;

executing on said data object a case statement for which a condition array from said set of binary condition arrays matches said condition set for said data object; and

said billing agent executing said case statements to present at a computer output device charges to be made to said division and department for said billable activities.

2. The method of claim 1 , further comprising:

sorting said data objects on a logical ordering of attributes into a sorted data set including said data object and for each said data object its immediately previous data object in logical sort order; and

deriving from successive data objects said condition set, with each character of said condition set being a binary value respectively representing whether or not an attribute of said data object is identical to a corresponding attribute from said previous data object.

3. The method of claim 2 , further comprising:

providing in each said case statement execution code common to processing of each data object having said condition set matching a condition array for said case statement.

4. The method of claim 3 , further comprising:

ordering said case statements for execution in logical order corresponding to said sort order.

5. A computer system for executing complex IF-THEN statements in program code to facilitate computer programmer maintenance and enhancement and operation of a billing agent, and to improve program performance, of said program code, comprising:

a digital computer for executing said billing agent, said billing agent defined by a plurality of condition set objects; a plurality of data objects elements, each data object representing a billable activity and represented by a plurality of attribute values including division, department, and at least one additional attribute value; a conditions indicia set element; a conditions string element; and a plurality of case statements, said case statements including new division, new department new attribute value, and no change, each case statement having a respective binary conditions array;

a conditions indicia element for storing a set of conditions for each said data object;

a conditions string element for storing for each said data object a binary condition string representative of correspondence on attributes of successive data objects;

said computer comparing said binary condition strings of successive data objects with successive binary condition arrays to determine which of said case statements is to process said data object;

said billing agent for executing said case statements to charge said billable activities to said division and department; and

a computer output device for presenting said case statements to said computer programmer for maintenance and enhancement of said program code.

6. The system of claim 5 , further comprising:

said computer sorting said data objects on a logical order of said attributes; and

said case statements ordered according to said logical order.

7. A program storage device readable by a machine, tangibly embodying a program of instructions executable by a machine for structuring complex nested if-then statements in program code executing on data objects in a digital computer to facilitate computer programmer maintenance and enhancement and operation of a billing agent, and to improve program performance, of said program code, comprising:

a digital computer readable storage medium;

first program instructions for defining for said billing agent a plurality of condition set data objects, each data object representing a billable activity and represented by a plurality of attribute values including division, department, and at least one additional attribute value;

second program instructions for organizing said if-then statements as a plurality of logical case statements, said case statements including new division, new department, new attribute value, and no change;

third program instructions, for each said case statement, for providing a set of binary condition arrays;

fourth program instructions for determining a condition set for a data object;

fifth program instructions for executing on said data object a case statement for which a condition array from said set of binary condition arrays matches said condition set for said data object;

sixth program instructions for executing said case statements to present at a computer output device charges to be made to said division and department for said billable activities; and wherein

said first, second, third, fourth, fifth, and sixth program instructions are recorded on said digital computer readable storage medium.

8. The program storage device of claim 7 , further comprising:

seventh program instructions for sorting said data objects on a logical ordering of attributes into a sorted data set including said data object and its immediately previous data object in logical sort order;

eighth program instructions for deriving from successive data objects said condition set, with each character of said condition set being a binary value respectively representing whether or not an attribute of said data object is identical to a corresponding attribute from said previous data object; and wherein

said seventh and eighth program instructions are recorded on said digital computer readable storage medium.

9. The program storage device of claim 8 , further comprising:

ninth program instructions for providing in each said case statement execution code common to processing of each data object having said condition set matching a condition array for said case statement; and wherein

said ninth program instructions are recorded on said digital computer readable storage medium.

10. The program storage device of claim 9 , further comprising:

tenth program instructions for ordering said case statements for execution in logical order corresponding to said sort order; and wherein

tenth program instructions are recorded on said digital computer readable storage medium.

11. A computer program product for controlling the operation of a digital computer to enhance computer programmer maintenance and operation of program code initially executing complex nested if-then statements of a billing agent according to the method comprising:

defining for said billing agent a plurality of condition set data objects, each data object representing a billable activity and represented by a plurality of attribute values including division, department, and at least one additional attribute value;

organizing said if-then statements as a plurality of logical case statements;

for each said case statement, providing a set of binary condition arrays;

determining a condition set for a data object;

executing on said data object a case statement for which a condition array from said set of binary condition arrays matches, said condition set for said data object;

said billing agent executing said case statements to present at a computer output device charges to be made to said division and department for said billable activities;

presenting said case statements at a digital computer output device to a computer programmer to enable enhancement and maintenance of said program code;

receiving from said computer programmer modified case statements for executing enhanced program code.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2012
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: FACEBOOK, INC.
Reel/Frame 027991/0496 →