Browse Prior Art Database

Method of efficient result in a system comprising a rules engine by retrieving from a database lookup

IP.com Disclosure Number: IPCOM000240417D
Publication Date: 2015-Jan-29
Document File: 4 page(s) / 87K

Publishing Venue

The IP.com Prior Art Database

Abstract

This article proposes a method for avoiding the calls to rules service and thus eliminating the financial and performance costs involved in making the call. This method consists of tracking and persisting the business rules execution time, along with input and output parameters. Also, by generally available database monitoring tools, the querying time of a database table is obtained. By comparing the average business rule execution time and database querying time from historical data, it is decided to either execute the business rule or query the table. If the querying time is less, the database is searched with the set of input parameters, and if found, the output parameter is provided to the system without executing the business rule. If the matching input parameters are not found in the database, the default path of business rule execution is followed.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 45% of the total text.

Page 01 of 4

Method of efficient result in a system comprising a rules engine by retrieving from a database lookup

Background

A typical decision making system would incorporate decision making in the form of a commercial rule server, a typical way of making available the business rules would be in the form of web services. However, there is an execution cost involved in invoking the business rules services, particularly if the business rules service is hosted on a different system.

Business rules services would accept a set of parameters, hereafter called "input parameters", and based on some calculations or decisions, respond with a set of parameters, hereafter called "output parameters", which would advance the state of the system calling the business service. For example, if a workflow is calling a business rule service to calculate the discount for a customer based on parameters like age of the customer beyond a threshold, membership type, and purchase amount in different ranges, the business rule service would respond with the discount percentage. Here, "age threshold, membership type, purchase range" are the input parameters, and the "discount percentage" is the output parameter.

If the input parameters is repetitive, ("Above 60, Gold, More than 2000"), the output parameters (10) would also be the same. An alternate less expensive method of obtaining the same output parameter in the case of repetitive input parameters would be highly desired.

The scenario of repeated inputs would be applicable especially in cases where the selection is done from a set "Bill-of-Materials" or, Online menu. For example, in an online pizza ordering portal, catering to multiple areas in a city through franchises, the user would be making selections of different kinds of pizza of different sizes. Since the selection is limited to the menu, the chances of repeating input parameters (for example, total cost exceeding a certain threshold, order coming for a particular area of the city, a particular side order included) is high. The output of this transaction would be an eligibility to a promotional offer for the next order, for an example, Rs.100/- off.

Summary

This article proposes a method for avoiding the calls to rules service and thus eliminating the financial and performance costs involved in making the call. This method consists of tracking and persisting the business rules execution time, along with input and output parameters. Also, by generally available database monitoring tools, the querying time of a database table is obtained. By comparing the average business rule execution time and database querying time from historical data, it is decided to either execute the business rule or query the table. If the querying

1


Page 02 of 4

time is less, the database is searched with the set of input parameters, and if found, the output parameter is provided to the system without executing the business rule. If the matching input parameters are not found in t...