JP5659894B2 - Software update device, software update method, and software update program - Google Patents

Software update device, software update method, and software update program Download PDF

Info

Publication number
JP5659894B2
JP5659894B2 JP2011059558A JP2011059558A JP5659894B2 JP 5659894 B2 JP5659894 B2 JP 5659894B2 JP 2011059558 A JP2011059558 A JP 2011059558A JP 2011059558 A JP2011059558 A JP 2011059558A JP 5659894 B2 JP5659894 B2 JP 5659894B2
Authority
JP
Japan
Prior art keywords
update
load
software
time
module
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.)
Expired - Fee Related
Application number
JP2011059558A
Other languages
Japanese (ja)
Other versions
JP2012194892A (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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2011059558A priority Critical patent/JP5659894B2/en
Publication of JP2012194892A publication Critical patent/JP2012194892A/en
Application granted granted Critical
Publication of JP5659894B2 publication Critical patent/JP5659894B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明はソフトウェアの更新を行うためのソフトウェア更新装置、ソフトウェア更新方法、及びソフトウェア更新プログラムに関する。   The present invention relates to a software update apparatus, a software update method, and a software update program for updating software.

サービスを提供するモジュールを制御するソフトウェアに対して、例えば問題修正等の何らかの理由により更新を行う場合、通常、モジュールはサービスの提供を止める必要がある。しかし、サービスの提供に24時間365日の継続性が求められている場合、ソフトウェアの更新の際でも、サービスの提供が中断されてはならない。ソフトウェアの更新は、サービスの提供を継続したまま安全かつ確実に実施される必要がある。このようなソフトウェアの例として、例えば、RAID(Redundant Arrays of Independent Disks)に代表されるディスクアレイ装置のコントローラの制御ソフトがある。ディスクアレイ装置は、例えば、ハードディスクなどの磁気ディスクの集合から構成したディスクプールを含む。ディスクアレイ装置は、ディスクプール上の領域を論理的に分割した論理ディスクを、例えば、ネットワーク(SAN、Storage Area Network)で接続された業務ホストに利用させる。業務ホストが24時間365日継続して動作する場合、ディスクアレイ装置は、24時間365日継続して、業務ホストが利用できるように、論理ディスクを提供する必要がある。   When software for controlling a module that provides a service is updated for some reason such as problem correction, the module usually needs to stop providing the service. However, when continuity is required for service provision 24 hours a day, 365 days, service provision should not be interrupted even when software is updated. Software updates need to be performed safely and reliably while continuing to provide services. As an example of such software, for example, there is control software for a controller of a disk array device represented by RAID (Redundant Arrays of Independent Disks). The disk array device includes, for example, a disk pool configured from a set of magnetic disks such as hard disks. The disk array device uses a logical disk obtained by logically dividing an area on a disk pool, for example, for a business host connected by a network (SAN, Storage Area Network). When the business host operates continuously for 24 hours 365 days, the disk array device needs to provide a logical disk so that the business host can use it continuously for 24 hours 365 days.

特許文献1には、2つの接続パスを介してホストコンピュータに接続されるストレージ装置の、各接続パスに対応する入出力ポートのマイクロプログラムの交換を、無停止で自動的に行う情報処理システムが記載されている。特許文献1のストレージ装置が含む各ハードディスクドライブは、それぞれ複数の入出力ポートに接続されている。   Patent Document 1 discloses an information processing system that automatically and seamlessly replaces a microprogram of an input / output port corresponding to each connection path of a storage apparatus connected to a host computer via two connection paths. Have been described. Each hard disk drive included in the storage device of Patent Document 1 is connected to a plurality of input / output ports.

特許文献1に記載のストレージ装置は、まず、接続パスを介してホストコンピュータにマイクロプログラムの交換の開始を通知し、マイクロプログラムの交換のために閉塞する入出力ポートに対応する接続パスを休止させ、別の接続パスに切り替えさせる。接続パスの切り替えが完了した場合、ストレージ装置は、マイクロプログラムの交換を行う。ストレージ装置は、マイクロプログラムの交換の対象となる入出力ポートに対して、順次マイクロプログラムの交換を行う。   The storage device described in Patent Document 1 first notifies the host computer of the start of microprogram replacement via the connection path, and pauses the connection path corresponding to the input / output port that is blocked for microprogram replacement. , Switch to another connection path. When the connection path switching is completed, the storage apparatus exchanges microprograms. The storage apparatus sequentially exchanges the microprograms for the input / output ports that are subject to microprogram exchange.

特許文献2には、稼働中であっても、ディスクアレイ装置を構成する記憶装置の制御ファームの適用を行うことができるディスクアレイ装置が記載されている。特許文献2のディスクアレイ装置は、ディスクアレイ装置が含む各記憶装置へのアクセス状況の監視を行う監視部を含む。   Patent Document 2 describes a disk array device that can apply a control firmware of a storage device that constitutes the disk array device even during operation. The disk array device of Patent Document 2 includes a monitoring unit that monitors the access status to each storage device included in the disk array device.

特許文献2のディスクアレイ装置は、監視部による監視の結果が所定条件を満たす場合に、指定した記憶装置への制御ファームの適用を実行する。所定条件は、例えば、所定時間連続して記憶装置へのアクセスがない場合や、所定期間内のアクセス頻度が所定値以下の場合である。   The disk array device of Patent Document 2 executes application of a control firmware to a designated storage device when the result of monitoring by the monitoring unit satisfies a predetermined condition. The predetermined condition is, for example, the case where there is no access to the storage device for a predetermined period of time, or the case where the access frequency within a predetermined period is equal to or less than a predetermined value.

特許文献3には、ディスク装置と2つのコントローラ部(又は2つのエンクロージャ)を備えた基本筐体を含み、それぞれのコントローラ部又はエンクロージャが含むエクスパンダの制御プログラム(ファームウェア)を更新するストレージ装置が記載されている。特許文献3のストレージ装置は、ディスク装置と2つのエンクロージャを備えた1個以上の増設筐体も含む。エクスパンダは、ストレージ装置が含む基本筐体や増設筐体と、ディスク装置や他の増設筐体との間のインタフェースである。   Patent Document 3 discloses a storage device that includes a basic housing including a disk device and two controller units (or two enclosures), and updates an expander control program (firmware) included in each controller unit or enclosure. Have been described. The storage device of Patent Document 3 also includes one or more additional enclosures each having a disk device and two enclosures. The expander is an interface between a basic chassis or additional chassis included in the storage apparatus and a disk device or other additional chassis.

特許文献3のストレージ装置は、コントローラ部又はエンクロージャのいずれかを指定した、管理端末からのダウンロード方法の指示に基づき、指定されたコントローラ部又はエンクロージャが含むエクスパンダのファームウェアの更新を行う。例えば、管理端末からの指示が、「省電力機能により電源を切る際にダウンロードを実行する」である場合、ストレージ装置は、省電力モードに移行する時にファームウェアの更新を行う。管理端末からの指示が、「即座にダウンロードを実行する」である場合、ストレージ装置は、即座にファームウェアの更新を行う。   The storage device of Patent Literature 3 updates the firmware of the expander included in the designated controller unit or enclosure based on the instruction of the download method from the management terminal that designates either the controller unit or the enclosure. For example, when the instruction from the management terminal is “execute download when power is turned off by the power saving function”, the storage apparatus updates the firmware when shifting to the power saving mode. When the instruction from the management terminal is “execute download immediately”, the storage apparatus immediately updates the firmware.

管理端末からの指示が、「性能への影響を考慮してダウンロードを実施する」である場合、管理端末からのファームウェアの更新のタイミングの指示に基づき、エクスパンダのファームウェアの更新を行う。管理端末からの指示が、「指定した時間にダウンロードを実行する」である場合、ストレージ装置は、指定された時間にファームウェアの更新を行う。管理端末からの指示が、「即座にダウンロードを実行する」である場合、ストレージ装置は、即座にファームウェアの更新を行う。管理端末からの指示が、「I/O(Input/Output)が少ないときにダウンロードを実施する」である場合、例えば、IOPS(Input Output Per Second)の値が所定値より小さい時にファームウェアの更新を行う。   When the instruction from the management terminal is “perform download in consideration of the influence on performance”, the firmware of the expander is updated based on the instruction of the firmware update timing from the management terminal. When the instruction from the management terminal is “execute download at a specified time”, the storage apparatus updates the firmware at the specified time. When the instruction from the management terminal is “execute download immediately”, the storage apparatus immediately updates the firmware. When the instruction from the management terminal is “perform download when I / O (Input / Output) is low”, for example, update the firmware when the IOPS (Input Output Per Second) value is smaller than a predetermined value. Do.

特開2005−242574号公報JP 2005-242574 A 特開2009−282834号公報JP 2009-282834 A 特開2010−061288号公報JP 2010-061288 A

特許文献1に記載のストレージ装置は、マイクロプログラムの交換の際、各入出力ポートに対するI/Oの負荷の大きさによらず、マイクロプログラムの交換の対象となる入出力ポートに対応する接続パスを休止する。この場合、マイクロプログラムの交換の対象となる入出力ポートが負担しているI/Oの負荷を、他の入出力ポートが分担して負担する。しかし、各入出力ポートのI/Oの負荷の和が、マイクロプログラムの交換の対象となる入出力ポート以外の入出力ポートの処理能力の和を超える場合、ストレージ装置に遅延などの性能低下が生じたり、性能低下が拡大したりすることがある。   In the storage device described in Patent Document 1, the connection path corresponding to the input / output port that is the target of the microprogram replacement is independent of the magnitude of the I / O load on each input / output port when the microprogram is replaced. To pause. In this case, the other input / output ports share the I / O load borne by the input / output ports to be exchanged with the microprogram. However, if the sum of the I / O loads of each input / output port exceeds the sum of the processing capacities of the input / output ports other than the input / output ports to be exchanged with the microprogram, the storage device has a performance degradation such as a delay. May occur or performance degradation may be magnified.

特許文献2のディスクアレイ装置は、監視部による監視の結果、所定時間連続して記憶装置へのアクセスがない場合や、所定期間内のアクセス頻度が所定値以下の場合に、指定した記憶装置への制御ファームの適用を実行する。しかし、制御ファームの適用開始前の所定時間内において、アクセスが無いかアクセスの頻度が所定値以下であっても、制御ファームの適用開始後に、同様にアクセスが無いかアクセスの頻度が所定値以下であるわけではない。制御ファームの適用開始後にアクセス頻度が増大した場合、ディスクアレイ装置に遅延などの性能低下が生じたり、性能低下が拡大したりすることがある。   As a result of monitoring by the monitoring unit, the disk array device of Patent Document 2 is directed to a designated storage device when there is no access to the storage device for a predetermined period of time or when the access frequency within a predetermined period is equal to or less than a predetermined value. Apply the application control farm. However, even if there is no access or the access frequency is less than or equal to a predetermined value within a predetermined time before the application of the control farm, after the application of the control farm is started, there is no access or the access frequency is less than or equal to the predetermined value. Not that. When the access frequency increases after the application of the control firmware starts, performance degradation such as delay may occur in the disk array device, or performance degradation may increase.

特許文献3のストレージ装置は、「性能への影響を考慮してダウンロードを実施する」場合、指定した時刻(即座を含む)か、I/Oが少ない時にファームウェアの更新を行う。しかし、指定した時刻にI/Oが少ないとは限らない。また、I/Oの多さを計測した時にI/Oが少なくても、ファームウェアの更新開始後に継続してI/Oが少ないとは限らない。ファームウェアの更新開始後にI/Oが増加し、ファームウェアの更新を行っていないコントローラ部やエンクロージャの処理能力を超えた場合、ストレージ装置に遅延などの性能低下が生じたり、性能低下が拡大したりすることがある。   The storage device of Patent Document 3 updates the firmware at the designated time (including immediately) or when the I / O is low when “downloading is performed in consideration of the influence on performance”. However, I / O is not always small at the specified time. Further, even if the number of I / Os is measured, even if the number of I / Os is small, the number of I / Os is not always continued after the start of firmware update. If the I / O increases after the firmware update starts and the processing capacity of the controller or enclosure that has not been updated is exceeded, performance degradation such as delay may occur in the storage device, or the performance degradation will increase. Sometimes.

本発明の目的は、上記問題を解決するソフトウェア更新装置を提供することにある。   An object of the present invention is to provide a software updating apparatus that solves the above problems.

本発明のソフトウェア更新装置は、モジュールの負荷の予測値を時刻に対応付けた負荷推移データを記憶する負荷記憶手段と、前記モジュールを制御するソフトウェアに対する更新データと、前記ソフトウェアに前記更新データを適用するための所要時間を、対応付けて記憶するパッチ記憶手段と、前記パッチ記憶手段から読み出した前記所要時間以上継続して、負荷の前記合計値が閾値を下回る時間帯を、前記負荷推移データから抽出し、抽出した前記時間帯に前記ソフトウェアの更新の実行予定を割り当てるアップデート見積もり手段と、前記実行予定に基づき、前記ソフトウェアの更新の対象となる前記モジュールにサービスの提供を停止させ、前記ソフトウェアの更新を実行するアップデート実行手段とを含む。   The software updating apparatus according to the present invention includes a load storage unit that stores load transition data in which a predicted value of a module load is associated with time, update data for software that controls the module, and application of the update data to the software The time required to do this is stored in association with the patch storage means, and the time period in which the total value of the loads falls below the threshold is continued from the load transition data continuously for the required time read from the patch storage means. An update estimation means for extracting and assigning the execution schedule of the software update in the extracted time zone, and based on the execution schedule, stopping the provision of services to the module that is the target of the software update, Update execution means for executing the update.

本発明のソフトウェア更新方法は、モジュールの負荷の予測値を時刻に対応付けた負荷推移データを負荷記憶手段に記憶し、前記モジュールを制御するソフトウェアに対する更新データと、前記ソフトウェアに前記更新データを適用するための所要時間を、対応付けてパッチ記憶手段に記憶し、前記パッチ記憶手段から読み出した前記所要時間以上継続して、負荷の前記合計値が閾値を下回る時間帯を、前記負荷推移データから抽出し、抽出した前記時間帯に前記ソフトウェアの更新の実行予定を割り当て、前記実行予定に基づき、前記ソフトウェアの更新の対象となる前記モジュールにサービスの提供を停止させ、前記ソフトウェアの更新を実行する。   In the software update method of the present invention, load transition data in which a predicted value of a module load is associated with time is stored in a load storage unit, the update data for the software that controls the module, and the update data is applied to the software The time required to do is stored in the patch storage means in association with each other, and the time period in which the total value of the loads falls below the threshold is continued from the load transition data continuously from the patch storage means. Extracting and assigning the execution schedule of the software update to the extracted time zone, and based on the execution schedule, stopping the provision of services to the module that is the target of the software update, and executing the software update .

本発明のソフトウェア更新プログラムは、コンピュータを、モジュールの負荷の予測値を時刻に対応付けた負荷推移データを記憶する負荷記憶手段と、前記モジュールを制御するソフトウェアに対する更新データと、前記ソフトウェアに前記更新データを適用するための所要時間を、対応付けて記憶するパッチ記憶手段と、前記パッチ記憶手段から読み出した前記所要時間以上継続して、負荷の前記合計値が閾値を下回る時間帯を、前記負荷推移データから抽出し、抽出した前記時間帯に前記ソフトウェアの更新の実行予定を割り当てるアップデート見積もり手段と、前記実行予定に基づき、前記ソフトウェアの更新の対象となる前記モジュールにサービスの提供を停止させ、前記ソフトウェアの更新を実行するアップデート実行手段として動作させる。   The software update program according to the present invention includes a load storage unit that stores load transition data in which a predicted value of a module load is associated with a time, update data for software that controls the module, and the software A patch storage unit that stores a required time for applying data in association with each other, and a time zone in which the total value of the loads is less than a threshold continuously for the required time read from the patch storage unit, Update estimate means that extracts from the transition data and allocates the execution schedule of the software update in the extracted time zone, and based on the execution schedule, stops providing the service to the module that is the target of the software update, As an update execution means for executing the update of the software To work.

本発明には、モジュールが提供するサービスに対して、モジュールのソフトウェアの更新が与える影響を低減すると言う効果がある。   The present invention has an effect of reducing the influence of the software update of the module on the service provided by the module.

第1の実施形態の構成を表すブロック図である。It is a block diagram showing the structure of 1st Embodiment. 第1の実施形態のモジュールの例であるコントローラ部を含む、ディスクアレイ装置の構成の例を表すブロック図である。It is a block diagram showing the example of a structure of the disk array apparatus containing the controller part which is an example of the module of 1st Embodiment. 第1の実施形態の動作を表すフローチャートである。It is a flowchart showing operation | movement of 1st Embodiment. パッチ記憶部12が記憶する更新の所要時間の例を表す図である。It is a figure showing the example of the required time of the update which the patch memory | storage part 12 memorize | stores. 負荷記憶部11が記憶する負荷推移データの例を表す図である。It is a figure showing the example of the load transition data which the load memory | storage part 11 memorize | stores. 第2の実施形態の構成を表すブロック図である。It is a block diagram showing the structure of 2nd Embodiment. 第2の実施形態のコントローラ部の構成の例を表すブロック図である。It is a block diagram showing the example of a structure of the controller part of 2nd Embodiment. 第2の実施形態の更新実行予定割り当て時の動作を表すフローチャートである。It is a flowchart showing the operation | movement at the time of the update execution schedule allocation of 2nd Embodiment. パッチ記憶部12が記憶する更新の所要時間の第2の例を表す図である。It is a figure showing the 2nd example of the required time of the update which the patch memory | storage part 12 memorize | stores. 負荷記憶部11が記憶する負荷推移データの第2の例を表す図である。It is a figure showing the 2nd example of the load transition data which the load memory | storage part 11 memorize | stores. アップデート見積もり部による実行予定の割り当ての結果の例を表す図である。It is a figure showing the example of the result of the allocation of the execution schedule by an update estimation part. 第2の実施形態の更新実行時の動作を表すフローチャートである。It is a flowchart showing the operation | movement at the time of the update execution of 2nd Embodiment.

次に、本発明の実施形態について、図面を参照して詳細に説明する。   Next, embodiments of the present invention will be described in detail with reference to the drawings.

以下で説明する本発明の各実施形態は、ハードウェア、コンピュータとコンピュータを制御するプログラム、あるいは、ハードウェアと、コンピュータとコンピュータを制御するプログラムとの組み合わせにより実現することができる。   Each embodiment of the present invention described below can be realized by hardware, a program for controlling the computer and the computer, or a combination of hardware and a program for controlling the computer and the computer.

図1は、本発明の第1の実施形態の構成を表すブロック図である。   FIG. 1 is a block diagram showing the configuration of the first exemplary embodiment of the present invention.

図1を参照すると、本実施形態のソフトウェア更新装置1Aは、負荷記憶部11と、パッチ記憶部12と、アップデート見積もり部13と、アップデート実行部14を含む。アップデート実行部14には、モジュール21A及びモジュール22Aが接続されている。なお、アップデート実行部14に接続されているモジュールの数は、図1に記載した例では2個であるが、2個に限らない。   Referring to FIG. 1, the software update device 1 </ b> A according to the present embodiment includes a load storage unit 11, a patch storage unit 12, an update estimation unit 13, and an update execution unit 14. A module 21A and a module 22A are connected to the update execution unit 14. Note that the number of modules connected to the update execution unit 14 is two in the example illustrated in FIG. 1, but is not limited to two.

負荷記憶部11は、サービスを提供することによる各モジュールの負荷の合計の予測値を、時刻に対応付けた負荷推移データを記憶する。負荷の合計の予測値は、例えば、過去に測定した各モジュールの負荷の時系列データから算出した、負荷の合計値の同一時刻における平均値や中間値であればよい。負荷推移データは、負荷の合計値の同一時刻における平均値や中間値を、その時刻に対応付けたデータであればよい。   The load storage unit 11 stores load transition data in which a predicted value of the total load of each module by providing a service is associated with a time. The predicted value of the total load may be an average value or an intermediate value at the same time of the total load value calculated from the time series data of the load of each module measured in the past, for example. The load transition data may be data in which an average value or an intermediate value at the same time of the total load value is associated with the time.

パッチ記憶部12は、各モジュールを制御するソフトウェアに対する更新データと、その更新データを、各モジュールを制御するソフトウェアに適用するために要する所要時間を、対応付けて記憶する。以下の説明では、更新データをソフトウェアに適用することを、更新を実行すると表記する。   The patch storage unit 12 stores the update data for the software that controls each module and the time required to apply the update data to the software that controls each module in association with each other. In the following description, applying update data to software is expressed as executing update.

アップデート見積もり手段13は、パッチ記憶部12から所要時間を読み出す。アップデート見積もり手段13は、読み出した所要時間以上継続して、負荷の合計の予測値が所定の閾値を下回る時間帯を、負荷記憶部11が記憶する負荷推移データから抽出する。アップデート見積もり手段13は、抽出した時間帯に、読み出した所要時間に対応する、ソフトウェアの更新の実行予定を割り当てる。   The update estimation unit 13 reads the required time from the patch storage unit 12. The update estimation unit 13 extracts, from the load transition data stored in the load storage unit 11, a time period in which the total predicted load value is lower than a predetermined threshold continuously for the read required time. The update estimation unit 13 assigns a software update execution schedule corresponding to the read required time to the extracted time zone.

アップデート実行手段14は、アップデート見積もり手段13が割り当てた実行予定におけるソフトウェアの更新の実行開始時刻になると、ソフトウェアの更新の対象となるモジュールによるサービスの提供を停止させる。アップデート実行手段14は、モジュールにサービスの提供を停止させた後、そのモジュールのソフトウェアに対して更新を実行する。   The update execution unit 14 stops providing the service by the module that is the target of the software update when the software update execution start time assigned by the update estimation unit 13 is reached. The update execution means 14 updates the software of the module after stopping the module from providing the service.

各モジュールは、各モジュールに接続されている、例えば計算装置や端末装置などに対して、何らかのサービスを提供する。各モジュールは、ソフトウェアにより制御される。各モジュールは、例えば、RAIDに代表されるディスクアレイ装置の、ソフトウェアにより制御されるコントローラ部である。各モジュールは、コンピュータクラスタにおけるコンピュータや、コンピュータのネットワークインターフェースのコントローラであってもよい。本発明の各実施形態では、モジュールがディスクアレイ装置のI/Oを制御するコントローラ部である場合の説明を行う。   Each module provides some service to, for example, a computing device or a terminal device connected to each module. Each module is controlled by software. Each module is, for example, a controller unit controlled by software in a disk array device represented by RAID. Each module may be a computer in a computer cluster or a controller of a computer network interface. In each embodiment of the present invention, a description will be given of a case where a module is a controller unit that controls I / O of a disk array device.

図2は、各モジュールが、ディスクアレイ装置のコントローラ部である場合の、ディスクアレイ装置2Aの構成を表すブロック図である。   FIG. 2 is a block diagram showing a configuration of the disk array device 2A when each module is a controller unit of the disk array device.

ディスクアレイ装置2Aは、前述のモジュールであるコントローラ部21及びコントローラ部22と、ディスクアレイ23を含む。ディスクアレイ23は、ディスク231、ディスク232、…、ディスク23Nを含む。   The disk array device 2A includes a controller unit 21 and a controller unit 22 which are the aforementioned modules, and a disk array 23. The disk array 23 includes a disk 231, a disk 232,..., A disk 23N.

コントローラ部21及びコントローラ部22は、それぞれ、業務ホスト3A及び業務ホスト3Bの両方に接続されている。コントローラ部21及びコントローラ部22は、業務ホスト3A及び業務ホスト3Bに対して、ディスクアレイ装置に記録されているデータの読み書きのサービスを提供している。図2の例では、コントローラ部21及びコントローラ部22は冗長構成になっており、どちらか一方が停止しても、他方が動作することにより、業務ホスト3A及び業務ホスト3Bに対するサービスの提供を継続することができる。   The controller unit 21 and the controller unit 22 are connected to both the business host 3A and the business host 3B, respectively. The controller unit 21 and the controller unit 22 provide a service for reading and writing data recorded in the disk array device to the business host 3A and the business host 3B. In the example of FIG. 2, the controller unit 21 and the controller unit 22 have a redundant configuration, and even if one of them stops, the other operates to continue providing services to the business host 3A and the business host 3B. can do.

次に、本実施形態の動作について、図面を参照して詳細に説明する。   Next, the operation of the present embodiment will be described in detail with reference to the drawings.

図3は本実施形態のソフトウェア更新装置1Aの動作を表すフローチャートである。   FIG. 3 is a flowchart showing the operation of the software updating apparatus 1A of this embodiment.

ソフトウェア更新装置1Aは、例えば、所定の時間毎にモジュールのソフトウェアに対して適用すべき更新データの有無を調べ、適用すべき更新データが存在する場合、図3の動作を開始すればよい。ソフトウェア更新装置1Aは、例えば、図示しない管理ホストからの指示により、図3の動作を開始してもよい。どちらの場合も、例えば図示しない管理ホストが、パッチ記憶部12に適用すべき更新データを格納し、適用すべき更新データを特定する情報をソフトウェア更新装置1Aに送信しておけばよい。   For example, the software update device 1A checks the presence / absence of update data to be applied to the module software every predetermined time, and if there is update data to be applied, the operation of FIG. 3 may be started. The software updating apparatus 1A may start the operation of FIG. 3 according to an instruction from a management host (not shown), for example. In either case, for example, a management host (not shown) may store update data to be applied to the patch storage unit 12 and transmit information specifying the update data to be applied to the software update device 1A.

図3を参照すると、まず、アップデート見積もり部13が、パッチ記憶部12から、モジュールのソフトウェアの更新データに対応付けられた、ソフトウェアの更新を実行するために要する所要時間を読み出す(ステップS11)。   Referring to FIG. 3, first, the update estimation unit 13 reads from the patch storage unit 12 the time required to execute the software update associated with the software update data of the module (step S11).

パッチ記憶部12は、所要時間を、例えばテーブルの形で記憶しておけばよい。   The patch storage unit 12 may store the required time in the form of a table, for example.

図4は、パッチ記憶部12が記憶する、所要時間の例である。図4の例では、所要時間に更新データ名が対応付けられている。   FIG. 4 is an example of the required time stored in the patch storage unit 12. In the example of FIG. 4, the update data name is associated with the required time.

更新データ及び所要時間を、例えば図示しない管理ホストが、パッチ記憶部12に予め記憶させておけばよい。更新データは、複数の更新データを一つにまとめたパッチセットであってもよい。更新データがパッチセットである場合、所要時間は、パッチセットに含まれる全ての更新データをソフトウェアに適用するために要する時間である。パッチ記憶部12は、パッチセットに対応する所要時間を記憶しておけばよい。また、アップデート見積もり部13が、パッチセットに含まれる個々の更新データに対応する所要時間をパッチ記憶部12から読み出し、例えば所要時間の中で最長の所要時間をパッチセットの所要時間にするなど、既存の方法でパッチセットの所要時間を算出してもよい。   The update data and the required time may be stored in advance in the patch storage unit 12 by a management host (not shown), for example. The update data may be a patch set in which a plurality of update data are combined into one. When the update data is a patch set, the required time is the time required to apply all the update data included in the patch set to the software. The patch storage unit 12 may store the required time corresponding to the patch set. Further, the update estimation unit 13 reads out the required time corresponding to each update data included in the patch set from the patch storage unit 12, for example, the longest required time among the required times is set as the required time of the patch set, etc. The time required for the patch set may be calculated by an existing method.

次に、アップデート見積もり部13が、ソフトウェアの更新の所要時間以上継続して、負荷の合計が閾値を下回る時間帯を、負荷記憶部11が記憶する負荷推移データから抽出する(ステップS12)。   Next, the update estimation unit 13 extracts a time period in which the total load is below the threshold value from the load transition data stored in the load storage unit 11 for more than the time required for software update (step S12).

負荷記憶部11は、負荷推移データを、例えばテーブルの形で記憶しておけばよい。   The load storage unit 11 may store the load transition data in the form of a table, for example.

図5は、負荷推移データの例を表す図である。図5の例では、負荷推移データは、10秒間隔の負荷の合計値である。   FIG. 5 is a diagram illustrating an example of load transition data. In the example of FIG. 5, the load transition data is a total value of loads at intervals of 10 seconds.

負荷推移データは、時刻に対応付けられた、例えば所定の時間間隔の、例えばIOPSで表した各モジュールの負荷の合計値である。負荷の大きさを表す値は、既存の任意の値であってよい。なお、IOPSは、1秒当たりのI/O数である。   The load transition data is a total value of loads of each module, for example, expressed in IOPS, for example, at a predetermined time interval associated with the time. The value indicating the magnitude of the load may be an existing arbitrary value. IOPS is the number of I / Os per second.

負荷推移データの時間間隔は任意であり、1秒であっても、10秒であっても、1分であっても、それ以外の時間であってもよい。また、負荷記憶部11が記憶する負荷推移データの量は任意であり、1日分であっても、1ヶ月分であっても、1年分であっても、それ以外の量であってもよい。負荷推移データが含む負荷の合計値は、同一時刻に計測した各モジュールの負荷を合計した値の、例えば平均や中央値などの統計量であればよい。   The time interval of the load transition data is arbitrary, and may be 1 second, 10 seconds, 1 minute, or any other time. Also, the amount of load transition data stored in the load storage unit 11 is arbitrary, whether it is for one day, one month, one year, or any other amount. Also good. The total load value included in the load transition data may be a statistic such as an average or median value of the total load of each module measured at the same time.

負荷の合計値に対する閾値は、ソフトウェアの更新の対象となるモジュール以外のモジュールだけで全ての負荷を負担しても、提供するサービスに遅延などの悪影響が及ばないような負荷の合計値を、適宜選択した値であればよい。閾値は、計算上提供するサービスに遅延などの影響が及ばないような負荷の合計値から、安全を考えたマージン分を引いた値であってもよい。   The threshold value for the total load value should be the appropriate total load value that will not adversely affect the provided services even if all the loads other than the modules that are subject to software updates are burdened. Any selected value may be used. The threshold value may be a value obtained by subtracting a margin for safety from a total load value that does not affect the service to be provided in calculation.

アップデート見積もり部13は、次に、読み出した所要時間に対応する更新データをソフトウェアに対して適用するソフトウェアの更新の実行予定を、抽出した時間帯に割り当てる(ステップS13)。   Next, the update estimation unit 13 assigns the execution schedule of the software update in which the update data corresponding to the read required time is applied to the software to the extracted time zone (step S13).

なお、複数のモジュールのソフトウェアに対して同一の更新を適用する場合、更新を適用していないモジュールが無くなるまで、ステップS12及びステップS13の処理を繰り返せばよい。また、適用すべき更新データが複数存在する場合、更新の実行予定を割り当てていない更新データが無くなるまで、ステップS12及びステップS13の処理を繰り返せばよい。   In addition, when applying the same update with respect to the software of several modules, what is necessary is just to repeat the process of step S12 and step S13 until there is no module which has not applied the update. If there are a plurality of update data to be applied, the processes in steps S12 and S13 may be repeated until there is no update data to which no update execution schedule is assigned.

アップデート見積もり部13が割り当てた更新予定における、更新の開始時刻になるまで、アップデート実行部14は何も行わない(ステップS14、N)。   The update execution unit 14 does nothing until the update start time in the update schedule assigned by the update estimation unit 13 is reached (step S14, N).

アップデート見積もり部13が割り当てた更新予定における、更新の開始時刻になると(ステップS14、Y)、アップデート実行部14は、ソフトウェアの更新の対象となるモジュールに、サービスの提供を中止させる(ステップS15)。   When the update start time assigned in the update schedule assigned by the update estimation unit 13 is reached (Y in step S14), the update execution unit 14 causes the module to be updated of software to stop providing the service (step S15). .

なお、アップデート実行部14は、ソフトウェアの更新の対象となるモジュールにサービスの提供を中止させる前に、ソフトウェアの更新の対象となるモジュール以外に正常動作しているモジュールが存在するか確認してもよい。そして、ソフトウェアの更新の対象となるモジュール以外に正常動作しているモジュールが存在しない場合、アップデート実行部14は、ソフトウェアの更新の対象となるモジュールにサービスの提供を継続させてもよい。この場合、ソフトウェア更新装置1Aはソフトウェアの更新を中止すればよい。また、ソフトウェアの更新の対象となるモジュール以外に正常動作しているモジュールが存在する場合、アップデート実行部14は、ソフトウェアの更新の対象となるモジュールにサービスの提供を中止させればよい。   Note that the update execution unit 14 may check whether there is a module that is operating normally in addition to the module that is the target of the software update before the module that is the target of the software update stops providing the service. Good. If there is no module that is operating normally other than the module that is the target of the software update, the update execution unit 14 may continue to provide the service to the module that is the target of the software update. In this case, the software update device 1A may stop updating the software. In addition, when there is a module that is operating normally in addition to the module that is the target of the software update, the update execution unit 14 may stop providing the service to the module that is the target of the software update.

各モジュールがディスクアレイ装置のコントローラ部である場合、アップデート実行部14は、データの転送において、ソフトウェアの更新の対象となるコントローラ部を経由しないよう、データ転送のパスを変更するのに必要な処理を適宜行えばよい。各パスは、各コントローラ部と各業務ホストとの間の、データ転送のための接続である。   When each module is a controller unit of the disk array device, the update execution unit 14 performs processing necessary to change the data transfer path so that the data transfer does not pass through the controller unit that is the target of software update. May be appropriately performed. Each path is a connection for data transfer between each controller unit and each business host.

次に、アップデート実行部14は、パッチ記憶部12から更新データを読み出し、ソフトウェアの更新の対象となるモジュールのソフトウェアに対して、読み出した更新データを適用してソフトウェアの更新を行う(ステップS16)。   Next, the update execution unit 14 reads the update data from the patch storage unit 12, and updates the software by applying the read update data to the software of the module to be updated (step S16). .

アップデート実行部14は、ソフトウェアの更新を終了すると、ソフトウェアの更新の対象であったモジュールに、サービスの提供を再開させる(ステップS17)。   After completing the software update, the update execution unit 14 causes the module that was the target of the software update to resume providing the service (step S17).

各モジュールがディスクアレイ装置のコントローラ部である場合、アップデート実行部14は、ソフトウェアの更新の対象であったコントローラ部を適宜経由してデータの転送が行われるよう、データ転送のパスを変更するのに必要な処理を適宜行えばよい。   When each module is the controller unit of the disk array device, the update execution unit 14 changes the data transfer path so that the data transfer is appropriately performed via the controller unit that is the target of the software update. The processing necessary for the above may be performed as appropriate.

次に、本実施形態の効果について説明する。   Next, the effect of this embodiment will be described.

本実施形態には、モジュールが提供するサービスに対して、モジュールのソフトウェアの更新が与える影響を低減すると言う効果がある。   The present embodiment has an effect of reducing the influence of updating the software of the module on the service provided by the module.

その理由は、ソフトウェアの更新の所要時間以上継続して、負荷の合計が閾値を下回る時間帯を、負荷記憶部11が記憶する負荷推移データから抽出し、ソフトウェアの更新の実行予定を割り当てるからである。負荷の合計に対する閾値は、ソフトウェアの更新の対象となるモジュール以外のモジュールで全ての負荷を負担しても、各モジュールが提供するサービスに遅延などの影響が及ばないように選択した値である。従って、本実施形態のソフトウェア更新装置1Aは、アップデート実行部14がソフトウェアの更新を行っている間における、各モジュールが提供するサービスに対する遅延などの影響を軽減することができる。   The reason is that a time zone in which the total load continues below the threshold for software update is extracted from the load transition data stored in the load storage unit 11, and an execution schedule for software update is assigned. is there. The threshold for the total load is a value that is selected so that even if all the loads other than the module that is the target of software update bear the load, the service provided by each module is not affected by delay or the like. Therefore, the software update device 1A of the present embodiment can reduce the influence of delays on services provided by each module while the update execution unit 14 is updating software.

以上では、複数のモジュールが冗長な構成で存在するとして説明を行った。しかし、モジュールは、冗長な構成でなくてもよく、複数でなくてもよい。その場合、負荷記憶部11は、モジュール毎の負荷を時刻に対応付けて記憶しておけばよい。また、アップデート見積もり部13は、長さがソフトウェアの更新の所要時間以上であり、ソフトウェアの更新の対象となるモジュールの負荷が所定の閾値を下回る時間帯を抽出する。さらに、アップデート実行部14がソフトウェアの更新を行う間、モジュールはサービスの提供を停止する。しかし、アップデート見積もり部13が、ソフトウェアの更新の対象となるモジュールの負荷が所定の閾値を下回る時間帯を抽出するので、モジュールが提供するサービスに対して、モジュールのソフトウェアの更新が与える影響を低減することができる。   In the above description, it is assumed that a plurality of modules exist in a redundant configuration. However, the module may not have a redundant configuration and may not have a plurality. In that case, the load storage unit 11 may store the load for each module in association with the time. Further, the update estimation unit 13 extracts a time zone whose length is equal to or longer than the time required for software update and in which the load of the module to be updated is lower than a predetermined threshold. Further, the module stops providing the service while the update execution unit 14 updates the software. However, since the update estimation unit 13 extracts a time zone in which the load of the module to be updated is below a predetermined threshold, the influence of the module software update on the service provided by the module is reduced. can do.

次に、本発明の第2の実施形態について、図面を参照して詳細に説明する。   Next, a second embodiment of the present invention will be described in detail with reference to the drawings.

図6は、本実施形態の構成を表すブロック図である。   FIG. 6 is a block diagram showing the configuration of the present embodiment.

図6を参照すると、本実施形態は、ソフトウェア更新装置1と、ディスクアレイ装置2と、業務ホスト3A及び業務ホスト3Bと、管理ホスト4を含む。図6では、ソフトウェア更新装置1とディスクアレイ装置2は、別の装置であるが、ディスクアレイ装置2がソフトウェア更新装置1を含んでいても構わない。   Referring to FIG. 6, the present embodiment includes a software update device 1, a disk array device 2, a business host 3 </ b> A and a business host 3 </ b> B, and a management host 4. In FIG. 6, the software update device 1 and the disk array device 2 are separate devices, but the disk array device 2 may include the software update device 1.

ソフトウェア更新装置1は、図1に示すソフトウェア更新装置1Aの構成に加えて、閾値記憶部15を含む。また、ソフトウェア更新装置1は、負荷監視部16を含んでいてもよい。なお、本実施形態では、ソフトウェアの更新の対象であるモジュールは、ディスクアレイ装置2の各コントローラ部である。   The software update device 1 includes a threshold storage unit 15 in addition to the configuration of the software update device 1A shown in FIG. Further, the software update device 1 may include a load monitoring unit 16. In this embodiment, the module that is the target of software update is each controller unit of the disk array device 2.

アップデート実行部14は、アップデート見積もり手段13が割り当てた実行予定におけるソフトウェアの更新の実行開始時刻になると、ソフトウェアの更新の対象となるコントローラ部を経由しないよう、データ転送のパスを切り替える指示を出力する。この指示の出力先は、後述のディスクアレイ装置2のパス切り替え部25である。アップデート実行手段14は、パスを切り替える指示を出力した後、そのコントローラ部のソフトウェアに対して更新を実行する。   The update execution unit 14 outputs an instruction to switch the data transfer path so that the software update execution start time assigned by the update estimation unit 13 does not pass through the controller unit to be updated. . The output destination of this instruction is a path switching unit 25 of the disk array device 2 described later. The update execution unit 14 outputs an instruction to switch the path and then updates the software of the controller unit.

閾値記憶部15は、負荷の合計値に対する閾値を、時刻に対応させて記憶する。閾値記憶部15が記憶する閾値は、時刻によって異なる値であってよい。例えば管理ホスト4が、時刻に対応付けた閾値を、予め閾値記憶部15に記憶させておけばよい。   The threshold storage unit 15 stores a threshold for the total load value in association with the time. The threshold value stored in the threshold value storage unit 15 may be a different value depending on the time. For example, the management host 4 may store the threshold associated with the time in the threshold storage unit 15 in advance.

負荷監視部16は、例えば所定の時間毎に、各コントローラの負荷を計測する。負荷監視部16は、過去の所定の期間内における同一時刻の負荷の計測値から、例えば平均などの統計値を算出し、時刻毎の負荷の合計の予測値を算出してもよい。負荷監視部16は、算出した予測値を、随時負荷記憶部11に記憶させればよい。負荷監視部16は、過去の所定の期間内における同一時刻の負荷の計測値から、ディスクアレイ装置2からの応答に遅延を発生させずに、コントローラ部を利用不可にできるか否かを判定するための閾値を算出してもよい。この場合の算出方法は、既存の任意の方法でよい。負荷監視部16は、算出した閾値を、随時閾値算出部12に記憶させればよい。   The load monitoring unit 16 measures the load of each controller, for example, every predetermined time. The load monitoring unit 16 may calculate, for example, a statistical value such as an average from a load measurement value at the same time in a predetermined period in the past, and calculate a predicted value of the total load for each time. The load monitoring unit 16 may store the calculated predicted value in the load storage unit 11 as needed. The load monitoring unit 16 determines whether or not the controller unit can be disabled without causing a delay in the response from the disk array device 2 based on the measured value of the load at the same time in the past predetermined period. A threshold value may be calculated. The calculation method in this case may be any existing method. The load monitoring unit 16 may store the calculated threshold in the threshold calculation unit 12 as needed.

本実施形態のソフトウェア更新装置1の他の構成要素は、第1の実施形態の同一の記号を付した構成要素と同じであるので、説明を省略する。   The other components of the software update device 1 of the present embodiment are the same as the components having the same symbols in the first embodiment, and a description thereof will be omitted.

ディスクアレイ装置2は、コントローラ部21及びコントローラ部22と、ディスクアレイ23と、パス状態登録部24と、パス切り替え部25を含む。   The disk array device 2 includes a controller unit 21 and a controller unit 22, a disk array 23, a path state registration unit 24, and a path switching unit 25.

ディスクアレイ装置2のコントローラ部21及びコントローラ部22は、それぞれ各業務ホストに接続されている。各コントローラは、各業務ホストと通信可能である。各コントローラと、各業務ホストとの間は、例えばSAN(Storage Area Network)のネットワークで接続されている。   The controller unit 21 and the controller unit 22 of the disk array device 2 are connected to respective business hosts. Each controller can communicate with each business host. Each controller and each business host are connected via, for example, a SAN (Storage Area Network) network.

コントローラ部21及びコントローラ部22は、ディスクアレイ23に対するデータの読み書きや転送を制御する。コントローラ部21及びコントローラ部22は冗長構成になっている。また、コントローラ部は3個以上存在していてもよい。各コントローラ部はソフトウェアにより制御される。   The controller unit 21 and the controller unit 22 control reading / writing and transfer of data with respect to the disk array 23. The controller unit 21 and the controller unit 22 have a redundant configuration. Further, there may be three or more controller units. Each controller unit is controlled by software.

図7は、コントローラ部21を制御するソフトウェアの構成の例を表す図である。他のコントローラ部の構成も、図7の構成と同じである。なお、コントローラ部の構成は図7の構成に限らない。   FIG. 7 is a diagram illustrating an example of the configuration of software that controls the controller unit 21. The configuration of the other controller units is the same as that of FIG. The configuration of the controller unit is not limited to the configuration of FIG.

図7を参照すると、コントローラ部21は、実行環境211で動作するソフトウェアにより制御される。図7の例では、実行環境211のソフトウェアには、管理SW(Software)と、RAID制御(RAID制御ドライバ)と、OS(Operationg System)の3種類の種別が存在する。バックアップ環境212は、実行環境211のコピーである。   Referring to FIG. 7, the controller unit 21 is controlled by software operating in the execution environment 211. In the example of FIG. 7, there are three types of software in the execution environment 211: management SW (Software), RAID control (RAID control driver), and OS (Operation System). The backup environment 212 is a copy of the execution environment 211.

ディスクアレイ23は、各業務ホストが各コントローラ部を介して読み書きするデータを記憶する。   The disk array 23 stores data that each business host reads and writes via each controller unit.

パス状態登録部24は、各コントローラと各業務ホストとの間のパスが、有効であるか否かを表すパス状態を記憶する。また、パス状態登録部24は、後述の各業務ホストのパス管理部31からパス状態を受信し、記憶しているパス状態を変更する。   The path status registration unit 24 stores a path status indicating whether or not a path between each controller and each business host is valid. Further, the path status registration unit 24 receives the path status from the path management unit 31 of each business host, which will be described later, and changes the stored path status.

パス切り替え部25は、アップデート実行部14からの指示に基づき、各コントローラ部を各業務ホストから利用できない状態に変更する。また、パス切り替え部25は、アップデート実行部14からの指示に基づき、各コントローラ部を各業務ホストから利用できる状態に変更する。   Based on an instruction from the update execution unit 14, the path switching unit 25 changes each controller unit to a state where it cannot be used from each business host. Further, the path switching unit 25 changes each controller unit to a state where it can be used from each business host based on an instruction from the update execution unit 14.

図6には、業務ホスト3A及び業務ホスト3Bの2台の業務ホストが記載されているが、業務ホストは2台でなくてもよい。各業務ホストは、パス管理部31を含む。各業務ホストは各コントローラに同時に接続され、各コントローラ部を介して、ディスクアレイ23が記憶するデータの読み書きを行う。   FIG. 6 shows two business hosts, the business host 3A and the business host 3B, but the number of business hosts is not limited to two. Each business host includes a path management unit 31. Each business host is simultaneously connected to each controller, and reads and writes data stored in the disk array 23 via each controller unit.

パス管理部31は、各コントローラ部との間のパスが利用可能であるか否かを監視する。パス管理部31は、例えば、各コントローラ部に対するI/Oエラーの発生の有無を定期的に確認することで、監視を行えばよい。パス管理部31は、利用不可であるコントローラ部が存在すれば、業務ホストとそのコントローラ部との間のパスの利用を禁止する。また、パス管理部31は、利用不可であったコントローラ部が利用可能になれば、業務ホストとそのコントローラ部との間のパスの利用を許可する。   The path management unit 31 monitors whether or not a path between each controller unit is available. For example, the path management unit 31 may perform monitoring by periodically checking whether or not an I / O error has occurred in each controller unit. If there is a controller unit that cannot be used, the path management unit 31 prohibits the use of the path between the business host and the controller unit. Further, the path management unit 31 permits the use of the path between the business host and the controller unit when the unusable controller unit becomes available.

例えば、図6のようにディスクアレイ装置2と業務ホスト3Aが接続されており、各コントローラが正常動作していれば、コントローラ部21と業務ホスト3Aの間、及び、コントローラ部22と業務ホスト3Aの間の2つのパスが利用できる。この状態から、パス切り替え部25が、例えばコントローラ部21を利用不可にした場合、パス管理部31はコントローラ部21に対するI/Oエラーの発生を検出し、コントローラ部21との間のパスを利用不可にする。このようにして、2本のパスが利用可能な状態から1本のパスだけが可能な状態にパスの状態が切り替わる、いわゆる片寄せが行われる。   For example, as shown in FIG. 6, when the disk array device 2 and the business host 3A are connected and each controller is operating normally, the controller unit 22 and the business host 3A, and the controller unit 22 and the business host 3A are connected. Two paths between are available. From this state, for example, when the path switching unit 25 disables the controller unit 21, the path management unit 31 detects the occurrence of an I / O error for the controller unit 21 and uses the path to the controller unit 21. Disable. In this way, so-called misalignment is performed in which the path state is switched from a state where two paths are available to a state where only one path is possible.

また、各装置が図6のような構成であり、パス切り替え部25が、コントローラ部21を、利用不可な状態から利用可能な状態に切り替えた場合、パス管理部31はコントローラ部21に対するI/Oエラーが発生しないことを検出する。I/Oエラーが発生しないことを検出したパス管理部31は、コントローラ部21との間のパスを利用可能にする。   Further, when each device has a configuration as shown in FIG. 6 and the path switching unit 25 switches the controller unit 21 from an unusable state to an available state, the path management unit 31 makes an I / O to the controller unit 21. Detect that no O error occurs. The path management unit 31 that has detected that no I / O error occurs makes the path to the controller unit 21 available.

パス管理部31は、業務ホストとストレージ装置2との間のいずれかのパスを介して、監視の結果得られた各パスの状態を、ストレージ装置2のパス状態登録部24に記憶させる。   The path management unit 31 causes the path status registration unit 24 of the storage apparatus 2 to store the status of each path obtained as a result of monitoring via any path between the business host and the storage apparatus 2.

なお、以上で説明したパスの切り替えは単なる例である。ディスクアレイ装置2及び各業務ホストは、既存の任意の方法でパスの切り替えを行うことができる。   Note that the path switching described above is merely an example. The disk array device 2 and each business host can perform path switching by an existing arbitrary method.

管理ホスト4は、アップデート指示部41を含む。   The management host 4 includes an update instruction unit 41.

アップデート指示部41は、パッチ記憶部12に更新データ及び所要時間を記憶させる。アップデート指示部41は、アップデート見積もり部13に対して、ソフトウェアの更新の実行予定を割り当てる指示を送信してもよい。   The update instruction unit 41 stores the update data and the required time in the patch storage unit 12. The update instruction unit 41 may transmit an instruction to assign an execution schedule for software update to the update estimation unit 13.

次に、本実施形態のソフトウェア更新装置1の動作について、図面を参照して詳細に説明する。   Next, the operation of the software update device 1 of the present embodiment will be described in detail with reference to the drawings.

図8は、本実施形態のソフトウェア更新装置1の、更新の実行予定を割り当てる動作を表すフローチャートである。ソフトウェア更新装置1は、例えば、アップデート指示部41から適用すべき更新データを特定する情報を受け取り、以下の動作を開始する。   FIG. 8 is a flowchart showing the operation of assigning the execution schedule of the update in the software update device 1 of this embodiment. For example, the software update device 1 receives information specifying update data to be applied from the update instruction unit 41 and starts the following operation.

図8を参照すると、まず、アップデート見積もり部13が、各コントローラ部のソフトウェアに適用する更新データに対応付けられた更新の所要時間を、パッチ記憶部12から読み出す(ステップS21)。   Referring to FIG. 8, first, the update estimation unit 13 reads the required update time associated with the update data applied to the software of each controller unit from the patch storage unit 12 (step S21).

パッチ記憶部12は、所要時間を、対応する更新データに関する情報に関連付けて、例えばテーブルの形で記憶することもできる。   The patch storage unit 12 can also store the required time in association with information about the corresponding update data, for example, in the form of a table.

図9は、パッチ記憶部12が記憶する、所要時間と、対応する更新データに関する情報を含むテーブルの例である。図9のテーブルは、更新の対象となるソフトウェアの種別と、更新の対象となるモジュール名と、更新後の再起動の要否を含む再起動種別と、所要時間と、更新時におけるパスの切替要否を含む。   FIG. 9 is an example of a table that includes information related to required time and corresponding update data stored in the patch storage unit 12. The table of FIG. 9 shows the type of software to be updated, the module name to be updated, the restart type including the necessity of restart after update, the required time, and the path switching at the time of update. Includes necessity.

種別は、パッチを適用する対象となる制御ソフトの種別を表す。種別には、例えば、前述の、管理ソフトウェア、RAID制御ドライバ、OSなどがある。ソフトウェアモジュール名は、ソフトウェを構成するソフトウェアモジュールを識別する名前である。再起動種別は、更新の実行後に再起動が不要であるか、再起動が必要な場合は再起動後に高速再起動が可能であるか否かを表す。なお、高速再起動は、例えばPOST(Power On Self Test)を実行しない再起動である。再起動種別が「無し」の場合、更新の実行後の再起動は不要である。再起動種別が「高速」の場合、パッチ適用後に再起動が必要だが高速再起動が可能である。再起動種別が「通常」の場合、パッチ適用後に通常の再起動が必要である。   The type represents the type of control software to which the patch is applied. The types include, for example, the management software, the RAID control driver, and the OS described above. The software module name is a name for identifying a software module constituting the software. The restart type indicates whether restart is not necessary after execution of update, or if restart is necessary, whether fast restart is possible after restart. The fast restart is a restart that does not execute, for example, POST (Power On Self Test). When the restart type is “none”, restart after execution of update is not necessary. When the restart type is "Fast", restart is required after applying the patch, but fast restart is possible. When the restart type is “normal”, a normal restart is required after applying the patch.

所要時間は、更新を開始してからコントローラ部が再び動作可能になるまでに必要な時間である。所要時間は、適宜見積もった必要な時間の概算で構わない。図9の例では、再起動種別が「無し」の場合、所要時間は0秒である。再起動種別が「高速」の場合、所要時間は10秒である。再起動種別が「通常」の場合、所要時間は600秒〜700秒である。   The required time is the time required from the start of the update until the controller unit becomes operational again. The required time may be an approximate estimate of the required time estimated appropriately. In the example of FIG. 9, when the restart type is “none”, the required time is 0 seconds. When the restart type is “high speed”, the required time is 10 seconds. When the restart type is “normal”, the required time is 600 seconds to 700 seconds.

切替要否は、更新の実行時に、パス切り替えが必要になるかどうかを表す。切り替え要否は、例えば、所要時間が所定の閾値以上であるか閾値未満であるかにより、予め決めておけばよい。各業務ホストから利用可能であったコントローラ部が、継続して利用できなくなった場合、利用できなくなってから各業務ホストで行われている処理に影響を及ぼすと考えられる時間を、予めこの閾値に設定しておけばよい。図7の切替要否は、閾値が10以上600未満の場合の例である。   The necessity of switching indicates whether or not path switching is required when executing update. The necessity of switching may be determined in advance depending on, for example, whether the required time is greater than or equal to a predetermined threshold or less. If the controller part that can be used from each business host becomes unusable continuously, this threshold is set in advance to the time that is considered to affect the processing that is being performed on each business host after it becomes unavailable. Just set it up. The necessity of switching in FIG. 7 is an example when the threshold is 10 or more and less than 600.

なお、パッチ記憶部12は、各更新データに対応した切替要否を記憶しておく必要はない。パッチ記憶部12が切替要否を記憶していない場合、後述のステップS22において、アップデート見積もり部13が、所要時間と閾値を比較することで、パスの切替要否を判定すればよい。また、後述のステップS32において、パッチ実行部14は、アップデート見積もり部13によるパスの切替要否を判定結果をそのまま利用すればよい。あるいは、パッチ実行部14が、所要時間と閾値を比較することで、パスの切替要否を判定してもよい。   Note that the patch storage unit 12 need not store the necessity of switching corresponding to each update data. When the patch storage unit 12 does not store the necessity of switching, the update estimation unit 13 may determine whether or not the path needs to be switched by comparing the required time with a threshold value in step S22 described later. In step S32 described later, the patch execution unit 14 may use the determination result as it is as to whether or not the update estimation unit 13 needs to switch the path. Alternatively, the patch execution unit 14 may determine whether it is necessary to switch paths by comparing the required time with a threshold value.

パッチ記憶部12は、個別の更新データの所要時間やその更新データに関する情報だけでなく、複数の更新データをまとめたパッチセットの所要時間などの情報を、パッチセットに関連付けて記憶していてもよい。   The patch storage unit 12 stores not only the time required for individual update data and information related to the update data, but also information such as the time required for a patch set in which a plurality of update data is collected in association with the patch set. Good.

アップデート見積もり部13は、次に、更新データを適用する際のパスの切替要否を判定する(ステップS22)。   Next, the update estimation unit 13 determines whether or not it is necessary to switch paths when applying update data (step S22).

単体の更新データを適用する場合、アップデート見積もり部13は、パッチ記憶部12から読み出した、適用する更新データの切替要否のデータに基づき、パスの切替要否を判定すればよい。ソフトウェアに対してパッチセットを適用する場合、パッチ記憶部12がそのパッチセットのパス切替要否のデータを記憶していれば、アップデート見積もり部13は、そのデータに基づきパスの切替要否を判定すればよい。パッチ記憶部12がそのパッチセットのパス切替要否のデータを記憶していない場合、アップデート見積もり部13は、そのパッチセットが、パス切替が必要な更新データを含んでいれば、パス切替が必要と判定すればよい。   When applying the single update data, the update estimation unit 13 may determine whether or not to switch the path based on the data indicating whether or not to switch the update data to be applied, read from the patch storage unit 12. When a patch set is applied to software, if the patch storage unit 12 stores data on whether or not the patch set needs to be switched, the update estimation unit 13 determines whether or not the path needs to be switched based on the data. do it. When the patch storage unit 12 does not store the data indicating whether the patch set needs to be switched or not, the update estimation unit 13 needs to switch the path if the patch set includes update data that needs to be switched. Can be determined.

パス切替が不要である場合(ステップS23、N)、アップデート実行部14はすぐに更新を実行すればよい(ステップS27)。更新の実行については後述する。   When the path switching is not necessary (step S23, N), the update execution unit 14 may execute the update immediately (step S27). The execution of the update will be described later.

パス切替が必要である場合(ステップS23、Y)、アップデート見積もり部13は、更新の所要時間以上継続して、負荷の合計値が閾値を下回る時間帯を、負荷記憶部11が記憶する負荷推移データから抽出する(ステップS24)。   When path switching is required (step S23, Y), the update estimation unit 13 continues the load required time for the update, and the load transition unit in which the load storage unit 11 stores a time zone in which the total load value is below the threshold value. Extract from the data (step S24).

アップデート見積もり部13は、更新の所要時間を、パッチ記憶部12から読み出せばよい。   The update estimation unit 13 may read the update required time from the patch storage unit 12.

図10は、負荷記憶部11が記憶する負荷推移データの例を表す図である。負荷推移データは、少なくとも負荷の合計値の推移を含んでいればよい。負荷記憶部11が記憶する負荷の値は、例えばIOPSである。   FIG. 10 is a diagram illustrating an example of load transition data stored in the load storage unit 11. The load transition data may include at least the transition of the total load value. The load value stored in the load storage unit 11 is, for example, IOPS.

また、アップデート見積もり部13は、負荷の合計値に対する閾値を、閾値記憶部15から読み出せばよい。前述のように、閾値記憶部15が記憶する閾値は、時刻によって変動してもよい。この場合、例えばディスクアレイ装置2の管理者が、時刻に応じて適宜定めた閾値を、予め閾値記憶部15に記憶させておけばよい。閾値記憶部15が記憶する閾値は、過去の同時刻において、例えば負荷監視部16が観測した、負荷の値のばらつきの大きさに応じた値であってもよい。閾値記憶部15が記憶する閾値は、例えば、計算上提供するサービスに遅延などの影響が及ばないような負荷の合計値から、各時刻における負荷の観測値のばらつきの大きさに応じた値を引いた値であってもよい。この場合、負荷の観測値のばらつきが大きい時刻の閾値は小さく、負荷の観測値のばらつきが小さい時刻の閾値は大きくなる。   Further, the update estimation unit 13 may read the threshold value for the total load value from the threshold storage unit 15. As described above, the threshold value stored in the threshold value storage unit 15 may vary with time. In this case, for example, an administrator of the disk array device 2 may store a threshold value appropriately determined according to time in the threshold value storage unit 15 in advance. The threshold value stored in the threshold value storage unit 15 may be a value corresponding to the magnitude of the variation in the load value observed, for example, by the load monitoring unit 16 at the same time in the past. The threshold value stored in the threshold value storage unit 15 is, for example, a value corresponding to the magnitude of the variation in the observed load value at each time from the total load value that does not affect the service provided in the calculation. It may be a subtracted value. In this case, the threshold value at the time when the variation in the observed value of the load is large is small, and the threshold value at the time of the small variation in the observed value of the load is large.

図11は、アップデート見積もり部13が抽出した時間帯を表す図である。アップデート見積もり部13は、図11のようなテーブルを生成して、時間帯の抽出を行うことができる。図11の「負荷の閾値」は、閾値記憶部15が記憶する閾値である。「負荷の予測値」は、負荷記憶部11が記憶する負荷の合計値である。アップデート見積もり部13は、「負荷の閾値」より「負荷の予測値」が小さく、「差分」が正である時間帯を抽出する。図11でアップデート見積もり部13が抽出した時間帯は、実行可否が「OK」である時間帯である。   FIG. 11 is a diagram illustrating the time period extracted by the update estimation unit 13. The update estimation unit 13 can generate a table as shown in FIG. 11 and extract a time zone. “Load threshold” in FIG. 11 is a threshold stored in the threshold storage unit 15. The “predicted load value” is a total load value stored in the load storage unit 11. The update estimation unit 13 extracts a time period in which the “predicted load value” is smaller than the “load threshold” and the “difference” is positive. The time zone extracted by the update estimation unit 13 in FIG. 11 is a time zone in which the execution availability is “OK”.

条件に適合する時間帯が存在しない場合(ステップS25、N)、ソフトウェア更新装置1は、更新の実行や更新の実行予定の割り当てを行わずに、処理を終了する。この場合は、例えばディスクアレイ装置2の管理者が手動で更新を実行するなどすればよい。   When there is no time zone that meets the conditions (N in step S25), the software update device 1 ends the process without performing update or assigning an update execution schedule. In this case, for example, the administrator of the disk array device 2 may perform the update manually.

条件に適合する時間帯が存在する場合(ステップS25、Y)、その時間帯が現在であり即時更新を実行することが可能であれば(ステップS26、Y)、アップデート実行部14は更新を実行する(ステップS27)。   If there is a time zone that meets the conditions (step S25, Y), the update execution unit 14 performs the update if the current time zone is present and an immediate update can be performed (step S26, Y). (Step S27).

条件に適合する時間帯が現在ではなく、即時更新を実行できない場合(ステップS26、N)、アップデート見積もり部13は、更新の実行予定を割り当てる(ステップS28)。この場合、更新の実行予定時刻に、アップデート実行部14が、以下で述べるように更新を実行すればよい。   When the time zone suitable for the condition is not present and the immediate update cannot be executed (step S26, N), the update estimation unit 13 assigns an update execution schedule (step S28). In this case, the update execution unit 14 may execute the update as described below at the scheduled update execution time.

次に、更新実行時の本実施形態の動作について説明する。   Next, the operation of this embodiment at the time of update execution will be described.

図12は、更新実行時の本実施形態の動作を表すフローチャートである。なお、ソフトウェア更新装置1は、負荷監視部16が測定した更新の実行予定時刻における負荷の合計値が、閾値記憶部15が記憶する同時刻における閾値より大きい場合、更新の実行を中止してもよい。その場合、ソフトウェア更新装置1は、前述の更新の実行予定の割り当てを再び行えばよい。   FIG. 12 is a flowchart showing the operation of this embodiment at the time of execution of update. Note that the software update device 1 may stop executing the update if the total load value at the scheduled update execution time measured by the load monitoring unit 16 is greater than the threshold at the same time stored in the threshold storage unit 15. Good. In that case, the software update apparatus 1 may perform the above-described update execution schedule assignment again.

図12を参照すると、アップデート実行部14が、更新データ、及び、所要時間等の、その更新データに対応する情報を含むパッチ情報を、パッチ記憶部12から読み出す(ステップS31)。   Referring to FIG. 12, the update execution unit 14 reads patch information including information corresponding to the update data, such as update data and required time, from the patch storage unit 12 (step S31).

アップデート実行部14は、次に、例えば読み出したパッチ情報から、更新の実行時におけるパスの切替の要否を判別する(ステップS32)。アップデート実行部14は、更新を実行する際のパスの切替の要否を、アップデート見積もり部13から受け取ってもよい。   Next, the update execution unit 14 determines, for example, from the read patch information whether or not it is necessary to switch the path when the update is executed (step S32). The update execution unit 14 may receive from the update estimation unit 13 whether or not it is necessary to switch paths when executing the update.

パスの切替が必要ない場合(ステップS33、N)、アップデート実行部14は、更新を実行する(ステップS38)。   When path switching is not necessary (step S33, N), the update execution unit 14 performs update (step S38).

パスの切替が必要である場合(ステップS33、Y)、アップデート実行部14は、ディスクアレイ装置2と全ての業務ホストとの間のパスが正常であるか確認する(ステップS34)。ステップS34において、アップデート実行部14は、ソフトウェアの更新の対象となるコントローラ部を停止させた場合、全ての業務ホストとの間に正常なパスが存在するか否かを確認すればよい。アップデート実行部14は、各コントローラ部と各業務ホストとの間の、全てのパスが正常であるか確認してもよい。   When it is necessary to switch the path (step S33, Y), the update execution unit 14 checks whether the path between the disk array device 2 and all the business hosts is normal (step S34). In step S <b> 34, the update execution unit 14 may confirm whether or not there is a normal path with all the business hosts when the controller unit to be updated with software is stopped. The update execution unit 14 may confirm whether all the paths between each controller unit and each business host are normal.

アップデート実行部14は、ステップS34の確認を、例えば、ストレージ装置2のパス状態登録部24から各パスの状態を受け取ることで行えばよい。   The update execution unit 14 may perform the confirmation in step S34 by receiving the status of each path from the path status registration unit 24 of the storage device 2, for example.

パスが正常でない業務ホストが存在する場合(ステップS34、N)、ソフトウェア更新装置1は処理を終了する。   If there is a business host whose path is not normal (step S34, N), the software updating apparatus 1 ends the process.

パスが正常でない業務ホストが存在しない場合(ステップS34、Y)、アップデート実行部14は、パス切り替え部25に指示を送信してパスの切り替えを行う(ステップS35)。アップデート実行部14からパスの切り替えの指示を受信したパス切り替え部25は、ソフトウェアの更新の対象であるコントローラ部と各業務ホストとの間の全てのパスを、利用不可にすればよい。   When there is no business host whose path is not normal (step S34, Y), the update execution unit 14 transmits an instruction to the path switching unit 25 to switch the path (step S35). The path switching unit 25 that has received the path switching instruction from the update execution unit 14 may make all the paths between the controller unit that is the target of the software update and each business host unavailable.

アップデート実行部14は、パスの切替を行った後、更新を実行する(ステップS36)。   The update execution unit 14 performs the update after switching the path (step S36).

アップデート実行部14は、更新の実行後、パス切り替え部25に指示を送信して、パスの復旧を行う(ステップS37)。アップデート実行部14からパスの復旧の指示を受信したパス切り替え部25は、ソフトウェアの更新を行ったコントローラ部と各業務ホストとの間の全てのパスを、再び利用可能にすればよい。   After executing the update, the update execution unit 14 transmits an instruction to the path switching unit 25 to recover the path (step S37). The path switching unit 25 that has received the path restoration instruction from the update execution unit 14 may make all paths between the controller unit that updated the software and each business host available again.

以上で説明した本実施形態には、第1の実施形態の効果に加えて、同一時刻の負荷の大きさにばらつきがある場合でも、コントローラ部が提供するサービスに対して、コントローラ部のソフトウェアの更新が与える影響を低減すると言う効果がある。   In the present embodiment described above, in addition to the effects of the first embodiment, the software of the controller unit can be used for the service provided by the controller unit even when the load at the same time varies. This has the effect of reducing the impact of updates.

その理由は、更新の実行予定を割り当てる際、アップデート見積もり部13が、時刻に応じて値が変動する閾値と、負荷の合計値を比較するからである。例えば、負荷の大きさのばらつきが大きい時刻の閾値を小さく、負荷の大きさのばらつきが小さい時刻の閾値を大きくしておくことで、負荷の予測値は小さいが大きな負荷の変動が起こりうる時間帯の更新を実行することを避けることができる。このことにより、例えば、更新の実行中に急に負荷が増大することで発生する遅延のような、コントローラ部のソフトウェアの更新による影響の発生を減少させることができる。   The reason is that, when assigning an update execution schedule, the update estimation unit 13 compares the threshold value whose value fluctuates with time and the total load value. For example, by reducing the threshold value at the time when the load variation is large and increasing the threshold value at the time when the load variation is small, the time when the predicted load value is small but a large load fluctuation can occur You can avoid performing band updates. Thus, for example, it is possible to reduce the occurrence of an influence due to the software update of the controller unit, such as a delay caused by a sudden increase in load during the execution of the update.

以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。   The present invention has been described above with reference to the embodiments, but the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

1、1A ソフトウェア更新装置
2、2A ディスクアレイ装置
3A、3B 業務ホスト
4 管理ホスト
11 負荷記憶部
12 パッチ記憶部
13 アップデート見積もり部
14 アップデート実行部
15 閾値記憶部
16 負荷監視部
21、22 コントローラ部
21A、22A モジュール
23 ディスクアレイ
24 パス状態登録部
25 パス切り替え部
31 パス管理部
41 アップデート指示部
211 実行環境
212 バックアップ環境
1, 1A Software update device 2, 2A Disk array device 3A, 3B Business host 4 Management host 11 Load storage unit 12 Patch storage unit 13 Update estimation unit 14 Update execution unit 15 Threshold storage unit 16 Load monitoring unit 21, 22 Controller unit 21A 22A module 23 disk array 24 path state registration unit 25 path switching unit 31 path management unit 41 update instruction unit 211 execution environment 212 backup environment

Claims (7)

冗長構成をとる複数のモジュールの各々の負荷の合計の予測値を時刻に対応付けた負荷推移データを記憶する負荷記憶手段と、
前記モジュールの各々が備える、当該モジュールを制御するソフトウェアに対する更新データと、前記ソフトウェアに前記更新データを適用するための所要時間を、対応付けて記憶するパッチ記憶手段と、
前記パッチ記憶手段から読み出した前記所要時間以上継続して、負荷の前記合計の予測値が閾値を下回る時間帯を、前記負荷推移データから抽出し、少なくとも1個の正常動作中のモジュールを除く前記複数のモジュールから、モジュールを選択し、抽出した前記時間帯に、選択した前記モジュールに対して前記ソフトウェアの更新の実行予定を割り当てるアップデート見積もり手段と、
前記実行予定に基づき、前記ソフトウェアの更新の対象となる前記モジュールにサービスの提供を停止させ、前記ソフトウェアの更新を実行するアップデート実行手段と
を含むソフトウェア更新装置。
Load storage means for storing load transition data in which a predicted value of the total load of each of a plurality of modules having a redundant configuration is associated with time;
Patch storage means for storing, in association with each other, update data for the software that controls the module, and a time required for applying the update data to the software, provided in each of the modules ;
The time period in which the total predicted value of the load is lower than a threshold value is continuously extracted from the load transition data continuously for the required time read from the patch storage unit, and at least one module in normal operation is excluded. a plurality of modules, select the module, the extracted the time zone, and updates estimates means for assigning the execution schedule of updates of the software to the selected modules,
A software update device comprising: an update execution unit configured to stop the provision of a service to the module to be updated of the software based on the execution schedule and to update the software.
時刻に応じた前記閾値を前記時刻に対応付けて記憶する負荷閾値記憶手段を含み、
前記アップデート見積もり手段は、同一の時刻に対応する、負荷の前記合計の予測値と、前記負荷閾値記憶手段から読み出した前記閾値を比較し、負荷の前記合計の予測値が前記閾値を下回る時間帯を抽出する
請求項1に記載のソフトウェア更新装置。
Load threshold storage means for storing the threshold corresponding to the time in association with the time,
The update estimation unit compares the total predicted value of the load corresponding to the same time with the threshold value read from the load threshold storage unit, and the time period when the total predicted value of the load is lower than the threshold value Extract
The software updating apparatus according to claim 1 .
前記モジュールと、請求項1又は2に記載のソフトウェア更新装置を含む情報処理システム。 An information processing system including the module and the software updating apparatus according to claim 1 . 冗長構成をとる複数のモジュールの各々の負荷の合計の予測値を時刻に対応付けた負荷推移データを負荷記憶手段に記憶し、
前記モジュールの各々が備える、当該モジュールを制御するソフトウェアに対する更新データと、前記ソフトウェアに前記更新データを適用するための所要時間を、対応付けてパッチ記憶手段に記憶し、
前記パッチ記憶手段から読み出した前記所要時間以上継続して、負荷の前記合計の予測値が閾値を下回る時間帯を、前記負荷推移データから抽出し、少なくとも1個の正常動作中のモジュールを除く前記複数のモジュールから、モジュールを選択し、抽出した前記時間帯に、選択した前記モジュールに対して前記ソフトウェアの更新の実行予定を割り当て、
前記実行予定に基づき、前記ソフトウェアの更新の対象となる前記モジュールにサービスの提供を停止させ、前記ソフトウェアの更新を実行する
ソフトウェア更新方法。
Storing load transition data in which the predicted value of the total load of each of a plurality of modules having a redundant configuration is associated with time in the load storage means;
Each of the modules, the update data for the software that controls the module and the time required to apply the update data to the software are stored in the patch storage unit in association with each other,
The time period in which the total predicted value of the load is lower than a threshold value is continuously extracted from the load transition data continuously for the required time read from the patch storage unit, and at least one module in normal operation is excluded. a plurality of modules, select the module, the extracted said time period, allocates a scheduled execution of the update of the software to the selected modules,
A software update method for executing an update of the software by stopping the provision of a service to the module to be updated of the software based on the execution schedule.
時刻に応じた前記閾値を前記時刻に対応付けて負荷閾値記憶手段に記憶し、
同一の時刻に対応する、負荷の前記合計の予測値と、前記負荷閾値記憶手段から読み出した前記閾値を比較し、負荷の前記合計の予測値が前記閾値を下回る時間帯を抽出する
請求項4に記載のソフトウェア更新方法。
Storing the threshold according to time in the load threshold storage means in association with the time;
The total predicted value of the load corresponding to the same time is compared with the threshold value read from the load threshold storage unit, and a time zone in which the total predicted value of the load is lower than the threshold value is extracted.
The software update method according to claim 4 .
コンピュータを、
冗長構成をとる複数のモジュールの各々の負荷の合計の予測値を時刻に対応付けた負荷推移データを記憶する負荷記憶手段と、
前記モジュールの各々が備える、当該モジュールを制御するソフトウェアに対する更新データと、前記ソフトウェアに前記更新データを適用するための所要時間を、対応付けて記憶するパッチ記憶手段と、
前記パッチ記憶手段から読み出した前記所要時間以上継続して、負荷の前記合計の予測値が閾値を下回る時間帯を、前記負荷推移データから抽出し、少なくとも1個の正常動作中のモジュールを除く前記複数のモジュールから、モジュールを選択し、抽出した前記時間帯に、選択した前記モジュールに対して前記ソフトウェアの更新の実行予定を割り当てるアップデート見積もり手段と、
前記実行予定に基づき、前記ソフトウェアの更新の対象となる前記モジュールにサービスの提供を停止させ、前記ソフトウェアの更新を実行するアップデート実行手段と
して動作させるソフトウェア更新プログラム。
Computer
Load storage means for storing load transition data in which a predicted value of the total load of each of a plurality of modules having a redundant configuration is associated with time;
Patch storage means for storing, in association with each other, update data for the software that controls the module, and a time required for applying the update data to the software, provided in each of the modules ;
The time period in which the total predicted value of the load is lower than a threshold value is continuously extracted from the load transition data continuously for the required time read from the patch storage unit, and at least one module in normal operation is excluded. a plurality of modules, select the module, the extracted the time zone, and updates estimates means for assigning the execution schedule of updates of the software to the selected modules,
A software update program that operates as an update execution unit that stops the provision of a service to the module that is a target of the software update and executes the software update based on the execution schedule.
コンピュータを、
時刻に応じた前記閾値を前記時刻に対応付けて記憶する負荷閾値記憶手段と、
同一の時刻に対応する、負荷の前記合計の予測値と、前記負荷閾値記憶手段から読み出した前記閾値を比較し、負荷の前記合計の予測値が前記閾値を下回る時間帯を抽出する前記アップデート見積もり手段と
して動作させる請求項6に記載のソフトウェア更新プログラム。
Computer
Load threshold storage means for storing the threshold according to time in association with the time;
The update estimate that compares the total predicted value of the load corresponding to the same time with the threshold value read from the load threshold storage unit, and extracts a time zone in which the total predicted value of the load is less than the threshold value The software update program according to claim 6, which is operated as a means.
JP2011059558A 2011-03-17 2011-03-17 Software update device, software update method, and software update program Expired - Fee Related JP5659894B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011059558A JP5659894B2 (en) 2011-03-17 2011-03-17 Software update device, software update method, and software update program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011059558A JP5659894B2 (en) 2011-03-17 2011-03-17 Software update device, software update method, and software update program

Publications (2)

Publication Number Publication Date
JP2012194892A JP2012194892A (en) 2012-10-11
JP5659894B2 true JP5659894B2 (en) 2015-01-28

Family

ID=47086695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011059558A Expired - Fee Related JP5659894B2 (en) 2011-03-17 2011-03-17 Software update device, software update method, and software update program

Country Status (1)

Country Link
JP (1) JP5659894B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101595800B1 (en) * 2013-11-13 2016-02-19 주식회사 엘지유플러스 An application management server and a terminal communicating with the server, and control method thereof
JP5991333B2 (en) * 2014-02-18 2016-09-14 コニカミノルタ株式会社 Information processing apparatus, setting value updating method and setting value updating program in the apparatus
JP6484965B2 (en) 2014-09-03 2019-03-20 富士通株式会社 Storage device, firmware update method, and firmware update program
JP6398524B2 (en) * 2014-09-24 2018-10-03 富士ゼロックス株式会社 Image forming apparatus and system
JP2017162101A (en) * 2016-03-08 2017-09-14 株式会社東芝 Apparatus for determining optimum patch application time
JP6664343B2 (en) * 2017-03-09 2020-03-13 三菱電機ビルテクノサービス株式会社 Software update management system and program
JP6696927B2 (en) * 2017-03-21 2020-05-20 西日本電信電話株式会社 Cluster system, update management device for cluster system, update distribution device, update management method, update distribution method and program
JP6885264B2 (en) * 2017-08-25 2021-06-09 富士通株式会社 Information processing equipment, information processing systems, and programs
JP6988537B2 (en) * 2018-02-09 2022-01-05 富士通株式会社 Information processing equipment, distributed system and change control program

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206390A (en) * 2002-12-25 2004-07-22 Mitsubishi Electric Corp Software management device and software management server
EP1669869B1 (en) * 2003-09-30 2014-03-12 Lenovo (Singapore) Pte. Ltd. Management device for managing information processing device, managing system, program, and recording medium
JP2006092469A (en) * 2004-09-27 2006-04-06 Nec Corp Mode, method and system for program update, and update program
JP4607533B2 (en) * 2004-10-06 2011-01-05 日本碍子株式会社 Operation method of power storage system
JP2009176033A (en) * 2008-01-24 2009-08-06 Hitachi Ltd Storage system and power consumption reduction method for the same
JP2009271603A (en) * 2008-04-30 2009-11-19 Panasonic Electric Works Co Ltd Equipment management system
JP2009282834A (en) * 2008-05-23 2009-12-03 Fujitsu Ltd Disk array device, method for applying control firm, and control unit for controlling application of control firm
JP2010128581A (en) * 2008-11-25 2010-06-10 Hitachi Ltd Preventive maintenance device and preventive maintenance method
JP5035257B2 (en) * 2009-01-23 2012-09-26 ブラザー工業株式会社 Image output apparatus and image output system

Also Published As

Publication number Publication date
JP2012194892A (en) 2012-10-11

Similar Documents

Publication Publication Date Title
JP5659894B2 (en) Software update device, software update method, and software update program
US9870159B2 (en) Solid-state disk (SSD) management
US10049010B2 (en) Method, computer, and apparatus for migrating memory data
US9183102B2 (en) Hardware consumption architecture
US10809997B2 (en) Information processing apparatus and program update control method
JP5545108B2 (en) Storage system, control device, and control method
US10809788B2 (en) Electronic system, information processing device, and control method
JP6130520B2 (en) MULTISYSTEM SYSTEM AND MULTISYSTEM SYSTEM MANAGEMENT METHOD
JP5583052B2 (en) Failure prediction and countermeasure method and client server system
US20120254657A1 (en) Disk array device, connection path control method and connection path control program
US20130227333A1 (en) Fault monitoring device, fault monitoring method, and non-transitory computer-readable recording medium
JP2006154880A (en) Information processing system and access method
US20140331070A1 (en) Dynamically adjusting power disturbance hold up times
JP2014071668A (en) Information processor, start program, and start method
JP5998577B2 (en) Cluster monitoring apparatus, cluster monitoring method, and program
US9304581B1 (en) Programmable availability for a high availability storage system
CN101021769A (en) Device and method for early detection of degradation of storage device
EP2110748A2 (en) Cluster control apparatus, control system, control method, and control program
JP2014021691A (en) Data backup device, data backup method and program of data backup
JP2010086363A (en) Information processing apparatus and apparatus configuration rearrangement control method
US8453007B2 (en) Storage device and recovery method
JP2019053486A (en) Malfunction sign detecting device, malfunction sign detecting method, and, malfunction sign detecting program
US20230401085A1 (en) Selection of hosts for virtual machines based on current virtual machine requirements and headroom availability
JP6194593B2 (en) Redundant system, redundant method, storage device, and program
JP2011227729A (en) Management server and method for controlling arrangement of virtual machine

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141017

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141117

R150 Certificate of patent or registration of utility model

Ref document number: 5659894

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees