以下に添付図面を参照して、情報処理装置、情報処理方法、情報処理プログラム、および情報処理システムを詳細に説明する。
(第1の実施の形態)
図1は、本実施の形態の情報処理システム1の一例を示す模式図である。
情報処理システム1は、情報処理装置10と、ストレージ装置20と、を備える。
情報処理装置10とストレージ装置20とは、通信可能に接続されている。情報処理装置10とストレージ装置20とは、例えば、SATA(Serial AT Attachment)、SAS(Serial Attached SCSI)、またはPCIe(Peripheral Component Interconnect Express)などのインタフェース規格で接続されている。
ストレージ装置20は、記憶装置である。例えば、ストレージ装置20は、SSD(Solid State Drive)である。
本実施の形態では、ストレージ装置20は、ストレージコントローラ22と仮想ストレージ24とを備える。仮想ストレージ24は、例えば、1または複数の仮想ストレージ24A(仮想ストレージ24A1〜24N(Nは2以上の整数))から構成される。
ストレージコントローラ22は、仮想ストレージ24の書込制御や読出制御を行う。本実施の形態では、ストレージコントローラ22は、情報処理装置10から受付けた変更情報に応じて、仮想ストレージ24の特性変更を行う。
仮想ストレージ24の特性変更は、仮想ストレージ24の容量割当ての調整、ガベージコレクション、ウェアレベリング、などである。仮想ストレージ24の容量割当てを行うことで、ストレージコントローラ22は、仮想ストレージ24を複数の領域に区切り、各領域に対して異なる特性を持たせることができる。本実施の形態では、仮想ストレージ24の特性変更は、内部処理や仮想ストレージ24の、サービス12Aに対する、割当ての調整、ガベージコレクション、およびウェアレベリング、などである。なお、仮想ストレージ24の特性変更は、上記に限定されない。
情報処理装置10は、ストレージ装置20に対して入出力を行う。また、本実施の形態では、情報処理装置10は、ストレージ装置20へ変更情報を通知する(詳細後述)。
情報処理装置10は、PC(Personal Computer)、ワークステーション、またはサーバ装置などの情報処理装置である。
情報処理装置10は、演算部12と、記憶部14と、を備える。演算部12と記憶部14とは、通信可能に接続されている。
記憶部14は、各種データを記憶する。記憶部14は、演算部12で実行するプログラムや、該プログラムが利用する情報などを記憶する。本実施の形態では、記憶部14は、許容条件DB14Aと、監視情報14Bと、を記憶する。許容条件DB14Aおよび監視情報14Bについては、詳細を後述する。
記憶部14は、公知の記憶媒体である。なお、記憶部14は、揮発性メモリ(例えば、DRAM)、不揮発性メモリ(例えば、MRAM)、の何れであってもよい。
演算部12は、サービス12Aと、管理部12Zと、を有する。管理部12Zは、実行部12Bと、特性監視部12Cと、判断部12Dと、通知部12Eと、を有する。上記各部(サービス12A、管理部12Z、実行部12B、特性監視部12C、判断部12D、および通知部12E)は、例えば、1または複数のプロセッサにより実現される。例えば、上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
サービス12Aは、ストレージ装置20に対して、各種の入出力要求を行う。サービス12Aは、例えば、ストレージ装置20に対して各種の入出力要求を行うアプリケーションである。本実施の形態では、演算部12は、1個またはN個(Nは2以上の整数)のサービス12A(サービス12A1〜サービス12AN)を備える。
管理部12Zは、各サービス12Aの実行を管理する。上述したように、管理部12Zは、実行部12Bと、特性監視部12Cと、判断部12Dと、通知部12Eと、を有する。
実行部12Bは、サービス12Aからのストレージ装置20に対する入出力要求に応じて、ストレージ装置20に対して入出力を実行する。
特性監視部12Cは、ストレージ装置20に対する入出力特性を監視する。特性監視部12Cは、実行部12Bによるストレージ装置20への入出力を監視することで、入出力特性を監視する。
例えば、特性監視部12Cは、サービス12Aが入出力要求を発行するごとに、入出力特性を監視する。なお、特性監視部12Cは、実行部12Bに保持された入出力動作を用いて、入出力特性を監視してもよい。この場合、実行部12Bは、ストレージ装置20に対する入出力を実行するごとに、入出力動作を保持すればよい。
入出力特性は、ストレージ装置20への入出力の特性を示す。言い換えると、入出力特性は、サービス12Aによるストレージ装置20の利用特性である。ストレージ装置20への入出力は、サービス12Aからの入出力要求に応じて実行される。詳細には、入出力特性は、複数の入出力特性種類ごとの特性値を含む。
入出力特性種類は、入出力特性の種類を示す。特性値は、入出力特性の値である。特性値は、特性監視部12Cによる監視によって特定される。
入出力特性種類は、例えば、入出力処理の種類、入出力の対象、入出力回数、入出力量、を含む。入出力処理の種類は、例えば、ファイルの作成、ファイルの削除、ファイルの読出し、ファイルの書込み、等である。入出力の対象は、例えば、入出力対象のファイルの識別情報である。ファイルの識別情報は、例えば、ファイル名である。入出力回数は、例えば、ファイルの作成回数、ファイルの削除回数、ファイルの読出回数、ファイルの書込回数、などである。入出力量は、例えば、読込バイト数、書込バイト数、などである。
なお、ストレージ装置20に対する入出力要求に応じて、実行部12Bが、シーケンシャルアクセスを実行する場合と、ランダムアクセスを実行する場合と、がある。シーケンシャルアクセスとは、実行部12Bが、ストレージ装置20の単一のファイルに対して連続的な入出力を実行することを示す。ランダムアクセスとは、実行部12Bが、ストレージ装置20におけるランダムな記憶領域に対して入出力を実行することを示す。
このため、入出力特性種類は、入出力処理の種類がシーケンシャルアクセスかランダムアクセスかを示す情報や、ランダムアクセスの頻度、を更に含んでいてもよい。
例えば、特性監視部12Cは、オフセットを指定してファイルが開かれた事象や、ファイルの読出位置や書込位置が不連続に変更された事象、などの事象の発生回数を、ランダムアクセスの頻度として特定すればよい。
なお、特性監視部12Cが、実行部12Bに記録された入出力動作を用いて、入出力特性を監視する場合、実行部12Bは以下の処理を行えばよい。
例えば、実行部12Bは、サービス12Aから受付けた入出力要求に応じて、ストレージ装置20に対する入出力を実行するごとに、入出力動作を保持する。このとき、実行部12Bは、カウンタ等を用いて、後述する入出力特性種類ごとの特性値を計測すればよい。具体的には、実行部12Bは、書込回数、読出回数、書込バイト数、読出バイト数、などの入出力種類ごとの単位で、入出力動作を保持すればよい。
なお、実行部12Bが保持する入出力動作の単位は、上記以外の指標であってもよい。また、実行部12Bは、全実行時間に対する合計値や、特性監視部12Cによる前回の監視からの差分を示すデータを、入出力動作として保持してもよい。そして、特性監視部12Cは、実行部12Bを定期的に確認することで、入出力動作を収集し、入出力特性を監視すればよい。なお、特性監視部12Cは、監視対象の入出力特性種類に応じて、異なる収集方法で入出力動作を収集してもよい。また、特性監視部12Cは、監視対象の入出力特性種類ごとに、複数の収集方法を組み合わせて、入出力動作を収集してもよい。
図3〜図7を用いて、特性監視部12Cによる、入出力特性の監視処理を具体的に説明する。
本実施の形態では、サービス12Aごとに入出力特性を監視する。この監視処理は、サービス12Aの実現形態により、異なるソフトウェアによって実現することができる。
例えば、サービス12Aを、ユーザ空間のアプリケーションとして実現する場合がある。この場合、図3に示すように、システムコールインタフェースが、特性監視部12Cとして機能する。具体的には、特性監視部12Cが、サービス12Aによって実行されるシステムコールの内、ストレージ装置20への入出力に対応するシステムコールを監視する。この監視処理によって、特性監視部12Cは、システムコールから入出力特性(読出し、書込み、読出しバイト数、書込みバイト数)を抽出し、実行された時刻に対応付けて記憶部14へ記憶する。
また、図4に示すように、システムコールインタフェースおよび仮想ファイルシステムが、特性監視部12Cとして機能するようにしてもよい。具体的には、特性監視部12Cは、ストレージ装置20の利用に必要なデバイスドライバ、OS内のサブシステム、またはファイルシステムなどにおいて、ストレージ装置20への入出力を監視する。そして、特性監視部12Cは、仮想ファイルシステムへのアクセスから入出力特性を抽出し、記憶部14へ記憶する。
また、図5に示すように、システムコールインタフェース、下層ファイルシステム、およびブロックデバイスを、特性監視部12Cとして機能させてもよい。この場合、特性監視部12Cは、ブロックデバイスの抽象化層から入出力特性を抽出し、記憶部14へ記憶すればよい。
なお、この場合、特性監視部12Cは、サービス12Aに割当てられた識別子(例えば、プロセスID)を取得可能な部位で、入出力特性を監視すればよい。この監視処理によって、特性監視部12Cは、入出力特性を、サービス12Aごとに記憶部14へ記憶することができる。
また、サービス12Aが、ハイパーバイザ型仮想化またはホスト型仮想化の仮想マシンとして実行される場合がある。この場合、図6および図7に示すように、ハイパーバイザ、仮想ソフトウェア、または、仮想デバイス用のデバイスドライバが、特性監視部12Cとして機能する。ハイパーバイザは、サービス12A(サービス12A1〜サービス12AN)の各々用の仮想マシンを実現する。特性監視部12Cは、サービス12A用仮想マシンごとに、ストレージ装置20に対する入出力特性を監視し、記憶部14へ記憶すればよい。
なお、サービス12Aが、コンテナ型仮想化の仮想マシンとして実行される場合がある。この場合には、特性監視部12Cは、サービス12Aをユーザ空間のアプリケーションとして実現する場合(図3参照)と同様にして、入出力特性を監視すればよい。但し、この場合、特性監視部12Cは、コンテナを識別するための識別子を更に対応づけて、入出力特性を記憶部14へ記憶する。すなわち、サービス12Aがコンテナ型仮想化の仮想マシンとして実行される場合、特性監視部12Cは、コンテナの外部からストレージ装置20への入出力特性を監視すればよい。
なお、特性監視部12Cによる入出力特性の監視方法は、上記に限定されない。すなわち、特性監視部12Cは、上記の何れの方法を用いて、監視処理を行ってもよい。また、特性監視部12Cは、上記以外の他の方法を用いて、監視処理を行ってもよい。
上述したように、特性監視部12Cは、監視した入出力特性を記憶部14へ記憶する。本実施の形態では、特性監視部12Cは、入出力要求を行ったサービス12Aごとに、入出力特性を記憶部14の監視情報14Bへ登録する。
図1に戻り説明を続ける。監視情報14Bは、ストレージ装置20への入出力や情報処理装置10の状態等の監視によって得られる情報である。本実施の形態では、監視情報14Bは、入出力特性を含む。具体的には、本実施の形態では、監視情報14Bは、入出力特性DB14Cを含む。
図2は、入出力特性DB14Cおよび許容条件DB14Aのデータ構成の一例を示す模式図である。許容条件DB14Aについては後述する。
図2(A)は、入出力特性DB14Cのデータ構成の一例を示す模式図である。入出力特性DB14Cは、サービスIDと、入出力特性と、時刻と、を対応づけたデータベースである。例えば、入出力特性DB14Cは、リレーショナルDBや、時系列DBである。
なお、入出力特性DB14Cは、高度なデータベースに限定されない。例えば、入出力特性DB14Cは、記憶部14の使用量削減や実装の簡易さの観点から、単純リスト、リングバッファ、一時的な変数の集合、などで構成してもよい。また入出力特性DB14Cは、記憶部14とは異なる場所に格納されたファイル上に構築してもよい。
サービスIDは、サービス12Aの識別情報である。入出力特性は、上述したように、入出力特性種類ごとの特性値を示す。時刻は、対応する入出力特性が得られた時刻を示す。
本実施の形態では、特性監視部12Cは、サービスIDごとに、該サービスIDによって識別されるサービス12Aのストレージ装置20に対する入出力特性を、記憶部14の入出力特性DB14Cに登録する。
なお、特性監視部12Cは、監視した入出力特性に示される、入出力特性種類ごとの特性値について、加工処理を行った後に、入出力特性DB14Cへ登録してもよい。
例えば、特性監視部12Cは、監視した入出力特性に示される特性値について、入出力特性種類ごとに、加工処理を行う。
加工処理は、最大値、最小値、平均値、ヒストグラム化した値、単一ファイルに対する単位時間あたりのアクセス数、単一ファイルに対する単位時間あたりの読出・書込バイト数の分布、単一ファイルに対する入出力処理の時間間隔、および、特定のサービス12Aからの入出力要求に基づく入出力の時間間隔、の何れか1つを算出する処理である。読出・書込バイト数の分布は、例えば、単一ファイルに対する単位時間あたりの読出・書込バイト数の比、などで表される。
なお、特性監視部12Cは、サービス12Aごとに、加工処理を行ってもよい。本実施の形態では、特性監視部12Cは、サービス12Aごとに、監視した入出力特性に示される特性値について、上記の加工処理を行う。
そして、特性監視部12Cは、加工処理後の値を特性値として、サービスIDおよび入出力特性種類ごとに、入出力特性DB14Cへ登録すればよい。
図1に戻り、説明を続ける。判断部12Dは、入出力特性を含む監視情報14Bに基づいて、特性変更のための変更情報を、ストレージ装置20へ通知するか否かを判断する。判断部12Dは、他の機能部から独立し、定期的に判断を行う。
判断部12Dは、監視情報14Bに基づいて、ストレージ装置20に対する入出力が、現在のストレージ装置20の特性に対して適切ではないと判別した場合、変更情報を通知すると判断する。
なお、判断処理に必要な入出力特性が不足している場合がある。この場合、判断部12Dは、記憶部14から算出可能であれば不足分の入出力特性を算出する。例えば、判断部12Dは、上述した加工処理を行い、加工処理後の値を特性値として算出すればよい。具体的には、判断部12Dは、判定に要する期間について、監視された特性値の平均値などを算出する。
一方、算出不可能な場合には、判断部12Dは、特性監視部12Cへ監視要求を送信し、特性監視部12Cから入出力特性を取得する。
本実施の形態では、判断部12Dは、入出力特性DB14Cに登録されている入出力特性と、許容条件DB14Aと、を用いて、変更情報を通知するか否かを判断する。
許容条件DB14Aは、ストレージ装置20における入出力の許容条件を規定したデータベースである。なお、許容条件DB14Aのデータ形式は、データベースに限定されない。
図2(B)は、許容条件DB14Aのデータ構成の一例を示す模式図である。
許容条件DB14Aは、サービスIDと、許容条件と、設定値と、を対応づけたデータベースである。
本実施の形態では、許容条件は、サービス12Aおよび入出力特性種類ごとに、ストレージ装置20における特性値の許容範囲を表したものである。許容範囲は、許容下限値と許容上限値とで表される。具体的には、特性値が加工処理された値であると仮定する。この場合、例えば、入出力特性種類“作成回数”に対応する許容範囲は、対応するサービスIDによって識別されるサービス12Aの、単位時間あたりの作成回数の許容範囲である。
なお、図2(B)に示すように、1つの入出力特性種類に対する許容範囲は、複数のサービス12A間で連続する値であってもよい。また、図2(C)に示すように、1つの入出力特性種類に対する許容範囲は、複数のサービス12A間で不連続となる部分があってもよい。
図1に戻り説明を続ける。判断部12Dは、監視情報14Bが、ストレージ装置20における入出力の許容条件の少なくとも一部を満たさない場合、変更情報を通知すると判断する。
具体的には、判断部12Dは、監視情報14Bに含まれる入出力特性DB14Cを読取る。そして、判断部12Dは、入出力特性DB14Cに登録されているサービスIDおよび入出力特性種類の各々について、入出力特性DB14Cに示される特性値が、許容条件DB14Aにおける対応する許容範囲の範囲外であるか否かを判別する。なお、以下では、許容範囲の範囲外を、許容範囲外と称して説明する場合がある。また、許容範囲の範囲内を、許容範囲内と称して説明する場合がある。
そして、判断部12Dは、入出力特性DB14Cに、許容範囲外の特性値を示す入出力特性種類が含まれる場合、変更情報を通知すると判断する。
言い換えると、判断部12Dは、特性監視部12Cによって監視された特性値がストレージ装置20の許容範囲外を示す場合、ストレージ装置20に対する入出力が現在のストレージ装置20の特性に対して適切ではないと判別する。そして、判断部12Dは、適切ではないと判別した場合、変更情報を通知すると判断する。
なお、判断部12Dは、演算部12で提供するサービス12Aの数に基づいて、変更情報を通知するか否かを判断してもよい。演算部12では、CPUの使用率、ネットワークの使用状況、またはサービス12Aの需要に応じて、サービス12Aを稼働させる物理計算機の変更や、仮想計算機(サービス12A)の数の増減を行う場合がある。このような場合、ストレージ装置20の特性に影響を与えるサービス12Aの数が変動する。
そこで、判断部12Dは、演算部12において稼働中のサービス12A(仮想計算機)の絶対数が閾値以上増減した場合や、稼働中のサービス12A(仮想計算機)の数が閾値以上である場合に、ストレージ装置20に対する入出力が現在のストレージ装置20の特性に対して適切ではないと判別してもよい。そして、判断部12Dは、適切ではないと判別した場合、変更情報を通知すると判断する。
なお、本実施の形態では、判断部12Dは、特性監視部12Cによって監視された特性値がストレージ装置20の許容範囲外を示す場合に、変更情報を通知すると判断する形態を一例として説明する。
更に、本実施の形態では、判断部12Dは、入出力特性DB14Cに、許容範囲外の特性値を示す入出力特性種類が含まれるか否かを、サービス12A(サービスID)ごとに判定する。そして、判断部12Dは、許容範囲外の特性値を示す入出力特性種類を含むサービス12Aについて、変更情報を通知すると判断する。
判断部12Dは、変更情報を通知すると判断した場合、変更情報を生成する。
変更情報は、ストレージ装置20の特性変更のための情報である。言い換えると、変更情報とは、ストレージ装置20が特性変更に用いる情報である。
本実施の形態では、変更情報は、特性値がストレージ装置20の許容範囲外の入出力特性種類の、許容範囲内の設定値を含む。言い換えると、変更情報は、許容範囲外の特性値を示す入出力特性種類の、設定値を含む。
設定値は、許容条件DB14Aにおける、入出力特性種類に対応する許容範囲内の値である。詳細には、設定値は、許容条件DB14Aにおける、サービスIDおよび入出力特性種類に対応する、許容範囲内の値である。
なお、設定値は、許容条件DB14Aにおける、対応する許容範囲内の特性値が得られるように、ストレージ装置20の特性を調整するための値であってもよい。この場合、判断部12Dは、記憶部14に記憶されている情報を用いて、該調整するための値を生成し、設定値として用いればよい。
また、判断部12Dは、許容範囲外と判断した特性値を、設定値として用いてもよい。
本実施の形態では、設定値が、許容条件DB14Aにおける、入出力特性種類に対応する許容範囲内の値である場合を説明する。
本実施の形態では、上述したように、許容条件DB14Aには、許容条件に対応づけて設定値が予め登録されている。このため、本実施の形態では、判断部12Dは、入出力特性DB14Cに示される入出力特性種類の内、許容範囲外の特性値を示す入出力特性種類を特定する。そして、判断部12Dは、特定した入出力特性種類について、対応する設定値を許容条件DB14Aから読取る。この処理により、判断部12Dは、許容範囲外の特性値を示していた入出力特性種類に対応する、許容範囲内の設定値を生成する。
なお、本実施の形態では、判断部12Dは、サービス12Aごとに、変更情報を生成する。このため、判断部12Dは、サービス12Aごとに、入出力特性DB14Cに示される入出力特性種類の内、許容範囲外の特性値を示す入出力特性種類を特定する。そして、判断部12Dは、サービス12Aごとに、特定した入出力特性種類について、対応する設定値を許容条件DB14Aから読取る。この処理により、判断部12Dは、許容範囲外の特性値を示していた入出力特性種類に対応する、許容範囲内の設定値を、サービス12Aごとに生成する。
そして、判断部12Dは、サービス12Aおよび入出力特性種類ごとの設定値を含む、変更情報を生成する。すなわち、判断部12Dは、許容範囲外の特性値を示す入出力特性種類の、許容範囲内の設定値を含む変更情報を、サービス12Aごとに生成する。
通知部12Eは、判断部12Dが通知すると判断した場合、変更情報をストレージ装置20へ通知する。本実施の形態では、通知部12Eは、サービス12Aごとに、変更情報をストレージ装置20へ通知する。
例えば、通知部12Eは、サービス12AのサービスIDと、該サービスIDによって識別されるサービス12Aに対して生成した変更情報と、を対応づけてストレージ装置20へ送信する。なお、通知部12Eは、変更情報の送信前に、ストレージ装置20との間でサービスIDを共有する処理を行ってもよい。そして、通知部12Eは、共有したサービスIDを用いて、対応する変更情報をストレージ装置20へ通知してもよい。
ストレージ装置20のストレージコントローラ22は、受付けた変更情報を用いて、許容条件を満たす特性となるように、仮想ストレージ24の特性を変更する。ストレージコントローラ22は、公知の方法を用いて、特性を変更すればよい。
例えば、ストレージ装置20は、変更情報を用いて、ストレージ装置20の許容条件を満たす特性となるように、内部処理や仮想ストレージ24のサービス12Aに対する割当て、ガベージコレクション、ウェアレベリング、などを行う。
次に、本実施の形態の情報処理装置10が実行する情報処理の手順の一例を説明する。図8は、本実施の形態の情報処理装置10が実行する情報処理の手順の一例を示す、フローチャートである。なお、サービス12Aから入出力要求を受付けるごとに、実行部12Bが、ストレージ装置20に対して入出力を実行しているものとする。
まず、特性監視部12Cが、ストレージ装置20に対する入出力特性を監視する(ステップS100)。例えば、特性監視部12Cは、サービス12Aが入出力要求を発行するごとに、入出力特性を監視する。なお、特性監視部12Cは、実行部12Bが入出力要求に応じた入出力を実行するごとに、実行部12Bで記録された入出力動作を監視することで、入出力特性を監視してもよい。この場合、実行部12Bは、ストレージ装置20に対する入出力を実行するごとに、入出力動作を保持する。そして、特性監視部12Cは、保持された入出力動作を用いて、入出力特性を監視すればよい。
次に、特性監視部12Cは、ステップS100で監視した入出力特性を、記憶部14へ記憶する(ステップS102)。本実施の形態では、特性監視部12Cは、サービス12Aごとに、該サービス12Aのストレージ装置20に対する入出力特性を、記憶部14の入出力特性DB14Cへ登録する。
次に、判断部12Dが、変更情報をストレージ装置20へ通知するか否かを判断する(ステップS104)。上述したように、判断部12Dは、入出力特性がストレージ装置20における入出力の許容条件の少なくとも一部を満たさないか否かを判別することで、ステップS104の判断を行う。
入出力特性が許容条件の全てを満たす場合、否定判断し(ステップS104:No)、上記ステップS100へ戻る。一方、入出力特性が許容条件の少なくとも一部を満たさない場合、肯定判断し(ステップS104:Yes)、ステップS106へ進む。
ステップS106では、判断部12Dが、変更情報を生成する(ステップS106)。例えば、判断部12Dは、特性値がストレージ装置20の許容範囲外の入出力特性種類の、許容範囲内の設定値を含む、変更情報を、サービス12Aごとに生成する。
次に、通知部12Eは、ステップS106で生成した変更情報をストレージ装置20へ通知する(ステップS108)。例えば、通知部12Eは、サービスIDと、該サービスIDによって識別されるサービス12Aに対して生成した変更情報と、を対応づけてストレージ装置20へ送信する。
変更情報を受付けたストレージ装置20のストレージコントローラ22は、受付けた変更情報に示される設定値を用いて、ストレージ装置20の許容条件を満たす特性となるように、仮想ストレージ24の特性を変更する。例えば、ストレージ装置20は、変更情報を用いて、ストレージ装置20の許容条件を満たす特性となるように、仮想ストレージ24の容量割当ての調整、ガベージコレクション、ウェアレベリング、などを行う。そして、本ルーチンを終了する。
以上説明したように、本実施の形態の情報処理装置10は、特性監視部12Cと、判断部12Dと、通知部12Eと、を備える。特性監視部12Cは、ストレージ装置20に対する入出力特性を監視する。判断部12Dは、入出力特性を含む監視情報に基づいて、ストレージ装置20へ特性変更のための変更情報を通知するか否かを判断する。通知部12Eは、通知すると判断した場合、変更情報をストレージ装置20へ通知する。
このように、本実施の形態の情報処理装置10は、ストレージ装置20に対する入出力特性を含む監視情報に基づいて、ストレージ装置20へ特性変更のための変更情報の通知を判断し、変更情報を通知する。
このため、変更情報を受付けたストレージ装置20は、入出力特性に応じて、特性変更を行うための変更情報を受付けることができる。よって、ストレージ装置20は、受付けた変更情報を用いて、特性変更を行うことができる。
従って、本実施の形態の情報処理装置10は、ストレージ装置20の性能低下を抑制することができる。
(変形例1)
上記実施の形態では、入出力特性種類は、例えば、入出力処理の種類、入出力の対象、入出力回数、入出力量、である場合を説明した。そして、入出力の対象は、例えば、入出力対象のファイルの識別情報であり、ファイルの識別情報は、例えば、ファイル名である場合を説明した。
しかし、入出力特性種類は、入出力対象のファイルに付随するメタ情報であってもよい。メタ情報は、ファイルの種類やファイルの用途などである。特性監視部12Cは、入出力対象のファイルのファイル名やファイルのサイズから、メタ情報を類推し、入出力特性種類および特性値として用いればよい。
例えば、ファイル名の末尾には、慣例として、ファイルの種類を示す文字列が含まれる場合がある。この場合、特性監視部12Cは、ファイル名を解析することで、ファイルの種類を類推すればよい。また、入出力対象のファイルには、メタ情報が添付されている場合がある。この場合、特性監視部12Cは、入出力対象のファイルに添付されたメタ情報を解析することで、メタ情報を類推し、入出力特性種類および特性値として用いればよい。
(変形例2)
なお、上記実施の形態では、許容条件DB14A(図2(B)参照)には、サービス12A間で重ならないように、入出力特性種類ごとに許容範囲が定められている形態を示した。
なお、各サービス12Aに対する許容範囲は、入出力特性種類の間で一部が重複していてもよい。
図9は、本変形例の説明図である。図9に示すように、複数の入出力特性種類(例えば、X1とX2)について、許容範囲の一部が重複してもよい。この場合、設定値には、これらの許容範囲の重複する範囲を予め定めればよい(範囲A〜G参照)。具体的には、例えば、図10に示す許容条件DB14Aを予め記憶部14に記憶すればよい。
(第2の実施の形態)
本実施の形態では、サービス12Aに関するサービス情報を、更に監視する形態を説明する。なお、以下では、同じ機能部やデータについては、同じ符号を付与し、詳細な説明を省略する場合がある。
図11は、本実施の形態の情報処理システム1Aの一例を示す模式図である。
情報処理システム1Aは、情報処理装置10Aと、ストレージ装置20と、を備える。情報処理システム1Aは、情報処理装置10に代えて情報処理装置10Aを備えた点以外は、第1の実施の形態の情報処理システム1と同様である。
情報処理装置10Aは、ストレージ装置20に対して入出力を行う。情報処理装置10Aは、演算部30と、記憶部31と、を備える。演算部30と記憶部31とは、通信可能に接続されている。
記憶部31は、許容条件DB14Aおよび監視情報14Bに代えて、許容条件DB31Aと、監視情報31Bと、を記憶する。監視情報31Bは、入出力特性DB14Cと、サービス情報DB31Dと、を含む。入出力特性DB14Cは、第1の実施の形態と同様である。許容条件DB31A、サービス情報DB31Dについては、詳細を後述する。
演算部30は、サービス12Aと、管理部30Zと、を有する。サービス12Aは、第1の実施の形態と同様である。管理部30Zは、実行部12Bと、特性監視部12Cと、サービス監視部30Fと、判断部30Dと、通知部12Eと、を備える。これらの各部は、例えば、1または複数のプロセッサにより実現される。例えば、上記各部は、CPUなどのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
実行部12Bおよび特性監視部12Cは、第1の実施の形態と同様である。
サービス監視部30Fは、サービス情報を監視する。サービス監視部30Fは、特性監視部12Cによる入出力特性の監視と並行して、サービス情報の監視を行う。サービス監視部30Fは、サービス12A(サービス12A1〜サービス12AN)の各々を監視することで、サービス12Aごとにサービス情報を監視する。
例えば、サービス監視部30Fは、サービス12Aの動作を受動的に監視する。この場合、サービス監視部30Fは、サービス12Aからサービス情報の通知を受信する。例えば、サービス監視部30Fは、情報交換用の専用システムコールまたはAPI(Application Programming Interface)を提供する。そして、これらをサービス12Aが実行することで、サービス監視部30Fは、サービス12Aからサービス情報を取得すればよい。
なお、サービス監視部30Fは、サービス12Aとの間で能動的に情報を交換することで、サービス情報を監視してもよい。すなわち、サービス監視部30Fは、サービス12Aの各々の動作を常時監視することで、サービス情報を取得してもよい。この場合、サービス監視部30Fは、特性監視部12Cと同様に、システムコールの監視等の受動的な方法で、サービス12Aの動作および動作に関連する情報を、サービス情報として取得する。すなわち、この場合、サービス監視部30Fは、サービス12Aからサービス情報を受信することで、サービス情報を取得する。
サービス情報とは、サービス12Aに関する情報である。言い換えると、サービス情報は、サービス12Aに関する情報であって、ストレージ装置20の特性変更に有用な情報である。
具体的には、サービス情報は、入出力要求によってサービス12Aがアクセスする対象の、ストレージ装置20に記憶されているファイルの特性、該ファイルのメタ情報、サービス12Aによるストレージ装置20への入出力要求、などである。
ファイルの特性は、例えば、ファイルの有効期限である。有効期限とは、ファイルの保存期限を示す。なお、ファイルの特性は、ファイルの最長の有効期限、最短の有効期限、平均の有効期限、の何れであってもよい。
メタ情報は、第1の実施の形態と同様である。サービス監視部30Fは、APIを介してサービス12Aから情報を収集することで、ファイルのメタ情報を取得すればよい。APIを介してファイルのメタ情報を取得することで、サービス監視部30Fは、既知の制約を満たさないファイル名の付与されたファイルについても、容易にメタ情報を取得することができる。
サービス監視部30Fは、ストレージ装置20に対する入出力要求を、サービス12Aから直接取得する。このため、実行部12Bが入出力要求に応じた入出力をストレージ装置20に対して実行する前に、サービス監視部30Fは、ストレージ装置20に対する入出力要求を取得することができる。
サービス監視部30Fは、監視したサービス情報を、記憶部31へ記憶する。本実施の形態では、サービス監視部30Fは、サービス12Aごとに、サービス情報を記憶部31の監視情報31Bへ登録する。
監視情報31Bは、ストレージ装置20への入出力や情報処理装置10Aの状態等の監視によって得られる情報である。本実施の形態では、監視情報31Bは、入出力特性と、サービス情報と、を含む。すなわち、監視情報31Bは、入出力特性に加えて、サービス情報を更に含む点以外は、第1の実施の形態の監視情報14Bと同様である。具体的には、監視情報31Bは、入出力特性DB14Cと、サービス情報DB31Dと、を含む。入出力特性DB14Cは、第1の実施の形態と同様である。
サービス情報DB31Dは、サービス情報を登録したデータベースである。サービス情報DB31Dのデータ形式は、データベースに限定されない。
図12は、サービス情報DB31Dのデータ構成の一例を示す模式図である。本実施の形態では、サービス情報DB31Dは、サービス12Aごとに、サービス情報を登録したデータベースである。具体的には、サービス情報DB31Dは、サービスIDと、サービス情報と、時刻と、を対応づけたものである。
サービス情報は、サービス種類と、該サービス種類の値と、を含む。サービス種類は、サービス情報の種類である。サービス種類は、ファイルの有効期限、メタ情報(ファイルの種類、ファイルの用途など)、入出力要求の内容、などである。値は、対応するサービス種類の示す、サービス12Aの監視によって得られた値である。時刻は、対応するサービス情報が監視された時刻を示す。
なお、サービス情報DB31Dにおける、サービス種類に対応する値は、サービス監視部30Fがサービス12Aから取得した値に対して、加工処理を施した値であってもよい。例えば、サービス監視部30Fは、特定の期間における、平均値、最大値、最小値などを、各サービス種類に対応する値としてサービス情報DB31Dへ登録してもよい。
このように、本実施の形態では、サービス監視部30Fは、サービス12A(サービスID)ごとに、サービス情報を、記憶部31のサービス情報DB31Dに登録する。
次に、判断部30Dについて説明する。判断部30Dは、第1の実施の形態の判断部12Dと同様に、監視情報31Bに基づいて、ストレージ装置20の特性変更のための変更情報をストレージ装置20へ通知するか否かを判断する。
本実施の形態では、判断部30Dは、入出力特性とサービス情報の双方に基づいて、変更情報を通知するか否かを判断する。すなわち、判断部30Dは、サービス情報を更に含む監視情報31Bに基づいて、変更情報を通知するか否かを判断する。
本実施の形態では、判断部30Dは、入出力特性DB14Cに登録されている入出力特性と、サービス情報DB31Dに登録されているサービス情報と、許容条件DB31Aと、を用いて、変更情報を通知するか否かを判断する。
許容条件DB31Aは、ストレージ装置20における入出力とサービス情報の許容条件を規定したデータベースである。なお、許容条件DB31Aのデータ形式は、データベースに限定されない。
なお、許容条件DB31Aのデータ構成は、許容条件DB14Aと同様である(図2(B)参照)。すなわち、許容条件DB31Aは、サービスIDと、許容条件と、設定値と、を対応づけたデータベースである。但し、許容条件DB31Aは、サービス12A、入出力特性種類、およびサービス種類ごとに、ストレージ装置20による特性値およびサービス種類の値の許容範囲を表したものであればよい。すなわち、許容条件DB31Aは、サービス12Aおよび入出力特性種類ごとの、ストレージ装置20の特性値の許容範囲および設定値と、サービス12Aおよびサービス種類ごとの、サービス種類の値の許容範囲および設定値と、を表したものであればよい。
許容範囲および設定値については、第1の実施の形態と同様に、サービス12Aごとに予め定め、許容条件DB31Aへ予め登録すればよい。
そして、判断部30Dは、第1の実施の形態と同様に、ストレージ装置20に対する入出力が、現在のストレージ装置20の特性に対して適切ではないと判別した場合、変更情報を通知すると判断すればよい。詳細には、判断部30Dは、監視情報31Bに、許容条件の少なくとも一部を満たさない情報が含まれる場合、変更情報を通知すると判断すればよい。
例えば、判断部30Dは、サービス情報として監視された有効期限が、許容条件DB31Aにおける、対応するサービスIDおよびサービス種類の値の許容範囲外である場合、変更情報を通知すると判断する。
なお、判断部30Dは、監視情報31Bに含まれる各種類の値(入出力特性種類の特性値、サービス種類の値)の各々について、同様にして、対応する許容範囲を外れた値であるか否かを判断する。そして、判断部30Dは、少なくとも1つの種類(1または複数の入出力特性種類、および、1または複数のサービス種類の内の少なくとも1つ)が、対応する許容範囲を外れた値である場合、変更情報を通知すると判断する。
このため、判断部30Dは、第1の実施の形態に比べて、より多くのタイミングで、変更情報を通知すると判断することとなる。
具体的には、判断部30Dは、サービス監視部30Fがサービス情報を取得したとき、特性監視部12Cが入出力特性を取得したとき、許容範囲を外れた特性値または値が有る場合、など、第1の実施の形態に比べて、より多くのタイミングで、変更情報を通知すると判断する。
そして、判断部30Dは、変更情報を通知すると判断した場合、変更情報を生成する。
本実施の形態では、判断部30Dは、特性値がストレージ装置20の許容範囲外の入出力特性種類の、許容範囲内の設定値と、ストレージ装置20の許容範囲外の値のサービス種類の、許容範囲内の設定値と、を含む。言い換えると、本実施の形態では、変更情報は、許容範囲外の特性値を示す入出力特性種類の設定値、および、許容範囲外の値を示すサービス種類の設定値、を含む。
設定値は、第1の実施の形態と同様に、対応する入出力特性種類およびサービス種類の許容範囲内の値である。本実施の形態では、設定値は、予め許容条件DB31Aに登録されている。
このため、判断部30Dは、第1の実施の形態の判断部12Dと同様に、許容範囲外の特性値を示す入出力特性種類および許容範囲外の値を示すサービス種類を含む、監視情報31BのサービスIDについて、該サービスIDと該入出力特性種類、および、該サービスIDと該サービス種類、の各々に対応する設定値を、許容条件DB31Aから読取る。この読取処理によって、判断部30Dは、サービス12Aごとに、許容範囲外の入出力特性種類および許容範囲外のサービス種類の値の各々に対応する、許容範囲内の設定値を含む、変更情報を生成する。
通知部12Eは、第1の実施の形態と同様である。すなわち、通知部12Eは、判断部30Dが通知すると判断した場合、サービス12Aごとに、変更情報をストレージ装置20へ通知する。
ストレージ装置20のストレージコントローラ22は、受付けた変更情報を用いて、許容条件を満たす特性となるように、仮想ストレージ24の特性を変更する。
なお、通知部12Eは、設定値の種類(1または複数の入出力特性種類、1または複数のサービス種類)ごとに、変更情報をストレージ装置20へ通知してもよい。すなわち、通知部12Eは、設定値と該設定値の種類とを対応付けたデータを、変更情報として、ストレージ装置20へ通知してもよい。
この場合、ストレージ装置20は、設定値の種類ごとに、X%(Xバイト)、Y%(Yバイト)といった形式で、記憶領域を割当てることで、特性変更を行えばよい。
次に、本実施の形態の情報処理装置10Aが実行する情報処理の手順の一例を説明する。図13は、本実施の形態の情報処理装置10Aが実行する情報処理の手順の一例を示す、フローチャートである。なお、サービス12Aから入出力要求を受付けるごとに、実行部12Bが、ストレージ装置20に対して入出力を実行しているものとする。
まず、特性監視部12Cおよびサービス監視部30Fが、監視処理を実行する(ステップS200)。ステップS200では、特性監視部12Cによる入出力特性の監視処理と、サービス監視部30Fによるサービス情報の監視処理と、が、並列して実行される。
次に、特性監視部12Cおよびサービス監視部30Fが、記憶部31への記憶処理を実行する(ステップS202)。ステップS202では、特性監視部12Cが、監視した入出力特性を記憶部31へ記憶する。また、サービス監視部30Fが、監視したサービス情報を記憶部31へ記憶する。
次に、判断部30Dが、変更情報をストレージ装置20へ通知するか否かを判断する(ステップS204)。ステップS204で否定判断すると(ステップS204:No)、上記ステップS200へ戻る。一方、ステップS204で肯定判断すると(ステップS204:Yes)、ステップS206へ進む。
ステップS206では、判断部30Dが、変更情報を生成する(ステップS206)。次に、通知部12Eが、ステップS206で生成した変更情報をストレージ装置20へ通知する(ステップS208)。変更情報を受付けたストレージ装置20のストレージコントローラ22は、受付けた変更情報に示される設定値を用いて、ストレージ装置20の許容条件を満たす特性となるように、仮想ストレージ24の特性を変更する。そして、本ルーチンを終了する。
以上説明したように、本実施の形態の情報処理装置10Aは、サービス監視部30Fが、サービス12Aに関するサービス情報を監視する。判断部30Dは、サービス情報を更に含む監視情報31Bに基づいて、変更情報を通知するか否かを判断する。そして、通知部12Eは、通知すると判断した場合、変更情報を通知する。
このため、本実施の形態の情報処理装置10Aは、更に、サービス情報に応じた変更情報を、ストレージ装置20へ通知することができる。また、情報処理装置10Aは、サービス情報に応じたタイミングで、変更情報をストレージ装置20へ通知することができる。このため、ストレージ装置20は、より詳細に、ストレージ装置20の特性変更を行うことができる。
従って、本実施の形態の情報処理装置10Aは、上記実施の形態の効果に加えて、更に、ストレージ装置20の性能低下を抑制することができる。
また、本実施の形態の情報処理装置10Aは、上記実施の形態に比べて、更に多くのタイミングで、変更情報を通知するか否かを判断することができる。このため、ストレージ装置20は、上記実施の形態に比べて、より細かいタイミングで、特性を変更することができる。また、情報処理装置10Aは、サービス12Aへの影響を抑制しつつ、且つ、ストレージ装置20の特性変更を行うことができる。
また、情報処理装置10Aが、サービス情報に応じた変更情報を更に通知することで、ストレージ装置20は、更に効率よく、特性変更を行うことができる。
具体的には、情報処理装置10Aが、有効期限の監視に基づいた変更情報を通知することで、ストレージ装置20は、どのくらいの期間、該ファイルを記憶すべきかを設定することが可能となる。また、ストレージ装置20は、サービス12Aの実行に必要なストレージ容量を見積もることができる。
また、本実施の形態では、情報処理装置10Aが、複数のサービス種類の許容範囲内の設定値や、複数の入出力特性種類の許容範囲内の設定値を含む変更情報を、ストレージ装置20へ通知する。このため、ストレージ装置20は、複数の種類の設定値に応じて、必要な仮想ストレージ24Aのサイズを見積もることができる。
なお、ストレージ装置20は、各サービス12Aごとに割当てた容量を変更せずに、内部で確保する記憶素子の数を調整することで、特性変更を行ってもよい。
また、本実施の形態では、サービス監視部30Fは、ストレージ装置20に対する入出力要求を、サービス12Aから直接取得する。このため、実行部12Bがストレージ装置20に対して、該入出力要求に応じた入出力を実行する前に、サービス監視部30Fは、該入出力要求を取得することができる。よって、ストレージ装置20は、実行部12Bからの入出力を受付ける前に、通知部12Eから、該入出力要求に応じた変更情報を受付けることが可能となる。
このため、ストレージ装置20は、特性変更を能動的に行うことが可能となる。すなわち、サービス12Aから実行部12Bを介して入出力が行われる前に、受付けた変更情報に応じた特性変更を行うことができる。また、ストレージ装置20は、サービス監視部30Fで監視されたサービス情報の変動に応じて、該変動に合わせて事前に特性変更を行うことができる。
また、通知部12Eは、サービス12Aの新規立ち上げ時に、該サービス12Aのサービス情報に応じた変更情報をストレージ装置20へ通知することができる。このため、ストレージ装置20は、実行部12Bから受付ける対象の入出力に対して、スムーズに対応することが可能となる。
(第3の実施の形態)
本実施の形態では、ストレージ装置20の内部状況情報を更に監視する形態を説明する。
図14は、本実施の形態の情報処理システム1Bの一例を示す模式図である。
情報処理システム1Bは、情報処理装置10Bと、ストレージ装置20と、を備える。情報処理システム1Bは、情報処理装置10に代えて情報処理装置10Bを備えた点以外は、第1の実施の形態の情報処理システム1と同様である。
情報処理装置10Bは、ストレージ装置20に対して入出力を行う。情報処理装置10Bは、演算部32と、記憶部33と、を備える。演算部32と記憶部33とは、通信可能に接続されている。
記憶部33は、許容条件DB14Aおよび監視情報14Bに代えて、許容条件DB33Aと、監視情報33Bと、を記憶する。監視情報33Bは、入出力特性DB14Cと、内部状況DB33Eと、を含む。入出力特性DB14Cは、第1の実施の形態と同様である。許容条件DB33A、内部状況DB33Eについては、詳細を後述する。
演算部33は、サービス12Aと、管理部32Zと、ストレージ監視部32Gと、を有する。サービス12Aは、第1の実施の形態と同様である。管理部32Zは、実行部12Bと、特性監視部12Cと、判断部32Dと、通知部12Eと、を備える。これらの各部は、例えば、1または複数のプロセッサにより実現される。例えば、上記各部は、CPUなどのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
実行部12B、特性監視部12C、および通知部12Eは、第1の実施の形態と同様である。
ストレージ監視部32Gは、ストレージ装置20の内部状況を監視する。ストレージ監視部32Gは、ストレージ装置20を監視することで、ストレージ装置20の内部状況を監視する。
ストレージ装置20の内部状況は、内部状況種類ごとの状況値を示す。内部状況種類は、ストレージ装置20の内部状況の種類を示す。内部状況種類は、例えば、ストレージ装置20における、有効な記憶素子の数、記憶素子の各々の読み出しエラー率、セルの各々に対するアクセス状況(消去回数)、複数のセルのアクセス状況の平均値、論理アドレスと物理アドレスの変換情報、などである。状況値は、内部状況種類の示す値である。
ストレージ監視部32Gは、ストレージ装置20から直接内部状況を収集することで、内部状況を監視する。内部状況種類ごとの状況値は、ストレージコントローラ22がストレージ装置20の内部情報として管理している。
ストレージ監視部32Gは、演算部32Zとは独立して動作し、定期的にストレージ装置20を参照することで、内部状況を読取る。具体的には、ストレージ監視部32Gは、ストレージコントローラ22のレジスタやソフトウェアを介して、内部状況を読取る。
なお、ストレージ装置20がサービス12Aごとに内部状況を管理している場合がある。この場合、ストレージ装置20は、サービス12Aごとに管理されている内部状況についても、読取ることが好ましい。
ストレージ監視部32Gは、監視した内部状況を、記憶部33へ記憶する。本実施の形態では、ストレージ監視部32Gは、監視した内部状況を、記憶部31の監視情報33Bへ登録する。
監視情報33Bは、ストレージ装置20への入出力やストレージ装置20の内部状況の監視によって得られる情報である。本実施の形態では、監視情報33Bは、入出力特性と、内部状況と、を含む。すなわち、監視情報33Bは、入出力特性に加えて、内部状況を更に含む点以外は、第1の実施の形態の監視情報14Bと同様である。具体的には、監視情報33Bは、入出力特性DB14Cと、内部状況DB33Eと、を含む。入出力特性DB14Cは、第1の実施の形態と同様である。
内部状況DB33Eは、内部状況を登録したデータベースである。内部状況DB33Eは、データベースに限定されない。
図15は、内部状況DB33Eのデータ構成の一例を示す模式図である。本実施の形態では、内部状況DB33Eは、内部状況と、時刻と、を登録したデータベースである。更に詳細には、内部状況DB33Eは、内部状況種類と、内部状況種類の状況値と、時刻と、を対応付けたデータベースである。時刻は、対応する内部状況種類の状況値の監視された時刻を示す。
なお、サービス12Aごとの内部状況を監視した場合には、監視情報33Bは、サービスIDと、内部状況(内部状況種類、状況値)と、時刻と、を対応付けて内部状況DB33Eへ登録すればよい。
次に、判断部32Dについて説明する。判断部32Dは、第1の実施の形態の判断部12Dと同様に、ストレージ装置20に対する入出力が、現在のストレージ装置20の特性に対して適切ではないと判別した場合、変更情報を通知すると判断する。判断部32Dは、監視情報33Bに基づいて、ストレージ装置20の特性変更のための変更情報をストレージ装置20へ通知するか否かを判断する。
本実施の形態では、判断部32Dは、入出力特性と、ストレージ装置20の内部状況と、の双方に基づいて、変更情報を通知するか否かを判断する。すなわち、判断部32Dは、内部状況を更に含む監視情報33Bに基づいて、変更情報を通知するか否かを判断する。
本実施の形態では、判断部32Dは、入出力特性DB14Cに登録されている入出力特性と、内部状況DB33Eに登録されている内部状況と、許容条件DB33Aと、を用いて、変更情報を通知するか否かを判断する。
許容条件DB33Aは、ストレージ装置20に対する入出力と、ストレージ装置20の内部状況と、の許容条件を規定したデータベースである。なお、許容条件DB33Aのデータ形式は、データベースに限定されない。
なお、許容条件DB33Aのデータ構成は、許容条件DB14Aと同様である(図2(B)参照)。すなわち、許容条件DB33Aは、サービスIDと、許容条件と、設定値と、を対応づけたデータベースである。但し、許容条件DB33Aは、サービス12A、入出力特性種類、および内部状況種類ごとに、特性値および状況値の許容範囲を表したものであればよい。
許容範囲および設定値については、第1の実施の形態と同様に、サービス12Aごとに予め定め、許容条件DB33Aへ予め登録すればよい。
例えば、内部状況種類が“セルに対するアクセス状況”である場合、状況値の許容範囲には、該セルに対するアクセス状況の平均値の許容範囲が予め登録されている。また、この内部状況種類に対応する設定値には、該許容範囲内の値や、該許容範囲内となるようにストレージ装置20を制御するために割当てるセル数が、予め登録されている。
そして、監視情報33Bが許容条件の少なくとも一部を満たさない場合、判断部32Dは、変更情報を通知すると判断すればよい。
例えば、判断部32Dは、内部状況DB33Eに登録されている内部状況に、状況値が許容条件(許容範囲)を満たさない内部状況種類が含まれる場合、変更情報を通知すると判断する。
詳細には、判断部32Dは、監視情報33Bに含まれる各種類の値(入出力特性種類の特性値、内部状況種類の状況値)の各々について、対応する許容範囲を外れた値であるか否かを判断する。そして、判断部32Dは、少なくとも1つの種類(1または複数の入出力特性種類、および、1または複数の内部状況種類の内の少なくとも1つ)が、対応する許容範囲を外れた値である場合、変更情報を通知すると判断する。
このため、判断部32Dは、第1の実施の形態に比べて、より多くのタイミングで、変更情報を通知すると判断することとなる。
そして、判断部32Dは、変更情報を通知すると判断した場合、変更情報を生成する。
本実施の形態では、変更情報は、特性値が許容範囲外の入出力特性種類に対応する、許容範囲内の設定値と、状況値が許容範囲外の内部状況種類に対応する、許容範囲内の設定値と、を含む。
設定値は、第1の実施の形態と同様に、対応する入出力特性種類および内部状況種類の許容範囲内の値である。本実施の形態では、設定値は、予め許容条件DB33Aに登録されている。
判断部32Dは、許容範囲外の特性値を示す入出力特性種類、または、許容範囲外の状況値を示す内部状況種類を含む、サービスIDを、監視情報33Bから特定する。そして、判断部32Dは、該サービスIDと該入出力特性種類、および、該サービスIDと該内部状況種類、の各々に対応する設定値を、許容条件DB33Aから読取る。この読取処理によって、判断部32Dは、サービス12Aごとに、変更情報を生成する。
通知部12Eは、第1の実施の形態と同様である。すなわち、通知部12Eは、判断部32Dが通知すると判断した場合、変更情報を、サービス12Aごとにストレージ装置20へ通知する。
なお、上述したように、ストレージ監視部32Gは、サービスIDに対応づけずに、内部状況を内部状況DB33Eへ登録する場合がある。この場合、判断部32Dは、内部状況DB33Eにおける、サービスIDの対応づけられていない内部状況について、内部状況種類に対応する許容範囲から、変更情報の通知の有無を、更に判断すればよい。この場合、許容条件DB33Aには、サービスIDが対応付けられておらず、且つ、内部状況種類に対応する許容範囲と設定値を、予め登録しておけばよい。
次に、本実施の形態の情報処理装置10Bが実行する情報処理の手順の一例を説明する。情報処理装置10Bが実行する情報処理の手順は、第2の実施の形態と同様である(図13参照)。
但し、情報処理装置10Bは、ステップS200の監視処理において、特性監視部12Cによる入出力特性の監視処理と、ストレージ監視部32Gによるストレージ装置20の内部状況の監視と、を並列して実行する。そして、情報処理装置10Bは、ステップS202において、特性監視部12Cおよびストレージ監視部32Gが、入出力特性および内部状況を記憶部33へ記憶すればよい。そして、情報処理装置10Bは、ステップ204〜ステップS208の処理を実行すればよい。
以上説明したように、本実施の形態の情報処理装置10Bは、ストレージ監視部32Gが、ストレージ装置20の内部状況を監視する。判断部32Dは、内部状況を更に含む監視情報33Bに基づいて、変更情報を通知するか否かを判断する。そして、通知部12Eは、通知すると判断した場合、変更情報を通知する。
このため、本実施の形態の情報処理装置10Bは、上記実施の形態の効果に加えて、更に多くのタイミングで、変更情報を通知するか否かを判断することができる。このため、ストレージ装置20は、より詳細に、ストレージ装置20の特性変更を行うことができる。
従って、本実施の形態の情報処理装置10Bは、上記実施の形態の効果に加えて、更に、ストレージ装置20の性能低下を抑制することができる。
また、ストレージ監視部32Gが、内部状況を監視することで、情報処理装置10Bは、より適切なタイミングで、より細かな種類の設定値を含む変更情報を、ストレージ装置20へ通知することができる。
また、情報処理装置10Bが、ストレージ装置20の内部状況に応じた変更情報を更に通知することで、ストレージ装置20は、更に効率よく、特性変更を行うことができ、性能低下を更に抑制することができる。
(第4の実施の形態)
本実施の形態では、外部装置との通信特性を更に監視する形態を説明する。
図16は、本実施の形態の情報処理システム1Cの一例を示す模式図である。
情報処理システム1Cは、情報処理装置10Cと、ストレージ装置20と、を備える。情報処理システム1Cは、情報処理装置10に代えて情報処理装置10Cを備えた点以外は、第1の実施の形態の情報処理システム1と同様である。
情報処理装置10Cは、ストレージ装置20に対して入出力を行う。情報処理装置10Cは、演算部34と、記憶部35と、通信I/F36と、を備える。演算部34と記憶部35とは、通信可能に接続されている。演算部34と通信I/F36とは、通信可能に接続されている。
通信I/F36は、無線通信または有線通信により、外部装置37と通信するための通信インタフェースである。すなわち、情報処理装置10Cは、無線LANのアクセスポイントや、有線通信装置、セルラー通信向け装置、複数種類の無線または有線の通信インタフェースを統合した装置、などである。
外部装置37は、例えば、外部サーバ37A、無線装置37B、情報処理装置37Cなどである。外部サーバ37Aは、情報処理装置10Cとは異なる処理を実行する公知のパーソナルコンピュータ等である。無線装置37Bは、無線通信によって情報処理装置10Cと通信する装置である。情報処理装置37Cは、情報処理装置10Cとは別体として構成された、他の情報処理装置(例えば、情報処理装置10A、情報処理装置10B、情報処理装置10Cなど)である。
記憶部35は、許容条件DB14Aおよび監視情報14Bに代えて、許容条件DB35Aおよび監視情報35Bを記憶する。監視情報35Bは、入出力特性DB14Cと、サービス情報DB31Dと、内部状況DB33Eと、通信特性DB35Fと、を含む。入出力特性DB14C、サービス情報DB31D、内部状況DB33Eは、上記実施の形態と同様である。許容条件DB35A、内部状況DB33Eについては、詳細を後述する。
演算部34は、サービス12Aと、通信監視部34Hと、通信処理部34Iと、管理部34Zと、ストレージ監視部32Gと、を備える。管理部34Zは、実行部12Bと、特性監視部12Cと、通知部12Eと、サービス監視部30Fと、判断部35Dと、を備える。これらの各部は、例えば、1または複数のプロセッサにより実現される。例えば、上記各部は、CPUなどのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
サービス12A、実行部12B、特性監視部12C、通知部12E、サービス監視部30F、およびストレージ監視部32Gは、上記実施の形態と同様である。
通信処理部34Iは、通信I/F36を介して外部装置37との間で通信処理を行う。例えば、情報処理装置10Cの通信対象の外部装置37が無線装置37Bである場合、情報処理装置10Cは、無線LANのアクセスポイントとして機能する。
通信監視部34Hは、通信処理部34Iを監視することで、外部装置37との通信特性を監視する。すなわち、通信監視部34Hは、通信処理部34Iから通信特性を収集する。なお、通信監視部34Hは、通信処理部34Iおよび通信I/F36を介して外部装置37から、通信特性を収集してもよい。
通信特性は、情報処理装置10Cが有線通信または無線通信を行う外部装置37の数や通信動作に依存した特性である。詳細には、通信特性は、通信特性種類ごとの通信特性値を示す。通信特性種類は、通信特性の種類である、通信特性値は、通信特性種類の値である。
通信特性種類は、例えば、情報処理装置10Cに接続中の外部装置37の数、接続中の外部装置37の移動パターン、接続中の外部装置37の内、特定のリンク速度を利用可能な外部装置37の数、接続中の外部装置37の内、特定の通信速度で通信可能な外部装置37の数、接続中の外部装置37との通信のビットエラー率、単位時間あたりの外部装置37の接続数や切断数、単位時間あたりの情報処理装置10Cへの接続ユーザ数、単位時間あたりのサービス12Aの利用者数、無線通信電波の強度ごとの外部装置37の数、通信帯域、などである。
また、通信特性種類は、通信中の外部装置37の位置(例えば、無線通信の電波の到来方向)、接続時の認証に用いた認証情報(アドレス、ユーザ名など)、無線装置37Bとの無線電波の強度変化、無線電波の受信角度(到来角度)、無線装置37Bの移動方向、無線装置37Bの移動速度、接続中の外部装置37の識別情報、通信帯域、などを含んでもよい。
また、通信特性種類は、予め定めたグループに属する、通信中の無線装置37Bの数、単位時間あたりの無線装置37Bの接続数、単位時間あたりの無線装置37Bの切断数、および/または通信量、などであってもよい。
例えば、通信処理部34Iは、無線通信時の受信電波強度を、互いに異なる範囲の受信電波強度のグループに分類する。そして、通信処理部34Iは、各グループに属する無線通信中の無線装置37Bの数を、通信特性種類として用いてもよい。また、例えば、通信処理部34Iは、通信方式の種類に応じて、通信中の外部装置37を複数のグループに分類してもよい。通信方式の種類は、IEEE802.11a、b、g、n、ac、高速通信向け通信技術、低速通信向け通信技術、近距離向け通信技術、遠距離向け通信技術、などである。
通信監視部34Hは、通信処理部34Iを監視することで、1または複数の通信特性種類の通信特性値を取得する。
なお、通信監視部34Hは、上記に挙げた1または複数の通信特性種類の通信特性値を用いて、他の通信特性種類の通信特性値を算出してもよい。そして、通信監視部34Hは、通信処理部34Iで算出された通信特性値を取得することで、通信特性を監視してもよい。
例えば、通信監視部34Hは、通信処理部34Iから収集した特定の通信特性種類の通信特性値について、単位時間あたりの平均値、最大値、最小値を算出し、通信特性値として用いてもよい。
また、通信処理部34Iは、外部装置37から通信特性を収集し、通信監視部34Hへ出力してもよい。そして、通信監視部34Hは、通信処理部34Iから通信特性を受付けることで、通信特性を監視してもよい。
通信監視部34Hは、監視した通信特性を、記憶部35へ記憶する。本実施の形態では、通信監視部34Hは、監視した通信特性を、記憶部35の監視情報35Bへ登録する。
監視情報35Bは、ストレージ装置20への入出力、サービス情報、内部状況、および通信特性の少なくとも1つの監視によって得られる情報である。本実施の形態では、監視情報35Bは、ストレージ装置20へ入出力、サービス情報、内部状況、および通信特性の全ての監視によって得られる情報である場合を、一例として説明する。
このため、本実施の形態では、監視情報35Bは、入出力特性と、サービス情報と、内部状況と、通信特性と、を含む。すなわち、監視情報35Bは、入出力特性に加えて、サービス情報、内部状況、および通信特性、を更に含む点以外は、第1の実施の形態の監視情報14Bと同様である。具体的には、監視情報35Bは、入出力特性DB14Cと、サービス情報DB31Dと、内部状況DB33Eと、通信特性DB35Fと、を含む。入出力特性DB14C、サービス情報DB31D、および内部状況DB33Eは、上記実施の形態と同様である。
通信特性DB35Fは、通信特性を登録したデータベースである。通信特性DB35Fは、データベースに限定されない。
図17は、通信特性DB35Fのデータ構成の一例を示す模式図である。本実施の形態では、通信特性DB35Fは、通信特性と、時刻と、を登録したデータベースである。更に詳細には、通信特性DB35Fは、通信特性種類と、通信特性値と、時刻と、を対応付けたデータベースである。時刻は、対応する通信特性種類の通信特性値の監視された時刻を示す。
次に、判断部35Dについて説明する。判断部35Dは、第1の実施の形態の判断部12Dと同様に、ストレージ装置20に対する入出力が、現在のストレージ装置20の特性に対して適切ではないと判別した場合、変更情報を通知すると判断する。具体的には、判断部35Dは、監視情報35Bに基づいて、ストレージ装置20の特性変更のための変更情報をストレージ装置20へ通知するか否かを判断する。すなわち、本実施の形態では、判断部35Dは、通信特性を更に含む監視情報35Bに基づいて、変更情報を通知するか否かを判断する。
本実施の形態では、判断部35Dは、上記実施の形態と同様にして、入出力特性DB14C、サービス情報DB31D、および内部状況DB33Eと、許容条件DB35Aと、を用いて、変更情報を通知するか否かを判断する。なお、本実施の形態では、判断部35Dは、更に、通信特性DB35Fと、許容条件DB35Aと、を用いて、変更情報を通知するか否かを判断する。
許容条件DB35Aは、ストレージ装置20に対する入出力特性、サービス情報、ストレージ装置20の内部状況、および通信特性、の各々の許容条件を規定したデータベースである。なお、許容条件DB35Aのデータ形式は、データベースに限定されない。
なお、許容条件DB35Aのデータ構成は、許容条件DB14Aと同様である(図2(B)参照)。すなわち、許容条件DB35Aは、サービスIDと、許容条件と、設定値と、を対応づけたデータベースである。但し、許容条件DB35Aは、サービス12Aと入出力特性種類ごと、サービス12Aとサービス情報ごと、サービス12Aと内部状況種類ごと、および、通信特性種類ごとに、値の許容範囲を表したものであればよい。
許容範囲および設定値については、第1の実施の形態と同様に、予め定め、許容条件DB35Aへ予め登録すればよい。設定値は、上述したように、対応する許容範囲内の値であればよい。すなわち、本実施の形態では、変更情報は、通信特性値がストレージ装置20の許容範囲外の通信特性種類の、許容範囲内の設定値を含む。
通信特性種類ごとの、許容範囲や許容範囲内の設定値について、具体的に説明する。
例えば、通信特性種類が“情報処理装置10Cに接続中の外部装置37の数”である場合、許容範囲は、ストレージ装置20の許容範囲内の外部装置37の数である。また、通信特性種類が、“接続中の外部装置37の移動パターン”である場合、許容範囲は、特定の移動パターンである。また、通信特性種類が、“接続中の外部装置37の内、特定のリンク速度を利用可能な外部装置37の数”である場合、許容範囲は、ストレージ装置20の許容範囲内の外部装置37の数である。また、通信特性種類が、“接続中の外部装置37との通信のビットエラー率”である場合、許容範囲は、ストレージ装置20の許容範囲内のビットエラー率である。また、通信特性種類が、“事前に設定された外部装置37の識別情報”である場合、許容範囲は、ストレージ装置20の許容範囲内の外部装置37の識別情報である。
そして、判断部35Dは、監視情報35Bに、許容条件DB35Aにおける対応する許容条件の少なくとも一部を満たさない情報が含まれる場合、変更情報を通知すると判断すればよい。
例えば、判断部35Dは、通信監視部34Hによって監視された通信特性が、ストレージ装置20の通信特性の許容条件の少なくとも一部を満たさない場合、変更情報を通知すると判断する。
本実施の形態、判断部35Dは、監視情報35Bに含まれる各種類の値(入出力特性種類の特性値、サービス種類の値、内部状況種類の状況値、通信特性種類の通信特性値)の各々について、同様にして、対応する許容範囲を外れた値であるか否かを判断する。そして、判断部35Dは、少なくとも1つの種類(1または複数の入出力特性種類の特性値、1または複数のサービス種類の値、1または複数の内部状況種類の状況値、および、1または複数の通信特性種類の通信特性値、の少なくとも一つ)について、対応する許容範囲を外れた値である場合、変更情報を通知すると判断する。
このため、判断部35Dは、上記実施の形態に比べて、より多くのタイミングで、変更情報を通知すると判断することとなる。
そして、判断部35Dは、変更情報を通知すると判断した場合、変更情報を生成する。
本実施の形態では、変更情報は、特性値が許容範囲外の入出力特性種類の、許容範囲内の設定値と、値が許容範囲外のサービス種類の、許容範囲内の設定値と、状況値が許容範囲外の内部状況種類の、許容範囲内の設定値と、通信特性値が許容範囲外の通信特性種類の設定値と、の少なくとも一つを含む。
設定値は、第1の実施の形態と同様に、対応する種類(入出力特性種類、サービス種類、内部状況種類、通信特性種類)の許容範囲内の値である。本実施の形態では、設定値は、予め許容条件DB35Aに登録されている。
このため、判断部35Dは、上記実施の形態の判断部(判断部12D、判断部30D、判断部32D)と同様に、許容範囲外の値を示す種類(入出力特性種類、サービス種類、内部状況種類、通信特性種類)に対応する設定値を、許容条件DB35Aから読取る。そして、判断部35Dは、読取った許容範囲内の設定値を含む、変更情報を生成する。
なお、第1の実施の形態と同様に、設定値は、許容条件DB35Aにおける、対応する許容範囲内の特性値が得られるように、ストレージ装置20の特性を調整するための値であってもよい。この場合、判断部35Dは、記憶部35に記憶されている情報を用いて、該調整するための値を生成し、設定値として用いればよい。
具体的には、判断部35Dは、許容範囲内の通信特性値を、ストレージ装置20が特性変更に利用可能な値に加工し、設定値として用いる。例えば、通信特性種類が“無線装置37Bの移動速度”であると仮定する。この場合、判断部35Dは、該“無線装置37Bの移動速度”の示す通信特性値から、ストレージ装置20へ入出力するデータ量を推測する。ここで、無線装置37Bの移動速度が速いほど、より多様な情報の入出力がより頻繁にストレージ装置20に対して行われる可能性がある。このため、判断部35Dは、該“無線装置37Bの移動速度”に対応する設定値として、移動速度が速いほどより大きいデータ量を示す設定値を算出すればよい。
この場合、ストレージ装置20は、無線装置37Bの移動速度が速いほど容量を大きくし、移動速度が遅いほど容量を小さくするように、特性変更を行うことが可能となる。
なお、通信監視部34Hが監視した通信特性を用いて、ストレージ装置20が特性変更を行うことが可能な場合には、判断部35Dは、上記加工処理を省略してもよい。
通知部12Eは、上記実施の形態と同様である。すなわち、通知部12Eは、判断部35Dが通知すると判断した場合、変更情報をストレージ装置20へ通知する。
次に、本実施の形態の情報処理装置10Cが実行する情報処理の手順の一例を説明する。情報処理装置10Cが実行する情報処理の手順は、第2の実施の形態と同様である(図13参照)。
但し、情報処理装置10Cは、ステップS200の監視処理において、特性監視部12Cによる入出力特性の監視処理と、サービス監視部30Fによるサービス情報の監視処理と、ストレージ監視部32Gによるストレージ装置20の内部状況の監視処理と、通信監視部34Hによる通信特性の監視処理と、を並列して実行する。そして、情報処理装置10Cは、ステップS202において、特性監視部12C、ストレージ監視部32G、サービス監視部30F、および通信監視部34Hが、入出力特性、内部状況、サービス情報、および通信特性を、記憶部35へ記憶すればよい。そして、情報処理装置10Cは、ステップ204〜ステップS208の処理を実行すればよい。
以上説明したように、本実施の形態の情報処理装置10Cは、通信監視部34Hが外部装置37との通信特性を監視する。判断部35Dは、通信特性を更に含む監視情報35Bに基づいて、変更情報を通知するか否かを判断する。そして、通知部12Eは、通知すると判断した場合、変更情報を通知する。
このため、本実施の形態の情報処理装置10Cは、上記実施の形態の効果に加えて、更に多くのタイミングで、変更情報を通知するか否かを判断することができる。このため、ストレージ装置20は、より詳細に、ストレージ装置20の特性変更を行うことができる。
従って、本実施の形態の情報処理装置10Cは、上記実施の形態の効果に加えて、更に、ストレージ装置20の性能低下を抑制することができる。
また、上述したように、通信特性は、情報処理装置10Cが有線通信または無線通信を行う外部装置37の数や通信動作に依存した特性である。通信特性が変化すると、サービス12Aに対する需要や、サービス12Aがストレージ装置20へ送信する入出力要求が変化する。
このため、通知部12Eが、通信特性を更に含む監視情報35Bに応じた変更情報を、ストレージ装置20へ通知することで、ストレージ装置20は、特性を更に効率よく調整することができる。
なお、通知部12Eは、サービス12Aごとに変更情報を通知する形態に限定されない。通知部12Eは、設定値の種類(入出力特性種類、サービス種類、内部状況種類、通信特性種類)ごとに、変更情報をストレージ装置20へ通知してもよい。
また、通知部12Eは、通信特性の監視元の外部装置37ごとに、変更情報をストレージ装置20へ通知してもよい。
また、通知部12Eは、通信特性に応じて、外部装置37を複数のグループに分類し、グループごとに、変更情報をストレージ装置20へ通知してもよい。この場合、例えば、通知部12Eは、通信特性に示される、無線電波の受信角度や移動速度などを用いて、外部装置37を複数のグループに分類すればよい。なお、グループの分類に用いるパラメータは、受信角度や移動速度に限定されない。
(変形例3)
なお、判断部35Dは、監視情報35Bの統計値を用いて、変更情報を通知するか否かを判断してもよい。統計値は、監視情報35Bによって示されるデータの傾向や特徴を示す。例えば、判断部35Dは、過去の同じ曜日や時間帯に、情報処理装置10Cに接続中であった外部装置37の数の平均値を、統計値として算出し、変更情報の通知の判断に用いてもよい。
判断部35Dが、監視情報35Bの統計値を用いて判断することで、ストレージ装置20は、曜日や時間帯などの変化に応じて、特性を柔軟に調整することができる。
なお、統計値の算出に用いる事象は、曜日や時間帯に限定されない。また、統計値の算出に用いる事象の数は、2つに限定されず、1つまたは3つ以上であってもよい。
例えば、判断部35Dは、外部装置37の識別情報(例えば、MACアドレス)、接続した曜日、接続した時間帯、特定のサービス12Aを利用する利用者の群、御無線装置37Bの場所、等を用いた統計値を算出してもよい。そして、判断部35Dは、この統計値を、変更情報の通知の判断に用いてもよい。
この処理により、通知部12Eは、更に、統計値に応じたタイミングで、変更情報をストレージ装置20へ通知することができる。
統計値の許容範囲内の設定値を更に含む変更情報を、ストレージ装置20へ通知してもよい。
(変形例4)
また、通信監視部34Hは、外部装置37としての他の情報処理装置10Cである情報処理装置37Cから、該情報処理装置37Cで監視された通信特性を取得してもよい。この場合、情報処理装置37Cは、本実施の形態の情報処理装置10Cと同様の構成とすればよい。
そして、判断部35Dは、情報処理装置37Cから取得した通信特性と、通信監視部34Hで監視した通信特性と、の統計値を更に含む監視情報31Bに基づいて、変更情報を通知するか否かを判断してもよい。
すなわち、判断部35Dは、複数の情報処理装置10C(情報処理装置10C、1または複数の情報処理装置37C)で監視された、複数の通信特性の統計値を更に用いて、変更情報を通知するか否かを判断してもよい。
この場合、判断部35Dは、例えば、無線ネットワークに接続した無線装置37Bに固有の情報や属性、該無線装置37Bの利用者の情報や利用者の属性から導出した、共通する特徴を有する無線装置37Bの数などを、統計値として用いればよい。
また、判断部35Dは、他の情報処理装置10Cである情報処理装置37Cから、該情報処理装置37Cが無線通信した無線装置37Bに関する通信特性を、統計値として取得してもよい。
そして、判断部35Dは、当該情報処理装置10Cの通信監視部34Hで監視した通信特性と、他の情報処理装置10C(情報処理装置37C)から取得した通信特性と、の統計値を更に含む監視情報35Bに基づいて、上記実施の形態と同様にして、変更情報を通知するか否かを判断すればよい。
例えば、判断部35Dは、他の情報処理装置10Cが無線通信した無線装置37Bに関する通信特性として、該他の情報処理装置10Cと該無線装置37Bとの間の無線通信の通信帯域を取得したと仮定する。この場合、判断部35Dは、該通信帯域が許容範囲外である場合に、変更情報を通知すると判断すればよい。
このように、本変形例では、情報処理装置10Cが、当該情報処理装置10Cの通信監視部34Hで監視した通信特性と、他の情報処理装置10C(情報処理装置37C)から取得した通信特性と、の統計値を更に含む監視情報35Bに基づいて、変更情報を通知するか否かを判断する。
このため、本変形例の情報処理装置10Cは、上記実施の形態の効果に加えて、複数の情報処理装置10Cによる連携処理を図ることができる。
なお、通信監視部34Hは、通信処理部34I及び通信I/F36を介して、他の情報処理装置10Cである情報処理装置37Cから通信特性を取得すればよい。また、通信監視部34Hは、該情報処理装置37Cを管理するクラウドサーバや専用サーバ等の外部サーバ37Aから、情報処理装置37Cの通信特性を取得してもよい。
(第5の実施の形態)
本実施の形態では、通知タイミングを更に調整する形態を説明する。
図18は、本実施の形態の情報処理システム1Dの一例を示す模式図である。
情報処理システム1Dは、情報処理装置10Dと、ストレージ装置21と、を備える。情報処理システム1Dは、情報処理装置10に代えて情報処理装置10Dを備え、ストレージ装置20に代えてストレージ装置21を備える。
ストレージ装置21は、ストレージコントローラ23と、仮想ストレージ24と、を備える。ストレージ装置21は、ストレージコントローラ22に代えてストレージコントローラ23を備える点以外は、第1の実施の形態のストレージ装置20と同様である。
ストレージコントローラ23は、ストレージコントローラ22と同様に、仮想ストレージ24の書込制御や読出制御を行う。また、ストレージコントローラ23は、情報処理装置10Dから受付けた変更情報に応じて、仮想ストレージ24の特性変更を行う。
本実施の形態では、ストレージコントローラ23は、更に、タイミング情報を情報処理装置10Dへ出力する。タイミング情報は、変更情報の要求通知タイミングを示す情報である。要求通知タイミングとは、ストレージ装置20が変更情報を通知して欲しいタイミングである。要求通知タイミングは、例えば、変更情報を前回受信してからの経過時間や、時刻、などで表される。
例えば、ストレージコントローラ23は、内部処理、仮想ストレージ24の割当て、ガベージコレクション、ウェアレベリング、等の特性変更を実行する予定のタイミングを、要求通知タイミングを示すタイミング情報として、情報処理装置10Dへ出力する。
次に、情報処理装置10Dについて説明する。情報処理装置10Dは、演算部38と、記憶部31と、を備える。記憶部31は、上記第2の実施の形態と同様である。演算部38はと記憶部31とは、通信可能に接続されている。
演算部38Gは、サービス12Aと、管理部38Zと、を備える。サービス12Aは、上記実施の形態と同様である。管理部38Zは、実行部12Bと、特性監視部12Cと、通知部38Eと、サービス監視部30Fと、判断部30Dと、受信部38Jと、を備える。実行部12B、判断部30D、特性監視部12C、およびサービス監視部30Fは、上記第2の実施の形態と同様である。
すなわち、管理部38Zは、通知部12Eに代えて通知部38Eを備え、受信部38Jを更に備えた点以外は、第2の実施の形態の管理部30Zと同様である(図11参照)。
受信部38Jは、ストレージ装置21からタイミング情報を受信する。判断部30Dは、第2の実施の形態と同様に、監視情報31Bおよび許容条件DB31Aを用いて、変更情報を通知するか否かを判断する。
判断部30Dがストレージ装置21へ変更情報を通知すると判断した場合、通知部38Eは、該判断したタイミングと、受信部38Jで受信したタイミング情報に示される要求通知タイミングと、に基づいて、変更情報の通知タイミングを決定する。そして、通知部38Eは、決定した通知タイミングに、変更情報をストレージ装置21へ通知する。
例えば、通知部38Eは、以下の方法で通知タイミングを決定する。例えば、判断部30Dが変更情報を通知すると判断したタイミングを、タイミングXi(iは1以上の整数)とする。また、受信部38Jが受信したタイミング情報に示される、要求通知タイミングを、要求通知タイミングYj(jは1以上の整数)とする。また、タイミングXiの間隔が、タイミングYjの間隔に比べて細かいと仮定する。
この場合、通知部38Eは、タイミングXiと要求通知タイミングYjとの差が最も小さい組(XiとYjのペア)を求める。そして、求めた組に示されるタイミングにおける、時間的に遅い方のタイミング(タイミングXiまたは要求通知タイミングYj)を、変更情報を通知する通知タイミングとして決定する。
なお、通知部38Eは、判断したタイミングと要求通知タイミングとに基づいて通知タイミングを決定すればよく、通知タイミングの決定方法は、上記方法に限定されない。
そして、通知部38Eは、決定した通知タイミングで、変更情報をストレージ装置21へ通知する。
次に、本実施の形態の情報処理装置10Dが実行する情報処理の手順の一例を説明する。
図19は、本実施の形態の情報処理装置10Dが実行する情報処理の手順の一例を示す、フローチャートである。
情報処理装置10Dは、第2の実施の形態の情報処理装置10CのステップS200〜ステップS206と同様にして(図13参照)、ステップS300〜ステップS306の処理を実行する。
すなわち、特性監視部12Cおよびサービス監視部30Fが、監視処理を実行する(ステップS300)。そして、特性監視部12Cおよびサービス監視部30Fが、記憶部31への記憶処理を実行する(ステップS302)。次に、判断部30Dが、変更情報をストレージ装置20へ通知するか否かを判断する(ステップS304)。ステップS304で否定判断すると(ステップS304:No)、上記ステップS300へ戻る。一方、ステップS304で肯定判断すると(ステップS304:Yes)、ステップS306へ進む。ステップS306では、判断部30Dが、変更情報を生成する(ステップS306)。
次に、受信部38Jが、ストレージ装置21からタイミング情報を受信する(ステップS306)。なお、受信部38Jは、ストレージ装置21からタイミング情報が出力される毎に、タイミング情報を受信してもよい。そして、受信部38Jは、タイミング情報を受信する毎に、受信したタイミング情報を通知部38Eへ出力すればよい。
通知部38Eは、ステップS304で変更情報の通知を判断したタイミングと、ステップS308で受信したタイミング情報に示される要求通知タイミングと、に基づいて、変更情報の通知タイミングを決定する(ステップS310)。そして、通知部38Eは、ステップS310で決定した通知タイミングに、ステップS306で生成した変更情報をストレージ装置21へ通知する(ステップS212)。そして、本ルーチンを終了する。
以上説明したように、本実施の形態では、情報処理装置10Dの受信部38Jが、ストレージ装置21から要求通知タイミングを示すタイミング情報を受信する。通知部38Eは、判断部30Dが変更情報を通知すると判断した場合、該判断したタイミングと、タイミング情報に示される要求通知タイミングと、に基づいて決定した通知タイミングに、変更情報をストレージ装置21へ通知する。
このため、本実施の形態の情報処理装置10Dは、情報処理装置10D側で判断したタイミングと、ストレージ装置21から受付けた通知要求タイミングと、に応じた通知タイミングに、変更情報を通知する。
このため、本実施の形態の情報処理装置10Dは、上記実施の形態の効果に加えて、ストレージ装置21へ追加の負担を強いることなく、ストレージ装置21へ変更情報を通知することができる。このため、ストレージ装置21は、追加の負担を行うことなく、変更情報に応じて特性変更を行うことができる。
なお、通知部38Eは、1つの種類(1または複数の入出力特性種類、および、1または複数のサービス種類の内の1つ)に対する、複数の設定値を含む変更情報をストレージ装置21へ通知してもよい。例えば、1つの種類に対する、時系列に並ぶ複数の設定値を通知してもよい。この場合、ストレージ装置21は、時系列にならぶ設定値に応じて、時間の経過に沿って将来のストレージ装置21の特性を予測することができる。そして、ストレージ装置21は、予測した特性に沿って、特性変更を行うことができる。
なお、本実施の形態では、情報処理装置10Dは、第2の実施の形態の情報処理装置10A(図11参照)に、更に、受信部38Jを備えた構成である形態を説明した。しかし、本実施の形態の情報処理装置10Dは、第2の実施の形態の情報処理装置10Aの構成に、受信部38Jを更に適用した構成に限定されない。すなわち、情報処理装置10Dは、上記実施の形態の何れかの構成に、更に、受信部38Jを適用した構成であればよい。
(第6の実施の形態)
上記実施の形態では、通知部12E(通知部38E)は、特性変更のための変更情報をストレージ装置20(ストレージ装置21)へ通知した。そして、ストレージ装置20(ストレージ装置21)は、受付けた変更情報に応じて、特性変更を行った。
一方、本実施の形態では、変更後の特性を生成し、ストレージ装置20へ通知する形態を説明する。
図20は、本実施の形態の情報処理システム1Eの一例を示す模式図である。
情報処理システム1Eは、情報処理装置10Eと、ストレージ装置20と、を備える。記憶部31およびストレージ装置20は、上記第2の実施の形態(図11参照)と同様である。
演算部39は、サービス12Aと、管理部39Zと、を備える。演算部39は、実行部12Bと、特性監視部12Cと、サービス監視部30Fと、判断部30Dと、導出部39Kと、通知部39Eと、を備える。実行部12B、特性監視部12C、サービス監視部30F、および判断部30Dは、第2の実施の形態と同様である。
導出部39Kは、変更情報に基づいて、ストレージ装置20の変更後の特性を導出する。例えば、導出部39Kは、変更情報に示される各種類の設定値が実現されるように、仮想ストレージ24の容量割当て、ガベージコレクション、ウェアレベリング、などの変更後の特性を導出する。
なお、導出部39Kは、記憶部31に記憶されている情報を用いて、変更後の特性を導出すればよい。また、導出部39Kは、更に、通知部39Eを介してストレージ装置20から情報を収集することで、変更後の特性を導出してもよい。
そして、通知部39Eは、導出部39Kで導出された変更後の特性を、ストレージ装置20へ通知する。なお、通知部39Eは、変更後の特性と、変更情報と、の双方をストレージ装置20へ通知してもよい。
変更後の特性を受付けたストレージ装置20のストレージコントローラ22は、受付けた変更後の特性となるように、特性変更を行えばよい。このため、ストレージコントローラ22は、複雑な計算や処理を実行することなく、仮想ストレージ24の特性変更を行うことができる。
なお、導出部39Kは、情報処理装置10Eに通信可能に接続された外部装置に設けた構成であってもよい。外部装置は、例えば、クラウド上の管理サーバである。この場合、判断部30Dは、変更後の特性の導出に必要な情報を記憶部31から読取り、外部装置へ送信する。そして、導出部39Kは、上記と同様にして、変更後の特性を導出する。通知部39Eは、外部装置に設けられた導出部39Kから、変更後の特性を取得する。そして、通知部39Eは、取得した変更後の特性を、ストレージ装置20へ通知すればよい。
次に、本実施の形態の情報処理装置10Eが実行する情報処理の手順の一例を説明する。図21は、本実施の形態の情報処理装置10Eが実行する情報処理の手順の一例を示す、フローチャートである。
情報処理装置10Eは、第2の実施の形態の情報処理装置10AのステップS200〜ステップS206(図13参照)と同様にして、ステップS400〜ステップS406の処理を行う。
すなわち、特性監視部12Cおよびサービス監視部30Fが、監視処理を実行する(ステップS400)。次に、特性監視部12Cおよびサービス監視部30Fが、記憶部31への記憶処理を実行する(ステップS402)。
次に、判断部30Dが、変更情報をストレージ装置20へ通知するか否かを判断する(ステップS404)。ステップS404で否定判断すると(ステップS404:No)、上記ステップS400へ戻る。一方、ステップS404で肯定判断すると(ステップS404:Yes)、ステップS406へ進む。ステップS406では、判断部30Dが、変更情報を生成する(ステップS406)。
次に、導出部39Kが、ステップS406で生成された変更情報に基づいて、変更後の特性を導出する(ステップS408)。次に、通知部39Eが、ステップS408で導出された、変更後の特性を、ストレージ装置20へ通知する(ステップS410)。そして、本ルーチンを終了する。
以上説明したように、本実施の形態では、導出部39Kが、ストレージ装置20の変更後の特性を導出する。そして、通知部39Eは、変更後の特性を、ストレージ装置20へ通知する。
このため、本実施の形態の情報処理装置10Eは、上記実施の形態の効果に加えて、更に、効率よくストレージ装置20の性能低下を抑制することができる。
(変形例5)
なお、上記実施の形態および変形例では、通知部(通知部12E、38E、39E)は、サービス12Aまたは設定値の種類ごとに、変更情報または変更後の特性をストレージ装置20へ通知する形態を説明した。
この通知の際、通知部(通知部12E、38E、39E)は、変更情報を、一度に纏めてストレージ装置(ストレージ装置20、21)へ通知してもよい。また、通知部(通知部12E、38E、39E)は、変更情報を、サービス12A毎または設定値の種類ごとに、一つずつ通知してもよい。
また、変更情報に、複数種類の設定値が含まれる場合には、通知部(通知部12E、38E、39E)は、含まれる設定値を、対応する種類が監視された時刻を用いてソートした後に通知してもよい。
この場合、ストレージ装置(ストレージ装置20、21)は、監視された時刻に応じて、順次、特性変更を行うことができる。
なお、ストレージ装置(ストレージ装置20、21)は、特性変更を行った場合、変更後の特性を示す情報を、情報処理装置(情報処理装置10、10A、10B、10C、10D、10E)へ、順次通知してもよい。
この場合、情報処理装置(情報処理装置10、10A、10B、10C、10D、10E)の演算部(演算部12、30、32、34、38、39)は、受付けた変更後の特性を示す情報を用いて、ストレージ装置(ストレージ装置20、21)が将来取りうる状態を予測してもよい。そして、演算部は、予測結果を用いて、該予測結果に応じて適切な特性変更を行うための変更情報を生成し、ストレージ装置(ストレージ装置20、21)へ通知してもよい。
(変形例6)
また、上記実施の形態では、情報処理装置(情報処理装置10、10A、10B、10C、10D、10E)と、ストレージ装置(ストレージ装置20、21)と、を別体として構成した場合を示した。しかし、情報処理装置(情報処理装置10、10A、10B、10C、10D、10E)と、ストレージ装置(ストレージ装置20、21)と、を一体的に構成してもよい。
(ハードウェア構成)
次に、上記実施の形態の情報処理装置10、10A、10B、10C、10D、10Eのハードウェア構成の一例を説明する。図22は、上記実施の形態の情報処理装置10、10A、10B、10C、10D、10Eのハードウェア構成図の一例である。
上記実施の形態の情報処理装置10、10A、10B、10C、10D、10Eは、CPU86などの制御装置と、ROM(Read Only Memory)88やRAM(Random Access Memory)90やHDD(ハードディスクドライブ)92などの記憶装置と、各種機器とのインタフェースであるI/F部82と、各部を接続するバス96とを備えており、通常のコンピュータを利用したハードウェア構成となっている。
上記実施の形態の情報処理装置10、10A、10B、10C、10D、10Eでは、CPU86が、ROM88からプログラムをRAM90上に読み出して実行することにより、上記各部がコンピュータ上で実現される。
なお、上記実施の形態の情報処理装置10、10A、10B、10C、10D、10Eで実行される上記各処理を実行するためのプログラムは、HDD92に記憶されていてもよい。また、上記実施の形態の情報処理装置10、10A、10B、10C、10D、10Eで実行される上記各処理を実行するためのプログラムは、ROM88に予め組み込まれて提供されていてもよい。
また、上記実施の形態の情報処理装置10、10A、10B、10C、10D、10Eで実行される上記処理を実行するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、CD−R、メモリカード、DVD(Digital Versatile Disk)、フレキシブルディスク(FD)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されるようにしてもよい。また、上記実施の形態の情報処理装置10、10A、10B、10C、10D、10Eで実行される上記処理を実行するためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記実施の形態の情報処理装置10、10A、10B、10C、10D、10Eで実行される上記処理を実行するためのプログラムを、インターネットなどのネットワーク経由で提供または配布するようにしてもよい。
なお、上記には、本発明の実施の形態および変形例を説明したが、上記実施の形態および変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。