JP3951949B2 - 分散型資源管理システムおよび分散型資源管理方法並びにプログラム - Google Patents

分散型資源管理システムおよび分散型資源管理方法並びにプログラム Download PDF

Info

Publication number
JP3951949B2
JP3951949B2 JP2003093459A JP2003093459A JP3951949B2 JP 3951949 B2 JP3951949 B2 JP 3951949B2 JP 2003093459 A JP2003093459 A JP 2003093459A JP 2003093459 A JP2003093459 A JP 2003093459A JP 3951949 B2 JP3951949 B2 JP 3951949B2
Authority
JP
Japan
Prior art keywords
job
reservation
resource
resource management
request
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
JP2003093459A
Other languages
English (en)
Other versions
JP2004302748A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2003093459A priority Critical patent/JP3951949B2/ja
Priority to US10/804,110 priority patent/US8166484B2/en
Publication of JP2004302748A publication Critical patent/JP2004302748A/ja
Application granted granted Critical
Publication of JP3951949B2 publication Critical patent/JP3951949B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • H04L47/724Admission control; Resource allocation using reservation actions during connection setup at intermediate nodes, e.g. resource reservation protocol [RSVP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/74Admission control; Resource allocation measures in reaction to resource unavailability
    • H04L47/741Holding a request until resources become available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/826Involving periods of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は分散型資源管理システムおよび分散型管理方法に関し、特にジョブ単位での資源予約を行う分散型資源管理システムおよび分散型資源管理方法とコンピュータ・プログラムに関する。
【0002】
【従来の技術】
分散コンピューティングシステム(分散システム)は、コンピュータや記憶装置、ネットワーク等の多様な資源から構成される。このため、ある仕事(ジョブ)に必要なサービス品質(Quality of Service, QoS)を得るためには、複数の資源に渡ってサービス品質を保証するような資源管理方式が必要となる。特に、独立して管理される複数の部分システム(以下、「ドメイン」と呼ぶ)間で資源を共有するグリッドコンピューティングでは、システム全体の資源を一元的に管理することが許容されないことが多い。この種のシステムでは、複数の独立した資源管理機構を利用したQoS保証機能が必要になる。
【0003】
分散システムにおいてQoSを保証する従来の技術として、資源の事前予約(以下、特に記載がない場合には予約は事前予約を指す)が知られている。事前予約とは、ジョブの実行に必要な個々の資源について、一定の時間帯においてQoSを保証する操作である。
【0004】
図1を参照して、資源の事前予約の例を説明する。ここでは,記憶装置Bから入力したデータを計算機Aにより解析し、その結果を記憶装置Cに格納するという処理を仮定する(図1(A)参照)。
【0005】
一連の処理を滞りなく行うために、利用するそれぞれの資源、すなわち計算機A、記憶装置B、記憶装置Cに対して、事前予約を行う。その際、計算機Aにおけるデータ入力処理に関する予約と、記憶装置Bにおけるデータ読み出し処理に関する予約を同じ時間帯に対して行う必要がある(図1(B)参照)。計算機Aにおけるデータ出力処理と記憶装置Cにおけるデータ書き込み処理についても同様である。
【0006】
事前予約機能を持つ従来の資源管理システムの一例が知られている(例えば特許文献1参照)。図2に示すように、この従来の資源管理システムは、複数のユーザ端末400と、複数の資源300と、複数の接続制御装置700と、資源管理装置800とから構成されている。このような構成を有する従来の資源予約システムは、次のように動作する。
【0007】
(1)ユーザ端末400は、複数の接続制御装置700のどれかを介して資源管理装置800に対して予約要求を送る。
【0008】
(2)上記(1)の予約要求の結果、ユーザ端末400に予約証明書が渡される。
【0009】
(3)予約された時刻に達すると、ユーザ端末400は、予約された資源300に対して資源利用要求を送る。この資源利用要求には、(2)で発行された予約証明書が含まれる。
【0010】
上記特許文献1記載のシステムでは、資源の事前予約は、単一の資源管理装置800が一元的に管理する。このため、上記特許文献1に記載されているシステムは、複数の資源管理装置によって資源が分散管理される分散システムに適用することはできない。
【0011】
資源が分散管理されることを前提とした別の資源管理技術の一例も知られている(例えば非特許文献1参照)。
【0012】
図3に示すように、上記非特許文献1記載の資源予約システムは、複数のユーザ端末400と、複数の資源300と、スケジューラ500(非特許文献1中では"co-reservation agent"と呼ばれている)と、資源情報サービス600とから構成されている。各資源300は、内部に資源管理部を備える。このような構成を有する従来の資源予約システムは次のように動作する。
【0013】
(1)ユーザ端末400は、複数のスケジューラ500のどれかに対して資源予約要求を送る。
【0014】
(2)スケジューラ500は、資源情報サービス600に問い合わせて、資源の予約状況を取得する。
【0015】
(3)スケジューラ500は、上記(2)で取得した予約状況に基づいて予約する資源を決定し、予約先の資源の資源管理部に対して資源予約要求を発行する。割り当てる資源が複数ある場合、それぞれの資源の資源管理部に対して同様に資源予約要求を発行する。
【0016】
(4)上記(3)の資源予約要求の結果、予約に対応する予約IDが発行され、上記(1)のユーザ端末400に渡される。
【0017】
(5)上記(1)のユーザ端末400は、上記(3)で予約されたそれぞれの資源の資源管理部に対して資源利用要求を発行する。この資源利用要求には、上記(4)で取得した予約IDが含まれる。
【0018】
なお、複数のクライアント装置から共有リソースを予約するアーキテクチャとして、開始時刻、期間、繰り返し時間シーケンスを含む予約エントリをリソース要求として、クライアント装置からAV/C掲示板に送信し、リソース要求は予約衝突を装置及びユーザに通知するためのリソースカレンダとして組織化され、上記リソースをクライアント装置に割り当てるリソーススケジュールコントローラを備えたシステムが知られている(例えば特許文献2参照)。またリソースの仮予約を行うシステムとして、第1の端末装置は、リソース予約の要求メッセージを送信し、各ノード装置は、要求メッセージの受信時、予約可能か否か判定し、可能ならば仮予約を行って、次装置へ要求メッセージを送信し、不可の場合、前装置の予約否の応答メッセージを送信し、第2の端末装置は、要求メッセージ受信時に、データ通信に応じられるか否かを判定し、前装置に予約可又は予約否の応答メッセージを送信し、各ノード装置は予約可の応答メッセージ受信時に仮予約を本予約に変更し前装置に予約可の応答メッセージを送信するリソース予約方法も知られている(例えば特許文献3)。
【0019】
なお、後述されるジョブスケジューリングについて公知のアルゴリズムが参照される(例えば非特許文献2)。
【0020】
【特許文献1】
特開2000−259537号公報(第5頁、第1図)
【特許文献2】
特表2003−500961号公報(第14−17頁、第1図)
【特許文献3】
特開2002−185491号公報(第3−5頁、第1図)
【非特許文献1】
Ian Foster et.al., "A Distributed Resource Management Architecture that Supports Advance Reservations and Co-Allocation"、International Workshop on Quality of Service 99., 1999
【非特許文献2】
"Heuristic Algorithms for Scheduling Independent Tasks on Nonidentical Processors," The Journal of the ACM, Volume 24 Issue 2, 1977
【0021】
【発明が解決しようとする課題】
ところで、複数の資源管理装置が存在する分散システムにおいて、多数のジョブを一度に実行すると、資源の利用効率が低下する、という問題点を有している。その理由を以下に説明する。
【0022】
資源の事前予約を利用して複数のジョブを実行する方法として、
(i)ジョブが使う可能性のある資源を事前に予約した後、ジョブを割り当てる資源と時間帯を予約に成功した資源から選ぶ方法と、
(ii)ジョブを割り当てる資源と時間帯を決定した後、決定した個々の資源と時間帯について、事前予約する方法と、
の2種類があり得る。
【0023】
上記(i)の方法では、実際にはジョブを実行しない時間まで資源を予約することになり、上記(ii)に比べて資源の利用効率が低下する。さらに、予約した資源に対して利用要求を発行する予定のユーザ端末に障害が発生した場合、予約された資源が長時間誰にも使えない状態になる、という問題がある。
【0024】
一方、上記(ii)の方法では、予約しようとする資源がすでに他のユーザにより予約されていることがあり得る。このような場合に、予約の失敗が発生し、適切な資源の組み合わせが利用できない可能性がある。
【0025】
予約の失敗が発生するのは、ジョブの割り当てを決定するスケジューラ(図3の500)が最新の資源の予約状況を保持していない場合である。資源の予約状況は、資源情報サービス(図3の600)に問い合わせることで取得することができるが、資源情報サービスから得られる情報は、必ずしも最新の情報を反映しているとは限らない。仮に、個々の資源に直接予約状況を問い合わせるとしても、多数の資源に対して問い合わせるのに、長い時間を要し、その間に、状況が変化することがあり得る。また、ジョブの資源への割り当てを決めるジョブスケジューリング処理や、予約の実行の途中に予約状況が変化することもあり得る。
【0026】
予約の失敗が問題になる場合として、複数の資源を同時に使うジョブや、複数のジョブ間に依存関係がある場合が挙げられる。これらのジョブでは、一部の資源についてのみ予約に失敗すると、再度スケジューリングして残りの資源を予約する必要が生じる。この場合、最初に予約に成功した資源と、後で予約に成功した複数の資源の組み合わせが、当初可能であった組み合わせよりも、不適切な組み合わせしか利用できないことがあり得る。
【0027】
予約失敗による資源の利用効率の低下を、図4を用いて、説明する。この例では、広域ネットワーク(WAN)を通して2つの計算機クラスタA、Bが接続されている。各クラスタは、それぞれ8台ずつのノードからなる。このシステム上で、あるスケジューラが、4つのノードを使用する並列ジョブ1と、8つのノードを使用する並列ジョブ2についての資源を予約することを考える。
【0028】
前記スケジューラが把握している予約状況は、各クラスタとも予約は存在しないというものである。この状況では、スケジューラによるジョブの割り当ての候補として、クラスタAのうちの4ノードにジョブ1を、クラスタBの8ノードにジョブ2を割り当てるというものがあり得る(図4(A))。しかし、実際には、クラスタBのうちの4ノードに別のジョブ3がすでに予約されているとする(図4(B))。この場合、ジョブ1全体と、ジョブ2のうちのクラスタAに割り当てる4ノードについてのみ予約が成功する。前記スケジューラは、予約に失敗したジョブ2の一部分について再度スケジューリングし、その結果クラスタAのうちの4ノードが選択されたとする(図4(C))。この結果、ジョブ2はクラスタAとクラスタBにまたがって割り当てられることになる。もし図4(B)の予約状況が事前に分かっていれば、ジョブ2をクラスタAにのみ割り当てることが可能であり、WANを通した通信の必要はない。すなわち、予約の失敗によってネットワーク資源の利用効率が低下している。
【0029】
上記の例は、ネットワーク資源の利用効率が低下する場合であるが、他の種類の資源の利用効率が低下することもあり得る。例えば、均一な性能の計算機を割り当てることが望ましい並列ジョブに、不均一な性能の計算機しか割り当てられないことがあり得る。また、並列ジョブについてのみだけでなく、依存関係のある複数のジョブについても資源の利用効率の低下が起こりうる。例えば、あるジョブによる出力を別のジョブが入力とする場合、これらのジョブは同一の資源または同一のローカルエリアネットワーク(LAN)で接続された資源に割り当てられることが望ましいが、一方のジョブだけ予約に失敗した場合に、予約に失敗したジョブの割り当てが可能な資源が最初に予約した資源とは異なるLANにしかないことがあり得る。
【0030】
すなわち、複数の資源を同時に使うジョブや依存関係のあるジョブについて、資源の予約状況が正確に把握できないために、本来可能である資源の組み合わせよりも非効率な資源の組み合わせが割り当てられる。
【0031】
したがって、本発明の目的は、資源が複数の資源管理装置により分散管理される分散システムにおいて、正確な資源の予約状況に基づくジョブのスケジューリングを可能にし、各ジョブに適切な資源の組み合わせを実現する装置と方法並びにプログラムを提供することである。
【0032】
【課題を解決するための手段】
前記目的を達成する本発明の1つのアスペクトに係る装置は、1つ又は複数の資源を管理する資源管理装置であって、管理対象の資源を1つ又は複数指定してなる仮予約要求を受理した際に、前記管理対象の資源のうち、空き状態である時間帯を、仮予約された状態に変更し、有効期限を設けるとともに、前記仮予約要求の発行者を識別する情報を格納する手段と、前記管理対象の資源のうち、仮予約された時間帯が存在する資源についての待ち行列に、仮予約要求を格納する手段と、前記仮予約された時間帯と、前記仮予約された時間帯に対応する仮予約IDを前記仮予約要求の応答とする手段と、を備えている。
【0033】
本発明に係る装置において、前記仮予約IDを指定した仮予約取消要求を受理した場合、前記仮予約IDに対応する仮予約を取り消して空き状態とする構成としてもよい。
【0034】
本発明において、仮予約IDと時間帯を指定したジョブ予約要求を受理した際に、指定される前記時間帯が、前記仮予約IDに対応する仮予約された時間帯に含まれ、かつ、ジョブ予約要求の発行者と、仮予約要求の発行者が一致している場合に、指定される時間帯をジョブ予約された状態に変更する構成としてもよい。
【0035】
本発明において、仮予約された時間帯のうち、有効期限に達しているものを空き状態に戻す手段と、待ち行列から仮予約要求を取り出し、空き状態になった時間帯を仮予約された状態に変更し、仮予約要求の発行者を識別する情報を格納する手段と、前記待ち行列から取り出された仮予約要求の発行者に対して、仮予約された時間帯とそれに対応する仮予約IDを含む通知を送る手段と、を備えた構成としてもよい。
【0036】
本発明において、ジョブの集合を資源に割り当てるジョブスケジュール装置であり、ジョブが使用する可能性のある資源のそれぞれについて、該資源を管理する資源管理装置に対して、仮予約要求を送る第1の手段と、仮予約された資源を対象として、各ジョブを割り当てる資源と、実行する時間帯とを決める第2の手段と、前記第2の手段によって決定された資源のそれぞれについて、該資源を管理する資源管理装置に対して、ジョブ予約要求を送る第3の手段と、前記第1の手段によって仮予約された資源のそれぞれについて、該資源を管理する資源管理装置に対して、仮予約取消要求を送る第4の手段と、を備えた構成としてもよい。
【0037】
本発明において、前記ジョブスケジューラにおいて、前記第1の手段で待ち行列に格納された仮予約要求がある場合に、一定時間が経過するか、待ち行列から取り出されたことを示す通知が到着してから、前記第2の手段に進む、構成としてもよい。
【0038】
本発明の他のアスペクトに係る方法は、1つ又は複数の資源を管理する資源管理装置による資源管理の方法であって、前記資源管理装置が、管理対象の資源を1つ又は複数指定してなる仮予約要求を受理した際に、前記管理対象の資源のうち空き状態である時間帯を仮予約された状態に変更して、有効期限を設けるとともに、前記仮予約要求の発行者を識別する情報を記憶部に格納する工程と、
前記資源管理装置が、前記管理対象の資源のうち、仮予約された時間帯が存在する資源についての待ち行列に、仮予約要求を格納する工程と、
前記資源管理装置が、前記仮予約された時間帯と、前記仮予約された時間帯に対応する仮予約識別情報(「仮予約ID」という)を、前記仮予約要求に対する応答とする工程と、
を含む。
【0039】
本発明のさらに他のアスペクトに係るシステムは、1つ又は複数の資源の管理を行う、少なくとも1つの資源管理装置と、少なくとも1つの前記資源管理装置と通信接続される、少なくとも1つのジョブスケジュール装置と、を含む分散システムであって、前記ジョブスケジュール装置が、ジョブのスケジューリングに先立って、前記ジョブで用いる資源の仮予約を行い、前記資源管理装置が、前記ジョブスケジュール装置により発行される、仮予約とジョブ予約との2種の予約要求を受理し、前記仮予約は、資源の予約状況の取得と、資源のロックを組み合わせた操作であって、前記資源管理装置の管理下にある資源のいずれかを指定して実行される。前記資源管理装置は、前記ジョブスケジュール装置より受け取った前記仮予約要求の対象の資源に対して、他の仮予約が存在せず、かつ、空き時間が存在する場合には、当該時間帯を仮予約された状態に設定し、前記仮予約された時間帯を、前記仮予約要求に対する応答とする手段と、前記資源管理装置が、前記仮予約された時間帯に、有効期限と、該当する仮予約要求を発行したジョブスケジュール装置の情報とを記録する手段と、を有し、前記ジョブ予約は、指定されたジョブの実行のために資源を事前予約する操作であって、前記資源管理装置が管理する資源のうちの1つと、前記資源における時間帯を指定したジョブ予約要求として実行される。前記資源管理装置は、前記ジョブ予約要求で指定された時間帯がすでに仮予約された時間帯の一部であり、かつ、前記ジョブ予約要求の発行者と前記仮予約要求の発行者とが互いに一致する場合に、前記ジョブ予約要求を受理し、指定された時間帯をジョブ予約された状態とする手段と、ジョブ予約で指定された開始時刻に達すると、当該資源をジョブの実行のために割り当てる制御を行い、及び/又は、前記ジョブ予約で指定された終了時刻になると、当該の資源のジョブへの割り当てを停止する制御を行う手段と、を備えている。
【0040】
本発明のさらに他のアスペクトに係るプログラム(プログラム製品)は、1つ又は複数の資源を管理する資源管理装置を構成するコンピュータに、管理対象の資源を1つ又は複数指定してなる仮予約要求を受理した際に、前記管理対象の資源のうち、空き状態である時間帯を、仮予約された状態に変更して、有効期限を設けるとともに、前記仮予約要求の発行者を識別する情報を記憶部に格納する処理と、
前記管理対象の資源のうち、仮予約された時間帯が存在する資源についての待ち行列に、仮予約要求を格納する処理と、
前記仮予約された時間帯と、前記仮予約された時間帯に対応する仮予約識別情報(「仮予約ID」という)を応答とする処理と、
を実行させるプログラムよりなる。
【0041】
本発明によれば、資源の利用を予約するために、資源管理装置機構に対して、仮予約とジョブ予約の2段階が設けられている。仮予約は短時間のみ有効であり、他の仮予約およびジョブ予約とは共存できず、資源を実際に利用する場合、仮予約した後で、ジョブ予約を実行するものとされ、すでに仮予約された資源に、仮予約を試みると待ち行列に入れ、後で仮予約が成功することを保証している。ユーザ端末は、ジョブスケジューラにジョブの実行を要求し、ジョブスケジューラは、資源管理装置に仮予約操作を実行した後で、ジョブを割り当てる資源を決定し、ジョブ予約を実行し、ジョブの実行に必要な資源を予約する。
【0042】
本発明によれば、同時に、複数の資源を使うジョブや依存関係のあるジョブ群の一部のみ予約に失敗するという状況が発生しない。このため、資源が分散して管理される分散システムにおいて、資源の利用効率を向上できる。
【0043】
[発明の原理]
まず本発明の原理を説明し、つづいて実施形態について説明する。本発明においては、複数の資源管理装置(図5の100)と、単一または複数のジョブスケジューラ(図5の200)から構成される。複数の資源(図5の300)は、資源管理装置の1つにより管理される。
【0044】
資源管理装置は、ジョブスケジューラにより発行される仮予約と、ジョブ予約という2種類の予約要求を受理する。また、これらの予約要求に対応して、仮予約取消要求およびジョブ取消要求の2種類の取消要求を受理する。
【0045】
仮予約は、資源の予約状況の取得と、資源のロックを組み合わせた操作であり、資源管理装置の管理下にある資源のどれかを指定して実行される。仮予約要求の対象の資源に他の仮予約が存在せず、かつ空き時間が存在すれば、その時間帯が仮予約された状態となり、仮予約された時間帯を応答とする。空き時間とは、仮予約とジョブ予約のいずれも存在しない時間帯である。仮予約された時間帯には、有効期限と、該当する仮予約要求を発行したジョブスケジューラの情報が記録される。有効期限に達した仮予約は自動的に破棄される。
【0046】
ジョブ予約は、特定のジョブの実行のために資源を事前予約する操作であり、資源管理装置が管理する資源のうちの1つと、その資源における時間帯を指定したジョブ予約要求として実行される。指定された時間帯がすでに仮予約された時間帯の一部であり、かつそのジョブ予約要求の発行者と仮予約要求の発行者が一致する場合にジョブ予約要求は受理され、指定された時間帯がジョブ予約された状態となる。資源管理装置は、ジョブ予約で指定された開始時刻に達すると、当該の資源をジョブの実行のために割り当て、ジョブ予約で指定された終了時刻になると当該の資源のジョブへの割り当てを停止する。
【0047】
本発明では、ユーザが投入するジョブは、以下の順序で実行される。まず、ユーザは、ユーザ端末(図5の400)を通して、ジョブスケジューラに、ジョブを投入する(図5(1))。
【0048】
ジョブスケジューラは、投入されたジョブを定期的に各資源に割り当てる処理を行う。ジョブスケジューラによる資源の割り当ては、資源管理装置に対する仮予約要求の送信(図5(2))と、仮予約に成功した資源を対象とするジョブの実行スケジュールの作成(図5(3))と、実行スケジュールに従ったジョブ予約要求の送信(図5(4))とからなる。資源管理装置は、ジョブスケジューラから受信したジョブ予約要求に従って、管理下の資源をジョブの実行のために割り当てる(図5(5))。
【0049】
あるジョブスケジューラによる仮予約が有効である間に別のジョブスケジューラが同一の資源を対象として仮予約要求を発行すると、後者のジョブスケジューラは仮予約を獲得できない。この場合、仮に前者のジョブスケジューラが当該の資源にジョブを割り当てない場合でも、後者のジョブスケジューラは当該の資源にジョブを割り当てることはできない。この問題を解決するため、資源管理装置は、すでに仮予約された資源を対象とする仮予約要求を受け取ると、その仮予約要求を資源ごとに設けられる待ち行列に格納するようにする。仮予約取消要求または有効期限切れのために仮予約が破棄されると、破棄された仮予約と同一の資源を対象とする仮予約要求が待ち行列から取り出され、有効な仮予約となる。待ち行列から仮予約要求が取り出されると、資源管理装置がその仮予約要求を発行したジョブスケジューラに通知を送ることによって、ジョブスケジューラはそのことを知ることができる。
【0050】
ジョブスケジューラが発行した仮予約要求のどれかが待ち行列に入ると、ジョブスケジューラはそれらの仮予約が有効になるのを待ってから実行スケジュールの作成を開始する。ただし、一定時間内に仮予約要求が有効にならない場合は、その時点で待ち行列に残っている仮予約を無視して実行スケジュールの作成に進む。
【0051】
上記の構成を採用し、ジョブスケジューラがジョブのスケジューリングに先立って資源を仮予約することで、ジョブスケジューラは資源の予約状況を正確に把握することができる。このことから、資源の正確な予約状況が把握できないことによる予約の失敗を避けることができ、最適な資源の組み合わせを選ぶことが可能になる。これにより、本発明の目的を達成することができる。資源管理装置およびスケジューラにおける上記処理・機能は、それぞれを構成するコンピュータで実行されるプログラムにより実現することができる。
【0052】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。図5は、本発明の一実施の形態のシステム構成を示す図である。図5を参照すると、本発明の一実施の形態は、複数の資源管理装置100と、複数のジョブスケジューラ200と、複数の資源300と、複数のユーザ端末400(図5では1台の端末のみが示されている)と、を備えて構成されている。ここで、資源管理装置100、ジョブスケジューラ200、およびユーザ端末400は、プログラム制御により動作するコンピュータを含む。資源300には、コンピュータ、記憶装置、ネットワーク機器などの各種装置が含まれる。ユーザ端末400はジョブスケジューラ200を内蔵していても良い。また、資源管理装置100は、任意の数の資源300を内蔵していても良い。またユーザ端末400は1つであってもよい。本発明は、複数の資源管理装置100、複数のジョブスケジューラ200をそれぞれ1つとしたシステム構成にも同様にして適用できる。
【0053】
図6は、図5に示した本発明の一実施の形態における資源管理装置100の構成を示す図である。図6を参照すると、資源管理装置100は、仮予約要求受信手段110と、ジョブ予約要求受信手段120と、仮予約取消要求受信手段130と、ジョブ予約取消要求受信手段140と、スケジュール管理手段150と、スケジュール記憶部160と、仮予約要求記憶部170とを備えて構成されている。
【0054】
スケジュール記憶部160には、資源管理装置の管理対象である資源のそれぞれについて、どの時間帯にどのジョブが予約されているかが記録される。
【0055】
仮予約要求記憶部170には、資源管理装置の管理対象である資源のそれぞれについて待ち行列が設けられる。この待ち行列には、その資源を対象とする待機中の仮予約要求が格納される。
【0056】
これらの手段は、それぞれ概略次のように動作する。仮予約要求受信手段110は、ジョブスケジューラ200からの仮予約要求を受信し、スケジュール記憶部160または仮予約要求記憶部170に仮予約についての情報を追加する。
【0057】
ジョブ予約要求受信手段120は、ジョブスケジューラ200からのジョブ予約要求を受信し、スケジュール記憶部160にジョブ予約の情報を追加する。ジョブ予約を行うためには、あらかじめ仮予約要求受信手段110を通してスケジュール記憶部160に仮予約が登録されている必要がある。
【0058】
仮予約取消要求受信手段130は、ジョブスケジューラ200からの仮予約取消要求を受信し、スケジュール記録部160または仮予約要求記憶部170から該当する仮予約の情報を破棄する。それに伴い、仮予約要求記憶部170に記録された待機中の仮予約要求をスケジュール記録部160に移動する場合がある。
【0059】
ジョブ予約取消要求受信手段140は、ジョブスケジューラ200からのジョブ予約取消要求を受信し、スケジュール記録部160から該当するジョブ予約の情報を破棄する処理と、ジョブに割り当てられた資源を解放する処理を行う。
【0060】
スケジュール管理手段150は、スケジュール記録部160に記録された予約ジョブおよび仮予約の情報を監視して、それらの情報に従った資源の割り当て・解放や仮予約の破棄などの処理を行う。図6に示した資源管理装置100の上記各手段は、資源管理装置100を構成するコンピュータにより、その機能を実現することができる。
【0061】
図7は、図5に示した本発明の一実施の形態におけるジョブスケジューラ200の構成を示す図である。図7を参照すると、ジョブスケジューラ200は、ジョブ実行要求受信手段210と、ジョブ取消要求受信手段220と、ジョブスケジューリング手段230と、待機ジョブ記憶部240と、スケジュール記憶部250とを備えて構成されている。待機ジョブ記憶部240には、ユーザ端末により投入されたジョブの情報が一時的に格納される。スケジュール記憶部250には、各資源ごとに、予約が確定したジョブの情報が格納される。
【0062】
これらの手段は、それぞれ概略次のように動作する。ジョブ実行要求受信手段210は、ユーザ端末400からのジョブ実行要求を受信し、その内容(ジョブ実行要求に含まれるジョブ情報等)を、待機ジョブ記憶部240に、追加(記録)する処理を行う。
【0063】
ジョブ取消要求受信手段220は、ユーザ端末400からのジョブ取消要求を受信し、待機ジョブ記憶部240、またはスケジュール記憶部250に登録されている、該当するジョブを破棄するとともに、資源管理装置100に対して、ジョブ予約取消要求の送信を行う。
【0064】
ジョブスケジューリング手段230は、待機ジョブ記憶部240に記録されているジョブを、定期的に取り出し、それらのジョブを、資源に割り当てる処理を行う。ジョブの資源への割り当てには、資源管理装置100への仮予約要求の発行、ジョブ実行スケジュールの作成、および、資源管理装置100へのジョブ予約要求の発行が含まれる。ジョブスケジューラ200の上記各手段は、ジョブスケジューラ200を構成するコンピュータによりその機能を実現することができる。
【0065】
資源管理装置100とジョブスケジューラ200の上記した各手段間の相互作用の概略を、図8および図9を用いて説明する。図8には、ユーザ端末400がジョブスケジューラ200にジョブを投入してから、資源上でジョブの実行が完了するまでの処理の流れが、模式的に示されている。
【0066】
ステップ1:ユーザ端末400が発行したジョブ実行要求を、ジョブスケジューラ200のジョブ実行要求受信手段210が受信し、その内容を待機ジョブ記憶部240に格納する(図8(1))。
【0067】
ステップ2:ジョブスケジューラ200のジョブスケジューリング手段230が、待機ジョブ記憶部240からジョブの情報を読み出し、資源管理装置100の仮予約要求受信手段110に対して、仮予約要求を送信する。仮予約要求受信手段110は、スケジュール記憶部160に、仮予約の情報を追加する(図8(2))。
【0068】
ステップ3:ジョブスケジューラ200のジョブスケジューリング手段230が、ジョブ実行スケジュールの作成完了後に、資源管理装置100のジョブ予約要求受信手段120に対して、ジョブ予約要求を送信する。ジョブ予約要求受信手段120は、スケジュール記憶部160に、ジョブ予約の情報を追加する(図8(3))。
【0069】
ステップ4:ジョブスケジューラ200のジョブスケジューリング手段230が、資源管理装置100の仮予約取消要求受信手段130に対して、仮予約取消要求を送信する。仮予約取消要求受信手段130は、スケジュール記憶部160から仮予約の情報を削除する(図8(4))。
【0070】
ステップ5:資源管理装置100のスケジュール管理手段150は、スケジュール記憶部160に記録されたジョブ予約の開始時刻になると、予約された資源300をジョブに割り当てる。同様に、ジョブ予約の終了時刻になると、ジョブに割り当てた資源300を解放する(図8(5))。
【0071】
図9には、上記手順における、ジョブスケジューラ200内の待機ジョブ記憶部240およびスケジュール記憶部250の状態の変化の一例が示されている。
【0072】
図9(A)は、上記ステップ1の直後の状態を示している。スケジュール記憶部250には、以前に予約したジョブの情報が格納されている。また、待機ジョブ記憶部240には、ステップ1で受け取ったジョブの情報がが格納されている。
【0073】
図9(B)は、上記ステップ2の直後の状態を示している。ここではスケジュール記憶部250に、仮予約に成功した時間帯の情報が追加されている。図9(C)に示すように、同一の資源について不連続な時間帯について仮予約がなされることがあり得る。
【0074】
図9(C)は、上記ステップ3におけるジョブ予約要求送信の直前の状態を示している。スケジュール記憶部250にスケジューリングされたジョブの情報が追加されているが、この時点ではまだ予約は確定していない。
【0075】
図9(D)は、上記ステップ4の直後の状態を示している。ジョブ予約要求の発行によって資源の予約が確定し、待機ジョブ記憶部240から該当するジョブの情報が削除されている。
【0076】
次に、本実施の形態の全体の動作について詳細に説明する。以降では、最初に資源管理装置100の動作について説明した後、ジョブスケジューラ200の動作について説明する。
【0077】
まず、資源管理装置100の各手段(図6参照)の動作を詳細に説明する。
【0078】
仮予約要求受信手段110は、ジョブスケジューラ200からの仮予約要求を受け取り、スケジュール記憶部160の内容を参照して、仮予約要求を処理する。
【0079】
図10は、資源管理装置100における仮予約要求受信手段110の動作手順を説明するための流れ図である。図6及び図12を参照して、仮予約要求受信手段110の動作を説明する。
【0080】
まず、ジョブスケジューラ200からの要求内容を受信する(ステップS111)。要求内容には、要求を発行するジョブスケジューラの識別子と、仮予約の対象とする資源の識別子が含まれる。
【0081】
次に、受信した仮予約要求に対応する新しい仮予約IDを生成する(ステップS112)。以後、この仮予約IDを用いて、仮予約および仮予約要求が識別される。
【0082】
次に、スケジュール記憶部160を参照して、ステップS111で指定された資源がすでに他のジョブスケジューラ200によって仮予約されているか否かを調べる(ステップS113)。仮予約されている場合には(ステップS113でのYES分岐)、ステップS115に、仮予約されていない場合には(ステップS113でのNO分岐)、ステップS114に進む。
【0083】
ステップS114では、スケジュール記憶部160に、新しい仮予約の情報を追加する。仮予約の情報には、仮予約される時間帯と、仮予約IDと、仮予約要求の発行者の識別子が含まれる。仮予約される時間帯は、対象とする資源の全時間帯のうち、ジョブ予約がなされている時間帯を除いた部分である。また、システム管理上の方針により、仮予約の対象とする時間帯を制限することもできる。スケジュール記憶部160に追加された仮予約には、有効期限が付加される。有効期限をどのように設定するかは、システム管理上の方針により決めることができる。
【0084】
ステップS115では、受信した仮予約要求を待機状態として仮予約要求記憶部170に格納する。
【0085】
ここで、仮予約が、スケジュール記憶部160に登録される場合と、仮予約要求記憶部170に登録される場合との違いについて具体例を用いて詳細に説明する。図11(A)乃至図11(D)には、同一の資源について、スケジュール記憶部160中のスケジュールと、仮予約要求記憶部170の待ち行列の状態が示されている。なお、この実施形態で、待ち行列はFIFO(先入れ先出し)型としており、キューエレメントは、キューのテイルに挿入され、キューのヘッド(先頭)から取り出される。なお、本発明において、待ち行列はかかる構成にのみ限定されるものでない。
【0086】
図11(A)には、ある資源に関するスケジュールとして、ジョブ1とジョブ2の2つのジョブ予約がなされており、仮予約要求記憶部170中の同じ資源についての待ち行列は空であるという状況が示されている。
【0087】
図11(B)では、仮予約が存在しないため、図11(A)の状態において仮予約要求を受信すると、図10のステップS114に進み、スケジュールの中でジョブ1およびジョブ2で予約されている時間帯以外の時間帯が仮予約された状態となる(図11(B)の「仮予約3」参照)。
【0088】
図11(B)の状態において、新たな仮予約要求を受信すると、すでに仮予約が存在するために、図10のステップS115に進んで待ち行列に仮予約要求が追加される。
【0089】
図11(C)には、図11(B)の状態から「仮予約要求4」、「仮予約要求5」の順で仮予約要求が到着した場合の状況が示されている。
【0090】
図11(C)の状態の後で、「仮予約3」が有効期限切れ、または仮予約取消要求によって破棄された場合、待ち行列の先頭にある「仮予約要求4」がスケジュールに登録される(図11(D))。
【0091】
なお、待ち行列からスケジュールへの仮予約の移動を行う処理については、後述の仮予約取消要求受信手段130およびスケジュール管理手段150の動作手順で説明する。
【0092】
次に、資源管理装置100におけるジョブ予約要求受信部120の動作を詳細に説明する。
【0093】
ジョブ予約受信部120は、ジョブスケジューラ200からのジョブ予約要求を受け取り、スケジュール記憶部160にジョブ予約を登録する処理を行う。ジョブスケジューラから受け取るジョブ予約要求には、要求を発行するジョブスケジューラの識別子と、ジョブを実行するユーザの識別子と、予約の対象とする資源の識別子と、予約する時間帯の開始時刻及び終了時刻と、ジョブ予約の識別に用いるジョブIDが含まれる。
【0094】
なお、予約対象の資源の識別子については、以前に発行された仮予約IDによって指定するようにしても良い。また、ジョブ予約要求にジョブIDを含めるのではなく、ジョブ予約要求受信部120によって新しいジョブIDを発行するようにしても良い。
【0095】
ジョブ予約要求が成功するためには、予約の対象である時間帯が仮予約された時間帯に含まれており、かつその仮予約に対応する仮予約要求の発行者がジョブ予約要求の発行者と一致している必要がある。この条件を満たしている場合、受信したジョブ予約要求の内容がスケジュール記憶部160に登録される。
【0096】
次に、図12は、資源管理装置100における仮予約取消要求受信手段130の動作を説明するための流れ図である。図6及び図12を参照して、仮予約取消要求受信手段130の動作を説明する。仮予約取消要求受信手段130は、ジョブスケジューラ200からの仮予約取消要求を受信し、スケジュール記憶部160に記録された仮予約または仮予約要求記憶部170に記録された仮予約要求を破棄する処理を行う。
【0097】
まず、仮予約取消要求受信手段130は、要求内容を受信する(ステップS131)。要求内容には、要求を発行するジョブスケジューラの識別子と、取り消しの対象となる仮予約/仮予約要求を識別する仮予約IDが含まれる。もし該当する仮予約/仮予約要求が存在しない場合、あるいは該当する仮予約要求を発行したジョブスケジューラと仮予約取消要求を発行したジョブスケジューラが異なる場合には、仮予約取消要求は失敗する。
【0098】
次に、ステップS131で受信した仮予約IDが、仮予約要求記憶部170中の待ち行列の要素に該当するかどうかを判別する(ステップS132)。判定の結果、受信した仮予約IDが待ち行列中の仮予約要求に該当する場合(ステップS132のYES分岐)、待ち行列から該当する要素を削除して処理が完了する(ステップS133)。そうでない場合(ステップS132のNO分岐)、すなわち仮予約IDがスケジュール記憶部160に記録された仮予約に該当する場合、ステップS134以降の処理を行う。ステップS134では、スケジュール記憶部160中の仮予約IDに該当する仮予約を削除する。
【0099】
次に、仮予約要求記憶部170中に、ステップS134で削除した仮予約の対象の資源についての待ち行列に要素があるか否かを調べる(ステップS135)。該判定の結果、待ち行列が空であれば(ステップS135のNO分岐)、処理を完了する。待ち行列が空でない場合(ステップS135のYES分岐)、ステップS136に進む。
【0100】
ステップS136では、待ち行列の先頭要素をスケジュール記憶部160に移動する処理を行う(図11(C)−図11(D)参照)。
【0101】
仮予約される時間帯の決定方法は、前記ステップS114と同様である。それに加え、移動される仮予約要求を発行したジョブスケジューラ200に対して、待機中の仮予約要求が実行されたことを通知する。以降では、この通知を「仮予約成功通知」と呼ぶ。
【0102】
次に、資源管理装置100におけるジョブ予約取消要求受信手段140の動作を詳細に説明する。ジョブ予約取消要求受信手段140は、ジョブスケジューラ200からジョブ予約取消要求を受信し、該当するジョブを破棄する処理を行う。ジョブ予約取消要求には、要求を発行するジョブスケジューラの識別子と、取り消しの対象とするジョブ予約のジョブIDが含まれる。
【0103】
ジョブ取消処理が成功するためには、ジョブ予約取消要求に含まれるジョブIDに対応ジョブ予約がスケジュール記憶部160に登録されており、かつ、そのジョブ予約要求の発行者と、ジョブ予約取消要求の発行者とが互いに一致している必要がある。この条件が満たされていれば、スケジュール記憶部160から該当するジョブの情報を削除する。さらに、該当するジョブにすでに資源が割り当てられている場合、当該ジョブが使用する資源を解放する処理を行う。資源を解放する処理は、後述のスケジュール管理手段による資源の解放処理と同様である。
【0104】
次に、資源管理装置100におけるスケジュール管理手段150の動作を詳細に説明する。スケジュール管理手段150は、スケジュール記憶部160に記録された予約情報に従って、以下の処理を行う。
【0105】
・予約開始時刻に達したジョブについて、資源の割り当て処理を行う。
【0106】
・予約終了時刻に達したジョブについて、資源の解放処理を行う。
【0107】
・有効期限に達した仮予約を破棄する。
【0108】
上記資源の割り当て処理とは、予約された資源を実際に利用可能な状態にすることを指し、実際に行われる処理は管理対象の資源の種類によって異なる。例えば、資源がコンピュータである場合にはユーザプログラムの起動、記憶装置であればリモートファイルのオープン、ネットワーク機器であれば帯域の割り当てなどが該当する。
【0109】
上記資源の解放処理とは、資源の割り当て処理によってジョブに割り当てていた資源を利用不可能な状態に戻し、他のジョブへの割り当てを可能にすることを指す。資源の解放処理の具体例としては、例えばユーザプログラムの停止、リモートファイルのクローズ、帯域の割り当て停止などが該当する。
【0110】
上記仮予約の破棄は、スケジュール記憶部160に記録された仮予約のうち、有効期限に達したものを削除する処理である。さらに、破棄される仮予約の対象である資源についての、空でない待ち行列が、仮予約要求記憶部170中に存在する場合、その先頭要素である仮予約要求をスケジュール記憶部160に登録し、ジョブスケジューラ200に対して、仮予約成功通知を送る。この部分の処理は、図12の前記ステップS136と共通である。
【0111】
次に、ジョブスケジューラ200の各手段の動作を詳細に説明する。まず、ジョブ実行要求受信手段210の動作を詳細に説明する。
【0112】
ジョブ実行要求受信手段210は、ユーザ端末400からのジョブ実行要求を受信し、待機ジョブ記憶部240に追加する処理を行う。ジョブ実行要求には、要求を発行するユーザの識別子と、使用する資源の記述が含まれる。使用する資源の記述には、コンピュータや記憶装置などの資源の種類、CPU性能などの性能に関する要請、複数の資源を割り当てる際の依存関係が含まれる。ジョブ実行要求を受理すると、ジョブ実行要求受信手段は新しいジョブIDを生成して、受信したジョブ実行要求の内容とともに待機ジョブ記憶部240に追加する。ここで追加されるジョブは待機状態である。さらに、生成されたジョブIDを、ジョブ実行要求を発行したユーザ端末に通知する。
【0113】
次に、図13は、ジョブスケジューラ200のジョブ取消要求受信手段220の動作を説明するための流れ図である。図7及び図13を参照して、ジョブ取消要求受信手段220の動作を説明する。まず、ユーザ端末から要求内容を受信する(ステップS221)。要求内容には、ジョブ取消要求を発行するユーザの識別子と、取り消しの対象であるジョブIDが含まれる。ジョブ取消要求を発行するユーザと当該ジョブに対応するジョブ実行要求を発行したユーザが一致しない場合には、ジョブ取消要求を拒否する。
【0114】
次に、待機ジョブ記憶部240およびスケジュール記憶部250を参照して、ステップS221で受信したジョブIDに該当するジョブの情報がいずれに含まれるかを調べる(ステップS222)。判定の結果、待機ジョブ記憶部240に含まれる場合には(ステップS222のYES分岐)、ステップS223を実行し、スケジュール記憶部250に含まれる場合には(ステップS222のNO分岐)、ステップS224およびS225を実行する。いずれにも含まれない場合にはジョブ取消要求は失敗する。
【0115】
ステップS223では、待機ジョブ記憶部240から、当該ジョブの情報を削除して処理を完了する。
【0116】
一方、ステップS224では、当該ジョブを予約した資源管理装置100に対してジョブ予約取消要求を送る。当該ジョブが予約されている資源がどれであるかはスケジュール記憶部250から取得する。
【0117】
ステップS225では、スケジュール記憶部250から当該ジョブを削除して処理を完了する。
【0118】
次に、図14は、ジョブスケジューラ200のジョブスケジューリング手段230の動作を説明するための流れ図である。図7及び図14を参照して、ジョブスケジューリング手段230の動作を説明する。ジョブスケジューリング手段230は、定期的に待機ジョブ記憶部240の内容を監視して、待機状態のジョブが存在すれば以下に説明するスケジューリング処理を行う。
【0119】
まず、待機ジョブ記憶部240に格納されている待機中のジョブのうち、スケジューリングの対象となるジョブを先着順に取り出す(ステップS231)。ここで取り出すジョブの数は、システム管理上の方針により指定する。
【0120】
次に、ステップS231で取り出した待機中のジョブを割り当てることが可能な各資源について、当該資源を管理する資源管理装置100に対して仮予約要求を発行する(ステップS232)。
【0121】
次に、ステップS232において仮予約要求記憶部170に格納された仮予約要求があるかどうかを調べる(ステップS233)。仮予約要求がある場合には(ステップS233のYES分岐)、ステップS234に進み、仮予約要求がない場合には(ステップS233のNO分岐)、ステップS235に進む。
【0122】
ステップS234では、一定時間待機し、資源管理装置100からの仮予約成功通知が到着するのを待つ。ここで待機する時間は、システム管理上の方針により決定されるが、少なくとも仮予約の有効期間よりも短い必要がある。一定時間が経過するか、あるいは待機状態のすべての仮予約要求についての仮予約成功通知が到着した場合、ステップS235に進む。
【0123】
ステップS235では、仮予約に成功した資源を対象として、ジョブの実行スケジュールを作成する。実行スケジュールの作成とは、各ジョブをどの資源のどの時間帯に割り当てるかを決定する処理をいう。
【0124】
この処理には、例えば上記非特許文献2等に記載された既存のジョブスケジューリングアルゴリズムを適用することができる。
【0125】
上記非特許文献2で提案されているアルゴリズムD(min-minとして知られている)を用いることができる。なお、ステップS232において仮予約要求記憶部170に格納され、かつ仮予約成功通知を受け取っていない仮予約要求がある場合、その仮予約要求の対象の資源はスケジューリングの対象に含めない。
【0126】
次に、ステップS235で作成した実行スケジュールに従って、各資源管理装置100に対してジョブ予約要求を発行する(ステップS236)。ここでジョブ予約に成功したジョブは、待機ジョブ記憶部240からスケジュール記憶部250に移される。
【0127】
最後に、ステップS232で仮予約要求を送った各資源について、仮予約取消要求を資源管理装置100に対して発行する(ステップS237)。
【0128】
仮予約取消要求の対象とする資源には、仮予約要求記憶部170に格納された仮予約の対象の資源も含まれる。
【0129】
【実施例】
上記実施の形態についてさらに詳細に説明すべく、次に、2つの具体的な実施例について説明する。第1の実施例は、「グリッドデータファーム」と呼ばれる種類の分散システムに本発明を適用した実施例である。
【0130】
図15に示すように、第1の実施例のシステムは、インターネット(The Internet)を介して接続される2つのドメインからなり、各ドメイン内の構成要素はローカルエリアネットワーク(LAN)で接続されている。ドメイン1内の構成要素には、ジョブスケジューラ(1)200と、資源管理装置(1)100と、ユーザ端末(1)400と、ファイルサーバノード(以下、単に「ノード」と呼ぶ)(11)300〜ノード(14)300とがある。資源管理装置(1)300は、ノード(11)300〜ノード(14)300を管理対象とする。ドメイン2内の構成要素には、ジョブスケジューラ(2)200と、資源管理装置(2)100と、ユーザ端末(2)400と、ノード(21)300〜ノード(24)300とがある。資源管理装置(2)100は、ノード(21)300〜ノード(24)300を管理対象とする。各ファイルサーバノードはディスク装置を内蔵するコンピュータであり、ファイルを複数の断片に分けて格納する分散ファイルサーバを構成する。さらに、ファイルサーバノードは計算ノードとしても機能し、自ノードが格納するファイル断片を処理対象として並列にジョブを実行する。
【0131】
図16に、各ノード内に格納されているファイル断片の構成を示す。例えば、図15のノード(11)300は、ファイルAの断片0(ファイルA#0)とファイルBの断片0(ファイルB#0)を格納している。図16では、A、B、Cの3種類のファイルがあり、ファイルAは、#0から#3までの4つの断片からなり、ファイルBおよびファイルCは、#0と#1の2つの断片からなる。
【0132】
上記の構成を持つシステムにおいて、以下の2つのジョブが実行される場合の動作手順を説明する。
【0133】
・ジョブ1:ファイルAを処理対象とする。図15のユーザ(1)が、ユーザ端末(1)400を通して、ジョブスケジューラ(1)200にジョブを投入する。
【0134】
・ジョブ2:ファイルBを処理対象とする。ユーザ(2)が、ユーザ端末(2)400を通して、ジョブスケジューラ(2)200にジョブを投入する。
【0135】
ジョブ1とジョブ2のいずれも、4つのノードを使用する並列ジョブとして実行される。従って、ジョブの実行に関わるすべてのノードについて、同じ時間帯に予約する必要がある。
【0136】
各ジョブスケジューラにジョブが投入されると、一旦、待機ジョブ記憶部(図7の240)にジョブが格納された後、ジョブスケジューリング手段(図7の230)によって資源の割り当てが行われる。
【0137】
ジョブスケジューラ(2)200は、ジョブ2の実行に用いる可能性のある資源について仮予約要求を発行する。ジョブ2は、ファイルBを処理対象としており、ファイルBの断片を保持するノードは、図16から、ノード(11)、ノード(12)、ノード(21)、ノード(22)の4つであるので、これら4つのノードを対象として仮予約要求を発行する。この時点では他の仮予約が存在していないので、これらのノードについてすべての時間帯で仮予約が成功する。ジョブスケジューラ(2)200は、ジョブ2についての実行スケジュールの作成を開始する。
【0138】
次に、ジョブスケジューラ(1)200は、ジョブ1の実行に用いる可能性のある資源について仮予約要求を発行する。ジョブ1は、ファイルAを処理対象としており、ファイルAの断片を保持するノードは、図16から、ノード(11)〜ノード(14)およびノード(21)〜ノード(24)の8つである。したがって、これらのノードに関して仮予約要求を発行する。この時点では、ノード(11)、ノード(12)、ノード(21)、ノード(22)がジョブスケジューラ(2)200により仮予約されているため、残りのノード(13)、ノード(14)、ノード(23)、ノード(24)のみが仮予約に成功し、残りの仮予約要求については待ち行列に格納される。このため、一定時間経過するか、仮予約成功通知が到着するまではスケジューリング処理を中断する。この時点における、各資源管理装置のスケジュール記憶部160および仮予約要求記憶部170の内容を、図17に示す。
【0139】
次に、ジョブスケジューラ(2)200は、ジョブ2についての実行スケジュールの作成を完了して、資源管理装置1(100)、資源管理装置2(100)の各々に対してジョブ予約要求を発行し、続いて、仮予約取消要求を発行する。その結果、ジョブ2のノード(11)300およびノード(12)300への割り当てが確定し、ノード11、12、21、22についての仮予約が破棄される。さらに、ノード11、12、21、22についての待ち行列から、ジョブスケジューラ(1)が発行した仮予約要求が取り出され、ノード11、12、21、22がジョブスケジューラ(1)によって仮予約された状態になる。この時点のおける各資源管理装置のスケジュール記憶部160および仮予約要求記憶部170の内容を、図18に示す。
【0140】
次に、ジョブスケジューラ(1)200は、資源管理装置(1)100および資源管理装置(2)100からの仮予約成功通知を受け取り、ジョブの実行スケジュールの作成を開始する。ここでは、実行開始までの時間が短く、かつすべての同一のドメイン内にあるノード(21)、ノード(22)、ノード(23)、ノード(24)の4つのノードを選択し、これらのノードを対象としてジョブ予約要求を送る。ジョブ予約の完了後、資源管理装置(1)100および資源管理装置(2)100に対して、仮予約取消要求を送る。
【0141】
図19に、最終的なスケジューリング結果を示す。この例では、2つの仮予約要求が衝突しているにもかかわらず、要求の失敗が発生することなくジョブスケジューリングが正常に完了している。
【0142】
以上の動作手順は、あくまでもその一例を示したものであり、ジョブの投入順序や通信遅延などの影響によって異なるスケジューリング結果になる可能性がある。その場合でも問題なくスケジューリングが完了する。
【0143】
一方、本実施例と同様のシステムにおいて、仮予約の機構が存在しない場合を考える。ジョブスケジューラ(2)200によるジョブ予約が先に実行されると、ノード(11)とノード(12)にジョブ2が予約される。その後、ジョブスケジューラ(1)200によってジョブ1についてのジョブ予約が行われるが、もしジョブスケジューラ(1)200がジョブ2の情報を知らないとすると、ノード(11)〜ノード(14)を対象としてジョブ予約が試みられる可能性がある。この場合、ノード(13)とノード(14)についてのみ予約が成功し、他の2つのノードを別途探す必要がある。
【0144】
その結果、図20に示すスケジューリング結果となる。ジョブ1は、WANをまたいだ資源に割り当てられるため、図19のスケジューリング結果よりも、資源の利用効率が低くなる。
【0145】
次に本発明の第2の実施例について説明する。本発明の第2の実施例は、依存関係のある2つのジョブを実行する場合の例である。図21に示すように、第2の実施例のシステムは、3つのドメインから構成され、ドメイン間はWANによって接続されている。各ドメインの内部はLANで接続されている。ドメイン1内のLANには、資源管理装置(1)100と、管理対象の資源300として、ルータ(1)300と、ノード(11)300〜ノード(14)300の4つの計算ノード、および、記憶装置(1)300が接続される。ドメイン2内のLANには、資源管理装置(2)100と、管理対象の資源300として、ルータ(2)300と、ノード(21)300〜ノード(24)300の4つの計算ノード、および記憶装置(2)300が接続される。ドメイン3内のLANには、資源管理装置(3)300と、管理対象の資源としてルータ(3)300と、ユーザ端末400、およびジョブスケジューラ200が接続される。各ルータ、計算ノード、およびファイルサーバは、同じドメインにある資源管理装置により管理される資源である。各ドメイン1、2、3のルータ1、2、3は、帯域予約機能を有し、特定のジョブによる通信のために必要な帯域を予約することができる。資源管理装置100に対してネットワーク帯域を予約すると、その資源管理装置100は該当するルータに対して帯域予約操作を行う。
【0146】
また、ドメイン1と2の記憶装置1、2は、ネットワーク(LANまたはWAN)を介してデータの読み書きが可能なネットワークストレージである。
【0147】
上記の構成を有するシステムにおいて、以下の2つのジョブをユーザ端末を通して実行することを考える。
【0148】
・ジョブ1:8つの計算ノードを使用して計算を行い、その結果を任意の記憶装置上のファイルAに書き込む。記憶装置への計算結果の書き込みには、10Mbpsのネットワーク帯域を要する。
【0149】
・ジョブ2:記憶装置上のファイルAからデータを読み、その内容を2つの計算ノードを使用して可視化し、その結果を画像データとしてユーザ端末に送る。ファイルAの読み込みには10Mbpsのネットワーク帯域を、画像データの送信には1Mbpsのネットワーク帯域を要する。
【0150】
以下に、図22を用いて、上記のジョブを投入したときの動作手順を示す。図22は、各資源管理装置が保持するスケジュール記憶部160の内容の変化を示している。
【0151】
まず、図22(A)は、スケジューリング開始前の状態を示している。この状態では、ノード11、ノード12、ノード22、ノード23上に既存のジョブ予約が存在する。
【0152】
ドメイン3内のジョブスケジューラ200は、ユーザ端末400からジョブ1およびジョブ2ついてのジョブ実行要求を受け取った後、ジョブスケジューリング手段230(図7参照)による割り当て処理を開始する。最初に、ジョブスケジューラ200は、ドメイン1、2、3の資源管理装置1、2、3が管理する資源について仮予約要求を発行する。
【0153】
図22(B)は、ジョブスケジューラ200による仮予約が完了した後の各資源管理装置1、2、3のスケジュール記憶部160の内容を示している。
【0154】
次に、ジョブスケジューラ200は、ジョブ1およびジョブ2を割り当てる資源と時間帯を選択する。ここで、ジョブ1におけるファイルAへの書き込みはジョブ2におけるファイルAの読み出しよりも先行する必要があるという制約と、ジョブ2におけるファイルAの読み出しに用いる記憶装置はジョブ1におけるファイルAの書き込みに用いた記憶装置と同一である必要であるという制約がある。
【0155】
作成した実行スケジュールに従って、ドメイン1、2、3の各資源管理装置に、ジョブ予約要求を発行した結果、図22(C)に示す予約状況になる。
【0156】
ジョブ予約に成功すると、ジョブスケジューラ200は、ドメイン1、2、3の各資源管理装置に、仮予約取消要求を送り、仮予約を破棄する。
【0157】
ドメイン1、2、3の各資源管理装置における最終的なスケジュール記憶部160の内容が図23に示されている。すなわち、図23を参照すると、ドメイン1の資源管理装置(1)100のスケジュール記憶部160において、ノード(11)〜ノード(14)でのジョブ1の計算処理、ルータ(1)でのジョブ1の帯域予約、記憶装置(1)におけるジョブ1のファイルの書き込みと、対応する時間帯において、ドメイン2の資源管理装置(2)100のスケジュール記憶部160において、ノード(21)〜ノード(24)でのジョブ1の計算処理、ルータ(2)でのジョブ1の帯域予約が、それぞれ登録され、つづいて、ドメイン1において、ノード(11)〜ノード(14)でのジョブ2の計算処理、ルータ(1)でのジョブ2の帯域予約、記憶装置(1)におけるジョブ2のファイル読み出しが登録され、対応する時間帯において、ドメイン3の資源管理装置(3)100のスケジュール記憶部160において、ジョブ2の帯域予約が登録されている。なお、上記した実行スケジュールは一例であり、必ずしもこの通りになるとは限らない。
【0158】
以上本発明を上記各実施例に即して説明したが、本発明は、上記実施例の構成にのみ限定されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【0159】
【発明の効果】
以上説明したように、本発明によれば、下記記載の効果を奏する。
【0160】
本発明の第1の効果は、資源が分散して管理される分散システムにおいて、資源の利用効率を向上できることにある。
【0161】
その理由は、本発明においては、同時に、複数の資源を使うジョブや依存関係のあるジョブ群の一部のみ予約に失敗するという状況が発生しないためである。
【0162】
ジョブに必要な資源を事前に予約する場合、各資源についての予約状況の情報をあらかじめ取得する必要がある。前記したとおり、従来の手法では、取得した予約状況の情報と予約操作をする際の実際の予約状況が一致しない可能性があった。このため、同時に複数の資源を使うジョブや依存関係のあるジョブ群の一部のみ予約に失敗し、その結果可能な範囲で最適な資源の組み合わせが得られないことがある。これに対して、本発明によれば、仮予約の機構により、資源の予約状況の取得と、資源のロックとを同時に行うため、予約可能な資源を仮予約してから最適な資源の組み合わせを選ぶことができる。
【0163】
本発明の別の効果は、多数のジョブを実行する際の計算機およびネットワークの負荷の増大を抑止・低減することができる、ということである。
【0164】
その理由は、本発明においては、競合する仮予約要求を待ち行列に格納することによって、必要な資源が獲得できるまで仮予約要求を繰り返す必要がないからである。
【図面の簡単な説明】
【図1】資源の事前予約の概念を説明するための図である。
【図2】従来技術1のシステム構成を示す図である。
【図3】従来技術2のシステム構成を示す図である。
【図4】従来技術2を適用した場合に非効率な資源の割り当てが行われる例を示すための図である。
【図5】本発明の実施の形態のシステム構成を示す図である。
【図6】本発明の実施の形態における資源管理装置100の構成を示すブロック図である。
【図7】本発明の実施の形態におけるジョブスケジューラ200の構成を示すブロック図である。
【図8】本発明の実施の形態における各手段間の相互作用を説明するための図である。
【図9】ジョブスケジューラにおけるスケジュール記憶部250の状態変化を示す図である。
【図10】資源管理装置の仮予約要求受信手段110の動作手順を示すフローチャートである。
【図11】資源管理装置の仮予約要求受信手段110における待ち行列の扱いを説明するための図である。
【図12】資源管理装置の仮予約取消要求受信手段130の動作手順を示すフローチャートである。
【図13】ジョブスケジューラのジョブ取消要求受信手段220の動作手順を示すフローチャートである。
【図14】ジョブスケジューラのジョブスケジューリング手段230の動作手順を示すフローチャートである。
【図15】本発明の第1の実施例のシステム構成を示す図である。
【図16】本発明の第1の実施例におけるファイルサーバノードの構成を示す図である。
【図17】本発明の第1の実施例におけるジョブスケジューリングの途中経過を示す図である。
【図18】本発明の第1の実施例におけるジョブスケジューリングの途中経過を示す図である。
【図19】本発明の第1の実施例におけるジョブスケジューリングの結果を示す図である。
【図20】本発明の第1の実施例において、仮予約の機構を用いない場合のジョブスケジューリングの結果を示す図である。
【図21】本発明の第2の実施例のシステム構成を示す図である。
【図22】本発明の第2の実施例におけるジョブスケジューリングの途中経過を示す図である。
【図23】本発明の第2の実施例におけるジョブスケジューリングの結果を示す図である。
【符号の説明】
100 資源管理装置
110 仮予約要求受信手段
120 ジョブ予約要求受信手段
130 仮予約取消要求受信手段
140 ジョブ予約取消要求受信手段
150 スケジュール管理手段
160 スケジュール記憶部
170 仮予約要求記憶部
200 ジョブスケジューラ
210 ジョブ実行要求受信手段
220 ジョブ取消要求受信手段
230 ジョブスケジューリング手段
240 待機ジョブ記憶部
250 スケジュール記憶部
300 資源
400 ユーザ端末

Claims (32)

  1. 1つ又は複数の資源を管理し、仮予約とジョブ予約の2種の予約要求を受理する資源管理装置であって、
    管理対象の資源を1つ又は複数指定してなる仮予約要求を受理した際に、前記管理対象の資源のうち空き状態である時間帯を仮予約された状態に変更して、有効期限を設けるとともに、前記仮予約要求の発行者を識別する情報を記憶部に格納する手段と、
    前記管理対象の資源のうち、仮予約された時間帯が存在する資源について設けられる、待ち行列に、仮予約要求を格納する手段と、
    前記仮予約された時間帯と、前記仮予約された時間帯に対応する仮予約識別情報(「仮予約ID」という)を、前記仮予約要求に対する応答とする手段と、
    仮予約IDと時間帯を指定したジョブ予約要求を受理した際に、前記ジョブ予約要求で指定される時間帯が、前記仮予約IDに対応する仮予約された時間帯に含まれており、かつ、前記ジョブ予約要求の発行者と、前記仮予約要求の発行者とが互いに一致している場合に、前記ジョブ予約要求で指定される時間帯を、ジョブ予約された状態に、変更する手段と、
    を備えている、ことを特徴とする資源管理装置。
  2. 前記仮予約IDを指定した仮予約取消要求を受理した場合、前記仮予約IDに対応する仮予約を取り消して空き状態とする手段を備えている、ことを特徴とする請求項1記載の資源管理装置。
  3. 前記仮予約された時間帯のうち、有効期限に達しているものを空き状態に戻す手段と、
    前記待ち行列から仮予約要求を取り出し、空き状態になった時間帯を仮予約された状態に変更し、仮予約要求の発行者を識別する情報を格納する手段と、
    前記待ち行列から取り出された仮予約要求の発行者に対して、前記仮予約された時間帯と、前記仮予約された時間帯に対応する仮予約IDを含む通知を送る手段と、
    を備えている、ことを特徴とする請求項1記載の資源管理装置。
  4. 請求項1乃至のいずれか一に記載の資源管理装置と、
    1つ又は複数の資源を管理し、仮予約とジョブ予約との2種の予約要求をそれぞれ受理する前記資源管理装置と通信接続され、ジョブのスケジューリングを行うジョブスケジューラであって、前記ジョブが利用する可能性のある資源のそれぞれについて、該資源を管理する前記資源管理装置に対して、仮予約要求を送る第1の手段と、
    前記資源管理装置で仮予約された資源を対象として、各ジョブを割り当てる資源と、実行する時間帯とを決める第2の手段と、
    前記第2の手段によって決定された資源のそれぞれについて、該資源を管理する前記資源管理装置に対して、ジョブ予約要求を送る第3の手段と、
    前記第1の手段の前記仮予約要求によって前記資源管理装置で仮予約された資源のそれぞれについて、該資源を管理する前記資源管理装置に対して、仮予約取消要求を送る第4の手段と、を備えているジョブスケジューラと、
    を備えた分散資源管理システム。
  5. 1つ又は複数の資源の管理を行う少なくとも1つの資源管理装置と、
    少なくとも1つの前記資源管理装置と通信接続される少なくとも1つのジョブスケジュール装置と、
    を含み、
    前記ジョブスケジュール装置は、前記ジョブで用いる資源の仮予約を行う手段を備え、
    前記資源管理装置は、前記ジョブスケジュール装置により発行される、仮予約とジョブ予約との2種の予約要求をそれぞれ受理する手段を備え、
    前記仮予約は、資源の予約状況の取得と資源のロックを組み合わせた操作であって、前記資源管理装置の管理下にある資源のいずれかを指定して実行され、
    前記資源管理装置は、前記ジョブスケジュール装置により受け取った前記仮予約要求の対象の資源に対して、他の仮予約が存在せず、かつ、空き時間が存在する場合には、当該時間帯を仮予約された状態に設定し、前記仮予約された時間帯を、前記仮予約要求の応答とする手段と、
    前記仮予約された時間帯に、有効期限と、該当する仮予約要求を発行したジョブスケジュール装置の情報とを記録する手段と、
    を有し、
    前記ジョブ予約は、指定されたジョブの実行のために資源を事前予約する操作であって、前記資源管理装置が管理する資源のうちの1つと、前記資源における時間帯を指定したジョブ予約要求として実行され、
    前記資源管理装置は、前記ジョブ予約要求で指定された時間帯がすでに仮予約された時間帯の一部であり、かつ、前記ジョブ予約要求の発行者と仮予約要求の発行者とが互いに一致する場合に、ジョブ予約要求を受理し、指定された時間帯をジョブ予約された状態とする手段と、
    ジョブ予約で指定された開始時刻に達すると、当該資源をジョブの実行のために割り当てる制御、及び/又は、前記ジョブ予約で指定された終了時刻になると当該の資源のジョブへの割り当てを停止する制御、を行う手段と、
    を含む、ことを特徴とする分散型資源管理システム。
  6. 前記資源管理装置は、前記予約要求に対応して、前記ジョブスケジュール装置により発行される、仮予約取消要求とジョブ取消要求の2種の取消要求を受理する、ことを特徴とする請求項記載の分散型資源管理システム。
  7. 前記ジョブスケジュール装置に通信接続する少なくとも1つのユーザ端末をさらに備え、
    前記ユーザ端末から、前記ジョブスケジュール装置にジョブが投入され、
    前記ジョブスケジュール装置は、
    前記ユーザ端末から前記投入されたジョブを各資源に割り当てる手段を備え、
    前記ジョブスケジュール装置による、前記資源の割り当て処理が、
    前記資源管理装置に対する、前記仮予約要求の送信処理と、
    前記仮予約に成功した資源を対象とするジョブの実行スケジュールの作成処理と、
    前記実行スケジュールに従ったジョブ予約要求を前記資源管理装置に対して送信する処理と、
    の少なくとも1つを含む、ことを特徴とする請求項記載の分散型資源管理システム。
  8. 前記資源管理装置は、前記資源管理装置の管理対象とされる資源のそれぞれについて、どの時間帯にどのジョブが予約されているかの情報を記録するスケジュール記憶部と、
    前記資源管理装置の管理対象とされる資源のそれぞれについて、待ち行列が設けられ、前記待ち行列には、前記資源を対象とする待機中の仮予約要求が格納される仮予約要求記憶部と、
    前記ジョブスケジュール装置からの仮予約要求を受信し、前記スケジュール記憶部又は、前記仮予約要求記憶部に、仮予約についての情報を記録する仮予約要求受信手段と、
    前記ジョブスケジュール装置からのジョブ予約要求を受信し、前記スケジュール記憶部に、ジョブ予約の情報を記録するジョブ予約要求受信手段と、
    前記スケジュール記録部に記録された予約ジョブ及び仮予約の情報を監視し、前記予約ジョブ及び前記仮予約の情報に従った、資源の割り当て・解放、及び/又は、前記仮予約の破棄の処理を行うスケジュール管理手段と、
    を備えている、ことを特徴とする請求項記載の分散型資源管理システム。
  9. 前記資源管理装置は、前記ジョブスケジュール装置からの仮予約取消要求を受信し、前記スケジュール記録部又は前記仮予約要求記憶部から該当する仮予約の情報を破棄する仮予約取消要求受信手段と、
    前記ジョブスケジュール装置からのジョブ予約取消要求を受信し、前記スケジュール記録部から該当するジョブ予約の情報を破棄する処理と、ジョブに割り当てられた資源を解放する処理を行うジョブ取消要求受信手段と、
    を備えている、ことを特徴とする請求項記載の分散型資源管理システム。
  10. 前記ジョブスケジュール装置は、前記ユーザ端末により投入されたジョブの情報が一時的に格納される待機ジョブ記憶部と、
    各資源ごとに、予約が確定したジョブの情報が格納されるスケジュール記憶部と、
    前記ユーザ端末からのジョブ実行要求を受信し、前記ジョブ実行要求の内容を待機ジョブ情報記憶部に記録するジョブ実行要求受信手段と、
    前記待機ジョブ記憶部に記録されたジョブを、定期的に取り出し、前記ジョブを資源に割り当てる手段であって、前記ジョブの資源への割り当てには、前記資源管理装置への仮予約要求の発行、ジョブ実行スケジュールの作成、および、前記資源管理装置へのジョブ予約要求の発行が含まれる、ジョブスケジューリング手段と、
    を備えている、ことを特徴とする請求項記載の分散型資源管理システム。
  11. 前記ジョブスケジュール装置は、前記ユーザ端末からのジョブ取消要求を受信し、前記待機ジョブ記憶部に記憶された待機ジョブまたは前記スケジュール記憶部に登録された該当するジョブを破棄するとともに、前記資源管理装置に対するジョブ予約取消要求の送信を行うジョブ取消要求受信手段を備えている、ことを特徴とする請求項10記載の分散型資源管理システム。
  12. 前記資源管理装置は、前記ジョブスケジュール装置から受信したジョブ予約要求に従って、管理下の資源を、前記ジョブの実行のために割り当てる手段と、
    前記資源管理装置は、すでに仮予約された資源を対象とする仮予約要求を受け取ると、前記仮予約要求を資源ごとに設けられる待ち行列に格納する手段と、
    を備え、
    仮予約取消要求または有効期限切れのために仮予約が破棄されると、破棄された仮予約と同一の資源を対象とする仮予約要求が待ち行列から取り出され、有効な仮予約となり、
    前記資源管理装置は、前記待ち行列から仮予約要求が取り出されると、前記仮予約要求を発行した前記ジョブスケジュール装置に通知を送る手段を備え、
    前記ジョブスケジュール装置は、前記ジョブスケジュール装置が発行した仮予約要求のいずれかが前記待ち行列に入ると、前記仮予約が有効となるのを待ってから、実行スケジュールの作成を開始するように制御する手段を備えている、ことを特徴とする請求項記載の分散型資源管理システム。
  13. 前記ジョブスケジュール装置は、予め定められた定時間内に、仮予約要求が有効にならない場合には、その時点で、前記待ち行列に残っている仮予約を無視して、実行スケジュールの作成に進むように制御する手段を備えている、ことを特徴とする請求項11記載の分散型資源管理システム。
  14. 1つ又は複数の資源を管理し、仮予約とジョブ予約の2種の予約要求を受理する資源管理装置による資源管理の方法であって、
    前記資源管理装置が、管理対象の資源を1つ又は複数指定してなる仮予約要求を受理した際に、前記管理対象の資源のうち空き状態である時間帯を仮予約された状態に変更して、有効期限を設けるとともに、前記仮予約要求の発行者を識別する情報を記憶部に格納する工程と、
    前記資源管理装置が、前記管理対象の資源のうち、仮予約された時間帯が存在する資源についての待ち行列に、仮予約要求を格納する工程と、
    前記資源管理装置が、前記仮予約された時間帯と、前記仮予約された時間帯に対応する仮予約識別情報(「仮予約ID」という)を、前記仮予約要求に対する応答とする工程と、
    前記資源管理装置が、前記仮予約IDと時間帯を指定したジョブ予約要求を受理した際に、前記ジョブ予約要求で指定される前記時間帯が、前記仮予約IDに対応する仮予約された時間帯に含まれ、かつ、前記ジョブ予約要求の発行者と、前記仮予約要求の発行者とが互いに一致している場合に、前記ジョブ予約要求で指定される時間帯をジョブ予約された状態に変更する工程と、
    を含む、ことを特徴とする資源管理方法。
  15. 前記資源管理装置が、前記仮予約IDを指定した仮予約取消要求を受理した場合に、前記仮予約IDに対応する仮予約を取り消して空き状態とする工程を含む、ことを特徴とする請求項14記載の資源管理方法。
  16. 前記資源管理装置が、仮予約された時間帯のうち、有効期限に達しているものを空き状態に戻す工程と、
    前記資源管理装置が、前記待ち行列から仮予約要求を取り出し、空き状態になった時間帯を仮予約された状態に変更し、仮予約要求の発行者を識別する情報を格納する工程と、
    前記資源管理装置が、前記待ち行列から取り出された仮予約要求の発行者に対して、仮予約された時間帯とそれに対応する仮予約IDを含む通知を送る工程と、
    を含む、ことを特徴とする請求項14記載の資源管理方法。
  17. 1つ又は複数の資源を管理し、ジョブスケジューラにより発行される、仮予約とジョブ予約との2種の予約要求をそれぞれ受理する資源管理装置と通信接続され、ジョブのスケジューリングを行う前記ジョブスケジューラが、前記ジョブが利用する可能性のある資源のそれぞれについて、該資源を管理する前記資源管理装置に対して、仮予約要求を送る工程と、
    前記仮予約要求に対して前記資源管理装置からの応答を受理すると、前記ジョブスケジューラが、仮予約された資源を対象として、各ジョブを割り当てる資源と実行する時間帯とを決める工程と、
    前記ジョブスケジューラによって決定された資源のそれぞれについて、該資源を管理する前記資源管理装置に対して、ジョブ予約要求を送る工程と、
    前記仮予約された資源のそれぞれについて、該資源を管理する前記資源管理装置に対して、仮予約取消要求を送る工程と、
    を含み、
    前記各工程により、ジョブの資源への割り当てを決める、ことを特徴とする請求項14記載の資源管理方法。
  18. 前記ジョブスケジューラは、前記仮予約要求を送る工程において、前記待ち行列に格納された仮予約要求がある場合に、予め定められた定時間が経過するか、前記待ち行列から取り出されたことを示す通知が到着してから、前記資源と実行する時間帯とを決める工程に進む制御が行われる、ことを特徴とする請求項17記載の資源管理方法。
  19. 1つ又は複数の資源の管理を行う、少なくとも1つの資源管理装置と、
    少なくとも1つの前記資源管理装置と通信接続される、少なくとも1つのジョブスケジュール装置と、を含む分散システムの資源管理方法であって、
    前記ジョブスケジュール装置が、前記ジョブで用いる資源の仮予約を行う工程を含み、
    前記資源管理装置が、前記ジョブスケジュール装置により発行される、仮予約とジョブ予約との2種の予約要求を受理する工程を含み、
    前記仮予約は、資源の予約状況の取得と、資源のロックを組み合わせた操作であって、前記資源管理装置の管理下にある資源のいずれかを指定して実行され、
    前記資源管理装置が、前記ジョブスケジュール装置より受け取った前記仮予約要求の対象の資源に対して、他の仮予約が存在せず、かつ、空き時間が存在する場合には、当該時間帯を仮予約された状態に設定し、前記仮予約された時間帯を、前記仮予約要求に対する応答とする工程と、
    前記資源管理装置が、前記仮予約された時間帯に、有効期限と、該当する仮予約要求を発行したジョブスケジュール装置の情報とを記録する工程と、
    を有し、
    前記ジョブ予約は、指定されたジョブの実行のために資源を事前予約する操作であって、前記資源管理装置が管理する資源のうちの1つと、前記資源における時間帯を指定したジョブ予約要求として実行され、
    前記資源管理装置が、前記ジョブ予約要求で指定された時間帯がすでに仮予約された時間帯の一部であり、かつ、前記ジョブ予約要求の発行者と前記仮予約要求の発行者とが互いに一致する場合に、前記ジョブ予約要求を受理し、指定された時間帯をジョブ予約された状態とする工程と、
    前記資源管理装置が、ジョブ予約で指定された開始時刻に達すると、当該資源をジョブの実行のために割り当てる制御を行い、及び/又は、前記ジョブ予約で指定された終了時刻になると、当該の資源のジョブへの割り当てを停止する制御を行う工程と、
    を含む、ことを特徴とする分散型資源管理方法。
  20. 前記資源管理装置は、前記予約要求に対応して、前記ジョブスケジュール装置により発行される、仮予約取消要求とジョブ取消要求の2種の取消要求を受理する工程を含む、ことを特徴とする請求項19記載の分散型資源管理方法。
  21. 前記ジョブスケジュール装置に接続するユーザ端末から、前記ジョブスケジュール装置にジョブが投入される工程と、
    前記ジョブスケジュール装置は、前記ユーザ端末から、前記投入されたジョブを、各資源に割り当てる処理を行う工程と、
    を有し、
    前記ジョブスケジュール装置による前記資源の割り当て処理は、
    前記資源管理装置に対する、仮予約要求の送信処理と、
    前記仮予約に成功した資源を対象とするジョブの実行スケジュールの作成処理と、
    前記実行スケジュールに従ったジョブ予約要求の前記資源管理装置への送信処理と、
    を含む、ことを特徴とする請求項19記載の分散型資源管理方法。
  22. 前記資源管理装置は、前記ジョブスケジュール装置からの仮予約要求を受信した際に、
    管理下の資源のそれぞれについてどの時間帯にどのジョブが予約されているかの情報を記録するスケジュール記憶部、又は、管理下の資源のそれぞれについて設けられる待ち行列に前記資源を対象とする待機中の仮予約要求が格納される仮予約要求記憶部に、仮予約についての情報を記録する工程と、
    前記資源管理装置が、前記ジョブスケジュール装置からのジョブ予約要求を受信し、前記スケジュール記憶部に、ジョブ予約の情報を記録する工程と、
    前記資源管理装置が、前記スケジュール記録部に記録された予約ジョブ及び仮予約の情報を監視し、前記予約ジョブ及び仮予約の情報に従った資源の割り当てと解放、及び/又は、仮予約の破棄の処理を行う工程と、
    を含む、ことを特徴とする請求項19記載の分散型資源管理方法。
  23. 前記資源管理装置が、前記ジョブスケジュール装置からの仮予約取消要求を受信し、前記スケジュール記録部又は前記仮予約要求記憶部から、該当する仮予約の情報を破棄する工程と、
    前記資源管理装置が、前記ジョブスケジュール装置からのジョブ予約取消要求を受信し、前記スケジュール記録部から該当するジョブ予約の情報を破棄し、及び、ジョブに割り当てられた資源を解放する処理を行う工程と、
    を含む、ことを特徴とする請求項19記載の分散型資源管理方法。
  24. 前記ジョブスケジュール装置は、前記ジョブスケジュール装置に接続するユーザ端末からのジョブ実行要求を受信し、前記ジョブ実行要求の内容を、前記ユーザ端末により投入されたジョブの情報が一時的に格納される待機ジョブ情報記憶部に記録する工程と、
    前記ジョブスケジュール装置が、前記待機ジョブ記憶部に記録されたジョブを取り出して、前記ジョブを資源に割り当てる工程と、
    を有し、
    前記ジョブの資源への割り当てには、前記資源管理装置への仮予約要求の発行、ジョブ実行スケジュールの作成、および、前記資源管理装置へのジョブ予約要求の発行が含まれる、ことを特徴とする請求項19記載の分散型資源管理方法。
  25. 前記ジョブスケジュール装置は、前記ジョブスケジュール装置に接続するユーザ端末からジョブ取消要求を受信した際に、前記待機ジョブ記憶部に記憶された待機ジョブ、または、各資源ごとに予約が確定したジョブの情報が格納されるスケジュール記憶部に登録された該当するジョブを破棄するとともに、前記資源管理装置に対してジョブ予約取消要求を送信する工程を含む、ことを特徴とする請求項19記載の分散型資源管理方法。
  26. 前記資源管理装置は、前記ジョブスケジュール装置から受信したジョブ予約要求に従って、管理下の資源を、前記ジョブの実行のために割り当てる工程と、
    前記資源管理装置は、すでに仮予約された資源を対象とする仮予約要求を受け取ると、前記仮予約要求を資源ごとに設けられる待ち行列に格納する工程と、
    を有し、
    仮予約取消要求または有効期限切れのために仮予約が破棄されると、破棄された仮予約と同一の資源を対象とする仮予約要求が待ち行列から取り出され、有効な仮予約となり、
    前記資源管理装置が、前記待ち行列から仮予約要求が取り出されると、前記仮予約要求を発行した前記ジョブスケジュール装置に通知を送る工程を有し、
    前記ジョブスケジュール装置は、前記ジョブスケジュール装置が発行した仮予約要求のいずれかが前記待ち行列に入ると、前記仮予約が有効になるのを待ってから、実行スケジュールの作成を開始する工程を有する、ことを特徴とする請求項19記載の分散型資源管理方法。
  27. 前記ジョブスケジュール装置は、予め定められた定時間内に前記仮予約要求が有効にならない場合には、その時点で前記待ち行列に残っている仮予約を無視して実行スケジュールの作成に進む工程を含む、ことを特徴とする請求項19記載の分散型資源管理方法。
  28. 1つ又は複数の資源を管理し、仮予約とジョブ予約の2種の予約要求を受理する資源管理装置を構成するコンピュータに、
    管理対象の資源を1つ又は複数指定してなる仮予約要求を受理した際に、前記管理対象の資源のうち、空き状態である時間帯を、仮予約された状態に変更して、有効期限を設けるとともに、前記仮予約要求の発行者を識別する情報を記憶部に格納する処理と、
    前記管理対象の資源のうち、仮予約された時間帯が存在する資源についての待ち行列に、仮予約要求を格納する処理と、
    前記仮予約された時間帯と、前記仮予約された時間帯に対応する仮予約識別情報(「仮予約ID」という)を応答する処理と、
    仮予約IDと時間帯を指定したジョブ予約要求を受理した際に、前記ジョブ予約要求で指定される時間帯が、前記仮予約IDに対応する仮予約された時間帯に含まれ、かつ、前記ジョブ予約要求の発行者と、前記仮予約要求の発行者とが互いに一致している場合に、前記ジョブ予約要求で指定される時間帯を、ジョブ予約された状態に変更する処理と、
    を実行させるプログラム。
  29. 請求項28記載のプログラムであって、
    前記仮予約IDを指定した仮予約取消要求を受理した場合、前記仮予約IDに対応する仮予約を取り消して空き状態にする処理を、前記コンピュータに実行させるプログラム。
  30. 請求項28記載のプログラムであって、
    前記仮予約された時間帯のうち、有効期限に達しているものを空き状態に戻す処理と、
    前記待ち行列から仮予約要求を取り出し、空き状態になった時間帯を仮予約された状態に変更し、仮予約要求の発行者を識別する情報を格納する処理と、
    待ち行列から取り出された仮予約要求の発行者に対して、前記仮予約された時間帯とそれに対応する仮予約IDを含む通知を送る処理と、を前記コンピュータに実行させるプログラム。
  31. 請求項28記載のプログラムにおいて、前記資源管理装置を構成する前記コンピュータと通信接続し、ジョブのスケジューリングを行うジョブスケジューラを構成するコンピュータに、
    前記ジョブが利用する可能性のある資源のそれぞれについて、該資源を管理する前記資源管理装置に対して、仮予約要求を送る第1の処理と、
    前記資源管理装置で仮予約された資源を対象として、各ジョブを割り当てる資源と、実行する時間帯とを決める第2の処理と、
    前記第2の処理によって決定された資源のそれぞれについて、該資源を管理する前記資源管理装置に対して、ジョブ予約要求を送る第3の処理と、
    前記第1の処理の前記仮予約要求によって前記資源管理装置で仮予約された資源のそれぞれについて、該資源を管理する前記資源管理装置に対して、仮予約取消要求を送る第4の処理と、
    を実行させるプログラム。
  32. 請求項28記載のプログラムにおいて、
    前記第1の処理で前記待ち行列に格納された仮予約要求がある場合に、予め定められた定時間が経過するか、あるいは、前記待ち行列から取り出されたことを示す通知が到着してから、前記第2の処理に進むように制御する処理を、前記ジョブスケジューラを構成する前記コンピュータに実行させるプログラム。
JP2003093459A 2003-03-31 2003-03-31 分散型資源管理システムおよび分散型資源管理方法並びにプログラム Expired - Fee Related JP3951949B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003093459A JP3951949B2 (ja) 2003-03-31 2003-03-31 分散型資源管理システムおよび分散型資源管理方法並びにプログラム
US10/804,110 US8166484B2 (en) 2003-03-31 2004-03-19 System for confirming and cancelling tentative resource reservation within the valid time indicates period during which the tentative reservation request is valid

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003093459A JP3951949B2 (ja) 2003-03-31 2003-03-31 分散型資源管理システムおよび分散型資源管理方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2004302748A JP2004302748A (ja) 2004-10-28
JP3951949B2 true JP3951949B2 (ja) 2007-08-01

Family

ID=33295827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003093459A Expired - Fee Related JP3951949B2 (ja) 2003-03-31 2003-03-31 分散型資源管理システムおよび分散型資源管理方法並びにプログラム

Country Status (2)

Country Link
US (1) US8166484B2 (ja)
JP (1) JP3951949B2 (ja)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7836447B2 (en) * 2003-07-15 2010-11-16 Intel Corporation Method of efficient performance monitoring for symmetric multi-threading systems
US7568199B2 (en) * 2003-07-28 2009-07-28 Sap Ag. System for matching resource request that freeing the reserved first resource and forwarding the request to second resource if predetermined time period expired
US7509373B2 (en) * 2003-11-24 2009-03-24 At&T Intellectual Property I, L.P. Methods for providing communications services
CA2559603A1 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US9778959B2 (en) 2004-03-13 2017-10-03 Iii Holdings 12, Llc System and method of performing a pre-reservation analysis to yield an improved fit of workload with the compute environment
CA2559593C (en) * 2004-03-13 2013-12-31 Cluster Resources, Inc. System and method of co-allocating a reservation spanning different compute resources types
US9558042B2 (en) 2004-03-13 2017-01-31 Iii Holdings 12, Llc System and method providing object messages in a compute environment
US7890629B2 (en) * 2004-03-13 2011-02-15 Adaptive Computing Enterprises, Inc. System and method of providing reservation masks within a compute environment
GB2412754B (en) * 2004-03-30 2007-07-11 Hewlett Packard Development Co Provision of resource allocation information
US7441241B2 (en) * 2004-05-20 2008-10-21 International Business Machines Corporation Grid non-deterministic job scheduling
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
JP4564806B2 (ja) * 2004-09-08 2010-10-20 キヤノン株式会社 画像形成装置及びその制御方法、画像形成システム
WO2006053093A2 (en) 2004-11-08 2006-05-18 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US20060167966A1 (en) * 2004-12-09 2006-07-27 Rajendra Kumar Grid computing system having node scheduler
US9501473B1 (en) * 2004-12-21 2016-11-22 Veritas Technologies Llc Workflow process with temporary storage resource reservation
US7472079B2 (en) * 2005-01-12 2008-12-30 International Business Machines Corporation Computer implemented method for automatically controlling selection of a grid provider for a grid job
WO2006082732A1 (ja) * 2005-02-04 2006-08-10 Nec Corporation アクセス制御装置
US20060198386A1 (en) * 2005-03-01 2006-09-07 Tong Liu System and method for distributed information handling system cluster active-active master node
WO2006094885A1 (en) * 2005-03-04 2006-09-14 Quadrat Method for processing a linked list of time segments
US7996455B2 (en) * 2005-06-17 2011-08-09 Adaptive Computing Enterprises, Inc. System and method for providing dynamic roll-back reservations in time
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
JP3967752B2 (ja) * 2005-03-25 2007-08-29 株式会社東芝 計算機ネットワーク構成制御システム及び方法
EP1872249B1 (en) * 2005-04-07 2016-12-07 Adaptive Computing Enterprises, Inc. On-demand access to compute resources
US7802257B1 (en) * 2005-06-20 2010-09-21 Oracle America, Inc. Mechanism for bridging a thread-oriented computing paradigm and a job-oriented computing paradigm
JP4629587B2 (ja) 2006-01-18 2011-02-09 富士通株式会社 予約管理プログラム
KR101349805B1 (ko) 2006-01-25 2014-01-10 엘지전자 주식회사 트랩 메커니즘을 이용한 장치관리 스케줄링 방법 및 그단말
US7716336B2 (en) * 2006-04-28 2010-05-11 International Business Machines Corporation Resource reservation for massively parallel processing systems
US20070256078A1 (en) * 2006-04-28 2007-11-01 Falk Nathan B Resource reservation system, method and program product used in distributed cluster environments
US20080052397A1 (en) 2006-08-24 2008-02-28 Ramanathan Venkataraman Future locking of resources
US7706773B2 (en) * 2006-09-14 2010-04-27 Alcatel-Lucent Usa Inc. System and method for managing communication services provided to a mobile terminal using a temporary wireless directory number
US7689786B1 (en) * 2006-09-29 2010-03-30 Emc Corporation Techniques for overriding device reservations
US20080155618A1 (en) * 2006-12-20 2008-06-26 Steven Grady System and method for managing multiple content sources
US20080184248A1 (en) * 2007-01-29 2008-07-31 Yahoo! Inc. Optimization of job scheduling for resource clusters with access control and usage reporting
WO2008141356A1 (en) 2007-05-21 2008-11-27 Honeywell International Inc. Systems and methods for scheduling the operation of building resources
US7590464B2 (en) * 2007-05-29 2009-09-15 Palo Alto Research Center Incorporated System and method for on-line planning utilizing multiple planning queues
US8069251B2 (en) 2007-06-01 2011-11-29 Adobe Systems Incorporated System and/or method for client-driven server load distribution
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US20090100435A1 (en) * 2007-10-11 2009-04-16 Microsoft Corporation Hierarchical reservation resource scheduling infrastructure
US20090125368A1 (en) * 2007-10-16 2009-05-14 Vujicic Jovo John System and Method for Scheduling Work Orders
DE102008004658B4 (de) * 2008-01-16 2010-03-25 Siemens Aktiengesellschaft Verfahren zur zentralen Steuerung von Prozessen in erweiterbaren medizinischen Plattformen
GB2463078B (en) * 2008-09-02 2013-04-17 Extas Global Ltd Distributed storage
GB2467989B (en) * 2009-07-17 2010-12-22 Extas Global Ltd Distributed storage
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9298509B2 (en) * 2010-10-05 2016-03-29 Empire Technology Development Llc Resource reservation from two or more resources effective to process a reservation request
US8453152B2 (en) 2011-02-01 2013-05-28 International Business Machines Corporation Workflow control of reservations and regular jobs using a flexible job scheduler
US9628402B2 (en) * 2011-09-22 2017-04-18 International Business Machines Corporation Provisioning of resources
TWI454949B (zh) * 2011-12-26 2014-10-01 Ind Tech Res Inst 分散式資源管理系統及其分散式資源管理方法
JP5880316B2 (ja) * 2012-07-02 2016-03-09 富士通株式会社 プログラム、プロセス実行方法およびプロセス実行コンピュータ
US9044543B2 (en) 2012-07-17 2015-06-02 Elwha Llc Unmanned device utilization methods and systems
US9713675B2 (en) 2012-07-17 2017-07-25 Elwha Llc Unmanned device interaction methods and systems
US9058219B2 (en) * 2012-11-02 2015-06-16 Amazon Technologies, Inc. Custom resources in a resource stack
WO2014079510A1 (en) * 2012-11-23 2014-05-30 Contex A/S Method of securely delivering an electronic reproduction from a scanner
GB2512051A (en) * 2013-03-18 2014-09-24 Ibm Robust service deployment
US9442971B2 (en) * 2013-04-17 2016-09-13 International Business Machines Corporation Weighted transaction priority based dynamically upon phase of transaction completion
JP6303584B2 (ja) * 2014-02-21 2018-04-04 日本電気株式会社 データ処理装置、計算機システム、データ処理方法およびデータ処理プログラム
US9552229B2 (en) 2015-05-14 2017-01-24 Atlassian Pty Ltd Systems and methods for task scheduling
JP6641813B2 (ja) * 2015-09-11 2020-02-05 富士通株式会社 制御装置、情報処理システム、及び制御プログラム
JP6904064B2 (ja) 2017-05-29 2021-07-14 富士通株式会社 タスク配備プログラム、タスク配備方法、およびタスク配備装置
US10719265B1 (en) 2017-12-08 2020-07-21 Pure Storage, Inc. Centralized, quorum-aware handling of device reservation requests in a storage system
US10713090B2 (en) * 2018-05-17 2020-07-14 American Express Travel Related Services Company, Inc. Context aware prioritization in a distributed environment using tiered queue allocation
US20220245443A1 (en) 2020-07-17 2022-08-04 Pacaso Inc. Utilizing a learning engine in predicting physical resource utilization
US11803924B2 (en) 2022-01-27 2023-10-31 Pacaso Inc. Secure system utilizing a learning engine

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826082A (en) * 1996-07-01 1998-10-20 Sun Microsystems, Inc. Method for reserving resources
JPH1078938A (ja) 1996-09-03 1998-03-24 Mitsubishi Electric Corp 動的負荷分散方法並びにその情報処理装置
JP2000259537A (ja) 1999-03-10 2000-09-22 Ntt Data Corp 接続管理システム、方法及び記録媒体
JP2003500961A (ja) 1999-05-24 2003-01-07 ソニー エレクトロニクス インク 繰り返し時間シーケンスデータを用いてネットワークにおける共有リソースを予約するためのアーキテクチャ、システム及び方法
JP4507400B2 (ja) 2000-12-13 2010-07-21 沖電気工業株式会社 ネットワークリソース予約方法及びノード装置
US7065586B2 (en) * 2000-12-22 2006-06-20 Radiance Technologies, Inc. System and method for scheduling and executing data transfers over a network

Also Published As

Publication number Publication date
US20040215780A1 (en) 2004-10-28
US8166484B2 (en) 2012-04-24
JP2004302748A (ja) 2004-10-28

Similar Documents

Publication Publication Date Title
JP3951949B2 (ja) 分散型資源管理システムおよび分散型資源管理方法並びにプログラム
US20220300334A1 (en) System and Method for a Self-Optimizing Reservation in Time of Compute Resources
US8185908B2 (en) Dynamic scheduling in a distributed environment
US7810098B2 (en) Allocating resources across multiple nodes in a hierarchical data processing system according to a decentralized policy
US7861246B2 (en) Job-centric scheduling in a grid environment
JP3922070B2 (ja) 分散制御方法及び装置
US5812844A (en) Method and system for scheduling the execution of threads using optional time-specific scheduling constraints
US7316017B1 (en) System and method for allocatiing communications to processors and rescheduling processes in a multiprocessor system
US7559062B2 (en) Intelligent scheduler for multi-level exhaustive scheduling
CN107018091B (zh) 资源请求的调度方法和装置
US20090165003A1 (en) System and method for allocating communications to processors and rescheduling processes in a multiprocessor system
US20140237477A1 (en) Simultaneous scheduling of processes and offloading computation on many-core coprocessors
CN113918270A (zh) 基于Kubernetes的云资源调度方法及系统
JP2007529079A (ja) 自己調節スレッド化モデルによるアプリケーションサーバのためのシステム及び方法
Cao et al. Queue scheduling and advance reservations with COSY
JP2002073576A (ja) バッチジョブ制御システム
US20070256078A1 (en) Resource reservation system, method and program product used in distributed cluster environments
JP2022025055A (ja) リソースベースのコマンドのスケジューリングに対するシステム及び方法
CN113282395A (zh) 基于Redis的作业请求调度方法、装置、设备及介质
US20140366162A1 (en) Starvationless Kernel-Aware Distributed Scheduling of Software Licenses
US20150067689A1 (en) Method, system, and program for scheduling jobs in a computing system
JP2001022601A (ja) ジョブ実行制御方法及び並列計算機システム
JP2988472B1 (ja) 生産システム
JP4758388B2 (ja) リソース予約制御方法及び装置及びプログラム
JP5003673B2 (ja) マルチプロセッシング方法及びマルチプロセッサシステム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061211

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070416

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140511

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees