(57)【要約】【課題】負荷が高い負荷テナントに関連する波及テナントによるリソースの使用を制限できるようにすることを目的とする。【解決手段】データアクセス制御装置１００は、利用履歴管理テーブル１９６を参照し、テナント毎にテナントの処理間隔を算出する。データアクセス制御装置１００は、挙動条件管理テーブル１０２を参照し、処理間隔が挙動条件を満たすテナントを負荷テナントとして選択する。データアクセス制御装置１００は、負荷テナントに対応付けられた処理識別子をテナント管理テーブル１９２から取得し、取得した処理識別子に対応付けられたモデルタイプをモデル情報管理テーブル１９３から取得し、取得したモデルタイプに対応付けられたテナントを波及テナントとして選択する。データアクセス制御装置１００は、テナント切換制御テーブル１９５に設定されている負荷テナントと波及テナントとのそれぞれの接続残数を最小化する。【選択図】図１
2014121074.tif 000002
【特許請求の範囲】
【請求項１】
リソースを使用する複数のユーザが属する複数のユーザグループのユーザグループ毎に、ユーザグループを識別するグループ識別子と、ユーザグループに属するユーザのうち前記リソースを使用することが許可されるユーザの数を示す許可ユーザ数と、を対応付けて記憶する許可ユーザ数記憶部と、
前記複数のユーザグループのユーザグループ毎に、ユーザグループのグループ識別子と、ユーザグループが有する属性を示すグループ属性値と、を対応付けて記憶するグループ属性値記憶部と、
前記複数のユーザグループのユーザグループ毎に、ユーザグループによる前記リソースの使用量を取得するリソース使用量取得部と、
前記複数のユーザグループのうち、前記リソース使用量取得部によって取得された前記リソースの使用量が使用量に関する制限条件を満たしているユーザグループのグループ識別子を負荷グループ識別子として選択する負荷グループ選択部と、
前記グループ属性値記憶部に記憶されているグループ属性値のうち、前記負荷グループ選択部によって選択された前記負荷グループ識別子と同じグループ識別子に対応付けられたグループ属性値を負荷グループ属性値として取得する負荷グループ属性値取得部と、
前記グループ属性値記憶部に記憶されたグループ識別子のうち、前記負荷グループ属性値取得部によって取得された前記負荷グループ属性値と同じグループ属性値に対応付けられたグループ識別子であって前記負荷グループ識別子と異なるグループ識別子を波及グループ識別子として選択する波及グループ選択部と、
前記許可ユーザ数記憶部に記憶されている許可ユーザ数のうち、前記波及グループ選択部によって選択された前記波及グループ識別子と同じグループ識別子に対応付けられた許可ユーザ数を減らす波及グループ制御部と
を備えることを特徴とするリソース使用制御装置。
【請求項２】
前記許可ユーザ数記憶部に記憶されている許可ユーザ数のうち、前記負荷グループ識別子と同じグループ識別子に対応付けられた許可ユーザ数を減らす負荷グループ制御部
を備えることを特徴とする請求項１記載のリソース使用制御装置。
【請求項３】
前記複数のユーザのうち前記リソースの使用を要求する要求ユーザが使用するユーザ端末から、前記要求ユーザが属するユーザグループを識別する要求グループ識別子を含んだ使用要求を受信する使用要求受信部と、
前記ユーザ許可数記憶部に記憶されるユーザ許可数のうち、前記使用要求受信部によって受信された前記使用要求に含まれる要求グループ識別子と同じグループ識別子に対応付けられたユーザ許可数に基づいて、前記要求ユーザによる前記リソースの使用を許可するか否かを判定する使用許可判定部と
を備えることを特徴とする請求項１または請求項２記載のリソース使用制御装置。
【請求項４】
前記リソース使用制御装置は、前記複数のユーザグループのユーザグループ毎に、ユーザグループに属するユーザが前記リソースを使用した複数の使用時刻を記憶する履歴情報記憶部を備え、
前記リソース使用量取得部は、前記履歴情報記憶部に記憶された前記複数の使用時刻に基づいて、前記複数のユーザグループのユーザグループ毎に、ユーザグループの前記リソースの使用量を算出する
ことを特徴とする請求項１から請求項３のいずれかに記載のリソース使用制御装置。
【請求項５】
前記リソース使用量取得部は、前記履歴情報記憶部に記憶された前記複数の使用時刻に基づいて、前記複数のユーザグループのユーザグループ毎に、ユーザグループが前記リソースを使用した時間間隔を前記リソースの使用量として算出し、
前記負荷グループ選択部は、前記複数のユーザグループのうち、前記リソースの使用量が前記制限条件である時間間隔より短い時間間隔であるユーザグループのグループ識別子を前記負荷グループ識別子として選択する
ことを特徴とする請求項４記載のリソース使用制御装置。
【請求項６】
前記リソース使用量取得部は、前記履歴情報記憶部に記憶された前記複数の使用時刻に基づいて、前記複数のユーザグループのユーザグループ毎に、ユーザグループが前記リソースを使用した使用時間を前記リソースの使用量として算出し、
前記負荷グループ選択部は、前記複数のユーザグループのうち、前記リソースの使用量が前記制限条件である使用時間より長い使用時間であるユーザグループのグループ識別子を前記負荷グループ識別子として選択する
ことを特徴とする請求項４記載のリソース使用制御装置。
【請求項７】
前記リソース使用制御装置は、前記複数のユーザグループのユーザグループ毎に、ユーザグループ用のデータ量を記憶するデータ量記憶部を備え、
前記リソース使用量取得部は、前記データ量記憶部に記憶されたデータ量に基づいて、前記複数のユーザグループのユーザグループ毎に、ユーザグループの前記リソースの使用量を算出する
ことを特徴とする請求項１から請求項３のいずれかに記載のリソース使用制御装置。
【請求項８】
前記リソース使用量取得部は、前記複数のユーザグループのユーザグループ毎に、前記データ量記憶部に記憶されたデータ量のうち、ユーザグループのデータ量を前記リソースの使用量として取得し、
前記負荷グループ選択部は、前記複数のユーザグループのうち、前記リソースの使用量が前記制限条件であるデータ量より多いデータ量であるユーザグループのグループ識別子を前記負荷グループ識別子として選択する
ことを特徴とする請求項７記載のリソース使用制御装置。
【請求項９】
前記データ量記憶部は、ユーザグループ毎の時刻別のデータ量を記憶し、
前記リソース使用量取得部は、前記データ量記憶部に記憶されたユーザグループ毎の時刻別のデータ量に基づいて、前記複数のユーザグループのユーザグループ毎に、ユーザグループ用のデータの増加量を前記リソースの使用量として算出し、
前記負荷グループ選択部は、前記複数のユーザグループのうち、前記リソースの使用量が前記制限条件である増加量より多い増加量であるユーザグループのグループ識別子を前記負荷グループ識別子として選択する
ことを特徴とする請求項７記載のリソース使用制御装置。
【請求項１０】
前記リソース使用制御装置は、前記グループ属性値記憶部として、第一のグループ属性値記憶部と第二のグループ属性値記憶部とを備え、
前記第一のグループ属性値記憶部は、前記複数のユーザグループのユーザグループ毎に、ユーザグループのグループ識別子に対応付けて、ユーザグループ用のデータ処理を識別する処理識別子を前記グループ属性値として記憶し、
前記第二のグループ属性値記憶部は、前記複数のユーザグループのユーザグループ毎に、ユーザグループのグループ識別子に対応付けて、ユーザグループが使用する前記リソースの使用種別を前記グループ属性値として記憶し、
前記リソース使用制御装置は、複数の処理識別子に含まれる処理識別子と複数の使用種別に含まれる使用種別とを対応付けて記憶する波及範囲記憶部を備え、
前記負荷グループ属性値取得部は、前記第一のグループ属性値記憶部に記憶されている処理識別子のうち、前記負荷グループ識別子と同じグループ識別子に対応付けられた処理識別子を前記負荷グループ属性値として取得し、
前記波及グループ選択部は、前記波及範囲記憶部に記憶されている使用種別のうち前記負荷グループ属性値と同じ処理識別子に対応付けられた使用種別を負荷使用種別として取得し、
前記波及グループ選択部は、前記第二のグループ属性値記憶部に記憶されているグループ識別子のうち前記負荷使用種別と同じ使用種別に対応付けられたグループ識別子を前記波及グループ識別子として選択する
ことを特徴とする請求項１から請求項９のいずれかに記載のリソース使用制御装置。
【請求項１１】
前記リソース使用制御装置は、前記グループ属性値記憶部として、第一のグループ属性値記憶部と第二のグループ属性値記憶部とを備え、
前記第一のグループ属性値記憶部は、前記複数のユーザグループのユーザグループ毎に、ユーザグループのグループ識別子に対応付けて、ユーザグループが使用するデータ領域を識別するデータ領域名を前記グループ属性値として記憶し、
前記第二のグループ属性値記憶部は、前記複数のユーザグループのユーザグループ毎に、ユーザグループのグループ識別子に対応付けて、ユーザグループが使用する前記リソースの使用種別を前記グループ属性値として記憶し、
前記リソース使用制御装置は、波及範囲記憶部と、処理対応記憶部とを備え、
前記波及範囲記憶部は、複数の処理識別子に含まれる処理識別子と複数のデータ領域名に含まれるデータ領域名と複数の使用種別に含まれる使用種別とを対応付けて記憶し、
前記処理対応記憶部は、複数の処理識別子に含まれる処理識別子と複数のデータ領域名に含まれるデータ領域名とを対応付けて記憶し、
前記負荷グループ属性値取得部は、前記第一のグループ属性値記憶部に記憶されているデータ領域名のうち、前記負荷グループ識別子と同じグループ識別子に対応付けられたデータ領域名を前記負荷グループ属性値として取得し、
前記波及グループ選択部は、前記処理対応記憶部に記憶されている処理識別子のうち、前記負荷グループ属性値と同じデータ領域名に対応付けられた処理識別子を負荷処理識別子として取得し、
前記波及グループ選択部は、前記波及範囲記憶部に記憶されている使用種別のうち、前記負荷処理識別子と同じ処理識別子と、前記負荷グループ属性値と同じデータ領域名と、に対応付けられた使用種別を負荷使用種別として取得し、
前記波及グループ選択部は、前記第二のグループ属性値記憶部に記憶されているグループ識別子のうち、前記負荷使用種別と同じ使用種別に対応付けられたグループ識別子を前記波及グループ識別子として選択する
ことを特徴とする請求項１から請求項９のいずれかに記載のリソース使用制御装置。
【請求項１２】
許可ユーザ数記憶部と、グループ属性値記憶部と、リソース使用量取得部と、負荷グループ選択部と、負荷グループ属性値取得部と、波及グループ選択部と、波及グループ制御部とを備えるリソース使用制御装置を用いたリソース使用制御方法であって、
前記許可ユーザ数記憶部は、リソースを使用する複数のユーザが属する複数のユーザグループのユーザグループ毎に、ユーザグループを識別するグループ識別子と、ユーザグループに属するユーザのうち前記リソースを使用することが許可されるユーザの数を示す許可ユーザ数と、を対応付けて記憶する記憶部であり、
前記グループ属性値記憶部は、前記複数のユーザグループのユーザグループ毎に、ユーザグループのグループ識別子と、ユーザグループが有する属性を示すグループ属性値と、を対応付けて記憶する記憶部であり、
前記リソース使用量取得部が、前記複数のユーザグループのユーザグループ毎に、ユーザグループによる前記リソースの使用量を取得し、
前記負荷グループ選択部が、前記複数のユーザグループのうち、前記リソース使用量取得部によって取得された前記リソースの使用量が使用量に関する制限条件を満たしているユーザグループのグループ識別子を負荷グループ識別子として選択し、
前記負荷グループ属性値取得部が、前記グループ属性値記憶部に記憶されているグループ属性値のうち、前記負荷グループ選択部によって選択された前記負荷グループ識別子と同じグループ識別子に対応付けられたグループ属性値を負荷グループ属性値として取得し、
前記波及グループ選択部が、前記グループ属性値記憶部に記憶されたグループ識別子のうち、前記負荷グループ属性値取得部によって取得された前記負荷グループ属性値と同じグループ属性値に対応付けられたグループ識別子であって前記負荷グループ識別子と異なるグループ識別子を波及グループ識別子として選択し、
前記波及グループ制御部が、前記許可ユーザ数記憶部に記憶されている許可ユーザ数のうち、前記波及グループ選択部によって選択された前記波及グループ識別子と同じグループ識別子に対応付けられた許可ユーザ数を減らす
ことを特徴とするリソース使用制御方法。
【請求項１３】
請求項１から請求項１１のいずれかに記載のリソース使用制御装置としてコンピュータを機能させるためのリソース使用制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、リソースを使用するユーザ数を制限するためのリソース使用制御装置、リソース使用制御方法およびリソース使用制御プログラムに関するものである。
【背景技術】
【０００２】
クラウドやＳａａＳ（Ｓｏｆｔｗａｒｅ  Ａｓ  Ａ  Ｓｅｒｖｉｃｅ）の実現において、一つのアプリケーションを複数の利用者に共有させる技術として、マルチテナント管理技術がある。
マルチテナント管理技術の目的の一つは、複数の利用者でシステムリソースを共有することによるＨ／Ｗ（ハードウェア）やＳ／Ｗ（ソフトウェア）のコスト削減である。
一つのアプリケーションを複数の利用者で共有する形態を実現するために考慮すべき項目として、データの管理方式がある。
【０００３】
データの管理方式は、利用者が要求する運用、性能またはコストに対する要件に応じて、例えば以下の４つに大別される。
１．表を共有する方式、２．表を分離する方式、３．スキーマを分離する方式、４．インスタンスを分離する方式。
【０００４】
マルチテナントシステムでは、複数の利用者がシステムを共有するため、多くの利用者から処理要求が寄せられる場合がある。この場合、マルチテナントシステムのリソースが枯渇し、応答性能が著しく劣化することが想定される。
また、特定の利用者からの操作要求が原因で、システム全体あるいは他の利用者の応答性能が劣化することがある。
【０００５】
特許文献１では、システムへ接続するユーザ数を制限する方式として、ユーザグループ毎に同時に接続できる接続数の上限を設ける方式が提案されている。ユーザグループの接続数の上限に達した場合、ユーザグループ内のユーザの接続を破棄して、優先度が高いユーザへの接続が許可される。
このように、従来技術においては、同時に接続する利用者の最大数が規定される。しかし、リソースを共有する利用者間の関係や、システム内で利用者情報に起因する応答性能の依存関係について、従来技術では述べられていない。
そのため、従来技術では、他の利用者に対するシステムの応答性能が利用者間の依存関係に起因して著しく劣化するような状況を回避することができない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１４８６４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、例えば、負荷が高いユーザグループに関連する波及グループによるリソースの使用を制限できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明のリソース使用制御装置は、
リソースを使用する複数のユーザが属する複数のユーザグループのユーザグループ毎に、ユーザグループを識別するグループ識別子と、ユーザグループに属するユーザのうち前記リソースを同時に使用することが許可されるユーザの数を示す許可ユーザ数と、を対応付けて記憶する許可ユーザ数記憶部と、
前記複数のユーザグループのユーザグループ毎に、ユーザグループのグループ識別子と、ユーザグループが有する属性を示すグループ属性値と、を対応付けて記憶するグループ属性値記憶部と、
前記複数のユーザグループのユーザグループ毎に、ユーザグループによる前記リソースの使用量を取得するリソース使用量取得部と、
前記複数のユーザグループのうち、前記リソース使用量取得部によって取得された前記リソースの使用量が使用量に関する制限条件を満たしているユーザグループのグループ識別子を負荷グループ識別子として選択する負荷グループ選択部と、
前記グループ属性値記憶部に記憶されているグループ属性値のうち、前記負荷グループ選択部によって選択された前記負荷グループ識別子と同じグループ識別子に対応付けられたグループ属性値を負荷グループ属性値として取得する負荷グループ属性値取得部と、
前記グループ属性値記憶部に記憶されたグループ識別子のうち、前記負荷グループ属性値取得部によって取得された前記負荷グループ属性値と同じグループ属性値に対応付けられたグループ識別子であって前記負荷グループ識別子と異なるグループ識別子を波及グループ識別子として選択する波及グループ選択部と、
前記許可ユーザ数記憶部に記憶されている許可ユーザ数のうち、前記波及グループ選択部によって選択された前記波及グループ識別子と同じグループ識別子に対応付けられた許可ユーザ数を減らす波及グループ制御部とを備える。
【発明の効果】
【０００９】
本発明によれば、例えば、負荷が高いユーザグループに関連する波及グループによるリソースの使用を制限することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１におけるデータアクセス制御装置１００の構成図である。
【図２】実施の形態１における依存情報管理テーブル１９１の一例を示す図である。
【図３】実施の形態１におけるテナント管理テーブル１９２の一例を示す図である。
【図４】実施の形態１におけるモデル情報管理テーブル１９３の一例を示す図である。
【図５】実施の形態１におけるコネクション管理テーブル１９４の一例を示す図である。
【図６】実施の形態１におけるテナント切換制御テーブル１９５の一例を示す図である。
【図７】実施の形態１における利用履歴管理テーブル１９６の一例を示す図である。
【図８】実施の形態１における蓄積データ管理テーブル１９７の一例を示す図である。
【図９】実施の形態１における波及範囲管理テーブル１０１の一例を示す図である。
【図１０】実施の形態１における挙動条件管理テーブル１０２の一例を示す図である。
【図１１】実施の形態１における蓄積条件管理テーブル１０３の一例を示す図である。
【図１２】実施の形態１におけるデータアクセス制御方法の一例を示すフローチャートである。
【図１３】実施の形態１におけるテナント挙動監視部１４０の構成図である。
【図１４】実施の形態１におけるテナント挙動監視処理を示すフローチャートである。
【図１５】実施の形態１における波及範囲最小化処理（Ｓ２６０）を示すフローチャートである。
【図１６】実施の形態１におけるテナント蓄積監視部１５０の構成図である。
【図１７】実施の形態１におけるテナント蓄積監視処理を示すフローチャートである。
【図１８】実施の形態１における波及範囲最小化処理（Ｓ３６０）を示すフローチャートである。
【図１９】実施の形態１における処理対応管理データ１０４の一例を示す図である。
【図２０】実施の形態１におけるデータアクセス制御装置１００のハードウェア資源の一例を示す図である。
【図２１】実施の形態２におけるデータアクセス制御装置１００の構成例を示す図である。
【図２２】実施の形態２におけるマルチテナントシステム１０７の構成例（１）を示す図である。
【図２３】実施の形態２におけるマルチテナントシステム１０７の構成例（２）を示す図である。
【発明を実施するための形態】
【００１１】
実施の形態１．
負荷が高い負荷テナントに関連する波及テナントによるリソースの使用を制限する形態について説明する。
テナントとは、システム（またはコンピュータ）のリソースを使用するユーザグループ（例えば、企業）のことである。
以下、テナントに属するユーザをテナントユーザといい、テナント用のデータをテナントデータという。
【００１２】
図１は、実施の形態１におけるデータアクセス制御装置１００の構成図である。
実施の形態１におけるデータアクセス制御装置１００の構成について、図１に基づいて説明する。
【００１３】
データアクセス制御装置１００（リソース使用制御装置の一例）は、テナントデータ１８１に対するアクセス制御を行うコンピュータである。
【００１４】
データアクセス制御装置１００は、インターネットまたはＬＡＮ（ローカルエリアネットワーク）などのネットワーク１０９を介して１つ以上のテナント端末１０８および１つ以上のＤＢサーバ１８０と通信する。
テナント端末１０８は、テナントデータ１８１に関するデータ処理（例えば、検索処理）を要求するコンピュータである。
ＤＢサーバ１８０は、１つ以上のテナントデータ１８１（データベース）を管理するコンピュータである。
データアクセス制御装置１００、テナント端末１０８およびＤＢサーバ１８０は、マルチテナントシステム（またはマルチユーザシステム）を構成する。
【００１５】
データアクセス制御装置１００は、アプリケーション部１１０、データアクセス制御部１２０、コネクション制御部１３０、テナント挙動監視部１４０、テナント蓄積監視部１５０、蓄積データ監視部１６０および制御装置記憶部１９０を備える。
【００１６】
アプリケーション部１１０は、テナント端末１０８から送信される処理要求を受信し、受信した処理要求に基づいて必要なテナントデータ１８１をデータアクセス制御部１２０に要求し、データアクセス制御部１２０から受け取ったテナントデータ１８１を用いてデータ処理を行う。
アプリケーション部１１０は、データアクセス制御装置１００とは別の装置（例えば、テナント端末１０８またはアプリケーションサーバ）に実装しても構わない。
【００１７】
データアクセス制御部１２０は、ＤＢサーバ１８０と通信するためのコネクション情報をコネクション制御部１３０に要求し、コネクション制御部１３０から受け取ったコネクション情報を用いてＤＢサーバ１８０とコネクションを接続する。
データアクセス制御部１２０は、アプリケーション部１１０から要求されたテナントデータ１８１をＤＢサーバ１８０から取得し、取得したテナントデータ１８１をアプリケーション部１１０に渡す。
【００１８】
コネクション制御部１３０は、ＤＢサーバ１８０と通信するためのコネクション情報をデータアクセス制御部１２０に渡す。
但し、コネクション制御部１３０は、ＤＢサーバ１８０の利用を許可するか否かを判定する。ＤＢサーバ１８０の利用を許可する場合、コネクション制御部１３０はコネクション情報をデータアクセス制御部１２０に渡し、ＤＢサーバ１８０の利用を許可しない場合、コネクション制御部１３０はコネクション情報をデータアクセス制御部１２０に渡さない。この場合、データアクセス制御部１２０はＤＢサーバ１８０からテナントデータ１８１を取得しない。
【００１９】
テナント挙動監視部１４０は、ＤＢサーバ１８０に対する負荷（データ処理の処理間隔または処理時間）が高い負荷テナントから要求されるデータ処理と、負荷テナントと関連する波及テナントから要求されるデータ処理とを制限する。
【００２０】
テナント蓄積監視部１５０は、ＤＢサーバ１８０に対する負荷（テナントデータ１８１のデータ量または増加量）が高い負荷テナントから要求されるデータ処理と、負荷テナントと関連する波及テナントから要求されるデータ処理とを制限する。
【００２１】
蓄積データ監視部１６０は、定期的にＤＢサーバ１８０からテナントデータ１８１のデータ量を取得し、取得したデータ量を後述する蓄積データ管理テーブル１９７に設定する。
【００２２】
制御装置記憶部１９０は、データアクセス制御装置１００で使用するデータを記憶する記憶部である。
例えば、制御装置記憶部１９０は、依存情報管理テーブル１９１、テナント管理テーブル１９２、モデル情報管理テーブル１９３、コネクション管理テーブル１９４、テナント切換制御テーブル１９５、利用履歴管理テーブル１９６および蓄積データ管理テーブル１９７を記憶する。
また、制御装置記憶部１９０は、波及範囲管理テーブル１０１、挙動条件管理テーブル１０２、蓄積条件管理テーブル１０３および処理対応管理データ１０４を記憶する。
各テーブルは１つ以上のレコード（行）を含んでいる。各テーブルの内容については別途説明する。
【００２３】
図２は、実施の形態１における依存情報管理テーブル１９１の一例を示す図である。
実施の形態１における依存情報管理テーブル１９１について、図２に基づいて説明する。
【００２４】
依存情報管理テーブル１９１（グループ属性値記憶部の一例）は、テナント間のテナントデータ１８１の依存関係に関する情報を設定したデータである。
依存情報管理テーブル１９１は、「テナントＩＤ」「依存情報（１）」「依存情報（２）」を対応付けている。但し、依存情報は２種類ではなく、１種類または３種類以上であっても構わない。
「テナントＩＤ」は、テナントを識別する識別子を示す。
「依存情報（１）」は、テナント間の依存関係に関する第一の情報を示す。例えば、１つ以上のテナントが入居するビル単位で、テナントデータ１８１がＤＢサーバ１８０によって管理されているものとする。この場合、依存情報（１）はテナントが入居するビルを識別する識別子を示す。
「依存情報（２）」は、テナント間の依存関係に関する第二の情報を示す。例えば、複数のテナントが共有する機器単位で、テナントデータ１８１がＤＢサーバ１８０によって管理されているものとする。この場合、依存情報（２）はテナントが他のテナントと共有する機器を識別する識別子を示す。
【００２５】
図３は、実施の形態１におけるテナント管理テーブル１９２の一例を示す図である。
実施の形態１におけるテナント管理テーブル１９２について、図３に基づいて説明する。
【００２６】
テナント管理テーブル１９２（グループ属性値記憶部の一例）は、テナントが利用できるデータ処理を管理するためのデータである。
テナント管理テーブル１９２は、「テナントＩＤ」「処理識別子」を対応付けている。
「テナントＩＤ」は、テナントを識別する識別子を示す。
「処理識別子」は、テナントが利用できるデータ処理の種類を識別する識別子を示す。
【００２７】
図４は、実施の形態１におけるモデル情報管理テーブル１９３の一例を示す図である。
実施の形態１におけるモデル情報管理テーブル１９３について、図４に基づいて説明する。
【００２８】
モデル情報管理テーブル１９３（グループ属性値記憶部の一例）は、テナントが利用するテナントデータ１８１の管理方式を示す情報（以下、モデル情報という）を設定したデータである。
モデル情報管理テーブル１９３は、「テナントＩＤ」「配置ＩＤ」「モデルタイプ」を対応付けている。
「テナントＩＤ」は、テナントを識別する識別子を示す。
「配置ＩＤ」は、後述するコネクション管理テーブル１９４のレコードを識別する識別子を示す。
「モデルタイプ」は、テナントが利用するテナントデータ１８１の管理方式を示す。
テナントデータ１８１の管理方式には、表共有、表分離、スキーマ分離、インスタンス分離、ＤＢサーバ分離などの方式（モデル）がある。
表共有は、１つ以上のテナントデータ１８１が設定されているテーブル（表）を他のテナントと共有するモデルである。
表分離は、テナント別のテーブル（表）を使用するモデルである。
スキーマ分離は、テナント別のスキーマを使用するモデルである。
インスタンス分離は、テナント別のインスタンスを使用するモデルである。
ＤＢサーバ分離は、テナント別のＤＢサーバ１８０を使用するモデルである。
【００２９】
図５は、実施の形態１におけるコネクション管理テーブル１９４の一例を示す図である。
実施の形態１におけるコネクション管理テーブル１９４について、図５に基づいて説明する。
【００３０】
コネクション管理テーブル１９４は、ＤＢサーバ１８０と通信するためのコネクション情報を管理するためのデータである。
コネクション管理テーブル１９４は、「配置ＩＤ」「モデルタイプ」「ＩＰアドレス」「ポート番号」「最大数」「ｋｅｅｐアイドル」「ユーザ名」「パスワード」「インスタンスＩＤ」を対応付けている。
「配置ＩＤ」は、コネクション管理テーブル１９４のレコードを識別する識別子を示す。
「モデルタイプ」は、テナントが利用するテナントデータ１８１の管理方式を示す。
「ＩＰアドレス」は、ＤＢサーバ１８０のＩＰアドレスを示す。
「ポート番号」は、ＤＢサーバ１８０に設けられるポートのうち使用するポートを識別する識別子を示す。
「最大数」は、ＤＢサーバ１８０が接続できるコネクションの上限の数を示す。
「ｋｅｅｐアイドル」は、ＤＢサーバ１８０が接続を維持するコネクションの数を示す。
「ユーザ名」は、ＤＢサーバ１８０に定義されたユーザ名を示す。
「パスワード」は、ＤＢサーバ１８０を利用するためのパスワードを示す。
「インスタンスＩＤ」は、ＤＢサーバ１８０が有するインスタンスのうち使用するインスタンスを識別する識別子を示す。但し、インスタンスＩＤは、データ格納先（例えば、スキーマ）を識別する識別子に置き換えても構わない。
【００３１】
図６は、実施の形態１におけるテナント切換制御テーブル１９５の一例を示す図である。
実施の形態１におけるテナント切換制御テーブル１９５について、図６に基づいて説明する。
【００３２】
テナント切換制御テーブル１９５は、ＤＢサーバ１８０と接続できるコネクションの数を管理するためのデータである。
テナント切換制御テーブル１９５は、「テナントＩＤ」「処理識別子」「接続残数」を対応付けている。
「テナントＩＤ」は、テナントを識別する識別子を示す。
「処理識別子」は、データ処理の種類を識別する識別子を示す。
「接続残数」は、ＤＢサーバ１８０と接続できるコネクションの数を示す。
【００３３】
図７は、実施の形態１における利用履歴管理テーブル１９６の一例を示す図である。
実施の形態１における利用履歴管理テーブル１９６について、図７に基づいて説明する。
【００３４】
利用履歴管理テーブル１９６は、実行したデータ処理の履歴を管理するためのデータである。
利用履歴管理テーブル１９６は、「テナントＩＤ」「処理識別子」「貸出時刻」「返却時刻」を対応付けている。
「テナントＩＤ」は、データ処理を要求したテナントを識別する識別子を示す。
「処理識別子」は、要求されたデータ処理の種類を識別する識別子を示す。
「貸出時刻」は、データ処理が開始された時刻（および日付）を示す。
「返却時刻」は、データ処理が終了した時刻（および日付）を示す。
【００３５】
図８は、実施の形態１における蓄積データ管理テーブル１９７の一例を示す図である。
実施の形態１における蓄積データ管理テーブル１９７について、図８に基づいて説明する。
【００３６】
蓄積データ管理テーブル１９７は、ＤＢサーバ１８０に記憶されているテナントデータ１８１（レコード）の数を管理するためのデータである。
蓄積データ管理テーブル１９７は、「時刻」「テナントＩＤ」「データ領域」「レコード数」を対応付けている。
「時刻」は、レコード数を設定した時刻（および日付）を示す。
「テナントＩＤ」は、テナントを識別する識別子を示す。
「データ領域」は、テナントデータ１８１が設定されるデータ領域（例えば、テーブル）を識別する識別子（例えば、データ領域名またはテーブル名）を示す。
「レコード数」は、データ領域に含まれるレコードの数を示す。
【００３７】
蓄積データ監視部１６０は、定期的（所定の蓄積データ監視時間が経過する毎）にＤＢサーバ１８０と通信を行い、ＤＢサーバ１８０から各データ領域に含まれるレコードの数をテナントＩＤとテーブル名と共に取得する。
そして、蓄積データ監視部１６０は、取得したテナントＩＤとテーブル名（データ領域）とレコード数とを設定したレコードを生成し、生成したレコードを蓄積データ管理テーブル１９７に追加する。
【００３８】
図９は、実施の形態１における波及範囲管理テーブル１０１の一例を示す図である。
実施の形態１における波及範囲管理テーブル１０１について、図９に基づいて説明する。
【００３９】
波及範囲管理テーブル１０１は、データ処理に対する応答性能の影響が生じるテナント（以下、波及範囲という）を特定するための情報が設定されるデータである。
波及範囲管理テーブル１０１は、「ＩＤ」「処理識別子」「データ領域」「波及範囲」を対応付けている。また、「波及範囲」は「波及種別」「波及対象」を含んでいる。
「ＩＤ」は、波及範囲管理テーブル１０１のレコードを識別する識別子を示す。
「処理識別子」は、データ処理の種類を識別する識別子を示す。
「データ領域」は、テナントデータ１８１が設定されるデータ領域（例えば、テーブル）を識別する識別子（例えば、データ領域名またはテーブル名）を示す。
「波及種別」は、「波及対象」の種類（依存情報またはモデルタイプ）を示す。
「波及対象」は、波及範囲を特定する情報を示す。
【００４０】
図１０は、実施の形態１における挙動条件管理テーブル１０２の一例を示す図である。
実施の形態１における挙動条件管理テーブル１０２について、図１０に基づいて説明する。
【００４１】
挙動条件管理テーブル１０２は、データ処理の処理量に関する条件（以下、挙動条件という）を設定したデータである。
挙動条件管理テーブル１０２は、「ＩＤ」「対象テナント」「処理識別子」「挙動条件」を対応付けている。また、「挙動条件」は「条件種別」「条件値」を含んでいる。
「ＩＤ」は、挙動条件管理テーブル１０２のレコードを識別する識別子を示す。
「対象テナント」は、テナントを識別する識別子を示す。
「処理識別子」は、データ処理の種類を識別する識別子を示す。
「条件種別」は、「条件値」の種類（処理間隔、処理時間など）を示す。
「条件値」は、挙動条件の条件値を示す。
【００４２】
図１１は、実施の形態１における蓄積条件管理テーブル１０３の一例を示す図である。
実施の形態１における蓄積条件管理テーブル１０３について、図１１に基づいて説明する。
【００４３】
蓄積条件管理テーブル１０３（グループ属性値記憶部の一例）は、テナントデータ１８１のデータ量に関する条件（以下、蓄積条件という）を設定したデータである。
蓄積条件管理テーブル１０３は、「ＩＤ」「対象テナント」「データ領域」「蓄積条件」を対応付けている。また、「蓄積条件」は「条件種別」「条件値」を含んでいる。
「ＩＤ」は、蓄積条件管理テーブル１０３のレコードを識別する識別子を示す。
「対象テナント」は、テナントを識別する識別子を示す。
「条件種別」は、「条件値」の種類（レコード数、増加数など）を示す。
「条件値」は、蓄積条件の条件値を示す。
【００４４】
図１２は、実施の形態１におけるデータアクセス制御方法の一例を示すフローチャートである。
実施の形態１におけるデータアクセス制御方法について、図１２に基づいて説明する。
【００４５】
Ｓ１１０において、テナントユーザは、テナント端末１０８を操作し、テナント端末１０８とデータアクセス制御装置１００との通信を開始する。
テナントユーザは、テナントデータ１８１に関するデータ処理を指定する処理情報をテナント端末１０８に入力する。例えば、テナントデータ１８１を検索する検索処理またはテナントデータ１８１のデータ値を集計する集計処理はデータ処理の一例である。
テナント端末１０８は、テナントユーザから入力された処理情報に基づいて処理要求を生成し、生成した処理要求をデータアクセス制御装置１００に送信する。
処理要求は、テナントユーザが属するテナントを識別する「テナントＩＤ」、指定されたデータ処理を識別する「処理識別子」、データ処理の対象であるテナントデータ１８１を指定する「対象データ情報」などを含んだデータである。
データアクセス制御装置１００のアプリケーション部１１０は、テナント端末１０８から送信された処理要求を受信する。
Ｓ１１０の後、処理はＳ１２０に進む。
【００４６】
Ｓ１２０において、アプリケーション部１１０は、処理要求に含まれる対象データ情報によって指定されるテナントデータ１８１を要求するデータ要求を生成し、生成したデータ要求をデータアクセス制御部１２０に渡す。
データ要求は、処理要求に含まれるテナントＩＤと処理識別子と対象データ情報とを含んだデータである。
データアクセス制御部１２０は、アプリケーション部１１０からデータ要求を受け取る。
Ｓ１２０の後、処理はＳ１３０に進む。
【００４７】
Ｓ１３０において、データアクセス制御部１２０は、ＤＢサーバ１８０と通信するためのコネクション情報を要求するコネクション要求を生成し、生成したコネクション要求をコネクション制御部１３０に渡す。
コネクション要求は、データ要求に含まれるテナントＩＤと処理識別子とを含んだデータである。
コネクション制御部１３０は、データアクセス制御部１２０からコネクション要求を受け取る。
Ｓ１３０の後、処理はＳ１４０に進む。
【００４８】
Ｓ１４０において、コネクション制御部１３０は、テナント切換制御テーブル１９５（図６参照）に含まれる接続残数のうち、コネクション要求に含まれるテナントＩＤと処理識別子と同じテナントＩＤと処理識別子とに対応付けられた接続残数を取得する。
コネクション制御部１３０は、取得した接続残数に基づいて、コネクションの空きがあるか否かを判定する。接続残数がゼロ（または残数閾値未満の値）である場合、コネクションの空きが無く、それ以外の場合、コネクションの空きが有る。
コネクションの空きが有ると判定した場合（ＹＥＳ）、処理はＳ１５０に進む。
コネクションの空きが無いと判定した場合（ＮＯ）、処理はＳ１４１に進む。
【００４９】
Ｓ１４１において、コネクション制御部１３０は、所定のコネクション待ち時間が経過するのを待つ。Ｓ１４１の後、処理はＳ１４０に戻る。
コネクション待ち時間中に、コネクション制御部１３０、テナント挙動監視部１４０またはテナント蓄積監視部１５０によって接続残数が増加された場合、Ｓ１４０でコネクションの空きが有ると判定され、処理はＳ１５０に進むことになる。
つまり、接続残数が増加されるまで、Ｓ１４０およびＳ１４１が繰り返される。
但し、アプリケーション部１１０が、接続残数の増加を待たずに、データ処理できなかったことを通知するエラーメッセージをテナント端末１０８に応答してもよい。この場合、データアクセス制御方法の処理は終了する。
【００５０】
Ｓ１５０において、コネクション制御部１３０は、モデル情報管理テーブル１９３（図４参照）に含まれる配置ＩＤのうち、コネクション要求に含まれるテナントＩＤと同じテナントＩＤに対応付けられた配置ＩＤを取得する。
コネクション制御部１３０は、取得した配置ＩＤが設定されているレコードをコネクション管理テーブル１９４から取得し、取得したレコードをコネクション情報としてデータアクセス制御部１２０に渡す。
データアクセス制御部１２０は、コネクション制御部１３０からコネクション情報を受け取る。
【００５１】
また、コネクション制御部１３０は、テナント切換制御テーブル１９５（図６参照）に含まれる接続残数のうち、コネクション要求に含まれるテナントＩＤと処理識別子と同じテナントＩＤと処理識別子とに対応付けられた接続残数から接続数「１」を差し引いて接続残数を更新する。
Ｓ１５０の後、処理はＳ１６０に進む。
【００５２】
Ｓ１６０において、データアクセス制御部１２０は、コネクション情報（ＤＢサーバ１８０のＩＰアドレスおよびポート番号など）を用いて、ＤＢサーバ１８０と通信するためのコネクションを接続する。
Ｓ１６０の後、処理はＳ１６１に進む。
【００５３】
Ｓ１６１において、データアクセス制御部１２０は、データ要求に含まれる対象データ情報によって指定されるテナントデータ１８１をＤＢサーバ１８０から取得し、取得したテナントデータ１８１をアプリケーション部１１０に渡す。
アプリケーション部１１０は、データアクセス制御部１２０からテナントデータ１８１を受け取る。
Ｓ１６１の後、処理はＳ１７０に進む。
【００５４】
Ｓ１７０において、アプリケーション部１１０は、データアクセス制御部１２０から受け取ったテナントデータ１８１を用いて、処理要求に含まれる処理識別子によって識別されるデータ処理を実行する。
Ｓ１７０の後、処理はＳ１７１に進む。
【００５５】
Ｓ１７１において、アプリケーション部１１０は、データ処理の処理結果を含んだデータを処理応答として生成し、生成した処理応答をテナント端末１０８に送信する。
テナント端末１０８は、処理応答を受信し、受信した処理応答に含まれる処理結果をディスプレイに表示する。
【００５６】
また、アプリケーション部１１０はデータ処理の終了をデータアクセス制御部１２０に通知し、データアクセス制御部１２０はＳ１６０で接続したコネクションを切断する。
そして、データアクセス制御部１２０はコネクションの切断をコネクション制御部１３０に通知し、コネクション制御部１３０はＳ１５０で接続数「１」を差し引いた接続残数に接続数「１」を加えて接続残数を更新する。
Ｓ１７１の後、データアクセス制御方法の処理は終了する。
【００５７】
次に、ＤＢサーバ１８０に対する負荷が高い負荷テナントから要求されるデータ処理と、負荷テナントと関連する波及テナントから要求されるデータ処理とを制限するために、テナント切換制御テーブル１９５に設定されている接続残数を調整するテナント挙動監視部１４０およびテナント蓄積監視部１５０について説明する。
【００５８】
図１３は、実施の形態１におけるテナント挙動監視部１４０の構成図である。
実施の形態１におけるテナント挙動監視部１４０の構成について、図１３に基づいて説明する。
【００５９】
テナント挙動監視部１４０は、負荷テナント選択部１４１（負荷グループ選択部、負荷グループ属性値取得部の一例）と、負荷量取得部１４２（リソース使用量取得部の一例）と、接続残数最小化部１４３（波及グループ制御部の一例）と、波及テナント選択部１４４（波及グループ選択部の一例）とを備える。
負荷テナント選択部１４１は、複数のテナントのうち、負荷量取得部１４２によって取得されるテナントの負荷量が挙動条件管理テーブル１０２に設定されている挙動条件を満たすテナント（負荷テナント）を選択する。
負荷量取得部１４２は、利用履歴管理テーブル１９６に基づいて、テナント毎にＤＢサーバ１８０に対するテナントの負荷量（データ処理の処理間隔または処理時間）を取得する。
接続残数最小化部１４３は、テナント切換制御テーブル１９５に設定されている接続残数のうち、負荷テナント選択部１４１によって選択される負荷テナントの接続残数と、波及テナント選択部１４４によって選択される波及テナントの接続残数とを最小化する。
波及テナント選択部１４４は、波及範囲管理テーブル１０１に基づいて、負荷テナント選択部１４１によって選択される負荷テナントと関連する波及テナントを選択する。
【００６０】
図１４は、実施の形態１におけるテナント挙動監視処理を示すフローチャートである。
テナント挙動監視部１４０（図１３参照）が実行するテナント挙動監視処理について、図１４に基づいて説明する。
テナント挙動監視部１４０は、定期的（所定の挙動監視間隔の時間が経過する毎）または管理者がデータアクセス制御装置１００にテナント挙動監視処理を指示したときに、図１４に示すテナント挙動監視処理を実行する。
但し、テナント挙動監視部１４０は、その他のタイミング（例えば、テナント端末１０８から要求されたデータ処理を実行するタイミング）でテナント挙動監視処理を実行しても構わない。
【００６１】
Ｓ２１０において、負荷テナント選択部１４１は、テナント管理テーブル１９２（図３参照）から未選択のレコードを一つ選択する。
Ｓ２１０の後、処理はＳ２１１に進む。
【００６２】
Ｓ２１１において、負荷テナント選択部１４１は、Ｓ２１０で選択したレコードからテナントＩＤと処理識別子とを取得する。
Ｓ２１１の後、処理はＳ２２０に進む。
【００６３】
Ｓ２２０において、負荷テナント選択部１４１は、Ｓ２１１で取得したテナントＩＤと処理識別子と同じテナントＩＤと処理識別子とが設定されているレコードが挙動条件管理テーブル１０２（図１０参照）に有るか否かを判定する。
但し、１つ以上のテナントから成るグループテナントを識別するグループテナントＩＤを挙動条件管理テーブル１０２に定義しても構わない。また、１つ以上のテナントＩＤとグループテナントＩＤとを対応付けたグループテナントテーブルを設けても構わない。この場合、負荷テナント選択部１４１は、グループテナントテーブルに基づいて、Ｓ２１１で取得したテナントＩＤと同じテナントＩＤに対応付けられたグループテナントＩＤと、Ｓ２１１で取得した処理識別子と同じ処理識別子と、が設定されているレコードが挙動条件管理テーブル１０２に有るか否かを判定する。
該当するレコードが有る場合（ＹＥＳ）、処理はＳ２２１に進む。
該当するレコードが無い場合（ＮＯ）、処理はＳ２７０に進む。
【００６４】
Ｓ２２１において、負荷テナント選択部１４１は、Ｓ２２０で該当したレコードから挙動条件を取得する。挙動条件には、条件種別と条件値とが含まれる（図１０参照）。
Ｓ２２１の後、処理はＳ２３０に進む。
【００６５】
Ｓ２３０において、負荷量取得部１４２は、利用履歴管理テーブル１９６（図７参照）のレコードのうち、Ｓ２１１で取得したテナントＩＤと処理識別子と同じテナントＩＤと処理識別子とを含んだレコードを取得する。
負荷量取得部１４２は、取得したレコードを用いて、挙動条件に含まれる条件種別に応じた負荷量（データ処理の処理間隔または処理時間）を取得する。
例えば、負荷量取得部１４２は、以下のように負荷量を取得する。
【００６６】
挙動条件に含まれる条件種別が「処理間隔」である場合、負荷量取得部１４２は、取得したレコードのうち貸出時刻が最も新しい時刻である最新のレコードと、貸出時刻が２番目に新しい時刻である２番目のレコードとを選択する。
負荷量取得部１４２は、最新のレコードに設定されている貸出時刻と２番目のレコードに設定されている貸出時刻との時刻差を負荷量として算出する。この負荷量は、データ処理の処理間隔（時間）を示す。
但し、負荷量取得部１４２は、最新のレコードまたは２番目のレコード以外のレコードを用いて負荷量を算出しても構わない。
例えば、負荷量取得部１４２は、貸出時刻が新しい順にレコードを選択し、選択したレコード毎に選択したレコードと選択したレコードの一つ前のレコードとの貸出時刻の時刻差を算出する。そして、負荷量取得部１４２は、貸出時刻の時刻差の平均値を負荷量として算出する。
【００６７】
挙動条件に含まれる条件種別が「処理時間」である場合、負荷量取得部１４２は、取得したレコードのうち貸出時刻が最も新しい時刻である最新のレコードを選択する。
負荷量取得部１４２は、最新のレコードに設定されている貸出時刻と返却時刻との時刻差を負荷量として算出する。この負荷量は、データ処理に要した処理時間を示す。
但し、負荷量取得部１４２は、最新のレコード以外のレコードを用いて負荷量を算出しても構わない。
例えば、負荷量取得部１４２は、貸出時刻が新しい順にレコードを選択し、選択したレコード毎に選択したレコードに設定されている貸出時刻と返却時刻との時刻差を算出する。そして、負荷量取得部１４２は、貸出時刻と返却時刻との時刻差の平均値を負荷量として算出する。
また、負荷量取得部１４２は、貸出時刻と返却時刻との時刻差の合計値を負荷量として算出しても構わない。
Ｓ２３０の後、処理はＳ２４０に進む。
【００６８】
Ｓ２４０において、負荷テナント選択部１４１は、挙動条件に含まれる条件値と、Ｓ２３０で取得した負荷量とを比較し、負荷量が挙動条件を満たすか否かを判定する。
【００６９】
例えば、挙動条件に含まれる条件種別が「処理間隔」である場合、負荷テナント選択部１４１は以下のように判定する。
負荷量が条件値以下である短い時間を示す場合、負荷量は挙動条件を満たす。
負荷量が条件値より長い時間を示す場合、負荷量は挙動条件を満たさない。
【００７０】
また、挙動条件に含まれる条件種別が「処理時間」である場合、負荷テナント選択部１４１は以下のように判定する。
負荷量が条件値以上である長い時間を示す場合、負荷量は挙動条件を満たす。
負荷量が条件値より短い時間を示す場合、負荷量は挙動条件を満たさない。
【００７１】
負荷量が挙動条件を満たす場合（ＹＥＳ）、処理はＳ２５０に進む。
負荷量が挙動条件を満たさない場合（ＮＯ）、処理はＳ２７０に進む。
【００７２】
Ｓ２５０において、接続残数最小化部１４３は、テナント切換制御テーブル１９５（図６参照）に含まれるレコードのうち、Ｓ２１１で取得したテナントＩＤ（負荷テナントのテナントＩＤ）と処理識別子と同じテナントＩＤと処理識別子とが設定されているレコードを選択する。
そして、接続残数最小化部１４３は、選択したレコードに設定されている接続残数を最小化する。
例えば、接続残数最小化部１４３は、接続残数を接続最小値（例えば、ゼロ）に更新する。接続最小値は予め定められて記憶されるものとする。接続最小値はゼロ以外の値（例えば、１以上の値）でも構わない。また、接続最小値はテナントＩＤ毎、処理識別子毎またはテナントＩＤと処理識別子との組み合わせ毎に定められても構わない。
Ｓ２５０の後、処理はＳ２６０に進む。
【００７３】
Ｓ２６０において、波及テナント選択部１４４は波及範囲管理テーブル１０１に基づいて負荷テナントに関連する波及テナントのテナントＩＤと処理識別子とを選択し、接続残数最小化部１４３は波及テナントのテナントＩＤと処理識別子とに対応付けられた接続残数を最小化する。
波及範囲最小化処理（Ｓ２６０）の詳細について別途説明する。
Ｓ２６０の後、処理はＳ２７０に進む。
【００７４】
Ｓ２７０において、負荷テナント選択部１４１は、テナント管理テーブル１９２に含まれるレコードのうち、Ｓ２１０で選択していない未選択のレコードが有るか否かを判定する。
未選択のレコードが有る場合（ＹＥＳ）、処理はＳ２１０に戻る。
未選択のレコードが無い場合（ＮＯ）、テナント挙動監視処理は終了する。
【００７５】
テナント挙動監視部１４０は、テナント挙動監視処理が終了してから所定の接続制限時間が経過したときに、Ｓ２５０またはＳ２６０で最小化した接続残数を回復させてもよい。例えば、テナント挙動監視部１４０は、最小化した接続残数を接続残数の初期値に回復、または最小化したときに減らした数だけ増やした接続残数に回復する。
また、テナント挙動監視部１４０は、定期的（接続制限時間が経過する毎）に、Ｓ２４０と同様に負荷量が挙動条件を満たすか否かを判定してもよい。負荷量が挙動条件を満たさないと判定した場合、テナント挙動監視部１４０は、Ｓ２５０またはＳ２６０で最小化した接続残数を回復させる。
接続残数を最小化したレコード、最小化する前の接続残数、接続残数の初期値など、接続残数の回復に必要な情報は接続残数を最小化したときに記憶しておくものとする。
【００７６】
図１５は、実施の形態１における波及範囲最小化処理（Ｓ２６０）を示すフローチャートである。
実施の形態１における波及範囲最小化処理（Ｓ２６０）について、図１５に基づいて説明する。
【００７７】
Ｓ２６１において、波及テナント選択部１４４は、波及範囲管理テーブル１０１（図９参照）に含まれるレコードのうち、Ｓ２１１（図１４参照）で取得した処理識別子と同じ処理識別子が設定されているレコードを選択する。
Ｓ２６１の後、処理はＳ２６２に進む。
【００７８】
Ｓ２６２において、波及テナント選択部１４４は、Ｓ２６１で選択したレコードに設定されている波及種別を参照する。
波及種別が「モデルタイプ」である場合、処理はＳ２６３に進む。
波及種別が「依存情報（１）」または「依存情報（２）」である場合、処理はＳ２６５に進む。
【００７９】
Ｓ２６３において、波及テナント選択部１４４は、モデル情報管理テーブル１９３（図４参照）に含まれるレコードのうち、Ｓ２６１で選択したレコードに設定されている波及対象（例えば、表共有）と同じモデルタイプが設定されているレコードを選択する。
波及テナント選択部１４４は、選択したレコード毎にレコードに設定されているテナントＩＤを波及テナントのテナントＩＤとして取得する。
Ｓ２６３の後、処理はＳ２６４に進む。
【００８０】
Ｓ２６４において、接続残数最小化部１４３は、Ｓ２６３で取得した波及テナントのテナントＩＤ毎に、テナント切換制御テーブル１９５（図６参照）に含まれるレコードのうち、波及テナントのテナントＩＤと同じテナントＩＤと、Ｓ２１１（図１４参照）で取得した処理識別子と同じ処理識別子と、が設定されているレコードを選択する。
そして、接続残数最小化部１４３は、選択したレコード毎にレコードに設定されている接続残数を最小化する（図１４のＳ２５０と同様）。
Ｓ２６４の後、波及範囲最小化処理（Ｓ２６０）は終了する。
【００８１】
Ｓ２６５において、波及テナント選択部１４４は、依存情報管理テーブル１９１（図２参照）に含まれるレコードのうち、Ｓ２６１で選択したレコードに設定されている波及対象と同じ依存情報（１）または依存情報（２）が設定されているレコードを選択する。
波及テナント選択部１４４は、選択したレコード毎にレコードに設定されているテナントＩＤを波及テナントのテナントＩＤとして取得する。
Ｓ２６５の後、処理はＳ２６６に進む。
【００８２】
Ｓ２６６において、接続残数最小化部１４３は、Ｓ２６５で取得した波及テナントのテナントＩＤ毎に、テナント切換制御テーブル１９５（図６参照）に含まれるレコードのうち、波及テナントのテナントＩＤと同じテナントＩＤと、Ｓ２１１（図１４参照）で取得した処理識別子と同じ処理識別子と、が設定されているレコードを選択する。
そして、接続残数最小化部１４３は、選択したレコード毎にレコードに設定されている接続残数を最小化する（図１４のＳ２５０と同様）。
Ｓ２６６の後、波及範囲最小化処理（Ｓ２６０）は終了する。
【００８３】
図１６は、実施の形態１におけるテナント蓄積監視部１５０の構成図である。
実施の形態１におけるテナント蓄積監視部１５０の構成について、図１６に基づいて説明する。
【００８４】
テナント蓄積監視部１５０は、負荷テナント選択部１５１（負荷グループ選択部、負荷グループ属性値取得部の一例）と、負荷量取得部１５２（リソース使用量取得部の一例）と、接続残数最小化部１５３（波及グループ制御部の一例）と、波及テナント選択部１５４（波及グループ選択部の一例）とを備える。
負荷テナント選択部１５１は、複数のテナントのうち、負荷量取得部１５２によって取得されるテナントの負荷量が蓄積条件管理テーブル１０３に設定されている蓄積条件を満たすテナント（負荷テナント）を選択する。
負荷量取得部１５２は、蓄積データ管理テーブル１９７に基づいて、テナント毎にＤＢサーバ１８０に対するテナントの負荷量（データ量またはデータの増加量）を取得する。
接続残数最小化部１５３は、テナント切換制御テーブル１９５に設定されている接続残数のうち、負荷テナント選択部１５１によって選択される負荷テナントの接続残数と、波及テナント選択部１５４によって選択される波及テナントの接続残数とを最小化する。
波及テナント選択部１５４は、波及範囲管理テーブル１０１に基づいて、負荷テナント選択部１５１によって選択される負荷テナントと関連する波及テナントを選択する。
【００８５】
図１７は、実施の形態１におけるテナント蓄積監視処理を示すフローチャートである。
テナント蓄積監視部１５０が実行するテナント蓄積監視処理について、図１７に基づいて説明する。
【００８６】
Ｓ３１０において、負荷テナント選択部１５１は、テナント管理テーブル１９２（図３参照）から未選択のレコードの一つを選択する。
Ｓ３１０の後、処理はＳ３１１に進む。
【００８７】
Ｓ３１１において、負荷テナント選択部１５１は、Ｓ３１０で選択したレコードからテナントＩＤと処理識別子とを取得する。
Ｓ３１１の後、処理はＳ３２０に進む。
【００８８】
Ｓ３２０において、負荷テナント選択部１５１は、Ｓ３１１で取得したテナントＩＤと同じテナントＩＤが設定されているレコードが蓄積条件管理テーブル１０３（図１１参照）に有るか否かを判定する。
該当するレコードが有る場合（ＹＥＳ）、処理はＳ３２１に進む。
該当するレコードが無い場合（ＮＯ）、処理はＳ３７０に進む。
【００８９】
Ｓ３２１において、負荷テナント選択部１５１は、Ｓ３２０で該当したレコードからデータ領域と蓄積条件とを取得する。蓄積条件には、条件種別と条件値とが含まれる（図１１参照）。
Ｓ３２１の後、処理はＳ３３０に進む。
【００９０】
Ｓ３３０において、負荷量取得部１５２は、蓄積データ管理テーブル１９７（図８参照）のレコードのうち、Ｓ３１１で取得したテナントＩＤと同じテナントＩＤと、Ｓ３２１で取得したデータ領域と同じデータ領域と、が設定されているレコードを取得する。
負荷量取得部１５２は、取得したレコードを用いて、蓄積条件に含まれる条件種別に応じた負荷量（テナントデータ１８１のレコード数またはレコードの増加数）を取得する。
例えば、負荷量取得部１５２は、以下のように負荷量を取得する。
【００９１】
蓄積条件に含まれる条件種別が「レコード数」である場合、負荷量取得部１５２は、取得したレコードのうち最も新しい時刻が設定されている最新のレコードを選択し、選択した最新のレコードに設定されているレコード数を負荷量として取得する。
但し、負荷量取得部１５２は、最新のレコード以外のレコードを用いて負荷量を取得しても構わない。
【００９２】
蓄積条件に含まれる条件種別が「増加数」である場合、負荷量取得部１５２は、取得したレコードのうち最も新しい時刻が設定されている最新のレコードと、２番目に新しい時刻が設定されている２番目のレコードとを選択する。
負荷量取得部１５２は、最新のレコードに設定されているレコード数と２番目のレコードに設定されているレコード数との差と、最新のレコードに設定されている時刻と２番目のレコードに設定されている時刻との時刻差とを算出する。
負荷量取得部１５２は、レコード数の差と時刻差とを用いて、単位時間（例えば、１日）当たりのレコードの増加数を負荷量として算出する。
但し、負荷量取得部１５２は、最新レコードまたは２番目のレコード以外のレコードを用いて負荷量を算出しても構わない。
Ｓ３３０の後、処理はＳ３４０に進む。
【００９３】
Ｓ３４０において、負荷テナント選択部１５１は、蓄積条件に含まれる条件値と、Ｓ３３０で取得した負荷量とを比較し、負荷量が蓄積条件を満たすか否かを判定する。
【００９４】
例えば、蓄積条件に含まれる条件種別が「レコード数」である場合、負荷テナント選択部１５１は以下のように判定する。
負荷量が条件値以上のレコード数である場合、負荷量は蓄積条件を満たす。
負荷量が条件値より少ないレコード数である場合、負荷量は蓄積条件を満たさない。
【００９５】
また、蓄積条件に含まれる条件種別が「増加数」である場合、負荷テナント選択部１５１は以下のように判定する。
負荷量が条件値以上の増加数である場合、負荷量は蓄積条件を満たす。
負荷量が条件値より少ない増加数である場合、負荷量は蓄積条件を満たさない。
【００９６】
負荷量が蓄積条件を満たす場合（ＹＥＳ）、処理はＳ３５０に進む。
負荷量が蓄積条件を満たさない場合（ＮＯ）、処理はＳ３７０に進む。
【００９７】
Ｓ３５０において、接続残数最小化部１５３は、テナント切換制御テーブル１９５（図６参照）に含まれるレコードのうち、Ｓ３１１で取得したテナントＩＤ（負荷テナントのテナントＩＤ）と処理識別子と同じテナントＩＤと処理識別子とが設定されているレコードを選択する。
そして、接続残数最小化部１５３は、選択したレコードに設定されている接続残数を最小化する（図１４のＳ２５０と同様）。
Ｓ３５０の後、処理はＳ３６０に進む。
【００９８】
Ｓ３６０において、波及テナント選択部１５４は波及範囲管理テーブル１０１に基づいて負荷テナントに関連する波及テナントのテナントＩＤと処理識別子とを選択し、接続残数最小化部１５３は波及テナントのテナントＩＤと処理識別子とに対応付けられた接続残数を最小化する。
波及範囲最小化処理（Ｓ３６０）の詳細について別途説明する。
Ｓ３６０の後、処理はＳ３７０に進む。
【００９９】
Ｓ３７０において、負荷テナント選択部１５１は、テナント管理テーブル１９２に含まれるレコードのうち、Ｓ３１０で選択していない未選択のレコードが有るか否かを判定する。
未選択のレコードが有る場合（ＹＥＳ）、処理はＳ３１０に戻る。
未選択のレコードが無い場合（ＮＯ）、テナント蓄積監視処理は終了する。
【０１００】
テナント蓄積監視部１５０は、テナント蓄積監視処理が終了してから所定の接続制限時間が経過したときに、Ｓ３５０またはＳ３６０で最小化した接続残数を回復させてもよい。例えば、テナント蓄積監視部１５０は、最小化した接続残数を接続残数の初期値に回復、または最小化したときに減らした数だけ増やした接続残数に回復する。
また、テナント蓄積監視部１５０は、定期的（接続制限時間が経過する毎）に、Ｓ３４０と同様に負荷量が蓄積条件を満たすか否かを判定してもよい。負荷量が蓄積条件を満たさないと判定した場合、テナント蓄積監視部１５０は、Ｓ３５０またはＳ３６０で最小化した接続残数を回復させる。
接続残数を最小化したレコード、最小化する前の接続残数、接続残数の初期値など、接続残数の回復に必要な情報は接続残数を最小化したときに記憶しておくものとする。
【０１０１】
図１８は、実施の形態１における波及範囲最小化処理（Ｓ３６０）を示すフローチャートである。
実施の形態１における波及範囲最小化処理（Ｓ３６０）について、図１８に基づいて説明する。
【０１０２】
Ｓ３６１ａにおいて、波及テナント選択部１５４は、処理対応管理データ１０４に含まれる処理識別子のうち、Ｓ３２１で取得したデータ領域と同じデータ領域に対応付けられた処理識別子を取得する。
【０１０３】
図１９は、実施の形態１における処理対応管理データ１０４の一例を示す図である。
図１９に示すように、処理対応管理データ１０４は、先頭行に記される処理識別子とｆｒｏｍ句に設定されるデータ領域とを含んだ１つ以上のＳＱＬ文を含んでいる。
処理対応管理データ１０４は、アプリケーション部１１０がデータ処理を実行する際に使用するデータであって、処理識別子とデータ領域とを対応付けたデータである。
【０１０４】
Ｓ３６１ａ（図１８参照）の後、処理はＳ３６１ｂに進む。
【０１０５】
Ｓ３６１ｂにおいて、波及テナント選択部１５４は、波及範囲管理テーブル１０１（図９参照）に含まれるレコードのうち、Ｓ３２１で取得したデータ領域と同じデータ領域と、Ｓ３６１ａで取得した処理識別子と同じ処理識別子とが設定されているレコードを選択する。
Ｓ３６１ｂの後、処理はＳ３６２に進む。
【０１０６】
Ｓ３６２において、波及テナント選択部１５４は、Ｓ３６２で選択したレコードに設定されている波及種別を参照する。
波及種別が「モデルタイプ」である場合、処理はＳ３６３に進む。
波及種別が「依存情報（１）」または「依存情報（２）」である場合、処理はＳ３６５に進む。
【０１０７】
Ｓ３６３において、波及テナント選択部１５４は、モデル情報管理テーブル１９３（図４参照）に含まれるレコードのうち、Ｓ３６１ｂで選択したレコードに設定されている波及対象（例えば、表共有）と同じモデルタイプが設定されているレコードを選択する。
波及テナント選択部１５４は、選択したレコード毎にレコードに設定されているテナントＩＤを波及テナントのテナントＩＤとして取得する。
Ｓ３６３の後、処理はＳ３６４に進む。
【０１０８】
Ｓ３６４において、接続残数最小化部１５３は、Ｓ３６３で取得した波及テナントのテナントＩＤ毎に、テナント切換制御テーブル１９５（図６参照）に含まれるレコードのうち、波及テナントのテナントＩＤと同じテナントＩＤと、Ｓ３６１ａで取得した処理識別子と同じ処理識別子とが設定されているレコードを選択する。
そして、接続残数最小化部１５３は、選択したレコード毎にレコードに設定されている接続残数を最小化する（図１４のＳ２５０と同様）。
Ｓ３６４の後、波及範囲最小化処理（Ｓ３６０）は終了する。
【０１０９】
Ｓ３６５において、波及テナント選択部１５４は、依存情報管理テーブル１９１（図２参照）に含まれるレコードのうち、Ｓ３６１ｂで選択したレコードに設定されている波及対象と同じ依存情報（１）または依存情報（２）が設定されているレコードを選択する。
波及テナント選択部１５４は、選択したレコード毎にレコードに設定されているテナントＩＤを波及テナントのテナントＩＤとして取得する。
Ｓ３６５の後、処理はＳ３６６に進む。
【０１１０】
Ｓ３６６において、接続残数最小化部１５３は、Ｓ３６５で取得した波及テナントのテナントＩＤ毎に、テナント切換制御テーブル１９５（図６参照）に含まれるレコードのうち、波及テナントのテナントＩＤと同じテナントＩＤと、Ｓ３６１ａで取得した処理識別子と同じ処理識別子とが設定されているレコードを選択する。
そして、接続残数最小化部１５３は、選択したレコード毎にレコードに設定されている接続残数を最小化する（図１４のＳ２５０と同様）。
Ｓ３６６の後、波及範囲最小化処理（Ｓ３６０）は終了する。
【０１１１】
図２０は、実施の形態１におけるデータアクセス制御装置１００のハードウェア資源の一例を示す図である。
図２０において、データアクセス制御装置１００（コンピュータの一例）は、ＣＰＵ９０１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。ＣＰＵ９０１は、バス９０２を介してＲＯＭ９０３、ＲＡＭ９０４、通信ボード９０５（通信装置）、ディスプレイ９１１（表示装置）、キーボード９１２、マウス９１３、ドライブ９１４、磁気ディスク装置９２０などのハードウェアデバイスと接続され、これらのハードウェアデバイスを制御する。ドライブ９１４は、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などの記憶媒体を読み書きする装置である。
ＲＯＭ９０３、ＲＡＭ９０４、磁気ディスク装置９２０およびドライブ９１４は記憶装置の一例である。キーボード９１２、マウス９１３および通信ボード９０５は入力装置の一例である。ディスプレイ９１１および通信ボード９０５は出力装置の一例である。
【０１１２】
通信ボード９０５は、有線または無線で、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット、電話回線などの通信網に接続している。
【０１１３】
磁気ディスク装置９２０には、ＯＳ９２１（オペレーティングシステム）、プログラム群９２２、ファイル群９２３が記憶されている。
【０１１４】
プログラム群９２２には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラム（例えば、リソース使用制御プログラム）は、ＣＰＵ９０１により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
【０１１５】
ファイル群９２３には、実施の形態において説明する「〜部」で使用される各種データ（入力、出力、判定結果、計算結果、処理結果など）が含まれる。
【０１１６】
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
フローチャートなどに基づいて説明する実施の形態の処理はＣＰＵ９０１、記憶装置、入力装置、出力装置などのハードウェアを用いて実行される。
【０１１７】
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
【０１１８】
実施の形態１において、ＤＢサーバ１８０のデータ領域はシステムリソース（コンピュータリソースともいう）の一例である。その他のシステムリソースとして、ＣＰＵ、メモリ、入出力機器、通信機器またはネットワークなどが挙げられる。
【０１１９】
実施の形態１は、例えば、以下のような効果を奏する。
データの管理方式（表共有、表分離、スキーマ分離、インスタンス分離など）を用いてシステムリソースを共有するマルチテナント管理技術において、利用者ごとにアプリケーションを利用する権利を制御する。
特定の企業（テナント）が短時間に不必要な対象の処理要求を発行してきた場合であっても、当該企業からの要求を最小限に縮小する。これにより、マルチテナントシステムのシステムリソースが枯渇し、他の企業へ割り当てるシステムリソースが不足することによって、システム全体の応答性能が劣化する事態を回避できる。
特定の企業からの処理要求が不必要に長時間の処理時間を要し、マルチテナントシステムのシステムリソースが枯渇し、他の企業へ割り当てるシステムリソースが不足することによって、システム全体の応答性能が劣化する事態を回避できる。
特定の企業が不必要に蓄積したデータが原因で不必要に長時間の処理時間を要し、マルチテナントシステムのシステムリソースが枯渇し、他の企業へ割り当てるシステムリソースが不足することによって、システム全体の応答性能が劣化する事態を回避ができる。
また、波及企業による高負荷な処理への処理要求を最小化することで、システム全体への影響範囲を最小限にとどめることができる。
【０１２０】
実施の形態１において、例えば、以下のようなリソース使用制御装置（１００）について説明した。括弧内に対応する構成の符号または名称などを記す。
前記リソース使用制御装置は、許可ユーザ数記憶部（１９５）と、グループ属性値記憶部（１９１，１９２，１９３，１０３）と、リソース使用量取得部（１４２，１５２）と、負荷グループ選択部（１４１，１５１）と、負荷グループ属性値取得部（１４１，１５１）と、波及グループ選択部（１４４，１５４）と、波及グループ制御部（１４３，１５３）とを備える。
前記許可ユーザ数記憶部は、リソースを使用する複数のユーザ（テナントユーザ）が属する複数のユーザグループ（テナント）のユーザグループ毎に、ユーザグループを識別するグループ識別子（テナントＩＤ）と、ユーザグループに属するユーザのうち前記リソースを同時に使用することが許可されるユーザの数を示す許可ユーザ数（コネクションの接続数）と、を対応付けて記憶する。
前記グループ属性値記憶部は、前記複数のユーザグループのユーザグループ毎に、ユーザグループのグループ識別子と、ユーザグループが有する属性を示すグループ属性値（処理識別子、モデルタイプ、依存情報、データ領域）と、を対応付けて記憶する。
前記リソース使用量取得部は、前記複数のユーザグループのユーザグループ毎に、ユーザグループによる前記リソースの使用量（負荷量）を取得する。
前記負荷グループ選択部は、前記複数のユーザグループのうち、前記リソース使用量取得部によって取得された前記リソースの使用量が使用量に関する制限条件（挙動条件、蓄積条件）を満たしているユーザグループのグループ識別子を負荷グループ識別子として選択する。
前記負荷グループ属性値取得部は、前記グループ属性値記憶部に記憶されているグループ属性値のうち、前記負荷グループ選択部によって選択された前記負荷グループ識別子と同じグループ識別子に対応付けられたグループ属性値を負荷グループ属性値として取得する。
前記波及グループ選択部は、前記グループ属性値記憶部に記憶されたグループ識別子のうち、前記負荷グループ属性値取得部によって取得された前記負荷グループ属性値と同じグループ属性値に対応付けられたグループ識別子であって前記負荷グループ識別子と異なるグループ識別子を波及グループ識別子として選択する。
前記波及グループ制御部は、前記許可ユーザ数記憶部に記憶されている許可ユーザ数のうち、前記波及グループ選択部によって選択された前記波及グループ識別子と同じグループ識別子に対応付けられた許可ユーザ数を減らす。
【０１２１】
前記リソース使用制御装置は、前記許可ユーザ数記憶部に記憶されている許可ユーザ数のうち、前記負荷グループ識別子と同じグループ識別子に対応付けられた許可ユーザ数を減らす負荷グループ制御部（１４３，１５３）を備える。
【０１２２】
前記リソース使用制御装置は、使用要求受信部（１１０）と、使用許可判定部（１３０）とを備える。
前記使用要求受信部は、前記複数のユーザのうち前記リソースの使用を要求する要求ユーザが使用するユーザ端末（１０８）から、前記要求ユーザが属するユーザグループを識別する要求グループ識別子を含んだ使用要求（処理要求）を受信する。
前記使用許可判定部は、前記ユーザ許可数記憶部に記憶されるユーザ許可数のうち、前記使用要求受信部によって受信された前記使用要求に含まれる要求グループ識別子と同じグループ識別子に対応付けられたユーザ許可数に基づいて、前記要求ユーザによる前記リソースの使用を許可するか否かを判定する。
【０１２３】
前記リソース使用制御装置は、前記複数のユーザグループのユーザグループ毎に、ユーザグループに属するユーザが前記リソースを使用した複数の使用時刻（貸出時刻、返却時刻）を記憶する履歴情報記憶部（１９６）を備える。
前記リソース使用量取得部は、前記履歴情報記憶部に記憶された前記複数の使用時刻に基づいて、前記複数のユーザグループのユーザグループ毎に、ユーザグループの前記リソースの使用量（処理間隔、処理時間）を算出する。
【０１２４】
前記リソース使用量取得部は、前記履歴情報記憶部に記憶された前記複数の使用時刻に基づいて、前記複数のユーザグループのユーザグループ毎に、ユーザグループが前記リソースを使用した時間間隔（処理間隔）を前記リソースの使用量として算出する。
前記負荷グループ選択部は、前記複数のユーザグループのうち、前記リソースの使用量が前記制限条件である時間間隔より短い時間間隔であるユーザグループのグループ識別子を前記負荷グループ識別子として選択する。
【０１２５】
前記リソース使用量取得部は、前記履歴情報記憶部に記憶された前記複数の使用時刻に基づいて、前記複数のユーザグループのユーザグループ毎に、ユーザグループが前記リソースを使用した使用時間（処理時間）を前記リソースの使用量として算出する。
前記負荷グループ選択部は、前記複数のユーザグループのうち、前記リソースの使用量が前記制限条件である使用時間より長い使用時間であるユーザグループのグループ識別子を前記負荷グループ識別子として選択する。
【０１２６】
前記リソース使用制御装置は、前記複数のユーザグループのユーザグループ毎に、ユーザグループ用のデータ量（レコード数）を記憶するデータ量記憶部（１９７）を備える。
前記リソース使用量取得部は、前記データ量記憶部に記憶されたデータ量に基づいて、前記複数のユーザグループのユーザグループ毎に、ユーザグループの前記リソースの使用量（データ量、増加量）を算出する。
【０１２７】
前記リソース使用量取得部は、前記複数のユーザグループのユーザグループ毎に、前記データ量記憶部に記憶されたデータ量のうち、ユーザグループのデータ量を前記リソースの使用量として取得する。
前記負荷グループ選択部は、前記複数のユーザグループのうち、前記リソースの使用量が前記制限条件であるデータ量より多いデータ量であるユーザグループのグループ識別子を前記負荷グループ識別子として選択する。
【０１２８】
前記データ量記憶部は、ユーザグループ毎の時刻別のデータ量を記憶する。
前記リソース使用量取得部は、前記データ量記憶部に記憶されたユーザグループ毎の時刻別のデータ量に基づいて、前記複数のユーザグループのユーザグループ毎に、ユーザグループ用のデータの増加量を前記リソースの使用量として算出する。
前記負荷グループ選択部は、前記複数のユーザグループのうち、前記リソースの使用量が前記制限条件である増加量より多い増加量であるユーザグループのグループ識別子を前記負荷グループ識別子として選択する。
【０１２９】
前記リソース使用制御装置は、前記グループ属性値記憶部として、第一のグループ属性値記憶部（１９２）と第二のグループ属性値記憶部（１９３）とを備える。
前記第一のグループ属性値記憶部は、前記複数のユーザグループのユーザグループ毎に、ユーザグループのグループ識別子に対応付けて、ユーザグループ用のデータ処理を識別する処理識別子を前記グループ属性値として記憶する。
前記第二のグループ属性値記憶部は、前記複数のユーザグループのユーザグループ毎に、ユーザグループのグループ識別子に対応付けて、ユーザグループが使用する前記リソースの使用種別（モデルタイプ）を前記グループ属性値として記憶する。
前記リソース使用制御装置は、複数の処理識別子に含まれる処理識別子と複数の使用種別（波及種別）に含まれる使用種別とを対応付けて記憶する波及範囲記憶部（１０１）を備える。
前記負荷グループ属性値取得部は、前記第一のグループ属性値記憶部に記憶されている処理識別子のうち、前記負荷グループ識別子と同じグループ識別子に対応付けられた処理識別子を前記負荷グループ属性値として取得する。
前記波及グループ選択部は、前記波及範囲記憶部に記憶されている使用種別のうち前記負荷グループ属性値と同じ処理識別子に対応付けられた使用種別を負荷使用種別として取得する。
前記波及グループ選択部は、前記第二のグループ属性値記憶部に記憶されているグループ識別子のうち前記負荷使用種別と同じ使用種別に対応付けられたグループ識別子を前記波及グループ識別子として選択する。
【０１３０】
前記リソース使用制御装置は、前記グループ属性値記憶部として、第一のグループ属性値記憶部（１０３）と第二のグループ属性値記憶部（１９１）とを備える。
前記第一のグループ属性値記憶部は、前記複数のユーザグループのユーザグループ毎に、ユーザグループのグループ識別子に対応付けて、ユーザグループが使用するデータ領域を識別するデータ領域名を前記グループ属性値として記憶する。
前記第二のグループ属性値記憶部は、前記複数のユーザグループのユーザグループ毎に、ユーザグループのグループ識別子に対応付けて、ユーザグループが使用する前記リソースの使用種別（依存情報）を前記グループ属性値として記憶する。
前記リソース使用制御装置は、波及範囲記憶部（１０１）と、処理対応記憶部（１０４）とを備える。
前記波及範囲記憶部は、複数の処理識別子に含まれる処理識別子と複数のデータ領域名に含まれるデータ領域名と複数の使用種別（波及種別）に含まれる使用種別とを対応付けて記憶する。
前記処理対応記憶部は、複数の処理識別子に含まれる処理識別子と複数のデータ領域名に含まれるデータ領域名とを対応付けて記憶する。
前記負荷グループ属性値取得部は、前記第一のグループ属性値記憶部に記憶されているデータ領域名のうち、前記負荷グループ識別子と同じグループ識別子に対応付けられたデータ領域名を前記負荷グループ属性値として取得する。
前記波及グループ選択部は、前記処理対応記憶部に記憶されている処理識別子のうち、前記負荷グループ属性値と同じデータ領域名に対応付けられた処理識別子を負荷処理識別子として取得する。
前記波及グループ選択部は、前記波及範囲記憶部に記憶されている使用種別のうち、前記負荷処理識別子と同じ処理識別子と、前記負荷グループ属性値と同じデータ領域名と、に対応付けられた使用種別を負荷使用種別として取得する。
前記波及グループ選択部は、前記第二のグループ属性値記憶部に記憶されているグループ識別子のうち、前記負荷使用種別と同じ使用種別に対応付けられたグループ識別子を前記波及グループ識別子として選択する。
【０１３１】
実施の形態２．
マルチテナントシステムの構成例について説明する。
【０１３２】
図２１は、実施の形態２におけるデータアクセス制御装置１００の構成例を示す図である。
図２１に示すように、データアクセス制御装置１００は、複数のアプリケーション部１１０Ａ・１１０Ｂを備えてもよい。
【０１３３】
図２２は、実施の形態２におけるマルチテナントシステム１０７の構成例（１）を示す図である。
図２２に示すように、マルチテナントシステム１０７は、アプリケーション部１１０として機能するアプリケーション装置１０６を備えてもよい。
アプリケーション装置１０６は、データアクセス制御装置１００の代わりにアプリケーション部１１０を備える。
【０１３４】
図２３は、実施の形態２におけるマルチテナントシステム１０７の構成例（２）を示す図である。
図２３に示すように、マルチテナントシステム１０７は、アプリケーション部１１０Ａ・１１０Ｂとして機能する複数のアプリケーション装置１０６Ａ・１０６Ｂを備えてもよい。
各アプリケーション装置１０６Ａ・１０６Ｂは、データアクセス制御装置１００の代わりにアプリケーション部１１０Ａ・１１０Ｂを備える。
【０１３５】
図２１または図２３に示すように、複数のアプリケーション部１１０Ａ・１１０Ｂを設ける場合、アプリケーション部毎に異なる処理識別子を用いることにより、アプリケーション部１１０Ａ・１１０Ｂを区別することができる。
例えば、アプリケーション部１１０Ａは「ｊ０００１」から「ｊ０１００」までの処理識別子を用い、アプリケーション部１１０Ｂは「ｊ０１０１」から「ｊ０２００」までの処理識別子を用いる。
【符号の説明】
【０１３６】
１００  データアクセス制御装置、１０１  波及範囲管理テーブル、１０２  挙動条件管理テーブル、１０３  蓄積条件管理テーブル、１０４  処理対応管理データ、１０６  アプリケーション装置、１０７  マルチテナントシステム、１０８  テナント端末、１０９  ネットワーク、１１０  アプリケーション部、１２０  データアクセス制御部、１３０  コネクション制御部、１４０  テナント挙動監視部、１４１  負荷テナント選択部、１４２  負荷量取得部、１４３  接続残数最小化部、１４４  波及テナント選択部、１５０  テナント蓄積監視部、１５１  負荷テナント選択部、１５２  負荷量取得部、１５３  接続残数最小化部、１５４  波及テナント選択部、１６０  蓄積データ監視部、１８０  ＤＢサーバ、１８１  テナントデータ、１９０  制御装置記憶部、１９１  依存情報管理テーブル、１９２  テナント管理テーブル、１９３  モデル情報管理テーブル、１９４  コネクション管理テーブル、１９５  テナント切換制御テーブル、１９６  利用履歴管理テーブル、１９７  蓄積データ管理テーブル、９０１  ＣＰＵ、９０２  バス、９０３  ＲＯＭ、９０４  ＲＡＭ、９０５  通信ボード、９１１  ディスプレイ、９１２  キーボード、９１３  マウス、９１４  ドライブ、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  プログラム群、９２３  ファイル群。
【図１】
2014121074.tif 000003
【図２】
2014121074.tif 000004
【図３】
2014121074.tif 000005
【図４】
2014121074.tif 000006
【図５】
2014121074.tif 000007
【図６】
2014121074.tif 000008
【図７】
2014121074.tif 000009
【図８】
2014121074.tif 000010
【図９】
2014121074.tif 000011
【図１０】
2014121074.tif 000012
【図１１】
2014121074.tif 000013
【図１２】
2014121074.tif 000014
【図１３】
2014121074.tif 000015
【図１４】
2014121074.tif 000016
【図１５】
2014121074.tif 000017
【図１６】
2014121074.tif 000018
【図１７】
2014121074.tif 000019
【図１８】
2014121074.tif 000020
【図１９】
2014121074.tif 000021
【図２０】
2014121074.tif 000022
【図２１】
2014121074.tif 000023
【図２２】
2014121074.tif 000024
【図２３】
2014121074.tif 000025