以下、本発明の実施の形態(以下、「本実施形態」と表す。)について図面を参照しながら詳細に説明する。本実施形態では、VMインスタンスに対してソフトウェアをインストールして何等かのクラウドサービス(以降、「ユーザサービス」と表す。)を提供する場合に、このユーザサービスの利用量の実績から予測した予測値に応じて、最適なVMインスタンスの環境構築プランを提案すると共に、この環境構築プランのVMインスタンスをプロビジョニング(Provisioning)するサービス環境構築システム1について説明する。なお、プロビジョニング(Provisioning)とは、物理マシン上にVMインスタンスを構築することを意味する。
ここで、ユーザサービスの利用量とは、所定の期間の間(例えば1か月間の間)にVMインスタンスが利用するリソースの利用量のことであり、例えば、ユーザサービスを実現する処理の当該期間の間のジョブ数や当該処理の対象となるデータの当該期間の間の総データサイズ等である。また、環境構築プランとは、仮想マシンの料金プランと、仮想マシンの台数とが含まれる情報のことである。なお、料金プランとは、例えば、仮想マシンの性能に応じて決定される料金(例えば月額料金等)のプランのことである。以降では、環境構築プランを、単に「構築プラン」とも表す。
なお、VMインスタンスは、単に「VM」又は「仮想マシン」とも呼ばれる。また、特に、何等かのサーバ(例えば、プリントサーバ等)として機能させることを目的とした仮想マシンは「仮想サーバ」とも呼ばれる。以降では、VMインスタンスを何等かのサーバとして機能させることを想定し、「仮想サーバ」との用語を用いて説明する。
[第1の実施形態]
第1の実施形態は、利用プランを変更することで、予測した利用量に応じた適切な構築プランに調整する例である。
<全体構成>
まず、本実施形態に係るサービス環境構築システム1の全体構成について、図1を参照しながら説明する。図1は、本実施形態に係るサービス環境構築システム1の全体構成の一例を示す図である。
図1に示すように、本実施形態に係るサービス環境構築システム1には、環境構築装置10と、端末装置20と、機器30とが含まれる。また、環境構築装置10と端末装置20とは、例えばインターネット等のネットワークを介して通信可能に接続される。更に、環境構築装置10と機器30とは、IaaSとして仮想サーバを提供する業者(インフラ提供業者)のインフラ提供環境200とネットワークを介して通信可能に接続される。
環境構築装置10は、ユーザサービスの利用量の実績(以降、「利用実績量」とも表す。)からユーザサービスの利用量の予測を行う。ユーザサービスの利用量の予測(以降、「利用予測量」とも表す。)に応じて、環境構築装置10は当該端末装置20のユーザに対して、仮想サーバの最適な料金プランを提案する。そして、環境構築装置10は、当該料金プランに対するプロビジョニング指示に応じて、仮想サーバとして統括サーバ210及び機器管理サーバ220をインフラ提供環境200に構築する。これにより、ユーザサービスの提供に必要な環境が構築される。
また、環境構築装置10は、ユーザサービスの利用予測量に応じて、端末装置20のユーザに対して料金プランの変更提案を通知したり、料金プランを変更したことを通知したりする。このように、環境構築装置10は利用予測量に応じて最適な料金プランへの変更を提案したり、又は、当該最適な料金プランに変更したりする。
ここで、仮想サーバをインフラ提供環境200に構築する場合、仮想サーバの性能や台数に応じた料金が発生する。最適な料金プランとは、ユーザサービスの利用予測量に必要な性能や台数を満たし、かつ、最も料金が安いプランのことである。このような最適プランへ変更することで、端末装置20のユーザは、仮想サーバの最適な性能及び台数で、ユーザサービスの利用に必要な環境(サービス環境)を構築することができる。言い換えれば、端末装置20のユーザは、ユーザサービスの利用に必要な仮想サーバを最適にサイジングすることができるようになる。
端末装置20は、ユーザサービスの利用に必要な環境を構築するユーザが用いるPC(パーソナルコンピュータ)等である。なお、端末装置20としては、例えば、スマートフォンやタブレット端末等が用いられても良い。
機器30は、ユーザサービスを利用する各種電子機器である。機器30としては、例えば、MFP(Multifunction Peripheral)等の画像形成装置やPC等が挙げられる。なお、機器30としては、画像形成装置やPC以外にも、例えば、印刷装置、スキャナ装置、電子黒板装置、プロジェクタ装置、デジタルサイネージ装置、スマートフォン、タブレット端末等であっても良い。
ここで、インフラ提供環境200に仮想サーバとして構築される統括サーバ210及び機器管理サーバ220は、機器30がユーザサービスを利用するために必要となるサーバである。統括サーバ210は、例えば、機器30を所有する顧客毎に構築され、当該顧客に対して構築された1台以上の機器管理サーバ220を管理する。また、機器管理サーバ220は、例えば、機器30が設置されている顧客環境100毎に構築され、ユーザサービスを利用する機器30の管理と、当該機器30と連携してユーザサービスを実現するための処理とを行う。なお、顧客とは、ユーザサービスを利用する又は利用を希望する企業や団体等(以降、「企業等」と表す。)のことである。
例えば、或る顧客の顧客環境100として、顧客環境100A、顧客環境100B及び顧客環境100C等の複数の顧客環境100が存在するものとする。例えば、顧客環境100Aは本社におけるシステム環境、顧客環境100Bは或る支社におけるシステム環境、顧客環境100Cは別の或る支社におけるシステム環境である。この場合、例えば、顧客環境100Aに設置されている機器30を管理する機器管理サーバ220Aと、顧客環境100Bに設置されている機器30を管理する機器管理サーバ220Bと、顧客環境100Cに設置されている機器30を管理する機器管理サーバ220Cとがインフラ提供環境200に構築される。このように、顧客環境100毎に、当該顧客環境100に設置されている機器30を管理する機器管理サーバ220が構築される。
ただし、例えば、複数の顧客環境100が地理的に近い場合等には、これら複数の顧客環境100それぞれに設置されている機器30を管理する1台の機器管理サーバ220が構築されても良い。例えば、本社のシステム環境である顧客環境100Aに設置されている機器30と、或る支社のシステム環境である顧客環境100Bに設置されている機器30とを管理する1台の機器管理サーバ220が構築されても良い。
ここで、ユーザサービスの具体例として、印刷ジョブを蓄積するサーバとして機器管理サーバ220を機能させた「プリントサービス」が挙げられる。この場合、例えば、PC等である機器30で作成された印刷ジョブが機器管理サーバ220に蓄積される。そして、画像形成装置や印刷装置等である機器30が当該機器管理サーバ220から印刷ジョブを取得し、当該印刷ジョブを実行することで、印刷が行われる。これにより、PC等である機器30のユーザに対してプリントサービスが提供される。
また、ユーザサービスの他の具体例として、スキャン画像を所定の宛先に配信するサーバとして機器管理サーバ220を機能させた「スキャン配信サービス」が挙げられる。この場合、例えば、画像形成装置やスキャナ装置等である機器30が原稿をスキャンすることで作成したスキャン画像が機器管理サーバ220に送信される。そして、機器管理サーバ220が当該スキャン画像を所定の宛先に配信する。これにより、画像形成装置やスキャナ装置等である機器30のユーザに対してスキャン配信サービスが提供される。なお、スキャン配信サービスでは、機器管理サーバ220がスキャン画像に対して何等かの処理(例えば、OCR(Optical Character Recognition)処理等)を行った後、この処理結果を示すデータを所定の宛先に配信しても良い。なお、例えば、「スキャンによりスキャン画像を作成した後、このスキャン画像に対してOCR処理を行って、その後、配信処理を行う」等のように複数の処理を順に実行する処理又はサービスは「ワークフロー」とも称される。
このように、機器30と、当該機器30を管理する機器管理サーバ220とが連携した処理を行うことで、ユーザサービスが実現される。以降では、ユーザサービスの一例として、「プリントサービス」、「スキャン配信サービス」、又はその両方のいずれかを想定して説明する。なお、ユーザサービスが「プリントサービス」である場合、ユーザサービスの利用量は、例えば、「印刷ジョブのジョブ数」や「印刷対象のデータの総データサイズ」等である。また、ユーザサービスが「スキャン配信サービス」である場合、ユーザサービスの利用量は、例えば、「スキャン配信ジョブのジョブ数」や「配信対象(又はOCR対象)のデータの総データサイズ」等である。ただし、これら以外にも、ユーザサービスの利用量としては、例えば、機器30がユーザサービスを利用している間の利用時間等であっても良い。
なお、図1に示すサービス環境構築システム1の構成は一例であって他の構成であっても良い。例えば、環境構築装置10や端末装置20は、顧客環境100に含まれていても良い。また、ユーザサービスの内容やその実現方法によっては統括サーバ210が不要な場合も有り得る。この場合、環境構築装置10は、統括サーバ210をインフラ提供環境200に構築しなくても良い。
また、本実施形態では、ユーザサービスを提供するサービス提供業者と、インフラ提供環境200により仮想サーバを提供するインフラ提供業者とが異なる業者であることを想定しているが、必ずしも異なる業者である必要はなく、同一の業者であっても良い。また、仮想サーバの構築にあたってインフラ提供業者との間で行う契約(仮想サーバの構築に関する契約)は、顧客が行っても良いし、ユーザサービスを提供するサービス提供業者が行っても良い。
<仮想サーバの構築及び料金プランの変更>
ここで、本実施形態に係る環境構築装置10により、仮想サーバである統括サーバ210及び機器管理サーバ220をインフラ提供環境200に構築すると共に、利用予測量に応じて最適な料金プランに変更又は最適な料金プランへの変更を提案する場合について、図2を参照しながら説明する。図2は、仮想サーバ構築及び構築プラン変更の概略を説明する図である。仮想サーバが構築されることでユーザサービスの利用に必要な環境(サービス環境)が構築される。
なお、図2では、顧客環境100として、顧客環境100Aと、顧客環境100Bと、顧客環境100Cとが存在するものとし、それぞれの顧客環境100に対して1台ずつ機器管理サーバ220を構築するものとする。
S1−1)端末装置20は、ユーザサービスを利用するための仮想サーバを構築する場合、ユーザサービスの利用量の予定(以降、「利用予定量」とも表す。)を環境構築装置10に入力する。利用予定量には、例えば、ジョブ数や総データサイズ等が含まれる。なお、ジョブ数は、例えば、印刷ジョブのジョブ数、スキャン配信ジョブのジョブ数、又はその両方のジョブのジョブ数のいずれかである。同様に、総データサイズは、例えば、印刷対象のデータの総データサイズ、スキャン配信対象のデータの総データサイズ、又はその両方のデータの総データサイズのいずれかである。
S1−2)環境構築装置10は、端末装置20から入力された利用予定量に基づいて、最適な料金プランを特定する。そして、環境構築装置10は、特定した料金プランを端末装置20に提案する。これにより、端末装置20のユーザによって入力された利用予定量を満たすユーザサービスを提供でき、かつ、最も料金が安い料金プランが当該ユーザに提案される。
ここで、インフラ提供環境200には、物理サーバが設置されているデータセンタのシステム環境であるデータセンタ環境240が含まれる。なお、データセンタ環境240は、物理的に異なる場所に存在する複数のデータセンタ環境に分割されていても良い。例えば、データセンタ環境240は、アメリカ合衆国の東側の或る場所に存在するデータセンタのシステム環境であるデータセンタ環境と、アメリカ合衆国の西側の或る場所に存在するデータセンタのシステム環境であるデータセンタ環境とに分割されていても良い。
S1−3)端末装置20は、環境構築装置10から提案された料金プランによって仮想サーバを構築する場合、プロビジョニング指示を環境構築装置10に入力する。
S1−4)環境構築装置10は、端末装置20からプロビジョニング指示が入力されると、インフラ提供業者が公開しているWebAPI230に対して、プロビジョニング要求を送信する。このWebAPI230は、インフラ提供環境200に仮想サーバを構築したり、インフラ提供環境200に構築された仮想サーバから各種情報を取得したりするためのAPI(Application Programming Interface)である。環境構築装置10は、WebAPI230に対してプロビジョニング要求を送信することで、インフラ提供環境200に仮想サーバを構築することができる。プロビジョニング要求には、例えば、利用予定量に応じた仮想サーバの性能及び台数等の情報が含まれる。
これにより、例えば、顧客環境100Aに設置されている機器30を管理するための機器管理サーバ220Aと、顧客環境100Bに設置されている機器30を管理するための機器管理サーバ220Bと、顧客環境100Cに設置されている機器30を管理するための機器管理サーバ220Cとがデータセンタ環境240に構築される。
また、各機器管理サーバ220を管理するための統括サーバ210がデータセンタ環境240に構築される。なお、統括サーバ210は構築されなくても良い。
以上のように、本実施形態に係る環境構築装置10は、端末装置20のユーザによって入力された利用予定量(例えば、ユーザサービスのジョブ数や総データサイズ等)に応じた最適な料金プランを当該ユーザに提案する。そして、本実施形態に係る環境構築装置10は、端末装置20のユーザによって入力されたプロビジョニング指示に応じて、料金プランとして提案した仮想サーバを構築する。
このため、端末装置20のユーザは、ユーザサービスの利用に必要な仮想サーバの性能や台数等を考慮することなく、利用予定量(例えば、ジョブ数や総データサイズ等)を入力するだけで最適な料金プランで仮想サーバを構築することができるようになる。
S2−1)また、環境構築装置10は、所定のタイミング(例えば、毎月末やユーザにより指定された日時等)に、WebAPI230に対して、利用実績量の取得要求を送信する。環境構築装置10は、WebAPI230に対して利用実績量の取得要求を送信することで、ユーザサービスの利用実績量(すなわち、例えば、ジョブ数の実績値や総データサイズの実績値等)を取得することができる。利用実績量の取得要求には、利用実績量の取得に必要な情報(例えば、ユーザサービスの提供に必要な統括サーバ210を特定する情報等)が含まれる。また、取得した利用実績量は過去の利用実績量を格納する利用実績テーブルに格納される。
S2−2)環境構築装置10は、ユーザサービスの過去の利用実績量から今後のユーザサービスの利用量を予測する。利用予測量の算出方法の詳細は後述する。環境構築装置10はユーザサービスの利用予測量に応じて、最適な料金プランを特定する。そして、環境構築装置10は、特定した料金プランが現在の料金プランと異なる場合(すなわち、現在の料金プランが最適でない場合)、料金プランを変更した上で、料金プランを変更したことを端末装置20に通知する。又は、環境構築装置10は、料金プランの変更提案を端末装置20に通知する。これにより、端末装置20のユーザに対して、利用予測量に応じた最適な料金プランに変更されたこと又は最適な料金プランへの変更提案が通知される。なお、利用予測量に応じた最適な料金プランに変更されたことを通知するか又は最適な料金プランへの変更提案を通知するかのいずれとするかは、例えば、ユーザとの間の契約によって決定される。
以上のように、本実施形態に係る環境構築装置10は、所定のタイミングに、ユーザサービスの利用予測量を算出する。そして、本実施形態に係る環境構築装置10は、算出した利用予測量に応じた最適な料金プランを特定し、特定した料金プランが現在の料金プランと異なる場合、料金プランの変更提案等をユーザに通知する。このため、端末装置20のユーザは、所定のタイミングで、ユーザサービスの利用予測量に応じた最適な料金プランへの変更等を行うことができるようになる。
したがって、本実施形態に係る環境構築装置10によれば、例えば、繁忙期や閑散期など、利用実績量に波があるユーザであっても、過去の利用実績量から算出した利用予測量に合わせて最適な料金プランに変更することができるようになる。
<ハードウェア構成>
次に、本実施形態に係る環境構築装置10、端末装置20及び機器30のハードウェア構成について説明する。
本実施形態に係る環境構築装置10及び端末装置20は、例えば図3に示すコンピュータ300を1台以上用いて実現することができる。図3は、コンピュータ300のハードウェア構成の一例を示す図である。なお、機器30がPC等である場合、当該機器30も、例えば図3に示すコンピュータ300を1台以上用いて実現することができる。
図3に示すコンピュータ300は、入力装置301と、表示装置302と、外部I/F303と、通信I/F304とを有する。また、図3に示すコンピュータ300は、ROM(Read Only Memory)305と、RAM(Random Access Memory)306と、CPU(Central Processing Unit)307と、補助記憶装置308とを有する。これらの各ハードウェアは、それぞれがバス309で接続されている。
入力装置301は、例えば、キーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置302は、例えば、ディスプレイ等であり、コンピュータ300による処理結果を表示する。なお、コンピュータ300は、入力装置301及び表示装置302のうちの少なくとも一方を有していなくても良い。
外部I/F303は、外部装置とのインタフェースである。外部装置には、記録媒体303a等がある。コンピュータ300は、外部I/F303を介して、記録媒体303aの読み取りや書き込み等を行うことができる。記録媒体303aには、例えば、USBメモリ、SDメモリカード、フレキシブルディスク、CD、DVD等がある。
通信I/F304は、コンピュータ300をネットワークに接続するためのインタフェースである。コンピュータ300は、通信I/F304を介して、他の装置等と通信を行うことができる。
ROM305は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM305には、例えば、コンピュータ300の起動時に実行されるBIOS(Basic Input/Output System)、OS(Operating System)設定、及びネットワーク設定等のプログラムやデータが格納されている。RAM306は、プログラムやデータを一時保持する揮発性の半導体メモリである。
CPU307は、ROM305や補助記憶装置308等からプログラムやデータをRAM306上に読み出して、処理を実行することで、コンピュータ300全体の制御や機能を実現する演算装置である。
補助記憶装置308は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置308に格納されるプログラムやデータには、コンピュータ300全体を制御する基本ソフトウェアであるOS、OS上で各種機能を提供するアプリケーションプログラム、本実施形態を実現する1以上のプログラム等がある。補助記憶装置308は、格納しているプログラムやデータを所定のファイルシステムやDB(データベース)により管理している。
本実施形態に係る環境構築装置10及び端末装置20は、図3に示すコンピュータ300のハードウェア構成により各種処理を実現できる。なお、統括サーバ210及び機器管理サーバ220(より正確には、統括サーバ210及び機器管理サーバ220を実現する物理サーバ)も、図3に示すコンピュータ300のハードウェア構成により実現される。
次に、機器30が画像形成装置である場合、機器30は、例えば図4に示す画像形成装置400により実現することができる。図4は、画像形成装置400のハードウェア構成の一例を示す図である。
図4に示す画像形成装置400は、コントローラ401と、操作パネル402と、外部I/F403と、通信I/F404と、画像処理エンジン405とを有する。また、コントローラ401は、CPU411と、RAM412と、ROM413と、NVRAM414と、補助記憶装置415とを有する。
ROM413は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。RAM412は、プログラムやデータを一時保持する揮発性の半導体メモリである。NVRAM414は、例えば設定情報等を格納している不揮発性の半導体メモリである。また、補助記憶装置415は、例えば、HDDやSSD等であり、プログラムやデータを格納している不揮発性の記憶装置である。
CPU411は、ROM413やNVRAM414、補助記憶装置415等からプログラムやデータ、設定情報等をRAM412上に読み出し、処理を実行することで、画像形成装置400全体の制御や機能を実現する演算装置である。
操作パネル402は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている入出力装置である。外部I/F403は、外部装置とのインタフェースである。外部装置には、記録媒体403a等がある。画像形成装置400は、外部I/F403を介して、記録媒体403aの読み取りや書き込み等を行うことができる。
記録媒体403aには、例えば、ICカード、USBメモリ、SDメモリカード、フレキシブルディスク、CD、DVD等がある。
通信I/F404は、画像形成装置400をネットワークに接続するためのインタフェースである。画像形成装置400は、通信I/F404を介して、他の装置等と通信を行うことができる。
画像処理エンジン405は、例えば、プロッタやスキャナ等であり、印刷処理やスキャン処理等の各種の画像処理を行う装置である。
本実施形態に係る機器30が画像形成装置である場合、当該機器30は、図4に示す画像形成装置400のハードウェア構成により、各種処理を実現できる。
<機能構成>
次に、本実施形態に係る環境構築装置10の機能構成について、図5を参照しながら説明する。図5は、本実施形態に係る環境構築装置10の機能構成の一例を示す図である。
図5に示すように、本実施形態に係る環境構築装置10は、入力受付部501と、表示制御部502と、構築済判定部503と、利用可否判定部504と、構築済情報作成・更新部505と、構築プラン特定部506と、利用実績量取得部507と、利用予測量算出部508、プロビジョニング部509と、通知部510とを有する。これら各部は、環境構築装置10にインストールされた1以上のプログラムがCPU307に実行させる処理により実現される。
また、本実施形態に係る環境構築装置10は、記憶部511を有する。記憶部511は、例えば補助記憶装置308を用いて実現可能である。なお、記憶部511は、例えば、環境構築装置10とネットワークを介して接続される記憶装置等を用いて実現されていても良い。
記憶部511は、料金プラン情報テーブル1000と、構築済情報テーブル2000と、利用実績テーブル3000とを記憶している。これらの各テーブルの詳細については後述する。
入力受付部501は、端末装置20からの各種入力(例えば、利用予定量の入力やプロビジョニング指示の入力等)を受け付ける。
表示制御部502は、各種画面を端末装置20に表示させる。各種画面としては、例えば、端末装置20のユーザが利用予定量を入力するための画面、端末装置20のユーザに対して最適な料金プランを提案するための画面等が挙げられる。
構築済判定部503は、入力受付部501により利用予定量の入力が受け付けられた場合、記憶部511に記憶されている構築済情報テーブル2000を参照して、利用予定量を入力したユーザに関して仮想サーバが構築済であるか否かを判定する。すなわち、構築済判定部503は、当該ユーザに関してサービス環境が構築済であるか否かを判定する。
利用可否判定部504は、構築済判定部503により仮想サーバが構築済であると判定された場合、構築済の仮想サーバでユーザサービスを利用可能であるか否かを判定する。構築済の仮想サーバでユーザサービスが利用可能とは、例えば、仮想サーバを新たに構築しなくても、ユーザにより入力された利用予定量のユーザサービスを構築済の仮想サーバ(すなわち、機器管理サーバ220等)で提供可能であること等を意味する。
構築済情報作成・更新部505は、利用可否判定部504により構築済の仮想サーバ(機器管理サーバ220等)でユーザサービスを利用可能であると判定された場合、構築済情報テーブル2000に格納されている構築済情報を更新する。構築済情報とは、ユーザ毎に、構築済の仮想サーバ(機器管理サーバ220等)が追加で利用可能な利用量(例えば、追加で蓄積可能なジョブ数)等を管理するための情報である。
また、構築済情報作成・更新部505は、プロビジョニング部509のプロビジョニング要求によって仮想サーバ(機器管理サーバ220等)が構築されると、構築された仮想サーバに関する構築済情報を作成し、構築済情報テーブル2000に格納する。
構築プラン特定部506は、入力受付部501により利用予定量の入力が受け付けられた場合、記憶部511に記憶されている料金プラン情報テーブル1000を参照して、当該利用予定量に応じた最適な料金プランを特定する。ここで、料金プラン情報テーブル1000に格納されている料金プラン情報は、ユーザサービスの利用量とその料金とが対応付けられた情報である。したがって、構築プラン特定部506は、料金プラン情報テーブル1000を参照して、料金の合計額が最も安く、かつ、当該利用予定量を満たす、最適な料金プランを特定する。
また、構築プラン特定部506は、利用予測量算出部508により利用予測量が算出された場合、記憶部511に記憶されている料金プラン情報テーブル1000を参照して、当該利用予測量に応じた最適な料金プランを特定する。すなわち、構築プラン特定部506は、料金プラン情報テーブル1000を参照して、料金の合計額が最も安く、かつ、当該利用予測量を満たす、最適な料金プランを特定する。
利用実績量取得部507は、所定のタイミングで、インフラ提供業者が公開するWebAPI230に対して利用実績量の取得要求を送信する。これにより、利用実績量取得部507は利用実績量を取得し、利用実績テーブル3000に格納することができる。ここで、所定のタイミングとしては、任意の日時とすることができる。例えば、毎月末や毎週末であっても良いし、半年毎であっても良い。又は、例えば、ユーザにより指定された日時等であっても良い。このように、利用実績量取得部507は、予め決められた期間毎又は予め指定された日時に、利用実績量を取得して利用実績テーブル3000に格納する。
利用予測量算出部508は利用実績テーブル3000に格納されている過去の利用実績量からユーザの今後の利用予測量を算出する。例えば利用予測量算出部508は過去の利用実績量から月毎の利用実績量を計算し、過去の月毎の利用実績量から今後の月毎の利用予測量を算出する。
なお、過去の月毎の利用実績量から今後の月毎の利用予測量を算出する方法は、過去の月毎の利用実績量の平均値を今後の月毎の利用予測量として算出する方法を利用することができる。例えば繁忙月や閑散月のあるユーザの場合は月毎の利用実績量が毎年同じ傾向となりやすいため、過去の月毎の利用実績量の平均値を今後の月毎の利用予測量として算出する方法を利用できる。
また、過去の月毎の利用実績量から今後の月毎の利用予測量を算出する方法は、回帰関数などを利用して月毎の利用実績量の変化の傾きを調べ、今後の月毎の利用予測量を算出する方法を利用することができる。例えば企業規模の拡大や縮小が生じているユーザの場合は月毎の利用実績量が毎年異なる傾向となることも考えられるため、回帰関数などを利用して年間利用実績量の傾きを調べることにより、この年間利用実績量の傾きから翌月の利用予測量を算出する方法を利用することもできる。
なお、ここでは過去の月毎の利用実績量から今後の月毎の利用予測量を算出する例について説明したが月毎に限るものではなく、年毎、四半期毎、週毎又は日毎の利用予測量を算出するものであってもよい。
プロビジョニング部509は、入力受付部501によりプロビジョニング指示の入力が受け付けられた場合、インフラ提供業者が公開するWebAPI230に対してプロビジョニング要求を送信する。これにより、当該プロビジョニング要求に応じた仮想サーバがインフラ提供環境200に構築される。
通知部510は、構築プラン特定部506により特定された料金プランの提案又は変更提案を端末装置20に通知する。又は、通知部510は、構築プラン特定部506により特定された料金プランに変更したことを端末装置20に通知する。
≪料金プラン情報テーブル1000≫
ここで、記憶部511に記憶されている料金プラン情報テーブル1000について図6を参照しながら説明する。図6は、料金プラン情報テーブルの一例を示す図である。図6に示すように、料金プラン情報テーブル1000には、1以上の料金プラン情報が格納されている。各料金プラン情報には、データ項目として、「料金プラン名」と、「総データサイズ」と、「ジョブ数」と、「料金」とが含まれる。
「料金プラン名」には、料金プランを識別する情報の一例である料金プランの名称が設定される。「総データサイズ」には、その料金プランでユーザが利用可能な総データサイズが設定される。「ジョブ数」には、その料金プランでユーザが利用可能なジョブ数が設定される。「料金」には、その料金プランを利用するユーザが支払う料金が設定される。
≪構築済情報テーブル2000≫
ここで、記憶部511に記憶されている構築済情報テーブル2000について、図7を参照しながら説明する。図7は、構築済情報テーブル2000の一例を示す図である。
図7に示すように、構築済情報テーブル2000には、1以上の構築済情報が格納されている。各構築済情報には、データ項目として、「ユーザ名」と、「仮想サーバ」と、「料金プラン名」と、「余裕利用量」と、「自動変更フラグ」とが含まれる。
「ユーザ名」には、ユーザサービスを利用する又は利用を希望する企業等であるユーザを識別する情報の一例であるユーザ名が設定される。「仮想サーバ」には、当該顧客が構築した1以上の仮想サーバ(機器管理サーバ220等)を識別する情報(例えば、機器管理サーバ220の名称等)が設定される。「料金プラン名」には、ユーザが選択した料金プラン名が設定される。「余裕利用量」には、当該ユーザが構築した1以上の仮想サーバが追加で利用可能なユーザサービスの利用量が設定される。「自動変更フラグ」には、当該ユーザの利用予測量に応じて最適な料金プランへの変更を自動で許可するか否かを示すフラグが設定される。
ここで、例えば、「自動更新フラグ」に「自動変更許可」が設定されている場合、利用予測量に応じた最適な料金プランへ自動的に変更される。この場合、当該ユーザの端末装置20には、利用予測量に応じて最適な料金プランへ変更されたことが通知される。一方で、例えば、「自動更新フラグ」に「自動変更不許可」が設定されている場合、利用予測量に応じた最適な料金プランへは自動的には変更されない。この場合、当該ユーザの端末装置20には、利用予測量に応じた最適な料金プランへの変更提案が通知される。
このように、構築済情報テーブル2000には、ユーザ毎に、当該ユーザが構築した仮想サーバに関する情報と、ユーザが選択した料金プラン名と、最適な料金プランへの自動変更を許可するか否かを示すフラグとが含まれる構築済情報が格納されている。
≪利用実績テーブル3000≫
ここで、記憶部511に記憶されている利用実績テーブル3000について図8を参照しながら説明する。図8は、利用実績テーブルの一例を示す図である。図8に示すように、利用実績テーブル3000には、1以上の過去の利用実績情報が格納されている。各利用実績情報には、データ項目として、「ユーザ名」と、「選択した料金プラン名」と、「データサイズの利用実績量」と、「ジョブ数の利用実績量」とが含まれる。
「ユーザ名」には、ユーザサービスを利用する又は利用を希望する企業等であるユーザを識別する情報の一例であるユーザ名が設定される。「選択した料金プラン名」には、その年月にユーザが選択した料金プラン名が設定される。「データサイズの利用実績量」には、その年月にユーザが利用したデータサイズの利用実績量が設定される。「ジョブ数の利用実績量」には、その年月にユーザが利用したジョブ数の利用実績量が設定される。
このように、利用実績テーブル3000には、ユーザの過去の利用実績量が月毎などの所定期間毎に格納されている。
<処理の詳細>
次に、本実施形態に係るサービス環境構築システム1の処理の詳細について説明する。
≪環境構築処理≫
以降では、本実施形態に係る環境構築装置10によってサービス環境を構築する場合の処理(環境構築処理)について、図9を参照しながら説明する。図9は、本実施形態に係る環境構築処理の一例を示すフローチャートである。
まず、表示制御部502は、端末装置20からの要求に応じて、例えば図10に示す環境構築画面G100を当該端末装置20に表示させる(ステップS101)。端末装置20のユーザは、例えば、所定のURL(Uniform Resource Locator)をWebブラウザに入力したり、当該URLへのリンクを押下したりすること等で、図10に示す環境構築画面G100を表示させることができる。
図10に示す環境構築画面G100は、サービス環境の構築(すなわち、仮想サーバの構築)にあたってユーザサービスの利用予定量を入力するための画面である。図10に示す環境構築画面G100には、ユーザ名表示欄G110と、利用予定量入力欄G120と、OKボタンG130とが含まれる。
ユーザ名表示欄G110には、端末装置20のユーザが属する企業等の名称を示すユーザ名が表示される。また、利用予定量入力欄G120は、例えば、ジョブ数や総データサイズ又はその両方等の利用予定量を入力するための入力欄である。なお、利用予定量入力欄G120は、例えば、ユーザサービス(例えば、「プリントサービス」や「スキャン配信サービス」等)毎の利用予定量(ジョブ数又は総データサイズ等)を入力する入力欄であっても良い。
ユーザは、利用予定量入力欄G120に利用予定量を入力した上で、OKボタンG130を押下する。これにより、ユーザは、利用予定量を入力することができる。なお、利用予定量としては、例えば、ジョブ数や総データサイズ等が挙げられるが、この利用予定量は或る単位期間(例えば1か月間)の利用予定量である。なお、ユーザは、利用予定量の他に、例えば、ユーザサービスを利用する機器30の台数や顧客環境100の場所等を入力することができても良い。
入力受付部501は、端末装置20のユーザによる利用予定量の入力を受け付ける(ステップS102)。入力受付部501が入力を受け付けた利用予定量には、当該ユーザが属する企業等のユーザ名と、利用予定量入力欄G120に入力された利用予定量とが含まれる。ここで、利用予定量は、「ジョブ数」、「総データサイズ」、「ジョブ数及び総データサイズ」、又は「ユーザサービス毎のジョブ数及び総データサイズ」のいずれかであるものとする。以降では、利用予定量として入力されたジョブ数を「予定ジョブ数」、利用予定量として入力された総データサイズを「予定総データサイズ」とも表す。
次に、構築済判定部503は、構築済情報テーブル2000を参照して、端末装置20のユーザが属する企業等がサービス環境を構築済みであるか否かを判定する(ステップS103)。このとき、構築済判定部503は、端末装置20のユーザが属する企業等を示すユーザ名の構築済情報が構築済情報テーブル2000に格納されている場合、サービス環境が構築済みであると判定する。一方で、構築済判定部503は、端末装置20のユーザが属する企業等を示すユーザ名の構築済情報が構築済情報テーブル2000に格納されていない場合、サービス環境が構築されていないと判定する。
ステップS103でサービス環境が構築されていないと判定された場合、構築プラン特定部506は、料金プラン情報テーブル1000を参照して、利用予定量に応じた最適な料金プランを特定する(ステップS104)。
図6に示すように、料金プラン情報テーブル1000には、1以上の料金プラン情報が格納されている。各料金プラン情報には、データ項目として、「料金プラン名」と、「総データサイズ」と、「ジョブ数」と、「料金」とが含まれる。
このとき、構築プラン特定部506は、料金プラン情報テーブル1000を参照して、利用予定量(予定ジョブ数及び予定総データサイズ)に応じて、当該予定ジョブ数及び予定総データサイズを満たし、かつ、料金(又は料金の合計)が最も安くなる料金プランを特定する。なお、この予定ジョブ数は、複数のユーザサービスがある場合(例えば、「プリントサービス」及び「スキャン配信サービス」)は、これらの複数のユーザサービスのジョブ数の合計である。同様に、この予定総データサイズは、これらの複数のユーザサービスのそれぞれで処理対象となるデータのデータサイズの合計である。
例えば、予定ジョブ数が「400Job」、予定総データサイズが「5G」であった場合、料金プラン「Minimum」を選択することが最も安くユーザサービスを実現可能である。このため、この場合、構築プラン特定部506は、仮想サーバの料金プランとして、料金プラン「Minimum」を特定する。
また、例えば、予定ジョブ数が「2000Job」、予定総データサイズが「5G」であった場合、料金プラン「Basic」を選択することが最も安くユーザサービスを実現可能である。このため、この場合、構築プラン特定部506は、仮想サーバの料金プランとして、料金プラン「Minimum」を特定する。
また、例えば、予定ジョブ数が「90000Job」、予定総データサイズが「900G」であった場合、料金プラン「Super High」を選択することが最も安くユーザサービスを実現可能である。このため、この場合、構築プラン特定部506は、仮想サーバの料金プランとして、料金プラン「Super High」を特定する。
このように、構築プラン特定部506は、予定ジョブ数及び予定総データサイズを満たし、かつ、最も料金が安い仮想サーバの料金プランを最適な料金プランとして特定する。
図9に戻る。ステップS104に続いて、構築プラン特定部506は、特定した料金プランと、利用予定量とから余裕利用量を算出する(ステップS105)。ここで、余裕利用量は、当該料金プランの利用量から利用予定量を減算することで得られる。例えば、当該料金プランのジョブ数及び総データサイズから予定ジョブ数及び予定総データサイズを減算することで、余裕利用量が得られる。
次に、表示制御部502は、例えば図11に示す料金プラン提案画面G200を端末装置20に表示させる(ステップS106)。
図11に示す料金プラン提案画面G200は、構築プラン特定部506により特定された料金プランと余裕利用量とが表示される画面である。図11に示す料金プラン提案画面G200には、構築プラン特定部506により特定された料金プランとして、料金表示欄G210と、料金プラン表示欄G220とが含まれる。また、図11に示す料金プラン提案画面G200には、構築プラン特定部506により算出された余裕利用量として、余裕利用量表示欄G230が含まれる。
料金表示欄G210には、構築プラン特定部506により特定された料金プランの料金が表示される。図11に示す例では、料金プランの料金が「100,000」であることを示している。
料金プラン表示欄G220には、構築プラン特定部506により特定された料金プランが表示される。余裕利用量表示欄G230には、構築プラン特定部506により算出された余裕利用量が表示される。
これにより、端末装置20のユーザは、自身が入力した利用予定量のユーザサービスに最適な料金プランを知ることができる。また、端末装置20のユーザは、この料金プランで仮想サーバを構築した場合に、追加で利用可能な余裕利用量を知ることもできる。
そして、端末装置20のユーザは、OKボタンG240を押下することで、プロビジョニング指示の入力を行うことができる。
入力受付部501は、端末装置20のユーザによるプロビジョニング指示の入力を受け付ける(ステップS107)。入力受付部501が入力を受け付けたプロビジョニング指示には、料金プランとして合計表示欄G210に表示された料金プランが含まれる。
次に、プロビジョニング部509は、インフラ提供業者が公開するWebAPI230に対してプロビジョニング要求を送信する(ステップS108)。このとき、プロビジョニング部509は、例えば、料金プランを示す情報が含まれるプロビジョニング要求を送信する。これにより、インフラ提供環境200のデータセンタ環境240に、当該料金プランに対応する仮想サーバが構築される。
ここで、プロビジョニング部509は、仮想サーバをインフラ提供環境200に構築した後、ユーザサービスの実現に必要なプログラムを当該仮想サーバにインストールする必要がある。例えば、プロビジョニング部509は、インフラ提供環境200に構築された仮想サーバを機器管理サーバ220として機能させるためのプログラムを当該仮想サーバにインストールする必要がある。このため、プロビジョニング部509は、仮想サーバが構築された後、必要なプログラムのインストール要求を当該仮想サーバに送信する。
なお、上記のステップS108では、機器管理サーバ220として機能させる仮想サーバを構築したが、これに加えて、プロビジョニング部509は、統括サーバ210として機能させる仮想サーバの構築も行う。
次に、構築済情報作成・更新部505は、上記のステップS108のプロビジョニング要求によって仮想サーバ(機器管理サーバ220等)が構築されると、構築された仮想サーバに関する構築済情報を作成する。そして、構築済情報作成・更新部505は、作成した構築済情報を構築済情報テーブル2000に格納する(ステップS109)。ここで、このとき、構築済情報に含まれる自動変更フラグの値は、ユーザとの間の契約により決定される。すなわち、料金プランの自動変更を許可する旨の契約をユーザとの間で締結している場合は、当該構築済情報に含まれる自動変更フラグは「自動変更許可」に設定される。一方で、このような契約をユーザとの間で締結していない場合は、当該構築済情報に含まれる自動変更フラグは「自動変更不許可」に設定される。
ステップS103でサービス環境が構築済みであると判定された場合、利用可否判定部504は、構築済の仮想サーバでユーザサービスが利用可能であるか否かを判定する(ステップS110)。ここで、構築済の仮想サーバでユーザサービスが利用可能であるとは、例えば、利用予定量が余裕利用量よりも小さい場合である。
ステップS110で構築済の仮想サーバでユーザサービスが利用可能でないと判定された場合、ステップS104の処理が行われる。一方で、ステップS110で構築済の仮想サーバでユーザサービスが利用可能であると判定された場合、構築済情報作成・更新部505は、構築済情報テーブル2000に格納されている構築済情報を更新する(ステップS111)。すなわち、構築済情報作成・更新部505は、構築済情報テーブル2000に格納されている構築済情報のうち、当該ユーザ名が含まれる構築済情報を特定する。そして、構築済情報作成・更新部505は、特定した構築済情報の余裕利用量から予定利用量を減算する。これにより、該当の構築済情報の余裕利用量が更新される。
≪料金プランの変更又は変更提案の通知処理≫
以降では、本実施形態に係る環境構築装置10が利用予測量に応じて料金プランの変更又は変更提案の通知を行う場合の処理について、図12を参照しながら説明する。図12は、本実施形態に係る料金プランの変更又は変更提案の通知処理の一例を示すフローチャートである。
利用予測量算出部508は、所定のタイミングで、該当のユーザ名のユーザの利用予測量を算出する(ステップS201)。利用予測量は、上述したように、利用実績テーブル3000に格納されている過去の利用実績量からユーザの今後の利用予測量を算出する。
次に、構築プラン特定部506は、図9のステップS104と同様に、料金プラン情報テーブル1000を参照して、利用予測量算出部508により算出された利用予測量に応じた最適な料金プランを特定する(ステップS202)。
次に、構築プラン特定部506は、特定した料金プランと、利用予測量とから余裕利用量(現状とのギャップ)を算出する(ステップS203)。ここで、余裕利用量は、当該料金プランの利用量から利用予測量を減算することで得られる。
次に、構築プラン特定部506は、構築済情報テーブル2000を参照して、特定した料金プランが現在の料金プランと異なるか否かを判定する(ステップS204)。
ステップS204で現在の料金プランと異なると判定されなかった場合、処理を終了する。一方で、ステップS204で現在の料金プランと異なると判定された場合、構築プラン特定部506は、構築済情報テーブル2000を参照して、該当のユーザ名のユーザの自動変更フラグが「自動変更許可」であるか否かを判定する(ステップS205)。
ステップS205で自動変更フラグが「自動変更許可」であると判定された場合、プロビジョニング部509は、図9のステップS108と同様に、WebAPI230に対してプロビジョニング要求を送信する(ステップS206)。このとき、プロビジョニング部509は、例えば、該当のユーザ名と、上記のステップS202で特定された料金プランの料金プランを示す情報とが含まれるプロビジョニング要求を送信する。これにより、インフラ提供環境200のデータセンタ環境240に構築されている仮想サーバの料金プランが、上記のステップS202で特定された料金プランの料金プランに変更される。言い換えれば、データセンタ環境240に構築されている仮想サーバが再構築される。
次に、構築済情報作成・更新部505は、構築済情報テーブル2000に格納されている構築済情報を更新する(ステップS207)。すなわち、構築済情報作成・更新部505は、構築済情報テーブル2000に格納されている構築済情報のうち、当該ユーザ名が含まれる構築済情報を特定する。そして、構築済情報作成・更新部505は、特定した構築済情報を、上記のステップS202で特定された料金プランに関する構築済情報に更新する。これにより、該当の構築済情報が更新される。
次に、通知部510は、利用予測量に応じた最適な料金プランに変更されたことを端末装置20に通知する(ステップS208)。これにより、表示制御部502によって端末装置20には、例えば図13に示す料金プラン変更メールG300の内容が表示される。
図13に示す料金プラン変更メールG300は、現状の料金プラン(現状のプランとリソース)と利用予測量(今後予測されるリソース)と余裕利用量(現状とのギャップ)と変更後の料金プラン(変更したプラン)とが内容として含まれている。
図13に示す例では、現状のプランとリソースが「Minimum(10G 1000Job)」であり、今後予測されるリソースが「100G 5000Job」であり、現状とのギャップが「90G不足 4000Job不足」であるため、料金プラン「Basic」に変更されたことを示している。
これにより、端末装置20のユーザは、利用予測量に応じて料金プランが変更されたことと、現状の料金プランの内容と、現状の料金プランの内容と利用予測量とのギャップと、変更後の料金プランの内容とを知ることができる。
ステップS205で自動変更フラグが「自動変更許可」であると判定されなかった場合、通知部510は、利用予測量に応じた最適な料金プランへの変更提案を端末装置20に通知する(ステップS209)。これにより、表示制御部502によって端末装置20には、例えば図14に示す料金プラン変更提案メールG400が表示される。
図14に示す料金プラン変更提案メールG400は、最適な料金プランへの変更を提案する画面である。図14に示す料金プラン変更提案画面G400には、料金プランの変更提案として、現状の料金プラン(現状のプランとリソース)と利用予測量(今後予測されるリソース)と余裕利用量(現状とのギャップ)と変更を提案する料金プラン(提案するプラン)と料金プランを変更するためのサイトのURLリンクG440とが内容として含まれている。
図14に示す例では、現状のプランとリソースが「Minimum(10G 1000Job)」であり、今後予測されるリソースが「100G 5000Job」であり、現状とのギャップが「90G不足 4000Job不足」であるため、料金プラン「Basic」に変更することを提案している。また、図14に示す例では、料金プランを変更するためのサイトのURLリンクG440が含まれている。ユーザはURLリンクG440のリンク先である例えば図15のUI画面G500から料金プランを変更できる。具体的に、ユーザは図14のメールにより変更を提案された料金プランをラジオボタンG510で選択し、OKボタンG520を押下することにより、提案された料金プランに変更できる。
これにより、端末装置20のユーザは、利用予測量に応じた最適な料金プランを知ることができる。そして、端末装置20のユーザは、URLリンクG440のリンク先である例えば図15のUI画面G500から、最適な料金プランに変更することができる。この場合、上記のステップS206〜ステップS207と同様に、プロビジョニングを行った上で、構築済情報が更新される。
<まとめ>
以上のように、本実施形態に係る環境構築装置10は、構築済の仮想サーバの利用予測量に応じて最適な料金プランを特定した上で、特定した料金プランが現在の料金プランと異なる場合は、料金プランの変更等をユーザに通知する。これにより、繁忙期や閑散期など、利用実績量に波があるユーザであっても、実際の利用実績量から予測した利用予測量に応じた最適な料金プランに変更することができるようになる。
[第2の実施形態]
第2の実施形態は、仮想サーバの台数(VMインスタンス数)を変更することで、予測した利用量に応じた適切な構築プランに調整する例である。なお、第2の実施形態は一部を除いて第1の実施形態と同一であるため、同一部分について適宜説明を省略する。
<全体構成>
第2の実施形態に係るサービス環境構築システム1の全体構成は、ユーザサービスの利用予測量に応じて、仮想サーバの最適な台数を提案する点が第1の実施形態と異なっている。また、環境構築装置10は、ユーザサービスの利用予測量に応じて、仮想サーバの台数の変更提案を通知したり、仮想サーバの台数を変更したことを通知したりする。このように、環境構築装置10は利用予測量に応じて最適な仮想サーバの台数への変更を提案したり、又は、当該最適な仮想サーバの台数に変更したりする。
<仮想サーバの構築及び仮想サーバの台数の変更>
ここで、本実施形態に係る環境構築装置10により、仮想サーバである統括サーバ210及び機器管理サーバ220をインフラ提供環境200に構築すると共に、利用予測量に応じて最適な仮想サーバの台数に変更又は最適な仮想サーバの台数への変更を提案する場合について、図2を参照しながら説明する。
S1−1)端末装置20は、ユーザサービスを利用するための仮想サーバを構築する場合、ユーザサービスの利用予定量を環境構築装置10に入力する。
S1−2)環境構築装置10は、端末装置20から入力された利用予定量に基づいて、最適な仮想サーバの台数(必要最小限の仮想サーバの台数)を特定し、特定した最適な仮想サーバの台数を端末装置20に提案する。これにより、端末装置20のユーザによって入力された利用予定量を満たすユーザサービスを提供でき、かつ、最も料金が安い仮想サーバの台数が当該ユーザに提案される。
S1−3)端末装置20は、環境構築装置10から提案された台数の仮想サーバを構築する場合、プロビジョニング指示を環境構築装置10に入力する。
S1−4)環境構築装置10は、端末装置20からプロビジョニング指示が入力されると、インフラ提供業者が公開しているWebAPI230に対して、プロビジョニング要求を送信する。環境構築装置10は、WebAPI230に対してプロビジョニング要求を送信することで、インフラ提供環境200に仮想サーバを構築することができる。プロビジョニング要求には、例えば、利用予定量に応じた仮想サーバの性能及び台数等の情報が含まれる。
以上のように、本実施形態に係る環境構築装置10は、端末装置20のユーザによって入力された利用予定量に応じた最適な仮想サーバの台数を当該ユーザに提案する。そして、本実施形態に係る環境構築装置10は、端末装置20のユーザによって入力されたプロビジョニング指示に応じて、提案した台数の仮想サーバを構築する。
このため、端末装置20のユーザは、ユーザサービスの利用に必要な仮想サーバの性能や台数等を考慮することなく、利用予定量を入力するだけで最適な台数の仮想サーバを構築することができるようになる。
S2−1)また、環境構築装置10は、WebAPI230に対して利用実績量の取得要求を送信することで、ユーザサービスの利用実績量を取得し、過去の利用実績量を格納する利用実績テーブルに格納する。
S2−2)環境構築装置10は、ユーザサービスの過去の利用実績量から今後のユーザサービスの利用量を予測する。環境構築装置10はユーザサービスの利用予測量に応じて、最適な仮想サーバの台数を特定する。そして、環境構築装置10は、特定した仮想サーバの台数が現在の仮想サーバの台数と異なる場合(すなわち、現在の仮想サーバの台数が最適でない場合)、仮想サーバの台数を変更した上で、仮想サーバの台数を変更したことを端末装置20に通知する。又は、環境構築装置10は、仮想サーバの台数の変更提案を端末装置20に通知する。これにより、端末装置20のユーザに対して、利用予測量に応じた最適な仮想サーバの台数に変更されたこと又は最適な仮想サーバの台数への変更提案が通知される。なお、利用予測量に応じた最適な仮想サーバの台数に変更されたことを通知するか又は最適な仮想サーバの台数への変更提案を通知するかのいずれとするかは、例えば、ユーザとの間の契約によって決定される。
以上のように、本実施形態に係る環境構築装置10は、算出した利用予測量に応じた最適な仮想サーバの台数を特定し、特定した仮想サーバの台数が現在の料金プランと異なる場合、仮想サーバの台数の変更提案等をユーザに通知する。このため、端末装置20のユーザは、ユーザサービスの利用予測量に応じた最適な仮想サーバの台数への変更等を行うことができるようになる。
したがって、本実施形態に係る環境構築装置10によれば、例えば、繁忙期や閑散期など、利用実績量に波があるユーザであっても、過去の利用実績量から算出した利用予測量に合わせて最適な仮想サーバの台数に変更することができるようになる。
<ハードウェア構成>
第2の実施形態に係る環境構築装置10、端末装置20及び機器30のハードウェア構成は第1の実施形態と同一であるため、説明を省略する。
<機能構成>
次に、第2の実施形態に係る環境構築装置10の機能構成について、図16を参照しながら説明する。図16は、本実施形態に係る環境構築装置10の機能構成の一例を示す図である。
図16に示すように、第2の実施形態に係る環境構築装置10は、記憶部511に記憶されているテーブルが第1の実施形態と異なっている。第2の実施形態の記憶部511には、構築済情報テーブル2000と、利用実績テーブル3000と、仮想サーバ1台あたりのスペックテーブル4000とを記憶している。これらの各テーブルの詳細については後述する。
表示制御部502は、各種画面を端末装置20に表示させる。各種画面としては、例えば、端末装置20のユーザが利用予定量を入力するための画面、端末装置20のユーザに対して最適な仮想サーバの台数を提案するための画面等が挙げられる。
構築プラン特定部506は、入力受付部501により利用予定量の入力が受け付けられた場合、記憶部511に記憶されている仮想サーバ1台あたりのスペックテーブル4000を参照して、利用予定量を満たす必要最小限の仮想サーバの台数(当該利用予定量に応じた最適な仮想サーバの台数)を特定する。
また、構築プラン特定部506は、利用予測量算出部508により利用予測量が算出された場合、記憶部511に記憶されている仮想サーバ1台あたりのスペックテーブル4000を参照して、当該利用予測量に応じた最適な仮想サーバの台数を特定する。
通知部510は、構築プラン特定部506により特定された仮想サーバの台数の提案又は変更提案を端末装置20に通知する。又は、通知部510は、構築プラン特定部506により特定された仮想サーバの台数に変更したことを端末装置20に通知する。
≪仮想サーバ1台あたりのスペックテーブル4000≫
ここで、記憶部511に記憶されている仮想サーバ1台あたりのスペックテーブル4000について図17を参照しながら説明する。図17は仮想サーバ1台あたりのスペックテーブルの一例を示す図である。図17に示すように、仮想サーバ1台あたりのスペックテーブル4000には仮想サーバ1台あたりのスペック情報が格納されている。スペック情報には、データ項目として、「CPU」と、「メモリ」と、「総データサイズ」と、「ジョブ数」とが含まれる。
「CPU」には、仮想サーバを実現するCPUのコア数が設定される。「メモリ」には仮想サーバを実現するメモリの容量が設定される。「総データサイズ」には、その仮想サーバでユーザが利用可能な総データサイズが設定される。「ジョブ数」には、その仮想サーバでユーザが利用可能なジョブ数が設定される。
≪構築済情報テーブル2000≫
ここで、記憶部511に記憶されている構築済情報テーブル2000について、図18を参照しながら説明する。図18は構築済情報テーブル2000の一例を示す図である。
図18に示すように、構築済情報テーブル2000には、1以上の構築済情報が格納されている。各構築済情報には、データ項目として、「ユーザ名」と、「仮想サーバ」と、「仮想サーバの台数」と、「余裕利用量」と、「自動変更フラグ」とが含まれる。
「ユーザ名」には、ユーザサービスを利用する又は利用を希望する企業等であるユーザを識別する情報の一例であるユーザ名が設定される。「仮想サーバ」には、当該顧客が構築した1以上の仮想サーバ(機器管理サーバ220等)を識別する情報(例えば、機器管理サーバ220の名称等)が設定される。「仮想サーバの台数」には、ユーザが選択した仮想サーバの台数が設定される。「余裕利用量」には、当該ユーザが構築した1以上の仮想サーバが追加で利用可能なユーザサービスの利用量が設定される。「自動変更フラグ」には、当該ユーザの利用予測量に応じて最適な仮想サーバの台数への変更を自動で許可するか否かを示すフラグが設定される。
ここで、例えば、「自動更新フラグ」に「自動変更許可」が設定されている場合、利用予測量に応じた最適な仮想サーバの台数へ自動的に変更される。この場合、当該ユーザの端末装置20には、利用予測量に応じて最適な仮想サーバの台数へ変更されたことが通知される。一方で、例えば、「自動更新フラグ」に「自動変更不許可」が設定されている場合、利用予測量に応じた最適な仮想サーバの台数へは自動的には変更されない。この場合、当該ユーザの端末装置20には、利用予測量に応じた最適な仮想サーバの台数への変更提案が通知される。
このように、構築済情報テーブル2000には、ユーザ毎に、当該ユーザが構築した仮想サーバに関する情報と、ユーザが選択した仮想サーバの台数と、最適な仮想サーバの台数への自動変更を許可するか否かを示すフラグとが含まれる構築済情報が格納されている。
≪利用実績テーブル3000≫
ここで、記憶部511に記憶されている利用実績テーブル3000について図19を参照しながら説明する。図19は、利用実績テーブルの一例を示す図である。図19に示すように、利用実績テーブル3000には、1以上の過去の利用実績情報が格納されている。各利用実績情報には、データ項目として、「ユーザ名」と、「使用した仮想サーバの台数」と、「データサイズの利用実績量」と、「ジョブ数の利用実績量」とが含まれる。
「ユーザ名」には、ユーザサービスを利用する又は利用を希望する企業等であるユーザを識別する情報の一例であるユーザ名が設定される。「使用した仮想サーバの台数」には、その年月にユーザが使用した仮想サーバの台数が設定される。「データサイズの利用実績量」には、その年月にユーザが利用したデータサイズの利用実績量が設定される。「ジョブ数の利用実績量」には、その年月にユーザが利用したジョブ数の利用実績量が設定される。
このように、利用実績テーブル3000には、ユーザの過去の利用実績量が月毎などの所定期間毎に格納されている。
<処理の詳細>
次に、本実施形態に係るサービス環境構築システム1の処理の詳細について説明する。
≪環境構築処理≫
以降では、本実施形態に係る環境構築装置10によってサービス環境を構築する場合の処理(環境構築処理)について、図20を参照しながら説明する。図20は、本実施形態に係る環境構築処理の一例を示すフローチャートである。ステップS301〜S302は図9のステップS101〜S102と同一である。
次に、構築済判定部503は、図18の構築済情報テーブル2000を参照して、端末装置20のユーザが属する企業等がサービス環境を構築済みであるか否かを判定する(ステップS303)。
ステップS303でサービス環境が構築されていないと判定された場合、構築プラン特定部506は、仮想サーバ1台あたりのスペックテーブル4000を参照して、利用予定量に応じた最適な仮想サーバの台数を特定する(ステップS304)。
図17に示すように、仮想サーバ1台あたりのスペックテーブル4000には、仮想サーバ1台あたりのスペック情報が格納されている。スペック情報には、データ項目として、「CPU」と、「メモリ」と、「総データサイズ」と、「ジョブ数」とが含まれる。
このとき、構築プラン特定部506は、仮想サーバ1台あたりのスペックテーブル4000を参照して、利用予定量(予定ジョブ数及び予定総データサイズ)に応じて、当該予定ジョブ数及び予定総データサイズを満たし、かつ、必要最小限の仮想サーバの台数を特定する。
例えば図17の仮想サーバ1台あたりのスペックテーブル4000であり、予定ジョブ数が「10000Job」、予定総データサイズが「800G」であった場合、5台の仮想サーバが必要最小限の仮想サーバの台数となる。このため、この場合、構築プラン特定部506は仮想サーバの台数として「5台」を特定する。
図20に戻る。ステップS304に続いて、構築プラン特定部506は、仮想サーバ1台あたりのスペック情報と、特定した仮想サーバの台数と、利用予定量とから余裕利用量を算出する(ステップS305)。次に、表示制御部502は、仮想サーバ台数画面を端末装置20に表示させる(ステップS306)。
仮想サーバ台数画面は、構築プラン特定部506により特定された仮想サーバの台数と余裕利用量とが表示される画面である。これにより、端末装置20のユーザは、自身が入力した利用予定量のユーザサービスに最適な仮想サーバの台数を知ることができる。また、端末装置20のユーザは、この仮想サーバの台数で仮想サーバを構築した場合に、追加で利用可能な余裕利用量を知ることもできる。
入力受付部501は、端末装置20のユーザによるプロビジョニング指示の入力を受け付ける(ステップS307)。入力受付部501が入力を受け付けたプロビジョニング指示には、仮想サーバの台数が含まれる。
次に、プロビジョニング部509は、インフラ提供業者が公開するWebAPI230に対してプロビジョニング要求を送信する(ステップS308)。このとき、プロビジョニング部509は、例えば、仮想サーバの台数を示す情報が含まれるプロビジョニング要求を送信する。これにより、インフラ提供環境200のデータセンタ環境240に、当該料金プランに対応する仮想サーバが構築される。
ここで、プロビジョニング部509は、仮想サーバをインフラ提供環境200に構築した後、ユーザサービスの実現に必要なプログラムを当該仮想サーバにインストールする必要がある。例えば、プロビジョニング部509は、インフラ提供環境200に構築された仮想サーバを機器管理サーバ220として機能させるためのプログラムを当該仮想サーバにインストールする必要がある。このため、プロビジョニング部509は、仮想サーバが構築された後、必要なプログラムのインストール要求を当該仮想サーバに送信する。
なお、上記のステップS308では、機器管理サーバ220として機能させる仮想サーバを構築したが、これに加えて、プロビジョニング部509は、統括サーバ210として機能させる仮想サーバの構築も行う。
次に、構築済情報作成・更新部505は、上記のステップS308のプロビジョニング要求によって仮想サーバ(機器管理サーバ220等)が構築されると、構築された仮想サーバに関する構築済情報を作成する。そして、構築済情報作成・更新部505は、作成した構築済情報を構築済情報テーブル2000に格納する(ステップS309)。ここで、このとき、構築済情報に含まれる自動変更フラグの値は、ユーザとの間の契約により決定される。すなわち、仮想サーバの台数の自動変更を許可する旨の契約をユーザとの間で締結している場合は、当該構築済情報に含まれる自動変更フラグは「自動変更許可」に設定される。一方で、このような契約をユーザとの間で締結していない場合は、当該構築済情報に含まれる自動変更フラグは「自動変更不許可」に設定される。
ステップS303でサービス環境が構築済みであると判定された場合、利用可否判定部504は、構築済の仮想サーバでユーザサービスが利用可能であるか否かを判定する(ステップS310)。ここで、構築済の仮想サーバでユーザサービスが利用可能であるとは、例えば、利用予定量が余裕利用量よりも小さい場合である。
ステップS310で構築済の仮想サーバでユーザサービスが利用可能でないと判定された場合、ステップS304の処理が行われる。一方で、ステップS310で構築済の仮想サーバでユーザサービスが利用可能であると判定された場合、構築済情報作成・更新部505は、構築済情報テーブル2000に格納されている構築済情報を更新する(ステップS311)。すなわち、構築済情報作成・更新部505は、構築済情報テーブル2000に格納されている構築済情報のうち、当該ユーザ名が含まれる構築済情報を特定する。そして、構築済情報作成・更新部505は、特定した構築済情報の余裕利用量から予定利用量を減算する。これにより、該当の構築済情報の余裕利用量が更新される。
≪仮想サーバの台数の変更又は変更提案の通知処理≫
以降では、本実施形態に係る環境構築装置10が利用予測量に応じて仮想サーバの台数の変更又は変更提案の通知を行う場合の処理について、図21を参照しながら説明する。図21は、本実施形態に係る仮想サーバの台数の変更又は変更提案の通知処理の一例を示すフローチャートである。
利用予測量算出部508は、所定のタイミングで、該当のユーザ名のユーザの利用予測量を算出する(ステップS401)。利用予測量は、上述したように、利用実績テーブル3000に格納されている過去の利用実績量からユーザの今後の利用予測量を算出する。
次に、構築プラン特定部506は、図20のステップS304と同様に、仮想サーバ1台あたりのスペックテーブル4000を参照して、利用予測量算出部508により算出された利用予測量に応じた最適な仮想サーバの台数を特定する(ステップS402)。
次に、構築プラン特定部506は、特定した仮想サーバの台数と、利用予測量とから余裕利用量(現状とのギャップ)を算出する(ステップS403)。ここで、余裕利用量は、当該特定した台数の仮想サーバの利用量から利用予測量を減算することで得られる。
次に、構築プラン特定部506は、構築済情報テーブル2000を参照して、特定した仮想サーバの台数が現在の仮想サーバの台数と異なるか否かを判定する(ステップS204)。
ステップS404で現在の仮想サーバの台数と異なると判定されなかった場合、処理を終了する。一方で、ステップS404で現在の仮想サーバの台数と異なると判定された場合、構築プラン特定部506は、構築済情報テーブル2000を参照して、該当のユーザ名のユーザの自動変更フラグが「自動変更許可」であるか否かを判定する(ステップS405)。
ステップS405で自動変更フラグが「自動変更許可」であると判定された場合、プロビジョニング部509は、図20のステップS308と同様に、WebAPI230に対してプロビジョニング要求を送信する(ステップS406)。このとき、プロビジョニング部509は、例えば、該当のユーザ名と、上記のステップS402で特定された仮想サーバの台数を示す情報とが含まれるプロビジョニング要求を送信する。これにより、インフラ提供環境200のデータセンタ環境240に構築されている仮想サーバの台数が、上記のステップS402で特定された仮想サーバの台数に変更される。言い換えれば、データセンタ環境240に構築されている仮想サーバが再構築される。
次に、構築済情報作成・更新部505は、構築済情報テーブル2000に格納されている構築済情報を更新する(ステップS407)。すなわち、構築済情報作成・更新部505は、構築済情報テーブル2000に格納されている構築済情報のうち、当該ユーザ名が含まれる構築済情報を特定する。そして、構築済情報作成・更新部505は、特定した構築済情報を、上記のステップS402で特定された仮想サーバの台数に関する構築済情報に更新する。これにより、該当の構築済情報が更新される。
次に、通知部510は、利用予測量に応じた最適な仮想サーバの台数に変更されたことを端末装置20に通知する(ステップS408)。これにより、表示制御部502によって端末装置20には、例えば図22に示す仮想サーバ台数変更メールG600の内容が表示される。
図22に示す仮想サーバ台数変更メールG600は、現状の仮想サーバの台数(現状のインスタンス数とリソース)と利用予測量(今後予測されるリソース)と余裕利用量(現状とのギャップ)と変更後の仮想サーバの台数(変更したインスタンス数)とが内容として含まれている。
図22に示す例では、現状のインスタンス数とリソースが「1台(200G 2000Job)」であり、今後予測されるリソースが「800G 10000Job」であり、現状とのギャップが「600G不足 8000Job不足」であるため、インスタンス数が「5台(1000G 10000Job)」に変更されたことを示している。
これにより、端末装置20のユーザは、利用予測量に応じて仮想サーバの台数が変更されたことと、現状の仮想サーバの台数によるリソースと、現状の仮想サーバの台数によるリソースと利用予測量とのギャップと、変更後の仮想サーバの台数によるリソースとを知ることができる。
ステップS405で自動変更フラグが「自動変更許可」であると判定されなかった場合、通知部510は、利用予測量に応じた最適な仮想サーバの台数への変更提案を端末装置20に通知する(ステップS409)。これにより、表示制御部502によって端末装置20には、例えば図23に示す仮想サーバ台数変更提案メールG700が表示される。
図23に示す仮想サーバ台数変更提案メールG700は、最適な仮想サーバの台数への変更を提案する画面である。図23に示す仮想サーバ台数変更提案画面G700には、仮想サーバの台数の変更提案として、現状の仮想サーバの台数(現状のインスタンス数とリソース)と利用予測量(今後予測されるリソース)と余裕利用量(現状とのギャップ)と変更を提案する仮想サーバの台数(提案するインスタンス数)と仮想サーバの台数を変更するためのサイトのURLリンクG740とが内容として含まれている。
図23に示す例では、現状のインスタンス数とリソースが「1台(200G 2000Job)」であり、今後予測されるリソースが「800G 10000Job」であり、現状とのギャップが「600G不足 8000Job不足」であるため、インスタンス数を「5台(1000G 10000Job)」に変更することを提案している。また、図23に示す例では、仮想サーバの台数を変更するためのサイトのURLリンクG740が含まれている。ユーザはURLリンクG740のリンク先である例えば図24のUI画面G800から仮想サーバの台数を変更できる。具体的に、ユーザは図23のメールにより変更を提案された仮想サーバの台数を入力欄G810に入力し、OKボタンG820を押下することにより、提案された仮想サーバの台数に変更できる。
これにより、端末装置20のユーザは、利用予測量に応じた最適な仮想サーバの台数を知ることができる。そして、端末装置20のユーザは、URLリンクG740のリンク先である例えば図24のUI画面G800から、最適な仮想サーバの台数に変更することができる。この場合、上記のステップS406〜ステップS407と同様に、プロビジョニングを行った上で、構築済情報が更新される。
<まとめ>
以上のように、本実施形態に係る環境構築装置10は、構築済の仮想サーバの利用予測量に応じて最適な仮想サーバの台数を特定した上で、特定した仮想サーバの台数が現在の仮想サーバの台数と異なる場合は、仮想サーバの台数の変更等をユーザに通知する。これにより、繁忙期や閑散期など、利用実績量に波があるユーザであっても、実際の利用実績量から予測した利用予測量に応じた最適な仮想サーバの台数に変更することができるようになる。
本発明は、具体的に開示された上記の実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。