JP6962142B2 - Programs and information processing equipment - Google Patents

Programs and information processing equipment Download PDF

Info

Publication number
JP6962142B2
JP6962142B2 JP2017215665A JP2017215665A JP6962142B2 JP 6962142 B2 JP6962142 B2 JP 6962142B2 JP 2017215665 A JP2017215665 A JP 2017215665A JP 2017215665 A JP2017215665 A JP 2017215665A JP 6962142 B2 JP6962142 B2 JP 6962142B2
Authority
JP
Japan
Prior art keywords
function
plug
unit
virtual machine
activation
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
JP2017215665A
Other languages
Japanese (ja)
Other versions
JP2019087098A (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 JP2017215665A priority Critical patent/JP6962142B2/en
Publication of JP2019087098A publication Critical patent/JP2019087098A/en
Application granted granted Critical
Publication of JP6962142B2 publication Critical patent/JP6962142B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、プログラム及び情報処理装置に関する。 The present invention relates to a program and an information processing device.

特許文献1には、ジョブ処理装置の動作状況を監視し、規定数を超えるジョブを処理している場合にタスクを増加させるスケールアウトを指示し、その後スループットが向上されていないと確認した場合にはタスクを削除するスケールインを指示する技術が開示されている。 In Patent Document 1, when the operating status of the job processing device is monitored, a scale-out is instructed to increase the number of tasks when processing a specified number of jobs, and then it is confirmed that the throughput is not improved. Discloses a technique for instructing scale-in to delete a task.

特開2014−149690号公報Japanese Unexamined Patent Publication No. 2014-149690

特許文献1の技術では、スケールアウト及びスケールインのいずれの場合でも、要求された処理(ジョブ)が実行された後でなければ対処がなされない。
そこで、本発明は、要求された処理が実行される前から処理の早期終了のための対処を行うことを目的とする。
In the technique of Patent Document 1, in either case of scale-out or scale-in, no action is taken until after the requested process (job) has been executed.
Therefore, an object of the present invention is to take measures for early termination of the processing before the requested processing is executed.

本発明の請求項1に係るプログラムは、コンピュータを、仮想マシン上で起動される機能により実行される処理の要求を受け取ると当該機能を示す機能情報を生成する生成部と、生成された前記機能情報を一時的に蓄積する一時蓄積部と、前記処理の要求に基づいて当該処理を実行することが見込まれる機能を特定する特定部と、特定された前記機能を仮想マシン上で起動させる第1起動部と、前記一時蓄積部から読み出される前記機能情報が示す機能を仮想マシン上で起動させる第2起動部であって、当該機能が前記第1起動部により既に起動されている場合には当該機能を起動させない第2起動部として機能させることを特徴とする。 The program according to claim 1 of the present invention includes a generator that generates functional information indicating the function when the computer receives a request for processing executed by the function started on the virtual machine, and the generated function. A temporary storage unit that temporarily stores information, a specific unit that specifies a function that is expected to execute the process based on the request for the process, and a first unit that activates the specified function on a virtual machine. A second activation unit that activates the activation unit and the function indicated by the function information read from the temporary storage unit on the virtual machine, and if the function has already been activated by the first activation unit, the relevant function is applicable. It is characterized in that it functions as a second activation unit that does not activate the function.

本発明の請求項2に係るプログラムは、請求項1に記載の構成において、前記コンピュータを、前記第1起動部又は前記第2起動部により前記機能が起動される場合に当該機能が前記処理を実行する際に使用するリソースを有する仮想マシンを起動させる仮想マシン起動部として機能させることを特徴とする。 In the program according to claim 2 of the present invention, in the configuration according to claim 1, when the function is activated by the first activation unit or the second activation unit of the computer, the function performs the processing. It is characterized in that it functions as a virtual machine starter for starting a virtual machine having resources used for execution.

本発明の請求項3に係るプログラムは、請求項1又は2に記載の構成において、前記コンピュータを、前記処理を実行していない機能が起動されている仮想マシンを停止させる仮想マシン停止部であって、当該機能が前記一時蓄積部に蓄積されている前記機能情報が示す機能である場合は当該機能を停止させない仮想マシン停止部として機能させることを特徴とする。 The program according to claim 3 of the present invention is a virtual machine stop unit that stops a virtual machine in which a function that does not execute the process is activated in the configuration according to claim 1 or 2. When the function is a function indicated by the function information stored in the temporary storage unit, it is characterized by functioning as a virtual machine stop unit that does not stop the function.

本発明の請求項4に係るプログラムは、請求項3に記載の構成において、前記仮想マシン停止部は、前記処理を実行していない機能が、別の前記要求に基づいて当該処理を実行することが見込まれる機能として前記特定部により特定された場合は当該仮想マシンを停止させないことを特徴とする。 In the program according to claim 4 of the present invention, in the configuration according to claim 3, the function that does not execute the process in the virtual machine stop unit executes the process based on another request. The virtual machine is not stopped when it is specified by the specific unit as a function expected to be.

本発明の請求項5に係るプログラムは、請求項1から4のいずれか1項に記載の構成において、前記特定部は、前記要求がされた処理のパラメータ又は当該処理の要求の履歴から起動される可能性が他の機能に比べて高いことが表される機能を前記実行することが見込まれる機能として特定することを特徴とする。 In the configuration according to any one of claims 1 to 4, the program according to claim 5 of the present invention is activated from the parameter of the requested process or the history of the request for the process. It is characterized in that a function that is represented to have a higher possibility of being executed than other functions is specified as a function that is expected to be executed.

本発明の請求項6に係るプログラムは、請求項1から5のいずれか1項に記載の構成において、前記第1起動部は、特定された前記機能の起動に要する時間が短いほど当該機能を起動させる時期を遅くすることを特徴とする。 In the program according to claim 6 of the present invention, in the configuration according to any one of claims 1 to 5, the first activation unit performs the function as the time required for activating the specified function is shorter. It is characterized by delaying the activation time.

本発明の請求項7に係るプログラムは、請求項1から6のいずれか1項に記載の構成において、前記第1起動部は、前記一時蓄積部に蓄積されている前記機能情報が多いほど特定された前記機能を起動させる時期を遅くすることを特徴とする。 The program according to claim 7 of the present invention has the configuration according to any one of claims 1 to 6, and the first activation unit is specified as the amount of functional information stored in the temporary storage unit increases. It is characterized in that the timing for activating the said function is delayed.

本発明の請求項8に係るプログラムは、請求項1から7のいずれか1項に記載の構成において、前記機能には複数の種類があり、前記第1起動部は、前記種類が共通し且つ起動済みの機能の数が少ないほど特定された当該種類の機能を起動させる時期を早くすることを特徴とする。 The program according to claim 8 of the present invention has a plurality of types of the functions in the configuration according to any one of claims 1 to 7, and the first activation unit has the same type. The smaller the number of activated functions is, the earlier the time to activate the specified function is characterized.

本発明の請求項9に係るプログラムは、請求項1から8のいずれか1項に記載の構成において、前記処理は、複数の機能により順番に実行され、前記第1起動部は、当該機能の前記順番が早いほど特定された前記機能を起動させる時期を早くすることを特徴とする。 In the program according to claim 9 of the present invention, in the configuration according to any one of claims 1 to 8, the processes are sequentially executed by a plurality of functions, and the first activation unit is the function of the function. The earlier the order is, the earlier the time to activate the specified function is.

本発明の請求項10に係るプログラムは、請求項1から9のいずれか1項に記載の構成において、前記機能には複数の種類があり、前記第1起動部は、特定された前記機能と同種の機能の起動回数が多いほど特定された当該機能を起動させる時期を早くすることを特徴とする。 The program according to claim 10 of the present invention has a plurality of types of the functions in the configuration according to any one of claims 1 to 9, and the first activation unit has the specified function. The feature is that the more times the same type of function is activated, the earlier the specified function is activated.

本発明の請求項11に係るプログラムは、請求項1から10のいずれか1項に記載の構成において、コンピュータを、蓄積されている前記機能情報が示す機能により実行される処理に要する時間を算出する算出部として機能させ、前記第1起動部は、特定された前記機能を示す前記機能情報よりも前に蓄積された前記機能情報について算出された前記時間が長いほど仮想マシン上で当該機能を起動させる時期を遅くすることを特徴とする。 The program according to claim 11 of the present invention calculates the time required for the computer to be executed by the function indicated by the stored functional information in the configuration according to any one of claims 1 to 10. The first activation unit functions as a calculation unit, and the longer the time calculated for the function information accumulated before the function information indicating the specified function, the longer the function is performed on the virtual machine. It is characterized by delaying the activation time.

本発明の請求項12に係るプログラムは、請求項6から11のいずれか1項に記載の構成において、前記コンピュータを、前記処理が完了した前記機能を停止させる機能停止部として機能させ、前記第1起動部は、仮想マシン上の前記機能が前記処理を完了して停止されると、特定された前記機能を当該仮想マシン上で起動し、当該機能については前記時期を変化させる制御を行わないことを特徴とする。 In the configuration according to any one of claims 6 to 11, the program according to claim 12 of the present invention causes the computer to function as a function stop unit for stopping the function for which the process has been completed. 1 When the function on the virtual machine is stopped after completing the process, the activation unit starts the specified function on the virtual machine and does not control the function to change the timing. It is characterized by that.

本発明の請求項13に係るプログラムは、請求項1から12のいずれか1項に記載の構成において、前記機能には複数の種類があり、前記第1起動部は、特定された前記機能と同種の機能が前記処理を実行していない状態で存在する場合は、特定された当該機能の起動を行わず、前記コンピュータを、前記第1起動部が前記機能の起動を行わない場合に、前記状態で存在する機能を制御して前記要求がされた処理を実行させる実行制御部として機能させることを特徴とする。 The program according to claim 13 of the present invention has a plurality of types of the functions in the configuration according to any one of claims 1 to 12, and the first activation unit has the specified function. When the same type of function exists in a state where the process is not executed, the specified function is not activated, and the computer is used, and the first activation unit does not activate the function. It is characterized in that it functions as an execution control unit that controls a function existing in the state and executes the requested process.

本発明の請求項14に係る情報処理装置は、仮想マシン上で起動される機能により実行される処理の要求を受け取ると当該機能を示す機能情報を生成する生成部と、生成された前記機能情報を一時的に蓄積する一時蓄積部と、前記処理の要求に基づいて当該処理を実行することが見込まれる機能を特定する特定部と、特定された前記機能を仮想マシン上で起動させる第1起動部と、前記一時蓄積部から読み出される前記機能情報が示す機能を仮想マシン上で起動させる第2起動部であって、当該機能が前記第1起動部により既に起動されている場合には当該機能を起動させない第2起動部とを備えることを特徴とする。 The information processing device according to claim 14 of the present invention includes a generation unit that generates functional information indicating the function when receiving a request for processing executed by a function started on the virtual machine, and the generated functional information. A temporary storage unit that temporarily stores A second activation unit that activates a unit and a function indicated by the function information read from the temporary storage unit on a virtual machine, and if the function has already been activated by the first activation unit, the function is activated. It is characterized by including a second activation unit that does not activate.

請求項1、14に係る発明によれば、要求された処理が実行される前から処理の早期終了のための対処を行うことができる。
請求項2に係る発明によれば、複数の機能に必要なリソースを有する仮想マシンを予め起動する場合に比べて、仮想マシンを起動したときに必要なリソースの量を少なくすることができる。
請求項3に係る発明によれば、第1起動部により起動された機能を停止させる場合に比べて、その機能が実行する見込みであった処理とは別の処理の開始を早期化することができる。
請求項4に係る発明によれば、要求された処理を実行することが見込まれて起動された機能を停止させる場合に比べて、その要求とは別の要求に基づくその処理の開始を早期化することができる。
請求項5に係る発明によれば、機能を定義した情報がなくても機能の特定を可能にすることができる。
請求項6に係る発明によれば、起動時期を一律にする場合に比べて、起動した機能が処理を実行可能になる時期を近くすることができる。
請求項7、11に係る発明によれば、起動時期を一律にする場合に比べて、機能が処理を実行していないのに仮想マシンが起動している状態となる期間を短くすることができる。
請求項8に係る発明によれば、起動時期を一律にする場合に比べて、起動済みの同種の機能の数が少なくても処理の遅延を生じにくくすることができる。
請求項9、10に係る発明によれば、起動時期を一律にする場合に比べて、特定された機能による処理の遅延が後続の処理に与える影響を小さくすることができる。
請求項12に係る発明によれば、特定された機能の起動時期を遅らせる場合に比べて、処理の早期終了の可能性を高めることができる。
請求項13に係る発明によれば、仮想マシン及び機能を再利用しない場合に比べて、処理の早期終了の可能性を高めることができる。
According to the inventions of claims 1 and 14, measures can be taken for early termination of the processing before the requested processing is executed.
According to the second aspect of the present invention, the amount of resources required when starting a virtual machine can be reduced as compared with the case where a virtual machine having resources required for a plurality of functions is started in advance.
According to the third aspect of the present invention, it is possible to accelerate the start of a process different from the process that the function was expected to execute, as compared with the case where the function activated by the first activation unit is stopped. can.
According to the invention of claim 4, the start of the process based on a request different from the request is accelerated as compared with the case where the function activated due to the expected execution of the requested process is stopped. can do.
According to the invention of claim 5, it is possible to specify the function without the information defining the function.
According to the invention of claim 6, the time when the activated function can execute the process can be approached as compared with the case where the activation time is made uniform.
According to the inventions of claims 7 and 11, it is possible to shorten the period during which the virtual machine is started even though the function is not executing the process, as compared with the case where the start time is uniform. ..
According to the invention of claim 8, it is possible to reduce the delay in processing even if the number of activated functions of the same type is small, as compared with the case where the activation timing is uniform.
According to the inventions of claims 9 and 10, the influence of the delay in the processing due to the specified function on the subsequent processing can be reduced as compared with the case where the activation timing is made uniform.
According to the invention of claim 12, the possibility of early termination of the process can be increased as compared with the case where the activation time of the specified function is delayed.
According to the invention of claim 13, the possibility of early termination of processing can be increased as compared with the case where the virtual machine and the function are not reused.

実施例に係るタスクサービス提供システムの全体構成を表す図Diagram showing the overall configuration of the task service providing system according to the embodiment サーバ装置のハードウェア構成を表す図Diagram showing the hardware configuration of the server device クラウドシステム4が実現する機能構成を表す図Diagram showing the functional configuration realized by the cloud system 4 タスク定義部102が記憶する情報の一例を表す図The figure which shows an example of the information which the task definition part 102 stores. テスク定義情報の一例を表す図Diagram showing an example of TISC definition information リクエストパラメータ情報の一例を表す図Diagram showing an example of request parameter information 履歴情報の一例を表す図Diagram showing an example of historical information タスク処理におけるクラウドシステム4の動作手順の一例を表す図The figure which shows an example of the operation procedure of the cloud system 4 in task processing スケールイン処理におけるクラウドシステム4の動作手順の一例を表す図The figure which shows an example of the operation procedure of the cloud system 4 in scale-in processing 起動時期テーブルの一例を表す図Diagram showing an example of startup time table 起動時期テーブルの別の一例を表す図Diagram showing another example of the startup time table 起動時期テーブルの別の一例を表す図Diagram showing another example of the startup time table 起動時期テーブルの別の一例を表す図Diagram showing another example of the startup time table 起動時期テーブルの別の一例を表す図Diagram showing another example of the startup time table 起動時期テーブルの別の一例を表す図Diagram showing another example of the startup time table

[1]実施例
図1は実施例に係るタスクサービス提供システム1の全体構成を表す。タスクサービス提供システム1は、タスクサービスをユーザに提供するためのシステムである。タスクサービス提供システム1では、予め定義された一連の処理を実行することによって完了する作業のことをタスクと言う。例えば領収書やレシートを読み取って経費精算システムに格納する作業のことを経費精算タスクと言う。
[1] Example FIG. 1 shows the overall configuration of the task service providing system 1 according to the embodiment. The task service providing system 1 is a system for providing a task service to a user. In the task service providing system 1, a task completed by executing a series of predefined processes is called a task. For example, the work of reading receipts and receipts and storing them in the expense reimbursement system is called an expense reimbursement task.

また、ユーザからの要求に基づいてタスクを実行するサービスをタスクサービスと言う。なお、タスクを実行するとは、詳細にはそのタスクに含まれる処理、すなわちタスクを完了させるために定義された一連の処理を実行することを意味し、タスクの実行を要求するとは、そのタスクに含まれる処理を要求すること(処理の実行を要求することと同義)を意味する。 A service that executes a task based on a request from a user is called a task service. In addition, executing a task means executing the processing included in the task in detail, that is, executing a series of processing defined to complete the task, and requesting the execution of the task means that the task is executed. It means requesting the included processing (synonymous with requesting the execution of the processing).

タスクサービス提供システム1は、通信回線2と、ユーザ端末3と、クラウドシステム4とを備える。通信回線2は、例えばインターネット、移動体通信網及び電話回線等を含み、自回線に接続されている装置同士の通信を仲介する。通信回線2には、ユーザ端末3及びクラウドシステム4が接続されている。 The task service providing system 1 includes a communication line 2, a user terminal 3, and a cloud system 4. The communication line 2 includes, for example, the Internet, a mobile communication network, a telephone line, and the like, and mediates communication between devices connected to the own line. The user terminal 3 and the cloud system 4 are connected to the communication line 2.

ユーザ端末3は、タスクサービス提供システム1を利用するユーザが使用する端末である。ユーザ端末3は、例えば、店舗に設置される画像形成装置であり、コピー機能及びスキャン機能等を備えている。図1ではユーザ端末3が1台しか表されていないが、複数のユーザ端末3が使用されているものとする。ユーザ端末3は、ユーザの操作によりタスクの実行(詳細にはそのタスクに含まれる処理の実行)をクラウドシステム4に対して要求し、要求したタスクの実行結果を受け取って例えばその実行結果に応じた画面を表示する。 The user terminal 3 is a terminal used by a user who uses the task service providing system 1. The user terminal 3 is, for example, an image forming apparatus installed in a store, and has a copy function, a scan function, and the like. Although only one user terminal 3 is shown in FIG. 1, it is assumed that a plurality of user terminals 3 are used. The user terminal 3 requests the cloud system 4 to execute a task (specifically, execution of a process included in the task) by a user operation, receives the execution result of the requested task, and responds to, for example, the execution result. Display the screen.

クラウドシステム4は、各々がインスタンスと呼ばれる仮想マシンを実現する複数のサーバ装置10を備える。このクラウドシステム4を提供するクラウドサービス事業者は、タスクサービスを提供するタスクサービス事業者とは異なっているものとする。クラウドシステム4においては、インスタンス毎に、そのインスタンスの使用するリソース量及び使用時間に応じた課金がなされる。 The cloud system 4 includes a plurality of server devices 10 each of which realizes a virtual machine called an instance. The cloud service provider that provides the cloud system 4 is different from the task service provider that provides the task service. In the cloud system 4, each instance is charged according to the amount of resources used by the instance and the usage time.

そのため、クラウドシステム4においては、インスタンスを必要に応じて増減させるオートスケールが行われる。本実施例では、タスクに含まれる処理をインスタンス上で実行し、且つ、それらのインスタンスについてオートスケールを行う。例えば処理を実行していないインスタンスを停止(スケールイン)することで課金される料金を抑えるようにしたり、処理を実行しているインスタンスのリソース(CPU(Central Processing Unit)やメモリなど)の使用率が閾値を超える場合には新たなインスタンスを起動(スケールアウト)して処理の遅延を抑えたりしている。 Therefore, in the cloud system 4, auto-scaling is performed to increase or decrease the number of instances as needed. In this embodiment, the processes included in the task are executed on the instances, and the instances are autoscaled. For example, you can reduce the charge by stopping (scale-in) an instance that is not executing processing, or use the resources (CPU (Central Processing Unit), memory, etc.) of the instance that is executing processing. When exceeds the threshold, a new instance is started (scaled out) to suppress the processing delay.

図2はサーバ装置10のハードウェア構成を表す。サーバ装置10は、CPU11と、RAM(Random Access Memory)12と、ROM(Read Only Memory)13と、通信部14と、ストレージ15とを備えるコンピュータである。CPU11は、メモリであるRAM12をワークエリアとして用いてROM13やストレージ15に記憶されているプログラムを実行することで各部の動作を制御する。通信部14は、通信回路等を有し、通信回線2を介して外部装置と通信を行う。ストレージ15は、HDD(Hard Disk Drive)やSSD(Solid State Drive)、フラッシュメモリなどの記憶手段であり、CPU11が制御に用いるデータやプログラムを記憶している。 FIG. 2 shows the hardware configuration of the server device 10. The server device 10 is a computer including a CPU 11, a RAM (Random Access Memory) 12, a ROM (Read Only Memory) 13, a communication unit 14, and a storage 15. The CPU 11 controls the operation of each part by executing a program stored in the ROM 13 or the storage 15 using the RAM 12 which is a memory as a work area. The communication unit 14 has a communication circuit or the like, and communicates with an external device via the communication line 2. The storage 15 is a storage means such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), and a flash memory, and stores data and programs used by the CPU 11 for control.

クラウドシステム4が備える複数のサーバ装置10の各CPU11がプログラムを実行して各部を制御することで、以下に述べる機能が実現される。
図3はクラウドシステム4が実現する機能構成を表す。クラウドシステム4は、タスクサービス部101と、タスク定義部102と、キュー103と、プラグイン管理部104と、プラグイン実行部105と、タスク要求情報管理部111と、タスク定義情報記憶部112と、リクエストパラメータ情報記憶部113と、履歴情報記憶部114と、オートスケール管理部115とを備える。
The functions described below are realized by each CPU 11 of the plurality of server devices 10 included in the cloud system 4 executing a program to control each unit.
FIG. 3 shows a functional configuration realized by the cloud system 4. The cloud system 4 includes a task service unit 101, a task definition unit 102, a queue 103, a plug-in management unit 104, a plug-in execution unit 105, a task request information management unit 111, and a task definition information storage unit 112. A request parameter information storage unit 113, a history information storage unit 114, and an autoscale management unit 115 are provided.

ユーザ端末3は、ユーザによって操作されて、タスクの実行を要求する要求データを生成してクラウドシステム4に送信する。要求データは、実行するタスクで用いるタスク定義を識別するタスク定義ID(Identification)と、文書(例えば原稿をスキャンした画像データ)を処理するタスクである場合はその文書と、そのタスクにおいて実行される処理の内容(処理で用いられるパラメータ等)とを示すデータである。 The user terminal 3 is operated by the user to generate request data requesting execution of a task and transmit it to the cloud system 4. The request data is a task definition ID (Identification) that identifies the task definition used in the task to be executed, the document if it is a task for processing a document (for example, image data obtained by scanning a manuscript), and the task to be executed. It is data which shows the content of processing (parameters used in processing, etc.).

まず、要求されたタスクの実行に関する機能構成について説明する。タスクサービス部101は、ユーザ端末3から送信されてくる要求データを受け取って、その要求データに基づいてタスク定義部102から必要な情報を読み出し、要求されたタスクを実行するためのメッセージを生成する。 First, the functional configuration related to the execution of the requested task will be described. The task service unit 101 receives the request data transmitted from the user terminal 3, reads necessary information from the task definition unit 102 based on the request data, and generates a message for executing the requested task. ..

タスクの実行には、本実施例では、プラグインと呼ばれる機能が用いられる。プラグインは、プログラム、データ及びパラメータ等を読み出してメモリ上に展開することで起動され、起動が完了すると処理を実行可能な状態になる。タスクサービス提供システム1においては、タスクに含まれる各処理(矩形画像抽出、文書分割及びOCR(Optical Character Recognition)等の処理)に対して、それぞれ対応するプラグインが用意されている。つまり、1つのプラグインは、それに対応する1つの処理を実行する。 In this embodiment, a function called a plug-in is used to execute the task. The plug-in is started by reading a program, data, parameters, etc. and expanding it on the memory, and when the start is completed, the process becomes ready to be executed. In the task service providing system 1, a plug-in corresponding to each process included in the task (processing such as rectangular image extraction, document division, and OCR (Optical Character Recognition)) is prepared. That is, one plug-in executes one corresponding process.

メッセージには、タスクに含まれる各処理を実行する各プラグインを起動するための情報として、各プラグインの呼び出しコマンドが含まれている。タスク定義部102は、各タスクのタスク定義IDに対応付けて、そのタスクに含まれる各処理を実行する各プラグインのプラグインIDと、それらのプラグインの呼び出しコマンドと、各プラグインが実行する処理の順序とを記憶している。 The message includes a command to call each plug-in as information for starting each plug-in that executes each process included in the task. The task definition unit 102 associates the task definition ID of each task with the plug-in ID of each plug-in that executes each process included in the task, the call command of those plug-ins, and the execution of each plug-in. It remembers the order of processing to be performed.

図4はタスク定義部102が記憶する情報の一例を表す。図4の例では、タスク定義部102は、「TASK01」というタスク定義IDに「PLUG13」(経費精算データ送信)、「PLUG01」(矩形画像抽出)、「PLUG08」(文書分割)というプラグインIDと、それらの呼び出しコマンドと、それらの処理の順序とが対応付けられている。また、「TASK02」というタスク定義IDには、「PLUG02」(OCR)、「PLUG11」(コンバージョン)というプラグインIDと、それらの呼び出しコマンドと、それらの処理の順序とが対応付けられている。 FIG. 4 shows an example of the information stored in the task definition unit 102. In the example of FIG. 4, the task definition unit 102 has a task definition ID of "TASK01" and a plug-in ID of "PLUG13" (expense settlement data transmission), "PLUG01" (rectangular image extraction), and "PLUG08" (document division). , And their calling commands, and the order of their processing. Further, the task definition ID "TASK02" is associated with the plug-in IDs "PLUG02" (OCR) and "PLUG11" (conversion), their calling commands, and the order of their processing.

タスクサービス部101は、上記の要求データが示すタスク定義IDに対応付けられている処理順序の順番で呼び出しコマンドを読み出して、その呼び出しコマンドと、要求データが示す処理の内容とを含むメッセージを生成する。タスクサービス部101は、例えば要求データが「TASK01」というタスク定義IDを示していれば、「TASK01」に対応付けられた処理の順序が「1」の「PLUG01」(矩形画像抽出)の呼び出しコマンドを含むメッセージを生成する。 The task service unit 101 reads the calling commands in the order of the processing order associated with the task definition ID indicated by the above request data, and generates a message including the calling commands and the processing contents indicated by the request data. do. For example, if the request data indicates a task definition ID of "TASK01", the task service unit 101 is a call command of "PLUG01" (rectangular image extraction) in which the processing order associated with "TASK01" is "1". Generate a message containing.

このように、タスクサービス部101は、プラグインにより実行される処理の要求(処理を実行することの要求)をユーザ端末3から受け取ると、そのプラグインを示すメッセージを生成する。こうして生成されるメッセージは、呼び出しコマンドにより呼び出されるプラグインという機能を示す情報であり、本発明の「機能情報」の一例である。また、そのメッセージを生成するタスクサービス部101は本発明の「生成部」の一例である。タスクサービス部101は、生成したメッセージをキュー103に供給する。 In this way, when the task service unit 101 receives the request for the process executed by the plug-in (request for executing the process) from the user terminal 3, the task service unit 101 generates a message indicating the plug-in. The message generated in this way is information indicating a function called a plug-in called by a calling command, and is an example of "functional information" of the present invention. Further, the task service unit 101 that generates the message is an example of the "generation unit" of the present invention. The task service unit 101 supplies the generated message to the queue 103.

キュー103は、供給されたメッセージを記憶してキュー(先入れ先出しのデータ)として取り扱う。つまり、キュー103は、タスクサービス部101により生成されたメッセージを一時的に蓄積する機能であり、本発明の「一時蓄積部」の一例である。プラグイン管理部104は、キュー103に蓄積されたメッセージを読み出し、そのメッセージに含まれる呼び出しコマンドを用いてプラグインの起動をプラグイン実行部105に指示する。 The queue 103 stores the supplied message and handles it as a queue (first-in first-out data). That is, the queue 103 is a function for temporarily storing messages generated by the task service unit 101, and is an example of the "temporary storage unit" of the present invention. The plug-in management unit 104 reads the message stored in the queue 103, and instructs the plug-in execution unit 105 to start the plug-in by using the call command included in the message.

プラグイン実行部105は、この指示を受け取ると、特定の場合(詳しくは後述する)を除いて、指示されたプラグインを起動する。プラグイン実行部105は、詳細には、まずプラグインを起動させるためのインスタンス(仮想マシン)を起動して、起動したインスタンス上で指示されたプラグインを起動する。プラグイン管理部104及びプラグイン実行部105は、インスタンスを起動する場合は本発明の「仮想マシン起動部」の一例として機能し、プラグインを起動する場合は本発明の「第2起動部」の一例として機能する。 Upon receiving this instruction, the plug-in execution unit 105 activates the instructed plug-in except in a specific case (details will be described later). Specifically, the plug-in execution unit 105 first starts an instance (virtual machine) for starting the plug-in, and then starts the plug-in instructed on the started instance. The plug-in management unit 104 and the plug-in execution unit 105 function as an example of the "virtual machine startup unit" of the present invention when starting an instance, and the "second startup unit" of the present invention when starting a plug-in. It functions as an example.

本実施例では、プラグイン実行部105は、インスタンス上でプラグインを起動すると、そのインスタンス上では他のプラグインを起動させないようにする。つまり、プラグイン実行部105は、1つのインスタンス上では1つのプラグインだけを実行する。プラグイン実行部105は、図3の例では、文書処理プラグイン51−1、51−2、51−3と、外部接続プラグイン52と、ストレージ登録プラグイン53とを、それぞれに対応して起動したインスタンス上で実行している。 In this embodiment, when the plug-in execution unit 105 starts a plug-in on an instance, it prevents other plug-ins from starting on the instance. That is, the plug-in execution unit 105 executes only one plug-in on one instance. In the example of FIG. 3, the plug-in execution unit 105 corresponds to the document processing plug-ins 51-1, 51-2, 53-1, the external connection plug-in 52, and the storage registration plug-in 53, respectively. It is running on the launched instance.

文書処理プラグインは、矩形画像抽出、OCR、文書分割及びコンバージョン等の文書に対する処理を実行する。外部接続プラグインは、業務型クラウドサービス5のような外部のサービスと接続する。ストレージ登録プラグインは、ストレージ型クラウドサービス6及び社内システム7のような外部のストレージにデータを登録する。 The document processing plug-in performs processing on documents such as rectangular image extraction, OCR, document division and conversion. The external connection plug-in connects to an external service such as the business-type cloud service 5. The storage registration plug-in registers data in an external storage such as the storage type cloud service 6 and the in-house system 7.

プラグイン管理部104は、プラグインが起動すると、メッセージに含まれる内容で処理を実行するようにプラグイン実行部105に指示する。プラグイン実行部105は、この指示を受け取ると、指示された内容で処理を実行する。プラグイン実行部105は、この処理を完了すると、その処理結果をプラグイン管理部104に通知する。プラグイン管理部104は、通知された処理結果をタスクサービス部101に通知する。 When the plug-in is started, the plug-in management unit 104 instructs the plug-in execution unit 105 to execute the process according to the contents included in the message. Upon receiving this instruction, the plug-in execution unit 105 executes the process according to the instructed content. When the plug-in execution unit 105 completes this process, the plug-in execution unit 105 notifies the plug-in management unit 104 of the process result. The plug-in management unit 104 notifies the task service unit 101 of the notified processing result.

タスクサービス部101は、処理完了の通知を受け取ると、処理順序が次のプラグインの呼び出しコマンドを読み出して、その呼び出しコマンドと、要求データが示す処理の内容とを含むメッセージを生成する。こうして順番にプラグインが起動されて処理が実行されることで、タスクが実行される。 Upon receiving the notification of the completion of processing, the task service unit 101 reads the calling command of the plug-in whose processing order is next, and generates a message including the calling command and the processing content indicated by the request data. In this way, the plug-ins are started in order and the processing is executed, so that the task is executed.

次に、オートスケールに関する機能構成について説明する。上述したように、クラウドシステム4においては、インスタンスについてオートスケールが行われ、且つ、1つのインスタンス上では1つのプラグインだけが実行される。つまり、インスタンスにオートスケールが行われると、そのインスタンス上で起動されるプラグインにもオートスケールが行われる(インスタンスがスケールアウトされて増加すればプラグインも同じ数だけ増加し、インスタンスがスケールインされて減少すればプラグインも同じ数だけ減少する)ことになる。 Next, the functional configuration related to autoscale will be described. As described above, in the cloud system 4, the instance is autoscaled, and only one plug-in is executed on one instance. That is, when an instance is autoscaled, the plugins launched on that instance are also autoscaled (if the instance is scaled out and incremented, the plugins are scaled out by the same number and the instance is scaled in). If it is reduced, the number of plugins will be reduced by the same amount).

オートスケール管理部115は、プラグイン実行部105を決められた時間間隔で繰り返し監視してプラグインの実行状況を把握する。オートスケール管理部115は、例えば、プラグインで実行されている処理の有無と、処理を実行しているときのプラグインによるリソースの使用率とを把握する。オートスケール管理部115は、把握した実行状況に応じて、プラグインを新たに起動させるスケールアウトの指示と、プラグインを停止させるスケールインの指示とをプラグイン実行部105に対して行う。 The autoscale management unit 115 repeatedly monitors the plug-in execution unit 105 at predetermined time intervals to grasp the execution status of the plug-in. The autoscale management unit 115 grasps, for example, whether or not there is a process being executed by the plug-in and the resource usage rate by the plug-in when the process is being executed. The autoscale management unit 115 gives the plug-in execution unit 105 a scale-out instruction for newly starting the plug-in and a scale-in instruction for stopping the plug-in according to the grasped execution status.

オートスケール管理部115は、例えばOCRのプラグインが複数起動されており、その中に処理を一定期間実行していないプラグイン(これを「非処理中プラグイン」という)がある場合、そのOCRのプラグイン及び対応するインスタンスを停止させる(スケールインを行う)ようプラグイン実行部105に指示する。また、オートスケール管理部115は、例えばコンバージョンのプラグインが大量の文書のコンバージョンを行っていてリソースの使用率が閾値を超える場合、コンバージョンのプラグイン及びインスタンスを新たに起動する(スケールアウトを行う)ようプラグイン実行部105に指示する。この場合、プラグイン実行部105は、新たに起動されたプラグインに文書を分担して処理を実行するよう指示し、処理の負担を分散させる。 For example, when a plurality of OCR plug-ins are started and there is a plug-in that has not executed processing for a certain period of time (this is referred to as "non-processing plug-in"), the autoscale management unit 115 indicates the OCR. Instructs the plug-in execution unit 105 to stop (scale in) the plug-in and the corresponding instance of. Further, the autoscale management unit 115 newly starts (scales out) the conversion plug-in and the instance when, for example, the conversion plug-in is converting a large amount of documents and the resource usage rate exceeds the threshold value. ) Is instructed to the plug-in execution unit 105. In this case, the plug-in execution unit 105 instructs the newly started plug-in to share the document and execute the process, and distributes the load of the process.

また、オートスケール管理部115は、プラグインの実行状況とは別の情報にも基づいてオートスケールを行う。タスクサービス部101は、要求データを受け取ると、メッセージの生成と並行して、又は、メッセージを生成する前に、その要求データをタスク要求情報管理部111に供給する。 Further, the autoscale management unit 115 performs autoscale based on information different from the execution status of the plug-in. Upon receiving the request data, the task service unit 101 supplies the request data to the task request information management unit 111 in parallel with the generation of the message or before the message is generated.

タスク要求情報管理部111は、供給された要求データが示すタスクの実行要求、すなわちタスクに含まれる処理の要求に関する情報を管理する。タスク要求情報管理部111は、例えば、供給された要求データをタスクの実行要求の履歴として、現在の日時情報と共に履歴情報記憶部114に記憶させる。 The task request information management unit 111 manages information regarding a task execution request indicated by the supplied request data, that is, a processing request included in the task. The task request information management unit 111 stores, for example, the supplied request data in the history information storage unit 114 together with the current date and time information as a history of task execution requests.

また、タスク要求情報管理部111は、要求データが供給されると、その要求データが示す処理の要求に基づいて、その処理を実行することが見込まれるプラグイン(以下「見込みプラグイン」という)を特定する。タスク要求情報管理部111は本発明の「特定部」の一例である。タスク要求情報管理部111は、例えば、タスク定義情報記憶部112が記憶する情報に基づく第1の特定方法を用いてプラグインを特定する。 Further, when the request data is supplied, the task request information management unit 111 is a plug-in that is expected to execute the process based on the request of the process indicated by the request data (hereinafter referred to as "probable plug-in"). To identify. The task request information management unit 111 is an example of the "specific unit" of the present invention. The task request information management unit 111 identifies the plug-in by using, for example, a first identification method based on the information stored in the task definition information storage unit 112.

タスク定義情報記憶部112は、タスク定義部102が記憶するタスク定義に関する情報のうちの一部をタスク定義情報として記憶している。
図5はテスク定義情報の一例を表す。図5の例では、タスク定義情報記憶部112は、タスク定義ID及びプラグインIDを対応付けた情報をタスク定義情報として記憶している。
The task definition information storage unit 112 stores a part of the information related to the task definition stored in the task definition unit 102 as the task definition information.
FIG. 5 shows an example of TISC definition information. In the example of FIG. 5, the task definition information storage unit 112 stores the information associated with the task definition ID and the plug-in ID as the task definition information.

タスク要求情報管理部111は、供給された要求データが示すタスク定義IDにタスク定義情報において対応付けられているプラグインIDを読み出し、読み出したプラグインIDが示すプラグインを、見込みプラグインとして特定する。タスク要求情報管理部111は、例えば、要求データが示すタスク定義IDが「TASK02」であれば、図5において「TASK02」に対応付けられた「PLUG02」及び「PLUG11」が示すOCR及びコンバージョンのプラグインを見込みプラグインとして特定する。 The task request information management unit 111 reads the plug-in ID associated with the task definition ID indicated by the supplied request data in the task definition information, and identifies the plug-in indicated by the read plug-in ID as a prospective plug-in. do. For example, if the task definition ID indicated by the request data is "TASK02", the task request information management unit 111 has the OCR and conversion plugs indicated by "PLUG02" and "PLUG11" associated with "TASK02" in FIG. Identify the inn as a prospective plugin.

また、タスク要求情報管理部111は、リクエストパラメータ情報記憶部113が記憶する情報に基づく第2の特定方法を用いてプラグインを特定する。リクエストパラメータ情報記憶部113は、処理の要求に用いられるパラメータとプラグインIDとを対応付けた情報をリクエストパラメータ情報として記憶している。 In addition, the task request information management unit 111 identifies the plug-in by using a second identification method based on the information stored in the request parameter information storage unit 113. The request parameter information storage unit 113 stores information in which the parameters used for the processing request and the plug-in ID are associated with each other as request parameter information.

図6はリクエストパラメータ情報の一例を表す。図6(a)の例では、リクエストパラメータ情報記憶部113は、「MIMETYPE」というメディアタイプを示すパラメータとプラグインIDとを対応付けた情報をリクエストパラメータ情報として記憶している。例えば「application/mspowerpoint」及び「application/msword」には「PLUG11」(コンバージョン)が対応付けられ、「application/vnd.fujixerox.docuworks」には「PLUG02」(OCR)が対応付けられている。 FIG. 6 shows an example of request parameter information. In the example of FIG. 6A, the request parameter information storage unit 113 stores information in which a parameter indicating the media type "MIMETYPE" and the plug-in ID are associated with each other as request parameter information. For example, "application / mspowerpoint" and "application / msword" are associated with "PLUG11" (conversion), and "application / vnd.fujixerox.docuworks" is associated with "PLUG02" (OCR).

タスク要求情報管理部111は、供給された要求データが示す処理のパラメータにリクエストパラメータ情報において対応付けられているプラグインIDを読み出し、読み出したプラグインIDが示すプラグインを、見込みプラグインとして特定する。タスク要求情報管理部111は、例えば、要求データが示すMIMETYPEが「application/msword」であれば、図6(a)においてそれに対応付けられた「PLUG11」が示すコンバージョンのプラグインを見込みプラグインとして特定する。 The task request information management unit 111 reads the plug-in ID associated with the processing parameters indicated by the supplied request data in the request parameter information, and identifies the plug-in indicated by the read plug-in ID as a prospective plug-in. do. For example, if the MIMETYPE indicated by the request data is "application / msword", the task request information management unit 111 uses the conversion plug-in indicated by "PLUG 11" associated with it in FIG. 6A as a prospective plug-in. Identify.

また、タスク要求情報管理部111は、履歴情報記憶部114が記憶する情報に基づく第3の特定方法を用いてプラグインを特定する。履歴情報記憶部114は、要求された処理の履歴とプラグインIDとを対応付けた情報を履歴情報として記憶している。
図7は履歴情報の一例を表す。図7の例では、履歴情報記憶部114は、過去に要求された処理のプラグインIDを、その要求が送信されてきた日時を含む要求時間帯(例えば朝、昼、夕方、夜の時間帯)と、その要求を送信してきたユーザ端末3を識別する端末ID(要求端末ID)と、その要求の操作を行ったユーザを識別するユーザID(要求ユーザID)という3種類の履歴に対応付けた情報を履歴情報として記憶している。
Further, the task request information management unit 111 identifies the plug-in by using a third identification method based on the information stored in the history information storage unit 114. The history information storage unit 114 stores information in which the history of the requested processing and the plug-in ID are associated with each other as history information.
FIG. 7 shows an example of history information. In the example of FIG. 7, the history information storage unit 114 sets the plug-in ID of the processing requested in the past in the request time zone (for example, morning, noon, evening, night time zone) including the date and time when the request is transmitted. ), A terminal ID (requesting terminal ID) that identifies the user terminal 3 that has transmitted the request, and a user ID (requesting user ID) that identifies the user who performed the operation of the request. The information is stored as history information.

要求端末ID及び要求ユーザIDは、タスクサービス提供システム1において登録されたIDであり、タスクサービスを利用する際にユーザがユーザ端末3に自身のユーザIDを入力すると、ユーザ端末3がそのユーザIDと自端末の端末IDとを要求データに付与する。タスク要求情報管理部111は、供給された要求データが示す端末ID及びユーザIDと、供給された時刻を含む時間帯とに履歴情報において対応付けられているプラグインIDがあればそれを読み出し、読み出したプラグインIDが示すプラグインを、見込みプラグインとして特定する。 The request terminal ID and the request user ID are IDs registered in the task service providing system 1, and when a user inputs his / her own user ID into the user terminal 3 when using the task service, the user terminal 3 causes the user ID. And the terminal ID of the own terminal are added to the request data. The task request information management unit 111 reads out, if there is a plug-in ID associated with the terminal ID and user ID indicated by the supplied request data, and the time zone including the supplied time in the history information. The plug-in indicated by the read plug-in ID is specified as a prospective plug-in.

タスク要求情報管理部111は、複数のプラグインIDを読み出した場合は、例えば最も多くの履歴が対応付けられているものが示すプラグインを、見込みプラグインとして特定する。また、タスク要求情報管理部111は、3種類の履歴の全てに対応付けられたプラグインIDがない場合は、2種類の履歴に対応付けられたプラグインIDを読み出して、3種類の履歴の場合と同様に見込みプラグインを特定する。また、それもなければ、1種類の履歴に対応付けられたプラグインIDを読み出して見込みプラグインを特定してもよい。 When the task request information management unit 111 reads out a plurality of plug-in IDs, the task request information management unit 111 identifies, for example, the plug-in indicated by the one associated with the largest number of histories as a prospective plug-in. If the task request information management unit 111 does not have a plug-in ID associated with all three types of history, the task request information management unit 111 reads out the plug-in ID associated with the two types of history and has three types of history. Identify potential plugins as in the case. Alternatively, the prospective plug-in may be specified by reading the plug-in ID associated with one type of history.

タスク要求情報管理部111は、上述した第1、第2、第3の特定方法のいずれかを用いることで、ユーザ端末3から要求された処理のタスク定義ID、パラメータ又は要求の履歴によって起動される可能性が他のプラグインに比べて高いことが表されるプラグインを見込みプラグインとして特定する。第1の特定方法が用いられた場合は、タスク定義部102が記憶するタスク定義と同じ対応付けがされているタスク定義情報を用いるので、特定された見込みプラグインが要求された処理を必ず実行することになる。 The task request information management unit 111 is activated by the task definition ID, parameters, or request history of the process requested from the user terminal 3 by using any of the first, second, and third specific methods described above. Identify plugins that are more likely to be available than other plugins as potential plugins. When the first specific method is used, the task definition information that has the same association as the task definition stored in the task definition unit 102 is used, so that the specified prospect plug-in always executes the requested process. Will be done.

一方、見込みプラグインはあくまで要求された処理を実行することが見込まれるプラグインであるから、例えば第2、第3の特定方法で特定された見込みプラグインは要求された処理を実行する可能性は高いものの、見込みプラグインが要求された処理を実行するプラグインではない場合もある。しかし、タスク定義情報が利用できない場合には、第2、第3の特定方法により見込みプラグインの特定が可能になる。タスク要求情報管理部111は、こうして特定した見込みプラグインのプラグインIDをオートスケール管理部115に供給する。 On the other hand, since the prospective plug-in is a plug-in that is expected to execute the requested processing, for example, the prospective plug-in specified by the second and third specific methods may execute the requested processing. Although expensive, the prospective plugin may not be the plugin that performs the requested processing. However, when the task definition information is not available, the prospective plug-in can be specified by the second and third identification methods. The task request information management unit 111 supplies the plug-in ID of the prospective plug-in thus identified to the autoscale management unit 115.

オートスケール管理部115は、特定された見込みプラグインが処理を実行する際に使用するリソースを有するインスタンスの起動をプラグイン実行部105に指示し、その指示により起動されたインスタンス上で見込みプラグインを起動させるようプラグイン実行部105に指示する。プラグイン実行部105は、これらの指示に基づいてインスタンス及び見込みプラグインを起動する。 The autoscale management unit 115 instructs the plug-in execution unit 105 to start the instance having the resources used by the specified prospective plug-in to execute the process, and the prospective plug-in is installed on the instance started by the instruction. Is instructed to start the plug-in execution unit 105. The plug-in execution unit 105 starts the instance and the prospective plug-in based on these instructions.

オートスケール管理部115及びプラグイン実行部105は、インスタンスを起動する場合は本発明の「仮想マシン起動部」の一例として機能し、プラグインを起動する場合は本発明の「第1起動部」の一例として機能する。このようにプラグインを起動する度にそれに必要なリソースを有するインスタンスを起動することで、例えば複数のプラグインに必要なリソースを有するインスタンスを予め起動する場合に比べて、インスタンスを起動したときに必要なリソースの量が少なくなる。 The autoscale management unit 115 and the plug-in execution unit 105 function as an example of the "virtual machine startup unit" of the present invention when starting an instance, and the "first startup unit" of the present invention when starting a plug-in. It functions as an example. By starting an instance that has the necessary resources for each time the plug-in is started in this way, for example, when the instance is started, compared to the case where the instance that has the necessary resources for multiple plug-ins is started in advance. Less resources are needed.

タスク要求情報管理部111が見込みプラグインを特定してオートスケール管理部115及びプラグイン実行部105がその見込みプラグインを起動する方法を第1の起動方法という。一方、タスクサービス部101がメッセージを生成し、キュー103がメッセージを蓄積し、プラグイン管理部104がメッセージを読み出してプラグインの起動を指示してプラグイン実行部105が指示されたプラグインを起動する方法を第2の起動方法という。 The method in which the task request information management unit 111 identifies the prospective plug-in and the autoscale management unit 115 and the plug-in execution unit 105 activate the prospective plug-in is referred to as a first activation method. On the other hand, the task service unit 101 generates a message, the queue 103 accumulates the message, the plug-in management unit 104 reads the message, instructs the plug-in to start, and the plug-in execution unit 105 instructs the plug-in to start. The method of starting is called the second starting method.

また、第1の起動方法でプラグイン(見込みプラグイン)を起動するオートスケール管理部115及びプラグイン実行部105を「第1起動部55」といい、第2の起動方法でプラグインを起動するプラグイン管理部104及びプラグイン実行部105を「第2起動部45」という。 Further, the autoscale management unit 115 and the plug-in execution unit 105 that activate the plug-in (probable plug-in) by the first activation method are referred to as "first activation unit 55", and the plug-in is activated by the second activation method. The plug-in management unit 104 and the plug-in execution unit 105 are referred to as "second activation unit 45".

第2の起動方法では、キュー103からメッセージが読み出されるのを待つ期間が生じるため、第1の起動方法に比べてプラグインが起動されるまでに要する時間が長くなる。そのため、第2の起動方法で起動するプラグインと第1の起動方法で起動するプラグイン(見込みプラグイン)とが一致していると、第2の起動方法ではプラグインを起動する必要がなくなるし、起動するとインスタンスが過剰になって課金される料金も過剰になってしまう。 In the second activation method, there is a period of waiting for the message to be read from the queue 103, so that the time required for the plug-in to be activated is longer than in the first activation method. Therefore, if the plug-in started by the second starting method and the plug-in started by the first starting method (probable plug-in) match, it is not necessary to start the plug-in by the second starting method. However, when it is started, the number of instances will be excessive and the charge will be excessive.

そこで、プラグイン管理部104は、キュー103から読み出したメッセージが示すプラグイン(以下「メッセージプラグイン」という)が第1の起動方法によって既に起動されている場合(つまりメッセージプラグインと見込みプラグインとが一致した場合)には、そのメッセージプラグインを起動させる指示を行わず、起動済みの見込みプラグインにそのメッセージに含まれる内容で処理を実行させるようにプラグイン実行部105に指示する。 Therefore, the plug-in management unit 104 is in the case where the plug-in indicated by the message read from the queue 103 (hereinafter referred to as "message plug-in") has already been started by the first starting method (that is, the message plug-in and the prospective plug-in). If the message is the same as), the plug-in execution unit 105 is instructed not to instruct the message plug-in to be started, but to have the started prospective plug-in execute the process with the contents included in the message.

このように、第2起動部45(プラグイン管理部104及びプラグイン実行部105)は、メッセージプラグインが見込みプラグインとして第1起動部55(オートスケール管理部115及びプラグイン実行部105)により既に起動されている場合には、そのメッセージプラグインを起動させないように動作する。これにより、処理を実行しないプラグインを第2起動部45が起動して余計なリソースを使用することが防がれる。 In this way, in the second activation unit 45 (plug-in management unit 104 and plug-in execution unit 105), the message plug-in is a prospective plug-in, and the first activation unit 55 (autoscale management unit 115 and plug-in execution unit 105). If it has already been started by, it works so as not to start the message plugin. As a result, it is possible to prevent the second activation unit 45 from activating the plug-in that does not execute the process and using extra resources.

なお、前述したように、メッセージプラグイン(要求された処理を実行するプラグイン)と見込みプラグインとは必ず一致するとは限らない。それらが一致しない場合、すなわちメッセージプラグインが第1起動部55により起動されていない場合(つまり第1起動部55が他のプラグインを見込みプラグインとして起動した場合)には、第2起動部45は、メッセージプラグインを起動する。 As mentioned above, the message plug-in (plug-in that executes the requested processing) and the prospective plug-in do not always match. If they do not match, that is, if the message plugin is not launched by the first launcher 55 (that is, if the first launcher 55 launches another plugin as a prospective plugin), the second launcher 45 activates the message plug-in.

その場合、プラグイン管理部104は、起動されたメッセージプラグインに対してメッセージに含まれる内容で処理を実行するように指示する。その結果、起動された見込みプラグインは、処理を実行しない状態になる。この場合は、オートスケール管理部115が、処理を一定期間実行していないプラグイン(非処理中プラグイン)だと見込みプラグインのことを把握するので、スケールインの対象だと判断してプラグイン実行部105に停止させる。オートスケール管理部115は本発明の「仮想マシン停止部」の一例である。 In that case, the plug-in management unit 104 instructs the started message plug-in to execute the process with the contents included in the message. As a result, the launched prospective plug-in will not execute any processing. In this case, the autoscale management unit 115 knows that the plug-in is a plug-in that has not been processed for a certain period of time (a plug-in that is not being processed), so it determines that it is a target for scale-in and plugs it in. Stop at the in-execution unit 105. The autoscale management unit 115 is an example of the "virtual machine stop unit" of the present invention.

ただし、オートスケール管理部115は、次の場合にはプラグインを停止させない。オートスケール管理部115は、キュー103を監視し、前述したようにスケールインの対象だと判断した見込みプラグイン(メッセージプラグインと一致しなかった見込みプラグイン)がキュー103に蓄積されている別のメッセージが示すプラグインである場合には、その見込みプラグインを停止させない。 However, the autoscale management unit 115 does not stop the plug-in in the following cases. The autoscale management unit 115 monitors the queue 103, and as described above, another prospective plug-in (probable plug-in that does not match the message plug-in) that is determined to be the target of scale-in is accumulated in the queue 103. If it is the plug-in indicated by the message, do not stop the prospective plug-in.

そうすることで、要求された処理を実行することが見込まれるプラグインとして特定された見込みプラグインがその要求による処理を実行しなかった場合でも、起動した見込みプラグインが他の処理を実行することになる。これにより、要求された処理を実行しない見込みプラグインを停止させる場合に比べて、その見込みプラグインが実行する見込みであった処理とは別の処理(キュー103に蓄積されているメッセージが示すプラグインが実行する処理)の開始が早期化されることになる。 By doing so, even if the prospective plug-in identified as a plug-in that is expected to perform the requested processing does not perform the processing according to the request, the launched prospective plug-in will perform other processing. It will be. As a result, compared to the case where the prospective plug-in that does not execute the requested processing is stopped, the processing different from the processing that the prospective plug-in was expected to execute (the plug indicated by the message accumulated in the queue 103). The start of the process executed by the inn will be accelerated.

第2起動部45は、前述した別のメッセージをキュー103から読み出した場合、そのメッセージが示すプラグインが第1起動部55により別の処理の見込みプラグインとしてではあるが既に起動されていることになるので、そのプラグインを起動させないように動作する。これにより、処理を実行しないプラグインを第2起動部45が起動して余計なリソースを消費することが防がれる。 When the second activation unit 45 reads another message described above from the queue 103, the plug-in indicated by the message is already activated by the first activation unit 55 as a prospective plug-in for another process. Therefore, it works so as not to start the plug-in. As a result, it is possible to prevent the second activation unit 45 from activating the plug-in that does not execute the process and consuming extra resources.

また、オートスケール管理部115は、前述したようにスケールインの対象だと判断した見込みプラグイン(処理を実行していない見込みプラグイン)が別の要求に基づいてタスク要求情報管理部111によって再度見込みプラグインと特定された場合はその見込みプラグインを停止させない。この場合は、要求された処理を実行しない見込みプラグインを停止させる場合に比べて、その見込みプラグインが実行する見込みであった処理の別の要求に基づく開始が早期化されることになる。 Further, in the auto scale management unit 115, as described above, the prospective plug-in determined to be the target of scale-in (the prospective plug-in that is not executing the process) is again requested by the task request information management unit 111 based on another request. If it is identified as a prospective plugin, the prospective plugin will not be stopped. In this case, the start of the processing expected to be executed by the prospective plug-in based on another request is accelerated as compared with the case where the prospective plug-in that does not execute the requested processing is stopped.

クラウドシステム4は、上記の構成に基づいて、プラグインを起動してタスクに含まれる処理を実行するタスク処理を行う。
図8はタスク処理におけるクラウドシステム4の動作手順の一例を表す。この動作手順は、ユーザ端末3からタスクの実行を要求する要求データをクラウドシステム4に向けて送信することを契機に開始される。
Based on the above configuration, the cloud system 4 performs task processing that activates a plug-in and executes processing included in the task.
FIG. 8 shows an example of the operation procedure of the cloud system 4 in the task processing. This operation procedure is started when the user terminal 3 transmits the request data requesting the execution of the task to the cloud system 4.

まず、クラウドシステム4(タスクサービス部101)は、タスクの実行の要求を受け付ける(ステップS10)。その後、クラウドシステム4は、ステップS11からS13までの第1動作とステップS21からS23までの第2動作を並行して行う。まず、クラウドシステム4(タスクサービス部101及びタスク定義部102)は、要求されたタスクに含まれる処理を実行するプラグインを示すメッセージを生成する(ステップS11)。次に、クラウドシステム4(キュー103)は、生成されたメッセージを蓄積する(ステップS12)。続いて、クラウドシステム4(プラグイン管理部104)は、蓄積されたメッセージを読み出す(ステップS13)。ここまでが第1動作である。 First, the cloud system 4 (task service unit 101) receives a request for executing a task (step S10). After that, the cloud system 4 performs the first operation from steps S11 to S13 and the second operation from steps S21 to S23 in parallel. First, the cloud system 4 (task service unit 101 and task definition unit 102) generates a message indicating a plug-in that executes the process included in the requested task (step S11). Next, the cloud system 4 (queue 103) accumulates the generated messages (step S12). Subsequently, the cloud system 4 (plug-in management unit 104) reads the accumulated messages (step S13). This is the first operation.

それと並行して、クラウドシステム4(タスク要求情報管理部111と、タスク定義情報記憶部112、リクエストパラメータ情報記憶部113又は履歴情報記憶部114)は、受け付けられた要求に基づいて見込みプラグインを特定する(ステップS21)。次に、クラウドシステム4(オートスケール管理部115及びプラグイン実行部105)は、インスタンスを起動して(ステップS22)、特定された見込みプラグインをそのインスタンス上で起動する(ステップS23)。ここまでが第2動作である。 At the same time, the cloud system 4 (task request information management unit 111, task definition information storage unit 112, request parameter information storage unit 113 or history information storage unit 114) provides a prospective plug-in based on the received request. Identify (step S21). Next, the cloud system 4 (autoscale management unit 115 and plug-in execution unit 105) launches an instance (step S22), and launches the identified prospective plug-in on the instance (step S23). This is the second operation.

クラウドシステム4(プラグイン管理部104)は、第1動作で読み出したメッセージが示すメッセージプラグインと、第2動作で起動された見込みプラグインとが一致するか否かを判断する(ステップS31)。クラウドシステム4(プラグイン管理部104及びプラグイン実行部105)は、ステップS31で一致しない(NO)と判断した場合は、インスタンスを起動し(ステップS32)、そのインスタンス上でメッセージプラグインを起動して(ステップS33)、メッセージが示す内容で処理を実行する(ステップS34)。 The cloud system 4 (plug-in management unit 104) determines whether or not the message plug-in indicated by the message read in the first operation matches the prospective plug-in started in the second operation (step S31). .. If the cloud system 4 (plug-in management unit 104 and plug-in execution unit 105) determines in step S31 that they do not match (NO), it starts an instance (step S32) and starts a message plug-in on that instance. Then (step S33), the process is executed according to the content indicated by the message (step S34).

クラウドシステム4(プラグイン管理部104及びプラグイン実行部105)は、ステップS31で一致する(YES)と判断した場合は、起動済みの見込みプラグインにより、メッセージが示す内容で処理を実行する(ステップS34)。そして、クラウドシステム4は、タスクが完了したか否かを判断し(ステップS35)、完了していない(NO)と判断した場合はステップS11及びS21に戻って動作を行い、完了した(YES)と判断した場合はこの動作手順を終了する。 If the cloud system 4 (plug-in management unit 104 and plug-in execution unit 105) determines that they match (YES) in step S31, the activated probable plug-in executes processing according to the content indicated by the message (the plug-in management unit 104 and the plug-in execution unit 105). Step S34). Then, the cloud system 4 determines whether or not the task has been completed (step S35), and if it determines that the task has not been completed (NO), returns to steps S11 and S21 to perform an operation and completes (YES). If it is determined, this operation procedure is terminated.

また、クラウドシステム4は、上記の構成に基づいて処理を実行していないインスタンスを停止するスケールイン処理を行う。
図9はスケールイン処理におけるクラウドシステム4の動作手順の一例を表す。この動作手順は例えば決められた時間間隔で繰り返し行われる。まず、クラウドシステム4(オートスケール管理部115)は、プラグインによる処理の実行状況を把握して(ステップS41)、処理を実行していない非処理中プラグインがあるか否かを判断する(ステップS42)。
Further, the cloud system 4 performs a scale-in process for stopping an instance that has not executed the process based on the above configuration.
FIG. 9 shows an example of the operation procedure of the cloud system 4 in the scale-in processing. This operation procedure is repeated, for example, at fixed time intervals. First, the cloud system 4 (autoscale management unit 115) grasps the execution status of the processing by the plug-in (step S41), and determines whether or not there is a non-processing plug-in that has not executed the processing (step S41). Step S42).

クラウドシステム4(オートスケール管理部115)は、ステップS42において非処理中プラグインがない(NO)と判断した場合はステップS41に戻って動作を行い、非処理中プラグインがある(YES)と判断した場合は、その非処理中プラグインを示すメッセージがキュー103に蓄積されているか否かを判断する(ステップS43)。ステップS43において蓄積されている(YES)と判断された場合は、クラウドシステム4(プラグイン管理部104及びプラグイン実行部105)は、非処理中プラグインを停止することなく、非処理中プラグインでそのメッセージが示す内容の処理を実行する(ステップS47)。 If the cloud system 4 (autoscale management unit 115) determines in step S42 that there is no non-processing plug-in (NO), it returns to step S41 and operates, and there is a non-processing plug-in (YES). If it is determined, it is determined whether or not a message indicating the non-processing plug-in is accumulated in the queue 103 (step S43). If it is determined that the accumulation (YES) is made in step S43, the cloud system 4 (plug-in management unit 104 and plug-in execution unit 105) does not stop the non-processing plug-in, and the non-processing plug-in. The process of the content indicated by the message is executed at the inn (step S47).

クラウドシステム4(オートスケール管理部115)は、ステップS43において蓄積されていない(NO)と判断した場合は、非処理中プラグインが見込みプラグインとして特定されたか否かを判断し(ステップS44)、特定されていない(NO)と判断した場合は、非処理中プラグインを停止して(ステップS45)、ステップS41に戻って動作を行う。 If the cloud system 4 (autoscale management unit 115) determines that the plug-in has not been accumulated (NO) in step S43, it determines whether or not the non-processing plug-in has been identified as a prospective plug-in (step S44). If it is determined that the plug-in is not specified (NO), the non-processing plug-in is stopped (step S45), and the process returns to step S41 to perform the operation.

ステップS44において特定された(YES)と判断された場合は、クラウドシステム4(プラグイン管理部104及びプラグイン実行部105)は、メッセージプラグインと見込みプラグイン(すなわち非処理中プラグイン)が一致するか否かを判断し(ステップS46)、一致する(YES)と判断した場合は、見込みプラグインを起動することなく、且つ、非処理中プラグインを停止することなく、その非処理中プラグインでメッセージが示す内容の処理を実行する(ステップS47)。クラウドシステム4(オートスケール管理部115)は、ステップS46において一致しない(NO)と判断した場合は、ステップS45に進んで非処理中プラグインを停止し(ステップS45)、ステップS41に戻って動作を行う。 If it is determined (YES) specified in step S44, the cloud system 4 (plug-in management unit 104 and plug-in execution unit 105) has a message plug-in and a prospective plug-in (that is, a plug-in that is not being processed). It is determined whether or not they match (step S46), and if it is determined that they match (YES), the prospective plug-in is not started and the non-processing plug-in is not stopped. The plug-in executes the processing of the content indicated by the message (step S47). If the cloud system 4 (autoscale management unit 115) determines in step S46 that they do not match (NO), the cloud system 4 proceeds to step S45 to stop the non-processing plug-in (step S45), and returns to step S41 to operate. I do.

クラウドシステム4においてはオートスケールを行うことで、処理が実行された後の実行状況に応じてスケールアウトを行いインスタンス毎の負荷を低くして処理の早期終了を図っている。この方法では処理が開始されないとスケールアウトが行われ処理の早期終了の対処がなされない。これに対し、本実施例では、上記のとおり見込みプラグインが起動されることで、要求された処理が実行される前から処理の早期終了のための対処が行われるので、実行状況に応じたスケールアウトだけを行う場合に比べて、さらに早く処理が終了させることになる。 In the cloud system 4, by performing auto-scaling, scale-out is performed according to the execution status after the processing is executed to reduce the load for each instance and to end the processing early. In this method, if the process is not started, scale-out is performed and the early termination of the process is not dealt with. On the other hand, in this embodiment, by starting the prospective plug-in as described above, measures are taken for early termination of the processing before the requested processing is executed, so it depends on the execution status. The process will be completed even faster than when only scale-out is performed.

[2]変形例
上述した実施例は本発明の実施の一例に過ぎず、以下のように変形させてもよい。また、実施例及び各変形例は、必要に応じて組み合わせて実施してもよい。
[2] Modifications The above-mentioned examples are merely examples of the implementation of the present invention, and may be modified as follows. Further, the examples and the respective modifications may be carried out in combination as necessary.

[2−1]見込みプラグインの起動タイミング
第1起動部55(オートスケール管理部115及びプラグイン実行部105)は、実施例では、見込みプラグインが特定されたらすぐにそれを起動したが、見込みプラグインを起動する際にはインスタンスも新たに起動するため、クラウドシステム4においては課金が開始されることになる。そこで、第1起動部55は、課金される期間を少しでも短くするため、状況に応じて起動タイミングを遅らせてもよい。
[2-1] Activation Timing of Probable Plug-in In the embodiment, the first activation unit 55 (autoscale management unit 115 and plug-in execution unit 105) activates the prospective plug-in as soon as it is identified. Since the instance is newly started when the prospective plug-in is started, billing will be started in the cloud system 4. Therefore, the first activation unit 55 may delay the activation timing depending on the situation in order to shorten the billing period as much as possible.

第1起動部55は、例えば、特定された見込みプラグインの起動に要する時間(起動時間)が短いほどその見込みプラグインを起動させる時期を遅くする。プラグインは、関連するプログラム、データ及びパラメータ等を読み出してメモリに記憶させる起動処理を行うことで起動され、この起動処理にはプラグイン毎に異なる一定の時間(起動時間)が必要になる。プラグインの起動時期とは、この起動処理を開始させる時期のことをいう。第1起動部55は、起動時間に応じて起動時期を異ならせるため、例えば起動時間と起動時期とを対応付けた起動時期テーブルを用いる。 For example, the shorter the time (startup time) required for starting the specified prospective plug-in, the later the first activation unit 55 activates the prospective plug-in. A plug-in is started by performing a startup process of reading related programs, data, parameters, etc. and storing them in a memory, and this startup process requires a certain time (startup time) that differs for each plug-in. The plug-in startup time is the time to start this startup process. In order to make the start-up time different according to the start-up time, the first start-up unit 55 uses, for example, a start-up time table in which the start-up time and the start-up time are associated with each other.

図10は起動時期テーブルの一例を表す。図10の例では、「A1未満」、「A1以上A2未満」、「A2以上」という起動時間に、「特定時刻T1+t3」、「特定時刻T1+t2」、「特定時刻T1+t1」(t1<t2<t3)という起動時期がそれぞれ対応付けられている。特定時刻T1は、見込みプラグインが特定された時刻であり、例えばタスク要求情報管理部111から特定した見込みプラグインのプラグインIDが供給された時刻を示す。 FIG. 10 shows an example of the start-up time table. In the example of FIG. 10, "specific time T1 + t3", "specific time T1 + t2", "specific time T1 + t1" (t1 <t2 <t3) are set to the start time of "less than A1", "A1 or more and less than A2", and "A2 or more". ) Is associated with each other. The specific time T1 is a time when the prospective plug-in is specified, and indicates, for example, a time when the plug-in ID of the prospective plug-in specified by the task request information management unit 111 is supplied.

第1起動部55は、見込みプラグイン毎の起動時間を記憶しておき、見込みプラグインのプラグインIDが供給されて特定時刻T1が確定すると、特定された見込みプラグインの起動時間に起動時期テーブルで対応付けられている起動時期まで待ってから見込みプラグインを起動する。 The first activation unit 55 stores the activation time for each prospective plug-in, and when the plug-in ID of the prospective plug-in is supplied and the specific time T1 is fixed, the activation time is set to the activation time of the specified prospective plug-in. Wait until the startup time associated with the table before starting the prospective plug-in.

起動時期を一律にすると、起動時間が短いほどインスタンスも早く起動するので、インスタンスの使用料金が高くなる。図10の例では起動時間が短いほど見込みプラグインの起動時期を遅くするので、起動時期を一律にする場合に比べて起動が完了して見込みプラグインが処理を実行可能になる時期が近くなり、各インスタンスが起動されている期間の差異、すなわち使用料金の差異が小さくなる。 If the startup time is uniform, the shorter the startup time, the faster the instance will start, and the higher the instance usage fee will be. In the example of FIG. 10, the shorter the startup time, the later the startup time of the prospective plug-in, so the time when the startup is completed and the prospective plug-in can execute the process is closer than when the startup time is uniform. , The difference in the period during which each instance is started, that is, the difference in usage fee becomes small.

また、第1起動部55は、キュー103に蓄積されているメッセージが多いほど見込みプラグインを起動させる時期を遅くしてもよい。第1起動部55は、メッセージ数に応じて起動時期を異ならせるため、例えばメッセージ数と起動時期とを対応付けた起動時期テーブルを用いる。
図11は起動時期テーブルの別の一例を表す。図11の例では、「B1未満」、「B1以上B2未満」、「B2以上」というメッセージ数に、「特定時刻T1+t1」、「特定時刻T1+t2」、「特定時刻T1+t3」(t1<t2<t3)という起動時期がそれぞれ対応付けられている。
Further, the first activation unit 55 may delay the timing of activating the prospective plug-in as the number of messages stored in the queue 103 increases. The first activation unit 55 uses, for example, an activation time table in which the number of messages and the activation time are associated with each other in order to make the activation time different according to the number of messages.
FIG. 11 shows another example of the start-up time table. In the example of FIG. 11, the number of messages "less than B1", "B1 or more and less than B2", and "B2 or more" includes "specific time T1 + t1", "specific time T1 + t2", and "specific time T1 + t3" (t1 <t2 <t3). ) Is associated with each other.

第1起動部55は、見込みプラグインのプラグインIDが供給されて特定時刻T1が確定すると、キュー103を参照してメッセージ数をカウントし、カウントしたメッセージ数に起動時期テーブルで対応付けられている起動時期まで待ってから見込みプラグインを起動する。図11の例ではキュー103に蓄積されているメッセージが多いほど見込みプラグインの起動時期を遅くするので、起動時期を一律にする場合に比べて、見込みプラグインの起動が完了して処理を実行可能になる時期と対応するメッセージが読み出されて処理の実行が開始される時期とが近くなり、特に蓄積されているメッセージ数が多いときに、プラグインが処理を実行していないのにインスタンスが起動している状態となる期間が短くなる。 When the plug-in ID of the prospective plug-in is supplied and the specific time T1 is determined, the first activation unit 55 counts the number of messages with reference to the queue 103, and associates the counted number of messages with the counted number of messages in the activation time table. Wait until the start time, and then start the prospective plug-in. In the example of FIG. 11, the more messages accumulated in the queue 103, the later the start time of the prospective plug-in is delayed. The time when it becomes possible and the time when the corresponding message is read and the execution of the process is started are close, especially when the number of accumulated messages is large, the plugin is not executing the process, but the instance Is running for a shorter period of time.

また、第1起動部55は、種類が共通し且つ起動済みのプラグインの数が少ないほど特定されたその種類のプラグインを起動させる時期を早くしてもよい。プラグインには、例えば上述した矩形画像抽出、文書分割、OCR及びコンバージョン等の種類がある。第1起動部55は、起動済みの同種のプラグイン数に応じて起動時期を異ならせるため、例えば同種のプラグイン数と起動時期とを対応付けた起動時期テーブルを用いる。 Further, the first activation unit 55 may activate the specified type of plug-in earlier as the number of the activated plug-ins is smaller than that of the common type. There are various types of plug-ins such as the above-mentioned rectangular image extraction, document division, OCR and conversion. The first activation unit 55 uses, for example, an activation time table in which the number of the same type of plug-ins and the activation time are associated with each other in order to make the activation time different according to the number of the same type of plug-ins that have been started.

図12は起動時期テーブルの別の一例を表す。図12の例では、「C1未満」、「C1以上C2未満」、「C2以上」というメッセージ数に、「特定時刻T1+t1」、「特定時刻T1+t2」、「特定時刻T1+t3」(t1<t2<t3)という起動時期がそれぞれ対応付けられている。第1起動部55は、見込みプラグインのプラグインIDが供給されて特定時刻T1が確定すると、その見込みプラグインと同種の起動済みのプラグイン数をカウントし、カウントしたプラグイン数に起動時期テーブルで対応付けられている起動時期まで待ってから見込みプラグインを起動する。 FIG. 12 shows another example of the start-up time table. In the example of FIG. 12, the number of messages "less than C1", "more than C1 and less than C2", and "more than C2" are added to "specific time T1 + t1", "specific time T1 + t2", and "specific time T1 + t3" (t1 <t2 <t3). ) Is associated with each other. When the plug-in ID of the prospective plug-in is supplied and the specific time T1 is determined, the first activation unit 55 counts the number of activated plug-ins of the same type as the prospective plug-in, and the activation time is set to the counted number of plug-ins. Wait until the startup time associated with the table before starting the prospective plug-in.

クラウドシステム4においては、見込みプラグインの起動と並行してプラグインの実行状況に応じたオートスケールが行われている。そのため、見込みプラグインと同種のプラグインも、スケールアウトにより増加したり、スケールインにより減少したりする。その同種のプラグインの数が少ないほど、スケールインがされた場合に対応する処理を実行するプラグインの数が少なくなって処理が遅延しやすくなる。図12の例では起動済みの同種のプラグインが少ないほど見込みプラグインの起動時期を早くしてそれと同種のプラグインの数を早めに増やしているので、起動時期を一律にする場合に比べて、起動済みの同種のプラグインの数が少なくても処理の遅延が生じにくいようになっている。 In the cloud system 4, auto-scaling is performed according to the execution status of the plug-in in parallel with the activation of the prospective plug-in. Therefore, plug-ins of the same type as prospective plug-ins also increase due to scale-out and decrease due to scale-in. The smaller the number of plug-ins of the same type, the smaller the number of plug-ins that execute the corresponding processing when scaled in, and the processing tends to be delayed. In the example of FIG. 12, the smaller the number of plug-ins of the same type that have already been started, the earlier the start time of the expected plug-in and the number of plug-ins of the same type are increased earlier. , Even if the number of similar plug-ins that have been started is small, processing delays are less likely to occur.

また、第1起動部55は、要求されたタスクに含まれる処理を実行する順番が早いほど特定されたプラグインを起動させる時期を早くしてもよい。タスクに複数の処理が含まれる場合、それらの複数の処理は、複数のプラグインにより順番に実行される。例えば図4に表す「TASK01」は、「PLUG01」(矩形画像抽出)、「PLUG08」(文書分割)、「PLUG13」(経費精算データ送信)の順番で実行される。第1起動部55は、処理を実行する順番に応じて起動時期を異ならせるため、例えば処理の実行順と起動時期とを対応付けた起動時期テーブルを用いる。 Further, the first activation unit 55 may activate the specified plug-in earlier as the order of executing the processes included in the requested task is earlier. When a task contains multiple processes, the plurality of processes are executed in order by a plurality of plug-ins. For example, "TASK01" shown in FIG. 4 is executed in the order of "PLUG01" (rectangular image extraction), "PLUG08" (document division), and "PLUG13" (expense settlement data transmission). The first activation unit 55 uses, for example, an activation timing table in which the execution order of the processes and the activation timing are associated with each other in order to make the activation timing different according to the order in which the processes are executed.

図13は起動時期テーブルの別の一例を表す。図13の例では、「1番」、「2〜3番」、「4番以降」という処理の実行順に、「特定時刻T1+t1」、「特定時刻T1+t2」、「特定時刻T1+t3」(t1<t2<t3)という起動時期がそれぞれ対応付けられている。この例では、タスク要求情報管理部111が、見込みプラグインを特定する際に、その見込みプラグインの実行順も特定する。 FIG. 13 shows another example of the start-up time table. In the example of FIG. 13, "specific time T1 + t1", "specific time T1 + t2", "specific time T1 + t3" (t1 <t2) in the order of execution of the processes "1st", "2nd to 3rd", and "4th and later". The start-up times <t3) are associated with each other. In this example, when the task request information management unit 111 specifies the prospective plug-in, the execution order of the prospective plug-in is also specified.

例えば、タスク定義情報記憶部112が実行順もタスク定義IDに対応付けてタスク定義情報として記憶しておき、タスク要求情報管理部111が、要求データが示すタスク定義IDにタスク定義情報において対応付けられているプラグインID及び実行順を読み出すことで、見込みプラグインの実行順を特定し、特定した見込みプラグインのプラグインID及び実行順をオートスケール管理部115に供給する。 For example, the task definition information storage unit 112 stores the execution order as task definition information in association with the task definition ID, and the task request information management unit 111 associates the execution order with the task definition ID indicated by the request data in the task definition information. By reading out the plug-in ID and the execution order, the execution order of the prospective plug-in is specified, and the plug-in ID and the execution order of the specified probable plug-in are supplied to the autoscale management unit 115.

第1起動部55(オートスケール管理部115及びプラグイン実行部105)は、見込みプラグインのプラグインIDが供給されて特定時刻T1が確定すると、ともに供給された実行順に起動時期テーブルで対応付けられている起動時期まで待ってから見込みプラグインを起動する。処理の実行順が早いほど、後から起動されるプラグインの数が増えるから、万が一そのプラグインの起動に遅れ(起動エラー等による遅れ)が生じた場合の影響(遅れが生じるプラグインの数)が大きくなる。図13の例では処理の実行順が早い見込みプラグインほど起動時期を早くするので、起動時期を一律にする場合に比べて、見込みプラグインによる処理の遅延が後続の処理に与える影響が小さくなる。 When the plug-in ID of the prospective plug-in is supplied and the specific time T1 is determined, the first start unit 55 (autoscale management unit 115 and the plug-in execution unit 105) associates them with the start time table in the order of execution supplied together. Wait until the start time that is set, and then start the prospective plug-in. The earlier the processing order is, the more plug-ins will be started later. Therefore, if there is a delay in starting the plug-in (delay due to a start error, etc.), the effect (the number of plug-ins that cause a delay) ) Becomes larger. In the example of FIG. 13, the earlier the expected plug-in in the execution order of the processing is, the earlier the startup time is. ..

また、第1起動部55は、特定された見込みプラグインと同種のプラグインの起動回数が多いほど見込みプラグインを起動させる時期を早くしてもよい。第1起動部55は、起動回数に応じて起動時期を異ならせるため、例えば起動回数と起動時期とを対応付けた起動時期テーブルを用いる。 Further, the first activation unit 55 may activate the prospective plug-in earlier as the number of activations of the plug-in of the same type as the specified prospective plug-in increases. The first activation unit 55 uses, for example, an activation time table in which the number of activations and the activation time are associated with each other in order to make the activation time different according to the number of activations.

図14は起動時期テーブルの別の一例を表す。図14の例では、「D1未満」、「D1以上D2未満」、「D2以上」という起動回数に、「特定時刻T1+t3」、「特定時刻T1+t2」、「特定時刻T1+t1」(t1<t2<t3)という起動時期がそれぞれ対応付けられている。この例では、履歴情報記憶部114が、プラグイン実行部105から起動されたプラグインのプラグインIDを供給させることで、そのプラグインIDと起動回数とを対応付けた情報を履歴情報として記憶する。 FIG. 14 shows another example of the start-up time table. In the example of FIG. 14, the number of activations of "less than D1", "D1 or more and less than D2", and "D2 or more" includes "specific time T1 + t3", "specific time T1 + t2", and "specific time T1 + t1" (t1 <t2 <t3). ) Is associated with each other. In this example, the history information storage unit 114 supplies the plug-in ID of the plug-in activated from the plug-in execution unit 105, and stores the information associated with the plug-in ID and the number of activations as history information. do.

第1起動部55は、見込みプラグインのプラグインIDが供給されて特定時刻T1が確定すると、そのプラグインIDに対応付けて履歴情報記憶部114に記憶されている起動回数に起動時期テーブルで対応付けられている起動時期まで待ってから見込みプラグインを起動する。起動回数が多いプラグインほど、処理を要求されることが多いから、万が一そのプラグインの起動に遅れが生じた場合の影響が大きくなる。図14の例では起動回数が多い見込みプラグインほど起動時期を早くするので、起動時期を一律にする場合に比べて、見込みプラグインによる処理の遅延が後続の処理に与える影響が小さくなる。 When the plug-in ID of the prospective plug-in is supplied and the specific time T1 is determined, the first start-up unit 55 sets the number of start-ups stored in the history information storage unit 114 in association with the plug-in ID in the start-up time table. Wait until the associated startup time before launching the prospective plugin. The more times a plug-in is started, the more processing is required. Therefore, if the start of the plug-in is delayed, the effect will be greater. In the example of FIG. 14, since the startup time of the prospective plug-in with a large number of startups is earlier, the influence of the processing delay by the prospective plug-in on the subsequent processing is smaller than that in the case where the startup time is uniform.

また、第1起動部55は、特定された見込みプラグインをメッセージプラグインとして示すメッセージよりも前にキュー103に蓄積されたメッセージが示すプラグインにより実行される処理に要する時間(処理時間)が長いほど見込みプラグインを起動させる時期を遅くしてもよい。第1起動部55は、処理時間に応じて起動時期を異ならせるため、例えば処理時間と起動時期とを対応付けた起動時期テーブルを用いる。 In addition, the first activation unit 55 has a time (processing time) required for the processing executed by the plug-in indicated by the message accumulated in the queue 103 before the message indicating the specified prospective plug-in as the message plug-in. The longer it is, the later the time to launch the prospective plugin may be. The first activation unit 55 uses, for example, an activation time table in which the processing time and the activation time are associated with each other in order to make the activation time different according to the processing time.

図15は起動時期テーブルの別の一例を表す。図15の例では、「E1未満」、「E1以上E2未満」、「E2以上」という処理時間に、「特定時刻T1+t1」、「特定時刻T1+t2」、「特定時刻T1+t3」(t1<t2<t3)という起動時期がそれぞれ対応付けられている。この例では、例えばプラグイン管理部104が、キュー103に蓄積されているメッセージを読み出して、読み出したメッセージが示す処理の内容に基づいてその処理に要する時間(処理時間)を算出する。この場合のプラグイン管理部104は本発明の「算出部」の一例である。 FIG. 15 shows another example of the start-up time table. In the example of FIG. 15, “specific time T1 + t1”, “specific time T1 + t2”, “specific time T1 + t3” (t1 <t2 <t3) are set to the processing times of “less than E1”, “E1 or more and less than E2”, and “E2 or more”. ) Is associated with each other. In this example, for example, the plug-in management unit 104 reads the message stored in the queue 103, and calculates the time (processing time) required for the processing based on the content of the processing indicated by the read message. The plug-in management unit 104 in this case is an example of the "calculation unit" of the present invention.

第1起動部55は、見込みプラグインのプラグインIDが供給されて特定時刻T1が確定すると、そのプラグインIDを示すメッセージよりも前に蓄積されたメッセージについて算出された処理時間の合計時間に起動時期テーブルで対応付けられている起動時期まで待ってから見込みプラグインを起動する。こうして算出された処理時間の合計時間は、見込みプラグインに処理の実行が指示されるまでの待ち時間に相当する。この待ち時間が長いほど起動時期を遅くすることで、起動時期を一律にする場合に比べて、図11の例と同様に、プラグインが処理を実行していないのにインスタンスが起動している状態となる期間が短くなる。 When the plug-in ID of the prospective plug-in is supplied and the specific time T1 is fixed, the first activation unit 55 sets the total processing time calculated for the messages accumulated before the message indicating the plug-in ID to the total time. Wait until the startup time associated with the startup time table before starting the prospective plug-in. The total processing time calculated in this way corresponds to the waiting time until the prospective plug-in is instructed to execute the processing. As compared to the case where the startup time is made uniform by delaying the startup time as the waiting time is longer, the instance is started even though the plug-in is not executing the process, as in the example of FIG. The period of state is shortened.

[2−2]インスタンス上で起動するプラグインの数
プラグイン実行部105は、実施例では、1つのインスタンス上では1つのプラグインだけを実行したが、これに限らず、1つのインスタンス上で複数のインスタンスを実行してもよい。その場合、オートスケール管理部115は、インスタンス上に非処理中プラグインが1つあっても、他のプラグインが処理を実行していれば、非処理中プラグインだけを停止させて、他のプラグイン及びインスタンスは停止させない。
[2-2] Number of plug-ins to be started on the instance In the embodiment, the plug-in execution unit 105 executes only one plug-in on one instance, but the present invention is not limited to this, and the plug-in execution unit 105 is not limited to this. You may run multiple instances. In that case, even if there is one non-processing plug-in on the instance, the autoscale management unit 115 stops only the non-processing plug-in if another plug-in is executing processing, and other Do not stop plugins and instances of.

そして、オートスケール管理部115は、インスタンス上の全てのプラグインが非処理中プラグインになった場合のみ、その非処理中プラグイン及びインスタンスを停止させる。いずれの場合も、オートスケール管理部115は、処理が完了したプラグインを停止させるという点では変わらない。オートスケール管理部115は本発明の「機能停止部」の一例である。 Then, the autoscale management unit 115 stops the non-processing plug-in and the instance only when all the plug-ins on the instance become non-processing plug-ins. In either case, the autoscale management unit 115 does not change in that the plug-in that has been processed is stopped. The autoscale management unit 115 is an example of the "function stop unit" of the present invention.

また、オートスケール管理部115は、プラグインをスケールアウトする際に、いずれかのインスタンスにそのプラグインを起動させるリソースが空いていれば、そのインスタンス上でプラグインを起動させる。このように、オートスケール管理部115は、処理を実行中のプラグインは残しつつ、なるべくインスタンス数が増えないようにオートスケールを制御する。 Further, when the plug-in is scaled out, the autoscale management unit 115 starts the plug-in on the instance if the resource for starting the plug-in is available. In this way, the autoscale management unit 115 controls the autoscale so that the number of instances does not increase as much as possible while leaving the plug-in that is executing the process.

[2−3]プラグインのみのオートスケール
プラグイン実行部105は、実施例では、プラグイン及びインスタンスに対して同時にオートスケールを行った(プラグインを起動するときにはインスタンスも起動し、プラグインを停止するときにはインスタンスも停止した)が、これに限らず、前述した変形例のようにプラグインのみに対してオートスケールを行ってもよい。
[2-3] Plug-in-only autoscale In the embodiment, the plug-in execution unit 105 autoscales the plug-in and the instance at the same time (when the plug-in is started, the instance is also started and the plug-in is started. When it is stopped, the instance is also stopped), but it is not limited to this, and autoscale may be performed only for the plug-in as in the above-mentioned modification.

なお、前述した変形例では1つのインスタンス上で複数のインスタンスを実行したが、実施例のように1つのインスタンス上では1つのプラグインだけを実行する場合に、プラグインのみに対してオートスケールを行ってもよい。その場合、プラグインのみを停止させると、プラグインを実行していない状態のインスタンスが残ることになる。第1起動部55は、そのようにインスタンス上のプラグインが処理を完了して停止されると、特定された見込みプラグインをそのインスタンス上で起動してもよい。 In the above-mentioned modification, a plurality of instances are executed on one instance, but when only one plug-in is executed on one instance as in the example, autoscale is applied only to the plug-in. You may go. In that case, if you stop only the plug-in, the instance in the state where the plug-in is not running will remain. The first activation unit 55 may launch the identified prospective plug-in on the instance when the plug-in on the instance has completed the process and is stopped.

インスタンスを起動させるためにはプラグインと同様に一定の時間を要するが、上記のとおり起動済みのインスタンスを再利用することで、インスタンスの起動時間を待つことが不要になる。第1起動部55は、このようにインスタンスを再利用して見込みプラグインを起動する場合には、その見込みプラグインについては図10から図15の説明で述べたような起動時期を変化させる制御を行わなくてよい。 It takes a certain amount of time to start an instance like a plug-in, but by reusing an already started instance as described above, it is not necessary to wait for the instance start time. When the first activation unit 55 activates the prospective plug-in by reusing the instance in this way, the first activation unit 55 controls the prospective plug-in to change the activation timing as described in the explanations of FIGS. 10 to 15. You do not have to do.

インスタンスを再利用する場合は新たなインスタンスの費用は掛からないので、起動時期を遅らせても課金される期間が短縮されない。そうであれば、特定された見込みプラグインを第1起動部55がすぐに起動することで、起動時期を遅らせる場合に比べて、処理の早期終了の可能性が高められる。 When reusing an instance, there is no cost for a new instance, so even if the startup time is delayed, the billing period will not be shortened. If this is the case, the first activation unit 55 immediately activates the specified prospective plug-in, which increases the possibility of early termination of the process as compared with the case where the activation time is delayed.

[2−4]見込みプラグインの再利用
上記の各例では、第1起動部55が常に見込みプラグインを新たに起動したが、既に起動されているプラグインを利用することで、見込みプラグインを新たに起動しないようにしてもよい。具体的には、第1起動部55は、特定された見込みプラグインと同種のプラグインが一定期間処理を実行していない状態で存在する場合(つまり上述した非処理中プラグインが存在する場合)は、見込みプラグインの起動を行わない。
[2-4] Reuse of prospective plug-in In each of the above examples, the first activation unit 55 always newly starts the prospective plug-in, but by using the plug-in that has already been started, the prospective plug-in can be used. You may not start anew. Specifically, the first activation unit 55 is when a plug-in of the same type as the specified prospective plug-in exists in a state where processing has not been executed for a certain period of time (that is, when the above-mentioned non-processing plug-in exists). ) Does not launch the prospective plugin.

そして、このように第1起動部55が見込みプラグインの起動を行わない場合に、プラグイン管理部104は、前述した非処理中プラグインを制御して、その見込みプラグインの特定に用いられた要求がされた処理を実行させる。この場合のプラグイン管理部104は本発明の「実行制御部」の一例である。 Then, when the first activation unit 55 does not activate the prospective plug-in in this way, the plug-in management unit 104 controls the above-mentioned non-processing plug-in and is used to identify the prospective plug-in. Execute the requested process. The plug-in management unit 104 in this case is an example of the "execution control unit" of the present invention.

本変形例でも、非処理中プラグインが起動されているインスタンスが再利用されるので、新たなインスタンスの費用は掛からない。また、インスタンス及びプラグインの両方を再利用することで、それら両方の停止及び起動に要する時間が不要になるから、この再利用を行わない場合に比べて、処理の早期終了の可能性が高められる。 In this modified example as well, the instance in which the non-processing plug-in is running is reused, so there is no cost for a new instance. Also, by reusing both the instance and the plug-in, the time required to stop and start both of them becomes unnecessary, so the possibility of early termination of processing is higher than when this reuse is not performed. Be done.

[2−5]各機能の実現方法
図3に表す各機能は、2以上の機能が統合されてもよいし、1つの機能が2以上の機能に分割されてもよい。例えば、タスクサービス部101が、タスクの実行の要求を受け付ける受付部と、受け付けた要求に基づいてメッセージの生成等を行う生成部と、要求データをタスク要求情報管理部111に供給して要求内容を通知する通知部とに分割されてもよい。また、オートスケール管理部115が、インスタンスのオートスケールを管理する第1管理部と、プラグインのオートスケールを管理する第2管理部とに分割されてもよい。
[2-5] Method for Realizing Each Function In each function shown in FIG. 3, two or more functions may be integrated, or one function may be divided into two or more functions. For example, the task service unit 101 supplies a reception unit that receives a request for execution of a task, a generation unit that generates a message based on the received request, and request data to the task request information management unit 111, and requests the contents of the request. It may be divided into a notification unit for notifying. Further, the autoscale management unit 115 may be divided into a first management unit that manages the autoscale of the instance and a second management unit that manages the autoscale of the plug-in.

また、タスク要求情報管理部111、タスク定義情報記憶部112、リクエストパラメータ情報記憶部113及び履歴情報記憶部114が、見込みプラグインを特定する特定部として統合されてもよい。また、図3に表す各部とは別に見込みプラグインを特定する特定部を設けてもよい。要するに、タスクサービス提供システム1の全体で図3に表す各機能と同等の機能が実現されていれば、機能のまとめ方はどのようになっていてもよい。 Further, the task request information management unit 111, the task definition information storage unit 112, the request parameter information storage unit 113, and the history information storage unit 114 may be integrated as specific units for specifying the prospective plug-in. Further, a specific part for specifying the prospective plug-in may be provided separately from each part shown in FIG. In short, as long as the functions equivalent to the functions shown in FIG. 3 are realized in the entire task service providing system 1, the functions may be organized in any way.

[2−6]発明のカテゴリ
本発明は、サーバ装置10という情報処理装置の他、その情報処理装置を備えるクラウドシステム4又はタスクサービス提供システム1という情報処理システムとしても捉えられる。また、本発明は、各装置が実施する処理を実現するための情報処理方法としても捉えられるし、各装置を制御するコンピュータを機能させるためのプログラムとしても捉えられる。このプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されてもよいし、インターネット等の通信回線を介してコンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態で提供されてもよい。
[2-6] Category of Invention The present invention can be regarded as an information processing system called a cloud system 4 or a task service providing system 1 provided with the information processing device in addition to the information processing device called the server device 10. Further, the present invention can be regarded as an information processing method for realizing the processing performed by each device, and also as a program for operating a computer that controls each device. This program may be provided in the form of a recording medium such as an optical disk that stores it, or may be downloaded to a computer via a communication line such as the Internet, and installed and made available. May be provided.

1…タスクサービス提供システム、3…ユーザ端末、4…クラウドシステム、10…サーバ装置、101…タスクサービス部、102…タスク定義部、103…キュー、104…プラグイン管理部、105…プラグイン実行部、111…タスク要求情報管理部、112…タスク定義情報記憶部、113…リクエストパラメータ情報記憶部、114…履歴情報記憶部、115…オートスケール管理部。 1 ... Task service providing system, 3 ... User terminal, 4 ... Cloud system, 10 ... Server device, 101 ... Task service unit, 102 ... Task definition unit, 103 ... Queue, 104 ... Plug-in management unit, 105 ... Plug-in execution Unit, 111 ... Task request information management unit, 112 ... Task definition information storage unit, 113 ... Request parameter information storage unit, 114 ... History information storage unit, 115 ... Autoscale management unit.

Claims (14)

コンピュータを、
仮想マシン上で起動される機能により実行される処理の要求を受け取ると当該機能を示す機能情報を生成する生成部と、
生成された前記機能情報を一時的に蓄積する一時蓄積部と、
前記処理の要求に基づいて当該処理を実行することが見込まれる機能を特定する特定部と、
特定された前記機能を仮想マシン上で起動させる第1起動部と、
前記一時蓄積部から読み出される前記機能情報が示す機能を仮想マシン上で起動させる第2起動部であって、当該機能が前記第1起動部により既に起動されている場合には当該機能を起動させない第2起動部
として機能させるためのプログラム。
Computer,
A generator that generates function information indicating the function when it receives a request for processing executed by the function started on the virtual machine.
A temporary storage unit that temporarily stores the generated functional information,
A specific part that identifies a function that is expected to execute the process based on the request for the process, and
The first boot unit that launches the specified function on the virtual machine,
It is a second activation unit that activates the function indicated by the function information read from the temporary storage unit on the virtual machine, and if the function has already been activated by the first activation unit, the function is not activated. A program to function as the second startup unit.
前記コンピュータを、前記第1起動部又は前記第2起動部により前記機能が起動される場合に当該機能が前記処理を実行する際に使用するリソースを有する仮想マシンを起動させる仮想マシン起動部として機能させる
請求項1に記載のプログラム。
The computer functions as a virtual machine starter that starts a virtual machine having resources used when the function is started by the first starter or the second starter. The program according to claim 1.
前記コンピュータを、前記処理を実行していない機能が起動されている仮想マシンを停止させる仮想マシン停止部であって、当該機能が前記一時蓄積部に蓄積されている前記機能情報が示す機能である場合は当該機能を停止させない仮想マシン停止部として機能させる
請求項1又は2に記載のプログラム。
The computer is a virtual machine stop unit that stops a virtual machine in which a function that does not execute the process is activated, and is a function indicated by the function information in which the function is stored in the temporary storage unit. In this case, the program according to claim 1 or 2, which functions as a virtual machine stop unit that does not stop the function.
前記仮想マシン停止部は、前記処理を実行していない機能が、別の前記要求に基づいて当該処理を実行することが見込まれる機能として前記特定部により特定された場合は当該仮想マシンを停止させない
請求項3に記載のプログラム。
The virtual machine stop unit does not stop the virtual machine when the function that does not execute the process is specified by the specific unit as a function that is expected to execute the process based on another request. The program according to claim 3.
前記特定部は、前記要求がされた処理のパラメータ又は当該処理の要求の履歴から起動される可能性が他の機能に比べて高いことが表される機能を前記実行することが見込まれる機能として特定する
請求項1から4のいずれか1項に記載のプログラム。
The specific unit is a function that is expected to execute a function that is more likely to be activated from the parameter of the requested process or the history of the request for the process than other functions. The program according to any one of claims 1 to 4 to be specified.
前記第1起動部は、特定された前記機能の起動に要する時間が短いほど当該機能を起動させる時期を遅くする
請求項1から5のいずれか1項に記載のプログラム。
The program according to any one of claims 1 to 5, wherein the first activation unit delays the activation time of the specified function as the time required to activate the function is shorter.
前記第1起動部は、前記一時蓄積部に蓄積されている前記機能情報が多いほど特定された前記機能を起動させる時期を遅くする
請求項1から6のいずれか1項に記載のプログラム。
The program according to any one of claims 1 to 6, wherein the first activation unit delays the activation time of the specified function as the amount of the function information stored in the temporary storage unit increases.
前記機能には複数の種類があり、
前記第1起動部は、前記種類が共通し且つ起動済みの機能の数が少ないほど特定された当該種類の機能を起動させる時期を早くする
請求項1から7のいずれか1項に記載のプログラム。
There are multiple types of the above functions.
The program according to any one of claims 1 to 7, wherein the first activation unit activates a function of the specified type earlier as the number of functions having the same type and activated is smaller. ..
前記処理は、複数の機能により順番に実行され、
前記第1起動部は、当該機能の前記順番が早いほど特定された前記機能を起動させる時期を早くする
請求項1から8のいずれか1項に記載のプログラム。
The processing is executed in order by a plurality of functions,
The program according to any one of claims 1 to 8, wherein the first activation unit activates the specified function earlier as the order of the functions is earlier.
前記機能には複数の種類があり、
前記第1起動部は、特定された前記機能と同種の機能の起動回数が多いほど特定された当該機能を起動させる時期を早くする
請求項1から9のいずれか1項に記載のプログラム。
There are multiple types of the above functions.
The program according to any one of claims 1 to 9, wherein the first activation unit activates the specified function earlier as the number of activations of the same type of function as the specified function increases.
コンピュータを、蓄積されている前記機能情報が示す機能により実行される処理に要する時間を算出する算出部として機能させ、
前記第1起動部は、特定された前記機能を示す前記機能情報よりも前に蓄積された前記機能情報について算出された前記時間が長いほど仮想マシン上で当該機能を起動させる時期を遅くする
請求項1から10のいずれか1項に記載のプログラム。
The computer is made to function as a calculation unit for calculating the time required for the processing executed by the function indicated by the accumulated function information.
The first activation unit is claimed to delay the timing of activating the function on the virtual machine as the time calculated for the function information accumulated before the function information indicating the specified function is longer. Item 5. The program according to any one of Items 1 to 10.
前記コンピュータを、前記処理が完了した前記機能を停止させる機能停止部として機能させ、
前記第1起動部は、仮想マシン上の前記機能が前記処理を完了して停止されると、特定された前記機能を当該仮想マシン上で起動し、当該機能については前記時期を変化させる制御を行わない
請求項6から11のいずれか1項に記載のプログラム。
The computer is made to function as a function stop unit for stopping the function for which the process has been completed.
When the function on the virtual machine is stopped after completing the process, the first activation unit activates the specified function on the virtual machine, and controls the function to change the timing. The program according to any one of claims 6 to 11.
前記機能には複数の種類があり、
前記第1起動部は、特定された前記機能と同種の機能が前記処理を実行していない状態で存在する場合は、特定された当該機能の起動を行わず、
前記コンピュータを、前記第1起動部が前記機能の起動を行わない場合に、前記状態で存在する機能を制御して前記要求がされた処理を実行させる実行制御部として機能させる
請求項1から12のいずれか1項に記載のプログラム。
There are multiple types of the above functions.
When a function of the same type as the specified function exists in a state where the process is not executed, the first activation unit does not activate the specified function.
Claims 1 to 12 that cause the computer to function as an execution control unit that controls a function existing in the state and executes the requested process when the first activation unit does not activate the function. The program described in any one of the above.
仮想マシン上で起動される機能により実行される処理の要求を受け取ると当該機能を示す機能情報を生成する生成部と、
生成された前記機能情報を一時的に蓄積する一時蓄積部と、
前記処理の要求に基づいて当該処理を実行することが見込まれる機能を特定する特定部と、
特定された前記機能を仮想マシン上で起動させる第1起動部と、
前記一時蓄積部から読み出される前記機能情報が示す機能を仮想マシン上で起動させる第2起動部であって、当該機能が前記第1起動部により既に起動されている場合には当該機能を起動させない第2起動部と
を備える情報処理装置。
A generator that generates function information indicating the function when it receives a request for processing executed by the function started on the virtual machine.
A temporary storage unit that temporarily stores the generated functional information,
A specific part that identifies a function that is expected to execute the process based on the request for the process, and
The first boot unit that launches the specified function on the virtual machine,
It is a second activation unit that activates the function indicated by the function information read from the temporary storage unit on the virtual machine, and if the function has already been activated by the first activation unit, the function is not activated. An information processing device including a second activation unit.
JP2017215665A 2017-11-08 2017-11-08 Programs and information processing equipment Active JP6962142B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017215665A JP6962142B2 (en) 2017-11-08 2017-11-08 Programs and information processing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017215665A JP6962142B2 (en) 2017-11-08 2017-11-08 Programs and information processing equipment

Publications (2)

Publication Number Publication Date
JP2019087098A JP2019087098A (en) 2019-06-06
JP6962142B2 true JP6962142B2 (en) 2021-11-05

Family

ID=66763165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017215665A Active JP6962142B2 (en) 2017-11-08 2017-11-08 Programs and information processing equipment

Country Status (1)

Country Link
JP (1) JP6962142B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020182575A (en) * 2019-04-30 2020-11-12 株式会社大一商会 Game machine
WO2024004930A1 (en) * 2022-06-28 2024-01-04 京セラドキュメントソリューションズ株式会社 Cloud system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005275707A (en) * 2004-03-24 2005-10-06 Hitachi Ltd Information processor, control method for information processor, and program
WO2008084826A1 (en) * 2007-01-11 2008-07-17 Nec Corporation Provisioning system, method, and program
JP2009037353A (en) * 2007-07-31 2009-02-19 Ricoh Co Ltd Information processing terminal device and program
JP2010097543A (en) * 2008-10-20 2010-04-30 Fujitsu Frontech Ltd Service support program and service support method
JP2012014506A (en) * 2010-07-01 2012-01-19 Mitsubishi Electric Corp Process execution apparatus, process execution system, process execution method and program
JP2012088901A (en) * 2010-10-19 2012-05-10 Fujitsu Ltd Software management device, software management method, and software management program
JP2015106167A (en) * 2013-11-28 2015-06-08 ソニー株式会社 Information processing device, information processing method, and storage medium

Also Published As

Publication number Publication date
JP2019087098A (en) 2019-06-06

Similar Documents

Publication Publication Date Title
US20190228303A1 (en) Method and apparatus for scheduling resource for deep learning framework
CN105516086B (en) Method for processing business and device
US10013288B2 (en) Data staging management system
US9921882B2 (en) Information processing system, deployment method, processing device, and deployment device
CN111210136A (en) Robot task scheduling method and server
US9342369B2 (en) System and method for increasing throughput of a PaaS system
CN113645262A (en) Cloud computing service system and method
JP6962142B2 (en) Programs and information processing equipment
CN115617497B (en) Thread processing method, scheduling component, monitoring component, server and storage medium
WO2018107945A1 (en) Method and device for implementing allocation of hardware resources, and storage medium
CN110659131A (en) Task processing method, electronic device, computer device, and storage medium
CN115150464B (en) Application proxy method, device, equipment and medium
US20210141667A1 (en) Information processing apparatus, job scheduling method, and non-transitory computer-readable storage medium
CN110413398B (en) Task scheduling method and device, computer equipment and storage medium
CN110675058A (en) Work order processing method, electronic device, storage medium and system
CN106775975B (en) Process scheduling method and device
CN111143063B (en) Task resource reservation method and device
US10867264B2 (en) Methods and systems for estimating lag times in a cloud computing infrastructure
CN111355751A (en) Task scheduling method and device
US11275621B2 (en) Device and method for selecting tasks and/or processor cores to execute processing jobs that run a machine
JP6823257B2 (en) Job monitoring program, job monitoring device and job monitoring method
CN111190725B (en) Task processing method, device, storage medium and server
CN113722091A (en) Simulation task deployment method, system and related device
CN112380040A (en) Message processing method and device, electronic equipment and storage medium
CN115061794A (en) Method, device, terminal and medium for scheduling task and training neural network model

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200831

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210827

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210927

R150 Certificate of patent or registration of utility model

Ref document number: 6962142

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150