JP6286280B2 - 資源割り当て方法及び資源割り当てシステム - Google Patents

資源割り当て方法及び資源割り当てシステム Download PDF

Info

Publication number
JP6286280B2
JP6286280B2 JP2014105803A JP2014105803A JP6286280B2 JP 6286280 B2 JP6286280 B2 JP 6286280B2 JP 2014105803 A JP2014105803 A JP 2014105803A JP 2014105803 A JP2014105803 A JP 2014105803A JP 6286280 B2 JP6286280 B2 JP 6286280B2
Authority
JP
Japan
Prior art keywords
task
software
resource
available
software 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.)
Active
Application number
JP2014105803A
Other languages
English (en)
Other versions
JP2015022756A (ja
Inventor
ヘミン チェン
ヘミン チェン
ジェー. ドナルド マッキューン
ジェー. ドナルド マッキューン
スジット ファタック
スジット ファタック
カン ワン
カン ワン
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2015022756A publication Critical patent/JP2015022756A/ja
Application granted granted Critical
Publication of JP6286280B2 publication Critical patent/JP6286280B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Description

本出願は、複数ユーザシステムにおいて、ソフトウエア資源を割り当てる方法及びシステムに関する。
クラスタ又はクラウドサーバのような複数ユーザシステム上で演算タスクを行うとき、多くの処理を同時に実行しなければないことが多い。さらに通常は、同時に実行される処理のそれぞれが、1つの特定のソフトウエアのコピーを別途要求する。例えば、自動車設計を行う複数ユーザシステムでは、1つの演算処理を行うためには、いくつかの異なるソフトウエア資源を纏めた1つのコピーを使用することが必要となることもある。
さらに、いくつかのタスクを実行するために、同じ1つのソフトウエア資源をいくつかコピーして使用することが必要になることも多い。例えば、自動車産業では、相当複雑なシミュレーションをするには、いくつかの異なるソフトウエア資源を複数コピーして使用することが必要となる。
現在、コンピュータ産業における仮想化技術は、いくつかのサーバを仮想化し、あたかも1つの物理サーバであるかのように統合することを可能にする。しかしながら、ソフトウエアに対する要求に変化があるかと言えばそうではなく、それぞれの仮想マシンが、それぞれのタスクを実行するのに必要なそれぞれのソフトウエア資源の適法なコピーを引続き必要とする。
ネットワーク内の異なる複数のソフトウエア資源の場所を決定し、それらを割り当てる試みが従来から知られている。しかしながら、これらの従来から知られているシステムは、すべて、ハードウエア資源及びソフトウエア資源の量が無限であることを前提としている。しかしながら、経済的理由を含む多くの理由により、無限のソフトウエア資源を実際に提供し得るサービスプロバイダは存在しない。さらに、これらの従来から知られている割り当てシステムのうち、特定のタスクに要求される複数のソフトウエア資源を統合することを試みたものは皆無である。そのため、ソフトウエア資源を非効率的に使用してしまう結果となっている。
(要約)
本発明は、複数ユーザネットワークにおいて、ソフトウエア資源を割り当てるための方法及びシステムを提供する。これらの方法及びシステムは、従来から知られている方法及びシステムの前記欠点を克服する。
要するに、本発明においては、ネットワークからタスクが受け取られる。受取られたそれぞれのタスクは、少なくとも1つの、しばしば多くの、ソフトウエア資源を要求する。
それぞれのタスクは分析されて、そのタスクを実行するのに要求されるソフトウエア資源のタイプと数を決定する。
決定されたソフトウエア資源の利用可能性が判断され、利用可能である場合、そのソフトウエア資源が、それを要求するタスクに割り当てられる。一方、ある特定のタスク向けのソフトウエア資源が利用不可能である場合、そのタスクは、しばらくの期間、処理待ちキュー(行列)に並ぶことになる。その後、要求されているソフトウエア資源が発見され割り当てられるまで、その特定のタスクが要求するソフトウエア資源の利用可能性が繰り返し判断される。
添付の図と併せて以下の詳細な説明を参照すると、本発明をよりよく理解できる。複数の図を通じて、同じ箇所には同じ参照番号が振られている。
本発明の好ましい実施形態に係る仮想資源管理システムの全体図である。 クライアントシステムの一例のブロック図である。 サーバシステムの一例のブロック図である。 仮想ハードウエア資源サーバのブロック図である。 ソフトウエア資源サーバのブロック図である。 資源管理サーバのブロック図である。 未処理キュー処理手順のフローチャートである。 タスク分析処理手順のフローチャートである。 保留キュー処理手順のフローチャートである。 資源割り当て最適化処理手順のフローチャートである。 統合処理手順のフローチャートである。 仮想資源割り当て処理手順のフローチャートである。 仮想マシン再活用処理手順のフローチャートである。 (a)は、タスクを統合する前の統合テーブルの一例である。(b)は、タスクを統合した後の統合テーブルの一例である。 (a)は、ハードウエア資源テーブルの一例である。(b)は、ソフトウエア資源テーブルの一例である。
図1は、本発明に係るソフトウエア資源管理システム30のブロック図である。ソフトウエア資源管理システム30は、コンピュータネットワーク32を介して複数のユーザ34と電子的に接続されている。よって、ユーザ34がコンピュータネットワーク32を介してソフトウエア資源管理システム30に様々なタスクを提示すると、ソフトウエア資源管理システム30は、自身がアクセス可能なソフトウエアを使用してそのタスクを実行することになる。
図2を参照する。ユーザシステム又はクライアントシステム34は、典型的には、クライアントバス38及びネットワークインタフェース40を介してネットワーク32と通信する中央制御装置36を有している。主記憶装置(Random Access Memory)42及びハードディスクドライブのような不揮発性の補助記憶装置44もまた、クライアントバス38に接続されている。
モニタのような出力装置46が、ディスプレイインタフェース48を介してクライアントバス38と接続されている。同様にキーボードのような入力装置50もまた、USB(Universal Serial Bus)インタフェース52を介してクライアントバス38と接続されている。
実際には、ユーザシステム又はクライアントシステム34は、自動車シミュレーションのようなタスクを作成し、そのタスクをソフトウエア資源管理システム30にネットワークインタフェース40を介して提示する。ソフトウエア資源管理システム30に提示されたタスクは、少なくとも1つの、多くの場合は2つ以上の、ソフトウエア資源を要求する。同じ1つのソフトウエア資源の複数のコピーが、提示されたタスクを実行することになる場合もある。タスクを実行するのに必要なソフトウエア資源の数に関係なく、一旦ユーザがクライアントシステム34でタスクを作成すると、タスクは、ネットワークインタフェース40を介してソフトウエア資源管理システム30に送信される。
図3を参照する。図2のクライアントシステム34に代替する構成として、サーバ54がネットワーク32と通信し、サーバ54が、ユーザが提示した、1又は複数のソフトウエア資源を要求するタスクを実行してもよい。ソフトウエア資源管理システム30(図1)において、サーバ群194を構成する1つの仮想マシンとして、又は、タスク分析等のような他のジョブを実行する管理サーバとして、複数のサーバ54が存在してもよい。出力装置46、入力装置50、それらのそれぞれに対応するディスプレイインタフェース48及びUSBインタフェース52のいずれも有さないという点で、サーバ54は、クライアントシステム34とは異なる。なぜならば、ユーザはサーバ54と物理的にやり取りするわけではないからである。その他の点については、図2に示されているクライアントシステム34の記述は、図3についても同様にあてはまる。
図1及び図7を参照する。ソフトウエア資源管理システム30は、自身に提示されたすべてのタスクを、まずタスク処理部56(図1)で処理する。図7は、タスク処理部56の未処理キュー処理手順を図示するフローチャートである。
ステップS58において、タスク処理部56が起動し、その後ステップS60に進む。
ステップS60において、タスク処理部56は、ネットワーク32から新たなタスクが受け取られているか否かを判断する。新たなタスクが受け取られていない場合(ステップS60“NO”)、タスク処理部56は、ステップS62に進む。
ステップS62において、タスク処理部56は、しばらくの期間(例えば数ミリ秒)待機し、その後ステップS60に戻る。ステップS60及びS62の処理は、ネットワーク32から新たなタスクが受け取られるまで繰り返される。新たなタスクが受け取られている場合(ステップS60“YES”)、タスク処理部56は、ステップS64に進む。
ステップS64において、タスク処理部56は、新たに受け取られたタスクを、未処理キュー66(図1)に加え、その後ステップS68に進む。
ステップS68において、タスク処理部56は、新たに受取られたタスクがソフトウエア資源管理システム30によって処理可能であるか否かを判断する。通常は、処理可能である。処理可能である場合(ステップS68“YES”)、タスク処理部56は、ステップS60に戻る。ステップS60、S64及びS68の処理は、ネットワーク32から新たなタスクが受け取られる都度繰り返される。処理可能ではない場合(ステップS68“NO”)、タスク処理部56は、繰り返しループを抜け出て、未処理キュー処理手順を終了する(ステップS70)。
図1に戻る。タスク分析部72は、未処理キュー66内のそれぞれのタスクが要求する資源を分析し、充分なソフトウエア資源がない場合は、保留キュー74にタスクを記憶する。タスク分析部72は、ソフトウエア資源を割り当てたタスクを処理済キュー106に移動する。
図8を参照する。ステップS76において、タスク分析部72が起動し、その後ステップS78に進む。ステップS78において、タスク分析部72は、保留キュー74に記憶されているタスクをまず処理する。
ここで一旦図9を参照する。図9は、タスク分析部72による保留キュー処理手順のフローチャートである。保留キュー処理手順は、図8のステップS78の詳細である。
ステップS80において、タスク分析部72が起動し、その後ステップS82に進む。ステップS82において、タスク分析部72は、保留キュー74が空き状態であるか否かを判断する。空き状態である場合(ステップS82“YES”)、タスク分析部72は、ステップS84に進み、保留キュー処理手順を終了したうえで、ステップS86(図8)に進む。
一方、保留キュー74が空き状態ではない場合(ステップS82“NO”)、タスク分析部72は、ステップS88に進む。
ステップS88において、タスク分析部72は、保留キュー74に記憶されている次のタスクを取得する。
ステップS90において、タスク分析部72は、ソフトウエア資源管理システム30に利用可能であって、かつ、ステップS88において取得されたタスクを実行するのに必要なソフトウエア資源が充分にあるか否かを判断する。この判断をするために、タスク分析部72は、資源プール37(図1)におけるソフトウエア92と通信する。図5に最もよく示されているように、ソフトウエア資源サーバ92(図1におけるソフトウエア92)は、ソフトウエアデータベース94、及び、ソフトウエアデータベース94にアクセスするデータベースアプリケーション96を有する。データベースアプリケーション96自身は、オペレーティングシステム98の制御のもとで動作し、ソフトウエア資源サーバ92は、物理サーバ100を介してネットワーク32と通信する。
ステップS90において、タスク分析部72は、ソフトウエア資源サーバ92と通信して、ステップS88において取得されたタスクを実行するために利用可能なソフトウエア資源が充分にあるか否かを判断する。充分にない場合(ステップS90“NO”)、タスク分析部72は、ステップS102に進む。
ステップS102において、タスク分析部72は、保留キュー74が空き状態であるか否かを判断する。空き状態である場合(ステップS102“YES”)、タスク分析部72は、ステップS84に進み保留キュー処理手順を終了し、ステップS86(図8)に進む。一方、保留キュー74が空き状態ではない場合(ステップS102“NO”)、タスク分析部72は、ステップS88に戻り前記の処理を繰り返す。
一方、タスクを実行するために利用可能なソフトウエア資源が充分にある場合(ステップS90“YES”)、タスク分析部72は、ステップS104に進む。
ステップS104において、タスク分析部72は、タスクを保留キュー74から処理済キュー106(図1)に移動する。その後、タスク分析部72は、ステップS108に進む。
ステップS108において、タスク分析部72は、ソフトウエア資源サーバ92と通信し、ステップS88において取得されたタスクに割り当てられたソフトウエア資源を削除する又は控除することよって、ソフトウエア資源利用可能性テーブルを更新する。その後、タスク分析部72は、ステップS102に進む。
ステップS102においては、タスク分析部72は、前記したように、判断に応じて処理を振り分ける。
図8に戻る。保留キュー74内のすべてのタスクが前記のように処理された後(ステップS102“YES”のパス)、ステップS86において、タスク分析部72は、未処理キュー66から次のタスクを取得する。その後、タスク分析部72は、ステップS110に進む。
ステップS110において、タスク分析部72は、タスクのタイプが“0”であるか否かを判断する。タイプが“0”であるタスクとは、そのタスクを実行するために要求される複数のソフトウエア資源のすべてが、それぞれ“1回”しか要求されないタスクであり、したがって、ソフトウエア資源ごとに1つのコピーだけが要求されているタスクである。一方、タイプが“1”であるタスクとは、少なくとも1つの同じソフトウエア資源を2回以上要求するタスクである。他のソフトウエア資源についても同様である。後者の場合、タイプが“1”であるソフトウエア資源の統合(詳細後記)が可能である。
引続き図8を参照する。タスクのタイプが“0”である場合(ステップS110“YES”)、タスク分析部72は、ステップS112に進む。
ステップS112において、タスク分析部72は、タスクを実行するために充分なソフトウエア資源があるか否かを判断する。ステップS112は、図9のステップS90と同じである。充分なソフトウエア資源が利用可能ではない場合(ステップS112“NO”)、タスク分析部72は、ステップS114に進む。
ステップS114において、タスク分析部72は、タスクを保留キュー74に移動し、後続処理に備える。一方、タイプが“0”であるタスクを実行するために充分なソフトウエア資源がある場合(ステップS112“YES”)、タスク分析部72は、ステップS115に進む。
ステップS115において、タスク分析部72は、タスクを処理済キュー106に移動する。その後、タスク分析部72は、ステップS116に進む。
ステップS116において、タスク分析部72は、図9のステップS108と同じ方法で、ソフトウエア資源利用可能性テーブルを更新する。その後、タスク分析部72は、ステップS118に進む。
ステップS118において、タスク分析部72は、未処理キュー66が空き状態であるか否かを判断する。空き状態である場合(ステップS118“YES”)、タスク分析部72は、ステップS120に進み、タスク分析処理手順を終了する。一方、未処理キュー66が空き状態ではない場合(ステップS118“NO”)、タスク分析部72は、ステップS86に戻り前記処理(S80〜S84)を繰り返す。
タスクのタイプが“1”である場合、つまり、タスクが少なくとも1つのソフトウエア資源について複数回コピーを要求する場合(ステップS110“NO”)、タスク分析部72は、ステップS122に進む。
ステップS122において、タスク分析部72は、ソフトウエア資源の割り当てを、タイプが“1”である複数のタスクごとに最適化する。図10は、資源割り当て最適化処理手順のフローチャートである。資源割り当て最適化処理手順は、図8のステップS122の詳細である。
図10を参照する。ステップS124において、資源割り当て部162が起動し、その後、ステップS126に進む。ステップS126において、資源割り当て部162は、タスクを検査し、同じタイプの1つのソフトウエア資源を要求する複数の処理を合成することによって、1つの特定のソフトウエア資源の複数のコピーを求める要求が統合され得るか否かを判断する。統合され得ない場合(ステップS126“NO”)、資源割り当て部162は、ステップS128に進む。
ステップS128において、資源割り当て部162は、タスクが要求している他のタイプのソフトウエア資源があるか否かを判断する。つまり、他のタイプの処理を統合するか否かを判断する。タスクが要求している他のタイプのソフトウエア資源がある場合(ステップS128“YES”)、資源割り当て部162は、ステップS126に戻る。タスクが要求している他のタイプのソフトウエア資源がない場合(ステップS128“NO”)、資源割り当て部162は、資源割り当て最適化処理手順を終了する(ステップS130)。
一方、1つの特定のソフトウエア資源の複数のコピーを求める要求が統合され得る場合(ステップS126“YES”)、資源割り当て部162は、ステップS132に進む。
ステップS132において、資源割り当て部162は、その特定のタイプのソフトウエア資源のうち、そのタスクが要求するソフトウエア資源の総数“N”を決定する。その後、資源割り当て部162は、ステップS134に進む。
ステップS134において、資源割り当て部162は、ソフトウエアデータベース94(図5)に問い合わせることによって、そのタイプのソフトウエア資源の最大数“M”を決定する。その後、資源割り当て部162は、ステップS136に進む。
ステップS136において、資源割り当て部162は、“M”が“N”以上であるか否かを判断する。前記したように、“M”は、そのタイプの利用可能なソフトウエア資源の最大数(利用可能数)であり、“N”は、そのタイプのソフトウエア資源のうち特定のタスクが要求するソフトウエア資源の総数(要求数)である。“M”が“N”以上である場合(ステップS136“YES”)、資源割り当て部162は、統合の必要はないと決定する。つまり、資源割り当て部162は、ステップS128に進み、そのタスクが要求するすべての処理が検査されるまで処理を繰り返す。
一方、特定のタイプのソフトウエア資源の数“N”が、そのタイプのソフトウエア資源の利用可能なコピーの数“M”を超える場合(ステップS136“NO”)、資源割り当て部162は、統合の必要があると決定し、ステップS138に進む。
ステップS138において、資源割り当て部162は、“N”個の処理を“M”個の処理に統合する。つまり、資源割り当て部162は、タスクが要求する、特定のタイプのソフトウエア資源の数を、利用可能なソフトウエア資源の数に統合する。
ここで一旦図11を参照する。図11に統合処理手順が示されている。統合処理手順は、図10のステップS138の詳細である。
ステップS142において、資源割り当て部162は、統合処理手順を開始し、ステップS144に進む。
ステップS144において、資源割り当て部162は、コンピュータの処理負担が小さい順に(昇順に)ソフトウエア資源を並び替える。ここでの並び替えは、複数の中央制御装置に対して可能な限り均一にタスクの処理負担を配分するためには有益である。その後、資源割り当て部162は、ステップS146に進む。
ステップS146において、資源割り当て部162は、インデクス“i”を設定し、“i”に“1”を代入する。その後、資源割り当て部162は、ステップS148に進む。
ステップS148において、資源割り当て部162は、ダミー変数“j”を設定し、“j”に“1”を代入する。その後、資源割り当て部162は、ステップS150に進む。
ステップS150において、資源割り当て部162は、ダミー変数“j”と利用可能なライセンスの数“M”との積に対して、インデクス“i”を加算する。そして、“i+M×j”の値を、タスクを実行するために要求されるソフトウエア資源の数である“N”と比較し、“i+M×j>N”であるか否かを判断する。比較結果が“i+M×j>N”ではない(ライセンスの数に余裕がない)場合(ステップS150“NO”)、資源割り当て部162は、ステップS152に進む。
ステップS152において、資源割り当て部162は、インデクス“i”を有する処理を、インデクス“i+M×j”を有する処理と統合する。その後、資源割り当て部162は、ステップS154に進む。
ステップS154において、資源割り当て部162は、ダミー変数“j”に対して“1”を加算する。その後、資源割り当て部162は、ステップS150に戻り、前記の処理を繰り返す。
一方、比較結果が“i+M×j>N”である(ライセンスの数に余裕がある)場合(ステップS150“YES”)、資源割り当て部162は、ステップS156に進む。
ステップS156において、資源割り当て部162は、インデクス“i”に対して“1”を加算する。その後、資源割り当て部162は、ステップS158に進む。
ステップS158において、資源割り当て部162は、インデクス“i”を、利用可能なソフトウエア資源の数“M”と比較し、“i>M”であるか否かを判断する。比較結果が“i>M”である場合(ステップS158“YES”)、資源割り当て部162は、ステップS160に進み、統合処理手順を終了する。比較結果が“i>M”ではない場合(ステップS158“NO”)、資源割り当て部162は、ステップS148に戻り、前記の処理を繰り返す。
図10に戻る。
ステップS138においてソフトウエア資源を統合した後、資源割り当て部162は、ステップS140に進む。
ステップS140において、資源割り当て部162は、「当該タスクは、現在“M”個の処理を要求するに過ぎなくなっている。したがって、当該タスクは、このようなソフトウエア資源のコピーを“M”個しか必要としていない」旨をタスク情報に書き加えて、タスク情報を更新した後、前記のステップS128の処理を実行する。
図14(a)は、統合前のタスクの一例を示し、図14(b)は、統合後のタスクの一例を示す。この例では、タイプが“1”である処理は2つ存在し、これらの処理は、タイプ欄に“B”が記載されている2つのレコードに対応する(図14(a))。しかしながら、コピーライセンスは、1つ(1回分)しかない。そこで、タスクを実行可能にするために、資源割り当て部162は、タイプ“B”の2つの処理を1つに統合する(図14(b))。その結果、1つのコピーライセンスで足りることになる。統合処理後、タスクは適法なライセンスの数で実行され得る。
図8に戻る。
ステップS122において、ソフトウエア資源の割り当てを最適化した後、タスク分析部72は、タスクを処理済キュー106(図1)に移動し、ソフトウエア資源利用可能性テーブルを更新する。
図15(a)は、ハードウエア資源の資源テーブル107の例である。図15(b)は、ソフトウエア資源の資源テーブル109の例である。
図15(a)を参照する。資源テーブル107は、カテゴリに関連付けて、総容量、予約済容量、割り当て済容量及び利用可能容量が記憶されている。例えば中央制御装置の行(レコード)において、総容量から予約済容量を減算し、さらに割り当て済容量を減算した結果が利用可能容量となっている。利用可能容量は、他のタスクのために利用可能な中央制御装置の容量である。主記憶装置(RAM)及びハードディスクドライブのような不揮発性の補助記憶装置の行についても同様である。
図15(b)は、ソフトウエア資源の資源テーブル109である。資源テーブル109は、A、B、C等異なる複数のソフトウエアのカテゴリに関連付けて、各カテゴリに属するソフトウエアの総数、予約済のソフトウエアの数、割り当て済のソフトウエアの数及び利用可能なソフトウエアの数が記憶されている。カテゴリごとに、ソフトウエアの総数から、予約済のソフトウエアの数を減算し、さらに割り当て済のソフトウエアの数を減算することによって、当該カテゴリの利用可能なソフトウエアの数を算出できる。
図1、及び図6を参照する。処理済キュー106内の次のタスクを実行するには、適当なソフトウエア資源及びハードウエア資源が割り当てられなければならない。したがって、資源割り当て部162(182)は、ハードウエア資源及びソフトウエア資源を割り当てなければならない。
資源割り当て部162の処理が図12に示されている。
ステップS164において、資源割り当て部162は、仮想資源割り当て処理手順を開始し、ステップS166に進む。
ステップS166において、資源割り当て部162は、処理済キュー106から次のタスクを取得する。その後、資源割り当て部162は、ステップS168に進む。
ステップS168において、資源割り当て部162は、資源管理サーバ172(図6)と通信し、タスクに対してハードウエア及びソフトウエアを割り当てる。割り当てられたハードウエア及びソフトウエアは、一体となってサーバ54(図3)を構成し、図1のサーバ群194に加えられる。図6に示すように、資源管理サーバ172は、オペレーティングシステム174、及び、オペレーティングシステム174の制御下で動作する管理アプリケーション176を有する。さらに、管理アプリケーション176は、プログラムとして、タスク処理部178、タスク分析部180、資源割り当て部182及び資源再活用部184を格納している。専用のサーバ186が、ネットワーク32と通信する。
図4を参照する。仮想ハードウエアサーバシステム190は、自身のサーバ192を介して、ネットワーク32と通信する。仮想ハードウエアサーバシステム190は、ユーザが提示するジョブを実行する仮想サーバ群である図1のサーバ群194の一部であってもよい。サーバ群194の仮想サーバのそれぞれは、オペレーティングシステム198の制御下で動作するオペレーティングアプリケーション196を有する。オペレーティングアプリケーション196は、要求されるすべてのソフトウエア資源を含む。仮想ハードウエアシステム190は、ハイパーバイザ(サーバ192内の物理ハードウエアを使用して仮想ハードウエア200を提供し得る特別なコンピュータオペレーティングシステム/ソフトウエア)に制御される。
図12に戻る。ステップS168において、タスクに対して、仮想ハードウエアサーバシステム190(サーバ群194においても同様)の第1順位の仮想サーバを一旦割り当てると、資源割り当て部162は、タスクを実行するのに必要なソフトウエア資源を仮想サーバに読み出し、読み出したソフトウエア資源を実行する。その後、資源割り当て部162は、ステップS170に進む。
ステップS170において、資源割り当て部162は、処理済になったばかりのタスクを処理済みキュー106から削除する。
図13を参照する。タスクが完了すると、資源再活用部204(図1)は、ソフトウエア資源をソフトウエアデータベース94に戻して再活用し、仮想マシンをハードウエアデータベースに戻して再活用する。図13は、資源再活用部204の処理を示している。
ステップS208において、資源再活用部204は、仮想マシン再活用処理を開始し、ステップS210に進む。
ステップS210において、資源再活用部204は、図1のサーバ群194のうちに非稼動の仮想サーバがあるか否かを判断する。ある場合(ステップS210“YES”)、資源再活用部204は、ステップS212に進む。
ステップS212において、資源再活用部204は、資源プール37(図1)のハードウエア206及びソフトウエア92(図5のソフトウエアデータベース94)を更新する。その後、資源再活用部204は、ステップS214に進む。
ステップS214において、資源再活用部204は、所定の期間待機する。その後、資源再活用部204は、ステップS216に進む。
ステップS216において、資源再活用部204は、再活用を終了すべきであるか否かを判断する。終了するべきではない場合(ステップS216“NO”)、資源再活用部204は、ステップS210に戻り前記の処理を繰り返す。終了すべきである場合(ステップS216“YES”)、資源再活用部204は、仮想マシン再活用処理手順を終了する(ステップS218)。
一方、非稼動の仮想サーバがない場合(ステップS210“NO”)、再活用のために利用できる仮想サーバはないことになる。したがって、資源再活用部204は、ステップS214に進み、前記処理を繰り返す。
本発明はソフトウエア資源を割り当てるための効果的な方法及びシステムを提供することが、前記よりわかる。本発明の記述はここで終了する。しかしながら、添付の特許請求の範囲が特定する本発明の趣旨を逸脱しない範囲で、本発明に対する多くの修正が可能であることが、当業者には明らかである。
30 ソフトウエア資源管理システム
32 コンピュータネットワーク
34 クライアントシステム
56 タスク処理部
72 タスク分析部
162 資源割り当て部
204 資源再活用部

Claims (13)

  1. ソフトウエア資源を割り当てるシステムの方法であって、
    前記システムは、
    少なくとも1つのソフトウエア資源を要求するタスクをネットワークから受け取り、
    前記タスクのそれぞれを分析し、前記タスクを実行するために要求されるソフトウエア資源のタイプを決定し、
    前記ソフトウエア資源が利用可能であるか否かを判断し、
    前記ソフトウエア資源が利用可能である場合は、前記タスクのそれぞれに前記ソフトウエア資源を割り当て、
    前記ソフトウエア資源が利用可能でない場合は、前記ソフトウエア資源が利用可能になるまで、前記分析し決定する処理を繰り返
    前記要求されるソフトウエア資源の数が、当該ソフトウエア資源の利用可能数を超える場合、前記要求されるソフトウエア資源のコピーの数を前記利用可能数に統合することによって、前記タスクのすべてを実行可能にすること、
    を特徴とする方法。
  2. 前記判断することは、
    前記ソフトウエア資源の数及び前記ソフトウエア資源の前記タイプを示すデータを格納する資源プールを検査することを含むこと、
    を特徴とする請求項1に記載の方法。
  3. 前記システムは、
    前記タスクが完了すると、前記ソフトウエア資源を前記資源プールに戻すこと、
    を特徴とする請求項2に記載の方法。
  4. 前記ソフトウエア資源は、
    仮想マシン上で実行されること、
    を特徴とする請求項1に記載の方法。
  5. 前記受け取ったタスクは、
    前記分析する処理に先立って、未処理キューに記憶されること、
    を特徴とする請求項1に記載の方法。
  6. 前記システムは、
    前記要求されるソフトウエア資源が利用可能でない場合は、
    前記タスクを保留キューに所定の期間記憶し、当該期間の経過後、当該タスクを分析し、当該タスクを実行するために要求されるソフトウエア資源のタイプを決定すること、
    を特徴とする請求項1に記載の方法。
  7. ソフトウエア資源を割り当てるシステムであって、
    前記システムは、
    少なくとも1つのソフトウエア資源を要求するタスクをネットワークから受け取るタスク処理部と、
    前記タスクのそれぞれを分析し、前記タスクを実行するために要求されるソフトウエア資源のタイプを決定し、
    前記ソフトウエア資源が利用可能であるか否かを判断するタスク分析部と、
    前記ソフトウエア資源が利用可能である場合は、前記タスクのそれぞれに前記ソフトウエア資源を割り当て、
    前記ソフトウエア資源が利用可能でない場合は、前記ソフトウエア資源が利用可能になるまで、前記分析し決定する処理を繰り返し、
    前記要求されるソフトウエア資源の数が、当該ソフトウエア資源の利用可能数を超える場合、前記要求されるソフトウエア資源のコピーの数を前記利用可能数に統合することによって、前記タスクのすべてを実行可能にする資源割り当て部と、
    を有することを特徴とするシステム。
  8. 前記システムは、
    前記ソフトウエア資源の数及び前記ソフトウエア資源の前記タイプを示すデータを格納する資源プールを検査する資源再活用部を有すること、
    を特徴とする請求項のシステム。
  9. 前記資源再活用部は、
    前記タスクが完了すると、前記ソフトウエア資源を前記資源プールに戻すこと、
    を特徴とする請求項のシステム。
  10. 前記ソフトウエア資源は、
    仮想マシン上で実行されること、
    を特徴とする請求項のシステム。
  11. 前記受け取ったタスクは、
    前記分析する処理に先立って、未処理キューに記憶されること、
    を特徴とする請求項のシステム。
  12. 前記タスク分析部は、
    前記要求されるソフトウエア資源が利用可能でない場合は、
    前記タスクを保留キューに所定の期間記憶し、当該期間の経過後、当該タスクを分析し、当該タスクを実行するために要求されるソフトウエア資源のタイプを決定すること、
    を特徴とする請求項のシステム。
  13. 前記タスク処理部及び前記タスク分析部は、
    プログラミングされたプロセッサであること、
    を特徴とする請求項のシステム。
JP2014105803A 2013-07-16 2014-05-22 資源割り当て方法及び資源割り当てシステム Active JP6286280B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/943,378 US9836330B2 (en) 2013-07-16 2013-07-16 Virtual resource management tool for cloud computing service
US13/943,378 2013-07-16

Publications (2)

Publication Number Publication Date
JP2015022756A JP2015022756A (ja) 2015-02-02
JP6286280B2 true JP6286280B2 (ja) 2018-02-28

Family

ID=52344534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014105803A Active JP6286280B2 (ja) 2013-07-16 2014-05-22 資源割り当て方法及び資源割り当てシステム

Country Status (2)

Country Link
US (1) US9836330B2 (ja)
JP (1) JP6286280B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6513913B2 (ja) * 2014-07-23 2019-05-15 クラリオン株式会社 情報提示装置、方法及びプログラム
CN107155215B (zh) * 2016-03-02 2020-07-21 阿里巴巴集团控股有限公司 一种应用归属服务集群的分配方法和装置
US11314907B2 (en) 2016-08-26 2022-04-26 Hitachi, Ltd. Simulation including multiple simulators
KR20180057036A (ko) * 2016-11-21 2018-05-30 삼성전자주식회사 효율적인 리소스 관리를 위한 전자 장치 및 이의 방법
WO2018161341A1 (zh) * 2017-03-10 2018-09-13 深圳市博信诺达经贸咨询有限公司 基于云技术的安防监控实现的方法及装置
US10382112B2 (en) * 2017-07-14 2019-08-13 Facebook, Inc. Beamforming using passive time-delay structures
CA3060362A1 (en) 2017-07-24 2019-02-28 Wix.Com Ltd. Editing a database during preview of a virtual web page
CN110955500A (zh) * 2018-09-26 2020-04-03 北京忆恒创源科技有限公司 大规模并发任务的调度方法与装置
US11496443B2 (en) * 2020-06-30 2022-11-08 Sap Se Middleware to enable end-to-end processes with limited network communication
CN114020470B (zh) * 2021-11-09 2024-04-26 抖音视界有限公司 资源分配方法、装置、可读介质及电子设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069396B2 (en) * 2002-06-27 2006-06-27 Hewlett-Packard Development Company, L.P. Deferred memory allocation for application threads
JP4748302B2 (ja) * 2005-03-31 2011-08-17 日本電気株式会社 Jobキューに連携するライセンス管理システム及び方法
JP4101251B2 (ja) 2005-05-24 2008-06-18 富士通株式会社 負荷分散プログラム、負荷分散方法、及び負荷分散装置
JP4768354B2 (ja) * 2005-08-15 2011-09-07 富士通株式会社 ジョブ管理装置、ジョブ管理方法、ジョブ管理プログラム
JP4781089B2 (ja) 2005-11-15 2011-09-28 株式会社ソニー・コンピュータエンタテインメント タスク割り当て方法およびタスク割り当て装置
JP4571609B2 (ja) 2006-11-08 2010-10-27 株式会社日立製作所 リソース割当方法、リソース割当プログラム、および、管理コンピュータ
US8578076B2 (en) * 2009-05-01 2013-11-05 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
US20120060167A1 (en) * 2010-09-08 2012-03-08 Salsburg Michael A Method and system of simulating a data center
JP2012164038A (ja) * 2011-02-04 2012-08-30 Elpida Memory Inc ライセンス管理装置、ライセンス管理方法およびプログラム
JP5939740B2 (ja) * 2011-04-11 2016-06-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 動的にリソースを割り当てる方法、システム及びプログラム

Also Published As

Publication number Publication date
JP2015022756A (ja) 2015-02-02
US9836330B2 (en) 2017-12-05
US20150026342A1 (en) 2015-01-22

Similar Documents

Publication Publication Date Title
JP6286280B2 (ja) 資源割り当て方法及び資源割り当てシステム
US11010407B2 (en) Resource provisioning systems and methods
US10082972B2 (en) Method and system for pooling, partitioning, and sharing network storage resources
KR101885688B1 (ko) 낮은 지연속도 데이터 액세스를 위한 데이터 스트림의 분할
JP6172649B2 (ja) 情報処理装置、プログラム、及び、情報処理方法
US10108460B2 (en) Method and system for integrated deployment planning for virtual appliances
CN108121810A (zh) 一种数据去重方法、***、中心服务器及分布式服务器
JP6412244B2 (ja) 負荷に基づく動的統合
JP4801761B2 (ja) データベース管理方法およびシステム並びにその処理プログラム
CN113821311A (zh) 任务执行方法及存储设备
JP6519111B2 (ja) データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置
WO2013080434A1 (en) Dynamic process/object scoped memory affinity adjuster
JP2007249468A (ja) Cpu割当方法、cpu割当プログラム、cpu割当装置、および、データベース管理システム
US10359945B2 (en) System and method for managing a non-volatile storage resource as a shared resource in a distributed system
KR101765725B1 (ko) 대용량 방송용 빅데이터 분산 병렬처리를 위한 동적 디바이스 연결 시스템 및 방법
US20200265052A1 (en) Data processing device and data processing method
JP6807963B2 (ja) 情報処理システム及び情報処理方法
CN112948279A (zh) 管理存储***中的访问请求的方法、设备和程序产品
CN117321581A (zh) 用于加速sql查询的确定性分布式高速缓存的技术
US10360192B1 (en) Method and apparatus for identifying database I/O activity
CN107102966B (zh) 多核处理器芯片、中断控制方法及控制器
US9088569B2 (en) Managing access to a shared resource using client access credentials
CN104298519A (zh) 用于配置操作***的装置及其方法
CN111475279A (zh) 用于备份的智能数据负载平衡的***和方法
US9256648B2 (en) Data handling in a cloud computing environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171207

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: 20180130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180205

R150 Certificate of patent or registration of utility model

Ref document number: 6286280

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150