JP2012181578A - Update control device and program - Google Patents

Update control device and program Download PDF

Info

Publication number
JP2012181578A
JP2012181578A JP2011042259A JP2011042259A JP2012181578A JP 2012181578 A JP2012181578 A JP 2012181578A JP 2011042259 A JP2011042259 A JP 2011042259A JP 2011042259 A JP2011042259 A JP 2011042259A JP 2012181578 A JP2012181578 A JP 2012181578A
Authority
JP
Japan
Prior art keywords
update
executed
software
execution
determined
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.)
Withdrawn
Application number
JP2011042259A
Other languages
Japanese (ja)
Inventor
Atsushi Takeshita
篤 竹下
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
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 filed Critical Fuji Xerox Co Ltd
Priority to JP2011042259A priority Critical patent/JP2012181578A/en
Publication of JP2012181578A publication Critical patent/JP2012181578A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To efficiently perform update by suppressing load concentration on hardware resources (hereinafter, resources) when updating software (hereinafter, SW) of a plurality of operating systems (hereinafter, OS).SOLUTION: Based on each piece of attribute information of pieces of update SW that update each piece of SW of a plurality of OSs operating by sharing resources and each piece of information about the resources allocated to each of the plurality of OSs, an update control device estimates time required for each piece of processing to be executed when each piece of update SW performs update. Based on the estimation, the device determines execution order and execution start timing for each piece of processing to be executed at update so as to reduce time for executing pieces of processing having the same processing contents in parallel in the plurality of OSs. According to the estimated time, determined execution order and execution start timing, the device determines an allocation rate of the resources for each of the plurality of OSs. Then, the device controls each piece of processing of the update SW to be executed by determined execution order and at the determined execution start timing, and controls the resources to be allocated by the determined allocation rates.

Description

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

特許文献1には、複数のプロセスをプロセス毎に所定の周期で繰り返し実行するときに、複数のプロセス間で共用されるメモリブロックへのアクセスを制御するアクセス制御方法であって、プロセス毎にメモリブロックへのアクセス時間の設定を受け付け、所定の周期及び設定されたアクセス時間に基づき、各プロセスに前記メモリブロックへのアクセス期間を設定し、設定したアクセス期間に従って、前記メモリブロックへのアクセスを制御するアクセス制御方法が開示されている。   Patent Document 1 discloses an access control method for controlling access to a memory block shared among a plurality of processes when a plurality of processes are repeatedly executed for each process at a predetermined cycle. Accepts the setting of access time to the block, sets an access period to the memory block for each process based on a predetermined cycle and the set access time, and controls access to the memory block according to the set access period An access control method is disclosed.

特許文献2には、計算機の資源を複数の計算機に割り当てて、各々の計算機で独立してプログラムを実行する計算機システムの計算機資源割り当て方法において、前記計算機の資源使用状態を収集し、収集したデータに基づき、各々の計算機の資源使用についての相関関係を算出し、収集したデータと算出した相関係数とに基づき、各々の計算機の資源割当値を算出し、その資源割当値に従って、各々の計算機の資源割り当てを行う計算機資源割当方法が開示されている。   In Patent Document 2, in a computer resource allocation method of a computer system in which computer resources are allocated to a plurality of computers and a program is executed independently on each computer, the resource usage status of the computers is collected and the collected data Based on the collected data and the calculated correlation coefficient, the resource allocation value of each computer is calculated, and each computer is calculated according to the resource allocation value. A computer resource allocation method for performing resource allocation is disclosed.

特開2000−148577号公報JP 2000-148777 A 特開2004−199561号公報JP 2004-199561 A

本発明は、複数のオペレーティング・システムのソフトウェアの更新の際に実行される各処理の実行順序、実行開始タイミング及びハードウェア資源の割り当てを制御せずに複数のオペレーティング・システムのソフトウェアの更新を並列に行う場合に比べて、ハードウェア資源の負荷集中を抑制し、効率的に更新処理を行うことができる更新制御装置及びプログラムを得ることを目的とする。   The present invention parallelizes software updates of a plurality of operating systems without controlling the execution order, execution start timing, and hardware resource allocation of each process executed when updating the software of a plurality of operating systems. It is an object of the present invention to obtain an update control device and a program that can suppress the load concentration of hardware resources and efficiently perform update processing as compared to the case where the update processing is performed.

請求項1の発明の更新制御装置は、複数のオペレーティング・システムがハードウェア資源を共有して動作する情報処理装置に設けられた更新制御装置であって、前記複数のオペレーティング・システムのソフトウェアの各々を更新する更新ソフトウェアの属性情報の各々と、前記複数のオペレーティング・システムの各々に対して割り当てられているハードウェア資源の情報の各々とに基づいて、各更新ソフトウェアによる更新の際に実行される処理の各々に要する時間を予測する予測手段と、前記予測された時間に基づいて、前記複数のオペレーティング・システムが一斉に前記更新ソフトウェアの実行を開始して各オペレーティング・システムのソフトウェアを更新する場合に比べて、前記複数のオペレーティング・システム間で処理内容が等しい処理が並列に実行される時間が短くなるように前記更新ソフトウェアによる更新の際に実行される処理の各々の実行順序及び実行開始タイミングを決定する第1決定手段と、前記予測された時間、前記実行順序、及び実行開始タイミングに応じて前記複数のオペレーティング・システムの各々に対する前記ハードウェア資源の割り当て率を決定する第2決定手段と、前記決定された実行順序及び実行開始タイミングで前記更新ソフトウェアによる各処理が実行され、前記決定された割り当て率で前記ハードウェア資源が割り当てられるように制御する制御手段と、を備えている。   The update control apparatus according to claim 1 is an update control apparatus provided in an information processing apparatus in which a plurality of operating systems operate by sharing hardware resources, and each of the software of the plurality of operating systems. Is executed at the time of update by each update software based on each of the attribute information of the update software for updating the software and each of the hardware resource information assigned to each of the plurality of operating systems A prediction means for predicting the time required for each process; and a case where the plurality of operating systems start execution of the update software at the same time and update the software of each operating system based on the predicted time. Compared to multiple operating systems First determination means for determining the execution order and execution start timing of each of the processes executed when updating by the update software so that the time during which the processes having the same content are executed in parallel is shortened, and the predicted Second determination means for determining an allocation rate of the hardware resources for each of the plurality of operating systems according to time, the execution order, and the execution start timing; and the determined execution order and execution start timing And a control unit that performs control so that each process by the update software is executed and the hardware resources are allocated at the determined allocation rate.

請求項2の発明は、請求項1に記載の更新制御装置において、前記制御手段は、前記更新ソフトウェアによる各処理の実行中にも、予め定められた時間間隔毎に、前記予測手段による予測と、前記第1決定手段による実行順序及び実行開始タイミングの決定と、前記第2決定手段による割り当て率の決定とが行われるように制御し、該制御により新たに決定された実行順序及び実行開始タイミングで前記更新ソフトウェアによる各処理が実行され、該制御により新たに決定された割り当て率で前記ハードウェア資源が割り当てられるように制御するものである   According to a second aspect of the present invention, in the update control apparatus according to the first aspect, the control means performs prediction by the prediction means at predetermined time intervals even during execution of each process by the update software. The execution order and execution start timing determined by the first determining means and the allocation rate determined by the second determining means are controlled, and the execution order and execution start timing newly determined by the control are controlled. In this case, each process by the update software is executed, and control is performed so that the hardware resource is allocated at an allocation rate newly determined by the control.

請求項3の発明は、複数のオペレーティング・システムがハードウェア資源を共有して動作する情報処理装置に設けられたコンピュータを、前記複数のオペレーティング・システムのソフトウェアの各々を更新する更新ソフトウェアの属性情報の各々と、前記複数のオペレーティング・システムの各々に対して割り当てられているハードウェア資源の情報の各々とに基づいて、各更新ソフトウェアによる更新の際に実行される処理の各々に要する時間を予測する予測手段、前記予測された時間に基づいて、前記複数のオペレーティング・システムが一斉に前記更新ソフトウェアの実行を開始して各オペレーティング・システムのソフトウェアを更新する場合に比べて、前記複数のオペレーティング・システム間で処理内容が等しい処理が並列に実行される時間が短くなるように前記更新ソフトウェアによる更新の際に実行される処理の各々の実行順序及び実行開始タイミングを決定する第1決定手段、前記予測された時間、前記実行順序、及び実行開始タイミングに応じて前記複数のオペレーティング・システムの各々に対する前記ハードウェア資源の割り当て率を決定する第2決定手段、及び前記決定された実行順序及び実行開始タイミングで前記各処理が実行され、前記決定された割り当て率で前記ハードウェア資源が割り当てられるように制御する制御手段、として機能させるためのプログラムである。   According to a third aspect of the present invention, update software attribute information for updating each of software of the plurality of operating systems is provided on a computer provided in an information processing apparatus in which a plurality of operating systems operate by sharing hardware resources. And the time required for each of the processes executed when updating by each update software is predicted based on each of the plurality of operating systems and information of hardware resources allocated to each of the plurality of operating systems The plurality of operating systems based on the predicted time, as compared with a case where the plurality of operating systems start execution of the updated software all at once and update software of each operating system based on the predicted time. Processes with the same processing content between systems are parallel First determination means for determining the execution order and execution start timing of each of the processes executed during the update by the update software so that the execution time is shortened, the predicted time, the execution order, and the execution A second determination unit configured to determine an allocation rate of the hardware resource for each of the plurality of operating systems according to a start timing; and each of the processes is executed in the determined execution order and execution start timing. This is a program for functioning as control means for controlling the hardware resources to be allocated at the allocated rate.

請求項1に記載の発明によれば、複数のオペレーティング・システムのソフトウェアの更新の際に実行される各処理の実行順序、実行開始タイミング及びハードウェア資源の割り当てを制御せずに複数のオペレーティング・システムのソフトウェアの更新を並列に行う場合に比べて、ハードウェア資源の負荷集中を抑制し、効率的に更新処理を行うことができる。   According to the first aspect of the present invention, a plurality of operating systems can be controlled without controlling the execution order, execution start timing, and hardware resource allocation of each process executed when updating software of a plurality of operating systems. Compared with the case where the system software is updated in parallel, the load concentration of hardware resources can be suppressed and the update process can be performed efficiently.

請求項2に記載の発明によれば、本構成を有しない場合に比べて、ハードウェア資源の負荷集中を抑制し、効率的に更新処理を行うことができる。   According to the second aspect of the present invention, the load concentration of hardware resources can be suppressed and the update process can be performed efficiently compared with the case where this configuration is not provided.

請求項3に記載の発明によれば、複数のオペレーティング・システムのソフトウェアの更新の際に実行される各処理の実行順序、実行開始タイミング及びハードウェア資源の割り当てを制御せずに複数のオペレーティング・システムのソフトウェアの更新を並列に行う場合に比べて、ハードウェア資源の負荷集中を抑制し、効率的に更新処理を行うことができる。   According to the third aspect of the present invention, a plurality of operating systems can be controlled without controlling the execution order, execution start timing, and hardware resource allocation of each process executed when updating software of a plurality of operating systems. Compared with the case where the system software is updated in parallel, the load concentration of hardware resources can be suppressed and the update process can be performed efficiently.

実施の形態に係る画像形成装置のハードウェア構成を示す図である。1 is a diagram illustrating a hardware configuration of an image forming apparatus according to an embodiment. 実施の形態に係る画像形成装置のソフトウェア構成を示す図である。2 is a diagram illustrating a software configuration of the image forming apparatus according to the embodiment. FIG. ハイパーバイザの機能を説明する説明図である。It is explanatory drawing explaining the function of a hypervisor. ハイパーバイザで実行される処理ルーチンの流れを示すフローチャートである。It is a flowchart which shows the flow of the processing routine performed with a hypervisor. (A)は、更新パッケージの属性情報の例を示し、(B)は、仮想マシンの性能情報の具体例を示す図である。(A) shows an example of attribute information of an update package, and (B) is a diagram showing a specific example of performance information of a virtual machine. ハイパーバイザで実行されるスケジューリング処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the scheduling process performed with a hypervisor. 更新スケジュール及びハードウェア資源の割り当て率の決定について説明する説明図である。It is explanatory drawing explaining the determination of the update schedule and the allocation rate of a hardware resource. 負荷が集中する様子を示した図である。It is the figure which showed a mode that load concentrated. 実行開始タイミングの決定方法の一例を説明する説明図である。It is explanatory drawing explaining an example of the determination method of execution start timing. 実行順序及び実行開始タイミングの決定方法の一例を説明する説明図である。It is explanatory drawing explaining an example of the determination method of an execution order and execution start timing. ホストOS型のソフトウェア構成を示す図である。It is a figure which shows a host OS type software structure.

以下、図面を参照して実施の形態の一例を詳細に説明する。図1には本実施の形態に係る画像形成装置10が示されている。画像形成装置10には、画像形成装置10の各部の動作を制御する装置制御部12と、セットされた読取対象の文書(紙原稿)を光学的に読み取って読取画像データを出力する画像読取部14と、入力された画像データが表す画像を記録用紙上に形成する画像形成部16と、LCD等から成る表示部18A及びテンキーやタッチパネル等から成り利用者による操作を受付ける操作受付部18Bが設けられた操作パネル18と、PC(Personal Computer)等の情報処理装置とネットワークケーブル及び通信手段(例えばコンピュータネットワーク)経由で情報の送受信を行うためのネットワーク・インタフェース20と、が設けられており、これらはバス22を介して互いに接続されている。   Hereinafter, an example of an embodiment will be described in detail with reference to the drawings. FIG. 1 shows an image forming apparatus 10 according to the present exemplary embodiment. The image forming apparatus 10 includes an apparatus control unit 12 that controls the operation of each unit of the image forming apparatus 10, and an image reading unit that optically reads a set document (paper document) to be read and outputs read image data. 14, an image forming unit 16 that forms an image represented by input image data on a recording sheet, a display unit 18 A composed of an LCD or the like, and an operation accepting unit 18 B that includes a numeric keypad, a touch panel, etc. and accepts an operation by a user. And an information processing apparatus such as a PC (Personal Computer) and a network interface 20 for transmitting and receiving information via a network cable and communication means (for example, a computer network). Are connected to each other via a bus 22.

装置制御部12はマイクロコンピュータ等から成り、CPU12A、メモリ12B、HDD(Hard Disk Drive)やフラッシュメモリ等から成る不揮発性の記憶部12Cが設けられている。本実施の形態では、この記憶部12CをHDDとする。CPU12Aは、シングルコアでもマルチコアでもよい。メモリ12Bは、例えば作業領域として使用される。記憶部12Cには、画像形成装置10の利用者に対して画像形成装置10の機能を提供する処理を行うアプリケーションのプログラム(図1では第1アプリケーション、及び第2アプリケーションのプログラムが図示されている)と、該アプリケーションのプログラムを実行するためのプラットフォームとして機能するオペレーティング・システム(OS)のプログラム(図1では第1OS、及び第2OSのプログラムが図示されている)とが各々記憶されている。本実施の形態では、記憶部12CにOSのプログラムが複数記憶されており、アプリケーションの各々は、いずれか1つのOSに対してインストールされ、該OS上で動作する(図2も参照。)。   The device control unit 12 includes a microcomputer and the like, and is provided with a non-volatile storage unit 12C including a CPU 12A, a memory 12B, an HDD (Hard Disk Drive), a flash memory, and the like. In the present embodiment, this storage unit 12C is an HDD. The CPU 12A may be a single core or a multi-core. The memory 12B is used as a work area, for example. The storage unit 12 </ b> C shows application programs (a first application program and a second application program in FIG. 1) that perform processing for providing the functions of the image forming apparatus 10 to the user of the image forming apparatus 10. ) And an operating system (OS) program that functions as a platform for executing the application program (the first OS program and the second OS program are shown in FIG. 1). In the present embodiment, a plurality of OS programs are stored in the storage unit 12C, and each application is installed on any one OS and operates on the OS (see also FIG. 2).

また、図1に示すように、記憶部12Cには、ハードウェア資源の仮想化や複数のOSとの間での共有資源の調停等の機能を提供するハイパーバイザのプログラムも記憶されている。そして、図2に示すように、第1仮想マシンを第1OS上で第1アプリケーションが動作するように構築し、第2仮想マシンを第2OS上で第2アプリケーションが動作するように構築する。   As shown in FIG. 1, the storage unit 12C also stores a hypervisor program that provides functions such as hardware resource virtualization and shared resource arbitration with a plurality of OSs. Then, as shown in FIG. 2, the first virtual machine is constructed so that the first application operates on the first OS, and the second virtual machine is constructed so that the second application operates on the second OS.

なお、図3に示すように、ハイパーバイザは、CPU12Aを複数のOSに割り当てる場合には、各仮想マシン毎に仮想CPUを各々定義し、実CPU(CPU12A)の処理時間を短い単位毎に区切り、時分割で各仮想CPUに割り当てるようにしている。OSを稼動させたまま仮想CPUの割り当て率を増減させることも可能である。また、CPU12Aがマルチコアの場合には、割り当てるコア数を調整することで、各OSにCPU12Aを割り当ててもよい。   As shown in FIG. 3, when assigning the CPU 12A to a plurality of OSs, the hypervisor defines a virtual CPU for each virtual machine and divides the processing time of the real CPU (CPU 12A) into short units. The virtual CPUs are allocated in a time division manner. It is also possible to increase or decrease the virtual CPU allocation rate while operating the OS. When the CPU 12A is multi-core, the CPU 12A may be assigned to each OS by adjusting the number of cores to be assigned.

ネットワーク・インタフェース20の割り当てについても、図3に示すように、各仮想マシン毎に仮想Netを各々定義する。仮想Netは、例えば仮想スイッチ等を介して実Net(ネットワーク・インタフェース20)に接続され、実Netを使用する。該複数の仮想Netは、各々に割り当てられた実Netのネットワーク帯域(単位時間あたりのデータ転送量)を分け合うことになる。   As for the assignment of the network interface 20, as shown in FIG. 3, a virtual Net is defined for each virtual machine. The virtual Net is connected to the real Net (network interface 20) via a virtual switch or the like, for example, and uses the real Net. The plurality of virtual Nets share the network bandwidth (data transfer amount per unit time) of the real Net allocated to each of them.

また、HDD22の割り当てについても、図3に示すように、各仮想マシン毎に仮想HDDを各々定義する。各仮想HDDは実HDD(記憶部12C)に割り当てられ、それぞれ実HDDのディスクI/O帯域(単位時間あたりの読出/書込データ量)を分け合う。   As for the assignment of the HDD 22, as shown in FIG. 3, a virtual HDD is defined for each virtual machine. Each virtual HDD is allocated to a real HDD (storage unit 12C), and shares the disk I / O bandwidth (read / write data amount per unit time) of the real HDD.

なお、ハイパーバイザ及び複数のOSの各々は、周知のプロセッサ間通信技術を用いて互いに通信する。例えば、送信元(送信側)からのデータパケットを送信先(受信側)の受信バッファにコピーすることによって情報の受け渡しを行うようにしてもよいし、ハイパーバイザと各OSとが共有する共有メモリ(メモリ12Bの予め定められた記憶領域)を介して情報の受け渡しを行うものであってもよい。   Note that each of the hypervisor and the plurality of OSs communicate with each other using a known inter-processor communication technique. For example, information may be transferred by copying a data packet from a transmission source (transmission side) to a reception buffer of a transmission destination (reception side), or a shared memory shared by the hypervisor and each OS. Information may be transferred via (a predetermined storage area of the memory 12B).

ところで、画像形成装置10等の情報処理装置に搭載された各OSは、機能拡張や不具合修正等のために、図3に示すように、OSのソフトウェアの更新が必要となることがある。   By the way, each OS installed in an information processing apparatus such as the image forming apparatus 10 may require an OS software update as shown in FIG.

本実施の形態のように、家電製品や事務機器等の組み込み機器に複数の仮想マシンを搭載したシステムの場合には、各機能の整合および各機能停止頻度の低減のため、OSのソフトウェアを更新する場合には、一部のOSだけではなく全てのOSを更新しなければならない場合が多い。複数のOSを更新する場合には、各OSをひとつずつ更新する(各OSが互いにソフトウェアの更新期間が全く重ならないように順次個別に更新を行う)と、最初のOSが更新を開始してから最後のOSが更新を終了するまでに要する時間が長くなるため、複数のOSが並列に動作して更新を実行したほうが効率がよい。従って、本実施の形態では、複数のOSが並列にソフトウェアの更新を行うものとする。   In the case of a system in which a plurality of virtual machines are installed in an embedded device such as a home appliance or an office device as in this embodiment, the OS software is updated in order to match each function and reduce the frequency of stopping each function. In such a case, it is often necessary to update not only a part of the OS but all the OSs. When updating a plurality of OSs, update each OS one by one (the OSs are updated individually so that the software update periods do not overlap at all), and the first OS starts updating. Since the time required for the last OS to complete the update becomes longer, it is more efficient that a plurality of OSs operate in parallel to execute the update. Therefore, in this embodiment, it is assumed that a plurality of OSs update software in parallel.

以下、本実施の形態に係るOSのソフトウェア更新時の動作について説明する。以下、OSの更新を行う更新ソフトウェアの各ファイルを1つにまとめたものを更新パッケージと呼称する。なお、OS毎に更新に使用する更新パッケージは1つに限らず複数であってもよい。また、更新実行中は、該更新パッケージをサーバからダウンロードする処理、ダウンロードした更新パッケージによりソフトウェアを更新する処理(すなわち、古いソフトウェアを新しいソフトウェアに置き換える処理)、データベースを初期化する処理など様々な処理が行われるが、本実施の形態では、更新パッケージのダウンロードを開始してから、該ダウンロードした更新パッケージによる最後の処理が終了するまでの一連の処理を更新又は更新処理と呼称し、該更新処理中に行われる処理の1つであって、古いソフトウェアを新しいソフトウェアに置き換える処理を、更新処理と区別するためにアップデート処理と呼称する。   Hereinafter, the operation at the time of software update of the OS according to the present embodiment will be described. Hereinafter, a collection of update software files for updating the OS is referred to as an update package. Note that the number of update packages used for the update for each OS is not limited to one and may be plural. Further, during the update execution, various processes such as a process of downloading the update package from the server, a process of updating the software with the downloaded update package (that is, a process of replacing the old software with the new software), a process of initializing the database, etc. In this embodiment, a series of processes from the start of downloading an update package to the end of the last process by the downloaded update package is referred to as update or update process. A process for replacing old software with new software is referred to as an update process in order to distinguish it from the update process.

図4は、ハイパーバイザで実行される処理ルーチンの流れを示すフローチャートである。ステップ100では、ネットワークを介して、各OSの更新パッケージを保持するサーバ等から、各OSの更新パッケージの属性情報を取得する。なお、属性情報を示すファイルは予め更新パッケージに含まれており、ハイパーバイザがサーバに送信した問い合せに応じて、サーバから該更新パッケージの属性情報のファイルが送信される。   FIG. 4 is a flowchart showing the flow of a processing routine executed by the hypervisor. In step 100, attribute information of the update package of each OS is acquired from a server or the like that holds the update package of each OS via the network. The file indicating the attribute information is included in the update package in advance, and the attribute information file of the update package is transmitted from the server in response to an inquiry transmitted from the hypervisor to the server.

ここで、属性情報は、例えば、パッケージサイズ、依存パッケージの有無、更新中に実行される処理及び処理順序、更新時の各処理に要する時間(基準マシンで更新を実行したときの各処理に要する時間)、更新時ネットワークアクセス量(基準マシンで更新を実行したときのネットワーク通信量)、基準マシンの性能値、等がある。   Here, the attribute information includes, for example, the package size, the presence / absence of dependent packages, the processing and processing sequence executed during the update, the time required for each processing at the time of updating (required for each processing when the update is executed on the reference machine) Time), network access amount at the time of update (network communication amount when update is executed on the reference machine), performance value of the reference machine, and the like.

なお、パッケージサイズは、更新パッケージに含まれるソフトウェアのファイルサイズの合計値とすることができる。   The package size can be the total value of the file sizes of software included in the update package.

また、依存パッケージの有無であるが、例えば、2つの更新パッケージを用いて更新する必要がある場合に、一方の更新パッケージによる更新処理が終了した後に、他方の更新パッケージによる更新処理を実行することが定められているときには、該一方の更新パッケージが、他方の更新パッケージにとっての「依存パッケージ」となる。3つ以上の更新パッケージを用いて更新する場合も同様である。   In addition, whether or not there is a dependency package, for example, when it is necessary to update using two update packages, after the update process by one update package is completed, the update process by the other update package is executed Is determined, the one update package becomes a “dependency package” for the other update package. The same applies when updating using three or more update packages.

更新中に実行される処理とは、例えば、前述したように、ダウンロード処理、アップデート処理、再起動処理(更新したソフトウェアだけを再起動させる場合もあれば、各OSを再起動させる場合もある、以下、前者をSW再起動、後者をSY再起動という)、データベースの初期化処理等をいう。   The process executed during the update is, for example, as described above, a download process, an update process, a restart process (the updated software may be restarted or the OS may be restarted, Hereinafter, the former is referred to as SW restart, the latter is referred to as SY restart, and database initialization processing.

図5(A)に、更新パッケージAの属性情報の例を示す。なお、図5(A)において、サイズは、パッケージサイズであり、更新処理内容は、更新中に実行される処理及び処理順序であり、再起動待ち時間は、更新中に実行される再起動に要する時間である。   FIG. 5A shows an example of attribute information of the update package A. In FIG. 5A, the size is the package size, the update processing content is the processing and processing order executed during the update, and the restart waiting time is the restart executed during the update. It takes time.

また、図5(A)において、CPU性能基準値、メモリアクセス速度基準値、ディスクアクセス速度基準値、及びネットワーク速度基準値は、基準マシンのCPU性能基準値、メモリアクセス速度基準値、ディスクアクセス速度基準値、及びネットワーク速度基準値である。表中の再起動待ち時間や更新時ネットワークアクセス量は、これらの値で示される基準マシンで実行したときの時間、アクセス量である。また、ここで、ディスクとはHDDを指す。   In FIG. 5A, the CPU performance reference value, the memory access speed reference value, the disk access speed reference value, and the network speed reference value are the CPU performance reference value, memory access speed reference value, and disk access speed of the reference machine. Reference value and network speed reference value. The restart waiting time and update network access amount in the table are the time and access amount when executed on the reference machine indicated by these values. Here, the disk refers to the HDD.

次に、ステップ102では、各仮想マシンの現在の性能情報を取得する。ここで、仮想マシンの現在の性能情報とは、各仮想マシンに対して割り当てられているハードウェア資源の情報(各仮想マシンを構成するOSの各々に対して割り当てられているハードウェア資源の情報と言い換えてもよい)である。なお、ハードウェア資源の割り当て状態は、動的に変化するが、ここでは、ステップ102の実行時点での割り当て状態での性能情報を取得する。   Next, in step 102, the current performance information of each virtual machine is acquired. Here, the current performance information of the virtual machine is information on hardware resources allocated to each virtual machine (information on hardware resources allocated to each OS constituting each virtual machine. In other words). Although the hardware resource allocation state dynamically changes, here, performance information in the allocation state at the time of execution of step 102 is acquired.

図5(B)に仮想マシンの性能情報の具体例を示す。ここで、CPU性能、メモリアクセス性能、ディスクアクセス性能、ネットワーク速度の各々については、各仮想マシンが共有して使用するハードウェア資源そのものの性能値であって、各仮想マシンで共通の値となる。しかしながら、CPU割り当て率、ディスクI/O帯域、ネットワーク帯域については、仮想マシン毎に割り当て状態が異なるため、これらの値は、仮想マシン毎の値となる。   FIG. 5B shows a specific example of the performance information of the virtual machine. Here, each of the CPU performance, memory access performance, disk access performance, and network speed is a performance value of the hardware resource itself that is shared and used by each virtual machine, and is a value common to each virtual machine. . However, since the CPU allocation rate, disk I / O bandwidth, and network bandwidth have different allocation states for each virtual machine, these values are values for each virtual machine.

ステップ104では、スケジューリング処理を行う。図6に、ハイパーバイザで実行されるスケジューリング処理の詳細なフローチャートを示す。なお、ここでは、画像形成装置10に仮想マシンが2つ設けられ、一方の仮想マシンで第1OSが動作し、他方の仮想マシンで第2OSが動作しているものとする。   In step 104, scheduling processing is performed. FIG. 6 shows a detailed flowchart of the scheduling process executed by the hypervisor. Here, it is assumed that the image forming apparatus 10 is provided with two virtual machines, the first OS operates on one virtual machine, and the second OS operates on the other virtual machine.

ステップ200では、第1OSの更新パッケージの有無を判断する。ステップ200で第1OSに更新パッケージがあると判断した場合には、ステップ202において、第1OSの更新パッケージを1つ選択する。選択は更新パッケージの属性情報を元に選択される。例えば、図5(A)に示す例では、「依存パッケージ」の項目に示すように、「パッケージAはバージョン2.0以降のパッケージBの後に実行される」こととなっている。従って、少なくとも更新パッケージBが更新パッケージAより先に更新対象として選択され、処理されるように選択する。本実施の形態では、更新パッケージの選択順に各更新パッケージによる更新処理が行われるようにスケジュールを決定する。   In step 200, it is determined whether there is an update package for the first OS. If it is determined in step 200 that the first OS has an update package, one update package for the first OS is selected in step 202. Selection is made based on attribute information of the update package. For example, in the example shown in FIG. 5A, “package A is executed after package B of version 2.0 or later” as shown in the item “dependency package”. Therefore, at least the update package B is selected as an update target before the update package A and is selected to be processed. In the present embodiment, the schedule is determined so that the update processing by each update package is performed in the order of selection of the update packages.

ステップ204では、選択した更新パッケージによる更新において行われる各処理に要する時間(予測時間)を、上記取得した更新パッケージの属性情報及び仮想マシンの性能情報に基づいて予測する。更新パッケージの属性情報が図5(A)に示す属性情報であって、仮想マシンの性能情報が図5(B)に示す性能情報である場合、例えば、以下に示す予測式により算出される。   In step 204, the time (predicted time) required for each process performed in the update by the selected update package is predicted based on the acquired attribute information of the update package and the performance information of the virtual machine. When the attribute information of the update package is the attribute information shown in FIG. 5A and the performance information of the virtual machine is the performance information shown in FIG. 5B, for example, it is calculated by the prediction formula shown below.

・ダウンロード予測時間 =k1×Sa×(P1/Pa1×R1)×(P2/Pa2)×(P3/Pa3×R3)
・アップデート予測時間 =k2×Sa×(P1/Pa1×R1)×(P2/Pa2)×(P3/Pa3×R3)+k3×Na×(P4/Pa4×R4)
・SW再起動予測時間 = Ta×(P1/Pa1×R1)×(P2/Pa2)×(P3/Pa3×R3)
ここで、k1、k2、k3の各々は、予め定められた係数とする。
・ Predicted download time = k1 x Sa x (P1 / Pa1 x R1) x (P2 / Pa2) x (P3 / Pa3 x R3)
-Estimated update time = k2 x Sa x (P1 / Pa1 x R1) x (P2 / Pa2) x (P3 / Pa3 x R3) + k3 x Na x (P4 / Pa4 x R4)
-SW restart estimated time = Ta x (P1 / Pa1 x R1) x (P2 / Pa2) x (P3 / Pa3 x R3)
Here, each of k1, k2, and k3 is a predetermined coefficient.

なお、上記は単純な予測式の一例であって、ダウンロード予測時間やアップデート予測時間は、パッケージサイズ(新たに置き換えるソフトウェアファイルサイズの総和にほぼ等しい)と、基準マシン及び仮想マシンのハードウェア性能比とから算出される式となっている。また、SW再起動予測時間は、属性情報に含まれる再起動待ち時間にハードウェア性能比を乗算した式となっている。   Note that the above is an example of a simple prediction formula, and the download prediction time and update prediction time are the package size (approximately equal to the sum of the software file sizes to be newly replaced) and the hardware performance ratio of the reference machine and the virtual machine. It is a formula calculated from Further, the predicted SW restart time is an expression obtained by multiplying the restart waiting time included in the attribute information by the hardware performance ratio.

なお、実際には仮想マシンの性能情報の各項目間には相関関係があるが、上記予測式では該相関関係を考慮した式にはなっていない。例示は省略するが、該相関関係を考慮した予測式を用いて各処理の予測時間を算出してもよい。これにより、より正確な予測時間が算出される。   Actually, there is a correlation between the items of the performance information of the virtual machine, but the prediction formula is not a formula that takes the correlation into account. Although illustration is omitted, the prediction time of each process may be calculated using a prediction formula in consideration of the correlation. Thereby, a more accurate prediction time is calculated.

また、上記予測式で使用される、仮想マシンのCPU割り当て率、ディスクI/O帯域、ネットワーク帯域は、各処理毎に規定する必要があるが、上記例示した予測式では、上記ステップ102の実行時点で取得した性能情報の値を用いている。ただし、これに限定されるものではなく、処理内容に応じて予め定められた値としてもよい。また、例えば、ダウンロード処理とアップデート処理とを第1OS及び第2OS間で並列に実行させる場合(図9も参照。)には、CPU割り当て率を、第1OSのアップデート処理:第2OSのダウンロード処理=30:70とする等、予め設定しておく。これにより、CPU割り当て率、ディスクI/O帯域、ネットワーク帯域は処理毎に異なる値になる。この場合、第1OSについての割り当て率を決定する時点では、第2OSのスケジュールの決定がまだであるため、ここでは、暫定的に決定し、後で調整を行うとよい。   Further, the CPU allocation rate, the disk I / O bandwidth, and the network bandwidth of the virtual machine that are used in the prediction formula need to be defined for each process. In the prediction formula illustrated above, execution of step 102 is performed. The performance information value acquired at the time is used. However, the present invention is not limited to this, and may be a value determined in advance according to the processing content. Also, for example, when the download process and the update process are executed in parallel between the first OS and the second OS (see also FIG. 9), the CPU allocation rate is set to the first OS update process: the second OS download process = It is set in advance such as 30:70. As a result, the CPU allocation rate, disk I / O bandwidth, and network bandwidth become different values for each process. In this case, since the schedule of the second OS has not yet been determined at the time of determining the allocation rate for the first OS, it is preferable to make a provisional determination and make adjustments later.

予測時間を算出した後は、各処理の実行順序及び実行開始タイミング(スケジュール)を決定する。なお、第1OSについては、1つの更新パッケージの更新処理が完了した後に、次の更新パッケージの更新処理が開始されるようにスケジュールする。従って、本実施の形態では、上記ステップ202における更新パッケージの選択順に更新処理されるように実行順序が決定される。また、各更新パッケージで実行される各処理の実行順序は、更新パッケージの属性情報に規定されている処理順に実行されるよう決定される。   After calculating the predicted time, the execution order and execution start timing (schedule) of each process are determined. The first OS is scheduled so that the update process of the next update package is started after the update process of one update package is completed. Therefore, in the present embodiment, the execution order is determined so that the update processing is performed in the order of selection of update packages in step 202 described above. In addition, the execution order of each process executed in each update package is determined to be executed in the order of processes defined in the update package attribute information.

ステップ206では、更新パッケージの各処理が実行される期間の各々の、第1OSに対するハードウェア資源の割り当て率を決定する。例えば、処理内容に応じて予め定められた値を割り当て率として決定してもよい。より具体的には、ダウンロード処理であれば、ネットワーク帯域70%、CPU割り当て率30%等のように、予め割り当て率を定めておき、決定する。   In step 206, the allocation rate of hardware resources for the first OS is determined for each period in which each process of the update package is executed. For example, a predetermined value may be determined as the allocation rate according to the processing content. More specifically, in the case of download processing, an allocation rate is determined and determined in advance, such as a network bandwidth of 70% and a CPU allocation rate of 30%.

また、第1OS及び第2OS間の各処理のスケジュールを考慮して割り当て率を決定するようにしてもよい。例えば、前述したように、CPU負荷が比較的低いダウンロード処理とCPU負荷が比較的高いアップデート処理とを第1OS及び第2OS間で並列に実行させることが予め定められている場合には、第2OSでダウンロード処理を行い第1OSでアップデート処理を行っている期間のCPU割り当て率を、第2OSのダウンロード処理:第1OSのアップデート処理=30:70とする等である。この場合には、割り当て率の決定に第2OS側のスケジュールが関係してくるが、第2OS側のスケジュールが決定される前にここで暫定的に第1OS側のハードウェア資源の割り当て率を決定し、第2OS側のスケジュールが決定した後で、調整してもよい。   Further, the allocation rate may be determined in consideration of the schedule of each process between the first OS and the second OS. For example, as described above, when it is predetermined that the download process with a relatively low CPU load and the update process with a relatively high CPU load are executed in parallel between the first OS and the second OS, the second OS The CPU allocation rate during the period during which the download process is performed and the update process is performed by the first OS is set such that the second OS download process: the first OS update process = 30: 70. In this case, the schedule on the second OS side is related to the determination of the allocation rate. However, before the schedule on the second OS side is determined, the allocation rate of the hardware resources on the first OS side is tentatively determined here. However, it may be adjusted after the schedule on the second OS side is determined.

以上により、図7に示すように、選択した更新パッケージについてのスケジュール及びハードウェア資源の割り当て率が決定される。   As described above, as shown in FIG. 7, the schedule and hardware resource allocation rate for the selected update package are determined.

ステップ206の後は、ステップ200に戻り、次の更新パッケージについて上記手続きを繰り返す。第1OSの更新パッケージの全てについての上記手続きが終了すると、ステップ200で否定判断され、ステップ210に進む。   After step 206, the process returns to step 200 and the above procedure is repeated for the next update package. When the above procedure for all the update packages of the first OS is completed, a negative determination is made in step 200, and the process proceeds to step 210.

ステップ210では、第2OSの更新パッケージの有無を判断する。ステップ210で第1OSに更新パッケージがあると判断した場合には、ステップ212において、第2OSの更新パッケージを1つ選択する。選択方法は、ステップ202と同様である。   In step 210, it is determined whether there is an update package for the second OS. If it is determined in step 210 that the first OS has an update package, one update package for the second OS is selected in step 212. The selection method is the same as in step 202.

ステップ214では、ステップ204と同様に、選択した更新パッケージの更新において行われる各処理に要する時間(予測時間)を、上記取得した更新パッケージの属性情報及び仮想マシンの性能情報に基づいて予測する。予測時間を算出した後は、スケジュール(各処理の実行順序及び実行開始タイミング)を決定する。第2OSのスケジュールについては、第1OSのスケジュールを参照しながら決定する。   In step 214, as in step 204, the time (predicted time) required for each process performed in updating the selected update package is predicted based on the acquired update package attribute information and virtual machine performance information. After calculating the predicted time, a schedule (execution order and execution start timing of each process) is determined. The schedule of the second OS is determined with reference to the schedule of the first OS.

例えば、第1OSと第2OSとで、内容が等しい処理が同じ時間帯に実行されると、内容が等しい処理はハードウェア資源の使用傾向が類似している或いは等しいことから、その時間帯に特定のハードウェア資源に負荷が集中してしまう。従って、ここでは、第1OS及び第2OSとが一斉に更新を開始する場合に比べて、第1OSと第2OSとで処理内容が等しい処理が並列に実行される時間が短くなるように、第2OS側の各処理の実行開始タイミングを決定する。   For example, if a process with the same content is executed in the same time zone on the first OS and the second OS, the process with the same content is similar or equal in the usage tendency of hardware resources. The load is concentrated on the hardware resources. Therefore, here, compared to the case where the first OS and the second OS start updating all at once, the time required for executing the processes having the same processing contents in the first OS and the second OS in parallel is shortened. The execution start timing of each process on the side is determined.

例えば、図8に示すように、ダウンロード処理は、ネットワークI/O負荷が大きいため、第1OSでダウンロード処理を実行中に、第2OSでもダウンロード処理を実行すると、ネットワークのI/O負荷が増大して、処理効率が低下する。また、アップデート処理はCPU12A及びHDDの負荷が大きいため、第1OSでアップデート処理を実行中に、第2OSでもアップデート処理を実行すると、CPU/HDD負荷が増大して、処理効率が低下する。そこで、第1OSと第2OSとで処理内容が等しい処理が並列に実行される時間が短くなるように、第2OS側で実行される各処理の実行開始タイミングを調整する。一例を挙げれば、第2OSのダウンロード処理の実行開始タイミングを、第1OSのダウンロード処理が終了した後、或いは第1OSのダウンロード処理が予め定められた割合だけ終了したときにする等の調整が行われる。   For example, as shown in FIG. 8, since the download process has a large network I / O load, if the download process is executed on the second OS while the download process is executed on the first OS, the network I / O load increases. As a result, the processing efficiency decreases. In addition, since the load on the CPU 12A and the HDD is large in the update process, if the update process is executed on the second OS while the update process is executed on the first OS, the CPU / HDD load increases and the processing efficiency decreases. Therefore, the execution start timing of each process executed on the second OS side is adjusted so that the time during which processes having the same process contents are executed in parallel between the first OS and the second OS is shortened. For example, the execution start timing of the second OS download process is adjusted after the first OS download process ends or when the first OS download process ends at a predetermined rate. .

このように、内容が等しい処理が並列に実行される時間が短くなるように制御することで、第1OS及び第2OSとが一斉に更新を開始する場合に比べて、ハードウェア資源の使用傾向が類似している或いは等しい処理が並列に実行される時間が短くなる。   In this way, by controlling so that the time when the processes having the same contents are executed in parallel is shortened, the use tendency of hardware resources is more than that when the first OS and the second OS start updating all at once. The time during which similar or equal processes are executed in parallel is shortened.

また、選択可能な処理(実行させるべき処理)が存在しない期間には、「処理なし」としてスケジュールを作成してもよい。   Further, a schedule may be created as “no processing” during a period when there is no selectable processing (processing to be executed).

例えば、更新パッケージによる更新は、まずサーバから更新パッケージをダウンロードする処理を最初に行わないと、以降の処理を行うことはできない。従って、第1OS及び第2OSのいずれもがまずダウンロード処理を行う必要があるが、例えば、OS間で内容が等しい処理が同じ時間帯(期間)に重ならないように調整する場合、第1OS側で最初のダウンロード処理が実行される時間帯に、第2OS側でダウンロード処理が実行されないようにするということは、その時間帯に第2OS側で実行できる処理は何も無いことになる。そこで、図9に示すように、その期間、第2OS側は「処理なし」としてスケジュールする。そして、第1OS側でダウンロード処理が終了した後に、第2OS側でダウンロード処理が実行されるように、実行開始タイミングを決定する。   For example, the update by the update package cannot be performed after the process of downloading the update package from the server is not performed first. Therefore, both the first OS and the second OS need to perform the download process first. For example, when adjusting so that processes with the same contents between OSs do not overlap in the same time period (period), the first OS side The fact that the download process is not executed on the second OS side during the time period when the first download process is executed means that there is no process that can be executed on the second OS side during that time period. Therefore, as shown in FIG. 9, the second OS side schedules “no processing” during that period. Then, after the download process is completed on the first OS side, the execution start timing is determined so that the download process is executed on the second OS side.

また、上記のようにスケジューリングしても内容が等しい処理が並列に実行される時間が予め定められた時間以内にすることができない場合には、属性情報の「依存パーケージ」に反しない範囲内で更新パッケージの実行順序を変更(上記ステップ212の処理に戻って更新パッケージを選択し直す)してもよい。また、第1OS側から更新パッケージを選択し直して再度スケジューリングをやり直してもよい。   In addition, even if scheduling as described above cannot be performed within a predetermined time for processing with the same content in parallel, within a range that does not violate the “dependence package” of the attribute information. The execution order of the update packages may be changed (returning to the process of step 212 and selecting the update package again). Alternatively, the update package may be selected again from the first OS side and scheduling may be performed again.

ステップ216では、ステップ206と同様に、更新パッケージの各処理が実行される期間の各々の、第1OSに対するハードウェア資源の割り当て率を決定する。なお、第2OSについてのハードウェア資源の割り当て率の決定は、第1のOSのスケジュールも参照され、場合によっては、第1OSで既に決定されたハードウェア資源の割り当て率を調整する作業も行われる。例えば、再起動、データベースの構築などCPU負荷の多い更新処理を行うOSにCPU占有時間を多く割り当てるようにする。また、更新パッケージサイズに差がある場合、更新の量が多い(サイズが大きい)OSに対してCPU(時間やコア数)及びメモリ量を多く割り当てるようにする。また、スケジュールによっては、ハードウェア資源の割り当てを、1つのOSに対して100%となるように決定してもよい。この場合、実際の割り当て制御(後述するステップ106)においては、ハイパーバイザのドライバを介して仮想ハードウェア(仮想HDD、仮想ネットワーク・・・)として使用させるのではなく、ハイパーバイザを介さずに直接実ハードウェアを使用させるようにハードウェアの使用方法を切替えるようにしてもよい。後者の使用方法は、前者の使用方法に比べ処理速度が速くなる。   In step 216, as in step 206, the allocation rate of hardware resources for the first OS is determined for each period in which each process of the update package is executed. The determination of the hardware resource allocation rate for the second OS is also referred to the schedule of the first OS, and in some cases, the work of adjusting the hardware resource allocation rate already determined by the first OS is also performed. . For example, a large amount of CPU occupation time is allocated to an OS that performs an update process with a high CPU load such as restart or database construction. When there is a difference in the update package size, a large amount of CPU (time and number of cores) and memory are allocated to an OS with a large amount of update (large size). Further, depending on the schedule, the hardware resource allocation may be determined to be 100% for one OS. In this case, in actual allocation control (step 106 to be described later), it is not used as virtual hardware (virtual HDD, virtual network,...) Via the hypervisor driver, but directly without using the hypervisor. You may make it switch the usage method of hardware so that real hardware may be used. The latter method of use is faster in processing speed than the former method of use.

なお、第1OS及び第2OSの割り当て率の合計が100%を超えてしまう期間が発生した場合には、その期間の各OSに対する割り当て率を、OSの各々で均等な割合で減少させ、割り当て率の合計が100%以下となるように調整する。   In addition, when the period when the sum total of the allocation rate of 1st OS and 2nd OS exceeds 100% occurs, the allocation rate with respect to each OS of the period is reduced by the equal ratio in each OS, and allocation rate Is adjusted so that the total of 100% or less.

ステップ216の後は、ステップ210に戻り、次の更新パッケージについて上記手続きを繰り返す。第2OSの更新パッケージの全てについての上記手続きが終了すると、ステップ210で否定判断され、本処理ルーチンは終了する。   After step 216, the process returns to step 210, and the above procedure is repeated for the next update package. When the above procedure for all the update packages of the second OS is completed, a negative determination is made in step 210, and this processing routine ends.

なお、OS数が3つ以上になる場合には、上記第2OSのステップ210〜216の処理手順を第3OS、第4OS・・・について各々繰り返せばよい。   When the number of OSs is three or more, the processing procedure of steps 210 to 216 of the second OS may be repeated for each of the third OS, the fourth OS,.

また、各OS間で更新終了タイミングが一致或いは予め定められた範囲内の時間差となるように、属性情報の「依存パーケージ」に反しない範囲内で更新パッケージの実行順序を変更(上記ステップ202やステップ212の処理に戻って更新パッケージを選択し直す)してもよい。   In addition, the update package execution order is changed within a range that does not violate the “dependence package” of the attribute information so that the update end timings match between the OSs or the time difference is within a predetermined range (step 202 or above). It is also possible to return to the process of step 212 and reselect the update package.

また、該更新終了タイミングが一致或いは予め定められた範囲内の時間差となるように、仮想マシンの性能情報内の各仮想マシン(各OS)毎に割り当てられたハードウェアの割り当て値(CPU割り当て率、ディスクI/O帯域、ネットワーク帯域(R1、R3、R4))を調整することによって、各処理の予測時間を調整するようにしてもよい。この場合には、第1OSの予測時間も調整対象となる。   In addition, the hardware allocation value (CPU allocation rate) allocated to each virtual machine (each OS) in the performance information of the virtual machine so that the update end timings coincide or become a time difference within a predetermined range. The predicted time of each process may be adjusted by adjusting the disk I / O bandwidth and the network bandwidth (R1, R3, R4)). In this case, the predicted time of the first OS is also an adjustment target.

また、選択した更新パッケージについての各処理の予測時間を計算した後、該各処理についてのスケジュールの決定を保留し、次の更新パッケージを選択して該更新パッケージの各処理についての予測時間の算出処理を先に行った後に、複数の更新パッケージの各処理のスケジュールをまとめて決定してもよい。例えば、「更新パッケージ1のダウンロード→更新パッケージ1のアップデート→更新パッケージ2のダウンロード→更新パッケージ2のアップデート」の順序ではなく、図10に示すように、「更新パッケージ1のダウンロード→更新パッケージ2のダウンロード→更新パッケージ1のアップデート→更新パッケージ2のアップデート」とする。このように、更新パッケージをまたいだ順序変更を許可するかどうかを、更新パッケージの属性情報に加えてもよい。そして、ハイパーバイザが該属性情報を参照して、順序変更が許可されていれば、上記のように順序を変更してスケジュールを決定してもよい。   In addition, after calculating the estimated time of each process for the selected update package, the schedule determination for each process is suspended, and the next update package is selected to calculate the estimated time for each process of the update package After performing the process first, the schedule of each process of the plurality of update packages may be determined collectively. For example, instead of the order of “download of update package 1 → update of update package 1 → download of update package 2 → update of update package 2”, as shown in FIG. 10, “download of update package 1 → update of update package 2” “Download → update of update package 1 → update of update package 2”. In this way, whether to change the order across update packages may be added to the attribute information of the update package. Then, if the hypervisor refers to the attribute information and the order change is permitted, the schedule may be determined by changing the order as described above.

なお、ハードウェア資源の割り当ては、以下のように行うようにしてもよい。図10に示すように、第1OS側で主としてアップデートが実行され、第2OS側で主としてダウンロードが行われる期間T1では、第1OS側のCPU及びHDD負荷が大きく、第2OS側でネットワーク負荷が大きいため、第1OSに対するCPU及びHDDの割り当て率を第2OS側より高くし、第2OSに対するネットワーク・インタフェースの割り当て率を第1OS側より高くするようにする。また、次の期間T2では、第1OS側で主としてダウンロードが実行され、第2OS側で主としてアップデート及びデータベースの初期化が行われるため、第1OS側はネットワーク負荷が大きく、第2OS側でCPU及びHDD負荷が大きいため、第1OSに対するネットワーク・インタフェースの割り当て率を第2OS側より高くし、第2OSに対するCPU及びHDDの割り当て率を第1OS側より高くするようにする。   Note that hardware resource allocation may be performed as follows. As shown in FIG. 10, during the period T1 in which updates are mainly performed on the first OS side and downloads are mainly performed on the second OS side, the CPU and HDD loads on the first OS side are large, and the network load is large on the second OS side. The allocation ratio of the CPU and HDD to the first OS is higher than that of the second OS, and the allocation ratio of the network interface to the second OS is higher than that of the first OS. In the next period T2, download is mainly executed on the first OS side, and updates and database initialization are mainly performed on the second OS side. Therefore, the network load is large on the first OS side, and the CPU and HDD are on the second OS side. Since the load is large, the allocation ratio of the network interface to the first OS is set higher than that of the second OS, and the allocation ratio of the CPU and HDD to the second OS is set higher than that of the first OS.

以上のようにスケジューリング処理が終了した後は、図4のステップ106に進む。   After the scheduling process is completed as described above, the process proceeds to step 106 in FIG.

ステップ106では、上記決定したスケジュールで各更新パッケージによる更新処理が実行されるように各仮想マシンのOSを制御すると共に、上記割り当て率の決定に従って、ハードウェア資源を割り当てる。   In step 106, the OS of each virtual machine is controlled so that the update process by each update package is executed according to the determined schedule, and hardware resources are allocated according to the determination of the allocation rate.

なお、実際に更新処理を実行中に、各処理に要する時間が上記算出した予測時間通りにならないことが見込まれる場合には、更新処理の実行中に、処理時間の各々が予測時間と合うように、上記決定したCPU割り当て率、ディスクI/O帯域、ネットワーク帯域を動的に調整してもよい。   If it is expected that the time required for each process will not be the predicted time calculated above during the actual execution of the update process, each of the process times will match the predicted time during the execution of the update process. In addition, the determined CPU allocation rate, disk I / O bandwidth, and network bandwidth may be dynamically adjusted.

更にまた、更新処理開始後に再スケジューリング処理を行ってもよい。再スケジューリング処理では、再スケジューリング処理の実行開始時点での各仮想マシンのハードウェア資源の割り当て状態を取得して、未実行の更新パッケージや各処理について、上記ステップ104のスケジューリング処理を実行する。これにより新たなスケジュール及び割り当て率が決定されると、これ以降は、各OSで該新たに決定されたスケジュールで未実行の処理が実行されるよう制御し、且つハードウェア資源の割り当ても新たな決定に応じて行うようにする。なお、頻繁な再スケジューリング処理でハードウェア資源に負荷がかかることを回避するため、再スケジューリングは予め定められた時間間隔毎に行うようにしてもよい。   Furthermore, the rescheduling process may be performed after the update process is started. In the rescheduling process, the allocation state of the hardware resources of each virtual machine at the start of execution of the rescheduling process is acquired, and the scheduling process of step 104 is executed for the unexecuted update package and each process. When a new schedule and allocation rate are determined in this way, thereafter, each OS is controlled to execute an unexecuted process according to the newly determined schedule, and hardware resource allocation is also new. Do it according to the decision. Note that rescheduling may be performed at predetermined time intervals in order to avoid a load on hardware resources due to frequent rescheduling processing.

更にまた、本実施の形態では、ハイパーバイザを用いてハードウェア資源の割り当てを行って仮想システムを実現した画像形成装置10を例に挙げて説明したが、これに限定されず、例えば、図11に示すように、ハイパーバイザの代わりに、ハードウェア資源の割り当てを管理するホストOSを上記複数のOSとは別に設け、該ホストOSが、複数のOSの更新のためのスケジューリング処理を行って、上記と同様に各OSの更新を制御するようにしてもよい。   Furthermore, in the present embodiment, the image forming apparatus 10 that implements a virtual system by allocating hardware resources using a hypervisor has been described as an example. However, the present invention is not limited to this. For example, FIG. As shown in FIG. 4, instead of the hypervisor, a host OS that manages the allocation of hardware resources is provided separately from the plurality of OSs, and the host OS performs scheduling processing for updating the plurality of OSs. Similarly to the above, the update of each OS may be controlled.

また、本実施の形態では、更新制御装置が適用される例として画像形成装置を例に挙げて説明したが、これに限定されるものではなく、様々な家電製品や事務機器などの組み込み機器に適用可能である。   In the present embodiment, the image forming apparatus is described as an example in which the update control apparatus is applied. However, the present invention is not limited to this, and the present invention is not limited to this and may be applied to various home appliances and office equipment. Applicable.

10 画像形成装置
12 装置制御部
12A CPU
12B メモリ
12C 記憶部
14 画像読取部
16 画像形成部
18 操作パネル
18B 操作受付部
18A 表示部
20 ネットワーク・インタフェース
24 バス
10 image forming apparatus 12 apparatus control unit 12A CPU
12B Memory 12C Storage unit 14 Image reading unit 16 Image forming unit 18 Operation panel 18B Operation receiving unit 18A Display unit 20 Network interface 24 Bus

Claims (3)

複数のオペレーティング・システムがハードウェア資源を共有して動作する情報処理装置に設けられた更新制御装置であって、
前記複数のオペレーティング・システムのソフトウェアの各々を更新する更新ソフトウェアの属性情報の各々と、前記複数のオペレーティング・システムの各々に対して割り当てられているハードウェア資源の情報の各々とに基づいて、各更新ソフトウェアによる更新の際に実行される処理の各々に要する時間を予測する予測手段と、
前記予測された時間に基づいて、前記複数のオペレーティング・システムが一斉に前記更新ソフトウェアの実行を開始して各オペレーティング・システムのソフトウェアを更新する場合に比べて、前記複数のオペレーティング・システム間で処理内容が等しい処理が並列に実行される時間が短くなるように前記更新ソフトウェアによる更新の際に実行される処理の各々の実行順序及び実行開始タイミングを決定する第1決定手段と、
前記予測された時間、前記実行順序、及び実行開始タイミングに応じて前記複数のオペレーティング・システムの各々に対する前記ハードウェア資源の割り当て率を決定する第2決定手段と、
前記決定された実行順序及び実行開始タイミングで前記更新ソフトウェアによる各処理が実行され、前記決定された割り当て率で前記ハードウェア資源が割り当てられるように制御する制御手段と、
を備えた更新制御装置。
An update control device provided in an information processing apparatus in which a plurality of operating systems operate by sharing hardware resources,
Based on each of update software attribute information for updating each of the plurality of operating system software and each of hardware resource information allocated to each of the plurality of operating systems, A predicting means for predicting the time required for each process executed when updating by the update software;
Compared with the case where the plurality of operating systems start executing the update software all at once and update the software of each operating system based on the predicted time, the processing between the plurality of operating systems is performed. First determination means for determining the execution order and execution start timing of each of the processes executed during the update by the update software so that the time during which the processes having the same contents are executed in parallel is shortened;
Second determining means for determining an allocation rate of the hardware resources for each of the plurality of operating systems according to the predicted time, the execution order, and the execution start timing;
Control means for performing control so that each process by the update software is executed in the determined execution order and execution start timing, and the hardware resources are allocated at the determined allocation rate;
An update control device.
前記制御手段は、前記更新ソフトウェアによる各処理の実行中にも、予め定められた時間間隔毎に、前記予測手段による予測と、前記第1決定手段による実行順序及び実行開始タイミングの決定と、前記第2決定手段による割り当て率の決定とが行われるように制御し、該制御により新たに決定された実行順序及び実行開始タイミングで前記更新ソフトウェアによる各処理が実行され、該制御により新たに決定された割り当て率で前記ハードウェア資源が割り当てられるように制御する
請求項1に記載の更新制御装置。
The control means, during execution of each process by the update software, prediction by the prediction means, determination of the execution order and execution start timing by the first determination means, for each predetermined time interval, The allocation rate is determined by the second determination means, and each process by the update software is executed in the execution order and execution start timing newly determined by the control, and newly determined by the control. The update control device according to claim 1, wherein control is performed so that the hardware resource is allocated at a predetermined allocation rate.
複数のオペレーティング・システムがハードウェア資源を共有して動作する情報処理装置に設けられたコンピュータを、
前記複数のオペレーティング・システムのソフトウェアの各々を更新する更新ソフトウェアの属性情報の各々と、前記複数のオペレーティング・システムの各々に対して割り当てられているハードウェア資源の情報の各々とに基づいて、各更新ソフトウェアによる更新の際に実行される処理の各々に要する時間を予測する予測手段、
前記予測された時間に基づいて、前記複数のオペレーティング・システムが一斉に前記更新ソフトウェアの実行を開始して各オペレーティング・システムのソフトウェアを更新する場合に比べて、前記複数のオペレーティング・システム間で処理内容が等しい処理が並列に実行される時間が短くなるように前記更新ソフトウェアによる更新の際に実行される処理の各々の実行順序及び実行開始タイミングを決定する第1決定手段、
前記予測された時間、前記実行順序、及び実行開始タイミングに応じて前記複数のオペレーティング・システムの各々に対する前記ハードウェア資源の割り当て率を決定する第2決定手段、及び
前記決定された実行順序及び実行開始タイミングで前記各処理が実行され、前記決定された割り当て率で前記ハードウェア資源が割り当てられるように制御する制御手段、
として機能させるためのプログラム。
A computer provided in an information processing apparatus in which a plurality of operating systems operate by sharing hardware resources;
Based on each of update software attribute information for updating each of the plurality of operating system software and each of hardware resource information allocated to each of the plurality of operating systems, A predicting means for predicting the time required for each process executed when updating by the update software;
Compared with the case where the plurality of operating systems start executing the update software all at once and update the software of each operating system based on the predicted time, the processing between the plurality of operating systems is performed. First determination means for determining the execution order and execution start timing of each of the processes executed during the update by the update software so that the time during which the processes having the same contents are executed in parallel is shortened;
Second determining means for determining an allocation rate of the hardware resources for each of the plurality of operating systems according to the predicted time, the execution order, and the execution start timing; and the determined execution order and execution Control means for performing control so that each processing is executed at a start timing and the hardware resources are allocated at the determined allocation rate;
Program to function as.
JP2011042259A 2011-02-28 2011-02-28 Update control device and program Withdrawn JP2012181578A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011042259A JP2012181578A (en) 2011-02-28 2011-02-28 Update control device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011042259A JP2012181578A (en) 2011-02-28 2011-02-28 Update control device and program

Publications (1)

Publication Number Publication Date
JP2012181578A true JP2012181578A (en) 2012-09-20

Family

ID=47012746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011042259A Withdrawn JP2012181578A (en) 2011-02-28 2011-02-28 Update control device and program

Country Status (1)

Country Link
JP (1) JP2012181578A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017002194A1 (en) * 2015-06-30 2017-01-05 株式会社日立製作所 Management system, and management method
JP2018018272A (en) * 2016-07-27 2018-02-01 富士通株式会社 Control apparatus and information processing system
JP2018151741A (en) * 2017-03-10 2018-09-27 Necプラットフォームズ株式会社 Information processing apparatus, program update method, and program updating program
JP2019095905A (en) * 2017-11-20 2019-06-20 キヤノン株式会社 Firmware built-in device, control method, and program
WO2023055438A1 (en) * 2021-09-29 2023-04-06 Intel Corporation Dynamic resource determination for system update
WO2023243039A1 (en) * 2022-06-16 2023-12-21 日本電信電話株式会社 Information processing apparatus, information processing method, and program

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017002194A1 (en) * 2015-06-30 2017-01-05 株式会社日立製作所 Management system, and management method
JPWO2017002194A1 (en) * 2015-06-30 2017-10-05 株式会社日立製作所 Management system and management method
JP2018018272A (en) * 2016-07-27 2018-02-01 富士通株式会社 Control apparatus and information processing system
JP2018151741A (en) * 2017-03-10 2018-09-27 Necプラットフォームズ株式会社 Information processing apparatus, program update method, and program updating program
JP2019095905A (en) * 2017-11-20 2019-06-20 キヤノン株式会社 Firmware built-in device, control method, and program
JP7058984B2 (en) 2017-11-20 2022-04-25 キヤノン株式会社 Firmware embedded device, control method, program
WO2023055438A1 (en) * 2021-09-29 2023-04-06 Intel Corporation Dynamic resource determination for system update
WO2023243039A1 (en) * 2022-06-16 2023-12-21 日本電信電話株式会社 Information processing apparatus, information processing method, and program

Similar Documents

Publication Publication Date Title
Ren et al. Hopper: Decentralized speculation-aware cluster scheduling at scale
US8694644B2 (en) Network-aware coordination of virtual machine migrations in enterprise data centers and clouds
Hategan et al. Coasters: uniform resource provisioning and access for clouds and grids
US20130111032A1 (en) Cloud optimization using workload analysis
JP2012181578A (en) Update control device and program
JP2008165410A (en) Guest os scheduling method and virtual machine monitor
US9471387B2 (en) Scheduling in job execution
JP6778130B2 (en) Virtual computer system and its resource allocation method
US20140137122A1 (en) Modified backfill scheduler and a method employing frequency control to reduce peak cluster power requirements
JP6107801B2 (en) Information processing apparatus, information processing system, task processing method, and program
Klusáček et al. Real-life experience with major reconfiguration of job scheduling system
Baresi et al. Towards vertically scalable spark applications
US20120240111A1 (en) Storage medium storing program for controlling virtual machine, computing machine, and method for controlling virtual machine
JP6620609B2 (en) Distributed processing execution management program, distributed processing execution management method, and distributed processing execution management device
JP6239400B2 (en) Control device
US9195515B1 (en) Method and system for process load balancing
Yamazaki et al. Implementation and evaluation of the JobTracker initiative task scheduling on Hadoop
JP2014206805A (en) Control device
Polo et al. Adaptive task scheduling for multijob mapreduce environments
Liu et al. Backfilling under two-tier virtual machines
Zhu et al. High-Throughput Scientific Workflow Scheduling under Deadline Constraint in Clouds.
US9778958B2 (en) Management method, management apparatus, and information processing system for coordinating parallel processing in a distributed computing environment
JP2015095132A (en) Information processing system, method for controlling information processing system and control program of management device
JP6958945B2 (en) Central processing unit, processing method and program
Nabavinejad et al. MapReduce service provisioning for frequent big data jobs on clouds considering data transfers

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140513