WO2014103037A1 - 情報処理装置、情報処理方法、及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法、及び情報処理プログラム Download PDF

Info

Publication number
WO2014103037A1
WO2014103037A1 PCT/JP2012/084154 JP2012084154W WO2014103037A1 WO 2014103037 A1 WO2014103037 A1 WO 2014103037A1 JP 2012084154 W JP2012084154 W JP 2012084154W WO 2014103037 A1 WO2014103037 A1 WO 2014103037A1
Authority
WO
WIPO (PCT)
Prior art keywords
load
information processing
information
response
output
Prior art date
Application number
PCT/JP2012/084154
Other languages
English (en)
French (fr)
Inventor
ユスティヌス ジュリ
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to JP2014554026A priority Critical patent/JP6011639B2/ja
Priority to PCT/JP2012/084154 priority patent/WO2014103037A1/ja
Publication of WO2014103037A1 publication Critical patent/WO2014103037A1/ja
Priority to US14/745,583 priority patent/US20150286548A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3048Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the topology of the computing system or computing system component explicitly influences the monitoring activity, e.g. serial, hierarchical systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3068Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data format conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Abstract

 1つの側面では、情報処理システムにおける応答性能を向上する。 ユーザのI/O負荷条件(56)を、監視デーモンプログラム(62)が受け取り(Pa)、I/O負荷パターンを生成し、外部コマンド(58)でI/O負荷を与え(Pb、Pc)、I/O応答時間をI/O監視ドライバ(68)から取得する。I/O応答時間から、I/Oタイムアウト時間を求め、設定する。I/O監視ドライバ(68)は、I/O要求後にディスクドライバ(72)から応答があるまで、I/Oを監視する(Pd~Pf、Pj)。監視デーモンプログラム(62)は、I/O監視ドライバ(68)から運用段階のI/O負荷情報を取得し、I/Oタイムアウト時間を求めて、I/O監視ドライバ(68)へ通知することで、I/Oタイムアウト時間が更新される(Ph)。従って、I/O負荷の変化に応じたI/Oタイムアウト時間となる。

Description

情報処理装置、情報処理方法、及び情報処理プログラム
 情報処理装置、情報処理方法、及び情報処理プログラムに関する。
 コンピュータを使用して業務処理を行う情報処理システムが知られている。コンピュータを使用して業務処理を行うときには、利用するデータを、HDD(Hard Disk Drive)等の記憶装置に記憶して利用することが一般的である。コンピュータで使用する記憶装置等のデバイスに障害が生じると、業務処理に影響を及ぼす場合がある。
 そこで、業務処理で利用する記憶装置の障害が及ぼす影響を抑制するために、ミラーリング等の冗長化技術により記憶装置の冗長性を向上させることが行われている。例えば、ディスクミラーリングと呼ばれる冗長化技術では、複数のローカルなディスクドライブに同一の内容を記録する。冗長化技術では、複数のディスクや複数の記憶装置の各々に同時にデータを書き込み、データの読み出しは予め定めた主となる単一のディスクや単一の記憶装置から行う。
 冗長化技術では、主となる単一のディスクや単一の記憶装置に障害が発生した場合、迅速に他のディスクや他の記憶装置を主となるように切り替える等の障害を回避する処理が行われる。コンピュータを使用して業務処理を行う場合、ディスクや記憶装置に障害が発生した際に、他のディスクや他の記憶装置に切り替える等の障害を回避する処理に要する時間は、業務処理を継続するときの妨げになる。ディスクや記憶装置の障害が業務処理に影響を及ぼすことを抑制するために、入出力要求(I/O要求)に対する応答を監視し、所定時間を経過すると応答がないものとみなすタイムアウト技術が知られている。つまり、タイムアウト技術は、記憶装置の応答遅延を抑止する機能を含む技術である。
 タイムアウト技術の一例には、I/O要求に対する応答を監視するタイムアウト時間を設定する技術がある。例えば、情報処理システムに一定の負荷を与え、測定した情報処理システムの性能に応じてタイムアウト時間を設定する技術が知られている。システムの性能に応じてタイムアウト時間を設定する技術では、情報処理システムに一定の負荷を与えたときの単位時間当たりの入出力コマンド数と入出力コマンド数に対する応答時間を、処理性能情報として収集する。収集した処理性能情報に基づき、タイムアウト時間の予測値を求めて使用することで、タイムアウト時間が設定される。
 また、タイムアウト時間を設定する他の例として、I/O要求毎に、負荷に応じたタイムアウト時間を問い合わせる技術が知られている。タイムアウト時間を問い合わせる技術では、入出力要求毎にコンピュータに対する負荷に応じてタイムアウト時間を設定することができる。
特開2010-113383号公報 特開2005-165658号公報
 しかしながら、情報処理システムにおける負荷は、情報処理システムにおいて実行される業務処理に応じて変化する。従って、情報処理システムに一定の負荷を与えて得られる処理性能情報により設定されるタイムアウト時間として、情報処理システムにおいて実行される業務処理に対応するタイムアウト時間が設定されない場合がある。また、入出力要求毎にコンピュータに対する負荷に応じてタイムアウト時間を設定する場合、入出力要求発行毎に毎回タイムアウト時間を問い合わせる必要がある。従って、入出力要求毎に負荷は増加する。
 1つの側面では、情報処理システムにおける応答性能を向上させることが目的である。
 開示の技術は、システムに応じて予め定められると共に、該システムに含まれるデバイスに対するデータの入出力に関係する負荷でかつ、該システムに与える負荷を定めるための負荷条件を取得する。取得した負荷条件に基づいて、稼働する前記システムに対して与える負荷を求め、求めた負荷を、前記システムに与える。前記システムに与えた負荷及び該負荷が与えられているときの前記デバイスに対するデータの入出力の要求に対する応答時間に相関関係を示す負荷情報を取得する。取得した負荷情報に基づいて、データの入出力を要求してから応答するまでの応答監視時間を設定する。
 1つの実施態様では、情報処理システムにおける応答性能を向上させることができる。
実施形態に係る情報処理装置をコンピュータで実現する場合の一例を示すブロック図である。 I/O特性テーブルの一例を示すイメージ図である。 各種プログラムを機能的に捉えたブロック図の一例を示すイメージ図である。 監視デーモンプログラムの初期段階の処理の流れの一例を示すフローチャートである。 監視デーモンプログラムでタイムアウト時間を求める処理の流れの一例を示すフローチャートである。 I/O負荷とI/O応答時間の関係の一例を示すイメージ図である。 監視デーモンプログラムの運用段階の処理の流れの一例を示すフローチャートである。 監視デーモンプログラムでタイムアウト時間を求める処理の流れの一例を示すフローチャートである。 I/O監視ドライバの初期段階の処理の流れの一例を示すフローチャートである。 I/O監視ドライバのI/O負荷情報が要求されるときの処理の流れの一例を示すフローチャートである。 I/O監視ドライバの運用段階の処理の流れの一例を示すフローチャートである。 I/O監視ドライバのI/Oタイムアウト時間の変更が要求されるときの処理の流れの一例を示すフローチャートである。 I/O中断ドライバの処理の流れの一例を示すフローチャートである。
 以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
 図1に、本実施形態に係る情報処理装置を、コンピュータで実現する場合の一例を示す。
 コンピュータ32はCPU42、メモリ44、不揮発性の格納部54を備えている。CPU42、メモリ44、及び格納部54はバス80を介して互いに接続されている。格納部54はHDDやフラッシュメモリ等によって実現できる。また、コンピュータ32はネットワーク36に接続するための通信制御部50を備え、通信制御部50はバス80に接続されている。また、コンピュータ32は、出力デバイスの一例としての表示装置46、キーボードやマウス等の入力デバイスの一例としての入力装置47を備えている。表示装置46、及び入力装置47はバス80に接続されている。また、コンピュータ32は、光ディスク等の記録媒体49が挿入され、挿入された記録媒体49に対して読み書きするための装置(R/W装置)48を備え、R/W装置48はバス80に接続されている。なお、表示装置46、入力装置47、及びR/W装置48は、省略してもよく、必要に応じてバス80に接続するようにしてもよい。
 また、コンピュータ32は、情報を格納するためのディスク40,41を備え、ディスク40,41はディスク制御部52を介してバス80に接続されている。なお、ディスク40,41は、周知の冗長化プログラムにより冗長化される。冗長化プログラムは、ディスク40,41の冗長化処理を実行するソフトウェアである。
 冗長化プログラムの一例として、ディスクミラーリングと呼ばれる冗長化技術を用いたプログラムが知られている。ディスクミラーリングによる処理では、ディスク40,41の各々に同一の内容のデータを書き込み、データの読み出しは予め定めた主となる単一のディスクから行う。本実施形態では、主となる単一のディスクをディスク40として説明する。ディスクミラーリングによる処理には、コンピュータ32において、ディスク40に障害が発生した場合、迅速にディスク41を主となるように切り替える等の障害を復旧する処理が含まれる。
 なお、以下の説明では、ディスク40,41がディスクミラーリングによる処理で冗長化されているので、ディスク40,41の各々を区別して扱う必要がないときは、ディスク40と表記して説明する。
 格納部54には、アプリケーションプログラム60、及び監視デーモンプログラム62が記憶されている。アプリケーションプログラム60、及び監視デーモンプログラム62は、OS(Operating System)より上位のユーザ層で実行されるソフトウェアとして分類される。また、格納部54には、OSのカーネル層で実行されるソフトウェアとして分類されるドライバ66が記憶されている。また、格納部54には、I/O特性テーブル76を含むデータベース74が記憶される。
 アプリケーションプログラム60は、コンピュータ32で実行される各種のプログラムである。また、監視デーモンプログラム62は、コンピュータ32の稼働中に、I/O負荷を監視し、コンピュータ32で実行される業務処理に応じてI/Oタイムアウト時間を変更するプログラムである。
 本実施形態では、コンピュータ32で実行される業務処理の応答遅延を抑制するために、監視デーモンプログラム62、及びドライバ66が実行される。CPU42は、監視デーモンプログラム62を格納部54から読み出してメモリ44に展開し、実行する。また、CPU42は、ドライバ66を格納部54から読み出してメモリ44に展開し、実行する。
 ドライバ66は、I/O監視ドライバ68、I/O中断ドライバ70、及びディスクドライバ72を含んでいる。I/O監視ドライバ68及びI/O中断ドライバ70は、ユーザ層に近い上位ドライバに分類され、ディスクドライバ72は、ハードウェア層に近い下位ドライバに分類される。
 I/O監視ドライバ68は、アプリケーションプログラム60等からのI/O要求を受け取り、下位ドライバへ送出してから下位ドライバからI/O応答が戻るまでの時間を監視する。なお、I/O監視ドライバ68がI/O要求を下位ドライバへ送出してから下位ドライバからI/O応答が戻るまでの時間を、I/O応答時間とする。I/O監視ドライバ68は、下位ドライバからのI/O応答をアプリケーションプログラム60等に返す。一方、I/O監視ドライバ68は、下位ドライバのI/O応答時間が予め設定されたI/Oタイムアウト時間を超えると、I/O中断ドライバ70にI/Oキャンセルの要求を送る。
 また、I/O監視ドライバ68は、I/O負荷情報を記録する。I/O負荷情報は、所定時間(t)内の平均I/O応答時間(rt)を示す情報を含む。また、I/O負荷情報は、所定時間(t)内の平均I/O応答時間(rt)や、所定時間(t)当たりのI/O量(iosize)を示す情報を含む。また、I/O負荷情報は、所定時間(t)内の読み書き(read,write)についてのI/O数(iops)及び比率(rdperc)を示す情報を含む。また、I/O監視ドライバ68は、I/O負荷情報の問合せがある場合、記録しているI/O負荷情報を返信する。また、I/O監視ドライバ68は、I/Oタイムアウト時間の変更通知を受けると、現在設定されているI/Oタイムアウト時間を更新する。
 I/O中断ドライバ70は、I/O監視ドライバ68からI/Oキャンセル要求を受けると、下位ドライバにキャンセル要求を送出する。
 ディスクドライバ72は、ディスク40に対して、データの入出力を実行する。すなわち、ディスクドライバ72は、ディスク40に対するデータの入出力が要求されると、ディスク40に対してデータの入出力を処理する。
 コンピュータ32の格納部54に記憶されるデータベース74は、I/O特性テーブル76を含んでいる。
 ところで、I/O負荷は、コンピュータ32で稼働するアプリケーションプログラム60における処理で生じるI/O特性によって相違する。例えば、コンピュータ32がストリーミングサーバとして稼働する場合には、ディスク40に対してデータの入力に比べてデータの出力の頻度が多い。つまり、ディスク40に対するデータの書き込み(write)より、ディスク40からデータを読み取る(read)処理が多い。従って、コンピュータ32に対してI/O負荷を規定するI/O負荷条件は、コンピュータ32で稼働するアプリケーションプログラム60の種類やコンピュータ32を使用する業務処理の内容に則して設定することが好ましい。そこで、本実施形態では、I/O負荷条件を示す情報を、I/O特性テーブル76として格納する。I/O特性テーブル76は、コンピュータ32で稼働するアプリケーションプログラム60の種類及び機能等、並びにコンピュータ32を使用する業務処理等に対するI/O特性を示す情報が登録されるテーブルである。
 図2に、I/O特性テーブル76の一例を示す。I/O特性テーブル76は、「アプリケーション」の項目に、アプリケーションプログラム60を識別するための名称を示す情報が登録される。図2では、項目「アプリケーション」の情報として、「ウェブ」、「メール」、「ビデオストリーミング」の情報が記憶されている一例を示す。「ウェブ」の情報は、コンピュータ32がウェブサーバとして稼働する場合の情報の一例を示す。また、「メール」の情報は、コンピュータ32がメールサーバとして稼働する場合の情報の一例を示す。また、「ビデオストリーミング」の情報は、コンピュータ32がビデオストリーミングサーバとして稼働する場合の情報の一例を示す。
 I/O特性テーブル76は、ユーザにより予め登録される。例えば、アプリケーションプログラム60、或いはコンピュータ32を使用する業務処理等の、追加、変更または削除が生じたとき、I/O特性テーブル76に対してI/O特性を示す情報が登録、変更または削除される。また、コンピュータ32を使用して行う業務処理が複数ある場合には、複数の業務処理の各々に対応するI/O特性であるI/O負荷条件を示す情報が登録される。図2の例では、I/O負荷条件を示す情報を追加する場合、I/O特性テーブル76に行が追加されて登録される。
 なお、コンピュータ32は開示の技術における情報処理装置の一例である。つまり、開示の技術の情報処理装置がコンピュータ32で実現され、CPU32が監視デーモンプログラム62及びドライバ66を実行することで、コンピュータ32は開示の技術の情報処理装置として動作される。
 また、I/Oタイムアウト時間は、開示の技術の応答監視時間の一例である。また、監視デーモンプログラム62及びドライバ66は、開示の技術における情報処理プログラムの一例を含む。また、監視デーモンプログラム62及びドライバ66は、コンピュータ32を情報処理装置として機能させるためのプログラムでもある。また、コンピュータ32に処理を実行させるためのプログラムを記録した光ディスク等の記録媒体49は開示の技術の記録媒体の一例である。また、格納部54の実現例であるHDD等は、開示の技術の記録媒体の一例でもある。
 また、データベース74に含まれるI/O特性テーブル76は、開示の技術におけるテーブルの一例である。また、コンピュータ32の格納部54に記憶されたデータベース74は開示の技術のテーブルを記憶した記憶部に対応する。
 また、CPU42は、I/O監視ドライバ68を実行することで、開示の技術における監視部として動作する。すなわち、開示の技術の情報処理装置がコンピュータ32で実現され、I/O監視ドライバ68を実行することでコンピュータ32は情報処理装置の監視部として動作される。また、CPU42は、I/O中断ドライバ70を実行することで、開示の技術における中断部として動作する。すなわち、開示の技術の情報処理装置がコンピュータ32で実現され、I/O中断ドライバ70を実行することでコンピュータ32は情報処理装置の中断部として動作される。
 次に本実施形態の作用を説明する。本実施形態では、ディスクの応答遅延を抑制する一例として、コンピュータ32におけるI/O要求に対する応答に関する処理について説明する。
 本実施形態では、I/O要求に対する応答遅延に関する課題を解決する。第1の課題は、固定値として応答監視時間(I/Oタイムアウト時間)を定めた場合に、稼働中のコンピュータ32において変動するI/O負荷の変化に対応することができないことである。すなわち、I/Oタイムアウト時間を固定値とすると、稼働中のコンピュータ32におけるI/O負荷の状態変化に迅速に対応することができない。従って、稼働中のコンピュータ32に対して、I/Oタイムアウト時間が長すぎたり短かすぎるように、ばらつく場合がある。例えば、設定されたI/Oタイムアウト時間がI/O負荷の状態に対して長い場合、ディスクに不具合が発生しても、不具合が生じたディスクの特定に時間を要するため、システムにスローダウンが発生する場合がある。
 第2の課題は、応答監視時間は、コンピュータ32を扱うユーザが個別に設定することが必要であるため、ユーザ負担が大きいことである。すなわち、ユーザによるI/Oタイムアウト時間の設定では、ユーザがシステム構成を把握しつつ設定しなければならないため、ユーザの負担が増加する。なお、I/Oタイムアウト時間は、I/Oを処理するドライバが設定処理することが好ましいが、ドライバには複雑な処理を実装することが困難であるという課題も付随する。
 上記第1の課題及び第2の課題を解決するために、本実施形態では、システムのI/O負荷を定期的に監視し、I/O負荷の状態に応じてI/Oタイムアウト時間を変更する。すなわち、稼働中のコンピュータ32におけるI/O負荷の変化に対応するために、I/O負荷を監視する。そして、I/O負荷の監視結果からI/Oタイムアウト時間を求めて、稼働中のコンピュータ32におけるI/O負荷に応じたI/Oタイムアウト時間を設定する。また、I/O負荷の監視処理は、ユーザ層で実行されるプロセスで実現する。従って、I/O負荷の監視処理を実行するときにはドライバの負担にならず、I/O性能に影響を与えない。また、I/Oタイムアウト時間を自動的に設定することにより、ユーザの負担が抑制される。
 まず、コンピュータ32で実現されるディスクの応答遅延を抑制する処理は、最初に実行する初期段階の応答遅延抑制処理と、初期段階の後に実行する運用段階の応答遅延抑制処理とに分類できる。初期段階の応答遅延抑制処理では、I/O負荷条件に応じたI/O負荷をコンピュータ32に与えたときのI/O応答時間に基づき、I/Oタイムアウト時間を求め、データとして保存する。運用段階の応答遅延抑制処理では、コンピュータ32の稼働中に変化する現在のI/O負荷を検出し、I/O負荷に応じたI/Oタイムアウト時間を求め、データを更新する。初期段階の応答遅延抑制処理、及び運用段階の応答遅延抑制処理について、図3を参照して説明する。
 図3に、コンピュータ32で実行される各種プログラムを機能的に捉えたブロック図の一例を示す。図3は、コンピュータ32で実行される各種プログラムが実行される層について階層構造で示す一例である。図3は、階層構造として、ユーザ層90,カーネル層92、及びハードウェア層94に分類した一例である。
 ドライバ66は、カーネル層92に含まれている。ディスクドライバ72は、カーネル層92のうちのハードウェア層94に近い下位ドライバ92Dに分類される。I/O監視ドライバ68及びI/O中断ドライバ70は、カーネル層92のうちのユーザ層に近い上位ドライバ92Uに分類される。I/O監視ドライバ68及びI/O中断ドライバ70を含む上位ドライバ92U内のドライバは、I/O処理に関係するドライバとして、I/O処理ドライバ67と見なすことができる。なお、図3では、I/O監視ドライバ68にI/O監視スレッド68S及びI/O処理スレッド68Tを含む一例を示す。また、図3では、I/O中断ドライバ70にI/O中断スレッド70Sを含む一例を示す。また、図3では、応答遅延抑制処理に含まれる処理にPa~Pjの符号を付し、処理Pa~Pjとして説明する。
 初期段階の応答遅延抑制処理では、まず、ユーザによるI/O負荷条件の入力プロセス56において、I/O負荷条件を示す情報が入力される。具体的には、ユーザは、入力装置47の操作により、I/O負荷条件を示す情報を入力する。CPU42は、ユーザにより入力されたI/O負荷条件を示す情報の入力値を取得し、I/O特性テーブル76に登録する。なお、ユーザは、入力装置47の操作により、コンピュータ32で稼働されるアプリケーションに応じたI/O負荷条件を示す情報を指定できる。本実施形態では、I/O特性テーブル76に登録されているI/O負荷条件について応答遅延抑制処理を実行する。
 処理Paでは、監視デーモンプログラム62は、ユーザにより入力されたI/O負荷条件を示す情報を取得する。I/O負荷条件は、稼働中のコンピュータ32におけるI/O負荷の比率(readとwriteの比率)、I/Oサイズの情報を示すものである。監視デーモンプログラム62は、I/O負荷条件を示す情報を取得すると、I/O負荷パターンを生成する。I/O負荷パターンの一例は、コンピュータ32に与えるI/O負荷の値、I/O負荷を与える時間、及びI/O負荷を与える形式を示す各情報の組み合わせである。
 具体的なI/O負荷パターンの一例には、I/Oサイズ(KB)、read比率(%)、負荷をかける時間(秒)、I/O種別の各情報を含む。I/O種別を示す情報には、シーケンシャル(seq)、またはランダム(rnd)を示す情報がある。なお、I/Oサイズは、I/O負荷条件で示す情報の値に対して0.5倍~50倍の値とする。また、read比率は、I/O負荷条件で示す情報の値に対して0.5倍~2倍の値とする。また、I/O負荷を与える時間は1分~5時間とする。
 次に、処理Pbでは、監視デーモンプログラム62は、I/O負荷パターンに応じたI/O負荷をコンピュータ32に与えて、I/O応答時間を取得する。すなわち、監視デーモンプログラム62は、I/O負荷パターンを示す情報及び外部コマンドを用いて、I/O負荷パターンに応じたI/O負荷を、コンピュータ32に与える指示を実行する。外部コマンドの一例には、「iotest」がある。
 次に、処理Pcでは、コンピュータ32は、I/O負荷パターンを示す情報を用いた外部コマンドを実行することで、I/O処理を要求する。すなわち、コンピュータ32は、監視デーモンプログラム62によるI/O負荷パターンを示す情報及び外部コマンドによる命令を受け取り、コマンド実行プロセス58において、I/O処理を要求する。コマンド実行プロセス58では、I/O監視ドライバ68に対して外部コマンドが出力される。監視デーモンプログラム62は、I/O監視ドライバ68に出力された外部コマンドに対するI/O応答時間を、I/O監視ドライバ68から取得する。なお、I/O監視ドライバ68では、I/O処理スレッド68Tが、下位ドライバ92Dに含まれるディスクドライバ72に、I/O要求を送り、I/O監視スレッド68Sに通知する。I/O監視スレッド68Sは、ディスクドライバ72からの応答を監視し、I/O要求から応答の時間を監視デーモンプログラム62へ送る。監視デーモンプログラム62は、受け取ったI/O要求から応答までの時間を、I/O応答時間として取得する。
 監視デーモンプログラム62は、I/O応答時間から、初期段階のI/Oタイムアウト時間を求める。I/Oタイムアウト時間とI/O負荷情報は、コンピュータ32の稼働中に使用するので、データとしてコンピュータ32上に保存する。
 運用段階の応答遅延抑制処理では、初期段階の応答遅延抑制処理で求めたI/Oタイムアウト時間を、コンピュータ32におけるI/Oタイムアウト時間に設定する。そして、コンピュータ32におけるI/O負荷の変化に応じてI/Oタイムアウト時間のデータを更新する。
 まず、運用段階では、アプリケーションプログラム60は、I/O処理ドライバ67及びディスクドライバ72を介してディスク40に対してデータを読み書きする。処理Pdでは、アプリケーションプログラム60よりI/O処理ドライバ67にI/O要求が出力される。つまり、アプリケーションプログラム60でデータを使用するために、I/O処理ドライバ67に含まれるI/O監視ドライバ68のI/O処理スレッド68TにI/O要求を示す情報が出力される。
 I/O処理スレッド68Tは、処理Peにおいて、ディスクドライバ72を介してディスク40に対するI/O要求を示す情報を出力する。また、I/O処理スレッド68Tは、ディスクドライバ72を介してディスク40にI/O要求を出力した後に、処理Pfにおいて、I/O監視スレッド68Sに通知する。I/O監視スレッド68Sは、処理Pjにおいて、I/O処理スレッド68Tからの通知を受け取る(処理Pf)と、ディスクドライバ72を介してディスク40から応答が送られるまで、I/Oを監視する。
 I/O監視スレッド68Sは、I/Oタイムアウト時間を経過しても、ディスクドライバ72を介してディスク40よりの応答がないとき、I/Oタイムアウトが発生したと判断する。I/O監視スレッド68Sは、I/Oタイムアウトが発生したと判断すると、処理Pgにおいて、I/O中断スレッド70SにI/Oキャンセル要求を示す情報を出力する。I/O監視スレッド68Sは、処理Phにおいて、監視デーモンプログラム62からI/O負荷情報の出力要求があると、I/O負荷情報を監視デーモンプログラム62に出力する。なお、I/O監視スレッド68Sは、監視デーモンプログラム62から、I/Oタイムアウト時間の通知を受けると、I/Oタイムアウト時間を更新する。I/O中断スレッド70Sは、処理Piにおいて、I/O監視スレッド68SよりI/Oキャンセル要求を受け取ると、ディスクドライバ72にディスク40に対するI/Oをキャンセルする要求を示す情報を出力する。
 監視デーモンプログラム62は、コンピュータ32のI/O負荷とI/O応答時間を一定時間間隔で取得する。また、監視デーモンプログラム62は、I/O負荷とI/O応答時間からI/Oタイムアウト時間を求める。
 次に、コンピュータ32の作動をさらに説明する。
 図4に、コンピュータ32で実行されるユーザ層90における監視デーモンプログラム62の初期段階の処理の流れを示す。図4に示す処理ルーチンは、初期段階の応答遅延抑制処理に対応して実行される。
 コンピュータ32において、CPU42は、ステップ100において、ユーザにより入力されたI/O負荷条件を示す情報を取得する。詳細には、ステップ100では、CPU42は、ユーザにより入力されたI/O負荷条件を示す情報の入力値を取得し、I/O特性テーブル76に登録する。次に、CPU42は、ステップ102において、取得したI/O負荷条件に基づいて、I/O負荷パターンを生成する。次に、CPU42は、ステップ104において、I/O負荷パターンを示す情報及び「iotest」等の外部コマンドを用いて、I/O負荷パターンに応じたI/O負荷を、コンピュータ32に与える処理を実行する。すなわち、CPU42が外部コマンドを実行することにより、I/O負荷パターンを示す情報がI/O監視ドライバ68に対して出力される。
 次に、CPU42は、ステップ106において、I/O監視ドライバ68に出力された外部コマンドに対するI/O負荷情報を、I/O監視ドライバ68から取得する。ステップ106では、所定時間毎にI/O負荷情報が取得される。I/O負荷情報を取得するための所定時間は、変更可能になっている。なお、取得されるI/O負荷情報は、I/O応答時間に相関関係を示す情報であり、I/O応答時間、I/O数、I/O数の比率、及びI/O量を用いる。I/O応答時間の一例には、所定時間(t)内の最大I/O応答時間または、所定時間(t)の平均I/O応答時間がある。また、I/O数の一例には、所定時間(t)内のI/O数がある。また、I/O数の比率の一例には、所定時間(t)内のread I/O数の比率(%)がある。また、I/O量の一例には、所定時間(t)内のI/O量がある。
 次に、CPU42は、ステップ108において、I/O応答時間に基づいて、I/Oタイムアウト時間を求める。I/O負荷情報とI/Oタイムアウト時間との関係の一例を次の(1)式に示す。(1)式は、I/O応答時間の一例として、所定時間(t)内の最大I/O応答時間を採用した場合を示している。
Figure JPOXMLDOC01-appb-M000001
・・・(1)
但し、RT    :I/Oタイムアウト時間 (秒)
   rt    :I/O応答時間(秒)
   max( ):最大I/O応答時間(秒)
   iops  :所定時間(t)内のI/O量((2)式参照)
   iosize:所定時間(t)内のI/O量(KB)
   rdperc:所定時間(t)内のread I/O数の比率(%)((3)式参照)
   K     :I/Oタイムアウト係数(1≦K≦2)
   i     :コンピュータに付与されている負荷を示す状態
   j     :特定のI/O負荷の状態で測定した回数
Figure JPOXMLDOC01-appb-M000002
・・・(2)
 
Figure JPOXMLDOC01-appb-M000003
・・・(3)
 
 (1)式は、I/Oタイムアウト時間(RT)が、特定のI/O負荷の状態における最大のI/O応答時間(rt)にI/Oタイムアウト係数を乗算することにより得られることを示している。
 次に、CPU42は、ステップ110において、取得したI/O負荷情報の一部の情報(iops、iosize、rdperc)及びI/Oタイムアウト時間(RT)のデータを、次に示す形式でメモリ44に保存する。
Figure JPOXMLDOC01-appb-M000004

但し、
Figure JPOXMLDOC01-appb-I000005

 
 CPU42は、I/O負荷情報及びI/Oタイムアウト時間のデータ保存が終了すると、ステップ112の処理へ移行する。CPU42は、ステップ112において、前述のステップ102で生成したI/O負荷パターンの全てについてステップ104~ステップ110の処理が終了したか否かを判断する。CPU42は、I/O負荷パターンによる前述の処理が未完であるとき、ステップ112で否定判断し、ステップ104へ戻る。一方、I/O負荷パターンの全てについて前述の処理が終了したときは、CPU42は、ステップ112で肯定判断し、本処理ルーチンを終了する。
 次に、監視デーモンプログラム62の初期段階の処理において、タイムアウト時間を求める処理をさらに説明する。
 図5に、監視デーモンプログラム62の初期段階の処理において、タイムアウト時間を求める処理の流れを示す。図5に示す処理ルーチンは、図4に示すステップ106及びステップ108の処理に対応する。
 まず、CPU42は、ステップ120において、図4のステップ106と同様に、I/O監視ドライバ68に出力された外部コマンドに対するI/O負荷情報を、I/O監視ドライバ68から取得する。なお、取得されるI/O負荷情報は、I/O応答時間、I/O数、I/O数の比率、及びI/O量を含む。
 次に、CPU42は、ステップ122において、I/O負荷情報に対するI/Oタイムアウト時間を示す情報が、メモリ44に保存されているか否かを判断する。I/O負荷情報に対するI/Oタイムアウト時間(RT)を示す情報が、メモリ44に保存されていないとき、CPU42は、ステップ122で否定判断し、ステップ126において、I/Oタイムアウト時間(RT=K・rt)を求める。つまり、ステップ126では、ステップ120で取得したI/O応答時間(rt)にI/Oタイムアウト係数(K)を乗算した値を、I/Oタイムアウト時間(RT)として求める。
 一方、I/O負荷情報に対するI/Oタイムアウト時間を示す情報が、メモリ44に保存されているとき、CPU42は、ステップ122で肯定判断し、ステップ124へ進む。ステップ124では、メモリ44に保存されているI/Oタイムアウト時間を示す値と、ステップ120で取得したI/O応答時間にI/Oタイムアウト係数Kを乗算した値とを用いて、「RT<K・rt」であるか否かを判断する。「RT<K・rt」のとき、CPU42は、ステップ124で肯定判断し、ステップ126でI/Oタイムアウト時間を求めた後、ステップ128へ進む。「RT≧K・rt」のとき、CPU42は、ステップ124で否定判断し、ステップ120へ戻る。
 次に、CPU42は、ステップ128において、I/Oタイムアウト時間の演算が終了したか否かを判断する。ステップ128で否定判断されると、CPU42は、ステップ120へ戻り、処理を繰り返す。一方、ステップ128で肯定判断されると、CPU42は、本処理ルーチンを終了する。
 図6に、I/O負荷とI/O応答時間の関係の一例を示す。図6では、I/O負荷パターンによる負荷が付与されている間に、所定時間毎に取得されたI/O負荷情報がエリアArの範囲内に打点されている。また、図6では、打点Dpに対応する。I/O監視ドライバ68から所定時間毎に取得したI/O負荷情報のうちの最大I/O応答時間を用いて、(1)式を適用して、I/Oタイムアウト時間(RT)が定まる一例を示す。
 次に、監視デーモンプログラム62の運用段階における作動を説明する。
 図7に、コンピュータ32で実行されるユーザ層90における監視デーモンプログラム62の運用段階の処理の流れを示す。図7に示す処理ルーチンは、運用段階の応答遅延抑制処理に対応して実行される。
 CPU42は、ステップ130において、電源遮断等の監視デーモンプログラム62の停止要求がなされたか否かを判断する。停止要求がなされたときには、CPU42は、ステップ130で肯定判断し、本処理ルーチンを終了する。一方、ステップ130で否定判断のときには、CPU42は、ステップ132へ処理を移行する。ステップ132の処理は、図4に示すステップ106の処理と同様に、I/O監視ドライバ68に出力された外部コマンドに対するI/O負荷情報を、I/O監視ドライバ68から取得する。次に、CPU42は、ステップ134において、図4に示すステップ108の処理と同様に、I/O応答時間に基づいて、I/Oタイムアウト時間を求める。
 運用段階では、I/O負荷におけるI/O応答時間を測定しながら、I/Oタイムアウト時間を補正する。つまり、取得したI/O応答時間が初期段階で求めたI/Oタイムアウト時間より長いとき、取得したI/O応答時間を基にして求めたI/Oタイムアウト時間を設定する。一方、短いときは、I/Oタイムアウト時間を維持する。
 具体的には、CPU42は、ステップ136において、現在設定されているI/Oタイムアウト時間とステップ134で求めたI/Oタイムアウト時間とを比較し、I/Oタイムアウト時間の変更が必要か否かを判断する。現在設定されているI/Oタイムアウト時間とステップ134で求めたI/Oタイムアウト時間とが一致または予め定めた閾値の時間内であるときは、I/Oタイムアウト時間を維持できるので、ステップ136で否定判断され、ステップ140へ進む。次に、CPU42は、ステップ140において、図4に示すステップ110の処理と同様に、取得したI/O負荷情報のうちの一部の情報(iops、iosize、rdperc)及びI/Oタイムアウト時間(RT)のデータを、保存し、ステップ130へ戻る。
 一方、現在設定されているI/Oタイムアウト時間とステップ134で求めたI/Oタイムアウト時間とが相違または閾値の時間外であるときは、I/Oタイムアウト時間の変更を要するので、ステップ136で肯定判断され、ステップ138へ進む。CPU42は、ステップ138において、ステップ134で求めたI/Oタイムアウト時間、すなわち新規のI/Oタイムアウト時間をI/O監視ドライバ68へ通知し、ステップ140へ進む。新規のI/Oタイムアウト時間の通知により、I/O監視ドライバ68では、後述するようにI/Oタイムアウト時間を更新する。
 なお、ステップ136における判断処理では、現在設定されているI/Oタイムアウト時間に対するステップ134で求めたI/Oタイムアウト時間の大小による判断処理を含めてもよい。例えば、I/Oタイムアウト時間を短く設定する要求がないとき、ステップ136における判断処理では、ステップ134で求めたI/Oタイムアウト時間が現在設定されているI/Oタイムアウト時間を超えるときに肯定判断されるようにしてもよい。また、I/Oタイムアウト時間を長くしたり短くしたりする時間範囲を予め定めてもよい。
 ところで、監視デーモンプログラム62の運用段階の処理において、設定されたタイムアウト時間を取得できない場合には、タイムアウト時間の設定処理が不安定になる。そこで、設定されたタイムアウト時間を取得できない場合にタイムアウト時間を求める処理をさらに説明する。
 図8に、監視デーモンプログラム62の運用段階の処理において、タイムアウト時間を求める処理の流れを示す。図8に示す処理ルーチンは、監視デーモンプログラム62の運用段階の処理において、設定されたタイムアウト時間を取得できない場合に実行される。
 まず、CPU42は、ステップ142において、図7のステップ132と同様に、I/O監視ドライバ68よりI/O負荷情報を取得する。なお、取得されるI/O負荷情報には、I/O応答時間が含まれている。
 なお、図8の説明では、一部のI/O負荷情報を、
IOL(iops、iosize、rdperc)
と表記して説明する。また、情報IOLには、初期段階を示す変数i、運用段階を示す変数j、初期段階の最大値を示す変数n、初期段階の最小値を示す変数mを添え字として付与して説明する場合がある。すなわち、初期段階のI/O負荷情報のうちの一部の情報IOLは、
 IOL(iops,iosize,rdperc
 であり、IOLと略記する場合がある。
 次に、CPU42は、ステップ144において、初期段階の情報IOLと運用段階の情報IOLが一致する(IOL=IOL)か否かを判断し、否定判断のときにはステップ148へ進む。ステップ144で肯定判断されると、CPU42はステップ146において、初期段階の情報IOLによるI/Oタイムアウト時間RTを運用段階の情報IOLによるI/Oタイムアウト時間RTとし、ステップ160へ進む。つまり、RT(IOL)=RT(IOL)となる。
 ステップ148では、CPU42は、運用段階の情報IOLが初期段階の情報IOL内にある(IOLi-1<IOL<IOL)か否かを判断し、否定判断のときにはステップ152へ進む。ステップ148で肯定判断の場合には、CPU42はステップ150において、次の(4)式により求めたI/Oタイムアウト時間RTを運用段階の情報IOLによるI/Oタイムアウト時間RTとし、ステップ160へ進む。
 RT(IOL)={RT(IOL)+RT(IOLi-1)}/2 ・・・(4)
 ステップ152では、CPU42は、運用段階の情報IOLが初期段階の最大の情報IOLを超える(IOL>IOL)か否かを判断し、否定判断のときにはステップ156へ進む。ステップ152で肯定判断の場合には、CPU42はステップ154において、次の(5)式により求めたI/Oタイムアウト時間RTを運用段階の情報IOLによるI/Oタイムアウト時間RTとし、ステップ160へ進む。
 RT(IOL)=2RT(IOL)-RT(IOLn-1)    ・・・(5)
 ステップ156では、CPU42は、運用段階の情報IOLが初期段階の最小の情報IOL未満(IOL<IOL)か否かを判断し、否定判断のときにはステップ160へ進む。ステップ156で肯定判断の場合には、CPU42はステップ158において、次の(6)式により求めたI/Oタイムアウト時間RTを運用段階の情報IOLによるI/Oタイムアウト時間RTとし、ステップ160へ進む。
 RT(IOL)=2RT(IOL)-RT(IOLm+1)    ・・・(6)
 なお、ステップ156において否定判断されるときには、予め定めた値をI/Oタイムアウト時間RTとして求めてもよい。
 ステップ160では、CPU42は、前述の処理により求めたI/Oタイムアウト時間RTを設定し、本ルーチンを終了する。
 次に、I/O監視ドライバ68の初期段階の処理をさらに説明する。
 図9に、I/O監視ドライバ68の初期段階の処理の流れを示す。図9に示す処理ルーチンは、初期段階の応答遅延抑制処理に対応して実行される。
 CPU42は、ステップ200において、電源遮断等のI/O監視ドライバ68の停止要求がなされたか否かを判断する。停止要求がなされたときには、CPU42は、ステップ200で肯定判断し、本処理ルーチンを終了する。一方、ステップ200で否定判断のときには、CPU42は、ステップ202へ処理を移行する。ステップ202の処理は、アプリケーションプログラム60からI/O要求がなされることを待機する処理である。アプリケーションプログラム60からI/O要求がなされると、CPU42はステップ204へ進み、アプリケーションプログラム60からのI/O要求を受け取る。次のステップ206では、CPU42は、I/O要求を下位ドライバ、すなわちディスクドライバ72へ通知し、次のステップ208に進み、I/O監視を開始する。
 I/O監視の開始後には、下位ドライバ、すなわちディスクドライバ72より、I/O応答がなされると、CPU42は次のステップ210で受け取る。I/O監視ドライバ68では、ディスクドライバ72より、I/O応答がなされると、I/O要求をディスクドライバ72へ通知してからI/O応答がなされるまでのI/O応答時間を含むI/O負荷情報を取得し、記録する。すなわち、CPU42は、次のステップ212において、I/O要求をディスクドライバ72へ通知してからI/O応答がなされるまでのI/O応答時間を含むI/O負荷情報を記録する。次にCPU42は、ステップ214において、I/O監視を終了し、I/O応答を示す情報をアプリケーションプログラム60へ返信したのちに、ステップ200の処理へ戻る。
 ところで、応答遅延抑制処理のために、I/O監視ドライバ68は、監視デーモンプログラム62から所定時間毎にI/O負荷情報が要求される。そこで、次に、監視デーモンプログラム62からI/O負荷情報が要求されるときのI/O監視ドライバ68の処理を説明する。
 図10に、I/O監視ドライバ68のI/O負荷情報が要求されるときの処理の流れを示す。図10に示す処理ルーチンは、監視デーモンプログラム62からI/O負荷情報の要求がなされたときに割り込み処理ルーチンとして実行される。
 まず、監視デーモンプログラム62からI/O監視ドライバ68にI/O負荷情報の要求がなされると、図10に示す処理ルーチンが実行され、CPU42は、ステップ216において、監視デーモンプログラム62からのI/O負荷情報の要求を受け取る。次に、CPU42は、ステップ218において、メモリ44に記録されているI/O負荷情報を監視デーモンプログラム62へ通知し、本処理ルーチンを終了する。
 次に、I/O監視ドライバ68の運用段階の処理をさらに説明する。
 図11に、I/O監視ドライバ68の運用段階の処理の流れを示す。図11に示す処理ルーチンは、運用段階の応答遅延抑制処理に対応して実行される。なお、図11に示す処理ルーチンは、図9に示す処理ルーチンと略同様の処理であるので、同一部分には同一符号を付して詳細な説明を省略する。図11に示す運用段階の処理ルーチンと、図9に示す初期段階の処理ルーチンとの相違点は、初期段階の処理ルーチンにタイムアウト処理(ステップ220,222)を追加した処理ルーチンを運用段階の処理ルーチンとした点である。
 CPU42は、I/O監視ドライバ68の停止要求がなされるまで、アプリケーションプログラム60からのI/O要求をディスクドライバ72へ通知してから、I/O監視を開始する(ステップ220~208)。
 I/O監視を開始すると、CPU42は、ステップ220において、I/O監視タイムアウトが発生したか否かを判断する。すなわち、ディスクドライバ72からI/O応答がなく、かつI/O要求をディスクドライバ72へ通知してからの経過時間が、I/Oタイムアウト時間を超えたときに、CPU42はI/Oタイムアウトが発生したと判断する。I/Oタイムアウト時間内にディスクドライバ72よりI/O応答がなされると、CPU42はステップ220で否定判断し、I/O負荷情報を記録して、I/O応答を示す情報をアプリケーションプログラム60へ返信する(ステップ210~214)。
 一方、ディスクドライバ72からI/O応答がなく、かつI/O要求をディスクドライバ72へ通知してからの経過時間が、I/Oタイムアウト時間を超えたときに、CPU42は、ステップ220で肯定判断し、ステップ222へ処理を移行する。ステップ222では、CPU42は、I/O中断ドライバ70へ、I/Oキャンセルを示す情報を出力する。すなわち、ステップ222の処理では、I/O監視ドライバ68は、I/O中断ドライバ70に対してI/Oキャンセルを要求する。詳細は後述するが、I/O中断ドライバ70は、I/O監視ドライバ68からI/Oキャンセルの要求を受け取ると、ディスクドライバ72へ既になされているI/O要求を中止する要求を通知する。
 ところで、応答遅延抑制処理のために、I/O監視ドライバ68は、監視デーモンプログラム62からI/Oタイムアウト時間の変更が要求される場合がある。そこで、次に、監視デーモンプログラム62からI/Oタイムアウト時間の変更が要求されるときのI/O監視ドライバ68の処理を説明する。
 図12に、I/O監視ドライバ68のI/Oタイムアウト時間の変更が要求されるときの処理の流れを示す。図12に示す処理ルーチンは、監視デーモンプログラム62からI/Oタイムアウト時間の変更の要求がなされたときに割り込み処理ルーチンとして実行される。
 まず、監視デーモンプログラム62からI/O監視ドライバ68にI/Oタイムアウト時間の変更の要求がなされると、図10に示す処理ルーチンが実行される。まず、CPU42は、ステップ230において、監視デーモンプログラム62からのI/Oタイムアウト時間の変更通知を受け取る。次に、CPU42は、ステップ232において、メモリ44に記録されているI/Oタイムアウト時間を監視デーモンプログラム62より通知されたI/Oタイムアウト時間に変更して、本処理ルーチンを終了する。
 次に、I/O中断ドライバ70の処理をさらに説明する。I/O中断ドライバ70は、I/O監視ドライバ68よりI/Oキャンセルが要求されると処理を実行する。
 図13に、I/O中断ドライバ70の処理の流れを示す。図13に示す処理ルーチンは、I/O監視ドライバ68からI/Oキャンセルの要求がなされると実行される。
 まず、CPU42は、ステップ300において、I/O監視ドライバ68からのI/Oキャンセルの要求を受け取る。次に、CPU42は、ステップ302において、ディスクドライバ72へ既になされているI/O要求を中止する要求を通知して、本処理ルーチンを終了する。ディスクドライバ72は、I/O中断ドライバ70よりI/O要求を中止する要求を受け取ると、アプリケーションプログラム60から既になされているI/O要求を削除することで、I/O要求を中止する処理を実行する。
 以上説明したように、本実施形態では、コンピュータ32で実行される業務処理により生じるI/O負荷に応じてI/Oタイムアウト時間を変更できる。従って、コンピュータ32で実行される業務処理に対して長すぎたり短すぎるI/Oタイムアウト時間が設定されることを抑制できる。業務処理に則したI/Oタイムアウト時間が設定されることにより、ディスクや記録装置に不具合が生じた場合であっても、業務処理を実行する上で、業務処理を遅延させることなく、不具合を検出できる。このように、本実施形態では、コンピュータを使用して業務処理を実行する情報処理システムにおける応答性能を向上することができる。
 また、本実施形態では、ディスクや記録装置に不具合を早期に検出できる。従って、不具合の対象となるディスクや記録装置を特定して、コンピュータや情報処理システムからディスクや記録装置を切り離すことができ、コンピュータや情報処理システムの処理に関するスローダウンを抑制できる。
 また、本実施形態では、業務処理により生じるI/O負荷に応じてI/Oタイムアウト時間を変更できるので、ユーザがシステム構成を把握しつつI/Oタイムアウト時間を設定する作業は軽減できる。従って、ユーザの負担は軽減する。
 なお、上記では情報処理装置をコンピュータ32により実現する一例を説明した。しかし、これらの構成に限定されるものではなく、上記説明した要旨を逸脱しない範囲において、各種の改良及び変更を行っても良いのはもちろんである。
 また、上記ではプログラムが記憶部に予め記憶(インストール)されている態様を説明したが、これに限定されるものではない。例えば、開示の技術における情報処理プログラムは、CD-ROMやDVD-ROM等の記録媒体に記録されている形態で提供することも可能である。
 本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。

Claims (14)

  1.  情報処理システムに応じて予め定められると共に、該情報処理システムに含まれるデバイスに対するデータの入出力に関係する負荷でかつ、該システムに加える負荷を定めるための負荷条件を取得する条件取得部と、
     取得した負荷条件に基づいて、稼働する前記情報処理システムに加える負荷を求め、求めた負荷を前記情報処理システムに加える負荷付与部と、
     前記情報処理システムに加えた負荷及び該負荷が加えられているときのデータの入出力の要求に対する前記デバイスの応答時間と相関関係を示す負荷情報を取得する情報取得部と、
     取得した負荷情報に基づいて、前記デバイスにデータの入出力を要求してから前記デバイスが応答するまでの応答監視時間を設定する演算設定部と
     を備えた情報処理装置。
  2.  前記負荷情報は、データの入力とデータの出力との比率である
     請求項1に記載の情報処理装置。
  3.  前記負荷情報は、データの入出力におけるデータ量である
     請求項1または請求項2に記載の情報処理装置。
  4.  前記負荷条件はテーブルに登録されており、
     前記条件取得部は、前記テーブルに登録されている負荷条件を読み取る
     請求項1~請求項3の何れか1項に記載の情報処理装置。
  5.  前記負荷付与部は、取得した負荷条件に基づいて、稼働するシステムに対して加える負荷を示す負荷パターンを求める負荷パターン演算部を含み、前記負荷パターン演算部で求めた負荷パターンに示す負荷を、前記情報処理システムに加える
     請求項1~請求項4の何れか1項に記載の情報処理装置。
  6.  前記データの入出力が要求されたときに、前記応答監視時間について前記データの入出力が要求に対する応答を監視する監視部と、
     前記応答監視時間に前記応答がないときに、前記デバイスに対する前記データの入出力の要求を削除する削除部と
     を含む請求項1~請求項5の何れか1項に記載の情報処理装置。
  7.  情報処理システムに応じて予め定められると共に、該情報処理システムに含まれるデバイスに対するデータの入出力に関係する負荷でかつ、該情報処理システムに加える負荷を定めるための負荷条件を取得し、
     取得した負荷条件に基づいて、稼働する前記情報処理システムに対して加える負荷を求め、求めた負荷を、前記情報処理システムに加え、
     前記情報処理システムに与えた負荷及び該負荷が加えられているときのデータの入出力の要求に対する前記デバイスの応答時間と相関関係を示す負荷情報を取得し、
     取得した負荷情報に基づいて、前記デバイスにデータの入出力を要求してから前記デバイスが応答するまでの応答監視時間を設定する
     情報処理方法。
  8.  前記負荷情報は、データの入力とデータの出力との比率である
     請求項7に記載の情報処理方法。
  9.  前記負荷情報は、データの入出力におけるデータ量である
     請求項7または請求項8に記載の情報処理方法。
  10.  前記負荷条件はテーブルに登録されており、前記テーブルに登録されている負荷条件を読み取る
     請求項7~請求項9の何れか1項に記載の情報処理方法。
  11.  前記情報処理システムに負荷を加えるとき、取得した負荷条件に基づいて、稼働する情報処理システムに対して加える負荷を示す負荷パターンを求め、求めた負荷パターンに示す負荷を、前記情報処理システムに加える
     請求項7~請求項10の何れか1項に記載の情報処理方法。
  12.  前記データの入出力が要求されたときに、前記応答監視時間について前記データの入出力が要求に対する応答を監視し、
     前記応答監視時間に前記応答がないときに、前記デバイスに対する前記データの入出力の要求を削除する
     処理を含む請求項7~請求項11の何れか1項に記載の情報処理方法。
  13.  情報処理システムに応じて予め定められると共に、該システムに含まれるデバイスに対するデータの入出力に関係する負荷でかつ、該情報処理システムに加える負荷を定めるための負荷条件を取得し、
     取得した負荷条件に基づいて、稼働する前記情報処理システムに対して加える負荷を求め、求めた負荷を、前記システムに加え、
     前記情報処理システムに与えた負荷及び該負荷が加えられているときのデータの入出力の要求に対する前記デバイスの応答時間と相関関係を示す負荷情報を取得し、
     取得した負荷情報に基づいて、前記デバイスにデータの入出力を要求してから前記デバイスが応答するまでの応答監視時間を設定する
     処理をコンピュータに実行させる情報処理プログラム。
  14.  コンピュータに、前記コンピュータを、請求項7~請求項12の何れか1項記載の情報処理方法に係る処理を実行させるための情報処理プログラム。
PCT/JP2012/084154 2012-12-28 2012-12-28 情報処理装置、情報処理方法、及び情報処理プログラム WO2014103037A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014554026A JP6011639B2 (ja) 2012-12-28 2012-12-28 情報処理装置、情報処理方法、及び情報処理プログラム
PCT/JP2012/084154 WO2014103037A1 (ja) 2012-12-28 2012-12-28 情報処理装置、情報処理方法、及び情報処理プログラム
US14/745,583 US20150286548A1 (en) 2012-12-28 2015-06-22 Information processing device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/084154 WO2014103037A1 (ja) 2012-12-28 2012-12-28 情報処理装置、情報処理方法、及び情報処理プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/745,583 Continuation US20150286548A1 (en) 2012-12-28 2015-06-22 Information processing device and method

Publications (1)

Publication Number Publication Date
WO2014103037A1 true WO2014103037A1 (ja) 2014-07-03

Family

ID=51020187

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/084154 WO2014103037A1 (ja) 2012-12-28 2012-12-28 情報処理装置、情報処理方法、及び情報処理プログラム

Country Status (3)

Country Link
US (1) US20150286548A1 (ja)
JP (1) JP6011639B2 (ja)
WO (1) WO2014103037A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018061068A1 (ja) * 2016-09-27 2018-04-05 株式会社日立製作所 ストレージシステム及びストレージシステム管理方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9846632B2 (en) 2014-10-08 2017-12-19 Signalfx, Inc. Real-time reporting based on instrumentation of software
US9760353B2 (en) 2014-12-19 2017-09-12 Signalfx, Inc. Dynamically changing input data streams processed by data stream language programs
US10394692B2 (en) * 2015-01-29 2019-08-27 Signalfx, Inc. Real-time processing of data streams received from instrumented software
KR102560229B1 (ko) * 2016-06-29 2023-07-27 삼성전자주식회사 전자 시스템 및 이의 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0918545A (ja) * 1995-06-30 1997-01-17 Nec Corp 応答待ち時間設定装置
JP2001022654A (ja) * 1999-07-05 2001-01-26 Toshiba Corp 情報処理装置
JP2009223702A (ja) * 2008-03-17 2009-10-01 Fujitsu Ltd 入出力制御方法、制御装置及びプログラム
JP2010113383A (ja) * 2008-11-04 2010-05-20 Nec Corp ストレージシステム、その性能判定方法、ディスクアレイ制御部

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE289140T1 (de) * 2000-05-05 2005-02-15 Nomadix Inc Gerät und verfahren zur überwachung der netzwerkauslastung
US6816907B1 (en) * 2000-08-24 2004-11-09 International Business Machines Corporation System and method for providing differentiated services on the web
US6959436B2 (en) * 2000-12-15 2005-10-25 Innopath Software, Inc. Apparatus and methods for intelligently providing applications and data on a mobile device system
JP4009434B2 (ja) * 2001-04-18 2007-11-14 株式会社日立製作所 磁気ディスク装置間結合装置
US20030078965A1 (en) * 2001-08-22 2003-04-24 Cocotis Thomas A. Output management system and method for enabling printing via wireless devices
JP4391265B2 (ja) * 2004-02-26 2009-12-24 株式会社日立製作所 ストレージサブシステムおよび性能チューニング方法
JP4479284B2 (ja) * 2004-03-08 2010-06-09 株式会社日立製作所 計算機システムのモニタリングを設定する管理計算機及びシステム
JP4829670B2 (ja) * 2006-04-28 2011-12-07 株式会社日立製作所 San管理方法およびsan管理システム
JP2009238114A (ja) * 2008-03-28 2009-10-15 Hitachi Ltd ストレージ管理方法、ストレージ管理プログラム、ストレージ管理装置およびストレージ管理システム
US20100005520A1 (en) * 2008-06-06 2010-01-07 Mekey Llc Personal area social networking
US8244934B2 (en) * 2008-12-22 2012-08-14 Hewlett-Packard Development Company, L.P. Data storage network management
JP4929386B2 (ja) * 2009-09-07 2012-05-09 株式会社エヌ・ティ・ティ・ドコモ 通信競合管理装置
US9251032B2 (en) * 2011-11-03 2016-02-02 Fujitsu Limited Method, computer program, and information processing apparatus for analyzing performance of computer system
US9552231B2 (en) * 2012-09-27 2017-01-24 Adobe Systems Incorporated Client classification-based dynamic allocation of computing infrastructure resources

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0918545A (ja) * 1995-06-30 1997-01-17 Nec Corp 応答待ち時間設定装置
JP2001022654A (ja) * 1999-07-05 2001-01-26 Toshiba Corp 情報処理装置
JP2009223702A (ja) * 2008-03-17 2009-10-01 Fujitsu Ltd 入出力制御方法、制御装置及びプログラム
JP2010113383A (ja) * 2008-11-04 2010-05-20 Nec Corp ストレージシステム、その性能判定方法、ディスクアレイ制御部

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018061068A1 (ja) * 2016-09-27 2018-04-05 株式会社日立製作所 ストレージシステム及びストレージシステム管理方法

Also Published As

Publication number Publication date
JPWO2014103037A1 (ja) 2017-01-12
US20150286548A1 (en) 2015-10-08
JP6011639B2 (ja) 2016-10-19

Similar Documents

Publication Publication Date Title
JP6521462B2 (ja) バックアップシステムの性能の改善
TWI554875B (zh) 基於資源存取模式預測、診斷應用程式故障並從應用程式故障恢復
JP5046833B2 (ja) 計算機システム及びウイルススキャン方法
JP6011639B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP4943278B2 (ja) ウィルススキャン方法及びその方法を用いた計算機システム
JP5057792B2 (ja) 性能ボトルネックを緩和する機能を備えたストレージシステム
JP2005301628A (ja) ディスクアレイ装置
JP2006268503A (ja) 計算機システム、ディスク装置およびデータ更新制御方法
JP6005116B2 (ja) 特定のアプリケーションによってリコールされたファイルの自動化されたマイグレーション
US20120023303A1 (en) Storage device erase command having a control field controllable by a requestor device
JP2007323507A (ja) 記憶システム並びにこれを用いたデータの処理方法
JP5818640B2 (ja) 第1のストレージから第2のストレージへとデータ・ブロックをコピーするためにドレイン時間を延長するか否かを決定するためのコンピュータ・プログラム、システム、および方法(第1のストレージから第2のストレージへとデータ・ブロックをコピーするためにドレイン時間を延長するか否かの決定)
JP5385987B2 (ja) 複数の記憶装置を含む記憶システム、方法、及びプログラム
JP6229733B2 (ja) 情報処理装置、方法、プログラム及び記録媒体
JP2006072435A (ja) ストレージシステムおよびデータ記録方法
JP4757825B2 (ja) ファイル管理装置、プログラム、コンピュータ読み取り可能な記録媒体
JP2010016530A (ja) 画像処理システムおよび画像処理装置
JP2005209055A (ja) ストレージの負荷分散方法
JP2007323377A (ja) 記録装置、管理データの書き込み方法および管理データの修復方法
WO2014147707A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2011113625A (ja) 記録再生装置
JP7048890B2 (ja) 情報処理装置、情報収集プログラム及び情報収集方法
JP3805296B2 (ja) クライアント/サーバシステム、クライアントコンピュータ及び記録媒体
JP2014170448A (ja) レプリケーションシステム、業務処理システム、レプリケーション方法、及びプログラム
JP5477027B2 (ja) ストレージ装置、ストレージ装置制御方法およびストレージ装置制御プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12890848

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014554026

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12890848

Country of ref document: EP

Kind code of ref document: A1