JP5448032B2 - リソース管理装置、リソース管理プログラム、およびリソース管理方法 - Google Patents

リソース管理装置、リソース管理プログラム、およびリソース管理方法 Download PDF

Info

Publication number
JP5448032B2
JP5448032B2 JP2008331324A JP2008331324A JP5448032B2 JP 5448032 B2 JP5448032 B2 JP 5448032B2 JP 2008331324 A JP2008331324 A JP 2008331324A JP 2008331324 A JP2008331324 A JP 2008331324A JP 5448032 B2 JP5448032 B2 JP 5448032B2
Authority
JP
Japan
Prior art keywords
resource
execution
unit
user
resources
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.)
Expired - Fee Related
Application number
JP2008331324A
Other languages
English (en)
Other versions
JP2010152738A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2008331324A priority Critical patent/JP5448032B2/ja
Priority to TW098136533A priority patent/TW201030531A/zh
Priority to US12/626,853 priority patent/US8606919B2/en
Publication of JP2010152738A publication Critical patent/JP2010152738A/ja
Application granted granted Critical
Publication of JP5448032B2 publication Critical patent/JP5448032B2/ja
Expired - Fee Related 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/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0645Rental transactions; Leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5014Reservation

Description

本発明は、リソース管理装置、リソース管理プログラム、およびリソース管理方法に関する。
近年、ネットワークを介したユーザからの要求に応じて、CPU、メモリ、およびストレージ等のハードウエアリソース、並びに、アプリケーション等のソフトウエアリソースを組み合わせて各種のサービス及び/又は計算機環境を提供するクラウド・コンピューティングが注目されている。クラウド・コンピューティングにおいては、リソースの使用量に応じて、ユーザに対して従量制で課金するモデルが一般的である。
特許文献1には、サービス実行時間の見積もりデータ作成時に、処理時間と課金額に加えて、その時間内でサービスを完了できる確率を表示することが記載されている(段落0059)。特許文献2には、課金額の実算値が予算値に達したときにジョブの実行が中断されてしまうのを防ぐことを目的として(段落0005)、ジョブの実行時に使用される想定課金を予測し、予算値を超過すると判定した場合には予算値を満たせる可能性が高いジョブクラスまたはシステムにジョブを転送することが記載されている(要約等)。特許文献3には、プリペイド式の従量制課金方法において、購入した分のリソースを使い切ってしまうことを防ぐことを目的として、単位時間当たりに使用可能な計算機リソースの上限をサービスプロセッサから利用者が設定可能とすることが記載されている(請求項1等)。
特開2005−56201号公報 特開平7−234740号公報 特開2007−66256号公報
クラウド・コンピューティングにおいては、各種のハードウエアリソースおよびソフトウエアリソースが組み合わされてユーザに対して提供されるので、ユーザがリソースの使用量を適切に求めるのが比較的困難である。上記の技術においては、ユーザがリソースを余分に確保すると、無駄な課金が発生すると共に、リソースにアイドルが生じてしまう。一方、リソースが不足しすぎると、リソースを確保した期間内にサービス等が完了せず、サービス等が中断されて無駄に課金されてしまう可能性がある。
上記課題を解決するために、本発明の第1の態様においては、計算機システム内における、処理を実行するためのリソースを管理するリソース管理装置であって、ユーザにより指定された指定処理を実行するためのリソースを確保するリソース確保部と、確保されたリソースにおいて確保した時間内に前記指定処理を終えることができない場合に、リソースを追加で確保するか否かをユーザに問い合わせる問合せ部と、前記ユーザからリソースを追加で確保する旨の指示を受けたことに応じて、前記リソース確保部によりリソースを確保させて、確保されたリソース上で前記指定処理の続きを行わせる再開指示部と、を備えるリソース管理装置を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る分散システム10の構成を示す。分散システム10は、ユーザからの処理要求に応じて、計算機システム100内の少なくとも1つのハードウエアリソース及び/又はソフトウエアリソースを所定の時間確保して、ユーザが指定した処理を実行する。そして、分散システム10は、当該処理のために確保されたリソースに不足が生じた場合には、リソースを追加で確保するか否かをユーザに問い合わせ、リソースを追加する旨の指示を受けたことに応じてリソースを追加で確保し処理の続きを実行する。
計算機システム100は、情報処理を実行するために用いられる1または複数のリソースを有しており、少なくとも1つのリソースを組み合わせてユーザが指定した情報処理を実行する。リソース管理装置110は、計算機システム100内における、処理を実行するためのリソースを管理する。リソース管理装置110は、ユーザからサービスの実行またはユーザが指定したプログラム等の実行の要求を受けて、ユーザにより指定された指定処理を実行するための計算機システム100内のリソースを少なくとも1つ確保して、当該リソース上で当該指定処理を実行させる。また、リソース管理装置110は、確保したリソースに不足が生じた場合には、ユーザの指示を受けて計算機システム100内のリソースを追加で確保して、当該指定処理の続きを実行させる。
ユーザ端末120a〜bは、ユーザがサービスまたはプログラム等の実行をリソース管理装置110に指示し、サービスまたはプログラム等の実行結果を受け取るために用いられる。ネットワーク130は、インターネット、イントラネット、及び/又はローカルエリアネットワーク等であり、ユーザ端末120a〜bと、リソース管理装置110とを接続する。
図2は、本実施形態に係るリソース管理装置110の構成を示す。リソース管理装置110は、フロントエンド処理部200と、問合せDB210と、課金DB212と、処理DB214と、解析部220と、ポリシーDB222と、リソースDB224と、スケジュールDB226と、リソース確保部230と、実行管理部240と、実行状態DB250と、実行履歴DB260と、完了予測部270とを備える。フロントエンド処理部200は、ネットワーク130を介したユーザ端末120との間でのインタラクションおよびユーザが指定した指定処理の実行/再開指示をする。フロントエンド処理部200は、要求受付部202と、実行指示部204と、問合せ部206と、再開指示部208とを有する。
要求受付部202は、ユーザが実行を希望するサービスまたはプログラム等の指定処理の内容をユーザ端末120から受け付ける。指定処理の内容を受けたことに応じて、要求受付部202は、いずれのリソースをどれだけの時間確保するべきかの予測を解析部220に依頼する。要求受付部202は、予測の結果確保するリソースに応じた課金額を課金DB212を参照して算出して、ユーザ端末120を介してユーザに提示する。課金額を見たユーザから実行要求を受け取ると、要求受付部202は、実行要求を受け取った旨を実行指示部204に通知する。以上の処理において、要求受付部202は、ユーザからの指定により、またはユーザとの間での契約により、指定処理を実行するリソースが満たすべき実行サービスレベルをユーザから受け取ってもよい。
実行指示部204は、要求受付部202から実行要求を受け取って、リソースの確保をリソース確保部230に要求する。また、実行指示部204は、指定処理の内容を処理DB214へと格納することにより、指定処理の実行を実行管理部240へと指示する。
問合せ部206は、確保されたリソースにおいて確保した時間内に指定処理を終えることができない場合に、リソースを追加で確保するか否かをユーザに問い合わせる。問合せ部206は、ユーザに問合せ中の内容を問合せDB210に格納する。そして、問合せ部206は、ユーザからリソースを追加で確保する旨の指示を受け取ると、その旨を再開指示部208へと通知する。本実施形態においては、計算機システム100は、リソースを追加で確保する場合には、ユーザに追加料金を課金する。そこで、問合せ部206は、リソースを追加で確保して指定処理の続きを行わせるための再開料金を支払うか否かをユーザに問い合わせることによって、リソースを追加で確保するか否かをユーザに問い合わせる。
再開指示部208は、ユーザからリソースを追加で確保する旨の指示を受けたことに応じて、リソース確保部230によりリソースを確保させて、確保されたリソース上で指定処理の続きを行わせる。本実施形態においては、リソースを追加で確保する場合には追加料金を課金するので、再開指示部208は、ユーザから再開料金を支払う旨の指示を受けたことに応じて、リソース確保部230により確保させたリソース上で指定処理の続きを行わせる。
なおフロントエンド処理部200は、指定処理が実行または再実行されたことに応じて、ユーザに対して課金処理をする課金部を更に有してもよい。課金部は、ユーザの銀行口座またはクレジットカードを管理する外部のサーバ装置に対して、課金額および追加料金を課金するトランザクションを発行する。
処理DB214は、各ユーザにより指定された指定処理の情報を格納する。解析部220は、要求受付部202及び/又は問合せ部206から受け取った指定処理の内容を解析して、ポリシーDB222、リソースDB224、およびスケジュールDB226を参照して当該指定処理を実行させる少なくとも1つのリソースおよび当該少なくとも1つのリソースの確保時間を求める。解析部220は、当該少なくとも1つのリソースおよびその確保時間を要求受付部202及び/又は問合せ部206に渡す。
ポリシーDB222は、指定処理の実行条件等をユーザ毎に定めたユーザ・ポリシー、および、指定処理の実行条件等のデフォルト値を定めたシステム・ポリシーを格納する。リソースDB224は、計算機システム100内の各リソースに対応して、そのリソースの種類、属性、およびそのリソースが満たすサービスレベル等のリソースに関する情報を格納する。スケジュールDB226は、各指定処理が計算機システム100内の各リソースを使用するスケジュールを格納する。
リソース確保部230は、実行指示部204からリソースを確保する要求を受けて、実行指示部204が実行を指示した指定処理を実行するためのリソースを確保する。また、リソース確保部230は、再開指示部208からリソースを追加で確保する要求を受けて、再開指示部208が実行を指示した指定処理の続きを実行するためのリソースを確保する。すなわち、リソース確保部230は、指定処理を実行する旨の実行要求を受けた実行指示部204及び/又は再開指示部208からの指示に応じて、指定された少なくとも1つのリソースを指定した確保時間確保するべくスケジュールDB226上でリソース使用スケジュールを登録する。
実行管理部240は、計算機システム100上における各指定処理の実行を管理する。具体的には、実行管理部240は、指定処理毎に確保されたリソースを割り当てて、確保されたリソース上で指定処理を確保された時間計算機システム100により実行させる。また、実行管理部240は、確保されたリソースにおいて確保した時間内に指定処理を終えることができない場合に、指定処理の実行を中断することを計算機システム100に指示する。
実行状態DB250は、実行状態格納部の一例であり、中断された指定処理の実行状態を格納する。また、実行管理部240は、中断された指定処理の続きを実行するためにリソースが追加で確保された場合には、指定処理の続きを、追加で確保されたリソース上で追加で確保された時間計算機システム100により実行させる。また、実行状態DB250は、指定処理の実行結果を格納する。そして、実行状態DB250は、指定処理の実行を要求したユーザのユーザ端末120からの要求を受けて、指定処理の実行結果を返信する。
実行履歴DB260は、実行履歴格納部の一例であり、過去に実行された指定処理の実行時間の履歴を格納する。具体的には、実行履歴DB260は、指定処理の実行中に計算機システム100が送信する実行状態の監視結果、および指定処理の実行時間を計算機システム100から順次受け取って、格納していく。
完了予測部270は、確保されたリソース上で指定処理を実行中に、当該リソースが確保された時間内に指定処理が完了するか否かを予測する。完了予測部270は、一例として実行履歴DB260に格納された当該指定処理の実行状態の監視結果、および指定処理に類似する過去の処理の実行時間の履歴等に基づいて、確保時間内に指定処理が完了するか否かを予測して、予測結果をフロントエンド処理部200および実行管理部240に通知する。これを受けて、フロントエンド処理部200内の問合せ部206は、確保時間内に指定処理が完了しない場合には、リソースを追加で確保するか否かをユーザ端末120のユーザに問い合わせる。また、実行管理部240は、指定処理の実行の中断を計算機システム100に指示する。
以上に示したリソース管理装置110によれば、確保した計算機システム100のリソースにおいて確保した時間内に指定処理を終えることができない場合に、ユーザの承認を受けてリソースを追加で確保して指定処理の続きを計算機システム100により実行させることができる。したがって、リソース管理装置110は、余分となりうるリソースをユーザが予め確保しておかなかったとしても、ユーザの合意の下で、リソースを追加で確保して処理を完了させることができる。
図3は、本実施形態に係る計算機システム100の論理的な構成を示す。計算機システム100は、例えばクラウド・コンピューティング・システム、グリッド・コンピューティング・システム、並列計算機、スーパーコンピュータ、サーバ、パーソナルコンピュータ、およびこれらの任意の数同士の組み合わせ等によって実現される。
計算機システム100は、情報処理を実行するために用いられる1または複数のリソースを有する。計算機システム100が有するリソースは、物理または論理プロセッサ、メモリ、ストレージ、通信インターフェイス、情報処理装置、および計算機クラスタその他の、情報処理を実行するために使用されるハードウエアリソースであってよい。また、計算機システム100が有するリソースは、一例として同時に使用可能なユーザ数が制限されたアプリケーションプログラムおよびオペレーティングシステムその他のソフトウエアリソースであってもよい。
1または複数の処理ノード300のそれぞれは、1または複数のリソース(群)310を組み合わせて構成された、指定処理を実行するために協働する仮想的な計算機システムであってもよい。各処理ノード300が有する1または複数のリソース(群)310は、ユーザの承認を受けて、対応する指定処理を実行するために実行管理部240により確保される。それぞれのリソース(群)310は、1つのリソースまたは2以上のリソース群(例えばCPU+メモリ+ハードディスク)またはこれらのリソース等の一部のみを占有することによって構成される。それぞれのリソース(群)310は、指定処理の一部または全部を実行する実行部320と、実行部320の実行状態を監視して監視結果をリソース管理装置110内の実行履歴DB260へと送信する監視部330とを含む。また、計算機システム100は、いずれの指定処理に対しても確保されておらず、アイドル状態の空リソース340を1または複数含んでもよい。
図4は、本実施形態に係る問合せDB210に格納される問合せテーブル400の一例を示す。問合せ部206は、確保されたリソースにおいて確保した時間内に指定処理を終えることができない場合に、追加でリソースを確保して指定処理の残りを実行するかどうかをネットワーク130およびユーザ端末120を介してユーザに問い合わせる。問合せ部206は、ユーザに対する問合せ内容(オファー内容)を、問合せDB210内の問合せテーブル400に格納する。
問合せテーブル400は、それぞれの問合せ毎に、問合せ部206が問合せ毎に個別に付加した各問合せの識別情報である「オファリングID」と、ユーザに対する問合せの「日時」と、問合せの状態を示す「ステータス」と、問合せの内容を示す「オファリング内容」とを格納する。図中第1行に示したオファリングIDが1000_2の問合せは、「日時2008/09/10 09:00:00−2008/9/15 12:00」の期間に、リソース「xxxxxxx」を使用して、追加料金$200で処理の続きを実行するという提案内容である。
また、図中第2行に示したオファリングIDが1001_1の問合せは、追加料金$100で処理の続きを実行するという提案内容である。いずれの問合せもステータスが「ユーザ返答待ち」であり、問合せ部206がユーザ端末120に対して問合せを送信済みであるがユーザ端末120から回答が得られていない状態であることを示す。
図5は、本実施形態に係る課金DB212に格納される課金テーブル500の一例を示す。課金テーブル500は、リソース及び/又はリソースに含まれる各部毎に、課金単価を記憶する。一例として、課金テーブル500は、リソースの識別情報である「リソースID」と、リソース内における課金対象となる部分を示す「課金対象」と、リソースの当該課金対象部分の課金単価を求める基準となる単位量を示す「課金単位(ユニット)」と、リソースの当該課金対象部分の課金単価を求める基準となる単位時間を示す「課金単位(時間)」と、リソースの当該課金対象部分を課金単位(ユニット)分、課金単位(時間)の間使用した場合の課金額である「課金単価」と、当該課金単価が適用される「条件」とを格納する。
本実施例において、リソースIDが「1」のリソースは、CPU、メモリ、およびDiskを課金対象部分として含むコンピュータである。CPUは、課金単位(ユニット)が0.1であり、課金単位(時間)が1Hourであり、課金単価が0.005$であるから、1時間の間、1CPUのCPU時間を10%確保した場合に$0.005が課金される。また、メモリは、課金単位(ユニット)が256MBであり、課金単位(時間)が1Hourであり、課金単価が0.005$であるから、1時間の間256MBのメモリを確保した場合に$0.005が課金される。また、Diskは、課金単位(ユニット)が10GBであり、課金単位(時間)が1Hourであり、課金単価が0.05$であるから、1時間の間10GBの記憶領域を確保した場合に、$0.05が課金される。
要求受付部202及び/又は問合せ部206は、少なくとも1つのリソース(またはリソースの一部)のそれぞれを所定の時間確保する場合の課金額として、それぞれのリソース等の課金単価を基準として、リソース(またはリソースの一部)を使用する量および時間に応じて比例した額を提示してもよい。これに代えて、要求受付部202及び/又は問合せ部206は、リソース等を使用する量及び/又は時間に応じて課金額の増加量が漸増または漸減する料金体系を採ってもよい。また、要求受付部202及び/又は問合せ部206は、使用量、使用時間、及び/又はこれらの積が一定以上となった場合には定額となる料金体系を採ってもよい。
また、条件フィールドは、当該課金単価が適用される条件、すなわち例えば保証するサービスレベル(保証信頼性、保証稼働率、暗号化の要否、暗号化レベル等)、季節/日付/時間帯、及び/又は、計算機システム100の空リソースの条件(空リソースが全体のX%未満の場合)等といった条件を限定するために用いられる。これにより、要求受付部202及び/又は問合せ部206は、保証するサービスレベル、リソースを確保する時期、及び/又は計算機システム100の負荷状態等に応じて、課金額を変動させることができる。
また、課金テーブル500は、多様なサービスレベルの設定に応じて、異なる課金単価を記憶してもよい。例えば課金テーブル500は、「他の指定処理を優先して、他の指定処理を先に実行した場合には当該指定処理を遅延させる」場合に通常より低めの課金単価を設定してもよく、「他の指定処理を優先して、他の指定処理に対して必要に応じリソースを提供した場合には、サービスレベルがより低いリソースを確保して続きを実行してもよい」場合に通常より低めの課金単価を設定してもよい。また、課金テーブル500は、「リソースを確保した時間内に指定処理の実行が完了しない場合において、空リソース上で指定処理の続きを実行する」場合に低めの課金単価を設定してもよい。
また、課金テーブル500は、「リソースを確保した時間内に指定処理が完了しないと予測された場合に、リソースの追加を問い合わせる」場合に高めの課金単価を設定してもよく、「リソースを確保した時間内に指定処理が完了しないと予測された場合に、リソースを自動的に追加して完了させる」場合には更に高い課金単価を設定してもよい。なお、システムによっては、指定処理の実行を中断するまでは無料として、追加料金のみを課金する料金体系をとってもよく、完全に無料であってもよい。
図6は、本実施形態に係る処理DB214に格納される処理テーブル600およびトランザクション・テーブル610の一例を示す。処理テーブル600は、計算機システム100上で実行すべき少なくとも1つの指定処理のそれぞれについて、指定処理の識別情報である「処理ID」と、指定処理の名称を示す「処理名」と、指定処理を実行する上でユーザとの間で契約した様々なサービスレベルの条件を列挙した「SLO(サービスレベルオファリング)の指定」と、当該指定処理を実行するために開始すべき少なくとも1つの「トランザクション」とを格納する。
SLOの指定フィールドは、指定処理を実行する上でユーザとの間で契約した様々なサービスレベルの条件を記憶するために用いられる。サービスレベルの条件は、一例として信頼性(MTBF)の保証値、稼働率の保証値、暗号化をするか否か、暗号化レベル、及び/又は、ハードウエアリソースを他の指定処理と共用するか否か等が挙げられる。開始トランザクションフィールドは、指定処理を開始するために呼び出すべきトランザクションを特定する。このトランザクションは、指定処理の少なくとも一部ずつを担当する処理単位であり、例えば、1または複数のプロセス、1または複数のスレッド、及び/又は、1または複数のデータベース処理等であってよい。
トランザクション・テーブル610は、計算機システム100上で実行すべき各指定処理に含まれるトランザクション毎に、当該トランザクションを含む指定処理の「処理ID」と、トランザクションの識別情報である「トランザクション」と、当該トランザクションが処理する「データ処理量」と、び当該トランザクションの「次のトランザクション」を格納する。実行指示部204および問合せ部206は、指定処理の実行を開始する場合、および指定処理の続きの実行を開始する場合に、各指定処理に含まれる各トランザクションをトランザクション・テーブル610に登録する。これに代えて、実行管理部240は、指定処理の実行中に動的に生成されるトランザクションの情報を計算機システム100から取得して、処理DB214に動的に格納してもよい。
図7は、本実施形態に係るポリシーDB222に格納されるユーザ・ポリシー・テーブル700およびシステム・ポリシー・テーブル710の一例を示す。ユーザ・ポリシー・テーブル700は、ユーザの識別情報として用いられる「ユーザ名」と、例えば「未完了の処理を保存する」、および「以前の同じ処理の結果を使用する」等といった複数のユーザ・ポリシーの項目のそれぞれを当該ユーザに対して適用するか否かを示すユーザ・ポリシー適用可否情報とを格納する。リソース管理装置110は、リソース管理装置110および計算機システム100の管理者の指示、または各ユーザからの事前の指示に応じて各ユーザのユーザ・ポリシーを設定してもよい。これに代えて、リソース管理装置110は、ユーザがユーザ端末120からネットワーク130を介してポリシーDB222内のユーザ・ポリシーを変更可能としてもよい。
システム・ポリシー・テーブル710は、例えば「未完了の処理を保存し、オファリングを行う」、「処理の結果をキャッシュする」、および「ユーザの最大支払限度額に応じて未同意の処理をおこなっておく」等といったシステム側の「ポリシー」と、対応するポリシーを適用するか否かを示すシステム・ポリシー適用可否情報となる「値」と、当該システム・ポリシーの適用対象となる「対象リソースID」と、当該システム・ポリシーを適用する「条件」とを格納する。例えば、「未完了の処理を保存し、オファリングを行う」というシステム・ポリシーは、対象リソースIDが「ALL」かつ値が「Yes」であるから、全てのリソースに対して適用される。
また、「処理の結果をキャッシュする」というシステム・ポリシーは、対象リソースIDが「3」かつ値が「No」であるから、リソース3には適用されない。このように、適用されないリソースを特定したシステム・ポリシーは、指定されたリソース以外に暗黙的に適用されてもよい。また、「ユーザの最大支払限度額に応じて未同意の処理をおこなっておく」というシステム・ポリシーは、リソース1および2に対して適用される。ただし、最大支払限度額の80%までに限って、リソースの不足により中断された後、追加の課金額をユーザが承認していない指定処理の残りを実行しておくことを示す。
図8は、本実施形態に係るリソースDB224に格納されるリソース・テーブル800の一例を示す。リソース・テーブル800は、計算機システム100内の各リソースに対応付けて、「リソースID」と、「リソース名」と、リソースの種類を示す「リソース・タイプ」と、「CPU数」、「メモリ」、および「Disk」等のリソースの属性と、当該リソースが提供することができる「SLA(サービス・レベル・アグリーメント)」とを格納する。本実施形態において、リソースは、一例としてCPU、メモリ、およびディスク等の外部記憶装置のうちの少なくとも1つの組み合わせによって構成される。
例えば、リソース1(リソース名「Server1」)は、CPU4台、メモリ8GB、およびハードディスク800GBのサーバ装置である。Server1が提供できる、信頼性/稼働率の保証値、暗号化機能、及び/又は、選択可能な暗号化レベル等のサービスレベルは、SLAフィールドに記憶される。また例えばリソース3(リソース名「SAN Disk 1」)は、CPUおよびメモリを持たないサーバエリアネットワーク(SAN)に接続された大容量記憶装置である。
以上に示したリソース・テーブル800は、計算機システム100の構成を元にリソース管理装置110の管理者により設定される。これに代えて、リソース管理装置110は、計算機システム100を構成する各リソースを検索して、リソース・テーブル800を生成してもよい。
図9は、本実施形態に係るスケジュールDB226に格納されるリソース使用状態テーブル900の一例を示す。リソース使用状態テーブル900は、計算機システム100内の各リソースに対応付けて、「リソースID」と、「ユーザ名」と、当該ユーザが使用するCPU数である「使用CPU数」と、当該ユーザが使用するメモリ量である「使用メモリ」と、当該ユーザが使用する外部記憶装置の記憶容量である「使用Disk」と、当該ユーザに対して当該リソースが確保された確保時間を示す「使用開始日時」および「使用終了日時」とを記憶する。
例えば、図8のリソース1に示したServer1の一部、すなわちCPU2台、メモリ2GB、およびディスク800GBは、「User1」が指定処理を少なくとも1つ実行するために、「2008/08/01 10:00:00」から「2008/08/31 10:00:00」の間確保される。また例えば、図8のリソース3に示したSAN Disk1の一部である1TBの記憶容量は、「User3」によって「2008/08/01 10:00:00」から「2008/08/31 10:00:00」の間確保される。
図10は、本実施形態に係る実行状態DB250に格納される実行結果テーブル1000の一例を示す。実行状態DB250は、1または複数の指定処理のそれぞれについて、「処理ID」と、「リビジョン」と、処理を実行した期間を示す「開始日時」および「終了日時」と、「ステータス」と、対応する「オファリングID」と、「処理結果」とを格納する。
リビジョンフィールドは、指定処理の実行を再開した回数を特定する情報を格納する。本実施形態において、実行結果テーブル1000は、リソースを確保して指定処理を実行した回数を示す。例えば、リビジョンが1の場合、ユーザから指定処理の実行要求を受けて、最初に指定処理を実行した状態に対応する。リビジョンが2の場合、指定処理を実行した後リソースを確保した時間内に処理が完了せずに1回中断して、その後ユーザから再実行の指示を受けて指定処理の続きを実行している状態に対応する。このようにして、リビジョンがnの場合には、リソース不足によって(n−1)回中断され、ユーザから(n−1)回再実行の指示を受けて、n回目の実行に対応する状態であることが示される。
開始日時および終了日時フィールドは、そのリビジョンに対応する実行における開始日時および終了日時を示す。ステータスフィールドは、そのリビジョンに対応する実行の状態を示す。ステータスフィールドが「完了」の場合、そのリビジョンに対応する実行により指定処理の実行が終了したことを示す。ステータスフィールドが「未完了」の場合、そのリビジョンに対応する実行において、指定処理の実行が終了しておらず、指定処理の実行状態を保存していないことを示す。ステータスフィールドが「未完了、結果処理済み」の場合、そのリビジョンに対応する実行において、指定処理の実行が終了せずに中断しており、中断した指定処理の実行状態を保存済みであることを示す。
オファリングIDフィールドは、リソースを確保した時間内に指定処理を終えることができない場合において、問合せ部206がリソースを追加で確保するかをユーザに問い合わせたことに応じて、問合せ部206が問合せを識別する識別情報を格納する。処理結果フィールドは、ステータスが「完了」の場合指定処理の実行結果を、ステータスが「未完了」の場合指定処理の途中経過または中断した指定処理の実行状態を格納したファイルの記憶位置を格納する。このファイルは、実行状態DB250内に格納されてよく、これに代えて計算機システム100内に格納されてもよい。
図11は、本実施形態に係る分散システム10の動作フローを示す。要求受付部202は、ユーザが実行を希望するサービスまたはプログラム等の指定処理の内容をユーザ端末120から受け付ける(ステップS1100)。ここで、サービスとは、既に計算機システム100に実装されたプログラムに対してユーザが指定したデータ及び/又はパラメータを与えることによって、計算機システム100上で実行される処理である。また、計算機システム100は、ユーザから受け取ったプログラムを計算機システム100上で実行することもできる。
ここで、要求受付部202は、指定処理の内容として、サービスまたはプログラムの指定、サービスまたはプログラムに与えるデータ及び/又はパラメータの指定、希望するサービスレベルの指定、及び/又は、希望する処理の終了期限の指定等をユーザ端末120を介して受け取ってもよい。また、要求受付部202は、ユーザが直接リソースを確保することを希望する場合には、どのリソースをどの期間確保するかの指定をユーザ端末120を介して受け取ってもよい。
解析部220は、ユーザから受け付けた処理内容を要求受付部202から受け取って解析して、ユーザが指定した終了期限までに、ユーザが希望するサービスレベルを満たすように指定処理を実行するために確保すべき少なくとも1つのリソースおよびそれぞれのリソースを確保する時間を求める(S1105)。要求受付部202は、指定処理を実行するために確保すべきリソースおよび確保時間を解析部220から受け取って、課金DB212を参照して当該リソースを対応する確保時間確保するための課金額を算出する。
要求受付部202は、ユーザが指定した内容および課金額をネットワーク130およびユーザ端末120を介してユーザに通知して、指定処理の実行を要求するか否かを入力させる(S1110)。ユーザが指定処理の実行を要求した場合、ユーザが指定した内容および課金額の契約が成立するので、要求受付部202は、実行要求を受け取った旨を実行指示部204に通知する。
これを受けて、実行指示部204は、リソースの確保をリソース確保部230に要求すると共に、指定処理の内容を処理DB214へと登録して実行を指示する(S1115)。ここで実行指示部204は、新たに受け付けた指定処理に処理IDを割り当て、ユーザとの間で契約したSLOの指定、および指定処理を開始するために起動するトランザクション等を処理DB214に登録する。また、実行指示部204は、指定処理の処理IDおよびリビジョン「1」を実行状態DB250内の実行結果テーブル1000に登録する。なお、S1110において、課金額を確認したユーザが当該条件で指定処理を実行しない旨を入力した場合、要求受付部202は、S1110へと処理を戻してよい。
リソース確保部230は、スケジュールDB226を参照して確保すべきリソースの使用予定を検査して、当該リソースの空時間に確保時間分の使用予定をスケジュールDB226に登録することにより、当該リソースを予約する。これにより、リソース確保部230は、当該リソースを確保時間分確保する(S1120)。
実行管理部240は、スケジュールDB226の変更時または定期的にスケジュールDB226を参照して、リソース確保部230により確保されたリソースが使用可能な時刻となったことに応じて処理DB214に登録された指定処理の実行を計算機システム100に指示する(S1125)。一例として実行管理部240は、確保する各ハードウエアリソースを含む処理ノードである仮想マシンを立ち上げて、当該仮想マシン上で指定処理の開始トランザクションを起動してよい。そして実行管理部240は、実行結果テーブル1000内の当該指定処理に対応するレコードに、処理の開始日時、ステータス「未完了」、および処理結果を格納する記憶領域を書き込む。
計算機システム100内の確保したリソース上で指定処理を実行中に、完了予測部270は、当該リソースの確保時間内に指定処理が完了するか否かを予測する(S1130)。本実施形態において、完了予測部270は、実行中の指定処理が完了するまでに要する実行時間を、実行履歴DB260に格納された、過去に実行された同一または同様の指定処理の実行時間の履歴に基づいて予測する。
実行管理部240は、スケジュールDB226内のリソース使用状態テーブル900内に格納された、確保したリソースの使用終了日時までに指定処理の実行が完了すると予測された場合(S1135:Yes)、指定処理の実行を中断せず完了させて実行結果を実行状態DB250へと保存させる(S1140)。リソース管理装置110は、指定処理の実行結果を計算機システム100から受信して、実行結果テーブル1000内の当該指定処理に対応するレコードにおける処理結果フィールドに書き込まれた記憶領域に格納する。そして、リソース管理装置110は、当該レコードのステータスを「完了」とする。
指定処理の実行結果が実行状態DB250に保存されると、リソース管理装置110は、指定処理の実行結果をネットワーク130を介してユーザ端末120へと返信して、図11の動作フローを終了する(S1145)。ここでリソース管理装置110は、実行結果テーブル1000内の処理結果フィールドに登録された記憶領域へのポインタをユーザ端末120へと送信して、ユーザ端末120から当該記憶領域を参照させてもよい。
一方、S1135において、確保したリソースの使用終了日時までに指定処理の実行が完了しないと予測された場合(S1135:No)、実行管理部240は、指定処理の実行を中断することを計算機システム100へと指示する(S1150)。これを受けて、計算機システム100は、指定処理の実行を中断して、中断された指定処理の実行状態をリソース管理装置110へと送信する。なお実行管理部240は、S1115において確保されたリソース上で指定処理を確保された時間実行することを計算機システム100に指示することにより、確保された時間の終了時には計算機システム100により自動的に指定処理の実行を中断させてもよい。
リソース管理装置110は、中断された指定処理の実行状態を、実行結果テーブル1000内の対応するレコードの処理結果フィールドに登録された記憶領域へと保存する(S1155)。ここでリソース管理装置110は、指定処理を実行する仮想マシンの実行イメージおよび仮想デバイスの内部状態全体をファイルとして保存することにより、中断された指定処理の実行状態を保存してもよい。これに代えて、リソース管理装置110は、指定処理を実行するためのプログラム中に複数のチェックポイントが設けられている場合には、中断直前のチェックポイントにおける、指定処理を再開するためのログデータを保存してもよい。また、実行管理部240は、中断された指定処理の実行状態が実行結果テーブル1000に格納されたことに応じて、当該指定処理に対応するレコードのステータスを「未完了 結果処理済み」に変更する。
指定処理が中断されて実行状態が実行状態DB250に格納されると、問合せ部206は、追加料金を支払ってリソースを追加で確保するか否かをユーザに問い合わせる(S1160)。ここで問合せ部206は、指定処理の残りの処理内容を解析部220へと提供して、指定処理の残りを実行するために確保すべきリソースおよび確保時間を予測させる。問合せ部206は、予測結果を解析部220から受け取って、課金DB212を参照して追加の課金額を算出する。そして、問合せ部206は、ユーザに対する問合せにオファリングIDを割り当てて、問合せ内容を問合せテーブル400に登録する。また、問合せ部206は、実行結果テーブル1000内の対応するレコードに当該オファリングIDを書き込む。
また、ユーザがサービスレベル及び/又は終了期限等の条件の変更を指示した場合には、問合せ部206は、変更後の条件に応じて確保すべきリソースおよび確保時間を解析部220に予測させる。ここで、問合せ部206が、指定処理の続きを実行するリソースが満たすべき再開サービスレベルを、実行サービスレベルから変更するか否かの指示をユーザから受け取った場合等において、解析部220は、指定処理の続きを実行するリソースとして、再開サービスレベルを満たす別のリソースを確保するべきと判断しうる。
なお、問合せ部206は、再開サービスレベルを実行サービスレベルより低くする旨の指示を受け取った場合には、課金DB212に格納されたサービスレベル毎の課金単価に応じて、指定処理の続きを実行するリソースの課金単価を中断前の課金単価より下げてもよい。また、問合せ部206は、再開サービスレベルを実行サービスレベルより高くする旨の指示を受け取った場合には、課金DB212に格納されたサービスレベル毎の課金単価に応じて、指定処理の続きを実行するリソースの課金単価を中断前の課金単価より上げてもよい。
追加でリソースを確保して指定処理の続きを実行する旨の指示をユーザから受け取ると、問合せ部206は、指定処理の続きの実行要求を受け取った旨を再開指示部208に通知する(S1165:Yes)。また、問合せ部206は、当該実行要求に対応する問合せを問合せテーブル400から削除または完了状態とする。これを受けて、再開指示部208は、追加のリソース確保をリソース確保部230に要求すると共に、追加で確保したリソースに対して、実行状態DB250に格納された、中断された指定処理の実行状態を復元して、当該リソース上で指定処理の続きを行わせる旨の指示を、処理DB214を介して実行管理部240に与える(S1170)。ここで再開指示部208は、再開された指定処理の処理IDおよびリビジョンを実行状態DB250内の実行結果テーブル1000に登録する。
リソース確保部230は、指定処理の続きの実行を再開する場合に、計算機システム100内における、実行サービスレベルを満たすリソースを確保する(S1120)。ただし、再開サービスレベルを実行サービスレベルから変更する指示を受けた場合には、リソース確保部230は、計算機システム100内における、再開サービスレベルを満たすリソースを確保する。実行管理部240は、リソース確保部230により追加で確保されたリソースが使用可能な時刻となったことに応じて、実行状態DB250に格納された、中断された指定処理の実行状態を計算機システム100上の確保されたリソースへと復元して、指定処理の続きの実行を計算機システム100に指示する(S1125)。ここで、実行管理部240は、指定処理を実行していたリソースとは異なる他のリソースが追加で確保されたことに応じて、実行状態DB250に格納された、中断された指定処理の実行状態を当該他のリソースに対して復元する。
なお、実行管理部240は、仮想マシンの実行イメージおよび仮想デバイスの内部状態全体を、追加で確保されたリソースに復元して、仮想マシンの実行を再開させてよい。これに代えて、実行管理部240は、指定処理を実行するためのプログラムにおける、中断直前のチェックポイントから取得したログデータを当該プログラムに与えて、指定処理の実行を再開させてもよい。
以下、リソース管理装置110は、再開された指定処理について、S1130以降の処理を行う。これにより、リソース管理装置110は、最初に確保されたリソースにおいて指定処理が完了しなかった場合に、ユーザによる承認を受けて指定処理の続きを実行することができる。
図12は、本実施形態に係る分散システム10上で実行する処理の種類の一例を示す。解析部220および完了予測部270は、実行しようとする指定処理が、一例として図12に示した処理の種類のいずれに該当するかを特定して、特定した処理の種類に応じて確保すべきリソースおよび確保時間、並びに指定処理が完了するまでの時間を予測する。
解析部220および完了予測部270は、サービスまたはユーザのプログラムを解析して、実行しようとする指定処理を、いずれの処理の種類に分類すべきかを判断する。ここで、サービスのプログラムが予め計算機システム100側に格納されている場合、計算機システム100およびリソース管理装置110の管理者は、当該サービスがいずれの処理の種類に分類されるかを予め定義しておいてもよい。
図中(1)に示したシリアライズ型においては、指定処理に含まれる各トランザクションが、逐次実行される。図中(2)に示した並列実行型においては、指定処理に含まれる各トランザクションが、並列に実行される。特に、図中(2)においては、開始トランザクションから順に2以上のトランザクションずつに分かれていくことによって並列度が増加した後、最終のトランザクションが処理結果を集める。
図中(3)に示したランダム型は、各トランザクションの実行結果に応じて新たなトランザクションが生成される等により、指定処理の開始時点でトランザクションの全体的なフローを定型的な型に分類できない。ここで、指定処理がモンテカルロシミュレーションである場合には、収束の早さに応じて指定された誤差範囲に収束するまでに更に実行すべきトランザクション数を予測できることが知られている。
また、解析部220および完了予測部270は、各トランザクションの処理時間を、一例として処理データ量に比例した時間として求める。また、解析部220および完了予測部270は、過去に同一のトランザクションを実行した際の実行時間の履歴を実行履歴DB260から取得して、当該トランザクションの処理時間を予測してもよい。すなわち例えば、解析部220および完了予測部270は、過去に同一のトランザクションを実行した場合の実行時間に、過去に実行した際のデータ量に対する今回の実行におけるデータ量の比を乗じて、今回の実行における実行時間を算出してもよい。また、同一のトランザクションを複数のデータ量で実行した結果が実行履歴DB260に格納されている場合には、解析部220および完了予測部270は、トランザクションの実行時間とデータ量との関係(例えば実行時間がデータ量の2乗に比例する等)を更に推測してもよい。これに代えて、解析部220および完了予測部270は、トランザクション当りの平均実行時間を算出して、実行すべきトランザクションの数および並列に実行可能なトランザクションの数に基づいて実行時間を算出してもよい。
以上に示した通り、解析部220および完了予測部270によれば、指定処理の種類の判別結果、実行履歴、指定処理(または指定処理の残り)に含まれる2以上のトランザクションの種類等に基づいて、指定処理の完了までに要する時間、および各タイミングにおけるトランザクションの並列度を予測することができる。解析部220は、この予測結果を用いて、どのリソースをどの期間確保するかを求めることができる。また、完了予測部270は、この予測結果を用いて、確保したりソースにおいて指定処理の完了までに要する時間を予測することができる。
図13は、本実施形態に係る分散システム10の動作タイムチャートの第1例を示す。本例において、完了予測部270は、リソースの確保が終了する終了時刻T3から実行状態の保存に要する中断時間前の時刻T2までに、終了時刻までに指定処理の実行が完了するか否かの予測を終えておく。予測の精度をより高める目的で、完了予測部270は、終了時刻T3から中断時間前の時刻T2において、終了時刻T2までに指定処理の実行が終了するか否かを予測してよい。
予測の結果、完了予測部270が、リソースの確保終了時刻T3までに指定処理の実行を終えることができると判断すると、実行管理部240は、時刻T2以降も指定処理の実行を継続させる(処理1)。一方、完了予測部270は、リソースが確保された時間内に指定処理の実行が終了しないと予測されたことに応じて、終了時刻T3から中断時間前の時刻T2までに、指定処理の実行を中断することを実行管理部240に指示する。これを受けて、実行管理部240は、計算機システム100内の当該リソースに実行状態の保存処理を実行させる。
本例に係る完了予測部270によれば、指定処理の実行を中断する必要がある場合には、リソースが確保された期間中に実行状態を保存することができる。したがって、完了予測部270は、前の指定処理のための実行状態の保存処理が、後の指定処理のために確保された時間を侵食するのを防ぐことができる。
なお、完了予測部270は、実行状態保存に要する時間の1トランザクション当りの平均値、現在実行中のトランザクションの数、および実行状態保存の並列度から中断時間を予測することができる。また、完了予測部270は、中断時に実行中の各トランザクションの過去に同一または同様の指定処理を実行したときに要した中断時間の履歴から中断時間を予測してもよく、中断時間として予め設定された時間を用いてもよい。
図14は、本実施形態に係る分散システム10の動作タイムチャートの第2例を示す。本例において、完了予測部270は、リソースの確保が終了する終了時刻T3までの間計算機システム100に指定処理を実行させた後、終了時刻T3において指定処理の実行が完了していない場合に指定処理の中断を計算機システム100に指示する。そして、実行管理部240は、計算機システム100内の当該リソースに実行状態の保存処理を実行させる。
第2例においては、リソース管理装置110は、実行状態の保存に要する時間を予測等をせず、リソースが確保された時間全体を指定処理の実行のために割り当てる。リソース管理装置110は、完了予測部270を有さず一律に第2例に示した動作をしてもよく、これに代えて中断時間が予測可能な指定処理については第1例の動作をし、予測不可能な指定処理については第2例の動作をしてもよい。この場合、リソース管理装置110は、実行状態の保存に要した時間を追加で課金する旨をユーザとの間で合意しておき、中断時間分を追加で課金してもよい。なお、本例の動作フローにより指定処理を実行する場合、リソース確保部230は、複数の指定処理が続けて同一リソースを確保する場合に、リソースを確保する期間の間にマージンを設けてもよい。
図15は、本実施形態に係る分散システム10の動作タイムチャートの第3例を示す。本例において、再開指示部208は、リソースを追加で確保して指定処理の続きを実行するか否かの再開指示をユーザから受け取る前に、リソース確保部230によりリソースを確保させて、確保されたリソース上で指定処理の続きを再開しておく。これにより、再開指示部208および実行管理部240は、リソースの確保が終了する終了時刻T3までに指定処理の実行が完了しない場合に、リソースを追加で確保する旨の指示をユーザから受け取る前に、指定処理の続きを計算機システム100により投機的に実行させる。
一例として、完了予測部270は、リソースの確保終了時刻T3までに指定処理の実行が終了しないと判断された場合に、その旨をフロントエンド処理部200に通知する。これを受けて、問合せ部206は、リソースを追加で確保するか否かをネットワーク130およびユーザ端末120を介してユーザに問い合わせる。一方、再開指示部208は、ユーザからの返答を待つことなく、リソース確保部230により同一または異なるリソースを確保させ、確保されたリソース上で指定処理の続きを再開することを実行管理部240に指示する。ここで、再開指示部208は、空リソースが存在する場合に指定処理の続きを投機的に実行する一方、空リソースが存在しない場合にはユーザからの返答を待ってもよい。
なお、再開指示部208は、再開指示をユーザから受け取る前に指定処理の続きを再開した場合において、再開指示をユーザから受け取るまで指定処理の続きを再開しない場合と比較して再開料金を減額してもよい。この場合、問合せ部206は、減額された再開料金をユーザに提示して、リソースを追加で確保して指定処理の続きを実行するか否かを問い合わせる。これにより再開指示部208は、空リソースを有効活用して指定処理の続きを投機的に実行する一方で、空リソースを低額でユーザに活用させることができる。
これに代えて、再開指示部208は、再開指示をユーザから受け取る前に指定処理の続きを再開した場合において、再開指示をユーザから受け取るまで指定処理の続きを再開しない場合と比較して再開料金を増額してもよい。これにより、再開指示部208は、ユーザの再開指示を受けてから指定処理の続きを再開した場合と比較して指定処理を早く終わらせることができるというメリットをユーザに提供したことと引き換えに、より高い再開料金を得ることができる。
また、再開指示部208は、指定処理の続きを投機的に実行する場合においては、契約したサービスレベルのうち、リソースの保証信頼性及び/又は保証稼働率を満たさないリソースを確保してもよい。この場合、再開指示をユーザから受け取った時点までリソースが稼動していれば、実行管理部240は、契約したサービスレベルを満たすリソースにそれまでの実行状態を移行することができる。一方、当該リソースに支障が生じた場合には、実行管理部240は、投機的な実行の結果を破棄して、契約したサービスレベルを満たすリソース上で指定処理の続きを再開してよい。
なお、再開指示部208は、ユーザ・ポリシー・テーブル700及び/又はシステム・ポリシー・テーブル710に指定処理の投機的な実行に関するポリシーが設定されている場合には、そのポリシーに基づいて指定処理を投機的に実行するか否かを決定してもよい。また、再開指示部208は、それぞれの指定処理を指定したユーザに割り当てられた優先度、それぞれの指定処理の続きを実行するための再開料金の額、および、それぞれの指定処理が終えるまでの予測時間の少なくとも1つに基づいて、中断された複数の指定処理の中から再開する指定処理を選択してもよい。すなわち例えば、再開指示部208は、分散システム10の得意客等の重要ユーザの指定処理を優先して投機的に実行してもよい。
また、再開指示部208は、再開料金が低額または高額の指定処理、及び/又は、課金額がユーザが指定した範囲内に収まる指定処理を優先して投機的に実行してもよい。また、再開指示部208は、指定処理を終えるまでの予測時間が他より大きいまたは小さい指定処理を優先して投機的に実行してもよい。
図16は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びDVDドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、DVDドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。DVDドライブ2060は、DVD2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、DVD2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
コンピュータ1900にインストールされ、コンピュータ1900をリソース管理装置110として機能させるプログラムは、要求受付モジュール、実行指示モジュール、問合せモジュール、および再開指示モジュールを有するフロントエンド処理モジュールと、問合せDB210を管理する問合せDB管理モジュールと、課金DB212を管理する課金DB管理モジュールと、処理DB214を管理する処理DB管理モジュールと、解析モジュールと、ポリシーDB222を管理するポリシーDB管理モジュールと、リソースDB224を管理するリソースDB管理モジュールと、スケジュールDB226を管理するスケジュールDB管理モジュールと、リソース確保モジュールと、実行管理モジュールと、実行状態DB250を管理する実行状態DB管理モジュールと、実行履歴DB260を管理する実行履歴DB管理モジュールと、完了予測モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、要求受付部202、実行指示部204、問合せ部206、および再開指示部208を有するフロントエンド処理部200と、問合せDB210と、課金DB212と、処理DB214と、解析部220と、ポリシーDB222と、リソースDB224と、スケジュールDB226と、リソース確保部230と、実行管理部240と、実行状態DB250と、実行履歴DB260と、完了予測部270としてそれぞれ機能させる。
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である要求受付部202、実行指示部204、問合せ部206、および再開指示部208を有するフロントエンド処理部200と、解析部220と、リソース確保部230と、実行管理部240と、完了予測部270として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有のリソース管理装置110が構築される。
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はDVD2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
また、CPU2000は、ハードディスクドライブ2040、DVDドライブ2060(DVD2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、DVD2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
本実施形態に係る分散システム10の構成を示す。 本実施形態に係るリソース管理装置110の構成を示す。 本実施形態に係る計算機システム100の構成を示す。 本実施形態に係る問合せDB210に格納される問合せテーブル400の一例を示す。 本実施形態に係る課金DB212に格納される課金テーブル500の一例を示す。 本実施形態に係る処理DB214に格納される処理テーブル600およびトランザクション・テーブル610の一例を示す。 本実施形態に係るポリシーDB222に格納されるユーザ・ポリシー・テーブル700およびシステム・ポリシー・テーブル710の一例を示す。 本実施形態に係るリソースDB224に格納されるリソース・テーブル800の一例を示す。 本実施形態に係るスケジュールDB226に格納されるリソース使用状態テーブル900の一例を示す。 本実施形態に係る実行状態DB250に格納される実行結果テーブル1000の一例を示す。 本実施形態に係る分散システム10の動作フローを示す。 本実施形態に係る分散システム10上で実行する処理の種類の一例を示す。 本実施形態に係るリソース管理装置110の動作タイムチャートの第1例を示す。 本実施形態に係るリソース管理装置110の動作タイムチャートの第2例を示す。 本実施形態に係るリソース管理装置110の動作タイムチャートの第3例を示す。 本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。
符号の説明
10 分散システム
100 計算機システム
110 リソース管理装置
120a〜b ユーザ端末
130 ネットワーク
200 フロントエンド処理部
202 要求受付部
204 実行指示部
206 問合せ部
208 再開指示部
210 問合せDB
212 課金DB
214 処理DB
220 解析部
222 ポリシーDB
224 リソースDB
226 スケジュールDB
230 リソース確保部
240 実行管理部
250 実行状態DB
260 実行履歴DB
270 完了予測部
300 処理ノード
310 リソース(群)
320 実行部
330 監視部
340 空リソース
400 問合せテーブル
500 課金テーブル
600 処理テーブル
610 トランザクション・テーブル
700 ユーザ・ポリシー・テーブル
710 システム・ポリシー・テーブル
800 リソース・テーブル
900 リソース使用状態テーブル
1000 実行結果テーブル
1900 コンピュータ
2000 CPU
2010 ROM
2020 RAM
2030 通信インターフェイス
2040 ハードディスクドライブ
2050 フレキシブルディスク・ドライブ
2060 DVDドライブ
2070 入出力チップ
2075 グラフィック・コントローラ
2080 表示装置
2082 ホスト・コントローラ
2084 入出力コントローラ
2090 フレキシブルディスク
2095 DVD

Claims (13)

  1. 計算機システム内における、処理を実行するためのリソースを管理するリソース管理装置であって、
    ユーザにより指定された指定処理を実行するためのリソースを確保するリソース確保部と、
    確保されたリソースにおいて確保した時間内に前記指定処理を終えることができない場合に、リソースを追加で確保するか否かをユーザに問い合わせる問合せ部と、
    前記ユーザからリソースを追加で確保する旨の指示を受けたことに応じて、前記リソース確保部によりリソースを確保させて、確保されたリソース上で前記指定処理の続きを行わせる再開指示部と、
    確保されたリソース上で前記指定処理を確保された時間実行させる実行管理部と、
    確保されたリソースにおいて確保した時間内に前記指定処理を終えることができない場合に、中断された前記指定処理の実行状態を格納する実行状態格納部と、
    前記指定処理を実行するリソースが満たすべき実行サービスレベルを前記ユーザから受け取る要求受付部と、
    を備え、
    前記再開指示部は、リソースを追加で確保して前記指定処理の続きを実行するか否かの再開指示を前記ユーザから受け取る前に、前記リソース確保部により空リソースを確保させて、確保されたリソース上で前記指定処理の続きを再開しておき、
    前記実行管理部は、前記指定処理を実行していたリソースとは異なる他のリソースが追加で確保されたことに応じて、前記実行状態格納部に格納された、中断された前記指定処理の実行状態を当該他のリソースに対して復元し、
    前記問合せ部は、前記指定処理の続きを実行するリソースが満たすべき再開サービスレベルを、前記実行サービスレベルから変更するか否かの指示を前記ユーザから受け取り、
    前記リソース確保部は、前記再開サービスレベルを前記実行サービスレベルから変更する指示を受けたことに応じて、前記計算機システム内における、前記再開サービスレベルを満たすリソースを確保する
    リソース管理装置。
  2. 前記問合せ部は、リソースを追加で確保して前記指定処理の続きを行わせるための再開料金を支払うか否かを前記ユーザに問い合わせ、
    前記再開指示部は、前記ユーザから前記再開料金を支払う旨の指示を受けたことに応じて、前記リソース確保部により確保させたリソース上で前記指定処理の続きを行わせる
    請求項1に記載のリソース管理装置。
  3. 前記再開指示部は、前記再開指示を前記ユーザから受け取る前に前記指定処理の続きを再開した場合において、前記再開指示を前記ユーザから受け取るまで前記指定処理の続きを再開しない場合と比較して前記再開料金を減額する請求項2に記載のリソース管理装置。
  4. 前記再開指示部は、それぞれの前記指定処理を指定した前記ユーザに割り当てられた優先度、それぞれの前記指定処理の続きを実行するための前記再開料金の額、および、それぞれの前記指定処理が終えるまでの予測時間の少なくとも1つに基づいて、中断された複数の前記指定処理の中から再開する前記指定処理を選択する請求項2または3に記載のリソース管理装置。
  5. 記再開指示部は、追加で確保したリソースに対して前記実行状態格納部に格納された、中断された前記指定処理の実行状態を復元して、当該リソース上で前記指定処理の続きを行わせる
    請求項1から4のいずれか1項に記載のリソース管理装置。
  6. 確保されたリソース上で前記指定処理を実行中に、当該リソースが確保された時間内に前記指定処理が完了するか否かを予測する完了予測部を更に備え、
    前記実行管理部は、当該リソースが確保された時間内に前記指定処理の実行が終了しないと予測されたことに応じて、リソースの確保が終了する終了時刻から前記実行状態の保存に要する中断時間前までに、前記指定処理の実行を中断させる
    請求項1から5のいずれか1項に記載のリソース管理装置。
  7. 前記完了予測部は、前記終了時刻から前記中断時間前に、前記終了時刻までに前記指定処理の実行が終了するか否かを予測する請求項に記載のリソース管理装置。
  8. 過去に実行された前記指定処理の実行時間の履歴を格納する実行履歴格納部を更に備え、
    前記完了予測部は、実行中の前記指定処理の実行時間を、前記実行履歴格納部に格納された実行時間の履歴に基づいて予測する
    請求項またはに記載のリソース管理装置。
  9. 記リソース確保部は、前記指定処理を実行する場合および前記指定処理の続きの実行を再開する場合に、前記計算機システム内における、前記実行サービスレベルを満たすリソースを確保する
    請求項1から8のいずれか1項に記載のリソース管理装置。
  10. 計算機システム内における、処理を実行するためのリソースを管理するリソース管理装置であって、
    ユーザにより指定された指定処理を実行するためのリソースを確保するリソース確保部と、
    確保されたリソース上で前記指定処理を実行中に、当該リソースが確保された時間内に前記指定処理が完了するか否かを予測する完了予測部と、
    確保されたリソースにおいて確保した時間内に前記指定処理を終えることができない場合に、中断された前記指定処理の実行状態を格納する実行状態格納部と、
    確保されたリソース上で前記指定処理を確保された時間実行させ、当該リソースが確保された時間内に前記指定処理の実行が終了しないと予測されたことに応じて、リソースの確保が終了する終了時刻から前記実行状態の保存に要する中断時間前までに、前記指定処理の実行を中断させる実行管理部と、
    確保されたリソースにおいて確保した時間内に前記指定処理を終えることができない場合に、リソースを追加で確保して前記指定処理の続きを行わせるための再開料金を支払うか否かをユーザに問い合わせる問合せ部と、
    前記ユーザから前記再開料金を支払ってリソースを追加で確保する旨の指示を受けたことに応じて、前記リソース確保部によりリソースを確保させて、追加で確保したリソースに対して前記実行状態格納部に格納された、中断された前記指定処理の実行状態を復元して、確保されたリソース上で前記指定処理の続きを行わせる再開指示部と、
    前記指定処理を実行するリソースが満たすべき実行サービスレベルを前記ユーザから受け取る要求受付部と、
    を備え、
    前記再開指示部は、空リソースが存在する場合に、リソースを追加で確保して前記指定処理の続きを実行するか否かの再開指示を前記ユーザから受け取る前に、前記リソース確保部により空リソースを確保させて、確保されたリソース上で前記指定処理の続きを再開しておき、
    前記実行管理部は、前記指定処理を実行していたリソースとは異なる他のリソースが追加で確保されたことに応じて、前記実行状態格納部に格納された、中断された前記指定処理の実行状態を当該他のリソースに対して復元し、
    前記問合せ部は、前記指定処理の続きを実行するリソースが満たすべき再開サービスレベルを、前記実行サービスレベルから変更するか否かの指示を前記ユーザから受け取り、
    前記リソース確保部は、前記再開サービスレベルを前記実行サービスレベルから変更する指示を受けたことに応じて、前記計算機システム内における、前記再開サービスレベルを満たすリソースを確保する
    リソース管理装置。
  11. 請求項1から10のいずれか1項に記載のリソース管理装置と、
    前記計算機システムと、
    を備える分散システム。
  12. 計算機システム内における、処理を実行するためのリソースを管理するリソース管理装置としてコンピュータを機能させるリソース管理プログラムであって、
    前記コンピュータを、
    ユーザにより指定された指定処理を実行するためのリソースを確保するリソース確保部と、
    確保されたリソースにおいて確保した時間内に前記指定処理を終えることができない場合に、リソースを追加で確保するか否かをユーザに問い合わせる問合せ部と、
    前記ユーザからリソースを追加で確保する旨の指示を受けたことに応じて、前記リソース確保部によりリソースを確保させて、確保されたリソース上で前記指定処理の続きを行わせる再開指示部と、
    確保されたリソース上で前記指定処理を確保された時間実行させる実行管理部と、
    確保されたリソースにおいて確保した時間内に前記指定処理を終えることができない場合に、中断された前記指定処理の実行状態を格納する実行状態格納部と、
    前記指定処理を実行するリソースが満たすべき実行サービスレベルを前記ユーザから受け取る要求受付部と、
    して機能させ、
    前記再開指示部を、リソースを追加で確保して前記指定処理の続きを実行するか否かの再開指示を前記ユーザから受け取る前に、前記リソース確保部により空リソースを確保させて、確保されたリソース上で前記指定処理の続きを再開しておき、
    前記実行管理部は、前記指定処理を実行していたリソースとは異なる他のリソースが追加で確保されたことに応じて、前記実行状態格納部に格納された、中断された前記指定処理の実行状態を当該他のリソースに対して復元し、
    前記問合せ部は、前記指定処理の続きを実行するリソースが満たすべき再開サービスレベルを、前記実行サービスレベルから変更するか否かの指示を前記ユーザから受け取り、
    前記リソース確保部は、前記再開サービスレベルを前記実行サービスレベルから変更する指示を受けたことに応じて、前記計算機システム内における、前記再開サービスレベルを満たすリソースを確保するように機能させる
    リソース管理プログラム。
  13. 計算機システム内における、処理を実行するためのリソースをコンピュータにより管理するリソース管理方法であって、
    ユーザにより指定された指定処理を実行するためのリソースを前記コンピュータにより確保するリソース確保段階と、
    前記コンピュータが、確保されたリソースにおいて確保した時間内に前記指定処理を終えることができない場合に、リソースを追加で確保するか否かをユーザに問い合わせる問合せ段階と、
    前記ユーザからリソースを追加で確保する旨の指示を受けたことに応じて、前記コンピュータが、前記リソース確保段階によりリソースを確保させて、確保されたリソース上で前記指定処理の続きを行わせる再開指示段階と、
    確保されたリソース上で前記指定処理を確保された時間実行させる実行管理段階と、
    確保されたリソースにおいて確保した時間内に前記指定処理を終えることができない場合に、中断された前記指定処理の実行状態を格納する実行状態格納段階と、
    前記指定処理を実行するリソースが満たすべき実行サービスレベルを前記ユーザから受け取る要求受付段階と、
    を備え、
    前記再開指示段階で、リソースを追加で確保して前記指定処理の続きを実行するか否かの再開指示を前記ユーザから受け取る前に、前記コンピュータが、前記リソース確保段階により空リソースを確保させて、確保されたリソース上で前記指定処理の続きを再開しておき
    前記実行管理段階で、前記指定処理を実行していたリソースとは異なる他のリソースが追加で確保されたことに応じて、前記実行状態格納段階で格納された、中断された前記指定処理の実行状態を当該他のリソースに対して復元し、
    前記問合せ段階で、前記指定処理の続きを実行するリソースが満たすべき再開サービスレベルを、前記実行サービスレベルから変更するか否かの指示を前記ユーザから受け取り、
    前記リソース確保段階で、前記再開サービスレベルを前記実行サービスレベルから変更する指示を受けたことに応じて、前記計算機システム内における、前記再開サービスレベルを満たすリソースを確保する
    リソース管理方法。
JP2008331324A 2008-12-25 2008-12-25 リソース管理装置、リソース管理プログラム、およびリソース管理方法 Expired - Fee Related JP5448032B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008331324A JP5448032B2 (ja) 2008-12-25 2008-12-25 リソース管理装置、リソース管理プログラム、およびリソース管理方法
TW098136533A TW201030531A (en) 2008-12-25 2009-10-28 Resource management device, resource management program product, and resource management method
US12/626,853 US8606919B2 (en) 2008-12-25 2009-11-27 Resource management tool

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008331324A JP5448032B2 (ja) 2008-12-25 2008-12-25 リソース管理装置、リソース管理プログラム、およびリソース管理方法

Publications (2)

Publication Number Publication Date
JP2010152738A JP2010152738A (ja) 2010-07-08
JP5448032B2 true JP5448032B2 (ja) 2014-03-19

Family

ID=42286248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008331324A Expired - Fee Related JP5448032B2 (ja) 2008-12-25 2008-12-25 リソース管理装置、リソース管理プログラム、およびリソース管理方法

Country Status (3)

Country Link
US (1) US8606919B2 (ja)
JP (1) JP5448032B2 (ja)
TW (1) TW201030531A (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9053162B2 (en) * 2007-04-26 2015-06-09 Microsoft Technology Licensing, Llc Multi-tenant hosted application system
TW201112006A (en) * 2009-05-29 2011-04-01 Ibm Computer system, method and program product
US8661024B2 (en) * 2010-01-21 2014-02-25 Oracle International Corporation Database query resource management using select statement condition
US20120016721A1 (en) * 2010-07-15 2012-01-19 Joseph Weinman Price and Utility Optimization for Cloud Computing Resources
US8745234B2 (en) 2010-12-23 2014-06-03 Industrial Technology Research Institute Method and manager physical machine for virtual machine consolidation
US9307048B2 (en) 2010-12-28 2016-04-05 Microsoft Technology Licensing, Llc System and method for proactive task scheduling of a copy of outlier task in a computing environment
WO2012173604A2 (en) * 2011-06-14 2012-12-20 Empire Technology Development Llc Peak-performance-aware billing for cloud computing environment
EP2787438A4 (en) * 2011-08-26 2016-06-29 Hitachi Ltd PREDICTIVE SEQUENTIAL CALCULATION DEVICE
US10147123B2 (en) * 2011-09-29 2018-12-04 Amazon Technologies, Inc. Electronic marketplace for hosted service images
US9300548B2 (en) 2011-10-14 2016-03-29 Alcatel Lucent Providing dynamic reliability and security in communications environments
US8843609B2 (en) 2011-11-09 2014-09-23 Microsoft Corporation Managing capacity in a data center by suspending tenants
JP5392661B2 (ja) * 2011-12-16 2014-01-22 シャープ株式会社 電子機器
TWI454949B (zh) 2011-12-26 2014-10-01 Ind Tech Res Inst 分散式資源管理系統及其分散式資源管理方法
US9262216B2 (en) * 2012-02-14 2016-02-16 Microsoft Technologies Licensing, LLC Computing cluster with latency control
US9146793B2 (en) * 2012-05-18 2015-09-29 Hitachi, Ltd. Management system and management method
US10552774B2 (en) * 2013-02-11 2020-02-04 Amazon Technologies, Inc. Cost-minimizing task scheduler
US20160110221A1 (en) * 2013-05-22 2016-04-21 Nec Corporation Scheduling system, scheduling method, and recording medium
JP6264872B2 (ja) * 2013-12-17 2018-01-24 日本電気株式会社 トランザクション処理システム
US11232494B2 (en) * 2014-10-28 2022-01-25 Deskpass Corporation Resource utilization management
US9830624B2 (en) * 2014-10-28 2017-11-28 Bau Llc Systems and methods for resource utilization management
WO2016164057A1 (en) * 2015-04-08 2016-10-13 Hewlett Packard Enterprise Development Lp Managing cost related to usage of cloud resources
US20170163565A1 (en) * 2015-12-04 2017-06-08 Bank Of America Corporation System for analysis of resource usage and availability
JP6885067B2 (ja) * 2017-01-16 2021-06-09 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理システム
JP7062374B2 (ja) * 2017-04-25 2022-05-06 株式会社日立システムズ リソース管理システムおよびリソース管理方法
CN116471320A (zh) 2017-05-12 2023-07-21 微软技术许可有限责任公司 基于画像信息的智能云管理
JP6984943B2 (ja) * 2017-06-19 2021-12-22 Necネクサソリューションズ株式会社 処理時間推定装置、処理時間推定方法及びプログラム
US11212124B2 (en) * 2018-09-30 2021-12-28 Intel Corporation Multi-access edge computing (MEC) billing and charging tracking enhancements
CN111045814B (zh) 2018-10-11 2023-12-08 华为技术有限公司 资源调度方法和终端设备
US11526486B2 (en) * 2020-04-08 2022-12-13 Paypal, Inc. Time-based data retrieval prediction
US11855908B2 (en) * 2021-09-09 2023-12-26 Microsoft Technology Licensing, Llc Resource allocation in cloud computing systems

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7290009B1 (en) * 1999-08-25 2007-10-30 The Trustees Of Columbia University In The City Of New York System and method for allocating resources using spot market and derivative market techniques
JP2002333968A (ja) 2001-05-08 2002-11-22 Canon Inc 情報処理装置及びそれを制御するためのプログラム
JP2002041463A (ja) * 2000-07-21 2002-02-08 Fujitsu Ltd 端末装置の利用管理方法及びその装置
US7065586B2 (en) * 2000-12-22 2006-06-20 Radiance Technologies, Inc. System and method for scheduling and executing data transfers over a network
IL152530A0 (en) * 2002-10-28 2003-05-29 Sphera Corp Hierarchical repository for configuration-related and performance-related information related to computerized systems
JP2005056201A (ja) 2003-08-05 2005-03-03 Hitachi Software Eng Co Ltd 異種混合計算機接続システム及びシステムにおける処理割り当て方法及び課金方法
US7890629B2 (en) * 2004-03-13 2011-02-15 Adaptive Computing Enterprises, Inc. System and method of providing reservation masks within a compute environment
WO2005089246A2 (en) * 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providiing advanced reservations in a compute environment
JP2005301894A (ja) * 2004-04-15 2005-10-27 Matsushita Electric Ind Co Ltd 作業進捗管理方法、作業進捗管理装置およびプログラム
WO2006007447A2 (en) * 2004-06-17 2006-01-19 Kinaxis Inc. Scheduling system
US7548977B2 (en) * 2005-02-11 2009-06-16 International Business Machines Corporation Client / server application task allocation based upon client resources
US7613589B2 (en) * 2005-07-27 2009-11-03 The Mathworks, Inc. Measuring productivity and quality in model-based design
JP2007066256A (ja) 2005-09-02 2007-03-15 Hitachi Ltd 課金システム及び課金方法
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
JP2007234740A (ja) 2006-02-28 2007-09-13 Toshiba Corp 半導体装置の製造方法
US7565340B2 (en) * 2006-01-09 2009-07-21 The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University Methods for assisting computer users performing multiple tasks
US20070168244A1 (en) * 2006-01-19 2007-07-19 International Business Machines Corporation Methods and apparatus for coordinating and selecting protocols for resources acquisition from multiple resource managers
JP2007299328A (ja) * 2006-05-02 2007-11-15 Katsuya Nishi 計算処理方法および計算処理システム
US20080052397A1 (en) * 2006-08-24 2008-02-28 Ramanathan Venkataraman Future locking of resources
JP2008158844A (ja) * 2006-12-25 2008-07-10 Nippon Telegr & Teleph Corp <Ntt> 資源管理装置および方法
JP2008171325A (ja) * 2007-01-15 2008-07-24 Nippon Telegr & Teleph Corp <Ntt> 資源管理装置および方法
US20080313005A1 (en) * 2007-06-15 2008-12-18 Edgelnova International, Inc. System and method for real-time scheduling of human and non-human resources
US20090037242A1 (en) * 2007-07-30 2009-02-05 Siemens Medical Solutions Usa, Inc. System for Monitoring Periodic Processing of Business Related Data
US20090327495A1 (en) * 2008-06-27 2009-12-31 Oqo, Inc. Computing with local and remote resources using automated optimization
US8352868B2 (en) * 2008-06-27 2013-01-08 Google Inc. Computing with local and remote resources including user mode control
JP5026375B2 (ja) * 2008-09-09 2012-09-12 株式会社日立製作所 ストレージ装置及びストレージ装置の制御方法
US20100131959A1 (en) * 2008-11-26 2010-05-27 Spiers Adam Z Proactive application workload management
US8856791B2 (en) * 2009-01-23 2014-10-07 Imec Method and system for operating in hard real time
US20110046987A1 (en) * 2009-08-24 2011-02-24 Petrisor Gregory C Method and system for virtual inflight reservation of post-flight resources

Also Published As

Publication number Publication date
US8606919B2 (en) 2013-12-10
US20100169489A1 (en) 2010-07-01
JP2010152738A (ja) 2010-07-08
TW201030531A (en) 2010-08-16

Similar Documents

Publication Publication Date Title
JP5448032B2 (ja) リソース管理装置、リソース管理プログラム、およびリソース管理方法
US11201832B2 (en) Dynamic allocation of resources while considering resource reservations
CN111480145B (zh) 用于根据基于信用的机制来调度工作负载的系统和方法
US9294236B1 (en) Automated cloud resource trading system
US8631412B2 (en) Job scheduling with optimization of power consumption
CN110806933B (zh) 一种批量任务处理方法、装置、设备和存储介质
JP2003029989A (ja) 分散処理システムおよびジョブ分散処理方法
US9985848B1 (en) Notification based pricing of excess cloud capacity
JP2003091424A (ja) 分散処理システムおよびジョブ分散処理方法
JP4768354B2 (ja) ジョブ管理装置、ジョブ管理方法、ジョブ管理プログラム
US9240025B1 (en) Dynamic pricing of network-accessible resources for stateful applications
US10764185B2 (en) Token-based policies burst-mode operations
Chard et al. Cost-aware cloud provisioning
KR20140111672A (ko) 가상 머신 풀에서의 리소스 가격 책정 기법
US11783237B2 (en) Dynamic modification of interruptibility settings for network-accessible resources
JP2003256222A (ja) 分散処理システム、ジョブ分散処理方法およびプログラム
Iorgulescu et al. Don't cry over spilled records: Memory elasticity of data-parallel applications and its application to cluster scheduling
US10812278B2 (en) Dynamic workload capping
KR20210007417A (ko) 멀티-코어 시스템 및 그 동작 제어 방법
JP2012128770A (ja) バッチジョブ管理サーバ、バッチジョブ処理システム及びバッチジョブ実行方法
JP6669908B1 (ja) 情報処理システム、情報処理方法及び情報処理プログラム
JP5480322B2 (ja) 性能制御方法、そのシステムおよびプログラム
Lima Scheduling Deadline Constrained Bag-of-Tasks in Cloud Environments using Hibernation prone Spot Instances
US20230325125A1 (en) Predictive block storage size provisioning for cloud storage volumes
Mursleen et al. An energy-efficient allocation technique for distributing resources in a heterogeneous data Center

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130913

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131113

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20131204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131219

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees