JP7415351B2 - Control device and control program - Google Patents

Control device and control program Download PDF

Info

Publication number
JP7415351B2
JP7415351B2 JP2019127717A JP2019127717A JP7415351B2 JP 7415351 B2 JP7415351 B2 JP 7415351B2 JP 2019127717 A JP2019127717 A JP 2019127717A JP 2019127717 A JP2019127717 A JP 2019127717A JP 7415351 B2 JP7415351 B2 JP 7415351B2
Authority
JP
Japan
Prior art keywords
task
processing
processing system
information processing
executed
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
JP2019127717A
Other languages
Japanese (ja)
Other versions
JP2021012643A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2019127717A priority Critical patent/JP7415351B2/en
Publication of JP2021012643A publication Critical patent/JP2021012643A/en
Application granted granted Critical
Publication of JP7415351B2 publication Critical patent/JP7415351B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、制御装置、及び制御プログラムに関する。 The present invention relates to a control device and a control program.

特許文献1には、クライアントからのリクエストを処理可能な複数の仮想マシンと、前記複数の仮想マシンにリクエストを転送する負荷分散装置を少なくとも備える複数の処理環境を管理する管理システムであって、負荷分散装置から、何れの仮想マシンにリクエストを転送させるかを管理する管理手段を有し、前記管理手段は、クライアントからのリクエストを受け付ける装置についての設定が、第1の処理環境の負荷分散装置から前記第1の処理環境とは別の第2の処理環境の装置に変更された際に、前記第1の処理環境の負荷分散装置から前記第2の処理環境の仮想マシンにリクエストを転送させるよう管理し、かつ、前記第1の処理環境の負荷分散装置から前記第1の処理環境の仮想マシンにリクエストを転送させないよう管理することを特徴とする管理システムが開示されている。 Patent Document 1 discloses a management system that manages a plurality of processing environments including at least a plurality of virtual machines capable of processing requests from clients and a load balancing device that transfers requests to the plurality of virtual machines, It has a management means for managing to which virtual machine a request is transferred from the distributed device, and the management means is configured to set the settings for the device that receives requests from the client from the load balancing device of the first processing environment. When the device is changed to a device in a second processing environment different from the first processing environment, a request is transferred from the load balancing device in the first processing environment to the virtual machine in the second processing environment. Disclosed is a management system characterized in that the management system is configured to manage virtual machines in the first processing environment and to prevent requests from being transferred from a load balancer in the first processing environment to a virtual machine in the first processing environment.

特許文献2には、1または複数のアカウントに対応する1または複数の情報処理端末からの指示に応じて処理を実行する複数の情報処理装置を含む情報処理装置群に対して、前記1または複数の情報処理端末から少なくとも1つの情報処理装置を処理実行の対象から除外するリクエストを受け付け、受け付けた前記リクエストに応じて、前記複数の情報処理装置のうち除外対象とする情報処理装置に搭載される処理実行履歴を記憶する記憶部から、前記除外対象とする情報処理装置とは異なる情報処理装置に前記処理実行履歴を複写し、前記処理実行履歴の複写が完了した後、前記除外対象とする情報処理装置を処理実行対象から除外する、処理をコンピュータに実行させることを特徴とするスケールイン処理プログラムが開示されている。 Patent Document 2 discloses that for an information processing device group including a plurality of information processing devices that execute processing in response to instructions from one or more information processing terminals corresponding to one or more accounts, the one or more receives a request from an information processing terminal to exclude at least one information processing device from the target of processing execution, and is installed in the information processing device to be excluded from among the plurality of information processing devices in accordance with the received request. The processing execution history is copied from the storage unit that stores the processing execution history to an information processing device different from the information processing device to be excluded, and after the copying of the processing execution history is completed, the information to be excluded is A scale-in processing program is disclosed that is characterized by causing a computer to execute processing that excludes a processing device from a processing execution target.

特開2018-88114号公報Japanese Patent Application Publication No. 2018-88114 特開2018-73099号公報Japanese Patent Application Publication No. 2018-73099

生活パターンや勤務時間の多様化に伴い、昼夜を問わずユーザからの要求を受け付け、要求されたサービスを提供する情報処理システムの導入が進められている。 With the diversification of lifestyle patterns and working hours, information processing systems that accept requests from users day and night and provide the requested services are being introduced.

こうした情報処理システムでは、例えば機能の向上を目的として情報処理システムの構成が変更されるような場合であっても、構成の変更期間にサービスの提供が停止しないような工夫が行われる。 In such information processing systems, even if the configuration of the information processing system is changed for the purpose of improving functionality, for example, measures are taken to ensure that service provision does not stop during the period of configuration change.

例えば、情報処理システムで変更前の構成と変更後の構成を併存させておき、予め定めた時間以降に受け付けた要求を変更後の構成で処理することで、構成の変更に伴うサービスの停止期間が発生しないようにしている。 For example, by having the configuration before the change and the configuration after the change coexist in the information processing system, and processing requests received after a predetermined time using the changed configuration, the service suspension period due to the configuration change can be improved. We are trying to prevent this from occurring.

しかしながら、情報処理システムで変更前の構成と変更後の構成を併存させた場合、構成の変更後も、利用されなくなった変更前の構成が引き続き情報処理システムのリソースを消費することになる。したがって、構成の変更前よりも情報処理システムを維持するコストが増加してしまうことがあった。 However, when the configuration before the change and the configuration after the change coexist in the information processing system, even after the configuration is changed, the configuration before the change that is no longer used continues to consume resources of the information processing system. Therefore, the cost of maintaining the information processing system may be higher than before the configuration change.

本発明は、要求された処理を実行する情報処理システムの構成の変更に伴い、変更前の構成と変更後の構成を併存させる場合と比較して、構成の変更に伴う情報処理システムのコストを抑制することができる制御装置及び制御プログラムを提供することを目的とする。 The present invention reduces the cost of the information processing system due to the change in configuration compared to the case where the configuration before the change and the configuration after the change coexist when the configuration of the information processing system that executes requested processing is changed. An object of the present invention is to provide a control device and a control program that can suppress the above.

第1態様に係る制御装置は、要求された処理を受け付ける情報処理システムに構築された、構成の変更対象となっている複数の処理環境の各々で、受け付けた処理を実行する少なくとも1つの処理実体が稼働している場合、処理時間に関して予め定めた条件を満たす処理を実行する前記処理実体を特定処理環境に集約した上で、各々の前記処理実体の処理を継続させるように前記情報処理システムを制御する制御部を備える。 The control device according to the first aspect includes at least one processing entity that executes the received processing in each of a plurality of processing environments whose configuration is to be changed, which is built in an information processing system that receives the requested processing. is in operation, the information processing system is configured to aggregate the processing entities that execute processes that satisfy predetermined conditions regarding processing time into a specific processing environment, and then allow each of the processing entities to continue processing. It includes a control section for controlling.

第2態様に係る制御装置は、第1態様に係る制御装置において、前記予め定めた条件が、処理を開始してから終了するまでの処理時間が閾値を超えるという条件に設定される。 In the control device according to the second aspect, in the control device according to the first aspect, the predetermined condition is set such that the processing time from the start to the end of the process exceeds a threshold value.

第3態様に係る制御装置は、第2態様に係る制御装置において、前記制御部は、これまでに実行した実行済み処理の処理時間と前記実行済み処理の処理条件が記録された履歴情報を参照して、要求された処理に対応する前記実行済み処理の前記履歴情報から要求された処理の処理時間を推定し、前記情報処理システムに対して前記処理実体の再配置を指示する制御を行う。 In the control device according to a third aspect, in the control device according to the second aspect, the control unit refers to history information in which processing times of executed processes executed so far and processing conditions of the executed processes are recorded. Then, the processing time of the requested process is estimated from the history information of the executed process corresponding to the requested process, and control is performed to instruct the information processing system to relocate the processing entity.

第4態様に係る制御装置は、第3態様に係る制御装置において、前記履歴情報における処理条件として、前記実行済み処理の要求に伴って受け付けたデータのデータサイズが記録されている場合、前記制御部は、要求された処理に対応する前記実行済み処理におけるデータサイズの処理時間から、要求されたタスクの処理時間を推定する制御を行う。 In the control device according to the third aspect, when a data size of data received in response to a request for the executed process is recorded as a processing condition in the history information, the control device according to the third aspect The unit performs control to estimate the processing time of the requested task from the processing time of the data size in the executed process corresponding to the requested process.

第5態様に係る制御装置は、第3態様または第4態様に係る制御装置において、前記制御部は、要求された処理の処理順序に関する優先度が前記処理実体で実行されている他の処理より低く設定されている場合、推定した処理時間を設定された優先度に応じて延長する制御を行う。 In the control device according to a fifth aspect, in the control device according to the third aspect or the fourth aspect, the control unit has a control unit that prioritizes a requested process in a processing order over other processes being executed in the processing entity. If the setting is low, control is performed to extend the estimated processing time according to the set priority.

第6態様に係る制御装置は、第3態様~第5態様の何れかの態様に係る制御装置において、前記制御部は、実行前の要求に対して推定される処理時間が前記閾値を超える場合、前記実行前の要求を実行する前記処理実体を前記特定処理環境に配置するように前記情報処理システムを制御する。 In the control device according to a sixth aspect, in the control device according to any one of the third to fifth aspects, when the processing time estimated for the request before execution exceeds the threshold value, , controlling the information processing system to place the processing entity that executes the pre-execution request in the specific processing environment.

第7態様に係る制御装置は、第3態様~第6態様の何れかの態様に係る制御装置において、前記制御部は、前記情報処理システムが稼働している期間に、前記情報処理システムに対して前記処理実体の再配置を複数回指示する制御を行う。 In the control device according to a seventh aspect, in the control device according to any one of the third to sixth aspects, the control unit controls the information processing system while the information processing system is in operation. control to instruct relocation of the processing entity multiple times.

第8態様に係る制御装置は、第1態様~第7態様の何れかの態様に係る制御装置において、前記制御部は、前記処理実体での処理の終了に伴い使用されなくなった前記情報処理システムのリソースを順次解放するように前記情報処理システムを制御する。 In the control device according to an eighth aspect, in the control device according to any one of the first to seventh aspects, the control unit is configured to control the information processing system that is no longer used due to the termination of processing in the processing entity. The information processing system is controlled to release resources in sequence.

第9態様に係る制御装置は、第8態様に係る制御装置において、前記制御部は、処理を実行する前記処理実体が存在しなくなった前記処理環境から順に前記処理環境を削除し、最後に前記特定処理環境を削除するように前記情報処理システムを制御する。 In the control device according to a ninth aspect, in the control device according to the eighth aspect, the control unit deletes the processing environment in order from the processing environment in which the processing entity that executes the process no longer exists, and finally deletes the processing environment. The information processing system is controlled to delete the specific processing environment.

第10態様に係る制御プログラムは、コンピュータを、第1態様~第9態様の何れかの態様に係る制御装置の機能部として機能させるためのプログラムである。 The control program according to the tenth aspect is a program for causing a computer to function as a functional unit of the control device according to any one of the first to ninth aspects.

第1態様及び第10態様によれば、要求された処理を実行する情報処理システムの構成の変更に伴い、変更前の構成と変更後の構成を併存させる場合と比較して、構成の変更に伴う情報処理システムのコストを抑制することができる、という効果を有する。 According to the first aspect and the tenth aspect, with a change in the configuration of an information processing system that executes a requested process, compared to a case where the configuration before the change and the configuration after the change coexist, This has the effect that the cost of the accompanying information processing system can be suppressed.

第2態様によれば、処理時間が閾値を超えるような処理を実行する処理実体を、特定処理環境に集約することができる、という効果を有する。 According to the second aspect, there is an effect that processing entities that execute processing whose processing time exceeds a threshold value can be integrated into a specific processing environment.

第3態様によれば、処理時間が不明な処理であったとしても、処理時間が閾値を超えるような処理であるか事前に推定することができる、という効果を有する。 According to the third aspect, even if the processing time is unknown, it is possible to estimate in advance whether the processing time will exceed the threshold value.

第4態様によれば、受け付けた処理の種類のみから処理時間を推定する場合と比較して、処理時間を精度よく推定することができる、という効果を有する。 According to the fourth aspect, there is an effect that the processing time can be estimated more accurately than when estimating the processing time only from the type of accepted processing.

第5態様によれば、要求された処理の優先度によって処理時間を延長しない場合と比較して、処理時間を精度よく推定することができる、という効果を有する。 According to the fifth aspect, there is an effect that the processing time can be estimated more accurately than when the processing time is not extended depending on the priority of the requested processing.

第6態様によれば、要求された処理を情報処理システムで実行する前に、処理時間が閾値を超えるような処理を実行する処理実体を特定処理環境に集約することができる、という効果を有する。 According to the sixth aspect, there is an effect that processing entities that execute processing whose processing time exceeds a threshold value can be aggregated in a specific processing environment before the requested processing is executed by the information processing system. .

第7態様によれば、実際の処理時間に応じて、処理時間が閾値を超えるような処理を実行する処理実体を特定処理環境に集約することができる、という効果を有する。 According to the seventh aspect, there is an effect that processing entities that execute processing whose processing time exceeds a threshold value can be integrated into a specific processing environment according to the actual processing time.

第8態様によれば、処理が終了した後も処理実体が使用したリソースを解放しない場合と比較して、情報処理システムのコストを抑制することができる、という効果を有する。 According to the eighth aspect, there is an effect that the cost of the information processing system can be suppressed compared to a case where the resources used by the processing entity are not released even after the processing ends.

第9態様によれば、処理実体を含まない処理環境を存在させる場合と比較して、情報処理システムのコストを抑制することができる、という効果を有する。 According to the ninth aspect, there is an effect that the cost of the information processing system can be suppressed compared to the case where a processing environment that does not include a processing entity exists.

制御システムのシステム構成例を示す図である。1 is a diagram showing an example of a system configuration of a control system. 情報処理システムの構成例を示す図である。FIG. 1 is a diagram illustrating a configuration example of an information processing system. 第1実施形態及び第2実施形態に係る制御装置の機能構成例を示す図である。FIG. 2 is a diagram showing an example of a functional configuration of a control device according to a first embodiment and a second embodiment. 履歴情報の一例を示す図である。It is a figure showing an example of history information. 制御装置における電気系統の要部構成例を示す図である。FIG. 2 is a diagram showing an example of a main part configuration of an electrical system in a control device. 第1実施形態に係る再配置処理の流れの一例を示すフローチャートである。7 is a flowchart illustrating an example of the flow of relocation processing according to the first embodiment. 再配置処理が実行された場合における情報処理システムの構成の変化例を示す図である。FIG. 6 is a diagram illustrating an example of a change in the configuration of the information processing system when relocation processing is executed. リソースの解放処理の流れの一例を示すフローチャートである。3 is a flowchart illustrating an example of the flow of resource release processing. 第2実施形態に係るノードの配置制御処理における流れの一例を示すフローチャートである。12 is a flowchart illustrating an example of the flow of node placement control processing according to the second embodiment. 第3実施形態に係る制御装置の機能構成例を示す図である。It is a figure showing an example of functional composition of a control device concerning a 3rd embodiment. バージョン情報の一例を示す図である。It is a figure which shows an example of version information. 第3実施形態に係るノードの配置制御処理における流れの一例を示すフローチャートである。12 is a flowchart illustrating an example of the flow of node placement control processing according to the third embodiment.

以下、本実施の形態について図面を参照しながら説明する。なお、機能が同じ構成要素及び処理には全図面を通して同じ符合を付与し、重複する説明を省略する。 The present embodiment will be described below with reference to the drawings. Note that components and processes having the same function are given the same reference numerals throughout the drawings, and redundant explanations are omitted.

<第1実施形態>
図1は、制御システム100のシステム構成例を示す図である。制御システム100は、入力装置10、制御装置20、及び情報処理システム30を含み、それぞれ通信回線2で接続されている。
<First embodiment>
FIG. 1 is a diagram showing an example of a system configuration of a control system 100. The control system 100 includes an input device 10, a control device 20, and an information processing system 30, each of which is connected via a communication line 2.

通信回線2で用いられる通信プロトコルに制約はなく、通信回線2は有線回線であっても無線回線であってもよく、また、有線回線と無線回線が混在した回線であってもよい。更に、通信回線2は専用回線であっても、インターネットのように不特定多数のユーザと回線を共有する公衆回線であってもよい。 There are no restrictions on the communication protocol used in the communication line 2, and the communication line 2 may be a wired line or a wireless line, or may be a line in which a wired line and a wireless line are mixed. Furthermore, the communication line 2 may be a dedicated line or a public line that is shared with an unspecified number of users, such as the Internet.

入力装置10は、情報処理システム30に要求する処理を実行させるための電文を生成する装置であり、情報処理システム30が提供するサービスを利用するユーザによって使用される。ユーザが情報処理システム30に要求する処理の内容に制約はなく、情報処理システム30が提供するサービスに対する処理が要求される。以降では、情報処理システム30に要求する処理を実行させるための電文のことを「リクエスト」という。 The input device 10 is a device that generates a message for causing the information processing system 30 to execute a requested process, and is used by a user who uses a service provided by the information processing system 30. There are no restrictions on the content of the processing that the user requests from the information processing system 30, and the processing for the service provided by the information processing system 30 is requested. Hereinafter, a message for causing the information processing system 30 to execute a requested process will be referred to as a "request."

入力装置10は生成したリクエストを制御装置20に送信する。 The input device 10 transmits the generated request to the control device 20.

制御装置20は、入力装置10からリクエストを受け付けると共に、リクエストによって指定された処理を実行する情報処理システム30に、受け付けたリクエストを送信する中継装置としての役割を備えた装置である。 The control device 20 is a device that has the role of a relay device that receives requests from the input device 10 and transmits the received requests to the information processing system 30 that executes the process specified by the request.

図1では説明の便宜上、通信回線2に1つの情報処理システム30が接続されている例を示しているが、通信回線2に接続される情報処理システム30の数に制約はなく、制御装置20は、リクエストによって指定された情報処理システム30に、受け付けたリクエストを中継するものとする。また、通信回線2に接続される入力装置10の数にも制約はなく、制御装置20は、通信回線2に接続された少なくとも1台の入力装置10からリクエストを受け付ける。 For convenience of explanation, FIG. 1 shows an example in which one information processing system 30 is connected to the communication line 2, but there is no restriction on the number of information processing systems 30 connected to the communication line 2, and the control device 2 shall relay the received request to the information processing system 30 specified by the request. Further, there is no restriction on the number of input devices 10 connected to the communication line 2, and the control device 20 receives requests from at least one input device 10 connected to the communication line 2.

更に、制御装置20は、リクエストによって指示された処理を実行する情報処理システム30の構成を制御する。 Furthermore, the control device 20 controls the configuration of the information processing system 30 that executes the processing instructed by the request.

情報処理システム30は、リクエストによって指示された処理を実行するシステムである。情報処理システム30の実現形態に制約はなく、情報処理システム30を構成する機器を、情報処理システム30を用いてサービスを提供する事業者が有する建物内に設置するオンプレミス形態で実現してもよいが、ここでは一例として、クラウドプロバイダが提供するクラウドサービスを利用して情報処理システム30が実現されているものとする。 The information processing system 30 is a system that executes processing instructed by a request. There are no restrictions on the form in which the information processing system 30 is realized, and the devices configuring the information processing system 30 may be realized in an on-premises form installed in a building owned by a business operator that provides services using the information processing system 30. However, here, as an example, it is assumed that the information processing system 30 is realized using a cloud service provided by a cloud provider.

図2は、情報処理システム30がリクエストによって指示された処理を実行する場合の構成例を示す図である。情報処理システム30の構成とは、リクエストによって指示された処理を実行するために情報処理システム30に構築される実行環境のことであり、具体的には、処理を行うソフトウェア構成のことをいう。 FIG. 2 is a diagram illustrating a configuration example when the information processing system 30 executes processing instructed by a request. The configuration of the information processing system 30 refers to an execution environment built in the information processing system 30 to execute the process instructed by the request, and specifically refers to the software configuration that performs the process.

情報処理システム30が処理を行う場合、まず、クラウドサービスを利用して仮想サーバを生成する。仮想サーバとは、処理を実行する処理環境のことであり、仮想サーバには、例えば処理を実行するCPU(Central Processing Unit)、RAM(Random Access Memory)、及びハードディスクに代表される不揮発性の記憶装置のように、要求された処理を実行するために必要な資源(リソース)が割り当てられている。 When the information processing system 30 performs processing, first, a virtual server is generated using a cloud service. A virtual server is a processing environment that executes processing, and includes, for example, a CPU (Central Processing Unit) that executes processing, RAM (Random Access Memory), and nonvolatile storage represented by a hard disk. Like a device, the resources necessary to perform the requested processing are allocated.

なお、処理の実行に際して、クラウドプロバイダから必ずしも専有的に利用可能な1台のサーバが割り当てられるとは限らない。クラウドプロバイダはサービスを提供する事業者との契約に応じて、1台のサーバを複数の仮想的なサーバに分割した上で、仮想的に分割したサーバを事業者に提供することがある。この仮想的に分割されたサーバの各々は「仮想サーバ」と呼ばれる。以降では、仮想サーバのことを「インスタンス34」ということにする。また、要求された処理のことを「タスク」ということにする。 Note that when executing processing, the cloud provider does not necessarily allocate one server that can be used exclusively. Depending on the contract with the service provider, a cloud provider may divide one server into multiple virtual servers and then provide the virtually divided servers to the service provider. Each of these virtually divided servers is called a "virtual server." Hereinafter, the virtual server will be referred to as "instance 34." Further, the requested processing will be referred to as a "task".

事業者がクラウドプロバイダに対して支払うクラウドサービスの利用料金は、インスタンスの数及び利用時間の少なくとも一方によって設定される。すなわち、要求するインスタンス34の数が多くなるほど、また、インスタンス34の利用時間が長くなるに従って、クラウドプロバイダに支払う利用料金が高くなる。 The cloud service usage fee that a business operator pays to a cloud provider is set based on at least one of the number of instances and usage time. That is, as the number of requested instances 34 increases and as the usage time of the instances 34 increases, the usage fee paid to the cloud provider increases.

図2の例では、第1インスタンス34と第2インスタンス34の2つのインスタンス34が情報処理システム30に存在し、各々のインスタンス34にノード32が配置されている。 In the example of FIG. 2, two instances 34, a first instance 34 and a second instance 34, exist in the information processing system 30, and a node 32 is arranged in each instance 34.

ノード32とは、インスタンス34が有するリソースを使用して、入力装置10から受け付けたリクエストに対応するタスク(以降、「要求されたタスク」という)を予め用意されたプログラムに従って実行する処理実体のことである。ノード32は、何れかのインスタンス34に配置され、配置されたインスタンス34のリソースを使用する。 The node 32 is a processing entity that uses the resources of the instance 34 to execute a task corresponding to a request received from the input device 10 (hereinafter referred to as a "requested task") according to a program prepared in advance. It is. A node 32 is placed in any instance 34 and uses the resources of the placed instance 34.

要求されたタスクの種類毎にノード32で実行されるプログラムが異なることから、説明の便宜上、例えばタスクAを実行するノード32のことをAノード32といい、タスクAとは種類の異なるタスクBを実行するノード32のことをBノード32ということにする。また、実行するタスクの種類を区別して説明する必要がない場合には、単に「ノード32」ということにする。 Since the program executed on the node 32 differs depending on the type of requested task, for convenience of explanation, the node 32 that executes task A will be referred to as the A node 32, and the node 32 that executes task A will be referred to as task B, which is of a different type than task A. The node 32 that executes this will be referred to as the B node 32. In addition, if there is no need to distinguish between the types of tasks to be executed, it will simply be referred to as "node 32."

上述した表現を用いれば、図2は、2つのAノード32と1つのBノード32が配置された第1インスタンス34と、それぞれ1つずつAノード32とBノード32が配置された第2インスタンス34を有する情報処理システム30の状態を表している。 Using the above expression, FIG. 2 shows a first instance 34 in which two A nodes 32 and one B node 32 are arranged, and a second instance 34 in which one A node 32 and one B node 32 are arranged. 34 represents the state of an information processing system 30 having 34.

なお、クラウドプロバイダとの契約の範囲内であれば、情報処理システム30で用いられるインスタンス34の数に制約はなく、また、1つのインスタンス34に配置されるノード32の数にも制約はない。上述したように、こうした情報処理システム30の構成は、制御装置20によって制御される。 Note that there is no restriction on the number of instances 34 used in the information processing system 30, and there is no restriction on the number of nodes 32 arranged in one instance 34, as long as it is within the scope of the contract with the cloud provider. As described above, the configuration of the information processing system 30 is controlled by the control device 20.

図3は、制御装置20の機能構成例を示す図である。図3に示すように、制御装置20は受付部21、制御部22、履歴管理部23、出力部24の各機能部と、履歴情報DB(Database)25を含む。 FIG. 3 is a diagram showing an example of the functional configuration of the control device 20. As shown in FIG. As shown in FIG. 3, the control device 20 includes functional units such as a reception section 21, a control section 22, a history management section 23, an output section 24, and a history information DB (Database) 25.

受付部21は、入力装置10からリクエストを受け付けると共に、タスクを処理する情報処理システム30の構成状態、及びタスクの処理状況を情報処理システム30から受け付け、制御部22に通知する。 The receiving unit 21 receives requests from the input device 10 and also receives the configuration state of the information processing system 30 that processes the task and the processing status of the task from the information processing system 30, and notifies the control unit 22 of the information processing status.

情報処理システム30の構成状態とは、情報処理システム30に実際に構築されている構成のことであり、情報処理システム30は、例えばインスタンス34の数及び種類、並びにインスタンス34に含まれるノード32の種類及び数というように、情報処理システム30に構築されている構成がわかる情報を制御装置20に通知する。ノード32の種類とは、ノード32で実行されるタスクの種類によって規定される。すなわち、タスクAを実行するノード32であれば、Aノード32というノード32の種類が情報処理システム30の構成状態に含まれる。なお、インスタンス34の種類については後ほど説明する。 The configuration state of the information processing system 30 refers to the configuration actually constructed in the information processing system 30, and the information processing system 30 is configured to determine, for example, the number and types of instances 34, and the nodes 32 included in the instances 34. Information indicating the configuration built in the information processing system 30, such as type and number, is notified to the control device 20. The type of node 32 is defined by the type of task executed by the node 32. That is, if the node 32 executes task A, the type of node 32 called A node 32 is included in the configuration state of the information processing system 30. Note that the types of instances 34 will be explained later.

タスクの処理状況とは、ノード32で実行されるタスクの処理状況のことであり、例えばタスクが実行中か否かといった実行ステータス、及びタスクが終了している場合には、タスクの実行を開始してから終了するまでに要した処理時間が含まれる。ここでは一例として、タスクの処理時間を情報処理システム30でタスクの実行を開始してから終了するまでに要した時間として説明するが、制御装置20がタスクの実行を情報処理システム30に依頼してから、依頼したタスクの実行が終了するまでに要した時間を処理時間としてもよい。 The processing status of a task is the processing status of a task executed by the node 32, and includes, for example, the execution status such as whether the task is being executed or not, and if the task has finished, the execution of the task has started. Includes the processing time required from start to finish. Here, as an example, the processing time of a task will be explained as the time required from when the information processing system 30 starts executing the task until it ends. The processing time may be the time required from the time the requested task is completed until the execution of the requested task is completed.

制御部22は、入力装置10からリクエストを受け付けると、要求されたタスクを出力部24に通知して、タスクの実行を情報処理システム30に依頼する制御を行う。また、制御部22は、受付部21から受け付けた情報処理システム30の構成状態、及びタスクの処理状況に応じて、タスクを実行する情報処理システム30に対して、情報処理システム30の構成を変更させる制御を行う。具体的には、制御部22は、処理時間に関して予め定めた条件を満たすタスクが存在する場合、当該タスクを実行するノード32を特定のインスタンス34に集約させるような制御を行う。なお、処理時間に関する予め定めた条件がどのような条件であるかについては後ほど説明する。 When the control unit 22 receives a request from the input device 10, it notifies the output unit 24 of the requested task and performs control to request the information processing system 30 to execute the task. Further, the control unit 22 changes the configuration of the information processing system 30 for the information processing system 30 that executes the task according to the configuration state of the information processing system 30 and the processing status of the task received from the reception unit 21. control. Specifically, when there is a task that satisfies a predetermined condition regarding processing time, the control unit 22 performs control such that the nodes 32 that execute the task are aggregated into a specific instance 34 . Note that the predetermined conditions regarding the processing time will be explained later.

履歴管理部23は、制御部22の制御に従い、入力装置10から受け付けたリクエストの内容、及び要求されたタスクの処理状況を対応付けた履歴情報4を生成し、履歴情報DB25で管理する。また、履歴管理部23は、制御部22の制御に従い、指示されたリクエストの内容やタスクの処理状況を履歴情報DB25から取得して制御部22に通知する。 Under the control of the control unit 22, the history management unit 23 generates history information 4 in which the content of the request received from the input device 10 and the processing status of the requested task are associated with each other, and manages the history information 4 in the history information DB 25. Further, under the control of the control unit 22, the history management unit 23 acquires the contents of the instructed request and the processing status of the task from the history information DB 25, and notifies the control unit 22 of the information.

図4は、履歴情報DB25で管理される履歴情報4の一例を示す図である。履歴情報4には、入力装置10から受け付けたリクエスト毎に受付日時、リクエストID(Identification)、付加データ、タスクID、及び処理時間が含まれる。 FIG. 4 is a diagram showing an example of history information 4 managed by the history information DB 25. The history information 4 includes the reception date and time, request ID (identification), additional data, task ID, and processing time for each request received from the input device 10.

受付日時は、リクエストの受付日及び時間が記録される。 The reception date and time records the reception date and time of the request.

リクエストIDは、制御装置20の内部でリクエストを一意に管理するために用いられる識別子であり、図4に示す履歴情報4の場合、各々のリクエストと重複しないような番号が割り当てられている。 The request ID is an identifier used to uniquely manage requests within the control device 20, and in the case of the history information 4 shown in FIG. 4, a number that does not overlap with each request is assigned.

付加データは、リクエストと共に入力装置10から受け付けたデータのことである。例えばリクエストが商品の発注要求の場合、発注する商品名や数量が記載された発注表のファイルが付加データとしてリクエストに添付される。また、リクエストが翻訳要求の場合、翻訳対象となる文書を含むファイルが付加データとしてリクエストに添付される。したがって、履歴情報4の付加データには、例えば添付されたファイルのファイル名が設定される。リクエストには付加データを必要としないリクエストも存在するが、このような場合、履歴情報4の付加データにはリクエストに付加データが存在しないことを表す“-”が設定される。 Additional data is data received from the input device 10 along with the request. For example, if the request is a request to order a product, an order sheet file containing the product name and quantity to be ordered is attached to the request as additional data. Furthermore, if the request is a translation request, a file containing the document to be translated is attached to the request as additional data. Therefore, the file name of the attached file is set as the additional data of the history information 4, for example. There are requests that do not require additional data, but in such cases, "-" is set in the additional data of the history information 4 to indicate that the request does not include additional data.

タスクIDは、リクエストによって要求されたタスクの種類を一意に表す識別子であり、情報処理システム30で実行されるタスク毎に、タスクの種類を表す識別子が設定される。 The task ID is an identifier that uniquely represents the type of task requested by the request, and an identifier representing the type of task is set for each task executed by the information processing system 30.

処理時間は、上述したように情報処理システム30でタスクの実行を開始してから終了するまでに要した処理時間のことであり、情報処理システム30から通知された処理時間が設定される。なお、実行が終了していないタスクの処理時間は情報処理システム30から通知されないため、このようなタスクに対応した履歴情報4の処理時間には、タスクが終了していないことを表す“-”が設定される。すなわち、履歴情報4の処理時間に時間が設定されているタスクは実行済みのタスクであることを表し、“-”が設定されているタスクは、情報処理システム30で実行中または実行待ちとなっているタスクであることを表している。以降では、情報処理システム30に実行を依頼したが、まだ実行が完了していないタスクのことを総称して「実行中のタスク」ということにする。 The processing time is the processing time required from the time when the information processing system 30 starts executing a task until it ends, as described above, and the processing time notified from the information processing system 30 is set. Note that since the information processing system 30 does not notify the processing time of a task whose execution has not been completed, the processing time of the history information 4 corresponding to such a task includes a "-" indicating that the task has not been completed. is set. In other words, a task for which a time is set in the processing time of the history information 4 indicates that the task has been executed, and a task for which "-" is set indicates that the task is currently being executed or is waiting to be executed in the information processing system 30. This indicates that the task is currently being completed. Hereinafter, tasks that have been requested to be executed by the information processing system 30 but have not yet been executed will be collectively referred to as "tasks in progress."

なお、履歴情報4に設定される内容は、図4に示した履歴情報4の各項目に限られない。例えばリクエストに添付されたファイルのファイルサイズやファイルの作成者といったファイルの特徴を表す属性、及びタスクの優先度や終了希望期限といったタスクに対する指示内容を履歴情報4に設定してもよい。 Note that the contents set in the history information 4 are not limited to the items of the history information 4 shown in FIG. For example, the history information 4 may include attributes representing the characteristics of the file attached to the request, such as the file size and the file creator, and instructions for the task, such as the task priority and desired completion deadline.

付加データ、ファイルの特徴を表す属性、及びタスクに対する指示内容は、情報処理システム30でのタスクの処理に影響を与える内容であることから、本実施の形態に係る処理条件の一例である。 The additional data, the attributes representing the characteristics of the file, and the contents of instructions for the task are contents that influence the processing of the task in the information processing system 30, and are thus an example of the processing conditions according to the present embodiment.

出力部24は、制御部22の制御に従い、要求されたタスクを例えばリクエストIDのようにタスクを一意に識別する情報と共に、指定された情報処理システム30に出力する。具体的には、出力部24は通信回線2を通じて、指定された情報処理システム30にタスクを出力するが、情報処理システム30にタスクを出力する方法はこれに限られない。例えば出力部24は、制御装置20の情報処理システム30毎に予め定めた記憶領域にタスクを記憶し、情報処理システム30が自身のシステムに割り当てられた記憶領域の内容を読み込むことで、情報処理システム30との間でタスクの受け渡しを行ってもよい。 The output unit 24 outputs the requested task to the designated information processing system 30 together with information that uniquely identifies the task, such as a request ID, under the control of the control unit 22 . Specifically, the output unit 24 outputs the task to the designated information processing system 30 via the communication line 2, but the method of outputting the task to the information processing system 30 is not limited to this. For example, the output unit 24 stores tasks in a storage area predetermined for each information processing system 30 of the control device 20, and the information processing system 30 reads the contents of the storage area allocated to its own system, thereby allowing information processing. Tasks may be exchanged with the system 30.

情報処理システム30では、例えばリクエストIDを通じて、制御装置20から受け付けたタスクと、当該タスクを実行するノード32が対応付けられる。 In the information processing system 30, a task received from the control device 20 is associated with a node 32 that executes the task, for example, through a request ID.

次に、制御装置20における電気系統の要部構成例について説明する。 Next, an example of the main part configuration of the electrical system in the control device 20 will be described.

図5は、制御装置20における電気系統の要部構成例を示す図である。制御装置20は例えばコンピュータ40を用いて構成される。 FIG. 5 is a diagram showing an example of the configuration of main parts of the electrical system in the control device 20. As shown in FIG. The control device 20 is configured using a computer 40, for example.

コンピュータ40は、手順に基づいてデータの変換、演算、及び加工を行う機能を持ったプロセッサの一例であり、制御装置20に係る各機能部を担うCPU41、コンピュータ40を図3に示した各機能部として機能させる制御プログラムを記憶するROM(Read Only Memory)42、CPU41の一時的な作業領域として使用されるRAM43、不揮発性メモリ44、及び入出力インターフェース(I/O)45を備える。 The computer 40 is an example of a processor that has the function of converting, calculating, and processing data based on a procedure, and the computer 40 and the CPU 41 that are responsible for each functional section related to the control device 20 have the functions shown in FIG. 3. A ROM (Read Only Memory) 42 that stores a control program that functions as a part, a RAM 43 that is used as a temporary work area for the CPU 41, a nonvolatile memory 44, and an input/output interface (I/O) 45 are provided.

そして、CPU41、ROM42、RAM43、不揮発性メモリ44、及びI/O45がバス46を介して各々接続されている。 A CPU 41, a ROM 42, a RAM 43, a nonvolatile memory 44, and an I/O 45 are connected to each other via a bus 46.

不揮発性メモリ44は、不揮発性メモリ44に供給される電力が遮断されても、記憶した情報が維持される記憶装置の一例であり、例えば半導体メモリが用いられるがハードディスクを用いてもよい。履歴情報4を管理する履歴情報DB25は、例えば不揮発性メモリ44に構築される。 The non-volatile memory 44 is an example of a storage device that maintains stored information even if the power supplied to the non-volatile memory 44 is cut off. For example, a semiconductor memory is used, but a hard disk may also be used. The history information DB 25 that manages the history information 4 is constructed in the nonvolatile memory 44, for example.

I/O45には、例えば通信ユニット47、入力ユニット48、及び表示ユニット49が接続される。 For example, a communication unit 47, an input unit 48, and a display unit 49 are connected to the I/O 45.

通信ユニット47は通信回線2に接続され、通信回線2に接続する入力装置10及び情報処理システム30、更には、通信回線2に接続される図示しない外部装置との間でデータ通信を行う通信プロトコルを備える。 The communication unit 47 is connected to the communication line 2 and implements a communication protocol for performing data communication with the input device 10 and the information processing system 30 connected to the communication line 2, and further with an external device (not shown) connected to the communication line 2. Equipped with

入力ユニット48は、制御装置20を操作するオペレータの指示を受け付けてCPU41に通知する装置であり、例えばボタン、タッチパネル、キーボード、及びマウス等が用いられる。音声によってオペレータの指示を受け付ける場合には、入力ユニット48としてマイクが用いられることがある。 The input unit 48 is a device that receives instructions from an operator operating the control device 20 and notifies the CPU 41, and uses, for example, buttons, a touch panel, a keyboard, a mouse, and the like. When receiving instructions from an operator by voice, a microphone may be used as the input unit 48.

表示ユニット49は、CPU41によって処理された情報をオペレータに出力する装置の一例であり、例えば液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、及び映像をスクリーンに投影するプロジェクタ等が用いられる。 The display unit 49 is an example of a device that outputs information processed by the CPU 41 to an operator, and includes, for example, a liquid crystal display, an organic EL (Electro Luminescence) display, a projector that projects an image onto a screen, and the like.

I/O45に接続されるユニットは一例であり、例えば記録媒体に画像を形成する画像形成ユニット等、必要に応じて図5に示したユニット以外のユニットが接続されることは言うまでもない。 The units connected to the I/O 45 are merely examples, and it goes without saying that units other than the units shown in FIG. 5 may be connected as necessary, such as an image forming unit that forms an image on a recording medium.

次に、依頼したタスクを実行する情報処理システム30の構成を制御する制御装置20の動作について詳細に説明する。 Next, the operation of the control device 20 that controls the configuration of the information processing system 30 that executes the requested task will be described in detail.

図6は、制御装置20のCPU41によって実行される再配置処理の流れの一例を示すフローチャートである。再配置処理は例えば情報処理システム30において複数のインスタンス34が割り当てられ、各々のインスタンス34で、少なくとも1つのノード32が稼働している状況で定期的に実行されるが、情報処理システム30の構成に関係なく、定期的に実行してもよい。なお、制御装置20は、稼働している情報処理システム30の構成を、例えば情報処理システム30から通知される構成状態によって把握しているものとする。 FIG. 6 is a flowchart showing an example of the flow of the relocation process executed by the CPU 41 of the control device 20. For example, the relocation process is periodically executed in a situation where a plurality of instances 34 are allocated in the information processing system 30 and at least one node 32 is operating in each instance 34, but the configuration of the information processing system 30 It may be performed periodically regardless of the It is assumed that the control device 20 knows the configuration of the information processing system 30 in operation, for example, based on the configuration status notified from the information processing system 30.

再配置処理を規定する制御プログラムは、例えば制御装置20のROM42に予め記憶されている。制御装置20のCPU41は、ROM42に記憶される制御プログラムを読み込み、再配置処理を実行する。 A control program that defines the relocation process is stored in advance in the ROM 42 of the control device 20, for example. The CPU 41 of the control device 20 reads the control program stored in the ROM 42 and executes the relocation process.

ステップS10において、CPU41は、情報処理システム30に存在する実行中のノード32の中から、何れか1つのノード32を選択する。説明の便宜上、ステップS10で選択したノード32を「選択ノード32」ということにする。 In step S<b>10 , the CPU 41 selects any one node 32 from among the nodes 32 that are currently being executed in the information processing system 30 . For convenience of explanation, the node 32 selected in step S10 will be referred to as the "selected node 32."

実行中のノード32は情報処理システム30でまだ処理が完了していないことから、履歴情報4の処理時間に時間ではなく“-”が設定されている。したがって、実行中のノード32の中から、何れか1つのノード32を選択するとは、具体的には、CPU41が処理時間に“-”が設定されている履歴情報4の中から、何れか1つの履歴情報4を選択することに相当する。 Since the processing of the currently running node 32 in the information processing system 30 has not yet been completed, "-" is set in the processing time of the history information 4 instead of a time. Therefore, selecting any one node 32 from among the nodes 32 that are currently being executed means that the CPU 41 selects any one from the history information 4 in which "-" is set for the processing time. This corresponds to selecting one piece of history information 4.

ステップS20において、CPU41は、選択ノード32が実行するタスク、すなわち、ステップS10で選択した履歴情報4のタスクIDによって表されるタスクと同じタスクIDを含む実行済みの履歴情報4が履歴情報DB25に存在するか否かを判定する。実行済みの履歴情報4とは、情報処理システム30で実行済みのタスクに対応した履歴情報4のことであり、処理時間に時間が設定されている履歴情報4のことである。 In step S20, the CPU 41 stores the executed history information 4 including the same task ID as the task executed by the selected node 32, that is, the task represented by the task ID of the history information 4 selected in step S10, in the history information DB 25. Determine whether it exists. The executed history information 4 is the history information 4 corresponding to a task that has been executed in the information processing system 30, and is the history information 4 in which a time is set as the processing time.

選択ノード32が実行するタスクのタスクIDを含む実行済みの履歴情報4が存在する場合には、ステップS30に移行する。 If execution history information 4 including the task ID of the task executed by the selected node 32 exists, the process moves to step S30.

ステップS30において、CPU41は、選択ノード32が実行するタスクのタスクIDを含む実行済みの履歴情報4から処理時間を推定する。同じ種類のタスクであればタスクの処理時間が同じになる傾向があるため、選択ノード32が実行するタスクの処理時間は、当該タスクと同じタスクIDを含む実行済みの履歴情報4の処理時間と同じになると推定される。 In step S30, the CPU 41 estimates the processing time from the executed history information 4 including the task ID of the task to be executed by the selected node 32. Since tasks of the same type tend to have the same processing time, the processing time of the task executed by the selection node 32 is the same as the processing time of the executed history information 4 that includes the same task ID as the task. It is estimated that they will be the same.

なお、履歴情報DB25に、選択ノード32が実行するタスクのタスクIDを含む実行済みの履歴情報4が複数存在する場合には、CPU41は、このうちの何れか1つの履歴情報4の処理時間を、選択ノード32が実行するタスクの処理時間とすればよい。しかしながら、実行済みの履歴情報4が複数存在する場合におけるタスクの処理時間の推定方法はこれに限られない。例えば選択ノード32が実行するタスクのタスクIDを含む各々の実行済みの履歴情報4における処理時間の統計量を、選択ノード32が実行するタスクの処理時間として推定してもよい。処理時間の統計量には、例えば各々の処理時間の平均値、最小値、または最大値等が用いられる。 Note that if the history information DB 25 includes a plurality of pieces of executed history information 4 including the task ID of the task executed by the selected node 32, the CPU 41 determines the processing time of any one of the pieces of history information 4. , may be the processing time of the task executed by the selected node 32. However, the method for estimating the processing time of a task when there is a plurality of pieces of executed history information 4 is not limited to this. For example, the processing time statistics in each executed history information 4 including the task ID of the task executed by the selected node 32 may be estimated as the processing time of the task executed by the selected node 32. For example, the average value, minimum value, or maximum value of each processing time is used as the statistical amount of the processing time.

ステップS40において、CPU41は、ステップS30で推定した処理時間が閾値を超えるか否かを判定する。当該閾値は、情報処理システム30で実行される他のタスクに比べて処理時間が長いタスク(以降、「長期タスク」という)であるか否かを判定するための基準値であり、処理時間に関する予め定めた条件の一例である。閾値は、制御装置20のオペレータによって設定され、例えば不揮発性メモリ44に予め記憶されている。 In step S40, the CPU 41 determines whether the processing time estimated in step S30 exceeds a threshold value. The threshold value is a reference value for determining whether a task takes a longer processing time than other tasks executed by the information processing system 30 (hereinafter referred to as a "long-term task"), and This is an example of predetermined conditions. The threshold value is set by the operator of the control device 20 and is stored in advance in the nonvolatile memory 44, for example.

選択ノード32が実行するタスクが長期タスクの場合、少なくともタスクが終了するまではタスクを含むインスタンス34も存続させる必要がある。上述したように、クラウドサービスの利用料金は、情報処理システム30で利用するインスタンス34の数及び利用時間の少なくとも一方によって設定される。したがって、インスタンス34に長期タスクが含まれる場合には、当該インスタンス34に含まれる他のタスクが終了した後も、長期タスクが終了するまでは、長期タスクのためだけにインスタンス34を存続させる必要がある。特に、長期タスクが複数のインスタンス34に分散している場合には、複数のインスタンス34の各々が閾値によって表される時間を超えて存続することになり、情報処理システム30を維持するコスト、すなわち、クラウドサービスの利用料金の増大につながる。 If the task executed by the selection node 32 is a long-term task, the instance 34 including the task must also be kept alive at least until the task is completed. As described above, the usage fee for the cloud service is set based on at least one of the number of instances 34 used in the information processing system 30 and the usage time. Therefore, when an instance 34 includes a long-term task, it is necessary to keep the instance 34 alive only for the long-term task even after the other tasks included in the instance 34 finish, until the long-term task finishes. be. In particular, when a long-term task is distributed over multiple instances 34, each of the multiple instances 34 will last beyond the time represented by the threshold, reducing the cost of maintaining the information processing system 30, i.e. , leading to an increase in usage fees for cloud services.

したがって、CPU41は、長期タスクを1つのインスタンス34に集約させた上で、情報処理システム30で実行される各々のタスクの処理を継続させるようにするタスクの再配置を行う。 Therefore, the CPU 41 consolidates long-term tasks into one instance 34 and then rearranges the tasks so that the processing of each task executed in the information processing system 30 continues.

そのため、ステップS30で推定した処理時間が閾値を超える場合にはステップS50に移行し、ステップS50において、CPU41は、情報処理システム30に長期インスタンス34が存在するか否かを判定する。 Therefore, if the processing time estimated in step S30 exceeds the threshold, the process moves to step S50, and in step S50, the CPU 41 determines whether the long-term instance 34 exists in the information processing system 30.

長期インスタンス34とは、インスタンス34の種類を示すものであり、長期タスクが集約されて配置されるインスタンス34のことである。長期インスタンス34は、本実施の形態に係る特定処理環境の一例である。 The long-term instance 34 indicates the type of instance 34, and is an instance 34 in which long-term tasks are aggregated and arranged. The long-term instance 34 is an example of a specific processing environment according to this embodiment.

情報処理システム30に長期インスタンス34が存在するか否かは、情報処理システム30から通知される情報処理システム30の構成状態によって判定される。そして、長期インスタンス34が存在しない場合にはステップS60に移行する。 Whether or not the long-term instance 34 exists in the information processing system 30 is determined based on the configuration state of the information processing system 30 notified from the information processing system 30. Then, if the long-term instance 34 does not exist, the process moves to step S60.

ステップS60において、CPU41は、情報処理システム30に対して長期インスタンス34を新たに生成するように指示する生成指示を出力して、ステップS70に移行する。これにより、情報処理システム30で、長期インスタンス34が生成される。 In step S60, the CPU 41 outputs a generation instruction instructing the information processing system 30 to newly generate a long-term instance 34, and the process proceeds to step S70. As a result, a long-term instance 34 is generated in the information processing system 30.

一方、ステップS50の判定処理で、情報処理システム30に長期インスタンス34が存在すると判定された場合には、新たに長期インスタンス34を生成する必要がないため、ステップS60の処理を実行することなくステップS70に移行する。 On the other hand, if it is determined in the determination process of step S50 that the long-term instance 34 exists in the information processing system 30, there is no need to newly generate the long-term instance 34, so the process of step S60 is not executed and the step The process moves to S70.

ステップS70において、CPU41は通信ユニット47を制御して、長期タスクを実行する選択ノード32が長期インスタンス34に配置されるように、選択ノード32が実行するタスクに対応付けられたリクエストIDと共に、情報処理システム30に対して選択ノード32の配置の変更を指示する配置指示を出力する。これにより、長期タスクを実行する選択ノードが長期インスタンス34に再配置されることになる。配置指示を出力した後、ステップS80に移行する。 In step S70, the CPU 41 controls the communication unit 47 so that the selected node 32 that executes the long-term task is placed in the long-term instance 34. A placement instruction that instructs the processing system 30 to change the placement of the selected node 32 is output. This causes the selected node that executes the long-term task to be relocated to the long-term instance 34. After outputting the placement instruction, the process moves to step S80.

一方、ステップS20の判定処理で、選択ノード32が実行するタスクのタスクIDを含む実行済みの履歴情報4が存在しないと判定された場合、選択ノード32で実行されるタスクは、情報処理システム30で初めて実行される種類のタスクということになる。すなわち、履歴情報4には選択ノード32で実行されるタスクと同じ種類のタスクが実行された場合の処理時間の実績が記録されていないことになる。したがって、閾値を用いて選択ノード32で実行されるタスクが長期タスクであるか否かを判定することが困難であるため、ステップS30~S70の処理を実行することなくステップS80に移行する。また、ステップS40の判定処理で、選択ノード32の推定した処理時間が閾値以下であると判定された場合は、選択ノード32は長期タスクでないことが判明するため、ステップS50~S70の処理を実行することなくステップS80に移行する。これらの場合、選択ノード32は長期インスタンス34に配置されることなく、当初から選択ノード32を含むインスタンス34にそのまま配置され続けることになる。 On the other hand, in the determination process of step S20, if it is determined that the executed history information 4 including the task ID of the task to be executed by the selected node 32 does not exist, the task to be executed by the selected node 32 is This is the type of task that is executed for the first time. That is, the history information 4 does not record the actual processing time when the same type of task as the task executed by the selected node 32 is executed. Therefore, it is difficult to use the threshold value to determine whether or not the task executed by the selected node 32 is a long-term task, so the process moves to step S80 without executing the processes of steps S30 to S70. Furthermore, if it is determined in the determination process of step S40 that the estimated processing time of the selected node 32 is less than or equal to the threshold, it is determined that the selected node 32 is not a long-term task, so the processes of steps S50 to S70 are executed. The process moves to step S80 without doing so. In these cases, the selected node 32 is not placed in the long-term instance 34 and continues to be placed in the instance 34 that includes the selected node 32 from the beginning.

ステップS80において、CPU41は、実行中のノード32の中で、まだステップS10で選択していない未選択のノード32が存在するか否かを判定する。未選択のノード32が存在する場合にはステップS10に移行し、未選択の実行中のノード32の中から何れか1つのノード32を選択する。 In step S80, the CPU 41 determines whether there is an unselected node 32 that has not been selected in step S10 among the nodes 32 being executed. If there is an unselected node 32, the process moves to step S10, and any one node 32 is selected from among the unselected nodes 32 in execution.

未選択の実行中のノード32が存在しなくなるまでステップS10~S80を繰り返し実行することで、情報処理システム30で長期タスクを実行するノード32が長期インスタンス34に集約されることになる。 By repeatedly executing steps S10 to S80 until there are no unselected running nodes 32, the nodes 32 that execute long-term tasks in the information processing system 30 are aggregated into the long-term instance 34.

後ほど図8で説明するように、タスクの実行が終了したノード32は情報処理システム30から順次削除され、ノード32を含まないインスタンス34も情報処理システム30から順次削除される。したがって、閾値を超えて存続するインスタンス34の数が1つになることから、長期タスクを実行するノード32を長期インスタンス34に集約しない場合と比較して、クラウドサービスの利用料金が抑制されることになる。 As will be explained later with reference to FIG. 8, nodes 32 whose tasks have finished executing are sequentially deleted from the information processing system 30, and instances 34 that do not include the nodes 32 are also sequentially deleted from the information processing system 30. Therefore, since the number of instances 34 that survive beyond the threshold is one, the usage fee for the cloud service is reduced compared to the case where nodes 32 that execute long-term tasks are not aggregated into long-term instances 34. become.

一方、ステップS80の判定処理で、実行中のノード32がすべて選択されたと判定された場合には、図6に示す再配置処理を終了する。 On the other hand, if it is determined in the determination process in step S80 that all nodes 32 that are currently being executed have been selected, the relocation process shown in FIG. 6 is ended.

図7は、制御装置20で図6に示す再配置処理が実行された場合における情報処理システム30の構成の変化例を示す図である。 FIG. 7 is a diagram showing an example of a change in the configuration of the information processing system 30 when the control device 20 executes the relocation process shown in FIG.

図7は、図2に示した情報処理システム30の構成例と同じく、制御装置20で図6に示す再配置処理を実行する前は、第1インスタンス34と第2インスタンス34の2つのインスタンス34が情報処理システム30に存在し、第1インスタンスには2つのAノード32と1つのBノード32が配置され、第2インスタンス34にはそれぞれ1つずつAノード32とBノード32が配置されている状況を表している。 Similar to the configuration example of the information processing system 30 shown in FIG. 2, FIG. 7 shows that before the control device 20 executes the relocation process shown in FIG. exists in the information processing system 30, two A nodes 32 and one B node 32 are arranged in the first instance, and one A node 32 and one B node 32 are arranged in the second instance 34. It represents the situation.

Bノード32が長期タスクを実行するノード32であるとすれば、制御装置20で図6に示す再配置処理を実行した場合、新たに第3インスタンス34が長期インスタンス34として情報処理システム30に生成され、第3インスタンス34にBノード32が集約される。 Assuming that the B node 32 is a node 32 that executes a long-term task, when the control device 20 executes the relocation process shown in FIG. Then, the B nodes 32 are aggregated into the third instance 34.

なお、図6に示した再配置処理では、実行済みの履歴情報4の処理時間からタスクの処理時間を推定したが、ノード32が実行するタスクの処理時間の推定方法はこれに限られない。 Note that in the relocation process shown in FIG. 6, the processing time of a task is estimated from the processing time of the executed history information 4, but the method for estimating the processing time of a task executed by the node 32 is not limited to this.

例えば付加データとしてリクエストに添付されるファイルの種類が同じであれば、リクエストに対応するタスクの処理時間も類似する傾向が見られる。したがって、図6のステップS20の判定処理で、選択ノード32が実行するタスクのタスクIDを含む実行済みの履歴情報4が存在しないと判定された場合であっても、選択ノード32が実行するタスクに対応付けられたファイルと同じ種類のファイルが設定されている付加データを含む実行済みの履歴情報4の処理時間から、選択ノード32が実行するタスクの処理時間が推定される。ファイルの種類は、ファイルの拡張子によって見分けられる。 For example, if the types of files attached to requests as additional data are the same, the processing times of tasks corresponding to the requests tend to be similar. Therefore, even if it is determined that there is no executed history information 4 including the task ID of the task to be executed by the selected node 32 in the determination process of step S20 in FIG. The processing time of the task executed by the selected node 32 is estimated from the processing time of the executed history information 4 including additional data in which the same type of file as the file associated with is set. File types can be identified by the file extension.

この場合、CPU41は、ファイルの種類が同じ付加データを含む実行済みの履歴情報4の処理時間をそのまま選択ノード32が実行するタスクの処理時間とするのではなく、ファイルのデータサイズに応じて、推定した処理時間を補正するようにしてもよい。具体的には、ファイルのデータサイズが大きいほど、処理するデータ量が増加すると想定されるため、CPU41は、処理時間を取得した実行済みの履歴情報4に記録されているファイルのデータサイズに対する、選択ノード32が実行するタスクに添付されるファイルのデータサイズの割合が大きくなるに従って、推定した処理時間を更に長くするように補正してもよい。 In this case, the CPU 41 does not directly use the processing time of the executed history information 4 that includes additional data of the same file type as the processing time of the task executed by the selected node 32, but instead uses the processing time according to the data size of the file. The estimated processing time may be corrected. Specifically, it is assumed that the larger the data size of the file, the more data to be processed. The estimated processing time may be corrected to become longer as the proportion of the data size of the file attached to the task executed by the selection node 32 increases.

このようなファイルのデータサイズを用いた処理時間の補正は、図6のステップS20の判定処理で、選択ノード32が実行するタスクのタスクIDを含む実行済みの履歴情報4が存在すると判定された場合にも適用してもよい。例えば、選択ノード32が実行するタスクのタスクIDを含む実行済みの履歴情報4が複数存在する場合、当該履歴情報4の中で、要求されたタスクに添付されるファイルのデータサイズと最も近いデータサイズのファイルが添付された履歴情報4の処理時間を、要求されたタスクの処理時間として推定してもよい。 Correction of the processing time using the data size of such a file is performed when it is determined in the determination process of step S20 in FIG. 6 that there is execution history information 4 including the task ID of the task to be executed by the selected node 32. It may also be applied in cases. For example, if there is a plurality of executed history information 4 including the task ID of the task to be executed by the selected node 32, the data closest to the data size of the file attached to the requested task among the history information 4 The processing time of the history information 4 to which the file of the size is attached may be estimated as the processing time of the requested task.

また、リクエストによって指示されたタスクに対する指示内容に、タスクの優先度が設定されていることがある。タスクの優先度とは、情報処理システム30で複数のタスクを実行する場合におけるタスクの実行順序を規定したものであり、優先度が高く設定されているタスクほど、他のタスクよりも優先してリソースが割り当てられ、できるだけ早く終了するように実行される。自身の優先度より高い優先度が設定されているタスク(優先タスク)が存在する場合、優先タスクよりも優先度の低いタスクは、優先タスクが終了した後、または優先タスクの実行が行われていない空き時間に実行される。すなわち、同じ種類のタスクであっても、優先度が低く設定されているタスクほど処理時間が長くなる。 Further, the priority of the task may be set in the instruction content for the task specified by the request. Task priority defines the order in which tasks are executed when multiple tasks are executed in the information processing system 30, and a task with a higher priority is given priority over other tasks. Resources are allocated and the execution is completed as soon as possible. If there is a task with a higher priority than the priority task (priority task), the task with a lower priority than the priority task will be executed after the priority task has finished or if the priority task is not being executed. Not run in free time. In other words, even if the tasks are of the same type, the lower the priority of the task, the longer the processing time.

したがって、CPU41は、実行中のノード32の中に優先タスクを実行するノード32が存在する場合、選択ノード32で実行されるタスクの優先度と優先タスクの優先度の差分に応じて、推定した処理時間を延長してもよい。また、CPU41は、選択ノード32で実行されるタスクの優先度が、実行中の他のノード32で実行されるタスクの優先度よりも高い場合、選択ノード32で実行されるタスクの優先度と実行中の他のノード32で実行されるタスクの優先度の差分に応じて、推定した処理時間を短縮してもよい。 Therefore, when there is a node 32 that executes a priority task among the nodes 32 that are being executed, the CPU 41 estimates the priority according to the difference between the priority of the task executed by the selected node 32 and the priority of the priority task. The processing time may be extended. In addition, if the priority of the task executed by the selected node 32 is higher than the priority of the task executed by other nodes 32 that are currently being executed, the CPU 41 determines whether the priority of the task executed by the selected node 32 The estimated processing time may be shortened depending on the difference in priority of tasks executed by other nodes 32 that are currently being executed.

当然のことながら、こうしたタスクの優先度を用いた処理時間の補正は、図6のステップS20の判定処理で、選択ノード32が実行するタスクのタスクIDを含む実行済みの履歴情報4が存在すると判定された場合にも適用してもよい。具体的には、CPU41は、要求されたタスクの優先度と、要求されたタスクの処理時間の推定に用いた実行済みの履歴情報4に記録されたタスクの優先度との差分に応じて、推定した処理時間を補正してもよい。 Naturally, correction of the processing time using the priority of the task is performed in the determination process of step S20 in FIG. It may also be applied when a judgment is made. Specifically, the CPU 41, depending on the difference between the priority of the requested task and the priority of the task recorded in the executed history information 4 used to estimate the processing time of the requested task, The estimated processing time may be corrected.

次に、情報処理システム30に対するリソースの解放処理について説明する。図8は、制御装置20のCPU41によって実行されるリソースの解放処理の流れの一例を示すフローチャートである。リソースの解放処理は情報処理システム30が起動したタイミングで実行され、以後、情報処理システム30が稼働している間、リソースの解放処理が終了する毎に、リソースの解放処理が再開される。 Next, resource release processing for the information processing system 30 will be explained. FIG. 8 is a flowchart illustrating an example of the flow of resource release processing executed by the CPU 41 of the control device 20. The resource release process is executed at the timing when the information processing system 30 is activated, and thereafter, while the information processing system 30 is operating, the resource release process is restarted every time the resource release process is completed.

リソースの解放処理を規定する制御プログラムは、例えば制御装置20のROM42に予め記憶されている。制御装置20のCPU41は、ROM42に記憶される制御プログラムを読み込み、リソースの解放処理を実行する。 A control program that defines resource release processing is stored in advance in the ROM 42 of the control device 20, for example. The CPU 41 of the control device 20 reads a control program stored in the ROM 42 and executes resource release processing.

ステップS100において、CPU41は、情報処理システム30にタスクの実行が終了したノード32、すなわち、終了済みノード32が存在するか否かを判定する。 In step S100, the CPU 41 determines whether or not there is a node 32 in the information processing system 30 that has completed execution of a task, that is, a completed node 32.

タスクが終了したことにより、情報処理システム30から終了済みノード32で実行されたタスクに対応したリクエストIDと共に、終了済みノード32でのタスクの処理時間が制御装置20に通知される。したがって、CPU41は、処理時間の通知を受けたタスクが存在する場合に、終了済みノード32があると判定すればよい。 When the task is completed, the information processing system 30 notifies the control device 20 of the processing time of the task at the completed node 32 along with the request ID corresponding to the task executed at the completed node 32. Therefore, the CPU 41 only needs to determine that there is a completed node 32 when there is a task for which the processing time has been notified.

なお、CPU41は、情報処理システム30からタスクの処理時間を受け付けた場合、共に受け付けたリクエストIDを含む履歴情報4の処理時間に、受け付けたタスクの処理時間を記録する。 Note that when the CPU 41 receives the processing time of a task from the information processing system 30, it records the processing time of the received task in the processing time of the history information 4 that includes the request ID that was also received.

終了済みノード32が存在しない場合には、CPU41はステップS100の判定処理を繰り返し実行して、終了済みノード32が現れるまでタスクの実行状態を監視する。一方、終了済みノード32が存在する場合にはステップS110に移行する。 If there is no completed node 32, the CPU 41 repeatedly executes the determination process in step S100 and monitors the execution state of the task until a completed node 32 appears. On the other hand, if there is a completed node 32, the process moves to step S110.

ステップS110において、CPU41は通信ユニット47を制御して、終了済みノード32で実行されたタスクと対応付けられたリクエストIDと共に、情報処理システム30に対して終了済みノード32の削除を指示する削除指示を出力する。これにより、終了済みノード32が情報処理システム30から削除され、終了済みノード32が使用していたリソースが解放される。 In step S110, the CPU 41 controls the communication unit 47 to issue a deletion instruction that instructs the information processing system 30 to delete the completed node 32 along with the request ID associated with the task executed on the completed node 32. Output. As a result, the terminated node 32 is deleted from the information processing system 30, and the resources used by the terminated node 32 are released.

ステップS120において、CPU41は情報処理システム30から通知される情報処理システム30の構成状態を参照して、終了済みノード32が配置されていたインスタンス34に、他のノード32が存在するか否かを判定する。他のノード32が存在する場合にはステップS100に移行して、次の終了済みノード32が現れるまでタスクの実行状態を監視する。 In step S120, the CPU 41 refers to the configuration state of the information processing system 30 notified from the information processing system 30, and determines whether another node 32 exists in the instance 34 where the terminated node 32 was placed. judge. If another node 32 exists, the process moves to step S100, and the execution state of the task is monitored until the next completed node 32 appears.

一方、終了済みノード32が配置されていたインスタンス34に、他のノード32が存在しない場合、すなわち、終了済みノード32が配置されていたインスタンス34にノード32が1つも配置されていない場合には、ステップS130に移行する。なお、ノード32が1つも配置されていないインスタンス34のことを、「空のインスタンス34」ということにする。 On the other hand, if no other node 32 exists in the instance 34 where the terminated node 32 was placed, that is, if no node 32 is placed in the instance 34 where the terminated node 32 was placed, , the process moves to step S130. Note that an instance 34 in which no node 32 is arranged will be referred to as an "empty instance 34."

空のインスタンス34ではタスクの実行が行われていないことから、削除してもユーザから依頼されたタスクの実行に影響しない。したがって、ステップS130において、CPU41は通信ユニット47を制御して、情報処理システム30に対して空のインスタンス34の削除を指示する削除指示を出力する。これにより、空のインスタンス34が情報処理システム30から削除され、空のインスタンス34の利用が終了する。 Since no task is being executed in the empty instance 34, deletion will not affect the execution of the task requested by the user. Therefore, in step S130, the CPU 41 controls the communication unit 47 to output a deletion instruction to the information processing system 30 to instruct deletion of the empty instance 34. As a result, the empty instance 34 is deleted from the information processing system 30, and the use of the empty instance 34 ends.

ステップS140において、CPU41は、情報処理システム30で利用される全てのインスタンス34が削除されたか否かを判定する。情報処理システム30に少なくとも1つのインスタンス34が存在する場合にはステップS100に移行して、次の終了済みノード32が現れるまでタスクの実行状態を監視する。 In step S140, the CPU 41 determines whether all instances 34 used in the information processing system 30 have been deleted. If at least one instance 34 exists in the information processing system 30, the process moves to step S100, and the execution state of the task is monitored until the next completed node 32 appears.

すなわち、ステップS100~S140を繰り返し実行することで、タスクの実行を終えた終了済みノード32、及び空のインスタンス34が順に削除される。 That is, by repeatedly executing steps S100 to S140, the terminated nodes 32 whose tasks have been executed and the empty instances 34 are sequentially deleted.

したがって、図7に示す再配置処理が実行された後の情報処理システム30の構成例に対してリソースの解放処理を実行した場合で、例えば各ノード32が同じタイミングでタスクを実行したとすれば、タスクAの処理時間よりもタスクBの処理時間の方が長いことから、まず第1インスタンス34及び第2インスタンス34が削除され、最後に第3インスタンスが削除されることになる。 Therefore, if the resource release process is executed for the configuration example of the information processing system 30 after the relocation process shown in FIG. 7 has been executed, and each node 32 executes a task at the same timing, , since the processing time of task B is longer than the processing time of task A, the first instance 34 and the second instance 34 are deleted first, and finally the third instance is deleted.

一方、図7に示す再配置処理が実行される前の情報処理システム30の構成例に対してリソースの解放処理を実行した場合で、例えば各ノード32が同じタイミングでタスクを実行したとすれば、Bノード32がタスクBを実行し終えるまで第1インスタンス34と第2インスタンス34が存続することになる。 On the other hand, if the resource release process is executed for the configuration example of the information processing system 30 before the relocation process shown in FIG. 7 is executed, and each node 32 executes the task at the same timing, for example, , B. The first instance 34 and the second instance 34 will continue to exist until the B node 32 finishes executing task B.

すなわち、図7の例において、再配置処理を実行した場合には閾値を超えて存続するインスタンス34の数は1つであるのに対して、再配置処理を実行しなかった場合には閾値を超えて存続するインスタンス34の数は2つになる。したがって、情報処理システム30を構築するクラウドサービスの利用料金がインスタンス34の数及び利用時間によって設定されるとすれば、再配置処理を実行した方が、再配置処理を実行しない場合よりもクラウドサービスの利用料金が抑制される傾向を示す。 That is, in the example of FIG. 7, when the relocation process is executed, the number of instances 34 that survive beyond the threshold is one, whereas when the relocation process is not executed, the number of instances 34 that survive beyond the threshold is one. The number of instances 34 that survive beyond this will be two. Therefore, if the usage fee for the cloud service that builds the information processing system 30 is set by the number of instances 34 and the usage time, it is better to perform the relocation process than to not perform the relocation process. This shows a tendency for usage fees to be suppressed.

一方、ステップS140の判定処理で、情報処理システム30にインスタンス34が存在しないと判定された場合には、図8に示すリソースの解放処理を終了する。 On the other hand, if it is determined in the determination process of step S140 that the instance 34 does not exist in the information processing system 30, the resource release process shown in FIG. 8 is ended.

なお、CPU41は、リソースの解放処理を終了した後も、引き続き情報処理システム30が稼働中であれば、図8に示すリソースの解放処理を実行して、新たに入力装置10から受け付けたタスクの実行を終えたノード32及びインスタンス34の削除を行う。 Note that if the information processing system 30 is still in operation even after completing the resource release process, the CPU 41 executes the resource release process shown in FIG. The node 32 and instance 34 that have finished execution are deleted.

このように本実施の形態に係る制御装置20によれば、履歴情報4を参照してノード32で実行されるタスクの処理時間を推定し、タスクの処理時間が閾値を超える場合には、当該タスクを実行するノード32を長期インスタンス34に集約する。また、制御装置20は、情報処理システム30が稼働している間、ノード32におけるタスクの実行状態を監視し、終了済みノード32及び空のインスタンス34の存在を検出する毎に削除を行い、終了済みノード32及び空のインスタンス34が使用していたリソースを解放する。 As described above, according to the control device 20 according to the present embodiment, the processing time of the task executed by the node 32 is estimated with reference to the history information 4, and if the processing time of the task exceeds the threshold, Nodes 32 that execute tasks are aggregated into long-term instances 34. In addition, while the information processing system 30 is operating, the control device 20 monitors the execution status of tasks in the nodes 32, and each time the existence of a terminated node 32 or an empty instance 34 is detected, the control device 20 deletes the task and terminates the task. The resources used by the completed nodes 32 and empty instances 34 are released.

<第2実施形態>
第1実施形態では、制御装置20がタスクの処理時間に着目して、既に構築されている情報処理システム30の構成を変更するように制御する例について説明した。しかしながら、タスクの処理時間に着目して情報処理システム30の構成を制御する方法はこれに限られない。
<Second embodiment>
In the first embodiment, an example has been described in which the control device 20 focuses on the processing time of a task and performs control to change the configuration of the information processing system 30 that has already been constructed. However, the method of controlling the configuration of the information processing system 30 by focusing on the processing time of a task is not limited to this.

第2実施形態では、タスクの実行を情報処理システム30に依頼する前に、情報処理システム30の構成を制御する制御装置20Aについて説明する。 In the second embodiment, a control device 20A that controls the configuration of the information processing system 30 before requesting the information processing system 30 to execute a task will be described.

制御装置20Aを含む制御システム100のシステム構成例は、図1に示したシステム構成例と同じであり、制御装置20Aの機能構成例は、図3に示した制御装置20の機能構成例と同じである。また、制御装置20Aにおける電気系統の要部構成例は、図5に示した制御装置20における電気系統の要部構成例と同じく、コンピュータ40を用いて構成される。 The system configuration example of the control system 100 including the control device 20A is the same as the system configuration example shown in FIG. 1, and the functional configuration example of the control device 20A is the same as the functional configuration example of the control device 20 shown in FIG. It is. Moreover, the main part configuration example of the electrical system in the control device 20A is configured using the computer 40, similar to the main part configuration example of the electrical system in the control device 20 shown in FIG.

図9は、入力装置10からリクエストを受け付けた場合に、制御装置20のCPU41によって実行されるノード32の配置制御処理における流れの一例を示すフローチャートである。 FIG. 9 is a flowchart showing an example of the flow of the node 32 placement control process executed by the CPU 41 of the control device 20 when a request is received from the input device 10.

ノード32の配置制御処理を規定する制御プログラムは、例えば制御装置20AのROM42に予め記憶されている。制御装置20AのCPU41は、ROM42に記憶される制御プログラムを読み込み、ノード32の配置制御処理を実行する。 A control program that defines the arrangement control process for the nodes 32 is stored in advance in the ROM 42 of the control device 20A, for example. The CPU 41 of the control device 20A reads the control program stored in the ROM 42 and executes the arrangement control process for the nodes 32.

ステップS200において、CPU41は、入力装置10から受け付けた要求されたタスクのタスクIDと同じタスクIDを含む実行済みの履歴情報4が履歴情報DB25に存在するか否かを判定する。当該タスクIDを含む実行済みの履歴情報4が存在する場合には、ステップS210に移行する。 In step S200, the CPU 41 determines whether executed history information 4 including the same task ID as the task ID of the requested task received from the input device 10 exists in the history information DB 25. If executed history information 4 including the task ID exists, the process moves to step S210.

この場合、要求されたタスクと同じ種類のタスクが実行された場合の処理時間が実行済みの履歴情報4に記録されていることになる。したがって、ステップS210において、CPU41は、要求されたタスクのタスクIDと同じタスクIDを含む実行済みの履歴情報4から処理時間を取得し、取得した処理時間を要求されたタスクの処理時間として推定する。なお、タスクの処理時間の推定方法について、第1実施形態において図6のステップS30で説明した各推定方法を適用してもよい。 In this case, the processing time when a task of the same type as the requested task is executed is recorded in the executed history information 4. Therefore, in step S210, the CPU 41 obtains the processing time from the executed history information 4 that includes the same task ID as the task ID of the requested task, and estimates the obtained processing time as the processing time of the requested task. . Note that each of the estimation methods described in step S30 of FIG. 6 in the first embodiment may be applied to the estimation method of the task processing time.

ステップS220において、CPU41は、ステップS210で推定した処理時間が閾値を超えるか否かを判定する。処理時間が閾値を超える場合、要求されたタスクは長期タスクということになるため、ステップS230に移行する。そして、ステップS230において、CPU41は通信ユニット47を制御して、タスクに対応付けたリクエストIDと共に、情報処理システム30に対してリクエストIDが対応付けられたタスクを長期インスタンス34に配置するように指示する配置指示を出力する。 In step S220, the CPU 41 determines whether the processing time estimated in step S210 exceeds a threshold value. If the processing time exceeds the threshold, the requested task is a long-term task, and the process moves to step S230. Then, in step S230, the CPU 41 controls the communication unit 47 to instruct the information processing system 30 to place the task associated with the request ID in the long-term instance 34 along with the request ID associated with the task. Outputs placement instructions.

そして、ステップS240において、CPU41は通信ユニット47を制御して、タスクに対応付けたリクエストIDと共に、情報処理システム30に対してタスクの実行を指示する実行指示を出力する。これにより、情報処理システム30は、実行を指示されたタスクが長期インスタンス34に配置するように指示されたタスクであれば、タスクを実行するノード32を長期インスタンス34に配置した上でタスクを実行する。 Then, in step S240, the CPU 41 controls the communication unit 47 to output an execution instruction for instructing the information processing system 30 to execute the task together with the request ID associated with the task. As a result, if the task instructed to be executed is a task instructed to be placed in the long-term instance 34, the information processing system 30 places the node 32 that executes the task in the long-term instance 34, and then executes the task. do.

一方、ステップS200の判定処理で、要求されたタスクのタスクIDと同じタスクIDを含む実行済みの履歴情報4が存在しないと判定された場合は、ステップS210~S230の処理を実行することなく、ステップS240に移行する。また、ステップS220の判定処理で、タスクの処理時間が閾値以下であると判定された場合、ステップS230の処理を実行することなく、ステップS240に移行する。すなわち、これらの場合には、ステップS230の処理でタスクを長期インスタンス34に配置するように指示する配置指示が情報処理システム30に出力されていないことから、情報処理システム30は、実行を指示されたタスクを長期インスタンス34とは異なるインスタンス34に配置する。 On the other hand, if it is determined in the determination process of step S200 that there is no executed history information 4 that includes the same task ID as the task ID of the requested task, the processes of steps S210 to S230 are not executed. The process moves to step S240. Further, if it is determined in the determination process of step S220 that the processing time of the task is equal to or less than the threshold value, the process proceeds to step S240 without executing the process of step S230. That is, in these cases, the information processing system 30 does not receive the instruction to execute the task because the placement instruction to place the task in the long-term instance 34 in the process of step S230 is not output to the information processing system 30. The task is placed in an instance 34 different from the long-term instance 34.

以上により、図9に示すノード32の配置制御処理を終了する。 With the above steps, the arrangement control process for the nodes 32 shown in FIG. 9 is completed.

制御装置20Aは、情報処理システム30が稼働している間、図6に示した再配置処理を実行してもよい。ただし、制御装置20Aでは、情報処理システム30にタスクを実行させる前に、図9に示すノード32の配置制御処理を実行している。したがって、同じ履歴情報4に基づいて、要求されたタスクが長期タスクか否かを判定することになるため、図6に示した再配置処理をそのまま実行しただけでは、情報処理システム30の構成が変化しないことがある。 The control device 20A may execute the relocation process shown in FIG. 6 while the information processing system 30 is operating. However, the control device 20A executes the arrangement control process for the nodes 32 shown in FIG. 9 before causing the information processing system 30 to execute the task. Therefore, it is determined whether the requested task is a long-term task based on the same history information 4. Therefore, if the relocation process shown in FIG. 6 is simply executed, the configuration of the information processing system 30 will change. Sometimes things don't change.

したがって、制御装置20AのCPU41は、図6に示した再配置処理のステップS30で選択ノード32の処理時間を推定する場合、例えばタスクを実行するのに選択ノード32で実際にかかっている時間(実時間)を情報処理システム30から取得する。 Therefore, when estimating the processing time of the selected node 32 in step S30 of the relocation process shown in FIG. real time) is acquired from the information processing system 30.

情報処理システム30にかかる負荷の相違等により、履歴情報4から推定した選択ノード32の処理時間と、選択ノード32の実際の処理時間がずれることも考えられるため、例えば履歴情報4からは要求されたタスクが長期タスクでないと推定される場合でも、実際には長期タスクとなることがある。この場合、タスクを実行している実時間が閾値を超える選択ノード32は、長期インスタンス34に配置されることになる。 The processing time of the selected node 32 estimated from the history information 4 may differ from the actual processing time of the selected node 32 due to differences in the load on the information processing system 30. Even if a task is presumed not to be a long-term task, it may actually be a long-term task. In this case, the selected nodes 32 whose actual time of executing the task exceeds the threshold will be placed in the long-term instance 34.

このように本実施の形態に係る制御装置20Aによれば、制御装置20Aが入力装置10からリクエストを受け付ける毎に、履歴情報DB25で管理される履歴情報4を参照して、要求されたタスクが長期タスクであるか否かを判定する。その上で、制御装置20は、要求されたタスクが長期タスクであると推定される場合には、要求されたタスクを実行するノード32が長期インスタンス34に配置されるように情報処理システム30を制御する。 As described above, according to the control device 20A according to the present embodiment, each time the control device 20A receives a request from the input device 10, the requested task is determined by referring to the history information 4 managed in the history information DB 25. Determine whether it is a long-term task. Then, if the requested task is estimated to be a long-term task, the control device 20 controls the information processing system 30 so that the node 32 that executes the requested task is placed in the long-term instance 34. Control.

<第3実施形態>
第1実施形態では、要求されたタスクの実行を情報処理システム30に依頼した後に、情報処理システム30の構成を変更する制御を行う制御装置20について説明した。また、第2実施形態では、要求されたタスクの実行を情報処理システム30に依頼する前に、情報処理システム30の構成を指定する制御を行う制御装置20Aについて説明した。
<Third embodiment>
In the first embodiment, a description has been given of the control device 20 that performs control to change the configuration of the information processing system 30 after requesting the information processing system 30 to execute a requested task. Furthermore, in the second embodiment, the control device 20A is described which performs control to specify the configuration of the information processing system 30 before requesting the information processing system 30 to execute a requested task.

本実施の形態では、例えばタスクの内容の変更に伴い、情報処理システム30のノード32で用いられるタスクの種類に対応したプログラムをバージョンアップする等、情報処理システム30の構成を変更した状況において、情報処理システム30で変更前の構成と変更後の構成を併存させる場合と比較して、情報処理システム30が提供するサービスを停止させることなく、構成の変更に伴う情報処理システム30のコストを抑制する制御装置20Bについて説明する。 In the present embodiment, in a situation where the configuration of the information processing system 30 is changed, for example, when the program corresponding to the type of task used in the node 32 of the information processing system 30 is updated due to a change in the content of the task, the configuration of the information processing system 30 is changed. Compared to the case where the configuration before the change and the configuration after the change coexist in the information processing system 30, the cost of the information processing system 30 due to the change in the configuration can be suppressed without stopping the services provided by the information processing system 30. The control device 20B will be explained.

なお、制御装置20Bを含む制御システム100のシステム構成例は、図1に示したシステム構成例と同じである。 Note that the system configuration example of the control system 100 including the control device 20B is the same as the system configuration example shown in FIG.

図10は、制御装置20Bの機能構成例を示す図である。図10に示す制御装置20Bの機能構成例が図3に示した制御装置20、20Aの機能構成例と異なる点は、バージョン管理部26及び受け渡し部28の各機能部と、バージョンDB27が追加された点であり、その他は図3に示した機能構成例と同じである。 FIG. 10 is a diagram showing an example of the functional configuration of the control device 20B. The functional configuration example of the control device 20B shown in FIG. 10 is different from the functional configuration example of the control devices 20 and 20A shown in FIG. The other points are the same as the functional configuration example shown in FIG.

情報処理システム30が提供するサービスがバージョンアップされると、それに伴い、タスクの内容も変化し、旧バージョンのサービスに対応した情報処理システム30のプログラムでは、新バージョンのサービスに対応したタスクを実行することができなくなる。一方、情報処理システム30におけるサービスの切り替え時には、サービスの切り替え前に受け付けた旧バージョンのサービスに対応したタスクと、サービスの切り替え後に受け付けた新バージョンのサービスに対応したタスクが混在する。こうした状態であっても、情報処理システム30は、各々のバージョンのサービスを提供する必要がある。 When the service provided by the information processing system 30 is upgraded, the contents of tasks change accordingly, and the program of the information processing system 30 that is compatible with the old version of the service will execute the task that is compatible with the new version of the service. be unable to do so. On the other hand, when switching services in the information processing system 30, tasks corresponding to the old version of the service accepted before the service switching and tasks corresponding to the new version of the service accepted after the service switching coexist. Even in this state, the information processing system 30 needs to provide each version of the service.

したがって、バージョン管理部26は、タスクの種類毎にタスクバージョンを管理する。なお、タスクバージョンと情報処理システム30で提供されるサービスのバージョンとは1対1に対応しており、サービスがバージョンアップされると、対応するタスクバージョンもバージョンアップされる。 Therefore, the version management unit 26 manages task versions for each type of task. Note that there is a one-to-one correspondence between the task version and the version of the service provided by the information processing system 30, and when the service is upgraded, the corresponding task version is also upgraded.

タスクの種類とタスクバージョンの対応付けはバージョン情報6で定義され、バージョンDB27で管理される。 The correspondence between task types and task versions is defined by version information 6 and managed by version DB 27.

図11は、バージョンDB27で管理されるバージョン情報6の一例を示す図である。図11に示すように、バージョン情報6には、タスクの種類を表すタスクIDと、タスクの最新バージョンを表すタスクバージョンがタスクの種類毎に対応付けられて管理される。図11のバージョン情報6の例によれば、タスクAのタスクバージョンは“1.0”で、タスクBのタスクバージョンは“2.0”であることを表している。 FIG. 11 is a diagram showing an example of version information 6 managed by the version DB 27. As shown in FIG. 11, in the version information 6, a task ID representing the type of task and a task version representing the latest version of the task are managed in association with each other for each type of task. According to the example of version information 6 in FIG. 11, the task version of task A is "1.0" and the task version of task B is "2.0".

受け渡し部28は、出力部24からリクエストIDと共に出力されたタスクをキュー29(図10参照)にキューイングする。受け渡し部28にはタスクの種類毎、かつ、タスクバージョン毎に予め複数のキュー29が用意されており、受け渡し部28は、要求されたタスクのタスクID及びタスクバージョンに対応したキュー29に、要求されたタスクをキューイングする。 The delivery unit 28 queues the task output together with the request ID from the output unit 24 in the queue 29 (see FIG. 10). The delivery unit 28 has a plurality of queues 29 prepared in advance for each type of task and each task version, and the delivery unit 28 sends the request to the queue 29 corresponding to the task ID and task version of the requested task. Queue the task that was created.

情報処理システム30は、何れのキュー29がどのタスクID及びタスクバージョンの組み合わせに対応したキュー29であるのかを規定したキュー情報を有しており、情報処理システム30は、キュー情報を参照してキュー29からタスクを取得する。すなわち、情報処理システム30は、取得したタスクのタスクID及びタスクバージョンを自ら判定しなくても、何れのキュー29からタスクを取得したかによって、取得したタスクのタスクID及びタスクバージョンが得られることになる。したがって、情報処理システム30は、タスクの種類及びバージョンに対応したノード32で、取得したタスクを実行すればよいことになる。 The information processing system 30 has queue information that defines which queue 29 corresponds to which combination of task ID and task version, and the information processing system 30 refers to the queue information. Obtain a task from queue 29. That is, the information processing system 30 can obtain the task ID and task version of the obtained task depending on which queue 29 the task was obtained from, without having to determine the task ID and task version of the obtained task by itself. become. Therefore, the information processing system 30 only needs to execute the acquired task at the node 32 corresponding to the type and version of the task.

制御装置20Bにおける電気系統の要部構成例は、図5に示した制御装置20における電気系統の要部構成例と同じく、コンピュータ40を用いて構成される。 The main part configuration example of the electrical system in the control device 20B is configured using the computer 40, similar to the main part configuration example of the electrical system in the control device 20 shown in FIG.

次に、情報処理システム30で特定のタスクを実行するプログラムのバージョンアップが行われた場合の制御装置20Bの動作について詳細に説明する。 Next, the operation of the control device 20B when a program for executing a specific task is upgraded in the information processing system 30 will be described in detail.

図12は、入力装置10からリクエストを受け付けた場合に、制御装置20BのCPU41によって実行されるノード32の配置制御処理における流れの一例を示すフローチャートである。 FIG. 12 is a flowchart illustrating an example of the flow of the node 32 placement control process executed by the CPU 41 of the control device 20B when a request is received from the input device 10.

ノード32の配置制御処理を規定する制御プログラムは、例えば制御装置20BのROM42に予め記憶されている。制御装置20BのCPU41は、ROM42に記憶される制御プログラムを読み込み、ノード32の配置制御処理を実行する。 A control program that defines the arrangement control process for the nodes 32 is stored in advance in the ROM 42 of the control device 20B, for example. The CPU 41 of the control device 20B reads the control program stored in the ROM 42 and executes the arrangement control process for the nodes 32.

図12に示すフローチャートが図9に示した第2実施形態に係るノード32の配置制御処理のフローチャートと異なる点は、ステップS240が削除され、その代わりにステップS250~S290が追加された点である。 The flowchart shown in FIG. 12 differs from the flowchart of the node 32 placement control process according to the second embodiment shown in FIG. 9 in that step S240 is deleted and steps S250 to S290 are added instead. .

要求されたタスクが長期タスクの場合に、要求されたタスクを長期インスタンス34に配置するように配置指示を情報処理システム30に出力した後、ステップS250が実行される。 If the requested task is a long-term task, step S250 is executed after outputting a placement instruction to the information processing system 30 to place the requested task in the long-term instance 34.

ステップS250において、CPU41は、タスクのバージョンアップが行われたか否かを判定する。なお、タスクのバージョンアップが行われたか否かの判定は、例えば、バージョンアップフラグがセットされているか否かによって判定すればよい。タスクのバージョンアップが行われている場合、ステップS260に移行する。 In step S250, the CPU 41 determines whether the task has been upgraded. Note that whether or not a task has been upgraded may be determined based on, for example, whether or not an upgrade flag has been set. If the version of the task has been updated, the process moves to step S260.

ステップS260において、CPU41は、バージョン情報6の更新を行う。例えばタスクAのタスクバージョンが“1.0”から“2.0”にバージョンアップされていれば、図11に示したバージョン情報6のタスクAのタスクバージョンを“2.0”に更新する。タスクのバージョンアップを確認したことから、CPU41はバージョンアップフラグをリセットする。 In step S260, the CPU 41 updates version information 6. For example, if the task version of task A has been upgraded from "1.0" to "2.0", the task version of task A in version information 6 shown in FIG. 11 is updated to "2.0". Having confirmed that the task has been upgraded, the CPU 41 resets the version upgrade flag.

ステップS270において、CPU41は、バージョンアップしたタスクに対応したキュー29を新たに生成する。 In step S270, the CPU 41 creates a new queue 29 corresponding to the upgraded task.

ステップS280において、CPU41は通信ユニット47を制御して、バージョンアップされたタスクの取得先となるキュー29の識別情報とバージョンアップされたタスクの種類を示すタスクIDを対応付けたキュー情報の更新指示を情報処理システム30に出力する。 In step S280, the CPU 41 controls the communication unit 47 and instructs the communication unit 47 to update the queue information in which the identification information of the queue 29 from which the upgraded task is obtained is associated with the task ID indicating the type of the upgraded task. is output to the information processing system 30.

これにより、キュー情報で旧バージョンのキュー29と対応付けられていた、バージョンアップされたタスクの取得先が、新たに生成された新しいバージョンのキュー29に変更される。 As a result, the acquisition destination of the upgraded task, which was associated with the old version of the queue 29 in the queue information, is changed to the newly generated new version of the queue 29.

したがって、キュー情報の更新指示を受け付けた情報処理システム30は、例えばタスクAのタスクバージョンが“1.0”から“2.0”にバージョンアップされた場合、キュー情報の更新指示を受け付ける前は、Aノード32が、タスクバージョンが“1.0”のタスクAがキューイングされるキュー29からタスクAを取得していたのが、キュー情報の更新指示を受け付けた後は、タスクバージョンが“2.0”のタスクAがキューイングされるキュー29からタスクAを取得するようになる。 Therefore, if the task version of task A is upgraded from "1.0" to "2.0", the information processing system 30 that has received the queue information update instruction will , the A node 32 had acquired task A from the queue 29 where task A with the task version "1.0" was queued, but after receiving the instruction to update the queue information, the task version becomes "1.0". 2.0'' task A is acquired from the queue 29 where task A is queued.

一方、ステップS250の判定処理で、タスクのバージョンアップは行われていないと判定された場合には、ステップS260~S280を実行することなく、ステップS290に移行する。 On the other hand, if it is determined in the determination process of step S250 that the task has not been upgraded, the process moves to step S290 without executing steps S260 to S280.

ステップS290において、CPU41はバージョン情報6を参照して、要求されたタスクのタスクIDからタスクバージョンを取得し、要求されたタスクのタスクID及びタスクバージョンに対応したキュー29に要求されたタスクをキューイングする。 In step S290, the CPU 41 refers to the version information 6, obtains the task version from the task ID of the requested task, and queues the requested task in the queue 29 corresponding to the task ID and task version of the requested task. ing.

以上により、図12に示したノード32の配置制御処理を終了する。 With the above steps, the arrangement control process for the nodes 32 shown in FIG. 12 is completed.

要求されたタスクが、バージョンアップされた長期タスクである場合には、要求されたタスクが長期インスタンス34に配置されるように、CPU41が情報処理システム30の構成を制御した上で、新たなバージョンに対応したキュー29に要求されたタスクをキューイングすることになる。 If the requested task is an upgraded long-term task, the CPU 41 controls the configuration of the information processing system 30 so that the requested task is placed in the long-term instance 34, and then updates the new version. The requested task will be queued in the queue 29 corresponding to.

なお、CPU41は、第3実施形態においても図8に示したリソースの解放処理を情報処理システム30が起動したタイミングで実行し、以後、情報処理システム30が稼働している間、リソースの解放処理が終了する毎に、リソースの解放処理を再開する。これにより、旧バージョンのタスクの実行が終了したノード32から順次削除され、最終的には、旧バージョンのタスクを実行していたノード32を含んでいたインスタンス34も削除される。すなわち、制御装置20Bは、情報処理システム30でプログラムのバージョンアップが行われたとしても、要求されたタスクの実行を停止させないようにした上で、プログラムのバージョンアップ前に用いていた情報処理システム30の構成を削除して、バージョンアップされたタスクを実行する情報処理システム30の構成を構築する制御を行う。 Note that in the third embodiment as well, the CPU 41 executes the resource release process shown in FIG. The resource release process is restarted each time the process is completed. As a result, the nodes 32 that have finished executing the old version tasks are sequentially deleted, and eventually the instances 34 that included the nodes 32 that were executing the old version tasks are also deleted. In other words, even if the program is upgraded in the information processing system 30, the control device 20B prevents the execution of the requested task from being stopped, and the control device 20B maintains the information processing system that was used before the program was upgraded. Control is performed to delete the configuration of the information processing system 30 and construct the configuration of the information processing system 30 that executes the updated task.

以上、各実施の形態を用いて本発明について説明したが、本発明は各実施の形態に記載の範囲には限定されない。本発明の要旨を逸脱しない範囲で各実施の形態に多様な変更または改良を加えることができ、当該変更または改良を加えた形態も本発明の技術的範囲に含まれる。例えば、本発明の要旨を逸脱しない範囲で処理の順序を変更してもよい。 Although the present invention has been described above using each embodiment, the present invention is not limited to the scope described in each embodiment. Various changes or improvements can be made to each embodiment without departing from the gist of the present invention, and forms with such changes or improvements are also included within the technical scope of the present invention. For example, the order of processing may be changed without departing from the gist of the present invention.

各実施の形態では、一例として各処理をソフトウェアで実現する形態について説明したが、図6、図8、図9、及び図12に示した各フローチャートと同等の処理を、例えばASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはPLD(Programmable Logic Device)に実装し、ハードウェアで処理させるようにしてもよい。この場合、各処理をそれぞれソフトウェアで実現した場合と比較して、処理の高速化が図られる。 In each of the embodiments, an example has been described in which each process is implemented using software. However, processes equivalent to each of the flowcharts shown in FIGS. 6, 8, 9, and 12 can be implemented using, for example, an ASIC (Application Specific Integrated Integrated It may also be implemented in a FPGA (Field Programmable Gate Array), a FPGA (Field Programmable Gate Array), or a PLD (Programmable Logic Device) and processed by hardware. In this case, the processing speed can be increased compared to the case where each process is implemented by software.

このように、CPU41を、例えばASIC、FPGA、PLD、GPU(Graphics Processing Unit)、及びFPU(Floating Point Unit)といった特定の処理に特化した専用のプロセッサに置き換えてもよい。 In this way, the CPU 41 may be replaced with a dedicated processor specialized for specific processing, such as an ASIC, FPGA, PLD, GPU (Graphics Processing Unit), and FPU (Floating Point Unit).

各実施形態におけるCPU41の動作は、1つのCPU41によって実現される形態の他、複数のCPU41によって実現されてもよい。更に、各実施形態におけるCPU41の動作は、物理的に離れた位置に存在する複数のコンピュータ40におけるCPU41の協働によって実現されるものであってもよい。 The operation of the CPU 41 in each embodiment may be realized not only by one CPU 41 but also by a plurality of CPUs 41. Furthermore, the operation of the CPU 41 in each embodiment may be realized by the cooperation of the CPUs 41 in a plurality of computers 40 located at physically separate locations.

また、各実施形態では、制御装置20、20A、20Bと情報処理システム30を個別に設置したが、制御装置20、20A、20Bと情報処理システム30を一体化して運用するようにしてもよい。 Further, in each embodiment, the control devices 20, 20A, 20B and the information processing system 30 are installed separately, but the control devices 20, 20A, 20B and the information processing system 30 may be integrated and operated.

また、上述した実施の形態では、制御プログラムがROM42にインストールされている形態を説明したが、これに限定されるものではない。本発明に係る制御プログラムは、コンピュータで読み取り可能な記憶媒体に記録された形態で提供することも可能である。例えば、本発明に係る制御プログラムを、CD(Compact Disc)-ROM、またはDVD(Digital Versatile Disc)-ROM等の光ディスクに記録した形態で提供してもよい。また、本発明に係る制御プログラムを、例えばUSB(Universal Serial Bus)メモリやメモリカードといった可搬型の半導体メモリに記録した形態で提供してもよい。 Further, in the above-described embodiment, the control program is installed in the ROM 42, but the present invention is not limited to this. The control program according to the present invention can also be provided in a form recorded on a computer-readable storage medium. For example, the control program according to the present invention may be provided in a form recorded on an optical disc such as a CD (Compact Disc)-ROM or a DVD (Digital Versatile Disc)-ROM. Further, the control program according to the present invention may be provided in a form recorded in a portable semiconductor memory such as a USB (Universal Serial Bus) memory or a memory card.

2 通信回線、4 履歴情報、6 バージョン情報、10 入力装置、20(20A、20B) 制御装置、21 受付部、22 制御部、23 履歴管理部、24 出力部、25 履歴情報DB、26 バージョン管理部、27 バージョンDB、28 受け渡し部、29 キュー、30 情報処理システム、32 ノード、34 インスタンス、40 コンピュータ、41 CPU、42 ROM、43 RAM、44 不揮発性メモリ、47 通信ユニット、48 入力ユニット、49 表示ユニット、100 制御システム 2 communication line, 4 history information, 6 version information, 10 input device, 20 (20A, 20B) control device, 21 reception section, 22 control section, 23 history management section, 24 output section, 25 history information DB, 26 version management section, 27 version DB, 28 delivery section, 29 queue, 30 information processing system, 32 node, 34 instance, 40 computer, 41 CPU, 42 ROM, 43 RAM, 44 non-volatile memory, 47 communication unit, 48 input unit, 49 Display unit, 100 control system

Claims (8)

要求された処理を受け付ける情報処理システムに構築された、構成の変更対象となっている複数の処理環境の各々で、受け付けた処理を実行する少なくとも1つの処理実体が稼働している場合、処理時間に関して予め定めた条件を満たす処理を実行する前記処理実体を特定処理環境に集約した上で、各々の前記処理実体の処理を継続させ、前記処理実体での処理の終了に伴い前記処理実体が存在しなくなった前記処理環境から順に前記処理環境を削除し、最後に前記特定処理環境を削除することによって、使用されなくなった前記情報処理システムのリソースを順次解放するように前記情報処理システムを制御する制御部
を備えた制御装置。
If at least one processing entity that executes the received processing is running in each of the multiple processing environments whose configuration is being changed, which is built in the information processing system that accepts the requested processing, the processing time The processing entities that execute processing that satisfy predetermined conditions for are aggregated into a specific processing environment, and the processing of each processing entity is continued , and when the processing in the processing entity is completed, the processing entity exists. controlling the information processing system to sequentially release resources of the information processing system that are no longer being used by deleting the processing environments in order from the processing environment that is no longer being used, and finally deleting the specific processing environment; A control device equipped with a control section.
前記予め定めた条件が、処理を開始してから終了するまでの処理時間が閾値を超えるという条件に設定された
請求項1記載の制御装置。
The control device according to claim 1, wherein the predetermined condition is that a processing time from the start to the end of the process exceeds a threshold value.
前記制御部は、これまでに実行した実行済み処理の処理時間と前記実行済み処理の処理条件が記録された履歴情報を参照して、要求された処理に対応する前記実行済み処理の前記履歴情報から要求された処理の処理時間を推定し、前記情報処理システムに対して前記処理実体の再配置を指示する制御を行う
請求項2記載の制御装置。
The control unit refers to history information in which processing times of executed processes executed so far and processing conditions of the executed processes are recorded, and determines the history information of the executed processes corresponding to the requested process. 3. The control device according to claim 2, wherein the control device estimates a processing time of a process requested by the information processing system and instructs the information processing system to relocate the processing entity.
前記履歴情報における処理条件として、前記実行済み処理の要求に伴って受け付けたデータのデータサイズが記録されている場合、
前記制御部は、要求された処理に対応する前記実行済み処理におけるデータサイズの処理時間から、要求されたタスクの処理時間を推定する制御を行う
請求項3記載の制御装置。
When the data size of data received in response to a request for the executed process is recorded as a processing condition in the history information,
The control device according to claim 3, wherein the control unit performs control to estimate the processing time of the requested task from the processing time of the data size in the executed process corresponding to the requested process.
前記制御部は、要求された処理の処理順序に関する優先度が前記処理実体で実行されている他の処理より低く設定されている場合、推定した処理時間を設定された優先度に応じて延長する制御を行う
請求項3または請求項4記載の制御装置。
When the priority regarding the processing order of the requested process is set lower than other processes being executed in the processing entity, the control unit extends the estimated processing time according to the set priority. The control device according to claim 3 or 4, which performs control.
前記制御部は、実行前の要求に対して推定される処理時間が前記閾値を超える場合、前記実行前の要求を実行する前記処理実体を前記特定処理環境に配置するように前記情報処理システムを制御する
請求項3~請求項5の何れか1項に記載の制御装置。
The control unit controls the information processing system to place the processing entity that executes the pre-execution request in the specific processing environment when the estimated processing time for the pre-execution request exceeds the threshold. The control device according to any one of claims 3 to 5, which controls.
前記制御部は、前記情報処理システムが稼働している期間に、前記情報処理システムに対して前記処理実体の再配置を複数回指示する制御を行う
請求項3~請求項6の何れか1項に記載の制御装置。
The control unit performs control to instruct the information processing system to relocate the processing entity multiple times during a period when the information processing system is in operation. The control device described in .
コンピュータを、請求項1~請求項の何れか1項に記載の制御装置の制御部として機能させるための制御プログラム。
A control program for causing a computer to function as a control unit of a control device according to any one of claims 1 to 7 .
JP2019127717A 2019-07-09 2019-07-09 Control device and control program Active JP7415351B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019127717A JP7415351B2 (en) 2019-07-09 2019-07-09 Control device and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019127717A JP7415351B2 (en) 2019-07-09 2019-07-09 Control device and control program

Publications (2)

Publication Number Publication Date
JP2021012643A JP2021012643A (en) 2021-02-04
JP7415351B2 true JP7415351B2 (en) 2024-01-17

Family

ID=74227449

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019127717A Active JP7415351B2 (en) 2019-07-09 2019-07-09 Control device and control program

Country Status (1)

Country Link
JP (1) JP7415351B2 (en)

Also Published As

Publication number Publication date
JP2021012643A (en) 2021-02-04

Similar Documents

Publication Publication Date Title
EP3201762B1 (en) Dynamic code deployment and versioning
CN108984266B (en) Virtual machine management method, device and system
US9729488B2 (en) On-demand mailbox synchronization and migration system
CN109189324B (en) Data migration method and device
JP5627187B2 (en) Information processing apparatus, information processing method, and program
WO2012056596A1 (en) Computer system and processing control method
CN112860382A (en) Threading as a service
JP2004280485A (en) Computer system
JP2005534116A (en) A method for dynamically allocating and managing resources in a multi-consumer computer system.
JP2012088901A (en) Software management device, software management method, and software management program
KR20130061734A (en) Cloud-shared resource providing system
US20150154042A1 (en) Computer system and control method for virtual machine
US20210326161A1 (en) Apparatus and method for multi-cloud service platform
WO2012053393A1 (en) Method and device for deploying virtual computers
US10845997B2 (en) Job manager for deploying a bundled application
JP2019086949A (en) Information processing device, information processing system, and program
JP5867238B2 (en) Auto scaling method, auto scaling program and computer node
JP7415351B2 (en) Control device and control program
JP2012181578A (en) Update control device and program
US10001934B2 (en) Information processing apparatus, information processing system, and information processing method
JP2007179100A (en) Job queue system and job management method, control program, and computer-readable recording medium
WO2020031675A1 (en) Scheduling device, scheduling system, scheduling method, program, and non-transitory computer-readable medium
US11526468B2 (en) Management system and control method
US20180150336A1 (en) Management system and control method
JP7434893B2 (en) Information processing management device and information processing management method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230822

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: 20231205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231218

R150 Certificate of patent or registration of utility model

Ref document number: 7415351

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150