JP5354033B2 - Job allocation program, method and apparatus - Google Patents
Job allocation program, method and apparatus Download PDFInfo
- Publication number
- JP5354033B2 JP5354033B2 JP2012000028A JP2012000028A JP5354033B2 JP 5354033 B2 JP5354033 B2 JP 5354033B2 JP 2012000028 A JP2012000028 A JP 2012000028A JP 2012000028 A JP2012000028 A JP 2012000028A JP 5354033 B2 JP5354033 B2 JP 5354033B2
- Authority
- JP
- Japan
- Prior art keywords
- job
- computer
- notification
- assignment
- generated
- 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
Links
Images
Landscapes
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Abstract
Description
本発明は、異なる構成を有する複数のコンピュータをネットワークで相互接続して利用する際のジョブ割当技術に関する。 The present invention relates to a job assignment technique used when a plurality of computers having different configurations are connected to each other via a network.
従来のグリッド・システムの多くはプッシュ(Push)型と呼ばれるジョブ(Job)割当方式を採用している。Push型のJob割当方式においては、特定のコンピュータが、Jobの生成、Jobを処理する他のコンピュータの処理負荷情報の管理、Jobの割り当てなどを一元的に行う。 Many conventional grid systems employ a job (Job) allocation method called a push type. In the push-type job allocation method, a specific computer centrally performs generation of jobs, management of processing load information of other computers that process jobs, allocation of jobs, and the like.
また、Pull型と呼ばれるJob取得方式もある。これは、Jobを生成するコンピュータと、それとは別にJobを取得し処理するコンピュータとの組み合わせにて実施される。そして、Jobを取得し処理するコンピュータは、それ自身の処理負荷管理を行い、その情報を基にJobの取得要求をJobを生成するコンピュータに送信し、取得可能ならば取得して処理し、結果をJobを生成するコンピュータに通知するというものである。 There is also a job acquisition method called pull type. This is implemented by a combination of a computer that generates a job and a computer that acquires and processes the job separately. Then, the computer that acquires and processes the job performs its own processing load management, and sends a job acquisition request to the computer that generates the job based on the information. Is notified to the computer that generates the job.
さらに、特開2005−352697号公報には、分割したジョブを複数のクライアントで分散処理させるときに、全体の処理時間を短縮するための技術が開示されている。具体的には、グリッドコンピューティングによって負荷分散処理が可能な画像形成システムにおいて、分割したジョブの数よりもクライアント装置の数が多い場合、ジョブスケジューラは、同じジョブを複数のクライアント装置に割り当て、同じジョブを割り当てられた複数のクライアント装置のうち、いずれかの装置で該ジョブが終了したときに、他のクライアント装置での該ジョブの実行を強制的に中止させるようになっている。しかしながら、クライアント装置ではジョブの割り当てを拒否することはできず、Push型のJob割当方式の変形となっている。 Furthermore, Japanese Patent Application Laid-Open No. 2005-352697 discloses a technique for reducing the overall processing time when a divided job is distributedly processed by a plurality of clients. Specifically, in an image forming system capable of load distribution processing by grid computing, when the number of client devices is larger than the number of divided jobs, the job scheduler assigns the same job to a plurality of client devices, and the same When the job is completed on any one of the plurality of client devices to which the job is assigned, the execution of the job on other client devices is forcibly stopped. However, the client apparatus cannot refuse job assignment, and is a modification of the push-type job assignment method.
また、特開2005−182796号公報には、グリッド・コンピューティング・システム上のデータ・オペレーションおよび実行資源の自律的管理のための技術が開示されている。具体的には、自律的管理装置が、モニタ・モジュール、ポリシー・モジュール、および調整モジュールを含む。モニタ・モジュールは、トリガ・イベントを求めてグリッド・コンピューティング・システムを監視するように構成される。ポリシー・モジュールは、複数のシステム・ポリシーのうちの1つにアクセスするように構成される。複数のシステム・ポリシーのそれぞれは、グリッド・コンピューティング・システムのシステム資源の動作制御パラメータに対応する。調整モジュールは、認識したトリガ・イベントに応答して、複数のシステム・ポリシーのうちの1つに従って、システム資源を自律的に調整するように構成される。本公報では、Job実行計算機の負荷情報を一元的に管理することが開示されているが、Jobの投入条件や投入の判断については述べられていない。 Japanese Patent Application Laid-Open No. 2005-182969 discloses a technique for autonomous management of data operations and execution resources on a grid computing system. Specifically, the autonomous management device includes a monitor module, a policy module, and a coordination module. The monitor module is configured to monitor the grid computing system for a trigger event. The policy module is configured to access one of a plurality of system policies. Each of the plurality of system policies corresponds to an operation control parameter of a system resource of the grid computing system. The coordination module is configured to autonomously adjust system resources according to one of a plurality of system policies in response to a recognized trigger event. This publication discloses that the load information of the job execution computer is managed in an integrated manner, but does not describe the job input condition and input determination.
さらに、特開2006−48273号公報には、グリッドコンピューティングによる負荷分散可能なシステムと、グリッドに対してジョブを依頼する画像形成装置から構成される、画像処理システムにおいてグリッドジョブを操作部から投入する際に、ユーザにとって柔軟にかつ容易な構成を提供するための技術が開示されている。具体的には、グリッドジョブを実行する際に、直ちにジョブの実行を要求する第1のモードか、後でジョブを実行してもかまわない第2のモードかを指定し、第2のモードの場合は、入力された画像を一旦保存し、ジョブの依頼が可能になったときに、保存した画像に対してグリッドを用いた処理を行う。グリッドジョブを実行する際に、グループ化したホストから最適なお薦めグリッドグループを選択し、選択されたグリッドグループを用いてグリッド処理を行う。しかし、本公報の技術は、ジョブをどのようなグループに割り当てるかに着目しており、クライアントによるJobの取得可否判断などについては考慮されていない。 Furthermore, Japanese Patent Laid-Open No. 2006-48273 discloses that a grid job is input from an operation unit in an image processing system including a system capable of distributing load by grid computing and an image forming apparatus that requests a job to the grid. In this regard, a technique for providing a flexible and easy configuration for the user is disclosed. Specifically, when the grid job is executed, the first mode in which the job execution is requested immediately or the second mode in which the job may be executed later is specified. In this case, the input image is temporarily saved, and when the job can be requested, the saved image is processed using the grid. When executing a grid job, an optimum recommended grid group is selected from the grouped hosts, and grid processing is performed using the selected grid group. However, the technology of this publication pays attention to what group a job is assigned to, and does not take into consideration whether a client can acquire a job.
以上挙げた公開公報には上で述べたような問題がある。 The above-mentioned publications have the problems described above.
また、Push型のJob割当方法には、以下のような問題がある。すなわち、Jobが一旦コンピュータに割り当てられると、その処理が終了するか削除されない限り、そのコンピュータに留まり他のコンピュータがそのジョブを処理する事が出来ず、また、同じJobを同時に別々のコンピュータに処理させたとしても、その処理結果を管理するJobを新たに定義しなければならなかった。特に、より処理能力の高いコンピュータが空き状態になったにも関らず、遅いコンピュータで処理を継続するしかないため、全体の処理時間が短縮できないという問題があった。例えば、処理能力100を要するJob(A)が他のコンピュータが忙しく、処理能力10しかないコンピュータ(A)に割り当てられたとする。処理能力200のコンピュータ(B)が空き状態になったが、Job(A)は未だ30程度しか終わっていない場合、従来はそのままコンピュータ(A)で処理を継続するしかなかった。コンピュータ(A)で処理が30の時点でコンピュータ(B)に割り当てれば、コンピュータ(A)と較べ処理能力50のJobとして処理でき、コンピュータ(A)で残り処理70を処理する時間より短時間で処理できるはずであるが、そのような処理はできない。 In addition, the Push type job allocation method has the following problems. In other words, once a job is assigned to a computer, it cannot be processed by another computer unless the processing is completed or deleted, and another job cannot be processed by another computer, and the same job can be processed simultaneously by different computers. Even if it was made to do, the job which manages the processing result had to be newly defined. In particular, there is a problem that the entire processing time cannot be shortened because the processing must be continued on a slow computer even though a computer with higher processing capacity becomes empty. For example, suppose that Job (A) requiring processing capacity 100 is assigned to a computer (A) having only processing capacity 10 because other computers are busy. When the computer (B) with the processing capacity of 200 is in an empty state, but the job (Job A) has only been about 30, the computer (A) can only continue the processing in the past. If the computer (A) assigns the processing to the computer (B) at 30, it can be processed as a job with a processing capacity of 50 compared to the computer (A), and is shorter than the time for processing the remaining processing 70 in the computer (A). Should be able to handle it, but it cannot.
また別の問題として、コンピュータに障害が発生した場合、それを認識するまでに時間がかかり、その分Jobの割り当てが非効率になるという問題もある。Push型のJob割当方法は、一般的に、コンピュータの状態を一元的に管理している。その一般的な方法として各コンピュータからそれぞれの状態に関するデータを管理元に定期的に通知する方法が採用される。障害を早く検出するにはこの定期的な通知の間隔を短くすれば良いが、ネットワーク負荷が高くなり、また、通知元及び通知先のコンピュータの負荷も上がるという問題もある。 Another problem is that when a failure occurs in a computer, it takes time to recognize the failure, and job assignment becomes inefficient accordingly. The Push type job assignment method generally manages the state of a computer in an integrated manner. As a general method, a method of regularly notifying the management source of data relating to each state from each computer is adopted. In order to detect a failure early, the periodic notification interval may be shortened. However, there is a problem that the network load increases and the load on the notification source computer and the notification destination computer also increases.
一方、Pull型のJob割当方法においては、コンピュータの処理能力の一元的管理は行われておらず、各コンピュータのJob取得は各コンピュータのポリシーに任されており、Jobの要求する処理能力とコンピュータの処理能力との組み合わせが必ずしも適切に行われないという問題がある。例えば、Job数がコンピュータの数より多い場合においてJobの取得を各コンピュータのポリシーに全て任せてしまうと、同じJobを複数のコンピュータで取得してしまう場合や、コンピュータがまったく割り当てられないJobが発生してしまうという問題もある。 On the other hand, in the pull type job allocation method, centralized management of computer processing capacity is not performed, and job acquisition of each computer is left to the policy of each computer. There is a problem that the combination with the processing capability is not always appropriately performed. For example, if the number of jobs is greater than the number of computers, and if all the job acquisition is left to the policy of each computer, the same job may be acquired by a plurality of computers, or a job in which computers are not assigned at all will occur. There is also the problem of doing.
以上のように従来の方式では、Jobとコンピュータの状態に応じたフレキシブルなJob割当の切り替えができておらず、結果として処理時間が長くかかってしまうといった問題が生ずる場合がある。特に、Push型のJob割当方法及びPull型のJob割当方法の良い部分がうまく利用できていない。 As described above, in the conventional method, flexible job allocation switching according to the status of the job and the computer cannot be performed, and as a result, there may be a problem that it takes a long processing time. In particular, the good parts of the Push-type job assignment method and the Pull-type job assignment method have not been successfully used.
従って、本発明の目的は、フレキシブルなJob割当を可能とする新規な技術を提供することである。 Accordingly, an object of the present invention is to provide a novel technique that enables flexible job assignment.
また、本発明の他の目的は、処理時間の短縮を可能とする新規なJob割当技術を提供することである。 Another object of the present invention is to provide a new job assignment technique that can shorten the processing time.
さらに、本発明の他の目的は、Jobを処理するコンピュータの負荷状態を集中的に管理することなくJob等の状態に応じて動的にJobの割り当てを切り替えるための技術を提供することである。 Furthermore, another object of the present invention is to provide a technique for dynamically switching job allocation according to the status of the job or the like without centrally managing the load status of the computer that processes the job. .
本発明の第1の態様に係るジョブ割当方法は、ジョブを処理する各コンピュータの負荷状態を管理することなく当該各コンピュータにジョブを割り当てるジョブ割当方法であって、各コンピュータの構成のデータを格納するプロファイル管理データ格納部(例えば実施の形態におけるサーバプロファイル管理テーブル)を用いて、生成されたジョブの処理に必要な構成を有するコンピュータを特定する特定ステップと、ジョブの生成状態に対応してジョブに対するコンピュータの割当態様に関するデータ(例えば実施の形態におけるJob生成通知条件)を格納する割当態様データ格納部(例えば実施の形態におけるJob生成通知定義ファイル)を用いて、現在のジョブの生成状態に応じた、ジョブの割当態様を特定するステップと、特定された上記ジョブの割当態様に従って、特定ステップにおいて特定されたコンピュータのうち少なくともいずれかにジョブ生成通知を送信する送信ステップと、ジョブ生成通知に対する応答としてジョブ取得拒否通知を受信した場合、生成されたジョブの処理に必要な構成を有するコンピュータへのジョブ生成通知の送信を再実施する再送ステップとを含む。 A job assignment method according to a first aspect of the present invention is a job assignment method for assigning a job to each computer without managing the load state of each computer that processes the job, and storing data of the configuration of each computer Using a profile management data storage unit (for example, a server profile management table in the embodiment) to identify a computer having a configuration necessary for processing the generated job, and a job corresponding to the job generation state By using an allocation mode data storage unit (for example, job generation notification definition file in the embodiment) that stores data relating to a computer allocation mode (for example, job generation notification condition in the embodiment) according to the current job generation state Identifying the job assignment mode and According to the above job allocation mode, a transmission step for transmitting a job generation notification to at least one of the computers specified in the specific step and a job acquisition rejection notification as a response to the job generation notification are generated. A retransmission step for re-executing the transmission of the job generation notification to a computer having a configuration necessary for job processing.
このようにジョブを処理する各コンピュータの負荷状態を管理せずに、またジョブ割当通知ではなくジョブ生成通知を送付することによって、マスタコンピュータの処理負荷を削減することができる。なお、その結果として、ジョブ生成通知に対する応答としてジョブ取得拒否通知を受信することがあるが、その場合にはいずれかのコンピュータがジョブを取得するようにジョブ生成通知を送信する。また、ジョブの割当態様に従って、1又は複数のコンピュータにジョブ生成通知が送信されるので、フレキシブルなジョブ割当が行われる。 In this way, the processing load of the master computer can be reduced by not managing the load status of each computer that processes jobs and sending a job generation notification instead of a job allocation notification. As a result, a job acquisition rejection notification may be received as a response to the job generation notification. In this case, the job generation notification is transmitted so that one of the computers acquires the job. In addition, since the job generation notification is transmitted to one or a plurality of computers according to the job allocation mode, flexible job allocation is performed.
また、本発明の第1の態様において、ジョブ生成通知に対する応答としてジョブ取得通知を受信した場合には、生成されたジョブに対応してジョブ取得通知の送信元のコンピュータの識別情報をジョブ割当データ格納部(例えば実施の形態におけるJob割当管理テーブル)に登録するステップと、ジョブ割当データ格納部を検索して、処理結果が未登録のジョブを抽出するステップと、割当態様データ格納部を用いて、抽出時点のジョブの生成状態に応じた、ジョブの割当態様を特定するステップと、特定された上記ジョブの割当態様が処理結果が未登録のジョブにコンピュータの重複割当を許容するものである場合、処理結果が未登録のジョブの処理に必要な構成を有し且つ処理結果が未登録のジョブを現在処理しているコンピュータより性能が高いコンピュータへジョブ生成通知を送信するステップとをさらに含むようにしてもよい。 In the first aspect of the present invention, when the job acquisition notification is received as a response to the job generation notification, the identification information of the computer that is the transmission source of the job acquisition notification corresponding to the generated job is set as job allocation data. Registering in a storage unit (for example, job allocation management table in the embodiment), searching the job allocation data storage unit, extracting a job whose processing result is not registered, and using an allocation mode data storage unit The step of specifying the job assignment mode according to the job generation state at the time of extraction, and the specified job assignment mode allow duplicate assignment of computers to unregistered jobs A computer that has a configuration necessary for processing unregistered jobs and that is currently processing unregistered jobs. It may further include the step of transmitting the job generation notification performance to higher computer.
一旦ジョブを処理するコンピュータが決まったとしても、その後の状態変化に応じて再度コンピュータを割り当てれば、処理時間を短縮できる可能性があるためである。 This is because even if a computer that processes a job is decided once, if a computer is assigned again according to a subsequent state change, the processing time may be shortened.
また、上で述べたジョブの割当態様に関するデータが、ジョブの数がコンピュータの数以上である状態の場合には、同一ジョブに複数のコンピュータの割り当てを禁止し、ジョブの数がコンピュータの数未満である状態の場合には、同一ジョブに複数のコンピュータの割り当てを許容することを表すデータを含むようにしてもよい。繁忙に応じてコンピュータの重複割当の可否を判定するものである。 In addition, when the data related to the job assignment mode described above is in a state where the number of jobs is equal to or greater than the number of computers, the assignment of multiple computers to the same job is prohibited, and the number of jobs is less than the number of computers. In such a state, data representing that the assignment of a plurality of computers to the same job is allowed may be included. The computer determines whether or not the computer can be assigned in accordance with the busy schedule.
さらに、上で述べた再送ステップが、ジョブの割当態様が、生成されたジョブに1のコンピュータを割り当てることを示している場合、送信ステップ以降のステップ又は特定ステップで特定されたコンピュータの全てからジョブ取得拒否通知を受信した場合には特定ステップ以降のステップを実施するステップを含むようにしてもよい。なお、ジョブ取得拒否通知の受信は、所定期間内にジョブ取得通知を受信しない場合と等価とする場合もある。 Further, when the retransmission step described above indicates that the job assignment mode assigns one computer to the generated job, the job from all the computers specified in the steps after the transmission step or in the specific step When an acquisition refusal notification is received, a step of performing the steps after the specific step may be included. The reception of the job acquisition rejection notification may be equivalent to the case where the job acquisition notification is not received within a predetermined period.
また、上で述べた再送ステップが、ジョブの割当態様が、生成されたジョブに複数のコンピュータを割り当てることを示している場合、特定ステップで特定されたコンピュータの全てからジョブ取得拒否通知を受信した際には特定ステップ以降のステップを実施するステップを含むようにしてもよい。少なくとも1のコンピュータがジョブを処理するようにするためである。 In addition, when the retransmission step described above indicates that the job assignment mode assigns a plurality of computers to the generated job, a job acquisition rejection notice has been received from all of the computers specified in the specific step. In some cases, a step including steps after the specific step may be included. This is because at least one computer processes the job.
さらに、本発明の第1の態様において、生成されたジョブの優先度が所定の基準より高いか判断するステップと、生成されたジョブの優先度が所定の基準より高い場合には、ジョブの割当態様にかかわらず、特定ステップにおいて特定された複数のコンピュータにジョブ生成通知を送信する送信ステップとをさらに含むようにしてもよい。このようにすることによって、優先度の高いジョブは処理時間の短縮が見込める。 Further, in the first aspect of the present invention, the step of determining whether the priority of the generated job is higher than a predetermined reference, and if the priority of the generated job is higher than the predetermined reference, job assignment Regardless of the mode, a transmission step of transmitting a job generation notification to a plurality of computers specified in the specifying step may be further included. By doing so, it is possible to shorten the processing time of a high-priority job.
また、上で述べた特定ステップが、生成されたジョブで用いられるアプリケーションの実行数がライセンス総数より少ないか判断するステップと、生成されたジョブで用いられるアプリケーションの実行数がライセンス総数より少ないと判断された場合、当該アプリケーションがインストールされており且つ生成されたジョブの処理に必要な他の構成を有するコンピュータを特定するステップとを含むようにしてもよい。浮動ライセンスの場合にはこのように対処することができる。なお、固定ライセンスの場合にはコンピュータの構成で判断できる。 Also, the specific steps described above determine whether the number of applications executed in the generated job is less than the total number of licenses, and determine that the number of application executions used in the generated jobs is less than the total number of licenses. If so, it may include a step of identifying a computer having the application installed therein and having another configuration necessary for processing the generated job. This can be dealt with in the case of a floating license. In the case of a fixed license, it can be determined by the configuration of the computer.
また、生成されたジョブが、計算処理数が指定された多数決型のジョブである場合、各計算処理を1つのジョブとして取り扱うようにする場合もある。例えば、奇数個のジョブを生成し、それぞれについてコンピュータを割り当てれば、その結果を多数決で特定することができるようになる。 In addition, when the generated job is a majority type job in which the number of calculation processes is designated, each calculation process may be handled as one job. For example, if an odd number of jobs are generated and a computer is assigned to each job, the result can be specified by majority vote.
さらに、生成されたジョブが、計算処理数が無指定の多数決型のジョブである場合、ジョブの割当態様にかかわらず、特定ステップにおいて特定された所定数のコンピュータにジョブ生成通知を送信するステップをさらに含むようにしてもよい。 Further, when the generated job is a majority type job with an unspecified number of calculation processes, the step of transmitting a job generation notification to the predetermined number of computers specified in the specific step regardless of the job assignment mode. Further, it may be included.
本発明の第2の態様に係るジョブ割当方法は、各コンピュータの構成のデータを格納するプロファイル管理データ格納部を用いて、生成されたジョブの処理に必要な構成を有するコンピュータを特定する特定ステップと、ジョブの生成状態に対応してジョブに対するコンピュータの割当態様に関するデータを格納する割当態様データ格納部を用いて、現在のジョブの生成状態に応じた、ジョブの割当態様を特定するステップと、特定された上記ジョブの割当態様に従って、特定ステップにおいて特定されたコンピュータのうち少なくともいずれかにジョブ生成通知を送信する送信ステップと、ジョブ生成通知に対する応答としてジョブ取得通知を受信した場合には、生成されたジョブに対応してジョブ取得通知の送信元のコンピュータの識別情報をジョブ割当データ格納部に登録するステップと、ジョブ割当データ格納部を検索して、処理結果が未登録のジョブを抽出するステップと、割当態様データ格納部を用いて、抽出時点のジョブの生成状態に応じた、ジョブの割当態様を特定するステップと、特定された上記ジョブの割当態様が処理結果が未登録のジョブにコンピュータの重複割当を許容するものである場合、処理結果が未登録のジョブの処理に必要な構成を有し且つ処理結果が未登録のジョブを現在処理しているコンピュータより性能が高いコンピュータへジョブ生成通知を送信するステップとを含む。このようにジョブの割当態様を動的に切り替えて処理時間の短縮を図るものである。 The job assigning method according to the second aspect of the present invention uses a profile management data storage unit that stores data of the configuration of each computer to specify a computer having a configuration necessary for processing a generated job. Identifying a job assignment mode according to a current job generation state using an assignment mode data storage unit that stores data relating to a computer assignment mode for a job corresponding to the job generation state; According to the specified job allocation mode, a transmission step for transmitting a job generation notification to at least one of the computers specified in the specific step, and a job acquisition notification as a response to the job generation notification are generated. The computer from which the job acquisition notification is sent Information is registered in the job allocation data storage unit, the job allocation data storage unit is searched, a job whose processing result is not registered is extracted, and the allocation mode data storage unit is used to The step of specifying the job assignment mode according to the generation state, and if the specified job assignment mode allows the computer to be assigned to an unregistered job, the processing result is not registered. And a step of transmitting a job generation notification to a computer having a configuration necessary for the processing of the job and a higher performance than a computer currently processing a job whose processing result is not registered. In this way, the job allocation mode is dynamically switched to shorten the processing time.
なお、本方法をコンピュータに実行させるためのプログラムを作成することができ、このプログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークなどを介してデジタル信号として配信される場合もある。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。 A program for causing a computer to execute this method can be created, and this program is stored in a storage medium or storage device such as a flexible disk, a CD-ROM, a magneto-optical disk, a semiconductor memory, or a hard disk. . Moreover, it may be distributed as a digital signal via a network or the like. The intermediate processing result is temporarily stored in a storage device such as a main memory.
本発明によれば、フレキシブルなJob割当が可能となる。 According to the present invention, flexible job assignment is possible.
また、本発明の他の側面によれば、処理時間の短縮が可能となる。 According to another aspect of the present invention, the processing time can be shortened.
さらに、本発明の他の側面によれば、Jobを処理するコンピュータの負荷状態を集中的に管理することなくJob等の状態に応じて動的にJobの割り当てを切り替えることができるようになる。 Furthermore, according to another aspect of the present invention, job assignment can be dynamically switched according to the status of the job or the like without centrally managing the load status of the computer that processes the job.
図1に本発明の一実施の形態におけるシステム概要を示す。例えば、ネットワーク11乃至13には、本実施の形態における主要な処理を実施するマスタコンピュータ3と、当該マスタコンピュータ3によって管理され且つJobの生成通知が送られるサーバA乃至Dとが接続される。ネットワーク11乃至13は、通信品質が一定でなく、また画一的でもないネットワークである。
FIG. 1 shows an outline of a system according to an embodiment of the present invention. For example, connected to the
各サーバは、CPU(Central Processing Unit)やメモリなどの使用率などを測定し、Job生成通知の諾否を判断する負荷管理部51と、負荷管理部51によるJob生成通知の諾否の基準に関するデータであるJob取得ポリシーを格納するJob取得ポリシー格納部52とを有する。各サーバは、異なる処理能力を有し、またOS(Operating System)やハードウエア・アーキテクチャも異なる。
Each server measures a usage rate of a CPU (Central Processing Unit), a memory, and the like, and determines whether the job generation notification is accepted or not, and data regarding the acceptance criterion of the job generation notification by the
また、マスタコンピュータ3は、マスタコンピュータ3により管理される各サーバのプロファイル情報を格納するサーバプロファイル管理テーブル33と、Jobを生成する処理を行うJob生成部32と、Job生成部32により生成されたJobに関するデータを格納するJob割当管理テーブル37と、Job生成通知の通知態様を規定するJob生成通知定義ファイル35と、サーバプロファイル管理テーブル33とJob割当管理テーブル37とJob生成通知定義ファイル35と用いて適切なサーバにJob生成通知を行うJob生成通知処理部34と、各サーバからプロファイル情報を受信してサーバプロファイル管理テーブル33に格納するサーバプロファイル管理部31と、Job生成通知が通知されたサーバからデータを受信して必要に応じてJob割当管理テーブル37に登録するJob割当管理部36とを有する。Job割当管理部36とJob生成通知部34とは連携して動作する。
The master computer 3 is generated by a server profile management table 33 that stores profile information of each server managed by the master computer 3, a
サーバプロファイル管理テーブル33は、図10Aに示すように、各サーバについて、Job生成通知の通知条件、OS、CPU種別、実行可能なアプリケーションなどの構成情報を格納する。特定のアプリケーションについて、システム全体で使用可能なライセンス数が決まっているが、当該ライセンス数を超えて当該特定のアプリケーションがサーバにインストールされている場合には、特定のアプリケーションについてのライセンス総数も、サーバプロファイル管理テーブル33において管理される。なお、本実施の形態では、マスタコンピュータ3による管理からはずれるサーバについては、サーバプロファイル管理テーブル33においてその項目が削除されるか又は無効化される。 As shown in FIG. 10A, the server profile management table 33 stores configuration information such as notification conditions for job generation notification, OS, CPU type, and executable application for each server. For a specific application, the number of licenses that can be used in the entire system is determined. If the number of licenses exceeds the number of licenses installed on the server, the total number of licenses for the specific application is also It is managed in the profile management table 33. In this embodiment, the server profile management table 33 deletes or invalidates a server that is not managed by the master computer 3.
Job生成通知定義ファイル35は、サーバへのJob生成通知条件を格納する。例えば、図10Bに示すように、Job割当管理テーブル37に登録されており且つ処理結果が未登録であるJob数がJobを割り当て可能なサーバ数以上である場合のJob生成通知の通知ポリシー(例えば全てのサーバに重複なしにJobを割り当てる)と、Job割当管理テーブル37に登録されており且つ処理結果が未登録であるJob数がJobを割り当て可能なサーバ数未満である場合のJob生成通知の通知ポリシー(例えば能力の低いサーバを2台残して可能であれば他の複数の空きサーバにJobを重複して割り当てる)とを格納する。なお、多数決型のJob(具体的には、計算結果が計算毎に異なり、多数決で計算結果を採用するようなJob)であって、Jobの割当が行われるべきサーバ数の指定がないJobの場合に用いられるデフォルトのサーバ数も格納されている。
The job generation
Job割当管理テーブル37は、Job生成部32によって生成されたJobのデータを図1に示すように木構造で管理する。図10Cに示すように、各Jobのデータは、Jobの処理内容(例えばCプログラム)、本Jobを取得しているサーバのリスト及びJobの状態、前後のJobID(Jobのリンク情報)、Jobの処理要件(例えばOS種別やCPU種別)、Jobの優先度、Job処理結果などを含む。Job処理結果は、処理が完了しなければ登録されない。
The job allocation management table 37 manages job data generated by the
次に、図1に示したシステムの処理内容について図2乃至図9を用いて説明する。まず、図2を用いてJob生成部32の処理について説明する。Job生成部32は、最初にユーザなどからの要求に応じてJobを1つ生成し(ステップS1)、Job割当管理テーブル37に、Jobの処理内容、Jobの処理要件及びJobの優先度などを含むJobの情報を登録する(ステップS3)。Jobに関連性がある場合には、前後のJobIDも登録する。そして、Job生成通知部34にJob(具体的にはJobID)を通知する(ステップS5)。その後、全てのJobが登録されたか判断する(ステップS7)。まだ登録すべきJobが存在している場合にはステップS1に戻り、全てのJobが登録された場合には、処理を終了する。Job生成自体は従来と同様であり、これ以上述べない。
Next, processing contents of the system shown in FIG. 1 will be described with reference to FIGS. First, the processing of the
次に、Jobをサーバに割り当てる際の処理について図3を用いて説明する。Job生成通知部34は、Job生成部32からJob生成の通知(JobIDの通知)を受信する(ステップS11)。そして、Job生成通知部34は、Job割当管理テーブル37から通知に係るJobの処理要件等を読み出す(ステップS13)。そして、サーバプロファイル管理テーブル33に対して、Jobの処理要件を満たすサーバを検索し、抽出する(ステップS15)。例えば、このステップにおいて複数のサーバを抽出しておく。なお、1つもサーバが抽出できない場合には、このステップでサーバが抽出されるようになるまで待機する。
Next, a process for assigning a job to a server will be described with reference to FIG. The job
その後、Job生成通知部34は、Job生成通知定義ファイル35から、サーバへのJob生成通知条件を読み出す(ステップS17)。上で述べたように、本実施の形態におけるJob生成通知定義ファイル35によれば、Job数がサーバ数以上か、Job数がサーバ数未満であるかで、Job割当の態様が異なる。
Thereafter, the job
そして、Job生成通知部34は、Job生成通知条件に従って、ステップS15で抽出されたサーバにJob生成通知を送信する(ステップS19)。Job生成通知は、JobIDを含み、さらにJob実行に必要なデータ全てを含む。Job生成通知部34は、1のJobに複数のサーバを割り当てるようなJob生成通知条件が適用される場合(以下、ケースAと呼ぶ)には、ステップS15で抽出されたサーバのうちJob生成通知条件に従った数のサーバにJob生成通知を送信する。一方、Job生成通知部34は、1のJobに1のサーバを割り当てるようなJob生成通知条件が適用される場合(以下、ケースBと呼ぶ)には、ステップS15で抽出されたサーバのうち最も条件の良い1のサーバにJob生成通知を送信する。なお、Job生成通知部34は、Job生成通知の送信先サーバのIDなどをJob割当管理部36に出力しておく。
Then, the job
Job生成通知を受信したサーバの処理については、図4Aを用いて説明する。まず、サーバの負荷管理部51は、Job生成通知を受信し(ステップS31)、Job取得ポリシー格納部52からJob取得ポリシーを読み出す(ステップS33)。さらに、負荷管理部51は、CPU使用率、メモリ使用率などの負荷指標を取得する(ステップS35)。本ステップの内容は従来技術と同様であるから、ここでは詳しく述べない。そして、取得した負荷指標がJob取得ポリシーに従っているか判断する(ステップS37)。例えば、CPU使用率が70%以下の時にJobを取得するといったJob取得ポリシーが規定されている場合には、CPU使用率が70%以下であるか判断する。取得した負荷指標がJob取得ポリシーに従っていないと判断された場合には、負荷管理部51は、JobIDを含むJob取得拒否通知をマスタコンピュータ3に送信する(ステップS39)。一方、取得した負荷指標がJob取得ポリシーに従っていると判断された場合には、負荷管理部51は、JobIDを含むJob取得通知をマスタコンピュータ3に送信する(ステップS41)。このような処理をJob生成通知を受信する毎に判断する。
The processing of the server that has received the job generation notification will be described with reference to FIG. 4A. First, the server
なお、負荷管理部51は、サーバプロファイル管理部31に対して、定期的に又は任意のタイミングで、自サーバがJobの割り当てを受けるか否か、プロファイル情報の更新の有無などについて通知する。サーバプロファイル管理部31は、負荷管理部51からの通知に従ってサーバプロファイル管理テーブル33を更新する。なお、サーバは、Job取得通知を送信した場合には、Jobの処理を開始し、処理が終了すれば、処理結果をJob割当管理部36に送信する。
Note that the
図3の説明に戻って、Job割当管理部36は、サーバからJob取得通知又はJob取得拒否通知を受信し(ステップS21)、Job取得拒否通知を受信したか判断する(ステップS23)。ケースAの場合には、Job生成通知の全ての送信先サーバからJob取得拒否通知を受信したか判断する。ケースBの場合には、Job生成通知の送信先サーバからJob取得拒否通知を受信したか判断する。なお、所定時間内にJob取得通知又はJob取得拒否通知を受信しない場合も、Job取得拒否通知を受信したものとして取り扱う。Job取得拒否通知を受信した場合には、ステップS15で抽出された全てのサーバについて通知を行ったか判断する(ステップS25)。ケースAの場合、ステップS23でJob生成通知の全ての送信先サーバからJob取得拒否通知を受信したと判断されているので自動的にステップS15に移行する。一方、ケースBの場合、ステップS15で複数のサーバが抽出されれば、これまでにその全てにJob生成通知を送信したか判断する。
Returning to the description of FIG. 3, the job
Job生成通知を送信していないサーバが存在する場合にはステップS19に戻る。一方、Job生成通知を送信していないサーバが存在しない場合にはステップS15に戻る。このように、Job割当管理テーブル37において、サーバが割り当てられていないJobについては、繰り返しサーバプロファイル管理テーブル33を参照して少なくとも1のサーバが割り当てられるようにする。 If there is a server that has not transmitted the job generation notification, the process returns to step S19. On the other hand, if there is no server that has not transmitted the job generation notification, the process returns to step S15. As described above, in the job assignment management table 37, for a job to which no server is assigned, at least one server is assigned with reference to the server profile management table 33 repeatedly.
なお、一度Job取得拒否通知を送信してきたサーバについては、本処理フロー中では、再度Job生成通知を送信しないように管理しても良い。 Note that a server that has once transmitted a job acquisition refusal notification may be managed so that a job generation notification is not transmitted again during this processing flow.
一方、Job取得拒否通知ではなくJob取得通知を受信した場合には、Job割当管理部36は、Job割当管理テーブル37の該当JobのデータにJob取得サーバIDを登録する(ステップS27)。ケースAの場合、1のサーバからJob取得通知を受信した場合には、そのサーバのサーバIDを登録する。複数のサーバからJob取得通知を受信した場合には、それらのサーバの全てのサーバIDを登録する。ケースBの場合には、1のサーバにJobが割り当てられたことになるので、当該サーバのサーバIDを登録する。
On the other hand, when the job acquisition notification is received instead of the job acquisition rejection notification, the job
このような処理を実施することによって、Job生成通知定義ファイル35に格納されているJob生成通知条件に応じたJob割当が行われるようになる。より具体的には、Job数が多い場合には、1のJobを1のサーバに割り当て、Job数が少ない場合には、1のJobを1以上のサーバに割り当てて、より早くJobの処理を完了したサーバの処理結果を採用することができるようになる。
By performing such processing, job allocation according to the job generation notification condition stored in the job generation
また、Job生成通知に応じるか否かは、各サーバが自ら判断するため、マスタコンピュータ3では、各サーバの稼働状況を監視する必要がない。従って、マスタコンピュータ3の処理負荷が減少する。また、サーバに障害が発生した場合には、Job取得通知が返信されないため、他のサーバにJob生成通知を送り直すこととなる。 In addition, since each server determines whether or not to accept the job generation notification, the master computer 3 does not need to monitor the operation status of each server. Accordingly, the processing load on the master computer 3 is reduced. Further, when a failure occurs in the server, the job acquisition notification is not returned, so that the job generation notification is re-sent to another server.
但し、Jobは従来のような単純な割り当てではない。本実施の形態では、サーバが自らの負荷などに基づきJob生成通知に応じてJob取得通知を送信するかJob取得拒否通知を送信するか判断した結果として、Job割り当てが決定するという点において、Pull型のJob割り当てとなっている。 However, Job is not a simple assignment as in the past. In the present embodiment, the Pull assignment is determined as a result of determining whether the server transmits a job acquisition notification or a job acquisition refusal notification according to the job generation notification based on its own load. It is a type job assignment.
なお、サーバは、Jobの処理が完了すると、Jobの処理結果をJob割当管理部36に通知する。Job割当管理部36は、Jobの処理結果を該当するJobデータに登録する。また、Job割当管理部36は、当該Jobに複数のサーバが割り当てられている場合には、そのうちの1のサーバからJobの処理結果を受信すると、他のサーバについてJobの終了を通知するJob制御通知を送信し、該当サーバにJobの処理を終了させる。処理に割り当てたリソースが無駄になるためである。
When the job processing is completed, the server notifies the job
また、上で述べた処理フローではケースAの場合でも最悪の場合1のサーバにしかJobが割り当てられない場合もある。このような状況を回避するため、2以上のサーバからJob取得通知を受信しない場合にはステップS23からステップS25に移行するようにしても良い。 In the processing flow described above, even in case A, the job may be assigned to only one server in the worst case. In order to avoid such a situation, when job acquisition notifications are not received from two or more servers, the process may proceed from step S23 to step S25.
また、図4Bに示すような処理も、図3及び図4Aのスレッドとは別スレッドで定期的に又は任意のタイミングで実行される。まず、Job生成通知部34は、Job割当管理テーブル37を検索し、処理未了のJobを抽出する(ステップS101)。処理結果が登録されていないJobを特定する。もし、処理未了のJobが存在する場合には、処理未了のJobのデータを読み出しておく。そして、処理未了のJobが存在するか判断し(ステップS103)、処理未了のJobが存在しない場合には、処理を終了する。一方、処理未了のJobが存在する場合には、Job生成通知部34は、Job割当管理テーブル37とサーバプロファイル管理テーブル33とを参照して、現在のJob割当状態を特定する(ステップS105)。すなわち、Job数とサーバ数とを特定する。そして、Job生成通知定義ファイル35に格納されているJob生成通知条件に基づき、1のJobに複数のサーバを割り当て可能な状態にあるか判断する(ステップS107)。上で述べた例では、Job数がサーバ数未満であれば1のJobに複数のサーバを割り当て可能である。Job数がサーバ数以上であるような1のJobに複数のサーバを割り当て不能な状態であれば、処理を終了する。
Also, the processing shown in FIG. 4B is executed periodically or at an arbitrary timing in a thread different from the threads in FIGS. 3 and 4A. First, the job
そして、1のJobに複数のサーバを割り当て可能な状態であると判断された場合には、Job生成通知部34は、サーバプロファイル管理テーブル33を検索し、処理未了のJobの処理要件を満たし且つ当該Jobに割り当てられているサーバより高性能なサーバ(より条件の良いサーバ。具体的には、CPUの処理速度が速いなど。)を抽出する(ステップS109)。以下の処理は、ステップS101で複数のJobが抽出された場合には各Jobについて実施する。ステップS109でサーバが抽出できたか判断し(ステップS111)、抽出できなければ処理を終了する。一方、ステップS109でサーバが抽出できた場合には、Job生成通知部34は、抽出されたサーバにJob生成通知を送信する(ステップS113)。これに対してサーバは図4Aに示した処理を実施する。そうすれば、サーバは、Job取得通知又はJob取得拒否通知をマスタコンピュータ3に送信する。
If it is determined that a plurality of servers can be assigned to one job, the job
マスタコンピュータ3のJob割当管理部36は、Job取得通知又はJob取得拒否通知をサーバから受信する(ステップS115)。そして、Job割当管理部36は、Job取得拒否通知を受信したか判断し(ステップS117)、Job取得拒否通知を受信した場合には、処理を終了する。一方、Job取得通知を受信した場合には、Job割当管理テーブル37の該当JobのデータにJob取得サーバのIDを登録する(ステップS119)。そして処理を終了する。
The job
このような処理を行うことによって、最初は能力の低いサーバしか割り当てられてられなかったが、その後Jobの数が減少したりサーバ数が増加するなどでサーバに余裕が生ずると、後からでも能力の高いサーバをそのJobに割り当てることによって、早期に処理結果を得られるようになる。なお、Jobを実施することとなったサーバがフリーズしたり、ネットワークがダウンした場合も対処可能となる。 By performing such a process, only servers with low capacity were initially allocated, but if there is room in the server due to a decrease in the number of jobs or an increase in the number of servers, the capacity can be increased later. By assigning a high server to the job, the processing result can be obtained early. Note that it is possible to cope with the case where the server that performs the job freezes or the network goes down.
次に、上で述べた処理の変形として、プログラムのライセンスをも考慮した場合の処理内容を説明する。第1の変形例として、サーバが特定のアプリケーションについて固定のライセンスを有する場合における処理を図5及び図6を用いて説明する。 Next, as a modification of the processing described above, processing contents when a program license is also considered will be described. As a first modification, processing when the server has a fixed license for a specific application will be described with reference to FIGS. 5 and 6.
まず、Job生成通知部34は、Job生成部32からJob生成の通知(JobIDの通知)を受信する(ステップS51)。そして、Job生成通知部34は、Job割当管理テーブル37から通知に係るJobの処理要件を読み出す(ステップS53)。そして、サーバプロファイル管理テーブル33に対して、Jobの処理要件を満たすサーバを検索し、抽出する(ステップS55)。例えば、このステップにおいて複数のサーバを抽出しておく。
First, the job
さらに、Job生成通知部34は、Job割当管理テーブル37を参照して、ステップS55で抽出されたサーバのうち、ライセンスを保有し且つそのライセンスのプログラムを未実行であるサーバを特定する(ステップS57)。そして、Job生成通知部34は、Job生成通知定義ファイル35から、サーバへのJob生成通知条件を読み出す(ステップS59)。
Further, the job
その後、Job生成通知部34は、Job生成通知条件に従って、ステップS57で特定されたサーバにJob生成通知を送信する(ステップS61)。Job生成通知は、JobIDを含み、さらにJob実行に必要なデータ全てを含む。Job生成通知部34は、ケースAの場合、ステップS57で特定されたサーバのうちJob生成通知条件に従った数のサーバにJob生成通知を送信する。一方、Job生成通知部34は、ケースBの場合、ステップS57で特定されたサーバのうち最も条件の良い1のサーバにJob生成通知を送信する。なお、Job生成通知部34は、Job生成通知の送信先サーバのIDなどをJob割当管理部36に出力しておく。
Thereafter, the job
一方、サーバ側の処理は、図4Aに示したものと同じである。 On the other hand, the processing on the server side is the same as that shown in FIG. 4A.
処理は端子Aを介して図6の処理に移行して、Job割当管理部36は、サーバからJob取得通知又はJob取得拒否通知を受信し(ステップS63)、Job取得拒否通知を受信したか判断する(ステップS65)。ケースAの場合には、Job生成通知の全ての送信先サーバからJob取得拒否通知を受信したか判断する。ケースBの場合には、Job生成通知の送信先サーバからJob取得拒否通知を受信したか判断する。Job取得拒否通知を受信した場合には、ステップS57で特定された全てのサーバについて通知を行ったか判断する(ステップS67)。ケースAの場合、ステップS65でJob生成通知の全ての送信先サーバからJob取得拒否通知を受信したと判断されているので自動的に端子Cを介してステップS55に移行する。一方、ケースBの場合、ステップS57で複数のサーバが特定されれば、これまでにその全てにJob生成通知を送信したか判断する。
The processing shifts to the processing of FIG. 6 via the terminal A, and the job
Job生成通知を送信していないサーバが存在する場合には端子Bを介してステップS61に戻る。一方、Job生成通知を送信していないサーバが存在しない場合には端子Cを介してステップS55に戻る。 If there is a server that has not transmitted the job generation notification, the process returns to step S61 via the terminal B. On the other hand, if there is no server that has not transmitted the job generation notification, the process returns to step S55 via the terminal C.
一方、Job取得拒否通知ではなくJob取得通知を受信した場合には、Job割当管理部36は、Job割当管理テーブル37の該当JobのデータにJob取得サーバIDを登録する(ステップS69)。ケースAの場合、1のサーバからJob取得通知を受信した場合には、そのサーバのサーバIDを登録する。複数のサーバからJob取得通知を受信した場合には、それらのサーバの全てのサーバIDを登録する。ケースBの場合には、1のサーバにJobが割り当てられたことになるので、当該サーバのサーバIDを登録する。
On the other hand, when the job acquisition notification is received instead of the job acquisition rejection notification, the job
このようにすれば、アプリケーションに固定のライセンスが割り当てられている場合に対応することができる。 In this way, it is possible to deal with a case where a fixed license is assigned to the application.
なお、図4Bの処理フローも別スレッドで実施される。 Note that the processing flow of FIG. 4B is also executed in another thread.
このようにすればアプリケーションのライセンスを考慮しなければならない場合でも対処できるようになる。 In this way, it is possible to cope with the case where the license of the application must be taken into consideration.
また、ライセンス総数より多くアプリケーションをサーバにインストールしておき、そのアプリケーションの同時実行サーバ数をライセンス総数に制限する場合には、ステップS57の代わりに以下のような処理を実施すればよい。具体的には、Job生成通知部34は、Job実行に必要なライセンス・アプリケーションを実行しているサーバ数がライセンス総数未満であるか判断する。ライセンス総数は、サーバプロファイル管理テーブル33において各アプリケーションについて管理されている。Job実行に必要なライセンス・アプリケーションを実行しているサーバ数は、Job割当管理テーブル37を検索して計数する。ここで、Job実行に必要なライセンス・アプリケーションを実行しているサーバ数がライセンス総数となっている場合には、これ以上ライセンス・アプリケーションを実行することはできないので、当該ライセンス・アプリケーションの実行がいずれかのサーバで終了するまで、待機する。
If more applications than the total number of licenses are installed on the server and the number of simultaneously executing servers of the application is limited to the total number of licenses, the following processing may be performed instead of step S57. Specifically, the job
そして、Job実行に必要なライセンス・アプリケーションを実行しているサーバ数がライセンス総数未満である場合には、Job生成通知部34は、ライセンス・アプリケーションを未実行であるサーバを抽出する。ライセンス・アプリケーションがインストールされているサーバはサーバプロファイル管理テーブル33から特定され、そのサーバがライセンス・アプリケーションを未実行であるか否かはJob割当管理テーブル37を検索することによって判断できる。
When the number of servers that are executing license applications necessary for job execution is less than the total number of licenses, the job
このようにすれば、浮動ライセンス方式を採用している場合にも対応することができる。 In this way, it is possible to cope with the case where the floating license method is adopted.
次に、Jobの優先度を考慮する場合の変形例について図7を用いて説明する。以下に説明する処理は、図3のステップS19に代わって実施する。 Next, a modified example in the case of considering the job priority will be described with reference to FIG. The process described below is performed in place of step S19 in FIG.
まず、Job生成通知部34は、Job割当管理テーブル37から、生成されたJobの優先度を取得する(ステップS71)。そして、優先度が所定値X以上であるか判断する(ステップS73)。優先すべきJobほど優先度の値が大きくなる場合に、このような判断を行い、優先すべきJobほど優先度の値が小さくなる場合には、優先度が所定値X以下であるか判断する。
First, the job
優先度が所定値X未満である場合には、Job生成通知部34は、Job生成通知条件に従って、ステップS15で抽出されたサーバにJob生成通知を送信する(ステップS75)。ステップS19の説明と同様の処理を行う。一方、優先度が所定値X以上である場合には、Job生成通知部34は、Job生成通知条件にかかわらず、ステップS15で抽出された複数のサーバに、Job生成通知を送信する(ステップS77)。すなわち、優先度が所定値X以上である場合には、ケースAと同様に、Jobの処理要件を満たす複数のサーバに当該Jobを割り当てることによって、可能な限り早期に処理結果を得るようにする。
If the priority is less than the predetermined value X, the job
このようにすれば、優先度に応じてJob割当を切り替えて、優先度が高い場合には可能な限り早期に処理結果を取得できるようになる。 In this way, job assignment is switched according to the priority, and if the priority is high, the processing result can be acquired as early as possible.
次に、計算結果が計算毎に異なり、多数決で計算結果を特定するような多数決型Jobを取り扱う変形例を図8及び図9を用いて説明する。 Next, a modified example of handling a majority type job in which the calculation results differ for each calculation and the calculation result is specified by majority decision will be described with reference to FIGS.
基本的に、Job生成部32は、図2のステップS3の代わりに図8の処理を行う。まず、Job生成部32は、生成されたJobが多数決型であるか判断する(ステップS81)。生成されたJobが多数決型でない場合には、通常どおりJobのデータを、Job割当管理テーブル37に登録する(ステップS83)。そして元の処理に戻る。
Basically, the
一方、生成されたJobが多数決型である場合には、Job数の指定があるか判断する(ステップS85)。Job数の指定がない場合には、指定数なしの多数決型Jobとして、Jobのデータを、Job割当管理テーブル37に登録する(ステップS87)。そして元の処理に戻る。 On the other hand, if the generated job is of the majority type, it is determined whether the number of jobs is specified (step S85). If the number of jobs is not specified, the job data is registered in the job assignment management table 37 as a majority type job with no specified number (step S87). Then, the process returns to the original process.
また、Job数の指定がある場合には、指定Job数のJobのデータを、Job割当管理テーブル37に登録する(ステップS89)。Job割当管理テーブル37には、指定Job数のJobのデータを各々並列的な関係として登録する。より具体的には、親ノードが多数決型Jobの全体に関するノードで、個々のJobについては当該親ノードの子ノードとして並列(すなわち同列)に配置される。そして元の処理に戻る。 If the number of jobs is specified, the job data for the specified number of jobs is registered in the job allocation management table 37 (step S89). In the job assignment management table 37, the data of the specified number of jobs is registered as a parallel relationship. More specifically, the parent node is a node related to the entire majority type job, and each job is arranged in parallel (that is, in the same row) as a child node of the parent node. Then, the process returns to the original process.
このようにJob数が指定されていれば、個々のJobをJob割当管理テーブル37に登録する。一方、Job数が指定されていなければ、指定数なしの多数決型JobとしてJobを登録し、実際にJob生成通知を送信する際に、所定数のサーバにJobが割り当てられるようにする。 If the number of jobs is specified in this way, each job is registered in the job assignment management table 37. On the other hand, if the number of jobs is not specified, the job is registered as a majority-type job with no specified number, and when a job generation notification is actually transmitted, the jobs are assigned to a predetermined number of servers.
次に、このような多数決型Jobの場合のJob通知処理について図9を用いて説明する。Job生成通知部34は、ステップS19の代わりに以下の処理を実施する。
Next, job notification processing in the case of such a majority type job will be described with reference to FIG. The job
まず、Job生成通知部34は、Job割当管理テーブル37から読み出したJobが指定数なしの多数決型Jobである判断する(ステップS91)。指定数なしの多数決型Jobでない場合には、Job生成通知部34は、Job生成通知条件に従って、ステップS15で特定されたサーバに送信する(ステップS93)。なお、子ノードについてのみ通常どおり処理する。そして元の処理に戻る。
First, the job
一方、指定数なし多数決型Jobである場合には、Job生成通知定義ファイル35に規定されたデフォルトの数のサーバに、Job生成通知を送信する(ステップS95)。なお、1つでもJob取得拒否通知を受け取った場合には、代替となるサーバにJob生成通知を送信する。また、Job割当管理部36は、多数決型Jobの計算結果の集計を行ってJob割当管理テーブル37に登録する。指定数ありの多数決型Jobの場合には、子ノードにそれぞれの処理結果を登録し、親ノードにJob割当管理部36の集計結果を登録する。
On the other hand, if it is a majority-type job without a designated number, a job generation notification is transmitted to the default number of servers defined in the job generation notification definition file 35 (step S95). When at least one job acquisition rejection notification is received, a job generation notification is transmitted to an alternative server. Further, the job
このようにすれば多数決型Jobでも簡単に取り扱うことができるようになる。 In this way, the majority job can be easily handled.
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば図1に示した機能ブロック図は、必ずしも実際のプログラム・モジュール構成に対応しない。また、処理フローについても同様の効果を奏する場合には、処理ステップの順番を入れ替えたり並行して実施することも可能である。 Although the embodiment of the present invention has been described above, the present invention is not limited to this. For example, the functional block diagram shown in FIG. 1 does not necessarily correspond to an actual program module configuration. Further, when the same effect is obtained with respect to the processing flow, it is also possible to change the order of the processing steps or to execute it in parallel.
また、マスタコンピュータ3についても複数のコンピュータにより実施される場合もある。 The master computer 3 may also be implemented by a plurality of computers.
さらに、Job生成通知定義ファイル35に格納されるJob生成通知条件については1つの例のみ示したが、このJob生成通知条件を変更することによって、様々な態様でJob生成通知を行うことができるようになる。例えば、上で述べた例ではJob数とサーバ数とで2段階の切り替えを行っていたが、より多くの段階で処理を切り替えるようにしても良い。また、別のパラメータを導入して処理を切り替えるようにしてもよい。さらにJob生成通知を送信する順番などについての条件が登録される場合もある。
Further, only one example of the job generation notification condition stored in the job generation
なお、マスタコンピュータ3及び各サーバは、コンピュータ装置であって、図11に示すように当該コンピュータ装置においては、メモリ2501(記憶部)とCPU2503(処理部)とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS)及びWebブラウザを含むアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。このようなコンピュータは、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
The master computer 3 and each server are computer devices. In the computer device, a memory 2501 (storage unit), a CPU 2503 (processing unit), and a hard disk drive (HDD) 2505 are displayed as shown in FIG. A
(付記1)
ジョブを処理する各コンピュータの負荷状態を管理することなく当該各コンピュータにジョブを割り当てるジョブ割当プログラムであって、
前記各コンピュータの構成のデータを格納するプロファイル管理データ格納部を用いて、生成されたジョブの処理に必要な構成を有するコンピュータを特定する特定ステップと、
ジョブの生成状態に対応して前記ジョブに対するコンピュータの割当態様に関するデータを格納する割当態様データ格納部を用いて、現在のジョブの生成状態に応じた、前記ジョブの割当態様を特定するステップと、
特定された前記ジョブの割当態様に従って、前記特定ステップにおいて特定されたコンピュータのうち少なくともいずれかにジョブ生成通知を送信する送信ステップと、
前記ジョブ生成通知に対する応答としてジョブ取得拒否通知を受信した場合、生成された前記ジョブの処理に必要な構成を有するコンピュータへのジョブ生成通知の送信を再実施する再送ステップと、
を、マスタコンピュータに実行させるためのジョブ割当プログラム。
(Appendix 1)
A job assignment program that assigns a job to each computer without managing the load state of each computer that processes the job,
A specifying step of specifying a computer having a configuration necessary for processing the generated job using a profile management data storage unit that stores data of the configuration of each computer;
Identifying an assignment mode of the job according to a current job generation state, using an assignment mode data storage unit that stores data relating to a computer assignment mode for the job corresponding to a job generation state;
A transmission step of transmitting a job generation notification to at least one of the computers identified in the identifying step according to the identified job assignment mode;
When a job acquisition refusal notification is received as a response to the job generation notification, a retransmission step for re-executing the transmission of the job generation notification to a computer having a configuration necessary for processing the generated job;
Is a job assignment program for causing a master computer to execute
(付記2)
前記ジョブ生成通知に対する応答としてジョブ取得通知を受信した場合には、生成された前記ジョブに対応して前記ジョブ取得通知の送信元のコンピュータの識別情報をジョブ割当データ格納部に登録するステップと、
前記ジョブ割当データ格納部を検索して、処理結果が未登録のジョブを抽出するステップと、
前記割当態様データ格納部を用いて、抽出時点のジョブの生成状態に応じた、前記ジョブの割当態様を特定するステップと、
特定された前記ジョブの割当態様が前記処理結果が未登録のジョブにコンピュータの重複割当を許容するものである場合、前記処理結果が未登録のジョブの処理に必要な構成を有し且つ前記処理結果が未登録のジョブを現在処理しているコンピュータより性能が高いコンピュータへジョブ生成通知を送信するステップと、
をさらにマスタコンピュータに実行させる付記1記載のジョブ割当プログラム。
(Appendix 2)
When receiving a job acquisition notification as a response to the job generation notification, registering identification information of a computer that is the transmission source of the job acquisition notification in a job allocation data storage unit corresponding to the generated job;
Searching the job assignment data storage unit to extract a job whose processing result is not registered;
Identifying the job allocation mode according to the job generation state at the time of extraction using the allocation mode data storage unit;
When the specified job assignment mode is one that allows duplicate assignment of computers to unregistered jobs, the processing result has a configuration necessary for processing unregistered jobs and the processing Sending a job generation notification to a computer with higher performance than the computer currently processing the unregistered job;
The job assignment program according to
(付記3)
前記ジョブの割当態様に関するデータが、
前記ジョブの数が前記コンピュータの数以上である状態の場合には、同一ジョブに複数のコンピュータの割り当てを禁止し、
前記ジョブの数が前記コンピュータの数未満である状態の場合には、同一ジョブに複数のコンピュータの割り当てを許容する
ことを表すデータを含む付記1記載のジョブ割当プログラム。
(Appendix 3)
Data relating to the job allocation mode is
If the number of jobs is equal to or greater than the number of computers, the assignment of multiple computers to the same job is prohibited,
The job assignment program according to
(付記4)
前記再送ステップが、
前記ジョブの割当態様が、生成された前記ジョブに1のコンピュータを割り当てることを示している場合、前記送信ステップ以降のステップ又は前記特定ステップで特定されたコンピュータの全てから前記ジョブ取得拒否通知を受信した場合には前記特定ステップ以降のステップを実施するステップ
を含む付記1記載のジョブ割当プログラム。
(Appendix 4)
The retransmission step comprises:
When the job assignment mode indicates that one computer is assigned to the generated job, the job acquisition refusal notification is received from all the computers specified in the steps after the transmission step or in the specific step. The job assignment program according to
(付記5)
前記再送ステップが、
前記ジョブの割当態様が、生成された前記ジョブに複数のコンピュータを割り当てることを示している場合、前記特定ステップで特定されたコンピュータの全てから前記ジョブ取得拒否通知を受信した際には前記特定ステップ以降のステップを実施するステップ
を含む付記1記載のジョブ割当プログラム。
(Appendix 5)
The retransmission step comprises:
When the job assignment mode indicates that a plurality of computers are assigned to the generated job, the specifying step is performed when the job acquisition rejection notification is received from all of the computers specified in the specifying step. The job assignment program according to
(付記6)
生成された前記ジョブの優先度が所定の基準より高いか判断するステップと、
生成された前記ジョブの優先度が所定の基準より高い場合には、前記ジョブの割当態様にかかわらず、前記特定ステップにおいて特定された複数のコンピュータにジョブ生成通知を送信する送信ステップと、
をさらに含む付記1記載のジョブ割当プログラム。
(Appendix 6)
Determining whether the priority of the generated job is higher than a predetermined reference;
When the priority of the generated job is higher than a predetermined reference, regardless of the job allocation mode, a transmission step of transmitting a job generation notification to a plurality of computers specified in the specifying step;
The job assignment program according to
(付記7)
前記特定ステップが、
生成された前記ジョブで用いられるアプリケーションの実行数がライセンス総数より少ないか判断するステップと、
生成された前記ジョブで用いられるアプリケーションの実行数がライセンス総数より少ないと判断された場合、当該アプリケーションがインストールされており且つ生成された前記ジョブの処理に必要な他の構成を有するコンピュータを特定するステップと、
を含む付記1記載のジョブ割当プログラム。
(Appendix 7)
The specific step includes
Determining whether the number of executions of applications used in the generated job is less than the total number of licenses;
When it is determined that the number of applications executed in the generated job is less than the total number of licenses, the computer in which the application is installed and having another configuration necessary for processing the generated job is specified. Steps,
The job allocation program according to
(付記8)
生成された前記ジョブが、計算処理数が指定された多数決型のジョブである場合、各前記計算処理を1つの前記ジョブとして取り扱うことを特徴とする付記1記載のジョブ割当プログラム。
(Appendix 8)
The job assignment program according to
(付記9)
生成された前記ジョブが、計算処理数が無指定の多数決型のジョブである場合、前記ジョブの割当態様にかかわらず、前記特定ステップにおいて特定された所定数のコンピュータにジョブ生成通知を送信するステップ、
をさらに含む付記1記載のジョブ割当プログラム。
(Appendix 9)
A step of transmitting a job generation notification to a predetermined number of computers specified in the specifying step, regardless of the job assignment mode, when the generated job is a majority type job with an unspecified number of calculation processes; ,
The job assignment program according to
(付記10)
ジョブを処理する各コンピュータの負荷状態を管理することなく当該各コンピュータにジョブを割り当てるジョブ割当プログラムであって、
前記各コンピュータの構成のデータを格納するプロファイル管理データ格納部を用いて、生成されたジョブの処理に必要な構成を有するコンピュータを特定する特定ステップと、
ジョブの生成状態に対応して前記ジョブに対するコンピュータの割当態様に関するデータを格納する割当態様データ格納部を用いて、現在のジョブの生成状態に応じた、前記ジョブの割当態様を特定するステップと、
特定された前記ジョブの割当態様に従って、前記特定ステップにおいて特定されたコンピュータのうち少なくともいずれかにジョブ生成通知を送信する送信ステップと、
前記ジョブ生成通知に対する応答としてジョブ取得通知を受信した場合には、生成された前記ジョブに対応して前記ジョブ取得通知の送信元のコンピュータの識別情報をジョブ割当データ格納部に登録するステップと、
前記ジョブ割当データ格納部を検索して、処理結果が未登録のジョブを抽出するステップと、
前記割当態様データ格納部を用いて、抽出時点のジョブの生成状態に応じた、前記ジョブの割当態様を特定するステップと、
特定された前記ジョブの割当態様が前記処理結果が未登録のジョブにコンピュータの重複割当を許容するものである場合、前記処理結果が未登録のジョブの処理に必要な構成を有し且つ前記処理結果が未登録のジョブを現在処理しているコンピュータより性能が高いコンピュータへジョブ生成通知を送信するステップと、
を、マスタコンピュータに実行させるためのジョブ割当プログラム。
(Appendix 10)
A job assignment program that assigns a job to each computer without managing the load state of each computer that processes the job,
A specifying step of specifying a computer having a configuration necessary for processing the generated job using a profile management data storage unit that stores data of the configuration of each computer;
Identifying an assignment mode of the job according to a current job generation state, using an assignment mode data storage unit that stores data relating to a computer assignment mode for the job corresponding to a job generation state;
A transmission step of transmitting a job generation notification to at least one of the computers identified in the identifying step according to the identified job assignment mode;
When receiving a job acquisition notification as a response to the job generation notification, registering identification information of a computer that is the transmission source of the job acquisition notification in a job allocation data storage unit corresponding to the generated job;
Searching the job assignment data storage unit to extract a job whose processing result is not registered;
Identifying the job allocation mode according to the job generation state at the time of extraction using the allocation mode data storage unit;
When the specified job assignment mode is one that allows duplicate assignment of computers to unregistered jobs, the processing result has a configuration necessary for processing unregistered jobs and the processing Sending a job generation notification to a computer with higher performance than the computer currently processing the unregistered job;
Is a job assignment program for causing a master computer to execute
(付記11)
ジョブを処理する各コンピュータの負荷状態を管理することなく当該各コンピュータにジョブを割り当てるジョブ割当方法であって、
前記各コンピュータの構成のデータを格納するプロファイル管理データ格納部を用いて、生成されたジョブの処理に必要な構成を有するコンピュータを特定する特定ステップと、
ジョブの生成状態に対応して前記ジョブに対するコンピュータの割当態様に関するデータを格納する割当態様データ格納部を用いて、現在のジョブの生成状態に応じた、前記ジョブの割当態様を特定するステップと、
特定された前記ジョブの割当態様に従って、前記特定ステップにおいて特定されたコンピュータのうち少なくともいずれかにジョブ生成通知を送信する送信ステップと、
前記ジョブ生成通知に対する応答としてジョブ取得拒否通知を受信した場合、生成された前記ジョブの処理に必要な構成を有するコンピュータへのジョブ生成通知の送信を再実施する再送ステップと、
を含み、マスタコンピュータに実行されるジョブ割当方法。
(Appendix 11)
A job assignment method for assigning a job to each computer without managing the load state of each computer that processes the job,
A specifying step of specifying a computer having a configuration necessary for processing the generated job using a profile management data storage unit that stores data of the configuration of each computer;
Identifying an assignment mode of the job according to a current job generation state, using an assignment mode data storage unit that stores data relating to a computer assignment mode for the job corresponding to a job generation state;
A transmission step of transmitting a job generation notification to at least one of the computers identified in the identifying step according to the identified job assignment mode;
When a job acquisition refusal notification is received as a response to the job generation notification, a retransmission step for re-executing the transmission of the job generation notification to a computer having a configuration necessary for processing the generated job;
A job assignment method executed on a master computer.
(付記12)
ジョブを処理する各コンピュータの負荷状態を管理することなく当該各コンピュータにジョブを割り当てるジョブ割当装置であって、
前記各コンピュータの構成のデータを格納するプロファイル管理データ格納部を用いて、生成されたジョブの処理に必要な構成を有するコンピュータを特定する特定手段と、
ジョブの生成状態に対応して前記ジョブに対するコンピュータの割当態様に関するデータを格納する割当態様データ格納部を用いて、現在のジョブの生成状態に応じた、前記ジョブの割当態様を特定する手段と、
特定された前記ジョブの割当態様に従って、前記特定ステップにおいて特定されたコンピュータのうち少なくともいずれかにジョブ生成通知を送信する送信手段と、
前記ジョブ生成通知に対する応答としてジョブ取得拒否通知を受信した場合、生成された前記ジョブの処理に必要な構成を有するコンピュータへのジョブ生成通知の送信を再実施する再送手段と、
を有するジョブ割当装置。
(Appendix 12)
A job assignment device that assigns a job to each computer without managing the load state of each computer that processes the job,
Identifying means for identifying a computer having a configuration necessary for processing a generated job using a profile management data storage unit that stores data of the configuration of each computer;
Means for specifying the job allocation mode according to the current job generation status, using an allocation mode data storage unit that stores data relating to a computer allocation mode for the job corresponding to the job generation status;
Transmitting means for transmitting a job generation notification to at least one of the computers identified in the identifying step according to the identified job assignment mode;
When a job acquisition refusal notification is received as a response to the job generation notification, a retransmission unit that re-executes transmission of the job generation notification to a computer having a configuration necessary for processing the generated job;
A job allocation apparatus.
(付記13)
ジョブを処理する各コンピュータの負荷状態を管理することなく当該各コンピュータにジョブを割り当てるジョブ割当装置であって、
前記各コンピュータの構成のデータを格納するプロファイル管理データ格納部を用いて、生成されたジョブの処理に必要な構成を有するコンピュータを特定する特定手段と、
ジョブの生成状態に対応して前記ジョブに対するコンピュータの割当態様に関するデータを格納する割当態様データ格納部を用いて、現在のジョブの生成状態に応じた、前記ジョブの割当態様を特定する手段と、
特定された前記ジョブの割当態様に従って、前記特定ステップにおいて特定されたコンピュータのうち少なくともいずれかにジョブ生成通知を送信する送信手段と、
前記ジョブ生成通知に対する応答としてジョブ取得通知を受信した場合には、生成された前記ジョブに対応して前記ジョブ取得通知の送信元のコンピュータの識別情報をジョブ割当データ格納部に登録する手段と、
前記ジョブ割当データ格納部を検索して、処理結果が未登録のジョブを抽出する手段と、
前記割当態様データ格納部を用いて、抽出時点のジョブの生成状態に応じた、前記ジョブの割当態様を特定する手段と、
特定された前記ジョブの割当態様が前記処理結果が未登録のジョブにコンピュータの重複割当を許容するものである場合、前記処理結果が未登録のジョブの処理に必要な構成を有し且つ前記処理結果が未登録のジョブを現在処理しているコンピュータより性能が高いコンピュータへジョブ生成通知を送信する手段と、
を有するジョブ割当装置。
(Appendix 13)
A job assignment device that assigns a job to each computer without managing the load state of each computer that processes the job,
Identifying means for identifying a computer having a configuration necessary for processing a generated job using a profile management data storage unit that stores data of the configuration of each computer;
Means for specifying the job allocation mode according to the current job generation status, using an allocation mode data storage unit that stores data relating to a computer allocation mode for the job corresponding to the job generation status;
Transmitting means for transmitting a job generation notification to at least one of the computers identified in the identifying step according to the identified job assignment mode;
Means for registering, in a job allocation data storage unit, identification information of a computer that is the transmission source of the job acquisition notification in response to the generated job when a job acquisition notification is received as a response to the job generation notification;
Means for searching the job allocation data storage unit and extracting a job whose processing result is unregistered;
Means for specifying the job allocation mode according to the job generation state at the time of extraction using the allocation mode data storage;
When the specified job assignment mode is one that allows duplicate assignment of computers to unregistered jobs, the processing result has a configuration necessary for processing unregistered jobs and the processing Means for sending a job generation notification to a computer with higher performance than the computer currently processing the unregistered job;
A job allocation apparatus.
(付記14)
マスタコンピュータで管理されるコンピュータにより実行されるジョブ取得方法であって、
前記マスタコンピュータからジョブ生成通知を受信するステップと、
前記ジョブ生成通知を受信時点で、前記コンピュータの負荷状態が所定の基準より低いか判断するステップと、
前記コンピュータの負荷状態が前記所定の基準より低い場合には、前記マスタコンピュータにジョブ取得通知を送信するステップと、
前記コンピュータの負荷状態が前記所定の基準以上である場合には、前記マスタコンピュータにジョブ取得拒否通知を送信するステップと、
を含むジョブ取得方法。
(Appendix 14)
A job acquisition method executed by a computer managed by a master computer,
Receiving a job generation notification from the master computer;
Determining whether the load state of the computer is lower than a predetermined reference at the time of receiving the job generation notification;
When the load state of the computer is lower than the predetermined reference, sending a job acquisition notification to the master computer;
If the load state of the computer is greater than or equal to the predetermined criterion, sending a job acquisition refusal notification to the master computer;
Job acquisition method including
11乃至13 ネットワーク
51 負荷管理部 52 Job取得ポリシー格納部
31 サーバプロファイル管理部
32 Job生成部
33 サーバプロファイル管理テーブル
34 Job生成通知部
35 Job生成通知定義ファイル
36 Job割当管理部
37 Job割当管理テーブル
11 to 13
Claims (5)
前記各コンピュータへのジョブの割当を管理するための割当管理データ格納部を用いて、生成されたジョブで用いられるアプリケーションの実行数がライセンス総数より少ないか判断するステップと、
生成された前記ジョブで用いられるアプリケーションの実行数がライセンス総数より少ないと判断された場合、前記各コンピュータの構成のデータを格納するプロファイル管理データ格納部を用いて、当該アプリケーションがインストールされており且つ生成された前記ジョブの処理に必要な他の構成を有するコンピュータを特定する特定ステップと、
ジョブの生成状態に対応して前記ジョブに対するコンピュータの割当態様に関するデータを格納する割当態様データ格納部を用いて、現在のジョブの生成状態に応じた、前記ジョブの割当態様を特定するステップと、
特定された前記ジョブの割当態様に従って、前記特定ステップにおいて特定されたコンピュータのうち少なくともいずれかに、生成された前記ジョブの実行に足るデータを含むジョブ生成通知を送信する送信ステップと、
前記ジョブ生成通知を受信したコンピュータのうち、生成された前記ジョブの実行を開始しないコンピュータから、前記ジョブ生成通知に対する応答としてジョブ取得拒否通知を受信した場合、生成された前記ジョブの処理に必要な構成を有するコンピュータへのジョブ生成通知の送信を再実施する再送ステップと、
を、マスタコンピュータに実行させるためのジョブ割当プログラム。 A job assignment program that assigns a job to each computer to process the job,
Determining whether or not the number of applications executed in the generated job is less than the total number of licenses using an allocation management data storage unit for managing job allocation to the computers;
When it is determined that the number of executions of the application used in the generated job is less than the total number of licenses, the application is installed using the profile management data storage unit that stores the configuration data of each computer, and A specific step of identifying a computer having another configuration necessary for processing the generated job;
Identifying an assignment mode of the job according to a current job generation state, using an assignment mode data storage unit that stores data relating to a computer assignment mode for the job corresponding to a job generation state;
A transmission step of transmitting a job generation notification including data sufficient for execution of the generated job to at least one of the computers specified in the specifying step according to the specified job assignment mode;
Of the computers that have received the job generation notification, if a job acquisition rejection notification is received as a response to the job generation notification from a computer that does not start execution of the generated job, it is necessary for processing the generated job. A retransmission step for re-executing the transmission of the job generation notification to the computer having the configuration;
Is a job assignment program for causing a master computer to execute
をさらに含む請求項1記載のジョブ割当プログラム。The job assignment program according to claim 1, further comprising:
前記各コンピュータへのジョブの割当を管理するための割当管理データ格納部を用いて、生成されたジョブで用いられるアプリケーションの実行数がライセンス総数より少ないか判断するステップと、
生成された前記ジョブで用いられるアプリケーションの実行数がライセンス総数より少ないと判断された場合、前記各コンピュータの構成のデータを格納するプロファイル管理データ格納部を用いて、当該アプリケーションがインストールされており且つ生成された前記ジョブの処理に必要な他の構成を有するコンピュータを特定する特定ステップと、
ジョブの生成状態に対応して前記ジョブに対するコンピュータの割当態様に関するデータを格納する割当態様データ格納部を用いて、現在のジョブの生成状態に応じた、前記ジョブの割当態様を特定するステップと、
特定された前記ジョブの割当態様に従って、前記特定ステップにおいて特定されたコンピュータのうち少なくともいずれかに、生成された前記ジョブの実行に足るデータを含むジョブ生成通知を送信する送信ステップと、
前記ジョブ生成通知を受信したコンピュータのうち、生成された前記ジョブの実行を開始しないコンピュータから、前記ジョブ生成通知に対する応答としてジョブ取得拒否通知を受信した場合、生成された前記ジョブの処理に必要な構成を有するコンピュータへのジョブ生成通知の送信を再実施する再送ステップと、
を含み、マスタコンピュータに実行されるジョブ割当方法。 A job assignment method for assigning a job to each computer to process the job,
Determining whether or not the number of applications executed in the generated job is less than the total number of licenses using an allocation management data storage unit for managing job allocation to the computers;
When it is determined that the number of executions of the application used in the generated job is less than the total number of licenses, the application is installed using the profile management data storage unit that stores the configuration data of each computer, and A specific step of identifying a computer having another configuration necessary for processing the generated job;
Identifying an assignment mode of the job according to a current job generation state, using an assignment mode data storage unit that stores data relating to a computer assignment mode for the job corresponding to a job generation state;
A transmission step of transmitting a job generation notification including data sufficient for execution of the generated job to at least one of the computers specified in the specifying step according to the specified job assignment mode;
Of the computers that have received the job generation notification, if a job acquisition rejection notification is received as a response to the job generation notification from a computer that does not start execution of the generated job, it is necessary for processing the generated job. A retransmission step for re-executing the transmission of the job generation notification to the computer having the configuration;
A job assignment method executed on a master computer.
前記各コンピュータへのジョブの割当を管理するための割当管理データ格納部を用いて、生成されたジョブで用いられるアプリケーションの実行数がライセンス総数より少ないか判断する手段と、
生成された前記ジョブで用いられるアプリケーションの実行数がライセンス総数より少ないと判断された場合、前記各コンピュータの構成のデータを格納するプロファイル管理データ格納部を用いて、当該アプリケーションがインストールされており且つ生成された前記ジョブの処理に必要な他の構成を有するコンピュータを特定する特定手段と、
ジョブの生成状態に対応して前記ジョブに対するコンピュータの割当態様に関するデータを格納する割当態様データ格納部を用いて、現在のジョブの生成状態に応じた、前記ジョブの割当態様を特定する手段と、
特定された前記ジョブの割当態様に従って、前記特定手段により特定されたコンピュータのうち少なくともいずれかに、生成された前記ジョブの実行に足るデータを含むジョブ生成通知を送信する送信手段と、
前記ジョブ生成通知を受信したコンピュータのうち、生成された前記ジョブの実行を開始しないコンピュータから、前記ジョブ生成通知に対する応答としてジョブ取得拒否通知を受信した場合、生成された前記ジョブの処理に必要な構成を有するコンピュータへのジョブ生成通知の送信を再実施する再送手段と、
を有するジョブ割当装置。 A job assigning apparatus for assigning a job to each computer to process the job,
Means for determining whether the number of executions of the application used in the generated job is less than the total number of licenses, using an assignment management data storage unit for managing the assignment of jobs to each computer;
When it is determined that the number of executions of the application used in the generated job is less than the total number of licenses, the application is installed using the profile management data storage unit that stores the configuration data of each computer, and Specifying means for specifying a computer having another configuration necessary for processing the generated job;
Means for specifying the job allocation mode according to the current job generation status, using an allocation mode data storage unit that stores data relating to a computer allocation mode for the job corresponding to the job generation status;
Transmitting means for transmitting a job generation notification including data sufficient for execution of the generated job to at least one of the computers specified by the specifying means according to the specified job assignment mode;
Of the computers that have received the job generation notification, if a job acquisition rejection notification is received as a response to the job generation notification from a computer that does not start execution of the generated job, it is necessary for processing the generated job. Resending means for re-executing transmission of a job generation notification to a computer having a configuration;
A job allocation apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012000028A JP5354033B2 (en) | 2012-01-04 | 2012-01-04 | Job allocation program, method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012000028A JP5354033B2 (en) | 2012-01-04 | 2012-01-04 | Job allocation program, method and apparatus |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006341081A Division JP4992408B2 (en) | 2006-12-19 | 2006-12-19 | Job allocation program, method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012064249A JP2012064249A (en) | 2012-03-29 |
JP5354033B2 true JP5354033B2 (en) | 2013-11-27 |
Family
ID=46059815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012000028A Expired - Fee Related JP5354033B2 (en) | 2012-01-04 | 2012-01-04 | Job allocation program, method and apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5354033B2 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001325041A (en) * | 2000-05-12 | 2001-11-22 | Toyo Eng Corp | Method for utilizing computer resource and system for the same |
JP2003058266A (en) * | 2001-08-09 | 2003-02-28 | Hokuriku Electric Power Co Inc:The | License management method and license management program |
JP2004240671A (en) * | 2003-02-05 | 2004-08-26 | Hitachi Ltd | Processing method and system for distributed computer |
JP2004246592A (en) * | 2003-02-13 | 2004-09-02 | Mitsubishi Electric Corp | Job execution management device |
JP2005293492A (en) * | 2004-04-05 | 2005-10-20 | Mitsubishi Electric Corp | Server, terminal, and information system |
JPWO2006100752A1 (en) * | 2005-03-22 | 2008-08-28 | 富士通株式会社 | Distributed processing management apparatus, distributed processing management method, distributed processing management program |
-
2012
- 2012-01-04 JP JP2012000028A patent/JP5354033B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012064249A (en) | 2012-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4992408B2 (en) | Job allocation program, method and apparatus | |
US9104498B2 (en) | Maximizing server utilization within a datacenter | |
US20170207977A1 (en) | Systems and methods for resource sharing between two resource allocation systems | |
JP3658420B2 (en) | Distributed processing system | |
US8898505B2 (en) | Dynamically configureable placement engine | |
JP5770721B2 (en) | Information processing system | |
US20150295970A1 (en) | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system | |
US20130239115A1 (en) | Processing system | |
CN109564528B (en) | System and method for computing resource allocation in distributed computing | |
CN112162865A (en) | Server scheduling method and device and server | |
US8874751B2 (en) | Candidate set solver with user advice | |
CN111258746B (en) | Resource allocation method and service equipment | |
US11438271B2 (en) | Method, electronic device and computer program product of load balancing | |
US10013288B2 (en) | Data staging management system | |
Bok et al. | An efficient MapReduce scheduling scheme for processing large multimedia data | |
WO2019056771A1 (en) | Distributed storage system upgrade management method and device, and distributed storage system | |
JP2017037492A (en) | Distributed processing program, distributed processing method and distributed processor | |
US9384050B2 (en) | Scheduling method and scheduling system for multi-core processor system | |
US9882973B2 (en) | Breadth-first resource allocation system and methods | |
CN110914805A (en) | Computing system for hierarchical task scheduling | |
WO2014173366A2 (en) | Method, device and system for carrying out telecommunication capability group sending | |
JP2016004328A (en) | Task assignment program, task assignment method, and task assignment device | |
US11275621B2 (en) | Device and method for selecting tasks and/or processor cores to execute processing jobs that run a machine | |
JP5354033B2 (en) | Job allocation program, method and apparatus | |
US20140258540A1 (en) | Management system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120104 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130425 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130507 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130705 |
|
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: 20130730 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130812 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |