JP2009176097A - サービス管理装置及びプログラム - Google Patents

サービス管理装置及びプログラム Download PDF

Info

Publication number
JP2009176097A
JP2009176097A JP2008014725A JP2008014725A JP2009176097A JP 2009176097 A JP2009176097 A JP 2009176097A JP 2008014725 A JP2008014725 A JP 2008014725A JP 2008014725 A JP2008014725 A JP 2008014725A JP 2009176097 A JP2009176097 A JP 2009176097A
Authority
JP
Japan
Prior art keywords
service
resource
user
information
service execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008014725A
Other languages
English (en)
Inventor
Hitoshi Kaede
仁志 楓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008014725A priority Critical patent/JP2009176097A/ja
Publication of JP2009176097A publication Critical patent/JP2009176097A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】複数の仮想テナントを構築したマルチテナントサービス提供システムにおいて、複数の仮想テナント間のリソース割当ての管理を公平に行う。
【解決手段】サービスの完了期限が決められている運用処理を行っている仮想テナント18に割当てられているリソースが不足している場合に、サービス運用管理サーバ2の運用処理管理部15が、ユーザごとにサービス実行時にリソースの制限が実施された制限実施時間を示す情報と、ユーザごとに仮想テナントによるサービスの契約期間を示す情報とに基づき、リソース制限の対象となる仮想テナントを選択し、選択した仮想テナントに割当てられているリソースを運用処理を行っている仮想テナントに割当てるとともに、リソースの制限が実施された制限実施時間を計測し、次回のリソース制限対象の仮想テナントの選択時に、計測した制限実施時間を利用する。
【選択図】図1

Description

本発明は、データ処理を伴うサービスをユーザに対して提供する際のリソース割当てを管理する技術に関し、例えば、仮想化技術を活用して実現される仮想テナントによりサービスを提供する際のリソース割当てを管理する技術に関する。
リソースとは、データ処理を伴うサービスを実現するために必要な計算機リソースであり、例えば、CPU(Central Processing Unit)、メモリ等のハードウェアリソースが含まれる。
仮想化技術活用によりサービスサーバ上に構築した複数の仮想マシンにサービスソフトウェアを導入した仮想テナントを構築し、単一サービスサーバにて複数の仮想テナントにより複数の顧客にサービスを提供するマルチテナント環境がある。
このマルチテナント環境において、計算機リソースの上限に達し、ジョブの同時実行数に制約があるときに、優先度の高いユーザが利用する仮想テナントが処理実行を実施期間内に完了させるために、優先度の低いユーザが利用する仮想テナントから計算機リソースを剥奪し、優先度の高いユーザが利用する仮想テナントに計算機リソースを追加することで処理を実施させることが考えられる。
このとき、優先度が低い処理が複数存在するときに、公平に処理の実行権を管理する技術として文献1がある。
特開2001−249819号公報
特許文献1では、同時実行数の上限値が設定されている環境において、優先度の高い処理が発生した場合には、実行中の他処理のうち制限される時間を超えて実行されている処理から実行権を剥奪し、優先度の高い処理に実行権を付与する。また、実行権が剥奪された処理に対して通常時の2倍の実行時間を与えることにより、次回の実行権剥奪対象の選定時に優遇することで優先度が低い処理が複数存在するときに、公平に処理の実行権を管理することを可能としている。
ただし特許文献1の場合、実行権が剥奪された処理に2倍の実行時間を与えるためには、実行権の剥奪対象の処理の実行時間を適切に予測できることが必要であるが、サービス提供環境の場合、ユーザから要求される対話的処理の実行に必要な時間を適切に予測することは不可能である。
また、実行権を剥奪された処理に対して一時的に実行時間もしくはリソース割当て優先度による優遇処置を与えた場合であったとしても、詳細にユーザのサービス利用タイミングを予測することは困難であり、ユーザのサービス利用タイミングとなる適切な時点で実行権が剥奪されたサービスに対して優先度優遇処理が適応されず、サービス利用期間内において、安定したサービス供給を実施出来ないという課題がある。
本発明は、上記のような課題を解決することを主な目的の一つとしており、ユーザのサービス契約期間、リソース割当てが制限された時間等に基づき、複数のサービス間のリソース割当ての管理を公平に行うことを主な目的の一つとする。
本発明に係るサービス管理装置は、
各々がユーザに対してデータ処理を伴うサービスを実行する複数のサービス実行手段を管理するサービス管理装置であって、
サービス実行手段ごとにサービスの実行先となるユーザを示すユーザサービス情報を管理するユーザサービス情報管理部と、
ユーザごとに優先順位を示す優先順位情報を管理する優先順位情報管理部と、
対応するサービス実行手段へのリソース割当てが制限されたリソース制限時間の実績値をユーザごとに示すリソース制限時間情報を管理するリソース制限時間情報管理部と、
特定の条件に合致する特定サービス実行手段がサービスを実行している際に、前記ユーザサービス情報に示されるユーザとサービス実行手段との対応付け及び前記優先順位情報に示される優先順位に基づいて、前記特定サービス実行手段よりも優先順位が低いサービス実行手段を1つ以上抽出し、前記ユーザサービス情報に示されるユーザとサービス実行手段との対応付け及び前記リソース制限時間情報に示されるリソース制限時間に基づいて、抽出したサービス実行手段の中から1つ以上のサービス実行手段をリソース制限対象サービス実行手段として選択する制限対象選択部と、
前記制限対象選択部により選択されたリソース制限対象サービス実行手段に割当てられているリソースの少なくとも一部を前記特定サービス実行手段に割当てるリソース管理部とを有することを特徴とする。
本発明によれば、リソース制限時間の実績値に基づいてリソース制限対象サービス実行手段を選択するため、サービス提供時の通常の処理実施時間を的確に予測することが困難な場合であっても、リソース制限におけるサービス実行手段間の公平を図りつつ、特定サービス実行手段にサービスの提供のために必要なリソースを安定的に割当てることが可能となる。
実施の形態1.
本実施の形態では、リソースを共有する仮想テナントのサービス利用期間と利用期間内におけるリソース制限履歴情報に基づくリソース割付け優先度変更を判定することで、リソース割当ての公平を図るマルチテナントサービス提供技術を説明する。
図1は、本実施の形態に係るマルチテナント環境でのサービスリソース管理方式の機能要素を示す機能構成図である。
図1において、マルチテナントサービス提供システム1は、ネットワークを介してソフトウェア20の機能をユーザ端末4にサービスとして提供するシステムである。
サービスサーバ3は、仮想化技術を施すことにより1つのサーバ機に1つまたは複数の仮想テナント18を構築したサーバである。
仮想テナント18は、ルータ21を介して接続された1つまたは複数のユーザ端末4に提供するソフトウェア20の機能を処理する仮想実行装置である。
仮想テナント18が提供するサービスには、ソフトウェア20によるデータ処理が含まれる。
また、仮想テナント18は、サービス実行手段の例である。
なお、サービスサーバ3に含まれる仮想テナント18は、ユーザ端末4からの要求に
応じてサービスを提供する対話型サービス等の非時限サービス(サービス完了期限が
定められていないサービス)と、サービス完了期限が定められている時限サービスを
実行する時限サービス(時限サービス実行手段)とを実行することが可能である。
図1では、時限サービス仮想テナントのみが示されているが、非時限サービス仮想テナントもサービスサーバに含まれている。
また、以下では、時限サービスを運用処理ともいう。
各仮想テナント18は特定のユーザと対応付けられており、原則として、ユーザは自己に対応付けられている仮想テナント18のみからサービスの提供を受ける。
サービス運用管理サーバ2は、1つまたは複数のサービスサーバ3および1つまたは複数の仮想テナント18に対する運用処理、パラメータ設定を行うサーバである。
つまり、サービス運用管理サーバ2は、サービス実行手段たる複数の仮想テナントを管理するサービス管理装置の例に相当する。
なお、図1及び以降の説明では、サービスサーバ1〜サービスサーバmの複数のサービスサーバが存在する場合を例にして説明するが、必ずしも複数のサービスサーバが存在していなくてもよく、マルチテナントサービス提供システム1に含まれるサービスサーバが1つであってもよい。
マルチテナントサービス提供システム1は、従来パッケージソフトウェアとしてスタンドアロン形式で動作するソフトウェア20を低コストかつ迅速にサービス化することを目的とするシステムである。
サービス運用管理サーバ2は、サービス契約情報7に示される契約内容に基づきリソース管理部12による仮想テナント18へのリソース割付け設定、運用処理管理部15による運用処理の実施管理、テナント管理部8によるサービスサーバ3と仮想テナント18とユーザ端末4の一元管理を行う。
また、サービス運用管理サーバ2の各要素を管理者端末5から一元的に操作することも可能である。
サービス運用管理サーバ2において、契約管理部6は、仮想テナント18の運営者と仮想テナント18を利用するユーザとの間で結ばれたサービスの実行品質レベル等が示される情報をサービス契約情報7として管理する。
詳細は後述するが、サービス契約情報7は例えば図6に示す情報である。
図6に示す実行品質レベル58の値は、ユーザ間におけるサービス実行時のリソース割当ての優先順位を表す値として機能する。
この意味で、サービス契約情報7は優先順位情報の例であり、契約管理部6は優先順位情報管理部の例である。
リソース管理部12は、リソース設定情報22とリソース割付け情報13とリソース制限履歴情報14とを管理し、仮想テナント18へのリソース割付け値の変更を命令する。
リソース設定情報22は、実行品質とリソース割付け値の対応関係を示す。
詳細は後述するが、リソース設定情報22は、例えば図10に示す情報であり、実行品質に対して、CPUやメモリといったリソースの割付け値が示され、また、優先度が示される。
また、リソース割付け情報13は、例えば図2に示す情報であり、サービス契約情報7から取得したサービス実行品質に基づくサービスサーバ3上で稼動する仮想テナント18へのリソース割付け設定値を格納した情報である。
リソース制限履歴情報14は、例えば図3に示す情報であり、ユーザごとに仮想テナント18に対するリソースの割当てが制限された制限実施時間、リソース制限が実施された実施時刻、リソースの制限の原因となったユーザのIDである優先ユーザID等が示される。
つまり、リソース制限履歴情報14は、契約管理部6に格納されるサービス実行品質の下位実行品質を結ぶユーザが利用する仮想テナント18へ実施したリソース割付けの制限実施時間37や実施時刻39など実施履歴情報を記録する。
リソース制限履歴情報14の制限実施時間37の項目に示される値は、仮想テナント18へのリソース割当が制限された時間(リソース制限時間)の実績値である。
なお、リソース制限履歴情報14はリソース制限時間情報の例であり、リソース管理部12はリソース制限時間情報管理部の例である。
また、リソース管理部12は、後述する運用処理管理部15によりリソースの制限対象となるリソース制限対象仮想テナントが選択された場合に、リソース制限対象仮想テナントに割当てられているリソースの少なくとも一部を運用処理を実行中の時限サービス仮想テナントに割当てる。
また、リソース管理部12は、リソースを割当てた時限サービス仮想テナントが運用処理を完了した際に、当該割当てたリソースをリソース制限対象仮想テナントに返却する。
また、リソース管理部12は、運用処理を実行中の時限サービス仮想テナントにリソース制限対象仮想テナントのリソースの少なくとも一部を割当てた時点から、運用処理を実行中であった時限サービス仮想テナントが運用処理を完了しリソース制限対象仮想テナントにリソースを返却した時点までをリソース制限対象仮想テナントの制限実施時間として計測し、計測した制限実施時間をリソース制限対象仮想テナントのユーザに対応付けてリソース制限履歴情報14に追加する。
テナント管理部8は、サービスサーバ情報9とユーザ情報10とテナント情報11を管理する。
詳細は後述するが、サービスサーバ情報9は、例えば図9に示す情報であり、ユーザ端末4がルータ21を介して接続する仮想テナント18を特定するために必要なIPアドレス84とポート番号85などのサービスサーバ3上に構築された仮想テナント18の設定情報を格納する。
換言すると、サービスサーバ情報9は、仮想テナント18ごとにサービスの実行先となるユーザを示す。サービスサーバ情報9は、ユーザサービス情報の例である。
また、ユーザ情報10は、例えば図7に示す情報であり、マルチテナントサービス提供システム1を利用するユーザの会社法人等番号64などの識別情報、仮想テナント18の運営者とユーザとの間で締結された契約期間等が示される。
ユーザ情報10は、契約期間情報の例である。
テナント情報11は、例えば図8に示す情報であり、ユーザのサービス利用状況74などを示す。
なお、テナント管理部8は、ユーザサービス情報たるサービスサーバ情報、契約期間情報たるユーザ情報を管理しており、ユーザサービス情報管理部及び契約期間情報管理部の例である。
運用処理管理部15は、契約管理部6から取得したサービス契約情報に格納される契約情報に基づく運用処理の実施に必要な実行品質43や予定開始時刻45や予定実施時間46や実施コマンド48などの情報を格納した運用処理情報16とすでに定義されている処理スケジュールを元に運用処理の実施を仮想テナントに命令する手段を有する。
運用処理情報16は、例えば図4に示す情報である。
図4において、実行品質43の値は、サービス契約情報7の実行品質58の値に一致している。
運用処理情報16には、運用処理(時限サービス)に関する情報のみが記述されており、運用処理情報16の実行品質43の項目も運用処理に対する実行品質の値のみが示されている。
一方、サービス契約情報7の実行品質58では、運用処理に限らず、全サービスの実行品質の値が示されている。
運用処理情報16に示される実行品質43も、ユーザ間におけるリソース割当の優先順位を示す値であり、運用処理情報16は優先順位情報の例である。
なお、後述するように、本実施の形態では、運用処理については、運用処理情報16の実行品質43の値に基づき図10に示すリソース設定情報22を検索して、優先度90の値を参照することとしている。
また、以降の説明と異なり、リソース設定情報22の優先度90の値を参照することなく、実行品質43の値を直接利用して、リソース制限の優先・非優先を決定してもよい。
運用処理管理部15は、時限サービス仮想テナント18が運用処理(時限サービス)の実行を開始した後、運用処理の完了が予測される時刻までに運用処理の実行が完了していない場合に、サービスサーバ情報9に示されるユーザと仮想テナント18との対応付け及び運用処理情報16、サービス契約情報7から導出される実行品質(優先順位)に基づいて、当該運用処理を実行している時限サービス仮想テナント18よりも実行品質が低い仮想テナントを1つ以上抽出し、サービスサーバ情報9に示されるユーザと仮想テナントとの対応付け、リソース制限履歴情報14に示される制限実施時間、ユーザ情報10に示される契約期間に基づき、抽出した仮想テナントの中から1つ以上の仮想テナントをリソース制限実施対象仮想テナント(リソース制限対象サービス実行手段)として選択する。
リソース制限実施対象仮想テナントの選択は、例えば、運用処理管理部15は、ユーザごとに、リソース制限履歴情報14に示される制限実施時間をユーザ情報に示される契約期間で除算し、除算値にユーザごとに設定されている係数を乗算し、乗算値が小さい順にn(n≧1)人のユーザを選択し、サービスサーバ情報9に示されるユーザと仮想テナントとの対応付けに基づき、選択したユーザに対応する仮想テナントをリソース制限実施対象仮想テナントとして選択する。
リソース制限実施対象仮想テナントの選択後は、前述のように、リソース管理部12が、リソース制限実施対象仮想テナントに割当てられているリソースの少なくとも一部を運用処理を実行中の時限サービス仮想テナント18に割当てる。
更に、運用処理管理部15は、所定の条件下で、仮想テナントのサービスの実行を中止させるとともに、サービスの実行を中止させたユーザについて運用処理情報16にサービスの中止回数を書き込む。
具体的には、運用処理情報16の未実施回数42の項目に、サービスの中止回数の値が書き込まれる。
運用処理情報16は、サービス中止回数情報の例でもある。
また、運用処理管理部15は、運用処理情報16に示される未実施回数と所定の閾値とを比較し、閾値以上の未実施回数が示されているユーザについては、サービス契約情報7の実行品質(優先順位)を一時的に上昇させる。
なお、図4において、予定開始時刻45とは、運用処理の実行を開始する予定時刻であり、予定実施時間46とは、運用処理の実行に予定されている時間であり、可能終了時刻47とは、運用処理の実行が完了していなければならない時刻である。
また、実施コマンド48とは、実行する運用処理の内容を示すコマンドであり、運用処理管理部15から運用処理エージェント19に通知される。
このように、運用処理管理部15は、優先順位情報管理部、制限対象選択部、サービス中止部、サービス中止回数情報管理部の例として機能する。
接続受付部30は、ユーザ端末4からの接続による利用開始時に仮想テナントへのリソース割付けをリソース管理部12に命令する。
図2は、リソース割付け情報13の一例である。
リソース割付け情報13は、ユーザID31を識別子としてCPU利用優先度を示すCPU−Weight32とCPU利用上限値を示すCPU−Cap33とメモリ利用上限値を示すメモリ割付値34を有するレコードの集まりとして定義される。
ユーザが利用する仮想テナント18が動作するサービスサーバ3を変更する場合には、リソース割付け情報13に示される値を変更先のサービスサーバ3上の管理テナント17を介して設定することで複数のサービスサーバ3にて構成されるマルチテナントサービス提供システム1を構築した場合において、仮想テナントの配置変更を可能とする。
リソース割付け情報13は、ファイルやデータベースといった形で外部記憶装置に格納され、実行時にリソース管理部12が読み込んでもよい。
図3は、リソース制限履歴情報14の一例である。
管理ID35を識別子としてユーザID36とリソース割付けの制限実施時間37とリソース割付け制限実施時点にてユーザが利用する仮想テナント18が稼動するサービスサーバ3の識別子を示すサーバID38と実施するリソース割付け制限の実施時刻39とリソース割付け値制限を実施する元として優先されたユーザの識別子を示す優先ユーザID40を有するレコードの集まりとして定義されるものである。
リソース制限履歴情報14は、ファイルやデータベースといった形で外部記憶装置に格納され、実行時にリソース管理部12が読み込んでもよい。
図3において、制限実施時間37は、ユーザID36の欄に示されるユーザが利用する仮想テナント18に対するリソースの割当てが制限された時間の実績値である。また、実施時刻は、制限実施時間の開始時刻である。また、優先ユーザID40は、リソースの制限の原因となったユーザのIDである。
図4は、運用処理情報16の一例である。
ユーザID41を識別子とし、未実施回数42と、運用処理実行時の実施完了品質を示す実行品質43と実行する運用処理の種別を示す実行種別44と運用処理の実行開始時刻を示す予定開始時刻45と予め見積もられた運用処理の実行に必要な時間を示す予定実施時間46と運用処理実施のデッドラインを示す可能終了時刻47と実行する運用処理の内容を示す実施コマンド48を有するレコードの集まりとして定義される。
運用処理情報16は、ファイルやデータベースといった形で外部記憶装置に格納され、実行時に運用処理管理部15が読み込んでもよい。
実行品質43が下位品質の場合に運用処理実施時のリソース割当てが不足したために処理実行を破棄した回数を管理する未実施回数42を設けることにより、未実施回数が予め設定された閾値以上となった場合、一時的に実行品質43を上位品質に昇格させることで有限期間内に運用処理の実施を完了させることができる。
図5は、運用処理管理部15が運用処理実施履歴を記録する運用処理実施履歴テーブルの一例である。
運用処理実施履歴テーブルは、処理を識別する識別子50、ユーザID51と開始時刻52と運用処理実施結果を示す実施結果53と運用処理実施完了時刻を記録する終了時刻54を有するレコードの集まりとして定義されるものである。
運用処理実施履歴テーブルは、ファイルやデータベースといった形で外部記憶装置に格納され、実行時に運用処理管理部15が読み込んでもよい。
図6は、サービス契約情報7の一例である。
サービス契約情報7は、ユーザID55を識別子とし、実行品質を設定する機能の種別を示す契約種別56と契約種別56内の分類を示す実行種別57とサービスレベルを示す実行品質58を有するレコードの集まりとして定義される。
接続受付部30がユーザ端末4からの利用要求を受け付けたときにユーザID55をキーとして契約管理部6から取得された実行品質58の値に基づくリソース割付け値が仮想テナント18に設定される。
図7は、ユーザ情報10の一例である。
ユーザ情報10は、ユーザID61を識別子とし、利用継続期間を示す契約期間62を有するレコードの集まりとして定義されるものである。
ユーザ識別情報として契約者名63と現実世界においてユーザを一意に示す会社法人等番号64を含むことにより、単一契約による複数ユーザ提供を行う場合に、ユーザの利用状況を契約者ごとに管理することができる。
ユーザ情報10は、ファイルやデータベースといった形で外部記憶装置に格納され、実行時にテナント管理部8が読み込んでもよい。
会社法人等番号64は、利用ユーザを特定する他の識別番号であってもよい。
図8は、テナント情報11の一例である。
管理情報ID71を識別子とし、ユーザID72とサービスとして提供するソフトウェアを特定するソフトウェアID73とユーザへのサービス提供の有無を示すサービス利用状況74を有するレコードの集まりとして定義される。
図9は、サービスサーバ情報9の一例である。
サービスサーバ情報9は、サービスサーバ3で稼動する仮想テナント18とユーザの関連を管理するテーブルであり、サービスサーバ3を特定するサーバID81とユーザを特定するユーザID82とサービスサーバ3上に構築された仮想テナントを特定する仮想テナントID83と仮想テナント18に設定されたIPアドレス84とポート番号85を有するレコードの集まりとして定義される。
サービス利用開始時には、新規契約ユーザに対して新たな仮想テナント18がサービスサーバ3上に構築され、ルータ21を介してユーザ端末4から接続されるために仮想テナント18に設定されたIPアドレス84とポート番号85が記録される。
サービスサーバ情報9は、ファイルやデータベースといった形で外部記憶装置に格納され、実行時にテナント管理部8が読み込んでもよい。
図10は、リソース設定情報22の一例である。
サービス契約情報7の実行品質58とサービスサーバ3で稼動する仮想テナント18に設定されるリソース割付け値の対応関係を表すテーブルであり、実行品質85、CPU利用優先度を示すCPU−Weight86とCPU利用上限値を示すCPU−Cap87とメモリ利用上限値を示すメモリ上限88と優先度90を有するレコードの集まりとして定義される。
優先度90において、優先とは、仮想テナント18がサービス実行する際に優先的にリソースが割当てられることを意味する。つまり、優先度90が優先となっている仮想テナント18がサービスを実行する際にリソースが不足している場合に、他の仮想テナント18に割当てられているリソースを取得できることを意味する。一方、非優先とは、リソースの割当において優先的に扱われないことを意味する。
なお、本実施の形態では、運用処理(時限サービス)を行う時限サービス仮想テナ
ント18では、優先度90は優先又は非優先に設定されている。一定レベル以上の実
行品質の場合は、優先度90は優先となる。
一方、サービス完了期限が定まっていないサービスを行う非時限サービス仮想テナン
ト18でも、優先度90は優先又は非優先に設定されている。一定レベル以上の実行
品質の場合は、優先度90は優先となる。
また、図10の例では、優先・非優先の2段階としているが、3段階以上の優先度を設けてもよい。
サービスサーバ3は、ユーザ端末4から接続され、ソフトウェア20の機能をサービスとして提供する仮想実行装置である仮想テナント18とリソース管理部12からの命令を受け取り仮想テナント18へサービスサーバ3のCPU優先度(CPU−Weight)、CPU利用上限(CPU−Cap)、メモリ利用上限(メモリ上限)からなる計算機リソース割付け値を設定する管理テナント17を有する。
時限サービス仮想テナント18は、ルータ21を介して接続するユーザ端末4へ提供するソフトウェア20とサービス運用管理サーバ2上の運用処理管理部15から通知される実施コマンドを受け取り、仮想テナント18上で実行する運用処理エージェント19を有する仮想化実行装置である。
マルチテナントサービス提供システム1は、一般的なソフトウェア20を仮想テナント18上で動作させ、ネットワークを介して接続したユーザ端末4が仮想テナント18上でソフトウェア20の機能を実行することにより一般的なソフトウェアをwebサービス用に改修することなくサービスとして提供することができる。
次に動作について説明する。
マルチテナントサービス提供システム1におけるサービスリソース管理処理の流れを図11、図12及び図13のフローチャートを用いて説明する。
図11〜図13は、本実施の形態の運用処理管理部15が主に実行する任意の一運用処理実行におけるサービス運用管理サーバ2におけるサービスリソース管理手順を示すフローチャートであり、運用処理の実行では、図11〜図13の手順が繰り返される。
ステップS91において、運用処理情報16に記録される予定開始時刻45の到来が近づくと既知のスケジューラなどから運用処理管理部15が起動され、運用処理管理部15は、運用処理実行に必要な情報を運用処理情報16より取得する。
また、運用処理管理部15は、起動の原因となった予定開始時刻45が示されるレコードのユーザID41に一致するユーザID82が含まれるレコードをサービスサーバ情報9において検索し、検索したレコードに示されるサーバID81の値と仮想テナントID83の値とIPアドレス84の値とポート番号85の値を取得する。
ステップS92において、運用処理管理部15は、運用処理情報16より取得した実行品質43の値を基にリソース設定情報22から実行品質85が一致するレコードの優先度90を調べ、優先(保証契約)であれば(S92でYES)、ステップS93に進み、非優先であれば(S92でNO)、ステップS108に進む。
前述したように、優先とは可能終了時刻47に示される時刻までに実行種別44に示される処理を多処理より優先的に実施完了させることを表す。
非優先とは、可能終了時刻47に示される時刻までに実行種別44に示される処理を他処理より優先的に実施完了させる処置を施さないことを表す。
ステップS93において、運用処理管理部15は、実行品質43とユーザID41をリソース管理部12に図14に示すプロトコルで通知し、リソース管理部12はリソース設定情報22を調べ、ユーザID41に示すユーザが利用する仮想テナント18のリソース割付け値(CPU−Weight86、CPU−Cap87)の設定変更を管理テナント17に図15に示すプロトコルで通知し、リソース管理部12はリソース設定情報22から指定された実行品質43に基づくリソース割付け値の設定処理を実施する。
図14は、リソース割付けを通知する際のプロトコルの一例を示す図であり、先頭にリソース割付け対象となるユーザID120、それに続いて割付けるリソース値を示す実行品質121、リソース割付け条件として現在設定値への追加もしくは再設定を表すフラグとなるリソース追加フラグ122を付与して送信される。
図15は、リソース管理部12から管理テナント17に通知されるプロトコルの一例であり、仮想テナントID125を先頭に、設定するCPU−Weight126、CPU−Cap127を付与して送信される。
図15では、CPU−Weight126、CPU−Cap127のみが示されているが、メモリ割付値や他のリソースの値が含まれていてもよい。
なお、管理テナント17はリソース管理部12からの通知を受信したときに、仮想テナント18のリソース割付け設定値を既知の手段を利用して変更し、変更後はリソース管理部12からの通知を待つ待機状態となる処理を繰り返すプログラムである。
ステップS94において、運用処理管理部15は、サービスサーバ情報9のIPアドレス84とポート番号85を基に仮想テナントID83が示す仮想テナント18上の運用処理エージェント19に対して運用処理情報16の実施コマンド48を通知する。
つまり、運用処理管理部15は、運用処理情報16において、現在対象となっている運用処理についてのレコード(予定開始時刻25の到来が近い運用処理についてのレコード)のユーザID41の値と一致するユーザID82の値が記述されているレコードをサービスサーバ情報9において検索し、検索したレコードの仮想テナントID83に示される仮想テナント18に対して、IPアドレス84及びポート番号85を用いて、運用処理情報16の実施コマンド48を通知する。
図16は、実施コマンド48を通知する際のプロトコルの一例であり、先頭に処理の識別子130、それに続いて、処理の実行を指示する実行フラグ131を、それに続いてユーザID132、実行種別133、実施コマンド134、予定開始時刻135を付与して送信される。
なお、運用処理エージェント19は、運用処理管理部15からの実施コマンド48を受け取り、仮想テナント18上に既知の手段を利用して運用処理の実行を開始し、運用処理の実行開始を運用処理管理部15に通知し、運用処理管理部15からの通知を待つ待機状態を繰り返す処理を含むプログラムである。
図17は、運用処理エージェント19が運用処理管理部15に運用処理の実行開始を通知する際のプロトコルの一例を示す図であり、先頭に処理の識別子140、それに続いて、開始を示す開始フラグ141を、それに続いてユーザID142、実行種別143、実施コマンド144、開始時刻145を付与して送信される。
ステップS95において、運用処理管理部15は、運用処理エージェント19からの運用処理開始通知(図17)を受信し、運用処理の正常開始を確認し、図5の運用処理実施履歴テーブルに識別子50、ユーザID51、開始時刻52を有するレコードを挿入する。
図5の運用処理実施履歴テーブルに挿入される識別子50、ユーザID51及び開始時刻52は、運用処理エージェント19からの運用処理開始通知(図17)に示される識別子140、ユーザID142及び開始時刻145である。
ステップS96において、運用処理管理部15は、運用処理の実施を管理するための運用処理の実施時間の計測を開始し、実施時間の監視を開始する。
ステップS97において、運用処理管理部15は、運用処理エージェント19からの運用処理完了通知を受信した場合には、運用処理完了通知の内容を調べ、ステップS105に進む。
運用処理エージェント19から運用処理完了通知が通知されない場合は、ステップS98に進む。
運用処理完了通知とは、ステップS95で実行開始が通知された運用処理の実行が完了したことを知らせる通知である。
図18は、運用処理エージェント19から通知される運用処理完了通知の通信プロトコル例を示す図である。
処理を識別する識別子150を先頭に、それに続いて完了を示す完了フラグ151を先頭に、ユーザID152、実行種別153、実施コマンド154、終了時刻155を付与して送信される。
運用処理管理部15は、受信内容を調べ、図5の運用処理実施履歴テーブルの識別子50を検索し、該当するレコードの実施結果53と終了時刻54を更新し、運用処理情報16のユーザID41と実行種別44が一致するレコードの未実施回数42を初期化する。
図5の運用処理実施履歴テーブルに挿入される実施結果53及び終了時刻54は、運用処理エージェント19からの運用処理完了通知(図18)に示される実施コマンド154から導かれる値(実施結果)及び終了時刻155である。
運用処理完了通知が未着の場合(S97でYES)は、ステップS98において、運用処理管理部15は、ステップS96から計測している実施時間が運用処理情報16の予定実施時間46となった場合には、実行完了が可能と考えられる時間内に運用処理の実行が完了していない状態であるため、ステップS93で設定された仮想テナント18のリソース割付け値が運用処理の実施に対して不足していると判断し、ステップS99へ進む。
ステップS99において、運用処理管理部15は、現在時刻を取得し、現在時刻に予定実施時間46(運用処理情報16)を加算した値が可能終了時刻47(運用処理情報16)以内であるか否かを判定し、可能終了時刻47以内であれば(S99でYES)ステップS95から計測している計測時間を初期化し、改めて予定実施時間46の監視を行い、ステップS100に進む。
現在時刻に予定実施時間46を加算した値が可能終了時刻47を超える場合(S99でNO)は、以上終了と判定し、ステップS111に進む。
ステップS100において、運用処理管理部15は、対象となっている運用処理(リソースが不足している判定された運用処理)の実行品質43(運用処理情報16)をもとにリソース設定情報22の優先度90を判定し、優先(保証契約)の場合は、ステップS101に進む。非優先の場合は、ステップS97に進む。
ステップS101において、運用処理管理部15は、リソース管理部12からリソース制限履歴情報14に格納されている履歴情報の中で上記運用処理を実行する時限サービス仮想テナント18が稼動するサービスサーバ3の情報をステップS91で取得したサーバID81から特定し、サービスサーバ情報9に対してサーバID81が一致するユーザID82の一覧を取得し、テナント情報11から前記ユーザID82とユーザID72が一致するユーザのサービス利用状況74がS−ACTIVEであるユーザID一覧を抽出する。
また、運用処理管理部15は、抽出したユーザID82の一覧の中で、サービス契約情報7からユーザの実行品質58が下位契約(対象となっている運用処理に対する実行品質よりも下位の実行品質)であるユーザID55の一覧を取得し、該一覧に含まれるユーザID55ごとに制限実施時間37の合算値を取得する。ここでは、同一のユーザに複数の制限実施時間37が存在する場合を想定して制限実施時間37の合算値としている。
また、本実施の形態では、例えば、時限サービス仮想テナント18を利用するユーザの実行品質は原則として非時限サービス仮想テナント18を利用するユーザの実行品質よりも高いことを想定している。このため、対話型サービス等を実行する非時限サービス仮想テナントが、後述するリソース制限実施対象仮想テナントになる場合が多い。
また、運用処理管理部15は、ユーザ情報10より取得した一覧に含まれるユーザID82の契約期間62を取得し、ステップS102に進む。同一ユーザに複数の契約期間62が存在する場合は、契約期間の合算値を取得する。
ステップS102において、運用処理管理部15は、上記運用処理を実施する時限サービス仮想テナント18に対して追加するリソース割付け値を導出するために、ステップS101で取得した上記一覧に含まれるユーザID55それぞれに対する制限実施時間37の合算値と契約期間62を基に、契約期間62に対する制限実施時間37の合算値の比率に対して制限係数89を掛けた値を算出し、最小の算出値から順にn(n≧1)個のユーザID55を選択する。そして、選択したユーザID55に示されるユーザが利用する仮想テナントをリソース制限実施対象仮想テナント(リソース制限対象サービス実行手段)と判定し、サービスサーバ情報9からリソース制限実施対象仮想テナントの仮想テナントID83を取得し、ステップS103に進む。
運用処理管理部15は、例えば、ユーザの契約期間(又は契約期間の合算値)を分母とし、ユーザへのリソース制限実施時間の合算値を分子とする制限実施時間比を算出し、この比率に対して制限計数89を掛けた値を算出する。
なお、同じ算出値が2つ以上存在する場合は、例えば、リソース制限の実施時刻39が古い順にユーザID55を選択する。
また、リソース設定情報22に制限係数89を設けない場合は、ステップS101で取得した上記一覧に含まれるユーザID55それぞれに対する制限実施時間37の合算値と契約期間62を基に、契約期間62に対する制限実施時間37の積算値の比率に掛ける処理を省略してもよい。
ステップS103において、運用処理管理部15は、ステップS102で取得したリソース制限実施対象の仮想テナントID83を利用するユーザのユーザID120と予め設定されたリソース制限実施時の実行品質121とリソース追加フラグ122を図14を一例とするプロトコルにてリソース管理部12に通知し、リソース管理部12はリソース制限実施対象の仮想テナントのリソース割付け値の設定処理(リソースの剥奪)を実施する。
そして、リソース管理部12は、リソース制限実施対象ユーザID55とサーバID81と上記運用処理を実施するユーザ(リソースが不足している仮想テナント18を利用するユーザ)のユーザID41をユーザID36とサーバID38と優先ユーザID40とするレコードをリソース制限履歴情報14に追加し、リソース制限時間計測を開始し、ステップS104に進む。
リソース制限履歴情報14に記述されるユーザID41は、リソース制限実施対象ユーザID55(ユーザID120と同じ)であり、優先ユーザID40は、運用処理を実施するユーザのユーザID41である。
なお、リソース管理部12は、運用処理管理部15から、図14に示すフォーマットにて、ユーザID120と実行品質121とリソース追加フラグ122を含む通知を受信したときに、指定されたユーザID120から現時点で設定されているリソース割付け値(リソース制限実施対象仮想テナントのリソースの値)をリソース割付け情報13から取得し、指定された実行品質121に対応するリソース割付け値(運用処理を行っている時限サービス仮想テナント18のリソースの値)をリソース設定情報22から取得し、両取得した値を加算する手段を含む。
また、リソース管理部12は、両リソース割付け設定値を加算したリソース割付け設定値を運用処理を行っている時限サービス仮想テナント18が動作するサービスサーバ3上の管理テナント17に図15を一例とするプロトコルにて送信する。
また、予め定められたリソース制限実施時のリソース割付け値は、CPU−Weightの極小値としてもよい。
ステップS104において、運用処理管理部15は、ステップS103にて実施されたリソース割付け値の変更により上記運用処理を優先的に実施させ、ステップS97に進む。
なお、運用処理が完了して運用処理管理部15が運用処理完了通知を受信するか(S97でYES)、現在時刻に予定実施時間46を加算した値が可能終了時刻47を超過する(S99でNO)まで、ステップS97〜S104の処理が繰り返される。
運用処理管理部15が運用処理完了通知を受信した場合(S97でYES)は、ステップS105において、運用処理管理部15は、リソース制限履歴情報14から上記運用処理を実施するユーザID41が優先ユーザID40に格納され、かつ制限実施時間37が記録されていないレコードを検索し、リソース割付け制限が実施されるユーザID36の有無を調べ、そのようなユーザID36が存在する場合には、他の仮想テナントのリソースが制限されている場合であるため、管理ID35の一覧を取得し、ステップS106に進む。
ユーザID36が存在しない場合にはステップS110に進む。
ステップS106では、運用処理管理部15は、上記管理ID35一覧に関連するユーザID36と一致するレコードをサービス契約情報7より検索し、同レコードの実行品質58を取得し、ユーザID36と実行品質58をリソース管理部12に通知し、リソース管理部12はリソース設定情報22を用いて実行品質58に基づくリソース割付け値をユーザID36が利用する仮想テナント(リソースが制限されていた仮想テナント)に設定し、リソース制限実施を解除し、ステップS107に進む。
つまり、運用処理が完了した際に、リソース管理部12は運用処理に追加して割当てたリソースを、リソースの制限元の仮想テナントに返却する。
ステップS107において、運用処理管理部15は、ステップS104で取得した管理ID35の一覧に関連するユーザIDのリソース制限時間計測値を取得し、リソース制限履歴情報14において、管理ID35に関連する制限実施時間37の値を更新し、ステップS110に進む。
次回のリソース制限対象の仮想テナントの選択時には、更新した制限実施時間37の値を利用する。
ステップS110において、運用処理管理部15は、処理を終了し、スケジューラからの起動待機状態となる。
他方、現在時刻に予定実施時間46を加算した値が可能終了時刻47を超過する場合(S99でNO)は、運用処理管理部15は、ステップS111において、運用処理情報16の実行品質43を基にリソース設定情報22から実行品質85が一致するレコードの優先度90を取得し、優先(保証契約)の場合は、ステップS112に進む。
非優先の場合は、ステップS113に進む。
ステップS111の判定において優先(保証契約)と判断した場合は、運用処理管理部15は、ステップS112において、上位サービス契約を結ぶユーザの運用処理が可能終了時間47内に実施完了しないため、異常実行が生じていると判定し、管理者端末5にアラート通知を行い、ステップS110に進む。
以上から、仮想テナント18で実施される処理のサービスレベル契約として締結されたサービスレベルにて供給するためのサービスリソース管理において、リソース制限対象となったユーザの処理実施時間を的確に予測することが不可能な場合であっても、リソース制限履歴情報14を利用することで、サービス利用中のリソース制限対象選定において優遇され、マルチテナントサービス提供システムにおいて公平に安定したサービス提供を可能とすることができる。
換言すれば、制限実施時間37を参照し、リソースが制限された時間の実績値に基づいてリソース制限の対象となる仮想テナントを決定するため、リソース制限の対象となるサービスの通常の処理実施時間を的確に予測する必要がない。このため、処理実施時間の予測が困難な対話型サービスであっても、過去のリソースの制限時間に対応させて適正にリソースの制限とすることができ、リソース制限における仮想テナント間の公平を図りつつ、運用処理を行う時限サービス仮想テナントにサービスの提供のために必要なリソースを安定的に割当てることが可能となる。
また、リソース制限対象の仮想テナントに対して2倍の実行時間を与えるといった手当てを行う場合であっても、実際にリソースが制限された時間を基準にして付与する実行時間を決定することができる。
更には、リソース制限時間の実績値に基づいてリソース制限の対象となる仮想テナントを決定するため、特定の仮想テナント、特定のユーザに偏ってリソースが制限されるという事態を回避することができ、リソースの制限における仮想テナント間の公平を図ることができる。
また、契約期間も含めてリソース制限の対象となる仮想テナント決定するため、契約期間の長短に応じて適切にリソース制限における仮想テナント間の公平を図ることができる。
次に、ステップS92の判定において優先(保証契約)でないと判断した場合(S92でNO)は、運用処理管理部15は、ステップS108において、ステップS92で取得した実行品質43の値に対して予め設定されている未実施回数42の閾値を取得し、運用処理情報16の未実施回数42が該閾値未満であるか調べる。
未実施回数42が閾値未満である場合はステップS93に進む。未実施回数42が閾値以上である場合は、最低保証適用と判定し、ステップS109に進む。
なお、上記未実施回数の閾値は、実行品質43に格納される値が複数の段階に区別される場合は、段階に応じて閾値を設定する場合と全ての段階にて同一の閾値を予め設定する場合を含む。
ステップS109において、運用処理管理部15は、ステップS92で取得したユーザID41と同一レコードの実行品質43の値を上位契約(より上位の実行品質)に変更し、ステップS93に進む。
つまり、運用処理情報16に閾値以上の未実施回数が示されている場合は、当該仮想テナントの優先順位を上昇させる。
また、ステップS111の判定において優先(保証契約)でないと判断した場合(S111でNO)は、運用処理管理部15は、ステップS113において、予定実施時間46を超過した運用処理の実施破棄を運用処理エージェント19に通知し、運用処理エージェント19は仮想テナント18で実行する運用処理を破棄し、運用処理管理部15に運用処理破棄通知を返し、運用処理管理部15は、運用処理破棄通知を受け取り、ステップS110に進む。
図19は、運用処理破棄通知の通信プロトコルの一例を示す図である。
このプロトコルは、処理を識別する識別子160を先頭に、破棄フラグ161、ユーザID162、実行種別163、実施コマンド164を付与して運用処理エージェント19に通知される。
図20は、運用処理破棄完了通知の通信プロトコルの一例を示す。
処理を識別する識別子170を先頭に破棄完了フラグ171、ユーザID172、実行種別173、実施コマンド174を付与し、運用処理エージェント19から運用処理管理部15へ通知される。
次に、ステップS114において、運用処理管理部15は、運用処理情報16のユーザID41と実行種別44が一致するレコードを検索し、未実施回数42の値を1追加させた値で更新し、識別子170を基に図5の運用処理実施履歴テーブルの識別子50が一致するレコードを検索し、実施結果53を未完了に更新し、ステップS110に進む。
以上から仮想テナント18で実施される処理のサービスレベル契約を下位契約にて締結した場合においても運用処理情報16の未実施回数42を利用することで、マルチテナントサービス提供システムにおいて有限時間内で処理を完了することができる。
以上のように、マルチテナントサービス提供システムにおいて同時実行数の制限がある時に、下位サービス契約を結ぶユーザの利用する仮想テナントのリソース割付け値を制限することで、上位サービス契約を結ぶユーザの利用する仮想テナントの処理を優先的に実行させるときに、サービスリソース管理における下位サービスレベル契約を締結するユーザに対するリソース割付け制限履歴情報を定義し、過去のリソース制限履歴時間の最小積算値を利用するユーザをリソース割付け制限対象とすることで、次回の処理実施時間を適切に予測することが不可能であっても、リソース割付け対象となったユーザへの優遇処理を施すことができる。
また、サービス利用期間を記録し、リソース割付け制限対象となるユーザを判定するときにサービス利用期間に対するリソース割付け制限履歴時間の最小積算値の比率が最も小さいユーザをリソース割付け制限対象と判定することで、サービス利用期間が短いユーザとサービス利用期間が長いユーザを公平にリソース割付け制限対象として判定することができる。
また、サービスレベル契約に応じたリソース割付け判定の重み付け係数を定義することにより、複数段階のサービスレベル契約を設けた場合において、リソース割付け制限対象となるユーザを判定する際に最下位レベル契約を締結するユーザのみがリソース割付け制限対象となることを防ぐことができる。
さらに、下位サービスレベル契約において処理の未実施回数に対する保証閾値を定義することにより、未実施回数が保証閾値を超える場合には一時的に上位サービスレベルに契約を昇格させることにより、下位サービスレベル契約を締結するユーザであっても有限期間内において、処理を実施完了することができる。
なお、以上の説明では、ユーザの契約期間を分母とし、ユーザへのリソース制限実施時間を分子とする制限実施時間比を用いてリソース制限対象の仮想テナントを決定することとしたが、リソース制限実施時間の長短のみに基づいてリソース制限対象の仮想テナントを決定してもよい。
以上、本実施の形態では、仮想化技術を施したサーバ上に複数の仮想テナントを構築したサービスサーバと、複数のサービスサーバに対するパラメータ設定、サービス運用情報を管理するサービス管理サーバを備えたマルチテナントサービス提供システムにおいて、
上記サービスサーバ上に、
該サービスサーバ上で稼動する仮想テナントのリソース割付け値を管理する管理部を備え、
上記サービス管理サーバ上に、
仮想テナントを利用するユーザと結ぶ契約情報と、
上記サービス管理サーバ上にユーザと仮想テナントとサービスサーバの関連を表すサービスサーバ情報と、
仮想テナントへのリソース割付け設定状態を表すリソース割付け情報と、
サービス利用継続期間において実施された仮想テナントへのリソース割付け制限履歴を記録する情報と、
仮想テナントが実行する処理実行に必要な運用処理情報と、
仮想テナントの処理実施を管理する管理部と、
を備え、
上記情報を基に上記処理実施管理部にユーザと締結した契約の一覧情報に基づく仮想テナントの処理実行の優劣を判定する手段と、
上記手段にてジョブの同時実行数に制約があるときに優先度が高いと判定した処理を完了させるために該処理を実行する仮想テナントに対するリソース割付け追加を実施するとき、割付け追加リソースを導出するためにリソースを制限するユーザを選定するため、リソース割付け制限情報から取得したリソース割付け制限実施時間を算出する手段と、
上記算出値を基に仮想テナントのリソース割付け値を剥奪し、上記リソース割付け追加を要求する仮想テナントへ剥奪したリソース割付け値を加算したリソース割付け値への変更を上記サービスサーバ上でリソース割付け値を管理する手段に指示する手段とを備えたことにより、
仮想テナントを利用するユーザと結んだ契約に基づきサービスを安定供給するリソース割付け制御をサービス利用継続期間内において公平に実施するマルチテナント環境でのサービスリソース管理方式について説明した。
また、本実施の形態では、
上記マルチテナントサービス提供システムにおいて、
サービス管理サーバ上に、
仮想テナントを利用するユーザと結ぶサービス契約の契約時間の積算値を含むユーザ情報と、
ユーザの契約期間の積算値を分母とし、ユーザへのリソース制限実施積算時間の積算値を分子とする制限実施時間比を算出する手段とを備えることにより、
契約期間に対する制限実施時間比の最小値を示すユーザをリソース制限対象と判定することにより、上記マルチテナントサービス提供システムにおいてサービス契約期間に基づき、公平なるリソース割付け制御を可能とする、マルチテナント環境でのサービスリソース管理方式について説明した。
また、本実施の形態では、
上記マルチテナントサービス提供システムにおいて、
上記サービス管理サーバ上に、
サービス管理サーバ上に仮想テナントを利用するユーザと結ぶ、1つまたは複数段階のサービスレベル契約を含むサービス契約情報と、
上記サービス契約段階に基づく重み付け係数を含むリソース設定情報と、
と備えたことにより、
上記優先度が高いと判定した処理を完了させるために該処理を実行する仮想テナントにソース割付け追加を要求した場合に、リソース割付け制限情報から取得したリソース割付け制限実施時間の最小積算値を算出する手段と、
最小積算値に対して上記重み付け係数を掛ける手段と、
を備えたことにより、
複数段階の最下位サービス契約を結ぶユーザのみがリソース制限対象となることなく公平に安定したサービス提供を可能とする、マルチテナント環境でのサービスリソース管理方式について説明した。
また、本実施の形態では、
上記マルチテナントサービス提供システムにおいて、
サービス管理サーバ上に、
仮想テナントが実行する処理を仮想テナントに通知する手段を備え、
仮想テナント上に、
上記手段から通知された処理の実行を管理する手段と、
サービス管理サーバに処理結果を通知する手段と、
を備えることにより上記処理結果が通知を受け取った際にリソース割付け制限対象となるユーザが利用する仮想テナントに対してリソース割付け制限実施前に設定されたリソース割付け値を設定することにより、
仮想テナントを利用するユーザと結ぶ契約に基づく、リソース割付け制御を可能とする、マルチテナント環境でのサービスリソース管理方式について説明した。
また、本実施の形態では、
上記マルチテナントサービス提供システムにおいて、
サービス管理サーバ上に、
仮想テナントの処理の未実施回数を格納する手段と、
処理実施における未実施回数の最低保証閾値を含む仮想テナントを利用するユーザと締結したサービス契約情報と、
上記サービス契約情報に基づく処理実施優先度を一時的に変更する手段と備えることにより、未実施回数が、最低保証閾値を超えるときに、一時的にサービス契約を上位契約に昇格させることにより、下位契約であっても有限期間内に処理の実施を可能とする、マルチテナント環境でのサービスリソース管理方式について説明した。
最後に、実施の形態1に示したマルチテナントサービス提供システム1のハードウェア構成例について説明する。
図21は、実施の形態1に示すマルチテナントサービス提供システム1のハードウェア資源の一例を示す図である。
なお、図21の構成は、あくまでもマルチテナントサービス提供システム1のハードウェア構成の一例を示すものであり、マルチテナントサービス提供システム1のハードウェア構成は図21に記載の構成に限らず、他の構成であってもよい。
図21において、マルチテナントサービス提供システム1は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
通信ボード915は、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)に接続されていてもよく、また、図1に示すように、ルータ21を介してインターネット、WAN(ワイドエリアネットワーク)などに接続されていてもよい。
磁気ディスク装置920には、仮想マシンモニタ921、ホストOS922(Operating System)922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911、仮想マシンモニタ921、ホストOS922により実行される。
また、仮想マシンモニタ921自身がホストOS922の機能を含む場合や、ホストOS922内に仮想マシンモニタ921が存在する場合もある。
ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
マルチテナントサービス提供システム1の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムにより仮想マシンモニタ921、ホストOS922が起動される。
プログラム群923には、例えば、図1に示される契約管理部6、テナント管理部8、リソース管理部12、運用処理管理部15及び接続受付部30を実現するプログラムが含まれる。
また、プログラム群923には、サービスサーバ3及びその内部構成を実現するプログラムが含まれる。
また、ファイル群924には、例えば、図1に示されるサービス契約情報7、サービスサーバ情報9、ユーザ情報10、テナント情報11、リソース割付け情報13、リソース制限履歴情報14、運用処理情報16、リソース設定情報22等が含まれる。
ファイル群924には、実施の形態1の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の通知」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」、「〜の取得」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、実施の形態1の説明において「〜部」、として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」であってもよい。すなわち、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1の「〜部」の手順や方法をコンピュータに実行させるものである。
このように、実施の形態1に示すマルチテナントサービス提供システム1は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
実施の形態1に係るマルチテナントサービス提供システムの構成例を示す図。 実施の形態1に係るリソース割付け情報の例を示す図。 実施の形態1に係るリソース制限履歴情報の例を示す図。 実施の形態1に係る運用処理情報の例を示す図。 実施の形態1に係る運用処理実施履歴テーブルの例を示す図。 実施の形態1に係るサービス契約情報の例を示す図。 実施の形態1に係るユーザ情報の例を示す図。 実施の形態1に係るテナント情報の例を示す図。 実施の形態1に係るサービスサーバ情報の例を示す図。 実施の形態1に係るリソース設定情報の例を示す図。 実施の形態1に係るサービス運用管理サーバの動作例を示すフローチャート図。 実施の形態1に係るサービス運用管理サーバの動作例を示すフローチャート図。 実施の形態1に係るサービス運用管理サーバの動作例を示すフローチャート図。 実施の形態1に係る通知プロトコルの例を示す図。 実施の形態1に係る通知プロトコルの例を示す図。 実施の形態1に係る通知プロトコルの例を示す図。 実施の形態1に係る通知プロトコルの例を示す図。 実施の形態1に係る通知プロトコルの例を示す図。 実施の形態1に係る通知プロトコルの例を示す図。 実施の形態1に係る通知プロトコルの例を示す図。 実施の形態1に係るマルチテナントサービス提供システムのハードウェア構成例を示す図。
符号の説明
1 マルチテナントサービス提供システム、2 サービス運用管理サーバ、3 サービスサーバ、4 ユーザ端末、5 管理者端末、6 契約管理部、7 サービス契約情報、8 テナント管理部、9 サービスサーバ情報、10 ユーザ情報、11 テナント情報、12 リソース管理部、13 リソース割付け情報、14 リソース制限履歴情報、15 運用処理管理部、16 運用処理情報、17 管理テナント、18 仮想テナント、19 運用処理エージェント、20 ソフトウェア、21 ルータ、22 リソース設定情報、30 接続受付部。

Claims (10)

  1. 各々がユーザに対してデータ処理を伴うサービスを実行する複数のサービス実行手段を管理するサービス管理装置であって、
    サービス実行手段ごとにサービスの実行先となるユーザを示すユーザサービス情報を管理するユーザサービス情報管理部と、
    ユーザごとに優先順位を示す優先順位情報を管理する優先順位情報管理部と、
    対応するサービス実行手段へのリソース割当てが制限されたリソース制限時間の実績値をユーザごとに示すリソース制限時間情報を管理するリソース制限時間情報管理部と、
    特定の条件に合致する特定サービス実行手段がサービスを実行している際に、前記ユーザサービス情報に示されるユーザとサービス実行手段との対応付け及び前記優先順位情報に示される優先順位に基づいて、前記特定サービス実行手段よりも優先順位が低いサービス実行手段を1つ以上抽出し、前記ユーザサービス情報に示されるユーザとサービス実行手段との対応付け及び前記リソース制限時間情報に示されるリソース制限時間に基づいて、抽出したサービス実行手段の中から1つ以上のサービス実行手段をリソース制限対象サービス実行手段として選択する制限対象選択部と、
    前記制限対象選択部により選択されたリソース制限対象サービス実行手段に割当てられているリソースの少なくとも一部を前記特定サービス実行手段に割当てるリソース管理部とを有することを特徴とするサービス管理装置。
  2. 前記サービス管理装置は、更に、
    ユーザごとに、対応するサービス実行手段によるサービスの提供を受ける契約期間を示す契約期間情報を管理する契約期間情報管理部を有し、
    前記制限対象選択部は、
    前記ユーザサービス情報に示されるユーザとサービス実行手段との対応付け、前記リソース制限時間情報に示されるリソース制限時間及び前記契約期間情報に示される契約期間に基づいて、抽出したサービス実行手段の中から1つ以上のサービス実行手段をリソース制限対象サービス実行手段として選択することを特徴とする請求項1に記載のサービス管理装置。
  3. 前記制限対象選択部は、
    ユーザごとに、前記リソース制限時間情報に示されるリソース制限時間と前記契約期間情報に示される契約期間とを用いて演算を行い、演算値に基づきいずれかのユーザを選択し、前記ユーザサービス情報に示されるユーザとサービス実行手段との対応付けに基づき、選択したユーザに対応するサービス実行手段をリソース制限対象サービス実行手段として選択することを特徴とする請求項2に記載のサービス管理装置。
  4. 前記制限対象選択部は、
    ユーザごとに、前記リソース制限時間情報に示されるリソース制限時間を前記契約期間情報に示される契約期間で除算し、除算値が小さい順にn(n≧1)人のユーザを選択し、前記ユーザサービス情報に示されるユーザとサービス実行手段との対応付けに基づき、選択したユーザに対応するサービス実行手段をリソース制限対象サービス実行手段として選択することを特徴とする請求項2又は3に記載のサービス管理装置。
  5. 前記制限対象選択部は、
    ユーザごとに、前記リソース制限時間情報に示されるリソース制限時間を前記契約期間情報に示される契約期間で除算し、除算値にユーザごとに設定されている係数を乗算し、乗算値が小さい順にn(n≧1)人のユーザを選択し、前記ユーザサービス情報に示されるユーザとサービス実行手段との対応付けに基づき、選択したユーザに対応するサービス実行手段をリソース制限対象サービス実行手段として選択することを特徴とする請求項2又は3に記載のサービス管理装置。
  6. 前記リソース管理部は、
    前記特定サービス実行手段によるサービスの実行が完了した際に、前記特定サービス実行手段に割当てたリソースを前記リソース制限対象サービス実行手段に返却することを特徴とする請求項1〜5のいずれかに記載のサービス管理装置。
  7. 前記リソース管理部は、
    前記特定サービス実行手段に前記リソース制限対象サービス実行手段のリソースの少なくとも一部を割当てた時点から、前記特定サービス実行手段によるサービスの実行が完了し前記特定サービス実行手段に割当てたリソースを前記リソース制限対象サービス実行手段に返却した時点までを前記リソース制限対象サービス実行手段のリソース制限時間として計測し、
    前記リソース制限時間情報管理部は、
    前記リソース管理部により計測された前記リソース制限対象サービス実行手段のリソース制限時間を前記リソース制限対象サービス実行手段のユーザに対応付けてリソース制限時間情報に追加し、追加後のリソース制限時間情報を管理することを特徴とする請求項6に記載のサービス管理装置。
  8. 前記サービス管理装置は、更に、
    所定の条件下で、サービス実行手段のサービスの実行を中止させるサービス中止部と、
    ユーザごとに、前記サービス中止部によりサービスが中止された中止回数を示すサービス中止回数情報を管理するサービス中止回数情報管理部とを有し、
    前記制限対象選択部は、
    前記サービス中止回数情報に示されるサービス中止回数と所定の閾値とを比較し、前記閾値以上のサービス中止回数が示されているユーザについては、前記優先順位情報の優先順位を上昇させることを特徴とする請求項1〜7のいずれかに記載のサービス管理装置。
  9. 前記制限対象選択部は、
    サービス完了期限が定められている時限サービスを実行する時限サービス実行手段が時限サービスの実行を開始した後、時限サービスの完了が予測される時刻までに時限サービスの実行が完了していない場合であって、当該時限サービス実行手段のユーザの優先順位が所定のレベル以上である場合に、当該時限サービス実行手段を前記特定サービス実行手段とすることを特徴とする請求項1〜8のいずれかに記載のサービス管理装置。
  10. 各々がユーザに対してデータ処理を伴うサービスを実行する複数のサービス実行手段を管理するコンピュータに、
    サービス実行手段ごとにサービスの実行先となるユーザを示すユーザサービス情報を参照するユーザサービス情報参照手順と、
    ユーザごとに優先順位を示す優先順位情報を参照する優先順位情報参照手順と、
    対応するサービス実行手段へのリソース割当てが制限されたリソース制限時間の実績値をユーザごとに示すリソース制限時間情報を参照するリソース制限時間情報参照手順と、
    特定の条件に合致する特定サービス実行手段がサービスを実行している際に、前記ユーザサービス情報に示されるユーザとサービス実行手段との対応付け及び前記優先順位情報に示される優先順位に基づいて、前記特定サービス実行手段よりも優先順位が低いサービス実行手段を1つ以上抽出し、前記ユーザサービス情報に示されるユーザとサービス実行手段との対応付け及び前記リソース制限時間情報に示されるリソース制限時間に基づいて、抽出したサービス実行手段の中から1つ以上のサービス実行手段をリソース制限対象サービス実行手段として選択する制限対象選択手順と、
    前記制限対象選択手順により選択されたリソース制限対象サービス実行手段に割当てられているリソースの少なくとも一部を前記特定サービス実行手段に割当てるリソース管理手順とを実行させることを特徴とするプログラム。
JP2008014725A 2008-01-25 2008-01-25 サービス管理装置及びプログラム Pending JP2009176097A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008014725A JP2009176097A (ja) 2008-01-25 2008-01-25 サービス管理装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008014725A JP2009176097A (ja) 2008-01-25 2008-01-25 サービス管理装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2009176097A true JP2009176097A (ja) 2009-08-06

Family

ID=41031103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008014725A Pending JP2009176097A (ja) 2008-01-25 2008-01-25 サービス管理装置及びプログラム

Country Status (1)

Country Link
JP (1) JP2009176097A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012032956A (ja) * 2010-07-29 2012-02-16 Nec Corp シンクライアントシステム、管理サーバ、仮想マシン作成管理方法及び仮想マシン作成管理プログラム
WO2012033110A1 (ja) * 2010-09-06 2012-03-15 日本電気株式会社 アプリケーション構成システム、方法、及び、プログラム
JP2012253550A (ja) * 2011-06-02 2012-12-20 Hitachi Ltd マルチテナント型情報処理システム、管理サーバ及び構成管理方法
GB2498046A (en) * 2011-11-25 2013-07-03 Ibm Controlling the use of computing resources in database as a service
JP2014121074A (ja) * 2012-12-19 2014-06-30 Mitsubishi Electric Corp リソース使用制御装置、リソース使用制御方法およびリソース使用制御プログラム
KR20150134717A (ko) * 2014-05-22 2015-12-02 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 방법 및 이를 위한 서버
JP2016537719A (ja) * 2013-11-11 2016-12-01 アマゾン テクノロジーズ インコーポレイテッド マネージドディレクトリサービス
JP2017525035A (ja) * 2014-07-10 2017-08-31 オラクル・インターナショナル・コーポレイション マルチテナントアプリケーションサーバ環境におけるリソースの分離および消費のためのシステムおよび方法
JP2018190355A (ja) * 2017-05-11 2018-11-29 日本電信電話株式会社 リソース管理方法
JP2018195304A (ja) * 2017-05-12 2018-12-06 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation モバイルクラウドシステム、その動作方法、およびクラウドサーバ
US10509663B1 (en) 2015-02-04 2019-12-17 Amazon Technologies, Inc. Automatic domain join for virtual machine instances
US10742568B2 (en) 2014-01-21 2020-08-11 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US10908937B2 (en) 2013-11-11 2021-02-02 Amazon Technologies, Inc. Automatic directory join for virtual machine instances

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012032956A (ja) * 2010-07-29 2012-02-16 Nec Corp シンクライアントシステム、管理サーバ、仮想マシン作成管理方法及び仮想マシン作成管理プログラム
US8769532B2 (en) 2010-07-29 2014-07-01 Nec Corporation Thin client system, management server, virtual machine creation management method and virtual machine creation management program
WO2012033110A1 (ja) * 2010-09-06 2012-03-15 日本電気株式会社 アプリケーション構成システム、方法、及び、プログラム
JP5729390B2 (ja) * 2010-09-06 2015-06-03 日本電気株式会社 アプリケーション構成システム、方法、及び、プログラム
JP2012253550A (ja) * 2011-06-02 2012-12-20 Hitachi Ltd マルチテナント型情報処理システム、管理サーバ及び構成管理方法
GB2498046A (en) * 2011-11-25 2013-07-03 Ibm Controlling the use of computing resources in database as a service
GB2498046B (en) * 2011-11-25 2014-01-08 Ibm Controlling the use of computing resources in database as a service
US9027028B2 (en) 2011-11-25 2015-05-05 International Business Machines Corporation Controlling the use of computing resources in a database as a service
JP2014121074A (ja) * 2012-12-19 2014-06-30 Mitsubishi Electric Corp リソース使用制御装置、リソース使用制御方法およびリソース使用制御プログラム
US10530742B2 (en) 2013-11-11 2020-01-07 Amazon Technologies Inc. Managed directory service
JP2016537719A (ja) * 2013-11-11 2016-12-01 アマゾン テクノロジーズ インコーポレイテッド マネージドディレクトリサービス
US10908937B2 (en) 2013-11-11 2021-02-02 Amazon Technologies, Inc. Automatic directory join for virtual machine instances
US10375013B2 (en) 2013-11-11 2019-08-06 Amazon Technologies, Inc. Managed directory service connection
US10447610B1 (en) 2013-11-11 2019-10-15 Amazon Technologies, Inc. Techniques for network redirection
US10511566B2 (en) 2013-11-11 2019-12-17 Amazon Technologies, Inc. Managed directory service with extension
US11683274B2 (en) 2014-01-21 2023-06-20 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US11343200B2 (en) 2014-01-21 2022-05-24 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US10742568B2 (en) 2014-01-21 2020-08-11 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
KR102111612B1 (ko) * 2014-05-22 2020-06-08 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 방법 및 이를 위한 서버
KR20150134717A (ko) * 2014-05-22 2015-12-02 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 방법 및 이를 위한 서버
JP2017525035A (ja) * 2014-07-10 2017-08-31 オラクル・インターナショナル・コーポレイション マルチテナントアプリケーションサーバ環境におけるリソースの分離および消費のためのシステムおよび方法
US10509663B1 (en) 2015-02-04 2019-12-17 Amazon Technologies, Inc. Automatic domain join for virtual machine instances
JP2018190355A (ja) * 2017-05-11 2018-11-29 日本電信電話株式会社 リソース管理方法
JP2018195304A (ja) * 2017-05-12 2018-12-06 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation モバイルクラウドシステム、その動作方法、およびクラウドサーバ
US11196809B2 (en) 2017-05-12 2021-12-07 Nhn Entertainment Corporation Mobile cloud system and operating method of the same

Similar Documents

Publication Publication Date Title
JP2009176097A (ja) サービス管理装置及びプログラム
US9755990B2 (en) Automated reconfiguration of shared network resources
US8595722B2 (en) Preprovisioning virtual machines based on request frequency and current network configuration
US8261275B2 (en) Method and system for heuristics-based task scheduling
KR101242954B1 (ko) 저장부로 향하는 입/출력(i/o) 요청을 큐잉할지 여부를 결정하기 위한 우선순위의 이용
US9448853B2 (en) Method of allocating physical computing resource of computer system
US8572611B2 (en) Managing conflicts between multiple users accessing a computer system having shared resources assigned to one or more logical partitions and one or more appliance partitions
US8396968B2 (en) Information processor and resource scheduling method
WO2012132815A1 (ja) 仮想サーバid管理システム、統合監視システム、仮想サーバid管理プログラム、及び統合監視プログラム
JP2014532946A (ja) クラスタに依頼されたタスクを実行するために前記クラスタのコンピュータ資源を割り当てるための方法、コンピュータプログラム、およびデバイス
TWI460659B (zh) 用於降低競爭之鎖定窗
JPWO2007072544A1 (ja) 情報処理装置、計算機、リソース割り当て方法及びリソース割り当てプログラム
US10013288B2 (en) Data staging management system
US20110173319A1 (en) Apparatus and method for operating server using virtualization technique
JP4663528B2 (ja) 計算機割当システム
US20060167886A1 (en) System and method for transmitting data from a storage medium to a user-defined cluster of local and remote server blades
JP2014182576A (ja) 構成管理装置と構成管理方法及び構成管理プログラム
JP2017091330A (ja) 計算機システム及び計算機システムのタスク実行方法
US9712615B2 (en) Information acquisition method, computer system, and management computer
WO2020031675A1 (ja) スケジューリング装置、スケジューリングシステム、スケジューリング方法、プログラム及び非一時的コンピュータ可読媒体
US8433877B2 (en) Storage scalability management
JP5884566B2 (ja) バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム
JP6273732B2 (ja) 情報処理引き継ぎ制御装置、情報処理引き継ぎ制御方法、及び、情報処理引き継ぎ制御プログラム
US9270742B2 (en) Computer system and control method of computer system
JP2015146148A (ja) 仮想マシン管理装置、仮想マシン管理方法、及び、仮想マシン管理プログラム