クライアント端末からのジョブの実行要求に応じて前記ジョブの実行を制御するジョブ制御装置であって、前記ジョブ制御装置に接続された外部機器が有する処理装置によるジョブの実行が可能か否かを示す稼働状態ファイルを前記処理装置に対応付けて記憶する記憶部と、前記クライアント端末から前記処理装置を用いたジョブの実行要求および前記ジョブの実行命令を受信し、または前記クライアント端末に前記稼働状態ファイルを送信する通信部と、前記実行要求に従って前記ジョブの実行が可能であるか否かを判定し、前記ジョブの実行が可能であると判定した場合、前記通信部に前記稼働状態ファイルを前記クライアント端末に送信させることにより前記ジョブの実行権限を提供し、前記実行命令に基づいて前記ジョブを実行させる制御部と、を備えたことを特徴とするジョブ制御装置。前記制御部は、前記実行要求において指定された前記処理装置が前記記憶部に存在しているか否かを判定することにより、前記ジョブの実行が可能か否かを判定する、ことを特徴とする請求項1に記載のジョブ制御装置。前記通信部は、前記ジョブの実行が終了した場合には前記クライアント端末から前記稼働状態ファイルを受信して前記記憶部に記憶させ、前記制御部は、前記実行要求において指定された前記処理装置が前記記憶部に存在していないと判定した場合、前記ジョブの実行が可能ではないと判断し、前記クライアント端末から前記稼働状態ファイルを受信するまで前記ジョブの実行を待機させる、ことを特徴とする請求項2に記載のジョブ制御装置。前記外部機器は複数の前記処理装置を有し、前記制御部は、前記実行要求において指定された前記処理装置が前記記憶部に存在しているか否かを判定し、前記処理装置が前記記憶部に存在していないと判定した場合、指定された前記処理装置とは異なる他の処理装置を用いて前記ジョブを実行させる、ことを特徴とする請求項2または3に記載のジョブ制御装置。前記処理装置は所定の配置パターンに従って配置され、前記制御部は、前記実行要求において指定された複数の前記処理装置が前記記憶部に存在しているか否かを判定し、複数の前記処理装置が前記記憶部に存在していないと判定した場合、指定された前記処理装置とは異なる他の処理装置であって、指定された複数の前記処理装置と同じ配置パターンの処理装置を用いて前記ジョブを実行させる、ことを特徴とする請求項4に記載のジョブ制御装置。前記記憶部は、複数の前記処理装置のそれぞれの使用状態を示す使用状態テーブルをさらに記憶し、前記制御部は、指定された複数の前記処理装置の配置パターンと、前記使用状態が使用可能となっている処理装置の配置パターンとを比較することにより、指定された複数の前記処理装置と同じ配置パターンの処理装置を検索する、ことを特徴とする請求項5に記載のジョブ制御装置。前記稼働状態ファイルには、前記ジョブの実行が待機させられた場合におけるジョブのリトライ回数、前記処理装置の使用率または稼働率、前記ジョブの実行時間またはジョブの実行状態を示す情報、の少なくともいずれかを含む、ことを特徴とする請求項3~6のいずれか1項に記載のジョブ制御装置。クライアント端末からのジョブの実行要求に応じて前記ジョブの実行を制御するジョブ制御装置で行われるジョブ制御方法であって、前記クライアント端末から前記処理装置を用いたジョブの実行要求を受信するステップと、前記実行要求に従って前記ジョブの実行が可能であるか否かを判定するステップと、前記ジョブの実行が可能であると判定された場合、前記ジョブ制御装置に接続された外部機器が有する処理装置によるジョブの実行が可能か否かを示し前記処理装置に対応付けられた稼働状態ファイルを前記クライアント端末に送信させることにより前記ジョブの実行権限を提供するステップと、前記クライアント端末から前記ジョブの実行命令を受信するステップと、前記実行命令に基づいて前記ジョブを実行させるステップと、を含むことを特徴とするジョブ制御方法。しかしながら、ASICApplicationSpecificIntegratedCircuitやFPGAFieldProgrammableGateArrayのようなLSILargeScaleIntegrationを備えた処理装置を複数有した機器にあっては、その機器側にジョブの実行を制御するためのソフトがない場合がある。この場合、サーバがそれぞれの処理装置でのジョブの実行状況を把握することが出来ないため、たとえサーバが負荷分散ソフトを有していたとしても、その負荷分散ソフトによってサーバからその機器に対するジョブの実行を制御できない。一般に、ネットワークを経由して複数のユーザのそれぞれが、任意のタイミングでジョブを実行させる場合、各ジョブ同士の衝突が生じ、ジョブが異常終了してしまう場合がある。特に、上述した機器のように、1つの機器に複数の処理装置を有している場合には、その機器の中で、処理装置が備えたリソースの状況例えば、CPU、メモリ、HDDの使用率等を監視し、実行させるジョブを振り分ける等の制御を行う必要も生じる。また、これとは逆に、処理装置に空きがあるにも関わらず使用されない状態が生じる場合がある。このような課題に対し、従来技術では、ジョブを実行させたり、あるいはジョブを待たせたりする等の調停制御を行う場合や、どの処理装置が空いているのかを監視した上でジョブを実行させる等の対応を行う場合、ユーザ自身が人手で行っていた。しかしながら、このような状況では、ジョブの制御を人手で行うためミスが発生しやすく、その結果、依然としてジョブの衝突が回避できずに異常終了を招いたり、人手によって処理装置を監視するために、効率が悪く処理が煩雑になってしまう問題があった。このように、従来の技術手法は、負荷分散ソフトによってジョブの制御やリソースの監視が可能な機器に限られたものであったため、これに該当しない機器には適用できず、このような場合であっても、リソースの状況を把握しつつ適切にジョブの実行を制御することが可能な技術が求められていた。本発明は、上記に鑑みてなされたものであって、負荷分散ソフト等の外部機器を制御するソフトが適用できない場合であっても、リソースの状況を把握しつつ適切にジョブの実行を制御することが可能なジョブ制御装置、およびジョブ制御方法を提供することを目的とする。上述した課題を解決し、目的を達成するために、本発明にかかるジョブ制御装置は、クライアント端末からのジョブの実行要求に応じて前記ジョブの実行を制御するジョブ制御装置であって、前記ジョブ制御装置に接続された外部機器が有する処理装置によるジョブの実行が可能か否かを示す稼働状態ファイルを前記処理装置に対応付けて記憶する記憶部と、前記クライアント端末から前記処理装置を用いたジョブの実行要求および前記ジョブの実行命令を受信し、または前記クライアント端末に前記稼働状態ファイルを送信する通信部と、前記実行要求に従って前記ジョブの実行が可能であるか否かを判定し、前記ジョブの実行が可能であると判定した場合、前記通信部に前記稼働状態ファイルを前記クライアント端末に送信させることにより前記ジョブの実行権限を提供し、前記実行命令に基づいて前記ジョブを実行させる制御部と、を備えたことを特徴とする。また、本発明は、上記ジョブ制御装置で行われるジョブ制御方法である。本発明によれば、負荷分散ソフト等の外部機器を制御するソフトが適用できない場合であっても、リソースの状況を把握しつつ適切にジョブの実行を制御することが可能なジョブ制御装置、およびジョブ制御方法を提供することができるという効果を奏する。以下に添付図面を参照して、本発明にかかるジョブ制御装置、およびジョブ制御方法の実施の形態を詳細に説明する。図1は、第1の実施の形態におけるジョブ制御システム1000の構成例を示す図である。図1に示すように、ジョブ制御システム1000は、ジョブ制御システム1000の利用者であるユーザAやユーザBが使用するクライアント100およびクライアント101と、外部記憶装置230を備えたサーバ200と、外部機器300と、ネットワークN1およびN2とを含んで構成されている。なお、ネットワークN1およびN2は、例えば、LANLocalAreaNetworkやWANWideAreaNetwork等の一般的なネットワークである。クライアント100および101は、ネットワークN1を介してジョブの実行要求を行う端末である。なお、特に図示していないが、これらのクライアントのそれぞれは、ユーザからジョブの実行要求を受け付けるためのキーボードやマウス等から構成される入力装置や、そのジョブの実行要求をNICNetworkInterfaceCard等から構成される通信装置からサーバ200に送信するためのCPUCentralProcessingUnit等から構成される演算装置を有しているものとする。これらのクライアントが行う処理については、シーケンス図を用いて後述する。サーバ200は、例えば、エミュレータサーバであり、クライアント100および101から受け付けたジョブの実行要求にしたがって、外部機器300のリソースの状況例えば、CPU、メモリ、HDDHardDiskDriveの使用率等を把握しつつ、外部機器300が行うジョブの実行を制御するものである。図1に示すように、サーバ200は、外部機器制御部210と、ジョブ制御部220とを含んで構成されている。なお、特に図示していないが、サーバ200は、上述したクライアントと同様に、入力装置、通信装置、あるいは演算装置を有しているものとする。外部機器制御部210は、クライアント100および101からジョブの実行要求がされ、その後ジョブの実行コマンドが投入された場合に、外部機器300を用いてジョブを実行させるものである。外部機器制御部210が行う具体的な処理については、シーケンス図を用いて後述する。ジョブ制御部220は、クライアント100および101からジョブの実行要求がされた場合に、外部記憶装置230にアクセスして稼働状態ファイル後述を取得し、取得した稼働状態ファイルをクライアントとの間で受け渡しすることによって、ジョブの実行を制御するものである。例えば、ジョブ制御部220は、上述したクライアントからジョブの実行要求を受け取った場合に、その実行要求に含んで記載されているジョブを実行するために必要な外部機器300が有する装置の装置名を読み取って、その装置名に対応する稼働状態ファイルが外部記憶装置230に存在しているか否かを判断することによって、そのジョブの実行可否を判定する。また、ジョブ制御部220は、その判定によってジョブの実行が可能であると判定した場合には、外部記憶装置230に存在している稼働状態ファイルを、そのジョブの実行を要求したクライアントに渡し、その判定によってジョブの実行が可能でないと判定した場合には、そのジョブの実行を要求したクライアントにWait指示を出す。後述するように、ジョブ制御部220は、稼働状態ファイルがどこに存在しているのかを判定することによって、要求されたジョブの実行を制御している。ジョブ制御部220が行う具体的な処理については、シーケンス図を用いて後述する。なお、サーバ200が有する上述した各部は、外部機器制御部210、およびジョブ制御部220の各機能を実現するためのソフトウェアプログラムにより実行される。これらのソフトウェアプログラムは、例えば、上述した各部を含むモジュール構成となっており、実際のハードウェアとしては、CPU等の制御部がHDD等の記録装置からこれらのソフトウェアプログラムを読み出して実行することにより、上記各部が主記憶装置上にロードされ、外部機器制御部210、およびジョブ制御部220の各部が主記憶装置上に生成されるようになっている。また、上述したソフトウェアプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスクFD、CD-R、DVDDigitalVersatileDisc等のコンピュータで読み取り可能な記録媒体に記録されて提供することも可能である。さらに、これらのソフトウェアプログラムを、ネットワーク経由でダウンロードさせて提供または配布するように構成してもよい。続いて、外部記憶部230について説明する。外部記憶部230は、サーバ200との間でバス等によって接続されたHDD等から構成される記憶装置である。図1に示すように、外部記憶部230は、稼働状態ファイル図1に示す例では3つの稼働状態ファイルを記憶している。ここで、稼働状態ファイルとは、外部機器300が有する複数の装置のそれぞれの稼働状態を判断するためのファイル例えば、装置1~3が空き状態であるか、または使用中の状態であるか等、ジョブの実行が可能であるか否かを判断するためのファイルである。ジョブ制御部220は、稼働状態ファイルが外部記憶部230にある場合には、その稼働状態ファイルに対応する装置が空き状態であると判定し、また、稼働状態ファイルが外部記憶部230ではなくクライアントにある場合には、その稼働状態ファイルに対応する装置が使用中の状態であると判定する。このように、稼働状態ファイルの有無を判定し、要求されたジョブが実行可能であるか否かを判断している。したがって、稼働状態ファイルの構成については特に制限はなく、例えば、空ファイルであってもよい。続いて、外部機器300について説明する。外部機器300は、例えば、エミュレータから構成され、ジョブを実行してその結果を検証するための専用の装置である。図1に示すように、外部機器300は、ASICApplicationSpecificIntegratedCircuitやFPGAFieldProgrammableGateArrayのようなLSILargeScaleIntegrationから構成される複数の処理装置装置1~装置3を有している。これらの処理装置は、サーバ200を介して、クライアントからのジョブ投入コマンドに従ってジョブを実行する。なお、外部機器300は、サーバ200が有する外部機器制御部210や従来からある負荷分散負ソフト等からの指示を受けてジョブの実行を制御する環境にはないものとする。続いて、ジョブ制御システム1000が行うジョブ制御処理について説明する。図2は、ジョブ制御システム1000が行うジョブ制御処理の処理手順を示すシーケンス図である。図2に示すように、まず、ユーザAが外部機器300の装置1と装置2を使用してジョブを実行する場合、その実行要求を、クライアント100からサーバ200のジョブ制御部220に送信するステップS201。この実行要求は、例えば、その要求自体と、ジョブの実行に必要な処理装置の番号の組合せによって構成され、クライアントでジョブをコンパイルすること等によって、必要な処理装置の番号がわかるものとする。ジョブ制御部220は、その実行要求を受信すると、そのジョブに必要な処理装置の番号を読み取り、外部記憶部230にその番号に対応する稼働状態ファイルを検索するステップS202。このとき、ジョブ制御部220は、外部記憶部230にその番号に対応する稼働状態ファイルが存在した場合には、その番号の処理装置が空いていると判断する。そして、図2に示す例では、稼働状態ファイルは1~2までの番号のファイルが存在しており、ジョブの実行要求とともに送信された処理装置の番号1および2が指定されているため、ジョブ制御部220は、これらの番号の処理装置が空いている要求に合致していると判定しステップS203、その番号の稼働状態ファイルをクライアント100に送信し、ジョブの実行権限を提供するステップS204。クライアント100は、稼働状態ファイルを受信すると、要求されたジョブを実行させるためのコマンドを投入するステップS205。このように、ユーザがジョブを実行する際には、そのジョブで使用する処理装置の番号に対応する稼働状態ファイルがクライアント100に一時的に記憶され、このような状態で、要求したジョブが実行されることとなる。サーバ200の外部機器制御部210は、クライアント100からジョブの実行コマンドを受信すると、指定された外部機器300の処理装置を使用したジョブの実行を指示しステップS206、その指示に従って、装置1および装置2は要求されたジョブを実行するステップS207、S208。ステップS207およびS208においてジョブが実行されると、ユーザはそのジョブが終了するまで待機する。このとき、番号1および2の稼働状態ファイルは、クライアント100に一時的に記憶された状態であり、番号3の稼働状態ファイルは、ユーザAが要求したジョブでは使用されないため、外部記憶部230に残った状態となっている。その後、ユーザAが要求したジョブの実行中に、ユーザBが外部機器300の装置2と装置3を使用してジョブを実行する場合、その実行要求を、クライアント101からサーバ200のジョブ制御部220に送信するステップS209。ジョブ制御部220は、その実行要求を受信すると、そのジョブに必要な処理装置の番号を読み取り、外部記憶部230にその番号に対応する稼働状態ファイルを検索するステップS210。このとき、ジョブ制御部220は、外部記憶部230にその番号に対応する稼働状態ファイルが存在しない場合には、その番号の処理装置が使用中であると判断する。そして、図2に示す例では、ジョブの実行要求とともに送信された処理装置の番号2および3が指定されているところ、稼働状態ファイルは1~2までの番号のファイルが存在せず、番号3の稼働状態ファイルのみが存在している状態であるため、ジョブ制御部220は、番号2の処理装置が使用中である不足していると判定しステップS211、Wait指示をクライアント101に送信し、ジョブの実行を待機させるステップS212。クライアント101は、サーバ200からWait指示を受信すると、そのWait指示に従って、所定の時間だけ待機した後ステップS213、ジョブの実行要求を再び送信してリトライするステップS214。クライアント101は、このステップS209~S214までの一連の処理Aを、ジョブの実行要求が受け入れられるまで繰り返す。その後、ユーザAが要求したジョブの実行が完了すると、サーバ200の外部機器制御部210は、装置1および2からその旨の通知を受けステップS215、クライアント100に、要求したジョブの実行が正常終了した旨を通知するステップS216。クライアント100は、ジョブが正常終了した旨の通知をサーバ200から受信すると、一時的に記憶していた稼働状態ファイルをサーバ200に返却するステップS217。このとき、稼働状態ファイルは、全て外部記憶部230に存在している状態となっている。クライアント101は、上述した一連の処理Aを繰り返し実行している状態であるところ、ユーザAが要求したジョブが完了し、稼働状態ファイルが返却されると、ユーザBが要求するジョブの実行要求をサーバ200に送信するステップS218。サーバ200のジョブ制御部220は、その実行要求を受信すると、そのジョブに必要な処理装置の番号を読み取り、外部記憶部230にその番号に対応する稼働状態ファイルを検索するステップS219。このとき、ユーザAが要求していたジョブの実行が完了しているため、外部記憶部230には1~3までの番号の稼働状態ファイルはが存在しており、ジョブの実行要求とともに送信された処理装置の番号2および3が指定されているため、ジョブ制御部220は、これらの番号の処理装置が空いている要求に合致していると判定しステップS220、その番号の稼働状態ファイルをクライアント101に送信し、ジョブの実行権限を提供するステップS221。クライアント101は、稼働状態ファイルを受信すると、要求されたジョブを実行させるためのコマンドを投入しステップS221、サーバ200の外部機器制御部210は、クライアント101からジョブの実行コマンドを受信すると、指定された外部機器300の処理装置を使用したジョブの実行を指示しステップS223、その指示に従って、装置2および装置3は要求されたジョブを実行するステップS224、S225。そして、ステップS224およびS225においてジョブが実行されると、ユーザはそのジョブが終了するまで待機し、その後、ユーザBが要求したジョブの実行が完了すると、サーバ200の外部機器制御部210は、装置2および3からその旨の通知を受けステップS226、クライアント101に、要求したジョブの実行が正常終了した旨を通知するステップS227。その後、クライアント101は、ジョブが正常終了した旨の通知をサーバ200から受信すると、一時的に記憶していた稼働状態ファイルをサーバ200に返却するステップS228。このステップS228の処理が終了すると、図2に示した処理の全ての処理が終了する。このように、複数のジョブが並行して実行される場合であっても、ジョブの実行要求とともに稼働状態ファイルを受け渡ししているので、人手で処理装置の空きを待つ必要がなくなり、処理装置の空きを自動的に監視し、Waitからリトライに到る制御によって、ジョブ間の調停を行うことができるようになり、負荷分散ソフト等の外部機器を制御するソフトが適用できない場合であっても、リソースの状況を把握しつつ適切にジョブの実行を制御することが可能となる。例えば、従来では、図3に示すように、ユーザAおよびユーザBが、それぞれクライアントAおよびクライアントBからジョブの実行要求を行う場合において、各クライアントでジョブをコンパイルし、まず最初にユーザAがジョブの実行要求処理装置1および2を使用する実行要求を行いステップS301、サーバがそのジョブの実行を外部機器に対して指示しステップS302、処理装置1および2がその指示にしたがってジョブを実行しているところステップS303、S304、ユーザBがジョブの実行要求処理装置2および3を使用する実行要求を行いステップS305、サーバがそのジョブの実行を外部機器に対して指示した場合ステップS306、処理装置2が使用中であるために実行不能となりステップS306、処理が完了するもののステップS307、サーバはジョブが異常終了したクライアントBに旨を通知しステップS308、その後、ユーザAが要求したジョブが完了しステップS309、サーバが正常終了した旨をクライアントAに通知することとなるステップS310。このように、従来技術では、複数のジョブが並行して実行される場合、先に実行されたジョブは正常終了するが、後に実行されるジョブで使用する処理装置が先行して実行されているジョブで使用されている場合には、後に実行されるジョブが異常終了してしまうか、またはその異常終了を避けるために、ユーザ自身が目視する等によって監視し、その空きを待った上で自ら要求するジョブを実行させる必要があった。しかしながら、本実施の形態においては、そのような処理装置の空きを待つ必要がなくなり、処理装置の空きを自動的に監視し、稼働状態ファイルを用いてジョブのWaitやリトライを制御してジョブ間の調停を行うことができ、リソースの状況を把握しつつ適切にジョブの実行を制御することが可能となる。また、人手で処理装置の空きを待つ必要がなくなるため、このようなシステムを利用するユーザの作業工数を低減することができ、また、処理装置の利用効率が向上することによって、ジョブの消化期間の短縮に繋がり、結果として製品開発の期間を短縮することが可能となる。さらに、このような外部機器制御部にジョブの制御機能がない場合であってもジョブの制御が自動化できるようになり、人手作業よって発生していたジョブの実行ミスを抑制させることができる。さらに、ジョブの異常終了により発生していた異常解析の時間がなくなり、作業時間の削減ができ、ジョブの待ち時間を削減することも可能となり、ユーザはジョブを投入した段階で、その作業から手を離すことが可能となる。なお、上述した処理では、稼働状態ファイルを用いてジョブの実行を制御しているが、この点、例えば、外部記憶部230にジョブを識別するためのジョブ番号とそのジョブの実行状況とを対応付けて記憶したテーブル等を記憶させ、ジョブ制御部220が、そのジョブの実行や完了等を管理することによって、ジョブの実行を制御することも可能であるが、管理すべき情報が多くなり、サーバ側の負荷が増えてしまうことが想定されるため、できる限り少ない情報でジョブの実行を制御することでサーバへの負荷を軽減させている。また、ジョブの実行に必要な情報を、稼働状態ファイルをクライアントとサーバとの間で受け渡しさせることにより、管理する情報の手離れを向上させ、ジョブの強制終了など、その都度サーバに状況を問合せしなくてもユーザ側で制御できるメリットを有している。続いて、第2の実施の形態について説明する。上述した第1の実施の形態では、外部装置が有する処理装置に対応する稼働状態ファイルをクライアントとサーバとの間で受け渡しすることによって、ユーザが要求したジョブで使用される処理装置の状況を把握することとした。しかし、ユーザが実行要求したジョブで使用される処理装置が空いていない状態であっても、そのジョブの実行に必要な処理装置の数と同じ数の処理装置が空いている場合には、ユーザが実行要求したジョブで使用される処理装置に替えて、空いている処理装置を使用してジョブを実行させることが可能な場合も存在する。そこで、そのような場合に備え、第2の実施の形態として、ユーザが実行要求したジョブで使用される処理装置に替えて、空いている処理装置を使用してジョブを実行させる場合について説明する。なお、以下では複数の処理装置を用いてジョブを実行する場合について説明しているが、一の処理装置を用いてジョブを実行する場合ももちろんこれと同様に適用することができる。図4は、第2の実施の形態におけるジョブ制御システム4000の構成例を示す図である。図4に示すように、第2の実施の形態にかかるジョブ制御システム4000は、第1の実施の形態にかかるジョブ制御システム1000が有するサーバ200のジョブ制御部220とは異なるサーバ400のジョブ制御部420と、第1の実施の形態にかかるジョブ制御システム1000が有する外部記憶装置230とは異なる外部記憶装置430と、第1の実施の形態にかかるジョブ制御システム1000が有する外部機器300とは異なる外部機器500とを備えている点で、第1の実施の形態にかかるジョブ制御システム1000とは異なっている。以下の説明では、上述した第1の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。ジョブ制御部420は、第1の実施の形態にかかるジョブ制御部220と同様の処理を行うほか、クライアント100および101からジョブの実行要求がされ、外部記憶装置430にアクセスして稼働状態ファイルを取得する際に、要求されたジョブで使用する処理装置を検索し、その処理装置が空いていない状態であると判定した場合、さらに、その処理装置に代替可能であって、空いている状態の処理装置を検索し、取得した稼働状態ファイルをクライアントとの間で受け渡しすることによって、ジョブの実行を制御する。ジョブ制御部420が行う具体的な処理については、シーケンス図を用いて後述する。続いて、外部記憶部430が記憶する稼働状態ファイル440について説明する。外部記憶部430は、図4に示すように、第1の実施の形態おける外部記憶装置230が記憶する稼働状態ファイル240とは異なる稼働状態ファイル440を記憶し、さらに使用状態管理テーブル441を記憶している。稼働状態ファイル440は、第1の実施の形態における場合と同様に、後述する外部機器500が有する処理装置の数に対応して記憶されるものであるが、後述するように、本実施の形態では、外部機器500は9個の処理装置を有しているので、外部記憶部430は、これにあわせて稼働状態ファイル440として9個の稼働状態ファイルを記憶している。使用状態管理テーブル441は、外部機器500が有する処理装置が使用中の状態であるか、または空いている状態であるかを管理するためのテーブルであり、各処理装置の使用状態と、外部機器500での各処理装置の配置パターンとを対応付けて記憶するものである。図5Aは、使用状態管理テーブル441の例を示す図である。図5Aに示すように、外部機器500が有する処理装置装置1~9と、それぞれの処理装置の使用状態とが対応付けた使用状態情報が処理装置の数だけ記憶されている。使用状態管理テーブル441は、これらの使用状態情報を、外部機器500が有する処理装置の配置パターンと同じ並び組み合わせの配置パターンで記憶し、使用状態情報が記憶されている組み合わせについても、各処理装置の使用状態情報と共に記憶している。図5Aに示す例では、処理装置装置1および装置2が使用中の状態であり、装置3~9は空いている状態であることを示しており、使用状態情報は、縦3×横3列の使用状態情報の配置パターンで配置されていることを示している。なお、本実施の形態では、外部記憶部420は、使用状態情報を縦3×横3列の配置パターンで記憶している場合について説明しているが、例えば、図5Bに示すように、外部機器500が有する処理装置装置1~9が縦1×横9列のように配置されている場合には、これに合わせた配置としてもよい。続いて、図4に戻り、外部機器500について説明する。外部機器500は、第1の実施の形態における外部機器300と同様のものであるが、その内部には複数の処理装置本実施の形態においては装置1~装置9を有している。これらの処理装置は、第1の実施の形態にかかる外部機器300と同様に、サーバ400を介して、クライアントからのジョブ投入コマンドに従ってジョブを実行する。図6は、外部機器400が有する処理装置装置1~9の構成例を示す図である。図5に示すように、装置1~9までの9個の処理装置が、縦3×横3列に配置されている。上述したように、これらの処理装置の配置は使用状態情報の配置と同様の配置となっている。続いて、ジョブ制御システム4000が行うジョブ制御処理について説明する。図7は、ジョブ制御システム4000が行うジョブ制御処理の処理手順を示すシーケンス図である。図7に示すように、まず、ユーザAが外部機器500の装置1と装置2を使用してジョブを実行する場合、その実行要求を、クライアント100からサーバ400のジョブ制御部420に送信するステップS701。この実行要求は、第1の実施の形態の場合と同様のものであるため、ここではその説明を省略する。ジョブ制御部420は、その実行要求を受信すると、そのジョブに必要な処理装置の番号を読み取り、外部記憶部430にその番号に対応する稼働状態ファイルを検索するステップS702。このとき、ジョブ制御部420は、外部記憶部430にその番号に対応する稼働状態ファイルが存在した場合には、その番号の処理装置が空いていると判断する。そして、図7に示す例では、稼働状態ファイルは1~2までの番号のファイルが存在しており、ジョブの実行要求とともに送信された処理装置の番号1および2が指定されているため、ジョブ制御部420は、これらの番号の処理装置が空いている要求に合致していると判定しステップS703、その番号の稼働状態ファイルをクライアント100に送信し、ジョブの実行権限を提供するステップS704。クライアント100は、稼働状態ファイルを受信すると、要求されたジョブを実行させるためのコマンドを投入するステップS705。このとき、第1の実施の形態の場合と同様に、そのジョブで使用する処理装置の番号に対応する稼働状態ファイルがクライアント100に一時的に記憶され、ジョブが実行される。サーバ400の外部機器制御部210は、クライアント100からジョブの実行コマンドを受信すると、指定された外部機器500の処理装置を使用したジョブの実行を指示しステップS706、その指示に従って、装置1および装置2は要求されたジョブを実行するステップS707、S708。ステップS707およびS708においてジョブが実行されると、第1の実施の形態の場合と同様に、ユーザはそのジョブが終了するまで待機し、番号1および2の稼働状態ファイルは、クライアント100に一時的に記憶された状態であり、番号3~9の稼働状態ファイルは、ユーザAが要求したジョブでは使用されないため、外部記憶部430に残った状態となっている。また、このとき、ジョブ制御部420は、外部機器制御部210が実行したジョブで使用している処理装置装置1および装置2に対応する使用状態情報を、図5Aに示したように、使用中の状態に更新する。その後、ユーザAが要求したジョブの実行中に、ユーザBが外部機器300の装置2と装置3を使用してジョブを実行する場合、その実行要求を、クライアント101からサーバ400のジョブ制御部420に送信するステップS709。ジョブ制御部420は、その実行要求を受信すると、そのジョブに必要な処理装置の番号を読み取り、外部記憶部430にその番号に対応する稼働状態ファイルを検索するステップS710。このとき、ジョブ制御部420は、外部記憶部430にその番号に対応する稼働状態ファイルが存在しない場合には、その番号の処理装置が使用中であると判断する。図7に示す例では、ジョブの実行要求とともに送信された処理装置の番号2および3が指定されているところ、稼働状態ファイルは1~2までの番号のファイルが存在せず、番号3~9の稼働状態ファイルのみが存在している状態である。このとき、ジョブ制御部420は、使用状態情報の配置パターンを取得し、その配置パターンと使用状態管理テーブル441が記憶している使用可能な処理装置の配置パターンとを比較して、同じ配置パターンを確保可能な処理装置を検索する。図7に示した例では、クライアント101からのジョブの実行要求は、装置2および装置3を使用するものであるため、図5Aに示したような使用状態情報を取得する。そして、ジョブ制御部420は、装置2および装置3の配置パターンと同じ配置パターンが確保可能な代替となる処理装置を検索する。より具体的には、図8Aに示すように、クライアント101から要求されているジョブを実行する際には既に装置1および装置2が使用されている。したがって、図8Bに示すように、クライアント101が要求したジョブを実行するために必要な装置2および装置3は使用できない。したがって、ジョブ制御部420は、装置2および装置3のように連続した処理装置が確保可能な配置パターン縦1×横2列の配置パターンを検索する。例えば、図8Bに示す例では、装置4および装置5のような配置パターン801、あるいは装置8および装置9のような配置パターン802等、装置2および装置3と同様に連続した処理装置を確保できる装置を検索する。この場合、図8Cに示すように、装置3および装置6のような配置パターン803、あるいは装置5および装置8のような配置パターン804は、装置2および装置3のように連続して確保されている配置パターン縦2×横1列の配置パターンではないため、ジョブ制御部420は、装置2および装置3と同じ配置パターンであると判定しない。このように、ユーザが要求した処理装置が空いていない状態であっても、処理装置がジョブの実行に必要な数だけ空いていて、さらに、ユーザがコンパイルした時点で分かるジョブの実行に必要な処理装置の配置パターンと、空いている処理装置の配置パターンとが、例えば、パズルのピースのように一致している場合にのみ、ジョブ制御部420はジョブを実行可能であると判定している。そして、図7に示す例では、クライアント101は、装置2および装置3を使用したジョブの実行を要求しているところ、その配置パターンと同じ配置パターンである装置4および装置5を検索し、これらの番号の処理装置が空いている要求に合致していると判定しステップS711、その番号の稼働状態ファイル番号4および5の稼働状態ファイルをクライアント101に送信し、ジョブの実行権限を提供するステップS712。クライアント101は、稼働状態ファイルを受信すると、要求されたジョブを実行させるためのコマンドを投入しステップS713、サーバ400の外部機器制御部410は、クライアント101からジョブの実行コマンドを受信すると、指定された外部機器400の処理装置を使用したジョブの実行を指示しステップS714、その指示に従って、装置2および装置3は要求されたジョブを実行するステップS715、S716。このとき、外部機器500は、クライアント100からの要求により装置1および装置2を使用してジョブが実行され、一方で、これと並行してクライアント101からの要求により装置4および装置5を使用してジョブが実行された状態となっている。そして、ステップS715およびS716においてジョブが実行されると、ユーザはそのジョブが終了するまで待機し、その後、ユーザBが要求したジョブの実行が完了すると、サーバ400の外部機器制御部410は、装置4および5からその旨の通知を受けステップS717、クライアント101に、要求したジョブの実行が正常終了した旨を通知するステップS718。その後、クライアント101は、ジョブが正常終了した旨の通知をサーバ400から受信すると、一時的に記憶していた稼働状態ファイル番号4および5の稼働状態ファイルをサーバ400に返却するステップS719。その後、最初にユーザAが要求したジョブの実行が完了すると、サーバ400の外部機器制御部410は、装置1および2からその旨の通知を受けステップS720、クライアント100に、要求したジョブの実行が正常終了した旨を通知しステップS721、クライアント100は、ジョブが正常終了した旨の通知をサーバ400から受信すると、一時的に記憶していた稼働状態ファイル番号1および2の稼働状態ファイルをサーバ400に返却するステップS722。このステップS722の処理が終了すると、図7に示した処理の全ての処理が終了する。このように、第2の実施の形態においては、他のジョブにおいて処理装置が使用されている状態であっても、ジョブ制御部420が、実行するジョブで使用する処理装置と同じ配置パターンの処理装置を検索させるため、第1の実施の形態において得られる効果に加え、空いている処理装置を有効に活用できるようになり、ジョブの処理効率を向上させることができ、処理装置の利用効率を向上させることができる。なお、上述した各実施の形態においては、稼働状態ファイルそのものを受け渡しすることによってジョブの実行を制御したが、例えば、図2のステップS214において示したように、サーバ300のジョブ制御部が、ジョブの実行がリトライされた回数を稼働状態ファイルに書き込み、その際の待機指示とともにその回数をクライアント100等に通知させることとしてもよい。この場合、ユーザはリトライ回数が多く、指定した処理装置を使用できる見込みが低いと判断した場合には、他の処理装置を指定して再コンパイルした上で再びジョブを実行させることも可能となる。また、上述したリトライ回数以外にも、例えば、処理装置の使用率や稼働率を稼働状態ファイルに含めても良い。これらの情報をユーザに提供することで、ユーザは競合ユーザの多さや、空いている処理装置を把握することが可能となり、例えば、自らのジョブの実行に必要な処理装置の配置パターンを縦1×横2列から縦2×横1列に変更する等、空いている処理装置を指定した上で再コンパイルして、速やかにジョブを消化させることが可能となる。さらに、ジョブが実行された際に、ジョブの実行時間やジョブの実行状態を示す情報異常終了または正常終了を示す情報を稼働状態ファイルに含めることとしてもよい。この場合、ジョブの実行状況をサーバで一元管理させることによって、ジョブ制御システムの管理者等が、容易にそのトラブルに対処することが可能となり、ジョブの実行時間の短縮や処理装置の利用率の向上に繋げることができる。なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。