JP6561748B2 - 画像形成装置および管理プログラム - Google Patents

画像形成装置および管理プログラム Download PDF

Info

Publication number
JP6561748B2
JP6561748B2 JP2015197561A JP2015197561A JP6561748B2 JP 6561748 B2 JP6561748 B2 JP 6561748B2 JP 2015197561 A JP2015197561 A JP 2015197561A JP 2015197561 A JP2015197561 A JP 2015197561A JP 6561748 B2 JP6561748 B2 JP 6561748B2
Authority
JP
Japan
Prior art keywords
program
image forming
forming apparatus
programs
application
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
JP2015197561A
Other languages
English (en)
Other versions
JP2017073597A (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 JP2015197561A priority Critical patent/JP6561748B2/ja
Publication of JP2017073597A publication Critical patent/JP2017073597A/ja
Application granted granted Critical
Publication of JP6561748B2 publication Critical patent/JP6561748B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

この開示は、画像形成装置に関し、より特定的には、複数のプログラム実行部を備える画像形成装置に関する。
近年、画像形成装置の中には、処理速度を向上させるために、マルチコアプロセッサを備えた機種が増えてきている。当該機種の中には、起動に必要な処理を複数のプロセッサコアに割り当てることによって、電源投入から立ち上げまでの起動時間を短縮しようとするものもある。
画像形成装置の起動時間を短縮する技術について、特開2013−16982号公報(特許文献1)は、所定の時間以内で終了する応答待機期間が発生するデバイスについて、設定されたスレッド継続時間内においては、応答待機期間が発生してもスレッドを切り替えない構成を採用することで、オーバヘッドの発生頻度を少なくし、デバイスの初期化処理の完了までの時間を短縮する技術を開示する。
また、特開2010−11125号公報(特許文献2)は、複数の制御部を備え、第2の制御部は、予備動作プログラムの他に、複数のアプリケーションプログラムの一部のアプリケーションプログラムを起動し、第1の制御部で起動する複数のアプリケーションプログラムの起動完了を待たずに、一部のアプリケーションプログラムの起動が完了した段階で、一部のアプリケーションプログラムにより実現される画像処理機能を使用可能状態にする技術を開示する。
特開2013−16982号公報 特開2010−11125号公報
しかしながら、特許文献1および特許文献2に示される技術は、予め定められたデバイス/アプリケーションプログラムの初期化を行なう構成を採用している。したがって、これらの技術は、起動直後にユーザが実行したいアプリケーションが予め定められたデバイス/アプリケーションに含まれない場合、起動時間を短縮することができないという問題がある。
本開示は、上記のような問題を解決するためになされたものであって、ある局面における目的は、ユーザの指定するアプリケーションプログラムの起動時間を短縮することができる画像形成装置を提供することである。
画像形成装置は、ユーザ操作を受け付けるための入力部と、複数のプログラムを格納する記憶部と、画像形成装置への起動指令に応答して、複数のプログラムのうち1または複数のプログラムからなる第1のプログラム群を予め定められた順序で読み込んで起動する第1のプログラム実行部と、起動指令に応答して、複数のプログラムのうち第1のプログラム群に含まれるプログラムとは異なる、1または複数のプログラムからなる第2のプログラム群を予め定められた順序で読み込んで起動する第2のプログラム実行部とを備える。第2のプログラム実行部は、第2のプログラム群の起動後にユーザ操作が入力されると、当該入力されたユーザ操作に従う処理の実行に必要なプログラムを特定するとともに、第1のプログラム実行部により必要なプログラムのすべての起動が完了しているかを判断する判断手段と、第1のプログラム群に含まれる必要なプログラムのうち起動していないプログラムがあると、第1のプログラム群を起動する処理の進行度合いに基づいて、第1のプログラム実行部において必要なプログラムのすべての起動が完了するまでに要する第1の時間を算出するとともに、第2のプログラム実行部において必要なプログラムのうち起動していないプログラムの起動が完了するまでに要する第2の時間を算出する算出手段と、第2の時間が第1の時間に比較して短いときに、第1のプログラム実行部に代わって、第1のプログラム群に含まれる必要なプログラムのうち起動していないプログラムを起動する起動手段とを含む。
好ましくは、第2のプログラム群は、入力部からのユーザ操作を受け付ける処理を実行するプログラムを含む。
好ましくは、記憶部は、複数のプログラムに含まれる各プログラムについて、第1のプログラム実行部での起動に要する起動時間と、第2のプログラム実行部での起動に要する起動時間とを格納する。算出手段は、記憶部に格納された情報を参照して、第1および第2の時間を算出する。
さらに好ましくは、算出手段は、予め定められた第1のプログラム群を起動する順序に基づいて第1のプログラム実行部により必要なプログラムをすべて起動するまでに要する時間と、第1のプログラム群の処理開始からの経過時間と、の差に基づいて、第1の時間を算出する。
好ましくは、算出手段は、記憶部に格納された情報を参照して、必要なプログラムのうち起動していないプログラムの第2のプログラム実行部での起動に要する時間から第2の時間を算出する。
好ましくは、複数のプログラムのうちいずれかのプログラムが第1または第2のプログラム実行部により起動されると、記憶部に格納されている対応する起動時間を、当該起動に要した時間に基づいて更新する更新手段をさらに備える。
好ましくは、第1および第2のプログラム実行部が複数のプログラムを起動するためのワークエリアをさらに備える。判断手段は、ワークエリアに展開されているデータに基づいて、必要なプログラムのすべての起動が完了しているかを判断する。
好ましくは、第1のプログラム実行部は、第1のプログラム群に含まれる各プログラムを起動する前に、これから起動するプログラムの起動が完了しているかを判断し、起動するプログラムの起動が完了していると判断した場合に、当該起動するプログラムの起動を省略する。
好ましくは、第2のプログラム実行部は、起動手段により起動されたプログラムの実行を第1のプログラム実行部に引き渡す手段をさらに含む。
別の局面に従うと、管理プログラムは、第1および第2のプログラム実行部を備える画像形成装置の起動処理を管理する。管理プログラムは、第2のプログラム実行部に、画像形成装置への起動指令に応答して、記憶された複数のプログラムのうち第1のプログラム実行部によって予め定められた順で実行される第1のプログラム群に含まれるプログラムとは異なる、1または複数のプログラムからなる第2のプログラム群を予め定められた順序で読み込んで起動するステップと、第2のプログラム群の起動後にユーザ操作が入力されると、当該入力されたユーザ操作に従う処理の実行に必要なプログラムを特定するとともに、第1のプログラム実行部により必要なプログラムのすべての起動が完了しているかを判断するステップと、第1のプログラム群に含まれる必要なプログラムのうち起動していないプログラムがあると、第1のプログラム群を起動する処理の進行度合いに基づいて、第1のプログラム実行部において必要なプログラムのすべての起動が完了するまでに要する第1の時間を算出するとともに、第2のプログラム実行部において必要なプログラムのうち起動していないプログラムの起動が完了するまでに要する第2の時間を算出するステップと、第2の時間が第1の時間に比較して短いときに、第1のプログラム実行部に代わって、第1のプログラム群に含まれる必要なプログラムのうち起動していないプログラムを起動するステップとを実行させる。
一実施形態に従う画像形成装置は、ユーザの指定するアプリケーションプログラムの起動時間を短縮することができる。
実施形態に従う画像形成装置を説明する図である。 実施形態に従う画像形成装置のシステム構成を説明する図である。 実施形態に従うアプリケーションの起動制御について説明する図である。 実施形態に従うアプリケーションの起動制御について説明する図である。 実施形態に従うサブOSにおけるアプリケーションの起動制御を説明するフローチャートである。 実施形態に従うパネル操作とアプリケーションとの関連付けを説明する図である。 実施形態に従うサブCPUコアの機能構成を説明するブロック図である。 実施形態に従う各アプリケーションの起動時間を説明する図である。 実施形態に従う各アプリケーションの起動終了時間を説明する図である。 実施形態に従うメインOSにおけるアプリケーションの起動制御を説明するフローチャートである。
本発明に基づいた画像形成装置について、以下、図を参照しながら説明する。なお、以下に説明する実施形態において、個数、量などに言及する場合、特に記載がある場合を除き、本発明の範囲は必ずしもその個数、量などに限定されない。また、同一の部品、相当部品に対しては、同一符号を付し、重複する説明は繰り返さない場合がある。また、実施形態における構成を適宜組み合わせて用いることは当初から予定されていることである。
(A.概要)
一般的に、画像形成装置は、起動する際に、複数のプログラム群をシーケンシャルに起動する。ユーザは、アプリケーションプログラム(以下、「アプリケーション」とも称する。)の実行指示を画像形成装置に入力しても、当該アプリケーションの起動が完了していない場合、起動完了まで待たなければならない。
そこで、本実施形態に従う画像形成装置は、メインCPU(Central Processing Unit)コアおよびサブCPUコアを含むマルチコアプロセッサを搭載する。メインCPUコアは、起動指示の入力を受けると、複数のプログラム群をシーケンシャルに起動する。サブCPUコアは、ユーザからアプリケーションの実行指示の入力を受けると、当該アプリケーションの起動をメインCPUコア、サブCPUコアのどちらで実行した方が早いかを判断する。サブCPUコアは、メインCPUコアで起動するよりも自らが起動した方が早いと判断した場合、当該アプリケーションを起動する。
その結果、当該画像形成装置は、ユーザから入力されたアプリケーションの実行開始時間を短縮することができる。以下、当該概要を実現するための構成、制御について説明を行なう。
(B.画像形成装置1の構成)
(b1.外観構成)
図1は、本実施形態に従う画像形成装置1の外観構成を説明する図である。図1(a)を参照して、画像形成装置1は、画像読取装置101と、操作パネル103と、プリントエンジン105と、給紙カセット107と、排出部109とを備える。
画像読取装置101は、原稿を読み取って画像データを後述する制御部10へ出力する画像読み取り部である。
図1(b)を参照して、操作パネル103は、画像形成装置1を操作するための装置であって、タッチパネル103Aと物理ボタン群103Bとを含む。ユーザはタッチパネル103Aおよび物理ボタン群103Bを操作して、画像形成装置に対してアプリケーションの実行指示の入力を行なう。タッチパネル103Aは、ユーザ操作に応答した各種情報および/または各種操作を受け付けるためのメニュー画面などをユーザに対して表示するとともに、ユーザによりタッチ操作された位置を取得し、当該取得した位置に応じた入力情報を取得する。
プリントエンジン105は、画像データを用紙(記録材)に形成する。給紙カセット107は、印刷指示の入力に応答して、用紙を搬送路(不図示)を介してプリントエンジン105に供給する。プリントエンジン105によって画像データが形成された用紙は、排出部109へと排出される。
(b2.内部構成)
図2(a)は、画像形成装置1の主要なハードウェア構成を説明するブロック図である。図2(a)を参照して、画像形成装置1は、制御部10を含む。制御部10は、CPU12と、ROM(Read Only Memory)14と、S−RAM(Static Random Access Memory)16と、NV−RAM(不揮発性メモリー)18とを含む。
CPU12は、メインCPUコア12Aと、サブCPUコア12Bとを含み、装置全体を制御する。ROM14は、各種の制御プログラムを格納する。S−RAM16は、CPU12のワークエリアとして機能する。NV−RAM18は、画像形成に関わる各種の設定を記憶する。NV−RAM18は、後述する関連アプリテーブルTa1と、起動時間テーブルTa2と、完了時間テーブルTa3とを有する。
制御部10には、バスを介して、記憶装置20と、タイマ22と、画像読取装置101と、操作パネル103と、プリントエンジン105と、定着装置26と、プリンターコントローラ28と、ネットワークI/F(インターフェース)30とが接続されている。
記憶装置20は、画像読取装置101で読み取った画像データ等を保存する。記憶装置20は、本実施形態において、一例として、ハードディスク(hard disk drive:HDD)とする。タイマ22は、時間をカウントする。ネットワークI/F30は、通信ネットワークを介して接続された他の装置(不図示)との間で各種の情報を送受信する。定着装置26は、トナー画像を加熱および加圧し用紙に定着させる。プリンターコントローラ28は、当該ネットワークI/F30により受信したプリントデータから複写画像を生成する。
なお、画像形成装置1は、一例として、電子写真方式を採用しているがこれに限定されるものではない。画像形成装置は、たとえば、いわゆるインクジェット方式により画像を形成するものであってもよい。
(b3.ROM14に含まれるプログラム)
図2(b)は、ROM14に含まれるプログラムを説明する図である。図2(b)を参照して、ROM14は、メインOS(Operating System)50と、サブOS60を含み、さらに後述する定着アプリケーション、エンジンアプリケーション等の複数のアプリケーションを格納している。
メインOS50は、メインCPUコア12Aによって実行され、1または複数のプログラムからなるプログラム群を予め定められた順で読み込んで起動するプログラム実行部として機能する。
サブOS60は、サブCPUコア12Bによって実行され、メインOS50で実行されるプログラム群とは異なる1または複数のプログラムからなるプログラム群を予め定められた順で読み込んで起動するプログラム実行部として機能する。
なお、メインOSとサブOSは、それぞれ異なるメインCPUコアとサブCPUコアによって実行されるとしたが、これに限られない。別の局面において、シングルコアプロセッサを搭載する画像形成装置であっても、当該シングルコアを仮想的に分割して複数の仮想コアを構成し、これら複数の仮想コアによってメインOSとサブOSをそれぞれ実行するように構成されてもよい。
(C.アプリケーションの起動制御)
以下、図3を用いてマルチコアプロセッサを搭載する画像形成装置のアプリケーションの起動制御について説明する。
(c1.関連技術)
関連する画像形成装置1Aは、メインCPUコア12AによってメインOS50Aを実行し、サブCPUコア12BによってサブOS60Aを実行するとする。
図3(a)は、関連する画像形成装置1Aにおけるアプリケーションの起動制御について説明する図である。図3(a)を参照して、ステップS0において、画像形成装置1Aに電源供給が開始される。ステップS10において、サブCPUコア12Bは、BIOS(Basic Input Output System)およびサブOS60Aの起動を行なうブートプログラムを起動する。
ステップS20において、メインCPUコア12Aは、BIOSおよびメインOS50Aの起動を行なうブートプログラムを起動する。メインCPUコア12Aは、ブートプログラムの起動完了が、サブCPU12Bの行なうブートプログラムの起動完了よりも遅い。その理由は、メインCPUコア12Aは、画像形成装置1の動作を統括して制御するためである。より具体的には、メインCPUコア12Aは、ROM14等のメモリチェック等の初期動作が、サブCPUコア12Bに比して長いためである。
ステップS12において、サブOS60Aは、パネルアプリケーションの起動を行なう。パネルアプリケーションは、操作パネル103を用いたユーザの入力(操作)を受け付け可能な状態にする。本実施形態において、一例として、パネルアプリケーションは、図1(b)に示される画面を表示する。
一方、メインOS50Aは、ステップS22〜ステップS30にかけて、複数のアプリケーションを予め定められた順に起動する。本実施形態において、一例として、メインOS50Aは、定着アプリケーション、エンジンアプリケーション、スキャンアプリケーション、HDDアプリケーション、FAX(facsimile)アプリケーションの順にアプリケーションの起動を行なう。時刻Tf1において、メインOS50Aは、一連のアプリケーションの起動を完了する。
定着アプリケーションは、定着装置26の加熱定着制御を行なう。エンジンアプリケーションは、プリントエンジン105の画像形成制御を行なう。スキャンアプリケーションは、画像読取装置101の読み取り制御を行なう。HDDアプリケーションは、記憶装置20の読み書き制御を行なう。FAXアプリケーションは、通信回線を介した画像情報の伝送制御を行なう。メインOS50Aは、これらのアプリケーションの起動するにあたって各アプリケーションの初期化処理を行なう。
時刻T1において、ユーザは、図1(b)に示されるタッチパネル103A上の「ボックス」ボタンをタッチする(ステップS14)。
「ボックス」機能は、プリントあるいはスキャンしたデータ、他のコンピュータで作成されたデータ、FAX送受信データなどを画像形成装置1内部の記憶装置20(HDD)に格納する機能である。これにより、ユーザは、格納されたデータを必要なときに利用することができる。
操作パネル103は、ユーザの指示を制御部10に出力する。サブOS60Aは、当該指示に基づき、ボックスジョブを実行しようとする。ボックスジョブとは、記憶装置20に格納されたデータをタッチパネル103A上に表示し、ユーザ操作入力を受け付け可能な状態にすることをいう。
しかしながら、図3(a)を参照して、時刻T1において、HDDアプリケーションの起動が行なわれていない。そのため、サブOS60Aは、メインOS50AがHDDアプリケーションの起動を完了する時刻T2までボックスジョブを実行することができない。すなわち、ユーザは、時刻T1から時刻T2までのtw1秒間、ボックスジョブの実行を待たなければならない。
上記関連する画像形成装置1Aは、ユーザからジョブの入力を受けてもサブCPUコア12B(サブOS60A)は、メインCPUコア12A(メインOS50A)がジョブに関連するアプリケーションの起動を完了するまで何もしない。当該構成では、画像形成装置がせっかくマルチコアプロセッサを搭載していたとしても、処理を分担できるというマルチコアプロセッサの強みを生かし切れていない。
そこで、以下に、マルチコアプロセッサ強みを生かした本実施形態に従う起動制御について説明を行なう。
(c2.ユーザ入力に関連するアプリケーションをサブOSで起動)
画像形成装置1のサブOS60は、ユーザからジョブの入力を受けると、当該ジョブの実行に必要な、ジョブに関連するアプリケーションの特定を行ない、関連するアプリケーションを自身で起動した方がメインOS50で起動するよりも早いかを判断する。サブOS60は、自身で起動した方が早いと判断した場合、本来メインOS50が起動する当該関連するアプリケーションの起動を肩代わりし、起動する。
当該構成によれば、ユーザの指定するアプリケーションプログラムの起動時間を従来よりも短縮することができる。以下、図3(b)に示される具体例を用いて説明を行なう。
図3(b)は、本実施形態に従う画像形成装置1におけるアプリケーションの起動制御について説明する図である。なお、図3(a)と同一符号を付している部分については同じであるので、その説明は繰り返さない。
時刻T1において、ユーザは、図1(b)に示されるタッチパネル103A上の「ボックス」ボタンをタッチする(ステップS14)。さらに、サブOS60は、当該指示の入力を受け、ボックスジョブに関連するアプリケーションがHDDアプリケーションであることを特定する。
続いて、ステップS30において、サブOS60は、HDDアプリケーションを起動する。よって、サブOS60は、ユーザが「ボックス」ボタンの入力を行なった時刻T1からtw2秒後の時刻T3において、HDDアプリケーションの起動を完了し、ボックスジョブを実行することができる。
その結果、画像形成装置1はユーザの待ち時間(「ボックス」ボタンをタッチしてからジョブが実行されるまでの時間)を、上記関連する画像形成装置に比べてtw1秒間からtw2秒間に短縮することができる。すなわち、画像形成装置1は、関連する画像形成装置1Aに比べてユーザの利便性を向上させることができる。
ステップS34において、メインOS50は、既にHDDアプリケーションが起動されているため、HDDアプリケーションの起動を省略して、FAXアプリケーションを起動する。その結果、制御部10は、一連のアプリケーションの起動完了を、上記(c1)の場合の時刻Tf1から時刻Tf2に早めることができる。
なお、ステップS12において、サブOS60がパネルアプリケーションを起動する構成を取っているが、メインOS50およびサブOS60以外のプログラムがパネルアプリケーションを起動する構成であってもよい。
(c3.サブOS60で関連するアプリケーションを起動しない場合)
上記(c2)の例では、ユーザの待ち時間が短縮されたが、必ずしもサブOS60で関連するアプリケーションを起動した方がよいとは限らない。サブOS60で関連するアプリケーションを起動することによって、かえってユーザの待ち時間が長くなるケースも存在する。以下、図4を用いてサブOS60で関連するアプリケーションを起動しない例について説明を行なう。
<c3−1.ユーザの入力が遅い場合>
図4は、画像形成装置1におけるアプリケーションの起動制御について説明する図である。なお、図4(a)および図4(b)において、図3と同一符号を付している部分については同じであるので、その説明は繰り返さない。
図4(a)を参照して、時刻T4において、ユーザは、図1(b)に示されるタッチパネル103A上の「ボックス」ボタンをタッチする(ステップS40)。さらに、サブOS60は、当該指示の入力を受け、ボックスジョブに関連するアプリケーションがHDDアプリケーションであることを特定する。
仮に、サブOS60がステップS42において、HDDアプリケーションを起動した場合、当該アプリケーションの起動が完了するのは時刻T5である。一方、ステップS28において、メインOS50がHDDアプリケーションを起動した場合、当該アプリケーションの起動が完了するのは時刻T2である。
すなわち、サブOS60がメインOS50に代わってHDDアプリケーションを起動することによって、結果的にユーザの待ち時間が長くなってしまう。
これは、ユーザがボックスジョブの入力を行なう(「ボックス」ボタンにタッチする)タイミングが、画像形成装置1に電源供給を開始してから相当時間経過していることに起因する。
かかる場合、サブOS60は、HDDアプリケーションを起動しないことによって、ユーザの待ち時間が長引くことを避ける。
<c3−2.サブCPUコア12Bの処理能力が低い場合>
本例において、サブCPUコア12Bは、メインCPUコア12Aに比して処理能力が低いとする。かかる場合、サブOS60で関連するアプリケーションを起動することによって、かえってユーザの待ち時間を長引かせることがある。
図4(b)を参照して、時刻T6において、ユーザは、図1(b)に示されるタッチパネル103A上の「ボックス」ボタンをタッチする(ステップS50)。さらに、サブOS60は、当該指示の入力を受け、ボックスジョブに関連するアプリケーションがHDDアプリケーションであることを特定する。
仮に、サブOS60がステップS52において、HDDアプリケーションを起動した場合、低い処理能力に起因して当該アプリケーションの起動が完了するのは時刻T7となる。一方、ステップS28において、メインOS50がHDDアプリケーションを起動した場合、当該アプリケーションの起動が完了するのは時刻T2である。
かかる場合も、サブOS60がHDDアプリケーションを起動することによってユーザの待ち時間が長引くことになる。よって、サブOS60は、HDDアプリケーションの起動を起動しない。
(c4.サブOS60におけるアプリケーションの起動制御)
上記に、サブOS60で関連するアプリケーションを起動した方がユーザの待ち時間が長くなる場合の例を説明した。これらの事例を考慮し、図5を用いて常にユーザの待ち時間が長くならないサブOS60のアプリケーション起動制御について説明を行なう。
図5は、サブOS60におけるアプリケーションの起動制御を説明するフローチャートである。図5の処理は、サブOSがROM12に格納される制御プログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子その他のハードウェアによって実行されてもよい。
図5を参照して、ステップS100において、画像形成装置1は、電源供給が開始される。ステップS102において、サブCPUコア12Bは、サブOS60の起動を含むブートプログラムの起動を行なう。
ステップS103において、サブOS60は、パネルアプリケーションを起動し、操作パネル103においてユーザの入力を受け付け可能な状態にする。
ステップS104において、サブOS60は、メインアプリケーションを起動する指示の入力があったか否かを判断する。具体的には、図1(b)に示されるタッチパネル103A上のボタン入力があるかを判断する。メインアプリケーションとは、メインOS50が起動することを予定しているアプリケーションをいう。本例において、一例として、メインアプリケーションは、定着アプリケーション、エンジンアプリケーション、スキャンアプリケーション、HDDアプリケーション、FAXアプリケーションのことをいう。
サブOS60は、ステップS104において、メインアプリケーションを起動する指示の入力があったと判断した場合(ステップS104においてYES)、当該制御をステップS108に進める。
一方、サブOS60は、ステップS104において、メインアプリケーションを起動する指示の入力がないと判断した場合(ステップS104においてNO)、当該制御をステップS106に進める。
ステップS106において、サブOS60は、メインOS50によってメインアプリケーションがすべて起動完了しているか否かを判断する。具体的には、サブOS60は、S−RAM16のワークエリアに展開されているデータに基づいて、メインアプリケーションがすべて起動完了しているか否かを判断する。
サブOS60は、ステップS106において、メインアプリケーションが全て起動完了されていると判断した場合(ステップS106においてYES)、当該制御をステップS120に進める。
一方、サブOS60は、ステップS106において、メインアプリケーションがすべて起動完了していない判断した場合(ステップS106においてNO)、当該制御をステップS104に戻す。
ステップS108において、サブOS60は、ユーザがタッチパネル103A上で入力した内容から、関連するメインアプリケーションの特定を行なうとともに、当該関連するメインアプリケーションが起動中であるか、または既に起動が完了しているかを判断する。
サブOS60は、図6に示される関連アプリテーブルTa1に基づいて、ユーザがタッチパネル103A上で入力した内容から、関連するメインアプリケーションの特定を行なう。
図6に示されるように、たとえば、タッチパネル103A上の「コピー」ボタンは、メインアプリケーションのうち定着アプリケーションとエンジンアプリケーションと関連付られている。
サブOS60は、関連するメインアプリケーションの特定を行なった後に、S−RAM16のワークエリアに展開されているデータに基づいて、当該関連するメインアプリケーションが起動中であるか、または既に起動が完了しているかを判断する。
サブOS60は、ステップS108において、関連するメインアプリケーションが起動中である、または既に起動が完了していると判断した場合(ステップS108においてYES)、当該制御をステップS114に進める。
一方、サブOS60は、ステップS108において、関連するメインアプリケーションが起動中でなく、かつ、既に起動が完了していないと判断した場合(ステップS108においてNO)、当該制御をステップS110に進める。
ステップS110において、サブOS60は、特定したアプリケーションを、メインOS50で起動するよりもサブOS60で起動した方が早いか否かを判断する。
図7を用いて、ステップS108およびステップS110の制御について説明を行なう。図7は、サブCPUコア12Bの機能構成を説明するブロック図である。
図7を参照して、指示内容解析部30は、ユーザがタッチパネル103A上で入力した内容に基づいて、関連アプリテーブルTa1を参照し、関連するメインアプリケーションの特定を行なう。続いて、指示内容解析部30は、特定した関連するアプリケーションを起動完了判断部32に出力する。
起動完了判断部32は、S−RAM16のワークエリアに展開されているデータを参照し、指示内容解析部30からの入力を受けた関連するアプリケーションがメインOS50によって起動中であるか、または既に起動が完了しているかを判断する。
起動完了判断部32は、関連するアプリケーションが起動中でなく、かつ、既に起動が完了していないと判断した場合、当該関連するアプリケーションの情報を起動時間算出部34と残り時間算出部36とに出力する。
起動時間算出部34は、図8に示される起動時間テーブルTa2を参照してサブOS60で関連するアプリケーションを起動した場合にかかる時間(以下、「サブ起動時間」とも称する。)を算出し、算出した情報を比較部38に出力する。たとえば、定着アプリケーションとエンジンアプリケーションとが関連するアプリケーションである場合、残り時間算出部36は、サブ起動時間として9秒要する、という情報を比較部38に出力する。
残り時間算出部36は、タイマ22に基づいて、CPU12がブートプログラムの起動処理を開始してから、メインアプリケーションの起動指示が入力されるまでに経過した時間(以下、「経過時間」とも称する。)を取得する。
さらに、残り時間算出部36は、図9に示される完了時間テーブルTa3を参照して、メインOS50によって関連するアプリケーションがすべて起動するまでに要する時間(以下、「メイン起動時間」とも称する。)を取得する。完了時間テーブルTa3に記載されている時間は、メインCPUコア12Aがブートプログラムの起動処理を開始してから、メインOS50が各アプリケーションの起動を完了するまでの時間である。たとえば、定着アプリケーションとエンジンアプリケーションとが関連するアプリケーションである場合、残り時間算出部36は、最も起動順序が遅いエンジンアプリケーションの起動完了時間を参照して、メイン起動時間が12秒であるという情報を取得する。
続いて、残り時間算出部36は、メイン起動時間から経過時間を差し引き、得られた時間(以下、「残り時間」とも称する。)を比較部38に出力する。
すなわち、サブOS60は、起動完了判断部32において、関連するアプリケーションのうち起動していないプログラムがあると判断すると、残り時間算出部36において、メインOS50がメインアプリケーションを起動する処理の進行度合いに基づいて、残り時間を算出する。
別の局面において、残り時間算出部36は、メイン起動時間を取得するにあたって、完了時間テーブルTa3ではなく、起動時間テーブルTa2を参照してもよい。具体的には、メインOS50は、予め定められた順にしたがってプログラムを起動する。そこで、残り時間算出部36は、当該予め定められた順に従って、関連するアプリケーションのうち最も起動順序が遅いアプリケーションを起動するまでに要する時間を算出する。たとえば、定着アプリケーションとエンジンアプリケーションとが関連するアプリケーションである場合、残り時間算出部36は、予め定められた順に基づいて、エンジンアプリケーションが最も起動順序が遅いアプリケーションであると判断する。続いて、残り時間算出部36は、メインOS50が当該エンジンアプリケーションを起動するまでの時間として、ブートプログラム、定着アプリケーション、エンジンアプリケーションの起動時間を合計し、メイン起動時間が12秒であるという情報を取得する。
また、完了時間テーブルTa3および起動時間テーブルTa2には、予め定められた時間が格納されているが、当該時間が更新される構成であってもよい。より具体的には、メインCPUコア12A(メインOS50)およびサブCPUコア12B(サブOS60)によって各プログラムの起動を行なった場合に、各プログラムの起動に要した時間に基づいて、上記テーブルに格納されている対応する時間を更新される構成であってもよい。
比較部38は、残り時間よりもサブ起動時間の方が短い場合に、サブOS60で関連するアプリケーションを起動した方が、ユーザの待ち時間が短くなると判断する。
一方、比較部38は、残り時間よりもサブ起動時間の方が短くない場合に、サブOS60で関連するアプリケーションを起動すると、ユーザの待ち時間が短くならないと判断する。
再び図5を参照して、サブOS60は、ステップS110において、特定したアプリケーションを、メインOS50で起動するよりもサブOS60で起動した方が早いと判断した場合(ステップS110においてYES)、当該制御をステップS112に進め、関連するアプリケーションの起動を行なう。
一方、サブOS60は、ステップS110において、特定したアプリケーションを、メインOS50で起動するよりもサブOS60で起動した方が早くないと判断した場合(ステップS110においてNO)、当該制御をステップS120に進める。
ステップS114において、サブOS60は、操作パネル103を介してジョブの実行指示が入力されたか否かを判断する。たとえば、ステップS104において、タッチパネル103A上の「コピー」ボタンがタッチされる。これをうけ、サブOS60は、ステップS112において、関連するアプリケーションとして、定着アプリケーションとエンジンアプリケーションとを起動し、ユーザからコピージョブの実行を受け付け可能な状態にする。当該状態において、サブOS60は、ユーザから操作パネル103を介してコピージョブの実行指示が入力されたか否かを判断する(ステップS114)。
サブOS60は、ステップS114において、操作パネル103を介してジョブの実行指示が入力されたと判断した場合(ステップS114においてYES)、当該制御をステップS116に進め、当該入力されたジョブの実行を行う。
一方、サブOS60は、ステップS114において、操作パネル103を介してジョブの実行指示が入力されていないと判断した場合(ステップS114においてNO)、当該制御をステップS118に進める。
ステップS118において、サブOS60は、メインOS50によってメインアプリケーションがすべて起動完了しているか否かを判断する。
サブOS60は、ステップS118においてメインOS50によってメインアプリケーションがすべて起動完了していると判断した場合(ステップS118においてYES)、当該制御をステップS114に戻す。
一方、サブOS60は、ステップS118においてメインOS50によってメインアプリケーションが全て起動完了していると判断した場合(ステップS118においてNO)、当該制御をステップS120に進める。
ステップS120において、サブOS60は、パネルアプリケーションを含む、起動したアプリケーションの制御をメインOS50に引き継ぐ。当該引き継ぎは、一例として、以下の手順が行われる。サブOS60は、起動したアプリケーションにより実現される画像処理機能のジョブを処理していない場合に、当該起動したアプリケーションの制御を停止する。続いて、サブOS60は、メインOS50に当該アプリケーションの制御を引き継ぐよう要求する制御信号を送信する。メインOS50は、当該制御信号の入力を受けて、当該アプリケーションの制御をサブOS60から引き継ぐ。
上記によれば、サブOS60は、関連するアプリケーションを自身で起動した方がメインOS50で起動するよりもユーザの待ち時間が短くなると判断した場合にのみ、当該関連するアプリケーションの起動を行なう。そのため、マルチコアプロセッサを搭載する画像形成装置1は、ユーザの指定するアプリケーションプログラムの起動時間を短縮することができる。
(c5.メインOS50におけるアプリケーションの起動制御)
上記にサブOS60におけるアプリケーションの起動制御について説明を行なった。以下、図10を用いてメインOS50におけるアプリケーションの起動制御について説明を行なう。
図10は、メインOS50におけるアプリケーションの起動制御を説明するフローチャートである。図10の処理は、メインOS50がROM12に格納される制御プログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子その他のハードウェアによって実行されてもよい。
図10を参照して、ステップS130において、画像形成装置1は、電源供給が開始され、ステップS132において、メインCPUコア12Aは、メインOS50の起動を含むブートプログラムを起動する。
ステップS134〜ステップS150にかけて、メインOS50はメインアプリケーションを予め定められた順序で読み込んで起動を行なう。但し、メインOS50は、各アプリケーションの起動を行なう前に、当該アプリケーションが起動中であるか、または既に起動を完了しているかを判断する。具体的には、メインOS50は、S−RAM16のワークエリアに展開されているデータに基づいて、アプリケーションが起動中であるか、または既に起動を完了しているかの判断を行なう。
当該アプリケーションが起動中であるか、または既に起動を完了していると判断した場合(たとえば、ステップS134においてYES)、メインOS50は、当該アプリケーションの起動を省略する。続いて、メインOS50は、予め定められた順に基づいて、当該アプリケーションの次の順序のアプリケーションが起動中であるか、または既に起動を完了しているかを判断する。
一方、当該アプリケーションが起動中でなく、かつ既に起動を完了していないと判断した場合(たとえば、ステップS134においてNO)、メインOS50は、当該アプリケーションの起動を行なう。
上記構成によれば、メインアプリケーションのうちサブOS60が起動中/起動済みのアプリケーションについて、再度メインOS50で起動処理を行なうという無駄を防ぎ、メインアプリケーションすべての起動が完了する時間を短縮することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 画像形成装置、10 制御部、12 CPU、12A メインCPUコア、12B サブCPUコア、14 ROM、16 S−RAM、18 NV−RAM、20 記憶装置、22 タイマ、26 定着装置、28 プリンターコントローラ、30 指示内容解析部、32 起動完了判断部、34 起動時間算出部、36 残り時間算出部、38 比較部、50 メインOS、60 サブOS、101 画像読取装置、103 操作パネル、105 プリントエンジン、107 給紙カセット、109 排出部。

Claims (10)

  1. 画像形成装置であって、
    ユーザ操作を受け付けるための入力部と、
    複数のプログラムを格納する記憶部と、
    前記画像形成装置への起動指令に応答して、前記複数のプログラムのうち1または複数のプログラムからなる第1のプログラム群を予め定められた順序で読み込んで起動する第1のプログラム実行部と、
    前記起動指令に応答して、前記複数のプログラムのうち前記第1のプログラム群に含まれるプログラムとは異なる、1または複数のプログラムからなる第2のプログラム群を予め定められた順序で読み込んで起動する第2のプログラム実行部とを備え、
    前記第2のプログラム実行部は、
    前記第2のプログラム群の起動後にユーザ操作が入力されると、当該入力されたユーザ操作に従う処理の実行に必要なプログラムを特定するとともに、前記第1のプログラム実行部により前記必要なプログラムのすべての起動が完了しているかを判断する判断手段と、
    前記第1のプログラム群に含まれる前記必要なプログラムのうち起動していないプログラムがあると、前記第1のプログラム群を起動する処理の進行度合いに基づいて、前記第1のプログラム実行部において前記必要なプログラムのすべての起動が完了するまでに要する第1の時間を算出するとともに、前記第2のプログラム実行部において前記必要なプログラムのうち起動していないプログラムの起動が完了するまでに要する第2の時間を算出する算出手段と、
    前記第2の時間が前記第1の時間に比較して短いときに、前記第1のプログラム実行部に代わって、前記第1のプログラム群に含まれる前記必要なプログラムのうち起動していないプログラムを起動する起動手段とを含む、画像形成装置。
  2. 前記第2のプログラム群は、前記入力部からのユーザ操作を受け付ける処理を実行するプログラムを含む、請求項1に記載の画像形成装置。
  3. 前記記憶部は、前記複数のプログラムに含まれる各プログラムについて、前記第1のプログラム実行部での起動に要する起動時間と、前記第2のプログラム実行部での起動に要する起動時間とを格納し、
    前記算出手段は、前記記憶部に格納された情報を参照して、前記第1および第2の時間を算出する、請求項1または2に記載の画像形成装置。
  4. 前記算出手段は、前記予め定められた第1のプログラム群を起動する順序に基づいて前記第1のプログラム実行部により前記必要なプログラムをすべて起動するまでに要する時間と、前記第1のプログラム群の処理開始からの経過時間と、の差に基づいて、前記第1の時間を算出する、請求項3に記載の画像形成装置。
  5. 前記算出手段は、前記記憶部に格納された情報を参照して、前記必要なプログラムのうち起動していないプログラムの前記第2のプログラム実行部での起動に要する時間から前記第2の時間を算出する、請求項3または4に記載の画像形成装置。
  6. 前記複数のプログラムのうちいずれかのプログラムが前記第1または第2のプログラム実行部により起動されると、前記記憶部に格納されている対応する起動時間を、当該起動に要した時間に基づいて更新する更新手段をさらに備える、請求項3〜5のいずれか1項に記載の画像形成装置。
  7. 前記第1および第2のプログラム実行部が前記複数のプログラムを起動するためのワークエリアをさらに備え、
    前記判断手段は、前記ワークエリアに展開されているデータに基づいて、前記必要なプログラムのすべての起動が完了しているかを判断する、請求項1〜6のいずれか1項に記載の画像形成装置。
  8. 前記第1のプログラム実行部は、前記第1のプログラム群に含まれる各プログラムを起動する前に、これから起動するプログラムの起動が完了しているかを判断し、前記起動するプログラムの起動が完了していると判断した場合に、当該起動するプログラムの起動を省略する、請求項1〜7のいずれか1項に記載の画像形成装置。
  9. 前記第2のプログラム実行部は、前記起動手段により起動されたプログラムの実行を前記第1のプログラム実行部に引き渡す手段をさらに含む、請求項1〜8のいずれか1項に記載の画像形成装置。
  10. 第1および第2のプログラム実行部を備える画像形成装置の起動処理を管理する管理プログラムであって、
    前記管理プログラムは、前記第2のプログラム実行部に、
    前記画像形成装置への起動指令に応答して、記憶された複数のプログラムのうち前記第1のプログラム実行部によって予め定められた順で実行される第1のプログラム群に含まれるプログラムとは異なる、1または複数のプログラムからなる第2のプログラム群を予め定められた順序で読み込んで起動するステップと、
    前記第2のプログラム群の起動後にユーザ操作が入力されると、当該入力されたユーザ操作に従う処理の実行に必要なプログラムを特定するとともに、前記第1のプログラム実行部により前記必要なプログラムのすべての起動が完了しているかを判断するステップと、
    前記第1のプログラム群に含まれる前記必要なプログラムのうち起動していないプログラムがあると、前記第1のプログラム群を起動する処理の進行度合いに基づいて、前記第1のプログラム実行部において前記必要なプログラムのすべての起動が完了するまでに要する第1の時間を算出するとともに、前記第2のプログラム実行部において前記必要なプログラムのうち起動していないプログラムの起動が完了するまでに要する第2の時間を算出するステップと、
    前記第2の時間が前記第1の時間に比較して短いときに、前記第1のプログラム実行部に代わって、前記第1のプログラム群に含まれる前記必要なプログラムのうち起動していないプログラムを起動するステップとを実行させる、管理プログラム。
JP2015197561A 2015-10-05 2015-10-05 画像形成装置および管理プログラム Active JP6561748B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015197561A JP6561748B2 (ja) 2015-10-05 2015-10-05 画像形成装置および管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015197561A JP6561748B2 (ja) 2015-10-05 2015-10-05 画像形成装置および管理プログラム

Publications (2)

Publication Number Publication Date
JP2017073597A JP2017073597A (ja) 2017-04-13
JP6561748B2 true JP6561748B2 (ja) 2019-08-21

Family

ID=58537930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015197561A Active JP6561748B2 (ja) 2015-10-05 2015-10-05 画像形成装置および管理プログラム

Country Status (1)

Country Link
JP (1) JP6561748B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011166564A (ja) * 2010-02-12 2011-08-25 Brother Industries Ltd 画像処理装置
JP2011232791A (ja) * 2010-04-23 2011-11-17 Seiko Epson Corp 情報処理装置、及び情報処理方法
JP2012108651A (ja) * 2010-11-16 2012-06-07 Hitachi Ltd クラスタシステム
JP2012238166A (ja) * 2011-05-11 2012-12-06 Toshiba Tec Corp 情報処理装置およびプログラム
JP5950602B2 (ja) * 2012-02-08 2016-07-13 キヤノン株式会社 画像形成装置及び画像形成装置の制御方法

Also Published As

Publication number Publication date
JP2017073597A (ja) 2017-04-13

Similar Documents

Publication Publication Date Title
JP5780769B2 (ja) データ処理装置、その制御方法およびプログラム、並びに記憶媒体
US20130042098A1 (en) Method of generating boot image for fast booting and image forming apparatus for performing the method, and method of performing fast booting and image forming apparatus for performing the method
JP5491675B2 (ja) 情報処理装置及び情報処理装置制御方法
JP6355330B2 (ja) ネットワークデバイス、ネットワークデバイスの制御方法およびそのプログラム
JP6103909B2 (ja) 画像処理装置、画像処理装置の制御方法及びプログラム
US8543677B2 (en) Communication control device, method, and computer readable medium allowing an information processing device to be in a power saving mode for an extended period and allowing an application part to continue functioning
US11296943B2 (en) Information processing apparatus, control method for information processing apparatus, and recording medium
EP2570919B1 (en) Image forming apparatus and method of upgrading firmware
US9563444B2 (en) Image forming apparatus having hibernation function according to device connection states, control method therefor, and storage medium
JP2011034267A (ja) 情報処理装置、情報処理装置の制御方法及び制御プログラム
JP6263981B2 (ja) 情報処理装置、情報処理装置の起動方法、及び、プログラム
JP6007642B2 (ja) 情報処理装置、省電力制御方法、省電力制御プログラム
JP6207295B2 (ja) 印刷装置及びその制御方法
JP6518087B2 (ja) プログラム処理装置
US20140237225A1 (en) Information processing apparatus, control method for information processing apparatus, and program
JP6561748B2 (ja) 画像形成装置および管理プログラム
JP2008155374A (ja) 画像形成装置、コンピュータプログラム、制御コンピュータ、画像形成システム
US9286117B2 (en) Image forming device including the delay of startup of non-priority tasks for a predetermined time after the startup of priority tasks are completed
JP6362326B2 (ja) 印刷装置及び印刷装置の制御方法
JP5182349B2 (ja) 情報処理装置、情報処理システム、bios設定更新方法およびプログラム
JP5083772B2 (ja) 画像形成装置、制御方法及び制御プログラム
JP2013152509A (ja) 画像処理装置
JP2015127887A (ja) 画像形成装置、その制御方法とプログラム
JP2013200602A (ja) 画像処理装置
JP4597032B2 (ja) コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180625

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190325

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190708

R150 Certificate of patent or registration of utility model

Ref document number: 6561748

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150