説明

記憶装置共用システム、管理装置、アクセス制御装置、その方法およびプログラム

【課題】各処理装置による記憶装置へのアクセスを制御しつつ、特定の機器に負荷が集中することを防止可能になり、また、管理装置が故障しても、各処理装置が記憶装置に適切にアクセス可能な記憶装置共用システムを提供する。
【解決手段】記憶装置共用システムは、N(Nは2以上の整数)台の記憶装置を共用するM(Mは2以上の整数)台のアクセス制御装置と、アクセス制御装置の記憶装置へのアクセスを管理する管理装置を含む、管理装置は、N台の記憶装置内データを調べ記憶装置のいずれかに記憶されているデータの記憶位置を表すデータ位置情報を生成し、データ位置情報を各アクセス制御装置に送信し、アクセス制御装置は、管理装置からデータ位置情報を受信する通信手段と、アクセス要求元からのデータに対するアクセス要求を受け付けた場合に、データ位置情報が表す記憶位置へアクセスする制御手段を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記憶装置共用システム、管理装置、アクセス制御装置、記憶装置共用方法、管理方法、アクセス方法およびプログラムに関する。
【背景技術】
【0002】
複数の処理装置が複数の記憶装置を共用する記憶装置共用システムが知られている。記憶装置共用システムでは、各処理装置が複数の記憶装置を適切に共用できるように、各処理装置による記憶装置へのアクセスを制御する必要がある。
【0003】
特許文献1には、複数のサーバ(処理装置)と、複数のサーバにて共用される複数の記憶装置と、複数のサーバと複数の記憶装置との間に置かれたスイッチと、を有する計算機システム(記憶装置共用システム)が記載されている。
【0004】
図6は、特許文献1に記載の計算機システムの概略を示したブロック図である。
【0005】
図6において、スイッチ101は、記憶部101aと接続されている。記憶部101aは、データの仮想記憶位置と記憶装置102Pおよび102Q内のデータの実記憶位置との対応関係を示した変換テーブルを記憶している。
【0006】
スイッチ101は、WEBサーバまたはアプリケーションサーバであるサーバ103Aまたは103Bから、仮想記憶位置へのアクセス要求を受け付けると、変換テーブルを参照して、仮想記憶位置へのアクセス要求を、実記憶位置へのアクセス要求に変換し、変換後の実記憶位置にアクセスする。
【0007】
このため、特許文献1に記載の計算機システムでは、サーバ103Aおよび103Bは、仮想記憶位置を用いることによって、適切に記憶装置102Pまたは102Qにアクセスすることができる。また、記憶装置102Pおよび102Qのいずれかが交換される場合にも、記憶部101a内の変換テーブルにおける仮想記憶位置と実記憶位置との対応関係が変更されれば、サーバ103Aおよび103Bは、記憶装置102Pまたは102Qの交換に伴って仮想記憶位置を変更せずに済む。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2007−48323号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
特許文献1に記載の計算機システムでは、各サーバは、記憶装置にアクセスするために、必ずスイッチを使用する。このため、スイッチに負荷が集中するという課題があった。
【0010】
また、特許文献1に記載の計算機システムの中でスイッチのみが、仮想記憶位置と実記憶位置との対応関係を示した変換テーブルを有している。このため、スイッチが故障すると、各サーバは、記憶装置にアクセスできなくなるという課題もあった。
【0011】
本発明の目的は、上述した課題を解決可能な記憶装置共用システム、管理装置、アクセス制御装置、記憶装置共用方法、管理方法、アクセス方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0012】
本発明の記憶装置共用システムは、データを記憶するN(Nは2以上の整数)台の記憶装置を共用するM(Mは2以上の整数)台のアクセス制御装置と、前記アクセス制御装置による前記記憶装置へのアクセスを管理する管理装置と、を含む記憶装置共用システムであって、
前記管理装置は、
前記N台の記憶装置に記憶されているデータを調べ、前記N台の記憶装置のいずれかに記憶されているデータの記憶位置を表すデータ位置情報を生成し、当該データ位置情報を前記M台のアクセス制御装置に送信する管理手段を含み、
前記M台のアクセス制御装置の各々は、
前記管理手段から送信されたデータ位置情報を受信する通信手段と、
アクセス要求元からの前記データに対するアクセス要求を受け付けた場合に、前記データ位置情報が表す記憶位置へアクセスする制御手段と、を含む。
【0013】
本発明の管理装置は、データを記憶するN(Nは2以上の整数)台の記憶装置を共用するM(Mは2以上の整数)台のアクセス制御装置による前記記憶装置へのアクセスを管理する管理装置であって、
前記N台の記憶装置に記憶されているデータを調べ、前記N台の記憶装置のいずれかに記憶されているデータの記憶位置を表すデータ位置情報を生成し、当該データ位置情報を前記M台のアクセス制御装置に送信する管理手段を含む。
【0014】
本発明のアクセス制御装置は、他のアクセス制御装置と共にN(Nは2以上の整数)台の記憶装置を共用し、管理装置と通信可能なアクセス制御装置であって、
前記管理装置から送信された、前記N台の記憶装置のいずれかに記憶されているデータの記憶位置を表すデータ位置情報を受信する通信手段と、
アクセス要求元からの前記データに対するアクセス要求を受け付けた場合に、前記データ位置情報が表す記憶位置へアクセスする制御手段と、を含む。
【0015】
本発明の記憶装置共用方法は、データを記憶するN(Nは2以上の整数)台の記憶装置を共用するM(Mは2以上の整数)台のアクセス制御装置と、前記アクセス制御装置による前記記憶装置へのアクセスを管理する管理装置と、を含む記憶装置共用システムでの記憶装置共用方法であって、
前記管理装置が、前記N台の記憶装置に記憶されているデータを調べ、前記N台の記憶装置のいずれかに記憶されているデータの記憶位置を表すデータ位置情報を生成し、当該データ位置情報を前記M台のアクセス制御装置に送信する管理ステップと、
前記アクセス制御装置が、前記管理装置から送信されたデータ位置情報を受信する受信ステップと、
前記アクセス制御装置が、アクセス要求元からの前記データに対するアクセス要求を受け付けた場合に、前記データ位置情報が表す記憶位置へアクセスする制御ステップと、を含む。
【0016】
本発明の管理方法は、データを記憶するN(Nは2以上の整数)台の記憶装置を共用するM(Mは2以上の整数)台のアクセス制御装置による前記記憶装置へのアクセスを管理する管理装置での管理方法であって、
前記N台の記憶装置に記憶されているデータを調べ、前記N台の記憶装置のいずれかに記憶されているデータの記憶位置を表すデータ位置情報を生成し、当該データ位置情報を前記M台のアクセス制御装置に送信する管理ステップを含む。
【0017】
本発明のアクセス方法は、他のアクセス制御装置と共にN(Nは2以上の整数)台の記憶装置を共用し、管理装置と通信可能なアクセス制御装置でのアクセス方法であって、
前記管理装置から送信された、前記N台の記憶装置のいずれかに記憶されているデータの記憶位置を表すデータ位置情報を受信する受信ステップと、
アクセス要求元からの前記データに対するアクセス要求を受け付けた場合に、前記データ位置情報が表す記憶位置へアクセスする制御ステップと、を含む。
【0018】
本発明のプログラムは、コンピュータに、
データを記憶するN(Nは2以上の整数)台の記憶装置に記憶されているデータを調べ、前記N台の記憶装置のいずれかに記憶されているデータの記憶位置を表すデータ位置情報を生成し、当該データ位置情報を、前記N台の記憶装置を共用するM(Mは2以上の整数)台のアクセス制御装置に送信する管理手順を実行させる。
【0019】
本発明のプログラムは、他のコンピュータと共にN(Nは2以上の整数)台の記憶装置を共用し、管理装置と通信可能なコンピュータに、
前記管理装置から送信された、前記N台の記憶装置のいずれかに記憶されているデータの記憶位置を表すデータ位置情報を受信する受信手順と、
アクセス要求元からの前記データに対するアクセス要求を受け付けた場合に、前記データ位置情報が表す記憶位置へアクセスする制御手順と、を実行させる。
【発明の効果】
【0020】
本発明によれば、各処理装置による記憶装置へのアクセスを制御しつつ、特定の機器に負荷が集中することを防止可能になり、また、管理装置が故障しても、各処理装置が記憶装置に適切にアクセスすることが可能になる。
【図面の簡単な説明】
【0021】
【図1】本発明の一実施形態の記憶装置共用システム1を示したブロック図である。
【図2】記憶位置テーブルの一例を示した図である。
【図3】記憶装置属性テーブルの一例を示した図である。
【図4】優先順位テーブルの一例を示した図である。
【図5】記憶装置共用システム1の動作を説明するためのシーケンス図である。
【図6】特許文献1に記載の計算機システムの概略を示したブロック図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施形態の記憶装置共用システムを説明する。
【0023】
図1は、本発明の一実施形態の記憶装置共用システム1を示したブロック図である。
【0024】
図1において、記憶装置共用システム1は、管理装置2と、M(Mは2以上の整数)台の処理装置3と、を含む。なお、図1では、説明の簡略化を図るため、M台の処理装置3のうち処理装置31および3Mを示している。管理装置2は、格納部2aと、管理部2bと、を含む。M台の処理装置3は、それぞれ、サーバ3aと、アクセス制御部3bと、を含む。アクセス制御部3bは、通信部3b1と、記憶部3b2と、制御部3b3と、を含む。M台の処理装置3さらに言えばM台のアクセス制御部3bは、N(Nは2以上の整数)台の記憶装置4を共用する。図1では、説明の簡略化を図るため、N台の記憶装置4のうち記憶装置4P、4Qおよび4Rを示している。なお、上述したようにN台の記憶装置4の数は3台以上に限らず2台でもよい。また、記憶装置4Pの名称を「記憶装置P」とし、記憶装置4Qの名称を「記憶装置Q」とし、記憶装置4Rの名称を「記憶装置R」とする。
【0025】
まず、管理装置2について説明する。
【0026】
管理装置2は、M台のアクセス制御部3bによるN台の記憶装置4へのアクセスを制御する。
【0027】
格納部2aは、記憶位置テーブルと、記憶装置属性テーブルと、優先順位テーブルと、を格納する。記憶位置テーブルは、データ位置情報の一例である。記憶装置属性テーブルは、記憶装置情報の一例である。
【0028】
記憶位置テーブルは、N台の記憶装置4のいずれかに記憶されているファイルごとに、そのファイルの記憶位置を示す。本実施形態では、記憶位置テーブルは、管理部2bにて生成され、管理部2bにて更新される。なお、ファイルは、データの一例である。
【0029】
図2は、記憶位置テーブルの一例を示した図である。
【0030】
図2において、記憶位置テーブル2a1は、N台の記憶装置4のいずれかに記憶されているファイルごとに、ファイルを識別するためのファイル識別子2a1aと、そのファイルの記憶位置2a1bと、を示す。
【0031】
ファイル識別子2a1aは、例えばファイル名である。記憶位置2a1bは、例えば記憶装置4を識別するための記憶装置識別子とディレクトリ名とで構成される。なお、記憶装置識別子は、例えば、記憶装置4の名称でもよいし、記憶装置4のIP(Internet Protocol)アドレスでもよい。
【0032】
記憶装置属性テーブルは、N台の記憶装置4の各々におけるデータの読み込み・新規書き込み・更新についての許可状態を示す。記憶装置属性テーブルは、例えば、管理装置2の管理者にて作成され、管理装置2の管理者からの入力に応じて、または、管理部2bにて、更新される。
【0033】
図3は、記憶装置属性テーブルの一例を示した図である。
【0034】
図3において、記憶装置属性テーブル2a2は、記憶装置4ごとに、記憶装置識別子2a2aと、その属性2a2bと、を示す。
【0035】
属性2a2bは、ファイルの読み込みと、ファイルの新規書き込みと、ファイルの更新と、のそれぞれについての許可状態を示す。
【0036】
本実施形態では、属性2a2bとして、ファイルの読み込みとファイルの新規書き込みとファイルの更新とを許可する「読み書き更新可」と、ファイルの読み込みとファイルの新規書き込みとファイルの更新とのすべてを禁止する「予備、読み書き更新不可」と、ファイルの読み込みとファイルの更新とを許可しファイルの新規書き込みを禁止する「読み更新可、書き不可」と、のいずれかが用いられる。なお、属性2a2bは、「読み書き更新可」と「予備、読み書き更新不可」と「読み更新可、書き不可」に限らず適宜変更可能である。
【0037】
優先順位テーブルは、N台の記憶装置4のそれぞれの優先順位を示す。優先順位テーブルは、例えば、管理装置2の管理者にて作成され、管理装置2の管理者からの入力に応じて、または、管理部2bにて、更新される。
【0038】
図4は、優先順位テーブルの一例を示した図である。
【0039】
図4に示した優先順位テーブル2a3では、記憶装置4Pに優先順位「1」が付与され、記憶装置4Qに優先順位「2」が付与されている。本実施形態の優先順位テーブル2a3では、優先順位2a3aの数値が小さいほど、優先順位が高くなる。このため、優先順位テーブル2a3では、記憶装置4Pに最も高い優先順位が付されており、記憶装置4Qに2番目に高い優先順位が付されている。
【0040】
優先順位テーブル2a3では、各記憶装置4を特定するための情報として、記憶装置識別子2a3bが用いられている。
【0041】
優先順位テーブル2a3は、例えば、M台のアクセス制御部3bにて共用される記憶装置4として新たに追加される記憶装置の優先順位を最高順位として示す。
【0042】
図1に戻って、管理部2bは、一般的に管理手段と呼ぶことができる。
【0043】
管理部2bは、管理装置2の動作を管理する。
【0044】
例えば、管理部2bは、N台の記憶装置4にアクセスして、N台の記憶装置4の各々が記憶しているファイル(例えば、ファイル名)を調べ、その結果に基づいて記憶位置テーブル2a1(図2参照)を生成する。なお、管理部2bがN台の記憶装置4にアクセスするタイミングは、所定時間間隔(例えば、3秒間隔)のように予め定められていてもよいし、管理装置2の管理者からのアクセス指示の入力タイミングに応じたタイミングでもよい。なお、所定時間間隔は、3秒間隔に限らず適宜変更可能である。管理部2bは、記憶位置テーブル2a1を格納部2aに格納する。また、管理部2bは、格納部2a内の記憶位置テーブル2a1を読み出し、その記憶位置テーブル2a1をM台のアクセス制御部3bに送信する。
【0045】
また、管理部2bは、記憶装置4間(例えば、記憶装置4Pと記憶装置4Rとの間)でファイルの移動を行う。管理部2bは、ファイルの移動に応じて、格納部2a内の記憶位置テーブル2a1を更新する。管理部2bは、更新後の記憶位置テーブル2a1を格納部2aから読み出し、その更新後の記憶位置テーブル2a1をM台のアクセス制御部3bに送信する。なお、更新後の記憶位置テーブル2a1は、データの移動結果の一例である。
【0046】
また、管理部2bは、例えば、格納部2aに記憶装置属性テーブル2a2が格納されたとき、および、格納部2a内の記憶装置属性テーブル2a2が更新されたとき、格納部2a内の記憶装置属性テーブル2a2を読み出し、その記憶装置属性テーブル2a2をM台のアクセス制御部3bに送信する。
【0047】
また、管理部2bは、例えば、格納部2aに優先順位テーブル2a3が格納されたとき、および、格納部2a内の優先順位テーブル2a3が更新されたとき、格納部2a内の優先順位テーブル2a3を読み出し、その優先順位テーブル2a3をM台のアクセス制御部3bに送信する。
【0048】
本実施形態では、管理部2bは、N台の記憶装置4のうち、記憶装置属性テーブル2a2において属性2a2bが「読み書き更新可」または「読み更新可、書き不可」を示す記憶装置(つまり、使用中の記憶装置4)について使用率を監視する。なお、使用率としては、例えば、アクセス頻度やファイル使用容量(空き記憶容量)が用いられる。
【0049】
管理部2bは、その監視の結果に基づいて、記憶装置属性テーブル2a2と優先順位テーブル2a3とをそれぞれ更新する。管理部2bは、更新後の記憶装置属性テーブル2a2と、更新後の優先順位テーブル2a3と、をM台のアクセス制御部3bに送信する。
【0050】
続いて、M台の処理装置3について説明する。
【0051】
M台の処理装置3は、N台の記憶装置4内のファイル(データ)を共有する。各処理装置3は、例えば分散処理を行う。
【0052】
サーバ3aは、アクセス要求元の一例である。
【0053】
サーバ3aは、例えば、WEBサーバまたはアプリケーションサーバであり、クライアント(不図示)からの要求に応じて、記憶装置4へのアクセス要求を発行する。
【0054】
記憶装置4へのアクセス要求は、例えば、N台の記憶装置4のいずれかに存在するファイルに対する読み込み要求(以下、単に「読み込み要求」と称する)、新規ファイルの書き込み要求(以下、単に「書き込み要求」と称する)、または、N台の記憶装置4のいずれかに存在するファイルに対する更新要求(以下、単に「更新要求」と称する)である。サーバ3aは、記憶装置4へのアクセス要求(読み込み要求、書き込み要求、または、更新要求)を、アクセス制御部3b(具体的には、制御部3b3)に提供する。
【0055】
アクセス制御部3bは、一般的にアクセス制御装置と呼ぶことができる。
【0056】
アクセス制御部3bは、管理部2bから送信された、記憶位置テーブル2a1と、記憶装置属性テーブル2a2と、優先順位テーブル2a3と、を受信する。また、アクセス制御部3bは、記憶装置4へのアクセス要求を受け付けた場合、記憶位置テーブル2a1と記憶装置属性テーブル2a2と優先順位テーブル2a3とに基づいて、記憶装置4へのアクセスを制御する。
【0057】
通信部3b1は、一般的に通信手段と呼ぶことができる。通信部3b1は、管理部2bから送信された、記憶位置テーブル2a1と、記憶装置属性テーブル2a2と、優先順位テーブル2a3と、更新後の記憶位置テーブル2a1と、更新後の記憶装置属性テーブル2a2と、更新後の優先順位テーブル2a3と、をそれぞれ受信する。
【0058】
記憶部3b2は、一般的に記憶手段と呼ぶことができる。記憶部3b2は、通信部3b1にて受信された、記憶位置テーブル2a1と、記憶装置属性テーブル2a2と、優先順位テーブル2a3と、を記憶する。
【0059】
制御部3b3は、一般的に制御手段と呼ぶことができる。制御部3b3は、アクセス制御部3bの動作を制御する。
【0060】
例えば、制御部3b3は、サーバ3aがN台の記憶装置4のいずれかに記憶されているファイル(以下「ファイルA」と称する)に対するアクセス要求を発行した場合、そのアクセス要求の発行に応じて、記憶位置テーブル2a1に示されたファイルAの記憶位置へアクセスする。
【0061】
また、制御部3b3は、通信部3b1が更新後の記憶位置テーブル2a1を受信した場合、記憶部3b2内の記憶位置テーブル2a1を、更新後の記憶位置テーブル2a1に更新する。
【0062】
また、制御部3b3は、通信部3b1が更新後の記憶装置属性テーブル2a2を受信した場合、記憶部3b2内の記憶装置属性テーブル2a2を、更新後の記憶装置属性テーブル2a2に更新する。
【0063】
また、制御部3b3は、通信部3b1が更新後の優先順位テーブル2a3を受信した場合、記憶部3b2内の優先順位テーブル2a3を、更新後の優先順位テーブル2a3に更新する。
【0064】
なお、本実施形態では、サーバ3aがファイルAに対する更新要求を発行した場合、制御部3b3は、記憶位置テーブル2a1に示されたファイルAの記憶位置を参照して、ファイルAを記憶している記憶装置4(以下「該当記憶装置」と称する)を特定する。そして、制御部3b3は、記憶装置属性テーブル2a2を参照して、該当記憶装置内のファイルの更新が許可されている場合に、記憶位置テーブル2a1に示されたファイルAの記憶位置へアクセスする。
【0065】
次に、動作を説明する。
【0066】
管理装置2内の管理部2bは、N台の記憶装置4にアクセスして、N台の記憶装置4の各々が記憶しているファイルを調べ、その結果に基づいて記憶位置テーブル2a1を生成する。
【0067】
管理部2bは、記憶位置テーブル2a1を生成すると、記憶位置テーブル2a1を格納部2aに格納する。
【0068】
続いて、管理部2bは、格納部2a内の記憶位置テーブル2a1を読み出し、その記憶位置テーブル2a1をM台のアクセス制御部3bに送信する。
【0069】
各アクセス制御部3bでは、通信部3b1は、管理部2bから送信された記憶位置テーブル2a1を受信する。通信部3b1は、記憶位置テーブル2a1を受信すると、その記憶位置テーブル2a1を制御部3b3に提供する。
【0070】
制御部3b3は、記憶位置テーブル2a1を受け付けると、その記憶位置テーブル2a1を記憶部3b2に記憶する。なお、制御部3b3が記憶位置テーブル2a1を受け付けたときに、記憶部3b2に記憶位置テーブルが既に記憶されている場合、制御部3b3は、記憶部3b2内の記憶位置テーブルを、通信部3b1から受け付けた記憶位置テーブル2a1に更新する。
【0071】
また、管理部2bは、例えば、格納部2aに記憶装置属性テーブル2a2が格納されたとき、および、格納部2a内の記憶装置属性テーブル2a2が更新されたとき、格納部2a内の記憶装置属性テーブル2a2を読み出す。
【0072】
管理部2bは、記憶装置属性テーブル2a2を読み出すと、その記憶装置属性テーブル2a2をM台のアクセス制御部3bに送信する。
【0073】
各アクセス制御部3bでは、通信部3b1は、管理部2bから送信された記憶装置属性テーブル2a2を受信する。通信部3b1は、記憶装置属性テーブル2a2を受信すると、その記憶装置属性テーブル2a2を制御部3b3に提供する。
【0074】
制御部3b3は、記憶装置属性テーブル2a2を受け付けると、その記憶装置属性テーブル2a2を記憶部3b2に記憶する。なお、制御部3b3が記憶装置属性テーブル2a2を受け付けたときに、記憶部3b2に記憶装置属性テーブルが既に記憶されている場合、制御部3b3は、記憶部3b2内の記憶装置属性テーブル2a2を、通信部3b1から受け付けた記憶装置属性テーブル2a2に更新する。
【0075】
また、管理部2bは、例えば、格納部2aに優先順位テーブル2a3が格納されたとき、および、格納部2a内の優先順位テーブル2a3が更新されたとき、格納部2a内の優先順位テーブル2a3を読み出す。
【0076】
管理部2bは、優先順位テーブル2a3を読み出すと、その優先順位テーブル2a3をM台のアクセス制御部3bに送信する。
【0077】
各アクセス制御部3bでは、通信部3b1は、管理部2bから送信された優先順位テーブル2a3を受信する。通信部3b1は、優先順位テーブル2a3を受信すると、その優先順位テーブル2a3を制御部3b3に提供する。
【0078】
制御部3b3は、優先順位テーブル2a3を受け付けると、その優先順位テーブル2a3を記憶部3b2に記憶する。なお、制御部3b3が優先順位テーブル2a3を受け付けたときに、記憶部3b2に優先順位テーブルが既に記憶されている場合、制御部3b3は、記憶部3b3内の優先順位テーブルを、通信部3b1から受け付けた優先順位テーブル2a3に更新する。
【0079】
次に、管理部2bが記憶装置4間でファイルを移動する動作を説明する。なお、以下では、各アクセス制御部3b内の記憶部3b2および管理装置2内の格納部2aは、それぞれ、図2に示した記憶位置テーブル2a1と、図3に示した記憶装置属性テーブル2a2と、図4に示した優先順位テーブル2a3と、を記憶しているとする。また、記憶装置4Rは、未使用とする。
【0080】
図5は、管理部2bが記憶装置4間でファイルを移動する際の記憶装置共用システム1の動作を説明するためのシーケンス図である。なお、図5では、説明の簡略化を図るため、アクセス制御部3bおよび記憶装置4を1台しか示していないが、実際には、アクセス制御部3bおよび記憶装置4は複数存在する。
【0081】
管理部2bは、記憶装置属性テーブル2a2において属性2a2bが「読み書き更新可」または「読み更新可、書き不可」を示す使用中の記憶装置4(この場合、記憶装置4Pおよび4Q。なお、1台の記憶装置4でもよい。)の使用率を監視する(ステップA1)。
【0082】
続いて、管理部2bは、記憶装置4Pおよび4Qの各使用率を規定値と比較する(ステップA2)。管理部2bは、記憶装置4Pおよび4Qの各使用率が規定値を超えていないと、処理をステップA1に戻す。
【0083】
以下では、記憶装置4Pの使用率が規定値を超えたとして説明を続ける。
【0084】
記憶装置4Pの使用率が規定値を超えると、管理部2bは、格納部2a内の記憶装置属性テーブル2a2における未使用の記憶装置4Rに対する属性2a2bを「予備、読み書き更新不可」から「読み書き更新可」に更新する(ステップA3)。なお、この際、管理部2bは、記憶装置4Rの優先順位が最も高くなるように優先順位テーブル2a3を更新してもよい。
【0085】
管理部2bは、格納部2a内の記憶装置属性テーブル2a2を更新すると、更新後の記憶装置属性テーブル2a2を、各処理装置3内のアクセス制御部3bに一斉送信する(ステップA4)。なお、ステップA3で優先順位テーブル2a3も更新された場合には、ステップ4で、管理部2bは、更新後の優先順位テーブル2a3を、各処理装置3内のアクセス制御部3bに一斉送信する
各アクセス制御部3bでは、通信部3b1は、更新後の記憶装置属性テーブル2a2を受信すると(ステップA5)、更新後の記憶装置属性テーブル2a2を制御部3b3に出力する。なお、ステップA5で、通信部3b1が更新後の記憶装置属性テーブル2a2と共に更新後の優先順位テーブル2a3を受信すると、更新後の優先順位テーブル2a3を制御部3b3に出力する。
【0086】
制御部3b3は、更新後の記憶装置属性テーブル2a2を受け付けると、記憶部3b2内の記憶装置属性テーブル2a2を、更新後の記憶装置属性テーブル2a2に更新する(ステップA6)。この際、制御部3b3は、更新後の優先順位テーブル2a3も受け付けていると、記憶部3b2内の優先順位テーブル2a3を、更新後の優先順位テーブル2a3に更新する
なお、記憶部3b2に記憶装置属性テーブル2a2が記憶されていなかった場合には、制御部3b3は、更新後の記憶装置属性テーブル2a2を記憶部3b2に記憶する。また、記憶部3b2に優先順位テーブル2a3が記憶されていなかった場合には、制御部3b3は、更新後の優先順位テーブル2a3を記憶部3b2に記憶する。
【0087】
また、制御部3b3は、記憶部3b2内の記憶装置属性テーブル2a2を更新後の記憶装置属性テーブル2a2に更新すること、または、更新後の記憶装置属性テーブル2a2を記憶することが、正常に終了した際に、通信部3b1を用いて、管理装置2に、正常終了した旨の応答情報を送信してもよい。
【0088】
また、制御部3b3は、記憶部3b2内の優先順位テーブル2a3を更新後の優先順位テーブル2a3に更新すること、または、更新後の優先順位テーブル2a3を記憶することが、正常に終了した際に、通信部3b1を用いて、管理装置2に、正常終了した旨の応答情報を送信してもよい。
【0089】
一方、管理装置2内の管理部2bは、記憶装置4Rの使用率が規定値以内に収まる範囲で、使用率が規定値を超えている記憶装置4Pから、ファイルを、記憶装置4Rに移動する(ステップA7)。
【0090】
例えば、古い記憶装置4Pが新しい記憶装置4Rに交換される場合には、管理装置2の管理者が、管理部2bに、記憶装置4P内のすべてのファイルを記憶装置4Rに移動する旨の移動指示を入力し、管理部2bが、その移動指示に従って記憶装置4P内のすべてのファイルを記憶装置4Rに移動してもよい。
【0091】
また、記憶装置4Pの使用率が規定値を超えた際に、新規に追加される記憶装置(上記では記憶装置4R)が無い場合には、管理部2bは、使用中の記憶装置4の中で使用率が最も低い記憶装置4に記憶装置4P内のファイルを移動して、使用中の各記憶装置4の使用率が平準化するようにしてもよい。
【0092】
なお、管理部2bは、使用率としてアクセス頻度が用いられた場合には、記憶装置4Pから移動されるファイルを、記憶装置4P内のファイルの中からアクセス頻度が高い順に抽出し、また、使用率としてファイル使用容量(空き記憶容量)が用いられた場合には、記憶装置4Pから移動されるファイルとして、記憶装置4P内のファイルの中で既定期間以上使用されていないファイルを抽出するなど、使用中の記憶装置4の間で負荷(使用率)が偏らずに低減されるように、移動されるファイルを抽出する。
【0093】
続いて、管理部2bは、ファイルの移動に応じて(例えば、ファイルの移動の終了直後に)、ファイルの移動結果を反映するように、格納部2a内の記憶位置テーブル2a1を更新する(ステップA8)。
【0094】
例えば、管理部2bは、記憶装置4P内のファイル「001.db」を、記憶装置4RのディレクトリDに移動した場合、図2に示した記憶位置テーブル2a1において、ファイル「001.db」の記憶位置2a1bを、「\\記憶装置P\ディレクトリA」から「\\記憶装置R\ディレクトリD」へ更新する。
【0095】
管理部2bは、格納部2a内の記憶位置テーブル2a1を更新すると、更新後の記憶位置テーブル2a1を、各処理装置3内のアクセス制御部3bに一斉送信する(ステップA9)。
【0096】
各アクセス制御部3bでは、通信部3b1は、更新後の記憶位置テーブル2a1を受信すると(ステップA10)、更新後の記憶位置テーブル2a1を制御部3b3に出力する。
【0097】
制御部3b3は、更新後の記憶位置テーブル2a1を受け付けると、記憶部3b2内の記憶位置テーブル2a1を、更新後の記憶位置テーブル2a1に更新する(ステップA11)。
【0098】
なお、記憶部3b2に記憶位置テーブル2a1が記憶されていなかった場合には、制御部3b3は、更新後の記憶位置テーブル2a1を記憶部3b2に記憶する。
【0099】
また、制御部3b3は、記憶部3b2内の記憶位置テーブル2a1を更新後の記憶位置テーブル2a1に更新すること、または、更新後の記憶位置テーブル2a1を記憶することが、正常に終了した際に、通信部3b1を用いて、管理装置2に、正常に終了した旨の応答情報を送信してもよい。
【0100】
次に、アクセス制御部3bがサーバ3aからアクセス要求を受け付けたときの動作を説明する。
【0101】
アクセス要求がファイルAの読み込み要求である場合には、制御部3b3は、記憶部3b2内の記憶位置テーブル2a1を参照し、記憶位置テーブル2a1からファイルAの記憶位置を読み取り、ファイルAの記憶位置へアクセスしてファイルAを読み込み、ファイルAをサーバ3aに出力する。
【0102】
なお、記憶位置テーブル2a1が、ファイルAの記憶位置を表していない場合には、制御部3b3は、使用中の記憶装置4に順番にアクセスし、使用中の記憶装置4のいずれかにファイルAが記憶されている場合には、ファイルAを記憶している記憶装置4からファイルAを読み込み、ファイルAをサーバ3aに出力する。一方、使用中の記憶装置4のいずれにもファイルAが記憶されていない場合には、制御部3b3は、サーバ3aに、ファイルAが見つからない旨の通知を出力する。
【0103】
アクセス要求がファイルAの更新要求である場合には、制御部3b3は、記憶部3b2内の記憶位置テーブル2a1および記憶装置属テーブル2a2を参照し、記憶位置テーブル2a1からファイルAの記憶位置を読み取り、記憶装置属テーブル2a2が、ファイルAの記憶位置にて特定される記憶装置4内のデータの更新の許容を表す場合に、ファイルAの記憶位置へアクセスしてファイルAをファイルAの更新要求に従って更新する。なお、記憶装置属テーブル2a2が、ファイルAの記憶位置にて特定される記憶装置4内のデータの更新の許容を表さない場合に、サーバ3aに、ファイルAの更新が禁止されている旨の通知を出力する。
【0104】
なお、記憶位置テーブル2a1が、ファイルAの記憶位置を表していない場合には、制御部3b3は、使用中の記憶装置4に順番にアクセスし、使用中の記憶装置4のいずれかにファイルAが記憶されている場合には、記憶装置属テーブル2a2が、ファイルAを記憶している記憶装置4内のデータの更新の許容を表す場合に、ファイルAの記憶位置へアクセスしてファイルAをファイルAの更新要求に従って更新する。一方、使用中の記憶装置4のいずれにもファイルAが記憶されていない場合には、制御部3b3は、サーバ3aに、ファイルAが見つからない旨の通知を出力する。
【0105】
アクセス要求が新規ファイルの書き込み要求である場合には、制御部3b3は、記憶部3b2内の優先順位テーブル2a3を参照し、優先順位が最も高い記憶装置4に、新規ファイルを書き込む。
【0106】
次に、本実施形態の効果を説明する。
【0107】
本実施形態によれば、管理装置2では、管理部2bは、N台の記憶装置4に記憶されているファイルを調べて記憶位置テーブル2a1を生成し、記憶位置テーブル2a1をM台のアクセス制御部3bに送信する。アクセス制御部3bでは、通信部3b1は、管理部2bから送信された記憶位置テーブル2a1を受信する。制御部3b3は、サーバ3aからのファイルAに対するアクセス要求を受け付けた場合に、記憶位置テーブル2a1が表すファイルAの記憶位置へアクセスする。
【0108】
このため、管理装置2は、記憶位置テーブル2a1を各アクセス制御部3bに送信することによって、各アクセス制御部3bによる各記憶装置4へのアクセスを制御する。また、管理装置2は、各アクセス制御部3bからアクセス要求を受け付ける必要がなくなり、管理装置2に負荷が集中することを防止可能になる。
【0109】
また、管理装置2に不具合が生じたとしても、各アクセス制御部3b内に記憶位置テーブル2a1があるため、管理装置2が新たな管理装置に交換されている間も、各アクセス制御部3bは、N台の記憶装置4を用いた情報処理を継続することが可能になる。
【0110】
本実施形態では、管理部2bは、さらに、記憶装置4間でファイルの移動を行い、ファイルの移動結果(更新後の記憶位置テーブル2a1)をM台のアクセス制御部3bに送信する。通信部3b1は、さらに、管理部2bから送信されたデータの移動結果を受信する。制御部3b3は、さらに、通信部3b1にて受信されたデータの移動結果に基づいて、記憶部3b2内の記憶位置テーブル2a1を更新し、アクセス要求を受け付けた場合に、記憶部3b2内の記憶位置テーブル2a1が表す記憶位置へアクセスする。
【0111】
このため、各アクセス制御部3bは、データの移動結果に基づいて更新された記憶位置テーブル2a1を用いて、移動されたファイルにアクセスするので、アクセスが効率化され、記憶装置共有システム1の負荷が低減される。
【0112】
また、従来は、記憶装置4の入れ替え時には、新しい記憶装置に古い記憶装置から全てのファイルをコピーした後(なお、コピーに障害がある場合には最初から再コピーを行った後)、一旦記憶装置4へのアクセスを停止して、記憶装置4の入れ替え作業が行われていたが、本実施形態では、記憶装置4へのアクセスを停止せずに記憶装置4の入れ替え作業を行うことができる。
【0113】
また、本実施形態では、制御部3b3は、アクセス要求がファイルAの読み込み要求であると、記憶位置テーブル2a1が表すファイルAの記憶位置へアクセスしてファイルAを読み込み、ファイルAをサーバ3aに出力する。このため、ファイルAの読み込み要求に応じたアクセスを効率化することが可能になる。
【0114】
また、本実施形態では、制御部3b3は、アクセス要求がファイルAの更新要求であると、記憶装置属性テーブル2a2が、ファイルAの記憶位置にて特定される記憶装置内のデータの更新の許容を表す場合に、ファイルAの記憶位置へアクセスしてファイルAをファイルAの更新要求に従って更新する。このため、記憶装置単位で、記憶装置内のファイルに対する更新の可否を制御することが可能になる。
【0115】
また、本実施形態において、制御部3b3が、記憶部3b2が記憶位置テーブル2a1または記憶装置属性テーブル2a2を記憶すると、通信部3b1から管理部2bに応答情報を送信する場合、管理部2bは、制御部3b3のうち、記憶位置テーブル2a1が送信されてから所定時間(例えば、5秒)の間に応答情報を送信してこない制御部(以下「第1特定制御部」と称する)、または、記憶装置属性テーブル2a2が送信されてから所定時間の間に応答情報を送信してこない制御部(以下「第2特定制御部」と称する)が存在する場合に、第1特定制御部および第2特定制御部がN台の記憶装置4を使用することを禁止してもよい。
【0116】
この場合、第1特定制御部、つまり、新しい記憶位置テーブル2a1を受信できていない可能性が高いアクセス制御部3b内の制御部3b3が、古い記憶位置テーブル2a1を使用して記憶装置4へのアクセスを制御すること、および、第2特定制御部、つまり、新しい記憶装置属性テーブル2a2を受信できていない可能性が高いアクセス制御部3b内の制御部3b3が、古い記憶装置属性テーブル2a2を使用して記憶装置4へのアクセスを制御することを防止可能となる。
【0117】
なお、第1特定制御部や第2特定制御部がN台の記憶装置4を使用することを禁止する手法としては、例えば、第1特定制御部や第2特定制御部がN台の記憶装置4にアクセスすることを禁止する処理が用いられてもよいし、また、N台の記憶装置4〜4が、第1特定制御部や第2特定制御部のIPアドレスを用いたパケットを拒否するように、N台の記憶装置4を設定する処理が用いられてもよい。また、所定時間は5秒に限らず適宜変更可能である。
【0118】
また、管理部2bは、アクセス制御部3bのそれぞれで記憶位置テーブル2a1が記憶部3b2に記憶されるタイミングを互いに一致させてもよい。例えば、管理部2bは、2相コミット、3相コミットまたはpaxosアルゴリズムなどの分散コミットアルゴリズム(「分散アルゴリズム」とも称される)を用いて、各アクセス制御部3bで行われる記憶位置テーブル2a1の更新を、全てのアクセス制御部3bが同時に行うようにしてもよい。
【0119】
この場合、全てのアクセス制御部3bが同じタイミングで記憶位置テーブル2a1を更新するので、各アクセス制御部3bによる各記憶装置4へのアクセスの整合性を極めて高くすることが可能になる。
【0120】
なお、アクセス制御部3bのそれぞれで記憶装置属性テーブル2a2が記憶部3b2に記憶されるタイミングを互いに一致させてもよいし、アクセス制御部3bのそれぞれで優先順位テーブル2a3が記憶部3b2に記憶されるタイミングを互いに一致させてもよい。
【0121】
また、記憶装置属性テーブル2a2の更新の契機は、ある記憶装置4使用率が既定値を超えたときに限らない。例えば、記憶装置4のいずれかの故障時、記憶装置4の状態監視(例えば、読み取りエラーの発生率の監視)の報告時、または、記憶装置4のメンテナンス計画に応じたタイミングでもよい。
【0122】
なお、管理装置2は、コンピュータにて実現されてもよい。この場合、コンピュータは、コンピュータにて読み取り可能なCD−ROM(Compact Disk Read Only Memory)のような記録媒体に記録されたプログラムを読込み実行することによって、格納部2aおよび管理部2bとして機能する。
【0123】
また、各アクセス制御部3bは、コンピュータにて実現されてもよい。この場合、コンピュータは、コンピュータにて読み取り可能な記録媒体に記録されたプログラムを読み取り実行することによって、アクセス制御部3bとして機能する。
【0124】
なお、記録媒体は、CD−ROMに限らず適宜変更可能である。
【0125】
以上説明した実施形態において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【符号の説明】
【0126】
1 記憶装置共用システム
2 管理装置
2a 格納部
2b 管理部
3、31、3M 処理装置
3a サーバ
3b アクセス制御部
3b1 通信部
3b2 記憶部
3b3 制御部
4、4P、4Q、4R 記憶装置

【特許請求の範囲】
【請求項1】
データを記憶するN(Nは2以上の整数)台の記憶装置を共用するM(Mは2以上の整数)台のアクセス制御装置と、前記アクセス制御装置による前記記憶装置へのアクセスを管理する管理装置と、を含む記憶装置共用システムであって、
前記管理装置は、
前記N台の記憶装置に記憶されているデータを調べ、前記N台の記憶装置のいずれかに記憶されているデータの記憶位置を表すデータ位置情報を生成し、当該データ位置情報を前記M台のアクセス制御装置に送信する管理手段を含み、
前記M台のアクセス制御装置の各々は、
前記管理手段から送信されたデータ位置情報を受信する通信手段と、
アクセス要求元からの前記データに対するアクセス要求を受け付けた場合に、前記データ位置情報が表す記憶位置へアクセスする制御手段と、を含む、記憶装置共用システム。
【請求項2】
請求項1に記載の記憶装置共用システムにおいて、
前記M台のアクセス制御装置の各々は、さらに、前記通信手段にて受信されたデータ位置情報を記憶する記憶手段を含み、
前記管理手段は、さらに、前記記憶装置間で前記データの移動を行い、前記データの移動結果を前記M台のアクセス制御装置に送信し、
前記通信手段は、さらに、前記管理手段から送信されたデータの移動結果を受信し、
前記制御手段は、さらに、前記通信手段にて受信されたデータの移動結果に基づいて、前記記憶手段内のデータ位置情報を更新し、前記アクセス要求を受け付けた場合に、前記記憶手段内のデータ位置情報が表す記憶位置へアクセスする、記憶装置共用システム。
【請求項3】
請求項1または2に記載の記憶装置共用システムにおいて、
前記制御手段は、前記アクセス要求が前記データの読み込み要求であると、前記データ位置情報が表す記憶位置へアクセスして前記データを読み込み、当該データを前記アクセス要求元に出力する、記憶装置共用システム。
【請求項4】
請求項1から3のいずれか1項に記載の記憶装置共用システムにおいて、
前記管理手段は、さらに、前記N台の記憶装置の各々について当該記憶装置内のデータの更新を許容するか否かを表す記憶装置情報を、前記M台のアクセス制御装置に送信し、
前記通信手段は、さらに、前記管理手段から送信された記憶装置情報を受信し、
前記制御手段は、前記アクセス要求が前記データの更新要求であると、前記記憶装置情報が、前記記憶位置にて特定される記憶装置内のデータの更新の許容を表す場合に、前記記憶位置へアクセスして前記データを前記データの更新要求に従って更新する、記憶装置共用システム。
【請求項5】
請求項1から4のいずれか1項に記載の記憶装置共用システムにおいて、
前記M台のアクセス制御装置の各々は、さらに、前記通信手段にて受信されたデータ位置情報を記憶する記憶手段を含み、
前記制御手段は、前記記憶手段が前記データ位置情報を記憶すると、前記通信手段から前記管理装置に応答情報を送信し、
前記管理手段は、前記制御手段のうち、前記データ位置情報が送信されてから所定時間の間に前記応答情報を送信してこない特定制御手段が存在する場合に、当該特定制御手段が前記N台の記憶装置を使用することを禁止する、記憶装置共用システム。
【請求項6】
データを記憶するN(Nは2以上の整数)台の記憶装置を共用するM(Mは2以上の整数)台のアクセス制御装置による前記記憶装置へのアクセスを管理する管理装置であって、
前記N台の記憶装置に記憶されているデータを調べ、前記N台の記憶装置のいずれかに記憶されているデータの記憶位置を表すデータ位置情報を生成し、当該データ位置情報を前記M台のアクセス制御装置に送信する管理手段を含む管理装置。
【請求項7】
他のアクセス制御装置と共にN(Nは2以上の整数)台の記憶装置を共用し、管理装置と通信可能なアクセス制御装置であって、
前記管理装置から送信された、前記N台の記憶装置のいずれかに記憶されているデータの記憶位置を表すデータ位置情報を受信する通信手段と、
アクセス要求元からの前記データに対するアクセス要求を受け付けた場合に、前記データ位置情報が表す記憶位置へアクセスする制御手段と、を含むアクセス制御装置。
【請求項8】
データを記憶するN(Nは2以上の整数)台の記憶装置を共用するM(Mは2以上の整数)台のアクセス制御装置と、前記アクセス制御装置による前記記憶装置へのアクセスを管理する管理装置と、を含む記憶装置共用システムでの記憶装置共用方法であって、
前記管理装置が、前記N台の記憶装置に記憶されているデータを調べ、前記N台の記憶装置のいずれかに記憶されているデータの記憶位置を表すデータ位置情報を生成し、当該データ位置情報を前記M台のアクセス制御装置に送信する管理ステップと、
前記アクセス制御装置が、前記管理装置から送信されたデータ位置情報を受信する受信ステップと、
前記アクセス制御装置が、アクセス要求元からの前記データに対するアクセス要求を受け付けた場合に、前記データ位置情報が表す記憶位置へアクセスする制御ステップと、を含む記憶装置共用方法。
【請求項9】
データを記憶するN(Nは2以上の整数)台の記憶装置を共用するM(Mは2以上の整数)台のアクセス制御装置による前記記憶装置へのアクセスを管理する管理装置での管理方法であって、
前記N台の記憶装置に記憶されているデータを調べ、前記N台の記憶装置のいずれかに記憶されているデータの記憶位置を表すデータ位置情報を生成し、当該データ位置情報を前記M台のアクセス制御装置に送信する管理ステップを含む管理方法。
【請求項10】
他のアクセス制御装置と共にN(Nは2以上の整数)台の記憶装置を共用し、管理装置と通信可能なアクセス制御装置でのアクセス方法であって、
前記管理装置から送信された、前記N台の記憶装置のいずれかに記憶されているデータの記憶位置を表すデータ位置情報を受信する受信ステップと、
アクセス要求元からの前記データに対するアクセス要求を受け付けた場合に、前記データ位置情報が表す記憶位置へアクセスする制御ステップと、を含むアクセス方法。
【請求項11】
コンピュータに、
データを記憶するN(Nは2以上の整数)台の記憶装置に記憶されているデータを調べ、前記N台の記憶装置のいずれかに記憶されているデータの記憶位置を表すデータ位置情報を生成し、当該データ位置情報を、前記N台の記憶装置を共用するM(Mは2以上の整数)台のアクセス制御装置に送信する管理手順を実行させるためのプログラム。
【請求項12】
他のコンピュータと共にN(Nは2以上の整数)台の記憶装置を共用し、管理装置と通信可能なコンピュータに、
前記管理装置から送信された、前記N台の記憶装置のいずれかに記憶されているデータの記憶位置を表すデータ位置情報を受信する受信手順と、
アクセス要求元からの前記データに対するアクセス要求を受け付けた場合に、前記データ位置情報が表す記憶位置へアクセスする制御手順と、を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2013−25519(P2013−25519A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−158885(P2011−158885)
【出願日】平成23年7月20日(2011.7.20)
【出願人】(306029774)NECビッグローブ株式会社 (115)
【出願人】(000222059)NECソフトウェア東北株式会社 (10)
【Fターム(参考)】