(57)【要約】【課題】公開元のユーザが公開先のユーザに公開した公開データを、格納領域の負荷にかかわらず同一の格納領域に保存し続ける場合と比べて、公開データへのアクセスを容易にする。【解決手段】公開データが格納されている第１格納領域の負荷が第１閾値を超えた場合、公開先のユーザによって利用される第２格納領域に形成された公開データ領域であって、負荷が第１格納領域の負荷よりも低い第２格納領域に形成された公開データ領域に、当該公開データが移動させられる。【選択図】図１
2020042415.tif 000002
【特許請求の範囲】
【請求項１】
公開元のユーザによって利用される第１格納領域に形成された第１公開データ領域に、公開先のユーザによるアクセスが許可された公開データとして前記公開元のユーザが前記公開先のユーザに公開した公開データを格納する格納制御手段と、
前記第１格納領域の負荷が第１閾値を超えた場合、前記公開先のユーザによって利用される第２格納領域に形成された第２公開データ領域であって、負荷が前記第１格納領域の負荷よりも低い第２格納領域に形成された第２公開データ領域に、前記公開データを移動させる移動制御手段と、
を有する情報処理装置。
【請求項２】
前記移動制御手段は、更に、前記第１格納領域を含む複数の格納領域の負荷を予測し、前記第１格納領域の負荷が前記第１閾値を超えると予測される期間の前に、負荷が前記第１格納領域の負荷よりも低いと予測される前記第２格納領域に、前記公開データを移動させる、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記移動制御手段は、更に、前記第１格納領域の負荷が前記第１閾値を超えた場合、前記第１格納領域の負荷が前記第１閾値を超えた時点以降における、前記第１格納領域を含む複数の格納領域の負荷を予測し、負荷が前記第１格納領域の負荷よりも低いと予測される前記第２格納領域に、前記公開データを移動させる、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記移動制御手段は、負荷が前記第１閾値よりも小さい第２閾値以下となる前記第２格納領域に前記公開データを移動させる、
ことを特徴とする請求項１から請求項３のいずれか一項に記載の情報処理装置。
【請求項５】
前記移動制御手段は、負荷が最も低い格納領域を前記第２格納領域として前記公開データを移動させる、
ことを特徴とする請求項１から請求項３のいずれか一項に記載の情報処理装置。
【請求項６】
前記移動制御手段は、前記第１格納領域の負荷、前記第２格納領域の負荷、及び、前記公開データを格納することで発生すると予測される負荷に基づいて、前記公開データの移動を制御する、
ことを特徴とする請求項１から請求項５のいずれか一項に記載の情報処理装置。
【請求項７】
前記格納制御手段は、複数の公開データを含む公開データ群を前記第１公開データ領域に格納し、
前記移動制御手段は、前記公開データ群に含まれる前記複数の公開データを、負荷が前記第１格納領域の負荷よりも低い複数の第２格納領域に分散させて移動させる、
ことを特徴とする請求項１から請求項６のいずれか一項に記載の情報処理装置。
【請求項８】
前記移動制御手段は、前記公開データ群に含まれる各公開データを格納することで発生すると予測される負荷に応じて、各公開データの移動先の前記第２格納領域を変更する、
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記移動制御手段は、格納によって発生し得る負荷が高いと予測される公開データほど、優先的に前記第２格納領域に移動させる、
ことを特徴とする請求項１から請求項８のいずれか一項に記載の情報処理装置。
【請求項１０】
前記移動制御手段は、アクセス数が多い公開データほど、負荷が高いと予測される公開データとして処理する、
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記移動制御手段は、前記公開元のユーザ及び前記公開先のユーザのいずれもが使用していない格納領域以外の格納領域を、前記格納領域として用いる、
ことを特徴とする請求項１から請求項１０のいずれか一項に記載の情報処理装置。
【請求項１２】
コンピュータを、
公開元のユーザによって利用される第１格納領域に形成された第１公開データ領域に、公開先のユーザによるアクセスが許可された公開データとして前記公開元のユーザが前記公開先のユーザに公開した公開データを格納する格納制御手段、
前記第１格納領域の負荷が第１閾値を超えた場合、前記公開先のユーザによって利用される第２格納領域に形成された第２公開データ領域であって、負荷が前記第１格納領域の負荷よりも低い第２格納領域に形成された第２公開データ領域に、前記公開データを移動させる移動制御手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
文書等のデータを管理するシステムにおいては、あるユーザのデータが他のユーザに公開される場合がある。例えば、マルチテナント型のサービスを提供するシステムにおいては、ユーザ間の連携（例えば企業間の連携）として、あるユーザ（例えばある企業）が、当該ユーザが保持しているデータを、同じサービスを利用している他のユーザ（例えば他の企業）に公開することが考えられる。マルチテナント型のサービスでは、複数のテナントがリソースを共有するため、負荷のピークが重なった場合等に、他のテナントの処理性能が低下することがある。
【０００３】
特許文献１には、リソースの割り当てを要する期間やテナントがリソースを利用する形態を考慮して、複数のリソース割当方法から最適な割当方法を選択し、当該割当方法を用いてリソースを調整するシステムが記載されている。
【０００４】
特許文献２には、負荷の高い操作を行っているユーザグループのみならず、波及テナントのリソースも制御する装置が記載されている。
【０００５】
特許文献３には、ユーザの要求内容に応じて、テナントが作成されるデータベースを決定するシステムが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２０１６／３０９７３号
【特許文献２】特開２０１４−１２１０７４号公報
【特許文献３】特開２０１７−１０７２９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、公開元のユーザが、あるデータを公開データとして公開先のユーザに公開した場合、その公開データが格納されている格納領域には、公開元のユーザのみならず公開先のユーザもアクセスすることが考えられる。この場合、公開元のユーザのみが当該格納領域にアクセスする場合と比べて、当該格納領域の負荷が増大し、その結果、公開データや当該格納領域へのアクセスが困難になることがある。
【０００８】
本発明の目的は、公開元のユーザが公開先のユーザに公開した公開データを、格納領域の負荷にかかわらず同一の格納領域に保存し続ける場合と比べて、公開データへのアクセスを容易にすることにある。
【課題を解決するための手段】
【０００９】
請求項１に記載の発明は、公開元のユーザによって利用される第１格納領域に形成された第１公開データ領域に、公開先のユーザによるアクセスが許可された公開データとして前記公開元のユーザが前記公開先のユーザに公開した公開データを格納する格納制御手段と、前記第１格納領域の負荷が第１閾値を超えた場合、前記公開先のユーザによって利用される第２格納領域に形成された第２公開データ領域であって、負荷が前記第１格納領域の負荷よりも低い第２格納領域に形成された第２公開データ領域に、前記公開データを移動させる移動制御手段と、を有する情報処理装置である。
【００１０】
請求項２に記載の発明は、前記移動制御手段は、更に、前記第１格納領域を含む複数の格納領域の負荷を予測し、前記第１格納領域の負荷が前記第１閾値を超えると予測される期間の前に、負荷が前記第１格納領域の負荷よりも低いと予測される前記第２格納領域に、前記公開データを移動させる、ことを特徴とする請求項１に記載の情報処理装置である。
【００１１】
請求項３に記載の発明は、前記移動制御手段は、更に、前記第１格納領域の負荷が前記第１閾値を超えた場合、前記第１格納領域の負荷が前記第１閾値を超えた時点以降における、前記第１格納領域を含む複数の格納領域の負荷を予測し、負荷が前記第１格納領域の負荷よりも低いと予測される前記第２格納領域に、前記公開データを移動させる、ことを特徴とする請求項１に記載の情報処理装置である。
【００１２】
請求項４に記載の発明は、前記移動制御手段は、負荷が前記第１閾値よりも小さい第２閾値以下となる前記第２格納領域に前記公開データを移動させる、ことを特徴とする請求項１から請求項３のいずれか一項に記載の情報処理装置である。
【００１３】
請求項５に記載の発明は、前記移動制御手段は、負荷が最も低い格納領域を前記第２格納領域として前記公開データを移動させる、ことを特徴とする請求項１から請求項３のいずれか一項に記載の情報処理装置である。
【００１４】
請求項６に記載の発明は、前記移動制御手段は、前記第１格納領域の負荷、前記第２格納領域の負荷、及び、前記公開データを格納することで発生すると予測される負荷に基づいて、前記公開データの移動を制御する、ことを特徴とする請求項１から請求項５のいずれか一項に記載の情報処理装置である。
【００１５】
請求項７に記載の発明は、前記格納制御手段は、複数の公開データを含む公開データ群を前記第１公開データ領域に格納し、前記移動制御手段は、前記公開データ群に含まれる前記複数の公開データを、負荷が前記第１格納領域の負荷よりも低い複数の第２格納領域に分散させて移動させる、ことを特徴とする請求項１から請求項６のいずれか一項に記載の情報処理装置である。
【００１６】
請求項８に記載の発明は、前記移動制御手段は、前記公開データ群に含まれる各公開データを格納することで発生すると予測される負荷に応じて、各公開データの移動先の前記第２格納領域を変更する、ことを特徴とする請求項７に記載の情報処理装置である。
【００１７】
請求項９に記載の発明は、前記移動制御手段は、格納によって発生し得る負荷が高いと予測される公開データほど、優先的に前記第２格納領域に移動させる、ことを特徴とする請求項１から請求項８のいずれか一項に記載の情報処理装置である。
【００１８】
請求項１０に記載の発明は、前記移動制御手段は、アクセス数が多い公開データほど、負荷が高いと予測される公開データとして処理する、ことを特徴とする請求項９に記載の情報処理装置である。
【００１９】
請求項１１に記載の発明は、前記移動制御手段は、前記公開元のユーザ及び前記公開先のユーザのいずれもが使用していない格納領域以外の格納領域を、前記格納領域として用いる、ことを特徴とする請求項１から請求項１０のいずれか一項に記載の情報処理装置である。
【００２０】
請求項１２に記載の発明は、コンピュータを、公開元のユーザによって利用される第１格納領域に形成された第１公開データ領域に、公開先のユーザによるアクセスが許可された公開データとして前記公開元のユーザが前記公開先のユーザに公開した公開データを格納する格納制御手段、前記第１格納領域の負荷が第１閾値を超えた場合、前記公開先のユーザによって利用される第２格納領域に形成された第２公開データ領域であって、負荷が前記第１格納領域の負荷よりも低い第２格納領域に形成された第２公開データ領域に、前記公開データを移動させる移動制御手段、として機能させるプログラムである。
【発明の効果】
【００２１】
請求項１，５，１１，１２に記載の発明によれば、公開元のユーザが公開先のユーザに公開した公開データを、格納領域の負荷にかかわらず同一の格納領域に保存し続ける場合と比べて、公開データへのアクセスが容易になる。
【００２２】
請求項２に記載の発明によれば、第１格納領域の負荷が第１閾値を超える前に、公開データを第２格納領域に移動することができる。
【００２３】
請求項３，４に記載の発明によれば、負荷がより低いと予測される格納領域に公開データを格納することができる。
【００２４】
請求項６に記載の発明によれば、公開データを格納した場合に発生すると予測される負荷を参考にしてデータの移動を制御することができる。
【００２５】
請求項７，８に記載の発明によれば、複数の公開データを同一の格納領域に移動させる場合と比べて、各移動先の格納領域の負荷の増大を抑制することができる。
【００２６】
請求項９，１０に記載の発明によれば、負荷が低いと予測される公開データを移動させる場合と比べて、移動元の格納領域の負荷がより軽減される。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施形態に係る情報処理システムの構成を示すブロック図である。
【図２】データの公開処理を示すフローチャートである。
【図３】公開データの移動処理を示すフローチャートである。
【図４】設定項目を示す図である。
【図５】負荷の優劣ポイントを示す図である。
【図６】負荷の優劣ポイントを示す図である。
【図７】公開データの移動処理を説明するための図である。
【図８】監視タイミングにおける各ＤＢの負荷状況を示す図である。
【図９】過去における各ＤＢの負荷状況を示す図である。
【発明を実施するための形態】
【００２８】
図１を参照して、本発明の実施形態に係る情報処理システムについて説明する。図１は、本実施形態に係る情報処理システムの一例を示す。
【００２９】
本実施形態に係る情報処理システムは、データ管理装置１０、及び、１又は複数の端末装置を含む。図１に示す例では、一例として、端末装置１２Ａ，１２Ｂが情報処理システムに含まれている。以下、各端末装置を区別する必要がない場合には、各端末装置を「端末装置１２」と称することとする。
【００３０】
データ管理装置１０及び各端末装置１２は、他の装置と通信する機能を有する。例えば、データ管理装置１０及び各端末装置１２は、インターネット又は他のネットワーク等の通信経路を介して互いに通信する。
【００３１】
情報処理装置の一例としてのデータ管理装置１０は、端末装置１２から送られてきたデータを格納する装置である。格納されるデータは特に限定されるものではない。例えば、文書データ、画像データ（静止画像データ、動画像データ）、音楽データ、及び、その他の形式を有するデータ等が、データ管理装置１０に格納されてもよい。
【００３２】
端末装置１２は、例えば、ＰＣ（パーソナルコンピュータ）、スマートフォン、又は、携帯電話等の装置である。以下では、端末装置１２Ａは、ユーザＡ（例えば企業Ａ）によって利用され、端末装置１２Ｂは、ユーザＢ（例えば企業Ｂ）によって利用されるものとする。
【００３３】
以下、データ管理装置１０について詳しく説明する。
【００３４】
データ管理装置１０は、ユーザ毎の格納領域を有し、各ユーザの端末装置１２から送られてきたデータを、当該ユーザ用の格納領域に格納する。一例として、データ管理装置１０は、格納領域としてのＤＢ（データベース）１４Ａ，１４Ｂ，１４Ｃを有する。格納領域（ＤＢ）の具体的な実現方法は特に限定されるものではない。各格納領域は、例えば、記憶装置（ハードディスク、メモリ等）に設定された論理パーティション又は論理ドライブであってもよい。また、データ管理装置１０に複数の記憶装置（物理ドライブ）が設けられ、それら個々の物理ドライブがそれぞれ別々の格納領域として定義されてもよい。また、これら例示した各種の格納領域が組み合わされて利用されてもよい。各格納領域に対する各ユーザのアクセス権限が規定されたりすることで（例えば各格納領域に対してパスワードが設定されることで）、各格納領域に対する各ユーザのアクセスが許可、制限又は禁止されてもよい。以下、ＤＢ１４Ａ，１４Ｂ，１４Ｃを区別する必要がない場合には、各ＤＢを「ＤＢ１４」と称することとする。
【００３５】
例えば、ＤＢ１４Ａ，１４Ｃは、ユーザＡ（企業Ａ）によって利用されるＤＢである。ＤＢ１４Ｂは、ユーザＢ（企業Ｂ）によって利用されるＤＢである。
【００３６】
各ＤＢ１４には、１又は複数の個別データ領域、及び、１又は複数の公開データ領域が形成されている。個別データ領域は、当該個別データ領域を含むＤＢを利用するユーザに対してアクセス権限が設定された格納領域（当該ユーザが利用可能な格納領域）であって、当該ユーザによるアクセスが許可された格納領域である。個別データ領域には、非公開データが格納される。非公開データは、当該ＤＢを利用するユーザ以外のユーザに対して公開されないデータである。公開データ領域には、公開データが格納される。公開データは、当該ＤＢを利用するユーザ（公開元のユーザ）以外のユーザ（公開先のユーザ）に対して公開されるデータである。例えば、公開元のユーザによって、公開先のユーザに対して公開データへのアクセス権限が設定され、これにより、公開先のユーザは、当該公開データへのアクセスが許可される。公開先のユーザに対するアクセス権限は、公開データ毎に設定されてもよいし、公開データ領域毎に設定されてもよい。
【００３７】
後述するように、非公開データが公開データとして指定された場合、当該非公開データが、個別データ領域から公開データ領域に移動させられて公開データ領域に格納される。また、公開データは、当該公開データが格納されているＤＢの負荷に応じて、当該公開データが格納されている公開データ領域から別の公開データ領域に移動させられる場合がある。
【００３８】
公開データには、例えば、移動元を示す格納先情報（当該公開データが格納されていた格納領域を示す格納先情報）、及び、当該公開データに対して設定されているアクセス権限を示す情報が紐付けられている。また、公開期間が公開データに設定されてもよい。公開期間は、公開先のユーザによる当該公開データへのアクセスが許可された期間である。公開期間は、例えば公開元のユーザによって設定される。
【００３９】
例えば、ＤＢ１４Ａには、個別データ領域１６Ａ及び公開データ領域１８Ａが形成されている。個別データ領域１６Ａには、ユーザＡが利用する端末装置１２Ａから送られてきたデータが非公開データとして格納される。ユーザＡによる個別データ領域１６Ａへのアクセスが許可され、他のユーザ（例えばユーザＢ）によるアクセスは禁止される。つまり、個別データ領域１６Ａに格納されている非公開データは、ユーザＡのみに公開され、他のユーザには公開されない。
【００４０】
公開データ領域１８Ａには、ユーザＡが他のユーザに公開したデータが公開データとして格納される。例えば、ユーザＡによって当該公開データへのアクセス権限がユーザＢに対して設定された場合、ユーザＢは、当該公開データへのアクセスが許可される。もちろん、ユーザＡも当該公開データへのアクセスが許可される。この場合、ユーザＡが公開元のユーザに該当し、ユーザＢが公開先のユーザに該当する。
【００４１】
ＤＢ１４Ｂ，１４Ｃについても同様である。ＤＢ１４Ｂには、個別データ領域１６Ｂ及び公開データ領域１８Ｂが形成されている。個別データ領域１６Ｂには、ユーザＢが利用する端末装置１２Ｂから送られてきたデータが非公開データとして格納される。ユーザＢによる個別データ領域１６Ｂへのアクセスが許可され、他のユーザ（例えばユーザＡ）によるアクセスは禁止される。公開データ領域１８Ｂには、ユーザＢが他のユーザに公開したデータが公開データとして格納される。また、ＤＢ１４Ｃには、個別データ領域１６Ｃ及び公開データ領域１８Ｃが形成されている。
【００４２】
以下、個別データ領域１６Ａ，１６Ｂ，１６Ｃを区別する必要がない場合には、各個別データ領域を「個別データ領域１６」と称することとする。また、公開データ領域１８Ａ，１８Ｂ，１８Ｃを区別する必要がない場合には、各公開データ領域を「公開データ領域１８」と称することとする。
【００４３】
なお、１つのＤＢに複数の公開データ領域１８が形成されている場合、公開データ領域１８毎に、アクセスが許可されたユーザが設定されてもよい。
【００４４】
また、公開先のユーザに応じて公開データ領域１８が定められてもよい。例えば、ユーザＡが利用するＤＢ１４Ａ内には、ユーザＡ，Ｂに公開されてユーザＡ，Ｂによるアクセスが許可された公開データ領域１８と、ユーザＡ，Ｃに公開されてユーザＡ，Ｃによるアクセスが許可された公開データ領域１８とが形成されてもよい。
【００４５】
情報管理部２０は、端末装置１２から送られてきたデータを、当該端末装置１２を利用するユーザに紐付けられたＤＢ１４内の個別データ領域１６に格納するように構成されている。例えば、端末装置１２Ａからデータが送られてきた場合、情報管理部２０は、当該データをＤＢ１４Ａ内の個別データ領域１６Ａに格納する。また、情報管理部２０は、データの公開指示を端末装置１２から受けた場合、当該データの公開指示を示す情報を移動制御部２６に出力する。
【００４６】
負荷状況監視部２２は、各ＤＢ１４の負荷状況を監視するように構成されている。負荷状況監視部２２は、各ＤＢ１４の負荷状況を示す負荷情報を負荷情報管理ＤＢ２４に格納し、また、負荷情報を移動制御部２６に出力する。負荷状況監視部２２は、例えば、予め定められたタイミングで各ＤＢ１４の負荷状況を監視してもよいし、定期的に各ＤＢ１４の負荷状況を監視してもよいし、特定のイベント発生時（例えばデータの格納時、データの移動時等）に各ＤＢ１４の負荷状況を監視してもよい。
【００４７】
負荷情報管理ＤＢ２４は、記憶装置（ハードディスク、メモリ等）によって実現される。負荷情報管理ＤＢ２４には、各ＤＢ１４の負荷状況を示す負荷情報が、各ＤＢ１４の負荷の履歴情報として格納される。
【００４８】
移動制御部２６は、個別データ領域１６から公開データ領域１８へのデータの移動、公開データ領域１８から個別データ領域１６へのデータの移動、及び、公開データ領域１８から別の公開データ領域１８への公開データの移動を制御するように構成されている。なお、移動制御部２６は、格納制御手段及び移動制御手段の一例に相当する。
【００４９】
例えば、移動制御部２６は、データの公開指示を示す情報を受けた場合、当該データを個別データ領域１６から公開データ領域１８へ移動させて当該データを公開データとして当該公開データ領域１８に格納する。公開データに公開期間が設定されている場合において当該公開期間が経過した場合、移動制御部２６は、当該公開データを公開データ領域１８から元の個別データ領域１６へ移動させて非公開データとして当該個別データ領域１６に格納する。
【００５０】
また、公開データが格納されている第１公開データ領域１８を含む第１ＤＢ１４の負荷が高負荷閾値（第１閾値の一例に相当する）を超えた場合、移動制御部２６は、公開元のユーザ及び公開先のユーザによって利用されるＤＢ１４（公開元のユーザ及び公開先のユーザによるアクセスが許可されているＤＢ１４）に含まれる公開データ領域１８であって、負荷が第１ＤＢ１４の負荷よりも低い第２ＤＢ１４に形成されている第２公開データ領域１８に、当該公開データを移動させる。高負荷閾値は、予め定められた閾値であり、ユーザ又は管理者等によって変更されてもよい。
【００５１】
負荷は、例えば、ＤＢ１４を構成するリソースの負荷であり、例えば、ＣＰＵの使用率、メモリの容量、通信量、セッション数等によって定められる。
【００５２】
第２ＤＢ１４は、例えば、負荷が高負荷閾値以下となるＤＢ１４、データ管理装置１０に含まれる複数のＤＢ１４の中で負荷が最低のＤＢ１４、又は、負荷が低負荷閾値以下（高負荷閾値よりも小さい第２閾値の一例に相当する）となるＤＢ１４等である。複数の第２ＤＢ１４が検出された場合、移動制御部２６は、当該複数の第２ＤＢ１４の中の任意の１又は複数のＤＢ１４に公開データを移動させてもよいし、負荷が最低のＤＢ１４に公開データを移動させてもよい。
【００５３】
別の公開データ領域１８に移動させられた公開データへのアクセス方法は、データ管理装置１０によって管理される。例えば、情報管理部２０は、移動させられた公開データを識別するための情報（例えばデータ名等）と、移動させられた公開データが元々格納されていた移動元の公開データ領域１８を識別するための情報（例えばアドレス情報）と、当該公開データの移動先の公開データ領域１８を識別するための情報（例えばアドレス情報）とを互いに対応付けて保持して管理する。ユーザが端末装置１２を利用して当該公開データへのアクセスを試みた場合（ユーザが当該公開データへのアクセスを指示した場合）、情報管理部２０は、当該公開データの移動先の公開データ領域１８へのアクセスを誘導する。こうすることで、ユーザは、移動先の公開データ領域１８に格納されている当該公開データにアクセスすることができる。
【００５４】
また、移動制御部２６は、各ＤＢ１４の将来の負荷を予測し、第１ＤＢ１４の現在の負荷が高負荷閾値を超えると予測される期間の前に、第２ＤＢ１４に公開データを移動させてもよい。つまり、移動制御部２６は、第１ＤＢ１４の現在の負荷が実際に高負荷閾値を超える前に、公開データを第２ＤＢ１４に移動させてもよい。ＤＢ１４の現在の負荷が高負荷状態に該当する場合、公開データの移動も困難になることがある。そこで、負荷が高負荷になる前に公開データを移動させることで、実際に公開データの移動が困難になる前に、公開データを移動させることができる。
【００５５】
例えば、移動制御部２６は、ＤＢ１４毎に、負荷情報管理ＤＢ２４に格納されている過去の負荷情報を参照することで、現時点（例えば現在の時刻）から予め定められた先の時点（将来の時点）までの間の予測期間（将来の期間）における負荷を予測する。つまり、移動制御部２６は、当該予測期間における過去の負荷情報を参照することで、各ＤＢ１４について、当該予測期間における負荷を予測する。公開データが格納されている第１ＤＢ１４の将来の負荷（予測期間中の負荷）が予測高負荷閾値（第１閾値の一例に相当する）を超えている場合、移動制御部２６は、予測期間中の負荷が第１ＤＢ１４の予測期間中の負荷よりも低いと予測される第２ＤＢ１４内の公開データ領域１８に公開データを移動させる。なお、予測高負荷閾値は高負荷閾値と同じ値であってもよいし、異なる値であってもよい。移動制御部２６は、予測期間中の負荷が予測高負荷閾値以下となるＤＢ１４を第２ＤＢ１４として公開データを当該ＤＢ１４に移動させてもよいし、予測期間中の負荷が最低のＤＢ１４を第２ＤＢ１４として公開データを当該ＤＢ１４に移動させてもよい。
【００５６】
別の例として、公開データが格納されている第１ＤＢ１４の現在の負荷が高負荷閾値を超えた場合、移動制御部２６は、第１ＤＢ１４の現在の負荷が高負荷閾値を超えた時点以降（予測期間内）における各ＤＢ１４の負荷を予測し、第１ＤＢ１４から第２ＤＢ１４内の公開データ領域１８に公開データを移動させてもよい。
【００５７】
更に別の例として、公開データが格納されている第１ＤＢ１４の現在の負荷が高負荷閾値を超えた場合において、予測期間内における第１ＤＢ１４の負荷が予測高負荷閾値を超えた場合、移動制御部２６は、第１ＤＢ１４から第２ＤＢ１４内の公開データ領域１８に公開データを移動させてもよい。
【００５８】
移動先のＤＢ１４は、例えば、負荷に応じたポイントを用いることで選択されてもよい。例えば、現在の負荷に応じた現在ポイントがＤＢ１４毎に演算されてもよいし、予測された負荷に応じた予測ポイントがＤＢ１４毎に演算されてもよい。現在の負荷が低いＤＢ１４ほど高い現在ポイントが与えられ、予測された負荷が低いＤＢ１４ほど高い予測ポイントが与えられる。そして、ポイントの高いＤＢ１４ほど負荷の低いＤＢ１４として特定される。これらの演算は、例えば移動制御部２６によって行われる。なお、負荷に応じた重み付け処理がポイントに適用されてもよい。もちろん、負荷が低いほど低いポイントが付与され、ポイントの低いＤＢ１４ほど負荷の低いＤＢ１４として特定されてもよい。
【００５９】
なお、各ＤＢ１４のメンテナンス期間等が考慮されて移動先の公開データ領域１８が選択されてもよい。例えば、メンテナンス中のＤＢ１４は移動先のＤＢ１４から除外される。
【００６０】
以下、図２を参照して、データの公開処理について説明する。図２は、公開処理を示すフローチャートを示す。ユーザＡ（企業Ａ）がユーザＢ（企業Ｂ）にデータを公開するものとする。
【００６１】
まず、ユーザＡが特定のデータαをユーザＢに公開する（ステップＳ０１）。例えば、ユーザＡからユーザＢに対して、データαへのアクセス権限（例えばパスワード、アドレス情報等）が与えられる。なお、データαは、ユーザＡが利用するＤＢ１４Ａ内の個別データ領域１６Ａに格納されている。
【００６２】
例えば、ユーザＡが端末装置１２Ａを利用してデータαの公開指示を与えた場合、当該公開指示を示す情報が、端末装置１２Ａからデータ管理装置１０に送信される。当該公開指示を示す情報には、ユーザＡを識別するための情報、及び、公開対象のデータαを識別するための情報が含まれる。
【００６３】
公開指示を示す情報を受けた情報管理部２０は、個別データ領域１６Ａから公開データ領域１８Ａへのデータαの移動リクエストを移動制御部２６に送る（ステップＳ０２）。移動リクエストには、上記の公開指示を示す情報が含まれる。
【００６４】
当該移動リクエストを受けた移動制御部２６は、ＤＢ１４Ａ内の個別データ領域１６Ａから公開データ領域１８Ａへデータαを移動させ、データαを公開データとして公開データ領域１８Ａ内に格納する（ステップＳ０３）。これにより、データαがユーザＢに公開され、ユーザＢは端末装置１２Ｂを用いて、公開データ領域１８Ａに格納されているデータαへのアクセスが可能となる。
【００６５】
以下、図３を参照して、公開データの移動処理について説明する。図３は、移動処理を示すフローチャートを示す。
【００６６】
負荷状況監視部２２は、例えば定期的に各ＤＢ１４の負荷状況を監視し、各ＤＢ１４の負荷情報を負荷情報管理ＤＢ２４に格納すると共に移動制御部２６に出力する（ステップＳ１０）。
【００６７】
移動制御部２６は、公開データαが格納されているＤＢ１４Ａとは異なるＤＢ１４であって、公開元のユーザＡ及び公開先のユーザＢが利用するＤＢ１４がデータ管理装置１０内に存在するか否かを確認する（ステップＳ１１）。つまり、移動制御部２６は、移動先のＤＢ１４がデータ管理装置１０内に存在するか否かを確認する。
【００６８】
上記のＤＢ１４が存在しない場合（ステップＳ１２，Ｎｏ）、処理はステップＳ１０に戻る。上記のＤＢ１４が存在する場合（ステップＳ１２，Ｙｅｓ）、処理はステップＳ１３に移行する。ステップＳ１３以降の処理では、公開元のユーザＡ及び公開先のユーザＢが利用するＤＢ１４群を対象として処理が実行される。
【００６９】
移動制御部２６は、予測期間（現時点から予め定められた先の時点（将来の時点）までの間の期間）における各ＤＢ１４の過去の負荷情報を負荷情報管理ＤＢ２４から取得する（ステップＳ１３）。
【００７０】
移動制御部２６は、ＤＢ１４毎に、負荷状況監視部２２によって取得された現在の負荷と高負荷閾値とを比較する（ステップＳ１４）。また、移動制御部２６は、ＤＢ１４毎に、予測期間中の負荷を予測し、予測期間中の負荷と予測高負荷閾値とを比較する（ステップＳ１４）。
【００７１】
公開データαが格納されているＤＢ１４Ａの現在の負荷が高負荷閾値以下となり、かつ、ＤＢ１４Ａの予測期間中の負荷が予測高負荷閾値以下となる場合（ステップＳ１５，Ｎｏ）、処理はステップＳ１０に戻る。この場合、公開データαはＤＢ１４Ａ以外のＤＢ１４に移動させられず、ＤＢ１４Ａに格納される。
【００７２】
ＤＢ１４の現在の負荷が高負荷閾値を超えている、又は、ＤＢ１４Ａの予測期間中の負荷が予測高負荷閾値を超えている場合（ステップＳ１５，Ｙｅｓ）、移動制御部２６は、各ＤＢ１４の現在の負荷状況及び予測期間中の負荷状況に基づいて各ＤＢ１４の優劣を演算することで、公開データαの移動先のＤＢ１４を決定する（ステップＳ１６）。例えば、移動制御部２６は、ＤＢ１４毎に上記のポイントを演算し、各ＤＢ１４のポイントに基づいて移動先のＤＢ１４を決定する。
【００７３】
上記のようにして決定された移動先のＤＢ１４が、現在、公開データαが格納されているＤＢ１４Ａ以外のＤＢ１４である場合（ステップＳ１７，Ｙｅｓ）、移動制御部２６は、ＤＢ１４Ａの公開データ領域１８Ａに格納されている公開データαを、移動先のＤＢ１４の公開データ領域１８に移動させる（ステップＳ１８）。その後、処理はステップＳ１０に移行する。
【００７４】
移動先のＤＢ１４がＤＢ１４以外のＤＢ１４ではない場合（ステップＳ１７，Ｎｏ）、処理はステップＳ１０に移行する。この場合、移動制御部２６は、公開データαを別のＤＢ１４に移動させずにＤＢ１４Ａ内の公開データ領域１８Ａに格納する。
【００７５】
以下、具体例を挙げて移動処理について更に詳しく説明する。
【００７６】
図４を参照して、各種の設定項目について説明する。負荷の監視期間は、負荷状況監視部２２が各ＤＢ１４の負荷を監視する期間である。その設定値として１０分が定められており、負荷状況監視部２２は、１０分毎の負荷を監視する。高負荷閾値としてＣＰＵの使用率（％）が用いられており、その設定値として８５％が定められている。予測高負荷閾値としてＣＰＵの使用率（％）が用いられており、その設定値として９０％が定められている。予測期間は、移動制御部２６が各ＤＢ１４の負荷を予測する期間である。その設定値として３０分が定められており、移動制御部２６は、現時点よりも３０分後の負荷を予測する。これらの情報は、データ管理装置１０内に設けられている図示しない記憶装置に予め記憶されている。各設定値は、ユーザや管理者等によって変更されてもよい。
【００７７】
図５及び図６を参照して、移動先のＤＢ１４を決定するためのポイントについて説明する。図５は、現在の負荷に対するポイントを示す。図６は、過去の負荷（予測期間中の負荷）に対するポイントを示す。負荷の低いＤＢ１４ほど高い順位が与えられ、高いポイントが与えられる。例えば、現在の負荷が最低であるＤＢ１４の順位は「１位」であり、５ポイントが与えられる。また、過去の負荷（予測期間中の負荷）が最低であるＤＢ１４の順位は「１位」であり、３ポイントが与えられる。
【００７８】
図７を参照して、データ管理装置１０に設けられているＤＢ１４について説明する。データ管理装置１０には、ＤＢ１４Ａ，１４Ｂ，１４Ｃ，１４Ｄが設けられている。ＤＢ１４Ａ，１４Ｃは、ユーザＡによって使用されるＤＢ１４である。ＤＢ１４Ｂは、ユーザＢによって使用されるＤＢ１４である。ＤＢ１４Ｄは、ユーザＸ（企業Ｘ）によって使用されるＤＢ１４である。ユーザＡがユーザＢに対して公開している公開データ群αは、ＤＢ１４Ａ内の公開データ領域１８Ａに格納されているものとする。
【００７９】
図８及び図９を参照して、各ＤＢ１４の負荷状況の一例について説明する。図８は、現時点（時刻１１：００の時点）における各ＤＢ１４の負荷状況を示す。図９は、過去の各時点（各予測期間）における各ＤＢ１４の負荷状況を示す。
【００８０】
図８に示すように、現時点（１１：００の時点）では、ＤＢ１４Ａの負荷（ＣＰＵ使用率）は９０％であり、ＤＢ１４Ｂの負荷は２５％であり、ＤＢ１４Ｃの負荷は４５％であり、ＤＢ１４Ｄの負荷は２０％である。これらの値は、負荷状況監視部２２によって取得され、負荷情報管理ＤＢ２４及び移動制御部２６に送られる。移動制御部２６は、負荷状況監視部２２から送られてきた値によって、各ＤＢ１４の負荷状況を認識する。
【００８１】
また、移動制御部２６は、負荷情報管理ＤＢ２４に格納されている過去の負荷情報を参照することで、予測期間として設定されている３０分後（１１：３０の時点）における各ＤＢ１４の負荷を予測する。つまり、移動制御部２６は、過去の１１：３０時点における各ＤＢ１４の負荷情報を参照することで、１１：３０時点における各ＤＢ１４の負荷を予測する。図９に示すように、予測期間（１１：３０の時点）では、ＤＢ１４Ａの負荷（ＣＰＵ使用率）は７５％であり、ＤＢ１４Ｂの負荷は２５％であり、ＤＢ１４Ｃの負荷は５５％であり、ＤＢ１４Ｄの負荷は２０％である。
【００８２】
現時点（１１：００の時点）におけるＤＢ１４Ａの負荷は９０％であり、設定された高負荷閾値（８５％）を超えているため、移動制御部２６は、公開データ群αの移動先のＤＢ１４の選定を行う。
【００８３】
移動制御部２６は、図８に示されている現時点（１１：００の時点）における負荷と、予測期間（１１：３０の時点）における負荷（過去の負荷）とに基づいて、各ＤＢ１４のポイントを演算する。ＤＢ１４Ｄは、ユーザＡ，Ｂによって使用されないため、移動制御部２６は、ＤＢ１４Ｄのポイントを演算しない。
【００８４】
現時点（１１：００の時点）では、ＤＢ１４Ａは３位（１ポイント）であり、ＤＢ１４Ｂは１位（５ポイント）であり、ＤＢ１４Ｃは２位（３ポイント）である。予測期間（１１：３０の時点）では、ＤＢ１４Ａは３位（１ポイント）であり、ＤＢ１４Ｂは１位（３ポイント）であり、ＤＢ１４Ｃは２位（２ポイント）である。移動制御部２６は、現在の負荷に基づくポイントと予測期間の負荷に基づくポイントとを合算する。
【００８５】
以下に、各ＤＢ１４のポイント合計値を示す。
・ＤＢ１４Ａ：１ポイント（現負荷）＋１ポイント（予測負荷）＝２ポイント
・ＤＢ１４Ｂ：５ポイント（現負荷）＋３ポイント（予測負荷）＝８ポイント
・ＤＢ１４Ｃ：３ポイント（現負荷）＋２ポイント（予測負荷）＝５ポイント
【００８６】
ＤＢ１４Ｂのポイントが最も高い。つまり、ＤＢ１４Ｂの負荷が最も低い。この場合、移動制御部２６は、公開データ群αをＤＢ１４Ａの公開データ領域１８ＡからＤＢ１４Ｂの公開データ領域１８Ｂに移動させる。
【００８７】
なお、ＤＢ１４Ｂが公開元のユーザＡによって利用されるＤＢ１４である場合に、移動制御部２６は、公開データをＤＢ１４ＡからＤＢ１４Ｂの公開データ領域１８Ｂに移動させてもよい。
【００８８】
上記の処理を行うことで、公開データ群αが、より負荷の低いＤＢ１４Ｂに格納されるので、公開データ群αが格納されているＤＢ１４Ａの負荷にかかわらずＤＢ１４Ａに公開データ群αを格納し続ける場合と比べて、公開データ群αへのアクセスが容易となる。また、移動元のＤＢ１４Ａの負荷が低減される。
【００８９】
また、公開データを他のＤＢ１４に移動すれば、公開先のユーザＢから公開元のユーザＡのＤＢ１４Ａへのアクセスが減少又は無くなるので、ＤＢ１４Ａの負荷が減少する。また、データ格納のサービスを提供する側の負担（例えばコスト）が軽減し得る。例えば、サービス提供側がレプリケーションを作成せずに済むため、サービス提供側のコストの増大が抑制され得る。
【００９０】
なお、上記の例では、予測された負荷が用いられているが、予測された負荷は用いられなくてもよい。この場合、移動制御部２６は、現時点（１１：００の時点）における各ＤＢ１４の負荷に基づいて移動先のＤＢ１４を決定する。例えば、ＤＢ１４Ｂの負荷が最低である場合、移動制御部２６は、公開データ群αをＤＢ１４Ｂの公開データ領域１８Ｂに移動させる。
【００９１】
別の例として、移動制御部２６は、現時点における各ＤＢ１４の負荷を用いずに、予測期間中における各ＤＢ１４の負荷に基づいて移動先のＤＢ１４を決定してもよい。例えば、移動制御部２６は、予測期間（１１：３０の時点）において負荷が最低のＤＢ１４Ｂに公開データ群αを、現時点（１１：００の時点）で移動させてもよい。
【００９２】
更に別の例として、現時点（１１：００の時点）におけるＤＢ１４Ａの負荷が高負荷閾値を超え、かつ、予測期間（１１：３０の時点）におけるＤＢ１４Ａの負荷が予測高負荷閾値を超える場合に、移動制御部２６は、公開データ群αを移動先のＤＢ１４（例えば負荷が最低のＤＢ１４Ｂ）の公開データ領域１８に移動させてもよい。
【００９３】
以下、変形例について説明する。
【００９４】
移動制御部２６は、公開データαが格納されているＤＢ１４Ａの現在の負荷、移動先のＤＢ１４として決定されたＤＢ１４Ｂの現在の負荷、及び、公開データαを格納することで発生すると予測される負荷に基づいて、公開データ群αの移動を制御してもよい。例えば、移動制御部２６は、公開データαに対する過去のアクセス数をカウントし、そのアクセス数に基づいて、公開データαを格納することで発生する負荷を予測する。アクセス数が増えるほど、ＤＢ１４の負荷が増大すると予測される。つまり、アクセス数の多い公開データほど負荷の高い公開データであると予測される。例えば、移動制御部２６は、公開データαを移動先のＤＢ１４Ｂに移動した場合におけるＤＢ１４Ｂの負荷を予測し、ＤＢ１４Ａの現在の負荷とＤＢ１４Ｂの予測された負荷とを比較し、それらの大小関係に基づいて、公開データの移動を制御する。
【００９５】
具体例を挙げて説明する。例えば、ＤＢ１４Ａの現在の負荷が９０％であり、移動先のＤＢ１４Ｂの現在の負荷が７０％である場合において、公開データαへのアクセスに伴う負荷が２０％未満であれば、移動制御部２６は、公開データαをＤＢ１４ＡからＤＢ１４Ｂの公開データ領域１８Ｂに移動させる。つまり、公開データαをＤＢ１４Ｂに移動させた場合であっても、移動後のＤＢ１４Ｂの負荷は９０％未満であると予測され、その値は、ＤＢ１４Ａの現在の負荷の値（９０％）よりも小さい。ＤＢ１４Ａ，１４Ｂのそれぞれの負荷は、移動前のＤＢ１４Ａの負荷よりも低くなるため、移動制御部２６は、公開データαをＤＢ１４ＡからＤＢ１４Ｂの公開データ領域１８Ｂに移動させる。公開データαへのアクセスに伴う負荷が２０％以上であると予測される場合、移動制御部２６は、公開データαをＤＢ１４Ｂに移動させない。
【００９６】
移動制御部２６は、移動後のＤＢ１４Ｂの負荷が高負荷閾値以下となる場合に、公開データαをＤＢ１４ＡからＤＢ１４Ｂの公開データ領域１８Ｂに移動させ、移動後のＤＢ１４Ｂの負荷が高負荷閾値を超える場合に、公開データαをＤＢ１４Ｂに移動させなくてもよい。
【００９７】
また、移動先のＤＢ１４の空き容量が考慮されてもよい。例えば、移動先のＤＢ１４Ｂの空き容量が閾値を超える場合に、移動制御部２６は、公開データαをＤＢ１４Ｂに移動させてもよい。
【００９８】
公開データ群αに複数の公開データが含まれている場合、移動制御部２６は、当該複数の公開データを、負荷がＤＢ１４Ａよりも低い複数のＤＢ１４の公開データ領域１８に分散させて移動させてもよい。この場合において、移動制御部２６は、各公開データを格納することで発生すると予測される負荷に応じて、各公開データの移動先のＤＢ１４を変更してもよい。例えば、移動制御部２６は、アクセス数が最も多い公開データを、負荷が最低のＤＢ１４の公開データ領域１８に移動させ、アクセス数が２番目に多い公開データを、負荷が２番目に軽いＤＢ１４の公開データ領域１８に移動させる。こうすることで、負荷が分散するので、１つのＤＢ１４に公開データ群を移動させる場合と比べて、１つ当たりのＤＢ１４の負荷の増大が抑制される。
【００９９】
また、公開データ群αに複数の公開データが含まれている場合、移動制御部２６は、公開データ群αに含まれる一部の公開データ（１又は複数の公開データ）を移動先のＤＢ１４Ｂの公開データ領域１８Ｂに移動させてもよい。この場合、移動制御部２６は、格納によって発生し得る負荷が高いと予測される公開データほど優先的にＤＢ１４Ｂに移動させる。上記と同様に、過去のアクセス数が多い公開データほど、負荷の高い公開データであると予測される。例えば、移動制御部２６は、アクセス数（予測される負荷）が多い順に各公開データの順位付けを行い、予め定められた順位以内の１又は複数の公開データを移動先のＤＢ１４Ｂに移動させ、それら以外の公開データをＤＢ１４Ｂに移動させない。アクセス数が最も多い公開データの順位が１位であり、以降、アクセス数に基づいて順位付けが行われる。アクセス数が多い公開データは、アクセス数が少ない公開データと比べて、格納によってＤＢ１４の負荷が増大すると予測される。そこで、アクセス数がより多い公開データを他のＤＢ１４に移動させることで、アクセス数がより少ない公開データを他のＤＢ１４に移動させる場合と比べて、移動元のＤＢ１４の負荷をより減少させることができる。なお、移動制御部２６は、各順位の公開データを分散させて各移動先のＤＢ１４に移動させてもよい。つまり、移動制御部２６は、各順位の公開データをそれぞれ別々のＤＢ１４の公開データ領域１８に移動させてもよい。また、移動制御部２６は、移動元のＤＢ１４Ａの負荷が高負荷閾値以下となるまで、アクセス数の多い順で各順位の公開データを他のＤＢ１４に移動させてもよい。
【０１００】
本実施形態及び変形例は、一例として、マルチテナント型のサービスに適用されてもよい。一般的に、マルチテナント型のサービスでは、シングルテナント型のサービスと比べて、複数のテナントでリソースを共有するため、負荷のピークが重なった場合等に、他のテナントの処理性能に影響を及ぼす可能性がある。本実施形態又は変形例を適用することで、そのような負荷を軽減することができる。
【０１０１】
上記のデータ管理装置１０及び端末装置１２のそれぞれは、一例としてハードウェアとソフトウェアとの協働により実現される。具体的には、データ管理装置１０及び端末装置１２のそれぞれは、図示しないＣＰＵ等の１又は複数のプロセッサを備えている。当該１又は複数のプロセッサが、図示しない記憶装置に記憶されたプログラムを読み出して実行することにより、データ管理装置１０及び端末装置１２のそれぞれの各部の機能が実現される。上記プログラムは、ＣＤ又はＤＶＤ等の記録媒体を経由して、又は、ネットワーク等の通信経路を経由して、記憶装置に記憶される。別の例として、データ管理装置１０及び端末装置１２のそれぞれの各部は、例えばプロセッサ、電子回路又はＡＳＩＣ（Application Specific Integrated Circuit）等のハードウェア資源により実現されてもよい。その実現においてメモリ等のデバイスが利用されてもよい。更に別の例として、データ管理装置１０及び端末装置１２のそれぞれの各部は、ＤＳＰ（Digital Signal Processor）又はＦＰＧＡ（Field Programmable Gate Array）等によって実現されてもよい。
【符号の説明】
【０１０２】
１０  データ管理装置、１２Ａ，１２Ｂ  端末装置、１４Ａ，１４Ｂ，１４Ｃ  データベース（ＤＢ）、１６Ａ，１６Ｂ，１６Ｃ  個別データ領域、１８Ａ，１８Ｂ，１８Ｃ  公開データ領域、２０  情報管理部、２２  負荷状況監視部、２４  負荷情報管理ＤＢ、２６  移動制御部。
【図１】
2020042415.tif 000003
【図２】
2020042415.tif 000004
【図３】
2020042415.tif 000005
【図４】
2020042415.tif 000006
【図５】
2020042415.tif 000007
【図６】
2020042415.tif 000008
【図７】
2020042415.tif 000009
【図８】
2020042415.tif 000010
【図９】
2020042415.tif 000011