« PreviousContinue »
PROCESSES THROUGH A MONITORING
This application is the US national phase of international application PCT/GB2006/000674 filed 27 Feb. 2006 which designated the U.S. and claims benefit of EP 05251582.2 and EP 05251583.0, dated 16 Mar. 2005 and 16 Mar. 2005, respectively, the entire content of which is hereby incorporated by reference.
This application is also related to, commonly assigned and filed U.S. patent application Ser. No. 11/886,737 filed Sep. 20, 2007, Ser. No. 11/887,401 filed Sep. 28, 2007, and Ser. No. 10/488,782, now U.S. Pat. No. 7,272,586 issued Sep. 18, 2007.
1. Technical Field
This invention relates to monitoring computer-controlled processes.
2. Description of Related Art
Many processes are controlled by computers. Examples range from technical processes like manufacturing, engine management, etc, through information technology applications such as air traffic control, to business processes such as work scheduling or customer call centre management. Such processes are designed around predetermined assumptions about the environment in which the process is to operate. Should that environment be changed, those assumptions may no longer be valid, and the controlling software may have to be adapted or replaced in order to maintain a required quality of operation. Moreover, whenever the process itself changes, the system that it controls also needs to be adapted to the new requirements. In both cases, it is quite often sufficient to change the process data that controls the system, rather than change the entire system. The process data is typically embodied in software for controlling a computer, the process software itself being installed either as a physical component carrying the necessary programme data, such as a plug-in module or a carrier such as a CD-ROM, or in the form of a signal carried over a communications network.
In currently available systems, changing the process data requires human intervention. New requirements have to be identified, the process data has to be redesigned according to those requirements, and then implemented, tested and finally installed into the system.
Consider a call centre, from which customers are to be contacted in order to offer them new services, or to follow up previous contact with the customers. Typically the process that selects the customers to be contacted is implemented as a piece of software. Amongst many others, typical categories of requirements for such a process are levels of simplicity, adaptability, accuracy and execution time.
More specifically, requirements may include the use of a rule-based process, so that the process manager can understand the selection process that determines which customers are to be contacted. Rule-based processes may be necessary in order to ensure compliance with the rules laid down by regulatory bodies. The number of rules may be constrained in order to keep the process comprehensible.
Another requirement may be adaptability to new data, so that the process can be adapted as new customer or process data becomes available. In particular, time or data storage constraints may make it impossible to use all historic data when recalculating trends and other statistical data.
Another common requirement is a specified level of accuracy; given historic information the process should aim to only contact customers who are in the target group.
The user may have requirements for other parameters, for 5 example for execution time.
All these constraints are to some extent in conflict, for example accuracy may only be improved by incurring a speed penalty.
Similar considerations apply in other contexts: for
10 example, in an engine management system improved dynamic performance will usually incur a detriment in fuel economy and engine life. There may be rules that have to be applied, for example on engine emissions. In traffic management applications (air, road, rail etc), additional throughput
15 may be obtained only at the expense of speed, punctuality, risk factors etc.
The user of a prior art system will select an appropriate process for the required purpose, in accordance with such requirements. The main objective of picking the right process
20 is finding the right balance, i.e. optimising the match of requirements with properties.
Systems exist that can select a process optimised to a given set of requirements. An example is disclosed in International Patent Application WO03/027899, which discloses a method
25 of selecting a data analysis method in accordance with a user preference, wherein the user preference relates to a feature of the data analysis method and is represented by a fuzzy set comprising a range of values, the method comprising the steps of
30 (i) using the user preference to identify one or more rules corresponding to the user preference, each rule comprising at least one fuzzy set that relates features of data analysis methods to data analysis characteristics;
(ii) evaluating the or each identified rule, thereby identifying 35 an instance of a data analysis characteristic associated with
the identified rule, the instance comprising a fuzzy set having a range of values;
(iii) retrieving data identifying a plurality of data analysis methods, each of which has a plurality of data analysis
40 characteristics, wherein, in respect of each said data analysis characteristic, the retrieved data includes a range of values; and
(iv) comparing the retrieved data with the data analysis characteristic instance in order to identify a data analysis
45 method that matches the user preference.
However, such a system is not suited to situations in which the environment is changing continuously and unpredictably. In customer relations management systems, for instance, customer behaviour, and consequently the data relating to those
50 customers, may respond to changes in the respective market. A process like the one discussed above needs to adapt continuously to such changes, or may even need to be replaced. In additional, mechanical systems such as engines may suffer physical deterioration, or changes in their environment,
55 requiring an update of the controlling process to accommodate these changed characteristics.
Adapting control systems to changing requirements or environments has in the past been tackled in one of three ways. Firstly, a manual redesign of the control software may
60 be performed and installed. Secondly, if the range of possible requirements and environmental changes is known beforehand, a set of possible solutions may be provided in advance, with the user selecting the most appropriate for the present situation. Thirdly, a parameterised process may be used,
65 wherein the parameters adapt to measured changes.
The first approach requires manual intervention resulting in high costs and the risk of introducing new faults. The range
of applications to the second approach is heavily restricted since the range of possible changes must be known beforehand. This second approach is not feasible if there are a large variety of possible changes, since it requires a great number of possible solutions to be prepared. The third approach is also 5 impractical unless the variety of different requirements or changes can be predicted well enough to ensure the measured parameters are indicative of the actual changes encountered in the environment.
BRIEF SUMMARY OF EXAMPLE
EMBODIMENTS OF THE PRESENT
According to the present invention there is provided appa- 15 ratus for operating a computer-controlled system, comprising means for monitoring the performance of the system when operating under the control of a first process, and monitoring means for comparing the monitored performance to a set of predetermined requirements, and for identifying when such 20 performance fails to meet the predetermined requirements.
The invention also extends to a method of operating a computer-controlled system, the method comprising the steps of monitoring the performance of a system operating under the control of a first process, comparing the perfor- 25 mance to a predetermined set of requirements, and identifying whether the performance of the system meets the predetermined requirements.
By monitoring the actual performance, rather than the properties that influence it, a more direct measure of the need 30 for, and effect of, changes can be determined.
The invention allows the automatic creation and installation of a new process according to information derived from monitoring system performance and user requirements, using a knowledge base and an automatic data analysis system. 35
The requirements for the process may relate both to requirements of the user and properties of the system. The selection criteria may be based on a number of characteristics such as simplicity, adaptability, accuracy and execution time. In a preferred embodiment these have so-called "fuzzy" prop- 40 erties—they do not have simple binary "on/off characteristics but are defined by a range of values, and the process to be selected is identified using a fuzzy matching procedure.
A preferred embodiment uses the same matching procedure to also control the selection of a process to operate a 45 computer-controlled system, the apparatus comprising means for reading data relating to predetermined requirements for the process, means to generate process data, comparison means to compare the generated data with the process requirements, to identify characteristics meeting the prede- 50 termined requirements, and selection means to generate process data from the data so identified for installation in the computer-controlled system. The process data may be in the form of executable programs, but is preferably a set of templates for process elements, that may be combined to form an 55 executable program for installation in the system. The invention also extends to a method of operating a computer-controlled system to generate process data to control the system wherein a set of process requirements are defined, and stored process data is compared with data relating to the defined 60 requirements, to identify process data that matches the said requirements, and generate a process in accordance with said data for installation in the system. The automated generation of candidate processes, and the selection from such candidates, avoids the problems of manual intervention and limi- 65 tations on possible changes of requirements or the environment.
The invention also extends to a computer program or suite of computer programs for use with one or more computers to carry out the method, or to provide any of the apparatus, of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
An embodiment of the invention will now be described by way of example, with reference to the drawings, in which:
FIG. 1 is a schematic representation of a system incorporating the present invention
FIG. 2 is a flow diagram illustrating the operation of the matcher unit of the system shown in FIG. 1
FIG. 3 is a flow diagram illustrating the operation of the process generator component of the system shown in FIG. 1
FIG. 4 is a schematic representation of another system operating in accordance with the present invention.
DETAILED DESCRIPTION OF EXAMPLE
EMBODIMENTS OF THE PRESENT
As will be understood by those skilled in the art, any or all of the software used to implement the invention can be contained on various transmission and/or storage mediums such as a floppy disc, CD-ROM, or magnetic tape so that the program can be loaded onto one or more general purpose computers or downloaded over a computer network using a suitable transmission medium. The program may be embodied on any suitable carrier readable by a suitable computer input device, such as CD-ROM, optically readable marks, magnetic media, punched card or tape, or on an electromagnetic or optical signal.
FIG. 1 depicts a system 1 which implements or supports a process in response to a process 2. The process 2 can be implemented in a hardware module, like an FPGA-based system or a programmable signal processor, or as a software module on a computer. The process 2 operates according to a program and a set of parameters. The system generates data 3 that can be used to measure the performance of the system. For example, the system 1 might be used to manage CRM processes, in which the process 2 generates measurements of factors such as customer satisfaction, product sales or any other related measure like costs of calling the customers. In other systems, for example engine management, the output 3 would return data on performance. In traffic management systems, the output 3 may include measures of vehicle speeds, queue lengths, etc.
A performance monitor 4 has access to the performance data 3 generated by the system 1, in order to measure its performance. Actual performance measures can be defined by the user 7 to be stored in the performance monitor 4. The performance of the system 1 indirectly acts as an indicator of the performance of the process embodied in the module 2, since that process is built to positively influence the operation of the system 1. For this reason, the performance of the system 1 can be interpreted as a property of the process module 2. The performance is dynamic in the sense that it not only depends on the process 2 but also on the system 1 and its environment.
For example, if the performance of a CRM system is measured in terms of customer satisfaction, the performance depends not only on the process that tries to pick the most unsatisfied customers, but also on the environment of the market. Influences might not be directly captured by the system but only indirectly observable. For example, they could include a documentary on TV that changes the perception of