JP2016085499A - Image processor, program update method, and computer program - Google Patents

Image processor, program update method, and computer program Download PDF

Info

Publication number
JP2016085499A
JP2016085499A JP2014215960A JP2014215960A JP2016085499A JP 2016085499 A JP2016085499 A JP 2016085499A JP 2014215960 A JP2014215960 A JP 2014215960A JP 2014215960 A JP2014215960 A JP 2014215960A JP 2016085499 A JP2016085499 A JP 2016085499A
Authority
JP
Japan
Prior art keywords
processing unit
control program
program
overall control
core
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.)
Granted
Application number
JP2014215960A
Other languages
Japanese (ja)
Other versions
JP6464657B2 (en
Inventor
青山 素明
Motoaki Aoyama
素明 青山
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 JP2014215960A priority Critical patent/JP6464657B2/en
Publication of JP2016085499A publication Critical patent/JP2016085499A/en
Application granted granted Critical
Publication of JP6464657B2 publication Critical patent/JP6464657B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To update a program while maintaining convenience of a user more surely compared to the conventional art, in an image processor employing a multi-core CPU.SOLUTION: In an image processor constituted of a CPU 10a including a plurality of cores 1CR1 to 1CR4 and a RAM 10b shared by the cores 1CR1 to 1CR4, the first core 1CR1 executes an entire control program. When a new entire control program being an update version of the entire control program is loaded on the RAM 10b, the second core 1CR2 waits for advancement of control of a job to a routine after starting to execute the new entire control program. Then, the second core 1CR2 advances to the routine after the first core 1CR1 completes or stops processing of the control of the job.SELECTED DRAWING: Figure 3

Description

本発明は、画像処理装置のプログラムを更新する技術に関する。   The present invention relates to a technique for updating a program of an image processing apparatus.

近年、「MFP(Multi Function Peripherals)」または「画像形成装置」などと呼ばれる、多機能な画像処理装置が普及している。   In recent years, multifunctional image processing apparatuses called “MFP (Multi Function Peripherals)” or “image forming apparatuses” have become widespread.

画像処理装置は制御用のプログラム(以下、「制御プログラム」と記載する。)に基づいて動作する。制御プログラムは、しばしば、機能の改善またはバグの修正のために更新される。   The image processing apparatus operates based on a control program (hereinafter referred to as “control program”). Control programs are often updated to improve functionality or fix bugs.

従来、更新された制御プログラムを画像処理装置に適用するために、次の作業が行われる。   Conventionally, the following operations are performed in order to apply an updated control program to an image processing apparatus.

画像処理装置は、実行中のジョブがあれば、それを停止させる。または、完了するまで待つ。更新された制御プログラムを、サーバからダウンロードしまたはUSB(Universal Serial Bus)メモリなどの記録媒体から読み込むことによって取得する。この制御プログラムをインストールする。そして、再起動を必要に応じて行い、この制御プログラムをRAM(Random Access Memory)へロードして実行する。   If there is a job being executed, the image processing apparatus stops the job. Or wait until completion. The updated control program is obtained by downloading from a server or reading from a recording medium such as a USB (Universal Serial Bus) memory. Install this control program. Then, restarting is performed as necessary, and this control program is loaded into a RAM (Random Access Memory) and executed.

画像処理装置のプログラムを更新する技術として、次のような技術が提案されている。共通のオペレーションシステムが組み込まれたCPUを具備したマルチCPU構成とする装置において、CPUが使用するアプリソフトを書き換え、回路モジュールの機能を更新する。複数の回路モジュールのCPUについてアプリソフトを書き換える際には、一方の回路モジュールに一方と他方のCPUの各々が使用するアプリソフトを送付し、一方のCPUにより双方についてアプリソフトを書き換える。この際、プログラム更新を担当する一方のCPUは、共通の書換プログラムを用いて双方についてアプリソフトを書き換える、あるいは双方について時分割で書換処理することで、並行してアプリソフトを書き換えるなどする(特許文献1)。   The following techniques have been proposed as techniques for updating the program of the image processing apparatus. In an apparatus having a multi-CPU configuration including a CPU in which a common operation system is incorporated, application software used by the CPU is rewritten to update the function of the circuit module. When rewriting application software for CPUs of a plurality of circuit modules, application software used by one and the other CPU is sent to one circuit module, and the application software is rewritten for both by one CPU. At this time, one CPU in charge of updating the program rewrites the application software for both using a common rewriting program, or rewrites the application software in parallel by performing time-sharing rewrite processing for both (patent) Reference 1).

または、他の発明に係る画像形成装置は、画像形成部、操作部、メインCPU、複数のサブCPUを備える。メインCPUは、機能IDに対応する使用サブCPU情報を取得し、サブCPUファームウェア更新状態テーブルのサブCPU状態と照合する。メインCPUは、機能IDのプリントモードに対応するサブCPUに関してファームウェア更新中か否かを判定し、ファームウェア更新中の場合は、操作部の画面上の該当プリントモード選択ボタンを無効化する(特許文献2)。   Alternatively, an image forming apparatus according to another invention includes an image forming unit, an operation unit, a main CPU, and a plurality of sub CPUs. The main CPU acquires the used sub CPU information corresponding to the function ID, and collates it with the sub CPU status in the sub CPU firmware update status table. The main CPU determines whether the firmware is being updated for the sub CPU corresponding to the print mode of the function ID. If the firmware is being updated, the corresponding print mode selection button on the screen of the operation unit is invalidated (Patent Literature). 2).

または、他の発明に係る画像形成装置は、互いに独立して動作する複数のモジュールと、モジュールの各々に備えられ当該モジュールで動作するソフトウェアが格納されたフラッシュROMを備えている。モジュールのいずれかでソフトウェアの更新が行われている際、ジョブを受け付けると、メインCPUは当該ジョブで用いるモジュールがソフトウェアの更新中であるか否かを判定する。そして、ジョブで用いるモジュールがソフトウェアの更新中であると判定すると、メインCPUはソフトウェアの更新が終了するまで、ジョブの実行を待機する(特許文献3)。   Alternatively, an image forming apparatus according to another invention includes a plurality of modules that operate independently from each other, and a flash ROM that is provided in each of the modules and stores software that operates in the modules. When a job is received when software is being updated in any of the modules, the main CPU determines whether the module used in the job is being updated. If it is determined that the module used in the job is updating software, the main CPU waits for execution of the job until the software update is completed (Patent Document 3).

特開2004−94301号公報JP 2004-94301 A 特開2013−109476号公報JP 2013-109476 A 特開2013−97515号公報JP2013-97515A

ところで、近年、マルチコアのCPU(Central Processing Unit)が普及している。画像処理装置においても、今後、マルチコアのCPUが普及すると考えられる。   Incidentally, in recent years, multi-core CPUs (Central Processing Units) have become widespread. In the image processing apparatus, it is considered that multi-core CPUs will become widespread in the future.

そこで、マルチコアのCPUを採用する画像処理装置における制御プログラムの更新を、ユーザの利便性をできるだけ損なうことなく行うことが求められる。   Therefore, it is required to update the control program in an image processing apparatus employing a multi-core CPU without losing the convenience of the user as much as possible.

特許文献1、2に記載される方法では、CPUそのものを複数備える画像処理装置においては一定の効果があるかもしれない。しかし、マルチコアのCPUを備える画像処理装置においては、効果が得られない。   The methods described in Patent Documents 1 and 2 may have a certain effect in an image processing apparatus including a plurality of CPUs themselves. However, the effect cannot be obtained in an image processing apparatus including a multi-core CPU.

特許文献3に記載される方法では、ダウンタイムが少なからず発生する。そこで、ユーザの利便性をさらに高めることが求められる。   In the method described in Patent Document 3, downtime is not small. Therefore, it is required to further improve user convenience.

本発明は、このような背景に鑑み、マルチコアのCPUを採用する画像処理装置においてユーザの利便性を従来よりも確実に保ちつつプログラムを更新できるようにすることを、目的とする。   In view of such a background, an object of the present invention is to make it possible to update a program in an image processing apparatus employing a multi-core CPU while maintaining the convenience of the user more reliably than in the past.

本発明の一形態に係る画像処理装置は、1つまたは複数のコアをそれぞれに含む第一の処理ユニットおよび第二の処理ユニットを有しかつ当該第一の処理ユニットおよび当該第二の処理ユニットそれぞれが異なるプログラムを実行するように構成されたプロセッサと、前記第一の処理ユニットおよび前記第二の処理ユニットによって共有され、特定の処理を行うための第一のプログラムが記憶されるメモリと、を有し、前記第一の処理ユニットは、前記第一のプログラムを実行し、前記メモリは、前記第一のプログラムのアップデート版である第二のプログラムを記憶し、前記第二の処理ユニットは、前記第二のプログラムを実行し始めた後、前記特定の処理のルーチンへ進むのを待機し、前記第一の処理ユニットが前記特定の処理を完了しまたは停止した後、前記ルーチンへ進む。   An image processing apparatus according to an aspect of the present invention includes a first processing unit and a second processing unit each including one or a plurality of cores, and the first processing unit and the second processing unit. A processor each configured to execute a different program, a memory shared by the first processing unit and the second processing unit and storing a first program for performing a specific process; The first processing unit executes the first program, the memory stores a second program that is an updated version of the first program, and the second processing unit After starting to execute the second program, it waits to proceed to the routine of the specific process, and the first processing unit completes the specific process. After the other is stopped, the process proceeds to the routine.

好ましくは、前記第一の処理ユニットは、前記第二の処理ユニットが前記ルーチンへ進んだ後、前記第一のプログラムを終了する。   Preferably, the first processing unit ends the first program after the second processing unit proceeds to the routine.

または、前記第一の処理ユニットは、前記第二の処理ユニットが前記ルーチンへ進んだ後、前記ルーチンから抜け、前記ルーチンへ再び進むのを待機し、前記第二の処理ユニットが前記特定の処理を正常に行えなかった場合に、前記ルーチンへ再び進む。   Alternatively, the first processing unit waits for the second processing unit to exit from the routine after proceeding to the routine and proceed to the routine again, and the second processing unit waits for the specific processing. If the process cannot be performed normally, the routine proceeds again.

前記特定の処理は、画像の入出力を伴うジョブ(例えば、コピー、スキャン、プリント、ファックス送信、ファックス受信などのジョブ)を制御する処理である。   The specific process is a process for controlling a job (for example, a job for copying, scanning, printing, sending a fax, receiving a fax, etc.) accompanied with input / output of an image.

本発明によると、マルチコアのCPUを採用する画像処理装置においてユーザの利便性を従来よりも確実に保ってプログラムを更新することができる。   According to the present invention, it is possible to update a program in an image processing apparatus that employs a multi-core CPU while maintaining the convenience of the user more reliably than before.

画像処理システムの全体的な構成の例を示す図である。It is a figure which shows the example of the whole structure of an image processing system. 画像処理装置のハードウェア構成の例を示す図である。It is a figure which shows the example of the hardware constitutions of an image processing apparatus. CPUの構成およびRAMの割当ての例を示す図である。It is a figure which shows the example of a structure of CPU, and allocation of RAM. 画像処理装置にインストールされるプログラムの例を示す図である。It is a figure which shows the example of the program installed in an image processing apparatus. 全体制御プログラムによって実現される機能的構成の例を示す図である。It is a figure which shows the example of a functional structure implement | achieved by the whole control program. 実行待ちまたは実行中のジョブの遷移の例を示す図である。FIG. 6 is a diagram illustrating an example of a transition of a job waiting for execution or being executed. 全体制御プログラムによる全体的な処理の流れの例を説明するフローチャートである。It is a flowchart explaining the example of the flow of the whole process by a whole control program. 全体制御プログラムによって実現される機能的構成の例を示す図である。It is a figure which shows the example of a functional structure implement | achieved by the whole control program. 全体制御プログラムによる全体的な処理の流れの例を説明するフローチャートである。It is a flowchart explaining the example of the flow of the whole process by a whole control program. 通常モードの処理の流れの例を説明するフローチャートである。It is a flowchart explaining the example of the flow of a process of normal mode. 更新処理の流れの例を説明するフローチャートである。It is a flowchart explaining the example of the flow of an update process. リカバリモードの処理の流れの例を説明するフローチャートである。It is a flowchart explaining the example of the flow of a process of recovery mode. CPUの構成の変形例を示す図である。It is a figure which shows the modification of a structure of CPU.

〔第一の実施形態〕
図1は、画像処理システム3の全体的な構成の例を示す図である。図2は、画像処理装置1のハードウェア構成の例を示す図である。図3は、CPU10aの構成およびRAM10bの割当ての例を示す図である。図4は、画像処理装置1にインストールされるプログラムの例を示す図である。図5は、全体制御プログラム1PAによって実現される機能的構成の例を示す図である。図6は、実行待ちまたは実行中のジョブの遷移の例を示す図である。
[First embodiment]
FIG. 1 is a diagram illustrating an example of the overall configuration of the image processing system 3. FIG. 2 is a diagram illustrating an example of a hardware configuration of the image processing apparatus 1. FIG. 3 is a diagram illustrating an example of the configuration of the CPU 10a and the allocation of the RAM 10b. FIG. 4 is a diagram illustrating an example of a program installed in the image processing apparatus 1. FIG. 5 is a diagram illustrating an example of a functional configuration realized by the overall control program 1PA. FIG. 6 is a diagram illustrating an example of a transition of a job waiting for execution or being executed.

画像処理システム3は、画像に関する種々の処理を実行するシステムであって、図1に示すように、画像処理装置1、サーバ21、端末装置22、および通信回線28などによって構成される。   The image processing system 3 is a system that executes various processes related to images, and includes an image processing device 1, a server 21, a terminal device 22, a communication line 28, and the like as shown in FIG.

サーバ21と端末装置22とは、通信回線28を介して通信を行うことができる。通信回線28として、公衆回線、いわゆるLAN(Local Area Network)回線、インターネット、または専用線などが用いられる。   The server 21 and the terminal device 22 can communicate with each other via the communication line 28. As the communication line 28, a public line, a so-called LAN (Local Area Network) line, the Internet, a dedicated line, or the like is used.

画像処理装置1は、コピー、プリント、ファックス、およびスキャナなどの機能を集約した装置である。一般に、「画像形成装置」、「複合機」、または「MFP(Multi Function Peripheral)」などと呼ばれることがある。   The image processing apparatus 1 is an apparatus that integrates functions such as copy, print, fax, and scanner. Generally, it is sometimes called “image forming apparatus”, “multifunction machine”, or “MFP (Multi Function Peripheral)”.

画像処理装置1は、図2に示すように、CPU(Central Processing Unit)10a、RAM(Random Access Memory)10b、ROM(Read Only Memory)10c、大容量記憶装置10d、電源供給部10e、画像処理部10f、タッチパネルディスプレイ10g、操作キーパネル10h、UART(Universal Asynchronous Receiver Transmitter)10i、NIC(Network Interface Card)10j、ファックス通信ユニット10k、USB(Universal Serial Bus)通信部10m、スキャンユニット10n、およびプリントユニット10pなどによって構成される。   As shown in FIG. 2, the image processing apparatus 1 includes a CPU (Central Processing Unit) 10a, a RAM (Random Access Memory) 10b, a ROM (Read Only Memory) 10c, a mass storage device 10d, a power supply unit 10e, an image process Unit 10f, touch panel display 10g, operation key panel 10h, UART (Universal Asynchronous Receiver Transmitter) 10i, NIC (Network Interface Card) 10j, fax communication unit 10k, USB (Universal Serial Bus) communication unit 10m, scan unit 10n, and print unit 10p or the like.

電源供給部10eは、画像処理装置1の各ハードウェアモジュールに対して電力を供給する。   The power supply unit 10 e supplies power to each hardware module of the image processing apparatus 1.

画像処理部10fは、入力された画像または印刷の対象の画像に対して種々の画像処理を施す。   The image processing unit 10f performs various image processes on the input image or the image to be printed.

タッチパネルディスプレイ10gは、ユーザに対するメッセージを示す画面、ユーザがコマンドまたは情報を入力するための画面、およびCPU10aが実行した処理の結果を示す画面などを表示する。また、タッチパネルディスプレイ10gは、タッチされた位置を示す信号をCPU10aへ送る。   The touch panel display 10g displays a screen showing a message for the user, a screen for the user to input a command or information, a screen showing a result of processing executed by the CPU 10a, and the like. The touch panel display 10g sends a signal indicating the touched position to the CPU 10a.

操作キーパネル10hは、いわゆるハードウェアキーボードであって、テンキー、スタートキー、ストップキー、およびファンクションキーなどによって構成される。   The operation key panel 10h is a so-called hardware keyboard, and includes a numeric keypad, a start key, a stop key, a function key, and the like.

UART10iは、シリアル信号をパラレル信号に変換し、または、その逆方向に変換する。   The UART 10i converts a serial signal into a parallel signal or in the opposite direction.

NIC10jは、TCP/IP(Transmission Control Protocol/Internet Protocol)などのプロトコルでサーバ21または端末装置22との間で通信を行う。   The NIC 10j communicates with the server 21 or the terminal device 22 using a protocol such as TCP / IP (Transmission Control Protocol / Internet Protocol).

ファックス通信ユニット10kは、モデムおよびNCU(Network Control Unit)などによって構成され、ファクシミリ端末との間でG3などのプロトコルでファックスデータをやり取りする。   The fax communication unit 10k includes a modem and an NCU (Network Control Unit), and exchanges fax data with a facsimile terminal using a protocol such as G3.

USB通信部10mは、USBメモリまたは外付ハードディスクドライブなどの周辺機器とUSBケーブルを介して接続され、データのやり取りを行う。   The USB communication unit 10m is connected to peripheral devices such as a USB memory or an external hard disk drive via a USB cable, and exchanges data.

スキャンユニット10nは、プラテンガラスの上にセットされた用紙に記されている画像を読み取って画像データを生成する。   The scan unit 10n reads the image written on the paper set on the platen glass and generates image data.

プリントユニット10pは、スキャンユニット10nによって読み取られた画像のほか、NIC10j、ファックス通信ユニット10k、またはUSB通信部10mによって他の装置から取得した画像を用紙に印刷する。   In addition to the image read by the scan unit 10n, the print unit 10p prints an image acquired from another device by the NIC 10j, the fax communication unit 10k, or the USB communication unit 10m on a sheet.

CPU10aは、複数のコアを有するマルチコアCPUである。本実施形態では、CPU10aとして、図3に示すような、4つのコア1CRを有するクアッドコアが用いられる。以下、それぞれのコア1CRを「第一のコア1CR1」、「第二のコア1CR2」、…、「第四のコア1CR4」と区別して記載することがある。また、CPU10aは、SMP(Symmetric Multiprocessing)ではなくAMP(Asymmetric Multiprocessing)の方式で動作し、4つのコア1CRそれぞれが別々のプログラムを実行する。   The CPU 10a is a multi-core CPU having a plurality of cores. In the present embodiment, a quad core having four cores 1CR as shown in FIG. 3 is used as the CPU 10a. Hereinafter, each of the cores 1CR may be described separately as “first core 1CR1”, “second core 1CR2”,..., “Fourth core 1CR4”. Further, the CPU 10a operates in an AMP (Asymmetric Multiprocessing) system instead of SMP (Symmetric Multiprocessing), and each of the four cores 1CR executes a separate program.

ROM10cまたは大容量記憶装置10dには、全体制御プログラム1PA、ディスプレイ制御プログラム1PB、スキャナ制御プログラム1PC、プリンタ制御プログラム1PD、ファックス通信制御プログラム1PE、ストレージ制御プログラム1PF、IP通信制御プログラム1PG、およびUSB制御プログラム1PHなどのプログラムがインストールされている。   The ROM 10c or the mass storage device 10d includes an overall control program 1PA, a display control program 1PB, a scanner control program 1PC, a printer control program 1PD, a fax communication control program 1PE, a storage control program 1PF, an IP communication control program 1PG, and a USB control. A program such as program 1PH is installed.

全体制御プログラム1PAは、画像処理装置1の全体的な制御、例えば、ジョブの実行に関する全体的な制御を行う。つまり、全体制御プログラム1PAは、MFP制御プログラムである。   The overall control program 1PA performs overall control of the image processing apparatus 1, for example, overall control related to job execution. That is, the overall control program 1PA is an MFP control program.

つまり、ディスプレイ制御プログラム1PBは、画像が表示されるようにタッチパネルディスプレイ10gを制御するプログラムである。   That is, the display control program 1PB is a program that controls the touch panel display 10g so that an image is displayed.

スキャナ制御プログラム1PCは、用紙から画像を読み取るようにスキャンユニット10nを制御するプログラムである。   The scanner control program 1PC is a program for controlling the scan unit 10n so as to read an image from a sheet.

プリンタ制御プログラム1PDは、画像が用紙に印刷されるようにプリントユニット10pを制御するプログラムである。   The printer control program 1PD is a program for controlling the print unit 10p so that an image is printed on paper.

ファックス通信制御プログラム1PEは、ファックスデータをファックス端末とやり取りするようにファックス通信ユニット10kを制御するプログラムである。   The fax communication control program 1PE is a program that controls the fax communication unit 10k to exchange fax data with a fax terminal.

ストレージ制御プログラム1PFは、データを保存したり、読み出したり、更新したり、削除したりするように大容量記憶装置10dを制御するプログラムである。   The storage control program 1PF is a program that controls the mass storage device 10d so as to save, read, update, and delete data.

IP通信制御プログラム1PGは、いわゆるIP通信を行うようにNIC10jを制御するプログラムである。   The IP communication control program 1PG is a program that controls the NIC 10j so as to perform so-called IP communication.

このように、ディスプレイ制御プログラム1PB、スキャナ制御プログラム1PC、およびプリンタ制御プログラム1PD、ファックス通信制御プログラム1PE、ストレージ制御プログラム1PF、IP通信制御プログラム1PG、およびUSB制御プログラム1PHは、ハードウェアを制御するためのドライバである。   Thus, the display control program 1PB, the scanner control program 1PC, the printer control program 1PD, the fax communication control program 1PE, the storage control program 1PF, the IP communication control program 1PG, and the USB control program 1PH are for controlling the hardware. It is a driver.

そのほか、様々なドライバがROM10cまたは大容量記憶装置10dにインストールされている。また、ユーザ認証用のプログラムなどもインストールされている。   In addition, various drivers are installed in the ROM 10c or the mass storage device 10d. A user authentication program is also installed.

これらのプログラムは、必要に応じてRAM10bにロード(展開)される。そして、予め決められたいずれかのコア1CRによって実行される。   These programs are loaded (expanded) in the RAM 10b as necessary. And it is executed by one of the predetermined cores 1CR.

例えば、全体制御プログラム1PAが第一のコア1CR1によって実行され、ディスプレイ制御プログラム1PBが第三のコア1CR3によって実行され、スキャナ制御プログラム1PC、プリンタ制御プログラム1PD、ファックス通信制御プログラム1PE、ストレージ制御プログラム1PF、NIC制御プログラム1PG、およびUSB制御プログラム1PHが第四のコア1CR4によって実行される。   For example, the overall control program 1PA is executed by the first core 1CR1, the display control program 1PB is executed by the third core 1CR3, the scanner control program 1PC, the printer control program 1PD, the fax communication control program 1PE, and the storage control program 1PF. The NIC control program 1PG and the USB control program 1PH are executed by the fourth core 1CR4.

このように、RAM10bは、4つのコア1CRによって共有される。したがって、RAM10bは共有メモリであると言える。   Thus, the RAM 10b is shared by the four cores 1CR. Therefore, it can be said that the RAM 10b is a shared memory.

ところで、一般に、MFPのメーカは、種々のプログラムを適宜、アップデートし、MFPへ適用する。画像処理装置1の各プログラムも同様に、適宜、アップデートされる。そして、画像処理装置1へ提供され適用される。   By the way, generally, the manufacturer of the MFP updates various programs as appropriate and applies them to the MFP. Similarly, each program of the image processing apparatus 1 is appropriately updated. Then, it is provided and applied to the image processing apparatus 1.

サーバ21は、上述の各プログラムの最新版を公開し、画像処理装置1からの要求に応じて配付する。サーバ21として、ウェブサーバが用いられる。   The server 21 releases the latest version of each program described above and distributes it in response to a request from the image processing apparatus 1. A web server is used as the server 21.

端末装置22は、画像処理装置1のサービスを受けるクライアントである。端末装置22として、パーソナルコンピュータ、スマートフォン、またはタブレットコンピュータなどが用いられる。   The terminal device 22 is a client that receives the service of the image processing apparatus 1. As the terminal device 22, a personal computer, a smartphone, a tablet computer, or the like is used.

以下、全体制御プログラム1PAをアップデートして画像処理装置1へ適用する仕組みについて、説明する。   Hereinafter, a mechanism for updating the overall control program 1PA and applying it to the image processing apparatus 1 will be described.

全体制御プログラム1PAによると、図5に示すジョブ制御部101および更新処理部102などの機能が実現される。   According to the overall control program 1PA, functions such as the job control unit 101 and the update processing unit 102 shown in FIG. 5 are realized.

ジョブ制御部101は、外部からの入力に従ってジョブを生成し、キューに登録する。そして、登録順および各ハードウェアの稼働の状況などに応じて、各ドライバによって各ジョブを実行する。   The job control unit 101 generates a job according to an external input and registers it in the queue. Then, each job is executed by each driver according to the order of registration and the operating status of each hardware.

例えば、ユーザが原稿の用紙をセットしコピーのコマンド(指令)を入力した場合は、コピージョブを生成し、キューに登録する。そして、このコピージョブの順番が訪れると、このコピージョブの実行を開始する。   For example, when the user sets original paper and inputs a copy command (command), a copy job is generated and registered in the queue. When the order of this copy job comes, execution of this copy job is started.

具体的には、ジョブ制御部101は、この用紙から画像を読み取る処理を、スキャナ制御プログラム1PCによってスキャンユニット10nに実行させる。読み取られた画像の画像データを所定のフォーマットに変換して一時的にRAM10bに記憶させる。そして、この画像データに基づいてこの画像を印刷する処理を、プリンタ制御プログラム1PDによってプリントユニット10pに実行させる。   Specifically, the job control unit 101 causes the scan unit 10n to execute a process of reading an image from the sheet by the scanner control program 1PC. The image data of the read image is converted into a predetermined format and temporarily stored in the RAM 10b. Then, the print unit 10p is caused to execute a process for printing this image based on the image data by the printer control program 1PD.

なお、スキャナ制御プログラム1PCおよびプリンタ制御プログラム1PDは、上述の通り、予め決められたコア1CRによって実行される。後述する各ドライバも、同様である。   The scanner control program 1PC and the printer control program 1PD are executed by the predetermined core 1CR as described above. The same applies to each driver described later.

または、ユーザが原稿の用紙をセットしスキャンのコマンドおよび保存先を入力した場合は、ジョブ制御部101は、スキャンジョブを生成し、キューに登録する。そして、このスキャンジョブの順番が訪れると、このスキャンジョブの実行を開始する。   Alternatively, when the user sets a document sheet and inputs a scan command and a storage destination, the job control unit 101 generates a scan job and registers it in the queue. Then, when the order of this scan job comes, execution of this scan job is started.

具体的には、ジョブ制御部101は、この用紙から画像を読み取る処理を、スキャナ制御プログラム1PCによってスキャンユニット10nに実行させる。読み取られた画像の画像データを所定のフォーマットに変換して一時的にRAM10bに記憶させる。そして、この画像データをユーザが指定した保存先に保存する処理を実行させる。大容量記憶装置10dの中の特定のフォルダが保存先として指定された場合は、このフォルダにこの画像データを保存する処理をストレージ制御プログラム1PFによって大容量記憶装置10dに実行させる。または、画像処理装置1に繋げられたリムーバブルディスクの中の特定のフォルダが保存先として指定された場合は、このフォルダにこの画像データを保存する処理をUSB制御プログラム1PHによってUSB通信部10mに実行させる。または、通信回線28を介して画像処理装置1に接続される外部の装置の中の特定のフォルダが保存先として指定された場合は、このフォルダへこの画像データを送信する処理をIP通信制御プログラム1PGによってNIC10jに実行させる。   Specifically, the job control unit 101 causes the scan unit 10n to execute a process of reading an image from the sheet by the scanner control program 1PC. The image data of the read image is converted into a predetermined format and temporarily stored in the RAM 10b. And the process which preserve | saves this image data in the preservation | save destination designated by the user is performed. When a specific folder in the large-capacity storage device 10d is designated as a storage destination, the storage control program 1PF causes the large-capacity storage device 10d to execute processing for storing the image data in this folder. Alternatively, when a specific folder in the removable disk connected to the image processing apparatus 1 is designated as the storage destination, the USB communication program 10PH executes the process of storing this image data in this folder by the USB control program 1PH. Let Alternatively, when a specific folder in an external apparatus connected to the image processing apparatus 1 via the communication line 28 is designated as a storage destination, a process for transmitting this image data to this folder is performed as an IP communication control program. The NIC 10j is executed by 1PG.

または、ユーザが原稿の用紙をセットしファックスによる送信のコマンドおよび電話番号を入力した場合は、ジョブ制御部101は、ファックス送信ジョブを生成し、キューに登録する。そして、このファックス送信ジョブの順番が訪れると、このファックス送信ジョブの実行を開始する。   Alternatively, when the user sets a document sheet and inputs a fax transmission command and a telephone number, the job control unit 101 generates a fax transmission job and registers it in the queue. When the order of this fax transmission job comes, execution of this fax transmission job is started.

具体的には、ジョブ制御部101は、この用紙から画像を読み取る処理を、スキャナ制御プログラム1PCによってスキャンユニット10nに実行させる。読み取られた画像の画像データを所定のフォーマットに変換して一時的にRAM10bに記憶させる。そして、ユーザが指定した電話番号にダイアルしてこの画像データを送信する処理をファックス通信制御プログラム1PEによってファックス通信ユニット10kに実行させる。   Specifically, the job control unit 101 causes the scan unit 10n to execute a process of reading an image from the sheet by the scanner control program 1PC. The image data of the read image is converted into a predetermined format and temporarily stored in the RAM 10b. Then, the facsimile communication control program 1PE causes the fax communication unit 10k to execute processing for dialing the telephone number designated by the user and transmitting the image data.

または、PDL(Page Description Language)で記述された印刷データおよびプリントのコマンドが端末装置22から送信されてきた場合は、ジョブ制御部101は、プリントジョブを生成し、キューに登録する。また、この印刷データをRAM10bに一時的に記憶させておく。そして、このプリントジョブの順番が訪れると、このプリントジョブの実行を開始する。   Alternatively, when print data and a print command described in PDL (Page Description Language) are transmitted from the terminal device 22, the job control unit 101 generates a print job and registers it in the queue. The print data is temporarily stored in the RAM 10b. When the order of this print job comes, execution of this print job is started.

具体的には、ジョブ制御部101は、この印刷データに基づいて画像を印刷する処理を、プリンタ制御プログラム1PDによってプリントユニット10pに実行させる。   Specifically, the job control unit 101 causes the print unit 10p to execute a process for printing an image based on the print data using the printer control program 1PD.

または、ファックスデータがファックス端末から送信されてきた場合は、ジョブ制御部101は、ファックス受信ジョブを生成し、キューに登録する。さらに、このファックスデータをRAM10bに一時的に記憶させておく。そして、このファックス受信ジョブの順番が訪れると、このファックス受信ジョブの実行を開始する。   Alternatively, when fax data is transmitted from the fax terminal, the job control unit 101 generates a fax reception job and registers it in the queue. Further, this fax data is temporarily stored in the RAM 10b. When the order of the fax reception job comes, execution of the fax reception job is started.

具体的には、ジョブ制御部101は、このファックスデータに基づいて画像を印刷する処理を、プリンタ制御プログラム1PDによってプリントユニット10pに実行させる。   Specifically, the job control unit 101 causes the print unit 10p to execute a process for printing an image based on the fax data using the printer control program 1PD.

なお、大容量記憶装置10dが仮想メモリとして使用されるときは、上記の各データがRAM10bの代わりに大容量記憶装置10dに記憶される場合がある。この場合は、ストレージ制御プログラム1PFによって大容量記憶装置10dが制御される。   When the large-capacity storage device 10d is used as a virtual memory, each of the above data may be stored in the large-capacity storage device 10d instead of the RAM 10b. In this case, the mass storage device 10d is controlled by the storage control program 1PF.

また、ハードウェアの稼働の状況によって、複数のジョブが並行して実行されることがある。例えば、コピージョブとスキャンジョブとが連続して並んでおり、コピージョブの開始後、原稿の画像の読取りのフェーズが終わったら、スキャンジョブが並行して実行される。   In addition, a plurality of jobs may be executed in parallel depending on the status of hardware operation. For example, a copy job and a scan job are arranged side by side, and after the start of the copy job, when the document image reading phase ends, the scan job is executed in parallel.

更新処理部102は、画像処理装置1において現在実行している全体制御プログラム1PAを、アップデートされたものに更新する処理を行う。   The update processing unit 102 performs a process of updating the overall control program 1PA currently executed in the image processing apparatus 1 to an updated one.

以下、画像処理装置1の全体制御プログラム1PAを、旧全体制御プログラム1PA1から新全体制御プログラム1PA2に切り換える場合を例に説明する。   Hereinafter, a case where the overall control program 1PA of the image processing apparatus 1 is switched from the old overall control program 1PA1 to the new overall control program 1PA2 will be described as an example.

旧全体制御プログラム1PA1は、第一のコア1CR1によって実行されている。他のプログラムは、第三のコア1CR3または第四のコア1CR4のいずれかによって実行されている。   The old overall control program 1PA1 is executed by the first core 1CR1. The other program is executed by either the third core 1CR3 or the fourth core 1CR4.

第二のコア1CR2は、何もプログラムを実行しておらず、新全体制御プログラム1PA2を実行させるために待機させられている。   The second core 1CR2 is not executing any program and is placed on standby to execute the new overall control program 1PA2.

更新処理部102は、ダウンロード処理部121、新プログラム起動部122、切換可否判別部123、および待機解除指令部124などによって構成される。以下に説明する各部による処理は、適宜、各ドライバ(特に、ストレージ制御プログラム1PFおよびNIC制御プログラム1PG)に基づいて第三のコア1CR3または第四のコア1CR4と連携して実行される。   The update processing unit 102 includes a download processing unit 121, a new program starting unit 122, a switchability determination unit 123, a standby release command unit 124, and the like. The processing by each unit described below is appropriately executed in cooperation with the third core 1CR3 or the fourth core 1CR4 based on each driver (particularly, the storage control program 1PF and the NIC control program 1PG).

ダウンロード処理部121は、アップデートされた全体制御プログラム1PAがサーバ21において公開されているか否かを定期的にチェックし、公開されていれば、これをダウンロードする。ダウンロードされた全体制御プログラム1PA(本例では、新全体制御プログラム1PA2)は、ROM10cまたは大容量記憶装置10dに記憶される。   The download processing unit 121 periodically checks whether or not the updated overall control program 1PA is published on the server 21, and if it is published, downloads it. The downloaded overall control program 1PA (in this example, the new overall control program 1PA2) is stored in the ROM 10c or the mass storage device 10d.

新プログラム起動部122は、新全体制御プログラム1PA2をRAM10bにロードし、第二のコア1CR2に実行させる。これにより、新全体制御プログラム1PA2が起動する。   The new program activation unit 122 loads the new overall control program 1PA2 into the RAM 10b and causes the second core 1CR2 to execute it. As a result, the new overall control program 1PA2 is started.

新全体制御プログラム1PA2は、旧全体制御プログラム1PA1がアップデートされたものである。つまり、機能の向上またはバグの修正がなされている。よって、旧全体制御プログラム1PA1とは内容が異なる。しかし、基本的な役割は旧全体制御プログラム1PA1と同じであり、図5に示す通りである。   The new overall control program 1PA2 is an update of the old overall control program 1PA1. In other words, features have been improved or bugs have been fixed. Therefore, the contents are different from the old overall control program 1PA1. However, the basic role is the same as that of the old overall control program 1PA1, as shown in FIG.

新全体制御プログラム1PA2は、起動後、ジョブの制御を開始するのを待機する。第二のコア1CR2は、第一のコア1CR1から待機の解除のコマンドを受け付けるまで待機する。   The new overall control program 1PA2 stands by after starting to control the job. The second core 1CR2 stands by until a standby release command is received from the first core 1CR1.

切換可否判別部123は、全体制御プログラム1PAを旧全体制御プログラム1PA1から新全体制御プログラム1PA2へ切り換えてよいか否かを次のように判別する。   The switchability determination unit 123 determines whether or not the overall control program 1PA can be switched from the old overall control program 1PA1 to the new overall control program 1PA2.

切換可否判別部123は、ジョブ制御部101によって管理されるジョブごとの状況をチェックする。そして、実行中のジョブが1つもない状態であれば、切り換えてはいけないと判別する。   The switchability determination unit 123 checks the status of each job managed by the job control unit 101. If there is no job being executed, it is determined that switching is not allowed.

例えば、図6(A)に示すように、コピージョブを現在実行している最中である場合は、切換可否判別部123は、切り換えてはいけないと判別する。   For example, as shown in FIG. 6A, when a copy job is currently being executed, the switchability determination unit 123 determines that switching is not allowed.

その後、図6(B)に示すように、このコピージョブが完了するまでに、1つのファックス受信ジョブおよび2つのプリントジョブが新たに生成され、このファックス受信ジョブが並行して実行されている場合も、切換可否判別部123は、切り換えてはいけないと判別する。   Thereafter, as shown in FIG. 6B, one fax reception job and two print jobs are newly generated until the copy job is completed, and the fax reception job is executed in parallel. In addition, the switchability determination unit 123 determines that switching should not be performed.

そして、図6(C)に示すように、このコピージョブおよびこのファックス受信ジョブが完了した後、未実行のジョブがすべて待機している間、切換可否判別部123は、切り換えてもよいと判別する。   Then, as shown in FIG. 6C, after this copy job and this fax reception job are completed, the switchability determination unit 123 determines that switching may be performed while all unexecuted jobs are waiting. To do.

その後、図6(D)に示すように、いずれかのジョブが実行されている場合は、切換可否判別部123は、切り換えてはいけないと判別する。しかし、このジョブが完了した後、未実行のジョブがすべて待機している間、切換可否判別部123は、切り換えてもよいと判別する。   Thereafter, as shown in FIG. 6D, when any job is being executed, the switchability determination unit 123 determines that switching is not allowed. However, while all the unexecuted jobs are waiting after the completion of this job, the switchability determination unit 123 determines that switching is allowed.

また、図6(E)に示すように、実行中のジョブも待機しているジョブも1つもない場合に、切換可否判別部123は、切り換えてもよいと判別する。   In addition, as shown in FIG. 6E, when there is no job being executed and no job is waiting, the switchability determination unit 123 determines that switching is allowed.

待機解除指令部124は、切り換えてもよいと切換可否判別部123によって判別されると、待機の解除のコマンドを第二のコア1CR2に対して与えるとともに、旧全体制御プログラム1PA1を終了させる。   When it is determined by the switchability determination unit 123 that the standby cancellation command unit 124 may switch, the standby cancellation command unit 124 gives a standby cancellation command to the second core 1CR2 and ends the old overall control program 1PA1.

なお、このコマンドはRAM10bを介してやり取りすればよい。すなわち、第一のコア1CR1は、RAM10bの特定のアドレスに特定の値を書き込む。そして、第二のコア1CR2は、新全体制御プログラム1PA2に基づいて、定期的にこのアドレスの値をチェックすることによって、このコマンドを検知する。後述する他のコマンドも同様に、2つのコア1CR間で、RAM10bを介してやり取りされる。RAM10bの代わりに大容量記憶装置10dに記憶されている特定のファイルを用いてもよい。   This command may be exchanged via the RAM 10b. That is, the first core 1CR1 writes a specific value at a specific address in the RAM 10b. Then, the second core 1CR2 detects this command by periodically checking the value of this address based on the new overall control program 1PA2. Similarly, other commands to be described later are exchanged between the two cores 1CR via the RAM 10b. A specific file stored in the mass storage device 10d may be used instead of the RAM 10b.

第二のコア1CR2は、このコマンドが与えられると、待機を止め、新全体制御プログラム1PA2に基づいて、ジョブ制御部101および更新処理部102を開始する。   When this command is given, the second core 1CR2 stops waiting and starts the job control unit 101 and the update processing unit 102 based on the new overall control program 1PA2.

キューの情報および待機中のジョブのデータが記憶される場所は、全体制御プログラム1PAの全バージョンで共通化されている。これにより、旧全体制御プログラム1PA1によるジョブ制御部101のキューを、新全体制御プログラム1PA2による更新処理部102へ引き継ぐことができる。   The location where queue information and waiting job data are stored is shared by all versions of the overall control program 1PA. Thus, the queue of the job control unit 101 based on the old overall control program 1PA1 can be taken over to the update processing unit 102 based on the new overall control program 1PA2.

このようにして、ジョブ制御部101および更新処理部102が、旧全体制御プログラム1PA1および第一のコア1CR1から新全体制御プログラム1PA2および第二のコア1CR2へ引き継がれる。   In this way, the job control unit 101 and the update processing unit 102 are handed over from the old overall control program 1PA1 and the first core 1CR1 to the new overall control program 1PA2 and the second core 1CR2.

図7は、全体制御プログラム1PAによる全体的な処理の流れの例を説明するフローチャートである。   FIG. 7 is a flowchart for explaining an example of the overall processing flow by the overall control program 1PA.

次に、旧全体制御プログラム1PA1から新全体制御プログラム1PA2へ切り換える場合を例に、画像処理装置1における全体制御プログラム1PAを更新する際の全体的な処理の流れを、フローチャートを参照しながら説明する。   Next, an example of switching from the old overall control program 1PA1 to the new overall control program 1PA2 will be described with reference to the flowchart for the overall processing flow when the overall control program 1PA in the image processing apparatus 1 is updated. .

旧全体制御プログラム1PA1も新全体制御プログラム1PA2も、基本的な処理の流れは同じであり、図7に示す通りである。   The old overall control program 1PA1 and the new overall control program 1PA2 have the same basic processing flow as shown in FIG.

画像処理装置1の電源がオンになりまたはリセットされると、第一のコア1CR1は、現時点で画像処理装置1にインストールされている全体制御プログラム1PAを起動する。ここでは、旧全体制御プログラム1PA1を起動する。そして、旧全体制御プログラム1PA1に基づいて、図7に示す手順で処理を実行する。   When the power of the image processing apparatus 1 is turned on or reset, the first core 1CR1 starts the overall control program 1PA currently installed in the image processing apparatus 1. Here, the old overall control program 1PA1 is activated. And based on the old whole control program 1PA1, a process is performed in the procedure shown in FIG.

前に述べた通り、ジョブに関する処理は、待機の解除のコマンドがあるまで行われない。しかし、電源がオンになった場合およびリセットされた場合は(図7の#701でYes)、ステップ#702〜#703をスキップする。そして、ジョブの制御およびアップデートされた全体制御プログラム1PAの有無のチェックを行う(#704、#705)。ステップ#704のジョブの制御は、適宜、実行される。また、ステップ#704は、ジョブがその種類などに応じて実行されるように各ハードウェアを制御するサブルーチンである。ステップ#705の、アップデートされた全体制御プログラム1PAの有無のチェックは、定期的に実行される。   As described above, the processing related to the job is not performed until there is a command for canceling the standby. However, if the power is turned on or reset (Yes in # 701 in FIG. 7), steps # 702 to # 703 are skipped. Then, the job control and the presence / absence of the updated overall control program 1PA are checked (# 704, # 705). The job control in step # 704 is executed as appropriate. Step # 704 is a subroutine for controlling each hardware so that the job is executed according to the type thereof. The presence / absence of the updated overall control program 1PA in step # 705 is periodically executed.

アップデートされた全体制御プログラム1PAが見つかったら(#706でYes)、第一のコア1CR1は、この全体制御プログラム1PA(本例では、新全体制御プログラム1PA2)をサーバ21からダウンロードする(#707)。そして、これをRAM10bにロードして第二のコア1CR2に実行させる(#708)。これにより、新全体制御プログラム1PA2が起動される。   When the updated overall control program 1PA is found (Yes in # 706), the first core 1CR1 downloads this overall control program 1PA (in this example, the new overall control program 1PA2) from the server 21 (# 707). . This is loaded into the RAM 10b and executed by the second core 1CR2 (# 708). As a result, the new overall control program 1PA2 is started.

すると、第二のコア1CR2が、新全体制御プログラム1PA2に基づいて、図7に示す手順で処理を実行する。これにより、バージョンの異なる2つの全体制御プログラム1PAが働く。   Then, the second core 1CR2 executes processing according to the procedure shown in FIG. 7 based on the new overall control program 1PA2. Thereby, two general control programs 1PA of different versions work.

新全体制御プログラム1PA2の起動は電源がオンになったことにもリセットされたことにも起因していないので(#701でNo)、第二のコア1CR2は、第一のコア1CR1からの待機の解除のコマンドの検知を試みる(#702)。   Since the activation of the new overall control program 1PA2 is not caused by the power being turned on or being reset (No in # 701), the second core 1CR2 is waiting from the first core 1CR1. Attempt to detect a release command (# 702).

第一のコア1CR1は、未だ完了していないジョブがある場合は(#709でYes)、第一のコア1CR1の制御の下で実行中であるジョブがなくなったら(#710でNo)、第二のコア1CR2へ待機の解除のコマンドを与えるとともに(#711)、旧全体制御プログラム1PA1を終了する。この際に、旧全体制御プログラム1PA1をアンインストールしてもよい。実行中のジョブも待機中のジョブも1つもない場合も(#709でNo)、同様である(#711)。   If there is a job that has not yet been completed for the first core 1CR1 (Yes in # 709), when there is no job being executed under the control of the first core 1CR1 (No in # 710), the first core 1CR1 A command for canceling standby is given to the second core 1CR2 (# 711), and the old overall control program 1PA1 is terminated. At this time, the old overall control program 1PA1 may be uninstalled. The same applies when there is no job being executed or no job is waiting (No in # 709) (# 711).

一方、第二のコア1CR2は、待機の解除のコマンドを検知すると(#703でYes)、ジョブの制御の処理を開始する(#704)。   On the other hand, when the second core 1CR2 detects a command for canceling standby (Yes in # 703), the second core 1CR2 starts job control processing (# 704).

このようにして、旧全体制御プログラム1PA1から新全体制御プログラム1PA2への切換えが完了する。   In this way, switching from the old overall control program 1PA1 to the new overall control program 1PA2 is completed.

さらに、第二のコア1CR2は、アップデートされた全体制御プログラム1PAの有無のチェックの処理も開始する(#705)。   Furthermore, the second core 1CR2 also starts a process for checking whether or not there is an updated overall control program 1PA (# 705).

ステップ#704は、旧全体制御プログラム1PA1においては、本発明における第一のルーチンに相当し、新全体制御プログラム1PA2においては、第二のルーチンに相当する。   Step # 704 corresponds to the first routine in the present invention in the old overall control program 1PA1, and corresponds to the second routine in the new overall control program 1PA2.

第一の実施形態によると、マルチコアのCPUをCPU10aとして採用する画像処理装置1において、CPU10aをAMPで動作させ、ある1つのコア1CRに全体制御プログラム1PAを実行させ、アップデートされた全体制御プログラム1PAを他の1つのコア1CRに実行させた。しかも、特定の処理のルーチン(ジョブの制御のルーチン)へ進む前に停止させ、古いほうの全体制御プログラム1PAによるジョブが完了しまたは停止したタイミングでこのルーチンを開始させるように、全体制御プログラム1PAを構成した。これにより、ダウンタイムの発生の防止を図り、ユーザの利便性を従来よりも確実に保って画像処理装置1の全体制御プログラム1PAを更新することができる。   According to the first embodiment, in the image processing apparatus 1 that employs a multi-core CPU as the CPU 10a, the CPU 10a is operated by the AMP, the one core 1CR is caused to execute the overall control program 1PA, and the updated overall control program 1PA. Was executed by one other core 1CR. In addition, the overall control program 1PA is stopped before proceeding to a specific processing routine (job control routine), and this routine is started at the timing when the job by the older overall control program 1PA is completed or stopped. Configured. As a result, the occurrence of downtime can be prevented, and the overall control program 1PA of the image processing apparatus 1 can be updated while maintaining the convenience of the user more reliably than before.

〔第二の実施形態〕
図8は、全体制御プログラム1RAによって実現される機能的構成の例を示す図である。
[Second Embodiment]
FIG. 8 is a diagram illustrating an example of a functional configuration realized by the overall control program 1RA.

画像処理装置1にインストールされている全体制御プログラムを更新した後、画像処理装置1に不具合が生じる場合がある。このような場合は、全体制御プログラムを古いバージョンに戻した方がよいことがある。第二の実施形態の全体制御プログラム1RAは、古いバージョンにリカバリ(復帰)させる機能を備えている。   After updating the overall control program installed in the image processing apparatus 1, a problem may occur in the image processing apparatus 1. In such a case, it may be better to return the overall control program to an older version. The overall control program 1RA of the second embodiment has a function of recovering (returning to) an old version.

以下、この機能を中心に、全体制御プログラム1RAについて説明する。第一の実施形態と重複する点については、説明を省略する。   Hereinafter, the overall control program 1RA will be described focusing on this function. The description overlapping with the first embodiment is omitted.

画像処理システム3の全体的な構成は、第一の実施形態と同様であり、図1に示した通りである。画像処理装置1のハードウェアの構成も、第一の実施形態と同様であり、図2に示した通りである。   The overall configuration of the image processing system 3 is the same as that of the first embodiment, as shown in FIG. The hardware configuration of the image processing apparatus 1 is the same as that of the first embodiment, as shown in FIG.

ただし、全体制御プログラム1PAの代わりに全体制御プログラム1RAが用いられる。全体制御プログラム1RAによると、図8に示すジョブ制御部151、更新処理部152、およびリカバリ処理部153などの機能が実現される。   However, the overall control program 1RA is used instead of the overall control program 1PA. According to the overall control program 1RA, functions such as the job control unit 151, the update processing unit 152, and the recovery processing unit 153 shown in FIG. 8 are realized.

ジョブ制御部151は、第一の実施形態のジョブ制御部101(図5参照)と同様に、外部からの入力に従ってジョブを生成し、キューに登録する。そして、登録順および各ハードウェアの稼働の状況などに応じて、各ドライバによって各ジョブを実行する。   Similar to the job control unit 101 (see FIG. 5) of the first embodiment, the job control unit 151 generates a job according to an input from the outside and registers it in the queue. Then, each job is executed by each driver according to the order of registration and the operating status of each hardware.

ただし、第二の実施形態においては、この全体制御プログラム1RAは、新しい全体制御プログラム1RAに切り換わった後、終了するのではなく、リカバリのために常駐し続ける。このとき、ジョブ制御部151は、休止する。そして、後述する通り、新しい全体制御プログラム1RAを実行しているコア1CRからリカバリのコマンドが与えられたら、再び動作し始める。次に説明する更新処理部152およびリカバリ処理部153も同様である。   However, in the second embodiment, the overall control program 1RA does not end after switching to the new overall control program 1RA, but continues to reside for recovery. At this time, the job control unit 151 pauses. As will be described later, when a recovery command is given from the core 1CR executing the new overall control program 1RA, the operation starts again. The same applies to the update processing unit 152 and the recovery processing unit 153 described below.

更新処理部152は、第一の実施形態の更新処理部102と同様に、現在実行している全体制御プログラム1RAを更新する処理を行う。   Similar to the update processing unit 102 of the first embodiment, the update processing unit 152 performs a process of updating the currently executed overall control program 1RA.

更新処理部152は、ダウンロード処理部161、新プログラム起動部162、切換可否判別部163、および待機解除指令部164などによって構成される。これらの役割は、第一の実施形態のダウンロード処理部121、新プログラム起動部122、切換可否判別部123、および待機解除指令部124と同様である。   The update processing unit 152 includes a download processing unit 161, a new program starting unit 162, a switchability determination unit 163, a standby release command unit 164, and the like. These roles are the same as those of the download processing unit 121, the new program starting unit 122, the switchability determination unit 123, and the standby release command unit 124 of the first embodiment.

リカバリ処理部153は、この全体制御プログラム1RAによるジョブの処理に不具合が生じた場合に、古い全体制御プログラム1RAへリカバリするための処理を行う。   The recovery processing unit 153 performs processing for recovering to the old overall control program 1RA when a problem occurs in job processing by the overall control program 1RA.

リカバリ処理部153は、不具合検知部171、リカバリ指令部172、および旧プログラム起動部173などによって構成される。   The recovery processing unit 153 includes a failure detection unit 171, a recovery command unit 172, an old program activation unit 173, and the like.

不具合検知部171は、ジョブ制御部151が実行させているジョブの状況を監視することによって不具合を検知する。   The defect detection unit 171 detects a defect by monitoring the status of the job executed by the job control unit 151.

リカバリ指令部172は、不具合検知部171によって不具合が検知されたら、1つ古いバージョンの全体制御プログラム1RAを実行しているコア1CRに対して、処理を再開するようにコマンドする。つまり、リカバリのコマンドを与える。   When a failure is detected by the failure detector 171, the recovery command unit 172 commands the core 1 CR that is executing the one-older version of the overall control program 1 RA to resume processing. That is, a recovery command is given.

旧プログラム起動部173は、画像処理装置1の電源がオンになりまたはリセットされた場合に、1つ古いバージョンの全体制御プログラム1RAを起動し他のコア1CRに実行させる。   When the image processing apparatus 1 is powered on or reset, the old program activation unit 173 activates the old version of the overall control program 1RA and causes the other core 1CR to execute it.

図9は、全体制御プログラム1RAによる全体的な処理の流れの例を説明するフローチャートである。図10は、通常モードの処理の流れの例を説明するフローチャートである。図11は、更新処理の流れの例を説明するフローチャートである。図12は、リカバリモードの処理の流れの例を説明するフローチャートである。   FIG. 9 is a flowchart for explaining an example of the overall processing flow by the overall control program 1RA. FIG. 10 is a flowchart for explaining an example of the flow of processing in the normal mode. FIG. 11 is a flowchart illustrating an example of the flow of update processing. FIG. 12 is a flowchart for explaining an example of the flow of processing in the recovery mode.

次に、旧全体制御プログラム1RA1を新全体制御プログラム1RA2へ切り換える場合を例に、画像処理装置1における全体制御プログラム1RAを更新する際の処理の流れを、フローチャートを参照しながら説明する。   Next, an example of switching the old overall control program 1RA1 to the new overall control program 1RA2 will be described with reference to the flowchart of the processing flow when the overall control program 1RA in the image processing apparatus 1 is updated.

旧全体制御プログラム1RA1は、初版であり、新全体制御プログラム1RA2はその次のバージョンである。最初は、旧全体制御プログラム1RA1のみが画像処理装置1にインストールされている。   The old overall control program 1RA1 is the first version, and the new overall control program 1RA2 is the next version. Initially, only the old overall control program 1RA1 is installed in the image processing apparatus 1.

旧全体制御プログラム1RA1も新全体制御プログラム1RA2も、全体的な処理の流れは同じであり、図9に示す通りである。   The old overall control program 1RA1 and the new overall control program 1RA2 have the same overall processing flow, as shown in FIG.

<1> 未アップデート時における電源オンまたはリセットに伴う処理
画像処理装置1の電源がオンになりまたはリセットされると、第一のコア1CR1は、この時点で画像処理装置1にインストールされている最新の全体制御プログラム1RAを起動する。ここでは、旧全体制御プログラム1RA1を起動する。そして、旧全体制御プログラム1RA1に基づいて、図9に示す手順で処理を実行する。
<1> Processing associated with power-on or reset when not updated When the image processing apparatus 1 is turned on or reset, the first core 1CR1 is the latest installed in the image processing apparatus 1 at this time. The overall control program 1RA is started. Here, the old overall control program 1RA1 is activated. And based on the old whole control program 1RA1, a process is performed in the procedure shown in FIG.

この時点では、旧全体制御プログラム1RA1は画像処理装置1にインストールされている古いバージョンではなく(図9の#721でNo)、かつ、今回の起動は電源のオンまたはリセットに伴うものなので(#722でYes)、第一のコア1CR1は、旧全体制御プログラム1RA1に基づいて通常モードのルーチンに進み、適宜、通常モードの処理を行う(#725)。   At this time, the old overall control program 1RA1 is not an old version installed in the image processing apparatus 1 (No in # 721 in FIG. 9), and this activation is accompanied by turning on or resetting the power (# 722), the first core 1CR1 proceeds to the normal mode routine based on the old overall control program 1RA1, and appropriately performs the normal mode processing (# 725).

なお、旧全体制御プログラム1RA1よりも古いバージョンの全体制御プログラム1RAがないので(#723でNo)、ステップ#724の処理はスキップされる。古いバージョンの全体制御プログラム1RAがある場合は、後述するように、第一のコア1CR1は、通常モードへ進むのと前後してまたは並行してステップ#724の処理を実行する。   Since there is no version of the overall control program 1RA older than the old overall control program 1RA1 (No in # 723), the process of step # 724 is skipped. If there is an old version of the overall control program 1RA, as will be described later, the first core 1CR1 executes the process of step # 724 before or after proceeding to the normal mode.

通常モードの処理の手順は、図10に示す通りである。第一のコア1CR1は、第一の実施形態と同様に、ジョブの制御およびアップデートされた全体制御プログラム1RAの有無のチェックを行う(図10の#741、#746)。ステップ#741は、第一の実施形態のステップ#704と同様、ジョブがその種類などに応じて実行されるように各ハードウェアを制御するサブルーチンである。   The procedure of the normal mode processing is as shown in FIG. As in the first embodiment, the first core 1CR1 performs job control and checks for the presence of the updated overall control program 1RA (# 741, # 746 in FIG. 10). Step # 741 is a subroutine for controlling each hardware so that the job is executed according to the type and the like, as in step # 704 of the first embodiment.

ステップ#741によるジョブが正常に終了しなかった場合つまりジョブに異常があった場合は(#742でYes、#743でYes)、古いバージョンの全体制御プログラム1RAが画像処理装置1にインストールされていれば、ステップ#745において、この全体制御プログラム1RAへの切換えを行う。つまり、古い全体制御プログラム1RAへのリカバリを行う。しかし、この時点では、この全体制御プログラム1RAがインストールされていないので(#744でNo)、リカバリをスキップする。リカバリについては、後述する。   If the job in step # 741 does not end normally, that is, if there is an abnormality in the job (Yes in # 742, Yes in # 743), the old version of the overall control program 1RA is installed in the image processing apparatus 1. Then, in step # 745, switching to the overall control program 1RA is performed. That is, recovery to the old overall control program 1RA is performed. However, since this overall control program 1RA is not installed at this time (No in # 744), recovery is skipped. The recovery will be described later.

アップデートされた全体制御プログラム1RA(本例では、新全体制御プログラム1RA2)が見つかったら(#747でYes)、第一のコア1CR1は、画像処理装置1の全体制御プログラム1RAを更新する処理、つまり、旧全体制御プログラム1RA1から新全体制御プログラム1RA2への切換えを行う(#748)。この処理の手順は、図11に示す通りである。   When the updated overall control program 1RA (in this example, the new overall control program 1RA2) is found (Yes in # 747), the first core 1CR1 updates the overall control program 1RA of the image processing apparatus 1, that is, Then, switching from the old overall control program 1RA1 to the new overall control program 1RA2 is performed (# 748). The procedure of this process is as shown in FIG.

旧全体制御プログラム1RA1から新全体制御プログラム1RA2への切換えは、基本的に第一の実施形態と同様である。   Switching from the old overall control program 1RA1 to the new overall control program 1RA2 is basically the same as in the first embodiment.

すなわち、第一のコア1CR1は、新全体制御プログラム1RA2をサーバ21からダウンロードし(図11の#761)、これをRAM10bにロードして第二のコア1CR2に実行させる(#762)。これにより、新全体制御プログラム1RA2が起動される。しかし、この時点では、第二のコア1CR2によるジョブの制御は開始されない。新全体制御プログラム1RA2は、ROM10cまたは大容量記憶装置10dに記憶(インストール)される。   That is, the first core 1CR1 downloads the new overall control program 1RA2 from the server 21 (# 761 in FIG. 11), loads it into the RAM 10b, and causes the second core 1CR2 to execute it (# 762). As a result, the new overall control program 1RA2 is started. However, at this time, the job control by the second core 1CR2 is not started. The new overall control program 1RA2 is stored (installed) in the ROM 10c or the mass storage device 10d.

未だ完了していなジョブがある場合は(#763でYes)、第一のコア1CR1の制御の下で実行中であるジョブがなくなったら(#764でNo)、第一のコア1CR1は、第二のコア1CR2へ待機の解除のコマンドを与える(#765)。実行中のジョブも待機中のジョブも1つもない場合も(#763でNo)、同様である(#765)。   If there is a job that has not been completed yet (Yes in # 763), when there is no job being executed under the control of the first core 1CR1 (No in # 764), the first core 1CR1 A command for canceling standby is given to the second core 1CR2 (# 765). The same applies when there is no job being executed or waiting (No in # 763) (# 765).

第一の実施形態では、第一のコア1CR1は、古いほうの全体制御プログラムを終了させたが、第二の実施形態では、終了させない。第一のコア1CR1は、リカバリモードのルーチンへ進み、リカバリモードの処理を実行する(#766)。この処理の手順は、図12に示す通りである。   In the first embodiment, the first core 1CR1 terminates the older overall control program, but in the second embodiment, it does not terminate it. The first core 1CR1 proceeds to the recovery mode routine and executes the recovery mode processing (# 766). The procedure of this process is as shown in FIG.

第一のコア1CR1は、新しい全体制御プログラム1RA(本例では、新全体制御プログラム1RA2)を実行するコア1CR(本例では、第二のコア1CR2)からのリカバリのコマンドが与えられるのを待つ(図12の#771)。   The first core 1CR1 waits for a recovery command from the core 1CR (in this example, the second core 1CR2) that executes the new overall control program 1RA (in this example, the new overall control program 1RA2). (# 771 in FIG. 12).

リカバリのコマンドが与えられたら(#772でYes)、第一のコア1CR1は、通常モードへ再び進む(#773)。つまり、ジョブの制御などを開始する。通常モードの処理の手順は、前に図10で説明した通りである。   If a recovery command is given (Yes in # 772), the first core 1CR1 proceeds again to the normal mode (# 773). That is, job control is started. The procedure of the normal mode processing is as described above with reference to FIG.

<2> 新しい全体制御プログラム1RAによる処理
新全体制御プログラム1RA2は、上述の通り、第一のコア1CR1および旧全体制御プログラム1RA1によってダウンロードされRAM10bにロードされると、第二のコア1CR2によって実行される。
<2> Processing by New Overall Control Program 1RA As described above, the new overall control program 1RA2 is executed by the second core 1CR2 when downloaded by the first core 1CR1 and the old overall control program 1RA1 and loaded into the RAM 10b. The

すると、第二のコア1CR2は、新全体制御プログラム1RA2に基づいて、図9に示す手順で処理を実行する。   Then, the second core 1CR2 executes processing according to the procedure shown in FIG. 9 based on the new overall control program 1RA2.

新全体制御プログラム1RA2は画像処理装置1にインストールされている全体制御プログラム1RAのうち新しい全体制御プログラム1RAであり(図9の#721でNo)、今回の起動は電源のオンに伴うものでもリセットに伴うものでないので(#722でNo)、第二のコア1CR2は、待機の解除のコマンドが第一のコア1CR1から与えられるのを待つ(#726)。   The new overall control program 1RA2 is the new overall control program 1RA among the overall control programs 1RA installed in the image processing apparatus 1 (No in # 721 in FIG. 9), and this activation is reset even when the power is turned on. (No in # 722), the second core 1CR2 waits for a standby release command to be given from the first core 1CR1 (# 726).

そして、待機の解除のコマンドが与えられたら(#727でYes)、通常モードへ進み、ジョブの制御などを開始する(#728)。通常モードの処理の手順は、前に図10で説明した通りである。   When a command for canceling standby is given (Yes in # 727), the process proceeds to the normal mode and job control or the like is started (# 728). The procedure of the normal mode processing is as described above with reference to FIG.

すなわち、第二のコア1CR2は、上述の通り、ジョブの制御およびアップデートされた全体制御プログラム1RAの有無のチェックを行う(図10の#741、#747)。   That is, as described above, the second core 1CR2 controls the job and checks for the presence of the updated overall control program 1RA (# 741, # 747 in FIG. 10).

ステップ#741によるジョブが正常に終了しなかった場合つまりジョブに異常があった場合は(#742でYes、#743でYes)、上述の通り、古いバージョンの全体制御プログラム1RAが画像処理装置1にインストールされていれば、第二のコア1CR2は、リカバリを行う。本例では、旧全体制御プログラム1RA1がインストールされているので(#744でYes)、旧全体制御プログラム1RA1のリカバリを行う(#745)。具体的には、旧全体制御プログラム1RA1を実行するコア1CRに対してリカバリのコマンドを与える。   If the job in step # 741 does not end normally, that is, if the job is abnormal (Yes in # 742, Yes in # 743), as described above, the old version of the overall control program 1RA is stored in the image processing apparatus 1. If installed, the second core 1CR2 performs recovery. In this example, since the old overall control program 1RA1 is installed (Yes in # 744), the old overall control program 1RA1 is recovered (# 745). Specifically, a recovery command is given to the core 1CR that executes the old overall control program 1RA1.

なお、旧全体制御プログラム1RA1による処理は、リカバリモードのステップ#771(図12参照)でリカバリのコマンドを待っている状態である。そして、このコマンドに従って、通常モードへ再び進み、旧全体制御プログラム1RA1による通常モードの処理(#773)が再開される。   Note that the processing by the old overall control program 1RA1 is in a state of waiting for a recovery command in step # 771 (see FIG. 12) of the recovery mode. Then, according to this command, the process proceeds again to the normal mode, and the normal mode processing (# 773) by the old overall control program 1RA1 is resumed.

旧全体制御プログラム1RA1による通常モードの処理が再開された後、第二のコア1CR2は、新全体制御プログラム1RA2を終了する。   After the normal mode processing by the old overall control program 1RA1 is resumed, the second core 1CR2 ends the new overall control program 1RA2.

<3> アップデート後における電源オンまたはリセットに伴う処理
アップデートされた全体制御プログラム1RAがインストールされ適用された後も、古いバージョンの全体制御プログラム1RAは、アンインストールされず、画像処理装置1に残る。
<3> Processing Associated with Power-on or Reset after Update Even after the updated overall control program 1RA is installed and applied, the old version of the overall control program 1RA is not uninstalled and remains in the image processing apparatus 1.

画像処理装置1の電源がオフにされた後、再びオンにされると、または、リセットされると、これらの2つの全体制御プログラム1RAの両方が次のように起動される。この際に、図9に示した手順の処理がそれぞれ独立して実行される。以下、旧全体制御プログラム1RA1および新全体制御プログラム1RA2を起動する場合を例に説明する。   When the image processing apparatus 1 is turned off and then turned on again or reset, both of these two overall control programs 1RA are started as follows. At this time, the processing of the procedure shown in FIG. 9 is performed independently. Hereinafter, a case where the old overall control program 1RA1 and the new overall control program 1RA2 are activated will be described as an example.

画像処理装置1のオペレーティングシステムが起動する際に、新しいほうの全体制御プログラム1RAつまり新全体制御プログラム1RA2がRAM10bにロードされる。そして、第一のコア1CR1によって実行される。   When the operating system of the image processing apparatus 1 is activated, the new overall control program 1RA, that is, the new overall control program 1RA2 is loaded into the RAM 10b. Then, it is executed by the first core 1CR1.

新全体制御プログラム1RA2は画像処理装置1にインストールされている古いバージョンではなく(図9の#721でNo)、今回の起動は電源のオンまたはリセットに伴うものであり(#722でYes)、かつ古いバージョンの全体制御プログラム1RA(本例では、旧全体制御プログラム1RA1)があるので(#723でYes)、第一のコア1CR1は、旧全体制御プログラム1RA1をRAM10bにロードし、第二のコア1CR2に実行させる(#724)。これにより、旧全体制御プログラム1RA1が起動される。   The new overall control program 1RA2 is not an old version installed in the image processing apparatus 1 (No in # 721 in FIG. 9), and this activation is accompanied by turning on or resetting the power (Yes in # 722). Since there is an old version of the overall control program 1RA (in this example, the old overall control program 1RA1) (Yes in # 723), the first core 1CR1 loads the old overall control program 1RA1 into the RAM 10b, and the second The core 1CR2 is executed (# 724). As a result, the old overall control program 1RA1 is activated.

旧全体制御プログラム1RA1の起動と前後してまたは並行して、第一のコア1CR1は、通常モードの処理を開始する(#725)。通常モードの処理の手順は、図10に示した通りである。   The first core 1CR1 starts normal mode processing before or after the start of the old overall control program 1RA1 (# 725). The procedure of the normal mode processing is as shown in FIG.

一方、第二のコア1CR2は、旧全体制御プログラム1RA1に従って図9に示す手順で処理を実行する。旧全体制御プログラム1RA1は古いほうの全体制御プログラム1RAなので(#721でYes)、リカバリモードへ進む(#729)。リカバリモードの処理の手順は、前に図12で説明した通りである。これにより、第二のコア1CR2は、リカバリに備える。   On the other hand, the second core 1CR2 executes processing according to the procedure shown in FIG. 9 according to the old overall control program 1RA1. Since the old overall control program 1RA1 is the older overall control program 1RA (Yes in # 721), the process proceeds to the recovery mode (# 729). The procedure of the recovery mode processing is as described above with reference to FIG. Thereby, the second core 1CR2 prepares for recovery.

その後、第一のコア1CR1および新全体制御プログラム1RA2によるジョブに不具合が生じたら、ジョブの制御などが第二のコア1CR2および旧全体制御プログラム1RA1へ切り換えられる。つまり、旧全体制御プログラム1RA1がリカバリされる。   Thereafter, when a problem occurs in the job by the first core 1CR1 and the new overall control program 1RA2, the job control and the like are switched to the second core 1CR2 and the old overall control program 1RA1. That is, the old overall control program 1RA1 is recovered.

ステップ#741は、旧全体制御プログラム1RA1においては、本発明における第一のルーチンに相当し、新全体制御プログラム1RA2においては、第二のルーチンに相当する。   Step # 741 corresponds to the first routine in the present invention in the old overall control program 1RA1, and corresponds to the second routine in the new overall control program 1RA2.

第二の実施形態によると、第一の実施形態と同様に、ダウンタイムの発生の防止を図り、ユーザの利便性を従来よりも確実に保って画像処理装置1の全体制御プログラム1PAを更新することができる。   According to the second embodiment, as in the first embodiment, the occurrence of downtime is prevented, and the overall control program 1PA of the image processing apparatus 1 is updated while maintaining the convenience of the user more reliably than in the past. be able to.

さらに、第二の実施形態によると、更新後にジョブに不具合が発生した場合に、サービスエンジニアの作業を伴うことなく古いバージョンにリカバリして、画像処理装置1の安定的な運用を図ることができる。   Furthermore, according to the second embodiment, when a problem occurs in the job after the update, the image processing apparatus 1 can be stably operated by recovering to an old version without the work of a service engineer. .

図13は、CPU10aの構成の変形例を示す図である。第一の実施形態および第二の実施形態では、4つのコア1CRそれぞれが別々のプログラムを実行するようにCPU10aを構成したが、1つまたは複数のコア1CRによってユニットを構成し、ユニットごとに別々のプログラムを実行するようにCPU10aを構成してもよい。   FIG. 13 is a diagram illustrating a modification of the configuration of the CPU 10a. In the first embodiment and the second embodiment, the CPU 10a is configured such that each of the four cores 1CR executes a separate program. However, a unit is configured by one or a plurality of cores 1CR, and each unit is separately configured. The CPU 10a may be configured to execute the program.

例えば、図13(A)に示すように、第一のコア1CR1および第二のコア1CR2によって処理ユニット1U1を構成し、第三のコア1CR3および第四のコア1CR4によって処理ユニット1U2を構成してもよい。この場合は、一方の処理ユニットに旧全体制御プログラム1PA1または1RA1を実行させ、他方の処理ユニットに新全体制御プログラム1PA2または1RA2を実行させればよい。   For example, as shown in FIG. 13A, the first core 1CR1 and the second core 1CR2 constitute a processing unit 1U1, and the third core 1CR3 and the fourth core 1CR4 constitute a processing unit 1U2. Also good. In this case, the old overall control program 1PA1 or 1RA1 may be executed by one processing unit, and the new overall control program 1PA2 or 1RA2 may be executed by the other processing unit.

または、図13(B)に示すように、第一のコア1CR1によって処理ユニット1U3を構成し、第二のコア1CR2によって処理ユニット1U4を構成し、第三のコア1CR3および第四のコア1CR4によって処理ユニット1U5を構成してもよい。この場合は、3つの処理ユニットのうちのいずれか1つに旧全体制御プログラム1PA1または1RA1を実行させ、他のいずれか1つに新全体制御プログラム1PA2または1RA2を実行させればよい。   Alternatively, as shown in FIG. 13B, the processing unit 1U3 is configured by the first core 1CR1, the processing unit 1U4 is configured by the second core 1CR2, and the third core 1CR3 and the fourth core 1CR4 are configured. The processing unit 1U5 may be configured. In this case, any one of the three processing units may execute the old overall control program 1PA1 or 1RA1, and any other one may execute the new overall control program 1PA2 or 1RA2.

第一の実施形態および第二の実施形態では、4つのコア1CRからなるマルチコアプロセッサをCPU10aとして用いたが、他の個数(例えば、2つ、6つ、または8つなど)のコア1CRからなるマルチコアプロセッサを用いてもよい。   In the first embodiment and the second embodiment, a multi-core processor including four cores 1CR is used as the CPU 10a. However, the CPU 10a includes other numbers of cores 1CR (for example, two, six, or eight). A multi-core processor may be used.

第一の実施形態および第二の実施形態では、新全体制御プログラム1PA2または1RA2を、空いているコア1CRに実行させたが、旧全体制御プログラム1PA1または1RA1を実行していないコア1CRであれば、他のプログラムを実行しているコア1CRに新全体制御プログラム1PA2または1RA2を実行させてもよい。   In the first embodiment and the second embodiment, the new overall control program 1PA2 or 1RA2 is executed by the vacant core 1CR. However, if the core 1CR is not executing the old overall control program 1PA1 or 1RA1. The new overall control program 1PA2 or 1RA2 may be executed by the core 1CR that is executing another program.

第一の実施形態および第二の実施形態では、全体制御プログラム1PA、1RAを更新する場合を例に説明したが、ジョブの制御以外のファームウェアのほかアプリケーションプログラムなどを更新する場合にも本発明を適用することができる。   In the first embodiment and the second embodiment, the case where the overall control programs 1PA and 1RA are updated has been described as an example. However, the present invention can be applied to a case where application programs other than firmware other than job control are updated. Can be applied.

第一の実施形態および第二の実施形態では、新全体制御プログラム1PA2、1RA2をサーバ21からダウンロードすることによって取得したが、USB通信部10mを介して記録媒体から読み取ることによって取得してもよい。   In the first embodiment and the second embodiment, the new overall control programs 1PA2, 1RA2 are obtained by downloading from the server 21, but may be obtained by reading from the recording medium via the USB communication unit 10m. .

その他、画像処理システム3、画像処理装置1の全体または各部の構成、処理内容、処理順序、データベースの構成などは、本発明の趣旨に沿って適宜変更することができる。   In addition, the configuration of the entire image processing system 3 and the image processing apparatus 1 or each unit, processing contents, processing order, database configuration, and the like can be appropriately changed in accordance with the spirit of the present invention.

1 画像処理装置
10a CPU(プロセッサ)
10b RAM(メモリ)
1CR コア
1CR1 第一のコア(第一の処理ユニット)
1CR2 第二のコア(第二の処理ユニット)
1PA1、1RA1 旧全体制御プログラム(第一のプログラム)
1RA2、1RA2 新全体制御プログラム(第二のプログラム)
1U1、1U3 処理ユニット(第一の処理ユニット)
1U2、1U4 処理ユニット(第二の処理ユニット)
1 Image processing apparatus 10a CPU (processor)
10b RAM (memory)
1CR core 1CR1 first core (first processing unit)
1CR2 Second core (second processing unit)
1PA1, 1RA1 Old overall control program (first program)
1RA2, 1RA2 New overall control program (second program)
1U1, 1U3 processing unit (first processing unit)
1U2, 1U4 processing unit (second processing unit)

Claims (6)

1つまたは複数のコアをそれぞれに含む第一の処理ユニットおよび第二の処理ユニットを有しかつ当該第一の処理ユニットおよび当該第二の処理ユニットそれぞれが異なるプログラムを実行するように構成されたプロセッサと、
前記第一の処理ユニットおよび前記第二の処理ユニットによって共有され、特定の処理を行うための第一のルーチンが記述された第一のプログラムが記憶されるメモリと、
を有し、
前記第一の処理ユニットは、前記第一のプログラムを実行し、
前記メモリは、前記第一のプログラムのアップデート版であって前記特定の処理を行うための第二のルーチンが記述された第二のプログラムを記憶し、
前記第二の処理ユニットは、前記第二のプログラムを実行し始めた後、前記第二のルーチンへ進むのを待機し、前記第一の処理ユニットが前記特定の処理を完了しまたは停止した後、前記第二のルーチンへ進む、
ことを特徴とする画像処理装置。
A first processing unit and a second processing unit each including one or a plurality of cores, wherein each of the first processing unit and the second processing unit is configured to execute a different program; A processor;
A memory which is shared by the first processing unit and the second processing unit and stores a first program in which a first routine for performing a specific process is described;
Have
The first processing unit executes the first program,
The memory stores a second program that is an updated version of the first program and in which a second routine for performing the specific process is described;
After the second processing unit starts executing the second program, the second processing unit waits to proceed to the second routine, and after the first processing unit completes or stops the specific processing Proceed to the second routine,
An image processing apparatus.
前記第一の処理ユニットは、前記第二の処理ユニットが前記第二のルーチンへ進んだ後、前記第一のプログラムを終了する、
請求項1に記載の画像処理装置。
The first processing unit ends the first program after the second processing unit has proceeded to the second routine.
The image processing apparatus according to claim 1.
前記第一の処理ユニットは、前記第二の処理ユニットが前記第二のルーチンへ進んだ後、前記第一のルーチンから抜け、前記第一のルーチンへ再び進むのを待機し、前記第二の処理ユニットが前記特定の処理を正常に行えなかった場合に、前記第一のルーチンへ再び進む、
請求項1に記載の画像処理装置。
The first processing unit waits for the second processing unit to exit from the first routine and proceed to the first routine again after the second processing unit has proceeded to the second routine. If the processing unit is not able to successfully perform the specific process, proceed to the first routine again.
The image processing apparatus according to claim 1.
前記特定の処理は、画像の入出力を伴うジョブを制御する処理である、
請求項1ないし請求項3のいずれかに記載の画像処理装置。
The specific process is a process for controlling a job involving image input / output.
The image processing apparatus according to claim 1.
1つまたは複数のコアをそれぞれに含む第一の処理ユニットおよび第二の処理ユニットを有しかつ当該第一の処理ユニットおよび当該第二の処理ユニットそれぞれが異なるプログラムを実行するように構成されたプロセッサと、前記第一の処理ユニットおよび前記第二の処理ユニットによって共有されかつ特定の処理を行うためのプログラムが記憶されるメモリと、を有する画像処理装置において、当該プログラムを更新するプログラム更新方法であって、
前記第一の処理ユニットが前記プログラムを実行している際に、前記プログラムのアップデート版である第二のプログラムを前記メモリに記憶させ、
前記第二のプログラムを実行し始めた後、前記特定の処理のルーチンへ進むのを前記第二の処理ユニットに待機させ、
前記第一の処理ユニットが前記特定の処理を完了しまたは停止した後、前記第二の処理ユニットを前記ルーチンへ進ませる、
ことを特徴とするプログラム更新方法。
A first processing unit and a second processing unit each including one or a plurality of cores, wherein each of the first processing unit and the second processing unit is configured to execute a different program; Program update method for updating a program in an image processing apparatus having a processor and a memory that is shared by the first processing unit and the second processing unit and stores a program for performing a specific process Because
When the first processing unit is executing the program, the second program that is an updated version of the program is stored in the memory,
After starting to execute the second program, the second processing unit waits to proceed to the specific processing routine,
Allowing the second processing unit to proceed to the routine after the first processing unit completes or stops the particular process;
The program update method characterized by the above-mentioned.
1つまたは複数のコアをそれぞれに含む第一の処理ユニットおよび第二の処理ユニットを有しかつ当該第一の処理ユニットおよび当該第二の処理ユニットそれぞれが共通のメモリを用いて異なるプログラムを実行するように構成されたプロセッサに、特定の処理を実行させるための特定処理プログラムであって、
前記第二の処理ユニットが当該特定処理プログラムを実行し始めた後、当該特定処理プログラムよりもバージョンが古い第二の特定処理プログラムが前記第一の処理ユニットによって実行されている場合に、前記特定の処理のルーチンへ進むのを前記第二の処理ユニットに待機させ、
前記第一の処理ユニットが前記特定の処理を完了しまたは停止した後、前記第二の処理ユニットを前記ルーチンへ進ませる、
ことを特徴とする特定処理プログラム。
Each of the first processing unit and the second processing unit has a first processing unit and a second processing unit each including one or a plurality of cores, and each of the first processing unit and the second processing unit executes a different program using a common memory. A specific processing program for causing a processor configured to execute a specific processing,
After the second processing unit starts executing the specific processing program, the second specific processing program whose version is older than the specific processing program is executed by the first processing unit. The second processing unit waits to proceed to the processing routine of
Allowing the second processing unit to proceed to the routine after the first processing unit completes or stops the particular process;
A specific processing program characterized by that.
JP2014215960A 2014-10-23 2014-10-23 Image processing apparatus, program update method, and computer program Active JP6464657B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014215960A JP6464657B2 (en) 2014-10-23 2014-10-23 Image processing apparatus, program update method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014215960A JP6464657B2 (en) 2014-10-23 2014-10-23 Image processing apparatus, program update method, and computer program

Publications (2)

Publication Number Publication Date
JP2016085499A true JP2016085499A (en) 2016-05-19
JP6464657B2 JP6464657B2 (en) 2019-02-06

Family

ID=55973705

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014215960A Active JP6464657B2 (en) 2014-10-23 2014-10-23 Image processing apparatus, program update method, and computer program

Country Status (1)

Country Link
JP (1) JP6464657B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06311199A (en) * 1993-04-26 1994-11-04 Nippon Telegr & Teleph Corp <Ntt> Uninterrupted communication control software changing method
JPH117382A (en) * 1997-06-18 1999-01-12 Fujitsu Ltd Version-up method for firmware
JP2012146234A (en) * 2011-01-14 2012-08-02 Nec Corp Control device, and firmware update method and program thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06311199A (en) * 1993-04-26 1994-11-04 Nippon Telegr & Teleph Corp <Ntt> Uninterrupted communication control software changing method
JPH117382A (en) * 1997-06-18 1999-01-12 Fujitsu Ltd Version-up method for firmware
JP2012146234A (en) * 2011-01-14 2012-08-02 Nec Corp Control device, and firmware update method and program thereof

Also Published As

Publication number Publication date
JP6464657B2 (en) 2019-02-06

Similar Documents

Publication Publication Date Title
CN102023826B (en) Printing system, printing device, program, and storage medium
JP5232427B2 (en) Information processing system and firmware setting change method
US10970023B2 (en) Printing system for directly transmitting a print job to printer when a server is unavailable and printer driver program
JP2014115776A (en) Image processing device, control method of image processing device, and program
JP5679714B2 (en) Image forming apparatus
US20150153972A1 (en) Image forming systems, and methods of using same
JP2006040262A (en) Application management device, job processor, application management method, job processing method, image forming apparatus license management method of application, and computer-readable program and storage medium
JP2009220560A (en) Printing apparatus and information processor
JP2012018524A (en) Information processor and method for controlling the same
JP6264575B2 (en) Job processing device management server program
JP7206106B2 (en) Information processing device and program
US20110010718A1 (en) Electronic device, information processing method, and computer program product having computer-readable information processing program
JP6464657B2 (en) Image processing apparatus, program update method, and computer program
JP2012006176A (en) Information processing apparatus and image forming apparatus
JP2017120523A (en) Information processing apparatus, information processing system, information processing server, information processing method, and program
JP6123109B2 (en) Image forming apparatus
JP5779905B2 (en) Image processing apparatus, image processing system, and image processing program
JP2021043547A (en) Information processing device and control method for information processing device, and program
JP6794852B2 (en) Image processing equipment, power saving methods, and computer programs
JP5515642B2 (en) Printing device, program, and server device
JP4378338B2 (en) Information processing apparatus, device setting method, storage medium, and program
JP6150048B2 (en) Image forming system and diagnostic method for image forming system
JP7424457B2 (en) Image forming device and program
JP6572683B2 (en) Scanner, scanner control program, and communication system
JP5939377B2 (en) Communication device and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180808

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20181011

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181011

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181224

R150 Certificate of patent or registration of utility model

Ref document number: 6464657

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150