JP2014115905A - 情報処理装置、情報処理方法、およびプログラム - Google Patents

情報処理装置、情報処理方法、およびプログラム Download PDF

Info

Publication number
JP2014115905A
JP2014115905A JP2012270638A JP2012270638A JP2014115905A JP 2014115905 A JP2014115905 A JP 2014115905A JP 2012270638 A JP2012270638 A JP 2012270638A JP 2012270638 A JP2012270638 A JP 2012270638A JP 2014115905 A JP2014115905 A JP 2014115905A
Authority
JP
Japan
Prior art keywords
virtual server
application
information
server
remaining resource
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
JP2012270638A
Other languages
English (en)
Inventor
Yasunao Mimura
康直 三村
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.)
Canon Marketing Japan Inc
Canon IT Solutions Inc
Canon MJ IT Group Holdings Inc
Original Assignee
Canon Marketing Japan Inc
Canon MJ IT Group Holdings Inc
Canon Software Inc
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 Canon Marketing Japan Inc, Canon MJ IT Group Holdings Inc, Canon Software Inc filed Critical Canon Marketing Japan Inc
Priority to JP2012270638A priority Critical patent/JP2014115905A/ja
Publication of JP2014115905A publication Critical patent/JP2014115905A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】 アプリケーションの終了時刻などユーザの要求を満たした上で、最低限の運用コストとなるようにリソースの算出、および仮想サーバとアプリケーションの配置を行う実行制御サーバを提供する。
【解決手段】 実行制御サーバは、クラウドサービスにおいて、実行予定のアプリケーションをいずれの仮想サーバで実行させることが最適であるか、最適解を算出する。具体的には、新たに実行開始する予定のアプリケーションに関する実行予定情報と、アプリケーションを実行可能な仮想サーバの要求スペック情報と、既にインスタンス化されている仮想サーバにおける使用可能な残リソース情報に基づき、最適解を算出する。その最適解に基づき、必要であれば仮想サーバをインスタンス化し、アプリケーションを起動する。
【選択図】図9

Description

本発明は、仮想サーバにおいてアプリケーションを実行する際に、いずれのアプリケーションをいずれの仮想サーバで実行すべきかを、コストに基づき最適に決定し、仮想サーバをインスタンス化し、アプリケーションを起動する実行制御サーバするに関する。
ハードウェアであるサーバのリソース(CPU、メモリなどの資源)を、ソフトウェアを用いて仮想的に複数のサーバとして分割する仮想サーバと呼ばれる技術が知られている。
例えば、クラウドコンピューティング(以下単にクラウドとする)と呼ばれるインターネット上のサービスにおいては、例えばユーザ企業のアプリケーションを、クラウド上における仮想サーバ上に構築(インストール、設定など)させ、利用させることでサービスが提供される。
サービス形態は、従量制(使用したリソース、時間など)に対する課金となるため、ユーザ企業にとっては、企業内にハードウェアを設置する場合と比べて、初期投資費用が大きく抑制されるというメリットが得られる。例えば、ユーザ企業は、通常であれば企業内にあるハードウェア上にアプリケーションを構築するかわりに、クラウドサービス上の“仮想サーバ”にアプリケーションを構築する。
仮想サーバは、アプリケーションを動作させる必要がない場合には、破棄することにより“サーバーイメージのファイル”(以下単にイメージ)となり、ほぼ料金はかからない。また、アプリケーションを実行する場合には、“仮想サーバ”のインスタンス化をすることで、実際のハードウェアのサーバのように使用可能な状態となり、内部にインストールされたアプリケーションを起動でき、この場合に、前述の従量制課金がなされる。
従って、企業内にハードウェアを用意する場合であれば、使用するピーク(1日の中、1月の中、1年の中のピーク)にあわせたリソースを用意する必要があるのに対して、クラウドにおいては、通常は、サーバはイメージとして非常に安価な課金がなされ、実行時にインスタンスとして、従量制課金がなされる、というコスト的なメリットが大きい。
しかしながら、クラウドベンダーは、通常、標準モデルとして幾つかのスペックを用意し、ユーザ企業と契約を行う。例えば、高スペック、中スペック、低スペックの仮想サーバとして、具体的なスペックを提示して、料金を決定している。従って、いくら安価であるとは言え、ユーザ企業として、高スペックの仮想サーバを契約し、処理負荷の少ないアプリケーションを実行するようなことはせず、最適なスペックの仮想サーバを契約する必要がある。あるいは、複数の仮想サーバを契約し、同じアプリケーションを構築しておき、処理する際のデータ量などに合わせて、いずれのスペックの仮想サーバをインスタンス化するか、を判断する方法も考えられる。
特許文献1では、仮想マシン、仮想マシンが配置されているホスト、および仮想マシンを操作するユーザ端末と通信可能な管理サーバであって、仮想マシンの体感性能を変更する要求を示す入力信号をユーザ端末から取得し、仮想マシンおよびホストの性能を示すシステム情報を仮想マシンおよびホストから取得する取得部と、取得部によって取得された入力信号に応じて、仮想マシンに必要なリソースの割り当てを算出するリソース算出部と、リソース算出部によって算出されたリソースの割り当てと、取得部によって取得されたシステム情報とに基づいて、仮想マシンの配置構成を決定する決定部と、決定部による決定に従って、仮想マシンの配置を指示する指示部とを備える管理サーバに関する技術を提供している。
特開2011−210134号公報
しかし、特許文献1における管理サーバは、体感性能が要求に満たない場合には、新規に仮想マシンをインスタンス化してアプリケーションの実行を再配置するものである。すなわち、すでにインスタンス化された仮想マシンが存在する状態で、他のアプリケーションを追加で実行する場合に、既にインスタンス化されている仮想マシン上で実行可能かどうかを算出することを考慮していない。
従って、例えば他のアプリケーションを追加で実行する場合に、“時間がかかってもよいから安価な方を選びたい”というリソースの算出、配置に関しての運用をすることができない。
本発明の目的は、以上の問題を解決するためのものであり、アプリケーションの終了時刻などユーザの要求を満たした上で、最低限の運用コストとなるようにリソースの算出、および仮想サーバとアプリケーションの配置を行う実行制御サーバを提供することである。
本発明は、物理サーバとネットワークを介して接続可能であって、該物理サーバにおける仮想環境で動作する仮想サーバおよび該仮想サーバに構築されている1または複数のアプリケーションの実行を制御する情報処理装置であって、前記アプリケーションを実行するために要求される前記仮想サーバのスペックを要求スペック情報として、要求スペック情報記憶手段に記憶させる要求スペック情報登録手段と、新たに実行を開始する前記アプリケーションに関する実行予定情報を、実行予定情報記憶手段に記憶させる実行予定情報登録手段と、前記物理サーバにおいて実行可能な状態にインスタンス化されている前記仮想サーバにおける使用可能なリソースのうち残リソース総計と、該仮想サーバにおいて実行されているアプリケーションに関する情報を残リソース情報として、残リソース情報記憶手段に記憶させる残リソース情報登録手段と、前記実行予定情報記憶手段の前記実行予定情報と、前記要求スペック情報記憶手段の前記要求スペック情報と、前記残リソース情報記憶手段の前記残リソース情報とに基づき、実行すべきアプリケーションを、いずれの前記仮想サーバにおいて実行するかの最適解を決定する最適解算出手段と、前記最適解算出手段の前記最適解により、インスタンス化するよう指定された前記仮想サーバをインスタンス化し、該仮想サーバの前記残リソース情報を前記残リソース情報記憶手段に登録するインスタンス生成手段と、前記最適解算出手段の前記最適解により、指定の前記仮想サーバにおいて起動するよう指定された前記アプリケーションを起動させるアプリケーション起動手段と、を備えることを特徴とする。
本発明により、アプリケーションの終了時刻などユーザの要求を満たした上で、最低限の運用コストとなるようにリソースの算出、および仮想サーバとアプリケーションの配置を行う実行制御サーバの提供が可能となった。
本発明の実施形態に係わるシステム構成の一例を示す図である。 本発明の実施形態に係わる実行制御サーバに適用可能なハードウェア構成の一例を示すブロック図である。 本発明の実施形態に係る物理サーバ内の仮想サーバのイメージおよびインスタンス化された状態を示すイメージ図である。 本発明の実施形態に係るアプリケーションを追加で実行する際の実行制御を示すイメージ図である。 本発明の実施形態に係る実行するアプリケーションと処理するデータ量に対し、要求される仮想サーバのスペックを算出するためのデータ構成の一例を示す図である。 本発明の実施形態に係る利用する仮想サーバと、その課金される金額を対応付けるデータ構成の一例を示す図である。 本発明の実施形態に係るインスタンス化されている仮想サーバに残リソース量を対応付けるデータ構成の一例を示す図である。 本発明の実施形態に係る追加で実行が予定されているアプリケーションに関する情報を管理するデータ構成の一例を示す図である。 本発明の実施形態に係る実行制御サーバのインスタンス化とアプリケーションの起動の処理の一例を示すフローチャートである。 本発明の実施形態に係る実行制御サーバの破棄の処理の一例を示すフローチャートである。
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
図1は、本発明の実施形態に係わるシステム構成の一例を示す図である。
実行制御サーバ101、クライアント端末108、管理者端末104、物理サーバ102、ストレージサーバ107は、ネットワーク105(LANなど)およびインターネットなどにより接続されている。
物理サーバ102は、本発明では、クラウドベンダーなどが提供する情報処理装置である(図2を参照)。
仮想サーバ103は、例えばインターネット上でクラウドサービスを提供するベンダーがユーザ企業などに提供する仮想的な情報処理装置である。すなわち、仮想サーバ103は、実際には物理サーバ102上で動作するソフトウェアであり、例えば、情報処理装置(ハードウェアおよびOS(Operating System))をエミュレートされるものである。仮想サーバ103には技術的に他の実現方法もあるが、本発明においては、仮想サーバ103の実現方法は特定するものではない。ユーザ企業などは、例えば管理者端末104から仮想サーバ103を利用するためベンダーと契約し、アプリケーション106の開発や設定を行い、ユーザ企業内のエンドユーザ(従業員)などが、クライアント端末108からアプリケーションを利用する。なお、これらは仮想化技術により、仮想サーバを動かす物理サーバが備えている機能や周辺機器とは関係なく、仮想サーバに機能などを提供するものであり、この環境を“仮想環境”と呼ぶことがある。
なお、仮想サーバ103は、物理サーバ102のように電源を切って停止している状態と、電源を入れて起動した実行している状態があるわけではないが、対応する概念としてイメージとインスタンス、がある。具体的には、イメージとは、仮想サーバ(仮想的な情報処理装置であり、アプリケーションを含んでいてもよい)が実行されていない状態であり、物理サーバの「停止」している状態に対応する。イメージは、物理サーバ102上の静的なファイルである。インスタンスとは、前述のイメージをインスタンス化(物理サーバ102の「起動」に対応)により、インスタンスとして物理サーバの「実行」に対応する状態となる。逆にインスタンスを破棄(物理サーバの「停止」に対応)することが可能である。インスタンスを「破棄」すると、破棄直前の時点でのインスタンスの状態をそのままにイメージとして静的なファイルになる。
ストレージサーバ107は、クラウド上において、アプリケーション106の外部ストレージとして提供されるサービスである。アプリケーション106を停止する際にストレージサーバ107の格納先にデータを格納することで、アプリケーション106を再起動する際に、データの再利用が可能となる。従って、仮想サーバ103を破棄する際に、実行していたアプリケーション106がデータをストレージサーバ107に格納するようにしておくことで、アプリケーション106を正常に再起動可能とする。アプリケーション106と同一の仮想サーバ103内にデータを格納しておいてもよいが、ストレージサーバ107に格納することにより、仮想サーバ103を破棄した後、他の仮想サーバ103のアプリケーション106からデータを利用することが可能となる。
実行制御サーバ101(情報処理装置)は、物理サーバ102上にある仮想サーバ103のインスタンス化/破棄と、仮想サーバ103上のアプリケーション106の起動/停止を管理する。1または複数のアプリケーション106を、例えば時間的な制約がある中で、如何に最も安いコストで実行させるか、をコントロールする。その際、実行制御サーバ101は、仮想サーバ103のスペックを取得して、様々条件から最適な状態を算出する。実行制御サーバ101は、ユーザ企業などのネットワーク105に接続されていてもよいし、またそれ自体がクラウドサービス上の仮想サーバ103として構築されていてもよい。
ここでスペックとは、仮想サーバ103においてエミュレートされているCPUの性能、メモリ(RAM202など)の容量、ストレージとの通信速度などである。クラウドベンダーは、通常、利用価格が高額ではあるが短時間でアプリケーション106の処理を完了するスペックが高い仮想サーバ103、低額定額であるが処理に長時間かかるスペックが低い仮想サーバ103を用意し、ユーザ企業の運用に応じて選択させる。仮想サーバ103を使用していないときは、破棄しイメージにしておくことで、ほぼ料金のかからない状態となる。すなわち、クラウドベンダーのサービスにおけるユーザ企業のコスト的な負担は、仮想サーバ103を実行している間の従量課金制が主なものとなる。
図2は、本発明の実施形態に係わる実行制御サーバに適用可能なハードウェア構成の一例を示すブロック図である。なお、このハードウェア構成は、物理サーバ102、管理者端末104、クライアント端末108にも適用可能である。さらに、仮想サーバ103においても、これらの構成の一部または全てをエミュレートしている。
図2に示すように、実行制御サーバ101は、システムバス204を介してCPU(Central Processing Unit)201、RAM(Random Access Memory)202、ROM(Read Only Memory)203、入力コントローラ205、ビデオコントローラ206、メモリコントローラ207、通信I/Fコントローラ208等が接続された構成を採る。
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input/Output System)やOS(Operating System)や、各サーバあるいは各PCが実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。また、本発明を実施するために必要な情報が記憶されている。なお外部メモリはデータベースであってもよい。
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM203あるいは外部メモリ211からRAM202にロードし、ロードしたプログラムを実行することで各種動作を実現する。
また、入力コントローラ205は、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。
ビデオコントローラ206は、ディスプレイ210等の表示器への表示を制御する。尚、表示器は液晶ディスプレイ等の表示器でもよい。これらは、必要に応じて管理者が使用する。
メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、あるいは、PCMCIA(Personal Computer Memory Card International Association)カードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ208は、ネットワーク105を介して外部機器と接続・通信し、ネットワークでの通信制御処理を実行する。例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)を用いた通信等が可能である。
尚、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上に表示することが可能である。また、CPU201は、ディスプレイ210上のマウスカーソル(図示しない)等によるユーザ指示を可能とする。
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイルおよび各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明についても後述する。
図3は、本発明の実施形態に係る物理サーバ内の仮想サーバのイメージおよびインスタンス化された状態を示すイメージ図である。物理サーバ102における仮想サーバ103には、前述の通りイメージの状態(物理サーバの停止状態に相当)とインスタンスの状態(物理サーバの実行状態に相当)がある。
仮想サーバ103aにおいて、内部的にはアプリケーション106a〜106cが構築されている。しかし仮想サーバ103aはイメージの状態、すなわち物理サーバ102における静的なファイルに過ぎず、アプリケーション106も、ファイルの一部を構成しているに過ぎない。
一方、アプリケーション106を起動/実行するためには、インスタンス化する(仮想サーバbの状態)。その上で、図3の例では、アプリケーション106a、106cを起動し、実行状態としている。また、アプリケーション106cは停止のままである。
図4は、本発明の実施形態に係るアプリケーションを追加で実行する際の実行制御を示すイメージ図である。図4では、既に仮想サーバ103aがインスタンス化されており、その中でアプリケーション106aが実行されているものとする(状態(1))。
ここでアプリケーション106bを起動する場合には、2つの方法がある。
まず、既にインスタン化されている仮想サーバ103aにおいて、アプリケーション106bを起動/実行する方法である(状態(2))。もちろん、仮想サーバ103aのスペックがユーザ企業の条件(例えば処理時間などにおいて、アプリケーション106a、bの両方を完了するなど)を満たす必要がある。
次に、新たに仮想サーバ103bをインスタンス化し、仮想サーバ103bにおいて、アプリケーション106bを起動/実行する方法である(状態(3))。図4の状態(3)では、物理サーバ102(a,b)が2つであるかのような図になっているが、実際には1つでも2つでもよい。仮想サーバ103が2つになっていることを説明したいための図に過ぎず、ユーザ企業にとっては、各仮想サーバのスペックが条件を満たしていればよく、また仮想サーバ103単位でのクラウドベンダーと契約するので、いずれの場合でもコストはかからない。
図5から図8の記憶部は、実行制御サーバ101内、または実行制御サーバ101から参照可能なデータベースに記憶されているものである。これら記憶部は、図9、図10のフローチャート、すなわちアプリケーション106の起動を制御し、およびアプリケーション106の起動/終了に伴い必要な仮想サーバ103のインスタンス化あるいは破棄を制御するために実行制御サーバ101から参照される。
図5は、本発明の実施形態に係る実行するアプリケーションと処理するデータ量に対し、要求される仮想サーバのスペックを算出するためのデータ構成の一例を示す図である。
要求スペック情報記憶部500は、アプリケーション名501、データ量502、負荷算出503等のデータ項目から構成されるデータベースである。また、データ量502は、例として件数(処理すべきデータの数)となっているが、単位はなんでもよい。アプリケーション毎に異なってもよい(他の例として処理データサイズ総計等)。
アプリA、Bにおいては、データ量502が複数の段階に分かれ、各々負荷算出503に「補助テーブル」(1)〜(6)と記載されている。これは、データ量(ここでは件数)に応じて、補助テーブルを参照することにより、処理時間を概算する。補助テーブル(1)を例にすると、アプリAによるCPU負荷511(占有率)と使用する仮想サーバのスペック(512〜514)に応じて、データ量502に記載されたデータ量を処理するための時間がマッピングされている。データ量(件数)に幅があるため、概算である。
また、アプリCにおいては、負荷算出503は、データ量502に対するマッピングではなくスペック算出式(F)により定義される例を記載している。アプリA、Bがデータ量502に対して段階的に分割されているのに対し、計算式によりデータ量502に応じてより算出する。
あくまでこれらの負荷算出の方法は例であり、他の方法であってもよい。また、図5ではCPUの負荷を対応付けており「100%」の場合のデータ項目も記載されているが、例えば、CPUは必ずしも1つのアプリケーションで100%占有できるわけではない。例えば、メモリ容量、ストレージとの通信速度、データの書き込み/読み取り速度などを総合的に算出する必要があるが、図5では、CPU以外は省略している。以降、説明の簡略化のため同様に省略するが、常に様々な制約からのスペック、負荷を算出するものとする。
また、仮想サーバスペック(512〜514)はあくまで例であり、クラウドベンダーにより異なる分類、異なる段階数で提供される。
図6は、本発明の実施形態に係る利用する仮想サーバと、その課金される金額を対応付けるデータ構成の一例を示す図である。
課金情報記憶部600は、仮想サーバスペック601、従量課金602(1時間単価等)等のデータ項目により構成されるデータベースである。
仮想サーバスペック601が3段階であること、また従量課金602が1時間単位の単価で計算されること、また金額はあくまで例である。
図7は、本発明の実施形態に係るインスタンス化されている仮想サーバに残リソース量を対応付けるデータ構成の一例を示す図である。図7の残リソース情報記憶部700の例では、2つの仮想サーバ(701、702)がインスタンス化されている。
各々の仮想サーバに対して、残リソース情報として、サーバ種別711、残リソース総計712、各々のアプリケーション106に対する残リソース(例ではCPU)の占有率713、推定残処理時間714、終了要求時刻715等のデータ項目が記載されている。
残リソース総計712は、例えばCPUが実行中の各アプリに使用されることにより、他のアプリが実行された場合にどの程度使用可能か、ということを示す。
各々のアプリケーション106に対する占有率713は、リソースをどの程度使用しているかを示す。例ではCPUのみだが、前述のように他のリソースも記載する必要がある。
また、推定残処理時間714は、残りのデータ量を処理するために必要と推定される時間が記載されている。
終了要求時刻715は、そのアプリケーション106が運用上完了しなければならない時刻である。
現在時刻に推定残処理時間714を加えても余裕がある場合や、現在実行しているアプリケーション106が使用しているリソースの占有率713を落とさずに他のアプリケーション106を残リソース総計712で実行可能であれば、同一の仮想サーバ103において他のアプリケーション106を起動/実行させることができる。
図8は、本発明の実施形態に係る追加で実行が予定されているアプリケーションに関する情報を管理するデータ構成の一例を示す図である。
実行予定情報記憶部800は、アプリケーション名801、データ量802、開始予定時刻803、終了要求時刻804等のデータ項目から構成されるデータベースである。
図8から、アプリケーション106を実行するために必要なスペックの仮想サーバ103を算出し、現在インスタンス化されている仮想サーバ103内で実行可能(終了時刻などの要求を満たす)なら、その仮想サーバ103でアプリケーション106を起動する(相乗りする)。そうでなければ、新たに仮想サーバ103の中で適切なものを算出し、インスタンス化し、そこでアプリケーション106を実行する。算出には、図5、図6を用いる。
図9、図10においては、ユーザ企業が契約し、使用可能なスペックにおける仮想サーバ103のインスタンス化、破棄についての処理を説明する。当然のことながらユーザ企業が、ユーザ企業によって開発あるいはインストール/設定したアプリケーション106を含む仮想サーバ103に関する処理である。また、便宜上、当該ユーザ企業が使用するアプリケーション106は、各々の仮想サーバ103に含まれているものとする。ただしあくまで例であり、例えば、あるアプリケーション106を実行するために明らかにスペックが不足している仮想サーバ103にまでインストールさせる必要はない。また、いずれの仮想サーバ103がいずれのアプリケーション106を含んでいるかは、インストール情報記憶部(不図示)に格納されているとする。
図9は、本発明の実施形態に係る仮想サーバのインスタンス化とアプリケーションの起動の処理の一例を示すフローチャートである。図9のフローチャートの各ステップは、実行制御サーバ101のCPU201により実行される。
S901においては、実行予定情報記憶部800に基づき、開始予定時刻803が現在の時刻となっている実行予定情報があるか否かを判定する。なければ図9のフローチャートを完了する。あればS902に進む。
S902においては、S901で開始予定時刻803が現在の時刻となっている実行予定情報の他のデータ項目を取得する。
S903においては、インスタンス化された仮想サーバ103があるか否かを判定する。あればS904に進む。なければS905に進む。
S904においては、現在インスタンス化されている全ての仮想サーバ103における残リソース情報を取得する。
S905においては、インストール情報記憶部に記憶されたインストール情報の仮想サーバ103のうち、インスタンス化されていない全ての仮想サーバ103のスペックを取得する。
S906においては、追加で実行すべきアプリケーション106をいずれの仮想サーバ103上で実行すれば最適であるかを算出する(最適解算出部)。ここで最適であるとは、各々のアプリケーション106の終了要求時刻(図7の715)を条件(制約条件)として満たすように実行した上で、課金を最小限にすることである。
具体的には、既にインスタンス化されている仮想サーバ103を考慮した上で、いずれの仮想サーバ103を新たにインスタンス化し、それぞれの仮想サーバ103においていずれのアプリケーション106を実行するか、の組み合わせを計算する。その際に、例えば終了要求時刻などの制約条件が近いアプリケーションを同じ仮想サーバ103で実行することなども考慮した組み合わせ問題に帰着される。これらの組み合わせ問題は配送の問題(大きさが異なる複数のトラックに如何に荷物を積み込み、複数の目的地に配送するか)や、生産管理の最適化などにより周知の技術なので、詳細の説明は省略する。
S907からS913のループ処理は、全ての追加で実行すべきアプリケーション106(S902で取得した情報)の各々のアプリケーション106についての繰り返し処理である。
S908においては、起動する1つのアプリケーション106に着目する。
S909においては、着目中のアプリケーション106を実行する仮想サーバ103(S906で指定された仮想サーバ103)は、既にインスタンス化されているか否かを判定する。インスタンス化されていない場合(NOの場合)には、S910に進む。インスタンス化されている場合(YESの場合)には、S911に進む。
S910においては、着目中のアプリケーション106を起動するための仮想サーバ103をインスタンス化し、その情報を残リソース情報記憶部700に追加する(インスタンス生成部)。
S911においては、着目中のアプリケーション106を、指定の仮想サーバ103において起動する(アプリケーション起動部における起動処理)。
S912においては、着目中のアプリケーション106を起動したことに基づいて、残リソース情報記憶部700における指定の仮想サーバ103の残リソース情報を更新する(アプリケーション起動部における残リソース情報の更新処理)。
以上の処理により、新たにアプリケーション106を起動する際に、既にインスタンス化されている仮想サーバ103と新たにインスタンス化する仮想サーバ103を最適に組み合わせ、制約条件を満たし、且つ最小限のコストでアプリケーション106を実行/終了することが可能となる。
以上で、図9のフローチャートの説明を完了する。
図10は、本発明の実施形態に係る仮想サーバの破棄の処理の一例を示すフローチャートである。図10のフローチャートの各ステップは、実行制御サーバ101のCPU201により実行される。この処理を実行するのは、アプリケーション106のうち処理が完了したものがあり、残リソース情報記憶部700が更新され、実際に仮想サーバ103の残リソースが増加している場合である。なおアプリケーション106の処理が完了したことは、実行制御サーバ101が監視することにより判定され、残リソース情報記憶部700の更新も、実行制御サーバ101により処理されてもよい。
また、実際には仮想サーバ103の破棄(インスタンスをイメージ戻すこと)だけではなく、実行を継続するアプリケーション106をいずれの仮想サーバ103上で実行するかに関して改めて最適な算出をするため、新しい仮想サーバ103をインスタンス化する場合もあり得る。
S1001においては、インスタンス化された仮想サーバ103があるか否かを判定する。具体的には、残リソース情報記憶部700に登録された残リソース情報があるか否かを判定する。仮想サーバ103がある場合には、S1002に進む。ない場合には、図10のフローチャートを完了する。
S1002においては、実行中のアプリケーション106をいずれの仮想サーバ103上で実行すれば最適であるかを算出する(最適解算出部)。ここで最適であるとは、S906で説明したものと同じ意味である。また、最適化するために、後述のステップにおいて、実行中のアプリケーション106を一旦停止し、他の仮想サーバ103で再起動する場合もあり得る。
S1003からS1006のループ処理は、最適化するために追加でインスタンス化する必要がある全ての仮想サーバ103に対する繰り返し処理である。
S1004においては、インスタンス化すべき(インスタンス化前のイメージである)1つの仮想サーバ103に着目する。
S1005においては、着目中の仮想サーバ103をインスタンス化し、その情報を残リソース情報記憶部700に追加する(インスタンス生成部)。
S1007からS1011のループ処理は、アプリケーション106が現在実行されている仮想サーバ103とは別の、新たに指定された他の仮想サーバ103において実行されるよう、S1002の最適化において判定されたものについての処理を繰り返す。
S1008においては、1つのアプリケーション106に着目する。すなわち、別の仮想サーバ103で再起動するよう指定されたアプリケーション106のうちの1つに着目する。
S1009においては、仮想サーバ103において実行中である着目中のアプリケーションを停止させる。また、残リソース情報記憶部700の仮想サーバ103に対応する残リソース情報から、停止したアプリケーションの情報を削除し、また、残リソース総計712を更新する(アプリケーション再起動部において実行されるアプリケーション停止部)。
S1010においては、新たに指定された他の仮想サーバ103において着目中のアプリケーションを再起動させる。また、残リソース情報記憶部700の新たに指定された他の仮想サーバ103に対応する残リソース情報に、再起動したアプリケーションの情報を追加し、また、残リソース総計712を更新する(アプリケーション再起動部において実行されるアプリケーション起動部)。
S1012からS1015のループ処理は、インスタンス化されていたが、最適化の結果、破棄されることになる全ての仮想サーバ103に対する繰り返し処理である。すなわち、実行しているアプリケーション106が1つもない仮想サーバ103に対する繰り返し処理である。
S1013においては、(現在インスタンス化されているが、破棄してイメージにすべき)1つの仮想サーバ103に着目する。
S1014においては、着目中の仮想サーバ103を破棄し(イメージにし)、その情報を残リソース情報記憶部700から削除する(インスタンス破棄部)。
図10で説明した処理は、例えば一定時間毎、1つのアプリケーション106が完了する毎、などに実行(再実行)することで、随時、インスタンス化する仮想サーバ103を最適化する効果が得られる。その他、所望のタイミングで実行させるよう実装することが可能である。
以上により、図10のフローチャートの説明を完了する。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、本発明におけるプログラムは、図9に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図9の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図9の各装置の処理方法ごとのプログラムであってもよい。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。 さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
101 実行制御サーバ
102 物理サーバ
103 仮想サーバ
104 管理者端末
105 ネットワーク
106 アプリケーション
107 ストレージサーバ
108 クライアント端末

Claims (6)

  1. 物理サーバとネットワークを介して接続可能であって、該物理サーバにおける仮想環境である仮想サーバおよび該仮想サーバに構築されている1または複数のアプリケーションの実行を制御する情報処理装置であって、
    前記アプリケーションを実行するために要求される前記仮想サーバのスペックを要求スペック情報として、要求スペック情報記憶手段に記憶させる要求スペック情報登録手段と、
    新たに実行を開始する前記アプリケーションに関する実行予定情報を、実行予定情報記憶手段に記憶させる実行予定情報登録手段と、
    前記物理サーバにおいて実行可能な状態にインスタンス化されている前記仮想サーバにおける使用可能なリソースのうち残リソース総計と、該仮想サーバにおいて実行されているアプリケーションに関する情報を残リソース情報として、残リソース情報記憶手段に記憶させる残リソース情報登録手段と、
    前記実行予定情報記憶手段の前記実行予定情報と、前記要求スペック情報記憶手段の前記要求スペック情報と、前記残リソース情報記憶手段の前記残リソース情報とに基づき、実行すべきアプリケーションを、いずれの前記仮想サーバにおいて実行するかの最適解を決定する最適解算出手段と、
    前記最適解算出手段の前記最適解により、インスタンス化するよう指定された前記仮想サーバをインスタンス化し、該仮想サーバの前記残リソース情報を前記残リソース情報記憶手段に登録するインスタンス生成手段と、
    前記最適解算出手段の前記最適解により、指定の前記仮想サーバにおいて起動するよう指定された前記アプリケーションを起動させるアプリケーション起動手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記最適解算出手段は、更に、
    所望のタイミングで再実行するものであって、
    前記インスタンス生成手段は、更に、
    前記最適解算出手段の再実行によって新たに必要となる前記仮想サーバをインスタンス化するものであって、
    実行中の前記アプリケーションが、前記最適解算出手段の再実行に基づき、該アプリケーションが実行されている前記仮想サーバのインスタンスとは別の第2の前記仮想サーバのインスタンスにおいて実行される場合には、該アプリケーションを再起動可能なように停止させ、該アプリケーションを前記アプリケーション起動手段により前記第2の仮想サーバのインスタンスにおいて起動させるアプリケーション再起動手段と、
    インスタンス化されている前記仮想サーバのうち、全てのアプリケーションが停止した場合には、該仮想サーバのインスタンスを破棄してイメージにするインスタンス破棄手段と、
    を更に備えることを特徴とする請求項1に記載の情報処理装置。
  3. 前記仮想サーバのスペックごとに、該仮想サーバを使用する際の課金について課金情報として記憶する課金情報記憶手段と、
    を更に備え、
    前記最適解算出手段は、
    前記アプリケーションごとに指定された所望の制約条件を満たし、且つ全ての該アプリケーションの実行のためにインスタンス化した前記仮想サーバに対する課金が、最小になるように算出することを特徴とする請求項1または請求項2に記載の情報処理装置。
  4. 前記所望の制約条件は、前記アプリケーションの終了要求時刻であることを特徴とする請求項3に記載の情報処理装置。
  5. 物理サーバとネットワークを介して接続可能であって、該物理サーバにおける仮想環境である仮想サーバおよび該仮想サーバに構築されている1または複数のアプリケーションの実行を制御する情報処理方法であって、
    要求スペック情報登録手段が、前記アプリケーションを実行するために要求される前記仮想サーバのスペックを要求スペック情報として、要求スペック情報記憶手段に記憶させる要求スペック情報登録ステップと、
    実行予定情報登録手段が、新たに実行を開始する前記アプリケーションに関する実行予定情報を、実行予定情報記憶手段に記憶させる実行予定情報登録ステップと、
    残リソース情報登録手段が、前記物理サーバにおいて実行可能な状態にインスタンス化されている前記仮想サーバにおける使用可能なリソースのうち残リソース総計と、該仮想サーバにおいて実行されているアプリケーションに関する情報を残リソース情報として、残リソース情報記憶手段に記憶させる残リソース情報登録ステップと、
    最適解算出手段が、前記実行予定情報記憶手段の前記実行予定情報と、前記要求スペック情報記憶手段の前記要求スペック情報と、前記残リソース情報記憶手段の前記残リソース情報とに基づき、実行すべきアプリケーションを、いずれの前記仮想サーバにおいて実行するかの最適解を決定する最適解算出ステップと、
    インスタンス生成手段が、前記最適解算出ステップの前記最適解により、インスタンス化するよう指定された前記仮想サーバをインスタンス化し、該仮想サーバの前記残リソース情報を前記残リソース情報記憶手段に登録するインスタンス生成ステップと、
    アプリケーション起動手段が、前記最適解算出ステップの前記最適解により、指定の前記仮想サーバにおいて起動するよう指定された前記アプリケーションを起動させるアプリケーション起動ステップと、
    を含むことを特徴とする情報処理方法。
  6. コンピュータを、物理サーバとネットワークを介して接続可能であって、該物理サーバにおける仮想環境である仮想サーバおよび該仮想サーバに構築されている1または複数のアプリケーションの実行を制御する情報処理装置として機能させるためのプログラムであって、
    前記コンピュータを、
    前記アプリケーションを実行するために要求される前記仮想サーバのスペックを要求スペック情報として、要求スペック情報記憶手段に記憶させる要求スペック情報登録手段、
    新たに実行を開始する前記アプリケーションに関する実行予定情報を、実行予定情報記憶手段に記憶させる実行予定情報登録手段、
    前記物理サーバにおいて実行可能な状態にインスタンス化されている前記仮想サーバにおける使用可能なリソースのうち残リソース総計と、該仮想サーバにおいて実行されているアプリケーションに関する情報を残リソース情報として、残リソース情報記憶手段に記憶させる残リソース情報登録手段、
    前記実行予定情報記憶手段の前記実行予定情報と、前記要求スペック情報記憶手段の前記要求スペック情報と、前記残リソース情報記憶手段の前記残リソース情報とに基づき、実行すべきアプリケーションを、いずれの前記仮想サーバにおいて実行するかの最適解を決定する最適解算出手段、
    前記最適解算出手段の前記最適解により、インスタンス化するよう指定された前記仮想サーバをインスタンス化し、該仮想サーバの前記残リソース情報を前記残リソース情報記憶手段に登録するインスタンス生成手段、
    前記最適解算出手段の前記最適解により、指定の前記仮想サーバにおいて起動するよう指定された前記アプリケーションを起動させるアプリケーション起動手段、
    として機能させることを特徴とするプログラム。
JP2012270638A 2012-12-11 2012-12-11 情報処理装置、情報処理方法、およびプログラム Pending JP2014115905A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012270638A JP2014115905A (ja) 2012-12-11 2012-12-11 情報処理装置、情報処理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012270638A JP2014115905A (ja) 2012-12-11 2012-12-11 情報処理装置、情報処理方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2014115905A true JP2014115905A (ja) 2014-06-26

Family

ID=51171813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012270638A Pending JP2014115905A (ja) 2012-12-11 2012-12-11 情報処理装置、情報処理方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP2014115905A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016027452A1 (ja) * 2014-08-19 2016-02-25 日本電気株式会社 解析制御装置、解析制御方法及び記録媒体
JP2016149101A (ja) * 2015-02-13 2016-08-18 Kddi株式会社 統合制御サーバ、仮想アプリケーション構築システムおよびプログラム
JP2017037403A (ja) * 2015-08-07 2017-02-16 株式会社日立製作所 計算機システム及びコンテナ管理方法
JP2017068480A (ja) * 2015-09-29 2017-04-06 日本電気株式会社 ジョブ管理方法、ジョブ管理装置及びプログラム
JP2018018275A (ja) * 2016-07-27 2018-02-01 富士ゼロックス株式会社 情報処理装置及びプログラム
JP2018116326A (ja) * 2017-01-16 2018-07-26 富士ゼロックス株式会社 情報処理装置及び情報処理システム
JP2018200585A (ja) * 2017-05-29 2018-12-20 富士通株式会社 スケールイン管理プログラム、スケールイン管理装置及びスケールイン管理方法
JP2019175170A (ja) * 2018-03-28 2019-10-10 株式会社リコー 情報処理システム、情報処理装置、情報処理方法及びプログラム
JP2020009246A (ja) * 2018-07-10 2020-01-16 富士ゼロックス株式会社 情報処理装置、及び情報処理プログラム
JP2020064567A (ja) * 2018-10-19 2020-04-23 富士通株式会社 情報処理装置、仮想マシン管理プログラムおよび仮想マシン管理方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016027452A1 (ja) * 2014-08-19 2016-02-25 日本電気株式会社 解析制御装置、解析制御方法及び記録媒体
US9983911B2 (en) 2014-08-19 2018-05-29 Nec Corporation Analysis controller, analysis control method and computer-readable medium
JP2016149101A (ja) * 2015-02-13 2016-08-18 Kddi株式会社 統合制御サーバ、仮想アプリケーション構築システムおよびプログラム
JP2017037403A (ja) * 2015-08-07 2017-02-16 株式会社日立製作所 計算機システム及びコンテナ管理方法
JP2017068480A (ja) * 2015-09-29 2017-04-06 日本電気株式会社 ジョブ管理方法、ジョブ管理装置及びプログラム
JP2018018275A (ja) * 2016-07-27 2018-02-01 富士ゼロックス株式会社 情報処理装置及びプログラム
JP2018116326A (ja) * 2017-01-16 2018-07-26 富士ゼロックス株式会社 情報処理装置及び情報処理システム
JP2018200585A (ja) * 2017-05-29 2018-12-20 富士通株式会社 スケールイン管理プログラム、スケールイン管理装置及びスケールイン管理方法
JP2019175170A (ja) * 2018-03-28 2019-10-10 株式会社リコー 情報処理システム、情報処理装置、情報処理方法及びプログラム
JP7095354B2 (ja) 2018-03-28 2022-07-05 株式会社リコー 情報処理システム、情報処理装置、情報処理方法及びプログラム
JP2020009246A (ja) * 2018-07-10 2020-01-16 富士ゼロックス株式会社 情報処理装置、及び情報処理プログラム
JP2020064567A (ja) * 2018-10-19 2020-04-23 富士通株式会社 情報処理装置、仮想マシン管理プログラムおよび仮想マシン管理方法
JP7104327B2 (ja) 2018-10-19 2022-07-21 富士通株式会社 情報処理装置、仮想マシン管理プログラムおよび仮想マシン管理方法

Similar Documents

Publication Publication Date Title
JP2014115905A (ja) 情報処理装置、情報処理方法、およびプログラム
US11204793B2 (en) Determining an optimal computing environment for running an image
US9826031B2 (en) Managing distributed execution of programs
US10379841B2 (en) Facilitating automatic container updating within a container-based environment
US8656021B2 (en) Methods and apparatus for constructing an execution environment in which the application operates
CN109791471B (zh) 虚拟化外围装置处的非易失性存储装置
US9276987B1 (en) Identifying nodes already storing indicated input data to perform distributed execution of an indicated program in a node cluster
CN101650660B (zh) 从中央存储装置引导计算机系统
US20150169412A1 (en) Saving program execution state
US9229771B2 (en) Cloud bursting and management of cloud-bursted applications
US11080041B1 (en) Operating system management for virtual workspaces
US20130198741A1 (en) Computing reusable image components to minimize network bandwidth usage
JP5134149B1 (ja) ネットワークシステム及びその制御方法
US20100077396A1 (en) Portable storage device for supporting portable computing system and portable computing based system using the same
CN114461333A (zh) 容器镜像创建和部署
US20210055938A1 (en) Hydration in virtual machines
CN102331937A (zh) 云平台安装系统
WO2013145434A1 (ja) ネットワークシステム及びその制御方法
US10915250B2 (en) Addressing usage of shared SSD resources in volatile and unpredictable operating environments
JP2021060700A (ja) コスト提示装置、コスト提示方法およびコスト提示プログラム
CN107636624B (zh) 没有使用的特殊指令的垃圾收集
US11030100B1 (en) Expansion of HBA write cache using NVDIMM
US9087064B2 (en) User-defined hierarchies in file system data sets
WO2008069480A1 (en) Portable storage device for supporting portable computing system and portable computing based system using the same
CN117806786A (zh) 任务调度方法和电子装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150410