JP6996216B2 - シミュレート装置、情報処理装置、装置設定方法および装置設定プログラム - Google Patents

シミュレート装置、情報処理装置、装置設定方法および装置設定プログラム Download PDF

Info

Publication number
JP6996216B2
JP6996216B2 JP2017200364A JP2017200364A JP6996216B2 JP 6996216 B2 JP6996216 B2 JP 6996216B2 JP 2017200364 A JP2017200364 A JP 2017200364A JP 2017200364 A JP2017200364 A JP 2017200364A JP 6996216 B2 JP6996216 B2 JP 6996216B2
Authority
JP
Japan
Prior art keywords
jobs
job
parameters
parameter
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017200364A
Other languages
English (en)
Other versions
JP2019074914A (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.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2017200364A priority Critical patent/JP6996216B2/ja
Priority to US16/159,890 priority patent/US20190114185A1/en
Publication of JP2019074914A publication Critical patent/JP2019074914A/ja
Application granted granted Critical
Publication of JP6996216B2 publication Critical patent/JP6996216B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1215Improving printing performance achieving increased printing speed, i.e. reducing the time between printing start and printing end
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/124Parallel printing or parallel ripping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1254Automatic configuration, e.g. by driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1262Job scheduling, e.g. queuing, determine appropriate device by grouping or ganging jobs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1263Job scheduling, e.g. queuing, determine appropriate device based on job priority, e.g. re-arranging the order of jobs, e.g. the printing sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00002Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
    • H04N1/00007Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for relating to particular apparatus or devices
    • H04N1/0001Transmission systems or arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

この発明は、シミュレート装置、情報処理装置、装置設定方法および装置設定プログラムに関し、特に、情報処理装置をシミュレートするシミュレート装置、情報処理装置またはシミュレート装置で実行される装置設定方法および装置設定プログラムに関する。
複合機は、原稿をスキャンするスキャン機能、プリントデータを印刷する画像形成機能、ファクシミリを送受信するファクシミリ機能等の複数の機能を有する。また、複合機は、処理の対象とするデータとしてフォーマットの異なる複数の種類のデータを処理可能であり、データの種類によって実行される処理が異なる。複合機が有する複数の機能のいずれが使用されるのかは、複合機が実行するジョブによって異なる。複合機が実行するジョブは、複合機を使用するユーザー等の違い等、複合機の使用環境によって異なる。さらに、複合機は、複数のジョブを並列で実行することが可能なので、特定の複数の種類のジョブの組み合わせに対して、負荷が増大する場合があり、複数の種類のジョブのすべての処理速度が低下してしまうといった問題がある。
一般的に、装置の不具合を発見するために、別の装置で不具合を再現する技術が知られている。例えば、特開平10-111815号公報には、内部動作が観測できない高速なデジタル同期回路あるいは高速インターフェースを備えるシステムに用いられ、該システムの素子間の入力信号をシステムクロックに同期化して出力する出力手段と、該出力手段の出力信号をスヌープして蓄積情報として蓄積する蓄積手段と、該蓄積情報を用いて前記システムの同期回路あるいは高速インターフェースの内部動作を再現する第1の再現手段と、を有することを特徴とするデバッグシステムが記載されている。
しかしながら、従来のデバッグシステムにおいては、不具合を発見することができるが、発見された不具合を改善するためには、ユーザーが対応しなければならないといった問題がある。
特開平10-111815号公報
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、使用環境に適応するように情報処理装置を設定することが可能なシミュレート装置を提供することである。
この発明の他の目的は、使用環境に適応することが可能な情報処理装置を提供することである。
この発明のさらに他の目的は、情報処理装置をユーザーにより使用される環境に適応させることが可能な装置設定方法を提供することである。
この発明のさらに他の目的は、使用環境に適応することが可能な装置設定方法を提供することである。
この発明のさらに他の目的は、情報処理装置をユーザーにより使用される環境に適応させることが可能な装置設定プログラムを提供することである。
この発明のさらに他の目的は、使用環境に適応することが可能な装置設定プログラムを提供することである。
この発明は上述した問題点を解決するためになされたもので、この発明のある局面によれば、シミュレート装置は、処理と処理の内容を定めるパラメータとを定めたジョブを実行する情報処理装置をシミュレートするシミュレート手段と、複数のジョブを並列で実行する情報処理装置の動作状態が予め設定された許容条件から外れる場合、情報処理装置が実行している複数のジョブの組をエラー組に決定し、シミュレート手段を制御して、情報処理装置をシミュレートする仮想装置にエラー組に含まれる複数のジョブの少なくとも1つのパラメータを負荷が小さくなる方向に変更した複数のジョブを並列で実行させる仮想実行制御手段と、仮想装置の動作状態が許容条件から外れない場合に仮想装置に実行させた複数のジョブの組を変更ジョブ組に決定するパラメータ決定手段と、情報処理装置を制御して、エラー組に属する複数のジョブと、それぞれ処理が同じで、かつ、パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列して実行する場合に、複数の新たなジョブのパラメータを、変更ジョブ組に含まれる複数の変更ジョブのうち処理が同じジョブで定められたパラメータに変更させる設定指示手段と、を備える。
この局面に従えば、情報処理装置の動作状態が予め設定された許容条件から外れる場合に情報処理装置が実行している複数のジョブの組をエラー組に決定し、情報処理装置をシミュレートする仮想装置に、エラー組に含まれる複数のジョブの少なくとも1つのパラメータを負荷が小さくなる方向に変更した複数のジョブを並列で実行させ、仮想装置の動作状態が許容条件から外れない場合に仮想装置に実行させた複数のジョブの組を変更ジョブ組に決定する。このため、情報処理装置で動作状態が許容条件から外れる複数のジョブに対し、許容条件から外れない複数のジョブを決定することができる。そして、情報処理装置を制御して、エラー組に属する複数のジョブと、それぞれ処理が同じで、かつ、パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列して実行する場合に、複数の新たなジョブのパラメータを、変更ジョブ組に含まれる複数のジョブのうち処理が同じジョブで定められたパラメータに変更させる。このため、情報処理装置が複数のジョブを実行する場合に許容条件から外れないように情報処理装置を設定することができる。その結果、使用環境に適応するように情報処理装置を設定することが可能なシミュレート装置を提供することができる。
好ましくは、仮想実行制御手段は、予め定められた優先順位が高いパラメータを優先順位が低いパラメータよりも優先して変更する。
この局面に従えば、優先順位が低い処理に対応するパラメータを優先順位が高い処理に対するパラメータよりも優先して変更するので、データの劣化をできるだけ少なくすることができる。
この発明の他の局面によれば、上記のシミュレート装置と情報処理装置とを含む情報処理システムであって、情報処理装置は、エラー組に属する複数のジョブと、それぞれ処理が同じで、かつ、パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列して実行する場合に、複数の新たなジョブのパラメータを、変更ジョブ組に含まれる複数の変更ジョブのうち処理が同じジョブで定められたパラメータに変更する変更手段を、備える。
この局面に従えば、情報処理装置が、エラー組に属する複数のジョブと、それぞれ処理が同じで、かつ、パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列して実行する場合に、複数の新たなジョブのパラメータを、変更ジョブ組に含まれる複数の変更ジョブのうち処理が同じジョブで定められたパラメータに変更するので、情報処理装置において動作状態が許容条件から外れないようにすることができる。
この発明の他の局面によれば、情報処理装置は、処理と処理の内容を定めるパラメータとを定めた複数のジョブを並列で実行する間に予め設定された許容条件から外れる場合、複数のジョブの組をエラー組に決定するエラー組決定手段と、エラー組に含まれる複数のジョブの少なくとも1つのパラメータが異なり、並列で実行しても許容条件から外れない複数のジョブの組を変更ジョブ組に決定し、エラー組に属する複数のジョブと、それぞれ処理が同じで、かつ、パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列で実行する場合に、複数の新たなジョブのパラメータを、変更ジョブ組に含まれる複数のジョブのうち処理が同じジョブで定められたパラメータに変更する変更手段と、を備える。
この局面に従えば、複数のジョブを並列で実行する間に許容条件を外れる場合に複数のジョブの組をエラー組に決定し、エラー組に含まれる複数のジョブの少なくとも1つのパラメータが異なり、並列で実行しても許容条件から外れない複数のジョブの組を変更ジョブ組に決定する。このため、許容条件から外れる複数のジョブに対し、許容条件から外れない複数の変更ジョブを決定することができる。そして、エラー組に属する複数のジョブと、それぞれ処理が同じで、かつ、パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列して実行する場合に、複数の新たなジョブのパラメータを、変更ジョブ組に含まれる複数のジョブのうち処理が同じジョブで定められたパラメータに変更する。このため、複数のジョブを実行する場合に、許容条件から外れないようにすることができる。その結果、使用環境に適応することが可能な情報処理装置を提供することができる。
この発明の他の局面によれば、上記の情報処理装置と、サーバーとからなる情報処理システムであって、情報処理装置は、サーバーにエラー組を送信し、変更ジョブ組の決定を依頼する依頼手段を、さらに備え、サーバーは、情報処理装置をシミュレートするシミュレート手段と、シミュレート手段を制御して、情報処理装置をシミュレートする仮想装置にエラー組に含まれる複数のジョブの少なくとも1つのパラメータを変更して複数のジョブを並列して実行させる仮想実行制御手段と、仮想装置の動作状態が許容条件から外れない場合に仮想装置が実行している複数のジョブの組を変更ジョブ組に決定するパラメータ決定手段と、を含む。
この局面に従えば、サーバーに変更ジョブ組の決定を依頼し、サーバーが変更ジョブ組を決定するので、変更ジョブ組を決定する処理の負荷が増加しないようにすることができる。
好ましくは、変更手段は、複数の新たなジョブのうちパラメータが変更されるジョブが最後に実行される最終ジョブの場合、最終ジョブが開始される前に、最終ジョブのパラメータを、変更ジョブ組に含まれる複数の変更ジョブのうち処理が同じジョブで定められたパラメータに変更する。
この局面に従えば、複数の新たなジョブのうちパラメータが変更されるジョブが最終ジョブの場合、最終ジョブが開始される前に、最終ジョブのパラメータが変更されるので、最終ジョブ以外のジョブを継続して実行することができる。
好ましくは、変更手段は、複数の新たなジョブのうちパラメータが変更されるジョブが最後に実行される最終ジョブでない場合、パラメータが変更されるジョブの単位処理が切り換わるタイミングで、パラメータが変更されるジョブのパラメータを、変更ジョブ組に含まれる複数の変更ジョブのうち処理が同じジョブで定められたパラメータに変更する。
この局面に従えば、複数の新たなジョブのうちパラメータが変更されるジョブが最終ジョブでない場合、パラメータが変更されるジョブの単位処理が切り換わるタイミングで、パラメータが変更されるジョブのパラメータが変更される。このため、実行中のジョブで定められるパラメータを実行中に変更することができる。
好ましくは、変更手段は、複数の新たなジョブの少なくとも1つのパラメータを変更する前に、複数の新たなジョブのうちパラメータが変更されるジョブと、そのジョブのパラメータが変更されることをユーザーに通知する通知手段を含む。
この局面に従えば、パラメータが変更されるジョブと、そのジョブのパラメータが変更されることがユーザーに通知されるので、ユーザーは、出力結果が変更されるジョブと、変更内容を確認することができる。
この発明の他の局面によれば、装置設定方法は、処理と処理の内容を定めるパラメータとを定めたジョブを実行する情報処理装置をシミュレートするシミュレートステップと、複数のジョブを並列で実行する情報処理装置の動作状態が予め設定された許容条件から外れる場合、情報処理装置が実行している複数のジョブの組をエラー組に決定し、情報処理装置をシミュレートする仮想装置にエラー組に含まれる複数のジョブの少なくとも1つのパラメータを負荷が小さくなる方向に変更した複数のジョブを並列で実行させる仮想実行制御ステップと、仮想装置の動作状態が許容条件から外れない場合に仮想装置に実行させた複数のジョブの組を変更ジョブ組に決定するパラメータ決定ステップと、情報処理装置を制御して、エラー組に属する複数のジョブと、それぞれ処理が同じで、かつ、パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列して実行する場合に、複数の新たなジョブのパラメータを、変更ジョブ組に含まれる複数の変更ジョブのうち処理が同じジョブで定められたパラメータに変更させる設定指示ステップと、をシミュレート装置に実行させる。
この局面に従えば、情報処理装置をユーザーにより使用される環境に適応させることが可能な装置設定方法を提供することができる。
この発明のさらに他の局面によれば、装置設定方法は、処理と処理の内容を定めるパラメータとを定めた複数のジョブを並列で実行する間に予め設定された許容条件から外れる場合、複数のジョブの組をエラー組に決定するエラー組決定ステップと、エラー組に含まれる複数のジョブの少なくとも1つのパラメータが異なり、並列で実行しても許容条件から外れない複数のジョブの組を変更ジョブ組に決定し、エラー組に属する複数のジョブと、それぞれ処理が同じで、かつ、パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列で実行する場合に、複数の新たなジョブのパラメータを、変更ジョブ組に含まれる複数のジョブのうち処理が同じジョブで定められたパラメータに変更する変更ステップと、を情報処理装置に実行させる。
この局面に従えば、ユーザーにより使用される環境に適応させることが可能な装置設定方法を提供することができる。
この発明の他の局面によれば、装置設定プログラムは、処理と処理の内容を定めるパラメータとを定めたジョブを実行する情報処理装置をシミュレートするシミュレートステップと、複数のジョブを並列で実行する情報処理装置の動作状態が予め設定された許容条件から外れる場合、情報処理装置が実行している複数のジョブの組をエラー組に決定し、情報処理装置をシミュレートする仮想装置にエラー組に含まれる複数のジョブの少なくとも1つのパラメータを負荷が小さくなる方向に変更した複数のジョブを並列で実行させる仮想実行制御ステップと、仮想装置の動作状態が許容条件から外れない場合に仮想装置に実行させた複数のジョブの組を変更ジョブ組に決定するパラメータ決定ステップと、情報処理装置を制御して、エラー組に属する複数のジョブと、それぞれ処理が同じで、かつ、パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列して実行する場合に、複数の新たなジョブのパラメータを、変更ジョブ組に含まれる複数の変更ジョブのうち処理が同じジョブで定められたパラメータに変更させる設定指示ステップと、をコンピューターに実行させる。
この局面に従えば、情報処理装置をユーザーにより使用される環境に適応させることが可能な装置設定プログラムを提供することができる。
この発明の他の局面によれば、装置設定プログラムは、処理と処理の内容を定めるパラメータとを定めた複数のジョブを並列で実行する間に予め設定された許容条件から外れる場合、複数のジョブの組をエラー組に決定するエラー組決定ステップと、エラー組に含まれる複数のジョブの少なくとも1つのパラメータが異なり、並列で実行しても許容条件から外れない複数のジョブの組を変更ジョブ組に決定し、エラー組に属する複数のジョブと、それぞれ処理が同じで、かつ、パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列で実行する場合に、複数の新たなジョブのパラメータを、変更ジョブ組に含まれる複数のジョブのうち処理が同じジョブで定められたパラメータに変更する変更ステップと、をコンピューターに実行させる。
この局面に従えば、ユーザーにより使用される環境に適応させることが可能な装置設定プログラムを提供することができる。
本発明の実施の形態の一つにおける情報処理システムの全体概要の一例を示す図である。 本実施の形態におけるサーバーのハードウェア構成の概要の一例を示すブロック図である。 本実施の形態におけるMFPのハードウェア構成の概要の一例を示すブロック図である。 本実施の形態におけるメイン基板の詳細な構成の一例を示すブロック図である。 サーバーが備えるシミュレータの概要の一例を示す図である。 本実施の形態におけるMFPが備えるCPUが有する機能の一例を示すブロック図である。 本実施の形態におけるサーバーが備えるCPUが有する機能の一例を示すブロック図である。 1つのジョブの設定を変更したシミュレート結果の一例を示す図である。 装置設定処理の流れの一例を示すフローチャートである。 特定動作処理の一例を示すフローチャートである。 特定動作決定処理の流れの一例を示すフローチャートである。 2つのジョブの設定を変更したシミュレート結果の一例の一部を示す図である。 3つのジョブの設定を変更したシミュレート結果の一例の一部を示す図である。
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。従ってそれらについての詳細な説明は繰り返さない。
図1は、本発明の実施の形態の一つにおける情報処理システムの全体概要の一例を示す図である。図1を参照して、情報処理システム1は、MFP(Multi Function Peripheral)100,100A,100Bと、サーバー200と、を含む。
MFP100,100A,100Bは、画像形成装置の一例であり、画像データに基づいて用紙などの記録媒体に画像を形成するための画像形成機能を少なくとも備えている。MFP100,100A,100Bは、画像形成機能に加えて、原稿を読み取るための原稿読取機能、およびファクシミリデータを送受信するファクシミリ送受信機能を備えてもよい。サーバー200は、一般的なコンピューターである。
サーバー200およびMFP100,100A,100Bそれぞれは、ネットワーク3に接続される。ネットワーク3は、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。ネットワーク3は、さらに、インターネットに接続されてもよい。この場合、サーバー200およびMFP100,100A,100Bそれぞれは、ネットワーク3を介してインターネットに接続されたコンピューターと互いに通信可能である。また、ネットワーク3は、LANに限らず、公衆交換電話網(Public Switched Telephone Networks)を用いたネットワークであってもよい。さらに、ネットワーク3は、インターネットなどのワイドエリアネットワーク(WAN)であってもよい。
図2は、本実施の形態におけるサーバーのハードウェア構成の概要の一例を示すブロック図である。図2を参照して、サーバー200は、サーバー200の全体を制御するための中央演算装置(CPU)201と、CPU201が実行するためのプログラムを記憶するROM(Read Only Memory)202と、CPU201の作業領域として使用されるRAM(Random Access Memory)203と、データを不揮発的に記憶するハードディスクドライブ(HDD)204と、CPU201をネットワーク3に接続する通信部205と、情報を表示する表示部206と、ユーザーの操作の入力を受け付ける操作部207と、外部記憶装置208と、を含む。
表示部206は、液晶表示装置(LCD)、有機ELD(Electro-Luminescence Display)等の表示装置である。操作部207は、キーボードなどのハードキーである。また、操作部207は、タッチパネルであってもよい。タッチパネルは、表示部206の上面または下面に表示部206に重畳して設けられる。タッチパネルは、表示部206の表示面中でユーザーにより指示された位置を検出する。
通信部205は、CPU201をネットワーク3に接続するためのインターフェースである。通信部205は、TCP(Transmission Control Protocol)またはUDP(User Datagram Protocol)等の通信プロトコルで、ネットワークに接続されたMFP100,100A,100Bと通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。サーバー200に、MFP100,100A,100BそれぞれのIP(Internet Protocol)アドレスを登録しておくことにより、サーバー200は、MFP100,100A,100Bそれぞれと通信することができ、データの送受信が可能となる。
HDD204は、CPU201が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。CPU201は、HDD204に記録されたプログラムを、RAM203にロードして実行する。
外部記憶装置208は、プログラムを記憶したCD-ROM(Compact Disk ROM)209が装着される。CPU201は、外部記憶装置208を介してCD-ROM209にアクセス可能である。CPU201は、外部記憶装置208に装着されたCD-ROM209に記録されたプログラムをRAM203にロードして実行する。なお、CPU201が実行するプログラムを記憶する媒体としては、CD-ROM209に限られず、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROMまたはEPROM(Erasable Programmable ROM)などの半導体メモリであってもよい。
また、CPU201が実行するプログラムは、CD-ROM209に記録されたプログラムに限られず、HDD204に記憶されたプログラムをRAM203にロードして実行するようにしてもよい。この場合、ネットワーク3に接続された他のコンピューターが、HDD204に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、サーバー200が、ネットワーク3またはインターネットに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD204に記憶するようにしてもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
MFP100,100A,100Bのハードウェア構成および機能は同じなので、ここでは、MFP100を例に説明する。図3は、本実施の形態におけるMFPのハードウェア構成の概要の一例を示すブロック図である。図3を参照して、MFP100は、メイン基板111と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、通信インターフェース(I/F)部160と、ファクシミリ部170と、外部記憶装置180と、大容量記憶装置としてのハードディスクドライブ(HDD)113と、ユーザーインターフェースとしての操作パネル115とを含む。
メイン基板111は、自動原稿搬送装置120、原稿読取部130、画像形成部140および給紙部150、通信I/F部160、ファクシミリ部170、外部記憶装置180、HDD113、および操作パネル115と接続され、MFP100の全体を制御する。
自動原稿搬送装置120は、原稿トレイ上にセットされた複数枚の原稿を1枚ずつ自動的に原稿読取部130のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部130により原稿に形成された画像が読み取られた原稿を原稿排紙トレイに排出する。原稿読取部130は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部140に出力する。
給紙部150は、給紙トレイに収納された用紙を画像形成部140に搬送する。画像形成部140は、周知の電子写真方式により画像を形成するものであって、原稿読取部130から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部150により搬送される用紙に画像を形成し、画像を形成した用紙を排紙トレイに排出する。
通信I/F部160は、ネットワーク3にMFP100を接続するためのインターフェースである。通信I/F部160は、TCPまたはUDP等の通信プロトコルで、ネットワークに接続された他のコンピューターと通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。
通信I/F部160は、ネットワーク3から受信されるデータをメイン基板111に出力し、メイン基板111から入力されるデータをネットワーク3に出力する。通信I/F部160は、ネットワーク3から受信されるデータのうちMFP100宛てのデータのみを、メイン基板111に出力し、ネットワーク3から受信されるデータのうちMFP100とは異なる装置宛てのデータを廃棄する。
ファクシミリ部170は、公衆交換電話網(PSTN)に接続され、ファクシミリデータを送受信する。外部記憶装置180は、CD-ROM181、または半導体メモリが装着される。外部記憶装置180は、CD-ROM181または半導体メモリに記憶されたデータを読み出す。外部記憶装置180は、CD-ROM181または半導体メモリにデータを記憶する。
操作パネル115は、MFP100の上面に設けられ、表示部118と操作部119とを含む。表示部118は、液晶表示装置(LCD)、有機ELD等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部119は、複数のハードキーと、タッチパネルと、を含む。タッチパネルは、表示部118の上面または下面に表示部に重畳して設けられたマルチタッチ対応のタッチパネルであり、表示部118の表示面中でユーザーにより指示された位置を検出する。
図4は、本実施の形態におけるメイン基板の詳細な構成の一例を示すブロック図である。図4を参照して、メイン基板111は、CPU171と、ROM173と、RAM175と、画像制御ASIC(Application Specific Integrated Circuit)177と、を含む。
CPU171、ROM173、RAM175および画像制御ASIC177それぞれは、バス179に接続されており、データの転送が可能である。CPU171は、MFP100の全体を制御する。ROM173は、CPU171が実行するプログラムを記憶する。RAM175は、CPU171の作業領域として用いられる揮発性の半導体メモリである。
CPU171は、HDD113に記憶されたプログラムをRAM175にロードして実行する。CPU171が実行するプログラムは、ハードウェア資源を制御するための制御プログラム、およびアプリケーションプログラムを含む。ハードウェア資源は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、の通信I/F部160、ファクシミリ部170、HDD113および操作パネル115を含む。アプリケーションプログラムは、例えば、ファクシミリ部170を制御してファクシミリデータを送信するファクシミリ送信プログラム、ファクシミリ部170を制御してファクシミリデータを受信するファクシミリ受信プログラム、通信I/F部160を制御してプリントジョブを受信し、画像形成部140および給紙部150を制御してプリントジョブに基づいて画像を形成するプリントプログラム、原稿読取部130を制御して原稿を読み取る原稿読取プログラムを含む。また、アプリケーションプログラムは、MFP100が備える消耗品を管理するメンテナンスプログラム、エラー状態を通知するエラー状態通知プログラムを、含んでもよい。なお、CPU171が実行するアプリケーションプログラムを、これらに限定するものではない。
画像制御ASIC177は、自動原稿搬送装置120、原稿読取部130、画像形成部140、および給紙部150と接続され、それらを制御する。また、画像制御ASIC177は、原稿読取部130が原稿を読み取って出力する画像データに所定の画像処理を実行する機能、また、画像データを画像形成部140がプリントするためのラスターデータに変換する機能を有する。
本実施の形態におけるサーバー200は、MFP100,100A,100Bをシミュレートするシミュレータを備えている。サーバー200によるMFP100,100A,100Bそれぞれのシミュレートは同じなので、ここでは、サーバー200がMFP100をシミュレートする場合を例に説明する。
図5は、サーバーが備えるシミュレータの概要の一例を示す図である。このシミュレータは、CPU201がシミュレートプログラムを実行することにより、CPU201に形成される。図5を参照して、シミュレータは、CPU周辺シミュレータ300と、ハードウェア(HW)シミュレータ320と、を含む。CPU周辺シミュレータ300は、MFP100が備えるCPU171をシミュレートする仮想CPU301と、ROM173およびRAM175をエミュレートする仮想メモリ303と、周辺モデル305と、同期設定モデル307と、割込制御部309と、を含む。仮想CPU301、仮想メモリ303、周辺モデル305および同期設定モデル307は、バス(Bus)311に接続されている。
周辺モデル305は、MFP100が備えるHDD113、操作パネル115、通信I/F部160および外部記憶装置180をそれぞれエミュレートするHDD113A、操作パネル115A、通信I/F部160Aおよび外部記憶装置180Aを含む。
同期設定モデル307は、仮想CPU301が、仮想メモリ303および周辺モデル305と同期するための設定をする。割込制御部309は、仮想CPU301が仮想メモリ303および周辺モデル305と同期するための設定時に、仮想CPU301に割り込みを発生させる。
HWシミュレータ320は、PCI-ExpressBusモデル321と、画像制御ASICモデル323と、ハードウェア資源モデル325と、を含む。PCI-ExpressBusモデル321は、バス311に接続され、PCI-Express規格に従った接続をエミュレートする。画像制御ASICモデル323は、MFP100が備える画像制御ASIC177をエミュレートする。ハードウェア資源モデル325は、MFP100が備えるハードウェア資源をエミュレートする。具体的には、ハードウェア資源モデル325は、MFP100が備える自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150およびファクシミリ部170をそれぞれエミュレートする自動原稿搬送装置120A、原稿読取部130A、画像形成部140A、給紙部150Aおよびファクシミリ部170Aを含む。
図6は、本実施の形態におけるMFPが備えるCPUが有する機能の一例を示すブロック図である。図6に示す機能は、MFP100が備えるCPU171が、ROM173、HDD113またはCD-ROM181に記憶された状態通知プログラムを実行することにより、CPU171により実現される機能である。状態通知プログラムは、装置設定プログラムの一部である。図6を参照して、CPU171は、バス監視部51と、ログ記憶部53と、装置情報送信部55と、設定指示受信部57と、装置側設定部59と、通知部61と、を含む。
バス監視部51は、バス179を監視する。バス179は、CPU171と接続される内部バスである。バス監視部51は、バス179の使用率を装置情報送信部55に出力する。使用率は、単位時間当りに、バス179に信号が流れる時間が占める割合である。
ログ記憶部53は、CPU171が実行するジョブの履歴であるログをHDD113に記憶する。ジョブは、CPU171が実行する処理を定める。ログは、ジョブごとに、期間情報と、ジョブ情報と、処理データと、を含む。期間情報は、ジョブが開始された日時とジョブが開始されてから終了するまでの期間を示す。ジョブ情報は、CPU171が実行するジョブに関する情報である。ジョブ情報は、ジョブで定められた処理を識別するための処理識別情報と、その処理を実行するためのジョブ用パラメータと、を少なくとも含む。処理データは、ジョブで定められた処理を実行するCPU171が処理の対象としたデータである。処理データは、MFP100が生成するデータの他、MFP100とは別の外部装置から受信されたデータを含む。MFP100が生成するデータは、例えば、原稿読取部130が原稿を読み取って出力するデータを含む。外部装置から受信されるデータは、外部装置から受信されてHDD113に記憶されたデータを含む。
装置情報送信部55は、バス監視部51から入力される使用率が予め定められた許容値以上になると、装置情報を生成し、生成された装置情報を、通信I/F部160を制御してサーバー200に送信する。許容値は、予め定められた値である。装置情報は、MFP100に搭載されているCPU171の機種名、MFP100にインストールされたハードウェア資源に関するハード情報と、MFP100にインストールされたソフトウェア資源に関するソフト情報と、ログ情報と、を含む。ハード情報は、ハードウェア資源を識別するためのハード識別情報と、ハードウェア資源を制御するために設定されているハードパラメータとを含む。ハード情報は、ハードウェア資源が複数の場合には、複数のハードウェア資源ごとに、ハード識別情報とハードパラメータとを含む。ソフト情報は、プログラムを識別するためのプログラム識別情報と、プログラムを実行するために設定されているソフトパラメータとを含む。ソフト情報は、プログラムが複数の場合には、複数のプログラムごとにプログラム識別情報とソフトパラメータとを含む。ログ情報は、バス監視部51から入力される使用率が予め定められた許容値以上になった時点で、CPU171が実行しているジョブに対応するログを含む。装置情報送信部55は、HDD113にログ記憶部53により記憶されたログのうち、期間情報で特定される期間内に、バス監視部51から入力される使用率が予め定められた許容値以上になった時点の時刻を含む期間情報を有するログを抽出し、抽出されたログを含むログ情報を生成する。また、装置情報送信部55は、抽出されたログを、装置側設定部59に出力する。
設定指示受信部57、装置側設定部59および通知部61については後述する。
図7は、本実施の形態におけるサーバーが備えるCPUが有する機能の一例を示すブロック図である。図7に示す機能は、サーバー200が備えるCPU201が、ROM202、HDD204またはCD-ROM210Aに記憶された装置設定プログラムを実行することにより、CPU201により実現される機能である。
図7を参照して、サーバー200が備えるCPU201は、装置情報取得部251と、シミュレート部253と、仮想実行制御部255と、仮想バス監視部257と、設定指示部259と、を含む。
装置情報取得部251は、MFP100,100A,100Bのいずれかから装置情報を取得する。上述したように、MFP100,100A,100Bのいずれかは、バスの使用率が許容値以上となる場合に、装置情報を送信する。装置情報取得部251は、通信部205がMFP100,100A,100Bのいずれかから装置情報を受信すると、通信部205が受信した装置情報を取得する。ここでは、MFP100から装置情報を取得する場合を例に説明する。装置情報取得部251は、MFP100から装置情報を取得する場合、装置情報をシミュレート部253および仮想実行制御部255に出力する。
仮想実行制御部255は、装置情報取得部251から装置情報が入力される。仮想実行制御部255は、パラメータ変更部271と、仮想判定部273と、パラメータ決定部275と、を含む。パラメータ変更部271は、装置情報に含まれるログ情報に基づいて、ジョブごとに、設定されているジョブ用パラメータを取得し、取得されたジョブ用パラメータを変更する。
ログ情報は、1以上のジョブごとにログを含み、ログは、期間情報と、ジョブ情報と、処理データとを含んでいる。ジョブ情報は、処理識別情報と、ジョブ用パラメータとを含む。例えば、ジョブが、プリントデータの画像を形成するプリント処理の場合、ログは、プリント処理に対応するジョブ情報と、処理データとしてプリントの対象となるデータを含む。このジョブ情報は、処理識別情報としてプリント処理を識別するための処理識別情報と、ジョブ用パラメータとしてプリント処理を実行するために用いられるパラメータとを含む。プリント処理を実行するために用いられるパラメータは、例えば、プリントする画像の解像度、カラー/モノクロの別、カラーの場合に色数を定めるパラメータと、を含む。なお、ジョブは、プリント処理の他、画像処理を含む場合がある。画像処理は、例えば、限定するものではないが、画像を圧縮する圧縮処理、画像のエッジを先鋭化する先鋭化処理、色の変化をなだらかにするスムージング処理等を含む。
パラメータ変更部271は、ログ情報が複数のジョブそれぞれのログを含む場合、複数のジョブそれぞれに対するジョブ用パラメータを変更する。仮想実行制御部255は、パラメータ変更部271によって変更されたジョブ用パラメータを、シミュレート部253に出力する。パラメータ変更部271は、CPU171の負荷が小さくなる方向にジョブ用パラメータを変更する。例えば、CPU171の負荷は、データ量が大きくなると大きくなる場合があるので、CPU171が処理対象とするデータの量が小さくなる方向にジョブ用パラメータを変更する。
シミュレート部253は、装置情報取得部251から装置情報が入力される。シミュレート部253は、MFP100をシミュレートする。まず、シミュレート部253は、装置情報に基づいて、MFP100に装着されたハードウェア資源を設定し、MFP100のCPU171が実行するソフトウェア資源を仮想CPU301に実行させ、ハードパラメータ、ソフトパラメータを設定する。
MFP100は、ハードウェア資源として、画像制御ASIC177、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、通信I/F部160、ファクシミリ部170、外部記憶装置180、HDD113および操作パネル115を含む。このため、装置情報に含まれるハード情報は、画像制御ASIC177、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、通信I/F部160、ファクシミリ部170、外部記憶装置180、HDD113および操作パネル115をハードウェア資源として定める。シミュレート部253は、装置情報に含まれるハード情報で定められた画像制御ASIC177、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、通信I/F部160、ファクシミリ部170、外部記憶装置180、HDD113および操作パネル115それぞれをエミュレートするエミュレータを設定するとともに、ハード情報に含まれるハードパラメータを設定する。さらに、シミュレート部253は、エミュレートするハードウェア資源との同期を設定する。例えば、図5に示したCPU周辺シミュレータ300の同期設定モデル307に、仮想CPU301が、ハードウェア資源のエミュレータと同期するように仮想CPU301のレジスタ値を設定させるとともに、仮想メモリ303のメモリマップを書き換える。
また、シミュレート部253は、装置情報に含まれるソフト情報で定められたプログラムを仮想CPU301が実行する状態に設定し、ソフト情報で定められたソフトパラメータを設定する。具体的には、シミュレート部253は、装置情報に含まれるソフト情報で定められたプログラム識別情報で特定されるプログラムをインストールし、ソフト情報で定められるソフトパラメータを設定する。これにより、シミュレート部253において、MFP100をシミュレートした仮想装置が完成する。なお、MFP100のRAM175に記憶されたデータをスナップショットとして取得し、仮想メモリ303に記憶するようにしてもよい。
シミュレート部253は、装置情報に基づいて、MFP100のCPU171で実行されたジョブと同一のジョブを仮想CPU301に実行させることが可能である。装置情報に含まれるログ情報で複数のログが定められている場合、複数のログそれぞれに含まれる期間情報に従って、複数のジョブそれぞれを実行するタイミングを決定し、複数のジョブそれぞれを決定されたタイミングで実行する。期間情報は、ジョブが開始された日時とジョブが開始されてから終了するまでの期間を示すため、複数のジョブそれぞれの開始された日時にしたがって、複数のジョブを実行するタイミングを決定する。具体的には、複数のジョブそれぞれの開始された日時にしたがって、複数のジョブを実行する順番を決定する。開始時に値が最も前のジョブを基準にして、2番目以降のジョブを開始するタイミングを決定するようにすればよい。
シミュレート部253は、パラメータ変更部271から変更されたジョブ用パラメータが入力される場合、ジョブに設定されているジョブ用パラメータをパラメータ変更部271により変更されたジョブ用パラメータに変更し、ジョブ用パラメータが変更されたジョブを仮想CPU301に実行させる。
シミュレート部253は、装置情報取得部251がMFP100,100A,100Bのいずれか、ここではMFP100から装置情報を受信することに応じて、MFP100をシミュレートするので、装置情報取得部251がMFP100から装置情報を受信するまで、MFP100をシミュレートしない。このため、サーバー200のCPU201の負荷をできるだけ低くすることができる。
仮想バス監視部257は、バス311を監視する。バス311は、仮想CPU301に接続される内部バスである。仮想バス監視部257は、バス311の使用率を仮想判定部273に出力する。仮想判定部273は、シミュレート部253が複数のジョブを仮想CPU301に実行させている間に、仮想バス監視部257から入力される使用率が予め定められた許容値以上になる場合はパラメータ変更部271に変更指示を出力し、仮想バス監視部257から入力される使用率が予め定められた許容値以上にならない場合はパラメータ変更部271およびパラメータ決定部275に決定指示を出力する。
パラメータ変更部271は、仮想判定部273から変更指示が入力されることに応じて、先にシミュレート部253に出力したジョブ用パラメータよりもCPU171の負荷が小さくなる方向にジョブ用パラメータを変更する。仮想実行制御部255は、パラメータ変更部271により変更された新たなジョブ用パラメータをシミュレート部253に出力する。シミュレート部253は、仮想実行制御部255から新たなジョブ用パラメータが入力されるごとに、ジョブに設定されているジョブ用パラメータをパラメータ変更部271により変更された新たなジョブ用パラメータに変更し、ジョブ用パラメータが変更されたジョブを仮想CPU301に実行させる。このため、パラメータ変更部271は、仮想判定部273から変更指示が入力されるごとに、新たなジョブ用パラメータを決定し、シミュレート部253は、パラメータ変更部271によって新たにジョブ用パラメータが変更されるごとに、新たなジョブ用パラメータに従ってジョブを変更し、仮想CPU301にジョブを実行させる。このサイクルは、仮想判定部273によって、シミュレート部253が複数のジョブを仮想CPU301に実行させている間に、仮想バス監視部257から入力される使用率が予め定められた許容値以上にならないと判断されるまで繰り返えされる。ジョブ用パラメータは、その値によって画質に与える影響の程度によって画質レベルが定められている。ここでは、画質レベルが、高、中、低の3段階が定められる場合を例に説明する。パラメータ変更部271は、仮想判定部273から決定指示が入力されることに応じて、ジョブを識別するためのジョブ識別情報と、変更後のジョブ用パラメータと、そのジョブ用パラメータの画質レベルとの組をパラメータ決定部275に出力する。
パラメータ変更部271は、ジョブで複数のジョブ用パラメータが定められる場合、予め定められた優先順位が高いジョブ用パラメータを優先順位が低いジョブ用パラメータよりも優先して順に変更する。例えば、画像の品質に影響を与えるジョブ用パラメータとして、圧縮率、解像度および色数がある。画像の品質に影響が小さいものから順に高くなるように優先順位を予め決定しておくようにすればよい。例えば、圧縮率、解像度、色数の順に優先順位を予め定めておく。
パラメータ決定部275は、パラメータ変更部271からジョブ識別情報と、変更後のジョブ用パラメータと、画質レベルとの組に基づいて、ジョブごとに変更ジョブ用パラメータを決定する。パラメータ決定部275は、ジョブ識別情報と、変更後のジョブ用パラメータと画質レベルとの組のうち、ジョブ識別情報が同一の組が1つの場合、その組に含まれるジョブ用パラメータを変更ジョブ用パラメータに決定する。パラメータ決定部275は、ジョブ識別情報と、変更後のジョブ用パラメータと画質レベルとの組のうち、ジョブ識別情報が同一の組が複数つの場合、複数の組のうち画質レベルが最高の組に含まれるジョブ用パラメータを変更ジョブ用パラメータに決定する。画質レベルが最高の組が複数の場合には、任意の1つの組に含まれるジョブ用パラメータを変更後ジョブ用パラメータに決定する。なお、使用率が最低の組に含まれるジョブ用パラメータを変更後ジョブ用パラメータに決定するようにしてもよい。パラメータ決定部275は、ジョブごとに変更後パラメータを決定し、ジョブで定められる処理を識別するための処理識別情報と、変更後ジョブ用パラメータとの組を設定指示部259に出力する。
ここで、シミュレート部253がCPU171をシミュレートする仮想CPU301は、複数のジョブを実行する。このため、パラメータ変更部271は、複数のジョブそれぞれのジョブ用パラメータの少なくとも1つを変更する。したがって、シミュレート部253が複数のジョブを仮想CPU301に実行させている間に、仮想バス監視部257によって検出される使用率が予め定められた許容値以上にならないと判断される場合における複数のジョブの組が複数となる場合がある。
例えば、仮想CPU301が実行するジョブが3つの場合を例に説明する。ここでは、3つのジョブのジョブ識別情報を、ジョブ1、ジョブ2およびジョブ3とする。まず、パラメータ変更部271は、3つのジョブのいずれか1つのジョブのジョブ用パラメータを変更し、シミュレート部253がシミュレートする仮想CPU301に3つのジョブを実行させる。この場合、パラメータ変更部271は、画質が異なる3つのレベルにそれぞれ対応する3つのジョブ用パラメータに変更する。したがって、パラメータ変更部271は、1つのジョブに対してレベルの異なる3つのジョブ用パラメータに変更するので、シミュレート部253が実行する3つのジョブの組は、9個になる。
図8は、1つのジョブの設定を変更したシミュレート結果の一例を示す図である。図8を参照して、設定の項目と、画質レベルの項目と、バス使用率の項目と、を含む。設定の項目は、ジョブと、変更後のジョブ用パラメータとの組を示す。画質レベルの項目は、ジョブ用パラメータの画質のレベルを示す。レベルは、画質が高いほど高く、高、中、低の3段階としている。バス使用率の項目は、バスの使用率を示す。
設定1-1~設定1-3の組がジョブ1のジョブ用パラメータのみを変更した3つのジョブの組を示し、設定1-1、設定1-2、設定1-3の順にジョブ用パラメータのレベルが高い。設定2-1~設定2-3の組がジョブ2のジョブ用パラメータのみを変更した3つのジョブの組を示し、設定2-1、設定2-2、設定2-3の順にジョブ用パラメータのレベルが高い。設定3-1~設定3-3の組がジョブ3のジョブ用パラメータのみを変更した3つのジョブの組を示し、設定3-1、設定3-2、設定3-3の順にジョブ用パラメータのレベルが高い。
ここでは、パス使用率のしきい値を80%としており、バス使用率が80%以上とならない設定は、設定1-3、設定2-3、設定3-2、設定3-3である。この場合、パラメータ決定部275は、設定1-3で定められるジョブ1で定められる処理の処理識別情報と、レベルが低の変更ジョブ用パラメータとの組と、設定2-2で定めるジョブ2で定められる処理の処理識別情報と、レベルが中の変更ジョブ用パラメータとの組と、設定3-2で定めるジョブ3で定められる処理の処理識別情報と、レベルが中の変更ジョブ用パラメータとの組とを決定し、設定指示部259に出力する。設定3-3は、設定3-2よりもレベルが低いので、設定3-3で定めるジョブ3で定められる処理の処理識別情報と、レベルが低の変更ジョブ用パラメータとの組は、設定指示部259に出力されない。
図7に戻って、設定指示部259は、パラメータ決定部275から処理識別情報と変更後ジョブ用パラメータとの組が入力される。設定指示部259は、通信部205を制御して、シミュレートの対象の装置、ここでは、MFP100に設定指示を送信する。設定指示は、パラメータ決定部275から入力される処理識別情報と変更後ジョブ用パラメータとの組を含む。設定指示は、装置情報に含まれるログ情報で特定される複数のジョブと、それぞれ処理が同じで、かつ、ジョブ用パラメータが同じかまたは予め定められた方向に異なる複数の新たなジョブを並列して実行する場合に、複数の新たなジョブのジョブ用パラメータのうちで、設定指示に含まれる処理識別情報の処理と同じ処理を定めるジョブで定められたジョブ用パラメータを、設定指示に含まれる変更ジョブ用パラメータに変更させるように、MFP100を制御するコマンドである。
図6に戻って、設定指示受信部57は、通信I/F部160がサーバー200から設定指示を受信する場合、受信された設定指示を装置側設定部59に出力する。装置側設定部59は、装置情報送信部55からログが入力され、設定指示受信部57から設定指示が入力される。装置情報送信部55から入力されるログは、バス監視部51によって検出されたバスの使用率が許容値以上になった場合に実行されている複数のジョブのログを含む。装置側設定部59は、装置情報送信部55から入力されるログで特定される複数のジョブそれぞれの処理とジョブ用パラメータとを特定する。そして、装置側設定部59は、ログで特定された複数のジョブでそれぞれ定められる複数の処理とそれぞれが同じ複数の新たなジョブをCPU171が並列で実行する場合、複数の新たなジョブのうち最後に実行される最終ジョブが実行される前の段階で、複数の新たなジョブそれぞれにおいて、そのジョブで定められるジョブ用パラメータが、ログで特定された複数のジョブのうち処理が同じジョブのジョブ用パラメータと同じか、CPU171の負荷が増大する方向に異なるエラー予測状態か否かを判断する。CPU171の負荷は、処理対象とするデータ量が大きいほど大きくなるので、例えば、ジョブ用パラメータが圧縮率、解像度および色数を示す場合に、それらが大きいほど負荷が大きくなる。装置側設定部59は、新たなジョブで定められるジョブ用パラメータである圧縮率が、ログで特定された複数のジョブのうち処理が同じジョブの圧縮率以上の場合に、エラー予測状態と判断し、新たなジョブで定められるジョブ用パラメータである解像度が、ログで特定された複数のジョブのうち処理が同じジョブの解像度以上の場合に、エラー予測状態と判断し、新たなジョブで定められるジョブ用パラメータである色数が、ログで特定された複数のジョブのうち処理が同じジョブの色数以上の場合に、エラー予測状態と判断する。
装置側設定部59は、エラー予測状態と判断する場合、複数の新たなジョブのうち最後に実行される最終ジョブで定められるジョブ用パラメータを、設定指示に含まれる変更ジョブ用パラメータのうち最終ジョブで定められる処理を識別するための処理識別情報と組になる変更ジョブ用パラメータに変更した後に、最終ジョブをCPU171に実行させる。
例えば、図8に示したシミュレート結果が得られる場合、最終ジョブで定められる処理識別情報がジョブ1と同じジョブが最終ジョブならば、最終ジョブのジョブ用パラメータを、設定1-3で定められる変更後ジョブ用パラメータに変更した後に、最終ジョブをCPU171に実行させ、最終ジョブで定められる処理識別情報がジョブ2と同じならば、最終ジョブのジョブ用パラメータを、設定2-3で定められる変更後ジョブ用パラメータに変更した後に、最終ジョブをCPU171に実行させ、最終ジョブで定められる処理識別情報がジョブ3と同じならば、最終ジョブのジョブ用パラメータを、設定3-2で定められる変更後ジョブ用パラメータに変更した後に、最終ジョブをCPU171に実行させる。
また、装置側設定部59は、最終ジョブで定められる処理を識別するための処理識別情報と組になる変更ジョブ用パラメータが設定指示に含まれない場合、または、最終ジョブで定められる処理を識別するための処理識別情報と組になるジョブ用パラメータを変更できない場合、最終ジョブより前に実行されている1以上の新たなジョブのうちから1つを選択し、選択された新たなジョブで定められるジョブ用パラメータを、設定指示に含まれる変更ジョブ用パラメータのうち選択された新たなジョブで定められる処理を識別するための処理識別情報と組になる変更ジョブ用パラメータに、選択された新たなジョブを実行する処理単位が終了した後に変更する。処理単位は、例えば、新たなジョブが複数のページからなるデータを処理対象とする場合には、ページ単位である。
例えば、図8に示したシミュレート結果が得られる場合、ジョブ1が最終ジョブで、ジョブ1のジョブ用パラメータを変更できない場合、実行中のジョブ2とジョブ3とのいずれか1つ、例えば、ジョブ2を選択し、ジョブ2の処理単位が終了した後に、ジョブ2のジョブ用パラメータを、設定2-3で定められる変更ジョブ用パラメータに変更する。
装置側設定部59は、ジョブ用パラメータを変更したジョブのジョブ識別情報と、変更ジョブ用パラメータと、変更される前のジョブ用パラメータとを含む通知指示を通知部61に出力する。
通知部61は、装置側設定部59から通知指示が入力されることに応じて、通知指示に含まれるジョブ識別情報で特定されるジョブの実行を指示したユーザーに、ジョブ用パラメータが変更されたことを通知する。ユーザーが操作パネル115を操作してジョブの実行を指示した場合には、表示部118に通知画面を表示する。ユーザーが、ネットワーク3に接続されたパーソナルコンピューターからプリントジョブを送信することにより、プリントジョブの実行を指示した場合は、通信I/F部160を制御して、PCに通知画面を表示させる。通知画面は、通知指示に含まれるジョブ識別情報、変更ジョブ用パラメータおよび変更される前のジョブ用パラメータを含んでもよい。これにより、ユーザーは、印刷結果を予測することができる。また、装置側設定部59がジョブ用パラメータを変更ジョブ用パラメータに変更する前に、通知画面を表示するようにし、通知画面を見るユーザーによる許可を受け付けることを条件に、装置側設定部59がジョブ用パラメータを変更ジョブ用パラメータに変更するようにしてもよい。
図9は、装置設定処理の流れの一例を示すフローチャートである。装置設定処理は、MFP100が備えるCPU171が、ROM173、HDD113またはCD-ROM181に記憶された装置設定プログラムを実行することにより、CPU201により実行される処理である。図9を参照して、CPU171は、ジョブを受け付けたか否かを判断する(ステップS51)。ジョブを受け付けるまで待機状態となり(ステップS51でNO)、ジョブを受け付けたならば(ステップS51でYES)、処理をステップS52に進める。CPU171は、通信I/F部160が外部のPCなどからジョブを受信したならばジョブを受け付ける。また、CPU171は、操作部119がユーザーによるジョブを入力する操作を受け付ける場合に、ジョブを受け付ける。ステップS52においては、特定動作が設定されているか否かを判断する。特定動作は、後述するステップS61において設定される。特定動作が設定されていれば処理をステップS53に進めるが、そうでなければ処理をステップS54に進める。ステップS53においては、特定動作処理を実行し、処理をステップS54に進める。特定動作処理については後述する。ステップS54においては、ステップS51において受け付けられたジョブを開始し、処理をステップS55に進める。
ステップS55においては、バスの使用率を取得し、処理をステップS56に進める。ステップS56においては、バスの使用率がしきい値TH以上か否かを判断する。バス使用率がしきい値TH以上ならば処理をステップS57に進めるが、そうでなければ処理をステップS51に戻す。
ステップS57においては、CPU171が実行している複数のジョブの組をエラー組に決定し、処理をステップS58に進める。ステップS58においては、装置情報を生成し、サーバー200に送信する。ステップS57においてエラー組に決定された複数のジョブと、ハード情報と、ソフト情報と、を含む装置情報を生成する。そして、通信I/F部160を制御して、サーバー200に装置情報を送信する。
次のステップS59においては、サーバー200から設定指示を受信したか否かを判断する。設定指示は特定動作を設定するためのコマンドである。設定指示を受信したならば処理をステップS60に進めるが、そうでなければ処理をステップS51に戻す。ステップS60においては、設定指示に従って特定動作を設定し、処理をステップS51に戻す。
設定指示の詳細は、後述するが、MFP100で特定動作が実行されるようにMFP100を設定するコマンドである。特定動作は、エラー組に含まれる複数のジョブと、それぞれ処理が同じで、かつ、ジョブ用パラメータが同じかまたは予め定められた方向に異なる複数の新たなジョブを並列して実行する特定動作の実行条件が成立した場合に、複数の新たなジョブのジョブ用パラメータのうちで、設定指示に含まれる処理識別情報の処理と同じ処理を定めるジョブで定められたジョブ用パラメータを、設定指示に含まれる変更ジョブ用パラメータに変更する動作である。
図10は、特定動作処理の一例を示すフローチャートである。特定動作処理は、図9のステップS53において実行される処理である。図10を参照して、CPU171が実行中の1以上のジョブと、ステップS51において受け付けられたジョブとを含む複数の実行ジョブそれぞれの処理が、エラー組に含まれる複数のジョブそれぞれの処理と同じか否かを判断する(ステップS71)。複数の実行ジョブそれぞれの処理と同じ処理を定めるジョブがエラー組に含まれるならば処理をステップS73に進めるが、そうでなければ処理を状態通知処理に戻す。ステップS72においては、複数の実行ジョブそれぞれについて、その実行ジョブで定められるジョブ用パラメータが、エラー組に含まれる複数のジョブのうち同じ処理を定めるジョブで定められるジョブ用パラメータと同じかまたは所定方向に異なるか否かを判断する。複数の実行ジョブのすべてについて真ならば処理をステップS73に進めるが、そうでなければ処理を状態通知処理に戻す。ジョブ用パラメータが異なる所定方向は、CPU171の負荷が増大する方向である。例えば、CPU171が処理対象とするデータのデータ量が増加する場合に負荷が増大すると判断するようにしてもよい。
ステップS73においては、図9のステップS51において受け付けられた最終ジョブのジョブ用パラメータは変更可能か否かを判断する。図9のステップS51において受け付けられたジョブは、複数の実行ジョブのうち最後に受け付けられたジョブである。最終ジョブのジョブ用パラメータを変更可能ならば処理をステップS74に進めるが、そうでなければ処理をステップS75に進める。
ステップS74においては、最終ジョブを変更対象に選択し、処理をステップS77に進める。ステップS75においては、複数の実行ジョブのうちからジョブ用パラメータを変更可能な1つの実行ジョブを変更対象に決定し、処理をステップS76に進める。処理がステップS76に進む場合、変更対象に選択された実行ジョブは、CPU171が実行中の状態である。ステップS76においては、変更対象に選択された実行ジョブの処理単位がCPU171において終了するまで待機状態となり(ステップS76でNO)、処理単位が終了したならば(ステップS76でYES)、処理をステップS77に進める。
ステップS77においては、ステップS74またはステップS75において変更対象に選択された実行ジョブのジョブ用パラメータを、変更ジョブ用パラメータに変更し、処理を状態通知処理に戻す。
図11は、特定動作決定処理の流れの一例を示すフローチャートである。特定動作決定処理は、サーバー200が備えるCPU201が、ROM202、HDD204またはCD-ROM209に記憶された特定動作決定プログラムを実行することにより、CPU201により実行される処理である。特定動作決定プログラムは、装置設定プログラムの一部である。図11を参照して、サーバー200が備えるCPU201は、装置情報を受信したか否かを判断する(ステップS01)。通信部205がMFP100,100A,100Bのいずれかから装置情報を受信すると、装置情報を受信したと判断する。装置情報を受信するまで待機状態となり(ステップS01でNO)、装置情報を受信したならば(ステップS01でYES)、処理をステップS02に進める。
ステップS02においては、装置情報を送信してきた装置をシミュレート対象に決定し、処理をステップS03に進める。ここでは、通信部205がMFP100から装置情報を受信する場合を例に説明する。この場合、MFP100をシミュレート対象に決定する。ステップS03においては、仮想装置を設定する。ステップS01において受信された装置情報に基づいて、シミュレート対象であるMFP100をシミュレートする。具体的には、装置情報に含まれるハード情報で定められたハードウェア資源をエミュレートするエミュレータを設定し、装置情報に含まれるソフト情報で定められたソフトウェア資源を仮想CPU301が実行する状態に設定する。
次のステップS04においては、装置情報に含まれるログ情報で定められる複数のジョブのうちからパラメータの変更対象となるジョブを選択する。そして、選択されたジョブで定められるジョブ用パラメータを変更する。ジョブ用パラメータよりレベルが低いパラメータに変更する。次のステップS06においては、仮想装置で複数のジョブを実行する。ログ情報で定められる複数のジョブを仮想装置で実行する。ただし、ステップS04において選択されたジョブについては、ステップS05において変更されたジョブ用パラメータが定められたジョブとして実行する。
ステップS07においては、バスの使用率を取得する。そして、バスの使用率がしきい値THより小さいか否かを判断する(ステップS08)。バス使用率がしきい値より小さいならば処理をステップS10に進めるが、そうでなければ処理をステップS09に進める。ステップS10においては、処理と変更後パラメータを決定し、処理をステップS11に進める。ステップS04において選択されたジョブで定められる処理を決定し、その処理に対して定められるジョブ用パラメータであってステップS05において変更されたジョブ用パラメータを変更ジョブ用パラメータに決定する。
ステップS09においては、ステップS05において変更されたジョブ用パラメータより低いレベルのジョブ用パラメータが存在するか否かを判断する。より低いレベルのジョブ用パラメータが存在すれば処理をステップS05に戻し、存在しなければ処理をステップS11に進める。ステップS11においては、次に処理対象とするべきジョブが存在するか否かを判断する。ステップS04において処理対象に選択されていないジョブが存在するならば処理をステップS04に戻すが、そうでなければ処理をステップS12に進める。
ステップS12においては、通信部205を制御して、シミュレート対象に決定された装置、ここではMFP100に設定指示を送信し、処理を終了する。設定指示は、ステップS10において決定された処理の処理識別情報と変更後ジョブ用パラメータとの組を含み、ステップS01において受信された装置情報に含まれるログ情報で特定される複数のジョブと、それぞれ処理が同じで、かつ、ジョブ用パラメータが同じかまたは予め定められた方向に異なる複数の新たなジョブを並列して実行する場合に、複数の新たなジョブのジョブ用パラメータのうちで、設定指示に含まれる処理識別情報の処理と同じ処理を定めるジョブで定められたジョブ用パラメータを、設定指示に含まれる変更ジョブ用パラメータに変更させるように、MFP100を制御するコマンドである。
<第1の変形例>
設定指示部259が、シミュレート対象とするMFP100に送信する設定指示が、パラメータ決定部275から入力される処理識別情報と、変更後ジョブ用パラメータと、画質レベルとの組を含むようにしてもよい。
この場合、装置側設定部59は、エラー予測状態と判断する場合、設定指示に含まれる処理識別情報と、変更後ジョブ用パラメータと、画質レベルとの組のうちから画質レベルが最も高い1つを選択し、選択された組に含まれる処理識別情報と、変更後ジョブ用パラメータとを特定する。そして、設定指示部259は、複数の新たなジョブのうちから、特定された処理識別情報を含むジョブを選択する。装置側設定部59は、選択された新たなジョブが最終ジョブの場合、最終ジョブで定められるジョブ用パラメータを、設定指示に含まれる変更ジョブ用パラメータのうち最終ジョブで定められる処理を識別するための処理識別情報と組になる変更ジョブ用パラメータに変更した後に、最終ジョブをCPU171に実行させる。装置側設定部59は、選択された新たなジョブが最終ジョブでない場合、選択された新たなジョブで定められるジョブ用パラメータを、設定指示に含まれる変更ジョブ用パラメータのうち選択された新たなジョブで定められる処理を識別するための処理識別情報と組になる変更ジョブ用パラメータに、選択された新たなジョブを実行する処理単位が終了した後に変更する。
<第2の変形例>
シミュレート部253がCPU171をシミュレートする仮想CPU301が、複数のジョブを実行する場合に、複数のジョブの少なくとも2つそれぞれのジョブ用パラメータを変更するようにしてもよい。上述したように、複数のジョブの1つのジョブで定められるジョブ用パラメータを変更する場合にバスの使用率が予め定められた許容値以上とならないジョブ用パラメータが存在するが、画質レベルが中以上となるジョブ用パラメータが存在しない場合に、複数のジョブの少なくとも2つそれぞれのジョブ用パラメータを変更するようにする。また、複数のジョブの1つのジョブで定められるジョブ用パラメータを変更する場合に、バスの使用率が予め定められた許容値以上とならないジョブ用パラメータが存在しない場合に、複数のジョブの少なくとも2つそれぞれのジョブ用パラメータを変更するようにする。シミュレート部253が複数のジョブを仮想CPU301に実行させている間に、仮想バス監視部257によって検出される使用率が予め定められた許容値以上にならないと判断される場合における複数のジョブの組が複数となる場合がある。
例えば、仮想CPU301が実行するジョブが3つの場合を例に説明する。まず、パラメータ変更部271は、3つのジョブのいずれか2つのジョブそれぞれのジョブ用パラメータを変更し、シミュレート部253がシミュレートする仮想CPU301に3つのジョブを実行させる。この場合、パラメータ変更部271は、1つのジョブに対して画質が異なる3つのレベルにそれぞれ対応する3つのジョブ用パラメータに変更する。したがって、シミュレート部253は、3つのジョブのうち2つのジョブそれぞれに対して3つのジョブ用パラメータに変更するので、シミュレート部253が実行する3つのジョブの組み合わせが27個になる。
図12は、2つのジョブの設定を変更したシミュレート結果の一例の一部を示す図である。図12を参照して、設定2-1と設定3-1~設定3-3のいずれか1つとを組み合わせた3つの組と、設定2-2と設定3-1~設定3-3のいずれか1つとを組み合わせた3つの組と、設定2-3と設定3-1~設定3-3のいずれか1つとを組み合わせた3つの組とを示している。
図12においては、バスの使用率が80%以上となる設定の組み合わせは、設定2-1と設定3-3の組み合わせである。この場合、パラメータ決定部275は、ジョブ2とジョブ3との設定の組み合わせに関しては、設定2-1と設定3-3の組み合わせ以外の組み合わせのうちから1つを決定し、設定指示部259に出力する。この場合、画質レベルが低以外の組み合わせであって、画質レベルが高の数が多い組み合わせを優先して決定する。ここでは、設定2-1と設定3-2の組み合わせを決定する。
なお、図12に示す組の他に、ジョブ1とジョブ2との設定の組み合わせに対して9個の設定の組み合わせがあり、ジョブ1とジョブ3との設定の組み合わせに対して9個の設定の組み合わせがある。
さらに、パラメータ変更部271は、3つのジョブそれぞれのジョブ用パラメータを変更し、シミュレート部253がシミュレートする仮想CPU301に3つのジョブを実行させるようにしてもよい。この場合、パラメータ変更部271は、1つのジョブに対して画質が異なる3つのレベルにそれぞれ対応する3つのジョブ用パラメータに変更する。したがって、シミュレート部253は、3つのジョブそれぞれに対して3つのジョブ用パラメータに変更するので、シミュレート部253が実行する3つのジョブの組み合わせが27個になる。
図13は、3つのジョブの設定を変更したシミュレート結果の一例の一部を示す図である。図13を参照して、設定1-1と、設定2-1と、設定3-1~設定3-3のいずれか1つとを組み合わせた3つの組と、設定1-1と、設定2-2と、設定3-1~設定3-3のいずれか1つとを組み合わせた3つの組と、設定1-1と、設定2-3と、設定3-1~設定3-3のいずれか1つとを組み合わせた3つの組とを示している。
バス使用率が80%以上となる設定の組み合わせはない。この場合、パラメータ決定部275は、ジョブ1の設定1-1と、ジョブ2とジョブ3との設定との組み合わせに関しては、複数の組み合わせのうちから1つの組み合わせを決定し、設定指示部259に出力する。この場合、パラメータ決定部275は、ジョブ1と、ジョブ2と、ジョブ3との設定の組み合わせに関しては、画質レベルが低以外の組み合わせであって、画質レベルが高の数が多い組み合わせを優先して決定する。ここでは、設定1-1と、設定2-1と、設定3-3の組み合わせを決定する。
なお、図13に示す組の他に、ジョブ1の設定1-2と、ジョブ2とジョブ3との設定の組み合わせに対して9個の設定の組み合わせがあり、ジョブ1の設定1-3と、ジョブ2とジョブ3との設定の組み合わせに対して9個の設定の組み合わせがある。
パラメータ変更部271は、ジョブ識別情報と、変更後のジョブ用パラメータと、画質レベルとの組の2以上の組み合わせのうち使用率がしきい値である80%以上とならない組合せを、パラメータ決定部275に出力する。
パラメータ決定部275は、パラメータ変更部271から入力される複数の組合せのうちから1つを、画質レベルに基づいて決定する。パラメータ決定部275は、画質レベルが少なくとも低とならない組合せを優先して選択する。パラメータ決定部275は、画質レベルが少なくとも低とならない組合せが複数の場合、複数の組み合わせのうちから画質レベルが高の数が最大の組み合わせを選択する。パラメータ決定部275は、図13に示す例においては設定2-2と設定3-3の組み合わせを選択する。
パラメータ決定部275は、複数のジョブに対して1つの変更後パラメータの組を決定し、複数のジョブでそれぞれ定められる処理を識別するための処理識別情報と、変更後ジョブ用パラメータとの組を設定指示部259に出力する。
装置側設定部59は、エラー予測状態と判断する場合、複数の新たなジョブそれぞれについて、設定指示に含まれる処理識別情報で特定される処理に対するジョブ用パラメータを、その処理識別情報と組になる変更ジョブ用パラメータに変更し、複数のジョブを実行する。
以上説明したように本実施の形態におけるサーバー200は、MFP100の動作状態が予め設定された許容条件から外れる場合、MFP100が実行している複数のジョブの組をエラー組に決定し、MFP100をシミュレートする仮想装置に、エラー組に含まれる複数のジョブの少なくとも1つのパラメータを変更した複数のジョブを並列で実行させ、仮想装置の動作状態が許容条件から外れない場合に仮想装置に実行させた複数のジョブの組を変更ジョブ組に決定する。このため、MFP100で動作状態が許容条件から外れる複数のジョブに対し、許容条件から外れない複数のジョブそれぞれのジョブ用パラメータを決定することができる。そして、MFP100が、エラー組に属する複数のジョブと処理が同じで、かつ、ジョブ用パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列して実行する場合に、複数の新たなジョブのジョブ用パラメータを、変更ジョブ組に含まれる複数のジョブで定められたジョブ用パラメータに変更するように、MFP100を設定する。このため、MFP100が複数のジョブを実行する場合に許容条件から外れないようにMFP100を設定することができる。
また、MFP100は、サーバー200により設定動作が設定されると、エラー組に属する複数のジョブと処理が同じで、かつ、ジョブ用パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列して実行する場合に、複数の新たなジョブのジョブ用パラメータを、変更ジョブ組に含まれる複数のジョブで定められたジョブ用パラメータに変更する。このため、MFP100は、複数のジョブを実行する場合に許容条件から外れないようにすることができる。
また、サーバー200は、予め定められた優先順位が高いジョブ用パラメータを優先順位が低いパラメータよりも優先して変更するので、ジョブの処理対象となるデータの劣化をできるだけ少なくすることができる。
また、MFP100は、サーバー200にエラー組を送信して変更ジョブ組の決定を依頼し、サーバー200は、MFP100から依頼を受けると、MFP100をシミュレートして、変更ジョブ組を決定する。MFP100で変更ジョブ組を決定する処理の負荷が増加しないようにすることができる。
MFP100は、複数の新たなジョブのうちジョブ用パラメータが変更されるジョブが最終ジョブの場合、最終ジョブが開始される前に、最終ジョブのジョブ用パラメータを変更するので、最終ジョブ以外のジョブを継続して実行することができる。
MFP100は、複数の新たなジョブのうちジョブ用パラメータが変更されるジョブが最終ジョブでない場合、パラメータが変更されるジョブの単位処理が切り換わるタイミングで、ジョブ用パラメータを変更するので、実行中のジョブで定められるジョブ用パラメータを実行中に変更することができる。
MFP100は、複数の新たなジョブの少なくとも1つのジョブ用パラメータを変更する前に、ジョブ用パラメータが変更されるジョブと、そのジョブのジョブ用パラメータが変更されることをユーザーに通知するので、ユーザーは、出力結果が変更されるジョブと、変更内容を確認することができる。
なお、上述した実施の形態においては、シミュレート装置の一例としてサーバー200を示し、情報処理装置の一例としてMFP100を示したが、図9および図10に示した装置設定処理をMFP100に実行させ、図11に示した特定動作決定処理をサーバー200に実行させる装置設定方法、また、図9および図10に示した装置設定処理をMFP100のCPU171に実行させる装置設定プログラム、図11に特定動作決定処理をサーバー200のCPU201に実行させる特定動作決定プログラムとして発明を捉えることができるのは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
(1) 仮想実行制御手段は、情報処理装置が複数のジョブそれぞれに対するパラメータ、当該ジョブが実行されたタイミングを用いて、シミュレート手段が情報処理装置をシミュレートする仮想装置に複数のジョブを実行させる、請求項1または5に記載の情報処理装置。
この局面に従えば、情報処理装置で動作状態が許容条件から外れる使用状態を正確に再現することができる。
1 情報処理システム、3 ネットワーク、100,100A,100B MFP、200 サーバー、111 メイン基板、115,115A 操作パネル、118 表示部、119 操作部、120,120A 自動原稿搬送装置、130,130A 原稿読取部、140,140A 画像形成部、150,150A 給紙部、160,160A 通信I/F部、170,170A ファクシミリ部、171 CPU、173 ROM、175 RAM、177 画像制御ASIC、179 バス、180,180A 外部記憶装置、201 CPU、202 ROM、203 RAM、204 HDD、205 通信部、206 表示部、207 操作部、208 外部記憶装置、51 バス監視部、53 ログ記憶部、55 装置情報送信部、57 設定指示受信部、59 装置側設定部、61 通知部、251 装置情報取得部、253 シミュレート部、255 仮想実行制御部、257 仮想バス監視部、259 設定指示部、271 パラメータ変更部、273 仮想判定部、275 パラメータ決定部、300 CPU周辺シミュレータ、301 仮想CPU、303 仮想メモリ、305 周辺モデル、307 同期設定モデル、309 割込制御部、311 バス、320 HWシミュレータ、321 PCI-ExpressBusモデル、323 画像制御ASICモデル、325 ハードウェア資源モデル。

Claims (12)

  1. 処理と前記処理の内容を定めるパラメータとを定めたジョブを実行する情報処理装置をシミュレートするシミュレート手段と、
    複数のジョブを並列で実行する前記情報処理装置の動作状態が予め設定された許容条件から外れる場合、前記情報処理装置が実行している前記複数のジョブの組をエラー組に決定し、前記シミュレート手段を制御して、前記情報処理装置をシミュレートする仮想装置に前記エラー組に含まれる前記複数のジョブの少なくとも1つのパラメータを負荷が小さくなる方向に変更した複数のジョブを並列で実行させる仮想実行制御手段と、
    前記仮想装置の動作状態が前記許容条件から外れない場合に前記仮想装置に実行させた前記複数のジョブの組を変更ジョブ組に決定するパラメータ決定手段と、
    前記情報処理装置を制御して、前記エラー組に属する複数のジョブと、それぞれ処理が同じで、かつ、パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列して実行する場合に、前記複数の新たなジョブのパラメータを、前記変更ジョブ組に含まれる複数の変更ジョブのうち処理が同じジョブで定められたパラメータに変更させる設定指示手段と、を備えたシミュレート装置。
  2. 前記仮想実行制御手段は、予め定められた優先順位が高いパラメータを優先順位が低いパラメータよりも優先して変更する、請求項1に記載のシミュレート装置。
  3. 請求項1または2に記載のシミュレート装置と情報処理装置とを含む情報処理システムであって、
    前記情報処理装置は、前記エラー組に属する複数のジョブと、それぞれ処理が同じで、かつ、パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列して実行する場合に、前記複数の新たなジョブのパラメータを、前記変更ジョブ組に含まれる複数の変更ジョブのうち処理が同じジョブで定められたパラメータに変更する変更手段を、備える情報処理システム
  4. 処理と前記処理の内容を定めるパラメータとを定めた複数のジョブを並列で実行する間に予め設定された許容条件から外れる場合、前記複数のジョブの組をエラー組に決定するエラー組決定手段と、
    前記エラー組に含まれる前記複数のジョブの少なくとも1つのパラメータが異なり、並列で実行しても許容条件から外れない複数のジョブの組を変更ジョブ組に決定し、前記エラー組に属する複数のジョブと、それぞれ処理が同じで、かつ、パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列で実行する場合に、前記複数の新たなジョブのパラメータを、前記変更ジョブ組に含まれる複数のジョブのうち処理が同じジョブで定められたパラメータに変更する変更手段と、を備えた情報処理装置。
  5. 請求項4に記載の情報処理装置と、サーバーとからなる情報処理システムであって、
    前記情報処理装置は、前記サーバーに前記エラー組を送信し、前記変更ジョブ組の決定を依頼する依頼手段を、さらに備え、
    前記サーバーは、前記情報処理装置をシミュレートするシミュレート手段と、
    前記シミュレート手段を制御して、前記情報処理装置をシミュレートする仮想装置に前記エラー組に含まれる前記複数のジョブの少なくとも1つのパラメータを変更して前記複数のジョブを並列して実行させる仮想実行制御手段と、
    前記仮想装置の動作状態が前記許容条件から外れない場合に前記仮想装置が実行している複数のジョブの組を変更ジョブ組に決定するパラメータ決定手段と、を含む、情報処理システム
  6. 前記変更手段は、前記複数の新たなジョブのうちパラメータが変更されるジョブが最後に実行される最終ジョブの場合、前記最終ジョブが開始される前に、前記最終ジョブのパラメータを、前記変更ジョブ組に含まれる複数の変更ジョブのうち処理が同じジョブで定められたパラメータに変更する、請求項に記載の情報処理装置。
  7. 前記変更手段は、前記複数の新たなジョブのうちパラメータが変更されるジョブが最後に実行される最終ジョブでない場合、前記パラメータが変更されるジョブの単位処理が切り換わるタイミングで、前記パラメータが変更されるジョブのパラメータを、前記変更ジョブ組に含まれる複数の変更ジョブのうち処理が同じジョブで定められたパラメータに変更する、請求項4または6に記載の情報処理装置。
  8. 前記変更手段は、前記複数の新たなジョブの少なくとも1つのパラメータを変更する前に、前記複数の新たなジョブのうちパラメータが変更されるジョブと、そのジョブのパラメータが変更されることをユーザーに通知する通知手段を含む、請求項4、6および7のいずれかに記載の情報処理装置。
  9. 処理と前記処理の内容を定めるパラメータとを定めたジョブを実行する情報処理装置をシミュレートするシミュレートステップと、
    複数のジョブを並列で実行する前記情報処理装置の動作状態が予め設定された許容条件から外れる場合、前記情報処理装置が実行している前記複数のジョブの組をエラー組に決定し、前記情報処理装置をシミュレートする仮想装置に前記エラー組に含まれる前記複数のジョブの少なくとも1つのパラメータを負荷が小さくなる方向に変更した複数のジョブを並列で実行させる仮想実行制御ステップと、
    前記仮想装置の動作状態が前記許容条件から外れない場合に前記仮想装置に実行させた前記複数のジョブの組を変更ジョブ組に決定するパラメータ決定ステップと、
    前記情報処理装置を制御して、前記エラー組に属する複数のジョブと、それぞれ処理が同じで、かつ、パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列して実行する場合に、前記複数の新たなジョブのパラメータを、前記変更ジョブ組に含まれる複数の変更ジョブのうち処理が同じジョブで定められたパラメータに変更させる設定指示ステップと、をシミュレート装置に実行させる装置設定方法。
  10. 処理と前記処理の内容を定めるパラメータとを定めた複数のジョブを並列で実行する間に予め設定された許容条件から外れる場合、前記複数のジョブの組をエラー組に決定するエラー組決定ステップと、
    前記エラー組に含まれる前記複数のジョブの少なくとも1つのパラメータが異なり、並列で実行しても許容条件から外れない複数のジョブの組を変更ジョブ組に決定し、前記エラー組に属する複数のジョブと、それぞれ処理が同じで、かつ、パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列で実行する場合に、前記複数の新たなジョブのパラメータを、前記変更ジョブ組に含まれる複数のジョブのうち処理が同じジョブで定められたパラメータに変更する変更ステップと、を情報処理装置に実行させる装置設定方法。
  11. 処理と前記処理の内容を定めるパラメータとを定めたジョブを実行する情報処理装置をシミュレートするシミュレートステップと、
    複数のジョブを並列で実行する前記情報処理装置の動作状態が予め設定された許容条件から外れる場合、前記情報処理装置が実行している前記複数のジョブの組をエラー組に決定し、前記情報処理装置をシミュレートする仮想装置に前記エラー組に含まれる前記複数のジョブの少なくとも1つのパラメータを負荷が小さくなる方向に変更した複数のジョブを並列で実行させる仮想実行制御ステップと、
    前記仮想装置の動作状態が前記許容条件から外れない場合に前記仮想装置に実行させた前記複数のジョブの組を変更ジョブ組に決定するパラメータ決定ステップと、
    前記情報処理装置を制御して、前記エラー組に属する複数のジョブと、それぞれ処理が同じで、かつ、パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列して実行する場合に、前記複数の新たなジョブのパラメータを、前記変更ジョブ組に含まれる複数の変更ジョブのうち処理が同じジョブで定められたパラメータに変更させる設定指示ステップと、をコンピューターに実行させる装置設定プログラム。
  12. 処理と前記処理の内容を定めるパラメータとを定めた複数のジョブを並列で実行する間に予め設定された許容条件から外れる場合、前記複数のジョブの組をエラー組に決定するエラー組決定ステップと、
    前記エラー組に含まれる前記複数のジョブの少なくとも1つのパラメータが異なり、並列で実行しても許容条件から外れない複数のジョブの組を変更ジョブ組に決定し、前記エラー組に属する複数のジョブと、それぞれ処理が同じで、かつ、パラメータが同じかまたは負荷が大きくなる方向に異なる複数の新たなジョブを並列で実行する場合に、前記複数の新たなジョブのパラメータを、前記変更ジョブ組に含まれる複数のジョブのうち処理が同じジョブで定められたパラメータに変更する変更ステップと、をコンピューターに実行させる装置設定プログラム。
JP2017200364A 2017-10-16 2017-10-16 シミュレート装置、情報処理装置、装置設定方法および装置設定プログラム Active JP6996216B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017200364A JP6996216B2 (ja) 2017-10-16 2017-10-16 シミュレート装置、情報処理装置、装置設定方法および装置設定プログラム
US16/159,890 US20190114185A1 (en) 2017-10-16 2018-10-15 Simulation device, information processing apparatus, device setting method and non-transitory computer-readable recording medium encoded with device setting program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017200364A JP6996216B2 (ja) 2017-10-16 2017-10-16 シミュレート装置、情報処理装置、装置設定方法および装置設定プログラム

Publications (2)

Publication Number Publication Date
JP2019074914A JP2019074914A (ja) 2019-05-16
JP6996216B2 true JP6996216B2 (ja) 2022-01-17

Family

ID=66095863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017200364A Active JP6996216B2 (ja) 2017-10-16 2017-10-16 シミュレート装置、情報処理装置、装置設定方法および装置設定プログラム

Country Status (2)

Country Link
US (1) US20190114185A1 (ja)
JP (1) JP6996216B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7251313B2 (ja) * 2019-05-24 2023-04-04 セイコーエプソン株式会社 画像読取装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005305984A (ja) 2004-04-26 2005-11-04 Canon Inc 記録装置及びその調整方法
JP2007221183A (ja) 2006-02-14 2007-08-30 Fuji Xerox Co Ltd 画像形成処理シミュレーション装置及び画像形成処理シミュレーション方法
JP2017159518A (ja) 2016-03-08 2017-09-14 コニカミノルタ株式会社 画像形成装置、プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1097391A (ja) * 1996-09-20 1998-04-14 Oki Data:Kk プリンタシステムと印刷制御方法
US20100269111A1 (en) * 2009-04-21 2010-10-21 Thomas Martin Conte Task management
DE112011105019T5 (de) * 2011-03-08 2013-12-19 Hewlett-Packard Development Company, L.P. Aufgabensteuerung in einem Computersystem
US9223623B2 (en) * 2012-03-28 2015-12-29 Bmc Software, Inc. Dynamic service resource control
US9304803B2 (en) * 2012-11-12 2016-04-05 Vmware, Inc. Cooperative application workload scheduling for a consolidated virtual environment
US8819685B2 (en) * 2013-01-24 2014-08-26 Huawei Technologies Co., Ltd. Method and apparatus for adjusting I/O channel on virtual platform
US20160054779A1 (en) * 2014-08-22 2016-02-25 Devadatta Bodas Managing power performance of distributed computing systems
US9921864B2 (en) * 2015-02-26 2018-03-20 Vmware, Inc. Dynamic host performance tuning of a network stack

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005305984A (ja) 2004-04-26 2005-11-04 Canon Inc 記録装置及びその調整方法
JP2007221183A (ja) 2006-02-14 2007-08-30 Fuji Xerox Co Ltd 画像形成処理シミュレーション装置及び画像形成処理シミュレーション方法
JP2017159518A (ja) 2016-03-08 2017-09-14 コニカミノルタ株式会社 画像形成装置、プログラム

Also Published As

Publication number Publication date
JP2019074914A (ja) 2019-05-16
US20190114185A1 (en) 2019-04-18

Similar Documents

Publication Publication Date Title
CN102736872B (zh) 打印***、信息处理装置及控制方法
US20150077776A1 (en) Information processing system and information processing method
JP6179083B2 (ja) 情報処理装置、出力システム及びプログラム
US9692927B2 (en) Device, information processing system, and information processing method
JP6355330B2 (ja) ネットワークデバイス、ネットワークデバイスの制御方法およびそのプログラム
JP2014120824A (ja) 電子機器、設定方法およびシステム
JP6904075B2 (ja) 状態予測装置、状態予測方法および状態予測プログラム
EP3557414B1 (en) Service providing device and program
JP6996216B2 (ja) シミュレート装置、情報処理装置、装置設定方法および装置設定プログラム
US8964227B2 (en) Print server, print data transmission method, and non-transitory computer-readable recording medium encoded with print data transmission program
JP6972882B2 (ja) シミュレート装置、装置設定方法および装置設定プログラム
JP7098899B2 (ja) 仮想実行装置、仮想実行方法および仮想実行プログラム
JP6926886B2 (ja) シミュレーション装置、装置管理方法および装置管理プログラム
JP7081120B2 (ja) 情報処理装置、画像制御方法および画像制御プログラム
JP6953994B2 (ja) シミュレート装置、画像形成装置、装置設定方法および装置設定プログラム
JP6950431B2 (ja) 情報処理装置、画像制御方法および画像制御プログラム
JP6962159B2 (ja) サーバー、再現用データ生成方法および再現用データ生成プログラム
US12073127B2 (en) System and method of controlling system
JP2019074957A (ja) シミュレート装置、装置設定方法および装置設定プログラム
US20240231710A9 (en) System and method of controlling system
JP5257751B2 (ja) 画像処理システム及びメモリ管理方法並びにメモリ管理プログラム
JP6605077B2 (ja) 情報処理装置、情報処理装置の制御方法およびそのプログラム
US9674381B2 (en) Electronic device including a job information generating device and access managing device, information management method to enable the electronic device to function, and a non-transitory computer-readable storage medium to store a program for the information management method
JP6946932B2 (ja) 画像処理システム、処理装置及びプログラム
JP5459470B2 (ja) 情報処理装置およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210915

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211027

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211129

R150 Certificate of patent or registration of utility model

Ref document number: 6996216

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150