JP5022030B2 - コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム - Google Patents

コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム Download PDF

Info

Publication number
JP5022030B2
JP5022030B2 JP2006511202A JP2006511202A JP5022030B2 JP 5022030 B2 JP5022030 B2 JP 5022030B2 JP 2006511202 A JP2006511202 A JP 2006511202A JP 2006511202 A JP2006511202 A JP 2006511202A JP 5022030 B2 JP5022030 B2 JP 5022030B2
Authority
JP
Japan
Prior art keywords
job
computer
process server
request
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006511202A
Other languages
English (en)
Other versions
JPWO2005091137A1 (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 JP2006511202A priority Critical patent/JP5022030B2/ja
Publication of JPWO2005091137A1 publication Critical patent/JPWO2005091137A1/ja
Application granted granted Critical
Publication of JP5022030B2 publication Critical patent/JP5022030B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、グリッドコンピューティングに関し、特にコンピュータに対してジョブの割り当てを行うスケジューリングの方法およびこれを実現するシステム構成に関する。
近年、ネットワークで接続されたヘテロジーニアス(異機種混在)な情報システムを統合して利用する、グリッドコンピューティングと呼ばれるシステムが注目されている。このシステムでは、ネットワーク上の複数のコンピュータにおけるCPUパワーやデータストレージなどのコンピュータ資源が共有され、仮想的な1つの高性能コンピュータとして利用される。複数のコンピュータに並列処理を行わせることで、1台1台の性能は低くとも高速に大量の処理を実行することが可能となる。
グリッドコンピューティングでは、システムに与えられたジョブ(プログラムの処理単位)の実行順序を、ジョブの特性や優先順位に応じて決定するスケジューリングが非常に重要である。異機種混在環境を前提としたグリッド環境では、性能の異なる複数のコンピュータに対してジョブを割り当てる必要がある他、割り当てるジョブの大きさも様々であり、また、ローカルユーザだけでなく、遠隔地にいるユーザからもジョブを与えられることから、様々なジョブの実行スケジュールを適切に設定する必要があるためである。
グリッドコンピューティングにおけるジョブのスケジューリングの方式には、大きく分けてプッシュ(Push)タイプとプル(Pull)タイプとがある。
プッシュタイプ(例えば、非特許文献1参照)のスケジューリング方式では、スケジューラにジョブの投入があった場合に、スケジューラが、そのジョブを処理すべきコンピュータを割り当て、そのコンピュータに対してジョブの実行をリクエストする。この場合にスケジューラは、各コンピュータの利用状況をモニタリングし、ジョブの負荷情報等に応じて最適なコンピュータとジョブの割り当てを行う。
このプッシュタイプのスケジューリング方式は、主にクラスタグリッドと呼ばれる、数百台程度のサーバ(コンピュータ)で構成され、それらを同一サイト内に配置するタイプのグリッドシステムに多く用いられる。またプッシュタイプのスケジューリング方式は、最適なコンピュータに対してSpecificにジョブを割り当てることができ、最適なスケジューリングが可能である。特に、各コンピュータの挙動にばらつきがあり、かつユーザがコンピュータを使用した場合にジョブがキャンセルされる環境では、そのような動作環境を加味した上で、最適なスケジューリングにより非常に効率の良い運用が期待できる。
一方、プルタイプ(例えば、非特許文献2参照)のスケジューリング方式では、各コンピュータがジョブを実行可能な状態になったときにスケジューラに対してポーリング(Polling)という形でジョブのリクエストを行う。そして、このリクエストが行われた際に
、実行すべきジョブがあれば、スケジューラはそのコンピュータに対してジョブを割り当て、コンピュータが割り当てられたジョブを実行する。実行すべきジョブが無い場合は、コンピュータは、一定時間の経過後に再度ポーリングを行う。
このプルタイプのスケジューリング方式は、非常に簡単な構成でに実装することができるため、数千台規模のグリッドシステムで多く使われる。特に、インターネット上に構築されるグリッドの場合には、ネットワークの制限のために、このプルタイプのスケジューリング方式が用いられる。またプルタイプのスケジューリング方式は、コンピュータの管理情報が簡単で、多数のコンピュータに対して適用しやすい。そして、ポーリングによる自己最適化(余裕のあるコンピュータほど頻繁にポーリングを行う)により、ある程度の効率化は図れる。
Chris Smith, "Open Source Metascheduling for Virtual Organizations with the Community Scheduler Framework (CSF)", Technical Whitepaper, Platform Computing Inc. 2003年8月. Eric Korpela, Dan Werthimer, David Anderson, Jeff Cobb, Matt Lebofsky, "Massively Distributed Computing for SETI", Computing in Science & Engineering, Vol: 3, Issue: 1, Jan.-Feb. 2001, Pages: 78-83.
上述したように、グリッドコンピューティングにおける従来のスケジューリング方式は、プッシュタイプの場合、最適なジョブの割り当てを行うことができる。
しかし、最適なスケジューリングを行うために各コンピュータの使用状況を管理することが必要である。このため、スケジューラの動作が複雑になり、システム構成の変更(ジョブを実行するコンピュータの増減等)に容易に対応することができない。
また、スケジューラから各コンピュータにアクセスしてジョブの実行をリクエストする形態であるため、ファイアウォールの内側にあるコンピュータなどに対しては適用できない。
一方、プルタイプならば、上述したように、スケジューラが必要とするコンピュータの管理情報が簡単であるため、システム構成の変更にも容易に対応でき、またコンピュータからのポーリングによってネットワーク上でのアクセスが行われるため、ファイアウォールの内部にあるコンピュータに対してもジョブを割り当てることが可能である。
しかし、ポーリングによる自己最適化はあるものの、プルタイプのスケジューリング方式では、実行すべきジョブがあっても、コンピュータからのポーリングを待ってジョブの実行をリクエストするため、時間的なロスが発生してしまう。
また、ポーリングが行われた場合には、実行すべき複数のジョブのうち、そのポーリングを行ったコンピュータにとって最適なジョブを割り当てるが、そのジョブの種類によっては、より相応しい他のコンピュータがある可能性もあり、必ずしもシステム全体から見て最も効率の高い最適なスケジューリングができるわけではない。
そこで本発明は、グリッドコンピューティングにおいて、コンピュータの種類や使用状況およびジョブの種類の両面から最適なスケジューリングを実現すると共に、システム構成の変更に対して容易に対応が可能なシステムおよびそのジョブ実行制御方法を提供することを目的とする。
また本発明は、ファイアウォール等によるアクセス制限のあるコンピュータを含むグリッドにおいても、プッシュタイプのスケジューリング方式と同等の最適なジョブの割り当てを可能とすることを他の目的とする。
また本発明は、プッシュタイプとプルタイプとを組み合わせたスケジューリング方式およびこれを用いたシステムを提供することをさらに他の目的とする。
上記の目的を達成するため、本発明は、ネットワークを介して接続された複数のコンピュータによりグリッドコンピューティングを実現する、次のように構成されたコンピュータシステムとして実現される。すなわち、このコンピュータシステムは、ネットワーク上のコンピュータに対してジョブの実行要求を行うコンピュータであるセンターサーバと、センターサーバからの要求に応じてジョブを実行するコンピュータであるプロセスサーバとを備えて構成される。そして、このセンターサーバは、プロセスサーバに対して実行すべきジョブを割り当て、ジョブ実行リクエストを発行するスケジューラ部と、プロセスサーバの情報を管理すると共に、スケジューラ部により発行されたリクエストを受け付けて、このリクエストにかかるジョブを割り当てられたプロセスサーバの状況に応じて、このリクエストをプロセスサーバに送信するエージェント部とを備える。
ここで、より詳細には、エージェント部は、複数のプロセスサーバに対して1対1で対応させて設けられる。
また好ましくは、エージェント部は、対応するプロセスサーバの能力および動作状況に関する情報をプロセスサーバから取得して管理する。そして、スケジューラ部は、エージェント部に管理されている情報に基づいて、プロセスサーバに対するジョブの割り当てを行う。
また、エージェント部は、プロセスサーバとのアクセスタイプに基づき、プロセスサーバからのポーリングによるアクセスに応じてスケジューラ部から受け付けたリクエストを送信したり、自身が管理するタイミングで前記スケジューラ部から受け付けたリクエストを送信したりする。
より具体的には、ファイアウォールを介してセンターサーバに接続されるプロセスサーバが存在する場合に、センターサーバからファイアウォールを越えてプロセスサーバにアクセスすることができないので、プロセスサーバからのポーリングによるアクセスを待ってリクエストを送信する。
また、上記の目的を達成する他の本発明は、コンピュータによりグリッドコンピューティングシステムにおけるジョブのスケジューリングおよび当該ジョブの実行要求を行う、次のようなジョブ実行制御方法としても実現される。すなわち、このジョブ実行制御方法は、記憶装置に格納されたシステムを構成しジョブを実行するプロセスサーバの能力に基づき、このプロセスサーバの動作状況に関わらずにジョブの割り当てを行うステップと、ジョブの割り当てられたプロセスサーバに対するジョブ実行リクエストを発行するステップと、発行されたジョブ実行リクエストを一時的に保持し、ジョブの割り当てられたプロセスサーバの動作状況に応じて、このプロセスサーバに送信するステップとを含むことを特徴とする。
さらに本発明は、コンピュータを制御して上述したセンターサーバの機能を実現させるプログラム、あるいはコンピュータに上記のジョブ実行制御方法の各ステップに対応する処理を実行させるプログラムとしても実現される。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供される。
以上のように構成された本発明によれば、グリッドコンピューティングにおいて、スケジューラとプロセスサーバとの間の通信を中継するエージェント部をセンターサーバに設け、プロセスサーバのアクセスタイプの違いをエージェント部の制御によって吸収することにより、プロセスサーバのアクセスタイプの違いによらずに、コンピュータの種類や使用状況およびジョブの種類の両面から最適なスケジューリングを行うことができる。そしてプロセスサーバごとにエージェント部を設けることにより、プロセスサーバを増減してシステム構成を変更することが容易にできる。
また、本発明によれば、プロセスサーバのアクセスタイプの違いをエージェント部の制御によって吸収することにより、従来はプッシュタイプのスケジューリングを行っていたジョブの実行要求を直接受け付けられるプロセスサーバと、従来はプルタイプのスケジューリングを行っていたポーリングを行った後にジョブの実行要求を受け付けるプロセスサーバとをシステム内に混在させ、かつプッシュタイプのスケジューリング方式と同等の最適なジョブの割り当てを行うことができる。
本実施形態によるグリッドコンピューティングシステムの全体構成を示す図である。 本実施形態によるグリッドコンピューティングシステムにおけるセンターサーバおよびプロセスサーバを実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。 本実施形態におけるセンターサーバの機能構成を示す図である。 本実施形態におけるポーリングを行うプロセスサーバの機能構成とPSエージェント部との関係を示す図である。 本実施形態におけるポーリングを行わないプロセスサーバの機能構成とPSエージェント部との関係を示す図である。 本実施形態における各PSエージェント部によるジョブの実行要求時の動作を説明するフローチャートである。
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、実施形態)について詳細に説明する。
図1は、本実施形態によるグリッドコンピューティングシステムの全体構成を示す図である。
図1に示すように、本実施形態のシステムは、ジョブの割り当てを行うセンターサーバ(CS)100による割り当てにしたがって実際にジョブを実行するプロセスサーバ(PS)200とを備える。センターサーバ100とプロセスサーバ200とは、インターネットその他のコンピュータネットワークにて接続されている。このコンピュータネットワークは、通信プロトコルや、有線か、無線かといった通信形式を問わず、またファイアウォールやその他のアクセス制限を設けたものであっても良い。
図2は、本実施形態によるグリッドコンピューティングシステムにおけるセンターサーバ100およびプロセスサーバ200を実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
図2に示すコンピュータ装置は、演算手段であるCPU(Central Processing Unit:
中央処理装置)11と、M/B(マザーボード)チップセット12およびCPUバスを介してCPU11に接続されたメインメモリ13と、同じくM/Bチップセット12およびAGP(Accelerated Graphics Port)を介してCPU11に接続されたビデオカード1
4と、PCI(Peripheral Component Interconnect)バスを介してM/Bチップセット
12に接続された磁気ディスク装置(HDD)15、ネットワークインターフェイス16と、さらにこのPCIバスからブリッジ回路17およびISA(Industry Standard Architecture)バスなどの低速なバスを介してM/Bチップセット12に接続されたフレキシブルディスクドライブ18およびキーボード/マウス19とを備える。
なお、図2は本実施形態を実現するコンピュータ装置のハードウェア構成を例示するに過ぎず、本実施形態を適用可能であれば、他の種々の構成を取ることができる。例えば、ビデオカード14を設ける代わりに、ビデオメモリのみを搭載し、CPU11にてイメージデータを処理する構成としても良いし、外部記憶装置として、ATA(AT Attachment
)やSCSI(Small Computer System Interface)などのインターフェイスを介してC
D−R(Compact Disc Recordable)やDVD−RAM(Digital Versatile Disc Random Access Memory)のドライブを設けても良い。
図3は、センターサーバ100の機能構成を示す図である。
センターサーバ100は、各プロセスサーバ200に対するジョブの割り当て(スケジューリング)を行うスケジューラ部110と、プロセスサーバ200の管理を行うと共にプロセスサーバ200に対するリクエストおよびレスポンスの送受信を中継するPSエージェント部120とを備える。PSエージェント部120は、グリッドコンピューティングシステムを構成するプロセスサーバ200ごとに設けられている。そして、スケジューラ部110は、このPSエージェント部120を介して各プロセスサーバ200にアクセスする。
スケジューラ部110は、例えば図2に示したプログラム制御されたCPU11とメインメモリ13や磁気ディスク装置15等の記憶手段とで実現され、その具体的な機能として図3に示すように、PS能力検査部111と、最適PS選択部112と、ジョブ依頼部113とを備える。
PS能力検査部111は、プロセスサーバ200の能力を各プロセスサーバ200に対応するPSエージェント部120に問合せ、情報を取得する。
最適PS選択部112は、PS能力検査部111により取得されたプロセスサーバ200の能力の情報に基づき、ジョブに応じて最適なプロセスサーバ200を選択し、割り当てを行う。このジョブの割り当てにおける最適化のロジックは任意で良い。
ジョブ依頼部113は、最適PS選択部112において選択されたプロセスサーバ200のPSエージェント部120に対してジョブ実行を要求するリクエストを発行する。
本実施形態では、PSエージェント部120がスケジューラ部110とプロセスサーバ200との間の通信を中継し、スケジューラ部110によるジョブの実行要求をプロセスサーバ200に代わって受け付ける。そのため、PS能力検査部111の問い合わせ先やジョブ依頼部113のリクエストの発行先がPSエージェント部120となっているが、上述したように、スケジューラ部110の機能自体は、既存のプッシュタイプのスケジューラと変わらない。したがって、スケジューラ部110には、既存のグリッドコンピューティングシステムで利用されているスケジューラを用いることができる。
PSエージェント部120は、例えば図2に示したプログラム制御されたCPU11とメインメモリ13や磁気ディスク装置15等の記憶手段とで実現され、その具体的な機能として図3に示すように、PS状況管理部121と、PS能力管理部122と、ジョブ受け付け部123と、ジョブ依頼部124と、ポーリング待ち受け部125とを備える。
PS状況管理部121は、対応するプロセスサーバ200とアクセスして、プロセスサーバ200の現在の動作状況を把握する。
PS能力管理部122は、プロセスサーバ200のジョブ実行能力に関する統計情報等を管理し、スケジューラ部110のPS能力検査部111からの問い合わせに応じて、管理している情報を返す。ここで、ジョブ実行能力に関する統計情報等とは、単にCPU自身の処理能力や記憶装置の記憶容量の静的な情報だけでなく、CPUに対する負荷の時間変動や動作傾向といった動的な内容を統計的に処理して得られた情報を含む。
PS状況管理部121およびPS能力管理部122に管理される情報は、PSエージェント部120が対応しているプロセスサーバ200から取得され、図2のメインメモリ13や磁気ディスク装置15等の記憶手段に格納される。
ジョブ受け付け部123は、スケジューラ部110のジョブ依頼部113から発行されたジョブ実行リクエストを受け付ける。
ジョブ依頼部124は、ジョブ受け付け部123により受け付けられたジョブ実行リクエストを対応するプロセスサーバ200に送信する。
ポーリング待ち受け部125は、プロセスサーバ200からのポーリングによる、ジョブの実行が可能であるという通知を受付ける。
詳しくは後述するが、本実施形態では、プッシュタイプのスケジューラを用いながら、プロセスサーバ200からのポーリングによるアクセスを受け付けてジョブ実行リクエストを送信することができる。PSエージェント部120のポーリング待ち受け部125は、このポーリングの受け付けのために用いられるものであり、ポーリングを行わずにセンターサーバ100における所望のタイミングで送信されたジョブ実行リクエストを受け付けられるプロセスサーバ200のPSエージェント部120に対しては、必要な構成要素ではない。
次に、プロセスサーバ200の機能構成と、対応するPSエージェント部120との関係について説明する。
上述したように、本実施形態において想定されるプロセスサーバ200は、ポーリングを行わないものと行うものとがある。
図4は、ポーリングを行うプロセスサーバ200の機能構成とPSエージェント部120との関係を示す図である。
プロセスサーバ200は、図2に示したようなコンピュータ装置をグリッドコンピューティングシステムにおけるプロセスサーバ200として機能させるためのPS組み込み部210を備えている。
PS組み込み部210は、例えば図2に示したプログラム制御されたCPU11とメインメモリ13や磁気ディスク装置15等の記憶手段とで実現され、その具体的な機能として図4に示すように、PS状況監視部211と、PS状況通知部212と、ジョブ受け付け部213と、ジョブ実行部214と、ポーリング実行部215とを備える。
PS状況監視部211は、自装置(プロセスサーバ200)の現在の使用状況や資源の状況を監視し、情報を収集する。
PS状況通知部212は、PS状況監視部211において収集されたPSの使用状況や資源の状況に関する情報を、センターサーバ100のPSエージェント部120に通知する。PSエージェント部120では、PS状況管理部121およびPS能力管理部122がこの通知を受け付け、メインメモリ13や磁気ディスク装置15等の記憶装置に格納して管理する。PS状況通知部212からセンターサーバ100への通知は、定期的に行っても良いし、プロセスサーバ200の動作状況が変更された際に行うようにしても良い。また、センターサーバ100の対応するPSエージェント部120から任意のタイミングでプロセスサーバ200へ問い合わせても良い。
ジョブ受け付け部213は、センターサーバ100のPSエージェント部120のジョブ依頼部124から送信されたジョブ実行リクエストを受け付ける。
ジョブ実行部214は、ジョブ受け付け部213により受け付けられたジョブを、プロセスサーバ200の資源を用いて実行する。
ポーリング実行部215は、PS状況監視部211の監視等に基づき、プロセスサーバ200がジョブを実行可能な状況である場合に、その旨を示す通知をセンターサーバ100のPSエージェント部120に対して行う。PSエージェント部120では、ポーリング待ち受け部125がポーリング実行部215からの通知を受け付けて、ジョブ依頼部124にジョブ実行リクエストの送信を行わせる。
なお、ポーリング実行部215は、プロセスサーバ200がポーリングを行わずにセンターサーバ100から送信されたジョブ実行リクエストを受け付けられる場合、すなわちファイアウォールの内側にある等のアクセス制限がない場合は、設ける必要はない。
図5は、ポーリングを行わないプロセスサーバ200の機能構成とPSエージェント部120との関係を示す図である。
次に、上記のように構成された本実施形態のグリッドコンピューティングシステムの動作について説明する。
上述したように、センターサーバ100のスケジューラ部110は、既存のプッシュタイプのスケジューラと同様であるので、実行すべきジョブが発生すると、センターサーバ100の管理下にある全てのプロセスサーバ200を対象として、当該ジョブの割り当てを行う。このとき、PSエージェント部120からプロセスサーバ200の能力や動作傾向等の統計情報等を取得し、これらの情報およびジョブの種類や特性に基づいて最適なスケジューリングを行う。そして、ジョブが割り当てられたプロセスサーバ200の動作状況に関わらずにジョブ実行リクエストを発行し、そのプロセスサーバ200に対応するPSエージェント部120に送信してジョブの実行要求を行う。
PSエージェント部120の動作は、プロセスサーバ200のアクセスタイプが、センターサーバ100からのジョブの実行要求を直接受け付けられるタイプか、ファイアウォールの内側等にありポーリングを行った後にジョブの実行要求を受け付けるタイプかによって、動作が異なる。
図6は、各PSエージェント部120によるジョブの実行要求時の動作を説明するフローチャートである。
図6に示すように、PSエージェント部120は、ジョブ受け付け部123によりスケジューラ部110からジョブ実行リクエストを受け付け(ステップ601)、当該PSエージェント部120に対応するプロセスサーバ200がジョブの実行要求を直接受け付けられるタイプならば、そのジョブ実行リクエストを直ちにプロセスサーバ200へ送信する(ステップ602、604)。
一方、当該PSエージェント部120に対応するプロセスサーバ200がポーリングを行った後にジョブの実行要求を受け付けるタイプならば、PSエージェント部120は、プロセスサーバ200によるポーリングが行われるまで待機し(ステップ602、603)、ポーリングが行われた後にスケジューラ部110から受け付けたジョブ実行リクエストをプロセスサーバ200へ送信する(ステップ604)。なお、PSエージェント部120は、プロセスサーバ200によるポーリングが行われた際に送信すべきジョブ実行リクエストを持っていない場合は、何ら処理を行わず、ジョブの受け付けおよび次のポーリングのタイミングを待ち受ける。
プロセスサーバ200は、センターサーバ100からのジョブの実行要求を直接受け付けられるタイプである場合、センターサーバ100のPSエージェント部120からジョブ実行リクエストを受け付けると、そのリクエストに応じてジョブを実行し、実行結果をセンターサーバ100のPSエージェント部120に返す。
一方、プロセスサーバ200がポーリングを行った後にジョブの実行要求を受け付けるタイプである場合、そのプロセスサーバ200は、ジョブの実行が可能な動作状況となった時点でポーリングを行い、ジョブ実行リクエストが送られるのを待つ。そして、センターサーバ100における対応するPSエージェント部120から送信されたジョブ実行リクエストを受け付けたならば、そのリクエストに応じてジョブを実行し、実行結果をセンターサーバ100のPSエージェント部120に返す。ジョブ実行リクエストを受信しなかった場合は、一定時間経過後に再度ポーリングを繰り返す。
以上のプロセスサーバ200の動作は、従来のグリッドコンピューティングシステムにおけるプロセスサーバの動作と同様である。ただし、上述したように本実施形態では、センターサーバ100において各プロセスサーバ200に対応するPSエージェント部120が、プロセスサーバ200のアクセスタイプに応じて、自身が管理するタイミングでジョブの実行要求を行うか、またはプロセスサーバ200からのポーリングによるアクセスを待ってジョブの実行要求を行うかを制御できる。すなわち、プロセスサーバ200のアクセスタイプの違いをPSエージェント部120の制御によって吸収できるため、本実施形態によるシステムは、センターサーバ100からのジョブの実行要求を直接受け付けられるプロセスサーバ200と、ファイアウォールの内側等にありポーリングを行った後にジョブの実行要求を受け付けるプロセスサーバ200とを混在させることができる。
また、本実施形態は、上記のようにポーリングを行った後にジョブの実行要求を受け付けるプロセスサーバ200を含む構成とすることができる。そして、この場合でも、スケジューラ部110は、PSエージェント部120を介してプロセスサーバ200に対するジョブの実行要求を行うので、プロセスサーバ200の動作状況の影響を受けずに、プロセスサーバ200の能力とジョブの種類や特性とに基づく最適なスケジューリングを行うことができる。
さらに本実施形態は、上述したように、プロセスサーバ200ごとに1対1で対応するPSエージェント部120をセンターサーバ100に設け、このPSエージェント部120に、対応するプロセスサーバ200に関する情報の管理およびリクエストやレスポンスの送受信の制御を行わせる。また、スケジューラ部110は、PSエージェント部120が管理するプロセスサーバ200の情報に基づいて、プロセスサーバ200に対するジョブの割り当てを行う。このため、プロセスサーバ200を増減してシステム構成を変更する場合にも、対応するPSエージェント部120を追加または削除することによって、容易に対応することができる。

Claims (8)

  1. ネットワークを介して接続された複数のコンピュータによりグリッドコンピューティングを実現するコンピュータシステムにおいて、
    ネットワーク上のコンピュータに対してジョブの実行要求を行うセンターサーバと、
    前記センターサーバからの要求に応じてジョブを実行するプロセスサーバとを備え、
    前記センターサーバは、
    前記プロセスサーバに対して実行すべきジョブを割り当て、ジョブ実行リクエストを発行するスケジューラ部と、
    前記プロセスサーバの情報を管理すると共に、前記スケジューラ部により発行された前記リクエストを受け付けて、当該リクエストにかかるジョブを割り当てられたプロセスサーバの状況に応じて当該リクエストを当該プロセスサーバに送信するエージェント部とを備え、
    前記エージェント部は、複数の前記プロセスサーバに対して1対1で対応させて設けられ、
    少なくとも一部の前記エージェント部は、対応する少なくとも一部の前記プロセスサーバに対して、当該プロセスサーバからのポーリングによるアクセスに応じて前記スケジューラ部から受け付けた前記リクエストを送信し、少なくとも他の一部の前記エージェント部は、対応する少なくとも他の一部の前記プロセスサーバに対して、自身が管理するタイミングで前記スケジューラ部から受け付けた前記リクエストを送信することを特徴とするコンピュータシステム。
  2. 前記エージェント部は、対応する前記プロセスサーバの能力および動作状況に関する情報を当該プロセスサーバから取得して管理し、
    前記スケジューラ部は、前記エージェント部に管理されている前記情報に基づいて、前記プロセスサーバに対する前記ジョブの割り当てを行うことを特徴とする請求項に記載のコンピュータシステム。
  3. 少なくとも一部の前記プロセスサーバは、ファイアウォールを介して前記センターサーバに接続されており、
    前記エージェント部は、前記ファイアウォールを介して接続されている前記プロセスサーバに対して、当該プロセスサーバからのポーリングによるアクセスに応じて前記スケジューラ部から受け付けた前記リクエストを送信することを特徴とする請求項1に記載のコンピュータシステム。
  4. グリッドコンピューティングシステムにおけるジョブのスケジューリングおよび当該ジョブの実行要求を行うサーバであって、
    システムを構成するコンピュータに対して実行すべきジョブを割り当て、当該ジョブの実行要求を行うスケジューラ部と、
    前記コンピュータの情報を管理すると共に、前記スケジューラ部による前記ジョブの実行要求を当該ジョブの割り当てられた当該コンピュータに代わって受け付け、当該コンピュータの状況に応じて当該ジョブの実行要求を当該コンピュータに対して行うエージェント部とを備え、
    前記エージェント部は、システムを構成する前記コンピュータごとに設けられ、各々が対応するコンピュータとの間で設定された個別の通信形式で前記ジョブの実行要求を行い、
    少なくとも一部の前記エージェント部は、システムを構成する対応する前記コンピュータからのポーリングによるアクセスに応じて当該コンピュータに対する前記ジョブの実行要求を行い、少なくとも他の一部の前記エージェント部は、自身が管理するタイミングで対応する前記コンピュータに対する前記ジョブの実行要求を行うことを特徴とするサーバ。
  5. グリッドコンピューティングシステムにおけるジョブのスケジューリングおよび当該ジョブの実行要求を行うサーバにおいて、
    システムを構成するコンピュータの能力および動作状況に関する情報を管理すると共に、当該コンピュータとの間で行われる通信を中継して、当該コンピュータの動作状況に応じて送受信を行うエージェント部と、
    前記エージェント部に管理されている前記情報に基づいて前記コンピュータに実行させるジョブの割り当てを行い、ジョブを割り当てられたコンピュータに対する当該ジョブの実行要求を、当該エージェント部を介して行うスケジューラ部とを備え、
    前記スケジューラ部は、前記エージェント部に格納されている前記コンピュータの能力に関する情報に基づいて前記ジョブの割り当てを行い、かつ当該ジョブの割り当てられたコンピュータの動作状況に関わらず、当該ジョブの実行要求を行い、
    前記エージェント部は、システムを構成する前記コンピュータごとに設けられ、
    少なくとも一部の前記エージェント部は、対応する少なくとも一部の前記コンピュータに対して、当該コンピュータからのポーリングによるアクセスに応じて前記スケジューラ部によるジョブの実行要求を送信し、少なくとも他の一部の前記エージェント部は、対応する少なくとも他の一部の前記コンピュータに対して、自身が管理するタイミングで前記スケジューラ部によるジョブの実行要求を送信し、
    前記スケジューラ部は、ジョブを割り当てられた前記コンピュータに対応する前記エージェント部を介して当該ジョブの実行要求を行うことを特徴とするサーバ。
  6. コンピュータに、
    グリッドコンピューティングシステムを構成しジョブを実行するプロセスサーバの情報を記憶手段に格納して管理する機能と、
    前記プロセスサーバの情報に基づき、当該プロセスサーバに対して実行すべきジョブを割り当て、ジョブ実行リクエストを発行する機能と、
    発行された前記リクエストを受け付けて、当該リクエストにかかるジョブを割り当てられたプロセスサーバの動作状況に応じて当該リクエストを当該プロセスサーバに送信する機能とを実現させ、
    前記リクエストを前記プロセスサーバに送信する機能は、前記グリッドコンピューティングシステムを構成する前記プロセスサーバごとに設けられ、
    前記リクエストを前記プロセスサーバに送信する機能では、前記コンピュータに、少なくとも一部の前記機能が、対応する少なくとも一部の前記プロセスサーバに対して、当該プロセスサーバからのポーリングによるアクセスに応じて前記リクエストを送信させ、少なくとも他の一部の前記機能が、対応する少なくとも他の一部の前記プロセスサーバに対して、自身が管理するタイミングで前記リクエストを送信させることを特徴とするプログラム。
  7. 前記ジョブ実行リクエストを発行する機能では、前記コンピュータに、前記プロセスサーバの動作状況に関わらず前記ジョブの割り当てを実行させることを特徴とする請求項に記載のプログラム。
  8. 前記リクエストを前記プロセスサーバに送信する機能では、前記コンピュータに、ファイアウォールを介して接続されている前記プロセスサーバに対して、当該プロセスサーバからのポーリングによるアクセスに応じて前記スケジューラ部から受け付けた前記リクエストを送信させることを特徴とする請求項に記載のプログラム。
JP2006511202A 2004-03-19 2005-03-16 コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム Active JP5022030B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006511202A JP5022030B2 (ja) 2004-03-19 2005-03-16 コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004080396 2004-03-19
JP2004080396 2004-03-19
PCT/JP2005/004653 WO2005091137A1 (ja) 2004-03-19 2005-03-16 コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム
JP2006511202A JP5022030B2 (ja) 2004-03-19 2005-03-16 コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2005091137A1 JPWO2005091137A1 (ja) 2008-02-07
JP5022030B2 true JP5022030B2 (ja) 2012-09-12

Family

ID=34993886

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006511202A Active JP5022030B2 (ja) 2004-03-19 2005-03-16 コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム

Country Status (5)

Country Link
US (1) US8239868B2 (ja)
EP (1) EP1732004A4 (ja)
JP (1) JP5022030B2 (ja)
CN (1) CN100428167C (ja)
WO (1) WO2005091137A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10377862B2 (en) 2013-06-18 2019-08-13 Dupont Teijin Films U.S. Limited Partnership Copolyesterimides derived from N,N′-bis-(hydroxyalkyl)-benzophenone-3,3′,4,4′-tetracarboxylic diimide and films made therefrom
US10450411B2 (en) 2014-06-20 2019-10-22 Dupont Teijin Films U.S. Limited Partnership Copolyesterimides comprising bis(2-hydroxyalkyl)-2,2′-(1,4-phenylene)bis(1,3-dioxoisoindoline-5-carboxylate) and articles made therefrom

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1753237B1 (en) * 2005-08-10 2010-05-12 Alcatel Lucent Scheduling for Internet Protocol Television Broadcast
EP1753204B1 (en) * 2005-08-10 2013-03-20 Alcatel Lucent System with executing nodes for executing schedules
US20070180451A1 (en) * 2005-12-30 2007-08-02 Ryan Michael J System and method for meta-scheduling
US8347295B1 (en) * 2006-03-23 2013-01-01 Emc Corporation Profile-based assignment of queued tasks
US8826280B1 (en) 2006-03-23 2014-09-02 Emc Corporation Processing raw information for performing real-time monitoring of task queues
US8539493B1 (en) 2006-03-23 2013-09-17 Emc Corporation Configurable prioritization and aging of queued tasks
JP4830659B2 (ja) 2006-06-16 2011-12-07 富士ゼロックス株式会社 液滴吐出装置
WO2007145238A1 (ja) * 2006-06-16 2007-12-21 Nec Corporation 情報処理システムおよび負荷分散方法
US8566235B2 (en) * 2008-12-23 2013-10-22 Verifi, Inc. System and method for providing dispute resolution for electronic payment transactions
US9167275B1 (en) 2010-03-11 2015-10-20 BoxCast, LLC Systems and methods for autonomous broadcasting
US8504526B2 (en) 2010-06-04 2013-08-06 Commvault Systems, Inc. Failover systems and methods for performing backup operations
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US8893133B2 (en) * 2010-09-01 2014-11-18 International Business Machines Corporation Dynamic test scheduling by ordering tasks for performance based on similarities between the tasks
JP5782970B2 (ja) * 2011-09-30 2015-09-24 ブラザー工業株式会社 画像形成システム,画像形成装置および加工サーバ
US9292815B2 (en) 2012-03-23 2016-03-22 Commvault Systems, Inc. Automation of data storage activities
US9405579B2 (en) * 2012-10-11 2016-08-02 International Business Machines Corporation Seamless extension of local computing power
US9483361B2 (en) 2013-05-08 2016-11-01 Commvault Systems, Inc. Information management cell with failover management capability
US10169121B2 (en) 2014-02-27 2019-01-01 Commvault Systems, Inc. Work flow management for an information management system
US9563518B2 (en) 2014-04-02 2017-02-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
WO2016022705A1 (en) * 2014-08-05 2016-02-11 AttackIQ, Inc. Cyber security posture validation platform
US10372484B2 (en) * 2016-06-27 2019-08-06 Microsoft Technology Licensing, Llc Secured computing system
US10417102B2 (en) 2016-09-30 2019-09-17 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including virtual machine distribution logic
US10599527B2 (en) 2017-03-29 2020-03-24 Commvault Systems, Inc. Information management cell health monitoring system
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
CN109656689B (zh) * 2018-12-12 2023-07-18 万兴科技股份有限公司 任务处理系统和任务处理方法
US11012508B2 (en) 2018-12-14 2021-05-18 Commvault Systems, Inc. Region-based distributed information management system
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11645175B2 (en) 2021-02-12 2023-05-09 Commvault Systems, Inc. Automatic failover of a storage manager

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06348663A (ja) * 1993-06-14 1994-12-22 Fuji Xerox Co Ltd ネットワーク
JPH1115799A (ja) * 1997-06-26 1999-01-22 Hitachi Ltd 並列処理システム
JP2003006175A (ja) * 2001-06-26 2003-01-10 Hitachi Ltd プロセス実行時のプログラム動作特性に基づくプロセススケジューリング方法及びこれを用いたプログラム及びデータ処理装置
JP2003507817A (ja) * 1999-08-23 2003-02-25 テラスプリング・インコーポレーテッド 拡張可能なコンピューティング・システム
JP2004046810A (ja) * 2002-05-15 2004-02-12 Sony Internatl Europ Gmbh クライアント/サーバ環境におけるアプリケーションステップのディスパッチ方法及びサービスポータルシステム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN86107645A (zh) * 1986-11-11 1988-05-25 美国电话电报公司 计算机网络中传送资源信息的方法
US6098091A (en) * 1996-12-30 2000-08-01 Intel Corporation Method and system including a central computer that assigns tasks to idle workstations using availability schedules and computational capabilities
EP0886411A3 (en) * 1997-04-15 2004-01-21 Hewlett-Packard Company, A Delaware Corporation Method and apparatus for device interaction by protocol
JP2000047890A (ja) * 1998-07-31 2000-02-18 Hitachi Ltd 分散オブジェクト管理システムとそのオブジェクト選択方法およびその処理プログラムを記録した記録媒体
US20020019844A1 (en) * 2000-07-06 2002-02-14 Kurowski Scott J. Method and system for network-distributed computing
US20040230661A1 (en) * 2003-01-29 2004-11-18 Gus Rashid Rules based notification system
CN100351829C (zh) * 2003-06-13 2007-11-28 中国科学院计算技术研究所 网格化动态自组织计算机体系结构的构造方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06348663A (ja) * 1993-06-14 1994-12-22 Fuji Xerox Co Ltd ネットワーク
JPH1115799A (ja) * 1997-06-26 1999-01-22 Hitachi Ltd 並列処理システム
JP2003507817A (ja) * 1999-08-23 2003-02-25 テラスプリング・インコーポレーテッド 拡張可能なコンピューティング・システム
JP2003006175A (ja) * 2001-06-26 2003-01-10 Hitachi Ltd プロセス実行時のプログラム動作特性に基づくプロセススケジューリング方法及びこれを用いたプログラム及びデータ処理装置
JP2004046810A (ja) * 2002-05-15 2004-02-12 Sony Internatl Europ Gmbh クライアント/サーバ環境におけるアプリケーションステップのディスパッチ方法及びサービスポータルシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10377862B2 (en) 2013-06-18 2019-08-13 Dupont Teijin Films U.S. Limited Partnership Copolyesterimides derived from N,N′-bis-(hydroxyalkyl)-benzophenone-3,3′,4,4′-tetracarboxylic diimide and films made therefrom
US10450411B2 (en) 2014-06-20 2019-10-22 Dupont Teijin Films U.S. Limited Partnership Copolyesterimides comprising bis(2-hydroxyalkyl)-2,2′-(1,4-phenylene)bis(1,3-dioxoisoindoline-5-carboxylate) and articles made therefrom

Also Published As

Publication number Publication date
EP1732004A4 (en) 2011-09-28
US8239868B2 (en) 2012-08-07
WO2005091137A1 (ja) 2005-09-29
CN1934536A (zh) 2007-03-21
US20070283355A1 (en) 2007-12-06
EP1732004A1 (en) 2006-12-13
CN100428167C (zh) 2008-10-22
JPWO2005091137A1 (ja) 2008-02-07

Similar Documents

Publication Publication Date Title
JP5022030B2 (ja) コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム
US9075659B2 (en) Task allocation in a computer network
US7793308B2 (en) Setting operation based resource utilization thresholds for resource use by a process
JP2007041720A (ja) ジョブステップ実行プログラムおよびジョブステップ実行方法
US9424096B2 (en) Task allocation in a computer network
JP2004038758A (ja) 記憶制御装置、記憶制御装置の制御方法、及びプログラム
JP2005056391A (ja) コンピューティング環境の作業負荷を均衡させる方法およびシステム
JP2008226181A (ja) 並列実行プログラム、該プログラムを記録した記録媒体、並列実行装置および並列実行方法
US11311722B2 (en) Cross-platform workload processing
JPWO2005116832A1 (ja) 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム
US10270847B2 (en) Method for distributing heavy task loads across a multiple-computer network by sending a task-available message over the computer network to all other server computers connected to the network
JP4792358B2 (ja) 資源ノード選択方法、プログラム、資源ノード選択装置および記録媒体
JP2012059152A (ja) データ処理を行うシステムおよびメモリを割り当てる方法
US20120324095A1 (en) Image processing in a computer network
JP2007102332A (ja) 負荷分散システム及び負荷分散方法
WO2013038566A1 (ja) コンピュータシステム
US9626226B2 (en) Cross-platform workload processing
JP2010097566A (ja) 情報処理装置、及び情報処理システムにおけるバッチ処理の割り当て方法
KR100805182B1 (ko) 작업 단계 실행 프로그램을 기록한 컴퓨터 판독가능기록매체 및 작업 단계 실행 방법
JP2004102931A (ja) 自動処理汎用制御システム、制御装置、実行装置、自動処理汎用制御方法、自動処理汎用制御装置、プログラム、及び、記録媒体
US20140379792A1 (en) Information processing apparatus and recording medium
JP2022191583A (ja) 情報処理システム、情報処理装置およびプログラム
JP2005070897A (ja) ネットワークシステム、分散処理方法およびプログラム
JP2006277617A (ja) ジョブ管理装置、ジョブ管理プログラム、及びジョブ管理方法
JP5551967B2 (ja) クラスタシステム、クラスタシステムのスケールアウト方法、リソースマネージャ装置、サーバ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120426

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120615

R150 Certificate of patent or registration of utility model

Ref document number: 5022030

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150622

Year of fee payment: 3