JP2005056148A - Driver update system, driver update method and program - Google Patents
Driver update system, driver update method and program Download PDFInfo
- 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
Links
Images
Abstract
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参照。)。ドライバが更新されている間、旧ドライバと新ドライバとが共にロードされており、各装置の制御を段階的に旧ドライバから新ドライバに移行させる。
このドライバ更新方法によると、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,
コンピュータ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
制御部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
主記憶部120は、例えば、RAM(Random Access Memory)から構成され、制御部110のワークエリアとして機能する。主記憶部120には、OS、ドライバ、アプリ、ドライバ更新プログラム、「新しいドライバ」、などの実行コードあるいはデータが、外部記憶装置220あるいは230などからロードされる。
The
入出力チャネル130は、CPUなどを備え、主記憶部120と入出力装置との間のデータ転送処理を行う。
The input /
外部記憶装置220と外部記憶装置230とは、ハードディスク、もしくはハードディスクアレイなどから構成され、コンピュータ10の補助記憶装置としての役割を果たす。
外部記憶装置220と外部記憶装置230とは、一方が現用系となって動作し、他方が待機系となって動作する。現用系が障害などの理由により動作できなくなった場合には、例えば、ドライバが現用系と待機系とを入れ替える。ミラーリングなどの手法により、外部記憶装置220が格納しているデータと外部記憶装置230が格納しているデータとは同期がとられる。
The
One of the
キーボード310、およびマウス320は、利用者がコンピュータ100に各種情報処理の開始などを指示する装置である。また、ディスプレイ400は、コンピュータ100の処理結果を利用者に対して表示する装置である。
The
ドライバは、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
The lower driver 720 includes an internal I /
ドライバ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
Since the driver 700 distributes the input / output requests received from 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 /
下位ドライバ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 /
Processing results (for example, read data) of the
また、上位ドライバ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
制御部810は、制御指示部820と、ドライバ更新部830と、切換指示部840と、同期指示部850などを制御する。
制御指示部820は、上位ドライバ710に下位ドライバの切り離し・登録の指示を出し、上位ドライバ710からの応答を待つ。下位ドライバを切り離す場合は、ドライバ識別子を指定して下位ドライバを停止させる指示を、上位ドライバ710に出す。下位ドライバを組み込む場合には、ドライバファイルを指定して下位ドライバとして動作するように組み込む指示を、上位ドライバ710に出す。なお、予め上位ドライバ710に問い合わせ、ドライバ識別子を取得する。(以下、同じ。)
ドライバ更新部830は、新しい下位ドライバを主記憶部120に読み込み、ドライバ700の下位ドライバとして実行可能な状態にする。
切換指示部840は、現用系を制御している下位ドライバのドライバ識別子と、現用系を制御させたい下位ドライバのドライバ識別子とを指定して、現用系と待機系とを切り換える指示を、上位ドライバ710に出す。
同期指示部850は、上位ドライバ710に、下位ドライバ720、730を介して、外部記憶装置220、230が格納しているデータの同期をとらせる旨の指示を出す。
The
The
The
The switching
The
なお、以下の説明では、制御部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
次に、図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
まず、ドライバ更新プログラム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
以上の各ステップにより、まず下位ドライバ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
なお、本発明は上記実施の形態に限定されず、種々の変形および応用が可能である。 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.
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
700 Driver 710
720, 730
800
Claims (7)
待機系の装置に対応する前記下位ドライバによる制御を停止させることを、前記上位ドライバに指示する制御停止指示手段と、
制御を停止させた下位ドライバを、新たな下位ドライバで置換する下位ドライバ置換手段と、
置換された新たな下位ドライバによる制御を開始させることを前記上位ドライバに指示する制御開始指示手段と、
現用系の装置を待機系に切り換え、待機系の装置を現用系に切り換えることを前記上位ドライバに指示する切換指示手段と、
現用系から待機系に切り換えられた装置の制御を担当する下位ドライバによる装置の制御を停止させることを前記上位ドライバに指示し、該下位ドライバによる制御の停止後、該下位ドライバを、新たな下位ドライバで置換し、置換後の新たな下位ドライバによる制御を開始させることを前記上位ドライバに指示する更新手段と、
を具備することを特徴とするドライバ更新システム。 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または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.
待機系の装置に対応する前記下位ドライバによる制御を停止させることを、前記上位ドライバに指示する制御停止指示ステップと、
制御を停止させた下位ドライバを、新たな下位ドライバでそれぞれ置換する下位ドライバ置換ステップと、
置換された新たな下位ドライバによる制御を開始させることを前記上位ドライバに指示する制御開始指示ステップと、
現用系の装置を待機系に切り換え、待機系の装置を現用系に切り換えることを前記上位ドライバに指示する切換指示ステップと、
現用系から待機系に切り換えられた装置の制御を担当する下位ドライバによる該対応する装置の制御を停止させることを前記上位ドライバに指示し、該下位ドライバによる制御の停止後、該下位ドライバを、新たな下位ドライバで置換し、置換後の新たな下位ドライバによる該対応する装置の制御を開始させることを前記上位ドライバに指示する更新ステップと、
を備えることを特徴とするドライバ更新方法。 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:
待機系の装置に対応する前記下位ドライバによる制御を停止させることを、前記上位ドライバに指示する制御停止指示手順と、
制御を停止させた下位ドライバを、新たな下位ドライバでそれぞれ置換する下位ドライバ置換手順と、
置換された新たな下位ドライバによる制御を開始させることを前記上位ドライバに指示する制御開始指示手順と、
現用系の装置を待機系に切り換え、待機系の装置を現用系に切り換えることを前記上位ドライバに指示する切換指示手順と、
現用系から待機系に切り換えられた装置の制御を担当する下位ドライバによる制御を停止させることを前記上位ドライバに指示し、該下位ドライバによる制御の停止後、該下位ドライバを、新たな下位ドライバで置換し、置換後の新たな下位ドライバによる制御を開始させることを前記上位ドライバに指示する更新手順と、
をコンピュータに実行させるプログラム。 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.
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)
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 |
-
2003
- 2003-08-04 JP JP2003286279A patent/JP2005056148A/en active Pending
Cited By (2)
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 |