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

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

Info

Publication number
WO2005091137A1
WO2005091137A1 PCT/JP2005/004653 JP2005004653W WO2005091137A1 WO 2005091137 A1 WO2005091137 A1 WO 2005091137A1 JP 2005004653 W JP2005004653 W JP 2005004653W WO 2005091137 A1 WO2005091137 A1 WO 2005091137A1
Authority
WO
WIPO (PCT)
Prior art keywords
job
server
process server
request
computer
Prior art date
Application number
PCT/JP2005/004653
Other languages
English (en)
French (fr)
Inventor
Takashi Yonezawa
Kazutoshi Sugimoto
Kazuhisa Misono
Original Assignee
International Business Machines Corporation
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 Corporation filed Critical International Business Machines Corporation
Priority to JP2006511202A priority Critical patent/JP5022030B2/ja
Priority to EP05720907A priority patent/EP1732004A4/en
Priority to US10/599,063 priority patent/US8239868B2/en
Publication of WO2005091137A1 publication Critical patent/WO2005091137A1/ja

Links

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

Definitions

  • the present invention relates to grid computing, and more particularly to a scheduling method for allocating jobs to computers and a system configuration for realizing the method.
  • Job scheduling methods in grid computing are roughly classified into a push type and a pull type.
  • the push type scheduling method is mainly used for a grid system of a type called a cluster grid, which is composed of about several hundred servers (computers) and is arranged in the same site.
  • jobs can be specifically assigned to the optimal computer, and optimal scheduling is possible.
  • extremely efficient operation is performed by taking into account such an operation environment and performing optimal scheduling. Can be expected.
  • this pull-type scheduling method can be implemented with a very simple configuration, it is often used in grid systems of several thousand units. In particular, in the case of a grid built on the Internet, this pull-type scheduling method is used due to network limitations. In addition, the pull type scheduling method has simple computer management information and is easily applicable to many computers. Then, self-optimization by polling (computers that have more spare time perform polling more frequently) can achieve a certain degree of efficiency.
  • Tokusen 1 Chris Smith, Open source Metascheduling for Virtual Organizations with the Community Scheduler Framework (CSF) ", Technical Whitepaper, Platform Computing Inc. August 2003.
  • CSF Community Scheduler Framework
  • Non-Patent Document 2 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.
  • the conventional scheduling method in grid computing can perform optimal job assignment in the case of a push type.
  • the management information of the computer required by the scheduler is simple, so that it is possible to easily cope with changes in the system configuration, and to perform networking by polling from the computer. Since the above access is performed, it is possible to assign a job to a computer inside the firewall. However, although there is self-optimization by polling, in the pull-type scheduling method, even if there is a job to be executed, it waits for polling from the computer and requests the execution of the job. would.
  • the present invention provides a system and a system that can realize optimal scheduling in grid computing with respect to both types of computers, usage conditions and job types, and can easily cope with a change in system configuration.
  • the purpose is to provide a job execution control method.
  • Another object of the present invention is to make it possible to allocate an optimal job equivalent to a push-type scheduling method to a daid including a computer having access restriction by a firewall or the like. .
  • the present invention provides a scheduling method combining a push type and a pull type. Still another object is to provide a system using the same.
  • the present invention is implemented as a computer system configured as follows, which implements grid computing by a plurality of computers connected via a network. That is, this computer system includes a center server that is a computer that issues a job execution request to a computer on a network, and a process server that is a computer that executes a job in response to a request from the center server. Be composed.
  • the center server allocates a job to be executed to the process server, manages information of the process server and a scheduler unit that issues a job execution request, and receives a request issued by the scheduler unit.
  • An agent unit for transmitting the request to the process server according to the status of the process server to which the job related to the request is assigned.
  • the agent unit is provided in one-to-one correspondence with a plurality of process servers.
  • the agent unit acquires and manages information on the capability and operation status of the corresponding process server from the process server.
  • the scheduler is managed by the agent and assigns a job to the process server based on the information.
  • the agent unit transmits a request received from the scheduler unit in response to access by polling from the process server based on an access type with the process server, or the scheduler unit at a timing managed by itself. Send the received request.
  • the center server cannot access the process server across the firewall. Wait for access and send the request.
  • a computer schedules a job in a grid combining system and requests execution of the job. It is also realized as the following job execution control method. That is, the job execution control method comprises the steps of: allocating a job irrespective of the operation status of the process server based on the capability of the process server that configures the system stored in the storage device and executes the job; Issuing a job execution request to the assigned process server, and temporarily holding the issued job execution request and sending it to this process server according to the operation status of the assigned process server It is characterized by including the following steps.
  • the present invention is also realized as a program for controlling a computer to realize the function of the above-described center server, or a program for causing a computer to execute processing corresponding to each step of the above-described job execution control method.
  • This program is provided by being stored in a magnetic disk, an optical disk, a semiconductor memory, or another recording medium and distributed, or distributed via a network.
  • an agent unit that relays communication between the scheduler and the process server is provided in the center server, and the difference in the access type of the process server is reduced.
  • the agent unit By absorbing data under the control of the agent unit, it is possible to perform optimal scheduling for both types of computers, usage conditions, and job types regardless of the access type of the process server.
  • By providing an agent unit for each process server it is easy to change the system configuration by increasing or decreasing the number of process servers.
  • a process that can directly accept a job execution request that has conventionally been performed by a push type scheduling is performed.
  • a server and a process server that conventionally performs a pull-type scheduling and receives a job execution request after polling are mixed in the system, and an optimal job equivalent to the push-type scheduling method is provided. Assignments can be made.
  • FIG. 1 is a diagram showing an overall configuration of a grid computing system according to the present embodiment.
  • FIG. 2 is a diagram schematically showing an example of a hardware configuration of a computer device suitable for realizing a center server and a process server in the grid computing system according to the present embodiment.
  • FIG. 3 is a diagram showing a functional configuration of a center server in the present embodiment.
  • FIG. 4 is a diagram showing a relationship between a functional configuration of a process server that performs polling and a PS agent unit in the present embodiment.
  • FIG. 5 is a diagram illustrating a relationship between a functional configuration of a process server that does not perform polling and a PS agent unit according to the present embodiment.
  • FIG. 6 is a flowchart illustrating an operation performed by each PS agent unit when a job execution request is made in the embodiment.
  • FIG. 1 is a diagram showing an overall configuration of a grid computing system according to the present embodiment.
  • the system includes a process server (PS) 200 that actually executes a job according to the assignment by a center server (CS) 100 that assigns the job.
  • the center server 100 and the process server 200 are connected via the Internet or another computer network.
  • This computer network may be any type of communication protocol, wired or wireless, and may have a firewall or other access restrictions!
  • FIG. 2 is a diagram schematically illustrating an example of a hardware configuration of a computer device suitable for realizing the center server 100 and the process server 200 in the grid computing system according to the present embodiment.
  • the computer device shown in FIG. 2 includes a CPU (Central Processing Unit: Central Processing Unit) 11 as an arithmetic unit, a main memory 13 connected to the CPU 11 via an MZB (mother board) chipset 12 and a CPU bus, Also MZB chipset 12 and AGP ( Video card connected to CPU11 via Accelerated Graphics Port) 1
  • CPU Central Processing Unit
  • MZB mother board
  • AGP Video card connected to CPU11 via Accelerated Graphics Port
  • a magnetic disk unit (HDD) 15 connected to the M / B chipset 12 via a PCI (Peripheral Component Interconnect) bus, a network interface 16, and a bridge circuit 17 and ISA (Industry It has a flexible disk drive 18 and a keyboard Z mouse 19 connected to the MZB chipset 12 via a low-speed bus such as a Standard Architecture bus.
  • PCI Peripheral Component Interconnect
  • FIG. 2 merely shows an example of a hardware configuration of a computer device that realizes the present embodiment, and various other configurations can be adopted as long as the present embodiment is applicable.
  • the video card 14 instead of providing the video card 14, only the video memory may be mounted and the CPU 11 may process the image data, or the external storage device may be an ATA (AT Attachment
  • CD-R Compact Disc Recordable
  • DVD-RAM Digital Versatile Disc Random Access Memory
  • FIG. 3 is a diagram showing a functional configuration of the center server 100.
  • the center server 100 includes a scheduler unit 110 for allocating (scheduling) a job to each process server 200, and a PS agent unit 120 for managing the process server 200 and relaying transmission and reception of requests and responses to the process server 200.
  • the PS agent unit 120 is provided for each of the process servers 200 constituting the grid computing system. Then, the scheduler unit 110 accesses each process server 200 via the PS agent unit 120.
  • the scheduler unit 110 is implemented by, for example, a program-controlled CPU 11 and storage means such as the main memory 13 and the magnetic disk device 15 shown in FIG. 2, and as a specific function, as shown in FIG.
  • the system includes a PS capability inspection unit 111, an optimal PS selection unit 112, and a job requesting unit 113.
  • the PS capability check unit 111 inquires of the PS agent unit 120 corresponding to each process server 200 about the capability of the process server 200 and acquires information.
  • the optimal PS selection unit 112 is the process server 200 acquired by the PS capability inspection unit 111. Based on the information on the capacity of the job, the optimum process server 200 is selected and assigned according to the job.
  • the logic for optimization in job assignment is arbitrary.
  • the job requesting unit 113 issues a request to the optimum PS selecting unit 112 to request the PS agent unit 120 of the selected process server 200 to execute the job.
  • the PS agent unit 120 relays communication between the scheduler unit 110 and the process server 200, and receives a job execution request from the scheduler unit 110 on behalf of the process server 200. Therefore, the inquiry destination of the PS capability inspection unit 111 and the request destination of the request of the job requesting unit 113 are the PS agent unit 120. As described above, the function itself of the scheduler unit 110 is based on the existing push type. It is the same as the scheduler. Therefore, the scheduler unit 110 can use a scheduler that is used in an existing grid computing system.
  • the PS agent unit 120 is realized by, for example, the program-controlled CPU 11 shown in FIG. 2 and storage means such as the main memory 13 and the magnetic disk device 15, and specific functions thereof are shown in FIG. As described above, it includes the PS status management unit 121, the PS capacity management unit 122, the job reception unit 123, the job request unit 124, and the polling standby unit 125.
  • the PS status management unit 121 accesses the corresponding process server 200 and grasps the current operation status of the process server 200.
  • the PS capability management unit 122 manages statistical information and the like regarding the job execution capability of the process server 200, and returns the managed information in response to an inquiry from the PS capability inspection unit 111 of the scheduler unit 110.
  • the statistical information on the job execution capability refers to the dynamic contents such as the time variation of the load on the CPU and the operation tendency, which are not merely static information of the processing capability of the CPU itself or the storage capacity of the storage device. Includes information obtained through routine processing.
  • the information managed by the PS status management unit 121 and the PS capacity management unit 122 is obtained from the process server 200 corresponding to the PS agent unit 120, and is stored in the main memory 13 in FIG. And the like.
  • the job receiving unit 123 receives a job execution request issued from the job requesting unit 113 of the scheduler unit 110.
  • the job requesting unit 124 transmits the job execution request received by the job receiving unit 123 to the corresponding process server 200.
  • the polling waiting unit 125 receives a notification from the process server 200 that the job can be executed by polling.
  • the polling standby unit 125 of the PS agent unit 120 is used for receiving the polling, and is a process server that can receive a job execution request transmitted at a desired timing in the center server 100 without performing polling. It is not a necessary component for 200 PS agent units 120.
  • FIG. 4 is a diagram showing the relationship between the functional configuration of the process server 200 that performs polling and the PS agent unit 120.
  • the process server 200 includes a PS built-in unit 210 for causing the computer device as shown in FIG. 2 to function as the process server 200 in the grid combining system.
  • the PS embedding unit 210 is realized by, for example, the program-controlled CPU 11 shown in FIG. 2 and storage means such as the main memory 13 and the magnetic disk device 15, and has specific functions as shown in FIG. , A PS status monitoring unit 211, a PS status notification unit 212, a job receiving unit 213, a job execution unit 214, and a polling execution unit 215.
  • the PS status monitoring unit 211 monitors the current usage status and resource status of its own device (process server 200) and collects information.
  • the PS status notifying unit 212 notifies the PS status monitoring unit 211 of the information on the PS usage status and the resource status collected by the PS status monitoring unit 211 to the PS agent unit 120 of the center server 100.
  • the In the PS agent unit 120, the PS status management unit 121 and the PS capacity management unit 122 receive this notification, and store and manage it in a storage device such as the main memory 13 or the magnetic disk device 15.
  • the notification from the PS status notification unit 212 to the center server 100 may be performed periodically, or may be performed when the operation status of the process server 200 is changed. Also, it is okay to ask the process server 200 at any time from the corresponding PS agent unit 120 of the center server 100 and match it!
  • the job receiving unit 213 receives the job execution request transmitted from the job requesting unit 124 of the PS agent unit 120 of the center server 100.
  • the job execution unit 214 executes the job received by the job reception unit 213 using the resources of the process server 200.
  • the polling execution unit 215 sends a notification to that effect to the PS agent unit 120 of the center server 100 when the process server 200 can execute the job based on the monitoring of the PS status monitoring unit 211 and the like. Do.
  • the polling standby section 125 receives the notification from the polling execution section 215 and causes the job request section 124 to transmit a job execution request.
  • the polling execution unit 215 has an access restriction such that the process server 200 can accept a job execution request transmitted from the central server 100 without performing polling, that is, if the process server 200 is behind a firewall. If not, there is no need to provide it.
  • FIG. 5 is a diagram showing the relationship between the functional configuration of the process server 200 that does not perform polling and the PS agent unit 120.
  • the scheduler section 110 of the center server 100 is the same as the existing push-type scheduler. Therefore, when a job to be executed is generated, the scheduler section 110 targets all the process servers 200 under the control of the center server 100. Then, the job is assigned. At this time, statistical information such as the capability and operation tendency of the process server 200 is acquired from the PS agent unit 120, and the optimal scheduling is performed based on the information and the type and characteristics of the job. The operation of the process server 200 to which the job is assigned Regardless of the situation, a job execution request is issued and transmitted to the PS agent unit 120 corresponding to the process server 200 to make a job execution request.
  • the operation of the PS agent unit 120 is based on the fact that the access type of the process server 200 is a type capable of directly accepting a job execution request from the center server 100, inside a firewall, or the like. The operation differs depending on the type that accepts the execution request.
  • FIG. 6 is a flowchart illustrating the operation of each PS agent unit 120 at the time of a job execution request.
  • the PS agent unit 120 receives a job execution request from the scheduler unit 110 by the job receiving unit 123 (step 601), and the process server 200 corresponding to the PS agent unit 120 sends the job execution request. If it is a type that can directly accept the job execution request, the job execution request is immediately transmitted to the process server 200 (steps 602 and 604).
  • the PS agent unit 120 waits until polling by the process server 200 is performed. (Steps 602 and 603), the job execution request received from the scheduler unit 110 after polling is transmitted to the process server 200 (Step 604). If there is no job execution request to be transmitted when polling by the process server 200 is performed, the PS agent unit 120 does not perform any processing and waits for a job reception and the next polling timing. .
  • the process server 200 When the process server 200 is of a type that can directly receive a job execution request from the center server 100, it receives a job execution request from the PS agent unit 120 of the center server 100 and responds to the request. The job is executed, and the execution result is returned to the PS agent section 120 of the center server 100.
  • the process server 200 performs polling when the job execution operation becomes possible and the job execution request is received. Wait to be sent. And When the job execution request transmitted from the corresponding PS agent unit 120 in the server 100 is received, the job is executed in response to the request, and the execution result is returned to the PS agent unit 120 of the center server 100. If a job execution request is not received, polling is repeated again after a certain period of time.
  • the operation of the process server 200 described above is the same as the operation of the process server in the conventional grid computing system.
  • the center server 100 issues a job execution request at a timing managed by itself according to the access type of the process server 200 according to the access type of the process server 200. It is possible to control whether to execute the job execution request after waiting for access from the process server 200 by polling. That is, since the difference in the access type of the process server 200 can be absorbed by the control of the PS agent unit 120, the system according to the present embodiment is different from the process server 200 that can directly receive a job execution request from the center server 100.
  • the process server 200 which is located inside a firewall or the like and receives a job execution request after performing polling, can be mixed.
  • the present embodiment can be configured to include the process server 200 that receives a job execution request after performing polling as described above. Also in this case, the scheduler unit 110 issues a job execution request to the process server 200 via the PS agent unit 120, so that the performance of the process server 200 is Optimal scheduling can be performed based on job types and characteristics.
  • a PS agent unit 120 corresponding to each process server 200 on a one-to-one basis is provided in the center server 100, and information on the process server 200 corresponding to the PS agent unit 120 is provided. And control the transmission and reception of requests and responses. Further, the scheduler unit 110 assigns a job to the process server 200 based on information of the process server 200 managed by the PS agent unit 120. Therefore, even when the system configuration is changed by increasing or decreasing the number of the process servers 200, it is possible to easily respond by adding or deleting the corresponding PS agent unit 120.

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

明 細 書
コンピュータシステム、これを構成するサーノ 、そのジョブ実行制御方法 及びプログラム
技術分野
[0001] 本発明は、グリッドコンピューティングに関し、特にコンピュータに対してジョブの割り 当てを行うスケジューリングの方法およびこれを実現するシステム構成に関する。 背景技術
[0002] 近年、ネットワークで接続されたヘテロジーニアス (異機種混在)な情報システムを 統合して利用する、グリッドコンピューティングと呼ばれるシステムが注目されている。 このシステムでは、ネットワーク上の複数のコンピュータにおける CPUパワーゃデー タストレージなどのコンピュータ資源が共有され、仮想的な 1つの高性能コンピュータ として利用される。複数のコンピュータに並列処理を行わせることで、 1台 1台の性能 は低くとも高速に大量の処理を実行することが可能となる。
[0003] グリッドコンピューティングでは、システムに与えられたジョブ(プログラムの処理単位 )の実行順序を、ジョブの特性や優先順位に応じて決定するスケジューリングが非常 に重要である。異機種混在環境を前提としたグリッド環境では、性能の異なる複数の コンピュータに対してジョブを割り当てる必要がある他、割り当てるジョブの大きさも様 々であり、また、ローカルユーザだけでなぐ遠隔地にいるユーザからもジョブを与え られることから、様々なジョブの実行スケジュールを適切に設定する必要があるため である。
[0004] グリッドコンピューティングにおけるジョブのスケジューリングの方式には、大きく分け てプッシュ(Push)タイプとプル (Pull)タイプとがある。
プッシュタイプ (例えば、非特許文献 1参照)のスケジューリング方式では、スケジュ ーラにジョブの投入があった場合に、スケジューラ力 そのジョブを処理すべきコンビ ユータを割り当て、そのコンピュータに対してジョブの実行をリクエストする。この場合 にスケジューラは、各コンピュータの利用状況をモニタリングし、ジョブの負荷情報等 に応じて最適なコンピュータとジョブの割り当てを行う。 [0005] このプッシュタイプのスケジューリング方式は、主にクラスタグリッドと呼ばれる、数百 台程度のサーバ (コンピュータ)で構成され、それらを同一サイト内に配置するタイプ のグリッドシステムに多く用いられる。またプッシュタイプのスケジューリング方式は、 最適なコンピュータに対して Specificにジョブを割り当てることができ、最適なスケジュ 一リングが可能である。特に、各コンピュータの挙動にばらつきがあり、かつユーザが コンピュータを使用した場合にジョブがキャンセルされる環境では、そのような動作環 境を加味した上で、最適なスケジューリングにより非常に効率の良い運用が期待でき る。
[0006] 一方、プルタイプ (例えば、非特許文献 2参照)のスケジューリング方式では、各コン ピュータがジョブを実行可能な状態になったときにスケジューラに対してポーリング( Polling)という形でジョブのリクエストを行う。そして、このリクエストが行われた際に 、実行すべきジョブがあれば、スケジューラはそのコンピュータに対してジョブを割り 当て、コンピュータが割り当てられたジョブを実行する。実行すべきジョブが無い場合 は、コンピュータは、一定時間の経過後に再度ポーリングを行う。
[0007] このプルタイプのスケジューリング方式は、非常に簡単な構成でに実装することが できるため、数千台規模のグリッドシステムで多く使われる。特に、インターネット上に 構築されるグリッドの場合には、ネットワークの制限のために、このプルタイプのスケジ ユーリング方式が用いられる。またプルタイプのスケジューリング方式は、コンピュータ の管理情報が簡単で、多数のコンピュータに対して適用しやすい。そして、ポーリン グによる自己最適化 (余裕のあるコンピュータほど頻繁にポーリングを行う)により、あ る程度の効率ィ匕は図れる。
[0008] 特千文献 1: Chris Smith, Open source Metascheduling for Virtual Organizations with the Community Scheduler Framework (CSF)", Technical Whitepaper, Platform Computing Inc. 2003年 8月 .
非特許文献 2 : Eric Korpela, Dan Werthimer, David Anderson, Jeff Cobb, Matt Lebofsky, "Massively Distributed Computing for SETI", Computing in Science & amp; Engineering, Vol: 3, Issue: 1, J an. -Feb. 2001, Pages: 78—83.
発明の開示 発明が解決しょうとする課題
[0009] 上述したように、グリッドコンピューティングにおける従来のスケジューリング方式は、 プッシュタイプの場合、最適なジョブの割り当てを行うことができる。
しかし、最適なスケジューリングを行うために各コンピュータの使用状況を管理する ことが必要である。このため、スケジューラの動作が複雑になり、システム構成の変更 (ジョブを実行するコンピュータの増減等)に容易に対応することができな!/、。
また、スケジューラ力 各コンピュータにアクセスしてジョブの実行をリクエストする形 態であるため、ファイアウォールの内側にあるコンピュータなどに対しては適用できな い。
[0010] 一方、プルタイプならば、上述したように、スケジューラが必要とするコンピュータの 管理情報が簡単であるため、システム構成の変更にも容易に対応でき、またコンビュ ータからのポーリングによってネットワーク上でのアクセスが行われるため、ファイアゥ オールの内部にあるコンピュータに対してもジョブを割り当てることが可能である。 しかし、ポーリングによる自己最適化はあるものの、プルタイプのスケジューリング方 式では、実行すべきジョブがあっても、コンピュータからのポーリングを待ってジョブの 実行をリクエストするため、時間的なロスが発生してしまう。
また、ポーリングが行われた場合には、実行すべき複数のジョブのうち、そのポーリ ングを行ったコンピュータにとって最適なジョブを割り当てる力 そのジョブの種類に よっては、より相応しい他のコンピュータがある可能性もあり、必ずしもシステム全体か ら見て最も効率の高 、最適なスケジューリングができるわけではな 、。
[0011] そこで本発明は、グリッドコンピューティングにおいて、コンピュータの種類や使用状 況およびジョブの種類の両面力も最適なスケジューリングを実現すると共に、システム 構成の変更に対して容易に対応が可能なシステムおよびそのジョブ実行制御方法を 提供することを目的とする。
また本発明は、ファイアウォール等によるアクセス制限のあるコンピュータを含むダリ ッドにお 、ても、プッシュタイプのスケジューリング方式と同等の最適なジョブの割り当 てを可能とすることを他の目的とする。
また本発明は、プッシュタイプとプルタイプとを組み合わせたスケジューリング方式 およびこれを用いたシステムを提供することをさらに他の目的とする。
課題を解決するための手段
[0012] 上記の目的を達成するため、本発明は、ネットワークを介して接続された複数のコ ンピュータによりグリッドコンピューティングを実現する、次のように構成されたコンビュ ータシステムとして実現される。すなわち、このコンピュータシステムは、ネットワーク上 のコンピュータに対してジョブの実行要求を行うコンピュータであるセンターサーバと 、センターサーバからの要求に応じてジョブを実行するコンピュータであるプロセスサ 一バとを備えて構成される。そして、このセンターサーバは、プロセスサーバに対して 実行すべきジョブを割り当て、ジョブ実行リクエストを発行するスケジューラ部と、プロ セスサーバの情報を管理すると共に、スケジューラ部により発行されたリクエストを受 け付けて、このリクエストにかかるジョブを割り当てられたプロセスサーバの状況に応 じて、このリクエストをプロセスサーバに送信するエージェント部とを備える。
[0013] ここで、より詳細には、エージェント部は、複数のプロセスサーバに対して 1対 1で対 応させて設けられる。
また好ましくは、エージェント部は、対応するプロセスサーバの能力および動作状況 に関する情報をプロセスサーノくから取得して管理する。そして、スケジューラ部は、ェ ージェント部に管理されて 、る情報に基づ 、て、プロセスサーバに対するジョブの割 り当てを行う。
[0014] また、エージェント部は、プロセスサーバとのアクセスタイプに基づき、プロセスサー ノくからのポーリングによるアクセスに応じてスケジューラ部から受け付けたリクエストを 送信したり、自身が管理するタイミングで前記スケジューラ部力 受け付けたリクエスト を送信したりする。
より具体的には、ファイアウォールを介してセンターサーバに接続されるプロセスサ ーバが存在する場合に、センターサーバからファイアウォールを越えてプロセスサー バにアクセスすることができないので、プロセスサーバからのポーリングによるアクセス を待ってリクエストを送信する。
[0015] また、上記の目的を達成する他の本発明は、コンピュータによりグリッドコンビユーテ イングシステムにおけるジョブのスケジューリングおよび当該ジョブの実行要求を行う 、次のようなジョブ実行制御方法としても実現される。すなわち、このジョブ実行制御 方法は、記憶装置に格納されたシステムを構成しジョブを実行するプロセスサーバの 能力に基づき、このプロセスサーバの動作状況に関わらずにジョブの割り当てを行う ステップと、ジョブの割り当てられたプロセスサーバに対するジョブ実行リクエストを発 行するステップと、発行されたジョブ実行リクエストを一時的に保持し、ジョブの割り当 てられたプロセスサーバの動作状況に応じて、このプロセスサーバに送信するステツ プとを含むことを特徴とする。
[0016] さらに本発明は、コンピュータを制御して上述したセンターサーバの機能を実現さ せるプログラム、あるいはコンピュータに上記のジョブ実行制御方法の各ステップに 対応する処理を実行させるプログラムとしても実現される。このプログラムは、磁気デ イスクゃ光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットヮ ークを介して配信したりすることにより提供される。
発明の効果
[0017] 以上のように構成された本発明によれば、グリッドコンピューティングにおいて、スケ ジユーラとプロセスサーバとの間の通信を中継するエージェント部をセンターサーバ に設け、プロセスサーバのアクセスタイプの違いをエージェント部の制御によって吸 収することにより、プロセスサーバのアクセスタイプの違いによらずに、コンピュータの 種類や使用状況およびジョブの種類の両面力 最適なスケジューリングを行うことが できる。そしてプロセスサーバごとにエージェント部を設けることにより、プロセスサー バを増減してシステム構成を変更することが容易にできる。
[0018] また、本発明によれば、プロセスサーバのアクセスタイプの違!、をエージェント部の 制御によって吸収することにより、従来はプッシュタイプのスケジューリングを行ってい たジョブの実行要求を直接受け付けられるプロセスサーバと、従来はプルタイプのス ケジユーリングを行って 、たポーリングを行った後にジョブの実行要求を受け付ける プロセスサーバとをシステム内に混在させ、かつプッシュタイプのスケジューリング方 式と同等の最適なジョブの割り当てを行うことができる。
図面の簡単な説明
[0019] [図 1]本実施形態によるグリッドコンピューティングシステムの全体構成を示す図であ る。
[図 2]本実施形態によるグリッドコンピューティングシステムにおけるセンターサーバお よびプロセスサーバを実現するのに好適なコンピュータ装置のハードウェア構成の例 を模式的に示した図である。
[図 3]本実施形態におけるセンターサーバの機能構成を示す図である。
[図 4]本実施形態におけるポーリングを行うプロセスサーバの機能構成と PSエージェ ント部との関係を示す図である。
[図 5]本実施形態におけるポーリングを行わないプロセスサーバの機能構成と PSェ ージェント部との関係を示す図である。
[図 6]本実施形態における各 PSエージェント部によるジョブの実行要求時の動作を 説明するフローチャートである。
発明を実施するための最良の形態
[0020] 以下、添付図面を参照して、本発明を実施するための最良の形態 (以下、実施形 態)について詳細に説明する。
図 1は、本実施形態によるグリッドコンピューティングシステムの全体構成を示す図 である。
図 1に示すように、本実施形態のシステムは、ジョブの割り当てを行うセンターサー バ(CS) 100による割り当てにしたがって実際にジョブを実行するプロセスサーバ(P S) 200とを備える。センターサーバ 100とプロセスサーバ 200とは、インターネットそ の他のコンピュータネットワークにて接続されている。このコンピュータネットワークは、 通信プロトコルや、有線か、無線力といった通信形式を問わず、またファイアウォール やその他のアクセス制限を設けたものであっても良!、。
[0021] 図 2は、本実施形態によるグリッドコンピューティングシステムにおけるセンターサー ノ 100およびプロセスサーバ 200を実現するのに好適なコンピュータ装置のハードウ エア構成の例を模式的に示した図である。
図 2に示すコンピュータ装置は、演算手段である CPU (Central Processing Unit : 中央処理装置) 11と、 MZB (マザ一ボード)チップセット 12および CPUバスを介して CPU11に接続されたメインメモリ 13と、同じく MZBチップセット 12および AGP ( Accelerated Graphics Port)を介して CPU11に接続されたビデオカード 1
4と、 PCI (Peripheral Component Interconnect)バスを介して M/Bチップセット 12に接続された磁気ディスク装置 (HDD) 15、ネットワークインターフェイス 16と、さ らにこの PCIバスからブリッジ回路 17および ISA (Industry Standard Architecture)バ スなどの低速なバスを介して MZBチップセット 12に接続されたフレキシブルディスク ドライブ 18およびキーボード Zマウス 19とを備える。
[0022] なお、図 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)のドライブを設けても良い。
[0023] 図 3は、センターサーバ 100の機能構成を示す図である。
センターサーバ 100は、各プロセスサーバ 200に対するジョブの割り当て(スケジュ 一リング)を行うスケジューラ部 110と、プロセスサーバ 200の管理を行うと共にプロセ スサーバ 200に対するリクエストおよびレスポンスの送受信を中継する PSエージェン ト部 120とを備える。 PSエージェント部 120は、グリッドコンピューティングシステムを 構成するプロセスサーバ 200ごとに設けられている。そして、スケジューラ部 110は、 この PSエージェント部 120を介して各プロセスサーバ 200にアクセスする。
[0024] スケジューラ部 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に対してジョブ実行を要求するリクエストを発行する。
[0025] 本実施形態では、 PSエージェント部 120がスケジューラ部 110とプロセスサーノ 20 0との間の通信を中継し、スケジューラ部 110によるジョブの実行要求をプロセスサー バ 200に代わって受け付ける。そのため、 PS能力検査部 111の問い合わせ先ゃジョ ブ依頼部 113のリクエストの発行先が PSエージェント部 120となって 、る力 上述し たように、スケジューラ部 110の機能自体は、既存のプッシュタイプのスケジューラと 変わらない。したがって、スケジューラ部 110には、既存のグリッドコンピューティング システムで利用されて 、るスケジューラを用いることができる。
[0026] 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からのポーリングによる、ジョブ の実行が可能であると 、う通知を受付ける。
[0027] 詳しくは後述するが、本実施形態では、プッシュタイプのスケジューラを用いながら 、プロセスサーバ 200からのポーリングによるアクセスを受け付けてジョブ実行リクエス トを送信することができる。 PSエージェント部 120のポーリング待ち受け部 125は、こ のポーリングの受け付けのために用いられるものであり、ポーリングを行わずにセンタ 一サーバ 100における所望のタイミングで送信されたジョブ実行リクエストを受け付け られるプロセスサーバ 200の PSエージェント部 120に対しては、必要な構成要素で はない。
[0028] 次に、プロセスサーバ 200の機能構成と、対応する PSエージェント部 120との関係 について説明する。
上述したように、本実施形態において想定されるプロセスサーバ 200は、ポーリング を行わな 、ものと行うものとがある。
図 4は、ポーリングを行うプロセスサーノ 200の機能構成と PSエージェント部 120と の関係を示す図である。
プロセスサーバ 200は、図 2に示したようなコンピュータ装置をグリッドコンビユーティ ングシステムにおけるプロセスサーノ 200として機能させるための PS組み込み部 21 0を備えている。
[0029] PS組み込み部 210は、例えば図 2に示したプログラム制御された CPU11とメインメ モリ 13や磁気ディスク装置 15等の記憶手段とで実現され、その具体的な機能として 図 4に示すように、 PS状況監視部 211と、 PS状況通知部 212と、ジョブ受け付け部 2 13と、ジョブ実行部 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がジョブを実行可能な状況である場合に、その旨を示す通知をセンターサーバ 1 00の PSエージェント部 120に対して行う。 PSエージェント部 120では、ポーリング待 ち受け部 125がポーリング実行部 215からの通知を受け付けて、ジョブ依頼部 124に ジョブ実行リクエストの送信を行わせる。
[0030] なお、ポーリング実行部 215は、プロセスサーバ 200がポーリングを行わずにセンタ 一サーバ 100から送信されたジョブ実行リクエストを受け付けられる場合、すなわちフ アイァウォールの内側にある等のアクセス制限がない場合は、設ける必要はない。 図 5は、ポーリングを行わないプロセスサーバ 200の機能構成と PSエージェント部 1 20との関係を示す図である。
[0031] 次に、上記のように構成された本実施形態のグリッドコンピューティングシステムの 動作について説明する。
上述したように、センターサーバ 100のスケジューラ部 110は、既存のプッシュタイ プのスケジューラと同様であるので、実行すべきジョブが発生すると、センターサーバ 100の管理下にある全てのプロセスサーバ 200を対象として、当該ジョブの割り当て を行う。このとき、 PSエージェント部 120からプロセスサーバ 200の能力や動作傾向 等の統計情報等を取得し、これらの情報およびジョブの種類や特性に基づ 、て最適 なスケジューリングを行う。そして、ジョブが割り当てられたプロセスサーバ 200の動作 状況に関わらずにジョブ実行リクエストを発行し、そのプロセスサーバ 200に対応する PSエージェント部 120に送信してジョブの実行要求を行う。
[0032] PSエージェント部 120の動作は、プロセスサーバ 200のアクセスタイプが、センター サーバ 100からのジョブの実行要求を直接受け付けられるタイプ力、ファイアウォー ルの内側等にありポーリングを行った後にジョブの実行要求を受け付けるタイプかに よって、動作が異なる。
図 6は、各 PSエージェント部 120によるジョブの実行要求時の動作を説明するフロ 一チャートである。
図 6に示すように、 PSエージェント部 120は、ジョブ受け付け部 123によりスケジュ ーラ部 110からジョブ実行リクエストを受け付け (ステップ 601)、当該 PSエージェント 部 120に対応するプロセスサーバ 200がジョブの実行要求を直接受け付けられるタ イブならば、そのジョブ実行リクエストを直ちにプロセスサーバ 200へ送信する(ステツ プ 602、 604)。
[0033] 一方、当該 PSエージェント部 120に対応するプロセスサーバ 200がポーリングを行 つた後にジョブの実行要求を受け付けるタイプならば、 PSエージェント部 120は、プ ロセスサーバ 200によるポーリングが行われるまで待機し (ステップ 602、 603)、ポー リングが行われた後にスケジューラ部 110から受け付けたジョブ実行リクエストをプロ セスサーバ 200へ送信する(ステップ 604)。なお、 PSエージェント部 120は、プロセ スサーバ 200によるポーリングが行われた際に送信すべきジョブ実行リクエストを持つ ていない場合は、何ら処理を行わず、ジョブの受け付けおよび次のポーリングのタイミ ングを待ち受ける。
[0034] プロセスサーバ 200は、センターサーバ 100からのジョブの実行要求を直接受け付 けられるタイプである場合、センターサーバ 100の PSエージェント部 120力らジョブ 実行リクエストを受け付けると、そのリクエストに応じてジョブを実行し、実行結果をセ ンターサーバ 100の PSエージェント部 120に返す。
一方、プロセスサーバ 200がポーリングを行った後にジョブの実行要求を受け付け るタイプである場合、そのプロセスサーバ 200は、ジョブの実行が可能な動作状況と なった時点でポーリングを行い、ジョブ実行リクエストが送られるのを待つ。そして、セ ンターサーバ 100における対応する PSエージェント部 120から送信されたジョブ実 行リクエストを受け付けたならば、そのリクエストに応じてジョブを実行し、実行結果を センターサーバ 100の PSエージェント部 120に返す。ジョブ実行リクエストを受信しな 力つた場合は、一定時間経過後に再度ポーリングを繰り返す。
[0035] 以上のプロセスサーバ 200の動作は、従来のグリッドコンピューティングシステムに おけるプロセスサーバの動作と同様である。ただし、上述したように本実施形態では、 センターサーバ 100において各プロセスサーバ 200に対応する PSエージェント部 12 0力 プロセスサーバ 200のアクセスタイプに応じて、 自身が管理するタイミングでジョ ブの実行要求を行うか、またはプロセスサーバ 200からのポーリングによるアクセスを 待ってジョブの実行要求を行うかを制御できる。すなわち、プロセスサーバ 200のァク セスタイプの違 、を PSエージェント部 120の制御によって吸収できるため、本実施形 態によるシステムは、センターサーバ 100からのジョブの実行要求を直接受け付けら れるプロセスサーバ 200と、ファイアウォールの内側等にありポーリングを行った後に ジョブの実行要求を受け付けるプロセスサーバ 200とを混在させることができる。
[0036] また、本実施形態は、上記のようにポーリングを行った後にジョブの実行要求を受 け付けるプロセスサーバ 200を含む構成とすることができる。そして、この場合でも、 スケジューラ部 110は、 PSエージェント部 120を介してプロセスサーバ 200に対する ジョブの実行要求を行うので、プロセスサーバ 200の動作状況の影響を受けずに、プ ロセスサーバ 200の能力とジョブの種類や特性とに基づく最適なスケジューリングを 行うことができる。
[0037] さらに本実施形態は、上述したように、プロセスサーバ 200ごとに 1対 1で対応する P Sエージェント部 120をセンターサーバ 100に設け、この PSエージェント部 120に、 対応するプロセスサーバ 200に関する情報の管理およびリクエストやレスポンスの送 受信の制御を行わせる。また、スケジューラ部 110は、 PSエージェント部 120が管理 するプロセスサーバ 200の情報に基づいて、プロセスサーバ 200に対するジョブの割 り当てを行う。このため、プロセスサーバ 200を増減してシステム構成を変更する場合 にも、対応する PSエージェント部 120を追加または削除することによって、容易に対 応することができる。

Claims

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

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006511202A JP5022030B2 (ja) 2004-03-19 2005-03-16 コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム
EP05720907A EP1732004A4 (en) 2004-03-19 2005-03-16 COMPUTER SYSTEM, SERVER THEREFOR, THE METHOD OF CARRYING OUT THE ORDERS AND PROGRAM
US10/599,063 US8239868B2 (en) 2004-03-19 2005-03-16 Computer system, servers constituting the same, and job execution control method and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004080396 2004-03-19
JP2004-080396 2004-03-19

Publications (1)

Publication Number Publication Date
WO2005091137A1 true WO2005091137A1 (ja) 2005-09-29

Family

ID=34993886

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/004653 WO2005091137A1 (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
WO2007145238A1 (ja) * 2006-06-16 2007-12-21 Nec Corporation 情報処理システムおよび負荷分散方法
US8438282B2 (en) 2006-06-16 2013-05-07 Nec Corporation Information processing system and load sharing method

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602005021216D1 (de) * 2005-08-10 2010-06-24 Alcatel Lucent Ablaufsteuerung für Internet Protokoll Fernsehrundfunk
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
US8539493B1 (en) 2006-03-23 2013-09-17 Emc Corporation Configurable prioritization and aging of queued tasks
US8826280B1 (en) 2006-03-23 2014-09-02 Emc Corporation Processing raw information for performing real-time monitoring of task queues
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
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
US8504526B2 (en) 2010-06-04 2013-08-06 Commvault Systems, Inc. Failover systems and methods for performing backup operations
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
US9483363B2 (en) 2013-05-08 2016-11-01 Commvault Systems, Inc. Use of temporary secondary copies in failover operations
GB201310837D0 (en) 2013-06-18 2013-07-31 Dupont Teijin Films Us Ltd Polyester film -IV
US10169121B2 (en) 2014-02-27 2019-01-01 Commvault Systems, Inc. Work flow management for an information management system
US9811427B2 (en) 2014-04-02 2017-11-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
GB201411044D0 (en) 2014-06-20 2014-08-06 Dupont Teijin Films Us Ltd Copolyestermides and films made therefrom
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 (6)

* 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 並列処理システム
JP2000047890A (ja) * 1998-07-31 2000-02-18 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 (6)

* 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
EP0872991B1 (en) * 1997-04-15 2006-07-26 Hewlett-Packard Company, A Delaware Corporation Method and apparatus for device interaction by format
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 (6)

* 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 並列処理システム
JP2000047890A (ja) * 1998-07-31 2000-02-18 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 クライアント/サーバ環境におけるアプリケーションステップのディスパッチ方法及びサービスポータルシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1732004A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007145238A1 (ja) * 2006-06-16 2007-12-21 Nec Corporation 情報処理システムおよび負荷分散方法
US8438282B2 (en) 2006-06-16 2013-05-07 Nec Corporation Information processing system and load sharing method
JP5630800B2 (ja) * 2006-06-16 2014-11-26 日本電気株式会社 情報処理システムおよび負荷分散方法

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5022030B2 (ja) コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム
US20190324819A1 (en) Distributed-system task assignment method and apparatus
US9075659B2 (en) Task allocation in a computer network
JP4428483B2 (ja) 情報処理装置、制御方法、プログラム及び記録媒体
CA2780231C (en) Goal oriented performance management of workload utilizing accelerators
US7793308B2 (en) Setting operation based resource utilization thresholds for resource use by a process
US9424096B2 (en) Task allocation in a computer network
JP2004038758A (ja) 記憶制御装置、記憶制御装置の制御方法、及びプログラム
JP2009251708A (ja) I/oノード制御方式及び方法
JP2005056391A (ja) コンピューティング環境の作業負荷を均衡させる方法およびシステム
JP2007041720A (ja) ジョブステップ実行プログラムおよびジョブステップ実行方法
US11201836B2 (en) Method and device for managing stateful application on server
JP2008226181A (ja) 並列実行プログラム、該プログラムを記録した記録媒体、並列実行装置および並列実行方法
US11169846B2 (en) System and method for managing tasks and task workload items between address spaces and logical partitions
JPWO2005116832A1 (ja) 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム
JP4663528B2 (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
US20230214251A1 (en) Instance creation method, device, and system
US20140237017A1 (en) Extending distributed computing systems to legacy programs
US20120324095A1 (en) Image processing in a computer network
WO2013038566A1 (ja) コンピュータシステム
JP2004046372A (ja) 分散処理システム、リソース割当方法およびプログラムならびにリソース割当プログラムが記録された記録媒体
JP2007102332A (ja) 負荷分散システム及び負荷分散方法
US9959149B1 (en) Server farm and method for operating the same
Yang et al. A workflow-based computational resource broker with information monitoring in grids

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006511202

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 200580008715.0

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 10599063

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 2005720907

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2005720907

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 10599063

Country of ref document: US