Optimized Business Process Management
Original Publication Date: 2005-Nov-08
Included in the Prior Art Database: 2005-Nov-08
Even with the advancement of technology and business processes for efficient process management there aren?t many clear ways to define the actual process of product integration and product configuration. Many companies and sub groups within a firm still follow archaic process of product installation and configuration by investing in technical labor to do product installation, testing and error reporting. It is further worse when we have to do it during the regular scheduled build, system, and various verification tests. So, installation of products is followed by configuration based upon the business process logic and execution for future enterprise provisioning on-demand. Given this problem of installation, configuration and linkage of enterprise application at the business logic level, there is a strong requirement to optimize the process of solution installation based on business priority and policy. Any enterprise has many different business processes to follow and install. During the life cycle of these processes, the priority of installation and execution of these business processes depends on various factors that are based on business priorities. Given that, we need an optimized way to handle various business processes which can enable reuse existing processes and systems without major rework or reinstallations. Here is a list of problems that are currently exists: · Business Processes are complex and span multiple domains · Processes can consist of other processes · Multiple Solution Module Definition Documents · Merging and optimization of various solution module definitions for effective reuse of already installed components. · Convert the policy of installed components to optimize and work with the new business process. · Manage reoccurring patterns in enterprise environments to effectively schedule installation during runtime environment
Optimized Business Process Management
1 Summary of Invention
Optimization of SMD Installation involves basically integrating the various SMDs' that are queued into the SMD Controller's priority queue. So essentially there is a priority queue that exists between the BPEL controller and the SMD Controller. The SMD Controller uses an optimizer to schedule the installations for lowest time installation of items in the list. There are certain set of heuristics and assumptions that the installation will be depending upon.
Here are a set of heuristics/assumptions on which this will be based upon:
i) There will be enough hardware resources to satisfy at least every single SMD that has
been given to SMD Controller.
ii) If there is no installation requirement for a product and there is no entry in the knowledge repository about the average un-installation time for a product. Otherwise, the product is kept to perform lazy un-installation later when a requirement arises to install the product. However, the product has to be secured and disabled.
iii) There is a knowledge base with the average or mean installation and un-installation times for a particular SIU according to some CPU/memory/hard-drive/network speed industry standard. In cases where these values aren't provided installation will happen just in the order they are provided but the knowledge base will now be recording these values into the database.
iv) It is always important to install higher priority items faster than considering optimal installation of all SMDs' in the priority queue across the resource network.
1.2 SMD Installation Series Function
The SMD Installation requires a Series Function Se(x,y,z) , where x is the current state of the resources, y is the SMD to be installed and z is the policy requirements of the system after installation. The series function basically queues all the events like the series of the un-installation, installation steps to be compliant with the policy requirements of the enterprise. This function is used by the Time Function and the SMD Executioner as time progresses. Here is a detailed list of the series function:
<Instantiate a queue to hold series of events > = eventSeriesQueue <Apply the Directed Graph - Depth First Search Algorithm>
<For each SIU/CIU>
<Calculate the un-installation or disabling script events require...