JP5598229B2 - ジョブ分散処理システム、情報処理装置及びプログラム - Google Patents

ジョブ分散処理システム、情報処理装置及びプログラム Download PDF

Info

Publication number
JP5598229B2
JP5598229B2 JP2010224223A JP2010224223A JP5598229B2 JP 5598229 B2 JP5598229 B2 JP 5598229B2 JP 2010224223 A JP2010224223 A JP 2010224223A JP 2010224223 A JP2010224223 A JP 2010224223A JP 5598229 B2 JP5598229 B2 JP 5598229B2
Authority
JP
Japan
Prior art keywords
job
sub
execution
jobs
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010224223A
Other languages
English (en)
Other versions
JP2012079124A (ja
Inventor
洋一 井坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2010224223A priority Critical patent/JP5598229B2/ja
Priority to US13/149,028 priority patent/US8505011B2/en
Publication of JP2012079124A publication Critical patent/JP2012079124A/ja
Application granted granted Critical
Publication of JP5598229B2 publication Critical patent/JP5598229B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、ジョブ分散処理システム、情報処理装置及びプログラムに関する。
特許文献1には、グリッドコンピューティングによってユーザの要求をジョブに分割して複数の画像処理装置に分配するようにし、各画像処理装置のアイドル率やアイドル時間、ジョブの達成率などの状態変化の履歴を履歴情報として格納し、ジョブを分配する際に履歴情報を使用することが記載されている。
特許文献2には、リクエストを複数のジョブに分割し、リクエスト受付時の計算リソースの状況やリクエスト内容に基づいて完了時間を見積り、ジョブの実行スケジュールを決めて複数の計算機にジョブを割り当てて、ジョブの実行状況を監視することが記載されている。
特許文献3には、印刷ジョブがローカルジョブかグリッドジョブかを判定し、優先度に応じて他のプリンタにジョブを依頼することが記載されている。そして、ローカルジョブ実行中に他のプリンタからグリッドジョブの依頼を受けた場合は、グリッドジョブをキャンセルする。
特許文献4には、サーバのCPU等の資源とその負荷情報に基づいて、サーバで実行されている処理の多重度を増加させた場合の各資源の負荷の増加量が計算され、全ての資源に対する負荷が資源毎に設定負荷上限値以下となる多重度を決定、変更することが記載されている。
特開2005−352693号公報 特開2005−56201号公報 特開2006−159741号公報 特開2006−252163号公報
本発明は、ジョブ実行装置の処理能力を利用しつつN番目のサブジョブとは異なるサブジョブの実行をサブジョブ代行装置に指示する場合に比して、ジョブの実行時間の短縮化を図ることを目的とする。
本発明に係るジョブ分散処理システムは、ジョブの実行要求を受け付けると共に、受け付けたジョブをN(Nは3以上の整数)個のサブジョブに分割し、各サブジョブの実行先を決定する実行先決定装置と、ジョブの実行要求先として指定され、N個のサブジョブのうち最後のN番目に実行されるサブジョブを少なくとも実行するジョブ実行装置と、前記ジョブ実行装置が実行するサブジョブとは異なるサブジョブを、前記ジョブ実行装置に代わって実行する1又は複数のサブジョブ代行装置と、を有し、前記実行先決定装置は、前記サブジョブ代行装置の処理能力に関する代行装置能力情報を取得する手段と、前記代行装置能力情報を参照して、1番目から(N−1)番目に実行される各サブジョブに対し、当該各サブジョブを実行する予定の前記サブジョブ代行装置を割り当てるサブジョブ割当手段と、を有し、前記ジョブ実行装置は、前記ジョブ実行装置の現在の使用状態に関する情報を取得する手段と、前記ジョブ実行装置と前記サブジョブ代行装置との間のデータ転送に関する情報を取得する手段と、前記代行装置能力情報と、前記ジョブ実行装置の現在の使用状態に関する情報と、前記ジョブ実行装置と前記サブジョブ代行装置との間のデータ転送に関する情報に基づいて、変数i(iは正整数)の値をNから順次小さくしていきながら、(i−1)番目のサブジョブ前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置に実行させたときの実行時間と、(i−1)番目のサブジョブの実行結果のデータ当該サブジョブ代行装置から前記ジョブ実行装置へ転送されるときに要する転送時間と、を加算して第1の処理時間を算出すると共に、(i−1)番目のサブジョブを前記ジョブ実行装置に実行させたときの実行時間と、(i−2)番目のサブジョブ前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置に実行させたときの実行結果のデータ当該サブジョブ代行装置から前記ジョブ実行装置へ転送されるときに要する転送時間と、を加算して第2の処理時間を算出する算出手段と、前記算出手段により算出された前記第1の処理時間と前記第2の処理時間とを比較した結果、前記第1の処理時間が前記第2の処理時間よりはじめて小さくなるときの変数iを特定する特定手段と、を有し、前記実行先決定装置は、前記特定手段により変数iが特定されたことに伴い、1番目から(i−1)番目のサブジョブの実行先として前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置を、i番目からN番目のサブジョブの実行先として前記ジョブ実行装置を、それぞれ決定することを特徴とする。
また、前記実行先決定装置は、1つのジョブの実行に前記ジョブ実行装置を占有可能な最大時間長を示す占有可能時間を設定する設定手段を有し、前記ジョブ実行装置がi番目からN番目のサブジョブの実行に要する処理時間が前記占有可能時間を超えない範囲で変数iを求めることを特徴とする。
また、前記設定手段は、ジョブが実行される時に応じた占有可能時間を設定することを特徴とする。
また、前記実行先決定装置は、前記ジョブ実行装置の現在の利用状況と当該ジョブの実行に要する前記ジョブ実行装置の資源から、前記ジョブ実行装置の処理能力上、前記ジョブ実行装置にN番目のサブジョブとは異なるサブジョブを実行する余力の有無を判断する判断手段を有し、余力があると判断された場合に前記算出手段及び前記特定手段を用いてサブジョブの実行先を決定することを特徴とする。
また、前記実行先決定装置は、前記ジョブ実行装置の現在の利用状況と当該ジョブの実行に要する前記ジョブ実行装置の資源から、前記ジョブ実行装置の処理能力上、前記ジョブ実行装置にN番目のサブジョブとは異なるサブジョブを実行する余力の有無を判断する判断手段を有し、余力がないと判断された場合、1番目から(N−1)番目のサブジョブの実行先として前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置を、N番目のサブジョブの実行先として前記ジョブ実行装置を、それぞれ決定することを特徴とする。
本発明に係る情報処理装置は、ジョブの実行要求を受け付けるジョブ受付手段と、受け付けたジョブをN(Nは3以上の整数)個のサブジョブに分割する分割手段と、ジョブの実行要求先として指定され、N個のサブジョブのうち最後のN番目に実行されるサブジョブを少なくとも実行するサブジョブ実行手段と、前記サブジョブ実行手段が実行するサブジョブとは異なるサブジョブを、前記サブジョブ実行手段に代わって実行する1又は複数のサブジョブ代行装置の処理能力に関する代行装置能力情報を取得する手段と、前記代行装置能力情報を参照して、1番目から(N−1)番目に実行される各サブジョブに対し、当該各サブジョブを実行する予定の前記サブジョブ代行装置を割り当てるサブジョブ割当手段と、自装置の現在の使用状態に関する情報を取得する手段と、自装置と前記サブジョブ代行装置との間のデータ転送に関する情報を取得する手段と、前記代行装置能力情報と、前記装置の現在の使用状態に関する情報と、前記装置と前記サブジョブ代行装置との間のデータ転送に関する情報に基づいて、変数i(iは正整数)の値をNから順次小さくしていきながら、(i−1)番目のサブジョブ前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置に実行させたときの実行時間と、(i−1)番目のサブジョブの実行結果のデータ当該サブジョブ代行装置から前記装置へ転送されるときに要する転送時間と、を加算して第1の処理時間を算出すると共に、(i−1)番目のサブジョブを前記装置に実行させたときの実行時間と、(i−2)番目のサブジョブ前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置に実行させたときの実行結果のデータ当該サブジョブ代行装置から前記装置へ転送されるときに要する転送時間と、を加算して第2の処理時間を算出する算出手段と、前記算出手段により算出された前記第1の処理時間と前記第2の処理時間とを比較した結果、前記第1の処理時間が前記第2の処理時間よりはじめて小さくなるときの変数iを特定する特定手段と、前記特定手段により変数iが特定されたことに伴い、1番目から(i−1)番目のサブジョブの実行先として前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置を、i番目からN番目のサブジョブの実行先として装置を、それぞれ決定する決定手段と、を有することを特徴とする。
本発明に係るプログラムは、コンピュータを、ジョブの実行要求を受け付けるジョブ受付手段、受け付けたジョブをN(Nは3以上の整数)個のサブジョブに分割する分割手段、ジョブの実行要求先として指定され、N個のサブジョブのうち最後のN番目に実行されるサブジョブを少なくとも実行するサブジョブ実行手段、前記サブジョブ実行手段が実行するサブジョブとは異なるサブジョブを、前記サブジョブ実行手段に代わって実行する1又は複数のサブジョブ代行装置の処理能力に関する代行装置能力情報を取得する手段、前記代行装置能力情報を参照して、1番目から(N−1)番目に実行される各サブジョブに対し、当該各サブジョブを実行する予定の前記サブジョブ代行装置を割り当てるサブジョブ割当手段、前記コンピュータの現在の使用状態に関する情報を取得する手段、前記コンピュータと前記サブジョブ代行装置との間のデータ転送に関する情報を取得する手段、前記代行装置能力情報と、前記コンピュータの現在の使用状態に関する情報と、前記コンピュータと前記サブジョブ代行装置との間のデータ転送に関する情報に基づいて、変数i(iは正整数)の値をNから順次小さくしていきながら、(i−1)番目のサブジョブ前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置に実行させたときの実行時間と、(i−1)番目のサブジョブの実行結果のデータ当該サブジョブ代行装置から前記コンピュータへ転送されるときに要する転送時間と、を加算して第1の処理時間を算出すると共に、(i−1)番目のサブジョブを前記コンピュータに実行させたときの実行時間と、(i−2)番目のサブジョブ前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置に実行させたときの実行結果のデータ当該サブジョブ代行装置から前記コンピュータへ転送されるときに要する転送時間と、を加算して第2の処理時間を算出する算出手段、前記算出手段により算出された前記第1の処理時間と前記第2の処理時間とを比較した結果、前記第1の処理時間が前記第2の処理時間よりはじめて小さくなるときの変数iを特定する特定手段、前記特定手段により変数iが特定されたことに伴い、1番目から(i−1)番目のサブジョブの実行先として前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置を、i番目からN番目のサブジョブの実行先として前記コンピュータを、それぞれ決定する決定手段、として機能させるためのものである。
請求項1記載の発明によれば、ジョブ実行装置の処理能力を利用しつつN番目のサブジョブとは異なるサブジョブの実行をサブジョブ代行装置に指示する場合に比して、ジョブの実行時間の短縮化を図ることができる。
請求項2記載の発明によれば、占有可能時間を超えない範囲でジョブ実行装置の処理能力を利用することができる。
請求項3記載の発明によれば、ジョブが実行される時に応じた占有可能時間に設定変更することができる。
請求項4記載の発明によれば、ジョブ実行装置に余力がある場合にのみサブジョブ実行先決定処理を実行することができる。
請求項5記載の発明によれば、ジョブ実行装置に余力がない場合には、サブジョブ割当手段により割り当てられた1番目から(N−1)番目に実行される各サブジョブの実行先を、そのまま当該各サブジョブの実行先として決定することができる。
請求項6記載の発明によれば、ジョブ実行装置の処理能力を利用しつつN番目のサブジョブとは異なるサブジョブの実行をサブジョブ代行装置に指示する場合に比して、ジョブの実行時間の短縮化を図ることができる。
請求項7記載の発明によれば、ジョブ実行装置の処理能力を利用しつつN番目のサブジョブとは異なるサブジョブの実行をサブジョブ代行装置に指示する場合に比して、ジョブの実行時間の短縮化を図ることができる。
本発明に係るジョブ分散処理システムの一実施の形態を示した全体構成図である。 本実施の形態における画像形成装置のハードウェア構成の一例を示した図である。 本実施の形態におけるジョブ受付装置を形成するサーバコンピュータのハードウェア構成図である。 本実施の形態におけるジョブ分散処理システムのブロック構成図である。 本実施の形態におけるファイルサイズ算出用データ記憶部に登録されているファイルサイズ算出用データの一例を示した図である。 本実施の形態のジョブ受付装置における処理を示したフローチャートである。 本実施の形態の画像形成装置における処理を示したフローチャートである。 図7に示した実行サブジョブ決定処理を示したフローチャートである。 本実施の形態においてクラウドと画像形成装置とにサブジョブを配分した後の処理時間の差を説明するために用いる概念図である。 本実施の形態においてクラウドと画像形成装置とにサブジョブを配分した後の処理時間の差を説明するために用いる概念図である。 本実施の形態においてクラウドと画像形成装置とにサブジョブを配分した後の処理時間の差を説明するために用いる概念図である。
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
図1は、本発明に係るジョブ分散処理システムの一実施の形態を示した全体構成図である。図1には、ジョブ受付装置10と画像形成装置50とクラウド2とがネットワーク4を介して接続された構成が示されている。本実施の形態におけるジョブ受付装置10は、サーバ等のコンピュータにより実現され、ユーザからのジョブの実行要求を受け付け、ジョブの実行を画像形成装置50やクラウド2に指示する装置である。本実施の形態における画像形成装置50は、スキャナ機能、印刷機能等複数の機能を有する装置であり、ジョブ受付装置10が受け付けたジョブ又はその一部を実行する。本実施の形態では、ジョブを複数のサブジョブに分割し、各サブジョブを画像形成装置50又はクラウド2に実行させるが、画像形成装置50は、ジョブが印刷ジョブの場合、ジョブにより実行される処理のうち最後に実行されるべき印刷処理を少なくとも実行し、ジョブの実行結果として印刷物を出力する。クラウド2は、クラウド・コンピューティングを省略した呼称であり、複数の計算資源6が含まれている。計算資源6は、依頼された計算処理等を実行するサーバコンピュータ等により実現される。ジョブは、本来、実行先として指定された画像形成装置50で実行されるべきであるが、処理時間の短縮化等の観点から、ジョブを分割して形成されたサブジョブのうち最後に実行されるサブジョブとは異なるサブジョブの全部又は一部を画像形成装置50に代わって実行する。なお、ジョブ受付装置10は、いずれかの画像形成装置50と一体に形成されていてもよい。
図1には、1台のジョブ受付装置10と複数台の画像形成装置50を示したが、本実施の形態は、ネットワーク4に直接又は間接的に接続される装置の種類、台数あるいは接続形態等はこれに限定されるものではない。また、ネットワーク4も便宜的に1つで構成しているが、ジョブ受付装置10及び画像形成装置50がクラウド2に存在する計算資源6とデータ通信が可能であれば、ネットワーク4の接続形態も図1に示した例に限定されるものではない。
図2は、本実施の形態における画像形成装置50のハードウェア構成の一例を示した図である。画像形成装置50は、上記の通り各種機能を搭載した装置であり、コンピュータを内蔵した装置である。図2において、CPU51は、ROM56に格納されたプログラムにしたがってIIT(Image Input Terminal)53やIOT(Image Output Terminal)54等本装置に搭載された各種機構の動作制御を行う。IIT53は、画像入力装置のことをいい、ユーザがセットした原稿を読み取り、電子データとしてHDD(Hard Disk Drive)58等に蓄積する。IIT53は、例えばスキャナにより実現してもよい。IOT54は、画像出力装置のことをいい、CPU51で実行される制御プログラムからの指示に従い出力用紙上に画像を印字する。IOT54は、例えばプリンタにより実現してもよい。アドレスデータバス60は、CPU51の制御対象となる各種機構と接続してデータの通信を行う。操作パネル52は、ユーザからの指示の受け付け、情報の表示を行う。IPS(Image Processing System)55は、画像処理装置のことをいい、受け付けられたジョブに含まれる画像処理を実行する。ROM(Read Only Memory)56は、本装置の制御や電子データの暗号、電子データの送受信に関する各種プログラムが格納されている。各種プログラムが実行されることで後述する各構成要素が所定の処理機能を発揮する。RAM(Random Access Memory)57は、プログラム実行時のワークメモリや電子データ送受信時の通信バッファとして利用される。本実施の形態では、ジョブキューとして利用してもよい。HDD58は、IIT53を使用して読み取った電子文書などを格納する。ネットワークインタフェース(I/F)59は、ネットワーク4を接続し、ジョブ受付装置10とのデータ通信、計算資源6から送られてくるサブジョブの実行結果の受信などに利用される。
図3は、本実施の形態におけるジョブ受付装置10を形成するサーバコンピュータのハードウェア構成図である。本実施の形態においてジョブ受付装置10を形成するサーバコンピュータは、従前から存在する汎用的なハードウェア構成で実現できる。すなわち、コンピュータは、図3に示したようにCPU11、ROM12、RAM13、ハードディスクドライブ(HDD)14を接続したHDDコントローラ15、入力手段として設けられたマウス16とキーボード17、及び表示装置として設けられたディスプレイ18をそれぞれ接続する入出力コントローラ19、通信手段として設けられたネットワークコントローラ20を内部バス21に接続して構成される。
なお、図1及び図2では、ジョブ受付装置10と画像形成装置50とを別装置として図示したが、ジョブ受付装置10を画像形成装置50に組み込んで構成されている場合、入力手段及び表示装置として操作パネル52が用いられる。
図4は、本実施の形態におけるジョブ分散処理システムのブロック構成図である。
本実施の形態におけるジョブ受付装置10は、ジョブ受付部31、ジョブ分割部32、サブジョブ実行先決定部33、実行指示部34、計算資源情報管理部35、ファイルサイズ算出部36、計算資源情報記憶部37及びファイルサイズ算出用データ記憶部38を有している。ジョブ受付部31は、ジョブの実行要求を受け付ける。ジョブ分割部32は、受け付けたジョブをN(Nは2以上の整数)個の複数のサブジョブに分割する。サブジョブ実行先決定部33は、分割した各サブジョブに対し、当該サブジョブを実行する装置、つまり画像形成装置50又は計算資源6を決定する。また、サブジョブ実行先決定部33は、サブジョブの実行先を決定する過程において、計算資源情報記憶部37に記憶された情報を参照することによって、1番目から(N−1)番目に実行される各サブジョブに対し、当該各サブジョブを実行する予定の計算資源6を割り当てる。この計算資源6の割り当てを、本実施の形態では、「仮決定」と称している。実行指示部34は、サブジョブの実行先が決定されると、実行先となる画像形成装置50又は計算資源6に、該当するサブジョブを実行順に従って実行することを指示する。計算資源情報記憶部37には、計算資源6の処理能力に関する情報(以下、「計算資源情報」)が記憶される。この計算資源情報は、計算資源6の処理能力を把握するために必要な情報であって、例えば、各計算資源6のハードウェア構成、性能、インストールされているアプリケーション等ソフトウェアに関する情報が含まれる。更に、計算資源情報には、計算資源6間のデータ転送速度に関する情報、例えば単位時間当たりの最大データ転送量などの情報が記憶されている。計算資源情報管理部35は、クラウド2に含まれる各計算資源6の計算資源情報を収集し、計算資源情報記憶部37に登録する。また、計算資源情報記憶部37に記憶した計算資源情報をリアルタイムに、あるいは定期的に更新するなどの情報管理を行う。ファイルサイズ算出部36は、ファイルサイズ算出用データ記憶部38に登録されている情報を参照して、まだ実行されていない各サブジョブが実行されたときに実行結果として得られるデータのファイルサイズを算出する。
ジョブ受付装置10における各構成要素31〜36は、ジョブ受付装置10を形成するコンピュータと、コンピュータに搭載されたCPU11で動作するプログラムとの協調動作により実現される。また、各記憶部37,38は、ジョブ受付装置10に搭載されたHDD14にて実現される。
図5は、本実施の形態におけるファイルサイズ算出用データ記憶部38に登録されているファイルサイズ算出用データの一例を示した図である。図5には、いずれかのサブジョブで実行される処理を特定する処理内容、直前のサブジョブの実行結果として受け取るデータに関する情報として、色に関する情報を示す入力色、エンコードを示す入力エンコード、ファイルサイズを示す入力ファイルサイズが示されている。更に、本処理の実行結果として直後のサブジョブに渡すデータに関する情報として、出力するデータの色に関する情報を示す出力色、エンコードを示す出力エンコード、ファイルサイズを示す出力ファイルサイズが示されている。
本実施の形態における画像形成装置50は、実行サブジョブ決定部61、サブジョブ実行部62、現況監視部63、占有可能時間設定部64及び転送速度測定部65を有している。実行要求されたジョブが印刷ジョブの場合、画像形成装置50は、複数に分割され生成されたサブジョブのうち、サブジョブの実行順上、印刷処理を含むサブジョブであって、最後に実行されるN番目のサブジョブを少なくとも実行するが、実行サブジョブ決定部61は、ジョブ受付装置10のサブジョブ実行先決定部33と連携動作して、現在の画像形成装置50の現在の状況、すなわち画像形成装置50の現在の使用状態に関する情報等を参照し、画像形成装置50の処理能力上、画像形成装置50が実行するサブジョブを決定する。また、実行サブジョブ決定部61は、画像形成装置50が実行するサブジョブを決定する過程において、画像形成装置50の現在の利用状況と当該ジョブの実行に要する画像形成装置50の資源から、画像形成装置50の処理能力上、画像形成装置50にN番目のサブジョブとは異なるサブジョブを実行する余力があるかないかの判断を行う。サブジョブ実行部62は、画像形成装置50が実行すると決定されたサブジョブを実行する。サブジョブ実行部62に含まれる印刷処理部66は、N番目のサブジョブに含まれる印刷処理を実行する。現況監視部63は、画像形成装置50における現在のハードウェア及びソフトウェア構成の使用状況を収集し、実行サブジョブ決定部61に収集した情報を提供する。占有可能時間設定部64は、1つのジョブに含まれる1又は複数のサブジョブの実行に画像形成装置50を占有可能な最大時間長を示す占有可能時間を設定する。例えば、画像形成装置50が複数のユーザによって共用される場合、1つのジョブ(1人のユーザ)によって画像形成装置50が長時間占有されるのを避けたい場合がある。このために、本実施の形態では、占有可能時間を設定している。占有可能時間は、単一な固定値でもよいが、平日と休日、昼間と夜間などジョブが実行される時間帯に応じて異なる値を設定してもよい。転送速度測定部65は、計算資源6との間の転送速度を測定する。
画像形成装置50における各構成要素61〜65は、画像形成装置50に搭載されたコンピュータと、コンピュータに搭載されたCPU51で動作するプログラムとの協調動作により実現される。
本実施の形態におけるクラウド2に含まれる各計算資源6は、ジョブ受付装置10により割り振られ送られてきたサブジョブを実行するサブジョブ実行部7を有している。サブジョブ実行部7は、計算資源6を形成するコンピュータと、コンピュータに搭載されたCPUで動作するプログラムとの協調動作により実現される。
また、本実施の形態で用いるプログラムは、通信手段により提供することはもちろん、CD−ROMやDVD−ROM等のコンピュータ読み取り可能な記録媒体に格納して提供することも可能である。通信手段や記録媒体から提供されたプログラムはコンピュータにインストールされ、コンピュータのCPUがインストールプログラムを順次実行することで各種処理が実現される。
図6は、本実施の形態のジョブ受付装置10における処理を示したフローチャートである。図7は、本実施の形態の画像形成装置50における処理を示したフローチャートである。図8は、図7に示した実行サブジョブ決定処理を示したフローチャートである。以下、これらの図を用いて本実施の形態においてジョブを受け付けてから終了するまでの処理について説明する。本実施の形態では、画像形成装置50に印刷を実行させてジョブの実行結果として印刷物を得る印刷ジョブを実行する場合を例にして説明する。
ジョブ受付部31は、ユーザからのジョブの実行要求を受け付ける(ステップ101)。ジョブの実行要求は、図示しないパーソナルコンピュータなどからユーザがジョブを実行させる画像形成装置50を指定し、処理対象の電子データと共にジョブ受付装置10へネットワーク経由で送信することで行われてもよい。あるいは、ジョブ受付装置10が画像形成装置50に組み込まれている場合、ユーザは、操作パネル52を操作して所望のパラメータ等を設定し、例えばスタートボタン等を押下することによってジョブの実行要求を発するようにしてもよい。この際、原稿をIIT53から読み取らせるようにしてもよい。
ジョブの実行要求が受け付けられると、ジョブ分割部32は、受け付けられたジョブを複数のサブジョブに分割する(ステップ102)。一般的には、ジョブを機能単位に分割したりするが、本実施の形態では、どのように分割するかということに関しては、特に規定しない。ただ、印刷ジョブを複数のサブジョブに分割した場合、最後に実行されるサブジョブは、実行結果(印刷物)を出力する印刷処理を実行するためのサブジョブであり、画像形成装置50が実行するサブジョブである。
次に、サブジョブ実行先決定部33は、各サブジョブを、実行先として計算資源6又は画像形成装置50に割り当てるが、この実行先を決定する処理を説明する前に、サブジョブの実行先をどのような観点に基づき決定するかと言うことについて説明する。
本実施の形態では、ジョブを複数のサブジョブに分割し、各サブジョブを実行順に処理していくことで、ジョブを実行する。計算資源6及び画像形成装置50それぞれは、自装置が受け持つサブジョブを、サブジョブの実行順に従い順番に実行していくが、各装置6,50は、サブジョブの実行が終了すると、次の装置6,50にサブジョブを実行させるために、サブジョブの実行開始指示に加えて自装置におけるサブジョブの実行結果を渡す。つまり、ジョブの処理時間は、各装置6,50におけるサブジョブの処理時間だけでなく、装置6,50間のデータ転送時間を加算して求められる。
前述したように、本実施の形態における画像形成装置50は、N番目のサブジョブを実行する。基本的には、計算資源6の方が画像形成装置50より処理速度が速いので、サブジョブの実行には計算資源6を利用した方がよいと考えられる。ただ、計算資源6から画像形成装置50へ転送されるデータ(実行結果)が多大なデータ量の場合、転送時間がより多くかかってしまうため、サブジョブの実行に要する処理時間は短くても、転送時間を考慮すると、画像形成装置50がサブジョブを実行した方が結果として処理時間を短くできる可能性がある。このことに関し、具体例をあげて説明すると、N番目のサブジョブが印刷処理を実行する場合において、(N−1)番目のサブジョブが例えばスキュー除去処理を行う場合、(N−1)番目のサブジョブを実行した計算資源6からの実行結果となるバイナリデータのデータ転送量が多大であると、より多くのデータ転送時間がかかってしまうからである。従って、スキュー除去処理を画像形成装置50で実行すれば、このデータ転送時間を処理時間の計算に含めなくてすむので、結果として処理時間の短縮につながる可能性がある。更に、(N−2)番目のサブジョブが例えば裏移り除去処理を行う場合、(N−2)番目のサブジョブを実行した計算資源6からの実行結果となるバイナリデータのデータ転送量が多大であると、より多くのデータ転送時間がかかってしまうので、裏移り除去処理を画像形成装置50で実行すれば、結果として処理時間の短縮につながる可能性がある。もちろん、この場合、(N−3)番目のサブジョブの実行結果を画像形成装置50に転送することになるので、この転送時間を考慮する必要がある。
すなわち、本実施の形態におけるサブジョブ実行先決定処理では、計算資源6の処理能力を活かして処理時間の短縮することと、計算資源6から画像形成装置50へのデータ転送時間とのトレードオフを考慮しながら、i(2≦i≦N)番目からN番目のサブジョブを画像形成装置50に実行させた方が、(i−1)番目からN番目のサブジョブを画像形成装置50に実行させるよりジョブの処理時間が短くなるiを求めることで、計算資源6及び画像形成装置50に実行させるサブジョブを決定することになる。
なお、データ転送時間を発生させないようにするためには、計算資源6を利用せずに画像形成装置50が単体でジョブを実行することが考えられるが、処理能力は、一般にクラウド2を利用した方が速い。また、画像形成装置50にN番目のサブジョブ以外のサブジョブを実行させるだけの余力があるかということが問題になるし、画像形成装置50には、前述した占有可能時間が設定されている。
本実施の形態では、ジョブの実行に要する処理時間をより短くすることを目的としているので、仮に計算資源6と画像形成装置50との間でサブジョブの実行結果のデータ転送が何度か行われたとしても、その方が処理時間が短縮できる可能性は論理的にはあり得る。ただ、本実施の形態では、i(2≦i≦N)番目からN番目という連続したサブジョブを画像形成装置50に実行させれば、計算資源6から画像形成装置50へのデータ転送は1回しか行われないので、この方がジョブの処理時間がより短くできると考え、本実施の形態においては、サブジョブを画像形成装置50に連続して実行させる場合に着目して説明する。
図6を用いたサブジョブ実行先決定部33における処理の説明に戻る。サブジョブ実行先決定部33は、分割された各サブジョブの処理内容を解析することによって、各サブジョブに対し、当該サブジョブを実行する上で必要となるハードウェア資源やアプリケーション等のソフトウェア資源を認識する。そして、計算資源情報記憶部37に記憶された計算資源情報には、各計算資源6に具備されているハードウェア資源やソフトウェアが含まれているので、サブジョブ実行先決定部33は、各サブジョブの実行に必要な資源と計算資源情報と比較することにより、各サブジョブを実行できる計算資源6を選出する。この際、計算資源情報に含まれているCPUの性能、メモリ量(あるいは現時点のメモリ使用量)等計算資源6の処理能力や、計算資源6間のデータ転送能力に関する情報を参照することによって、サブジョブの実行時間及び計算資源6間の転送時間が他の計算資源6に比べて短くなる計算資源6を選出する。このようにして、分割したサブジョブ1〜Nのうち1番目から(N−1)番目の各サブジョブに対して、当該サブジョブを実行する予定の計算資源6を仮決定する(ステップ103)。仮決定というのは、後述するように、画像形成装置50で実行されることになるかもしれないサブジョブが存在するからである。
1番目から(N−1)番目の各サブジョブを実行する予定の計算資源6を仮決定すると、サブジョブ実行先決定部33は、続いて、ジョブを解析することにより、例えば、ページサイズ、出力色、ページ数、文字数等N番目のサブジョブの処理に要する時間に影響を与える要因に関連する情報を生成し、画像形成装置50に通知する(ステップ104)。その後、ジョブ受付装置10は、画像形成装置50から送られてくる情報待ちの状態に入る。
図7において、ステップ104において送信された情報を受信すると(ステップ201)、画像形成装置50における実行サブジョブ決定部61は、画像形成装置50において実行するサブジョブを次のようにして決定する(ステップ202)。この実行サブジョブ決定処理に関しては、図8を用いて詳述する。
まず、実行サブジョブ決定部61は、画像形成装置50に現時点において余力があるかどうかを判断する(ステップ2021)。余力とは、現時点における画像形成装置50の利用状態、例えばCPU使用率、メモリ使用量、HDDの空き容量等が、ある閾値まで達していないために、サブジョブを実行できる余裕があることをいう。ここでは、N番目のサブジョブを実行することが決まっているので、N番目のサブジョブを実行するという仮定のもと、HDDの空き容量等に空きがあるかどうかを解析する必要がある。詳細には、ステップ201においてジョブ受付装置10から受け取った情報及び現況監視部63により収集された画像形成装置50の現在の状態を示す情報を解析して、N番目の印刷処理を含むサブジョブとは異なる処理を行えるかどうかを判断する。例えば、画像形成装置50の現在の状態と、CPU使用率が何%以下、メモリ使用量が何%以下、ジョブキューの登録数がいくつ以下、などの予め設定された閾値とを比較し、その比較の結果、全ての指標が閾値以下となった場合、あるいは閾値以下となった指標の数又は割合によって余力があるかないかを判断するようにしてもよい。
余力がないと判断した場合(ステップ2022でN)、実行サブジョブ決定部61は、余力がない旨をジョブ受付装置10に通知する(ステップ2023)。
一方、余力があると判断した場合(ステップ2022でY)、この時点では画像形成装置50はN番目のサブジョブのみを実行するとしているので、実行サブジョブ決定部61は、N番目の直前に実行される(N−1)番目のサブジョブに関する情報の送信要求をジョブ受付装置10へ送信することで当該情報の提供を要求する(ステップ2024)。
図6において、画像形成装置50から送信されてきた情報を受信すると(ステップ105)、その受信した情報が情報の送信要求であった場合(ステップ106でY)、サブジョブ実行先決定部33は、その送信要求により指定されている(N−1)番目のサブジョブに関する情報を画像形成装置50へ送信する(ステップ107)。(N−1)番目のサブジョブに関する情報には、画像形成装置50において処理時間の算出に必要が情報が含まれている。具体的には、CPU使用率、メモリ使用量等である。更に、必要な情報の一つに(N−1)番目のサブジョブが実行されたことにより生成される実行結果の大きさがある。なお、本実施の形態では、ファイル形式にて実行結果を次のサブジョブに渡すことを想定しているので、本実施の形態では、実行結果を含むデータファイルのファイルサイズを求める。なお、ファイルサイズは、サブジョブがまだ実行されていないので実測ができないため、何らかの情報をもとに計算により求める必要がある。このファイルサイズの求め方の一例を以下に示す。
例えば、算出対象のサブジョブが裏移り除去処理を行う場合において、裏移り除去処理に入力される処理対象データが2500KBだとすると、図5の例によると、この2500KBを挟む上から5,6レコード目のデータを用いて裏移り除去処理の実行結果(出力データ)を、290+((850−290/(3000−1000))×(2500−1000)=710KBと算出する。他のサブジョブに対しても同様の算出方法にて出力データを得る。なお、入力される処理対象データの大きさがファイルサイズ算出用データ記憶部38に登録されているデータの範囲外の場合、上記のように2点間の補正ではなく外挿により求める。
なお、エンコードがRawの場合には、ファイルサイズはページサイズ×ページ数におおよそ比例するなど、データの種類によって特性を有しているので、ファイルサイズ算出部36は、計算の過程において、その特性を反映させた計算式を用いて出力データを算出するようにする。また、本実施の形態では、ファイルサイズ算出用データ記憶部38にファイルサイズ算出用のデータを予め登録しているが、サブジョブを実際に行った結果、得られた出力ファイルのサイズをファイルサイズ算出用データ記憶部38に蓄積していくことで、推定するファイルサイズの精度の向上を図るようにしてもよい。
図8において、ファイルサイズ等を含む(N−1)番目のサブジョブに関する情報が送られてくると、画像形成装置50の実行サブジョブ決定部61は、その情報を受信する(ステップ2025)。そして、(N−1)番目のサブジョブに関する情報を参照して、N番目及び(N−1)番目のサブジョブを画像形成装置50で実行した場合の処理時間を算出する。このN番目及び(N−1)番目のサブジョブの実行に要する処理時間が占有可能時間を超えた場合(ステップ2027でY)、1つのジョブに含まれるサブジョブによって画像形成装置50を占有可能時間以上占有させないようにするために、(N−1)番目のサブジョブの実行はできないと判断する。この結果、実行サブジョブ決定部61は、画像形成装置50で実行するサブジョブは、N番目のサブジョブのみと決定する(ステップ2029)。そして、実行サブジョブ決定部61は、画像形成装置50では、N番目のサブジョブのみを実行するという旨をジョブ受付装置10に通知する(ステップ2030)。
一方、N番目及び(N−1)番目のサブジョブの実行に要する処理時間が占有可能時間を超えていない場合(ステップ2027でN)、続いて、(N−1)番目のサブジョブを画像形成装置50で実行することによりジョブ全体の処理時間は短縮されるかどうかについて調べる。この処理の詳細について、図9を用いて説明する。
図9A〜図9Cは、クラウド2又は画像形成装置50にサブジョブを分配した後の状態を示した概念図である。図9A〜図9Cにおいて、“SJi”はサブジョブ、“cpti”は当該計算資源6において当該サブジョブの実行に要する処理時間(実行時間)、“tti”は計算資源6から画像形成装置50へ、当該計算資源6によりサブジョブが実行されたことにより得られた実行結果(出力データ)の転送処理に要する時間(転送時間)、“ipti”は画像形成装置50において当該サブジョブの実行に要する処理時間(実行時間)、をそれぞれ示す。また、各項目の最後尾に含まれる変数“i”は、サブジョブ等の各項目を識別する番号であり、サブジョブの実行順に従って1から順に割り振られる。図9では、N=5のサブジョブを例にして説明するので、iの最大値は5である。なお、ここでは、まだ実際にサブジョブの処理もデータ転送も行われてないので、ここで用いる時間というのは、計算により求められた推定の処理時間であって各処理の実行に要するであろう予定の時間である。処理時間に関して、画像形成装置50側で実行される処理時間は、ステップ2026で算出済みである。計算資源6側でのサブジョブの実行時間は、ステップ2025においてジョブ受付装置10から取得してもよい。転送時間は、ジョブ受付装置10から取得したファイルサイズと、単位当たりの転送測度で算出できる。転送速度測定部65は、該当する計算資源6と通信を行うことで実測することで単位当たりの転送測度を求める。
本実施の形態では、変数i(iは正整数)の値をNから順次小さくしていきながら、ジョブ全体の処理時間が短縮されるかどうかについて調べる。まず、図9Aは、画像形成装置50側で5(i=N)番目のサブジョブSJ5のみを実行する場合である。図9Bは、画像形成装置50に余力があるため4(i=N−1)番目のサブジョブSJ4も画像形成装置50で実行してみることを試みる場合の例である。図9Aと図9Bとを比較してみると、図9Aに示したサブジョブSJ4の実行時間cpt4及びSJ4の実行結果の転送時間tt4と、図9Bに示した3(i=N−2)番目のサブジョブSJ3の実行結果の転送時間tt3及びSJ4の実行時間ipt4とが、それぞれの処理時間の差に現れてくる。なお、SJ1〜3,5の各処理時間に関しては、図9Aと図9Bに差異は生じないので比較する対象に含める必要はないので省略して説明する。
ここで、図9Aの場合の処理時間はcpt4+tt4、図9Bの場合の処理時間はtt3+ipt4なので、cpt4+tt4>tt3+ipt4という関係が成り立てば、処理時間の短縮が見込めることになる。
すなわち、ステップ2027においては、ipt4+ipt5で表される画像形成装置50における処理時間が占有可能時間という閾値THに対し、ipt4+ipt5<THが成り立ち、かつステップ2028においてcpt4+tt4>tt3+ipt4が成り立てば、4(i=N−1)番目のサブジョブを画像形成装置50で実行しても画像形成装置50を所定の占有可能時間を超えて占有することにはならず、かつジョブの処理時間の短縮も見込めるとして、実行サブジョブ決定部61は、4(i=N−1)番目のサブジョブを画像形成装置50で実行すると決定する。
このように、(N−1)番目のサブジョブを画像形成装置50で実行することで処理時間が短縮できると判断した場合(ステップ2028でY)、次の直前の(N−2)番目のサブジョブを画像形成装置50で実行することが可能かどうかを判断するために、実行サブジョブ決定部61は、(N−1)番目の直前の(N−2)番目のサブジョブに関する情報の送信要求をジョブ受付装置10へ送信することで当該情報の提供を要求する(ステップ2024)。
これ以降は、前述した処理(図6のステップ106でY,107及び図8のステップ2024〜2028)を繰り返すことになるので詳細な処理の説明は省略するが、図9Bと図9Cを用いてステップ2027,2028の処理について確認する。
図9Cは、更に3(i=N−2)番目のサブジョブSJ3も画像形成装置50で実行してみることを試みる場合の例である。図9Bと図9Cとを比較してみると、図9Bに示したSJ3の実行時間cpt3及び3番目のサブジョブSJ3の実行結果の転送時間tt3と、図9Cに示した2(i=N−3)番目のサブジョブSJ2の実行結果の転送時間tt2とSJ3の実行時間ipt3とが、それぞれの処理時間の差に現れてくる。なお、SJ1,2,4,5の各処理時間に関しては、図9Bと図9Cに差異は生じないので比較する対象に含める必要はないので省略して説明する。
ここで、ipt3+ipt4+ipt5<THが成り立っているとした場合(ステップ2027でN)、図9Bの場合の処理時間はcpt3+tt3、図9Cの場合の処理時間はtt2+ipt3なので、cpt3+tt3>tt2+ipt3という関係が成り立てば、処理時間の短縮が見込めると判断し(ステップ2028でY)、ステップ2024に戻り、次の直前の(N−3)番目のサブジョブを画像形成装置50で実行することが可能かどうかの判断を行う処理に移行する。
すなわち、(i−1)(2≦i≦N)番目のサブジョブを画像形成装置50で実行することで占有可能時間を超えてしまうか(ステップ2027でY)、cpt3+tt3<tt2+ipt3とはじめて処理時間が短縮できない状況になることが判明した場合(ステップ2028でN)、実行サブジョブ決定部61は、(i−1)番目のサブジョブは画像形成装置50で実行せず、画像形成装置50で実行するサブジョブは、i番目からN番目のサブジョブと決定する(ステップ2029)。このようにして、変数iが特定されると、画像形成装置50で実行するサブジョブi番目からN番目であることをジョブ受付装置10に通知する(ステップ2030)。
図6において、画像形成装置50から送信されてきた情報を受信すると(ステップ105)、その受信した情報が、図8のステップ2030の画像形成装置50で実行するサブジョブはi番目からN番目を示す通知か、図8のステップ2023における余力のない旨の通知の場合(ステップ106でN)、サブジョブ実行先決定部33は、この画像形成装置50からの通知によって各サブジョブの実行先を決定する(ステップ108)。具体的には、図8のステップ2023の余力のない旨の通知の場合、1番目から(N−1)番目までのサブジョブをクラウド2に、N番目のサブジョブを画像形成装置50に、それぞれ実行させると決定する。つまり、図6のステップ103において仮決定した実行先がそのまま変更されることなく採用されることになる。図8のステップ2030のi番目からN番目の実行を示す通知の場合、1番目から(i−1)番目までのサブジョブをクラウド2に、i番目からN番目までのサブジョブを画像形成装置50に、それぞれ実行させると決定する。つまり、図6のステップ103において仮決定した実行先のうちi番目から(N−1)番目までのサブジョブの実行先は、いずれかの計算資源6から画像形成装置50に変更されたと言うことになる。
以上のようにして、各サブジョブの実行先が決定されると、実行指示部34は、該当する各計算資源6及び画像形成装置50に、処理対象とするサブジョブの実行を指示する(ステップ109)。ただ、サブジョブは1番目から順番に実行されるので、2番目以降のサブジョブを受け持つ計算資源6又は画像形成装置50は、直前に実行される計算資源6から実行開始の指示と実行結果を受けてから当該サブジョブの実行を開始する。
クラウド2において計算資源6のサブジョブ実行部7によりサブジョブが順番に実行され、最後の計算資源6の処理が終了すると、その計算資源6は、画像形成装置50にサブジョブの実行を指示する。画像形成装置50は、ジョブ受付装置10からの指示を受けた後(ステップ203)、計算資源6からのサブジョブの実行開始指示を受信すると(ステップ204)、サブジョブ実行部62にサブジョブを実行させる(ステップ205)。そして、印刷処理部66が、最後のN番目の印刷処理を含むサブジョブを実行することにより、ジョブの実行結果として印刷物が出力される。
以上のようにして、N番目のサブジョブの実行が終了すること、サブジョブ実行部62は、サブジョブの実行の終了をジョブ受付装置10に通知する(ステップ206)。
図6において、サブジョブの実行の終了の通知を受信すると(ステップ110)、ジョブ受付装置10は、受け付けたジョブの終了を要求元のユーザへ通知する(ステップ111)。
本実施の形態によれば、以上のようにして、ジョブを複数のサブジョブに分割し、その分割した各サブジョブをクラウド2又は画像形成装置50に配分して実行させる。
2 クラウド、4 ネットワーク、6 計算資源、7 サブジョブ実行部、10 ジョブ受付装置、11,51 CPU、12,56 ROM、13,57 RAM、14,58 ハードディスクドライブ(HDD)、15 HDDコントローラ、16 マウス、17 キーボード、18 ディスプレイ、19 入出力コントローラ、20 ネットワークコントローラ、21 内部バス、31 ジョブ受付部、32 ジョブ分割部、33 サブジョブ実行先決定部、34 実行指示部、35 計算資源情報管理部、36 ファイルサイズ算出部、37 計算資源情報記憶部、38 ファイルサイズ算出用データ記憶部、50 画像形成装置、52 操作パネル、53 IIT、54 IOT、55 IPS、59 ネットワークインタフェース(I/F)、60 アドレスデータバス、61 実行サブジョブ決定部、62 サブジョブ実行部、63 現況監視部、64 占有可能時間設定部、65 転送速度測定部、66 印刷処理部。

Claims (7)

  1. ジョブの実行要求を受け付けると共に、受け付けたジョブをN(Nは3以上の整数)個のサブジョブに分割し、各サブジョブの実行先を決定する実行先決定装置と、
    ジョブの実行要求先として指定され、N個のサブジョブのうち最後のN番目に実行されるサブジョブを少なくとも実行するジョブ実行装置と、
    前記ジョブ実行装置が実行するサブジョブとは異なるサブジョブを、前記ジョブ実行装置に代わって実行する1又は複数のサブジョブ代行装置と、
    を有し、
    前記実行先決定装置は、
    前記サブジョブ代行装置の処理能力に関する代行装置能力情報を取得する手段と、
    前記代行装置能力情報を参照して、1番目から(N−1)番目に実行される各サブジョブに対し、当該各サブジョブを実行する予定の前記サブジョブ代行装置を割り当てるサブジョブ割当手段と、
    を有し、
    前記ジョブ実行装置は、
    前記ジョブ実行装置の現在の使用状態に関する情報を取得する手段と、
    前記ジョブ実行装置と前記サブジョブ代行装置との間のデータ転送に関する情報を取得する手段と、
    前記代行装置能力情報と、前記ジョブ実行装置の現在の使用状態に関する情報と、前記ジョブ実行装置と前記サブジョブ代行装置との間のデータ転送に関する情報に基づいて、変数i(iは正整数)の値をNから順次小さくしていきながら、(i−1)番目のサブジョブ前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置に実行させたときの実行時間と、(i−1)番目のサブジョブの実行結果のデータ当該サブジョブ代行装置から前記ジョブ実行装置へ転送されるときに要する転送時間と、を加算して第1の処理時間を算出すると共に、(i−1)番目のサブジョブを前記ジョブ実行装置に実行させたときの実行時間と、(i−2)番目のサブジョブ前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置に実行させたときの実行結果のデータ当該サブジョブ代行装置から前記ジョブ実行装置へ転送されるときに要する転送時間と、を加算して第2の処理時間を算出する算出手段と、
    前記算出手段により算出された前記第1の処理時間と前記第2の処理時間とを比較した結果、前記第1の処理時間が前記第2の処理時間よりはじめて小さくなるときの変数iを特定する特定手段と、
    を有し、
    前記実行先決定装置は、前記特定手段により変数iが特定されたことに伴い、1番目から(i−1)番目のサブジョブの実行先として前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置を、i番目からN番目のサブジョブの実行先として前記ジョブ実行装置を、それぞれ決定する、
    ことを特徴とするジョブ分散処理システム。
  2. 前記実行先決定装置は、1つのジョブの実行に前記ジョブ実行装置を占有可能な最大時間長を示す占有可能時間を設定する設定手段を有し、前記ジョブ実行装置がi番目からN番目のサブジョブの実行に要する処理時間が前記占有可能時間を超えない範囲で変数iを求めることを特徴とする請求項1に記載のジョブ分散処理システム。
  3. 前記設定手段は、ジョブが実行される時に応じた占有可能時間を設定することを特徴とする請求項2に記載のジョブ分散処理システム。
  4. 前記実行先決定装置は、前記ジョブ実行装置の現在の利用状況と当該ジョブの実行に要する前記ジョブ実行装置の資源から、前記ジョブ実行装置の処理能力上、前記ジョブ実行装置にN番目のサブジョブとは異なるサブジョブを実行する余力の有無を判断する判断手段を有し、余力があると判断された場合に前記算出手段及び前記特定手段を用いてサブジョブの実行先を決定することを特徴とする請求項1に記載のジョブ分散処理システム。
  5. 前記実行先決定装置は、前記ジョブ実行装置の現在の利用状況と当該ジョブの実行に要する前記ジョブ実行装置の資源から、前記ジョブ実行装置の処理能力上、前記ジョブ実行装置にN番目のサブジョブとは異なるサブジョブを実行する余力の有無を判断する判断手段を有し、余力がないと判断された場合、1番目から(N−1)番目のサブジョブの実行先として前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置を、N番目のサブジョブの実行先として前記ジョブ実行装置を、それぞれ決定することを特徴とする請求項1に記載のジョブ分散処理システム。
  6. ジョブの実行要求を受け付けるジョブ受付手段と、
    受け付けたジョブをN(Nは3以上の整数)個のサブジョブに分割する分割手段と、
    ジョブの実行要求先として指定され、N個のサブジョブのうち最後のN番目に実行されるサブジョブを少なくとも実行するサブジョブ実行手段と、
    前記サブジョブ実行手段が実行するサブジョブとは異なるサブジョブを、前記サブジョブ実行手段に代わって実行する1又は複数のサブジョブ代行装置の処理能力に関する代行装置能力情報を取得する手段と、
    前記代行装置能力情報を参照して、1番目から(N−1)番目に実行される各サブジョブに対し、当該各サブジョブを実行する予定の前記サブジョブ代行装置を割り当てるサブジョブ割当手段と、
    自装置の現在の使用状態に関する情報を取得する手段と、
    自装置と前記サブジョブ代行装置との間のデータ転送に関する情報を取得する手段と、
    前記代行装置能力情報と、前記装置の現在の使用状態に関する情報と、前記装置と前記サブジョブ代行装置との間のデータ転送に関する情報に基づいて、変数i(iは正整数)の値をNから順次小さくしていきながら、(i−1)番目のサブジョブ前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置に実行させたときの実行時間と、(i−1)番目のサブジョブの実行結果のデータ当該サブジョブ代行装置から前記装置へ転送されるときに要する転送時間と、を加算して第1の処理時間を算出すると共に、(i−1)番目のサブジョブを前記装置に実行させたときの実行時間と、(i−2)番目のサブジョブ前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置に実行させたときの実行結果のデータ当該サブジョブ代行装置から前記装置へ転送されるときに要する転送時間と、を加算して第2の処理時間を算出する算出手段と、
    前記算出手段により算出された前記第1の処理時間と前記第2の処理時間とを比較した結果、前記第1の処理時間が前記第2の処理時間よりはじめて小さくなるときの変数iを特定する特定手段と、
    前記特定手段により変数iが特定されたことに伴い、1番目から(i−1)番目のサブジョブの実行先として前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置を、i番目からN番目のサブジョブの実行先として装置を、それぞれ決定する決定手段と、
    を有することを特徴とする情報処理装置。
  7. コンピュータを、
    ジョブの実行要求を受け付けるジョブ受付手段、
    受け付けたジョブをN(Nは3以上の整数)個のサブジョブに分割する分割手段、
    ジョブの実行要求先として指定され、N個のサブジョブのうち最後のN番目に実行されるサブジョブを少なくとも実行するサブジョブ実行手段、
    前記サブジョブ実行手段が実行するサブジョブとは異なるサブジョブを、前記サブジョブ実行手段に代わって実行する1又は複数のサブジョブ代行装置の処理能力に関する代行装置能力情報を取得する手段、
    前記代行装置能力情報を参照して、1番目から(N−1)番目に実行される各サブジョブに対し、当該各サブジョブを実行する予定の前記サブジョブ代行装置を割り当てるサブジョブ割当手段、
    前記コンピュータの現在の使用状態に関する情報を取得する手段、
    前記コンピュータと前記サブジョブ代行装置との間のデータ転送に関する情報を取得する手段、
    前記代行装置能力情報と、前記コンピュータの現在の使用状態に関する情報と、前記コンピュータと前記サブジョブ代行装置との間のデータ転送に関する情報に基づいて、変数i(iは正整数)の値をNから順次小さくしていきながら、(i−1)番目のサブジョブ前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置に実行させたときの実行時間と、(i−1)番目のサブジョブの実行結果のデータ当該サブジョブ代行装置から前記コンピュータへ転送されるときに要する転送時間と、を加算して第1の処理時間を算出すると共に、(i−1)番目のサブジョブを前記コンピュータに実行させたときの実行時間と、(i−2)番目のサブジョブ前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置に実行させたときの実行結果のデータ当該サブジョブ代行装置から前記コンピュータへ転送されるときに要する転送時間と、を加算して第2の処理時間を算出する算出手段、
    前記算出手段により算出された前記第1の処理時間と前記第2の処理時間とを比較した結果、前記第1の処理時間が前記第2の処理時間よりはじめて小さくなるときの変数iを特定する特定手段、
    前記特定手段により変数iが特定されたことに伴い、1番目から(i−1)番目のサブジョブの実行先として前記サブジョブ割当手段により割り当てられた前記サブジョブ代行装置を、i番目からN番目のサブジョブの実行先として前記コンピュータを、それぞれ決定する決定手段、
    として機能させるためのプログラム。
JP2010224223A 2010-10-01 2010-10-01 ジョブ分散処理システム、情報処理装置及びプログラム Expired - Fee Related JP5598229B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010224223A JP5598229B2 (ja) 2010-10-01 2010-10-01 ジョブ分散処理システム、情報処理装置及びプログラム
US13/149,028 US8505011B2 (en) 2010-10-01 2011-05-31 Method of optimizing job distribution process by analysis of transmission time and processing time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010224223A JP5598229B2 (ja) 2010-10-01 2010-10-01 ジョブ分散処理システム、情報処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2012079124A JP2012079124A (ja) 2012-04-19
JP5598229B2 true JP5598229B2 (ja) 2014-10-01

Family

ID=45890941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010224223A Expired - Fee Related JP5598229B2 (ja) 2010-10-01 2010-10-01 ジョブ分散処理システム、情報処理装置及びプログラム

Country Status (2)

Country Link
US (1) US8505011B2 (ja)
JP (1) JP5598229B2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104358B2 (en) 2004-12-01 2015-08-11 Xerox Corporation System and method for document production visualization
JP2011053995A (ja) * 2009-09-03 2011-03-17 Hitachi Ltd データ処理制御方法および計算機システム
JP5678556B2 (ja) * 2010-10-04 2015-03-04 富士ゼロックス株式会社 ジョブ実行システム、ジョブ実行装置及びプログラム
US8902220B2 (en) 2010-12-27 2014-12-02 Xerox Corporation System architecture for virtual rendering of a print production piece
US9836868B2 (en) 2011-09-22 2017-12-05 Xerox Corporation System and method employing segmented models of binding elements in virtual rendering of a print production piece
US9105116B2 (en) 2011-09-22 2015-08-11 Xerox Corporation System and method employing variable size binding elements in virtual rendering of a print production piece
US9122782B2 (en) * 2011-09-28 2015-09-01 International Business Machines Corporation Apparatus and computer program product for adaptively determining response time distribution of transactional workloads
US8908214B2 (en) 2013-03-11 2014-12-09 Xerox International Partners Virtual printer interface node
US9047027B2 (en) 2013-03-11 2015-06-02 Xerox International Partners System for authenticating communications between a non-cloud ready networked printer and a cloud-based service through a virtual printer interface device
US8917414B2 (en) 2013-03-11 2014-12-23 Xerox International Partners Virtual printer interface node
US8970885B2 (en) 2013-03-11 2015-03-03 Xerox International Partners Virtual printer interface node
US9122436B2 (en) 2013-03-11 2015-09-01 Xerox International Partners Virtual printer interface node
US8970859B2 (en) 2013-03-11 2015-03-03 Xerox International Partners Virtual printer interface node
US9098218B2 (en) 2013-03-11 2015-08-04 Xerox International Partners System for authenticating communications between a non-cloud ready networked printer and a cloud-based servise through a virtual printer interface device
US8913272B2 (en) 2013-03-11 2014-12-16 Xerox International Partners Virtual printer interface node
US8908213B2 (en) 2013-03-11 2014-12-09 Xerox International Partners Virtual printer interface node
JP6246672B2 (ja) * 2014-07-23 2017-12-13 株式会社東芝 ウェブアプリケーションシステム
US10031774B2 (en) * 2015-10-15 2018-07-24 Red Hat, Inc. Scheduling multi-phase computing jobs
US11132681B2 (en) 2018-07-06 2021-09-28 At&T Intellectual Property I, L.P. Services for entity trust conveyances
CN110753341A (zh) * 2018-07-23 2020-02-04 华为技术有限公司 一种资源配置方法及装置
US10802872B2 (en) * 2018-09-12 2020-10-13 At&T Intellectual Property I, L.P. Task delegation and cooperation for automated assistants
US11481186B2 (en) 2018-10-25 2022-10-25 At&T Intellectual Property I, L.P. Automated assistant context and protocol
US10966069B1 (en) 2019-12-02 2021-03-30 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for HD map generation using an edge server network
US11340956B2 (en) 2020-09-11 2022-05-24 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for dynamic prediction and optimization of edge server scheduling
CN112559181B (zh) * 2020-12-16 2024-05-03 全芯智造技术有限公司 用于电路版图的热点检测方法、设备和存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3591259B2 (ja) * 1997-12-12 2004-11-17 セイコーエプソン株式会社 ネットワークシステム並びにネットワーク印刷方法
JP2001282494A (ja) * 2000-03-31 2001-10-12 Ricoh Co Ltd 印刷処理システムおよび印刷処理方法
JP2005056201A (ja) 2003-08-05 2005-03-03 Hitachi Software Eng Co Ltd 異種混合計算機接続システム及びシステムにおける処理割り当て方法及び課金方法
JP4412718B2 (ja) 2004-06-09 2010-02-10 キヤノン株式会社 情報処理装置およびその制御方法
JP2006159741A (ja) 2004-12-09 2006-06-22 Canon Inc 画像形成システム
JP4170302B2 (ja) 2005-03-10 2008-10-22 富士通株式会社 負荷制御装置および負荷制御プログラム
US7788667B2 (en) * 2005-04-22 2010-08-31 Gm Global Technology Operations, Inc. Extensible scheduling of tasks in time-triggered distributed embedded systems
US20070186214A1 (en) * 2005-12-23 2007-08-09 Promptt Technologies Ltd. Method of managing a task
US7730119B2 (en) * 2006-07-21 2010-06-01 Sony Computer Entertainment Inc. Sub-task processor distribution scheduling
JP4614239B2 (ja) * 2006-07-28 2011-01-19 Kddi株式会社 マルチタスクスケジューリング機能搭載装置及びプログラム
US20090063413A1 (en) * 2007-08-31 2009-03-05 Handysoft Global Corporation Method and system for tracking allocations of assets and tasks
KR20100018289A (ko) * 2008-08-06 2010-02-17 삼성전자주식회사 멀티 태스킹 성능 예측 방법 및 시스템
US20100205606A1 (en) * 2009-02-12 2010-08-12 Panzer Adi System and method for executing a complex task by sub-tasks
US20110264593A1 (en) * 2010-04-27 2011-10-27 Appigo, Inc. System and method for task management with sub-portions

Also Published As

Publication number Publication date
JP2012079124A (ja) 2012-04-19
US8505011B2 (en) 2013-08-06
US20120084781A1 (en) 2012-04-05

Similar Documents

Publication Publication Date Title
JP5598229B2 (ja) ジョブ分散処理システム、情報処理装置及びプログラム
JP6364880B2 (ja) 並列計算機システム,ジョブ管理装置の制御プログラム,及び並列計算機システムの制御方法
EP1750200A2 (en) System and method for executing job step, and computer product
JP5050601B2 (ja) ジョブへの資源割当方式、ジョブへの資源割当方法およびプログラム
JP5594470B2 (ja) 印刷制御装置、印刷システムおよびプログラム
JP2010009160A (ja) 性能値算出装置
CN111343288B (zh) 作业调度方法、系统及计算设备
KR101695013B1 (ko) 적응형 자원 할당 및 관리 방법
JP6237170B2 (ja) 割当判定装置、制御方法、及びプログラム
JP5790758B2 (ja) スケジューリング方法およびスケジューリングシステム
CN113254179B (zh) 基于高响应比的作业调度方法、系统、终端、存储介质
JP5471681B2 (ja) 画像処理装置及び画像処理プログラム
JP5750018B2 (ja) 画像処理システム、印刷システム、制御装置、画像処理方法およびプログラム
JP2015108877A (ja) 予測時間分布生成装置、制御方法、及びプログラム
JP6191361B2 (ja) 情報処理システム、情報処理システムの制御方法及び制御プログラム
JP5257077B2 (ja) リソース配分装置、その方法及びプログラム
JP4999932B2 (ja) 仮想計算機システム及び仮想計算機重み付け設定処理方法及び仮想計算機重み付け設定処理プログラム
JP2012008838A (ja) 印刷文書変換装置およびプログラム
JP6477081B2 (ja) プログラム、情報処理装置及び情報処理方法
JP7230375B2 (ja) 情報処理装置およびプログラム
JP6524733B2 (ja) 並列演算装置、並列演算システム、およびジョブ制御プログラム
CN111902804A (zh) 用于管理存储设备的资源并量化i/o请求成本的系统和方法
JP7383918B2 (ja) 資源割り当て制御装置、資源割り当て制御方法、及び、資源割り当て制御プログラム
US20230010895A1 (en) Information processing apparatus, information processing method, and computer-readable recording medium storing information processing program
US8914591B2 (en) Information processing apparatus, method for controlling same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130917

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140422

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140620

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140728

R150 Certificate of patent or registration of utility model

Ref document number: 5598229

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees