WO2011132475A1 - 処理手順管理装置、処理手順管理方法、処理手順管理システム、および処理手順管理プログラム - Google Patents

処理手順管理装置、処理手順管理方法、処理手順管理システム、および処理手順管理プログラム Download PDF

Info

Publication number
WO2011132475A1
WO2011132475A1 PCT/JP2011/055857 JP2011055857W WO2011132475A1 WO 2011132475 A1 WO2011132475 A1 WO 2011132475A1 JP 2011055857 W JP2011055857 W JP 2011055857W WO 2011132475 A1 WO2011132475 A1 WO 2011132475A1
Authority
WO
WIPO (PCT)
Prior art keywords
performance
procedure
processing
processing procedure
information
Prior art date
Application number
PCT/JP2011/055857
Other languages
English (en)
French (fr)
Inventor
有熊 威
白石 展久
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2011539576A priority Critical patent/JP4888618B2/ja
Priority to US13/379,953 priority patent/US8359293B2/en
Priority to CN201180002523.4A priority patent/CN102473195B/zh
Publication of WO2011132475A1 publication Critical patent/WO2011132475A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring

Definitions

  • the present invention relates to a processing procedure management apparatus, a processing procedure management method, a processing procedure management system, and a processing procedure management program for managing processing procedures.
  • a processing procedure management apparatus that manages a plurality of processing procedure candidates for executing information processing and determines a suitable processing procedure for specified information processing is known.
  • this type of processing procedure management apparatus as shown in FIG. 18, an algorithm registration unit 101, an optimum pattern determination condition designation unit 102, an algorithm designation unit 103, a search pattern extraction unit 104, and a search pattern execution unit 105 And a data input unit 106 and an optimum pattern determination unit 107 (see, for example, Patent Document 1).
  • the processing procedure management apparatus described in Patent Document 1 determines a processing procedure as follows. First, the algorithm registration unit 101 registers various algorithms and parameter combination rules used for data processing.
  • the target performance value for the data input unit 106 to acquire data to be processed and the optimal pattern determination condition specifying unit 102 to determine the optimal combination pattern of algorithms and rules used for processing the data to be processed Is set as a judgment condition. If a condition for selecting an algorithm to be used for data processing is designated by the user, the algorithm designating unit 103 acquires a selection condition for the algorithm to be used. Next, the search pattern extraction unit 104 selects an algorithm to be used for data processing based on the selection condition, and constructs a “combination pattern” that is a pattern for combining algorithms. Next, the search pattern execution unit 105 executes “combination patterns” for all “combination patterns” to generate output data. Next, the optimal pattern determination unit 107 determines an optimal “combination pattern” based on the determination condition, and outputs information such as optimal data and an optimal combination pattern.
  • the technique described in Patent Document 1 cannot quickly adapt to changes in the performance of a function engine that executes each algorithm when determining a suitable processing procedure.
  • the reason is described.
  • the performance of a functional engine may vary depending on the amount and content of information held by the functional engine.
  • the performance of the learning type function engine may change over time depending on the degree of learning.
  • the performance referred to here includes performance related to processing load (processing time, computational resource consumption, etc.) and performance related to quality of processing results (accuracy, likelihood, etc.).
  • the technique described in Patent Document 1 needs to actually execute a plurality of “combination patterns” that are candidates for the optimum processing procedure in order to determine the optimum processing procedure at a certain point in time.
  • the processing procedure management apparatus described in Patent Document 1 there is a time lag in adapting to performance changes by the execution time of a plurality of “combination patterns”. For this reason, the processing procedure management device described in Patent Document 1 has the above-described problem that high-speed adaptation is difficult.
  • the present invention has been made to solve the above-described problems, and provides a processing procedure management apparatus capable of determining a processing procedure by adapting to a performance change of a function engine used for information processing at high speed. Objective.
  • the processing procedure management apparatus includes a procedure database for storing a processing procedure for executing information processing together with performance information representing the performance, and a performance observed when the information processing is executed according to the processing procedure.
  • a performance history database that stores functional engine observation performance information that represents the performance observed for each functional engine that executes the processing modules constituting the processing procedure, and the observation performance information and the functional engine observation performance information.
  • a performance observation means for acquiring and storing in the performance history database, a future performance calculation means for calculating future performance information representing a performance at a future time for each functional engine based on the performance history database, and the future Reconfigure the processing module based on performance information and execute the information processing
  • a procedure generating means for generating a new processing procedure for updating the performance information of the procedure database based on the performance history database, and the processing procedure generated by the procedure generating means and its performance information
  • a procedure resolving means for determining and outputting a processing procedure for executing designated information processing from the procedure database.
  • the processing procedure management system of the present invention is a processing procedure management system including a processing execution device that executes information processing according to a processing procedure, and a processing procedure management device that manages the processing procedure.
  • a device that requests the processing procedure management device to determine a processing procedure for executing the information processing, and a processing control unit that executes the information processing according to the processing procedure determined by the processing procedure management device;
  • a function engine that executes each processing module that constitutes the processing procedure, and the processing procedure management device stores a procedure database that stores the processing procedure together with performance information representing the performance, and the processing procedure according to the processing procedure.
  • a performance history database for storing functional engine observation performance information representing performance, a performance observation means for acquiring and storing the observation performance information and the functional engine observation performance information in the performance history database, and based on the performance history database
  • Future performance calculation means for calculating future performance information representing the performance at a future time for each functional engine, and a new for reconfiguring the processing module based on the future performance information and executing the information processing
  • Procedure generating means for generating a processing procedure, and a procedure for updating the performance information of the procedure database based on the performance history database, and adding the processing procedure generated by the procedure generating means and its performance information to the procedure database.
  • the processing procedure management method of the present invention uses a processing execution device that executes information processing according to a processing procedure and a processing procedure management device that manages the processing procedure.
  • the procedure is stored in the procedure database together with performance information indicating the performance, and the observation performance information indicating the performance observed when the information processing is executed according to the processing procedure and the function engine executing the processing module.
  • Acquire functional engine observation performance information representing the observed performance store the acquired observation performance information and functional engine observation performance information in a performance history database, and at a certain time in the future for each functional engine based on the performance history database
  • the future performance information representing the performance at the time is calculated, and the processing module is re-based based on the future performance information.
  • generating a new processing procedure for executing the information processing updating performance information of the procedure database based on the performance history database, and newly generating the processing procedure and its performance information.
  • the processing execution device requests the processing procedure management device to determine a processing procedure for executing the information processing, and the processing procedure management device executes the requested information processing.
  • the processing procedure management program stored in the recording medium of the present invention stores the processing procedure in a procedure database together with performance information indicating the performance in a processing procedure management apparatus that manages the processing procedure for executing information processing.
  • a performance observation step for acquiring functional engine observation performance information representing a performance history, a performance history storage step for storing the observation performance information and functional engine observation performance information acquired in the performance observation step in a performance history database, and the performance history database Future based on the function engine based on the performance at a certain point in the future
  • a future performance calculating step for calculating information, a procedure generating step for reconfiguring the processing module based on the future performance information and generating a new processing procedure for executing the information processing, and the performance history database Updating the performance information of the procedure database based on the procedure update step of adding the processing procedure generated in the procedure generation step and the performance information to the procedure database, and a process for executing the specified information processing And a procedure resolution step of determining and outputting the procedure from the procedure database.
  • the present invention can determine the processing procedure by adapting to the performance change of the function engine used for information processing at high speed.
  • FIG. 1 It is a flowchart explaining the procedure production
  • FIG. 1 shows a functional block configuration of a processing procedure management system 1 as a first embodiment of the present invention.
  • a processing procedure management system 1 includes a processing execution device 2 that executes information processing instructed by a user or a client device 10, and a processing procedure that manages a processing procedure of information processing executed by the processing execution device 2.
  • Management device 3. The processing execution device 2 and the processing procedure management device 3 are connected so as to communicate with each other.
  • the processing execution device 2 and the processing procedure management device 3 include a CPU (Central Processing Unit) 11, a RAM (Random Access Memory) 12, a ROM (Read Only Memory) 13, and a storage.
  • CPU Central Processing Unit
  • RAM Random Access Memory
  • ROM Read Only Memory
  • the process execution device 2 is a device that executes information processing to provide functions to the client device 10.
  • the function provided to the client device 10 refers to various functions realized by information processing such as a service for searching a document on the web or an intranet.
  • the process execution device 2 includes a process control unit 21 and one or more function engines 22. Although two function engines 22 are shown in FIG. 1, the number of function engines included in the processing execution device is not limited in the present invention.
  • the process control part 21 and the function engine 22 are comprised as a circuit stored in the memory
  • the process control unit 21 acquires a function provision request from the client device 10. Then, the processing control unit 21 executes information processing for realizing the requested function based on the processing procedure, and outputs the processing result to the client device 10. At this time, the process control unit 21 requests the process procedure management apparatus 3 (to be described later) to determine a process procedure for information processing that realizes the requested function. Then, the processing control unit 21 executes information processing for realizing the requested function in accordance with the processing procedure determined by the processing procedure management device 3.
  • the function engine 22 executes a processing module that constitutes information processing that realizes the function requested by the client device 10. The function engine 22 executes the processing module under the control of the processing control unit 21 and outputs the processing module to the processing control unit 21.
  • the processing procedure management apparatus 3 includes a procedure database 31, a performance history database 32, a performance observation unit 33, a future performance calculation unit 34, a procedure generation unit 35, a procedure update unit 36, and a procedure resolution unit 37.
  • the procedure database 31 and the performance history database 32 may be configured by a storage device of a computer.
  • the performance observation unit 33, the future performance calculation unit 34, the procedure generation unit 35, the procedure update unit 36, and the procedure resolution unit 37 are circuits that are stored as program modules in a computer storage device and executed by the CPU.
  • Configured as The procedure database 31 stores candidate processing procedures for executing information processing for realizing functions that can be requested from the client device 10 to the processing execution device 2 together with performance information thereof.
  • the procedure database 31 includes a procedure table TA shown in FIG. 2 and a procedure feature table TB shown in FIG.
  • the procedure table TA stores a tuple including a processing procedure expression representing a processing procedure and a processing procedure ID that identifies the processing procedure.
  • the processing procedure ID uniquely identifies the processing procedure and is the primary key of the procedure table TA.
  • the processing procedure ID is not limited to numbers, and may be any information that can uniquely identify the processing procedure, such as an arbitrary character string or a URI (Uniform Resource Identifier).
  • the processing procedure expression is an expression in which a procedure for executing information processing is described.
  • the processing procedure expression describes the combination of function engines for executing information processing and the execution order thereof.
  • the processing procedure expression is described by a function engine function call and a combination operator (
  • the processing procedure expression of processing procedure ID 1 calls the function engine called synonym expansion A with an argument that expands to synonyms and related terms, and then calls the in-house document search function engine and the web document search function engine in parallel. Then, the processing procedure for calling the result integration function engine is shown.
  • the processing procedure expression need not be such character string information.
  • the processing procedure expression may be information that can uniquely identify a combination of function engines and an execution order required for information processing, such as a UML (Unified Modeling Language) activity diagram or a graph expression such as a flowchart.
  • the procedure feature table TB stores a tuple composed of a processing procedure ID for identifying a processing procedure, a function type representing a function realized by the processing procedure, and a performance vector representing the performance of the processing procedure. is doing.
  • the processing procedure ID and the function type are the main keys of the procedure feature table TB.
  • the processing procedure ID is information for indicating which processing procedure characteristic the tuple describes, and is an external key of the ID of the procedure table TA.
  • the function type represents a function realized by executing information processing according to this processing procedure.
  • the function type indicates what purpose the processing procedure is used for, and for which function provided by the process execution device 2.
  • the function type may be expressed as a triple of an input data type, a function, and an output data type as in the example of FIG.
  • a predetermined controlled vocabulary is used for the input data type, function, and output data type expressing the function type.
  • a keyword is specified as an input
  • a search using the keyword is performed, and a function type of providing a document on the company intranet and a document on the web as a search result is provided. expressing.
  • the function type need not be such a triplet expression.
  • the function type may be information that can specify a function, for example, a graph expression, a function expression using a single vocabulary, or a function expressed as a numerical vector.
  • the performance vector is a vector representing the performance when the function type information processing is executed according to the processing procedure identified by the processing procedure ID. Note that the performance vector constitutes one embodiment of the performance information in the present invention. In the example of FIG. 3, the performance vector is configured by numerical values representing four indexes, that is, average accuracy, average coverage, average precision, and average processing time.
  • the performance vector stored in the procedure feature table TB is configured by an average value of each index when the processing procedure has been executed in the past.
  • the indexes constituting the performance vector need not be limited to the above four, and may be added or reduced according to the variety of function types and the change target to be adapted.
  • the performance vector is not limited to the average value of each index, and may include an index indicating the distribution of performance based on input data, such as variance and variation coefficient.
  • the performance vector may include an index indicating a processing load such as a CPU load or a hard disk load.
  • the performance history database 32 stores an observed performance vector representing the performance observed when information processing is executed according to the processing procedure stored in the procedure database 31.
  • the performance history database 32 stores a function engine observation performance vector representing the performance observed for each function engine that executes the processing modules constituting the processing procedure stored in the procedure database 31.
  • the performance history database 32 includes a performance history table TC, a function engine performance history table TF, and a performance statistics table TD.
  • An example of data stored in the performance history table TC is shown in FIG.
  • the performance history table TC stores a tuple composed of time, function type, processing procedure ID, and observation performance vector.
  • this tuple is also referred to as state information representing a state observed when information processing is actually executed according to the processing procedure.
  • the time indicates the time when the state information is observed.
  • the time expression only needs to uniquely determine one point on the time axis, and information such as the number of milliseconds from a certain date may be used in addition to the character string shown in FIG.
  • the function type represents what function the processing procedure indicated by the state information is executed to realize, and is a function type external key in the procedure feature table TB.
  • the processing procedure ID identifies the processing procedure indicated by the status information, and is an external key of the ID of the procedure table TA.
  • the observation performance vector is a vector indicating the performance observed when the processing procedure indicated by the state information is executed. Note that the observation performance vector constitutes one embodiment of the observation performance information in the present invention. In the example of FIG. 4, the observation performance vector is configured by numerical values representing four indexes of accuracy, coverage, precision, and processing time.
  • the index constituting the observation performance vector is not limited to the above four, and may be added or reduced according to the diversity of function types and the change target to be adapted.
  • the function engine performance history table TF stores a tuple including a time, a function type, a function engine ID, and a function engine observation performance vector.
  • this tuple is also referred to as function engine state information representing a state observed for each function engine when information processing is actually executed by the processing execution device 2 according to the processing procedure.
  • the time indicates the time when the functional engine state information is observed.
  • the time expression only needs to uniquely determine one point on the time axis, and may be an expression such as the number of milliseconds from a certain date in addition to the character string expression shown in FIG.
  • the function engine ID indicates which function engine the function engine state information is related to.
  • the function engine ID may be information that can uniquely identify each function engine, and may be, for example, an arbitrary character string or numerical value indicating a URI or an engine name. Note that, as in the example of FIG. 5, the same function engine ID in the processing procedure expression of the procedure table TA shown in FIG. 2 may be used for this function engine ID.
  • the function type indicates which function the function engine indicated by the function engine state information has executed in a processing procedure. This function type is an external key of the function type in the procedure feature table TB.
  • the function engine observation performance vector is a vector indicating the performance observed when the function engine indicated by the function engine state information is executed.
  • the functional engine observation performance vector constitutes one embodiment of the functional engine observation performance information in the present invention. In the example of FIG.
  • this functional engine observation performance vector is configured by numerical values indicating four indexes of accuracy, coverage, matching rate, and processing time. Note that the indices included in the functional engine observation performance vector are not limited to the above four, and may be added or reduced according to the diversity of function types and the change target to be applied.
  • An example of data stored in the performance statistics table TD is shown in FIG.
  • the performance statistics table TD stores a tuple including a processing procedure ID, a function type, a statistical performance vector, and a last update time.
  • the processing procedure ID and the function type are the primary keys of the performance statistics table TD. That is, the number of tuples in this table matches the number of tuples in the procedure feature table TB.
  • the processing procedure ID is information for indicating which processing procedure the tuple represents, and is an external key of the processing procedure ID of the procedure table TA.
  • the function type indicates what purpose the processing procedure is used for and what function is used. This function type is an external key of the function type of the procedure feature table TB.
  • the statistical performance vector is a vector that represents statistical information of performance observed when information processing that realizes a function of a function type is executed using the processing procedure identified by the processing procedure ID. In the example of FIG. 6, the statistical performance vector is configured by the average value of each index representing the performance.
  • the statistical performance vector is information on which the performance vector value stored in the procedure feature table TB described above is based.
  • the index that constitutes the statistical performance vector covers the index that constitutes the performance vector of the procedure feature table TB.
  • the index group constituting the performance vector of the procedure feature table TB may be a subset of the index group constituting the statistical performance vector.
  • the last update time indicates the time when this statistical performance vector was last updated. The last update time only needs to be able to uniquely determine one point on the time axis, and may be information such as the number of milliseconds from a certain date in addition to the character string shown in FIG.
  • the performance observation unit 33 acquires state information and function engine state information from the processing control unit 21 and registers them in the performance history table TC and the function engine performance history table TF of the performance history database 32.
  • the future performance calculation unit 34 calculates a future performance vector that represents the performance of each functional engine at a certain time in the future based on the functional engine observation performance vector included in the functional engine state information.
  • the procedure generation unit 35 reconfigures a processing module executed by the function engine based on the future performance vector of each function engine, and performs a new process for causing the process execution device 2 to realize a function that can be requested from the client device 10. Generate a procedure.
  • generation part 35 calculates the performance vector of the newly produced
  • the procedure generation unit 35 sets a new processing procedure for causing the processing execution device 2 to execute information processing that implements a function type function “(Keyword, Search, [WebDocument, IntraDocument])” as a future performance vector. Generate based on.
  • a function type function “(Keyword, Search, [WebDocument, IntraDocument])” as a future performance vector.
  • process procedures with process procedure IDs 1 and 2 are already registered as information process procedures for realizing the function of this function type.
  • the procedure generation unit 35 newly generates a processing procedure of “synonym search B (only synonyms) * in-house document search ()” using the synonym search B instead of the synonym search A.
  • the procedure update unit 36 aggregates the observed performance vectors of the performance history table TC of the performance history database 32 and updates the statistical performance vectors of the performance statistics table TD of the performance history database 32. Accordingly, the procedure update unit 36 also updates the last update time of the performance statistics table TD.
  • the procedure update unit 36 updates the performance vector of the procedure feature table TB based on the statistical performance vector of the performance statistics table TD.
  • the procedure update unit 36 assigns a new processing procedure ID to the processing procedure newly generated by the procedure generation unit 35 and additionally registers it in the procedure table TA of the procedure database 31. Further, the procedure update unit 36 additionally registers the performance vector of the additionally registered processing procedure in the procedure feature table TB.
  • the procedure resolution unit 37 acquires information representing a procedure resolution request from the process control unit 21. Then, the procedure resolution unit 37 analyzes the procedure resolution request and obtains a requested function type that is a function requested by the client device 10 and a requested performance vector that is a requested performance. Further, the procedure resolution unit 37 selects a processing procedure that satisfies the required function type and the required performance vector based on the procedure database 31, and outputs the selected processing procedure to the processing control unit 21.
  • the processing procedure management system 1 includes a processing procedure request solving process for solving a processing procedure request, a performance observation process for observing performance during execution of the processing procedure, a procedure feature updating process for updating the procedure feature table TB, and a new A procedure generation process for generating and additionally registering a process procedure is executed. Note that the processing procedure management system 1 can execute these processes independently.
  • the processing procedure request solution processing will be described with reference to FIG.
  • the procedure resolution unit 37 receives a processing procedure request from the processing control unit 21 (Yes in step Sa1)
  • the processing procedure request is analyzed to identify a requested function type (step Sa2).
  • the procedure resolution unit 37 analyzes this processing procedure request and generates a required performance vector (step Sa3).
  • the procedure resolution unit 37 acquires from the procedure feature table TB of the procedure database 31 a tuple group whose function type matches the requested function type obtained in step Sa2 (step Sa4).
  • the procedure resolution unit 37 calculates the distance between the acquired performance vector of each tuple and the required performance vector (step Sa5).
  • the procedure solving unit 37 may calculate, for example, a cosine distance as the distance between the performance vector of each tuple and the required performance vector.
  • the procedure resolution unit 37 repeats step Sa5 for all the tuples acquired in step Sa4.
  • the procedure resolution unit 37 acquires the processing procedure ID of the tuple with the shortest distance calculated in step Sa5 (step Sa6).
  • the procedure resolution unit 37 acquires a processing procedure expression having this processing procedure ID from the processing table TA (step Sa7). Finally, the procedure resolution unit 37 returns the acquired processing procedure expression to the processing control unit 21 (step Sa8), and ends the processing procedure request resolution process.
  • the performance observation process will be described with reference to FIG.
  • the performance observation unit 33 monitors the state information observed when information processing according to the processing procedure is executed by the processing execution device 2, and the function engine state observed for each function engine 22 at that time. Information is acquired from the process control unit 21 (step Sb1).
  • the performance observation unit 33 stores the acquired state information and function engine state information in the performance history table TC and the function engine performance history table TF of the performance history database 32 (step Sb2).
  • the performance observation unit 33 may obtain the information from the process control unit 21 by requesting the process control unit 21 for the state information and the function engine state information. Further, the processing control unit 21 may notify the performance observation unit 33 of such information after executing the processing procedure. The performance observation unit 33 and the processing control unit 21 may operate asynchronously by exchanging these pieces of information via a file system or the like. The performance observation unit 33 ends the performance observation process.
  • the procedure feature update process will be described with reference to FIG. This process includes an update process of the performance statistics table TD (steps Sc2 to Sc5) and an update process of the procedure feature table TB (Sc6 to Sc7).
  • Step Sc1 when there is a change in the performance history table TC of the performance history database 32 (Yes in Step Sc1), the procedure update unit 36 starts from the time when the procedure feature update process was previously executed from the performance history table TC. State information group is acquired (step Sc2). Next, the procedure update unit 36 acquires a tuple having the same function type and processing procedure ID from the performance statistics table TB of the performance history database 32 for each state information (step Sc3). Next, the procedure update unit 36 statistically processes the observation performance vector included in the tuple having the same function type and processing procedure ID in the state information group acquired in step Sc2 and the statistical performance vector of the tuple acquired in step Sc3. Then, the value of this statistical performance vector is updated (step Sc4).
  • the procedure update unit 36 may update the statistical performance vector value by weighting and adding the observation performance vector value and the statistical performance vector value of the state information in consideration of time.
  • the weight of the statistical performance vector value is set in advance so as to be smaller than the weight of the observation performance vector value, so that the procedure update unit 36 suppresses the influence of the past observation performance vector and suppresses the influence of the observation performance vector.
  • Statistical performance vectors can be calculated while suppressing the influence of distribution.
  • the procedure update unit 36 is obviously used, such as a tuple of the performance statistics table TB corresponding to the process procedure registered in the procedure database 31 whose performance vector is lower than others. Processing related to a processing procedure that is unlikely to be performed may be omitted.
  • the procedure update unit 36 updates the last update time of the tuple updated in step Sc4 to the current time (step Sc5).
  • the procedure update unit 36 repeats steps Sc3 to Sc5 until all the state information acquired in step Sc2 is processed.
  • the procedure update unit 36 acquires an updated tuple group from the performance statistics table TD of the performance history database 32 (step Sc6).
  • the procedure update unit 36 updates the performance vector value of the corresponding tuple in the procedure feature table TB using the updated statistical performance vector value of the tuple in the performance statistics table TD (step Sc7).
  • the procedure update unit 36 repeats step Sc7 for each tuple acquired in step Sc6, and ends the procedure feature update process.
  • the procedure generation process will be described with reference to FIG.
  • This processing includes processing for calculating future performance vectors (steps Sd2 to Sd4) and processing for generating new processing procedures (steps Sd5 to Sd7).
  • the future performance calculation unit 34 determines from the function engine performance history table TF the function engine state of the latest fixed period. An information group is acquired (step Sd2).
  • the future performance calculation unit 34 classifies the obtained function engine state information group by the combination of the function type and the function engine ID (step Sd3).
  • the future performance calculation unit 34 totals the function engine observation performance vectors of the function engine state information for each combination of the function type and the function engine ID, and calculates the future performance vector (step Sd4).
  • the future performance calculation unit 34 repeats step Sd4 for all combinations classified in step Sd3.
  • the procedure generation unit 35 reconfigures the function engine based on the calculated future performance vector and generates a new processing procedure (step Sd5).
  • the procedure generation unit 35 calculates a performance vector of a new processing procedure.
  • the procedure update unit 36 additionally registers the newly generated processing procedure in the procedure table TA of the procedure database 31 (step Sd6).
  • the procedure update unit 36 additionally registers the performance vector of the additionally registered processing procedure in the procedure feature table TB of the procedure database 31 (step Sd7).
  • the procedure update unit 36 repeats Sd6 to Sd7 for all the process procedures generated in step Sd5, and ends the procedure generation process.
  • the processing procedure management system can determine a processing procedure by adapting to a performance change of a function engine used for information processing at high speed.
  • the reason is that the processing procedure management system calculates a future performance vector for each functional engine based on the performance history database, reconfigures the functional engine based on the calculated future performance vector, and newly generates a new processing procedure. Because it does.
  • the processing procedure management system newly generates a processing procedure that is likely to be used in the future by predicting the performance change of the function engine as a processing procedure for executing information processing that realizes a required function. This is because the procedure database has been expanded in advance.
  • the processing procedure management system as the first exemplary embodiment of the present invention can reduce the performance degradation of the processing execution device.
  • the reason for this is that the processing performed by the processing procedure management device has only an effect on the processing of the processing execution device, which is to acquire state information and function engine state information. This is because only resources are required.
  • the processing procedure management apparatus can independently execute the processing procedure request solution processing, the performance observation processing, the procedure feature update processing, and the procedure generation processing.
  • the procedure feature update process and the procedure generation process can be performed on a server different from the process procedure request solution process, and competition of computing resources can be avoided. From the above, the processing procedure management system can alleviate the performance degradation of the processing execution device.
  • FIG. 11 shows a functional block configuration of the processing procedure management system 4 as the second embodiment of the present invention.
  • the same components as those in the first embodiment of the present invention are denoted by the same reference numerals, and detailed description thereof is omitted.
  • the processing procedure management system 4 is different from the processing procedure management system 1 as the first embodiment of the present invention in that it includes a processing procedure management device 5 instead of the processing procedure management device 3.
  • the processing procedure management apparatus 5 includes a future performance calculation unit 54 instead of the future performance calculation unit 34 in the same configuration as the processing procedure management apparatus 3, and further includes a performance change rule database 58.
  • the performance change rule database 58 is configured by a storage device of a computer device.
  • the performance change rule database 58 includes a performance change rule table TE. An example of data stored in the performance change rule table TE is shown in FIG.
  • the performance change rule table TE stores a performance change rule including a function engine ID, a function type, an application condition, and a performance change tendency.
  • the function engine ID, the function type, and the application condition are main keys of the performance change rule table.
  • the function engine ID is an ID indicating a function engine that is a target of the rule.
  • the function type is an external key of the function type of the procedure feature table TB. Further, this function type indicates a function type that is a premise when the application condition is applied.
  • the application condition indicates a condition to which the performance change rule is applied. In the example of FIG. 12, conditions regarding numerical values of the functional engine observation performance vector are described using equality / inequality signs.
  • This application condition is preferably a notation interpretable by a program.
  • the application condition may be a condition related to other than the performance vector value, such as an elapsed time since the function engine registration.
  • the performance change tendency is a vector indicating how the processing performance of the function specified by the function engine ID and the function type will change in the future when the application condition is met.
  • the performance change tendency represents a change tendency of four indexes, that is, an accuracy change tendency, a coverage ratio change tendency, a conformity ratio change tendency, and a processing time change tendency.
  • the performance change tendency is described as a matrix of a differential function of the change with time of time, where t is a time variable.
  • the performance change trend does not necessarily have to take the form of a matrix of differential functions, and may be, for example, a binary value indicating the increase / decrease direction or a numerical value indicating the increase / decrease ratio.
  • the future performance calculation unit 54 classifies the function engine state information of the function engine performance history table TF according to the combination of the function engine and the function type, and counts a predetermined number of the latest items for each classification, and calculates the performance at the current time point. Calculate the current performance vector to represent. Then, the future performance calculation unit 54 collates the application conditions of the performance change rule stored in the performance change rule database 58 that match the current performance vector. Then, if there is a matched performance change rule, the future performance calculation unit 54 calculates the future performance vector from the current performance vector according to the rule. For example, in the example of FIG. 12, the future performance calculation unit 54 calculates the future performance vector by applying the function described in the performance change tendency stored in the performance change rule database 58 to the current performance vector.
  • the processing procedure management system 4 executes the processing procedure request resolution processing, the performance observation processing, the procedure feature update processing, and the procedure generation processing independently.
  • the operation in the generation process is different.
  • the procedure generation process of the process procedure management system 4 will be described with reference to FIG. In FIG. 13, steps that perform the same processing as the operation of the first exemplary embodiment of the present invention are denoted by the same reference numerals, and detailed description thereof is omitted.
  • the future performance calculation unit 54 acquires a function engine state information group for the latest fixed period from this table TF (step Sd2).
  • the future performance calculation unit 54 classifies the obtained function engine state information group by the combination of the function type and the function engine (step Sd3).
  • the future performance calculation unit 54 totals the function engine observation performance vectors for each classification, and stores the totals as a current performance vector group (step Se1).
  • the future performance calculation unit 54 acquires the performance change rule of the application condition that matches from the performance change rule database 58 for each current performance vector (step Se2).
  • the future performance calculation unit 54 calculates and stores the future performance vector from the current performance vector using the acquired performance change rule (step Se3).
  • the future performance calculation unit 54 repeats steps Se1 to Se3 for all combinations classified in step Sd3.
  • the processing procedure management system 4 operates in the same manner as in the first embodiment of the present invention from step Sd5 to Sd7, generates a new processing procedure based on the future performance vector, adds it to the procedure database 31, and generates the procedure. End the operation.
  • the processing procedure management system according to the second embodiment of the present invention can calculate the future performance of the function engine with higher accuracy, and increases the possibility that a newly generated processing procedure will be used in the future. be able to.
  • the reason is that the performance change rule database 58 stores the performance change rule of the functional engine in advance, and calculates the future performance by applying the performance change rule of the condition that matches the observed performance of the function engine. It is.
  • FIG. 14 shows a functional block configuration of the processing procedure management system 6 as the third embodiment of the present invention.
  • the processing procedure management system 6 differs from the processing procedure management system 1 as the first embodiment of the present invention in that it includes a processing procedure management device 7 instead of the processing procedure management device 3.
  • the processing procedure management device 7 includes a future performance calculation unit 74 instead of the future performance calculation unit 34 in the same configuration as the processing procedure management device 3, and further includes a performance history analysis unit 78.
  • the performance history analysis unit 78 analyzes a time series of function engine observation performance vectors stored in the performance history database 32.
  • the performance history analysis unit 78 may use an existing technique that statistically analyzes time series data and calculates a predicted value.
  • the future performance calculation unit 74 uses the performance history analysis unit 78 to calculate the future performance vector of the functional engine.
  • the future performance calculation unit 74 may obtain the change tendency of the functional engine observation performance vector by the performance history analysis unit 78 and calculate the future performance vector based on the change tendency.
  • the future performance calculation unit 74 may calculate the future performance vector based on other information analyzed by the performance history analysis unit 78 without being limited to the change tendency.
  • the future performance calculation unit 74 may classify the function engine state information according to the combination of the function engine and the function type, and obtain the future performance vector for each classification. Further, the future performance calculation unit 74 may acquire the latest predetermined number of function engine observation performance vectors and analyze the acquired function engine observation performance vectors to obtain the future performance vector.
  • the operation of the processing procedure management system 6 configured as described above will be described. As in the first embodiment of the present invention, the processing procedure management system 6 executes the processing procedure request resolution processing, performance observation processing, procedure feature update processing, and procedure generation processing independently. The operation in the generation process is different. The procedure generation process of the process procedure management system 6 will be described with reference to FIG. In FIG.
  • steps that perform the same processing as the operation of the first exemplary embodiment of the present invention are denoted by the same reference numerals, and detailed description thereof is omitted.
  • the process procedure generation process of the process procedure management system 6 is different from the procedure generation process of the first embodiment of the present invention in steps Sf1 to Sf4 instead of the processes of steps Sd2 to Sd4 for calculating the future performance vector. The difference is that the process is executed.
  • the future performance calculation unit 74 detects a change in the performance history database 32 (Yes in step Sd1), a valid combination of the function type and the function engine ID is generated (step Sf1).
  • the future performance calculation unit 74 acquires a certain number of functional engine state information groups corresponding to the corresponding combination from the functional engine performance history table TF for each combination (step Sf2).
  • the future performance calculation unit 74 statistically processes the function engine observation performance vector included in each acquired function engine state information, and calculates a statistic (step Sf3).
  • the future performance calculation unit 74 uses the performance history analysis unit 78 to estimate the tendency of the performance change of the function engine for this function type from a fixed number of function engine observation performance vectors, and to calculate the estimated change trend.
  • a future performance vector is calculated based on the original (Sf4).
  • the future performance calculation unit 74 repeats the processing from Sf2 to Sf4 for all the combinations generated in step Sf1.
  • the procedure generation unit 35 generates a processing procedure based on the future performance vector (step Sd5), and the procedure update unit 36 updates the procedure database 31 (steps Sd6 to Sd7), and performs the procedure generation process. finish.
  • the processing procedure management system according to the third embodiment of the present invention can calculate the future performance of the functional engine with higher accuracy, and further increases the possibility that a newly generated processing procedure will be used in the future. be able to. This is because the future performance calculation unit 74 analyzes the observed performance of the functional engine to estimate the change tendency, and predicts the future performance using the estimated change tendency.
  • a fourth embodiment of the present invention will be described in detail with reference to the drawings.
  • FIG. 16 shows a functional block configuration of the processing procedure management system 8 as the fourth embodiment of the present invention.
  • the processing procedure management system 8 is different from the processing procedure management system 1 according to the first embodiment of the present invention in that a processing procedure management device 9 is included instead of the processing procedure management device 3.
  • the processing procedure management device 9 includes a procedure updating unit 96 in the same configuration as the processing procedure management device 3 in place of the procedure updating unit 36, and further includes a plurality of procedure generating units 35.
  • 16 shows two procedure generation units 35, the number of procedure generation units 35 included in the processing procedure management apparatus 9 is not limited in the present invention.
  • the procedure generation unit 35 reconfigures the function engine based on the future performance vector of each function engine, and processes the function that can be requested from the client device 10 as a process execution device. 2 is generated.
  • the plurality of procedure generation units 35 may use different algorithms for generating new processing procedures.
  • generation part 35 is unified.
  • the procedure updating unit 96 outputs the future performance vector calculated by the future performance calculating unit 34 to the plurality of procedure generating units 35, and the processing procedure selected from the processing procedures received from the procedure generating unit 35 to the procedure database. Register additional.
  • the procedure update unit 96 may select a processing procedure received from the procedure generation unit 35 as a processing procedure to be additionally registered, whose performance vector value exceeds a predetermined value. Alternatively, the procedure update unit 96 may select a predetermined number of processing procedures in descending order of performance vector values, or may select according to other determination conditions.
  • the operation of the processing procedure management system 8 configured as described above will be described. As in the first embodiment of the present invention, the processing procedure management system 8 executes the processing procedure request resolution processing, performance observation processing, procedure feature update processing, and procedure generation processing independently. The operation in the generation process is different. The procedure generation process of the process procedure management system 8 will be described with reference to FIG. In FIG.
  • steps that perform the same processing as the operation of the first exemplary embodiment of the present invention are denoted by the same reference numerals, and detailed description thereof is omitted.
  • the procedure generation process of the process procedure management system 8 is different from the procedure generation process of the first embodiment of the present invention in that the process of steps Sg1 to Sg3 is performed instead of the process of step Sd5 for generating a new process procedure.
  • the point of execution is different.
  • operations from step Sd1 to Sd4 are performed in the same manner as in the first embodiment of the present invention to calculate the future performance vector of each functional engine.
  • the procedure update unit 96 passes the future performance vector to each procedure generation unit 35 (step Sg1).
  • each procedure generation unit 35 generates a new processing procedure for causing the processing execution device 2 to realize a function that can be requested from the client device 10 based on the future performance vector (step Sg2).
  • the procedure update unit 96 receives the generated processing procedure group from each procedure generation unit 35, and selects a processing procedure to be additionally registered in the procedure database 31 (step Sg3). At this time, the procedure updating unit 96 may delete the duplicated processing procedure received from each procedure generating unit 35 if there is a duplicated content with another processing procedure.
  • the procedure update unit 96 adds the selected process procedure and its performance information to the procedure database 31 (steps Sd6 to Sd7), and ends the procedure generation process.
  • the processing procedure management system can improve the coverage of processing procedures generated in response to future performance changes of the function engine.
  • the reason is that a processing procedure adapted to the performance change of the functional engine can be used in the future by selecting a processing procedure having excellent performance from the processing procedures generated by the plurality of procedure generation units 35 based on different algorithms. This is because the sex can be enhanced.
  • the program that operates the processing procedure management apparatus constitutes the processing procedure management program of the present invention.
  • each embodiment mentioned above can be implemented in combination as appropriate.
  • the present invention is not limited to the above-described embodiments, and can be implemented in various modes.
  • Appendix 1 A procedure database for storing a processing procedure for executing information processing together with performance information representing the performance; Observation performance information representing performance observed when the information processing is executed according to the processing procedure, and functional engine observation performance information representing performance observed for each functional engine executing the processing module constituting the processing procedure.
  • a performance history database to store, Performance observation means for acquiring the observation performance information and the functional engine observation performance information and storing it in the performance history database; Future performance calculation means for calculating future performance information representing the performance at a certain time in the future for each functional engine based on the performance history database; Procedure generating means for generating a new processing procedure for reconfiguring the processing module based on the future performance information and executing the information processing; Updating the performance information of the procedure database based on the performance history database, and a procedure update means for adding the processing procedure generated by the procedure generation means and its performance information to the procedure database; A procedure solution means for determining and outputting a processing procedure for executing the specified information processing from the procedure database; A processing procedure management device including: (Appendix 2) A performance change rule database storing a performance change rule representing a rule for calculating the future performance information according to the functional engine observation performance information; The future performance calculation means calculates the future performance information by applying the performance change rule that matches the functional engine observation performance information.
  • the processing procedure management apparatus according to attachment 1.
  • (Appendix 3) Further comprising performance history analysis means for analyzing the history of the functional engine observation performance information as time series data, The future performance calculating means calculates the future performance information using the performance history analyzing means;
  • the processing procedure management apparatus according to attachment 1. (Appendix 4)
  • the future performance calculation means calculates the future performance information based on a change tendency of the functional engine observation performance information analyzed by the performance history analysis means;
  • the processing procedure management apparatus according to attachment 3. (Appendix 5) When including a plurality of the procedure generation means,
  • the procedure update unit adds a processing procedure selected from a plurality of processing procedures respectively generated by a plurality of the procedure generation units to the procedure database.
  • the processing procedure management device according to any one of appendix 1 to appendix 4.
  • a processing procedure management system including a processing execution device that executes information processing according to a processing procedure, and a processing procedure management device that manages the processing procedure,
  • the process execution device includes: Processing control means for requesting the processing procedure management device to determine a processing procedure for executing the information processing, and executing the information processing according to the processing procedure determined by the processing procedure management device; A function engine for executing each processing module constituting the processing procedure;
  • the processing procedure management device comprises: A procedure database for storing the processing procedure together with performance information representing the performance; A performance history database storing observation performance information representing performance observed when the information processing is executed according to the processing procedure and functional engine observation performance information representing performance observed for each functional engine; Performance observation means for acquiring the observation performance information and the functional engine observation performance information and storing it in the performance history database; Future performance calculation means for calculating future performance information representing the performance at a certain time in the future for each functional engine based on the performance history database; Procedure generating means for generating a new processing procedure for reconfiguring the processing module based on the future performance information
  • the processing procedure management device comprises: A performance change rule database storing a performance change rule representing a rule for calculating the future performance information according to the functional engine observation performance information;
  • the future performance calculation means calculates the future performance information by applying the performance change rule that matches the functional engine observation performance information.
  • the processing procedure management system according to attachment 6.
  • the processing procedure management device is The processing procedure is stored in a procedure database together with performance information representing the performance, Obtaining observation performance information representing performance observed when the information processing is executed according to the processing procedure and functional engine observation performance information representing performance observed for each functional engine executing the processing module; Store the acquired observation performance information and functional engine observation performance information in the performance history database, Calculate future performance information representing the performance at a certain time in the future for each functional engine based on the performance history database, Generate a new processing procedure for reconfiguring the processing module based on the future performance information and executing the information processing, Update the performance information of the procedure database based on the performance history database, Adding the newly generated processing procedure and its performance information to the procedure database;
  • the processing execution device is Requesting the processing procedure management device to determine a processing procedure for executing the information processing;
  • the processing procedure management device is Determining a processing procedure for executing the requested information processing from the procedure
  • the processing procedure management device is A performance change rule representing a rule for calculating the future performance information according to the function engine observation performance information is stored in a performance change rule database, When calculating the future performance information, the future performance information is calculated by applying the performance change rule that matches the functional engine observation performance information.
  • the processing procedure management method according to attachment 8. (Appendix 10) In a processing procedure management apparatus that manages a processing procedure for executing information processing, A procedure storing step for storing the procedure in a procedure database together with performance information representing the performance; Observation performance information representing performance observed when the information processing is executed according to the processing procedure, and functional engine observation performance information representing performance observed for each functional engine executing the processing module constituting the processing procedure.
  • the present invention provides a processing procedure management apparatus capable of determining a processing procedure by adapting to a performance change of a functional engine used for information processing at high speed.
  • the present invention is suitable as an apparatus that determines a processing procedure from candidate processing procedures in a processing platform that operates by integrating a plurality of function engines.
  • Performance history analyzer 1, 4, 6, 8 Processing procedure management system 2 Processing execution device 3, 5, 7, 9 Processing procedure management device 10 Client device 11 CPU 12 RAM 13 ROM DESCRIPTION OF SYMBOLS 14 Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

 本発明は、情報処理に用いられる機能エンジンの性能変化に高速に適応して処理手順を決定することができる処理手順管理装置を提供する。 本発明は、処理手順およびその性能情報を格納する手順データベース31と、処理手順にしたがって情報処理が実行された時に観測される性能および処理手順を構成する処理モジュールを実行する機能エンジン毎に観測される性能を格納する性能履歴データベース32と、これらの観測された性能を取得する性能観測部33と、機能エンジン毎に将来のある時点における性能を算出する将来性能算出部34と、将来の性能に基づいて処理モジュールを再構成して新たな処理手順を生成する手順生成部35と、生成された処理手順およびその性能情報を手順データベース31に追加する手順更新部36と、指定された情報処理を実行するための処理手順を手順データベース31から決定する手順解決部37と、を含む。

Description

処理手順管理装置、処理手順管理方法、処理手順管理システム、および処理手順管理プログラム
 本発明は、処理手順を管理する処理手順管理装置、処理手順管理方法、処理手順管理システム、および処理手順管理プログラムに関する。
 情報処理を実行するための複数の処理手順の候補を管理し、指定された情報処理に対して好適な処理手順を決定する処理手順管理装置が知られている。
 この種の処理手順管理装置としては、図18に示すように、アルゴリズム登録部101と、最適パターン判定条件指定部102と、アルゴリズム指定部103と、探索パターン抽出部104と、探索パターン実行部105と、データ入力部106と、最適パターン判定部107とを含むものがある(例えば、特許文献1参照)。
 特許文献1に記載の処理手順管理装置は、次のようにして処理手順を決定する。
 まず、アルゴリズム登録部101がデータ処理に使用する各種アルゴリズムやパラメータ組合せルールを登録する。次に、データ入力部106が処理対象のデータを取得し、最適パターン判定条件指定部102が、処理対象のデータの処理に使用するアルゴリズムやルールの最適な組合せパターンを判定するための目標性能値を判定条件として設定する。もし、ユーザによりデータ処理に使用するアルゴリズムを選択する条件が指定される場合は、アルゴリズム指定部103が、使用するアルゴリズムの選択条件を取得する。次に、探索パターン抽出部104が、選択条件に基づいてデータ処理に使用するアルゴリズムを選択し、アルゴリズムの組合せ方のパターンである「組合せパターン」を構築する。次に、探索パターン実行部105が、すべての「組合せパターン」に対して、「組合せパターン」を実行し、各出力データを生成する。次に、最適パターン判定部107が、判定条件に基づいて最適な「組合せパターン」を判定し、最適データ、最適組合せパターンなどの情報を出力する。
特開2007−066007号公報
 しかしながら、特許文献1に記載された技術は、好適な処理手順を決定する際に、各アルゴリズムをそれぞれ実行する機能エンジンの性能変化に高速に適応できない。
 その理由について述べる。一般に、機能エンジンの性能は、機能エンジンが保持している情報の量や内容に応じて変化する場合がある。また、学習型の機能エンジンの性能は、学習の度合いによって経時的に変化する場合がある。なお、ここでいう性能とは、処理の負荷に関する性能(処理時間や計算資源消費量等)や、処理結果の質に関する性能(精度や尤度など)を含む。
 しかしながら、特許文献1に記載された技術は、ある時点における最適な処理手順を判定するために、最適な処理手順の候補となる複数の「組合せパターン」を実際に実行する必要がある。したがって、特許文献1に記載の処理手順管理装置では、複数の「組合せパターン」の実行時間分だけ性能変化への適応にタイムラグが生じてしまう。そのため、特許文献1に記載の処理手順管理装置では、高速な適応が困難であるという上述の課題が生じる。
 本発明は、上述の課題を解決するためになされたもので、情報処理に用いられる機能エンジンの性能変化に高速に適応して処理手順を決定することができる処理手順管理装置を提供することを目的とする。
 本発明の処理手順管理装置は、情報処理を実行するための処理手順をその性能を表す性能情報とともに格納する手順データベースと、前記処理手順にしたがって前記情報処理が実行された時に観測される性能を表す観測性能情報および前記処理手順を構成する処理モジュールを実行する機能エンジン毎に観測される性能を表す機能エンジン観測性能情報を格納する性能履歴データベースと、前記観測性能情報および前記機能エンジン観測性能情報を取得して前記性能履歴データベースに格納する性能観測手段と、前記性能履歴データベースに基づいて前記機能エンジン毎に将来のある時点における性能を表す将来性能情報を算出する将来性能算出手段と、前記将来性能情報に基づいて前記処理モジュールを再構成して前記情報処理を実行するための新たな処理手順を生成する手順生成手段と、前記性能履歴データベースに基づいて前記手順データベースの性能情報を更新するとともに、前記手順生成手段によって生成された処理手順およびその性能情報を前記手順データベースに追加する手順更新手段と、指定された情報処理を実行するための処理手順を前記手順データベースから決定して出力する手順解決手段と、を含む。
 また、本発明の処理手順管理システムは、処理手順にしたがって情報処理を実行する処理実行装置と、前記処理手順を管理する処理手順管理装置と、を含む処理手順管理システムであって、前記処理実行装置は、前記情報処理を実行するための処理手順の決定を前記処理手順管理装置に要求するとともに、前記処理手順管理装置によって決定された処理手順にしたがって前記情報処理を実行する処理制御手段と、前記処理手順を構成する各処理モジュールをそれぞれ実行する機能エンジンと、を含み、前記処理手順管理装置は、前記処理手順をその性能を表す性能情報とともに格納する手順データベースと、前記処理手順にしたがって前記情報処理が実行された時に観測される性能を表す観測性能情報および前記機能エンジン毎に観測される性能を表す機能エンジン観測性能情報を格納する性能履歴データベースと、前記観測性能情報および前記機能エンジン観測性能情報を取得して前記性能履歴データベースに格納する性能観測手段と、前記性能履歴データベースに基づいて前記機能エンジン毎に将来のある時点における性能を表す将来性能情報を算出する将来性能算出手段と、前記将来性能情報に基づいて前記処理モジュールを再構成して前記情報処理を実行するための新たな処理手順を生成する手順生成手段と、前記性能履歴データベースに基づいて前記手順データベースの性能情報を更新するとともに、前記手順生成手段によって生成された処理手順およびその性能情報を前記手順データベースに追加する手順更新手段と、指定された情報処理を実行するための処理手順を前記手順データベースから決定して出力する手順解決手段と、を含む。
 また、本発明の処理手順管理方法は、処理手順にしたがって情報処理を実行する処理実行装置と、前記処理手順を管理する処理手順管理装置と、を用いて、前記処理手順管理装置が、前記処理手順をその性能を表す性能情報とともに手順データベースに格納しておき、前記処理手順にしたがって前記情報処理が実行された時に観測される性能を表す観測性能情報および前記処理モジュールを実行する機能エンジン毎に観測される性能を表す機能エンジン観測性能情報を取得し、取得した観測性能情報および機能エンジン観測性能情報を性能履歴データベースに格納し、前記性能履歴データベースに基づいて前記機能エンジン毎に将来のある時点における性能を表す将来性能情報を算出し、前記将来性能情報に基づいて前記処理モジュールを再構成して前記情報処理を実行するための新たな処理手順を生成し、前記性能履歴データベースに基づいて前記手順データベースの性能情報を更新し、新たに生成された前記処理手順およびその性能情報を前記手順データベースに追加し、前記処理実行装置が、前記情報処理を実行するための処理手順の決定を前記処理手順管理装置に要求し、前記処理手順管理装置が、要求された情報処理を実行するための処理手順を前記手順データベースから決定し、前記処理実行装置が、前記処理手順管理装置によって決定された処理手順にしたがって前記情報処理を実行する。
 また、本発明の記録媒体が格納する処理手順管理プログラムは、情報処理を実行するための処理手順を管理する処理手順管理装置に、前記処理手順をその性能を表す性能情報とともに手順データベースに格納しておく処理手順格納ステップと、前記処理手順にしたがって前記情報処理が実行された時に観測される性能を表す観測性能情報および前記処理手順を構成する処理モジュールを実行する機能エンジン毎に観測される性能を表す機能エンジン観測性能情報を取得する性能観測ステップと、前記性能観測ステップで取得された観測性能情報および機能エンジン観測性能情報を性能履歴データベースに格納する性能履歴格納ステップと、前記性能履歴データベースに基づいて前記機能エンジン毎に将来のある時点における性能を表す将来性能情報を算出する将来性能算出ステップと、前記将来性能情報に基づいて前記処理モジュールを再構成して前記情報処理を実行するための新たな処理手順を生成する手順生成ステップと、前記性能履歴データベースに基づいて前記手順データベースの性能情報を更新するとともに、前記手順生成ステップで生成された処理手順およびその性能情報を前記手順データベースに追加する手順更新ステップと、指定された情報処理を実行するための処理手順を前記手順データベースから決定して出力する手順解決ステップと、を実行させる。
 本発明は、情報処理に用いられる機能エンジンの性能変化に高速に適応して処理手順を決定することができる。
本発明の第1の実施の形態としての処理手順管理システムの構成を示す機能ブロック図である。 本発明の第1の実施の形態における手順テーブルに格納されるデータの一例を示す図である。 本発明の第1の実施の形態における手順特徴テーブルに格納されるデータの一例を示す図である。 本発明の第1の実施の形態における性能履歴テーブルに格納されるデータの一例を示す図である。 本発明の第1の実施の形態における機能エンジン性能履歴テーブルに格納されるデータの一例を示す図である。 本発明の第1の実施の形態における性能統計テーブルに格納されるデータの一例を示す図である。 本発明の第1の実施の形態としての処理手順管理システムの処理手順要求解決動作を説明するフローチャートである。 本発明の第1の実施の形態としての処理手順管理システムの性能観測動作を説明するフローチャートである。 本発明の第1の実施の形態としての処理手順管理システムの手順特徴更新動作を説明するフローチャートである。 本発明の第1の実施の形態としての処理手順管理システムの手順生成動作を説明するフローチャートである。 本発明の第2の実施の形態としての処理手順管理システムの構成を示す機能ブロック図である。 本発明の第2の実施の形態における性能変化ルールテーブルに格納されるデータの一例を示す図である。 本発明の第2の実施の形態としての処理手順管理システムの手順生成動作を説明するフローチャートである。 本発明の第3の実施の形態としての処理手順管理システムの構成を示す機能ブロック図である。 本発明の第3の実施の形態としての処理手順管理システムの手順生成動作を説明するフローチャートである。 本発明の第4の実施の形態としての処理手順管理システムの構成を示す機能ブロック図である。 本発明の第4の実施の形態としての処理手順管理システムの手順生成動作を説明するフローチャートである。 関連技術の処理手順管理装置の構成を示す機能ブロック図である。 処理実行装置2および処理手順管理装置3のハードウェア構成図の一例である。
 以下、本発明の実施の形態について、図面を参照して説明する。
 (第1の実施の形態)
 本発明の第1の実施形態としての処理手順管理システム1の機能ブロック構成を図1に示す。図1において、処理手順管理システム1は、利用者やクライアント装置10から指示される情報処理を実行する処理実行装置2と、処理実行装置2によって実行される情報処理の処理手順を管理する処理手順管理装置3とを含む。また、処理実行装置2および処理手順管理装置3は互いに通信可能に接続されている。
 ここで、処理実行装置2および処理手順管理装置3は、図19に示すように、CPU(Central Processing Unit)11と、RAM(Random Access Memory)12と、ROM(Read Only Memory)13と、記憶装置14とを少なくとも備えた汎用的なコンピュータ装置によってそれぞれ構成されている。
 処理実行装置2の構成についてまず説明する。
 処理実行装置2は、クライアント装置10に機能を提供するため情報処理を実行する装置である。ここで、クライアント装置10に提供する機能とは、例えば、ウェブやイントラネット上の文書を検索するサービス等、情報処理によって実現される様々な機能をいう。
 この処理実行装置2は、処理制御部21と、1つ以上の機能エンジン22とを含む。なお、図1には、2つの機能エンジン22を示しているが、本発明において処理実行装置が有する機能エンジンの数を限定するものではない。また、処理制御部21および機能エンジン22は、プログラムモジュールとしてコンピュータの記憶装置に格納されCPUによって実行される回路として構成される。
 処理制御部21は、機能の提供要求をクライアント装置10から取得する。そして、処理制御部21は、要求された機能を実現する情報処理を処理手順に基づいて実行し、処理結果をクライアント装置10に出力する。
 このとき、処理制御部21は、要求された機能を実現する情報処理の処理手順の決定を後述の処理手順管理装置3に要求する。そして、処理制御部21は、処理手順管理装置3によって決定された処理手順にしたがって、要求された機能を実現する情報処理を実行する。
 機能エンジン22は、クライアント装置10から要求された機能を実現する情報処理を構成する処理モジュールを実行する。機能エンジン22は、処理制御部21による制御のもとに処理モジュールを実行し処理制御部21に出力する。
 次に、処理手順管理装置3の構成について説明する。
 処理手順管理装置3は、手順データベース31と、性能履歴データベース32と、性能観測部33と、将来性能算出部34と、手順生成部35と、手順更新部36と、手順解決部37とを含む。ここで、手順データベース31および性能履歴データベース32はコンピュータの記憶装置によって構成されても良い。また、性能観測部33と、将来性能算出部34と、手順生成部35と、手順更新部36と、手順解決部37とは、プログラムモジュールとしてコンピュータの記憶装置に格納されCPUによって実行される回路として構成される。
 手順データベース31は、クライアント装置10から処理実行装置2に要求されうる機能を実現する情報処理を実行するための処理手順の候補をその性能情報とともに格納している。
 手順データベース31に格納されるデータの一例を図2および図3を用いて説明する。手順データベース31は、図2に示す手順テーブルTAと、図3に示す手順特徴テーブルTBとによって構成されている。図2に示すように、手順テーブルTAは、処理手順を表す処理手順表現と、処理手順を識別する処理手順IDとからなるタプルを格納する。
 処理手順IDは、処理手順を一意に識別するものであり、手順テーブルTAの主キーである。なお、処理手順IDは、数字に限らず、例えば任意の文字列やURI(Uniform Resource Identifier)など、処理手順を一意に識別できる情報であればよい。
 処理手順表現は、情報処理を実行するための手順が記述された表現である。言い換えると、処理手順表現は、情報処理を実行するための機能エンジンの組合せおよびその実行順序が記述されたものである。図2の例において、処理手順表現は、機能エンジンの関数呼び出しおよび結合演算子(|は並列実行、*は直列実行)によって記述されている。例えば、処理手順ID1の処理手順表現は、類義語展開Aという機能エンジンを、同義語・関連語まで展開するという引数で呼び出し、その後、社内文書検索機能エンジンと、ウェブ文書検索機能エンジンを並列に呼び出し、その後、結果統合機能エンジンを呼び出す処理手順を示している。
 ここで、処理手順表現は、このような文字列情報である必要はない。処理手順表現は、例えばUML(Unified Modeling Language)のアクティビティ図やフローチャートのようなグラフ表現など、情報処理に要する機能エンジンの組合せおよび実行順序を一意に特定できる情報であればよい。
 図3に示すように、手順特徴テーブルTBは、処理手順を識別する処理手順IDと、処理手順によって実現される機能を表す機能タイプと、処理手順の性能を表す性能ベクトルとからなるタプルを格納している。
 処理手順IDおよび機能タイプは、手順特徴テーブルTBの主キーである。処理手順IDは、そのタプルがどの処理手順の特徴を記述しているのかを示すための情報であり、手順テーブルTAのIDの外部キーである。
 機能タイプは、この処理手順にしたがって情報処理が実行されることによって実現される機能を表す。言い換えると、機能タイプは、その処理手順がどのような目的で使用されるのか、処理実行装置2によって提供されるどの機能のために用いられるのかを表している。例えば、機能タイプは、図3の例のように、入力データタイプ、機能、出力データタイプの三つ組みで表現されていてもよい。なお、この例では、機能タイプを表現する入力データタイプ、機能および出力データタイプには、あらかじめ定めた統制語彙が用いられている。
 例えば、図3の1行目の例では、入力としてキーワードが指定されると、キーワードを用いた検索を行い、検索結果として社内のイントラネット上の文書とウェブ上の文書を提供するという機能タイプを表現している。
 なお、機能タイプは、このような三つ組み表現である必要はない。機能タイプは、例えばグラフ表現や、単一語彙による機能表現、機能を数値ベクトルとして表現するなど、機能を特定できる情報であればよい。
 性能ベクトルは、処理手順IDで識別される処理手順にしたがって機能タイプの情報処理を実行した場合の性能を表すベクトルである。なお、性能ベクトルは、本発明における性能情報の一実施形態を構成している。図3の例では、性能ベクトルは、平均精度、平均被覆率、平均適合率および平均処理時間の4つの指標を表す数値によって構成されている。手順特徴テーブルTBに格納される性能ベクトルは、処理手順が過去に実行された時の各指標の平均値によって構成されている。
 なお、性能ベクトルを構成する指標は、上述の4つに限定する必要はなく、機能タイプの多様性や、適応したい変化対象に応じて追加されてもよく、削減されても良い。例えば、性能ベクトルは、各指標の平均値に限らず、分散や変動係数といった入力データによる性能の分布を示す指標を含んでいても良い。また、性能ベクトルは、CPU負荷やハードディスク負荷といった処理負荷を示す指標を含んでいても良い。
 性能履歴データベース32は、手順データベース31に格納された処理手順にしたがって情報処理が実行された時に観測される性能を表す観測性能ベクトルを格納している。また、性能履歴データベース32は、手順データベース31に格納された処理手順を構成する処理モジュールを実行する機能エンジン毎に観測される性能を表す機能エンジン観測性能ベクトルを格納している。この性能履歴データベース32は、性能履歴テーブルTCと、機能エンジン性能履歴テーブルTFと、性能統計テーブルTDとを含む。
 性能履歴テーブルTCに格納されるデータの一例を図4に示す。性能履歴テーブルTCは、時刻と、機能タイプと、処理手順IDと、観測性能ベクトルとからなるタプルを格納している。以下、このタプルを、処理手順にしたがって情報処理が実際に実行された時に観測された状態を表す状態情報ともいう。
 時刻は、状態情報が観測された時刻を示す。ここで、時刻の表現は、時間軸上の1点を一意に決定できればよく、図4に示した文字列のほか、ある日付からのミリ秒数などの情報を用いても良い。
 機能タイプは、状態情報の示す処理手順がどの機能を実現するために実行されたものかを表すものであり、手順特徴テーブルTBにおける機能タイプの外部キーである。
 処理手順IDは、状態情報の示す処理手順を識別するものであり、手順テーブルTAのIDの外部キーである。
 観測性能ベクトルは、状態情報の示す処理手順が実行された際に観測された性能を示すベクトルである。なお、観測性能ベクトルは、本発明における観測性能情報の一実施形態を構成している。図4の例では、観測性能ベクトルは、精度と被覆率と適合率と処理時間との4つの指標を表す数値によって構成されている。ここで、観測性能ベクトルを構成する指標は、上述の4つに限定されず、機能タイプの多様性や、適応したい変化対象に応じて、追加または削減されても良い。
 機能エンジン性能履歴テーブルTFに格納されるデータの一例を図5に示す。機能エンジン性能履歴テーブルTFは、時刻と、機能タイプと、機能エンジンIDと、機能エンジン観測性能ベクトルとからなるタプルを格納している。以下、このタプルを、処理実行装置2によって処理手順にしたがって情報処理が実際に実行された際に機能エンジン毎に観測された状態を表す機能エンジン状態情報ともいう。
 時刻は、機能エンジン状態情報が観測された時刻を示す。ここで、時刻の表現は、時間軸上の1点を一意に決定できればよく、図5に示した文字列表現のほかに、ある日付からのミリ秒数などの表現であってもよい。
 機能エンジンIDは、この機能エンジン状態情報がどの機能エンジンに関する情報かを示すものである。ここで、機能エンジンIDは、各機能エンジンを一意に識別できる情報であれば良く、例えば、URIやエンジン名を示す任意の文字列、数値などであってもよい。なお、図5の例のように、この機能エンジンIDには、図2に示した手順テーブルTAの処理手順表現における機能エンジンの表現と同じものが用いられていてもよい。
 機能タイプは、機能エンジン状態情報の示す機能エンジンがどの機能を実現する処理手順において実行されたのかを示すものである。この機能タイプは、手順特徴テーブルTBにおける機能タイプの外部キーである。
 機能エンジン観測性能ベクトルは、機能エンジン状態情報の示す機能エンジンが実行された際に観測される性能を示すベクトルである。なお、機能エンジン観測性能ベクトルは、本発明における機能エンジン観測性能情報の一実施形態を構成する。図5の例では、この機能エンジン観測性能ベクトルは、精度と被覆率と適合率と処理時間との4つの指標を示す数値によって構成されている。なお、機能エンジン観測性能ベクトルに含める指標は、上述の4つに限定されず、機能タイプの多様性や適応したい変化対象に応じて、追加または削減されても良い。
 性能統計テーブルTDに格納されるデータの一例を図6に示す。性能統計テーブルTDは、処理手順IDと、機能タイプと、統計性能ベクトルと、最終更新時刻とからなるタプルを格納している。
 処理手順IDおよび機能タイプは、性能統計テーブルTDの主キーである。すなわち、このテーブルのタプル数は、手順特徴テーブルTBのタプル数と一致する。
 処理手順IDは、そのタプルがどの処理手順に関する統計を表しているのかを示すための情報であり、手順テーブルTAの処理手順IDの外部キーである。
 機能タイプは、その処理手順がどのような目的で使用されるのか、どの機能が用いられるのかを示している。この機能タイプは、手順特徴テーブルTBの機能タイプの外部キーである。
 統計性能ベクトルは、処理手順IDで識別される処理手順を用いて機能タイプの機能を実現する情報処理を実行した場合に観測された性能の統計情報を表現するベクトルである。図6の例では、統計性能ベクトルは、性能を表す各指標の平均値によって構成されている。ここで、統計性能ベクトルは、前述の手順特徴テーブルTBに格納される性能ベクトル値の元になる情報である。つまり、この統計性能ベクトルを構成する指標は、手順特徴テーブルTBの性能ベクトルを構成する指標を網羅している。言い換えると、手順特徴テーブルTBの性能ベクトルを構成する指標群は、統計性能ベクトルを構成する指標群のサブセットであればよい。
 最終更新時刻は、この統計性能ベクトルを最後に更新した時刻を示す。なお、最終更新時刻は、時間軸上の1点を一意に決定できればよく、図6に示した文字列のほか、ある日付からのミリ秒数などの情報であっても良い。
 性能観測部33は、状態情報および機能エンジン状態情報を処理制御部21から取得し、性能履歴データベース32の性能履歴テーブルTCおよび機能エンジン性能履歴テーブルTFへ登録する。
 将来性能算出部34は、機能エンジン状態情報に含まれる機能エンジン観測性能ベクトルに基づいて各機能エンジンの将来のある時点における性能を表す将来性能ベクトルを算出する。
 手順生成部35は、各機能エンジンの将来性能ベクトルに基づいて機能エンジンによって実行される処理モジュールを再構成し、クライアント装置10から要求されうる機能を処理実行装置2に実現させるための新たな処理手順を生成する。
 また、手順生成部35は、新たに生成した処理手順の性能ベクトルを、各機能エンジンの将来性能ベクトルに基づいて算出する。
 例えば、手順生成部35は、「(Keyword,Search,[WebDocument,IntraDocument])」という機能タイプの機能を実現する情報処理を処理実行装置2に実行させるための新たな処理手順を将来性能ベクトルに基づいて生成する。ここで、手順テーブルTAには、既にこの機能タイプの機能を実現する情報処理の処理手順として処理手順ID1および2の処理手順が登録されている。このとき、将来性能算出部34によって算出された、機能エンジン「類義語検索A」の将来性能ベクトルの値より機能エンジン「類義語検索B」の将来性能ベクトルの値のほうが優れていると判定できる場合を想定する。この場合、手順生成部35は、類義語検索Aの代わりに類義語検索Bを用いた「類義語検索B(同義語のみ)*社内文書検索()」という処理手順を新たに生成する。
 手順更新部36は、性能履歴データベース32の性能履歴テーブルTCの観測性能ベクトルを集計し、性能履歴データベース32の性能統計テーブルTDの統計性能ベクトルを更新する。また、これに伴い、手順更新部36は、性能統計テーブルTDの最終更新時刻の更新も行う。
 また、手順更新部36は、性能統計テーブルTDの統計性能ベクトルに基づいて、手順特徴テーブルTBの性能ベクトルを更新する。
 また、手順更新部36は、手順生成部35により新たに生成された処理手順に新たな処理手順IDを割り当て、手順データベース31の手順テーブルTAに追加登録する。また、手順更新部36は、追加登録した処理手順の性能ベクトルを手順特徴テーブルTBに追加登録する。
 手順解決部37は、処理制御部21から手順解決要求を表す情報を取得する。そして、手順解決部37は、手順解決要求を解析して、クライアント装置10によって要求された機能である要求機能タイプと、要求される性能である要求性能ベクトルを求める。さらに、手順解決部37は、手順データベース31に基づいて、要求機能タイプおよび要求性能ベクトルを満たす処理手順を選択し、選択した処理手順を処理制御部21に対して出力する。
 なお、上述の説明において、処理制御部21と機能エンジン22とが同一のコンピュータ装置によって構成される例について説明しているが、処理制御部21と各機能エンジン22とは、互いに通信可能な別々のコンピュータ装置によって構成されていてもよい。また、上述の説明において、手順解決部37と、他の構成要素とが同一のコンピュータ装置によって構成される例について説明しているが、これらの構成要素も、互いに通信可能な別々のコンピュータ装置によって構成されていてもよい。
 以上のように構成された処理手順管理システム1の動作について、図7~図10を用いて説明する。
 処理手順管理システム1は、処理手順要求を解決する処理手順要求解決処理と、処理手順の実行時の性能を観測する性能観測処理と、手順特徴テーブルTBを更新する手順特徴更新処理と、新たな処理手順を生成して追加登録する手順生成処理とを実行する。なお、処理手順管理システム1は、これらの処理を独立して実行可能である。
 まず、処理手順要求解決処理について、図7を用いて説明する。
 ここでは、まず、手順解決部37が、処理制御部21からの処理手順要求を受け付けると(ステップSa1でYes)、この処理手順要求を解析して要求機能タイプを特定する(ステップSa2)。
 次に、手順解決部37は、この処理手順要求を解析して要求性能ベクトルを生成する(ステップSa3)。
 次に、手順解決部37は、手順データベース31の手順特徴テーブルTBから、機能タイプが、ステップSa2で求めた要求機能タイプと一致するタプル群を取得する(ステップSa4)。
 次に、手順解決部37は、取得した各タプルの性能ベクトルと、要求性能ベクトルの距離を算出する(ステップSa5)。ここで、手順解決部37は、各タプルの性能ベクトルと要求性能ベクトルとの距離として、例えばコサイン距離などを算出してもよい。
 手順解決部37は、ステップSa4で取得した全てのタプルについてステップSa5を繰り返す。
 次に、手順解決部37は、ステップSa5で算出した距離が最短となるタプルの処理手順IDを取得する(ステップSa6)。
 次に、手順解決部37は、処理テーブルTAから、この処理手順IDを持つ処理手順表現を取得する(ステップSa7)。
 最後に、手順解決部37は、取得した処理手順表現を、処理制御部21に返却し(ステップSa8)、処理手順要求解決処理を終了する。
 次に、性能観測処理について、図8を用いて説明する。
 ここでは、まず、性能観測部33が、処理実行装置2によって処理手順にしたがった情報処理が実行された際に観測された状態情報と、その時の各機能エンジン22毎に観測された機能エンジン状態情報とを、処理制御部21から取得する(ステップSb1)。
 次に、性能観測部33は、取得した状態情報および機能エンジン状態情報を、性能履歴データベース32の性能履歴テーブルTCおよび機能エンジン性能履歴テーブルTFに格納する(ステップSb2)。
 ここで、性能観測部33は、処理制御部21へ状態情報および機能エンジン状態情報を要求することにより、処理制御部21からこれらの情報を取得しても良い。また、処理制御部21が、処理手順を実行後にこれらの情報を性能観測部33へ通知するようにしても良い。また、性能観測部33と処理制御部21とは、ファイルシステムなどを介してこれらの情報をやりとりすることにより、非同期に動作するようにしてもよい。以上で、性能観測部33は、性能観測処理を終了する。
 次に、手順特徴更新処理について、図9を用いて説明する。この処理は、性能統計テーブルTDの更新処理(ステップSc2~Sc5)と、手順特徴テーブルTBの更新処理(Sc6~Sc7)とからなる。
 ここでは、まず、性能履歴データベース32の性能履歴テーブルTCに変更があった場合(ステップSc1でYes)、手順更新部36が、性能履歴テーブルTCから、前回に手順特徴更新処理を実行した時刻以降の状態情報群を取得する(ステップSc2)。
 次に、手順更新部36は、各状態情報に対して、同じ機能タイプおよび処理手順IDを持つタプルを性能履歴データベース32の性能統計テーブルTBから取得する(ステップSc3)。
 次に、手順更新部36は、ステップSc2で取得した状態情報群のうち同じ機能タイプおよび処理手順IDを持つタプルに含まれる観測性能ベクトルおよびステップSc3で取得したタプルの統計性能ベクトルを統計処理し、この統計性能ベクトルの値を更新する(ステップSc4)。
 例えば、手順更新部36は、状態情報の観測性能ベクトル値と統計性能ベクトル値とを、時刻を考慮した重み付け加算することにより、統計性能ベクトル値を更新してもよい。このとき、統計性能ベクトル値の重みが、観測性能ベクトル値の重みより少なくなるようにあらかじめ設定されることで、手順更新部36は、過去の観測性能ベクトルの影響を抑えつつ、観測性能ベクトルの分布の影響を抑えて統計性能ベクトルを算出することができる。
 また、このステップSc4の処理において、手順更新部36は、手順データベース31に登録された処理手順のうち性能ベクトルが他に比べて低いものに対応する性能統計テーブルTBのタプルなど、明らかに使用される可能性の低い処理手順に関連する処理を省略しても良い。次に、手順更新部36は、ステップSc4で更新したタプルの最終更新時刻を現時刻に更新する(ステップSc5)。
 手順更新部36は、ステップSc2で取得したすべての状態情報を処理するまで、ステップSc3~Sc5を繰り返す。
 次に、手順更新部36は、性能履歴データベース32の性能統計テーブルTDから、更新されたタプル群を取得する(ステップSc6)。
 次に、手順更新部36は、性能統計テーブルTDの更新されたタプルの統計性能ベクトル値を用いて、手順特徴テーブルTBの対応するタプルの性能ベクトル値を更新する(ステップSc7)。
 手順更新部36は、ステップSc6で取得した各タプルについてステップSc7を繰り返し、手順特徴更新処理を終了する。
 次に、手順生成処理について、図10を用いて説明する。
 この処理は、将来性能ベクトルを算出する処理(ステップSd2~Sd4)と、新たな処理手順を生成する処理(ステップSd5~Sd7)とからなる。
 ここでは、まず、性能履歴データベース32の性能統計テーブルTDに変更があった場合(ステップSd1でYes)、将来性能算出部34が、機能エンジン性能履歴テーブルTFから、直近の一定期間の機能エンジン状態情報群を取得する(ステップSd2)。
 次に、将来性能算出部34が、得られた機能エンジン状態情報群を、機能タイプと機能エンジンIDの組合せで分類する(ステップSd3)。
 次に、将来性能算出部34が、機能タイプと機能エンジンIDの組合せ毎に機能エンジン状態情報の機能エンジン観測性能ベクトルを集計し、将来性能ベクトルを算出する(ステップSd4)。
 将来性能算出部34は、ステップSd3で分類した全ての組合せについてステップSd4を繰り返す。
 次に、手順生成部35が、算出された将来性能ベクトルを元に機能エンジンを再構成して新たな処理手順を生成する(ステップSd5)。そして、手順生成部35は、新たな処理手順の性能ベクトルを算出する。
 次に、手順更新部36が、新たに生成された処理手順を手順データベース31の手順テーブルTAへ追加登録する(ステップSd6)。
 次に、手順更新部36が、追加登録した処理手順の性能ベクトルを手順データベース31の手順特徴テーブルTBへ追加登録する(ステップSd7)。
 手順更新部36は、ステップSd5で生成された全ての処理手順に対して、Sd6~Sd7を繰り返し、手順生成処理を終了する。
 次に、本発明の第1の実施の形態の効果について述べる。
 本発明の第1の実施の形態としての処理手順管理システムは、情報処理に用いられる機能エンジンの性能変化に高速に適応して処理手順を決定することができる。
 この理由は、処理手順管理システムは、性能履歴データベースに基づいて機能エンジン毎に将来性能ベクトルを算出し、算出した将来性能ベクトルに基づいて機能エンジンを再構成して新たな処理手順を新たに生成するからである。これにより、処理手順管理システムは、要求されうる機能を実現する情報処理を実行するための処理手順として、機能エンジンの性能変化を予測して将来使用される可能性の高い処理手順を新たに生成することができ、事前に手順データベースを拡充しているためである。
 また、本発明の第1の実施の形態としての処理手順管理システムは、処理実行装置のパフォーマンス低下を軽減することができる。
 この理由は、処理手順管理装置による処理が処理実行装置の処理へ与える影響は、状態情報および機能エンジン状態情報を取得する処理のみであり、かつこの履歴取得の処理はログ出力程度の軽微な計算資源しか必要としないためである。これは、処理手順管理装置が、処理手順要求解決処理と、性能観測処理と、手順特徴更新処理と、手順生成処理とを、それぞれ独立に実行できる事による。さらに、手順特徴更新処理および手順生成処理は、処理手順要求解決処理とは別のサーバ上で実施することも可能であり、計算資源の競合を避けることもできる。以上から、処理手順管理システムは、処理実行装置のパフォーマンス低下を軽減することができる。
 また、本発明の第1の実施の形態としての処理手順管理システムは、手順データベースの内容を学習させることができる。
 この理由は、手順更新部36が、各機能エンジンの将来性能ベクトルを考慮した処理手順を生成して手順データベースへ登録し、登録後も特徴情報などを更新しつづけるためである。
 (第2の実施の形態)
 次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
 本発明の第2の実施の形態としての処理手順管理システム4の機能ブロック構成を図11に示す。なお、図11において、本発明の第1の実施の形態と同一の構成には同一の符号を付して詳細な説明を省略する。
 処理手順管理システム4は、本発明の第1の実施の形態としての処理手順管理システム1に対して、処理手順管理装置3に替えて処理手順管理装置5を含む点が異なる。また、処理手順管理装置5は、処理手順管理装置3と同一の構成のうち、将来性能算出部34に替えて将来性能算出部54を含み、性能変化ルールデータベース58をさらに含んでいる。
 ここで、性能変化ルールデータベース58はコンピュータ装置の記憶装置によって構成される。
 性能変化ルールデータベース58は、性能変化ルールテーブルTEを備えている。性能変化ルールテーブルTEに格納されるデータの一例を図12に示す。
 性能変化ルールテーブルTEは、機能エンジンID、機能タイプ、適用条件、および性能変化傾向からなる性能変化ルールを格納している。
 機能エンジンIDと機能タイプと適用条件とは、性能変化ルールテーブルの主キーである。
 機能エンジンIDは、ルールの対象となる機能エンジンを示すIDである。
 機能タイプは、手順特徴テーブルTBの機能タイプの外部キーである。また、この機能タイプは、適用条件が適用される際に前提となる機能タイプを示す。
 適用条件は、性能変化ルールが適用される条件を示す。図12の例では、機能エンジン観測性能ベクトルの数値に関する条件が等・不等号を用いて記載されている。この適用条件は、プログラムによって解釈可能な表記であることが好ましい。なお、適用条件は、例えば、機能エンジン登録からの経過時間など、性能ベクトル値以外に関する条件であっても良い。
 性能変化傾向は、適用条件に適合した場合に、機能エンジンIDと機能タイプで特定される機能の処理性能が今後どのように変化するかを示すベクトルである。図12の例では、性能変化傾向は、精度変化傾向と被覆率変化傾向と適合率変化傾向と処理時間変化傾向との4つの指標の変化傾向を表している。また、性能変化傾向は、時間の変数をtとして性能の経時変化の微分関数の行列として記載されている。ここで、性能変化傾向は、必ずしも微分関数の行列という形をとる必要はなく、例えば、増減方向を示す2値や、増減比率をあらわす数値などでも構わない。
 将来性能算出部54は、機能エンジン性能履歴テーブルTFの機能エンジン状態情報を機能エンジンおよび機能タイプの組合せで分類し、分類毎に所定数の直近のものを集計して、現在の時点における性能を表す現在性能ベクトルを算出する。そして、将来性能算出部54は、性能変化ルールデータベース58に格納された性能変化ルールの適用条件のうち、現在性能ベクトルに合致するものを照合する。
 そして、将来性能算出部54は、合致した性能変化ルールがあった場合は、そのルールにしたがって現在性能ベクトルから将来性能ベクトルを算出する。
 例えば、将来性能算出部54は、図12の例では、性能変化ルールデータベース58に格納される性能変化傾向に記載の関数を現在性能ベクトルに適用することにより将来性能ベクトルを算出する。
 以上のように構成された処理手順管理システム4の動作について説明する。
 処理手順管理システム4は、本発明の第1の実施の形態と同様に、処理手順要求解決処理と、性能観測処理と、手順特徴更新処理と、手順生成処理とを独立に実行するが、手順生成処理における動作が異なる。
 処理手順管理システム4の手順生成処理について図13を用いて説明する。なお、図13において本発明の第1の実施の形態の動作と同一の処理を行うステップには同一の符号を付して詳細な説明を省略する。
 まず、機能エンジン性能履歴テーブルTFに変化があると(ステップSd1でYes)、将来性能算出部54が、このテーブルTFから直近の一定期間の機能エンジン状態情報群を取得する(ステップSd2)。
 次に、将来性能算出部54が、得られた機能エンジン状態情報群を、機能タイプおよび機能エンジンの組合せで分類する(ステップSd3)。
 次に、将来性能算出部54が、分類ごとに機能エンジン観測性能ベクトルを集計し、集計したものを現在性能ベクトル群として記憶する(ステップSe1)。
 次に、将来性能算出部54は、各現在性能ベクトルに対して、性能変化ルールデータベース58から合致する適用条件の性能変化ルールを取得する(ステップSe2)。
 次に、将来性能算出部54は、取得した性能変化ルールを用いて、現在性能ベクトルから将来性能ベクトルを算出して記憶する(ステップSe3)。
 将来性能算出部54は、ステップSd3で分類したすべての組合せに対してステップSe1~Se3を繰り返す。
 処理手順管理システム4は、ステップSd5~Sd7まで本発明の第1の実施の形態と同様に動作して将来性能ベクトルに基づく新たな処理手順を生成し、手順データベース31に追加して、手順生成動作を終了する。
 次に、本発明の第2の実施の形態の効果について述べる。
 本発明の第2の実施の形態としての処理手順管理システムは、機能エンジンの将来の性能をより精度良く算出することができ、新たに生成する処理手順が将来使用される可能性をより高くすることができる。
 その理由は、性能変化ルールデータベース58が、機能エンジンの性能変化ルールをあらかじめ記憶しておき、機能エンジンの観測された性能に合致する条件の性能変化ルールを適用して将来の性能を算出するからである。
 (第3の実施の形態)
 次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
 本発明の第3の実施の形態としての処理手順管理システム6の機能ブロック構成を図14に示す。なお、図14において、本発明の第1の実施の形態と同一の構成には同一の符号を付して詳細な説明を省略する。
 処理手順管理システム6は、本発明の第1の実施の形態としての処理手順管理システム1に対して、処理手順管理装置3に替えて処理手順管理装置7を含む点が異なる。また、処理手順管理装置7は、処理手順管理装置3と同一の構成のうち、将来性能算出部34に替えて将来性能算出部74を含み、さらに性能履歴解析部78を含んでいる。
 性能履歴解析部78は、性能履歴データベース32に格納された機能エンジン観測性能ベクトルの時系列を解析する。ここで、性能履歴解析部78は、時系列データを統計的に解析し予測値を算出する既存の技術を用いればよい。
 将来性能算出部74は、性能履歴解析部78を用いることにより、機能エンジンの将来性能ベクトルを算出する。
 例えば、将来性能算出部74は、性能履歴解析部78によって機能エンジン観測性能ベクトルの変化傾向を求め、変化傾向に基づいて将来性能ベクトルを算出してもよい。なお、将来性能算出部74は、変化傾向に限らず、性能履歴解析部78によって解析されるその他の情報に基づいて将来性能ベクトルを算出しても良い。
 また、将来性能算出部74は、機能エンジンおよび機能タイプの組合せによって機能エンジン状態情報を分類し、分類毎に将来性能ベクトルを求めるようにしてもよい。
 また、将来性能算出部74は、直近の所定数の機能エンジン観測性能ベクトルを取得し、取得した機能エンジン観測性能ベクトルを解析して将来性能ベクトルを求めるようにしてもよい。
 以上のように構成された処理手順管理システム6の動作について説明する。
 処理手順管理システム6は、本発明の第1の実施の形態と同様に、処理手順要求解決処理と、性能観測処理と、手順特徴更新処理と、手順生成処理とを独立に実行するが、手順生成処理における動作が異なる。
 処理手順管理システム6の手順生成処理について図15を用いて説明する。なお、図15において本発明の第1の実施の形態の動作と同一の処理を行うステップには同一の符号を付して詳細な説明を省略する。
 処理手順管理システム6の処理手順生成処理は、本発明の第1の実施の形態の手順生成処理に対して、将来性能ベクトルを算出するステップSd2~Sd4の処理の代わりに、ステップSf1~Sf4の処理を実行する点が異なる。
 ここでは、まず、将来性能算出部74が、性能履歴データベース32の変更を検出すると(ステップSd1でYes)、機能タイプと機能エンジンIDの有効な組合せを生成する(ステップSf1)。
 次に、将来性能算出部74は、各組合せについて、機能エンジン性能履歴テーブルTFから、該当する組合せに対応する機能エンジン状態情報群を一定数取得する(ステップSf2)。
 次に、将来性能算出部74は、取得した各機能エンジン状態情報に含まれる機能エンジン観測性能ベクトルを統計処理し、統計量を算出する(ステップSf3)。
 次に、将来性能算出部74は、性能履歴解析部78を用いて、一定数の機能エンジン観測性能ベクトルから、この機能タイプにおけるこの機能エンジンの性能変化の傾向を推定し、推定した変化傾向を元に将来性能ベクトルを算出する(Sf4)。
 将来性能算出部74は、ステップSf1で生成したすべての組合せに対して、Sf2からSf4の処理を繰り返す。
 次に、手順生成部35が、将来性能ベクトルを元に処理手順を生成し(ステップSd5)、手順更新部36が、手順データベース31の更新を行って(ステップSd6~Sd7)、手順生成処理を終了する。
 次に、本発明の第3の実施の形態の効果について述べる。
 本発明の第3の実施の形態としての処理手順管理システムは、機能エンジンの将来の性能をさらに精度良く算出することができ、新たに生成する処理手順が将来使用される可能性をさらに高くすることができる。
 その理由は、将来性能算出部74が、機能エンジンの観測された性能を解析して変化傾向を推定し、推定した変化傾向を用いて将来の性能を予測するからである。
 (第4の実施の形態)
 次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。
 本発明の第4の実施の形態としての処理手順管理システム8の機能ブロック構成を図16に示す。なお、図16において、本発明の第1の実施の形態と同一の構成には同一の符号を付して詳細な説明を省略する。
 処理手順管理システム8は、本発明の第1の実施の形態としての処理手順管理システム1に対して、処理手順管理装置3に替えて処理手順管理装置9を含む点が異なる。また、処理手順管理装置9は、処理手順管理装置3と同一の構成のうち、手順更新部36に替えて手順更新部96を含み、複数の手順生成部35をさらに含んでいる。なお、図16には、2つの手順生成部35を示しているが、本発明において処理手順管理装置9が有する手順生成部35の数を限定するものではない。
 手順生成部35は、本発明の第1の実施の形態において説明したように、各機能エンジンの将来性能ベクトルに基づいて機能エンジンを再構成し、クライアント装置10から要求されうる機能を処理実行装置2に実現させるための新たな処理手順を生成する。
 また、複数の手順生成部35は、新たな処理手順を生成するアルゴリズムとしてそれぞれ異なるものを用いて良い。なお、各手順生成部35の手順更新部96に対する入出力形式は統一されていることが好ましい。
 手順更新部96は、将来性能算出部34によって算出された将来性能ベクトルを複数の手順生成部35へ出力し、手順生成部35からそれぞれ受け取った処理手順の中から選択した処理手順を手順データベースへ追加登録する。
 このとき、手順更新部96は、追加登録する処理手順として、手順生成部35から受け取った処理手順のうち性能ベクトル値が所定の値を超えるものを選択してもよい。または、手順更新部96は、性能ベクトル値の優れているほうから順に所定数の処理手順を選択してもよく、その他の判定条件により選択してもよい。
 以上のように構成された処理手順管理システム8の動作について説明する。
 処理手順管理システム8は、本発明の第1の実施の形態と同様に、処理手順要求解決処理と、性能観測処理と、手順特徴更新処理と、手順生成処理とを独立に実行するが、手順生成処理における動作が異なる。
 処理手順管理システム8の手順生成処理について図17を用いて説明する。なお、図17において本発明の第1の実施の形態の動作と同一の処理を行うステップには同一の符号を付して詳細な説明を省略する。
 処理手順管理システム8の手順生成処理は、本発明の第1の実施の形態の手順生成処理に対して、新たな処理手順を生成するステップSd5の処理の代わりに、ステップSg1~Sg3の処理を実行する点が異なる。
 ここでは、まず、ステップSd1~Sd4まで本発明の第1の実施の形態と同様に動作して各機能エンジンの将来性能ベクトルを算出する。
 次に、手順更新部96は、将来性能ベクトルを各手順生成部35へ渡す(ステップSg1)。
 次に、各手順生成部35は、将来性能ベクトルに基づいて、クライアント装置10から要求されうる機能を処理実行装置2に実現させるための新たな処理手順をそれぞれ生成する(ステップSg2)。
 次に、手順更新部96は、生成された処理手順群を各手順生成部35からそれぞれ受け取り、手順データベース31に追加登録する処理手順を選択する(ステップSg3)。このとき、手順更新部96は、各手順生成部35から受け取った処理手順のうち、他の処理手順と内容が重複するものがあれば重複するものを削除するようにしてもよい。
 次に、手順更新部96は、選択した処理手順およびその性能情報を手順データベース31に追加して(ステップSd6~Sd7)、手順生成処理を終了する。
 次に、本発明の第4の実施の形態の効果について述べる。
 本発明の第4の実施の形態としての処理手順管理システムは、機能エンジンの将来の性能変化に適応して生成された処理手順の被覆率を向上させることができる。
 その理由は、複数の手順生成部35によりそれぞれ異なるアルゴリズムに基づいて生成された処理手順から性能の優れたものを選択することにより、機能エンジンの性能変化に適応した処理手順が将来使用される可能性を高めることができるためである。
 なお、上述した本発明の各実施の形態において、処理手順管理装置を動作させるプログラムは、本発明の処理手順管理プログラムを構成する。
 また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
 また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
 また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
 情報処理を実行するための処理手順をその性能を表す性能情報とともに格納する手順データベースと、
 前記処理手順にしたがって前記情報処理が実行された時に観測される性能を表す観測性能情報および前記処理手順を構成する処理モジュールを実行する機能エンジン毎に観測される性能を表す機能エンジン観測性能情報を格納する性能履歴データベースと、
 前記観測性能情報および前記機能エンジン観測性能情報を取得して前記性能履歴データベースに格納する性能観測手段と、
 前記性能履歴データベースに基づいて前記機能エンジン毎に将来のある時点における性能を表す将来性能情報を算出する将来性能算出手段と、
 前記将来性能情報に基づいて前記処理モジュールを再構成して前記情報処理を実行するための新たな処理手順を生成する手順生成手段と、
 前記性能履歴データベースに基づいて前記手順データベースの性能情報を更新するとともに、前記手順生成手段によって生成された処理手順およびその性能情報を前記手順データベースに追加する手順更新手段と、
 指定された情報処理を実行するための処理手順を前記手順データベースから決定して出力する手順解決手段と、
 を含む処理手順管理装置。
(付記2)
 前記機能エンジン観測性能情報に応じて前記将来性能情報を算出する規則を表す性能変化ルールを格納した性能変化ルールデータベースをさらに含み、
 前記将来性能算出手段は、前記機能エンジン観測性能情報に合致する前記性能変化ルールを適用して前記将来性能情報を算出する、
 付記1に記載の処理手順管理装置。
(付記3)
 前記機能エンジン観測性能情報の履歴を時系列データとして解析する性能履歴解析手段をさらに含み、
 前記将来性能算出手段は、前記性能履歴解析手段を用いて前記将来性能情報を算出する、
 付記1に記載の処理手順管理装置。
(付記4)
 前記将来性能算出手段は、前記性能履歴解析手段によって解析された前記機能エンジン観測性能情報の変化傾向に基づいて前記将来性能情報を算出する、
 付記3に記載の処理手順管理装置。
(付記5)
 複数の前記手順生成手段を含むとき、
 前記手順更新手段は、複数の前記手順生成手段によってそれぞれ生成された複数の処理手順から選択した処理手順を前記手順データベースに追加する、
 付記1から付記4のいずれかに記載の処理手順管理装置。
(付記6)
 処理手順にしたがって情報処理を実行する処理実行装置と、前記処理手順を管理する処理手順管理装置と、を含む処理手順管理システムであって、
 前記処理実行装置は、
 前記情報処理を実行するための処理手順の決定を前記処理手順管理装置に要求するとともに、前記処理手順管理装置によって決定された処理手順にしたがって前記情報処理を実行する処理制御手段と、
 前記処理手順を構成する各処理モジュールをそれぞれ実行する機能エンジンと、
 を含み、
 前記処理手順管理装置は、
 前記処理手順をその性能を表す性能情報とともに格納する手順データベースと、
 前記処理手順にしたがって前記情報処理が実行された時に観測される性能を表す観測性能情報および前記機能エンジン毎に観測される性能を表す機能エンジン観測性能情報を格納する性能履歴データベースと、
 前記観測性能情報および前記機能エンジン観測性能情報を取得して前記性能履歴データベースに格納する性能観測手段と、
 前記性能履歴データベースに基づいて前記機能エンジン毎に将来のある時点における性能を表す将来性能情報を算出する将来性能算出手段と、
 前記将来性能情報に基づいて前記処理モジュールを再構成して前記情報処理を実行するための新たな処理手順を生成する手順生成手段と、
 前記性能履歴データベースに基づいて前記手順データベースの性能情報を更新するとともに、前記手順生成手段によって生成された処理手順およびその性能情報を前記手順データベースに追加する手順更新手段と、
 指定された情報処理を実行するための処理手順を前記手順データベースから決定して出力する手順解決手段と、
 を含む処理手順管理システム。
(付記7)
 前記処理手順管理装置は、
 前記機能エンジン観測性能情報に応じて前記将来性能情報を算出する規則を表す性能変化ルールを格納した性能変化ルールデータベースをさらに含み、
 前記将来性能算出手段は、前記機能エンジン観測性能情報に合致する前記性能変化ルールを適用して前記将来性能情報を算出する、
 付記6に記載の処理手順管理システム。
(付記8)
 処理手順にしたがって情報処理を実行する処理実行装置と、前記処理手順を管理する処理手順管理装置と、を用いて、
 前記処理手順管理装置が、
 前記処理手順をその性能を表す性能情報とともに手順データベースに格納しておき、
 前記処理手順にしたがって前記情報処理が実行された時に観測される性能を表す観測性能情報および前記処理モジュールを実行する機能エンジン毎に観測される性能を表す機能エンジン観測性能情報を取得し、
 取得した観測性能情報および機能エンジン観測性能情報を性能履歴データベースに格納し、
 前記性能履歴データベースに基づいて前記機能エンジン毎に将来のある時点における性能を表す将来性能情報を算出し、
 前記将来性能情報に基づいて前記処理モジュールを再構成して前記情報処理を実行するための新たな処理手順を生成し、
 前記性能履歴データベースに基づいて前記手順データベースの性能情報を更新し、
 新たに生成された前記処理手順およびその性能情報を前記手順データベースに追加し、
 前記処理実行装置が、
 前記情報処理を実行するための処理手順の決定を前記処理手順管理装置に要求し、
 前記処理手順管理装置が、
 要求された情報処理を実行するための処理手順を前記手順データベースから決定し、
 前記処理実行装置が、
 前記処理手順管理装置によって決定された処理手順にしたがって前記情報処理を実行する、
 処置手順管理方法。
(付記9)
 前記処理手順管理装置が、
 前記機能エンジン観測性能情報に応じて前記将来性能情報を算出する規則を表す性能変化ルールを性能変化ルールデータベースに格納しておき、
 前記将来性能情報を算出する際に、前記機能エンジン観測性能情報に合致する前記性能変化ルールを適用して前記将来性能情報を算出する、
 付記8に記載の処理手順管理方法。
(付記10)
 情報処理を実行するための処理手順を管理する処理手順管理装置に、
 前記処理手順をその性能を表す性能情報とともに手順データベースに格納しておく処理手順格納ステップと、
 前記処理手順にしたがって前記情報処理が実行された時に観測される性能を表す観測性能情報および前記処理手順を構成する処理モジュールを実行する機能エンジン毎に観測される性能を表す機能エンジン観測性能情報を取得する性能観測ステップと、
 前記性能観測ステップで取得された観測性能情報および機能エンジン観測性能情報を性能履歴データベースに格納する性能履歴格納ステップと、
 前記性能履歴データベースに基づいて前記機能エンジン毎に将来のある時点における性能を表す将来性能情報を算出する将来性能算出ステップと、
 前記将来性能情報に基づいて前記処理モジュールを再構成して前記情報処理を実行するための新たな処理手順を生成する手順生成ステップと、
 前記性能履歴データベースに基づいて前記手順データベースの性能情報を更新するとともに、前記手順生成ステップで生成された処理手順およびその性能情報を前記手順データベースに追加する手順更新ステップと、
 指定された情報処理を実行するための処理手順を前記手順データベースから決定して出力する手順解決ステップと、
 を実行させる処理手順管理プログラムを格納する記録媒体。
(付記11)
 前記処理手順管理装置に、
 前記機能エンジン観測性能情報に応じて前記将来性能情報を算出する規則を表す性能変化ルールを性能変化ルールデータベースに格納しておく性能変化ルール格納ステップをさらに実行させておき、
 前記将来性能算出ステップで、さらに前記機能エンジン観測性能情報に合致する前記性能変化ルールを適用して前記将来性能情報を算出するステップと、
 を実行させる付記10に記載の処理手順管理プログラムを格納する記録媒体。
(付記12)
 処理手順を構成する処理モジュールの組合せおよび実行順序を表す処理手順情報と、
 前記処理手順の性能を表す性能情報と、
 前記処理手順が実行された時に観測される性能を表す観測性能情報と、
 前記処理手順が実行された時に前記処理手順を構成する処理モジュールを実行する機能エンジン毎に観測される性能を表す機能エンジン観測性能情報と、
 前記観測性能情報に基づいて前記処理手順毎に算出される統計性能情報と、
 を含むデータ構造。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は以上の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で同業者が理解し得る様々な変更をすることができる。
 この出願は、2010年4月19日に出願された日本出願特願2010−095832を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、情報処理に用いられる機能エンジンの性能変化に高速に適応して処理手順を決定することができる処理手順管理装置を提供する。本発明は、複数の機能エンジンを統合して動作する処理基盤において候補となる処理手順から処理手順を決定する装置として好適である。
 1、4、6、8  処理手順管理システム
 2  処理実行装置
 3、5、7、9  処理手順管理装置
 10  クライアント装置
 11  CPU
 12  RAM
 13  ROM
 14  記憶装置
 21  処理制御部
 22  機能エンジン
 31  手順データベース
 32  性能履歴データベース
 33  性能観測部
 34、54、74  将来性能算出部
 35  手順生成部
 36、96  手順更新部
 37  手順解決部
 58  性能変化ルールデータベース
 78  性能履歴解析部

Claims (10)

  1.  情報処理を実行するための処理手順をその性能を表す性能情報とともに格納する手順データベースと、
     前記処理手順にしたがって前記情報処理が実行された時に観測される性能を表す観測性能情報および前記処理手順を構成する処理モジュールを実行する機能エンジン毎に観測される性能を表す機能エンジン観測性能情報を格納する性能履歴データベースと、
     前記観測性能情報および前記機能エンジン観測性能情報を取得して前記性能履歴データベースに格納する性能観測手段と、
     前記性能履歴データベースに基づいて前記機能エンジン毎に将来のある時点における性能を表す将来性能情報を算出する将来性能算出手段と、
     前記将来性能情報に基づいて前記処理モジュールを再構成して前記情報処理を実行するための新たな処理手順を生成する手順生成手段と、
     前記性能履歴データベースに基づいて前記手順データベースの性能情報を更新するとともに、前記手順生成手段によって生成された処理手順およびその性能情報を前記手順データベースに追加する手順更新手段と、
     指定された情報処理を実行するための処理手順を前記手順データベースから決定して出力する手順解決手段と、
     を含む処理手順管理装置。
  2.  前記機能エンジン観測性能情報に応じて前記将来性能情報を算出する規則を表す性能変化ルールを格納した性能変化ルールデータベースをさらに含み、
     前記将来性能算出手段は、前記機能エンジン観測性能情報に合致する前記性能変化ルールを適用して前記将来性能情報を算出する、
     請求項1に記載の処理手順管理装置。
  3.  前記機能エンジン観測性能情報の履歴を時系列データとして解析する性能履歴解析手段をさらに含み、
     前記将来性能算出手段は、前記性能履歴解析手段を用いて前記将来性能情報を算出する、
     請求項1に記載の処理手順管理装置。
  4.  前記将来性能算出手段は、前記性能履歴解析手段によって解析された前記機能エンジン観測性能情報の変化傾向に基づいて前記将来性能情報を算出する、
     請求項3に記載の処理手順管理装置。
  5.  複数の前記手順生成手段を含むとき、
     前記手順更新手段は、複数の前記手順生成手段によってそれぞれ生成された複数の処理手順から選択した処理手順を前記手順データベースに追加する、
     請求項1から請求項4のいずれかに記載の処理手順管理装置。
  6.  処理手順にしたがって情報処理を実行する処理実行装置と、前記処理手順を管理する処理手順管理装置と、を含む処理手順管理システムであって、
     前記処理実行装置は、
     前記情報処理を実行するための処理手順の決定を前記処理手順管理装置に要求するとともに、前記処理手順管理装置によって決定された処理手順にしたがって前記情報処理を実行する処理制御手段と、
     前記処理手順を構成する各処理モジュールをそれぞれ実行する機能エンジンと、
     を含み、
     前記処理手順管理装置は、
     前記処理手順をその性能を表す性能情報とともに格納する手順データベースと、
     前記処理手順にしたがって前記情報処理が実行された時に観測される性能を表す観測性能情報および前記機能エンジン毎に観測される性能を表す機能エンジン観測性能情報を格納する性能履歴データベースと、
     前記観測性能情報および前記機能エンジン観測性能情報を取得して前記性能履歴データベースに格納する性能観測手段と、
     前記性能履歴データベースに基づいて前記機能エンジン毎に将来のある時点における性能を表す将来性能情報を算出する将来性能算出手段と、
     前記将来性能情報に基づいて前記処理モジュールを再構成して前記情報処理を実行するための新たな処理手順を生成する手順生成手段と、
     前記性能履歴データベースに基づいて前記手順データベースの性能情報を更新するとともに、前記手順生成手段によって生成された処理手順およびその性能情報を前記手順データベースに追加する手順更新手段と、
     指定された情報処理を実行するための処理手順を前記手順データベースから決定して出力する手順解決手段と、
     を含む処理手順管理システム。
  7.  前記処理手順管理装置は、
     前記機能エンジン観測性能情報に応じて前記将来性能情報を算出する規則を表す性能変化ルールを格納した性能変化ルールデータベースをさらに含み、
     前記将来性能算出手段は、前記機能エンジン観測性能情報に合致する前記性能変化ルールを適用して前記将来性能情報を算出する、
     請求項6に記載の処理手順管理システム。
  8.  処理手順にしたがって情報処理を実行する処理実行装置と、前記処理手順を管理する処理手順管理装置と、を用いて、
     前記処理手順管理装置が、
     前記処理手順をその性能を表す性能情報とともに手順データベースに格納しておき、
     前記処理手順にしたがって前記情報処理が実行された時に観測される性能を表す観測性能情報および前記処理モジュールを実行する機能エンジン毎に観測される性能を表す機能エンジン観測性能情報を取得し、
     取得した観測性能情報および機能エンジン観測性能情報を性能履歴データベースに格納し、
     前記性能履歴データベースに基づいて前記機能エンジン毎に将来のある時点における性能を表す将来性能情報を算出し、
     前記将来性能情報に基づいて前記処理モジュールを再構成して前記情報処理を実行するための新たな処理手順を生成し、
     前記性能履歴データベースに基づいて前記手順データベースの性能情報を更新し、
     新たに生成された前記処理手順およびその性能情報を前記手順データベースに追加し、
     前記処理実行装置が、
     前記情報処理を実行するための処理手順の決定を前記処理手順管理装置に要求し、
     前記処理手順管理装置が、
     要求された情報処理を実行するための処理手順を前記手順データベースから決定し、
     前記処理実行装置が、
     前記処理手順管理装置によって決定された処理手順にしたがって前記情報処理を実行する、
     処置手順管理方法。
  9.  前記処理手順管理装置が、
     前記機能エンジン観測性能情報に応じて前記将来性能情報を算出する規則を表す性能変化ルールを性能変化ルールデータベースに格納しておき、
     前記将来性能情報を算出する際に、前記機能エンジン観測性能情報に合致する前記性能変化ルールを適用して前記将来性能情報を算出する、
     請求項8に記載の処理手順管理方法。
  10.  情報処理を実行するための処理手順を管理する処理手順管理装置に、
     前記処理手順をその性能を表す性能情報とともに手順データベースに格納しておく処理手順格納ステップと、
     前記処理手順にしたがって前記情報処理が実行された時に観測される性能を表す観測性能情報および前記処理手順を構成する処理モジュールを実行する機能エンジン毎に観測される性能を表す機能エンジン観測性能情報を取得する性能観測ステップと、
     前記性能観測ステップで取得された観測性能情報および機能エンジン観測性能情報を性能履歴データベースに格納する性能履歴格納ステップと、
     前記性能履歴データベースに基づいて前記機能エンジン毎に将来のある時点における性能を表す将来性能情報を算出する将来性能算出ステップと、
     前記将来性能情報に基づいて前記処理モジュールを再構成して前記情報処理を実行するための新たな処理手順を生成する手順生成ステップと、
     前記性能履歴データベースに基づいて前記手順データベースの性能情報を更新するとともに、前記手順生成ステップで生成された処理手順およびその性能情報を前記手順データベースに追加する手順更新ステップと、
     指定された情報処理を実行するための処理手順を前記手順データベースから決定して出力する手順解決ステップと、
     を実行させる処理手順管理プログラムを格納する記録媒体。
PCT/JP2011/055857 2010-04-19 2011-03-07 処理手順管理装置、処理手順管理方法、処理手順管理システム、および処理手順管理プログラム WO2011132475A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011539576A JP4888618B2 (ja) 2010-04-19 2011-03-07 処理手順管理装置、処理手順管理方法、処理手順管理システム、および処理手順管理プログラム
US13/379,953 US8359293B2 (en) 2010-04-19 2011-03-07 Processing procedure management device, processing procedure management method, processing procedure management system, and processing procedure management program
CN201180002523.4A CN102473195B (zh) 2010-04-19 2011-03-07 处理过程管理装置、处理过程管理方法、处理过程管理系统和处理过程管理程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-095832 2010-04-19
JP2010095832 2010-04-19

Publications (1)

Publication Number Publication Date
WO2011132475A1 true WO2011132475A1 (ja) 2011-10-27

Family

ID=44834014

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/055857 WO2011132475A1 (ja) 2010-04-19 2011-03-07 処理手順管理装置、処理手順管理方法、処理手順管理システム、および処理手順管理プログラム

Country Status (4)

Country Link
US (1) US8359293B2 (ja)
JP (1) JP4888618B2 (ja)
CN (1) CN102473195B (ja)
WO (1) WO2011132475A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991191A (ja) * 1995-09-26 1997-04-04 Nippon Telegr & Teleph Corp <Ntt> データベース設計方法及び装置
JP2001229016A (ja) * 2000-02-14 2001-08-24 Hitachi Ltd 運用情報を利用したソフトウエア部品検索方法
JP2002082926A (ja) * 2000-09-06 2002-03-22 Nippon Telegr & Teleph Corp <Ntt> 分散アプリケーション試験・運用管理システム
JP2005258902A (ja) * 2004-03-12 2005-09-22 Fuji Xerox Co Ltd 処理システムおよび方法およびプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1583545A (en) * 1976-08-04 1981-01-28 Martin Sanchez J Control systems
US5367703A (en) * 1993-01-08 1994-11-22 International Business Machines Corporation Method and system for enhanced branch history prediction accuracy in a superscalar processor system
US5704011A (en) * 1994-11-01 1997-12-30 The Foxboro Company Method and apparatus for providing multivariable nonlinear control
US6308043B1 (en) * 1998-07-23 2001-10-23 Radiometrics Corporation Wireless communication link quality forecasting
US6662058B1 (en) * 1999-06-28 2003-12-09 Sanchez Juan Martin Adaptive predictive expert control system
JP4614582B2 (ja) * 2000-07-06 2011-01-19 富士通株式会社 部分テンプレート生成装置
US7665090B1 (en) * 2004-03-08 2010-02-16 Swsoft Holdings, Ltd. System, method, and computer program product for group scheduling of computer resources
JP4804836B2 (ja) 2005-08-31 2011-11-02 三菱電機株式会社 データ生成装置及びデータ生成プログラム
CN101252603B (zh) * 2008-04-11 2011-03-30 清华大学 基于存储区域网络san的集群分布式锁管理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991191A (ja) * 1995-09-26 1997-04-04 Nippon Telegr & Teleph Corp <Ntt> データベース設計方法及び装置
JP2001229016A (ja) * 2000-02-14 2001-08-24 Hitachi Ltd 運用情報を利用したソフトウエア部品検索方法
JP2002082926A (ja) * 2000-09-06 2002-03-22 Nippon Telegr & Teleph Corp <Ntt> 分散アプリケーション試験・運用管理システム
JP2005258902A (ja) * 2004-03-12 2005-09-22 Fuji Xerox Co Ltd 処理システムおよび方法およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NOBUHISA SHIRAISHI: "''An In-house Document Retrieval System (1) : Search Platform ''CRISP''", DAI 70 KAI (HEISEI 20 NEN) ZENKOKU TAIKAI KOEN RONBUNSHU (1) ARCHITECTURE SOFTWARE KAGAKU-KOGAKU DATABASE MEDIA, 13 March 2008 (2008-03-13), pages 1-445 - 1-446 *

Also Published As

Publication number Publication date
CN102473195A (zh) 2012-05-23
JPWO2011132475A1 (ja) 2013-07-18
US20120101986A1 (en) 2012-04-26
CN102473195B (zh) 2015-03-18
JP4888618B2 (ja) 2012-02-29
US8359293B2 (en) 2013-01-22

Similar Documents

Publication Publication Date Title
US11423082B2 (en) Methods and apparatus for subgraph matching in big data analysis
Wang et al. Multi-user web service selection based on multi-QoS prediction
JP5014398B2 (ja) 検索データ管理装置
JP5794160B2 (ja) 説明変数の決定のための情報処理装置、情報処理方法及びプログラム
Ma et al. Big graph search: challenges and techniques
US20180349282A1 (en) Using caching techniques to improve graph embedding performance
Kertiou et al. A dynamic skyline technique for a context-aware selection of the best sensors in an IoT architecture
CN108986872B (zh) 用于大数据电子病历约简的多粒度属性权重Spark方法
JP2011090352A (ja) 検索データ管理装置
Potter et al. Distributed RDF query answering with dynamic data exchange
CN113312854A (zh) 选型推荐方法、装置、电子设备和可读存储介质
CN110705716A (zh) 一种多模型并行训练方法
Wang et al. Dominance rule and opposition-based particle swarm optimization for two-stage assembly scheduling with time cumulated learning effect
Kalantary et al. Resource discovery in the Internet of Things integrated with fog computing using Markov learning model
CN108874954A (zh) 一种数据库查询的优化方法、介质及设备
Hsia et al. Mp-rec: Hardware-software co-design to enable multi-path recommendation
Al-Ghezi et al. Adaptive workload-based partitioning and replication for RDF graphs
JP4888618B2 (ja) 処理手順管理装置、処理手順管理方法、処理手順管理システム、および処理手順管理プログラム
JP6072334B1 (ja) 情報処理システム及び方法、並びにプログラム
JP2011210000A (ja) 画像検索装置
Tagawa et al. Concurrent differential evolution based on MapReduce
KR101592670B1 (ko) 인덱스를 이용하는 데이터 검색 장치 및 이를 이용하는 방법
KR102583679B1 (ko) 리뷰 빅데이터 기반의 아이템 추천 장치 및 그 방법
US11403294B1 (en) Smart scan hash join optimization
US20220277209A1 (en) Provider performance scoring using supervised and unsupervised learning

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180002523.4

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2011539576

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11771815

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13379953

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11771815

Country of ref document: EP

Kind code of ref document: A1