以下に、本願の開示する制御方法、情報処理装置および制御プログラムの実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
まず、スペックが指定された場合の物理マシンのデプロイを、図14を参照して説明する。図14は、物理マシンのデプロイを示す参考図である。なお、図14では、スペックが指定された場合の物理マシンのデプロイを、OpenStackが実施する場合について説明する。
図14に示すように、user1の利用者が利用申請をする(<1>´)と、運用者が、利用者定義を作成する(<2>´)。OpenStackの環境定義には、利用者定義およびデプロイ環境定義が保存される。利用者定義には、運用者によって、プロジェクトの識別子と利用者の識別子とが対応付けられる。ここでは、利用者の識別子としてuser1とプロジェクトの識別子としてproject−xとが対応付けられる。
デプロイ環境定義は、運用前に予め定義される。デプロイ環境定義には、フレーバーとOSイメージが保存される。フレーバー名は異なるマシンスペック単位に付けられる。ここでいうフレーバーとは、仮想的なHWのテンプレートのことをいい、例えば、CPU、メモリ、ディスクなどのHWのマシンスペックを定義したものである。図14では、CPUが「c1」、メモリが「m1」、ディスクが「d1」である場合のフレーバー名が「flavor1」と付けられている。CPUが「c2」、メモリが「m2」、ディスクが「d2」である場合のフレーバー名が「flavor2」と付けられている。
利用者定義とデプロイ環境定義とは、紐付けがされていない。すなわち、利用者とフレーバーとは、紐付けされていない。
user1の利用者が物理マシンの使用要求を行う場合、ユーザ名とパスワードを入力して、OpenStackのダッシュボードへログインする(<3>´)。ダッシュボードがログインの認証に成功すると、user1の利用者は、フレーバーとOSイメージを指定して、物理マシンのデプロイを依頼する(<4>´)。OpenStackのIronicは、指定されたフレーバーのマシンスペックに合致した物理マシンの中のいずれかの物理マシンに、指定されたOSイメージをインストールすることで、物理マシンをデプロイする。例えば、user1の利用者が、CPU「c1」、メモリ「m1」、ディスク「d1」であるHWのマシンスペックの物理マシンを使用したい場合には、フレーバーとして「flavor1」を指定する。OpenStackのIronicは、指定されたフレーバーのマシンスペックに合致した物理マシン「RX2540M2−01」および「RX2530M2−01」のいずれかの物理マシンに、指定されたOSイメージをインストールすることで、物理マシンをデプロイする。
しかしながら、OpenStackのIronicは、指定されたフレーバーのマシンスペックに合致した物理マシンがある場合であっても、空いていない場合には、デプロイする物理マシンを特定できない。また、OpenStackのIronicは、指定されたフレーバーのマシンスペックに合致した物理マシンが空いている場合であっても、利用者から機種指定はできないので、利用者が使いたい機種と異なる機種の物理マシンを特定し、この物理マシンをデプロイする。つまり、利用者は、物理マシンを使いたいときに使いたいマシンスペックの物理マシン、使いたい機種の物理マシンを使うことができない場合がある。
そこで、以下では、利用者が物理マシンを使いたいときに、使いたいマシンスペックの物理マシン、使いたい機種の物理マシンを使うことが可能となる情報処理装置1について説明する。
[情報処理装置の構成]
図1は、実施例1に係る情報処理装置の構成を示す機能ブロック図である。図1に示すように、情報処理装置1は、物理マシンの使用要求を受け付けると、物理マシンの機器情報と物理マシンの使用を予約した予約元のアカウント情報との対応関係を参照して、使用要求の要求元のアカウント情報に対応付けられた機器情報を選択可能に表示する。情報処理装置1は、表示した機器情報のうち、選択された機器情報に対応する物理マシンをデプロイする。ここでいう「機器情報」とは、機器を識別する情報であり、例えば、物理マシンの機種と号機とからなる機器名(物理マシン名)のことをいう。すなわち、情報処理装置1は、物理マシンの物理マシン名と物理マシンの使用を予約した予約元のアカウント情報との関係を紐付けておくことで、利用者によるマシンスペックの指定ではなく、利用者による物理マシン名の指定で、物理マシンをデプロイする。
情報処理装置1は、制御部10および記憶部20を有する。
制御部10は、CPUなどの電子回路に対応する。そして、制御部10は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部10は、予約部11、予約連携部12およびデプロイ部13を有する。なお、デプロイ部13は、表示制御部、特定部、出力部の一例である。
記憶部20は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。記憶部20は、予約情報21、利用者定義情報22、フレーバー定義情報23、対応関係情報24およびノード定義情報25を有する。
予約情報21は、物理マシンの機器情報ごとに、予約期間および予約元のアカウント情報を対応付けた予約内容の情報である。予約期間は、所定期間の連続で示される。所定期間は、日単位でも、時間単位でも、月単位でも良い。実施例では、所定期間を日単位として説明する。なお、予約情報21は、予約部11によって生成される。
ここで、予約情報21の一例を、図2を参照して説明する。図2は、予約情報の一例を示す図である。図2に示すように、予約情報21は、機器情報と、予約期間と、アカウント情報とを対応付けた予約内容の情報である。機器情報は、例えば、物理マシンの機種と号機とからなる物理マシン名である。予約期間は、物理マシンの使用予約の期間であり、日単位で示されている。アカウント情報は、予約元のアカウントの情報であり、例えば、利用者名およびプロジェクト名(図示せず)である。
一例として、機器情報が、「RX2540M2−01」である場合に、予約期間として「10/1〜10/4」、アカウント情報として「user1」が表わされている。
図1に戻って、利用者定義情報22は、プロジェクトと利用者とを対応付ける情報である。なお、利用者定義情報22は、予約連携部12によって生成される。
ここで、利用者定義情報22の一例を、図3を参照して説明する。図3は、利用者定義情報の一例を示す図である。図3に示すように、利用者定義情報22は、プロジェクト名と利用者名とを対応付けた情報である。プロジェクト名は、物理マシンを使用するプロジェクトを識別する名称である。利用者名は、物理マシンを使用する利用者を識別する名称である。
一例として、プロジェクト名が「project−x」である場合に、利用者名として「user1」および「user2」が表わされている。
図1に戻って、フレーバー定義情報23は、フレーバーを定義する情報である。ここでいうフレーバーとは、仮想的なHWのテンプレートのことをいい、例えば、CPU、メモリ、ディスクなどのHWのマシンスペックに機器情報(物理マシン名)を付加して定義したものである。なお、フレーバー定義情報23は、運用前に予め定義される。
ここで、フレーバー定義情報23の一例を、図4を参照して説明する。図4は、実施例1に係るフレーバー定義情報の一例を示す図である。図4に示すように、フレーバー定義情報23は、フレーバー名、CPUコア数、メモリサイズ、ディスクサイズおよび属性パラメタを対応付けた情報である。フレーバー名は、仮想的なHWのテンプレートを一意に識別する名称である。フレーバー名は、利用者が物理マシンの使用要求時に指定し易いように、機器情報の名前(物理マシン名)と同じであることが望ましい。CPUコア数は、CPUのコア数である。メモリサイズは、メモリのサイズである。ディスクサイズは、ディスクのサイズである。属性パラメタは、フレーバーの属性のパラメタであり、デプロイ先情報を示す。属性パラメタには、物理マシンの機種と号機とからなる機器情報が設定される。
一例として、フレーバー名が「RX2540M2−01」である場合に、CPUコア数として「c1」、メモリサイズとして「m1」、ディスクサイズとして「d1」、属性パラメタとして「RX2540M2−01」と記憶している。
図1に戻って、対応関係情報24は、物理マシンを次に使用する期間の、利用者定義とフレーバー定義との対応関係を示す情報である。なお、対応関係情報24は、予約連携部12によって生成される。
ここで、対応関係情報24の一例を、図5を参照して説明する。図5は、実施例1に係る対応関係情報の一例を示す図である。図5に示すように、対応関係情報24は、プロジェクト名、利用者名、フレーバー名、CPUコア数、メモリサイズ、ディスクサイズおよび属性パラメタを対応付けた情報である。すなわち、プロジェクト名および利用者名が、利用者定義の情報である。フレーバー名、CPUコア数、メモリサイズ、ディスクサイズおよび属性パラメタが、フレーバー定義の情報である。各項目の説明は、図3および図4で説明したので、その説明を省略する。
一例として、プロジェクト名が「project−x」である場合に、利用者名として「user1」が表わされている。加えて、フレーバー名として「RX2540M2−01」、CPUコア数として「c1」、メモリサイズとして「m1」、ディスクサイズとして「d1」、属性パラメタとして「RX2540M2−01」が表わされている。すなわち、フレーバー名「RX2540M2−01」の物理マシンは、プロジェクト名が「project−x」である「user1」の利用者によって、次の期間の使用予約がされていることがわかる。
図1に戻って、ノード定義情報25は、ノードを定義する情報である。なお、ノード定義情報25は、運用前に予め定義される。
ここで、ノード定義情報25の一例を、図6を参照して説明する。図6は、実施例1に係るノード定義情報の一例を示す図である。図6に示すように、ノード定義情報25は、ノード名および属性パラメタを対応付けた情報である。ノード名は、ノードの名称である。属性パラメタは、フレーバーの属性のパラメタであり、デプロイ先情報を示す。属性パラメタは、対応関係情報24の属性パラメタに対応する。すなわち、ノード定義情報25は、ノード名に機器情報(物理マシン名)を付加して定義したものである。これにより、対応関係情報24およびノード定義情報25にそれぞれ属性パラメタを付加したことで、フレーバーとノードとを1対1に対応付けることができる。
一例として、ノード名が「RX2540M2−01」である場合に、属性パラメタとして「RX2540M2−01」が記憶されている。
図1に戻って、予約部11は、予約情報21を生成する。例えば、予約部11は、プロジェクト名、利用者名を受け付けて、ログイン認証を行う。予約部11は、ログイン認証に成功すると、機器情報、予約期間および使用するソフトウェアをパラメタに含む物理マシンの使用予約要求を受け付ける。ここでいうソフトウェアは、例えば、OS(Operating System)のことをいう。なお、OS情報は予約時の必須パラメタではない。予約時に指定しない場合は、利用者がデプロイ操作をするときに指定を行えば良い。また、予約部11は、指定された機器情報について、指定された予約期間、指定されたソフトウェア、プロジェクト名および利用者名を対応付けた予約内容を予約情報21に格納する。なお、予約部11は、予約情報21を生成し、記憶部20に格納すると説明したが、これに限定されない。予約部11は、予約情報21そのものを外部から受け付けて記憶部20に格納するようにしても良い。
予約連携部12は、特定のタイミングで、予約情報21を参照して、次に使用される期間に対する、物理マシンの機器情報と予約元のアカウント情報との対応関係を対応関係情報24として記憶部20に格納する。すなわち、予約連携部12は、予約情報21を参照して、次に使用される期間に対する、利用者定義とフレーバー定義とを紐付ける。特定のタイミングは、1日のうち、物理マシンが使用されていないタイミングであって、物理マシンが次に使用される時点までに操作が完了可能なタイミングであれば良い。特定のタイミングは、一例として、物理マシンが次に使用される日の午前2時であるが、次に使用される日の前日の午後11時であっても良いし、これらに限定されない。
例えば、予約連携部12は、予約情報21から、順次、機器情報を選択する。そして、予約連携部12は、予約情報21を参照して、選択した機器情報について、次に使用される日の予約が予約期間の開始であるか否かを判定する。一例として、予約期間が10/1〜10/4であったとする。特定のタイミングが10/1の午前2時であるとする。すると、予約連携部12は、次に使用される日である10/1の予約が予約期間の開始であると判定する。また、特定のタイミングが10/2の午前2時であるとする。すると、予約連携部12は、次に使用される日である10/2の予約が予約期間の途中であるので、予約期間の開始でないと判定する。
そして、予約連携部12は、次に使用される日の予約が予約期間の開始であると判定した場合には、選択した機器情報を予約した予約元のアカウント情報(プロジェクト名および利用者名)を利用者定義情報22に格納する。
加えて、予約連携部12は、選択した機器情報について、前の予約の紐付けを解除するとともに、次に使用される日の予約の紐付けを行う。すなわち、予約連携部12は、選択した機器情報に対応するフレーバー名と、選択した機器情報を予約した予約元のアカウント情報(プロジェクト名および利用者名)とを紐付けるため、対応関係情報24に反映する。
そして、予約連携部12は、次に使用される日の予約が予約期間の開始でないと判定した場合には、何もしない。これは、選択した機器情報に対応するフレーバー名と、選択した機器情報を予約した予約元のアカウント情報(プロジェクト名および利用者名)とが、既に、対応関係情報24に紐付けられているからである。
デプロイ部13は、物理マシンの使用要求を受け付けると、対応関係情報24を参照して、使用要求の要求元のアカウント情報に対応付けられたフレーバー名を選択可能にモニタに表示する。すなわち、デプロイ部13は、使用要求の要求元のアカウント情報に対応付けられた機器情報を選択可能に表示する。
そして、デプロイ部13は、表示したフレーバー名のうち、いずれかのフレーバー名の指定を受け付けると、対応関係情報24(またはフレーバー定義情報23)を参照して、指定を受け付けたフレーバー名に対応付けられた属性パラメタ(デプロイ先情報)を特定する。
そして、デプロイ部13は、ノード定義情報25を参照して、特定した属性パラメタ(デプロイ先情報)により特定されるノード名に対する物理マシンに、物理マシンの使用要求で指定されるソフトウェアをデプロイする指示を出力する。ここでいうソフトウェアは、例えば、OSである。これにより、デプロイ部13は、利用者によって予約された物理マシンの貸し出しを確実に行うことができる。言い換えれば、利用者は、物理マシンを使いたいときに使いたいスペック、使いたい機種の物理マシンを使うことが可能となる。
[情報処理装置の処理の一例]
図7は、実施例1に係る情報処理装置の処理の一例を示す図である。なお、図7では、物理マシンを利用するシステムとしてOpenStackが用いられる場合を説明する。
図7に示すように、予約部11は、user1の利用者から予約申請を受け付ける(<1>)。予約部11は、予約申請に含まれるプロジェクト名および利用者名を含む情報を用いてログイン認証をする。予約部11は、ログイン認証に成功すると、利用者から機器名(機器情報)、予約期間および使用したいOSを受け付ける。予約部11は、指定された機器名について、指定された予約期間、指定されたプロジェクト名および利用者名と対応付けた予約内容を予約情報21に格納する。なお、利用者は、例えば、予約内容の一覧を表示する予約一覧表示で、予約内容を確認するようにすれば良い。
予約連携の特定のタイミングが午前2時であるとする。すると、午前2時になると、予約連携部12は、予約情報21から、順次、機器名(機種・号機)を選択する。
そして、予約連携部12は、選択した機器名について、次に使用される日(ここでは本日)の予約が予約期間の開始日である場合には、予約期間が開始するプロジェクト名および利用者名を含む利用者定義を生成する。加えて、予約連携部12は、予約期間が終了した利用者とフレーバーの紐付けを解除するとともに、予約期間が開始する利用者とフレーバーの紐付けを行う(<2a><2b>)。例えば、予約連携部12は、予約期間が開始するプロジェクト名および利用者名が利用者定義情報22に記憶されていない場合には、このプロジェクト名および利用者名を利用者定義情報22に格納する。加えて、予約連携部12は、選択した機器名に対応するフレーバー名と現に紐づいているプロジェクト名および利用者名の紐付を解除する。そして、予約連携部12は、選択した機器名に対応するフレーバー名と、選択した機器名を予約した予約元のプロジェクト名および利用者名とを紐付けるため、対応関係情報24に反映する。すなわち、予約連携部12は、利用者定義情報22のプロジェクト名および利用者名と、フレーバー定義情報23のフレーバー名とを紐付ける。
そして、user1の利用者が、物理マシンの使用要求をすべく、利用者名とパスワードを入力して、OpenStackのダッシュボードへログインする(<3>)。ダッシュボードがログインの認証に成功すると、デプロイ部13は、対応関係情報24を参照して、要求元のプロジェクト名および利用者名に対応付けられたフレーバー名を選択可能にモニタに表示する。
そして、デプロイ部13は、user1の利用者から、表示したフレーバー名のうち、いずれかのフレーバー名の指定を受け付けると、対応関係情報24(またはフレーバー定義情報23)を参照して、指定を受け付けたフレーバー名に対応付けられた属性パラメタ(デプロイ先情報)を特定する。そして、デプロイ部13は、ノード定義情報25を参照して、特定した属性パラメタ(デプロイ先情報)により特定されるノード名に対する物理マシンに、物理マシンの使用要求で指定されたOSをデプロイする指示をOpenStackのIronicに出力する。そして、OpenStackのIronicは、特定された物理マシンに、指定されたOSをインストールする(<4>)。
一例として、user1の利用者が、10/1に物理マシンの使用要求をする場合であるとする。すると、デプロイ部13は、対応関係情報24を参照して、プロジェクト名として「prject−x」、利用者名として「user1」に対応付けられたフレーバー名「RX2540M2−01」を選択可能にモニタに表示する。そして、デプロイ部13は、user1の利用者から、フレーバー名「RX2540M2−01」の指定を受け付けると、対応関係情報24(またはフレーバー定義情報23)を参照して、このフレーバー名に対応付けられた属性パラメタ「RX2540M2−01」を特定する。そして、デプロイ部13は、ノード定義情報25を参照して、特定した属性パラメタ「RX2540M2−01」により特定されるノード名に対する物理マシンに、物理マシンの使用要求で指定されたOSをデプロイする指示をOpenStackのIronicに出力する。そして、OpenStackのIronicは、特定された物理マシンに、指定されたOSをインストールする。
[デプロイ部の操作画面の一例]
図8は、デプロイ部の操作画面の一例を示す図である。なお、図8では、物理マシンを利用するシステムとしてOpenStackが用いられる場合を説明する。
利用者が、物理マシンの使用要求をすべく、ダッシュボードにログインする。ダッシュボードは、ログイン認証に成功すると、インスタンスの起動画面をモニタに表示する。
図8上図には、インスタンスの起動画面の詳細タブが表示されている。利用者が、詳細タブの画面で、インスタンス名を指定する。インスタンス名とは、物理マシンにデプロイされた後の仮想マシンの名称のことをいう。インスタンス名は、任意の名称であれば良い。ここでは、インスタンス名として、「test_instance」が指定されている。
図8中図には、インスタンスの起動画面のソースタブが表示されている。利用者が、ソースタブの画面で、OSのイメージ名を指定する。ここでは、OSのイメージ名として「RHEL7.3」が指定されている。
図8下図には、インスタンスの起動画面のフレーバータブが表示されている。利用者は、フレーバータブの画面で、フレーバー名を指定する。ここでは、利用者が予約した機器情報のフレーバーのみが表示される。すなわち、デプロイ部13は、対応関係情報24を参照して、利用者が予約したプロジェクト名および利用者名に対応付けられたフレーバー名「RX2540M2−01」を選択可能にモニタに表示する。
この後、利用者が、フレーバー名「RX2540M2−01」を指定すると、デプロイ部13は、フレーバー名の指定を受け付け、対応関係情報24(またはフレーバー定義情報23)を参照して、このフレーバー名に対応付けられた属性パラメタを特定する。デプロイ部13は、ノード定義情報25を参照して、特定した属性パラメタにより特定されるノード名に対する物理マシンに、指定されたOS「RHEL7.3」をデプロイする指示をOpenStackのIronicに出力する。そして、OpenStackのIronicは、特定された物理マシンに、指定されたOS「RHEL7.3」をインストールする。
[予約連携処理のフローチャート]
図9は、実施例1に係る予約連携処理のフローチャートの一例を示す図である。なお、予約連携の特定の時刻は、例えば、午前2時であるとする。また、予約開始時の連携処理に対応する処理として、予約終了時に連携解除・回収処理を実施する。
予約連携部12は、予約連携の特定の時刻になったか否かを判定する(ステップS11)。予約連携の特定の時刻になっていないと判定した場合には(ステップS11;No)、予約連携部12は、予約連携の特定の時刻になるまで、判定処理を繰り返す。
一方、予約連携の特定の時刻になっていると判定した場合には(ステップS11;Yes)、予約連携部12は、予約情報21から1つの機器情報を選択する(ステップS12)。
予約連携部12は、予約情報21を参照して、次に使用される日(ここでは本日)の予約が予約期間の開始であるか否かを判定する(ステップS13)。本日の予約が予約期間の開始でないと判定した場合には(ステップS13;No)、予約連携部12は、何もしないで、ステップS16に移行する。これは、選択した機器情報に対応するフレーバー名とアカウント情報(プロジェクト名および利用者名)とが既に紐付いているからである。
一方、本日の予約が予約期間の開始であると判定した場合には(ステップS13;Yes)、予約連携部12は、選択した機器情報について、前の予約の紐付けを解除するため、対応関係情報24に反映する(ステップS14)。例えば、予約連携部12は、選択した機器情報に対応するフレーバー名とアカウント情報(プロジェクト名および利用者名)とが対応付けられているレコードを削除する。
そして、予約連携部12は、本日の予約に対する利用者定義を機器情報に対応するフレーバー名と紐付けるため、対応関係情報24に反映する(ステップS15)。例えば、予約連携部12は、フレーバー定義情報23の、選択した機器情報に対応するフレーバー名と、利用者定義情報22のアカウント情報(プロジェクト名および利用者名)とを対応付けて対応関係情報24に格納する。そして、予約連携部12は、ステップS16に移行する。
ステップS16において、予約連携部12は、全ての機器情報を選択したか否かを判定する(ステップS16)。全ての機器情報を選択していないと判定した場合には(ステップS16;No)、予約連携部12は、次の機器情報を選択すべく、ステップS12に移行する。一方、全ての機器情報を選択したと判定した場合には(ステップS16;Yes)、予約連携部12は、予約連携処理を終了する。
[デプロイ処理のフローチャート]
図10は、実施例1に係るデプロイ処理のフローチャートの一例を示す図である。なお、予約連携部12は、予約連携処理を実行し、対応関係情報24を生成したものとする。
図10に示すように、デプロイ部13は、利用者からログイン入力を受け付けたか否かを判定する(ステップS21)。利用者からログイン入力を受け付けていないと判定した場合には(ステップS21;No)、デプロイ部13は、受け付けるまで、判定処理を繰り返す。
一方、利用者からログイン入力を受け付けたと判定した場合には(ステップS21;Yes)、デプロイ部13は、利用者のログイン認証をする(ステップS22)。そして、デプロイ部13は、ログイン認証に成功したか否かを判定する(ステップS23)。ログイン認証に成功していないと判定した場合には(ステップS23;No)、デプロイ部13は、認証に失敗したので、デプロイ処理を終了する。
一方、ログイン認証に成功したと判定した場合には(ステップS23;Yes)、デプロイ部13は、インスタンスの起動画面の中の詳細タブの画面をモニタに表示し、利用者からインスタンス名を受け付ける(ステップS24)。
そして、デプロイ部13は、インスタンスの起動画面の中のソースタブの画面をモニタに表示し、利用者からOSの指定を受け付ける(ステップS25)。デプロイ部13は、対応関係情報24を参照し、利用者の利用者定義に対応するフレーバー名を含む情報を、インスタンスの起動画面の中のフレーバータブの画面に表示する(ステップS26)。
そして、デプロイ部13は、利用者からデプロイ対象のフレーバー名の指定を受け付ける(ステップS27)。デプロイ部13は、対応関係情報24(またはフレーバー定義情報23)を参照して、フレーバー名に対する属性パラメタを特定する(ステップS28A)。デプロイ部13は、ノード定義情報25を参照して、属性パラメタに対する物理マシンを特定する(ステップS28B)。
そして、デプロイ部13は、特定した物理マシンに、指定されたOSをインストールする(ステップS29)。そして、デプロイ部13は、デプロイ処理を終了する。
[実施例1の効果]
上記実施例1によれば、情報処理装置1は、物理マシンの使用要求を受け付けると、物理マシンと予約元のアカウント情報との対応関係情報24を参照して、使用要求の要求元のアカウント情報に対応付けられたマシン情報を選択可能にモニタに表示する。情報処理装置1は、表示したマシン情報のうち、いずれかのマシン情報の指定を受け付けると、ソフトウェアのデプロイ先の物理マシンを特定するデプロイ先情報をマシン情報に対応付けたフレーバー定義情報23を参照して、指定されたマシン情報に対応付けられたデプロイ先情報を特定する。情報処理装置1は、特定したデプロイ先情報により特定される物理マシンにソフトウェアをデプロイする指示を出力する。かかる構成によれば、情報処理装置1は、予約した物理マシンの貸し出しを確実に行うことができる。
また、上記実施例1によれば、情報処理装置1は、特定のタイミングで、物理マシンのマシン情報ごとに、予約期間および予約元のアカウント情報を対応付けた予約情報21を参照して、次に使用される所定単位の期間に対する、マシン情報と予約元のアカウント情報との対応関係を示す対応関係情報24を記憶部20に格納する。かかる構成によれば、情報処理装置1は、物理マシンのマシン情報と予約元のアカウント情報とを紐付けることで、マシンスペック指定ではなく、マシン情報指定で、物理マシンをデプロイすることが可能となる。この結果、ユーザは、使いときに、使いたいスペック、使いたい機種の物理マシンを使うことが可能となる。
ところで、実施例1では、情報処理装置1が、特定のタイミングで、予約情報21から、予約元のアカウント情報と物理マシンとを紐付けるべく、対応関係情報24を生成する。そして、情報処理装置1は、物理マシンの使用要求を受け付けたタイミングで、対応関係情報24およびノード定義情報25を参照して、使用要求の要求元のアカウント情報に対応付けられた物理マシンをデプロイすると説明した。しかしながら、情報処理装置1は、これに限定されず、特定のタイミングで、予約情報21から、予約元のアカウント情報と物理マシンとを紐付けするとともに、アカウント情報に対応付けられた物理マシンをデプロイするようにしても良い。すなわち、情報処理装置1は、物理マシンの機器情報と物理マシンの使用を予約した予約元のアカウント情報とを紐付けるタイミングで、アカウント情報に対応付けられた物理マシンをデプロイしても良い。
そこで、実施例2に係る情報処理装置1は、物理マシンの機器情報と物理マシンの使用を予約した予約元のアカウント情報とを紐付けるタイミングで、アカウント情報に対応付けられた物理マシンをデプロイする場合を説明する。
[情報処理装置の構成]
図11は、実施例2に係る情報処理装置の構成を示す機能ブロック図である。なお、実施例1の図1に示す情報処理装置1と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例1と実施例2とが異なるところは、予約連携部12Aおよびデプロイ部13Aを変更した点である。
予約連携部12Aは、特定のタイミングで、予約情報21を参照して、次に使用される期間に対する、物理マシンの機器情報と予約元のアカウント情報との対応関係を対応関係情報24として記憶部20に格納する。加えて、予約連携部12Aは、機器情報により特定される物理マシンをデプロイする。なお、特定のタイミングは、1日のうち、物理マシンが使用されていないタイミングであって、物理マシンが次に使用される時点までに操作が完了可能なタイミングであれば良い。特定のタイミングは、一例として、物理マシンが次に使用される日の午前2時であるが、次に使用される日の前日の午後11時であっても良いし、これらに限定されない。
例えば、予約連携部12Aは、予約情報21から、順次、機器情報を選択する。そして、予約連携部12Aは、予約情報21を参照して、選択した機器情報について、次に使用される日の予約が予約期間の開始であるか否かを判定する。一例として、予約期間が10/1〜10/4であったとする。特定のタイミングが10/1の午前2時であるとする。すると、予約連携部12Aは、次に使用される日である10/1の予約が予約期間の開始であると判定する。また、特定のタイミングが10/2の午前2時であるとする。すると、予約連携部12Aは、次に使用される日である10/2の予約が予約期間の途中であるので、予約期間の開始でないと判定する。
そして、予約連携部12Aは、次に使用される日の予約が予約期間の開始であると判定した場合には、選択した機器情報を予約した予約元のアカウント情報(プロジェクト名および利用者名)を利用者定義情報22に格納する。
加えて、予約連携部12Aは、選択した機器情報について、前の予約の紐付けを解除するとともに、次に使用される日の予約の紐付けを行う。すなわち、予約連携部12Aは、選択した機器情報に対応するフレーバー名と、選択した機器情報を予約した予約元のアカウント情報(プロジェクト名および利用者名)とを紐付けるため、対応関係情報24に反映する。
そして、予約連携部12Aは、次に使用される日の予約が予約期間の開始でないと判定した場合には、何もしない。これは、選択した機器情報に対応するフレーバー名と、選択した機器情報を予約した予約元のアカウント情報(プロジェクト名および利用者名)とが、既に、対応関係情報24に紐付けられているからである。
加えて、予約連携部12Aは、該当するフレーバー名が示す物理マシンの使用要求をデプロイ部13Aに依頼する。
デプロイ部13Aは、該当するフレーバー名が示す物理マシンの使用要求を受け付けると、対応関係情報24(またはフレーバー定義情報23)を参照して、該当するフレーバー名に対応付けられた属性パラメタ(デプロイ先情報)を特定する。
そして、デプロイ部13Aは、ノード定義情報25を参照して、特定した属性パラメタ(デプロイ先情報)により特定されるノード名に対する物理マシンに、物理マシンの使用予約で指定されたソフトウェアをデプロイする指示を出力する。ここでいうソフトウェアは、例えば、OSである。これにより、デプロイ部13Aは、利用者によって予約された物理マシンの貸し出しを確実に行うことができる。言い換えれば、利用者は、物理マシンを使いたいときに使いたいスペック、使いたい機種の物理マシンを使うことが可能となる。
[予約連携処理のフローチャート]
図12は、実施例2に係る予約連携処理のフローチャートの一例を示す図である。なお、予約連携の特定の時刻は、例えば、午前2時であるとする。また、予約開始時の連携処理に対応する処理として、予約終了時に連携解除・回収処理を実施する。
予約連携部12Aは、予約連携の特定の時刻になったか否かを判定する(ステップS31)。予約連携の特定の時刻になっていないと判定した場合には(ステップS31;No)、予約連携部12Aは、予約連携の特定の時刻になるまで、判定処理を繰り返す。
一方、予約連携の特定の時刻になっていると判定した場合には(ステップS31;Yes)、予約連携部12Aは、予約情報21から1つの機器情報を選択する(ステップS32)。
予約連携部12Aは、予約情報21を参照して、次に使用される日(ここでは本日)の予約が予約期間の開始であるか否かを判定する(ステップS33)。本日の予約が予約期間の開始でないと判定した場合には(ステップS33;No)、予約連携部12Aは、何もしないで、ステップS38に移行する。これは、選択した機器情報と対応するフレーバー名と、アカウント情報(プロジェクト名および利用者名)とが既に紐付いているからである。また、選択した機器情報に対する物理マシンが既にデプロイされているからである。
一方、本日の予約が予約期間の開始であると判定した場合には(ステップS33;Yes)、予約連携部12Aは、選択した機器情報について、前の予約の紐付けを解除するため、対応関係情報24に反映する(ステップS34)。例えば、予約連携部12Aは、選択した機器情報に対応するフレーバー名とアカウント情報(プロジェクト名および利用者名)とが対応付けられているレコードを削除する。
そして、予約連携部12Aは、本日の予約に対する利用者定義を機器情報に対応するフレーバー名と紐付けるため、対応関係情報24に反映する(ステップS35)。例えば、予約連携部12Aは、フレーバー定義情報23の、選択した機器情報に対応するフレーバー名と、利用者定義情報22のアカウント情報(プロジェクト名および利用者名)とを対応付けて対応関係情報24に格納する。
そして、デプロイ部13Aは、対応関係情報24を参照して、該当するフレーバー名に対する属性パラメタを特定する(ステップS36A)。デプロイ部13Aは、ノード定義情報25を参照して、属性パラメタに対する物理マシンを特定する(ステップS36B)。
そして、デプロイ部13Aは、特定した物理マシンに、物理マシンの使用予約で指定されたOSをインストールする(ステップS37)。そして、デプロイ部13Aは、ステップS38に移行する。
ステップS38において、予約連携部12Aは、全ての機器情報を選択したか否かを判定する(ステップS38)。全ての機器情報を選択していないと判定した場合には(ステップS38;No)、予約連携部12Aは、次の機器情報を選択すべく、ステップS32に移行する。一方、全ての機器情報を選択したと判定した場合には(ステップS38;Yes)、予約連携部12Aは、予約連携処理を終了する。
[実施例2の効果]
上記実施例2によれば、情報処理装置1は、特定のタイミングで、物理マシンのマシン情報ごとに、予約期間および予約元のアカウント情報を対応付けた予約情報21を参照して、次に使用される所定単位の期間に対する、マシン情報と予約元のアカウント情報との対応関係を示す対応関係情報24を記憶部20に格納する。情報処理装置1は、マシン情報に対応付けられたデプロイ先情報を、ソフトウェアのデプロイ先の物理マシンを特定するデプロイ先情報をマシン情報に対応付けたフレーバー定義情報23を参照して特定する。情報処理装置1は、特定したデプロイ先情報により特定される物理マシンにソフトウェアをデプロイする指示を出力する。かかる構成によれば、情報処理装置1は、例えば予約連携する特定のタイミングで、予約された物理マシンの準備を確実に行うことができる。
[その他]
なお、情報処理装置1は、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記した制御部10および記憶部20などの各機能を搭載することによって実現することができる。
また、上記実施例1,2では、情報処理装置1が、予約部11を有すると説明したが、これに限定されない。外部装置が、予約部11の機能を有しても良いし、予約部11を含む予約システムを有しても良い。かかる場合には、予約連携部12は、外部装置に有する予約部11から、予約情報21のデータを取得すれば良い。
また、上記実施例1,2では、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、予約連携部12とデプロイ部13とを統合しても良い。また、予約連携部12を、予約情報21から利用者定義情報22を生成する第1の連携部と、予約情報21から、利用者定義と機器情報に対応するフレーバー名とを紐付ける第2の連携部とに分散しても良い。記憶部20を情報処理装置1の外部装置としてネットワーク経由で接続するようにしても良い。
また、上記実施例1,2で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図1に示した情報処理装置1と同様の機能を実現する制御プログラムを実行するコンピュータの一例を説明する。図13は、制御プログラムを実行するコンピュータの一例を示す図である。
図13に示すように、コンピュータ200は、各種演算処理を実行するCPU203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209を制御する表示制御部207とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD(Hard Disk Drive)205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。
ドライブ装置213は、例えばリムーバブルディスク211用の装置である。HDD205は、制御プログラム205aおよび制御関連情報205bを記憶する。
CPU203は、制御プログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは、情報処理装置1の各機能部に対応する。制御関連情報205bは、利用者定義情報22、フレーバー定義情報23、対応関係情報24およびノード定義情報25に対応する。そして、例えばリムーバブルディスク211が、制御プログラム205a等の各情報を記憶する。
なお、制御プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、光磁気ディスク、IC(Integrated Circuit)カード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらから制御プログラム205aを読み出して実行するようにしても良い。
以上の実施例1〜2を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)物理マシンの使用要求を受け付けると、記憶部に記憶された物理マシンと予約元のアカウント情報との対応関係を参照して、前記使用要求の要求元のアカウント情報に対応付けられたマシン情報を選択可能に表示部に表示し、
表示した前記マシン情報のうち、いずれかのマシン情報の指定を受け付けると、ソフトウェアのデプロイ先の物理マシンを特定するデプロイ先情報をマシン情報に対応付けて記憶する記憶部を参照して、指定された前記マシン情報に対応付けられたデプロイ先情報を特定し、
特定した前記デプロイ先情報により特定される前記物理マシンに前記ソフトウェアをデプロイする指示を出力する、
処理をコンピュータが実行することを特徴とする制御方法。
(付記2)特定のタイミングで、物理マシンのマシン情報ごとに、予約期間および予約元のアカウント情報を対応付けた予約情報を参照して、次に使用される所定単位の期間に対する、前記マシン情報と予約元のアカウント情報との対応関係を前記記憶部に格納する、
ことを特徴とする付記1に記載の制御方法。
(付記3)物理マシンの使用要求を受け付けると、記憶部に記憶された物理マシンと予約元のアカウント情報との対応関係を参照して、前記使用要求の要求元のアカウント情報に対応付けられたマシン情報を選択可能に表示部に表示する表示制御部と、
前記表示制御部によって表示された前記マシン情報のうち、いずれかのマシン情報の指定を受け付けると、ソフトウェアのデプロイ先の物理マシンを特定するデプロイ先情報をマシン情報に対応付けて記憶する記憶部を参照して、指定された前記マシン情報に対応付けられたデプロイ先情報を特定する特定部と、
前記特定部によって特定された前記デプロイ先情報により特定される前記物理マシンに前記ソフトウェアをデプロイする指示を出力する出力部と、
を有することを特徴とする情報処理装置。
(付記4)物理マシンの使用要求を受け付けると、記憶部に記憶された物理マシンと予約元のアカウント情報との対応関係を参照して、前記使用要求の要求元のアカウント情報に対応付けられたマシン情報を選択可能に表示部に表示し、
表示した前記マシン情報のうち、いずれかのマシン情報の指定を受け付けると、ソフトウェアのデプロイ先の物理マシンを特定するデプロイ先情報をマシン情報に対応付けて記憶する記憶部を参照して、指定された前記マシン情報に対応付けられたデプロイ先情報を特定し、
特定した前記デプロイ先情報により特定される前記物理マシンに前記ソフトウェアをデプロイする指示を出力する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
(付記5)特定のタイミングで、物理マシンのマシン情報ごとに、予約期間および予約元のアカウント情報を対応付けた予約情報を参照して、次に使用される所定単位の期間に対する、前記マシン情報と予約元のアカウント情報との対応関係を記憶部に格納し、
前記マシン情報に対応付けられたデプロイ先情報を、ソフトウェアのデプロイ先の物理マシンを特定するデプロイ先情報をマシン情報に対応付けて記憶する記憶部を参照して特定し、
特定した前記デプロイ先情報により特定される前記物理マシンに前記ソフトウェアをデプロイする指示を出力する、
処理をコンピュータが実行することを特徴とする制御方法。
(付記6)特定のタイミングで、物理マシンのマシン情報ごとに、予約期間および予約元のアカウント情報を対応付けた予約情報を参照して、次に使用される所定単位の期間に対する、前記マシン情報と予約元のアカウント情報との対応関係を記憶部に格納する格納部と、
前記マシン情報に対応付けられたデプロイ先情報を、ソフトウェアのデプロイ先の物理マシンを特定するデプロイ先情報をマシン情報に対応付けて記憶する記憶部を参照して特定する特定部と、
前記特定部によって特定された前記デプロイ先情報により特定される前記物理マシンに前記ソフトウェアをデプロイする指示を出力する出力部と、
を有することを特徴とする情報処理装置。
(付記7)特定のタイミングで、物理マシンのマシン情報ごとに、予約期間および予約元のアカウント情報を対応付けた予約情報を参照して、次に使用される所定単位の期間に対する、前記マシン情報と予約元のアカウント情報との対応関係を記憶部に格納し、
前記マシン情報に対応付けられたデプロイ先情報を、ソフトウェアのデプロイ先の物理マシンを特定するデプロイ先情報をマシン情報に対応付けて記憶する記憶部を参照して特定し、
特定した前記デプロイ先情報により特定される前記物理マシンに前記ソフトウェアをデプロイする指示を出力する、
処理をコンピュータに実行させることを特徴とする制御プログラム。