JP5565181B2 - Prediction device, prediction method, and prediction program - Google Patents

Prediction device, prediction method, and prediction program Download PDF

Info

Publication number
JP5565181B2
JP5565181B2 JP2010176023A JP2010176023A JP5565181B2 JP 5565181 B2 JP5565181 B2 JP 5565181B2 JP 2010176023 A JP2010176023 A JP 2010176023A JP 2010176023 A JP2010176023 A JP 2010176023A JP 5565181 B2 JP5565181 B2 JP 5565181B2
Authority
JP
Japan
Prior art keywords
executed
prediction
probability
notification
processing
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2010176023A
Other languages
Japanese (ja)
Other versions
JP2012038001A (en
Inventor
裕司 溝渕
智裕 大嶽
敏裕 小高
佳秀 野村
晃治 山本
裕一 槌本
訓治 高山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010176023A priority Critical patent/JP5565181B2/en
Publication of JP2012038001A publication Critical patent/JP2012038001A/en
Application granted granted Critical
Publication of JP5565181B2 publication Critical patent/JP5565181B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、複数の処理装置を含むシステムにおいて、複数の処理装置に要求される処理量の予測を行なう装置、方法及びプログラムに関する。   The present invention relates to an apparatus, a method, and a program for predicting a processing amount required for a plurality of processing apparatuses in a system including a plurality of processing apparatuses.

複数の処理装置を含むシステムに対して要求される処理量が、システム内で稼働中の処理装置によって処理可能な処理量よりも少なく、稼働中の処理装置のうちの一部を除いても要求された処理を実行可能な場合は、その一部の処理装置を稼動状態にしておくために過分に電力や、CPUやメモリといったマシンリソースを消費してしまう。また、複数の処理装置のうちの一部を待機状態とした場合には、要求される処理量が増加することにより、要求される処理量が稼働中の処理装置の処理能力を超えてしまうことも考えられる。   The amount of processing required for a system including multiple processing devices is smaller than the processing amount that can be processed by the processing devices operating in the system, and is required even if some of the operating processing devices are excluded. When the processed processing can be executed, excessive power and machine resources such as CPU and memory are consumed in order to keep some of the processing devices in an operating state. In addition, when a part of a plurality of processing devices is set in a standby state, the required processing amount increases and the required processing amount exceeds the processing capacity of the operating processing device. Is also possible.

例えば、特許文献1には、コンピュータシステムの稼動状態に関する情報を収集し、収集された情報間の相関関係を示す相関情報を記録し、前記相関情報を参照して、前記収集された情報から、前記コンピュータシステムで実行されるサービスに生じた障害を検出し、前記検出された障害を回復するための処理を生成し、相関情報を参照して、生成された処理の実行によって前記コンピュータシステムに与えられる効果及び影響を判定し、前記効果及び影響が判定された処理の実行の要否、実行順序及び実行時刻を決定する技術が開示されている。   For example, Patent Document 1 collects information related to the operating state of a computer system, records correlation information indicating a correlation between the collected information, and refers to the correlation information, from the collected information, A failure occurring in a service executed in the computer system is detected, a process for recovering the detected failure is generated, the correlation information is referenced, and the generated process is executed to the computer system. There is disclosed a technique for determining an effect and an effect to be performed, and determining necessity, execution order, and execution time of a process for which the effect and the effect are determined.

また、例えば特許文献2には、クライアント端末からの要求のうち、アプリケーションサーバからの応答時間が規定時間を超え、クライアント端末で受け付けられなくなるような、アプリケーションサーバでのデータベースの検索処理が発生した場合、エラーとなる要求の処理をすることなくエラー応答をするアプリケーションサーバの処理方法が開示されている。   Also, for example, in Patent Document 2, when a request for a database search process occurs in the application server such that the response time from the application server exceeds the specified time and the client terminal cannot accept the request from the client terminal An application server processing method is disclosed in which an error response is made without processing an error request.

また、例えば特許文献3には、一定時間間隔毎に、バッファプール管理テーブルより、基本確保バッファ数、現在のバッファ数、イメージ保有バッファ数といった、バッファプール毎の負荷情報を取得し、取得した負荷情報をもとに欠くバッファプールに必要とされているバッファの最低数を決定し、データの出力が行なわれていないタイミングで、各バッファプールに対してバッファを追加あるいは削除することが開示されている。   Further, for example, in Patent Document 3, load information for each buffer pool such as the number of basic reserved buffers, the current number of buffers, and the number of image holding buffers is acquired from the buffer pool management table at regular time intervals, and the acquired load It is disclosed that the minimum number of buffers required for a buffer pool lacking information is determined, and buffers are added to or deleted from each buffer pool when data is not output. Yes.

また、例えば特許文献4には、ログファイルを通してユーザーによるパーソナルコンピュータの使用量を測定し、コンピュータ使用傾向を予測することが開示されている。   For example, Patent Document 4 discloses that a usage amount of a personal computer by a user is measured through a log file to predict a computer usage tendency.

特開2008−9842号公報JP 2008-9842 A 特開2001−325223号公報JP 2001-325223 A 特開2000−57027号公報JP 2000-57027 A 特表平10−510647号公報Japanese National Patent Publication No. 10-510647

しかしながら、システムに要求される処理量が増加した際に、待機状態にある処理装置を稼動状態にさせたとしても、処理装置が稼動状態になるために時間を要するため、システムに要求された処理量がシステム内の稼働中の処理装置群の処理能力を超えたことが明らかになったとしても、その時点においてその状態を改善することができなかった。   However, when the processing amount required for the system increases, even if the processing device in the standby state is put into operation, it takes time for the processing device to be in operation. Even if it became clear that the quantity exceeded the processing capacity of the active processing equipment group in the system, the situation could not be improved at that time.

本発明は、システムに要求された処理量が、システム内の稼働中の処理装置群の処理能力を超過することの予測を目的とする。   An object of the present invention is to predict that the amount of processing required for a system will exceed the processing capacity of an active processing device group in the system.

第1の案として、要求に応じて実行される複数種類の処理を規定したソースコードに規定された前記複数種類の処理の処理間の順序関係に基づいて、前記複数種類の処理のうちの第1の処理を実行してから前記複数種類の処理のうちの第2の処理を実行するまでの予測時間を算出し、前記第1の処理が実行されたことを検知した場合に、算出した前記予測時間に示される時間後に前記第2の処理が実行されることを予測することをコンピュータに実行させることを特徴とする予測プログラムを用いる。   As a first proposal, based on an order relationship between the processes of the plurality of types of processes defined in the source code that defines a plurality of types of processes executed in response to a request, the first of the plurality of types of processes The estimated time from the execution of the first process to the execution of the second process among the plurality of types of processes is calculated, and when the first process is detected, the calculated time is calculated. A prediction program that causes a computer to predict that the second process is executed after the time indicated by the prediction time is used.

第2の案として、要求に応じて実行される複数種類の処理を規定したソースコードに規定された前記複数種類の処理の処理間の順序関係に基づいて、前記複数種類の処理のうちの第1の処理を実行してから前記複数種類の処理のうちの第2の処理を実行するまでの予測時間を算出し、前記第1の処理が実行されたことを検知した場合に、算出した前記予測時間に示される時間後に前記第2の処理が実行されることを予測することを含むことを特徴とする予測方法を用いる。   As a second proposal, based on the order relationship between the processes of the plurality of types of processes defined in the source code that defines a plurality of types of processes executed in response to the request, the first of the plurality of types of processes The estimated time from the execution of the first process to the execution of the second process among the plurality of types of processes is calculated, and when the first process is detected, the calculated time is calculated. A prediction method including predicting that the second process is executed after the time indicated by the prediction time is used.

第3の案として、要求に応じて実行される複数種類の処理を規定したソースコードに規定された前記複数種類の処理の処理間の順序関係に基づいて、前記複数種類の処理のうちの第1の処理を実行してから前記複数種類の処理のうちの第2の処理を実行するまでの予測時間を算出する算出手段と、前記第1の処理が実行されたことを検知した場合に、算出した前記予測時間に示される時間後に前記第2の処理が実行されることを予測する予測手段とを含むことを特徴とする予測装置を用いる。   As a third proposal, based on the order relationship between the processes of the plurality of types of processes defined in the source code that defines a plurality of types of processes executed in response to the request, the first of the plurality of types of processes A calculation means for calculating a predicted time from execution of the first process to execution of the second process of the plurality of types of processes, and when detecting that the first process has been executed, And a prediction unit that predicts that the second process is executed after the time indicated by the calculated prediction time.

第4の案として、稼働中の第1の装置及び待機中の第2の装置、並びに前記第1の装置及び前記第2の装置と通信可能な第3の装置であって、要求に応じて実行される複数種類の処理を規定したソースコードに規定された前記複数種類の処理の処理間の順序関係に基づいて、前記複数種類の処理のうちの第1の処理を実行してから前記複数種類の処理のうちの第2の処理を実行するまでの予測時間を算出する算出手段と、前記第1の処理が実行されたことを検知した場合に、算出した前記予測時間に示される時間後に前記第2の処理が実行されることを予測する予測手段と前記予測手段の予測結果に応じて、前記第2の装置に稼動指示を出力する出力手段とを含むことを特徴とする予測システムを用いる。   As a fourth plan, a first device that is in operation and a second device that is on standby, and a third device that can communicate with the first device and the second device, in response to a request. Based on the order relationship between the processes of the plurality of types of processes defined in the source code that defines the plurality of types of processes to be executed, the plurality of types of processes are executed, and then the plurality of processes are performed. The calculation means for calculating the predicted time until the second process of the types of processes is executed, and after detecting the execution of the first process, after the time indicated by the calculated predicted time A prediction system comprising: a prediction unit that predicts that the second process is executed; and an output unit that outputs an operation instruction to the second device according to a prediction result of the prediction unit. Use.

本発明は、システムに要求された処理量が、システム内の稼働中の処理装置群の処理能力を超過することを予測する。   The present invention predicts that the amount of processing required for the system exceeds the processing capacity of the active processing device group in the system.

第一の実施形態における装置の配置例を示す。The example of arrangement | positioning of the apparatus in 1st embodiment is shown. 第一の実施形態において行なわれる処理の例を示す。The example of the process performed in 1st embodiment is shown. 処理装置群2a〜2eで実行されるプログラムの状態遷移の例のモデル図を示す 。The model figure of the example of the state transition of the program performed with the processor group 2a-2e is shown. 管理装置1についての機能ブロックを示す。The functional block about the management apparatus 1 is shown. 解析手段12についての機能ブロックを示す。The functional block about the analysis means 12 is shown. 記憶手段122に記憶されるテーブルB1を示す。The table B1 memorize | stored in the memory | storage means 122 is shown. 記憶手段122に記憶されるテーブルB2を示す。The table B2 memorize | stored in the memory | storage means 122 is shown. 記憶手段13に記憶されるテーブルB3を示す。The table B3 memorize | stored in the memory | storage means 13 is shown. 記憶手段13に記憶されるテーブルB4を示す。The table B4 memorize | stored in the memory | storage means 13 is shown. 指示手段14についての機能ブロックを示す。The functional block about the instruction | indication means 14 is shown. 記憶手段142に記憶するテーブルB5を示す。The table B5 memorize | stored in the memory | storage means 142 is shown. 記憶手段142に記憶するテーブルB6を示す。The table B6 memorize | stored in the memory | storage means 142 is shown. 記憶手段142に記憶するテーブルB7を示す。A table B7 stored in the storage unit 142 is shown. 管理装置1の装置構成図を示す。1 shows a device configuration diagram of a management device 1. FIG. 記憶手段13に記憶するテーブルB8を示す。A table B8 stored in the storage unit 13 is shown. 解析手段12によって行なわれる処理のフローを示す。The flow of the process performed by the analysis means 12 is shown. 解析手段12によって行なわれる処理のフローを示す。The flow of the process performed by the analysis means 12 is shown. 解析手段12によって行なわれる処理のフローを示す。The flow of the process performed by the analysis means 12 is shown. 解析手段12によって行なわれる処理のフローを示す。The flow of the process performed by the analysis means 12 is shown. 指示手段14によって行なわれる処理のフローを示す。A flow of processing performed by the instruction unit 14 is shown. 指示手段14によって行なわれる処理のフローを示す。A flow of processing performed by the instruction unit 14 is shown. 指示手段14によって行なわれる処理のフローを示す。A flow of processing performed by the instruction unit 14 is shown. 指示手段14によって行なわれる処理のフローを示す。A flow of processing performed by the instruction unit 14 is shown. 処理量予測の例を示す。An example of processing amount prediction is shown. 第2の実施形態における指示手段の機能ブロックを示す。The functional block of the instruction | indication means in 2nd Embodiment is shown. 記憶手段142に記憶されるテーブルB10を示す。The table B10 memorize | stored in the memory | storage means 142 is shown. 指示手段14によって行なわれる処理のフローを示す。A flow of processing performed by the instruction unit 14 is shown.

以下、図面を参照しつつ本発明の実施形態について説明する。
[第1の実施形態]
まず、本実施形態のシステムの概容を説明する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[First Embodiment]
First, an overview of the system of this embodiment will be described.

図1は、本実施形態の装置の配置例を示す。1は管理装置を示し、2a〜2eのそれぞれは処理装置を示し、3a〜3eのそれぞれは記憶装置を示し、4は負荷分散装置を示し、5、6はネットワークを示し、7は端末装置を示す。   FIG. 1 shows an arrangement example of the apparatus of the present embodiment. 1 is a management device, 2a to 2e are processing devices, 3a to 3e are storage devices, 4 is a load distribution device, 5 and 6 are networks, and 7 is a terminal device. Show.

管理装置1は、ネットワーク5を介した通信により、処理装置2a〜2eから取得した情報に基づいて、処理装置2a〜2e及び記憶装置3a〜3eのそれぞれに指示を送信可能なコンピュータである。もしくは、管理装置1の機能を処理装置2a〜2eのいずれかが備えても良い。   The management device 1 is a computer capable of transmitting instructions to the processing devices 2a to 2e and the storage devices 3a to 3e based on information acquired from the processing devices 2a to 2e by communication via the network 5. Alternatively, any of the processing devices 2a to 2e may have the function of the management device 1.

処理装置2a〜2eのそれぞれは、端末装置7に要求された処理を実行するサーバとしての役割を果たしうるコンピュータである。例えば、処理装置2a〜2eが果たす役割として、端末装置7からのアクセスに応じてWebアプリケーションを提供する役割などが考えられる。図1では、例として、稼働中の処理装置2a〜2cを実線で示し、待機中の処理装置2d,2eを点線で示している。また、図1においては、5台の処理装置を例示しているが、台数をこれに制限するものでない。   Each of the processing devices 2 a to 2 e is a computer that can serve as a server that executes processing requested by the terminal device 7. For example, as a role played by the processing devices 2a to 2e, a role of providing a Web application in response to an access from the terminal device 7 can be considered. In FIG. 1, as an example, the processing devices 2a to 2c that are in operation are indicated by solid lines, and the standby processing devices 2d and 2e are indicated by dotted lines. Further, in FIG. 1, five processing devices are illustrated, but the number is not limited to this.

稼働中の処理装置とは、端末装置7からの要求に応じた処理を実行可能な状態にある処理装置であり、待機中の処理装置とは、端末装置7からの要求に応じた処理を実行可能な状態に移行するまでに時間を要する状態にある処理装置である。待機中の処理装置は、例えば、スタンバイ状態にある処理装置、停止している処理装置などである。スタンバイ状態は、運用上の定義によるが、例えば、主電源がONであり、且つ部分的に給電を停止した状態などのことであり、運用上スタンバイ状態を複数種類定義しても良い。   An active processing device is a processing device in a state where processing according to a request from the terminal device 7 can be executed, and a standby processing device executes processing according to a request from the terminal device 7. It is a processing apparatus in a state that takes time to shift to a possible state. The standby processing device is, for example, a processing device that is in a standby state or a processing device that is stopped. The standby state depends on the operational definition, but is, for example, a state in which the main power supply is ON and power supply is partially stopped. A plurality of operational standby states may be defined.

記憶装置3a〜3eのそれぞれは、例えば、HHD(Hard Disk Drive)、SSD(Solid State Drive)などを含む記憶装置である。また、処理装置2a〜2eと同様に、例として、稼働中の記憶装置3a〜3cを実線で示し、待機中の記憶装置3d,3eを点線で示している。   Each of the storage devices 3a to 3e is a storage device including, for example, an HHD (Hard Disk Drive), an SSD (Solid State Drive), and the like. Similarly to the processing devices 2a to 2e, the operating storage devices 3a to 3c are indicated by solid lines, and the standby storage devices 3d and 3e are indicated by dotted lines.

負荷分散装置4は、稼動中の処理装置2a〜2cのいずれかに端末装置7からの処理の要求の振り分け処理を行なう装置である。   The load balancer 4 is a device that performs processing for distributing processing requests from the terminal device 7 to any of the processing devices 2a to 2c in operation.

端末装置7は、処理装置2a〜2eに処理の要求を送信するクライアント側の装置を例示したものである。端末装置7はコンピュータなどであって良い。また、図示しないが、端末装置7は、無線によってネットワーク6に接続可能な携帯電話又は携帯型情報端末(PDA)でも良い。端末装置7の台数は、図1に示す台数に限るものでない。   The terminal device 7 is an example of a client-side device that transmits processing requests to the processing devices 2a to 2e. The terminal device 7 may be a computer or the like. Although not shown, the terminal device 7 may be a mobile phone or a portable information terminal (PDA) that can be connected to the network 6 wirelessly. The number of terminal devices 7 is not limited to the number shown in FIG.

本実施形態における管理装置1の処理を説明する前に、図2、図3を用いて、本実施形態のシステムによって行なわれる処理の概容を説明する。   Before explaining the processing of the management apparatus 1 in the present embodiment, an outline of processing performed by the system of the present embodiment will be described with reference to FIGS. 2 and 3.

図2は、本実施形態のシステムを用いて行なわれる処理の一例を示す。図2のA1〜A9は、端末装置7、処理装置2a及び記憶装置3aのそれぞれにおいて行われる処理を時系列に示している。   FIG. 2 shows an example of processing performed using the system of this embodiment. A1 to A9 in FIG. 2 indicate processing performed in each of the terminal device 7, the processing device 2a, and the storage device 3a in time series.

A1は、ユーザにより端末装置7が、記憶装置3aに格納されたデータの参照要求(例えば、Webページの取得要求など)の指示を入力されることを示す。A2は、端末装置7が参照要求を含むデータを処理装置2a〜2eに送信することを示す。   A1 indicates that the terminal device 7 inputs an instruction of a reference request (for example, a Web page acquisition request) of data stored in the storage device 3a by the user. A2 indicates that the terminal device 7 transmits data including the reference request to the processing devices 2a to 2e.

A3は、A2で端末装置7が送信し、負荷分散装置4により振り分けられたデータを処理装置2aが受信することを示す。A4は、処理装置2aが受信したデータに応じて、記憶装置3aに読み出し要求を含むデータを送信することを示す。   A3 indicates that the processing device 2a receives the data transmitted by the terminal device 7 in A2 and distributed by the load distribution device 4. A4 indicates that data including a read request is transmitted to the storage device 3a in accordance with the data received by the processing device 2a.

A5は、記憶装置3aが、A4において処理装置2aが送信した読み出し要求を含むデータを受信することを示す。A6は、記憶装置3aが、受信したデータに含まれる読み出し要求に応じて読み出したデータを処理装置2aに送信することを示す。   A5 indicates that the storage device 3a receives data including the read request transmitted by the processing device 2a in A4. A6 indicates that the storage device 3a transmits the read data in response to the read request included in the received data to the processing device 2a.

A7は、処理装置2aが、記憶装置3aがA6で送信したデータを受信することを示す。A8は、処理装置2aが、A7で受信したデータを端末装置7に送信することを示す。   A7 indicates that the processing device 2a receives the data transmitted by the storage device 3a in A6. A8 indicates that the processing device 2a transmits the data received in A7 to the terminal device 7.

A9は、端末装置7が、処理装置2aがA8で送信したデータを受信することを示す。例えばA1での入力がWebページの取得要求であった場合には、端末装置7は、A9で受信したデータに基づいて、画面の表示を切り替えるなどの処理を行なう。   A9 indicates that the terminal device 7 receives the data transmitted by the processing device 2a in A8. For example, when the input at A1 is a Web page acquisition request, the terminal device 7 performs processing such as switching the screen display based on the data received at A9.

図2に示す処理はあくまで一例であるが、処理装置2b〜2eも処理装置2aと同様の処理を実行可能であり、記憶装置3b〜3eも記憶装置3aと同様の処理を実行可能である。   The processing illustrated in FIG. 2 is merely an example, but the processing devices 2b to 2e can execute the same processing as the processing device 2a, and the storage devices 3b to 3e can also execute the same processing as the storage device 3a.

図2において、記憶装置3aは、A5〜A6の期間で読出し要求によって要求されたデータの読み出し処理を行なう。この読み出し処理にかかる時間は、読み出し要求の内容に応じて異なる。例えば、記憶装置3aが、記憶装置3aに格納している1つのテーブルを参照してデータ読み出すよりも、1つのデータテーブルを参照して読み出したデータに基づいて、さらに別のテーブルを参照してデータを読み出す(SQL文においては、joinなどを含む処理)の方が、読出し処理に時間がかかると考えられる。従って、処理装置2aが送信する読出し要求の内容によっては、時間がかかる読み出し処理であるかを予想可能である。以下において、特に時間がかかる読み出し処理を「重い処理」と呼ぶ。   In FIG. 2, the storage device 3a performs a data read process requested by a read request during a period from A5 to A6. The time required for this read process varies depending on the content of the read request. For example, the storage device 3a refers to another table based on data read with reference to one data table, rather than reading data with reference to one table stored in the storage device 3a. It is considered that data reading (processing including join etc. in the SQL statement) takes more time for reading processing. Therefore, depending on the content of the read request transmitted by the processing device 2a, it can be predicted whether the read process takes time. Hereinafter, a reading process that takes a particularly long time is referred to as a “heavy process”.

図2において、処理装置2aは、A3〜A8の期間で、端末装置7からの参照要求に応じた処理を行なう。この処理は、端末装置7から参照要求を含むデータを受信すること(A3)を契機として実行される。以下において、このような処理装置が実行する処理の契機をイベント(E)と呼ぶ。   In FIG. 2, the processing device 2 a performs processing according to the reference request from the terminal device 7 during the period from A3 to A8. This process is executed in response to receiving data including a reference request from the terminal device 7 (A3). Hereinafter, the trigger of processing executed by such a processing apparatus is referred to as an event (E).

さらに、処理装置2aにイベント(E)を発生させた端末装置7がどのデータを取得しているか(イベント(E)が端末装置7からのWebページの参照要求であれば、どのWebページを表示しているか)を状態(S)と呼ぶ。即ち、図2において処理装置2aのイベント(E)に応じた一連の処理(A3〜A8)は、イベント(E)を発生させた端末装置7の状態(S)を遷移させる処理であるといえる。つまり、処理装置2aに一連の処理(A3〜A8)を実行させるプログラムは、イベント(E)に応じて状態(S)を遷移される処理が規定されたものであり、そのプログラムを解析すれば、イベント(E)に応じたプログラムの処理によって遷移する前の状態(Sb)を示す情報と後の状態(Sa)を示す情報を取得できる。   Further, what data is acquired by the terminal device 7 that has generated the event (E) in the processing device 2a (if the event (E) is a Web page reference request from the terminal device 7), which Web page is displayed. Is called state (S). That is, in FIG. 2, a series of processes (A3 to A8) corresponding to the event (E) of the processing apparatus 2a can be said to be a process of changing the state (S) of the terminal apparatus 7 that has generated the event (E). . That is, the program that causes the processing device 2a to execute a series of processes (A3 to A8) is a process in which the state (S) is changed in response to the event (E). The information indicating the state (Sb) before the transition and the information indicating the subsequent state (Sa) can be acquired by the processing of the program corresponding to the event (E).

処理装置2a〜2eが構造化されたWebページ群を提供するプログラムを実行する処理装置群であるとした場合、イベント(E)は例えばWebページ間のリンクによるジャンプの指示などであり、状態(S)は端末装置7にWebページのデータを送信することによって遷移する。この場合、イベント(E)と遷移前の状態(Sb)及び遷移後の状態との関係は、Webページ群の構成に基づいて決まっている。また、Webページ中の入力フォームへの文字入力をイベント(E)として、その文字入力前後の状態を、遷移前の状態(Sb)と遷移後の状態(Sa)としても良い。このイベント(E)と遷移前の状態(Sb)及び遷移後の状態との関係については、図3を用いて説明する。   When the processing devices 2a to 2e are processing device groups that execute a program that provides a structured Web page group, the event (E) is, for example, a jump instruction by a link between Web pages, and the state ( S) makes a transition by transmitting Web page data to the terminal device 7. In this case, the relationship between the event (E), the state before the transition (Sb), and the state after the transition is determined based on the configuration of the Web page group. Moreover, the character input to the input form in the Web page may be an event (E), and the state before and after the character input may be a state before transition (Sb) and a state after transition (Sa). The relationship between this event (E), the state before transition (Sb), and the state after transition will be described with reference to FIG.

図3は、処理装置2a〜2eが実行するプログラムに規定された状態遷移の例をモデル化した図である。S1〜S7のそれぞれは状態を示し、E1〜E7のそれぞれはイベントを示す。   FIG. 3 is a diagram modeling an example of state transition defined in a program executed by the processing devices 2a to 2e. Each of S1 to S7 indicates a state, and each of E1 to E7 indicates an event.

図3は、各イベント(E1〜E7)の矢印は、各イベントの発生による状態の遷移を表している。例えば、図3のイベント(E1)の矢印は、状態(S1)であるときに、イベント(E1)が発生することにより、処理装置2a〜2eのいずれかでイベント(E1)に応じた処理A3〜A8が行なわれて状態(S2)に遷移することを示している。   In FIG. 3, the arrows of the events (E1 to E7) represent state transitions due to the occurrence of each event. For example, the arrow of the event (E1) in FIG. 3 indicates that the process (A1) corresponding to the event (E1) occurs in any of the processing devices 2a to 2e when the event (E1) occurs when the state (S1) -A8 is performed and the state (S2) is transitioned to.

イベント(E)は、処理装置2a〜2eのいずれかが、端末装置7からWebページの取得要求を含むデータを受信することだけでなく、例えばユーザが所定のWebページにおいてデータ入力し、入力したデータを受信することであっても良い。その場合は、所定のページにおいてデータ入力されたことも状態(S)として定義される。他にもWebページの取得から所定時間経過したことをイベント(E)としても良いし、セッションの接続要求、切断要求などをイベント(E)としても良い。   The event (E) is input not only by any of the processing devices 2a to 2e receiving data including a Web page acquisition request from the terminal device 7, but also, for example, by a user inputting data on a predetermined Web page. It may be to receive data. In this case, the state (S) is also defined as data input on a predetermined page. In addition, the event (E) may be that a predetermined time has elapsed since the acquisition of the Web page, or a session connection request or disconnection request may be used as the event (E).

次に、本実施形態における管理装置1の処理について説明する。
[管理装置1の構成]
図4に管理装置1の機能ブロック構成を示す。11は通信手段を示し、12は解析手段を示し、13は記憶手段を示し、14は指示手段を示す。
Next, the process of the management apparatus 1 in this embodiment is demonstrated.
[Configuration of Management Device 1]
FIG. 4 shows a functional block configuration of the management apparatus 1. 11 indicates communication means, 12 indicates analysis means, 13 indicates storage means, and 14 indicates instruction means.

通信手段11は、ネットワーク6を介して処理装置2a〜2eとデータを送受信する処理を行なう。また、通信手段11は、処理装置2a〜2eに加えて記憶装置3a〜3eともデータを送受信する処理を行なうようにしても良い。   The communication unit 11 performs processing for transmitting / receiving data to / from the processing devices 2 a to 2 e via the network 6. Further, the communication unit 11 may perform processing for transmitting / receiving data to / from the storage devices 3a to 3e in addition to the processing devices 2a to 2e.

データの送受信として、例えば、処理装置2a〜2eで実行されるプログラムのソースコード(C1)の受信、ソースコード(C1)に解析手段12がコードを追加して作成したソースコード(C2)の送信、処理装置2a〜2eからのイベント通知の受信、指示手段14から処理装置2a〜2eのいずれかへの指示の送信などを行なう。   As data transmission / reception, for example, reception of a source code (C1) of a program executed by the processing devices 2a to 2e, and transmission of a source code (C2) created by the analysis means 12 adding a code to the source code (C1) , Receiving event notifications from the processing devices 2a to 2e, transmitting instructions from the instruction means 14 to any of the processing devices 2a to 2e, and the like.

解析手段12は、通信手段11が受信したソースコード(C1)に、ソースコード(C1)を実行する処理装置が、処理装置に発生したイベントに応じてどういった処理を実行することが規定されているかを解析する。また、解析手段12は、ソースコード(C1)に、イベント(Ei)が発生した場合に、発生したイベント(Ei)を識別するデータ(イベントID)と、イベントが発生させたクライアントを識別するデータ(例えば、セッションID)とをイベント通知として管理装置1に送信させることを規定したコードを追加したソースコード(C2)を生成する。さらに、解析手段12は、ソースコード(C1)を解析した結果に基づいて、1〜m(ソースコード(C1)に規定されたイベントの総数をmとする)の範囲内の整数i,jについて、イベント(Ei)が発生した後に他のイベント(Ej)が発生するまでの時間(Tij)と発生する確率(Pij)とを見積もり、記憶手段13に記憶させる。解析手段12の具体的な処理については、図5を用いて後述する。   The analysis means 12 is defined in the source code (C1) received by the communication means 11 as to what processing the processor that executes the source code (C1) executes according to an event that has occurred in the processor. Analyzes whether or not In addition, when the event (Ei) occurs in the source code (C1), the analysis unit 12 identifies data (event ID) that identifies the event (Ei) that has occurred, and data that identifies the client that caused the event. Source code (C2) to which a code that specifies that (for example, session ID) is transmitted to the management apparatus 1 as an event notification is added. Furthermore, the analysis means 12 is based on the result of analyzing the source code (C1) for integers i and j within the range of 1 to m (the total number of events defined in the source code (C1) is m). The time (Tij) until the occurrence of another event (Ej) after the occurrence of the event (Ei) and the probability of occurrence (Pij) are estimated and stored in the storage means 13. Specific processing of the analysis unit 12 will be described later with reference to FIG.

時間(Tij)、確率(Pij)は、ソースコード(C1)でなく、例えばソースコード(C1)の作成に用いた画面遷移図などの設計情報に基づいて見積もられても良い。ソースコード(C1)又は設計情報のいずれに基づくにしても、処理装置は、処理装置で実行するプログラムを更新する際に、更新されたプログラムに対応するソースコード又は設計情報を保持しておく。   The time (Tij) and the probability (Pij) may be estimated based on design information such as a screen transition diagram used for creating the source code (C1) instead of the source code (C1). Based on either the source code (C1) or the design information, the processing device retains the source code or design information corresponding to the updated program when the program executed by the processing device is updated.

記憶手段13は、解析手段12によって求められた時間(Tij)と確率(Pij)とを記憶する。また、指示手段14の読出し要求に応じて、時間(Tij)又は確率(Pij)を読み出す。   The storage unit 13 stores the time (Tij) and the probability (Pij) obtained by the analysis unit 12. Further, the time (Tij) or the probability (Pij) is read in response to the read request from the instruction means 14.

指示手段14は、通信手段11が受信したイベント通知と記憶手段13に記憶した時間(Tij)及び確率(Pij)とに基づき、所定のイベントの発生タイミングを予測し、さらに、予測したタイミングで発生するイベントの処理に必要な台数の処理装置が稼動していない場合に、待機中の処理装置2d、2eに、稼動に必要な時間を見込んで通信手段11に稼動指示を送信させる。もしくは、稼働中の処理装置の一部を停止させても予測されるイベントの処理を充分に実行可能である場合に、通信手段11に一部の処理装置にスタンバイ状態への移行又は停止の指示を送信させる。具体的には図10を用いて後述する。   The instructing unit 14 predicts the occurrence timing of a predetermined event based on the event notification received by the communication unit 11 and the time (Tij) and probability (Pij) stored in the storage unit 13, and further generates the event at the predicted timing. When the number of processing devices necessary for processing the event to be executed is not operating, the waiting processing devices 2d and 2e are allowed to transmit an operation instruction to the communication unit 11 in anticipation of the time required for the operation. Alternatively, when the processing of the predicted event can be sufficiently executed even if a part of the processing devices in operation is stopped, the communication unit 11 is instructed to shift or stop the processing devices to the standby state. To send. The details will be described later with reference to FIG.

図4に示す管理装置1を用いることで、処理装置2a〜2eが実行するプログラムと処理装置2a〜2eに対して行なわれているアクセスの状況とに基づいて、処理装置2a〜2eの処理負荷を事前に予測し、予測した処理負荷に応じて必要な台数の処理装置を、処理装置の起動時間を見込んで起動させることができる。
[解析手段12の構成]
図5は、解析手段12についての機能ブロックを示す。121は制御手段を示し、122は記憶手段を示し、123は抽出手段を示し、124は生成手段を示し、125は算出手段を示す。
By using the management device 1 shown in FIG. 4, the processing loads of the processing devices 2a to 2e are based on the programs executed by the processing devices 2a to 2e and the status of access being performed on the processing devices 2a to 2e. Can be activated in anticipation of the activation time of the processing apparatus according to the predicted processing load.
[Configuration of Analysis Unit 12]
FIG. 5 shows functional blocks for the analyzing means 12. 121 denotes a control means, 122 denotes a storage means, 123 denotes an extraction means, 124 denotes a generation means, and 125 denotes a calculation means.

制御手段121は、記憶手段13に格納されたテーブルB8(図15参照)に基づき稼働中の処理装置を判定し、稼働中の処理装置からプログラムのソースコード(C1)を取得する処理、記憶手段122にデータの書込み・読出し処理、処理装置2a〜2eへのソースコード(C2)の送信を通信手段11に指示する処理などを行なう。   The control unit 121 determines a processing device in operation based on the table B8 (see FIG. 15) stored in the storage unit 13, and obtains the source code (C1) of the program from the processing device in operation, storage unit 122 performs data writing / reading processing, processing for instructing the communication means 11 to transmit the source code (C2) to the processing devices 2a to 2e, and the like.

テーブルB8は、図15に示すように、処理装置ごとにレコードを有し、処理装置のアドレス、処理装置の稼動状態などの情報を格納するフィールドを有している。このテーブルB8に含まれる情報は、管理者によって設定されても良いし、管理装置1が処理装置を自動検出して追加設定しても良い。また、管理装置1が、テーブルB8のテーブルの各レコードに登録された処理装置に対し、定期的に稼動状態の問い合わせを行ない、更新することとしても良い。   As shown in FIG. 15, the table B8 has a record for each processing device, and has fields for storing information such as the processing device address and the operating state of the processing device. The information included in this table B8 may be set by the administrator, or the management apparatus 1 may automatically detect the processing apparatus and additionally set the information. Further, the management device 1 may periodically inquire and update the processing device registered in each record of the table B8 for the operating state.

抽出手段123は、制御手段121が記憶手段122から読み出したソースコード(C1)から、イベント発生を検知する旨を規定したコードと、そのコードにより検知されるイベントが発生した後に実行する処理の内容を規定したコードを抽出する。   The extraction unit 123 includes a code that specifies that an event occurrence is detected from the source code (C1) read by the control unit 121 from the storage unit 122, and the contents of processing that is executed after the event detected by the code is generated. Extract the code that defines

抽出手段123は、抽出したコードにより検知するイベントのイベントIDを生成し、さらに、そのイベントに応じて実行される処理によって遷移する前の状態(遷移前状態:Sb)を示すデータと、遷移した後の状態(遷移後状態:Sa)を示すデータとを抽出する。   The extraction unit 123 generates an event ID of an event detected by the extracted code, and further transitions with data indicating a state before transition (pre-transition state: Sb) by processing executed in accordance with the event. Data indicating a later state (post-transition state: Sa) is extracted.

制御手段121は、イベントIDと、遷移前状態(Sb)を示すデータと、遷移後状態(Sa)を示すデータとを含むレコードを記憶手段122に記憶されているテーブルB1に追加する。例えば、イベントの発生が端末装置7からのWebページの取得要求である場合、遷移前状態(Sb)を示すデータは、取得要求を受信する前に提供していたWebページのアドレスなどが考えられ、遷移後状態(Sa)を示すデータは取得要求に応じて提供するWebページのアドレスなどが考えられる。   The control unit 121 adds a record including the event ID, data indicating the pre-transition state (Sb), and data indicating the post-transition state (Sa) to the table B1 stored in the storage unit 122. For example, if the occurrence of an event is a Web page acquisition request from the terminal device 7, the data indicating the pre-transition state (Sb) may be the address of the Web page provided before receiving the acquisition request. The data indicating the post-transition state (Sa) may be the address of a Web page provided in response to an acquisition request.

生成手段124は、抽出手段123が抽出したコードと抽出手段123が生成したイベントIDとに基づいて、抽出したコードが実行された場合にイベントIDとセッションIDとを管理装置1に通知する処理を規定したコードを生成する。セッションIDは、イベントを発生させたアクセスを含むセッションを他のセッションと識別する情報である。セッションIDでなくとも、処理装置にアクセスしているアクセス元を識別可能なデータを用いれば良い。例えば、セッションIDの代わりに処理装置2a〜2eが提供するWebサイトへのログインIDなどを用いても良い。生成したコードは、制御手段121によって記憶手段122に記憶したソースコード(C1)に追加される。   Based on the code extracted by the extraction unit 123 and the event ID generated by the extraction unit 123, the generation unit 124 performs processing for notifying the management apparatus 1 of the event ID and the session ID when the extracted code is executed. Generate the specified code. The session ID is information for identifying the session including the access that generated the event from other sessions. Instead of the session ID, data that can identify the access source accessing the processing apparatus may be used. For example, a login ID for a Web site provided by the processing devices 2a to 2e may be used instead of the session ID. The generated code is added to the source code (C1) stored in the storage unit 122 by the control unit 121.

記憶手段122は、イベントID毎に、イベントIDと、遷移前状態(Sb)と遷移後状態(Sa)を示すデータとを含むレコードを有するテーブルB1を記憶する。また、記憶手段122は、算出手段125の処理で用いる設定データを記憶しておく。設定データは、例えば、ソースコード(C1)に規定された各状態がどれくらいの時間継続するかを示す値を予め定めたものなどを含む。   The storage unit 122 stores, for each event ID, a table B1 having a record including an event ID and data indicating a pre-transition state (Sb) and a post-transition state (Sa). The storage unit 122 stores setting data used in the processing of the calculation unit 125. The setting data includes, for example, predetermined values indicating how long each state defined in the source code (C1) lasts.

算出手段125は、記憶手段122に記憶されたテーブルB1と設定データとに基づいて、1〜nの整数i,jのそれぞれについて、イベント(Ei)が発生してからイベント(Ej)が発生するまでの時間(Tij)と、イベント(Ei)が発生した後にイベント(Ej)が発生する確率(Pij)を算出する。制御手段121は、算出手段125が算出した時間(Tij)と確率(Pij)を、記憶手段13に記憶させる。   Based on the table B1 and setting data stored in the storage unit 122, the calculation unit 125 generates an event (Ej) after an event (Ei) has occurred for each of the integers 1 and n of 1 to n. And the probability (Pij) that the event (Ej) occurs after the event (Ei) occurs. The control unit 121 causes the storage unit 13 to store the time (Tij) and the probability (Pij) calculated by the calculation unit 125.

算出手段125が時間(Tij)と確率(Pij)とを算出する処理について、ソースコード(C1)に図3に示すような状態(S)とイベント(E)との関係が規定されていた場合を例として説明する。   When the calculation means 125 calculates the time (Tij) and the probability (Pij), the relationship between the state (S) and the event (E) as shown in FIG. 3 is defined in the source code (C1). Will be described as an example.

図6は、記憶手段122に記憶されるイベントIDと状態(Sb)と状態(Sa)を示すデータとを関連付けたテーブルB1を示したものである。図6のテーブルB1は、図3に示されたイベント(E1〜E7)のそれぞれについてレコードを有し、イベントIDがE1〜E7のレコードはそれぞれ遷移前状態(Sb)と遷移後状態(Sa)を含む。   FIG. 6 shows a table B1 in which event IDs stored in the storage unit 122 are associated with data indicating the state (Sb) and the state (Sa). The table B1 in FIG. 6 has a record for each of the events (E1 to E7) shown in FIG. 3, and the records with event IDs E1 to E7 are the pre-transition state (Sb) and the post-transition state (Sa), respectively. including.

算出手段125は、制御手段121が記憶手段122から読み出したテーブルB1に含まれるデータから、プログラムに規定された状態を抽出する。算出手段125は、抽出した状態(S1〜S7)のそれぞれについて、保持時間(Ti)を設定する。保持時間(Ti)は、状態(Si)に遷移した場合に、状態(Si)に遷移してから別の状態に遷移するまでの時間を示す指標である。この保持時間(Ti)は、記憶手段122に格納した設定データに基づいて定める。本実施形態においては、各状態(Si)についての保持時間(Ti)に同一の値を設定する。なお後述するが、第2の実施形態、第3の実施形態においては、イベント通知の統計に基づいて保持時間(Ti)を更新する処理を行なう。   The calculation unit 125 extracts the state defined in the program from the data included in the table B1 read from the storage unit 122 by the control unit 121. The calculation unit 125 sets a holding time (Ti) for each of the extracted states (S1 to S7). The holding time (Ti) is an index indicating the time from the transition to the state (Si) to the transition to another state when transitioning to the state (Si). The holding time (Ti) is determined based on setting data stored in the storage unit 122. In the present embodiment, the same value is set for the holding time (Ti) for each state (Si). As will be described later, in the second and third embodiments, processing for updating the holding time (Ti) is performed based on the event notification statistics.

また、算出手段125は、プログラムに規定されたイベント(E1〜E7)のそれぞれについて、遷移前状態(Sb)に至った場合にイベント(Ei)が発生する確率(Pi)を設定する。この確率(Pi)の設定は、遷移前状態(Sb)が同一であるイベントの数(分岐数)に応じて設定すれば良い。例えば、遷移前状態(Sb)が状態(S1)であるイベントの数は、イベント(E1)とイベント(E2)の2つである(状態(S1)の分岐が2つである)ことから(図6参照)、確率(P1)と確率(P2)をそれぞれ0.5と設定することなどが考えられる。また、確率(Pi)についても保持時間(Ti)と同様に、第2の実施形態、第3の実施形態では、イベント通知の統計に基づいて確率(Pi)を更新する。   Further, the calculation means 125 sets the probability (Pi) that the event (Ei) occurs when the pre-transition state (Sb) is reached for each of the events (E1 to E7) defined in the program. The probability (Pi) may be set according to the number of events (number of branches) having the same pre-transition state (Sb). For example, the number of events whose state (Sb) before transition is state (S1) is two (event (E1) and event (E2)) (state (S1) has two branches) ( It is conceivable to set the probability (P1) and the probability (P2) to 0.5, respectively. As for the probability (Pi), similarly to the holding time (Ti), in the second and third embodiments, the probability (Pi) is updated based on the event notification statistics.

制御手段121は算出手段125が算出した保持時間(Ti)と確率(Pi)とに基づいて、記憶手段122に記憶した図6のテーブルB1に、各イベント(E1〜E7)に対応する確率(Pi)と、各イベント(E1〜E7)の遷移前状態(Sb)に対応する保持時間(Ti)とを追加する。図7に保持時間(Ti)と確率(Pi)とを追加した図7のテーブルB2を示す。   Based on the holding time (Ti) and probability (Pi) calculated by the calculation means 125, the control means 121 stores the probability (E1 to E7) corresponding to each event (E1 to E7) in the table B1 of FIG. Pi) and a holding time (Ti) corresponding to the pre-transition state (Sb) of each event (E1 to E7) is added. FIG. 7 shows the table B2 of FIG. 7 in which the holding time (Ti) and the probability (Pi) are added.

さらに、算出手段125は、図7に示したテーブルB2に基づいて、制御手段121に指定されたイベント(Ei)から制御手段121に指定されたイベント(Ej)への遷移についての時間(Tij)と確率(Pij)とを算出する。   Furthermore, the calculation means 125 calculates the time (Tij) for the transition from the event (Ei) designated by the control means 121 to the event (Ej) designated by the control means 121 based on the table B2 shown in FIG. And the probability (Pij).

まず、算出手段125は、制御手段121が記憶手段122から読み出したテーブルB2の情報に基づいて、イベント(Ei)からイベント(Ej)に至るまでに経過するルートを特定する。例えば、イベント(E6)からイベント(E3)に至るには、「イベント(E6)→状態(S6)→イベント(E7)→状態(S1)→イベント(E1)→(状態S2)→イベント(E3)」といったルートを経過する。この特定方法については、図20に示すフローを用いて後述する。   First, the calculation unit 125 specifies a route that passes from the event (Ei) to the event (Ej) based on the information in the table B2 read from the storage unit 122 by the control unit 121. For example, from event (E6) to event (E3), “event (E6) → status (S6) → event (E7) → status (S1) → event (E1) → (status S2) → event (E3 ) ". This specifying method will be described later using the flow shown in FIG.

次に、制御手段121は、特定したルートについて、イベント(Ei)が発生した後に発生するイベント(Ek)(イベント(Ej)を含む)のそれぞれについて、テーブルB2にイベント(Ek)と対応付けて記憶した保持時間(Tk)と確率(Pk)とを読み出す。算出手段125は、制御手段121が読み出した保持時間(Ek)の合計を算出して、イベント(Ei)からイベント(Ej)に遷移する時間(Tij)とする。さらに、算出手段125は、制御手段121が読み出した確率(Pk)の積を算出し、イベント(Ei)からイベント(Ej)に遷移する確率(Pij)とする。例えば、イベント(E6)からイベント(E3)に遷移する時間(T63)はT6+T1+T2で表され、確率(P63)はP7×P1×P3で表される。   Next, the control unit 121 associates each event (Ek) (including event (Ej)) that occurs after the event (Ei) occurs with the event (Ek) in the table B2 for the identified route. The stored retention time (Tk) and probability (Pk) are read out. The calculation unit 125 calculates the total holding time (Ek) read by the control unit 121 and sets it as the time (Tij) for transition from the event (Ei) to the event (Ej). Further, the calculation unit 125 calculates the product of the probabilities (Pk) read by the control unit 121 and sets the product (Pij) as the probability of transition from the event (Ei) to the event (Ej). For example, the transition time (T63) from the event (E6) to the event (E3) is represented by T6 + T1 + T2, and the probability (P63) is represented by P7 × P1 × P3.

上述の通り、算出手段125が算出した時間(Tij)と確率(Pij)は、制御手段121によって記憶手段13に書き込まれる。記憶手段13は、時間(Tij)をと確率(Pij)とをそれぞれ図8,図9に示すデータ形式で記憶する。図8に示すテーブルをテーブルB3、図9に示すテーブルをテーブルB4とする。   As described above, the time (Tij) and the probability (Pij) calculated by the calculation unit 125 are written into the storage unit 13 by the control unit 121. The storage means 13 stores time (Tij) and probability (Pij) in the data formats shown in FIGS. 8 and 9, respectively. The table shown in FIG. 8 is called table B3, and the table shown in FIG. 9 is called table B4.

上記の説明の通り、解析手段12は、通信手段11が受信したソースコード(C1)に基づいて、ソースコード(C1)にイベント通知を管理装置1に送信するコードを追加したソースコード(C2)を生成し、ソースコード(C1)に規定されたイベント間の遷移についての予測時間(Tij)と確率(Pij)とを算出して記憶手段13に記憶させる。
[指示手段14の構成]
図10は、指示手段14の機能ブロック構成を示す。図10において、141は制御手段を示し、142は記憶手段を示し、143は生成手段を示し、144は算出手段を示し、145は集計手段を示し、146は判定手段を示し、147は生成手段を示す。
As described above, based on the source code (C1) received by the communication unit 11, the analysis unit 12 adds a code for transmitting an event notification to the management apparatus 1 to the source code (C1). Is generated, and a prediction time (Tij) and a probability (Pij) for a transition between events defined in the source code (C1) are calculated and stored in the storage unit 13.
[Configuration of Instruction Unit 14]
FIG. 10 shows a functional block configuration of the instruction means 14. 10, reference numeral 141 denotes a control means, 142 denotes a storage means, 143 denotes a generation means, 144 denotes a calculation means, 145 denotes a counting means, 146 denotes a determination means, and 147 denotes a generation means. Indicates.

指示手段14は、所定のイベント(Ej)が発生するタイミングを予測し、予測に応じて処理装置に稼動指示を出力させる処理を行なう。先述した「重い処理」を発生させるイベントを所定のイベント(Ej)とすると、「重い処理」が発生するタイミングを予測できる。また、イベント(Ej)のみでなく、イベント(Ej)、イベント(Ek)など複数のイベントについても、同様の処理を行なうことで、それぞれのイベントの発生タイミング、発生確率を予想できる。複数のイベントの発生タイミング、発生確率を合算することで、単一の処理に限定せずに処理負荷を予想することが出来る。   The instructing unit 14 predicts the timing at which a predetermined event (Ej) occurs, and performs processing for causing the processing device to output an operation instruction according to the prediction. Assuming that the event causing the above-described “heavy process” is a predetermined event (Ej), the timing at which the “heavy process” occurs can be predicted. Further, not only the event (Ej) but also a plurality of events such as the event (Ej) and the event (Ek) can be predicted to predict the occurrence timing and occurrence probability of each event. By adding together the occurrence timing and occurrence probability of a plurality of events, the processing load can be predicted without being limited to a single process.

制御手段141は、通信手段11が受信したイベント通知に含まれるイベントID(Ei)に基づいて、そのイベント(Ei)からイベント(Ej)までの時間(Tij)と、イベント(Ei)からイベント(Ej)に至る確率(Pij)とを記憶手段13から読み出し、通信手段11が受信したイベント通知に含まれるセッションID(Zi)、イベント通知を受信した時刻(Hi)と関連付けて記憶手段142に記憶する。これらは、図11に示すテーブルB5の形式で記憶手段142に記憶される。   Based on the event ID (Ei) included in the event notification received by the communication unit 11, the control unit 141 determines the time (Tij) from the event (Ei) to the event (Ej), and the event (Ei) to the event ( Ej) is read from the storage unit 13 and stored in the storage unit 142 in association with the session ID (Zi) included in the event notification received by the communication unit 11 and the time (Hi) when the event notification is received. To do. These are stored in the storage unit 142 in the form of a table B5 shown in FIG.

記憶手段142に記憶する際に、同じセッションID(Zi)についてのデータが記憶されていた場合には、記憶手段142に記憶されていたセッションID(Zi)についてのデータを、予測時間(Tij)、確率(Pij)及び時刻(Hi)に更新するようにしても良い。また、イベント通知がセッションの切断を示す場合には、イベント通知に含まれるセッションIDについてのデータを記憶手段142から消去するようにしても良い。もしくは、記憶手段142に記憶されるテーブルB5の各レコードにフラグを設けておき、各レコードを有効とするか否かをフラグのON/OFFにより制御するように構成しても良い。例えば、同じセッションID(Zi)についてのデータを受信した場合に、既に格納してあったレコードのフラグをOFFにする制御を行っても良いし、セッションの切断を示すデータを受信した場合に、そのセッションIDを含むレコードのフラグをOFFにする制御を行っても良い。   When data about the same session ID (Zi) is stored when storing in the storage unit 142, the data about the session ID (Zi) stored in the storage unit 142 is used as the predicted time (Tij). , It may be updated at the probability (Pij) and the time (Hi). Further, when the event notification indicates that the session is disconnected, the data regarding the session ID included in the event notification may be deleted from the storage unit 142. Alternatively, a flag may be provided for each record of the table B5 stored in the storage unit 142, and it may be configured to control whether each record is valid by turning the flag ON / OFF. For example, when data about the same session ID (Zi) is received, control may be performed to turn off the flag of a record that has already been stored, or when data indicating session disconnection is received, Control to turn off the flag of the record including the session ID may be performed.

図11に示すテーブルB5について説明する。図11に示すテーブルB5は、セッションID(Zk)、確率(Pij)、時間(Tij)、受信時刻(Hk)、時間範囲ID(Rs)及びフラグについてのフィールドを設けている。それぞれのレコードは、セッションID(Zk)で識別されるセッション(Zk)についてのデータが格納されている。それぞれのレコードは、最新のイベント通知に基づいて、確率(Pij)、時間(Tij)、受信時刻(Hk)及びフラグが設定される。   The table B5 shown in FIG. 11 will be described. The table B5 shown in FIG. 11 includes fields for session ID (Zk), probability (Pij), time (Tij), reception time (Hk), time range ID (Rs), and flag. Each record stores data on the session (Zk) identified by the session ID (Zk). Each record has a probability (Pij), time (Tij), reception time (Hk), and flag set based on the latest event notification.

ちなみにテーブルB5の時間範囲ID(Rs)のフィールドには、時間(Tij)と受信時刻(Hk)とに基づいて図12のテーブルB6に示す情報のうちのいずれかが格納される。この時間範囲(Rs)の選択は、生成手段143と算出手段144とにより行われる。このテーブルB6は、記憶手段142に予め記憶しておく。   Incidentally, in the time range ID (Rs) field of the table B5, any one of the information shown in the table B6 of FIG. 12 is stored based on the time (Tij) and the reception time (Hk). The selection of the time range (Rs) is performed by the generation unit 143 and the calculation unit 144. This table B6 is stored in advance in the storage means 142.

例えば、スタンバイ状態にある処理装置が稼働状態になるまでに要する時間が30秒であるとした場合に時間範囲を図12のテーブルB6のように区切ることが考えられる。その場合、管理装置1が行なう指示を、時間範囲(R3)に予想される処理量が多い場合にはスタンバイ状態の処理装置を稼動させる指示とし、時間範囲(R3)に予想される処理量が少なく、時間範囲(R4)が多い場合には、30秒待機させてから稼動指示をスタンバイ状態にある処理装置を稼動させる指示とすることなどが考えられる。   For example, when the time required for the processing apparatus in the standby state to be in the operating state is 30 seconds, the time range may be divided as shown in the table B6 of FIG. In this case, the instruction given by the management apparatus 1 is an instruction to activate the processing apparatus in the standby state when the processing amount expected in the time range (R3) is large, and the processing amount expected in the time range (R3) is If the time range (R4) is large and the time range (R4) is large, it may be possible to wait for 30 seconds before setting the operation instruction to operate the processing apparatus in the standby state.

生成手段143は、所定時間経過するたびに所定時間経過した旨を示すデータを制御手段141に出力する。制御手段141は、生成手段143から取得したデータに基づいて集計処理を開始する。集計処理を開始した時刻を時刻(H0)とする。   The generation unit 143 outputs data indicating that the predetermined time has passed to the control unit 141 every time the predetermined time has passed. The control unit 141 starts the counting process based on the data acquired from the generation unit 143. The time when the counting process is started is defined as time (H0).

算出手段144は、記憶手段142に記憶されたテーブルB5の各レコードについて、時刻(H0)と受信時刻(Hk)との差(H0−Hk)を算出し、さらに、予測時間(Tij)と算出した差との差(Tij−(H0−Hk))を算出する。制御手段141は、それぞれのレコードについて算出した差(Tij−(H0−Hk))を含む時間範囲を示す時間範囲ID(Rs)をテーブルB6から読み出し、時間範囲IDフィールドに格納する。   The calculation means 144 calculates the difference (H0−Hk) between the time (H0) and the reception time (Hk) for each record in the table B5 stored in the storage means 142, and further calculates the predicted time (Tij). A difference (Tij− (H0−Hk)) from the calculated difference is calculated. The control means 141 reads the time range ID (Rs) indicating the time range including the difference (Tij− (H0−Hk)) calculated for each record from the table B6 and stores it in the time range ID field.

集計手段145は、テーブルB5を参照し、R1〜R5までの時間範囲ID(Rs)ごとに、時間範囲ID(Rs)が一致するレコードについて確率(Pij)を読み出し、読み出した確率(Pij)の合計(Psums)を算出する。   The tabulating unit 145 reads the probability (Pij) for the records having the same time range ID (Rs) for each time range ID (Rs) from R1 to R5 with reference to the table B5, and the read probability (Pij) The sum (Psums) is calculated.

例として、図11に示したテーブルB5について、集計手段145が処理を行なった場合を説明する。まず、テーブルB5の時間範囲IDについてのフィールドを参照し、時間範囲IDがR1であるレコードを抽出する。図11に示したテーブルB5の場合、まずセッションIDがZ1であるレコードが抽出される。次に、セッションIDがZ1のレコードの確率のフィールドからP5jを示すデータが読み出される。図11に示す限りでは、時間範囲IDがR1であるレコードは、セッションIDがZ1であるレコードのみであるので、読み出した確率(Pij)の合計値(Psum1)は、P5jとなる。   As an example, a case will be described in which the counting unit 145 performs processing on the table B5 illustrated in FIG. First, a field with a time range ID R1 is extracted by referring to the field for the time range ID in the table B5. In the case of the table B5 shown in FIG. 11, first, a record whose session ID is Z1 is extracted. Next, data indicating P5j is read from the probability field of the record whose session ID is Z1. As long as it is shown in FIG. 11, since the record whose time range ID is R1 is only the record whose session ID is Z1, the total value (Psum1) of the read probabilities (Pij) is P5j.

次に、集計手段145はテーブルB5で時間範囲IDがR2であるレコードについての確率(Pij)の合計値(Psum2)を算出する。その場合、時間範囲IDがR2であるレコードとして、セッションIDがZ3のレコードとZ5のレコードが該当し、セッションIDがZ3のレコードから確率(P1j)を読出し、セッションIDがZ5のレコードから確率(P3j)を読み出す。図11に示す限りでは、読み出した確率(Pij)の合計値(Psum)はP1j+P3jとなる。R3〜R5についても同様に処理する。算出した合計値(Psums)は、それぞれ対応する時間範囲ID(Rs)と対応付けて、図13に示すテーブルB7の形式で記憶手段142に記憶される。   Next, the counting unit 145 calculates the total value (Psum2) of the probabilities (Pij) for the records whose time range ID is R2 in the table B5. In that case, as the record whose time range ID is R2, the record with session ID Z3 and the record with Z5 correspond, the probability (P1j) is read from the record with session ID Z3, and the probability (from the record with session ID Z5) P3j) is read out. As long as it is shown in FIG. 11, the total value (Psum) of the read probabilities (Pij) is P1j + P3j. The same process is applied to R3 to R5. The calculated total value (Psums) is stored in the storage unit 142 in the form of the table B7 shown in FIG. 13 in association with the corresponding time range ID (Rs).

判定手段146は、記憶手段142に記憶されたテーブルB7を参照し、各時間範囲(Rs)についての合計値(Psums)が、稼働中の処理装置の処理能力を超えるかを判定する。判定手段146は、処理能力を超えると判定した場合、処理能力を超える時間範囲についての時間範囲ID(Rs)を読み出す。このとき、所定のイベント(Ej)を複数設定していた場合には、それぞれについての合計値(Psums)を合算して判定する。   The determination unit 146 refers to the table B7 stored in the storage unit 142, and determines whether the total value (Psums) for each time range (Rs) exceeds the processing capability of the operating processing apparatus. If the determination unit 146 determines that the processing capacity is exceeded, the determination unit 146 reads the time range ID (Rs) for the time range exceeding the processing capacity. At this time, when a plurality of predetermined events (Ej) are set, the total value (Psums) for each is added and determined.

生成手段147は、判定手段146が読み出した時間範囲ID(Rs)に基づいて、処理装置2a〜2eに稼動を指示するデータを生成する。   The generation unit 147 generates data for instructing the processing devices 2a to 2e to operate based on the time range ID (Rs) read by the determination unit 146.

例えば、それぞれの処理装置2a〜2eの起動に起動指示を生成してから30秒かかるとして、時間範囲R1,R2において処理能力を超えると判断された場合には、処理能力が足りない事態になりうるので、生成手段147は、稼動していない処理装置に対しての稼動指示を生成する。また、時間範囲R3において処理能力を超えると判断された場合には、時刻(H0)から30秒経過後に、稼働中の処理装置の処理能力が不足することが予測されるので、生成手段147は、稼動していない処理装置に対しての稼動指示を生成する。   For example, if it is determined that it takes 30 seconds from the generation of the activation instruction to activate each of the processing devices 2a to 2e, and it is determined that the processing capacity is exceeded in the time ranges R1 and R2, the processing capacity is insufficient. Therefore, the generation unit 147 generates an operation instruction for a processing device that is not operating. If it is determined that the processing capacity is exceeded in the time range R3, it is predicted that the processing capacity of the operating processing apparatus will be insufficient after 30 seconds from the time (H0). An operation instruction for a processing apparatus that is not operating is generated.

時間範囲R4又はR5において処理能力を超えると判断された場合には、時刻(H0)から60秒又は90秒経過してから稼動中の処理装置の処理能力が不足することが予想される。そのため、生成手段147は、時間範囲R4において処理能力を超えると判断された場合には、30秒経過してから稼動していない処理装置に対しての稼動指示を生成し、時間範囲R5において処理能力を超えると判断された場合には、60秒経過してから稼動していない処理装置に対しての稼動指示を生成する。   When it is determined that the processing capacity is exceeded in the time range R4 or R5, it is expected that the processing capacity of the processing apparatus in operation is insufficient after 60 seconds or 90 seconds have elapsed from the time (H0). Therefore, when it is determined that the processing capacity is exceeded in the time range R4, the generation unit 147 generates an operation instruction for a processing device that has not been operated after 30 seconds, and performs processing in the time range R5. If it is determined that the capacity is exceeded, an operation instruction is generated for a processing apparatus that has not been operated after 60 seconds.

制御手段141は、生成手段147が生成した稼動指示を通信手段に送信させる処理を行なう。   The control unit 141 performs processing for transmitting the operation instruction generated by the generation unit 147 to the communication unit.

指示手段14が上述の処理を行なうことにより、管理装置1は、時刻(H0)の時点で処理装置2a〜2eに対して行なわれているアクセスに基づいて時刻(H0)から所定時間経過後の処理負荷を予測し、処理装置の起動時間を見込んで処理装置を追加稼動させることができる。

また、例えば、上述の管理装置1の処理は確率を用いずに実行されても良い。その場合は、イベント通知の受信時刻から時間値経過した時点で、所定の処理が実行されることとすれば良い。確率を用いて予測を行うことにより、イベント通知の後に必ず実行されるわけでないことを考慮できるため、処理量を過分に予測することを低減する効果が得られる。
When the instructing unit 14 performs the above-described processing, the management device 1 can perform a predetermined time elapsed from the time (H0) based on the access made to the processing devices 2a to 2e at the time (H0). The processing load can be predicted, and the processing apparatus can be additionally operated in consideration of the startup time of the processing apparatus.

For example, the process of the management device 1 described above may be executed without using a probability. In that case, the predetermined process may be executed when the time value has elapsed from the reception time of the event notification. By performing the prediction using the probability, it is possible to consider that it is not necessarily executed after the event notification, and therefore, an effect of reducing the excessive amount of processing can be obtained.

図14は、管理装置1の装置構成の一例を示す。1aはプロセッサを示し、1bはメモリを示し、1cは通信インターフェースを示し、1dは記憶装置を示し、1eはバスを示す。   FIG. 14 shows an example of the device configuration of the management device 1. 1a indicates a processor, 1b indicates a memory, 1c indicates a communication interface, 1d indicates a storage device, and 1e indicates a bus.

プロセッサ1としてCPU(Central Processing Unit)などを含み、メモリ1bとしてRAM(Random Access Memory)などを含み、通信インターフェースとしてNIC(Network Interface Card)などを含み、記憶装置1dとしてHDD(Hard Disk Drive)、SSD(Solid State Drive)、CDやDVDなどのディスクについてのディスクドライブなどを含む。   The processor 1 includes a CPU (Central Processing Unit), the memory 1b includes a RAM (Random Access Memory), the communication interface includes a NIC (Network Interface Card), etc., and the storage device 1d includes an HDD (Hard Disk Drive), It includes SSDs (Solid State Drives), disk drives for disks such as CDs and DVDs, and the like.

プロセッサ1aは、管理装置1全体の制御を行なう。メモリ1bに一時的に格納されたプログラムを読み出し、読み出したプログラムに従って演算処理を行なう。メモリ1bは、OS(Operation System)やアプリケーションプログラムの少なくとも一部を一時的に格納し、プロセッサ1aが処理に用いるデータを格納する。通信インターフェース1cは、他の装置との通信処理を行なう。記憶装置1dは、OSやアプリケーションプログラムを格納し、プロセッサの制御に応じてデータを記憶する。   The processor 1a controls the management device 1 as a whole. The program temporarily stored in the memory 1b is read, and arithmetic processing is performed according to the read program. The memory 1b temporarily stores at least part of an OS (Operation System) and application programs, and stores data used by the processor 1a for processing. The communication interface 1c performs communication processing with other devices. The storage device 1d stores an OS and application programs, and stores data according to the control of the processor.

図4、図5、図10に示した機能ブロックの処理は、それぞれ図14に示す装置構成によっても実現可能である。   The processing of the functional blocks shown in FIGS. 4, 5, and 10 can also be realized by the device configuration shown in FIG.

通信手段11の処理は、通信インターフェース1cがプロセッサ1aの制御に応じた処理を行なうことで実現される。   The process of the communication means 11 is implement | achieved when the communication interface 1c performs the process according to control of the processor 1a.

解析手段12に含まれる各機能ブロックの処理は、以下のように実現される。   Processing of each functional block included in the analysis unit 12 is realized as follows.

制御手段121の処理は、プロセッサ1aが、メモリ1b又は記憶装置1dに記憶されたデータについて、メモリ1bから読み出したプログラムに従って、読み出し・書込みの制御を行なうことにより実現される。記憶手段122の処理は、メモリ1b又は記憶装置1dがプロセッサ1aの制御に応じてデータを書込み・読出しを行なうことにより実現される。抽出手段123の処理は、プロセッサ1aが、メモリ1b又は記憶装置1dから読み出したデータに、メモリ1b又は記憶装置1dから読み出したプログラムに応じた処理を行なうことにより実現される。生成手段124の処理は、プロセッサ1aがメモリ1b又は記憶装置1dからデータを読み出すことにより実現される。算出手段125の処理は、プロセッサ1aがメモリ1b又は記憶装置1dから読み出したデータ(イベントIDなど)に応じてメモリ1b又は記憶装置1dからデータ(設定データなど)を読み出し、読み出したデータにプログラムに応じた演算処理を行なうことにより実現される。   The processing of the control means 121 is realized by the processor 1a performing read / write control on the data stored in the memory 1b or the storage device 1d according to the program read from the memory 1b. The processing of the storage unit 122 is realized by the memory 1b or the storage device 1d writing / reading data according to the control of the processor 1a. The processing of the extracting unit 123 is realized by the processor 1a performing processing corresponding to the program read from the memory 1b or the storage device 1d on the data read from the memory 1b or the storage device 1d. The processing of the generation unit 124 is realized by the processor 1a reading data from the memory 1b or the storage device 1d. The processing of the calculation means 125 is to read data (setting data etc.) from the memory 1b or storage device 1d according to the data (event ID etc.) read from the memory 1b or storage device 1d by the processor 1a, This is realized by performing a corresponding calculation process.

記憶手段13の処理は、記憶装置1d又はメモリ1bがプロセッサの指示に応じてデータを書込み・読出しを行なうことにより実現される。   The processing of the storage means 13 is realized when the storage device 1d or the memory 1b writes / reads data according to instructions from the processor.

指示手段14に含まれる各機能ブロックの処理は、以下のように実現される。   The processing of each functional block included in the instruction unit 14 is realized as follows.

制御手段141の処理は、プロセッサ1aが、メモリ1b又は記憶装置1dに記憶されたデータについて、メモリ1bから読み出したプログラムに従った処理を行なうことにより実現される。記憶手段142の処理は、メモリ1b又は記憶装置1dが、プロセッサ1aの指示に応じてデータを記憶することにより実現される。生成手段143の処理は、プロセッサ1aが、プロセッサ1aに含まれるクロックに基づいて所定時間を判断することにより実現される。算出手段144の処理は、プロセッサ1aが、メモリ1b又は記憶装置1dからデータを読み出し、読み出したデータにプログラムに従った演算処理を行なうことにより実現される。集計手段145の処理は、プロセッサ1aが、メモリ1b又は記憶装置1dからデータを読み出し、読み出したデータにプログラムに従った演算処理を行なうことにより実現される。判定手段146の処理は、プロセッサ1aが、メモリ1b又は記憶装置1dからデータを読み出し、読み出したデータに基づいてメモリ1b又は記憶装置1dからさらにデータを読み出すことにより実現される。生成手段147の処理は、メモリ1b又は記憶装置1dから読み出したデータと、プロセッサ1aに含まれるクロックに基づいた時刻情報とに基づいてデータを生成することにより実現される。
[管理装置1の処理]
図16は、ソースコード(C1)を解析し、イベント発生を通知する処理を規定したコードを追加する処理のフローを示す。
The processing of the control means 141 is realized by the processor 1a performing processing according to the program read from the memory 1b for the data stored in the memory 1b or the storage device 1d. The processing of the storage unit 142 is realized by the memory 1b or the storage device 1d storing data in accordance with an instruction from the processor 1a. The processing of the generation unit 143 is realized by the processor 1a determining a predetermined time based on a clock included in the processor 1a. The processing of the calculation unit 144 is realized by the processor 1a reading data from the memory 1b or the storage device 1d and performing arithmetic processing according to the program on the read data. The processing of the counting unit 145 is realized by the processor 1a reading data from the memory 1b or the storage device 1d and performing arithmetic processing according to the program on the read data. The processing of the determination unit 146 is realized by the processor 1a reading data from the memory 1b or the storage device 1d and further reading data from the memory 1b or the storage device 1d based on the read data. The processing of the generation unit 147 is realized by generating data based on data read from the memory 1b or the storage device 1d and time information based on a clock included in the processor 1a.
[Processing of Management Device 1]
FIG. 16 shows a flow of processing for analyzing the source code (C1) and adding a code that defines processing for notifying event occurrence.

管理装置1に開始指示が入力される(S101)と、制御手段121が、通信手段11にソースコード(C1)の取得要求を処理装置2a〜2eのいずれかに送信させる(S102)。通信手段11がソースコード(C1)を受信すると、制御手段121は受信したソースコード(C1)を記憶手段122に格納する(S103)。   When a start instruction is input to the management device 1 (S101), the control unit 121 causes the communication unit 11 to transmit a source code (C1) acquisition request to any of the processing devices 2a to 2e (S102). When the communication unit 11 receives the source code (C1), the control unit 121 stores the received source code (C1) in the storage unit 122 (S103).

まず、制御手段121は、ソースコード(C1)からコードを読み出す単位を指定する番号iを0に設定する(S104)。このコードを読み出す単位は、ソースコード(C1)の1行ごとでも良いし、ソースコード(C1)に規定されたルーチン単位でも良い。次に、制御手段121は、番号iに1加えて(S105)、その番号iに指定される読み出し単位に、読み出すべきコードがあるかを確認する(S106)。読み出すコードがない場合(S106:NO)は、確率値(Pij)と時間値(Tij)を算出する処理が実行される(S113)。読み出すコードがある場合(S106:YES)は、制御手段121は、記憶手段122から番号iで指定されるコードを読み出す(S107)。   First, the control means 121 sets a number i specifying a unit for reading a code from the source code (C1) to 0 (S104). The unit for reading out the code may be one line of the source code (C1) or a routine unit defined in the source code (C1). Next, the control means 121 adds 1 to the number i (S105), and checks whether there is a code to be read in the reading unit designated by the number i (S106). When there is no code to be read (S106: NO), a process of calculating a probability value (Pij) and a time value (Tij) is executed (S113). If there is a code to be read (S106: YES), the control means 121 reads the code designated by the number i from the storage means 122 (S107).

抽出手段123は、制御手段121が読み出したコードがイベントの発生を検知するコードであるかを判断する(S108)。このS108は、読み出したコードが外部アクセスに応じて処理を行なうことが規定されたコードであるかどうかによって判断される。読み出したコードがイベントを検知するコードでない場合(S108:NO)は、S105の処理が実行される。   The extraction unit 123 determines whether the code read by the control unit 121 is a code for detecting the occurrence of an event (S108). This S108 is determined based on whether or not the read code is a code prescribed to perform processing in response to external access. If the read code is not a code for detecting an event (S108: NO), the process of S105 is executed.

読み出したコードがイベントを検知するコードである場合(S108:YES)に、抽出手段123は、検知されるイベントを他のイベントと識別可能なイベントIDを生成する(S109)。S109後に、制御手段121は、抽出したイベントに関してソースコード(C1)を解析するフローを実行する(S110)。   When the read code is a code for detecting an event (S108: YES), the extraction unit 123 generates an event ID that can distinguish the detected event from other events (S109). After S109, the control means 121 executes a flow for analyzing the source code (C1) regarding the extracted event (S110).

次に、生成手段124は、イベントを検知するコードが実行された場合にそのイベントを示すイベントIDを管理装置1に通知させるコードを生成する(S111)。制御手段121は、生成手段124が生成したコードを、記憶手段122に格納されているソースコード(C1)に追加する処理を行なう(S112)。S112の実行後、S105に戻る。   Next, when the code for detecting an event is executed, the generation unit 124 generates a code that notifies the management apparatus 1 of an event ID indicating the event (S111). The control unit 121 performs a process of adding the code generated by the generation unit 124 to the source code (C1) stored in the storage unit 122 (S112). After executing S112, the process returns to S105.

図17に、S108で抽出したイベントに関してソースコード(C1)を解析するフローを示す。   FIG. 17 shows a flow of analyzing the source code (C1) regarding the event extracted in S108.

S110が実行される(S201)と、制御手段121は、S109で生成したイベントIDに示されるイベントを検知した後に実行される処理を規定したコードを、記憶手段122に格納したソースコード(C1)から読み出す(S202)。   When S110 is executed (S201), the control unit 121 stores the source code (C1) in which the code defining the processing to be executed after detecting the event indicated by the event ID generated in S109 is stored in the storage unit 122 (S202).

制御手段121は、S202で読み出したコードから、イベント発生後に実行される処理によって遷移する前の状態(Sb)及び遷移した後の状態(Sa)のそれぞれを示す情報を抽出する(S203)。さらに制御手段121は、S203で抽出した遷移前状態(Sb)及び遷移後状態(Sa)を示す情報と、イベントIDとを含むレコードを記憶手段122のテーブルB1に追加する(S204)。S204が実行されると、コードの解析フローは終了となりS111が実行される(S205)。   The control unit 121 extracts, from the code read in S202, information indicating each of the state before the transition (Sb) and the state after the transition (Sa) by the process executed after the event occurs (S203). Further, the control unit 121 adds a record including information indicating the pre-transition state (Sb) and post-transition state (Sa) extracted in S203 and an event ID to the table B1 of the storage unit 122 (S204). When S204 is executed, the code analysis flow ends and S111 is executed (S205).

図18、図19に確率値(Pij)と時間値(Tij)を算出するフローを示す。   18 and 19 show a flow for calculating the probability value (Pij) and the time value (Tij).

S113が実行される(S301)と、算出手段125は、S203で抽出された遷移前状態(Sb)と遷移後状態(Sa)のうちの全種類の状態(Si:i=1〜n)に対して保持時間(Ti)を設定する(S302)。抽出された状態の数が全部でnであるとした場合、1〜nまでの各整数iに対応する状態(Si)について保持時間(Ti)を設定する。この保持時間(Ti)は、前述の通り、状態(Si)に遷移してから、別の状態(S)に遷移するまでの時間を示す。   When S113 is executed (S301), the calculation means 125 sets all types of states (Si: i = 1 to n) in the pre-transition state (Sb) and the post-transition state (Sa) extracted in S203. On the other hand, a holding time (Ti) is set (S302). When the total number of extracted states is n, the holding time (Ti) is set for the states (Si) corresponding to the respective integers i from 1 to n. As described above, the holding time (Ti) indicates the time from the transition to the state (Si) to the transition to another state (S).

S302が実行されると、制御手段121は、記憶手段122に格納されたテーブルB1の各レコードに、遷移前状態(Sb)に対応する保持時間(Ti)を追加する(S303)。   When S302 is executed, the control unit 121 adds a holding time (Ti) corresponding to the pre-transition state (Sb) to each record of the table B1 stored in the storage unit 122 (S303).

また、算出手段125は、S203で抽出された状態(Si)のそれぞれについて、それぞれの状態(Si)が記憶手段122に格納されたテーブルB1に遷移前状態(Sb)とされている数に応じて、確率(Pi)を設定する(S304)。S304で設定する確率(Pi)は、管理者の指示に応じて重み付けされたものでも良い。   Further, the calculation means 125, for each of the states (Si) extracted in S203, according to the number of the respective states (Si) set as the pre-transition state (Sb) in the table B1 stored in the storage means 122. Then, the probability (Pi) is set (S304). The probability (Pi) set in S304 may be weighted according to an instruction from the administrator.

S304が実行されると、制御手段121は、記憶手段122に格納されたテーブルB2の各レコードに、遷移前状態(Sb)に対応する確率(Pi)を追加する(S305)。テーブルB1に、S303、S305で保持時間(Ti)、確率(Pi)を追加したテーブルが、図7に示すテーブルB2である。このS302及びS303と、S304及びS305とは順番を入れ替えても構わない。   When S304 is executed, the control unit 121 adds the probability (Pi) corresponding to the pre-transition state (Sb) to each record of the table B2 stored in the storage unit 122 (S305). A table obtained by adding the holding time (Ti) and the probability (Pi) in S303 and S305 to the table B1 is a table B2 shown in FIG. The order of S302 and S303 and S304 and S305 may be interchanged.

S305が実行されると、イベント間(イベント(Ei)〜イベント(Ej))の時間値(Tij)及び確率値(Pij)を算出するフローが実行される(S306,S401)。抽出されたイベントの数(テーブルB1、テーブルB2のレコードの数)が全部でmであるとした場合、解析手段12は、1〜mの整数i,jについて、イベントEiが発生してからイベントEjが発生するまでの時間を予測した時間値(Tij)と、イベント(Ei)が発生して後にイベント(Ej)が発生する確率を予想した確率値(Pij)を算出する。   When S305 is executed, a flow for calculating a time value (Tij) and a probability value (Pij) between events (event (Ei) to event (Ej)) is executed (S306, S401). Assuming that the total number of extracted events (number of records in table B1 and table B2) is m, the analysis unit 12 will generate an event after an event Ei has occurred for integers i and j of 1 to m. A time value (Tij) that predicts the time until Ej occurs and a probability value (Pij) that predicts the probability that event (Ej) will occur after event (Ei) occurs are calculated.

制御手段121は、イベント(Ei)を示す番号iを0に設定し(S402)、番号iに1を加える(S403)。番号iがm以下であるかを判断し(S404)、番号iがよりも大きい場合(S404:NO)、このフローは終了となる(S413)。   The control means 121 sets the number i indicating the event (Ei) to 0 (S402), and adds 1 to the number i (S403). It is determined whether the number i is less than or equal to m (S404). If the number i is larger (S404: NO), this flow ends (S413).

番号iがm以下である場合(S404:YES)、制御手段121は、番号jを0に設定し(S405)、番号jに1を加える(S406)。制御手段121は、番号jがm以下であるかを判断し(S407)、番号jがmよりも大きい場合(S407:NO)、S403の処理が実行される。   When the number i is less than or equal to m (S404: YES), the control means 121 sets the number j to 0 (S405) and adds 1 to the number j (S406). The control means 121 determines whether the number j is less than or equal to m (S407). If the number j is greater than m (S407: NO), the process of S403 is executed.

番号jがm以下である場合(S407:YES)、制御手段121は、番号iと番号jが異なるか判断する(S408)。番号iと番号jが同じである場合(S408:NO)、S406の処理が実行される。   When the number j is less than or equal to m (S407: YES), the control unit 121 determines whether the number i is different from the number j (S408). When the number i and the number j are the same (S408: NO), the process of S406 is executed.

番号iと番号jが異なる場合(S408:YES)、イベント(Ei)が発生してからイベント(Ej)が発生するまでに、発生するイベント(E)を抽出するフローを実行させる(S409)。イベント(Ei)が発生してからイベント(Ej)が発生するまでに発生するイベントのパターンが複数ある場合は、それぞれのパターンについて経過するイベントを抽出する。抽出されたイベントのパターンそれぞれをルート情報とする。   When the number i is different from the number j (S408: YES), the flow for extracting the event (E) that occurs after the event (Ei) occurs until the event (Ej) occurs is executed (S409). When there are a plurality of event patterns that occur from the occurrence of the event (Ei) to the occurrence of the event (Ej), the events that pass for each pattern are extracted. Each extracted event pattern is used as route information.

制御手段121は、S409で抽出したルート情報のそれぞれについて、イベント(Ei)からイベント(Ej)に至るまでに経過するイベント(E)のそれぞれに対応する保持時間(T)を読み出し、算出手段125は、読み出した保持時間(T)の総和をS409で抽出したルート情報ごとに算出し、それぞれのルート情報についての総和の平均をTijとする(S410)。   The control unit 121 reads out the holding time (T) corresponding to each event (E) that passes from the event (Ei) to the event (Ej) for each piece of route information extracted in S409, and calculates the calculation unit 125. Calculates the sum of the read retention times (T) for each route information extracted in S409, and sets the average of the sums for each route information as Tij (S410).

また、制御手段121は、S409で抽出したルート情報のそれぞれについてイベント(Ei)からイベント(Ej)に至るまでに経過するイベント(E)のそれぞれに対応する確率(P)をテーブルB1から読み出し、算出手段125は、読み出した確率の総乗をルート情報ごとに算出し、それぞれのルート情報についての総乗の和をPijとする(S411)。S410とS411は順序を入れ替えて実行しても構わない。   Further, the control means 121 reads, from the table B1, the probability (P) corresponding to each event (E) that passes from the event (Ei) to the event (Ej) for each of the route information extracted in S409, The calculating unit 125 calculates the total of the read probabilities for each route information, and sets the sum of the totals of the respective route information as Pij (S411). S410 and S411 may be executed by switching the order.

制御手段121は、S410で算出した時間値Tijを記憶手段13のテーブルB4に格納し、S411で算出した確率値Pijを記憶手段13のテーブルB3に格納する(S412)。S412のフローが実行されると、S406のフローに戻る。   The control unit 121 stores the time value Tij calculated in S410 in the table B4 of the storage unit 13, and stores the probability value Pij calculated in S411 in the table B3 of the storage unit 13 (S412). When the flow of S412 is executed, the flow returns to the flow of S406.

図20に、イベント(Ei)が発生してからイベント(Ej)が発生するまでに、経過するイベント(E)を抽出するフローを示す。   FIG. 20 shows a flow for extracting an event (E) that elapses from the occurrence of the event (Ei) to the occurrence of the event (Ej).

S409が実行される(S501)と、制御手段121は、イベントID(Ei)を、イベント(Ei)〜イベントID(Ej)間のルート情報の第1の経過ポイントとして、記憶手段122に格納する(S503)。   When S409 is executed (S501), the control unit 121 stores the event ID (Ei) in the storage unit 122 as the first elapsed point of the route information between the event (Ei) and the event ID (Ej). (S503).

さらに、制御手段121は、記憶手段122のテーブルB1のイベント(Ej)を含むレコードに格納された遷移前状態(Sb)を示す情報を取得し、この情報を(Sy)とする(S504)。   Further, the control unit 121 acquires information indicating the pre-transition state (Sb) stored in the record including the event (Ej) of the table B1 in the storage unit 122, and sets this information as (Sy) (S504).

次に、制御手段121は、記憶手段122に格納されたルート情報で確定していないものがあるかを判断する(S505)。S505で確定していないルート情報がないと判断した場合(S505:NO)、このフローは終了される(S513)。   Next, the control unit 121 determines whether there is any route information stored in the storage unit 122 that has not been determined (S505). If it is determined that there is no route information that has not been determined in S505 (S505: NO), this flow ends (S513).

S505で確定していないルート情報がある場合(S505:YES)、制御手段121は、確定していないルート情報のいずれかを選択し、選択したルート情報のうち、末尾の経過ポイントを示すイベントIDを読み出す(S506)。読み出したイベントIDを(Ex)とする。   When there is route information that has not been confirmed in S505 (S505: YES), the control unit 121 selects any of the route information that has not been confirmed, and among the selected route information, an event ID indicating the last elapsed point. Is read (S506). The read event ID is (Ex).

制御手段121は、記憶手段122のテーブルB1において、S506で読み出したイベントID(Ex)と同一のレコードに含まれる遷移後状態(Sa)を示す情報を読み出し、読み出した情報を(Sx)とする(S507)。   The control unit 121 reads information indicating the post-transition state (Sa) included in the same record as the event ID (Ex) read in S506 in the table B1 of the storage unit 122, and sets the read information as (Sx). (S507).

次に、制御手段121は、S507で読み出した情報(Sx)と、S504で取得した情報(Sy)が異なるかどうかを判断する(S508)。情報(Sx)と情報(Sy)が同じであるとした場合(S508:NO)、イベント(Ej)をルート情報に追加する(S511)。このルート情報は、イベント(Ei)からイベント(Ej)に至るまでに発生するイベントを列挙できたとして、そのルート情報を確定する(S512)。S512が実行されると、S505の処理が再度実行される。   Next, the control unit 121 determines whether the information (Sx) read in S507 and the information (Sy) acquired in S504 are different (S508). When the information (Sx) and the information (Sy) are the same (S508: NO), the event (Ej) is added to the route information (S511). In this route information, it is assumed that events occurring from the event (Ei) to the event (Ej) can be listed, and the route information is determined (S512). When S512 is executed, the process of S505 is executed again.

情報(Sx)と情報(Sy)が異なる場合(S508:YES)、制御手段121は、記憶手段122に格納されたテーブルB1を参照し、情報(Sx)と同じ情報を遷移前状態(Sb)とするレコードのイベントIDを抽出する(S509)。   When the information (Sx) is different from the information (Sy) (S508: YES), the control unit 121 refers to the table B1 stored in the storage unit 122 and sets the same information as the information (Sx) to the pre-transition state (Sb). The event ID of the record is extracted (S509).

抽出したイベントID(E)を、S505で選択したルート情報の末尾に追加する(S510)。制御手段121は、S509で抽出したイベントIDが複数ある場合、S505で選択したルート情報を複製し、それぞれのルート情報の末尾に抽出したイベントIDのそれぞれを追加する。   The extracted event ID (E) is added to the end of the route information selected in S505 (S510). When there are a plurality of event IDs extracted in S509, the control unit 121 duplicates the route information selected in S505, and adds each of the event IDs extracted at the end of each route information.

図21に、指示手段14の処理を実行させるフローを示す。フローが開始すると、制御手段141は、所定時間経過したか(S602)と、通知データを受信したか(S603)の判定を行なう。制御手段141は、所定時間経過したことを検知した場合(S602:YES)は、所定時間を計測する計測タイマをクリアし、再度所定時間の計測を開始する(S605)。S605の処理の後、統計・指示フロー(図23を用いて後述する)が開始される(S606)。   FIG. 21 shows a flow for executing the processing of the instruction unit 14. When the flow starts, the control unit 141 determines whether a predetermined time has elapsed (S602) and whether notification data has been received (S603). When the control unit 141 detects that the predetermined time has elapsed (S602: YES), the control unit 141 clears the measurement timer for measuring the predetermined time and starts measuring the predetermined time again (S605). After the process of S605, a statistics / instruction flow (which will be described later with reference to FIG. 23) is started (S606).

制御手段141は、通知テータの受信を検知した場合(S603:YES)、蓄積フロー(図22を用いて後述する)を開始する(S604)。   When the control unit 141 detects the reception of the notification data (S603: YES), the control unit 141 starts an accumulation flow (described later with reference to FIG. 22) (S604).

図22に、処理装置2a〜2eから受信する通知データを蓄積するフローを示す。   FIG. 22 shows a flow for accumulating notification data received from the processing devices 2a to 2e.

S604が実行される(S701)と、制御手段141は、受信時刻(Hk)を取得する(S702)。また、制御手段141は、通信手段11が受信したデータから、イベントID及びセッションIDを取得する(S703)。さらに制御手段141は、記憶手段13に格納されたテーブルB3及びテーブルB4を参照し、取得したイベントID(Ei)に対応する時間値(Tij)及び確率値(Pij)を読み出す(S704)。   When S604 is executed (S701), the control unit 141 acquires the reception time (Hk) (S702). In addition, the control unit 141 acquires an event ID and a session ID from the data received by the communication unit 11 (S703). Further, the control unit 141 refers to the table B3 and the table B4 stored in the storage unit 13, and reads the time value (Tij) and the probability value (Pij) corresponding to the acquired event ID (Ei) (S704).

S704が実行されると、制御手段141は、記憶手段142に格納されたテーブルB5を参照し、S703で取得したセッションIDを含むレコードが存在するかを判断する(S705)。テーブルB5に、S703で取得したセッションIDを含むレコードが存在しない場合(S705:NO)、S704で取得した時間値(Tij)及び確率値(Pij)、並びにS703で取得したセッションID及びイベントIDを含むレコードを、テーブルB5に追加する(S708)。S708の処理が実行されると、S602の処理が実行される。   When S704 is executed, the control unit 141 refers to the table B5 stored in the storage unit 142, and determines whether there is a record including the session ID acquired in S703 (S705). When there is no record including the session ID acquired in S703 in the table B5 (S705: NO), the time value (Tij) and probability value (Pij) acquired in S704, and the session ID and event ID acquired in S703 are displayed. The included record is added to the table B5 (S708). When the process of S708 is executed, the process of S602 is executed.

テーブルB5に、S703で取得したセッションIDを含むレコードが存在する場合(S705:NO)、取得したセッションIDを含むレコードを、S704で取得した時間値(Tij)及び確率値(Pij)、並びにS703で取得したイベントIDを含むレコードに更新する(S706)。S706の処理が実行されると、S602の処理が実行される。   When a record including the session ID acquired in S703 exists in the table B5 (S705: NO), the record including the acquired session ID includes the time value (Tij) and the probability value (Pij) acquired in S704, and S703. The record is updated to the record including the event ID acquired in (S706). When the process of S706 is executed, the process of S602 is executed.

S705、S706、S707の処理は、付加的なフローであり、これにより統計の精度の向上を図ることができる。   The processing of S705, S706, and S707 is an additional flow, which can improve the accuracy of statistics.

S606が実行される(S801)と、制御手段141は、その時点における時刻(H0)を示す情報を取得する(S802)。また、記憶手段142に格納されるテーブルB5のレコードの数は、時刻(H0)においてsであるとする。   When S606 is executed (S801), the control unit 141 acquires information indicating the time (H0) at that time (S802). Further, the number of records in the table B5 stored in the storage unit 142 is assumed to be s at time (H0).

次に、制御手段141は、記憶手段142のテーブルB5のそれぞれのレコードについて(1〜sの整数rについて)、時間値(Tij)と受信時刻(Hk)を読み出す(S806)。算出手段144は、制御手段141が読み出した時間値(Tij)と、受信時刻(Hk)と、時刻(H0)とに基づいて、Ur=Tij−(H0−Hk)という数式を満たす時間値(Ur)に相当する値を算出する(S807)。   Next, the control unit 141 reads the time value (Tij) and the reception time (Hk) for each record in the table B5 of the storage unit 142 (for an integer r of 1 to s) (S806). Based on the time value (Tij) read out by the control unit 141, the reception time (Hk), and the time (H0), the calculation unit 144 satisfies the time value (Ur = Tij− (H0−Hk)). A value corresponding to (Ur) is calculated (S807).

制御手段141は、記憶手段142に格納されたテーブルB6に示す時間範囲を参照して、算出した時間値(Us)を含む時間範囲の時間範囲ID(R)を読み出す(S808)。制御手段141は、読み出した時間範囲(R)をテーブルB5の各レコードに格納する(S809)。S804からS809までのフローが1〜sの整数rについて繰り返し実行される。   The control unit 141 reads the time range ID (R) of the time range including the calculated time value (Us) with reference to the time range shown in the table B6 stored in the storage unit 142 (S808). The control unit 141 stores the read time range (R) in each record of the table B5 (S809). The flow from S804 to S809 is repeatedly executed for an integer r of 1 to s.

次に、制御手段142は、記憶手段142に格納されたテーブルB5の各レコードについて(1〜sの整数rについて)、確率値(Pij)と時間範囲(Rq)を読み出す(S813)。集計手段145は、制御手段141が読み出した時間範囲(Rq)に対応する統計値(Psumq)に、制御手段141が読み出した確率値(Pij)を加える処理を行なう(SPsumq)。S811からS814までのフローが、1〜sの整数rについて繰り返し実行される。   Next, the control unit 142 reads the probability value (Pij) and the time range (Rq) for each record of the table B5 stored in the storage unit 142 (for the integer r of 1 to s) (S813). The aggregation unit 145 performs a process of adding the probability value (Pij) read by the control unit 141 to the statistical value (Psumq) corresponding to the time range (Rq) read by the control unit 141 (SPsumq). The flow from S811 to S814 is repeatedly executed for the integer r of 1 to s.

次に、整数rを再度0とし(S810)、整数rに1を加え(S811)、整数rと整数sとの大小を比較し(S812)、整数rが整数sよりも大きい場合(S812:NO)は、S815の処理が実行される。   Next, the integer r is set to 0 again (S810), 1 is added to the integer r (S811), the magnitudes of the integer r and the integer s are compared (S812), and the integer r is greater than the integer s (S812: If NO), the process of S815 is executed.

整数rが整数s以下の数である場合(S812:YES)は、制御手段121が、記憶手段142に格納されたテーブルB5のr番目のレコードから、確率値(Pij)と時間範囲ID(Rq)を読み出す(S813)。読み出した時間範囲ID(Rq)に対応する合計値(Psumq)に読み出した確率値(Pij)を加算する(S814)。   When the integer r is a number equal to or less than the integer s (S812: YES), the control unit 121 determines the probability value (Pij) and the time range ID (Rq) from the r-th record in the table B5 stored in the storage unit 142. ) Is read (S813). The read probability value (Pij) is added to the total value (Psumq) corresponding to the read time range ID (Rq) (S814).

次に、判定手段146は、1〜pの整数qについての合計値(Psumq)と、処理装置2a〜2eの稼働状況とに応じて、処理装置2a〜2eへの指示内容を決定し(S815)、生成手段147は、判定手段146が決定した指示内容に応じて、処理装置に送信する指示データを生成する(S816)。S816が実行されると、S602の処理が実行される(S817)。   Next, the determination unit 146 determines the instruction content to the processing devices 2a to 2e according to the total value (Psumq) for the integer q of 1 to p and the operating status of the processing devices 2a to 2e (S815). The generation unit 147 generates instruction data to be transmitted to the processing device according to the instruction content determined by the determination unit 146 (S816). When S816 is executed, the process of S602 is executed (S817).

S815で判定手段146が実行する判断の例を、図24を用いて説明する。図24において、1台の処理装置で処理可能な処理量をMとする。   An example of the determination performed by the determination unit 146 in S815 will be described with reference to FIG. In FIG. 24, let M be the processing amount that can be processed by one processing apparatus.

例えば、処理装置2a〜2eのうち、時刻(H0)の時点で2台の処理装置が稼働中であり、2台の処理装置が稼動状態になるまでに30秒かかるスタンバイ状態であり、1台の処理装置が稼動状態になるまでに60秒かかる休止状態であるとする。   For example, among the processing devices 2a to 2e, two processing devices are operating at the time (H0), and the standby processing takes 30 seconds until the two processing devices are in an operating state. Suppose that it is in a dormant state that takes 60 seconds for the processing device to become operational.

その場合、図23に示す統計・指示フローによって算出した合計値(Psum)が図24に示す通りだとすると、例えば、30〜60秒後に3台以上の処理装置が必要とされることが予想されるため、スタンバイ状態の2台の処理装置への稼動指示を生成するなどの対応が考えられる。さらに、60から90秒後に4台以上の処理装置が必要とされることが見込まれるため、スタンバイ状態の処理装置への稼動指示とほぼ同じタイミングで休止状態の処理装置への稼動指示を生成するなどの対応が考えられる。   In this case, assuming that the total value (Psum) calculated by the statistics / instruction flow shown in FIG. 23 is as shown in FIG. 24, it is expected that, for example, three or more processing devices are required after 30 to 60 seconds. For this reason, it is possible to take measures such as generating operation instructions for the two processing devices in the standby state. Furthermore, since it is expected that four or more processing devices will be required after 60 to 90 seconds, an operation instruction is generated for the processing device in the idle state at almost the same timing as the operation instruction to the processing device in the standby state. The correspondence such as is considered.

上述の合計値(Psum)に基づく判断の説明はあくまで例示であり、処理量の見込みに応じて他の判断を行いうる。   The above description of the determination based on the total value (Psum) is merely an example, and other determinations can be made according to the likelihood of the processing amount.

上述の第1の実施形態によれば、処理装置が実行するソースコード(C1)に規定された内容と、処理装置から受信するイベント通知とに基づいて、処理量を見込むことができる。
[第2の実施形態]
第2の実施形態では、テスト運用期間を設け、テスト運用期間に管理装置1が受信したイベント通知を集計した結果に基づいて、イベント間の時間値(Tij)と確率(Pij)とを定める。
According to the first embodiment described above, the processing amount can be estimated based on the contents defined in the source code (C1) executed by the processing device and the event notification received from the processing device.
[Second Embodiment]
In the second embodiment, a test operation period is provided, and a time value (Tij) and a probability (Pij) between events are determined based on a result of totaling event notifications received by the management apparatus 1 during the test operation period.

第2の実施形態の解析手段12と記憶手段13とのそれぞれは、第1の実施形態と同様の機能ブロックであれば良い。   Each of the analysis unit 12 and the storage unit 13 of the second embodiment may be a functional block similar to that of the first embodiment.

図25に、第2の実施形態における指示手段14の機能ブロックを示す。第2の実施形態における指示手段14は、第1の実施形態の指示手段14に、集計手段148を加えた構成である。集計手段148は、イベント通知を集計し、集計結果に基づいてテーブルB2を作成し、記憶手段122に格納する。イベント通知の集計処理を図26に示すテーブルB10と、図27に示すフローを用いて説明する。   FIG. 25 shows a functional block of the instruction unit 14 in the second embodiment. The instruction unit 14 in the second embodiment has a configuration in which a totaling unit 148 is added to the instruction unit 14 of the first embodiment. The counting unit 148 totals the event notification, creates a table B2 based on the counting result, and stores it in the storage unit 122. The event notification aggregation processing will be described with reference to the table B10 shown in FIG. 26 and the flow shown in FIG.

記憶手段142は、図26に示すテーブルB10をさらに格納する。テーブルB10は、イベントID(Ei)毎にレコードを有し、イベントID、遷移前状態(Sb)、遷移後状態(Sa)、該当回数、発生回数、時間累積値、平均時間、平均確率のフィールドを有する。図25のテーブルB10の該当回数、発生回数、時間累積値、平均時間、平均確率のフィールドに格納されている値は、テスト期間におけるイベント通知の集計結果の例である。   The storage unit 142 further stores a table B10 shown in FIG. The table B10 has a record for each event ID (Ei), and includes fields for event ID, pre-transition state (Sb), post-transition state (Sa), number of occurrences, number of occurrences, time accumulation value, average time, and average probability. Have The values stored in the fields of the number of occurrences, the number of occurrences, the time accumulation value, the average time, and the average probability in the table B10 of FIG.

イベントID、遷移前状態(Sb)、遷移後状態(Sa)のフィールドについては、図7のB2と同じ内容の情報を格納する。該当回数は、テスト期間内に、同じレコードに格納されている遷移前状態(Sb)に至った回数を示す。発生回数は、テスト期間内に、同じレコードに格納されているイベントIDが示すイベントが発生した回数を示す。時間累積値は、各イベントが発生するまでに、そのイベントに対応する遷移前状態(Sb)が保持された時間をイベント発生のたびに累積した値を示す。   In the event ID, pre-transition state (Sb), and post-transition state (Sa) fields, information having the same contents as B2 in FIG. 7 is stored. The number of hits indicates the number of times that the pre-transition state (Sb) stored in the same record is reached within the test period. The number of occurrences indicates the number of times the event indicated by the event ID stored in the same record has occurred within the test period. The time accumulated value indicates a value obtained by accumulating the time during which the pre-transition state (Sb) corresponding to the event is held before each event occurs, every time the event occurs.

時間累積値をイベント発生回数で割った値を平均時間とし、イベントが発生するまでに遷移前状態(Sb)が保持された期間の平均を示す指標として用いる。さらに、イベント発生回数をSb該当回数で割った値を平均確率とし、遷移前状態(Sb)からイベントが発生する確率として用いる。   A value obtained by dividing the accumulated time value by the number of event occurrences is used as an average time, and is used as an index indicating an average of a period in which the pre-transition state (Sb) is held until the event occurs. Further, a value obtained by dividing the number of event occurrences by the number of corresponding Sb is used as an average probability, and is used as a probability that an event will occur from the state before transition (Sb).

図27は、図26に示すテーブルB10に基づいて平均時間と平均確率を算出するフローを示す。平均時間と平均確率は、図22のフローでS705の処理とS706の処理との間に図27に示すフローを実行することにより、算出される。   FIG. 27 shows a flow for calculating the average time and average probability based on the table B10 shown in FIG. The average time and average probability are calculated by executing the flow shown in FIG. 27 between the processing of S705 and the processing of S706 in the flow of FIG.

まず、テスト運用を開始する前に、テーブルB10のイベントID、遷移前状態(Sb)、遷移後状態(Sa)のフィールドに、テーブルB2の情報をコピーしておく。さらに、各レコードの該当回数のフィールドに1を格納しておく。   First, before starting the test operation, the information of the table B2 is copied to the event ID, pre-transition state (Sb), and post-transition state (Sa) fields of the table B10. Furthermore, 1 is stored in the field of the number of times of each record.

S705でYESと判定された場合(S901)、制御手段141は、イベント通知に含まれるセッションIDと同じセッションIDを含むレコードをテーブルB5から読出し、読み出したテーブルから受信時刻(Hk)を抽出する(S902)。   When it is determined YES in S705 (S901), the control unit 141 reads a record including the same session ID as the session ID included in the event notification from the table B5, and extracts the reception time (Hk) from the read table ( S902).

次に、集計手段148は、イベント通知に含まれる受信時刻と、S902で抽出した受信時刻(Hk)との差を算出する(S903)。集計手段148は、S903で算出した差を、テーブルB10に含まれるレコードであって、イベント通知と同じIDを含むレコードの累積時間値に加算する(S904)。   Next, the counting unit 148 calculates the difference between the reception time included in the event notification and the reception time (Hk) extracted in S902 (S903). The counting unit 148 adds the difference calculated in S903 to the accumulated time value of the record included in the table B10 and including the same ID as the event notification (S904).

さらに、集計手段148は、テーブルB10のレコードのうち、イベント通知とイベントIDが一致するレコード(S904で更新したレコード)の発生回数フィールドに1加算する(S905)。S905の処理後、集計手段148は、イベント通知とイベントIDが一致するレコードの発生回数を、そのレコードの該当回数で割り算し、算出した値を平均確率フィールドに格納する(S906)。さらに、集計手段148は、そのレコードの累積時間値を発生回数で割り算し、算出した値を平均時間のフィールドに格納する(S907)。   Further, the counting unit 148 adds 1 to the occurrence number field of the record (updated in S904) that matches the event notification and the event ID among the records in the table B10 (S905). After the processing of S905, the counting unit 148 divides the number of occurrences of the record having the event notification and the event ID matching by the number of times corresponding to the record, and stores the calculated value in the average probability field (S906). Further, the counting unit 148 divides the cumulative time value of the record by the number of occurrences, and stores the calculated value in the average time field (S907).

集計手段148は、S904〜S907で値を更新したレコードの遷移後状態(Sa)を読み出し、読み出した状態を遷移前状態(Sb)として含むレコードをテーブルB10から読み出す。集計手段148は、読み出したレコードのそれぞれの該当回数フィールドの値に1ずつ加算する(S908)。S908の処理後、S706の処理が実行される(S909)。   The aggregation unit 148 reads the post-transition state (Sa) of the record whose value has been updated in S904 to S907, and reads the record including the read state as the pre-transition state (Sb) from the table B10. The counting unit 148 adds 1 to the value of the corresponding number of times field of each read record (S908). After step S908, step S706 is executed (S909).

管理装置1がテスト運用期間中に上述のフローを実行した後、集計手段148は、テーブルB10の各レコードに格納した平均時間をテーブルB2の保持時間(Ti)に格納し、テーブルB10の各レコードに格納した平均確率をテーブルB2の確率(Pi)に格納する。その後は、解析手段12が、テーブルB2に格納した保持時間(Ti)と確率(Pi)とに基づいて、第1の実施形態と同様の手順で時間値(Tij)と確率値(Pij)を算出する。   After the management apparatus 1 executes the above-described flow during the test operation period, the aggregation unit 148 stores the average time stored in each record of the table B10 in the holding time (Ti) of the table B2, and stores each record in the table B10. Is stored in the probability (Pi) of the table B2. Thereafter, the analysis means 12 calculates the time value (Tij) and the probability value (Pij) in the same procedure as in the first embodiment based on the holding time (Ti) and the probability (Pi) stored in the table B2. calculate.

第2の実施形態のように、プログラムを解析した結果のみでなく、運用時のイベント通知の統計を利用することで、処理装置群にアクセスするクライアントの傾向を、処理量の予測に反映させることが出来る。   As in the second embodiment, not only the result of analyzing the program but also the statistics of event notification during operation are used to reflect the tendency of clients accessing the processing device group in the prediction of the processing amount. I can do it.

この集計手段148が行う処理は、図14に示す装置によって実現可能である。プロセッサ1aが、メモリ1b又は記憶装置1dにテーブルB2、テーブルB5、テーブルB10を格納し、テーブルB2、テーブルB5、テーブルB10に格納された情報を読み出し、読み出した情報にプログラムに従った演算を行い、テーブルB2、テーブルB10に情報を格納するなどにより集計手段148が行なう処理を実現する。   The processing performed by the counting unit 148 can be realized by the apparatus shown in FIG. The processor 1a stores the table B2, the table B5, and the table B10 in the memory 1b or the storage device 1d, reads the information stored in the table B2, the table B5, and the table B10, and performs an operation according to the program on the read information. The processing performed by the counting means 148 is realized by storing information in the tables B2 and B10.

また、予めイベント間の時間値(Tij)と確率値(Pij)とを設定して運用し、運用中に受信したイベント通知の集計結果に基づいて時間値(Tij)と確率値(Pij)とが更新されるようにしても良い。実施形態を運用する期間中にイベント間の時間と確率とが変化する場合も、時間値(Tij)と確率値(Pij)を更新することで、見積もりの精度向上が見込まれる。   Further, the time value (Tij) and the probability value (Pij) between events are set and operated in advance, and the time value (Tij) and the probability value (Pij) are determined based on the total result of the event notification received during the operation. May be updated. Even when the time and probability between events change during the period in which the embodiment is operated, the accuracy of estimation is expected to be improved by updating the time value (Tij) and the probability value (Pij).

本発明の実施は、上述の実施形態のみにかぎらず、その他の実施形態をとりうる。   The embodiment of the present invention is not limited to the above-described embodiment, and may take other embodiments.

1 管理装置
2a〜2e 処理装置
3a〜3e 記憶装置
4 負荷分散装置
5,6 ネットワーク
7 端末装置
11 通信手段
12 解析手段
13 記憶手段
14 指示手段
121 制御手段
122 記憶手段
123 抽出手段
124 生成手段
125 算出手段
141 制御手段
142 記憶手段
143 生成手段
144 算出手段
145 集計手段
146 判定手段
147 生成手段
1a プロセッサ
1b メモリ
1c 通信インターフェース
1d 記憶装置
1e バス
148 集計手段

DESCRIPTION OF SYMBOLS 1 Management apparatus 2a-2e Processing apparatus 3a-3e Storage apparatus 4 Load distribution apparatus 5,6 Network 7 Terminal apparatus 11 Communication means 12 Analysis means 13 Storage means 14 Instruction means 121 Control means 122 Storage means 123 Extraction means 124 Generation means 125 Calculation Means 141 Control means 142 Storage means 143 Generation means 144 Calculation means 145 Aggregation means 146 Determination means 147 Generation means 1a Processor 1b Memory 1c Communication interface 1d Storage device 1e Bus 148 Aggregation means

Claims (14)

要求に応じて実行される複数種類の処理を規定したソースコードに規定された前記複数種類の処理の処理間の順序関係に基づいて、前記複数種類の処理のうちの第1の処理を実行してから前記複数種類の処理のうちの第2の処理を実行するまでの予測時間および前記第1の処理を実行した後に前記第2の処理を実行する確率を算出し、
前記第1の処理の実行に併せて前記第1の処理を識別する識別子の通知を行なうことを規定した通知コードを前記ソースコードに追加し、
前記識別子に、算出した前記予測時間及び前記確率を関連付けて記憶手段に記憶し、
前記通知コードを追加したソースコードに基づいて行われた前記識別子の通知の取得によって前記第1の処理が実行されたことを検知し、
前記第1の処理が実行されたことを検知した場合に、前記通知に含まれる前記識別子と同一の識別子に関連付けられて前記記憶手段に記憶した前記予測時間と前記確率を読み出し、
前記第2の処理が、読み出した前記予測時間後に、読み出した前記確率で実行されることを予測すること
をコンピュータに実行させることを特徴とする予測プログラム。
Based on an order relationship between the processes of the plurality of types of processes defined in the source code that defines a plurality of types of processes executed in response to the request, the first process of the plurality of types of processes is executed. A predicted time until the execution of the second process among the plurality of types of processes and the probability of executing the second process after executing the first process ,
In addition to the execution of the first process, a notification code that specifies notification of an identifier for identifying the first process is added to the source code,
Storing the calculated predicted time and the probability in the storage unit in association with the identifier;
Detecting that the first process has been executed by obtaining the notification of the identifier performed based on the source code to which the notification code is added;
When it is detected that the first process has been executed, the prediction time and the probability stored in the storage unit associated with the same identifier as the identifier included in the notification are read out,
A prediction program for causing a computer to predict that the second process is executed with the read probability after the read prediction time .
前記コンピュータに、In the computer,
前記ソースコードを、前記ソースコードに基づく処理を行なう処理装置から取得し、Obtaining the source code from a processing device that performs processing based on the source code;
取得したソースコードに基づいて、前記予測時間を算出することCalculate the predicted time based on the obtained source code.
を実行させることを特徴とする請求項1に記載の予測プログラム。The prediction program according to claim 1, wherein:
前記コンピュータに、In the computer,
前記第2の処理が実行されることの予測結果に応じて、前記ソースコードに基づいて処理を実行可能であり、待機中である処理装置に、稼動指示を出力することAccording to a prediction result that the second process is executed, the process can be executed based on the source code, and an operation instruction is output to a waiting processing apparatus.
を実行させることを特徴とする請求項1又は請求項2に記載の予測プログラム。The prediction program according to claim 1, wherein the prediction program is executed.
前記コンピュータに、In the computer,
前記第2の処理が実行されることの予測結果に応じて、前記ソースコードに基づいて処理を実行可能であり、稼働中である処理装置に、待機指示を出力することAccording to the prediction result that the second process is executed, the process can be executed based on the source code, and a standby instruction is output to a processing apparatus that is in operation.
を実行させることを特徴とする請求項1〜請求項3のいずれかに記載の予測プログラム。The prediction program according to claim 1, wherein the prediction program is executed.
前記コンピュータに、In the computer,
前記通知を複数取得した場合に、通知を取得してから前記予測時間経過した時刻が所定の時刻範囲に含まれる通知のそれぞれについて、それぞれの通知に含まれる前記識別子に関連付けて前記記憶手段に記憶した確率を読み出し、When a plurality of notifications are acquired, each of notifications in which the estimated time has elapsed since the notification was acquired is included in a predetermined time range, and stored in the storage unit in association with the identifier included in each notification. Read the probability
読み出した確率を合算した確率で、前記所定の時刻範囲に前記第2の処理が実行されることを予測することPredicting that the second process is executed in the predetermined time range with the probability of adding the read probabilities
を実行させることを特徴とする請求項1〜請求項4に記載の予測プログラム。The prediction program according to claim 1, wherein the prediction program is executed.
前記コンピュータに、In the computer,
前記複数種類の処理のそれぞれを識別する識別子の通知を、それぞれの処理の実行に併せて行なうことを規定したコードを前記ソースコードに追加し、Adding to the source code a code specifying that notification of an identifier for identifying each of the plurality of types of processing is performed in conjunction with execution of each processing;
前記複数種類の処理のそれぞれについて、それぞれの処理を実行してから前記第2の処理を実行するまでの予測時間と、それぞれの処理を実行した後に前記第2の処理を実行する確率とを算出し、For each of the plurality of types of processes, the estimated time from the execution of each process to the execution of the second process and the probability of executing the second process after executing each process are calculated. And
算出したそれぞれの処理についての予測時間及び確率を、それぞれの処理を識別する識別子に関連付けて記憶手段に記憶することStoring the calculated predicted time and probability for each process in the storage means in association with an identifier for identifying each process.
を実行させることを特徴とする請求項1〜請求項5に記載の予測プログラム。The prediction program according to claim 1, wherein the prediction program is executed.
前記通知は、さらに、前記通知に含まれる識別子が識別する処理を要求したアクセスを識別するアクセス識別子を含み、The notification further includes an access identifier that identifies an access that has requested a process identified by the identifier included in the notification;
前記コンピュータに、In the computer,
前記通知に含まれるアクセス識別子に、前記通知に含まれる識別子と、前記通知に含まれる識別子に関連付けて前記記憶手段に記憶した前記予測時間及び前記確率とを関連付けて第2の記憶手段に記憶し、The access identifier included in the notification is stored in the second storage unit in association with the identifier included in the notification and the predicted time and the probability stored in the storage unit in association with the identifier included in the notification. ,
前記第2の記憶手段に記憶した予測時間及び確率に、同じアクセス識別子に関連付けられた予測時間及び確率が複数存在する場合は、最後に取得した通知に含まれるアクセス識別子に関連付けられた予測時間及び確率に、複数存在する予測時間及び確率を集約し、In the case where there are a plurality of prediction times and probabilities associated with the same access identifier in the prediction times and probabilities stored in the second storage means, the prediction time associated with the access identifier included in the last acquired notification and Aggregate multiple prediction times and probabilities into probabilities,
前記第2の記憶手段に記憶した前記予測時間及び前記確率に基づいて、前記第2の処理が実行されることを予測することPredicting that the second process is executed based on the prediction time and the probability stored in the second storage unit.
を実行させることを特徴とする請求項1〜請求項6のいずれかに記載の予測プログラム。The prediction program according to claim 1, wherein the prediction program is executed.
前記コンピュータに、In the computer,
前記第2の記憶手段に記憶した予測時間及び確率に、同じアクセス識別子に関連付けられた予測時間及び確率が複数存在する場合に、同じ識別子に関連付けられた予測時間同士の差と、同じ識別子に関連付けられた前記確率のうち先に取得した通知に含まれる確率とを第3の記憶手段に記憶し、When there are a plurality of prediction times and probabilities associated with the same access identifier in the prediction times and probabilities stored in the second storage means, the difference between the prediction times associated with the same identifier and the association with the same identifier Storing the probability included in the notification acquired earlier in the third storage means,
前記第3の記憶手段に記憶した前記時間値同士の差に基づいて、前記複数種類の処理のそれぞれについて、それぞれの処理が実行されてから前記複数種類の処理のうちの他の処理が実行されるまでの時間の平均を算出し、Based on the difference between the time values stored in the third storage means, each of the plurality of types of processing is executed, and then another processing of the plurality of types of processing is executed. Calculate the average time to
前記第3の記憶手段に記憶した確率に基づいて、前記複数種類の処理のそれぞれについて、それぞれの処理が実行された後に前記複数種類の処理のうちの他の処理が実行される遷移確率を算出し、Based on the probabilities stored in the third storage means, for each of the plurality of types of processing, a transition probability in which another processing among the plurality of types of processing is executed after each processing is executed is calculated. And
前記時間値を、算出した前記平均に更新し、前記確率を、算出した前記遷移確率に更新することUpdating the time value to the calculated average and updating the probability to the calculated transition probability.
を実行させることを特徴とする請求項7に記載の予測プログラム。The prediction program according to claim 7, wherein:
前記予測時間を、前記第1の処理を実行してから前記第2の処理を実行するまでの間に実行する処理の数に応じて算出することThe predicted time is calculated according to the number of processes to be executed between the execution of the first process and the execution of the second process.
を特徴とする請求項1〜請求項8のいずれかに記載の予測プログラム。The prediction program according to claim 1, wherein:
前記予測時間を、前記ソースコードの作成に関する設計情報に基づいて前記予測時間を算出することCalculating the predicted time based on design information related to creation of the source code.
を特徴とする請求項1〜8のいずれかに記載の予測プログラム。The prediction program according to claim 1, wherein:
前記確率を、前記第1の処理を実行してから前記第2の処理を実行するまでの間に実行する処理の数と、前記第1の処理を実行してから前記第2の処理を実行するまでの間に実行する処理のそれぞれについて前記ソースコードに規定された分岐の数に応じて算出することThe probability is the number of processes executed between the execution of the first process and the execution of the second process, and the execution of the second process after the execution of the first process. For each of the processes to be executed in accordance with the number of branches defined in the source code
を特徴とする請求項1〜請求項10のいずれかに記載の予測プログラム。The prediction program according to claim 1, wherein:
要求に応じて実行される複数種類の処理を規定したソースコードに規定された前記複数種類の処理の処理間の順序関係に基づいて、前記複数種類の処理のうちの第1の処理を実行してから前記複数種類の処理のうちの第2の処理を実行するまでの予測時間および前記第1の処理を実行した後に前記第2の処理を実行する確率を算出し、Based on an order relationship between the processes of the plurality of types of processes defined in the source code that defines a plurality of types of processes executed in response to the request, the first process of the plurality of types of processes is executed. A predicted time until the execution of the second process among the plurality of types of processes and the probability of executing the second process after executing the first process,
前記第1の処理の実行に併せて前記第1の処理を識別する識別子の通知を行なうことを規定した通知コードを前記ソースコードに追加し、In addition to the execution of the first process, a notification code that specifies notification of an identifier for identifying the first process is added to the source code,
前記識別子に、算出した前記予測時間及び前記確率を関連付けて記憶手段に記憶し、Storing the calculated predicted time and the probability in the storage unit in association with the identifier;
前記通知コードを追加したソースコードに基づいて行われた前記識別子の通知の取得によって前記第1の処理が実行されたことを検知し、Detecting that the first process has been executed by obtaining the notification of the identifier performed based on the source code to which the notification code is added;
前記第1の処理が実行されたことを検知した場合に、前記通知に含まれる前記識別子と同一の識別子に関連付けられて前記記憶手段に記憶した前記予測時間と前記確率を読み出し、When it is detected that the first process has been executed, the prediction time and the probability stored in the storage unit associated with the same identifier as the identifier included in the notification are read out,
前記第2の処理が、読み出した前記予測時間後に、読み出した前記確率で実行されることを予測することPredicting that the second process is executed with the read probability after the read prediction time.
を含むことを特徴とする予測方法。The prediction method characterized by including.
要求に応じて実行される複数種類の処理を規定したソースコードに規定された前記複数種類の処理の処理間の順序関係に基づいて、前記複数種類の処理のうちの第1の処理を実行してから前記複数種類の処理のうちの第2の処理を実行するまでの予測時間および前記第1の処理を実行した後に前記第2の処理を実行する確率を算出する算出手段と、Based on an order relationship between the processes of the plurality of types of processes defined in the source code that defines a plurality of types of processes executed in response to the request, the first process of the plurality of types of processes is executed. Calculating means for calculating a predicted time until execution of the second process among the plurality of types of processes and a probability of executing the second process after executing the first process;
前記第1の処理の実行に併せて前記第1の処理を識別する識別子の通知を行なうことを規定した通知コードを前記ソースコードに追加する追加手段と、Adding means for adding to the source code a notification code that prescribes notification of an identifier for identifying the first process in conjunction with the execution of the first process;
前記識別子に、算出した前記予測時間及び前記確率を関連付けて記憶する記憶手段と、Storage means for storing the calculated predicted time and the probability in association with the identifier,
前記通知コードを追加したソースコードに基づいて行われた前記識別子の通知の取得によって前記第1の処理が実行されたことを検知する検知手段と、Detecting means for detecting that the first process has been executed by acquiring the notification of the identifier performed based on the source code to which the notification code is added;
前記第1の処理が実行されたことを検知した場合に、前記通知に含まれる前記識別子と同一の識別子に関連付けられて前記記憶手段に記憶した前記予測時間と前記確率を読み出す読み出し手段と、A reading means for reading out the predicted time and the probability stored in the storage means in association with the same identifier as the identifier included in the notification when it is detected that the first process has been executed;
前記第2の処理が、読み出した前記予測時間後に、読み出した前記確率で実行されることを予測する予測手段とPrediction means for predicting that the second process is executed with the read probability after the read prediction time;
を含むことを特徴とする予測装置。The prediction apparatus characterized by including.
稼働中の第1の装置及び待機中の第2の装置、並びに前記第1の装置及び前記第2の装置と通信可能な第3の装置からなる予測システムであって、A prediction system comprising a first device in operation and a second device in standby, and a third device capable of communicating with the first device and the second device,
前記第3の装置は、The third device includes:
前記第1の装置上で要求に応じて実行される複数種類の処理を規定したソースコードに規定された前記複数種類の処理の処理間の順序関係に基づいて、前記複数種類の処理のうちの第1の処理を実行してから前記複数種類の処理のうちの第2の処理を実行するまでの予測時間および前記第1の処理を実行した後に前記第2の処理を実行する確率を算出する算出手段と、Based on the order relationship between the processes of the plurality of types of processes defined in the source code that defines a plurality of types of processes to be executed in response to the request on the first device, The predicted time from the execution of the first process to the execution of the second process among the plurality of types of processes and the probability of executing the second process after the execution of the first process are calculated. A calculation means;
前記第1の処理の実行に併せて前記第1の処理を識別する識別子の通知を行なうことを規定した通知コードを前記ソースコードに追加する追加手段と、Adding means for adding to the source code a notification code that prescribes notification of an identifier for identifying the first process in conjunction with the execution of the first process;
前記識別子に、算出した前記予測時間及び前記確率を関連付けて記憶する記憶手段と、Storage means for storing the calculated predicted time and the probability in association with the identifier,
前記通知コードを追加したソースコードに基づいて行われた前記識別子の通知の取得によって前記第1の処理が実行されたことを検知する検知手段と、Detecting means for detecting that the first process has been executed by acquiring the notification of the identifier performed based on the source code to which the notification code is added;
前記第1の処理が実行されたことを検知した場合に、前記通知に含まれる前記識別子と同一の識別子に関連付けられて前記記憶手段に記憶した前記予測時間と前記確率を読み出す読み出し手段と、A reading means for reading out the predicted time and the probability stored in the storage means in association with the same identifier as the identifier included in the notification when it is detected that the first process has been executed;
前記第2の処理が、読み出した前記予測時間後に、読み出した前記確率で実行されることを予測する予測手段とPrediction means for predicting that the second process is executed with the read probability after the read prediction time;
前記予測手段の予測結果に応じて、前記第2の装置に稼動指示を出力する出力手段とOutput means for outputting an operation instruction to the second device in accordance with a prediction result of the prediction means;
を含むことを特徴とする予測システム。The prediction system characterized by including.
JP2010176023A 2010-08-05 2010-08-05 Prediction device, prediction method, and prediction program Active JP5565181B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010176023A JP5565181B2 (en) 2010-08-05 2010-08-05 Prediction device, prediction method, and prediction program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010176023A JP5565181B2 (en) 2010-08-05 2010-08-05 Prediction device, prediction method, and prediction program

Publications (2)

Publication Number Publication Date
JP2012038001A JP2012038001A (en) 2012-02-23
JP5565181B2 true JP5565181B2 (en) 2014-08-06

Family

ID=45849962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010176023A Active JP5565181B2 (en) 2010-08-05 2010-08-05 Prediction device, prediction method, and prediction program

Country Status (1)

Country Link
JP (1) JP5565181B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6269668B2 (en) * 2013-07-03 2018-01-31 日本電気株式会社 Information processing apparatus, request processing method, and computer-readable recording medium
JP6969261B2 (en) * 2017-09-29 2021-11-24 日本電気株式会社 Node management device, node management method and program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265775A (en) * 1992-03-19 1993-10-15 Hitachi Ltd Job execution forecast control method and job execution condition display method
JPH07191861A (en) * 1993-12-27 1995-07-28 Kobe Steel Ltd Schedule preparing device
JPH09218861A (en) * 1996-02-08 1997-08-19 Fuji Xerox Co Ltd Scheduler
JP2002268879A (en) * 2001-03-07 2002-09-20 Mitsubishi Electric Corp Device and method for supporting program design and program for performing program design support method by computer
JP4102695B2 (en) * 2003-03-28 2008-06-18 株式会社日本総合研究所 Batch job management system and batch job management program
JP2005173764A (en) * 2003-12-09 2005-06-30 Fuji Xerox Co Ltd Service processor

Also Published As

Publication number Publication date
JP2012038001A (en) 2012-02-23

Similar Documents

Publication Publication Date Title
US11182213B2 (en) Application program management method and device
JP5479176B2 (en) Server device, peripheral device management method, and program
KR101547721B1 (en) System for assisting with execution of actions in response to detected events, method for assisting with execution of actions in response to detected events, assisting device, and computer program
CN106557407B (en) Method and device for monitoring equipment load
JP2011175357A5 (en) Management device and management program
WO2014039207A1 (en) Power sub-state monitoring and recording
EP4006742A1 (en) Fork processing method and blockchain node
US8208893B1 (en) Performance metrics processing for anticipating unavailability
JP4811830B1 (en) Computer resource control system
WO2014013603A1 (en) Monitoring system and monitoring program
JP2010140134A (en) Virtual machine management method, program, and management server
JP6413537B2 (en) Predictive failure notification device, predictive notification method, predictive notification program
KR20170098289A (en) Energy-efficient wireless data transmission
CN107943846B (en) Data processing method and device and electronic equipment
CN103942197A (en) Data monitoring processing method and device
CN109459635B (en) Virtual reality game equipment fault monitoring method and device
JP5565181B2 (en) Prediction device, prediction method, and prediction program
Ravindra et al. Latency aware elastic switching-based stream processing over compressed data streams
CN104428761A (en) Network congestion reduction
JP5825120B2 (en) Control system, arithmetic processing unit, and log delivery method
CN103383652B (en) The switching method of the multiple operating systems of computer platform
CN102546250B (en) File publishing method and system based on main/standby mechanism
TWI443506B (en) Distributing information
JP6916096B2 (en) Instance utilization promotion system
CN109669814A (en) A kind of restoration methods of Metadata Service, device, equipment and readable storage medium storing program for executing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140312

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140520

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140602

R150 Certificate of patent or registration of utility model

Ref document number: 5565181

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150