JP6239400B2 - Control device - Google Patents

Control device Download PDF

Info

Publication number
JP6239400B2
JP6239400B2 JP2014023984A JP2014023984A JP6239400B2 JP 6239400 B2 JP6239400 B2 JP 6239400B2 JP 2014023984 A JP2014023984 A JP 2014023984A JP 2014023984 A JP2014023984 A JP 2014023984A JP 6239400 B2 JP6239400 B2 JP 6239400B2
Authority
JP
Japan
Prior art keywords
program
execution
virtual control
control server
executed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014023984A
Other languages
Japanese (ja)
Other versions
JP2015152987A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2014023984A priority Critical patent/JP6239400B2/en
Publication of JP2015152987A publication Critical patent/JP2015152987A/en
Application granted granted Critical
Publication of JP6239400B2 publication Critical patent/JP6239400B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Train Traffic Observation, Control, And Security (AREA)

Description

本発明は、仮想化された制御サーバ管理方法、制御サーバ管理装置及びプログラムに係り、特に、各制御仮想サーバの制御周期・制御処理時間に合わせ、計算機資源の割当てを行う仮想制御サーバ管理方法、理装置及びプログラムに関する。   The present invention relates to a virtualized control server management method, control server management apparatus, and program, and in particular, a virtual control server management method for allocating computer resources in accordance with the control period and control processing time of each control virtual server, The present invention relates to a science device and a program.

クラウドコンピューティングなどのサーバ仮想化技術を用いたシステムでは、メモリ、プロセッサなどのサーバリソースの利用効率を向上させ、また、時間や時期で変動する負荷に対しサービスレベルを維持するために、特開2011-258119号公報(特許文献1)に記載の技術がある。この公報には、「複数の仮想計算機で構成されたクラスタを制御する方法であって、クラスタに対する所定時間後の負荷情報の予測値を演算し、クラスタを構成する仮想計算機の現在の計算機資源の割り当て量と、所定時間後の計算機資源の割り当て量とを保持し、クラスタの構成を変更するために利用可能な計算機資源の変更手段を保持し、クラスタを構成する仮想計算機に割り当てた現在の計算機資源の割り当て量と、負荷情報の予測値と、から変更手段の組み合わせを選択し、変更手段の実行予定時刻を設定し、実行予定時刻に到達した変更手段を仮想化部に通知して実行させる。」という技術が開示されている。   In systems using server virtualization technology such as cloud computing, in order to improve the utilization efficiency of server resources such as memory and processor, and to maintain the service level against the load that varies with time and time, There exists a technique described in 2011-258119 gazette (patent document 1). This gazette states that “a method of controlling a cluster composed of a plurality of virtual machines, which calculates a predicted value of load information after a predetermined time for the cluster and calculates the current computer resources of the virtual machines constituting the cluster. The allocation amount and the allocation amount of the computer resource after a predetermined time are held, the computer resource changing means that can be used to change the cluster configuration is held, and the current computer assigned to the virtual computer constituting the cluster The combination of changing means is selected from the resource allocation amount and the predicted value of load information, the scheduled execution time of the changing means is set, and the changing means that has reached the scheduled execution time is notified to the virtualization unit and executed. Is disclosed.

特開2011-258119JP2011-258119

制御システムにおいては、制御サーバは制御周期に基づき周期的にリアルタイム処理を行う。特許文献1では、計算機資源の割当、特にプロセッサ資源の割当については、プロセッサ使用率を監視しているが、制御サーバの周期的な動作におけるリアルタイム性を守るという観点での計算機資源割当がされていない。そのため、特許文献1の技術を制御サーバ仮想化装置に適用する場合においては、リアルタイム制御のためのサービスレベルを維持することが難しい。例えば、同じ時間に同じCPUコア上で、複数の仮想制御サーバが動作した場合、複数の仮想制御サーバで同一CPUコアを交互に使うため、動作時間が増大し、リアルタイム性を損なう。   In the control system, the control server periodically performs real-time processing based on the control cycle. In Patent Document 1, the processor usage rate is monitored for the allocation of computer resources, particularly the allocation of processor resources, but the computer resource allocation is performed from the viewpoint of protecting the real-time property in the periodic operation of the control server. Absent. Therefore, when applying the technique of Patent Document 1 to a control server virtualization apparatus, it is difficult to maintain a service level for real-time control. For example, when a plurality of virtual control servers operate on the same CPU core at the same time, the same CPU core is alternately used by a plurality of virtual control servers, so the operation time increases and the real-time property is impaired.

そこで、本発明では、複数のホストサーバ上で、複数の仮想制御サーバを用いて、制御システムを動作させる際に、周期的なリアルタイム制御を維持するための技術を提供することを目的とする。   Therefore, an object of the present invention is to provide a technique for maintaining periodic real-time control when a control system is operated on a plurality of host servers using a plurality of virtual control servers.

上記課題を解決するために、代表的な本発明の制御装置の一つは、サーバ仮想化環境で制御アプリケーションが稼動する仮想制御サーバへ新たにタスクを追加する際に、ユーザから受け付けたタスクの実行周期と最大実行時間を格納する、仮想制御サーバスケジュールテーブルを設ける。ハイパーバイザは仮想制御サーバスケジュールテーブルを参照し、既に稼動している仮想制御サーバの制御周期および最大処理時間をチェックし、新たに追加する仮想制御サーバの周期動作が同一プロセッサ上で他の仮想サーバと重複しないよう効率的に物理サーバに集約する仮想制御サーバ追加制御機構を備える。定期的に自動で、または、ユーザからの指示により、ホストサーバ内および、複数のホストサーバ間において、仮想制御サーバ再配置機構が、CPU空き時間が長くとれるよう、仮想制御サーバのデフラグメンテーション処理を実施する。   In order to solve the above problems, one of the representative control devices of the present invention is to add a task received from a user when a task is newly added to a virtual control server in which a control application operates in a server virtualization environment. A virtual control server schedule table for storing the execution cycle and the maximum execution time is provided. The hypervisor refers to the virtual control server schedule table, checks the control cycle and maximum processing time of the already operating virtual control server, and the newly added virtual control server has the same cyclic operation as another virtual server on the same processor. A virtual control server additional control mechanism that efficiently aggregates physical servers so that they do not overlap with each other. The virtual control server relocation mechanism performs defragmentation processing of the virtual control server so that the CPU free time can be long in the host server and between multiple host servers, either automatically at regular intervals or according to instructions from the user. carry out.

本発明によれば、周期的に実行されるプログラムをリアルタイム性を損なわずに実行することを容易にする。   According to the present invention, it is possible to easily execute a periodically executed program without impairing real-time performance.

本発明の実施例に係る複数のホストサーバと複数の仮想制御サーバと、制御対象装置からなる制御装置の構成を示すブロック図。The block diagram which shows the structure of the control apparatus which consists of a some host server which concerns on the Example of this invention, a some virtual control server, and a control object apparatus. 実施例における、仮想制御サーバスケジュールテーブルの構成を示す図。The figure which shows the structure of the virtual control server schedule table in an Example. 実施例における、仮想制御サーバスケジュールテーブルの情報に基づく、ホストサーバでの仮想制御サーバスケジュール動作を示す図。The figure which shows the virtual control server schedule operation | movement in a host server based on the information of the virtual control server schedule table in an Example. 実施例仮想制御サーバを新たに追加する処理手順の実施の形態を示すフローチャート。The flowchart which shows embodiment of the process sequence which adds an Example virtual control server newly. 実施例における、仮想制御サーバスケジュールテーブルに、仮想制御サーバ「D」および「E」を新たに追加した時の仮想制御サーバスケジュールテーブルの構成を示す図。The figure which shows the structure of the virtual control server schedule table when virtual control server "D" and "E" are newly added to the virtual control server schedule table in an Example. 実施例における、仮想制御サーバスケジュールテーブルの情報に基づく、ホストサーバでの仮想制御サーバスケジュール動作を示す図。The figure which shows the virtual control server schedule operation | movement in a host server based on the information of the virtual control server schedule table in an Example. 実施例における、仮想制御サーバスケジュールテーブルに、仮想制御サーバ「F」および「G」を追加した時の仮想制御サーバスケジュールテーブルの構成を示す図。The figure which shows the structure of the virtual control server schedule table when virtual control server "F" and "G" are added to the virtual control server schedule table in an Example. 実施例における、仮想制御サーバスケジュールテーブルの情報に基づく、ホストサーバでの仮想制御サーバスケジュール動作を示す図。The figure which shows the virtual control server schedule operation | movement in a host server based on the information of the virtual control server schedule table in an Example. 実施例における、仮想制御サーバスケジュールテーブルで、仮想制御サーバデフラグ処理を行った後の仮想制御サーバスケジュールテーブルの構成を示す図。The figure which shows the structure of the virtual control server schedule table after performing a virtual control server defragmentation process in the virtual control server schedule table in an Example. 実施例における、仮想制御サーバスケジュールテーブルの情報に基づく、ホストサーバでの仮想制御サーバスケジュール動作を示す図。The figure which shows the virtual control server schedule operation | movement in a host server based on the information of the virtual control server schedule table in an Example. 実施例における仮想制御サーバデフラグ処理手順を示すフローチャート。The flowchart which shows the virtual control server defragmentation process procedure in an Example. 実施例におけるホストサーバ間の仮想制御サーバデフラグ処理の動作例を示す図。The figure which shows the operation example of the virtual control server defragmentation process between the host servers in an Example. 実施例における仮想制御サーバスケジュールテーブルに「付加情報」の項目を付加した仮想制御サーバスケジュールテーブルの構成を示す図。The figure which shows the structure of the virtual control server schedule table which added the item of "additional information" to the virtual control server schedule table in an Example. 実施例における、仮想制御サーバスケジュールテーブルの情報に基づく、ホストサーバでの仮想制御サーバスケジュール動作を示す図。The figure which shows the virtual control server schedule operation | movement in a host server based on the information of the virtual control server schedule table in an Example.

以下、実施例を、図面を用いて説明する。   Hereinafter, examples will be described with reference to the drawings.

図1は、実施例における制御装置の構成を示すブロック図である。制御装置10は複数のホストサーバ20から構成される。おのおののホストサーバは、物理サーバ30を備える。物理サーバ30はプログラムを動作させるメモリ32、および、CPUコア34を備える。CPUコア34は複数備えていても良い。ホストサーバ20は、物理サーバ30上で動作するハイパーバイザ40を備える。   FIG. 1 is a block diagram illustrating a configuration of a control device according to the embodiment. The control device 10 includes a plurality of host servers 20. Each host server includes a physical server 30. The physical server 30 includes a memory 32 for operating a program and a CPU core 34. A plurality of CPU cores 34 may be provided. The host server 20 includes a hypervisor 40 that operates on the physical server 30.

ハイパーバイザ40は複数の仮想制御サーバ50をスケジュールするための仮想制御サーバスケジュールテーブル45を備える。ハイパーバイザ40は、仮想制御サーバスケジュールテーブル45に格納されているスケジュール情報を基に仮想制御サーバを動作させるCPUコア34および動作タイミングを決定する。また、ハイパーバイザ40は、仮想制御サーバ追加処理を実施する仮想制御サーバ追加制御機構46、および、仮想制御サーバデフラグメンテーション処理を実施する仮想制御サーバ再配置機構を備える。   The hypervisor 40 includes a virtual control server schedule table 45 for scheduling a plurality of virtual control servers 50. The hypervisor 40 determines the CPU core 34 for operating the virtual control server and the operation timing based on the schedule information stored in the virtual control server schedule table 45. In addition, the hypervisor 40 includes a virtual control server addition control mechanism 46 that performs a virtual control server addition process, and a virtual control server relocation mechanism that performs a virtual control server defragmentation process.

仮想制御サーバ50は、制御アプリケーション52、および、タスクスケジューラ54を備える。制御アプリケーション52は、制御対象装置60を制御する。タスクスケジューラ54は、ハイパーバイザ40と連携し、制御アプリケーション52の実行をスケジュールする。 制御装置10は、通信装置70を介して、複数の制御対象装置60と接続されている。複数のホストサーバ20上で動作する、複数の仮想制御サーバが、周期的に動作し、制御対象装置60を制御している。   The virtual control server 50 includes a control application 52 and a task scheduler 54. The control application 52 controls the control target device 60. The task scheduler 54 schedules the execution of the control application 52 in cooperation with the hypervisor 40. The control device 10 is connected to a plurality of control target devices 60 via the communication device 70. A plurality of virtual control servers operating on the plurality of host servers 20 operate periodically to control the control target device 60.

図2は、実施例における仮想制御サーバスケジュールテーブル45の具体例を示したものである。仮想制御サーバスケジュールテーブルは、「仮想制御サーバ名」、「状態」、「制御周期」、「最大実行時間」、「動作CPUコア番号」、「周期起動時間差」の項目より構成される。「状態」は仮想制御サーバの状態を示し、「稼動」または「停止」(一時停止を含む)の値をとりうる。「制御周期」は仮想制御サーバが起動する周期を示している。「最大実行時間」は仮想制御サーバが起動されてからの実行時間の最大時間を示している。   FIG. 2 shows a specific example of the virtual control server schedule table 45 in the embodiment. The virtual control server schedule table includes items of “virtual control server name”, “state”, “control cycle”, “maximum execution time”, “operating CPU core number”, and “period startup time difference”. “Status” indicates the status of the virtual control server, and can be a value of “operation” or “stop” (including temporary stop). “Control cycle” indicates the cycle at which the virtual control server is activated. “Maximum execution time” indicates the maximum execution time after the virtual control server is activated.

仮想制御サーバは一度起動されると、周期処理実行が終了するまで、処理を継続する。つまり、仮想制御サーバ内のタスクスケジューラが、ハイパーバイザと通信を行い、仮想制御サーバ内の制御アプリケーションが周期処理実行中である場合には、他の仮想制御サーバに実行が移らないよう実行順序を制御する。   Once activated, the virtual control server continues the process until the periodic process execution is completed. In other words, when the task scheduler in the virtual control server communicates with the hypervisor and the control application in the virtual control server is executing cyclic processing, the execution order is set so that execution does not move to other virtual control servers. Control.

仮想制御サーバ内の制御アプリケーションの周期処理が終了すると、タスクスケジューラはハイパーバイザと通信を行い、他の仮想制御サーバに制御を渡してよいことを通知する。「制御周期」および、「最大実行時間」は、仮想制御サーバの制御内容から決まるものであり、ユーザが入力する。   When the periodic processing of the control application in the virtual control server ends, the task scheduler communicates with the hypervisor and notifies the other virtual control server that control may be passed. The “control cycle” and “maximum execution time” are determined from the control contents of the virtual control server, and are input by the user.

「動作CPUコア番号」は、仮想制御サーバが動作する物理サーバのCPUコアを示す。「周期起動時間差」は、仮想制御サーバ起動する時間差を示す。周期起動時間差は、おのおのの仮想制御サーバの制御周期の最小公倍数の周期における時間差である。「動作CPUコア番号」および、「周期起動時間差」は、ユーザからの、「制御周期」および「最大実行時間」の入力から、ハイパーバイザの仮想制御サーバ追加制御機構が仮想制御サーバ起動時に算出し、決定するものである。算出方法の詳細については、「仮想制御サーバの追加処理」において詳述する(図4)。   “Operation CPU core number” indicates the CPU core of the physical server on which the virtual control server operates. The “periodic activation time difference” indicates a time difference at which the virtual control server is activated. The period activation time difference is a time difference in the least common multiple period of the control period of each virtual control server. The “operating CPU core number” and “period startup time difference” are calculated by the hypervisor virtual control server additional control mechanism when the virtual control server starts up, based on the “control cycle” and “maximum execution time” input from the user. , To decide. Details of the calculation method will be described in “Additional processing of virtual control server” (FIG. 4).

図3は、実施例におけるホストサーバ内のCPUコアでの仮想制御サーバの起動・動作のタイミングを示す図である。ここでは、ホストサーバ内に、二つのCPUコア(CPUコア1、CPUコア2)を備えるものとする。   FIG. 3 is a diagram illustrating the activation / operation timing of the virtual control server in the CPU core in the host server in the embodiment. Here, it is assumed that the host server includes two CPU cores (CPU core 1 and CPU core 2).

図3は、図2の仮想制御サーバスケジュールテーブルと対応している。つまり、仮想制御サーバ、「A」、「B」、「C」がそれぞれのパラメータで稼動している状況を示している。仮想制御サーバの制御周期の最小公倍数である6秒の周期における、仮想制御サーバの起動および動作時間が見て取れる。最小公倍数を用いる理由は、それぞれの仮想制御サーバが周期的に動作するため、すべての仮想制御サーバは最小公倍数周期で同じ動作パターンを繰り返すためである。   FIG. 3 corresponds to the virtual control server schedule table of FIG. That is, the virtual control servers “A”, “B”, and “C” are operating with their respective parameters. You can see the startup and operation time of the virtual control server in the period of 6 seconds, which is the least common multiple of the control period of the virtual control server. The reason for using the least common multiple is that each virtual control server operates periodically, and therefore all virtual control servers repeat the same operation pattern in the least common multiple cycle.

この例では、仮想制御サーバAは、制御周期:1秒、最大実行時間:200ミリ秒、動作CPUコア番号:1、周期起動時間差:0ミリ秒であるため、最小公倍数周期において、0秒から200ミリ秒、1秒から1200ミリ秒、2秒から2200ミリ秒、3秒から3200ミリ秒、4秒から4200ミリ秒、5秒から5200ミリ秒、の間動作する。仮想制御サーバBおよびCにおいても同様である。   In this example, the virtual control server A has a control cycle of 1 second, a maximum execution time of 200 milliseconds, an operating CPU core number of 1, and a period startup time difference of 0 milliseconds. It operates for 200 milliseconds, 1 second to 1200 milliseconds, 2 seconds to 2200 milliseconds, 3 seconds to 3200 milliseconds, 4 seconds to 4200 milliseconds, 5 seconds to 5200 milliseconds. The same applies to the virtual control servers B and C.

この例では仮想サーバの周期的な動作を例に説明しているが、仮想サーバの無いシステムにおいてはタスク等に置き換えることが可能である。   In this example, the periodic operation of the virtual server is described as an example, but in a system without a virtual server, it can be replaced with a task or the like.

図4は、前記仮想制御サーバ追加制御機構の、追加処理手順を示すフローチャートである。フローチャートに基づく動作は以下のとおりである。   FIG. 4 is a flowchart showing an addition processing procedure of the virtual control server addition control mechanism. The operation based on the flowchart is as follows.

ステップ100:ユーザから、追加する仮想制御サーバの仮想制御サーバ名、制御周期、仮想サーバの最大実行時間の入力を受け付け、仮想制御サーバスケジュールテーブルに格納する。   Step 100: Accept input from the user of the virtual control server name, control cycle, and maximum execution time of the virtual control server to be added, and store them in the virtual control server schedule table.

ステップ101:仮想制御サーバスケジュールテーブルから、すべての仮想制御サーバの制御周期の最小公倍数を算出する。   Step 101: Calculate the least common multiple of the control periods of all virtual control servers from the virtual control server schedule table.

ステップ102:ホストサーバに備わる全てのCPUコア(C)について、CPUコア番号が小さい順にステップ104を繰り返す。   Step 102: Step 104 is repeated for all CPU cores (C) provided in the host server in ascending order of CPU core numbers.

ステップ104:CPUコア(C)で、ステップ101で計算した制御周期の最小公倍数を周期とする周期動作内に、他の仮想制御サーバと追加対象の仮想制御サーバの動作時間を重ねずに動作させられるかどうかを判定する。判定は、追加対象の仮想制御サーバの周期をT、最大動作時間をΔT、制御周期の最小公倍数をL、起動時間差をW、L/T より少ない最大の整数を N とすると、仮想制御サーバ動作する区間群、[W, W + ΔT ]、[W + T, W + T + ΔT]、[W + 2 * T, W + 2 * T + ΔT]、…、[W + N * T, W + N * T + ΔT] が、他の仮想制御サーバと重ならないかを判定することで実施する。   Step 104: The CPU core (C) is operated without overlapping the operation time of the other virtual control server and the virtual control server to be added within the periodic operation having the least common multiple of the control cycle calculated in Step 101 as a cycle. Determine whether you can. Judgment is made when the virtual control server cycle to be added is T, the maximum operation time is ΔT, the least common multiple of the control cycle is L, the startup time difference is W, and the maximum integer less than L / T is N. [W, W + ΔT], [W + T, W + T + ΔT], [W + 2 * T, W + 2 * T + ΔT], ..., [W + N * T, W + N * T + ΔT] is performed by determining whether it overlaps with other virtual control servers.

ステップ105:まだステップ104の処理を行っていない物理CPUコアがあるか判定し、ある場合は102にもどり、ない場合は106を実施する。   Step 105: It is determined whether there is a physical CPU core that has not yet performed the process of Step 104. If there is, return to 102, and if not, execute 106.

ステップ106:すべての物理CPUコアについて、ステップ104で、他の仮想制御サーバと動作時間を重ねずに動作させることが不可能な場合は、これ以上仮想制御サーバを追加できない旨を示すエラーメッセージを出力する。エラーメッセージには、追加対象の仮想制御サーバ名、ホストサーバ名を含むものとする。   Step 106: If it is impossible to operate all physical CPU cores without overlapping the operation time with other virtual control servers in step 104, an error message indicating that no more virtual control servers can be added is displayed. Output. The error message includes the name of the virtual control server to be added and the host server name.

ステップ108:ステップ104で他の仮想制御サーバと動作時間を重ねずに動作させることが出来る場合は、設定可能な起動時間差 W のうちで最も少ないものを選び、動作CPUコア(C)と合わせて仮想制御サーバスケジュールテーブルに格納する。   Step 108: If the operation can be performed without overlapping the operation time with other virtual control servers in Step 104, the smallest one of the settable start time differences W is selected and combined with the operation CPU core (C). Store in the virtual control server schedule table.

ステップ110:仮想制御サーバスケジュールテーブルに記録された起動時間差に合わせて仮想制御サーバを起動する。   Step 110: Start the virtual control server in accordance with the start time difference recorded in the virtual control server schedule table.

上記の仮想制御サーバ追加処理により、仮想制御サーバ同士を、動作時間を重ねずに、かつ、おのおのの制御周期と実行時間を確保した上で動作させることができる。仮想制御サーバは他の仮想制御サーバからの干渉を受けないため、リアルタイム性を確保することができる。   By the above virtual control server addition process, the virtual control servers can be operated without overlapping the operation time and with each control cycle and execution time secured. Since the virtual control server is not subject to interference from other virtual control servers, real-time performance can be ensured.

以下、仮想制御サーバ追加処理について、具体例を挙げて、本発明の実施例を記載する。
図2には、仮想制御サーバ「A」、「B」、「C」を順に追加していった場合の仮想制御サーバスケジュールテーブルが記載されている。最初に仮想制御サーバ「A」を追加する場合、既に稼動している仮想制御サーバは存在しないため、仮想制御サーバの制御周期の最小公倍数は、仮想制御サーバ「A」の制御周期と同一、つまりこの場合では1秒となる。
Hereinafter, examples of the present invention will be described with specific examples of the virtual control server addition processing.
FIG. 2 shows a virtual control server schedule table when virtual control servers “A”, “B”, and “C” are added in order. When adding the virtual control server “A” for the first time, since there is no virtual control server that is already running, the least common multiple of the control cycle of the virtual control server is the same as the control cycle of the virtual control server “A”, that is, In this case, it is 1 second.

周期起動時間差には、他の仮想制御サーバがないため、0秒が設定され、「A」が起動される。「A」に加え、「B」の仮想制御サーバを追加する場合、すべての仮想制御サーバの制御周期の最小公倍数は、2秒となる。2秒周期のうち、区間0秒から0.2秒、1秒から1.2秒の間には仮想制御サーバ「A」が動作しているため、「B」の周期起動時間差には 0.2秒が設定され、「B」が起動される。さらに、「C」の仮想制御サーバを追加する場合、仮想制御サーバの制御周期の最小公倍数は6秒となる。「C」の起動時間差には、「A」、「B」と動作時間が重ならないよう、0.4秒が設定され、起動される。   Since there is no other virtual control server in the cyclic activation time difference, 0 seconds is set and “A” is activated. When the virtual control server “B” is added in addition to “A”, the least common multiple of the control cycles of all virtual control servers is 2 seconds. In the 2-second period, the virtual control server “A” is operating during the interval 0 second to 0.2 second and 1 second to 1.2 seconds. 2 seconds is set and “B” is activated. Furthermore, when adding the virtual control server “C”, the least common multiple of the control cycle of the virtual control server is 6 seconds. The activation time difference of “C” is set to 0.4 seconds so that the operation time does not overlap with “A” and “B”, and activation is performed.

仮想制御サーバ「A」、「B」、「C」を順に追加していったときの、ホストサーバでの仮想マシンスケジューリングの動作は図3に示したようになっている。   The virtual machine scheduling operation in the host server when the virtual control servers “A”, “B”, and “C” are sequentially added is as shown in FIG.

図5は、前記仮想制御サーバ追加処理(図4)において、「A」、「B」、「C」の仮想制御サーバに加え、さらに、「D」および「E」の仮想制御サーバを順に追加した際の仮想制御サーバスケジュールテーブルを示している。仮想制御サーバ「D」を追加する場合、CPUコア1において、すでに稼動している仮想制御サーバと、制御周期の最小公倍数周期で重ならないように動作させるためには、「D」の周期起動時間差は1.2秒でなければならい。   FIG. 5 shows that in the virtual control server addition process (FIG. 4), in addition to “A”, “B”, “C” virtual control servers, “D” and “E” virtual control servers are added in order. The virtual control server schedule table at the time of doing is shown. When adding the virtual control server “D”, in order to operate the CPU core 1 so that it does not overlap with the already running virtual control server in the least common multiple cycle of the control cycle, Must be 1.2 seconds.

他の値の周期起動時間差では、既に起動している仮想制御サーバと動作が重なる場合が出てくる。続いて「E」を追加する場合、CPUコア1で「E」を動作させようとしても、他の仮想制御サーバと動作を重ねずに動作させることのできる周期起動時間差は存在しない。このため、「E」はCPUコア2において稼動を試みる。CPUコア2においては、「E」が起動する前においては、既に起動している仮想制御サーバは存在しないため、周期起動時間差に0秒を設定し、「E」を起動することが出来る。ここで、CPUコア1および2に間では、制御周期の最小公倍数は共有されているものとする。   With other values of the cyclic activation time difference, there are cases where the operation overlaps with the already activated virtual control server. Subsequently, when “E” is added, even if the CPU core 1 tries to operate “E”, there is no periodic activation time difference that can be operated without overlapping with other virtual control servers. For this reason, “E” tries to operate in the CPU core 2. In CPU core 2, before “E” is activated, there is no virtual control server that has already been activated. Therefore, “E” can be activated by setting 0 seconds as the periodical activation time difference. Here, it is assumed that the least common multiple of the control period is shared between the CPU cores 1 and 2.

図6には、図3での状況に加え、仮想制御サーバ「D」、「E」を追加した時の、ホストサーバでの仮想マシンスケジューリング動作を示している。仮想制御サーバ「D」は、CPUコア1において、6秒周期のうち、1.2秒から1.4秒、3.2秒から3.4秒、5.2秒から5.4秒の間動作する。仮想制御サーバ「E」は、CPUコア2において、0秒から0.2秒、2秒から2.2秒、4秒から4.2秒の間動作する。   FIG. 6 shows a virtual machine scheduling operation in the host server when virtual control servers “D” and “E” are added in addition to the situation in FIG. The virtual control server “D” has a period of 1.2 to 1.4 seconds, 3.2 to 3.4 seconds, and 5.2 to 5.4 seconds in the 6-second cycle in CPU core 1. Operate. The virtual control server “E” operates in the CPU core 2 for 0 to 0.2 seconds, 2 to 2.2 seconds, and 4 to 4.2 seconds.

図7は、仮想制御サーバが稼動と停止を繰り返したときの仮想制御サーバスケジュールテーブルを表す。 仮想制御サーバ停止処理について説明する。稼動している仮想制御サーバを停止する場合、仮想制御サーバの動作を停止した後、仮想制御サーバスケジュールテーブルの、停止対象の仮想制御サーバの動作CPUコア番号、および、周期起動時間差に「-」を記録する。記号「-」は未定義を表す。   FIG. 7 shows a virtual control server schedule table when the virtual control server is repeatedly operated and stopped. The virtual control server stop process will be described. When stopping a virtual control server that is running, stop the operation of the virtual control server, and then select "-" for the operating CPU core number of the virtual control server to be stopped and the cyclic start time difference in the virtual control server schedule table. Record. The symbol “-” represents undefined.

仮想制御サーバデフラグ処理について説明する。仮想制御サーバデフラグ処理は、仮想制御サーバが稼動と停止を繰り返した際、制御周期の最小公倍数周期において、仮想制御サーバの動作区間がフラグメンテーション状態になった場合に、デフラグメンテーションを行う処理である。デフラグメンテーションを行うことで、長く続く動作区間を確保しやすくなるため、新たな仮想制御サーバを追加し空いたCPU時間を有効に使うことが出来る。   The virtual control server defragmentation process will be described. The virtual control server defragmentation process is a process of performing defragmentation when the operation section of the virtual control server is in a fragmentation state in the least common multiple cycle of the control cycle when the virtual control server is repeatedly activated and stopped. By performing defragmentation, it becomes easy to secure a long-lasting operation section, so a new virtual control server can be added to effectively use the free CPU time.

図8は、図7の仮想制御サーバスケジュールテーブルに基づく、ホストサーバでの仮想制御サーバのスケジュールの様子を示したものである。図8を見て分かるとおり、空きCPU時間のフラグメンテーションが発生している。このような場合では、仮に、ホストサーバに新たに制御周期3秒、最大実行時間0.7秒の仮想制御サーバを追加しようとしても、連続した空きCPU時間がたりないため、追加できない。   FIG. 8 shows a state of the schedule of the virtual control server in the host server based on the virtual control server schedule table of FIG. As can be seen from FIG. 8, fragmentation of free CPU time occurs. In such a case, even if a new virtual control server with a control period of 3 seconds and a maximum execution time of 0.7 seconds is added to the host server, it cannot be added because there is no continuous free CPU time.

仮想制御サーバデフラグ処理は、このような状況において、CPUコア2で動作する仮想制御サーバを、CPUコア1に集め、CPUコア2での連続した空きCPU時間を確保する処理である。   In such a situation, the virtual control server defragmentation process is a process of collecting virtual control servers operating in the CPU core 2 in the CPU core 1 and ensuring continuous free CPU time in the CPU core 2.

図9、は、図7および、図8の状況から、仮想制御サーバデフラグ処理を行った後、さらに、制御周期3秒、最大実行時間0.7秒の仮想制御サーバ「H」を追加した時の仮想制御サーバスケジュールテーブルである。   FIG. 9 shows a state in which a virtual control server “H” having a control cycle of 3 seconds and a maximum execution time of 0.7 seconds is further added after performing the virtual control server defragmentation processing from the situation of FIG. 7 and FIG. This is a virtual control server schedule table.

図10は、図9の仮想制御サーバスケジュールテーブルに基づく、ホストサーバでの仮想制御サーバのスケジュールの様子を示したものである。仮想制御サーバデフラグ処理により、CPUコア2で動作する仮想制御サーバがCPUコア1に移されたことで、CPUコア2に、仮想制御サーバ「H」を割り当てることができる。   FIG. 10 shows a virtual control server schedule on the host server based on the virtual control server schedule table of FIG. The virtual control server “H” can be allocated to the CPU core 2 by moving the virtual control server operating on the CPU core 2 to the CPU core 1 by the virtual control server defragmentation process.

図11は、前記仮想制御サーバ再配置機構47が、仮想制御サーバデフラグ処理を実施する際のフローチャートである。図11に基づき、仮想制御サーバデフラグ処理について詳しく説明する。   FIG. 11 is a flowchart when the virtual control server relocation mechanism 47 performs virtual control server defragmentation processing. The virtual control server defragmentation process will be described in detail based on FIG.

ステップ200:仮想制御サーバスケジュールテーブルから、すべての仮想制御サーバの制御周期の最小公倍数を算出する。   Step 200: Calculate the least common multiple of the control periods of all virtual control servers from the virtual control server schedule table.

ステップ202:ホストサーバ内のすべての物理CPUコア(C)について、ステップ204、および、ステップ206を繰り返す。   Step 202: Steps 204 and 206 are repeated for all physical CPU cores (C) in the host server.

ステップ204:物理CPUコア(C)上で動作するすべての仮想サーバ(V)について、ステップ206を繰り返す。   Step 204: Step 206 is repeated for all virtual servers (V) operating on the physical CPU core (C).

ステップ206:物理CPUコア(C)より小さいCPU番号を持つCPUコアのうち、最もCPU番号が小さいものから順に、そのCPUコア上で、他の仮想制御サーバと動作時間を重ねずに仮想制御サーバ(V)を、周期起動時間差を変更せずに動作させられるかどうかを判定する。動作させることが可能な場合は、ステップ208を実行する。動作させることが不可能な場合については、ステップ204を繰り返す。   Step 206: From the CPU cores having the smallest CPU number among the CPU cores having a smaller CPU number than the physical CPU core (C), the virtual control server on the CPU core without overlapping the operation time with other virtual control servers. It is determined whether (V) can be operated without changing the period startup time difference. If it can be operated, step 208 is executed. If the operation is impossible, step 204 is repeated.

ステップ208:仮想制御サーバの物理CPUコア間マイグレーション処理を実施する。物理CPUコア間マイグレーション処理では、一般のマルチコア対応マルチタスクOSが行っている、CPUコア間のタスクマイグレーション機構と同様に、仮想制御サーバをマイグレーションする。   Step 208: Perform a migration process between physical CPU cores of the virtual control server. In the migration process between physical CPU cores, the virtual control server is migrated in the same manner as the task migration mechanism between CPU cores performed by a general multi-core multitask OS.

ステップ210:仮想制御サーバスケジュールテーブルの、動作CPUコア項目を、マイグレーション元のCPU番号から、マイグレーション先のCPU番号に書き換える。以後、マイグレーションした仮想制御サーバは、マイグレーション先のCPUにて動作するようになる。   Step 210: Rewrite the operation CPU core item in the virtual control server schedule table from the migration source CPU number to the migration destination CPU number. Thereafter, the migrated virtual control server operates on the migration destination CPU.

ステップ211:まだステップ206の処理を実施していない仮想制御サーバがあるかを判定し、ある場合はステップ204に戻り、ない場合は、ステップ212を実施する。   Step 211: It is determined whether there is a virtual control server that has not yet performed the process of Step 206. If there is, the process returns to Step 204, and if not, Step 212 is performed.

ステップ212:まだステップ206の処理を実施していない物理CPUコアがあるかどうかを判定し、ある場合はステップ202に戻り、ない場合は、処理を終了する。   Step 212: It is determined whether there is a physical CPU core that has not yet performed the process of Step 206. If there is, the process returns to Step 202, and if not, the process ends.

図9を用いて、仮想マシンマイグレーション処理の具体例について説明する。図9は、図7の状況から、仮想制御サーバ「F」および「G」をCPUコア2からCPUコア1へとマイグレーションを行った後、仮想制御サーバ「H」を追加した状況を表している。図7の状況において、仮想制御サーバマイグレーション処理が開始されると、仮想制御サーバ「A」、「B」、「D」、「E」について、ステップ206が実施されるが、他の仮想制御サーバと動作時間を重ねずに動作させることはできない。「F」について、ステップ206が実施された場合、物理CPUコア1において、仮想制御サーバ「F」を、周期起動時間差を変更せずに動作させることが可能である。つまり、仮想制御サーバ「F」はCPUコア2において、制御周期の最小公倍数6秒のうち、0.4秒から0.7秒、3.4秒から3.7秒の区間で動作しているが、CPUコア1において、その区間内に動作している仮想制御サーバはないため、仮想制御サーバ「F」はCPUコア2からCPUコア1へとマイグレーション可能であると判定される。判定後はマイグレーションを実施し、以降、仮想制御サーバ「F」はCPUコア1で動作するようになる。同じように、仮想制御サーバ「G」についても、CPUコア2からCPUコア1へとマイグレーションを行い、仮想制御サーバデフラグ処理を終了する。仮想制御サーバでフラグ処理後には、CPUコア2において、長く続くCPU空き時間が増加しているため、新たに制御周期3秒、最大実行時間0.7秒の仮想制御サーバ「H」を追加することができる。   A specific example of the virtual machine migration process will be described with reference to FIG. FIG. 9 shows a situation where the virtual control servers “F” and “G” are migrated from the CPU core 2 to the CPU core 1 and then the virtual control server “H” is added from the situation of FIG. . In the situation of FIG. 7, when the virtual control server migration process is started, step 206 is performed for the virtual control servers “A”, “B”, “D”, and “E”. It cannot be operated without overlapping the operation time. When step 206 is performed for “F”, the virtual CPU “F” can be operated in the physical CPU core 1 without changing the periodical activation time difference. In other words, the virtual control server “F” operates in the CPU core 2 in the interval of 0.4 to 0.7 seconds, 3.4 to 3.7 seconds, among the least common multiple of 6 seconds of the control cycle. However, since there is no virtual control server operating in the section in the CPU core 1, it is determined that the virtual control server “F” can be migrated from the CPU core 2 to the CPU core 1. After the determination, migration is performed. Thereafter, the virtual control server “F” operates on the CPU core 1. Similarly, the virtual control server “G” is also migrated from the CPU core 2 to the CPU core 1, and the virtual control server defragmentation process is terminated. After the flag processing in the virtual control server, the CPU free time has increased in CPU core 2, so a new virtual control server “H” with a control cycle of 3 seconds and a maximum execution time of 0.7 seconds is added. be able to.

仮想制御サーバマイグレーション処理は、制御装置が動作している際に、ユーザからの指示、または、自動で定期的に実施される場合がある。   The virtual control server migration process may be performed periodically by an instruction from a user or automatically when the control device is operating.

以上、同一ホストサーバ内での仮想制御サーバマイグレーション処理について説明したが、マイグレーション処理は、ホストサーバ間でも実施する形態がある。   The virtual control server migration process within the same host server has been described above. However, there is an embodiment in which the migration process is performed between host servers.

図12は、ホストサーバ2、および、ホストサーバ3からホストサーバ1へのホストサーバ間マイグレーション処理による、仮想制御サーバのホストサーバ間マイグレーションの様子を示している。ホストサーバ間マイグレーション処理は、ユーザからの指示によるか、または、定期的に自動で実行される。この例では、ホストサーバ2のCPUコア2で動作する仮想制御サーバ「F」をホストサーバ1のCPUコア2にホストサーバ間マイグレーションしている。また、ホストサーバ3からは、CPUコア2で動作する仮想制御サーバ「G」を、ホストサーバ1のCPUコア2へホストサーバ間マイグレーションしている。ホストサーバ間マイグレーションは、仮想制御サーバを稼動させたままでも、停止状態でも行ってよいものとする。仮想制御サーバを稼動させたままホストサーバ間マイグレーションを行う場合は、仮想化環境で一般に知られた技術である、仮想サーバのライブマイグレーションにより行う。このように、ホストサーバ間でマイグレーション処理を実施することにより、マイグレーション移行先に仮想制御サーバを集約し、移行元のホストサーバにCPU時間の空きをつくることができる。   FIG. 12 shows how the virtual control server is migrated between the host servers by the host server 2 and the migration process between the host servers 3 to the host server 1. The inter-host server migration process is executed automatically according to an instruction from the user or periodically. In this example, the virtual control server “F” operating on the CPU core 2 of the host server 2 is migrated to the CPU core 2 of the host server 1 between the host servers. Further, from the host server 3, the virtual control server “G” operating on the CPU core 2 is migrated between the host servers to the CPU core 2 of the host server 1. The host-server migration may be performed while the virtual control server is operating or in a stopped state. When performing migration between host servers while operating the virtual control server, it is performed by live migration of the virtual server, which is a technique generally known in a virtual environment. As described above, by performing the migration process between the host servers, it is possible to consolidate the virtual control servers in the migration migration destination, and to make room for CPU time in the migration source host server.

本実施例は、実施例1で扱った仮想制御サーバスケジュールテーブル45に新たに「付加情報」という列を追加したものである。   In the present embodiment, a column “additional information” is newly added to the virtual control server schedule table 45 handled in the first embodiment.

図13、14を用いて、前記仮想制御サーバ追加制御機構46の仮想制御サーバ追加処理について、実施例1との変更点のみ、以下に示す。   13 and 14, the virtual control server addition process of the virtual control server addition control mechanism 46 will be described below only with respect to the changes from the first embodiment.

図13には、実施例1の仮想制御サーバスケジュールテーブルに、「付加情報」として、「制御対象地域」を付加してある。制御対象地域とは、該当する仮想制御サーバが制御する、制御対象が存在する地域区分を表している。付加情報として、制御対象地域を与えることで、同じ地域を制御する仮想制御サーバに一時的に負荷が生じ、設定した最大実行時間を越えて仮想制御サーバが実行され、連鎖的に仮想制御サーバに高負荷がかかる場合に備えることができる。   In FIG. 13, “control target area” is added as “additional information” to the virtual control server schedule table of the first embodiment. The control target area represents an area division where the control target exists, which is controlled by the corresponding virtual control server. By giving the control target area as additional information, a temporary load is generated on the virtual control server that controls the same area, and the virtual control server is executed beyond the set maximum execution time. It can be provided when a high load is applied.

付加情報は、仮想制御サーバを新たに追加する場合に、ユーザが入力するものである。図13は、仮想制御サーバ「A」、「B」、「C」、「D」を順に追加していった時の状態となっている。ここで、仮想制御サーバ「A」を追加した後に、仮想制御サーバ「B」を追加する場合、付加情報である制御対象地域が同じであるため、「A」の仮想制御サーバと連続して動作しないように、余裕値として、「A」の最大実行時間を1.5倍し、「A」が0秒から0.6秒、3秒から3.6秒の区間で動作しているものと仮定して、「B」の周期起動時間差を0.6秒とする。
同じ付加情報をもつ「A」と「B」が連続して動作し、処理遅延が波及することを防ぐことができる。結果として、地域(a)を制御する仮想制御サーバに負荷が集中して掛かった場合でも、あらかじめマージンをとり、動作時間を設定してあるため、仮想制御サーバが最大実行時間を越えた場合であっても、同じ地域を制御する仮想制御サーバに影響が出にくいという効果がある。
The additional information is input by the user when a new virtual control server is added. FIG. 13 shows a state when virtual control servers “A”, “B”, “C”, and “D” are added in order. Here, when adding the virtual control server “B” after adding the virtual control server “A”, the control target area that is additional information is the same, so it operates continuously with the virtual control server of “A”. As a margin value, the maximum execution time of “A” is multiplied by 1.5, and “A” is operating from 0 to 0.6 seconds, and from 3 to 3.6 seconds. Assuming that the period start time difference of “B” is 0.6 seconds.
It is possible to prevent “A” and “B” having the same additional information from operating continuously and spreading the processing delay. As a result, even if the load is concentrated on the virtual control server that controls the region (a), the margin is set in advance and the operation time is set, so if the virtual control server exceeds the maximum execution time Even if it exists, there exists an effect that it is hard to exert influence on the virtual control server which controls the same area.

図14には、図13に記載の仮想制御サーバスケジュールテーブルに基づく、ホストサーバでの仮想制御サーバのスケジュールの様子を示したものである。この図から、同じ制御対象地域の仮想制御サーバが連続して動作していないことが理解できる。   FIG. 14 shows a virtual control server schedule on the host server based on the virtual control server schedule table shown in FIG. From this figure, it can be understood that virtual control servers in the same control target area are not operating continuously.

前記仮想制御サーバ追加制御機構46の仮想制御サーバ追加処理に関して、仮想制御サーバに付与する付加情報の利用方法について述べたが、付加情報の利用は、仮想制御サーバデフラグ処理においても同様の考え方が適用される。つまり、デフラグ処理において、同じ付加情報をもつ仮想制御サーバが連続して動作しないようデフラグ処理を行う。また、ホストサーバ間にまたがるデフラグ処理においても同様である。   Regarding the virtual control server addition process of the virtual control server addition control mechanism 46, the method of using the additional information to be given to the virtual control server has been described, but the same concept applies to the use of the additional information in the virtual control server defragmentation process. Is done. That is, in the defragmentation process, the defragmentation process is performed so that virtual control servers having the same additional information do not operate continuously. The same applies to the defragmentation process across the host servers.

以上、仮想制御サーバスケジュールテーブルにおける付加情報の利用方法について述べたが、付加情報は制御対象地域のみならず、仮想制御サーバに付加できる属性ならどのようなものでも付加可能である。例えば、仮想制御サーバが扱う制御情報の種類、制御対象の重要度、仮想制御サーバにかかる負荷パターンなどを含む。   As described above, the method of using the additional information in the virtual control server schedule table has been described. However, the additional information can be added to any attribute that can be added to the virtual control server as well as the control target area. For example, it includes the type of control information handled by the virtual control server, the importance of the control target, the load pattern applied to the virtual control server, and the like.

例えば、本発明を鉄道の運行システムに適用した場合、付加情報として鉄道の路線や線区を指定することも考えられる。   For example, when the present invention is applied to a railway operation system, it may be possible to specify a railway route or line section as additional information.

この場合は路線毎に各々の仮想制御サーバが提供する処理が正しく行われなければ、当該路線の運航を行うことができないため、路線単位や線区単位で独立したCPUコアに割り当てることにより、ある路線や線区の処理を行おうとした仮想制御サーバの処理遅延が他の路線や線区の処理に波及することを防ぐことができる。   In this case, if the processing provided by each virtual control server for each route is not performed correctly, the route cannot be operated, so by assigning it to an independent CPU core for each route or line unit, It is possible to prevent the processing delay of the virtual control server trying to process the route or line section from spreading to the processing of another route or line section.

なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。   In addition, this invention is not limited to an above-described Example, Various modifications are included. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment. Each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor. Information such as programs, tables, and files for realizing each function can be stored in a recording device such as a memory, a hard disk, or an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.

10・・・制御装置、
20・・・ホストサーバ、
30・・・物理サーバ、
40・・・ハイパーバイザ、
45・・・仮想制御サーバスケジュールテーブル、
50・・・仮想制御サーバ、
60・・・制御対象装置
10 ... Control device,
20: Host server,
30 ... physical server,
40 ... Hypervisor,
45 ... Virtual control server schedule table,
50 ... Virtual control server,
60 ... Controlled device

Claims (10)

周期的に複数のプログラムを実行するプログラム制御装置であって、
新たに実行するプログラムの実行周期と実行するプログラムの実行時間を受け取る入力部と、
入力された実行周期と実行時間に基づいて既に実行スケジュールされている他のプログラムの実行時間帯と新たに実行するプログラムの実行時間帯が同一の識別子を有するCPUにおいて重複しないよう新たに実行するプログラムを実行するCPUの識別子と、新たに実行するプログラムの周期上の実行タイミングを含む実行スケジュールを生成するスケジュール部と、
前記実行スケジュールに基づいてプログラムの実行を制御する実行制御部とを備え
前記プログラムは仮想制御サーバに関するものであり、仮想制御サーバにおいて、当該仮想制御サーバが実行を制御しているアプリケーションが処理中かどうかを判断し、処理が完了していれば実行制御部へ他の仮想制御サーバを実行できることを通知することを特徴とするプログラム制御装置。
A program control device that periodically executes a plurality of programs,
An input unit for receiving an execution cycle of a newly executed program and an execution time of the executed program;
A program that is newly executed based on the input execution cycle and execution time so that the execution time zone of another program already scheduled for execution and the execution time zone of the program to be newly executed do not overlap in the CPU having the same identifier A schedule unit that generates an execution schedule including an identifier of a CPU that executes the program, an execution timing on a cycle of a program to be newly executed, and
An execution control unit that controls execution of the program based on the execution schedule ,
The program relates to a virtual control server, and in the virtual control server, it is determined whether or not the application that is controlled by the virtual control server is being processed. A program control apparatus that notifies that a virtual control server can be executed.
請求項1に記載のプログラム制御装置において、
前記入力部は前記新たに実行するプログラムの付加情報を入力し、
前記スケジュール部は前記付加情報に基づいて、予め定められた基準に基づいて前記新たに実行するプログラムと既に実行スケジュールされている他のプログラムを実行する間隔を決めることを特徴とするプログラム制御装置。
The program control device according to claim 1,
The input unit inputs additional information of the newly executed program,
The program control apparatus according to claim 1, wherein the schedule unit determines an interval for executing the newly executed program and another program already scheduled for execution based on a predetermined criterion based on the additional information.
請求項2に記載のプログラム制御装置において、
前記プログラムは鉄道の運行を制御するためのプログラムであり、前記プログラムに付与する付加情報は制御対象の鉄道の線区に関する情報であり、
前記スケジュール部は線区単位で異なるCPUで実行されるようスケジュールすることを特徴とするプログラム制御装置。
The program control device according to claim 2,
The program is a program for controlling the operation of the railway, and the additional information given to the program is information about the railway line of the controlled object,
The program control apparatus according to claim 1, wherein the schedule unit schedules the program to be executed by different CPUs in line units.
請求項1に記載のプログラム制御装置において、
前記スケジュール部は第一のCPUで実行スケジュールされているプログラムを第二の実行可能なCPUで実行されるよう実行スケジュール変更し、第一のCPUでプログラムを連続実行できる時間を長くするようスケジュールすることを特徴とするプログラム制御装置。
The program control device according to claim 1,
The scheduling unit changes the execution schedule so that the program scheduled to be executed by the first CPU is executed by the second executable CPU, and schedules the program to be continuously executed by the first CPU. The program control apparatus characterized by the above-mentioned.
請求項4に記載のプログラム制御装置において、
前記入力部は前記新たに実行するプログラムの付加情報を入力し、
前記スケジュール部は前記付加情報に基づいて、予め定められた基準に基づいて前記新たに実行するプログラムと既に実行スケジュールされている他のプログラムを実行する間隔を決めることを特徴とするプログラム制御装置。
The program control apparatus according to claim 4, wherein
The input unit inputs additional information of the newly executed program,
The program control apparatus according to claim 1, wherein the schedule unit determines an interval for executing the newly executed program and another program already scheduled for execution based on a predetermined criterion based on the additional information.
周期的に複数のプログラムを実行するプログラム制御方法であって、
入力部が新たに実行するプログラムの実行周期と実行するプログラムの実行時間を受け、
スケジュール部が入力された実行周期と実行時間に基づいて既に実行スケジュールされている他のプログラムの実行時間帯と新たに実行するプログラムの実行時間帯が同一の識別子を有するCPUにおいて重複しないよう新たに実行するプログラムを実行するCPUの識別子と、新たに実行するプログラムの周期上の実行タイミングを含む実行スケジュールを生成し、
実行制御部が前記実行スケジュールに基づいてプログラムの実行を制御し、
前記プログラムは仮想制御サーバに関するものであり、仮想制御サーバにおいて、当該仮想制御サーバが実行を制御しているアプリケーションが処理中かどうかを判断し、処理が完了していれば実行制御部へ他の仮想制御サーバを実行できることを通知することを特徴とするプログラム制御方法。
A program control method for periodically executing a plurality of programs,
The input unit receives the execution cycle of the program to be newly executed and the execution time of the program to be executed,
Based on the execution cycle and execution time input by the schedule unit, the execution time zone of other programs already scheduled for execution and the execution time zone of the newly executed program will not be duplicated in CPUs with the same identifier. Generate an execution schedule that includes the identifier of the CPU that executes the program to be executed and the execution timing on the cycle of the newly executed program,
The execution control unit controls the execution of the program based on the execution schedule ,
The program relates to a virtual control server, and in the virtual control server, it is determined whether or not the application that is controlled by the virtual control server is being processed. A program control method for notifying that a virtual control server can be executed.
請求項6に記載のプログラム制御方法において、
前記入力部は前記新たに実行するプログラムの付加情報を入力し、
前記スケジュール部は前記付加情報に基づいて、予め定められた基準に基づいて前記新たに実行するプログラムと既に実行スケジュールされている他のプログラムを実行する間隔を決めることを特徴とするプログラム制御方法。
The program control method according to claim 6, wherein
The input unit inputs additional information of the newly executed program,
The program control method characterized in that the schedule unit determines an interval for executing the newly executed program and another program already scheduled for execution based on a predetermined criterion based on the additional information.
請求項7に記載のプログラム制御方法において、
前記プログラムは鉄道の運行を制御するためのプログラムであり、前記プログラムに付与する付加情報は制御対象の鉄道の線区に関する情報であり、
前記スケジュール部は線区単位で異なるCPUで実行されるようスケジュールすることを特徴とするプログラム制御方法。
The program control method according to claim 7,
The program is a program for controlling the operation of the railway, and the additional information given to the program is information about the railway line of the controlled object,
The program control method according to claim 1, wherein the schedule unit schedules to be executed by a different CPU for each line section.
請求項6に記載のプログラム制御方法において、
前記スケジュール部は第一のCPUで実行スケジュールされているプログラムを第二の実行可能なCPUで実行されるよう実行スケジュール変更し、第一のCPUでプログラムを連続実行できる時間を長くするようスケジュールすることを特徴とするプログラム制御方法。
The program control method according to claim 6, wherein
The scheduling unit changes the execution schedule so that the program scheduled to be executed by the first CPU is executed by the second executable CPU, and schedules the program to be continuously executed by the first CPU. The program control method characterized by the above-mentioned.
請求項9に記載のプログラム制御方法において、
前記入力部は前記新たに実行するプログラムの付加情報を入力し、
前記スケジュール部は前記付加情報に基づいて、予め定められた基準に基づいて前記新たに実行するプログラムと既に実行スケジュールされている他のプログラムを実行する間隔を決めることを特徴とするプログラム制御方法。
The program control method according to claim 9, wherein
The input unit inputs additional information of the newly executed program,
The program control method characterized in that the schedule unit determines an interval for executing the newly executed program and another program already scheduled for execution based on a predetermined criterion based on the additional information.
JP2014023984A 2014-02-12 2014-02-12 Control device Active JP6239400B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014023984A JP6239400B2 (en) 2014-02-12 2014-02-12 Control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014023984A JP6239400B2 (en) 2014-02-12 2014-02-12 Control device

Publications (2)

Publication Number Publication Date
JP2015152987A JP2015152987A (en) 2015-08-24
JP6239400B2 true JP6239400B2 (en) 2017-11-29

Family

ID=53895206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014023984A Active JP6239400B2 (en) 2014-02-12 2014-02-12 Control device

Country Status (1)

Country Link
JP (1) JP6239400B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220261262A1 (en) * 2019-05-10 2022-08-18 Hitachi Astemo, Ltd. Hypervisor and control device
JP7414690B2 (en) * 2020-10-27 2024-01-16 三菱電機株式会社 Traffic management system, control device, control method, and control program
JP2023087354A (en) * 2021-12-13 2023-06-23 日立Astemo株式会社 Simulation method
CN116155965B (en) * 2023-04-21 2023-06-30 天津洪荒科技有限公司 Multi-stage control method of omnidirectional AMR

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01262251A (en) * 1988-04-11 1989-10-19 Mitsubishi Electric Corp Operation management system
JP2001341645A (en) * 2000-06-02 2001-12-11 Nippon Signal Co Ltd:The Train operation control apparatus and train operation control method
JP2003011823A (en) * 2001-07-04 2003-01-15 Hitachi Ltd Total traffic control system
JP4074296B2 (en) * 2005-03-25 2008-04-09 株式会社東芝 Schedulability determination method, real-time system, and program
JP5081457B2 (en) * 2007-01-23 2012-11-28 株式会社日立製作所 Railway operation management system and management computer for training
JP2009151375A (en) * 2007-12-18 2009-07-09 Toshiba Corp Job scheduling method
JP2010027062A (en) * 2009-08-21 2010-02-04 Hitachi Ltd Distributed control system
JP5441626B2 (en) * 2009-11-06 2014-03-12 日立オートモティブシステムズ株式会社 In-vehicle multi-app execution device
JP2012185541A (en) * 2011-03-03 2012-09-27 Denso Corp In-vehicle device, scheduling program, and scheduling method
US8621473B2 (en) * 2011-08-01 2013-12-31 Honeywell International Inc. Constrained rate monotonic analysis and scheduling

Also Published As

Publication number Publication date
JP2015152987A (en) 2015-08-24

Similar Documents

Publication Publication Date Title
Grandl et al. Altruistic scheduling in {Multi-Resource} clusters
US8694644B2 (en) Network-aware coordination of virtual machine migrations in enterprise data centers and clouds
US9183016B2 (en) Adaptive task scheduling of Hadoop in a virtualized environment
JP6381956B2 (en) Dynamic virtual machine sizing
JP2011258119A5 (en)
WO2016023390A1 (en) Method and device for deploying virtual machine storage resource
JP4705051B2 (en) Computer system
US20160196157A1 (en) Information processing system, management device, and method of controlling information processing system
KR20130136449A (en) Controlled automatic healing of data-center services
JP2015535636A (en) Method, apparatus and system for realizing hot migration of virtual machine
JP6107801B2 (en) Information processing apparatus, information processing system, task processing method, and program
JP6239400B2 (en) Control device
JP7003874B2 (en) Resource reservation management device, resource reservation management method and resource reservation management program
JP2011186701A (en) Resource allocation apparatus, resource allocation method and resource allocation program
JP2008171293A (en) Scheduling method for virtual computer system
KR101392584B1 (en) Apparatus for dynamic data processing using resource monitoring and method thereof
US20190108065A1 (en) Providing additional memory and cache for the execution of critical tasks by folding processing units of a processor complex
EP3274859B1 (en) Cluster computing service assurance apparatus and method
JP7035858B2 (en) Migration management program, migration method and migration system
Salehi et al. Resource provisioning based on preempting virtual machines in distributed systems
WO2018123456A1 (en) Programmable controller, management device, and control system
JP6620609B2 (en) Distributed processing execution management program, distributed processing execution management method, and distributed processing execution management device
JP2012181578A (en) Update control device and program
US20170132030A1 (en) Virtual machine system, control method thereof, and control program recording medium thereof
Hsiao et al. A usage-aware scheduler for improving MapReduce performance in heterogeneous environments

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160921

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170110

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170925

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171101

R150 Certificate of patent or registration of utility model

Ref document number: 6239400

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150