JP2005056148A - Driver update system, driver update method and program - Google Patents

Driver update system, driver update method and program Download PDF

Info

Publication number
JP2005056148A
JP2005056148A JP2003286279A JP2003286279A JP2005056148A JP 2005056148 A JP2005056148 A JP 2005056148A JP 2003286279 A JP2003286279 A JP 2003286279A JP 2003286279 A JP2003286279 A JP 2003286279A JP 2005056148 A JP2005056148 A JP 2005056148A
Authority
JP
Japan
Prior art keywords
driver
control
lower driver
standby
instructing
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.)
Pending
Application number
JP2003286279A
Other languages
Japanese (ja)
Inventor
Akihiro Kaneko
昭浩 金子
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 JP2003286279A priority Critical patent/JP2005056148A/en
Publication of JP2005056148A publication Critical patent/JP2005056148A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To update a driver for duplicated input/output devices related to input/output operation of an OS and an application program without stopping the input/output operation. <P>SOLUTION: The driver 700 has an upper driver 710 and lower drivers 720, 730 controlling the input/output operation of the respective duplicated input/output devices. Of the lower drivers 720, 730, one is a driver for an active system, and the other is a driver for a standby system. When an instruction for updating the driver is issued, the upper driver updates the driver of the standby system to perform reinstallation. Next, the active system and the standby system are changed over. The update/reinstallation of the driver of the standby system, and the changeover of the active system/standby system are performed once again. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、冗長構成で設けられた各入出力装置の動作制御を行うデバイスドライバプログラム(ドライバ)を更新する、ドライバ更新システム、ドライバ更新方法およびプログラムに関する。   The present invention relates to a driver update system, a driver update method, and a program for updating a device driver program (driver) that performs operation control of each input / output device provided in a redundant configuration.

電子計算機システムに接続される入出力装置などの制御を行うプログラムは、デバイスドライバプログラムと呼ばれている。以下、デバイスドライバプログラムをドライバと称する。ドライバは、オペレーティングシステム(Operating System、以下OSと称する。)およびアプリケーションプログラム(以下、アプリと称する。)からの要求により入出力装置などの制御を行う。   A program for controlling an input / output device connected to an electronic computer system is called a device driver program. Hereinafter, the device driver program is referred to as a driver. The driver controls the input / output devices and the like according to requests from an operating system (hereinafter referred to as OS) and an application program (hereinafter referred to as application).

ドライバは、バグの解消、装置の更新、などの理由により更新される。更新されたドライバにより制御を行うには、古いドライバの実行を停止させてアンロードし、新しいドライバをロードして実行を開始させなければならない。従って、ドライバを更新している間、OSおよびアプリからドライバによる制御が行われていない装置へアクセスできない。   The driver is updated for reasons such as eliminating bugs and updating devices. To control with the updated driver, the old driver must be stopped and unloaded, the new driver must be loaded and the execution started. Therefore, while updating the driver, the OS and the application cannot access a device that is not controlled by the driver.

一方、電子計算機システム特に、メインフレーム・サーバなどの用途に用いられるコンピュータの入出力装置などは無停止運転のために冗長構成をとっている。このような電子計算機システムにおいては、ドライバの更新時であってもOSおよびアプリの動作が(一時)停止しないことが要求される。   On the other hand, computer systems, particularly computer input / output devices used for applications such as mainframe servers, have a redundant configuration for non-stop operation. In such an electronic computer system, it is required that the operations of the OS and the application do not (temporarily) stop even when the driver is updated.

OSおよびアプリの動作を(一時)停止させることなく、冗長構成された装置を制御するドライバを更新する従来の技術は、更新するドライバのロード、および関連するアプリの初期設定を行う技術である(例えば、特許文献1参照。)。ドライバが更新されている間、旧ドライバと新ドライバとが共にロードされており、各装置の制御を段階的に旧ドライバから新ドライバに移行させる。
特開平8−69430号公報(第3−6頁、図8、9)
A conventional technique for updating a driver that controls a redundantly configured device without (temporarily) stopping the operation of the OS and the application is a technique for loading the driver to be updated and initial setting of the related application ( For example, see Patent Document 1.) While the driver is being updated, both the old driver and the new driver are loaded, and the control of each device is gradually transferred from the old driver to the new driver.
JP-A-8-69430 (page 3-6, FIGS. 8 and 9)

このドライバ更新方法によると、OSおよびアプリはドライバを介して任意の装置へアクセスできるため、担当するドライバが切り換えられようとしている装置へアクセスしようとするOSおよびアプリの動作は(一時)停止する。   According to this driver update method, since the OS and the application can access any device via the driver, the operations of the OS and the application that attempt to access the device to which the driver in charge is about to be switched are (temporarily) stopped.

本発明は、OSおよびアプリケーションプログラムの動作を(一時)停止させることなく、冗長構成をとっている装置を制御するドライバを更新可能とすることを目的とする。   An object of the present invention is to make it possible to update a driver that controls a device having a redundant configuration without (temporarily) stopping operations of an OS and application programs.

本発明の第1の観点にかかるドライバ更新システムは、
1台が現用系として動作し、他が待機系として動作するように冗長構成された少なくとも2台の装置を制御し、前記少なくとも2台の装置を1対1で制御する少なくとも2つの下位ドライバと該少なくとも2つの下位ドライバを共通に制御する上位ドライバとから構成される装置制御システムの前記下位ドライバを更新するドライバ更新システムであって、
待機系の装置に対応する前記下位ドライバによる制御を停止させることを、前記上位ドライバに指示する制御停止指示手段と、
制御を停止させた下位ドライバを、新たな下位ドライバで置換する下位ドライバ置換手段と、
置換された新たな下位ドライバによる制御を開始させることを前記上位ドライバに指示する制御開始指示手段と、
現用系の装置を待機系に切り換え、待機系の装置を現用系に切り換えることを前記上位ドライバに指示する切換指示手段と、
現用系から待機系に切り換えられた装置の制御を担当する下位ドライバによる装置の制御を停止させることを前記上位ドライバに指示し、該下位ドライバによる制御の停止後、該下位ドライバを、新たな下位ドライバで置換し、置換後の新たな下位ドライバによる制御を開始させることを前記上位ドライバに指示する更新手段と、
を具備する。
A driver update system according to a first aspect of the present invention includes:
At least two lower-level drivers that control at least two devices configured redundantly so that one unit operates as an active system and the other operates as a standby system, and controls the at least two devices one-to-one; A driver update system for updating the lower driver of a device control system configured by an upper driver that commonly controls the at least two lower drivers,
A control stop instruction means for instructing the upper driver to stop the control by the lower driver corresponding to the standby device;
Lower driver replacement means for replacing the lower driver whose control has been stopped with a new lower driver;
Control start instruction means for instructing the upper driver to start control by the replaced new lower driver;
Switching instruction means for instructing the host driver to switch the active device to the standby system and to switch the standby device to the active system;
The upper driver is instructed to stop the device control by the lower driver responsible for controlling the device switched from the active system to the standby system, and after the control by the lower driver is stopped, the lower driver is moved to the new lower driver. Updating means for instructing the upper driver to replace the driver and start control by the new lower driver after the replacement;
It comprises.

本発明によれば、待機系として動作している装置の制御を停止させて、下位ドライバを更新して制御を開始させる。次に、現用系と待機系とを切り換え、現用系から待機系となった装置の制御を停止させて、下位ドライバを更新し、制御を開始させる。
このため、OSおよびアプリケーションプログラムの動作を(一時)停止させることなく、下位ドライバが更新される。
According to the present invention, the control of the device operating as the standby system is stopped, the lower driver is updated, and the control is started. Next, the active system and the standby system are switched, the control of the apparatus that has changed from the active system to the standby system is stopped, the lower driver is updated, and the control is started.
Therefore, the lower driver is updated without (temporarily) stopping the operation of the OS and the application program.

例えば、上記ドライバ更新システムにおいて、
前記制御停止指示手段は、上位装置から、下位ドライバを更新する旨の指示と交換対象の新たな下位ドライバとを受信し、待機系の装置に対応する前記下位ドライバによる制御を停止させることを、前記上位ドライバに指示し、
前記下位ドライバ置換手段は、前記上位ドライバからの、制御を停止させた旨の通知に応答して、制御を停止させた下位ドライバを、新たな下位ドライバでそれぞれ置換し、
前記制御開始指示手段は、前記下位ドライバ置換手段による置換の完了後、置換された新たな下位ドライバによる制御を開始させることを前記上位ドライバに指示し、
前記切換指示手段は、前記上位ドライバからの制御を開始した旨の通知に応答して、現用系の装置と待機系の装置の切り換えを前記上位ドライバに指示し、
前記更新手段は、前記上位ドライバからの切換完了通知に応答して、現用系であった装置に対応する下位ドライバを更新するための処理を行う。
For example, in the above driver update system,
The control stop instruction means receives an instruction to update the lower driver and the new lower driver to be exchanged from the upper device, and stops the control by the lower driver corresponding to the standby device. Instruct the upper driver,
The lower driver replacement means replaces the lower driver whose control has been stopped with a new lower driver in response to a notification from the upper driver that control has been stopped,
The control start instructing unit instructs the upper driver to start control by the replaced new lower driver after completion of the replacement by the lower driver replacing unit,
In response to the notification that the control from the upper driver has started, the switching instruction means instructs the upper driver to switch between the active device and the standby device,
In response to the switching completion notification from the upper driver, the updating means performs a process for updating the lower driver corresponding to the active device.

上記ドライバ更新システムにおいて、
前記更新手段は、例えば、
現用系から待機系に切り換えられた装置の制御を担当する下位ドライバによる制御を停止させることを前記上位ドライバに指示する第2の制御停止指示手段と、
該下位ドライバによる制御の停止後、該下位ドライバを、新たな下位ドライバで置換する第2の下位ドライバ置換手段と、
置換後の新たな下位ドライバによる制御を開始させる第2の制御開始指示手段と、
を具備する。
In the above driver update system,
The update means is, for example,
A second control stop instruction means for instructing the upper driver to stop the control by the lower driver responsible for controlling the device switched from the active system to the standby system;
A second lower driver replacement means for replacing the lower driver with a new lower driver after the control by the lower driver is stopped;
A second control start instruction means for starting control by the new lower driver after replacement;
It comprises.

上記ドライバ更新システムにおいて、
前記少なくとも2台の装置のうち1台が主に現用系として動作するように設定することができる。
この場合、前記更新手段は、
下位ドライバを更新して、待機系として制御を開始した後で、前記主に現用系として動作する装置を現用系に切り換えることを前記上位ドライバに指示する第2の切換指示手段をさらに具備する。
In the above driver update system,
One of the at least two devices can be set to operate mainly as an active system.
In this case, the updating means
The system further comprises second switching instruction means for instructing the upper driver to switch the device mainly operating as the active system to the active system after updating the lower driver and starting the control as the standby system.

上記ドライバ更新システムにおいて、
前記下位ドライバ置換手段が、前記下位ドライバと前記新たな下位ドライバとの新旧を判別して、前記新たなドライバが前記下位ドライバと同一か古い場合には置換しないものであってもよい。
In the above driver update system,
The lower driver replacing unit may determine whether the lower driver and the new lower driver are new or old, and do not replace if the new driver is the same as or older than the lower driver.

本発明によれば、ドライバプログラムを誤ってダウングレードすることが防止される。   According to the present invention, it is possible to prevent the driver program from being downgraded by mistake.

本発明の第2の観点にかかるドライバ更新方法は、
1台が現用系として動作し、他が待機系として動作するように冗長構成された少なくとも2台の装置を制御し、前記少なくとも2台の装置を1対1で制御する少なくとも2つの下位ドライバと該少なくとも2つの下位ドライバを共通に制御する上位ドライバとから構成される装置制御システムの前記下位ドライバを更新するドライバ更新方法であって、
待機系の装置に対応する前記下位ドライバによる制御を停止させることを、前記上位ドライバに指示する制御停止指示ステップと、
制御を停止させた下位ドライバを、新たな下位ドライバでそれぞれ置換する下位ドライバ置換ステップと、
置換された新たな下位ドライバによる制御を開始させることを前記上位ドライバに指示する制御開始指示ステップと、
現用系の装置を待機系に切り換え、待機系の装置を現用系に切り換えることを前記上位ドライバに指示する切換指示ステップと、
現用系から待機系に切り換えられた装置の制御を担当する下位ドライバによる該対応する装置の制御を停止させることを前記上位ドライバに指示し、該下位ドライバによる制御の停止後、該下位ドライバを、新たな下位ドライバで置換し、置換後の新たな下位ドライバによる該対応する装置の制御を開始させることを前記上位ドライバに指示する更新ステップと、
を備える。
The driver update method according to the second aspect of the present invention includes:
At least two lower-level drivers that control at least two devices configured redundantly so that one unit operates as an active system and the other operates as a standby system, and controls the at least two devices one-to-one; A driver update method for updating the lower driver of a device control system composed of an upper driver that commonly controls the at least two lower drivers,
A control stop instruction step for instructing the upper driver to stop the control by the lower driver corresponding to the standby device;
A lower driver replacement step of replacing the lower driver whose control has been stopped with a new lower driver;
A control start instruction step for instructing the upper driver to start control by the replaced new lower driver;
A switching instruction step for switching the active device to the standby system and instructing the host driver to switch the standby device to the active system;
The upper driver is instructed to stop the control of the corresponding device by the lower driver responsible for controlling the device switched from the active system to the standby system, and after the control by the lower driver is stopped, the lower driver is An update step for instructing the upper driver to replace with a new lower driver and start control of the corresponding device by the new lower driver after replacement;
Is provided.

本発明の第3の観点にかかるプログラムは、
1台が現用系として動作し、他が待機系として動作するように冗長構成された少なくとも2台の装置を制御し、前記少なくとも2台の装置を1対1で制御する少なくとも2つの下位ドライバと該少なくとも2つの下位ドライバを共通に制御する上位ドライバとから構成される装置制御システムの前記下位ドライバを更新するプログラムであって、
待機系の装置に対応する前記下位ドライバによる制御を停止させることを、前記上位ドライバに指示する制御停止指示手順と、
制御を停止させた下位ドライバを、新たな下位ドライバでそれぞれ置換する下位ドライバ置換手順と、
置換された新たな下位ドライバによる制御を開始させることを前記上位ドライバに指示する制御開始指示手順と、
現用系の装置を待機系に切り換え、待機系の装置を現用系に切り換えることを前記上位ドライバに指示する切換指示手順と、
現用系から待機系に切り換えられた装置の制御を担当する下位ドライバによる制御を停止させることを前記上位ドライバに指示し、該下位ドライバによる制御の停止後、該下位ドライバを、新たな下位ドライバで置換し、置換後の新たな下位ドライバによる制御を開始させることを前記上位ドライバに指示する更新手順と、
をコンピュータに実行させる。
The program according to the third aspect of the present invention is:
At least two lower-level drivers that control at least two devices configured redundantly so that one unit operates as an active system and the other operates as a standby system, and controls the at least two devices one-to-one; A program for updating the lower driver of a device control system composed of an upper driver that commonly controls the at least two lower drivers,
A control stop instruction procedure for instructing the upper driver to stop control by the lower driver corresponding to a standby device;
A lower driver replacement procedure for replacing a lower driver whose control has been stopped with a new lower driver,
A control start instruction procedure for instructing the upper driver to start control by the replaced new lower driver;
A switching instruction procedure for switching the active device to the standby system and instructing the host driver to switch the standby device to the active system;
The upper driver is instructed to stop the control by the lower driver responsible for controlling the device switched from the active system to the standby system, and after the control by the lower driver is stopped, the lower driver is replaced with a new lower driver. An update procedure for instructing the upper driver to replace and start control by the new lower driver after replacement;
Is executed on the computer.

本発明は、例えば、多重化された入出力装置の構成を含む電子計算機システムにおいて、それらの入出力装置に対するOSあるいはアプリケーションプログラムの動作が停止させることなく、それらの入出力装置を制御するデバイスドライバプログラムを更新可能である。   The present invention, for example, in an electronic computer system including a configuration of multiplexed input / output devices, device drivers that control the input / output devices without stopping the operation of the OS or application program for those input / output devices. The program can be updated.

以下、本発明の形態にかかる計算機システムを説明する。ここでは、外部記憶装置のみが二重化されている例を説明する。この計算機システムの構成を図1に示す。なお、理解を容易にするため、これらの外部記憶装置を制御するために使用するデバイスドライバプログラム(以下、ドライバと称する。)は同一ファイルから生成される。また、アプリケーションプログラム(以下、アプリと称する。)の入出力要求はオペレーティングシステム(OS)を経由するものとする。   Hereinafter, a computer system according to an embodiment of the present invention will be described. Here, an example in which only the external storage device is duplicated will be described. The configuration of this computer system is shown in FIG. In order to facilitate understanding, a device driver program (hereinafter referred to as a driver) used to control these external storage devices is generated from the same file. An input / output request of an application program (hereinafter referred to as an application) is assumed to pass through an operating system (OS).

図示するように、この計算機システムにおいて、コンピュータ100に外部記憶装置220、230と、キーボード310と、マウス320およびディスプレイ400とが接続されている。   As shown in the figure, in this computer system, external storage devices 220 and 230, a keyboard 310, a mouse 320 and a display 400 are connected to a computer 100.

コンピュータ100は、ワークステーション、サーバなどの情報処理装置として機能する。コンピュータ100は、制御部110と、主記憶部120と、入出力チャネル130とを備える。   The computer 100 functions as an information processing apparatus such as a workstation or a server. The computer 100 includes a control unit 110, a main storage unit 120, and an input / output channel 130.

制御部110は、中央演算処理装置(CPU)などを備え、各種データ処理を主記憶部120に格納された動作プログラムによって実行する。ここで、動作プログラムには、OS、ドライバ、アプリなどを含む。   The control unit 110 includes a central processing unit (CPU) and the like, and executes various data processing using an operation program stored in the main storage unit 120. Here, the operation program includes an OS, a driver, an application, and the like.

主記憶部120は、例えば、RAM(Random Access Memory)から構成され、制御部110のワークエリアとして機能する。主記憶部120には、OS、ドライバ、アプリ、ドライバ更新プログラム、「新しいドライバ」、などの実行コードあるいはデータが、外部記憶装置220あるいは230などからロードされる。   The main storage unit 120 is composed of, for example, a RAM (Random Access Memory) and functions as a work area of the control unit 110. The main storage unit 120 is loaded with execution codes or data such as an OS, a driver, an application, a driver update program, and a “new driver” from the external storage device 220 or 230.

入出力チャネル130は、CPUなどを備え、主記憶部120と入出力装置との間のデータ転送処理を行う。   The input / output channel 130 includes a CPU and performs data transfer processing between the main storage unit 120 and the input / output device.

外部記憶装置220と外部記憶装置230とは、ハードディスク、もしくはハードディスクアレイなどから構成され、コンピュータ10の補助記憶装置としての役割を果たす。
外部記憶装置220と外部記憶装置230とは、一方が現用系となって動作し、他方が待機系となって動作する。現用系が障害などの理由により動作できなくなった場合には、例えば、ドライバが現用系と待機系とを入れ替える。ミラーリングなどの手法により、外部記憶装置220が格納しているデータと外部記憶装置230が格納しているデータとは同期がとられる。
The external storage device 220 and the external storage device 230 are composed of a hard disk, a hard disk array, or the like, and play a role as an auxiliary storage device of the computer 10.
One of the external storage device 220 and the external storage device 230 operates as an active system, and the other operates as a standby system. When the active system becomes inoperable due to a failure or the like, for example, the driver switches the active system and the standby system. The data stored in the external storage device 220 and the data stored in the external storage device 230 are synchronized by a technique such as mirroring.

キーボード310、およびマウス320は、利用者がコンピュータ100に各種情報処理の開始などを指示する装置である。また、ディスプレイ400は、コンピュータ100の処理結果を利用者に対して表示する装置である。   The keyboard 310 and the mouse 320 are devices that a user instructs the computer 100 to start various information processing. The display 400 is a device that displays the processing result of the computer 100 to the user.

ドライバは、OSおよびアプリと入出力装置などを橋渡しするためのプログラムである。ドライバの構成と機能とを、図2を用いて説明する。
図示するように、ドライバ700は、上位ドライバ710と、下位ドライバ720、730とから構成される。
上位ドライバ710は外部インターフェイス711と、ディスパッチ部712と、内部インターフェイス(I/F)713などを備える。
下位ドライバ720は、内部I/F721と、処理部722と、ハードウェアインターフェイス(I/F)723などを備える。下位ドライバ730は下位ドライバ720と同じ構成、機能を有する。
The driver is a program for bridging the OS, application, input / output device, and the like. The configuration and function of the driver will be described with reference to FIG.
As illustrated, the driver 700 includes an upper driver 710 and lower drivers 720 and 730.
The host driver 710 includes an external interface 711, a dispatch unit 712, an internal interface (I / F) 713, and the like.
The lower driver 720 includes an internal I / F 721, a processing unit 722, a hardware interface (I / F) 723, and the like. The lower driver 730 has the same configuration and function as the lower driver 720.

ドライバ700はOS600からの入出力要求などを、上位ドライバ710内の外部インターフェイス711で受信する。ディスパッチ部712は、キューを備え、OS600から送信された入出力要求はこのキューに蓄えられる。ディスパッチ部712は、キューに蓄えられた入出力要求を現用系側の外部記憶装置に送出する。ディスパッチ部712は、ドライバ700を制御する制御命令もOS600から受信し、制御命令に基づいて、下位ドライバの切り離し、組み込みなどを実行する。
ドライバ700でOS600から受信した入出力要求が振り分けられ、また、外部記憶装置220と230とに格納されているデータは同期がとられるので、OS600は外部記憶装置220と230との何れが現用系として動作しているかということを考慮しないで、入出力要求をドライバ700に送信できる。
The driver 700 receives an input / output request from the OS 600 by the external interface 711 in the upper driver 710. The dispatch unit 712 includes a queue, and input / output requests transmitted from the OS 600 are stored in this queue. The dispatch unit 712 sends the input / output request stored in the queue to the external storage device on the active system side. The dispatch unit 712 also receives a control command for controlling the driver 700 from the OS 600, and executes the disconnection and incorporation of the lower-level driver based on the control command.
Since the driver 700 distributes the input / output requests received from the OS 600 and the data stored in the external storage devices 220 and 230 is synchronized, the OS 600 uses whichever of the external storage devices 220 and 230 is the active system. The input / output request can be transmitted to the driver 700 without considering whether the

上位ドライバ710は、図示しないエントリポイントテーブルを保持している。エントリポイントテーブルは、現用系側の下位ドライバを呼び出す番地(エントリポイント)を記載する。
内部I/F713は、各入出力要求に対応して、エントリポイントテーブルに記載された(下位ドライバの)番地をコールする。内部I/F713が、これらの番地をコールすると、下位ドライバはエントリポイントに応じた処理を実行する。
The upper driver 710 holds an entry point table (not shown). The entry point table describes addresses (entry points) for calling the lower-level driver on the active system side.
The internal I / F 713 calls an address (of the lower driver) described in the entry point table in response to each input / output request. When the internal I / F 713 calls these addresses, the lower driver executes processing corresponding to the entry point.

下位ドライバ720、730はそれぞれ内部I/F721、731で上位ドライバ710から入出力要求などを受け取り、それぞれ、処理部722、732で入出力要求などを解析する。また、入出力要求などの解析結果に基づいて、ハードウェアI/F723、733から外部記憶装置220、230を制御する信号を送出する。
外部記憶装置220、230の処理結果(例えば、読み出されたデータなど)はハードウェアI/F723、733で受け取られ、内部I/F721、731、713、外部インターフェイス711を経由してOS600に送信される。
The lower drivers 720 and 730 receive input / output requests and the like from the upper driver 710 through the internal I / Fs 721 and 731, respectively, and the input / output requests and the like are analyzed by the processing units 722 and 732, respectively. Further, based on the analysis result such as the input / output request, the hardware I / F 723 and 733 sends a signal for controlling the external storage devices 220 and 230.
Processing results (for example, read data) of the external storage devices 220 and 230 are received by the hardware I / Fs 723 and 733 and transmitted to the OS 600 via the internal I / Fs 721, 731 and 713 and the external interface 711. Is done.

また、上位ドライバ710は下位ドライバ720、730を制御するための制御命令(ドライバの論理的な切り離し、登録など)を出力する。下位ドライバ720、730は制御命令に応じた所定の処理を実行する。   In addition, the upper driver 710 outputs a control command (such as logical separation and registration of the driver) for controlling the lower drivers 720 and 730. The lower drivers 720 and 730 execute a predetermined process according to the control command.

例えば、上位ドライバ710が、下位ドライバ720、730に自身のドライバ情報(エントリポイント、バージョン情報などを含む。)の提示を求める制御命令を送信すると、下位ドライバ720、730はドライバ情報を上位ドライバ710に送信する。
また、下位ドライバ720、730に終了を指示する旨の制御命令を送信すると、下位ドライバ720、730は実行を終了する。
For example, when the upper driver 710 transmits a control command for requesting presentation of its driver information (including entry points and version information) to the lower drivers 720 and 730, the lower drivers 720 and 730 send the driver information to the upper driver 710. Send to.
Further, when a control instruction for instructing the lower driver 720 or 730 to end is transmitted, the lower driver 720 or 730 ends the execution.

また、入出力要求を現用系に振り分けるなどのために、ディスパッチ部712は下位ドライバを管理するドライバ管理情報を保持している。このドライバ管理情報の例を図3に示す。   Further, the dispatch unit 712 holds driver management information for managing lower-level drivers in order to distribute input / output requests to the active system. An example of this driver management information is shown in FIG.

図示するように、ドライバ管理情報は、例えば、ドライバ識別子、エントリポイント、現用/待機に関する情報、バージョン情報などを含む。
ドライバ識別子は、上位ドライバ710が下位ドライバ720、730を識別するために付与する情報で、ドライバ700内部で一意である。この情報は、下位ドライバが更新されても変化しない。
現用/待機に関する情報は、そのドライバが現用系あるいは待機系の何れとして動作しているかを示す情報である。
バージョン情報は、下位ドライバ720、730に付与されたバージョンに関する情報である。
As shown in the figure, the driver management information includes, for example, a driver identifier, an entry point, information on working / standby, version information, and the like.
The driver identifier is information given by the upper driver 710 to identify the lower drivers 720 and 730 and is unique within the driver 700. This information does not change even if the lower driver is updated.
The information regarding the working / standby is information indicating whether the driver is operating as the working system or the standby system.
The version information is information regarding the version assigned to the lower drivers 720 and 730.

ドライバ700が現用系と待機系とを切り換える指示を受けた場合、上位ドライバ710は、エントリポイントテーブルの内容を、現用系となった装置を制御する下位ドライバへのエントリポイントで上書きする。そして、ドライバ管理情報の現用/待機に関する情報を更新する。つまり、現用系となった装置を制御する下位ドライバの現用/待機に関する情報を、現用系での動作を行っている旨の情報に更新し、それまで現用系の装置を制御していた下位ドライバの現用/待機に関する情報を待機系での動作を行っている旨の情報に更新する。   When the driver 700 receives an instruction to switch between the active system and the standby system, the upper driver 710 overwrites the contents of the entry point table with the entry point to the lower driver that controls the apparatus that has become the active system. Then, the information regarding the working / standby of the driver management information is updated. In other words, the information on the active / standby of the lower-level driver that controls the active device is updated to information indicating that the operation on the active system is being performed, and the lower-level driver that has controlled the active device until then. Is updated to information indicating that the operation in the standby system is being performed.

ドライバ更新プログラムは、下位ドライバ720、730を、新しい下位ドライバに置き換えるドライバ更新処理を実行する。ドライバ更新プログラムの構成と機能とを図4を用いて説明する。ドライバ更新プログラム800は、制御部810と、制御指示部820と、ドライバ更新部830と、切換指示部840と、同期指示部850とから構成される。   The driver update program executes driver update processing for replacing the lower drivers 720 and 730 with new lower drivers. The configuration and function of the driver update program will be described with reference to FIG. The driver update program 800 includes a control unit 810, a control instruction unit 820, a driver update unit 830, a switching instruction unit 840, and a synchronization instruction unit 850.

制御部810は、制御指示部820と、ドライバ更新部830と、切換指示部840と、同期指示部850などを制御する。
制御指示部820は、上位ドライバ710に下位ドライバの切り離し・登録の指示を出し、上位ドライバ710からの応答を待つ。下位ドライバを切り離す場合は、ドライバ識別子を指定して下位ドライバを停止させる指示を、上位ドライバ710に出す。下位ドライバを組み込む場合には、ドライバファイルを指定して下位ドライバとして動作するように組み込む指示を、上位ドライバ710に出す。なお、予め上位ドライバ710に問い合わせ、ドライバ識別子を取得する。(以下、同じ。)
ドライバ更新部830は、新しい下位ドライバを主記憶部120に読み込み、ドライバ700の下位ドライバとして実行可能な状態にする。
切換指示部840は、現用系を制御している下位ドライバのドライバ識別子と、現用系を制御させたい下位ドライバのドライバ識別子とを指定して、現用系と待機系とを切り換える指示を、上位ドライバ710に出す。
同期指示部850は、上位ドライバ710に、下位ドライバ720、730を介して、外部記憶装置220、230が格納しているデータの同期をとらせる旨の指示を出す。
The control unit 810 controls the control instruction unit 820, the driver update unit 830, the switching instruction unit 840, the synchronization instruction unit 850, and the like.
The control instruction unit 820 instructs the upper driver 710 to disconnect / register the lower driver and waits for a response from the upper driver 710. When disconnecting the lower driver, an instruction to stop the lower driver by designating the driver identifier is issued to the upper driver 710. In the case of incorporating a lower driver, an instruction to specify the driver file and incorporate it so as to operate as a lower driver is issued to the upper driver 710. Note that the host driver 710 is inquired in advance to obtain a driver identifier. (same as below.)
The driver update unit 830 reads a new lower driver into the main storage unit 120 and makes it executable as a lower driver of the driver 700.
The switching instruction unit 840 designates the driver identifier of the lower driver that controls the active system and the driver identifier of the lower driver that wants to control the active system, and instructs the upper driver to switch between the active system and the standby system. Go to 710.
The synchronization instruction unit 850 instructs the upper driver 710 to synchronize the data stored in the external storage devices 220 and 230 via the lower drivers 720 and 730.

なお、以下の説明では、制御部810、制御指示部820、ドライバ更新部830、切換指示部840、同期指示部850の個々の動作を述べずに、ドライバ更新プログラム800全体の動作として説明する。   In the following description, the entire operation of the driver update program 800 will be described without describing the individual operations of the control unit 810, the control instruction unit 820, the driver update unit 830, the switching instruction unit 840, and the synchronization instruction unit 850.

次に、図5を参照して、ドライバ更新処理を説明する。
ドライバの更新指示はキーボード310、マウス320などを操作してコンピュータ100にドライバ更新プログラムの実行開始の指示を与えるものとする。なお、当初、外部記憶装置220が現用系、外部記憶装置230が待機系であって、更新前の下位ドライバのバージョンと更新後のバージョンとは異なっているものとする。
Next, the driver update process will be described with reference to FIG.
The driver update instruction is to operate the keyboard 310, mouse 320, etc. to give the computer 100 an instruction to start executing the driver update program. Note that initially, the external storage device 220 is the active system and the external storage device 230 is the standby system, and the version of the lower driver before the update and the version after the update are different.

まず、ドライバ更新プログラム800は、新しい下位ドライバの更新データを主記憶部120に読み出す(ステップS11)。例えば、ドライバ更新プログラム800はCD−ROMから新しい下位ドライバの更新データを読み出す。   First, the driver update program 800 reads update data of a new lower driver into the main storage unit 120 (step S11). For example, the driver update program 800 reads update data of a new lower driver from the CD-ROM.

次に、ドライバ更新プログラム800は、上位ドライバ710に待機系側に設定されている下位ドライバを制御から離脱させ、下位ドライバを停止させる指示を出す(ステップS12)。上位ドライバ710は、待機系側が処理すべき入出力処理が無いことを確認した上で、入出力装置を論理的に切り離し、対応する下位ドライバの動作を停止させる。そして、上位ドライバ710は、下位ドライバを停止させた旨の情報をドライバ更新プログラム800に送信する。   Next, the driver update program 800 instructs the upper driver 710 to remove the lower driver set on the standby system side from the control and stop the lower driver (step S12). After confirming that there is no input / output processing to be processed by the standby side, the upper driver 710 logically disconnects the input / output device and stops the operation of the corresponding lower driver. The upper driver 710 transmits information indicating that the lower driver has been stopped to the driver update program 800.

そして、下位ドライバを停止させた旨のデータを受信すると、ドライバ更新プログラム800は、待機系の下位ドライバを新しい下位ドライバに置き換え、起動させる(ステップS13)。次に、ドライバ更新プログラム800は、上位ドライバ710に、この新しい下位ドライバをドライバ700に組み込む指示を出す(ステップS14)。上位ドライバ710は、新しい下位ドライバから、その下位ドライバに関する情報を取得し、ドライバ管理情報に登録する。そして、上位ドライバ710は、ドライバ更新プログラムに、下位ドライバの組み込みが終了した旨の情報を送信する。   When the driver update program 800 receives the data indicating that the lower driver has been stopped, the driver update program 800 replaces the standby lower driver with a new lower driver and starts it (step S13). Next, the driver update program 800 instructs the upper driver 710 to incorporate this new lower driver into the driver 700 (step S14). The upper driver 710 acquires information related to the lower driver from the new lower driver and registers it in the driver management information. Then, the upper driver 710 transmits information indicating that the installation of the lower driver is completed to the driver update program.

そして、ドライバ更新プログラム800は、上位ドライバ710に現用系と待機系とを切り換える指示を出す(ステップS15)。この時選択される待機系は、直前のステップS12からステップS14で下位ドライバが更新された待機系である。
上位ドライバ710は、ドライバ管理情報に記載された、切り換え対象となっている、2つの下位ドライバの現用/待機に関する情報を入れ替える。そして、現在実行中の入出力要求の処理が完了した後に(次の入出力要求を処理する前に)、エントリポイントを現用系に切り換えられた下位ドライバのエントリポイントを指し示すように書き換える。上位ドライバ710は、ドライバ更新プログラムに現用系と待機系とを切り換えた旨の情報を送信する。
Then, the driver update program 800 instructs the upper driver 710 to switch between the active system and the standby system (step S15). The standby system selected at this time is a standby system in which the lower-level driver is updated in the immediately preceding step S12 to step S14.
The upper driver 710 replaces the information regarding the current / standby of the two lower drivers that are the switching target described in the driver management information. Then, after the processing of the currently executed input / output request is completed (before the next input / output request is processed), the entry point is rewritten to indicate the entry point of the lower driver switched to the active system. The host driver 710 transmits information indicating that the active system and the standby system have been switched to the driver update program.

次に、現用系と待機系とを切り換えた旨の情報を受信すると、ドライバ更新プログラム800は待機系側の下位ドライバのバージョンと更新する下位ドライバのバージョンとを比較し、2つのバージョンが等しいか否かを判別する(ステップS16)。すなわち、ドライバ更新プログラムは上位ドライバ710(ドライバ管理情報)から待機系の下位ドライバのバージョンに関する情報を取得し、新しい下位ドライバのバージョンと一致するか否かを、例えば、それぞれの下位ドライバのバージョン番号(あるいは作成日時)に基づいて判別する。
2つの下位ドライバのバージョンが等しくなかった場合は(ステップS16:NO)、ドライバ更新プログラム800は、待機系側の下位ドライバが更新されていないと判断し、ステップS12に戻って、ドライバの更新を続ける。
等しい場合は(ステップS16:YES)、ドライバ更新プログラム800は、現用系、待機系双方の下位ドライバが更新されたと判断し、ドライバ更新処理を終了する。ドライバ更新プログラム800は、ディスプレイ400に外部記憶装置220、230を制御する下位ドライバを更新した旨のメッセージを表示する。そして、ドライバ更新プログラムは後処理として、現用系と待機系のデータの同期をとる旨の指示を上位ドライバ700に指示する。
Next, when receiving information indicating that the active system and the standby system have been switched, the driver update program 800 compares the version of the lower driver on the standby system side with the version of the lower driver to be updated, and whether the two versions are equal. It is determined whether or not (step S16). That is, the driver update program acquires information on the version of the standby lower-level driver from the higher-level driver 710 (driver management information), and determines whether the version matches the version of the new lower-level driver, for example, the version number of each lower-level driver. (Or creation date and time).
If the versions of the two lower drivers are not equal (step S16: NO), the driver update program 800 determines that the standby driver is not updated, and returns to step S12 to update the driver. to continue.
If they are equal (step S16: YES), the driver update program 800 determines that both the active and standby lower-level drivers have been updated, and ends the driver update process. The driver update program 800 displays a message on the display 400 that the lower level driver that controls the external storage devices 220 and 230 has been updated. Then, as a post-processing, the driver update program instructs the host driver 700 to instruct to synchronize the data of the active system and the standby system.

以上の各ステップにより、まず下位ドライバ730が更新され、次に下位ドライバ720が更新される。
この間、外部記憶装置220、230が交替しながら現用系として動作する。現用系の入出力動作は通常の場合と同様に行われる。すなわち、下位ドライバを更新している間もOS600からの入出力要求は処理される。また、ドライバを更新している間、そのドライバが制御を担当していた外部記憶装置へは入出力要求が送信されないので、その外部記憶装置へのアクセスができなくても、実質的に問題はない。
Through the above steps, the lower driver 730 is updated first, and then the lower driver 720 is updated.
During this time, the external storage devices 220 and 230 operate as the active system while being switched. The input / output operation of the active system is performed in the same way as in the normal case. That is, the input / output request from the OS 600 is processed while the lower-level driver is updated. In addition, while the driver is being updated, no input / output request is sent to the external storage device that the driver was in control of, so even if the external storage device cannot be accessed, there is virtually no problem. Absent.

なお、本発明は上記実施の形態に限定されず、種々の変形および応用が可能である。   In addition, this invention is not limited to the said embodiment, A various deformation | transformation and application are possible.

例えば、上記実施の形態では、入出力装置(外部記憶装置)が二重化された例を説明したが、入出力装置がそれ以上の多重度を持った構成でもよい。この場合、下位ドライバは入出力装置の個数分だけ存在する。そして、この場合の下位ドライバの更新順序は、例えば、次の手順である。すなわち、ドライバ700は待機系を担当するすべての下位ドライバを更新した後に、現用系と待機系のうちの1台とを切り換え、切り換え前に現用系を担当していた下位ドライバを更新する。さらに、デフォルトで現用系として動作する入出力装置が予め設定してあって、下位ドライバの更新後にその入出力装置が現用系に復帰するようにしてもよい。なお、現用系として動作する入出力装置が2台以上あっても構わない。
また、冗長構成を持つのであれば入出力装置に限らない。
For example, in the above-described embodiment, an example in which the input / output device (external storage device) is duplicated has been described. However, the input / output device may have a multiplicity higher than that. In this case, there are as many lower-level drivers as the number of input / output devices. In this case, the update order of the lower driver is, for example, the following procedure. That is, after updating all the lower drivers that are in charge of the standby system, the driver 700 switches between the active system and one of the standby systems, and updates the lower driver that was in charge of the active system before switching. Further, an input / output device that operates as a working system by default may be set in advance, and the input / output device may be restored to the working system after the lower driver is updated. Note that there may be two or more input / output devices operating as the active system.
Further, the input / output device is not limited as long as it has a redundant configuration.

また、コンピュータ100が通信ネットワークに接続されており、通信ネットワークに接続された他のコンピュータに下位ドライバの更新データが格納されている場合に、ドライバ更新プログラム800がその下位ドライバの更新データをダウンロードするように構成してもよい。   Further, when the computer 100 is connected to the communication network and the update data of the lower driver is stored in another computer connected to the communication network, the driver update program 800 downloads the update data of the lower driver. You may comprise as follows.

また、下位ドライバ720のプログラムと730のプログラムとが異なっていてもよい。この場合、ドライバ更新プログラム800は下位ドライバ720、730をそれぞれのための新しい下位ドライバで置き換える。   Further, the lower driver 720 program and the 730 program may be different. In this case, the driver update program 800 replaces the lower drivers 720 and 730 with new lower drivers for each.

また、下位ドライバのダウングレードを防止するために、更新する下位ドライバのバージョンが、稼働中の下位ドライバより古いか同じである場合は、下位ドライバの更新を中止するように構成してもよい。   Further, in order to prevent downgrade of the lower driver, the update of the lower driver may be stopped when the version of the lower driver to be updated is older or the same as that of the operating lower driver.

また、新しい下位ドライバのデータがバイナリプログラム(すなわち、そのままドライバとして動作可能)の形式でなくてもよく、プログラムリストの形式(いわゆる、ソースプログラム)であってもよい。この場合、ドライバ更新プログラム800はコンパイラを起動し(更新プログラム800がコンパイラを含んでいてもよい)、更新後のプログラムリストからバイナリプログラム(下位ドライバ)を作成する。
また、新しい下位ドライバのデータは、新しい下位ドライバのデータ全体でなくてもよく、更新前と更新後の差分データ(いわゆる、パッチ)であってもよい。この場合、ドライバ更新プログラム800は更新前の下位ドライバに差分データを当てて更新後の下位ドライバを作成する。
In addition, the data of the new lower driver may not be in the form of a binary program (that is, it can operate as a driver as it is), but may be in the form of a program list (so-called source program). In this case, the driver update program 800 starts the compiler (the update program 800 may include the compiler), and creates a binary program (lower driver) from the updated program list.
Also, the new lower driver data may not be the entire new lower driver data, but may be differential data (so-called patch) before and after the update. In this case, the driver update program 800 creates the updated lower driver by applying the difference data to the lower driver before the update.

また、上述のドライバ更新プログラム800の機能を、OSとアプリとの分担、またはOSとアプリとの協動により実現する場合、等には、OS以外の部分のみを媒体に格納してもよい。   Further, when the functions of the driver update program 800 described above are realized by sharing between the OS and the application, or by cooperation between the OS and the application, only the part other than the OS may be stored in the medium.

なお、搬送波にプログラムを重畳し、通信ネットワークを介して配信することも可能である。例えば、通信ネットワーク上の掲示板(Bulletin Board System)に該プログラムを掲示し、ネットワークを介して該プログラムを配信してもよい。   It is also possible to superimpose a program on a carrier wave and distribute it via a communication network. For example, the program may be posted on a bulletin board system on a communication network, and the program may be distributed via the network.

本発明の実施の形態にかかるコンピュータシステムの構成を示した図である。It is the figure which showed the structure of the computer system concerning embodiment of this invention. 図1の外部記憶装置の入出力動作を制御するドライバの構成および機能を説明するためのブロック図である。FIG. 2 is a block diagram for explaining a configuration and functions of a driver that controls input / output operations of the external storage device of FIG. 1. 図2の上位ドライバが管理するドライバ管理情報の例を示す図である。FIG. 3 is a diagram illustrating an example of driver management information managed by a higher-level driver in FIG. 2. 図2の下位ドライバを更新するドライバ更新プログラムの機能を説明するためのブロック図である。FIG. 3 is a block diagram for explaining a function of a driver update program for updating a lower driver in FIG. 2. 本発明の実施の形態にかかるドライバ更新処理を説明するためのフローチャートである。It is a flowchart for demonstrating the driver update process concerning embodiment of this invention.

符号の説明Explanation of symbols

100 コンピュータ
110 制御部
120 主記憶部
130 入出力チャネル
220、230 外部記憶装置
310 キーボード
320 マウス
400 ディスプレイ
600 オペレーティングシステム(OS)
700 ドライバ
710 上位ドライバ
711 外部インターフェイス
712 ディスパッチ部
713、721、731 内部I/F
720、730 下位ドライバ
722、732 処理部
723、733 ハードウェアI/F
800 ドライバ更新プログラム
810 制御部
820 制御指示部
830 ドライバ更新部
840 切換指示部
850 同期指示部
100 Computer 110 Control Unit 120 Main Storage Unit 130 Input / Output Channels 220 and 230 External Storage Device 310 Keyboard 320 Mouse 400 Display 600 Operating System (OS)
700 Driver 710 Higher level driver 711 External interface 712 Dispatch units 713, 721, 731 Internal I / F
720, 730 Lower level drivers 722, 732 Processing units 723, 733 Hardware I / F
800 Driver update program 810 Control unit 820 Control instruction unit 830 Driver update unit 840 Switching instruction unit 850 Synchronization instruction unit

Claims (7)

1台が現用系として動作し、他が待機系として動作するように冗長構成された少なくとも2台の装置を制御し、前記少なくとも2台の装置を1対1で制御する少なくとも2つの下位ドライバと該少なくとも2つの下位ドライバを共通に制御する上位ドライバとから構成される装置制御システムの前記下位ドライバを更新するドライバ更新システムであって、
待機系の装置に対応する前記下位ドライバによる制御を停止させることを、前記上位ドライバに指示する制御停止指示手段と、
制御を停止させた下位ドライバを、新たな下位ドライバで置換する下位ドライバ置換手段と、
置換された新たな下位ドライバによる制御を開始させることを前記上位ドライバに指示する制御開始指示手段と、
現用系の装置を待機系に切り換え、待機系の装置を現用系に切り換えることを前記上位ドライバに指示する切換指示手段と、
現用系から待機系に切り換えられた装置の制御を担当する下位ドライバによる装置の制御を停止させることを前記上位ドライバに指示し、該下位ドライバによる制御の停止後、該下位ドライバを、新たな下位ドライバで置換し、置換後の新たな下位ドライバによる制御を開始させることを前記上位ドライバに指示する更新手段と、
を具備することを特徴とするドライバ更新システム。
At least two lower-level drivers that control at least two devices configured redundantly so that one unit operates as an active system and the other operates as a standby system, and controls the at least two devices one-to-one; A driver update system for updating the lower driver of a device control system configured with an upper driver that commonly controls the at least two lower drivers,
Control stop instruction means for instructing the upper driver to stop the control by the lower driver corresponding to the standby device;
Lower driver replacement means for replacing the lower driver whose control has been stopped with a new lower driver;
Control start instruction means for instructing the upper driver to start control by the replaced new lower driver;
Switching instruction means for switching the active device to the standby system, and instructing the host driver to switch the standby device to the active system;
The upper driver is instructed to stop the control of the device by the lower driver responsible for controlling the device switched from the active system to the standby system, and after the control by the lower driver is stopped, the lower driver is moved to the new lower driver. Updating means for instructing the upper driver to replace the driver and start control by the new lower driver after the replacement;
A driver update system comprising:
前記制御停止指示手段は、上位装置から、下位ドライバを更新する旨の指示と交換対象の新たな下位ドライバとを受信し、待機系の装置に対応する前記下位ドライバによる制御を停止させることを、前記上位ドライバに指示し、
前記下位ドライバ置換手段は、前記上位ドライバからの、制御を停止させた旨の通知に応答して、制御を停止させた下位ドライバを、新たな下位ドライバでそれぞれ置換し、
前記制御開始指示手段は、前記下位ドライバ置換手段による置換の完了後、置換された新たな下位ドライバによる制御を開始させることを前記上位ドライバに指示し、
前記切換指示手段は、前記上位ドライバからの制御を開始した旨の通知に応答して、現用系の装置と待機系の装置の切り換えを前記上位ドライバに指示し、
前記更新手段は、前記上位ドライバからの切換完了通知に応答して、現用系であった装置に対応する下位ドライバを更新するための処理を行う、
ことを特徴とする請求項1に記載のドライバ更新システム。
The control stop instruction means receives an instruction to update the lower driver and the new lower driver to be exchanged from the upper device, and stops the control by the lower driver corresponding to the standby device. Instruct the upper driver,
The lower driver replacement means replaces the lower driver whose control has been stopped with a new lower driver in response to a notification from the upper driver that control has been stopped,
The control start instructing unit instructs the upper driver to start control by the replaced new lower driver after completion of the replacement by the lower driver replacing unit,
In response to the notification that the control from the upper driver has started, the switching instruction means instructs the upper driver to switch between the active device and the standby device,
In response to the switching completion notification from the upper driver, the updating means performs processing for updating the lower driver corresponding to the device that was the active system.
The driver update system according to claim 1.
前記更新手段は、
現用系から待機系に切り換えられた装置の制御を担当する下位ドライバによる制御を停止させることを前記上位ドライバに指示する第2の制御停止指示手段と、
該下位ドライバによる制御の停止後、該下位ドライバを、新たな下位ドライバで置換する第2の下位ドライバ置換手段と、
置換後の新たな下位ドライバによる制御を開始させる第2の制御開始指示手段と、
を具備することを特徴とする請求項1または2に記載のドライバ更新システム。
The updating means includes
A second control stop instruction means for instructing the upper driver to stop the control by the lower driver responsible for controlling the device switched from the active system to the standby system;
A second lower driver replacement means for replacing the lower driver with a new lower driver after the control by the lower driver is stopped;
A second control start instruction means for starting control by the new lower driver after replacement;
The driver update system according to claim 1, further comprising:
前記少なくとも2台の装置のうち1台が主に現用系として動作するように設定されており、
前記更新手段は、
下位ドライバを更新して、待機系として制御を開始した後で、前記主に現用系として動作する装置を現用系に切り換えることを前記上位ドライバに指示する第2の切換指示手段
をさらに具備することを特徴とする請求項1、2または3に記載のドライバ更新システム。
One of the at least two devices is set to operate mainly as an active system,
The updating means includes
And a second switching instruction means for instructing the upper driver to switch the device mainly operating as the active system to the active system after updating the lower driver and starting the control as the standby system. The driver update system according to claim 1, 2, or 3.
前記下位ドライバ置換手段は、前記下位ドライバと前記新たな下位ドライバとの新旧を判別して、前記新たなドライバが前記下位ドライバと同一か古い場合には置換しないことを特徴とする請求項1乃至4の何れか1項に記載のドライバ更新システム。   2. The lower driver replacement means determines whether the lower driver and the new lower driver are new or old, and does not replace if the new driver is the same as or older than the lower driver. 5. The driver update system according to any one of 4 above. 1台が現用系として動作し、他が待機系として動作するように冗長構成された少なくとも2台の装置を制御し、前記少なくとも2台の装置を1対1で制御する少なくとも2つの下位ドライバと該少なくとも2つの下位ドライバを共通に制御する上位ドライバとから構成される装置制御システムの前記下位ドライバを更新するドライバ更新方法であって、
待機系の装置に対応する前記下位ドライバによる制御を停止させることを、前記上位ドライバに指示する制御停止指示ステップと、
制御を停止させた下位ドライバを、新たな下位ドライバでそれぞれ置換する下位ドライバ置換ステップと、
置換された新たな下位ドライバによる制御を開始させることを前記上位ドライバに指示する制御開始指示ステップと、
現用系の装置を待機系に切り換え、待機系の装置を現用系に切り換えることを前記上位ドライバに指示する切換指示ステップと、
現用系から待機系に切り換えられた装置の制御を担当する下位ドライバによる該対応する装置の制御を停止させることを前記上位ドライバに指示し、該下位ドライバによる制御の停止後、該下位ドライバを、新たな下位ドライバで置換し、置換後の新たな下位ドライバによる該対応する装置の制御を開始させることを前記上位ドライバに指示する更新ステップと、
を備えることを特徴とするドライバ更新方法。
At least two lower-level drivers that control at least two devices configured redundantly so that one unit operates as an active system and the other operates as a standby system, and controls the at least two devices one-to-one; A driver update method for updating the lower driver of a device control system composed of an upper driver that commonly controls the at least two lower drivers,
A control stop instruction step for instructing the upper driver to stop the control by the lower driver corresponding to the standby device;
A lower driver replacement step of replacing the lower driver whose control has been stopped with a new lower driver;
A control start instruction step for instructing the upper driver to start control by the replaced new lower driver;
A switching instruction step for switching the active device to the standby system and instructing the host driver to switch the standby device to the active system;
The upper driver is instructed to stop the control of the corresponding device by the lower driver responsible for controlling the device switched from the active system to the standby system, and after the control by the lower driver is stopped, the lower driver is An update step for instructing the upper driver to replace with a new lower driver and start control of the corresponding device by the new lower driver after replacement;
A driver update method comprising:
1台が現用系として動作し、他が待機系として動作するように冗長構成された少なくとも2台の装置を制御し、前記少なくとも2台の装置を1対1で制御する少なくとも2つの下位ドライバと該少なくとも2つの下位ドライバを共通に制御する上位ドライバとから構成される装置制御システムの前記下位ドライバを更新するプログラムであって、
待機系の装置に対応する前記下位ドライバによる制御を停止させることを、前記上位ドライバに指示する制御停止指示手順と、
制御を停止させた下位ドライバを、新たな下位ドライバでそれぞれ置換する下位ドライバ置換手順と、
置換された新たな下位ドライバによる制御を開始させることを前記上位ドライバに指示する制御開始指示手順と、
現用系の装置を待機系に切り換え、待機系の装置を現用系に切り換えることを前記上位ドライバに指示する切換指示手順と、
現用系から待機系に切り換えられた装置の制御を担当する下位ドライバによる制御を停止させることを前記上位ドライバに指示し、該下位ドライバによる制御の停止後、該下位ドライバを、新たな下位ドライバで置換し、置換後の新たな下位ドライバによる制御を開始させることを前記上位ドライバに指示する更新手順と、
をコンピュータに実行させるプログラム。
At least two lower-level drivers that control at least two devices configured redundantly so that one unit operates as an active system and the other operates as a standby system, and controls the at least two devices one-to-one; A program for updating the lower driver of a device control system composed of an upper driver that commonly controls the at least two lower drivers,
A control stop instruction procedure for instructing the upper driver to stop control by the lower driver corresponding to a standby device;
A lower driver replacement procedure for replacing a lower driver whose control has been stopped with a new lower driver,
A control start instruction procedure for instructing the upper driver to start control by the replaced new lower driver;
A switching instruction procedure for switching the active device to the standby system and instructing the host driver to switch the standby device to the active system;
The upper driver is instructed to stop the control by the lower driver responsible for controlling the device switched from the active system to the standby system, and after the control by the lower driver is stopped, the lower driver is replaced with a new lower driver. An update procedure for instructing the upper driver to replace and start control by the new lower driver after replacement;
A program that causes a computer to execute.
JP2003286279A 2003-08-04 2003-08-04 Driver update system, driver update method and program Pending JP2005056148A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003286279A JP2005056148A (en) 2003-08-04 2003-08-04 Driver update system, driver update method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003286279A JP2005056148A (en) 2003-08-04 2003-08-04 Driver update system, driver update method and program

Publications (1)

Publication Number Publication Date
JP2005056148A true JP2005056148A (en) 2005-03-03

Family

ID=34365632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003286279A Pending JP2005056148A (en) 2003-08-04 2003-08-04 Driver update system, driver update method and program

Country Status (1)

Country Link
JP (1) JP2005056148A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299386A (en) * 2006-04-28 2007-11-15 Hewlett-Packard Development Co Lp System for controlling i/o devices in multi-partition computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299386A (en) * 2006-04-28 2007-11-15 Hewlett-Packard Development Co Lp System for controlling i/o devices in multi-partition computer system
JP4576398B2 (en) * 2006-04-28 2010-11-04 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. System for controlling I / O devices of a multi-partition computer system

Similar Documents

Publication Publication Date Title
US6684396B1 (en) Method for upgrading running software processes without compromising fault-tolerance
JP4359609B2 (en) Computer system, system software update method, and first server device
US6971095B2 (en) Automatic firmware version upgrade system
US20080244552A1 (en) Upgrading services associated with high availability systems
CN110874261B (en) Availability system, method, and storage medium storing program
US20210089379A1 (en) Computer system
JP2011170528A (en) Distributed information processing system and distributed storage system
US20030145061A1 (en) Server management system
JP2007304845A (en) Virtual computer system and software update method
JP2006252437A (en) Method and procedure for applying patch
JP2006293512A (en) Software update information distribution system and software update information distribution method
JP3901060B2 (en) Application update processing method, update processing system, and update processing program
JP2005056148A (en) Driver update system, driver update method and program
JP2009251756A (en) Client device, distributed file system, shared resource multiplexing method, and program
JP2006323485A (en) Server system and software updating method
CN113874842B (en) Fault tolerant system, server, method for operating fault tolerant system and method for operating server
JP2004334739A (en) Backup method of data, restoration method of backup data, network storage device, and network storage program
JP3451499B2 (en) I / O device control system configuration change processing method
JP2008217202A (en) Disk array device and firmware update method
JP2015153128A (en) Call processing control device and software update method of the same, call processing system, and computer program
JPH11353202A (en) Distributed data processing system
JP2004157767A (en) Software update system
JP2666426B2 (en) Duplex auxiliary storage device
JP3589433B2 (en) Database guarantee method
JP2016173636A (en) Method for updating firmware and dual system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070115

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070904

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080108