JP2013152513A - タスク管理システム、タスク管理サーバ、タスク管理方法、及びタスク管理プログラム - Google Patents

タスク管理システム、タスク管理サーバ、タスク管理方法、及びタスク管理プログラム Download PDF

Info

Publication number
JP2013152513A
JP2013152513A JP2012011796A JP2012011796A JP2013152513A JP 2013152513 A JP2013152513 A JP 2013152513A JP 2012011796 A JP2012011796 A JP 2012011796A JP 2012011796 A JP2012011796 A JP 2012011796A JP 2013152513 A JP2013152513 A JP 2013152513A
Authority
JP
Japan
Prior art keywords
task
server
virtual machines
scheduled
scheduling
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.)
Granted
Application number
JP2012011796A
Other languages
English (en)
Other versions
JP5632403B2 (ja
Inventor
Yukio Nagabuchi
幸雄 永渕
Takaaki Koyama
高明 小山
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012011796A priority Critical patent/JP5632403B2/ja
Publication of JP2013152513A publication Critical patent/JP2013152513A/ja
Application granted granted Critical
Publication of JP5632403B2 publication Critical patent/JP5632403B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】仮想マシンの実行するタスクの集中に伴う負荷を低減することである。
【解決手段】スケジューリングサーバ70は、タスク名受信部71とスケジューリング部72とスケジューリング結果通知部73とを有する。タスク名受信部71は、タスク実行サーバに収容された複数の仮想マシンが実行を予定するタスクの識別情報及び実行の開始予定時刻を、タスク実行サーバから受信する。スケジューリング部72は、タスク名受信部71により受信された上記識別情報を有するタスクの開始予定時刻が複数の仮想マシン間で重複する場合、上記タスクの実行を予定する仮想マシンの数を用いて、上記開始予定時刻が上記複数の仮想マシン間で重複しないように、各仮想マシンが上記タスクを実行する時刻を決定する。スケジューリング結果通知部73は、スケジューリング部72により決定された、上記仮想マシン毎の時刻を上記タスク実行サーバに通知する。
【選択図】図3

Description

本発明は、タスク管理システム、タスク管理サーバ、タスク管理方法、及びタスク管理プログラムに関する。
近年、インターネットを始めとするネットワーク上のリソースを用いて、各種サービスをユーザに提供するコンピュータ利用形態として、クラウドコンピューティングが普及しつつある。クラウドコンピューティングでは、データセンタ内の物理サーバに複数の仮想マシン(VM:Virtual Machine)を作成及び収容しておき、サーバが、クライアントからの要求に応じて、仮想マシンを提供する。これにより、ユーザは、遠隔地においても、データセンタ内の仮想マシンを利用することができる。この様なサービスは、DaaS(Desktop−as−a−Service:仮想デスクトップサービス)と呼ばれ、Windows(登録商標)やlinux(登録商標)等のOS(Operating System)を仮想マシンにインストールすることで、デスクトップ環境のユーザへの貸出しを実現している。
Symantec社"Altiris Client Management Suite"、[online]、[平成24年1月12日検索]、インターネット<URL:http://www.symantec.com/ja/jp/client-management-suite>
しかしながら、サーバ内の仮想マシンは、通常、仮想マシンの雛型をコピーして作成される。このため、定期的に実行されるべきタスクのスケジュールが仮想マシン間で重複し、複数のタスクが同時に実行されることとなる。仮想マシンの実行するタスクとしては、例えば、OSのアップデート、ウィルス定義ファイルのダウンロード、ウィルススキャン、バックアップ処理等があるが、これらのタスクの開始時刻が同時刻に集中すると、サーバのCPU(Central Processing Unit)使用率が上昇する。その結果、サーバの負荷が増大する。また、ネットワークの輻輳により、通信帯域が圧迫され、ネットワークも高負荷状態に陥る。これらのことが、快適なデスクトップ環境をユーザに提供する際の阻害要因となっていた。特に、データセンタ内に収容される仮想マシンの数が増大(例えば、数百台規模)した場合、人間が手動で個別のスケジュール設定を行うことは困難となることから、上述した問題点は顕著となる。
開示の実施例は、上記に鑑みてなされたものであって、仮想マシンの実行するタスクの集中に伴う負荷を低減することができるタスク管理システム、タスク管理サーバ、タスク管理方法、及びタスク管理プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本願の開示するタスク管理システムは、一つの態様において、所定のタスクを実行するタスク実行サーバと、該タスク実行サーバの実行するタスクを管理するタスク管理サーバとを有する。前記タスク実行サーバは、自サーバに収容された複数の仮想マシンが実行を予定するタスクの識別情報及び実行の開始予定時刻を、前記タスク管理サーバに送信する送信部を有する。前記タスク管理サーバは、決定部と通知部とを有する。前記決定部は、前記タスク実行サーバから送信された前記識別情報を有するタスクの開始予定時刻が前記複数の仮想マシン間で重複する場合、前記タスクの実行を予定する仮想マシンの数を用いて、前記開始予定時刻が前記複数の仮想マシン間で重複しないように、各仮想マシンが前記タスクを実行する時刻を決定する。前記通知部は、前記決定部により決定された、前記仮想マシン毎の時刻を前記タスク実行サーバに通知する。前記タスク実行サーバは、前記タスク管理サーバから通知された前記時刻を、前記タスクの開始予定時刻として、前記各仮想マシンに設定する設定部を更に有する。
また、本願の開示するタスク管理サーバは、一つの態様において、所定のタスクを実行するタスク実行サーバに接続される。前記タスク管理サーバは、受信部と決定部と通知部とを有する。前記受信部は、前記タスク実行サーバに収容された複数の仮想マシンが実行を予定するタスクの識別情報及び実行の開始予定時刻を、前記タスク実行サーバから受信する。前記決定部は、前記受信部により受信された前記識別情報を有するタスクの開始予定時刻が前記複数の仮想マシン間で重複する場合、前記タスクの実行を予定する仮想マシンの数を用いて、前記開始予定時刻が前記複数の仮想マシン間で重複しないように、各仮想マシンが前記タスクを実行する時刻を決定する。前記通知部は、前記決定部により決定された、前記仮想マシン毎の時刻を前記タスク実行サーバに通知する。
更に、本願の開示するタスク管理方法は、一つの態様において、所定のタスクを実行するタスク実行サーバと、該タスク実行サーバの実行するタスクを管理するタスク管理サーバとを有するタスク管理システムで実行されるタスク管理方法である。前記タスク管理方法は、送信工程と決定工程と通知工程と設定工程とを含む。前記送信工程では、前記タスク実行サーバが、自サーバに収容された複数の仮想マシンが実行を予定するタスクの識別情報及び実行の開始予定時刻を、前記タスク管理サーバに送信する。前記決定工程では、前記タスク管理サーバが、前記タスク実行サーバから送信された前記識別情報を有するタスクの開始予定時刻が前記複数の仮想マシン間で重複する場合、前記タスクの実行を予定する仮想マシンの数を用いて、前記開始予定時刻が前記複数の仮想マシン間で重複しないように、各仮想マシンが前記タスクを実行する時刻を決定する。前記通知工程では、前記タスク管理サーバが、前記決定工程にて決定された、前記仮想マシン毎の時刻を前記タスク実行サーバに通知する。前記設定工程では、前記タスク実行サーバが、前記タスク管理サーバから通知された前記時刻を、前記タスクの開始予定時刻として、前記各仮想マシンに設定する。
また、本願の開示するタスク管理プログラムは、一つの態様において、コンピュータを上記タスク管理サーバとして機能させる。すなわち、前記タスク管理プログラムは、所定のタスクを実行するタスク実行サーバに接続されたコンピュータにより実行される。前記タスク管理プログラムは、受信ステップと決定ステップと通知ステップとをコンピュータに実行させる。前記受信ステップでは、前記コンピュータは、前記タスク実行サーバに収容された複数の仮想マシンが実行を予定するタスクの識別情報及び実行の開始予定時刻を、前記タスク実行サーバから受信する。前記決定ステップでは、前記コンピュータは、前記受信ステップにて受信された前記識別情報を有するタスクの開始予定時刻が前記複数の仮想マシン間で重複する場合、前記タスクの実行を予定する仮想マシンの数を用いて、前記開始予定時刻が前記複数の仮想マシン間で重複しないように、各仮想マシンが前記タスクを実行する時刻を決定する。前記通知ステップでは、前記コンピュータは、前記決定ステップにて決定された、前記仮想マシン毎の時刻を前記タスク実行サーバに通知する。
本願の開示するタスク管理システム、タスク管理サーバ、タスク管理方法、及びタスク管理プログラムは、仮想マシンの実行するタスクの集中に伴うサーバ負荷を低減することができるという効果を奏する。
図1は、タスク管理システムの概略構成を示す図である。 図2は、サーバの機能構成を示すブロック図である。 図3は、スケジューリングサーバの機能構成を示すブロック図である。 図4は、スケジューリングサーバのスケジューリングDBにおけるデータ格納例を示す図である。 図5は、タスク管理システムの実行するスケジューリング処理を説明するためのフローチャートである。 図6は、タスク管理プログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。
以下に、本願の開示するタスク管理システム、タスク管理サーバ、タスク管理方法、及びタスク管理プログラムの実施例を、図面を参照しながら詳細に説明する。なお、以下の実施例により本願の開示するタスク管理システム、タスク管理サーバ、タスク管理方法、及びタスク管理プログラムが限定されるものではない。
まず、本願の開示する一実施例に係るタスク管理システム1の構成を説明する。図1は、タスク管理システム1の概略構成を示す図である。図1に示す様に、タスク管理システム1は、サーバ10、20、30、40、50と、レイヤ2スイッチ60と、後述するスケジューリングサーバ70と、ウィルス定義ファイル提供サーバ80とを有する。サーバ10、20、30、40、50とスケジューリングサーバ70とは、レイヤ2スイッチ60を介して、各種信号やデータの送受信が可能である。これにより、クラウドネットワークCが形成されている。
サーバ10、20、30、40、50は、レイヤ2スイッチ60を介して、相互に各種信号やデータの送受信が可能である。サーバ10は、一つまたは複数の仮想マシン10a−1、2、・・・、n(nは自然数)を内部に作成し、仮想スイッチ10bにより、各仮想マシンの起動、停止等の切替え制御を行う。各仮想マシン10a−1、2、・・・、nには、スケジュール管理用のソフトウェア(以下、「スケジューリングソフト」と記す。)がインストールされている。スケジューリングソフト11a−1、2、・・・、n(nは自然数)は、VM識別子、タスク名、開始予定時刻、収容サーバID、及び収容仮想スイッチIDのスケジューリングサーバ70への通知を行う。また、スケジューリングソフト11a−1、2、・・・、nは、スケジューリングサーバ70のIP(Internet Protocol)アドレスの指定やスケジューリング結果の仮想マシン10a−1、2、・・・、nへの設定を行う。
なお、他のサーバ20、30、40、50の概略構成は、上述したサーバ10の構成と同様である。したがって、共通する構成要素には、末尾が同一の参照符号を用いると共に、その詳細な説明は省略する。
レイヤ2スイッチ60は、クラウドネットワークCの中継機器であり、データリンク層において、各種信号やデータの宛先を検出し、当該宛先への転送を行う。スケジューリングサーバ70は、タスクの開始時刻が仮想マシン毎に格納されたスケジューリングDB(Data Base)を内蔵する。ウィルス定義ファイル提供サーバ80は、各サーバ10、20、30、40、50に収容された仮想マシンから、ウィルス定義ファイルの配信要求を受けると、レイヤ2スイッチ60を介し、要求元に対して当該ファイルを送信する。送信されたウィルス定義ファイルは、各仮想マシンにおいて、既存のウィルスパターンの更新に使用される。
図2は、サーバ10の機能構成を示すブロック図である。図2に示す様に、サーバ10は、タスク名送信部11とタスク開始時刻受信部12とタスク開始時刻設定部13とを有する。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能なように接続されている。タスク名送信部11は、自サーバ10に収容された複数の仮想マシン10a−1、2、・・・、nが実行を予定するタスクの名称及び実行の開始予定時刻を、スケジューリングサーバ70に送信する。タスク開始時刻受信部12は、スケジューリングサーバ70から通知された、各仮想マシン10a−1、2、・・・、nのタスク開始時刻を受信する。タスク開始時刻設定部13は、受信されたタスク開始時刻を新たな開始予定時刻として、各仮想マシン10a−1、2、・・・、nに設定する。
図3は、スケジューリングサーバ70の機能構成を示すブロック図である。図3に示す様に、スケジューリングサーバ70は、スケジューリングDB70aとタスク名受信部71とスケジューリング部72とスケジューリング結果通知部73とを有する。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能なように接続されている。タスク名受信部71は、各サーバ10、20、30、40、50の各仮想マシンにおいて実行の予定されているタスクの名称及び実行の開始予定時刻を受信する。スケジューリング部72は、タスクの実行を予定する仮想マシンの数を用いて、上記開始予定時刻が複数の仮想マシン間で重複しないように、各仮想マシンが上記タスクを実行する時刻を決定する。スケジューリング結果通知部73は、各仮想マシン毎に決定された上記時刻を、新たな開始予定時刻として各サーバ10、20、30、40、50に通知する。
図4は、スケジューリングサーバ70のスケジューリングDB70aにおけるデータ格納例を示す図である。図4に示す様に、スケジューリングDB70aには、スケジューリング部72によるスケジューリング後のタスク開始時刻が、実行対象となるタスクの名称(タスク名)と対応付けられて、仮想マシン毎に格納される。更に、スケジューリングDB70aには、対応する仮想マシンの収容されているサーバを識別可能な情報が収容サーバとして格納され、当該サーバの有する仮想スイッチを識別可能な情報が収容仮想スイッチとして格納される。例えば、図4は、仮想スイッチ10bを有するサーバ10に収容された仮想マシンVM10a−1がウィルス定義ファイルをダウンロードするタスクの開始時刻が“0:00”にスケジューリングされていることを示す。同様に、図4は、サーバ20に作成された仮想マシンVM20a−2によるダウンロード処理が“16:00”に開始されることを示す。
なお、図4では、スケジューリングDB70a内のデータ(レコード)は、タスク開始時刻の昇順に格納されているが、データの格納される順序はこれに限らない。例えば、スケジューリングサーバ70が開始予定時刻を受信した仮想マシンの順に、データが格納されるものとしてもよい。あるいは、スケジューリングサーバ70は、VM識別子、収容サーバの識別子、収容仮想スイッチの識別子をパラメータとして、これらの昇順または降順に、データを格納するものとしてもよい。また、スケジューリングサーバ70は、タスクの名称や種別毎に各データをソートするものとしてもよい。
また、上記開始時刻または開始予定時刻は、絶対的な時刻である必要は無く、ある時点(基準時)からの経過時間等、相対的な値であってもよい。換言すれば、上記開始時刻または開始予定時刻は、開始時間または開始予定時間であってもよい。
以上、サーバ10の機能構成を説明したが、他のサーバ20、30、40、50の機能構成は、上述したサーバ10の構成と同様である。したがって、共通する構成要素には、末尾が同一の参照符号を用いると共に、その詳細な説明は省略する。
次に、タスク管理システム1の動作を説明する。
図5は、タスク管理システム1の実行するスケジューリング処理を説明するためのフローチャートである。S1では、各サーバ10、20、30、40、50は、自装置の収容する仮想マシンに、スケジューリングソフトをインストールする。このとき、各サーバ10、20、30、40、50の管理者は、スケジューリングサーバ70のIPアドレスを併せて指定する。これにより、各サーバ10、20、30、40、50からスケジューリングサーバ70へのアクセスが可能となる。なお、スケジューリングソフトは、各サーバに作成された各々の仮想マシンに個別にインストールされるものとしてもよいし、インストール済みの仮想マシンを雛型として、その他の仮想マシンにコピーされるものとしてもよい。
S2では、各サーバ10、20、30、40、50の仮想マシンは、S1でインストールされたスケジューリングソフトにより、仮想マシンの起動時にまたは定期的に、スケジューリングサーバ70にアクセスする。仮想マシン10a−1〜n、20a−1〜n、・・・、50a−1〜nは、それぞれ現在自装置にスケジューリングされているタスクの名称とその開始予定時刻とを、各マシンのID(VM識別子)と共にスケジューリングサーバ70に通知する。併せて、仮想マシン10a−1〜n、20a−1〜n、・・・、50a−1〜nは、自装置を収容するサーバ及び仮想スイッチの識別子を通知するものとしてもよい。例えば、サーバ10の仮想マシン10a−1に、“0:00”に開始の予定されているタスクとして「ウィルス定義ファイルのダウンロード」が設定されている場合には、仮想マシン10a−1は、スケジューリングサーバ70に対して、タスク名とその開始予定時刻の各情報の他に、サーバ10、仮想スイッチ10bの識別子である“10”、“10b”を通知する。
S2で送信されたタスク名及び開始予定時刻の各情報は、レイヤ2スイッチ60を介して、スケジューリングサーバ70に到達する。スケジューリングサーバ70は、タスク名受信部71により、これらの情報を受信すると、送信元の仮想マシンのVM識別子と対応付けて、スケジューリングDB70aに一旦格納する(S3)。その後、スケジューリングサーバ70のスケジューリング部72は、スケジューリングDB70aに格納されている各VM識別子の仮想マシンにつき、タスクの開始時刻が相互に重複しないように、再スケジューリングを行う(S4)。当該スケジューリング処理は、スケジューリングサーバ70が、各仮想マシンに設定されていた各開始予定時刻を参照して、自動的に実行するものとしてもよいし、サーバの管理者が手動でスケジューリングを行うものとしてもよい。また、スケジューリングサーバ70は、これら双方の機能を併せ持つものとしてもよい。
スケジューリングサーバ70におけるスケジューリング方式としては、種々の方式があるが、例えば、スケジューリングサーバ70は、同一の名称のタスクが同時刻に開始されないようなスケジューリングを行う。具体的には、スケジューリング部72は、下記算定式(1)を用いて、タスクの間隔を決定する。
タスクの間隔=86,400秒(=24時間)÷タスク総数・・・(1)
再び図4を参照すると、スケジューリングDB70aには、タスク名が「ウィルス定義ファイルのダウンロード」のタスクが6つ設定されている。したがって、上記タスク総数は“6”であり、その結果、タスクの間隔は4時間に設定される。すなわち、仮想マシン10a−1がウィルス定義ファイルのダウンロードの実行を開始する時刻は0:00にスケジューリングされる。また、他の仮想マシン10a−2、3、20a−1、2、3がウィルス定義ファイルのダウンロードの実行を開始する時刻は、それぞれ4:00、8:00、12:00、16:00、20:00にスケジューリングされる。これにより、ウィルス定義ファイルは、クラウドネットワークC内に存在する複数の仮想マシン間で、各々異なる時刻にダウンロードされることとなる。したがって、ファイルのダウンロードに伴うサーバやネットワークの処理の集中は回避され、トラフィック負荷が低減される。
また、スケジューリングサーバ70は、別の態様として、負荷の掛かるハードウェアリソース(CPU、メモリ、HDD、ネットワーク等)に応じて、各タスクをタスク種別に分類することもできる。上述したように、仮想マシンの実行するタスクとしては、例えば、OSのアップデート、ウィルス定義ファイルのダウンロード、ウィルススキャン、定期バックアップ処理等があるが、各々のタスクは、使用する(負荷を与える)ハードウェアリソースが異なる。すなわち、OSのアップデート及びウィルス定義ファイルのダウンロードの実行では、主にネットワークに負荷が掛かり、ウィルススキャンでは、CPU負荷の高騰やHDDの読込み遅延が発生する。また、定期バックアップの実行では、ネットワークやHDDに負荷が掛かる。このように、スケジューリングサーバ70は、タスクの実行により負荷の掛かるハードウェアリソースに応じて、各タスクをタスク種別に分類することもできる。例えば、OSのアップデートとウィルス定義ファイルとは、タスク名称は異なるが、実行に際して使用されるハードウェアリソースが同一であることから、タスク種別としては同一の種別に分類される。
したがって、かかる変形態様では、スケジューリングサーバ70は、同一の種別のタスクが同時刻に開始されないようなスケジューリングを行う。これにより、使用するハードウェアリソースが異なる場合には、仮想マシン間におけるタスク開始時間の重複が許容される。具体的には、スケジューリング部72は、下記算定式(2)を用いて、タスクの間隔を決定する。
タスクの間隔=86,400秒(=24時間)÷種別毎のタスク総数・・・(2)
図4を参照すると、スケジューリングDB70aには、タスク名が「ウィルス定義ファイルのダウンロード」のタスクが6つ設定されているが、その他のタスクとして更に「OSのアップデート」が4つ設定されている場合を想定する。この場合、同一の種別に属するタスクの総数は“10” =(6+4)であるので、スケジューリング部72は、上記算定式(2)により、タスクの間隔を8,640秒と算出する。
かかる変形態様においても、スケジューリング部72は、タスク管理システム1を構成する複数のハードウェアリソースの内、各タスクが、何れのハードウェアリソースに影響を与えるかをタスク毎に判別する。そして、スケジューリング部72は、当該判別の結果をタスク開始時刻の決定に反映させる。換言すれば、スケジューリング部72は、異なるタスクでも、同じハードウェアに負荷の掛かるタスクが同時に実行されることのないようなタスクスケジューリングを行う。これにより、特定のハードウェアリソースに同時刻に負荷が集中することが回避される。したがって、ハードウェアリソースにおける負荷は分散され、サーバやネットワークの負荷が低減される。
図5のS5では、スケジューリングサーバ70のスケジューリング結果通知部73は、S4におけるスケジューリングの結果として、タスクの名称とその開始時刻とを、仮想マシン毎に各サーバ10、20、30、40、50に通知する。各サーバ10、20、30、40、50は、S1でインストールされたスケジューリングソフトにより、各仮想マシン毎の上記スケジューリング結果を受信すると、当該情報(タスク名、開始時刻)を、自装置の収容する仮想マシン10a−1〜n、20a−1〜n、・・・、50a−1〜nに定時タスクとして設定する(S6)。
以上説明したように、タスク管理システム1は、所定のタスクを実行するサーバ10、20、30、40、50と、サーバ10、20、30、40、50に接続されたスケジューリングサーバ70とを有する。サーバ10、20、30、40、50は、自サーバに収容された複数の仮想マシンが実行を予定するタスクの識別情報(例えば、タスクの名称)及び実行の開始予定時刻を、スケジューリングサーバ70に送信するタスク名送信部11、21、31、41、51をそれぞれ有する。スケジューリングサーバ70は、スケジューリング部72とスケジューリング結果通知部73とをそれぞれ有する。スケジューリング部72は、サーバ10、20、30、40、50から送信された上記識別情報を有するタスクの開始予定時刻が上記複数の仮想マシン間で重複する場合、上記タスクの実行を予定する仮想マシンの数を用いて、上記開始予定時刻が上記複数の仮想マシン間で重複しないように、各仮想マシンが上記タスクを実行する時刻を決定する。スケジューリング結果通知部73は、スケジューリング部72により決定された、上記仮想マシン毎の時刻を各サーバ10、20、30、40、50に通知する。サーバ10、20、30、40、50は、スケジューリングサーバ70から通知された上記時刻を、上記タスクの開始予定時刻として、上記各仮想マシンに設定するタスク開始時刻設定部13、23、33、43、53をそれぞれ有する。
タスク管理システム1において、上記タスクの実行を予定する仮想マシンの数は、例えば、サーバ10、20、30、40、50に収容されている仮想マシンの数である。あるいは、上記タスクの実行を予定する仮想マシンの数は、サーバ10、20、30、40、50において起動している仮想マシンの数である。
すなわち、タスク管理システム1は、スケジューリング用のソフトウェアと、スケジューリングサーバ70のIPを設定した仮想マシンを雛型とする、仮想マシンのコピーとをユーザに提供する。これにより、各仮想マシンの定期的なタスクが、データセンタ内で分散されるように自動的にスケジューリングされるため、管理が容易になる。また、各サーバ10、20、30、40、50に収容されている仮想マシンは、サーバに収容されているだけで起動していないことがあり、サービス提供事業者は、起動していない仮想マシンを見越して、多めに仮想マシンを収容する。このため、起動している仮想マシンの数は、常に変動する。本実施例に係るタスク管理システム1では、スケジューリングサーバ70は、収容されている仮想マシンの数のみならず、起動している仮想マシンの数に基づいて、タスク利用のスケジュールを再構成することもできる。したがって、タスク管理システム1は、使用可能時間(例えば、24時間)を、現在起動中の仮想マシン間で公平に割り振った負荷の分散が可能となる。
換言すれば、タスク管理システム1は、DaaSにおいて、複数の仮想マシンの定時タスクの起動が重ならないようにスケジューリングをすることで、クラウドネットワークCのユーザに対して、快適な環境を提供する方式が実現される。したがって、複数の仮想マシンが、定期的なタスクを分散して実行することで、サーバやネットワークの負荷を低減することができる。その結果、上述した定時タスク管理により、DaaSにおける高負荷状態は回避される。また、タスク管理システム1は、同一の仮想スイッチに収容されている仮想マシンのタスクが重ならないようにすることで、仮想スイッチへの負荷を低減させることができる。更に、システムの管理者は、スケジューリングサーバ70を確認することで、同一のデータセンタ内に存在する複数のサーバ上の複数の仮想マシンにスケジューリングされたタスクを、簡易迅速に確認することも可能となる。
タスク管理システム1の適用例として、例えば、サービス提供事業者が、データセンタ内にあるサーバ上に仮想マシンを作成する際、タスク開始時刻が重ならないように個別に設定変更を行うことで対処する手法もある。しかしながら、かかる手法では、仮想マシンが、ライフマイグレーションにより、他のサーバから移動してくるケースへの対応が困難である。すなわち、移動後の仮想マシンの設定が、移動先のサーバの環境において適切であるとは限らないことから、何らかの手法により、仮想マシンに事前にスケジューリングされているタスクの負荷が分散されるようにスケジューリングし直す必要がある。本実施例に係るタスク管理システム1によれば、上述のケースにも、柔軟かつ適応的に対応することができる。特に、国を跨ったマイグレーションでは、時差が発生する。このため、本来は、サーバやネットワークの利用者の少ない夜間にスケジューリングされていたタスクが、昼間に実行されてしまうという懸念がある。この場合には、仮想マシンにつき、マイグレーション後の移動先の環境に適したタスクスケジュールの再設定が必要となるが、本実施例に係るタスク管理システム1の適用により、上記懸念も容易かつ迅速に解消される。
[タスク管理プログラム]
図6は、タスク管理プログラムによる情報処理がコンピュータ100を用いて具体的に実現されることを示す図である。図6に例示するように、コンピュータ100は、例えば、メモリ101と、CPU102と、ハードディスクドライブインタフェース103と、ディスクドライブインタフェース104と、シリアルポートインタフェース105と、ビデオアダプタ106と、ネットワークインタフェース107とを有し、これらの各部はバスBによって接続される。
メモリ101は、図6に例示するように、ROM(Read Only Memory)101a及びRAM(Random Access Memory)101bを含む。ROM101aは、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース103は、図6に例示するように、ハードディスクドライブ108に接続される。ディスクドライブインタフェース104は、図6に例示するように、ディスクドライブ109に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ109に挿入される。シリアルポートインタフェース105は、図6に例示するように、例えばマウス110、キーボード111に接続される。ビデオアダプタ106は、図6に例示するように、例えばディスプレイ112に接続される。
ここで、図6に例示するように、ハードディスクドライブ108は、例えば、OS(Operating System)108a、アプリケーションプログラム108b、プログラムモジュール108c、プログラムデータ108dを記憶する。すなわち、開示の実施例に係るタスク管理プログラムは、コンピュータ100によって実行される指令が記述されたプログラムモジュール108cとして、例えばハードディスクドライブ108に記憶される。具体的には、上記実施例で説明したタスク名送信部11、タスク開始時刻受信部12、タスク開始時刻設定部13、タスク名受信部71、スケジューリング部72、及びスケジューリング結果通知部73と同様の情報処理を実行する各種手順が記述されたプログラムモジュール108cが、ハードディスクドライブ108に記憶される。また、タスク管理プログラムによる情報処理に用いられるデータは、プログラムデータ108dとして、例えばハードディスクドライブ108に記憶される。そして、CPU102が、ハードディスクドライブ108に記憶されたプログラムモジュール108cやプログラムデータ108dを必要に応じてRAM101bに読み出し、上記各種手順を実行する。
なお、タスク管理プログラムに係るプログラムモジュール108cやプログラムデータ108dは、ハードディスクドライブ108に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ109等を介してCPU102によって読み出されてもよい。あるいは、タスク管理プログラムに係るプログラムモジュール108cやプログラムデータ108dは、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース107を介してCPU102によって読み出されてもよい。
なお、上記実施例では、スケジューリングサーバ70は、タスク管理システム1内において、同一の名称あるいは種別のタスクが同時刻に実行されないようにスケジューリングを行うものとした。しかしながら、これに限らず、スケジューリングサーバ70が、同一のサーバ(または仮想スイッチ)内において、同一の名称あるいは種別のタスクが同時刻に実行されないようにスケジューリングを行うものとしてもよい。かかる態様では、各サーバ10、20、30、40、50における同一または同種タスクの同時実行は回避されるが、特定のタスクが、異なるサーバ同士で同時に実行される可能性が依然としてある。しかしながら、かかる態様でも、サーバ内のリソースであるCPU、メモリ、HDDの負荷は分散されることとなり、サーバ負荷は低減される。したがって、本実施例の目的は達成される。また、タスク管理システム1内に作成された仮想マシンの数が増加し、システム全体でタスクの開始時刻が重ならないようなスケジューリングが困難な場合にも対応が可能となる。
また、上記実施例では、スケジューリングサーバ70は、仮想マシンが起動中であるか停止中であるかを問わず、タスクの実行を予定している全ての仮想マシンの数を用いて、各仮想マシン毎のタスクの開始時刻の決定(スケジューリング)を行うものとした。しかしながら、停止中の仮想マシンは定時タスクを実行しない。したがって、スケジューリングサーバ70は、各サーバによる上記通知(図5のS2)の時点で起動している仮想マシンに関してのみタスクの開始時刻を決定し、停止中の仮想マシンについては、スケジューリングの対象から除外するものとしてもよい。これにより、各サーバに収容されている全ての仮想マシンをスケジューリングの対象とする場合と比較して、スケジューリング対象の仮想マシンが減少する。したがって、スケジューリングサーバ70は、タスク開始時刻の決定に際して、時間(例えば、24時間)を有効活用することができる。その結果、より効率的なスケジューリングが可能となる。
更に、上述したサーバ内での重複実行の回避と停止中の仮想マシンの除外とは、上記実施例に択一的に適用されるものではなく、タスク管理システム1は、これらの態様を組み合わせて適用するものとしてもよい。
また、スケジューリングサーバ70において決定されるタスク間隔は、必ずしもタスク毎に不変である必要は無く、タスクの名称や種別に応じて、可変的に設定されるものとしてもよい。例えば、スケジューリング部72は、完了する迄に時間の掛かるタスク(例えば、OSのアップデート、ウィルススキャン)の間隔を、他のタスク(例えば、ウィルス定義ファイルのダウンロード、定期バックアップ処理)の間隔よりも長く設定するものとしてもよい。この場合、好適には、スケジューリング部72は、タスクの間隔がタスクの所要時間以上となるように、タスクの間隔を設定する。これにより、他の仮想マシンによりタスクの実行が開始された時には、当該タスクがそれまで実行されていた仮想マシンによるタスクの実行は終了していることとなり、同一タスクの時間的な重なりは確実に回避される。但し、この場合でも、同一または同種のタスクが異なる仮想マシン間で重複しなければよい。すなわち、一方の仮想マシンでのタスク実行中に、他方の仮想マシンにおいて、別のタスクの実行が開始されるものとしてもよい。
更に、各サーバ10、20、30、40、50が、スケジューリングサーバ70に対して、タスク名称と開始予定時刻とを通知するタイミングに関し、各サーバの収容する各仮想マシン毎に個別のタイミングで通知してもよいし、全ての仮想マシンにつき一括で通知するものとしてもよい。通知の契機についても、各サーバ10、20、30、40、50が、自装置独自のタイミングで自発的に通知するものとしてもよいし、スケジューリングサーバ70からの通知要求を待機し、該要求の受信を契機として一斉に通知するものとしてもよい。タスク名称と開始予定時刻との通知は、スケジューリングサーバ70からの要求を契機として実行されることで、スケジューリングサーバ70は、スケジューリング処理の準備が整った状態で、各サーバ10、20、30、40、50の各仮想マシンのタスクに関する情報を収集することができる。これにより、スケジューリングサーバ70は、タスクの名称や開始予定時刻の情報を収集後、直ちにスケジューリングを行い、その結果であるタスクの新たな開始時刻を各サーバに通知することができる。したがって、サーバ10、20、30、40、50側とスケジューリングサーバ70側との間のタイムラグの少ない迅速なスケジューリング更新が可能となる。その結果、仮想マシンのマイグレーションや現在の仮想マシンの起動状況が適確に反映された、リアルタイムでの再スケジューリングが実現される。
また、サーバ10、20、30、40、50及びスケジューリングサーバ70の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は、図示のものに限らず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することもできる。例えば、タスク名送信部11とタスク開始時刻受信部12、あるいは、タスク名受信部71とスケジューリング結果通知部73をそれぞれ1つの構成要素として統合してもよい。反対に、スケジューリング部72に関し、更に2つの構成部分に分散してもよい。この場合、第一の構成部分は、各サーバ10、20、30、40、50から収集されたタスク名のタスクの開始予定時刻が複数の仮想マシン間で重複するか否かの判定を行う部分である。第二の構成部分は、収集された上記タスク名の数で判別される、タスクの実行を予定する仮想マシンの数を用いて、各仮想マシンがタスクを実行する時刻を決定する部分である。更に、ハードディスクドライブ108を、スケジューリングサーバ70の外部装置としてネットワークやケーブル経由で接続するようにしてもよい。
1 タスク管理システム
10、20、30、40、50 サーバ
10a−1、10a−2、10a−3、・・・、10a−n 仮想マシン(VM)
20a−1、20a−2、20a−3、・・・、20a−n 仮想マシン(VM)
30a−1、30a−2、30a−3、・・・、30a−n 仮想マシン(VM)
40a−1、40a−2、40a−3、・・・、40a−n 仮想マシン(VM)
50a−1、50a−2、50a−3、・・・、50a−n 仮想マシン(VM)
10b、20b、30b、40b、50b 仮想スイッチ
11 タスク名送信部
12 タスク開始時刻受信部
13 タスク開始時刻設定部
11a−1、11a−2、11a−3、・・・、11a−n スケジューリングソフト
21a−1、21a−2、21a−3、・・・、21a−n スケジューリングソフト
31a−1、31a−2、31a−3、・・・、31a−n スケジューリングソフト
41a−1、41a−2、41a−3、・・・、41a−n スケジューリングソフト
51a−1、51a−2、51a−3、・・・、51a−n スケジューリングソフト
60 レイヤ2スイッチ
70 スケジューリングサーバ
70a スケジューリングDB
71 タスク名受信部
72 スケジューリング部
73 スケジューリング結果通知部
80 ウィルス定義ファイル提供サーバ
100 コンピュータ
101 メモリ
101a ROM
101b RAM
102 CPU
103 ハードディスクドライブインタフェース
104 ディスクドライブインタフェース
105 シリアルポートインタフェース
106 ビデオアダプタ
107 ネットワークインタフェース
108 ハードディスクドライブ
108a OS
108b アプリケーションプログラム
108c プログラムモジュール
108d プログラムデータ
109 ディスクドライブ
110 マウス
111 キーボード
112 ディスプレイ
B バス
C クラウドネットワーク

Claims (6)

  1. 所定のタスクを実行するタスク実行サーバと、該タスク実行サーバの実行するタスクを管理するタスク管理サーバとを有するタスク管理システムであって、
    前記タスク実行サーバは、
    当該タスク実行サーバに収容された複数の仮想マシンが実行を予定するタスクの識別情報及び実行の開始予定時刻を、前記タスク管理サーバに送信する送信部と、
    前記タスク管理サーバから通知された時刻を、前記タスクの開始予定時刻として、前記複数の仮想マシンに設定する設定部とを有し、
    前記タスク管理サーバは、
    前記タスク実行サーバから送信された前記識別情報を有するタスクの開始予定時刻が前記複数の仮想マシン間で重複する場合、前記タスクの実行を予定する仮想マシンの数を用いて、前記開始予定時刻が前記複数の仮想マシン間で重複しないように、各仮想マシンが前記タスクを実行する時刻を決定する決定部と、
    前記決定部により決定された、前記仮想マシン毎の時刻を前記タスク実行サーバに通知する通知部とを有することを特徴とするタスク管理システム。
  2. 前記タスクの実行を予定する仮想マシンの数は、前記タスク実行サーバに収容されている仮想マシンの数であることを特徴とする請求項1に記載のタスク管理システム。
  3. 前記タスクの実行を予定する仮想マシンの数は、前記タスク実行サーバにおいて起動している仮想マシンの数であることを特徴とする請求項1に記載のタスク管理システム。
  4. 所定のタスクを実行するタスク実行サーバに接続されたタスク管理サーバであって、
    前記タスク実行サーバに収容された複数の仮想マシンが実行を予定するタスクの識別情報及び実行の開始予定時刻を、前記タスク実行サーバから受信する受信部と、
    前記受信部により受信された前記識別情報を有するタスクの開始予定時刻が前記複数の仮想マシン間で重複する場合、前記タスクの実行を予定する仮想マシンの数を用いて、前記開始予定時刻が前記複数の仮想マシン間で重複しないように、各仮想マシンが前記タスクを実行する時刻を決定する決定部と、
    前記決定部により決定された、前記仮想マシン毎の時刻を前記タスク実行サーバに通知する通知部と
    を有することを特徴とするタスク管理サーバ。
  5. 所定のタスクを実行するタスク実行サーバと、該タスク実行サーバに接続されたタスク管理サーバとを有するタスク管理システムで実行されるタスク管理方法であって、
    前記タスク実行サーバが、当該タスク実行サーバに収容された複数の仮想マシンが実行を予定するタスクの識別情報及び実行の開始予定時刻を、前記タスク管理サーバに送信する送信工程と、
    前記タスク管理サーバが、前記タスク実行サーバから送信された前記識別情報を有するタスクの開始予定時刻が前記複数の仮想マシン間で重複する場合、前記タスクの実行を予定する仮想マシンの数を用いて、前記開始予定時刻が前記複数の仮想マシン間で重複しないように、各仮想マシンが前記タスクを実行する時刻を決定する決定工程と、
    前記タスク管理サーバが、前記決定工程にて決定された、前記仮想マシン毎の時刻を前記タスク実行サーバに通知する通知工程と、
    前記タスク実行サーバが、前記タスク管理サーバから通知された前記時刻を、前記タスクの開始予定時刻として、前記各仮想マシンに設定する設定工程と
    を含むことを特徴とするタスク管理方法。
  6. 所定のタスクを実行するタスク実行サーバに接続されたコンピュータに実行させるためのタスク管理プログラムであって、
    前記タスク実行サーバに収容された複数の仮想マシンが実行を予定するタスクの識別情報及び実行の開始予定時刻を、前記タスク実行サーバから受信する受信ステップと、
    前記受信ステップにて受信された前記識別情報を有するタスクの開始予定時刻が前記複数の仮想マシン間で重複する場合、前記タスクの実行を予定する仮想マシンの数を用いて、前記開始予定時刻が前記複数の仮想マシン間で重複しないように、各仮想マシンが前記タスクを実行する時刻を決定する決定ステップと、
    前記決定ステップにて決定された、前記仮想マシン毎の時刻を前記タスク実行サーバに通知する通知ステップと
    を前記コンピュータに実行させるためのタスク管理プログラム。
JP2012011796A 2012-01-24 2012-01-24 タスク管理システム、タスク管理サーバ、タスク管理方法、及びタスク管理プログラム Expired - Fee Related JP5632403B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012011796A JP5632403B2 (ja) 2012-01-24 2012-01-24 タスク管理システム、タスク管理サーバ、タスク管理方法、及びタスク管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012011796A JP5632403B2 (ja) 2012-01-24 2012-01-24 タスク管理システム、タスク管理サーバ、タスク管理方法、及びタスク管理プログラム

Publications (2)

Publication Number Publication Date
JP2013152513A true JP2013152513A (ja) 2013-08-08
JP5632403B2 JP5632403B2 (ja) 2014-11-26

Family

ID=49048824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012011796A Expired - Fee Related JP5632403B2 (ja) 2012-01-24 2012-01-24 タスク管理システム、タスク管理サーバ、タスク管理方法、及びタスク管理プログラム

Country Status (1)

Country Link
JP (1) JP5632403B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10055244B2 (en) 2015-07-03 2018-08-21 Fujitsu Limited Boot control program, boot control method, and boot control device
CN109684070A (zh) * 2018-08-29 2019-04-26 西安电子科技大学 一种云计算并行操作中的调度方法
JP2021179853A (ja) * 2020-05-14 2021-11-18 富士通株式会社 制御方法、制御プログラムおよび情報処理装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002183013A (ja) * 2000-12-08 2002-06-28 Nec Corp サーバ負荷分散システム、及び、サーバ負荷分散方法
JP2005011023A (ja) * 2003-06-18 2005-01-13 Hitachi Ltd ジョブスケジューリング方法及びシステム
US20090240791A1 (en) * 2008-03-19 2009-09-24 Fujitsu Limited Update management method and update management unit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002183013A (ja) * 2000-12-08 2002-06-28 Nec Corp サーバ負荷分散システム、及び、サーバ負荷分散方法
JP2005011023A (ja) * 2003-06-18 2005-01-13 Hitachi Ltd ジョブスケジューリング方法及びシステム
US20090240791A1 (en) * 2008-03-19 2009-09-24 Fujitsu Limited Update management method and update management unit
JP2009230171A (ja) * 2008-03-19 2009-10-08 Fujitsu Ltd アップデート管理プログラム、管理ノード、アップデート管理方法、およびクラスタシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10055244B2 (en) 2015-07-03 2018-08-21 Fujitsu Limited Boot control program, boot control method, and boot control device
CN109684070A (zh) * 2018-08-29 2019-04-26 西安电子科技大学 一种云计算并行操作中的调度方法
JP2021179853A (ja) * 2020-05-14 2021-11-18 富士通株式会社 制御方法、制御プログラムおよび情報処理装置
JP7401776B2 (ja) 2020-05-14 2023-12-20 富士通株式会社 制御方法、制御プログラムおよび情報処理装置

Also Published As

Publication number Publication date
JP5632403B2 (ja) 2014-11-26

Similar Documents

Publication Publication Date Title
US11425194B1 (en) Dynamically modifying a cluster of computing nodes used for distributed execution of a program
US9838249B2 (en) Maintaining resource availability during maintenance operations
JP6669682B2 (ja) クラウドサーバスケジューリング方法及び装置
CN108737270B (zh) 一种服务器集群的资源管理方法和装置
US8321558B1 (en) Dynamically monitoring and modifying distributed execution of programs
US8762538B2 (en) Workload-aware placement in private heterogeneous clouds
US8260840B1 (en) Dynamic scaling of a cluster of computing nodes used for distributed execution of a program
US9021046B2 (en) Provisioning server resources in a cloud resource
US9483314B2 (en) Systems and methods for fault tolerant batch processing in a virtual environment
CN103677967B (zh) 一种数据库的远程数据服务系统及任务调度方法
US20130339947A1 (en) Method and system for hypervisor-based service management
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
Buyya et al. Cost-efficient orchestration of containers in clouds: a vision, architectural elements, and future directions
US20240345844A1 (en) Cluster Management Method, Device, and Computing System
JP5632403B2 (ja) タスク管理システム、タスク管理サーバ、タスク管理方法、及びタスク管理プログラム
US20130204921A1 (en) Diagnostics agents for managed computing solutions hosted in adaptive environments
US11656914B2 (en) Anticipating future resource consumption based on user sessions
WO2016020731A1 (en) Component high availability scheduler
CN116319758A (zh) 数据迁移方法、装置、电子设备及可读存储介质
Stack et al. Self-healing in a decentralised cloud management system
US20240296064A1 (en) Job control system and control method thereof
US20240296075A1 (en) Job control system and control method thereof
US20240296060A1 (en) Job control system and control method thereof
JP2004240697A (ja) 計算機資源利用方式及び計算機資源利用方法
CN118922820A (zh) 针对容器化应用程序的定制跨场所资源选择

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140909

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141007

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141009

R150 Certificate of patent or registration of utility model

Ref document number: 5632403

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees