JP2008236614A - Image forming apparatus, image forming method, and application program - Google Patents

Image forming apparatus, image forming method, and application program Download PDF

Info

Publication number
JP2008236614A
JP2008236614A JP2007076523A JP2007076523A JP2008236614A JP 2008236614 A JP2008236614 A JP 2008236614A JP 2007076523 A JP2007076523 A JP 2007076523A JP 2007076523 A JP2007076523 A JP 2007076523A JP 2008236614 A JP2008236614 A JP 2008236614A
Authority
JP
Japan
Prior art keywords
job
program
unit
layer
layer program
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
JP2007076523A
Other languages
Japanese (ja)
Other versions
JP4979426B2 (en
Inventor
Katsuji Furue
勝治 古重
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Mita Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Mita Corp filed Critical Kyocera Mita Corp
Priority to JP2007076523A priority Critical patent/JP4979426B2/en
Priority to EP08722583.5A priority patent/EP2040164B1/en
Priority to PCT/JP2008/055219 priority patent/WO2008123123A1/en
Priority to US12/308,967 priority patent/US8314962B2/en
Priority to CN2008800003801A priority patent/CN101542440B/en
Publication of JP2008236614A publication Critical patent/JP2008236614A/en
Application granted granted Critical
Publication of JP4979426B2 publication Critical patent/JP4979426B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimiles In General (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To facilitate the development and design change of a program with respect to an image forming apparatus. <P>SOLUTION: (E05-E07) When a jam occurs in a scanner 16S, a device control section 41 notifies a system management section 52 of the jam via a device operation section 61. (E09, E12) When the notification is received, the system management section 52 notifies a job control section 72 about the jam via a job management section 71. (E13) The job control section 72 instructs the interruption of a job to an image job execution part 73a within a fundamental job execution section 73. (E14-E17) In response to the instruction, the image job execution part 73a causes the device control section 41 to interrupt operation via an input step execution section 74 or the like under execution at present. (E18-E23) When the operation of the scanner 16S is interrupted, the job management section 71 is notified of the operation stop of the scanner 16A from the device control section 41 via the device operation section 61 or the like. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、複数種のジョブを実行可能な画像形成装置、画像形成方法及びアプリケーションプログラムに係り、特に、コピー、プリント、スキャン及びファクシミリ送信などのジョブを実行可能な画像形成装置、画像形成方法及びアプリケーションプログラムに関する。   The present invention relates to an image forming apparatus capable of executing a plurality of types of jobs, an image forming method, and an application program, and more particularly to an image forming apparatus capable of executing jobs such as copying, printing, scanning, and facsimile transmission, an image forming method, and the like. The application program.

画像形成装置の一種である複合機は、複数種のジョブ実行に対し共通のハードウェア資源を用いるので、全体としてコストを低減できるとともに、省スペース化を図ることができる。   A multifunction peripheral, which is a kind of image forming apparatus, uses a common hardware resource for a plurality of types of job execution, so that the cost can be reduced as a whole and space can be saved.

下記特許文献1には、UNIX(登録商標)などの汎用オペレーティングシステム(汎用OS)を用い、コピー、プリント、スキャン及びファクシミリの各アプリケーションの共通機能を括りだして汎用OSとともにプラットフォームを構成することにより、各アプリケーションのプログラムステップ数を低減して、プログラム開発効率を高めることが開示されている。   In the following Patent Document 1, a general-purpose operating system (general-purpose OS) such as UNIX (registered trademark) is used, and common functions of copy, print, scan, and facsimile applications are summarized and a platform is configured with the general-purpose OS. It is disclosed that the number of program steps of each application is reduced and the program development efficiency is increased.

しかしながら、この構成は、ジョブ種別毎にアプリケーションを備えたマルチアプリケーションであり、各アプリケーションの共通機能を括り出しただけなので、マルチアプリケーション部分が統一性に欠け、設計変更容易性が充分とは言えない。   However, this configuration is a multi-application with an application for each job type, and only the common functions of each application are listed, so the multi-application part lacks uniformity and design changeability is not sufficient. .

一方、設計変更を容易にするためにアプリケーションを多層化すると、多層化されたプログラム間の関係が複雑になる。
特開2002−84383号公報
On the other hand, if applications are multi-layered to facilitate design changes, the relationship between multi-layered programs becomes complicated.
JP 2002-84383 A

本発明の目的は、画像形成装置に係わるプログラムが多層化されたことに伴いプログラム間の関係が複雑化するのを避けることにより、画像形成装置に係わるプログラムの開発及び設計変更を容易にすることが可能な画像形成装置、画像形成方法及びアプリケーションプログラムを提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to facilitate development and design change of a program related to an image forming apparatus by avoiding a complicated relationship between programs associated with the multi-layered program related to the image forming apparatus. The present invention provides an image forming apparatus, an image forming method, and an application program.

本発明による画像形成装置の第1態様では、
プロセッサと、指示入力手段と、複数種のジョブを実行可能なアプリケーションが格納された記憶手段とを備えた画像形成装置であって、
該アプリケーションは、該プロセッサに対し、上層側のプログラムから下層側のプログラムへと命令を順次伝達させるものであり、
該下層側のプログラムでハードウェアエラーを検知した場合に、
該プロセッサに対し、該下層側のプログラムから該上層側のプログラムへ、該検知したことを通知させ、該通知を受け取った該上層側のプログラムから該下層側のプログラムへとハードウェアの制御を中断する命令を順次伝達させる。
In the first aspect of the image forming apparatus according to the present invention,
An image forming apparatus comprising a processor, an instruction input unit, and a storage unit storing an application capable of executing a plurality of types of jobs,
The application causes the processor to sequentially transmit instructions from an upper layer program to a lower layer program,
When a hardware error is detected in the lower layer program,
The processor is notified of the detection from the lower-layer program to the upper-layer program, and the hardware control is suspended from the upper-layer program that has received the notification to the lower-layer program. The instructions to be transmitted are transmitted sequentially.

ここで、該指示入力手段は、例えば操作パネル又は通信手段などである。   Here, the instruction input means is, for example, an operation panel or a communication means.

本発明による画像形成装置の第2態様では、第1態様において、
該アプリケーションは、三層以上に多層化されたプログラムから構成されており、
該下層側のプログラムで該ハードウェアエラーを検知した場合に、
該プロセッサに対し、該上層側のプログラムから中間層側のプログラムを介して該下層側のプログラムへと該命令を順次伝達させる。
In a second aspect of the image forming apparatus according to the present invention, in the first aspect,
The application is composed of programs that are multi-layered into three or more layers.
When the lower layer program detects the hardware error,
The processor sequentially transmits the instructions from the upper layer side program to the lower layer side program through the intermediate layer side program.

本発明による画像形成装置の第3態様では、第1又は第2態様において、
該上層側のプログラムは、
該プロセッサに対し、該指示入力手段からのサービス要求を受け付けさせ、該サービス要求に対応したジョブシナリオ又はその識別子を該中間層側のプログラムに引き渡して該ジョブの実行を指示させる第1上層プログラムと、
該プロセッサに対し、これに応答して、該ジョブを生成させ、該生成したジョブの管理させ、且つ該中間層側のプログラムを呼び出させる第2上層プログラムと、
を有する。
In a third aspect of the image forming apparatus according to the present invention, in the first or second aspect,
The upper level program is
A first upper layer program that causes the processor to accept a service request from the instruction input means, and to hand over a job scenario corresponding to the service request or an identifier thereof to a program on the middle layer side to instruct execution of the job; ,
A second upper layer program that causes the processor to generate the job, manage the generated job, and call a program on the middle layer side in response to the processor;
Have

本発明による画像形成装置の第4態様では、第3態様において、
該中間層側のプログラムは、
該プロセッサに対し、該呼出しに応答して該ジョブシナリオに基づき該ジョブを構成する基本ジョブを順次実行させる第1中間層プログラムと、
該プロセッサに対し、該基本ジョブを構成するジョブステップを実行する第2中間層プログラムと、
を有する。
In a fourth aspect of the image forming apparatus according to the present invention, in the third aspect,
The program on the middle tier side is
A first intermediate layer program for causing the processor to sequentially execute basic jobs constituting the job based on the job scenario in response to the call;
A second intermediate layer program that executes job steps constituting the basic job for the processor;
Have

本発明による画像形成装置の第5態様では、第4態様において、
該下層側のプログラムは、該ジョブステップの実行に際し、該第2中間層プログラムにより呼び出され、該プロセッサに対し、該ハードウェアを制御させる下層プログラムを有し、
該下層プログラムが制御対象のハードウェアエラーを検知した場合に、
該プロセッサに対し、該下層プログラムから該第2上層プログラムへ、該検知したことを通知させ、該通知を受け取った該第2上層プログラムから該第1中間層プログラム、該第2中間層プログラム及び該下層プログラムに該制御の中断命令を順次伝達させる。
In a fifth aspect of the image forming apparatus according to the present invention, in the fourth aspect,
The lower-layer program has a lower-layer program that is called by the second middle-layer program when the job step is executed and causes the processor to control the hardware.
When the lower layer program detects a hardware error to be controlled,
The processor is notified of the detection from the lower layer program to the second upper layer program, and from the second upper layer program that has received the notification, the first intermediate layer program, the second intermediate layer program, and the The lower layer program is sequentially transmitted with the control interruption command.

本発明による画像形成装置の第6態様では、第2乃至第5態様のいずれか1つの態様において、
該アプリケーションは、
該多層化された各プログラムの状態及びこれらの制御対象であるハードウェアの状態を管理するシステム管理プログラムを更に有し、
該検知は、該システム管理プログラムを介して該上層側のプログラムに通知されるものである。
In a sixth aspect of the image forming apparatus according to the present invention, in any one of the second to fifth aspects,
The application
A system management program for managing the state of each of the multi-layered programs and the state of the hardware to be controlled;
The detection is notified to the upper layer program via the system management program.

本発明による画像形成方法の第1態様では、
複数種のジョブを実行可能なアプリケーションが格納された記憶手段を備えた画像形成装置に対し、該アプリケーションにより上層側のプログラムから下層側のプログラムへと命令を順次伝達させて画像を形成する画像形成方法であって、
該下層側のプログラムでハードウェアエラーを検知した場合に、
該アプリケーションから、該画像形成装置に対し、該下層側のプログラムから該上層側のプログラムへ、該検知したことを通知させ、該通知を受け取った該上層側のプログラムから該下層側のプログラムへとハードウェアの制御を中断する命令を順次伝達させる。
In the first aspect of the image forming method according to the present invention,
Image formation for forming an image by sequentially transmitting instructions from an upper-layer program to a lower-layer program for an image forming apparatus having a storage unit storing an application capable of executing a plurality of types of jobs A method,
When a hardware error is detected in the lower layer program,
The application causes the image forming apparatus to be notified of the detection from the lower-layer program to the upper-layer program, and from the upper-layer program that has received the notification to the lower-layer program. Instructions for interrupting hardware control are sequentially transmitted.

本発明によるアプリケーションプログラムの第1態様では、
画像形成装置に搭載される、複数種のジョブを実行可能なアプリケーションプログラムであって、
該アプリケーションプログラムは、該画像形成装置に対し、上層側のプログラムから下層側のプログラムへと命令を順次伝達させるものであり、
該下層側のプログラムでハードウェアエラーを検知した場合に、
該プロセッサに対し、該下層側のプログラムから該上層側のプログラムへ、該検知したことを通知させ、該通知を受け取った該上層側のプログラムから該下層側のプログラムへとハードウェアの制御を中断する命令を順次伝達させる。
In the first aspect of the application program according to the present invention,
An application program installed in the image forming apparatus and capable of executing a plurality of types of jobs,
The application program causes the image forming apparatus to sequentially transmit commands from the upper layer side program to the lower layer side program,
When a hardware error is detected in the lower layer program,
The processor is notified of the detection from the lower-layer program to the upper-layer program, and the hardware control is suspended from the upper-layer program that has received the notification to the lower-layer program. The instructions to be transmitted are transmitted sequentially.

本発明の態様では、従来のようなジョブ種毎に個別のアプリケーションを備える構成とは相違し、機能を抽象化して統一化した、複数種のジョブが実行可能な統合アプリケーションを備えており、これにより、従来にあるアプリケーション同士の機能的に共通するプログラムを複数種のジョブで有効利用することが可能である。   The aspect of the present invention is different from the conventional configuration in which individual applications are provided for each job type, and includes an integrated application that can execute a plurality of types of jobs with abstracted functions. Thus, it is possible to effectively use a program that is functionally common among existing applications in a plurality of types of jobs.

上記第1態様の構成によれば、多層化されたプログラム間での命令の方向がエラーの有無に係らず上層側から下層側となり、該多層化されたプログラム間の関係の複雑化を避けることができるので、プログラムの開発及び設計変更を容易にすることができるという効果を奏する。   According to the configuration of the first aspect, the direction of instructions between the multi-layered programs is changed from the upper layer side to the lower layer side regardless of the presence or absence of an error, thereby avoiding a complicated relationship between the multi-layered programs. Therefore, it is possible to facilitate the development and design change of the program.

上記第2態様から第5態様の構成によれば、アプリケーションが機能別に多層化されているので、プログラムの開発及び設計変更を容易にすることが可能であるという効果を奏する。   According to the configuration of the second aspect to the fifth aspect, the application is multi-layered according to the function, so that it is possible to easily develop the program and change the design.

また上記第4態様の構成によれば、ジョブシナリオにおいて複数の基本ジョブを組み合わせるだけで容易に多種多様なジョブを作成することができるので、プログラムの開発及び設計変更を容易にすることが可能であるという効果を奏する。   Further, according to the configuration of the fourth aspect, it is possible to easily create a wide variety of jobs simply by combining a plurality of basic jobs in a job scenario, so that program development and design change can be facilitated. There is an effect that there is.

本発明の他の目的、構成及び効果は以下の説明から明らかになる。   Other objects, configurations and effects of the present invention will become apparent from the following description.

[1]ハードウェア概略構成
図15は、本発明の実施例1に係る画像形成装置10のハードウェア構成を示す概略ブロック図である。
[1] Hardware Schematic Configuration FIG. 15 is a schematic block diagram showing a hardware configuration of the image forming apparatus 10 according to the first embodiment of the present invention.

この画像形成装置10では、MPU11にインタフェース12を介してEEPROM13E1、EEPROM13E2、DRAM13D、HDD14、操作パネル15、スキャナ16S、プリンタ16P、NIC17、ファクシミリモデム18及び圧縮・伸張ASIC19が結合されている。図15では、簡単化のため、複数のインタフェースを1つのブロックで示している。   In this image forming apparatus 10, an EEPROM 13 E 1, EEPROM 13 E 2, DRAM 13 D, HDD 14, operation panel 15, scanner 16 S, printer 16 P, NIC 17, facsimile modem 18, and compression / decompression ASIC 19 are coupled to the MPU 11 via an interface 12. In FIG. 15, a plurality of interfaces are shown as one block for the sake of simplicity.

EEPROM13E1及び13E2は、例えばフラッシュメモリである。EEPROM13E1には、BIOS(Basic Input Output System)が格納されている。EEPROM13E2には、後述のソフトウェアが格納されている。DRAM13Dはワークエリア用であり、画像入出力手段としてのHDD14はデータ格納用である。   The EEPROMs 13E1 and 13E2 are, for example, flash memories. The EEPROM 13E1 stores BIOS (Basic Input Output System). The EEPROM 13E2 stores software described later. The DRAM 13D is for work area, and the HDD 14 as image input / output means is for data storage.

操作パネル15は、設定値又は指示を入力し、設定画面や状態などを表示させるためのものである。本実施例1では、操作パネル15がタッチパネルとハードウェアキーの組み合わせで構成されている。   The operation panel 15 is used for inputting a setting value or an instruction and displaying a setting screen or a state. In the first embodiment, the operation panel 15 is configured by a combination of a touch panel and hardware keys.

画像入力手段としてのスキャナ16Sは、スキャン、コピー及びファックス送信での画像入力に用いられる。画像出力手段としてのプリンタ16Pは、プリントエンジン、定着器並びに用紙の給紙部、搬送部及び排紙部を備え、供給されるビットマップデータに基づいてプリントエンジンの感光ドラムに静電潜像を形成し、これをトナーで現像し、用紙に転写し定着させた後に排紙する。   The scanner 16S as image input means is used for image input in scanning, copying, and fax transmission. The printer 16P as an image output means includes a print engine, a fixing device, a paper feeding unit, a transport unit, and a paper discharge unit, and generates an electrostatic latent image on the photosensitive drum of the print engine based on the supplied bitmap data. The toner is formed, developed with toner, transferred to a sheet, fixed, and discharged.

画像入出力手段としてのNIC17は、ケーブル又は無線の通信媒体を介してホストコンピュータ20に結合され、プリントジョブ、電子メール送受信、インターネットファクシミリ送信及びブラウザからの操作パネル15の遠隔操作に用いられる。ファクシミリモデム18は、ファクシミリ送受信用である。   The NIC 17 as image input / output means is coupled to the host computer 20 via a cable or a wireless communication medium, and is used for print jobs, e-mail transmission / reception, Internet facsimile transmission, and remote operation of the operation panel 15 from a browser. The facsimile modem 18 is for facsimile transmission / reception.

圧縮・伸張ASIC19は、MPU11のコプロセッサとして用いられ、例えば画像の圧縮及び伸張にそれぞれ2ポートを有し、最大4並列実行可能である。
[2]ソフトウェア設計思想
まず、ソフトウェア設計思想について説明する。
The compression / decompression ASIC 19 is used as a coprocessor of the MPU 11, and has, for example, two ports for image compression and decompression, and can execute up to four in parallel.
[2] Software design concept First, the software design concept will be described.

従来の画像形成装置の1つである複合機では、プリント、コピー及びファックスなどのユーザサービスに対応するアプリケーションをそれぞれ別個に設ける構成となっていた。すなわち1つのアプリケーションは、上記ユーザサービスの1つと対応し、複合機はこのユーザサービスを提供するためにジョブを実行していた。   A multi-function machine, which is one of conventional image forming apparatuses, has a configuration in which applications corresponding to user services such as printing, copying, and faxing are provided separately. That is, one application corresponds to one of the user services described above, and the multi-function device executes a job to provide the user service.

しかし、アプリケーション同士には、部分的に共通する管理や制御が存在する。   However, some applications have common management and control.

そこで、本発明では、従来複数あったアプリケーションを1つに統合し、1つのアプリケーションで全てのサービスを提供可能且つ全てのジョブを実行可能とし、共通部分を纏めることとした。以下の記載は、この統合化したアプリケーションに係わるものである。   Therefore, in the present invention, a plurality of conventional applications are integrated into one, all services can be provided by one application, all jobs can be executed, and common parts are collected. The following description relates to this integrated application.

ジョブとは、ユーザがコンピュータに実行させる仕事の単位である。   A job is a unit of work that a user causes a computer to execute.

しかし、複合機の多機能化に伴いジョブ種が増えると、ジョブの実行に用いられるソフトウェア部品数が増加し、プログラムが複雑化する。   However, when the number of job types increases with the multifunction of multifunction devices, the number of software components used for job execution increases and the program becomes complicated.

そこで、ジョブを基本ジョブに分解し、基本ジョブを組み合わせることにより、ジョブを体系化し、ジョブ層でこの組み合わせを取り扱うようにする。すなわち、基本ジョブの組み合わせとこれの実行順をジョブシナリオとし、このジョブシナリオに従って1つ又は複数の基本ジョブを順次実行することによりジョブを実行する。これにより、ジョブに対応したプログラムの複雑化を避け、又多機能化に伴いジョブ種を増やしたり機能を追加、変更する必要がある場合に、設計変更を容易にする。   Therefore, the job is decomposed into basic jobs, and the basic jobs are combined to organize the jobs so that the job layer handles this combination. That is, a combination of basic jobs and their execution order are used as a job scenario, and a job is executed by sequentially executing one or a plurality of basic jobs according to the job scenario. As a result, the complexity of the program corresponding to the job is avoided, and the design change is facilitated when the number of job types is increased or the function needs to be added or changed as the number of functions increases.

また、本発明では、この統合化したアプリケーションを機能別に多層化することにより設計変更を更に容易にする。本実施例では、アプリケーションをサービス層とジョブ層とエレメント層とに分け多層化する。   Further, in the present invention, the design change is further facilitated by multilayering the integrated application by function. In the present embodiment, the application is divided into a service layer, a job layer, and an element layer to be multilayered.

さらに、サービス層内及びジョブ層内をより具体的に機能別にして多層化することにより設計変更を容易にする。   Furthermore, design changes can be facilitated by making the service layer and the job layer more specifically function-specific.

さらにまた、ミドルウェア層は主に、ハードウェアをその状態に応じて、機種に依存せずアプリケーションが比較的簡単に制御(「操作」と称す。)できるようにするための基本的なプログラムを備えて、アプリケーションを簡単化するとともに設計変更を容易にする。   Furthermore, the middleware layer mainly includes a basic program for enabling the application to be controlled relatively easily (referred to as “operation”) regardless of the model depending on the state of the hardware. This simplifies applications and makes design changes easier.

しかし、このように設計変更容易化のために、多層化されると、各層間の関係が増えるので、簡単化する工夫が必要になる。   However, in order to facilitate the design change in this way, when the number of layers is increased, the relationship between the layers increases.

そこで、以下に説明するように、サービスの種類によってはジョブ層を通さずにサービスを実行(指示伝達を簡単化)したり、ジョブ情報の伝達を簡単化したり、指示と通知の伝達方向を統一したりして、設計変更を容易化している。   Therefore, as described below, depending on the type of service, the service is executed without passing through the job layer (simplification of instruction transmission), the transmission of job information is simplified, and the direction of transmission of instructions and notifications is unified. To make design changes easier.

以下、本発明に係わる統合化され多層化されたアプリケーションの説明をする。
[3]ソフトウェア階層構造
図1は、多層化されたアプリケーションの階層構造を示す概略ブロック図である。
Hereinafter, an integrated and multi-layered application according to the present invention will be described.
[3] Software Hierarchical Structure FIG. 1 is a schematic block diagram showing the hierarchical structure of a multi-layered application.

OS層30の上層には、ミドルウェア層40を介してアプリケーション層50が存在する。   An application layer 50 exists above the OS layer 30 via the middleware layer 40.

本実施例の特徴部分であるアプリケーション層50は、コモン部51及びシステム管理部52と、下層のエレメント層60と、中間層のジョブ層70と、上層のサービス層80とを備えている。   The application layer 50, which is a characteristic part of the present embodiment, includes a common unit 51 and a system management unit 52, a lower element layer 60, an intermediate job layer 70, and an upper service layer 80.

サービス層80は、ユーザのサービス要求を受け付けてジョブ層70及びエレメント層60を介してユーザにサービスを提供するものである。上述のように、サービス層80で受け付けたサービスは、ジョブ層70を介さずにエレメント層60又はシステム管理部52で実行されるものがあり、これらをジョブと区別するために「ワーク」と称す。各サービスは、ジョブ又はワークに対応し、ジョブはジョブ層70により実行される。該ジョブは、1つ又は複数の基本ジョブで構成され、さらに基本ジョブは1つ又は複数のジョブステップで構成され、該ジョブステップはジョブ層70によりエレメント層60を随時利用して実行される。   The service layer 80 receives a user service request and provides a service to the user via the job layer 70 and the element layer 60. As described above, some services received by the service layer 80 are executed by the element layer 60 or the system management unit 52 without going through the job layer 70, and these are called “work” in order to distinguish them from jobs. . Each service corresponds to a job or a work, and the job is executed by the job layer 70. The job is composed of one or a plurality of basic jobs, and the basic job is composed of one or a plurality of job steps. The job steps are executed by the job layer 70 using the element layer 60 as needed.

図2は、各層に含まれる機能部を示す。各機能部は、1つ以上のプログラムモジュールから構成される。図2中の矢印付線は、主な処理の流れを一般的に示す。
[4]OS層
OS層30は、ハードウェアに依存したデバイスドライバ31と、OS32とを備え、デバイスドライバ31はOS32の下層に位置し、OS32に登録される。OS32は汎用であり、そのカーネルは例えばLinux(登録商標)である。
[5]ミドルウェア層
ミドルウェア層40は、機能部41〜43を備えている。
FIG. 2 shows functional units included in each layer. Each functional unit is composed of one or more program modules. The lines with arrows in FIG. 2 generally indicate the main processing flow.
[4] OS Layer The OS layer 30 includes a hardware-dependent device driver 31 and an OS 32. The device driver 31 is located below the OS 32 and is registered in the OS 32. The OS 32 is general-purpose and its kernel is, for example, Linux (registered trademark).
[5] Middleware layer The middleware layer 40 includes functional units 41 to 43.

デバイス制御部41は、デバイスドライバ31を介し、操作パネル15、スキャナ16S、プリンタ16P、NIC17及びファクシミリモデム18を制御し、又これらデバイスの状態通知を受け取るためのものである。   The device control unit 41 controls the operation panel 15, the scanner 16S, the printer 16P, the NIC 17 and the facsimile modem 18 via the device driver 31 and receives notification of the status of these devices.

画像処理部42は、圧縮・伸張ASIC19の制御、画像の拡大、縮小又は回転処理及びRIPなどの処理を行う。   The image processing unit 42 performs processing such as control of the compression / decompression ASIC 19, image enlargement / reduction or rotation processing, and RIP.

リソース管理部43は、リソースごとのリソース要求キューに従って、リソースを割り当て、割り当てたリソースが使用済みになったら解放する。   The resource management unit 43 allocates resources according to the resource request queue for each resource, and releases the allocated resources when they are used.

以下、アプリケーション層50について説明する。
[6]コモン部及びシステム管理部
コモン部51は、システム管理部52、エレメント層60、ジョブ層70及びサービス層80で共通に用いられるプログラムと、機種に依存する設定値が条件を満たしているか否かを判定するプログラムとを含んでいる。このコモン部51により、システム管理部52、エレメント層60、ジョブ層70及びサービス層80のプログラムが簡単化され且つ機種に依存しないものとなり、設計変更が容易となる。
Hereinafter, the application layer 50 will be described.
[6] Common Unit and System Management Unit The common unit 51 is a program used in common by the system management unit 52, the element layer 60, the job layer 70, and the service layer 80, and whether the setting value depending on the model satisfies the condition. And a program for judging whether or not. The common unit 51 simplifies the programs of the system management unit 52, the element layer 60, the job layer 70, and the service layer 80, and does not depend on the model, thereby facilitating design changes.

システム管理部52は、システムの状態及びユーザを管理しており、システム内でエラーが発生した場合は、その通知を必要な箇所に分配し、またログイン処理及びログイン後のサービス要求許否の処理を担当する。
[7]エレメント層
エレメント層60は、デバイス操作部61、画像処理操作部62及びエンティティ部63の各機能部を備えている。これら機能部61又は62はそれぞれ、ミドルウェア層40の機能部41又は42に対応している。デバイス操作部61及びエンティティ部63はいずれも、画像入力手段及び画像出力手段を制御又は操作するためのものである。
The system management unit 52 manages the system status and users. When an error occurs in the system, the system management unit 52 distributes the notification to a necessary part, and performs login processing and service request permission / denial processing after login. Handle.
[7] Element Layer The element layer 60 includes functional units of a device operation unit 61, an image processing operation unit 62, and an entity unit 63. These functional units 61 or 62 correspond to the functional units 41 or 42 of the middleware layer 40, respectively. The device operation unit 61 and the entity unit 63 are both for controlling or operating the image input unit and the image output unit.

デバイス操作部61は、デバイス制御部41から通知される機器の状態に応じて、デバイス制御部41を操作する。   The device operation unit 61 operates the device control unit 41 according to the state of the device notified from the device control unit 41.

画像処理操作部62は、中間データの生成などの処理を行い、又上記画像処理部42を介して画像の圧縮、伸張、拡大、縮小、回転及びRIPなどの処理を行う。   The image processing operation unit 62 performs processing such as generation of intermediate data, and also performs processing such as image compression, expansion, enlargement, reduction, rotation, and RIP via the image processing unit 42.

エンティティ部63は、データの保持と管理を行う。
[8]ジョブ層
ジョブ層70は、ジョブの実行を管理し、且つエレメント層60の1つの機能部内にあるプログラムを起動し又は複数の機能部内のプログラムをシーケンシャルに起動して、ジョブを実行するものであり、ジョブ管理部71、ジョブ制御部72、基本ジョブ実行部73、インプットステップ実行部74、エディットステップ実行部75及びアウトプットステップ実行部76の各ステップ実行部と、これらからアクセス可能なジョブ情報77とを備えている。なお、便宜のため、ジョブ管理部71及びジョブ制御部72を含むものを「応用ジョブ層」と称し、基本ジョブ実行部73、インプットステップ実行部74、エディットステップ実行部75及びアウトプットステップ実行部76を含むものを「基本ジョブ層」と称す。
The entity unit 63 holds and manages data.
[8] Job Layer The job layer 70 manages job execution and starts a program in one functional unit of the element layer 60 or sequentially starts programs in a plurality of functional units to execute a job. The job execution unit 71, the job control unit 72, the basic job execution unit 73, the input step execution unit 74, the edit step execution unit 75, and the output step execution unit 76 are accessible from these step execution units. Job information 77. For convenience, what includes the job management unit 71 and the job control unit 72 is referred to as an “applied job layer”, and a basic job execution unit 73, an input step execution unit 74, an edit step execution unit 75, and an output step execution unit. Those including 76 are referred to as “basic job layer”.

ジョブ管理部71は、サービス層80からのジョブ開始要求に応じて、その時点の設定情報(ジョブ種に対応する部分のみで可)をコピーした、ジョブ情報77を生成し、上記リソース管理部43を介して該ジョブを構成する基本ジョブの実行に必要なハードウェア資源を獲得し、その後ジョブ制御部72にジョブの実行、実行順の変更、中断、再開又はキャンセルなどのジョブ制御指示を行う。ここで、ジョブ情報77とは、ジョブの設定値とジョブの状態とからなり、ジョブ種によらない、各ジョブに共通の構造体である。図5は、ジョブ情報に含まれる設定値の説明図である。   In response to a job start request from the service layer 80, the job management unit 71 generates job information 77 that is a copy of the setting information at that time (only the part corresponding to the job type), and the resource management unit 43 Hardware resources necessary for the execution of the basic job constituting the job are acquired, and then a job control instruction such as job execution, change of execution order, interruption, restart or cancellation is given to the job control unit 72. Here, the job information 77 is composed of job setting values and job states, and is a structure common to all jobs regardless of the job type. FIG. 5 is an explanatory diagram of setting values included in the job information.

ジョブ制御部72は、上記ジョブ制御指示に応答し、その指示がジョブの実行の場合、ジョブシナリオに従って基本ジョブ実行部73にジョブを構成する基本ジョブを順次実行指示することによりジョブを実行する。ここにジョブシナリオは、1つ以上の基本ジョブとその実行順の情報を含む。このジョブシナリオは、条件に応じて基本ジョブを選択する条件分岐命令を含んでもよい。例えば出力リソース待ちの場合、出力を急ぐためユーザの設定に応じ出力リソースを変更するようにしてもよい。   In response to the job control instruction, the job control unit 72 executes the job by sequentially instructing the basic job execution unit 73 to execute the basic jobs constituting the job according to the job scenario. Here, the job scenario includes one or more basic jobs and execution order information. This job scenario may include a conditional branch instruction for selecting a basic job according to a condition. For example, when waiting for an output resource, the output resource may be changed according to a user setting in order to rush the output.

基本ジョブ実行部73は、上記基本ジョブ実行指示に応答し、基本ジョブが画像処理を含む場合にはイメージジョブ実行部73aを起動し、含まない場合にはアクセスジョブ実行部73bを起動する。   In response to the basic job execution instruction, the basic job execution unit 73 activates the image job execution unit 73a when the basic job includes image processing, and activates the access job execution unit 73b when the basic job does not include image processing.

イメージジョブ実行部73aは、基本ジョブシナリオに従って、画像処理対象の頁ごとにインプットステップ実行部74、エディットステップ実行部75又はアウトプットステップ実行部76を起動してジョブステップを順次実行させることにより、基本ジョブを実行する。ここに基本ジョブシナリオは、複数のジョブステップとその実行順の情報を含む。このシナリオも、上記同様に、条件分岐命令を含むことができる。   The image job execution unit 73a starts the input step execution unit 74, the edit step execution unit 75, or the output step execution unit 76 for each page to be processed according to the basic job scenario, and sequentially executes the job steps. Execute basic jobs. Here, the basic job scenario includes information on a plurality of job steps and their execution order. This scenario can also include a conditional branch instruction as described above.

アクセスジョブ実行部73bは、エレメント層60にあるデバイス操作部61又はエンティティ部63を介して、画像処理を伴わない基本ジョブを実行する。例えば、デバイス操作部61、デバイス制御部41、デバイスドライバ31及びNIC17を介して特定の状態変化を電子メールで通知する。   The access job execution unit 73b executes a basic job without image processing via the device operation unit 61 or the entity unit 63 in the element layer 60. For example, a specific state change is notified by e-mail via the device operation unit 61, the device control unit 41, the device driver 31, and the NIC 17.

インプットステップ実行部74は、デバイス操作部61又はエンティティ部63を介して画像入力に係わるジョブステップを実行する。例えば、デバイス操作部61、デバイス制御部41及びデバイスドライバ31を介してスキャナ16Sに原稿画像データを読み込ませる処理を行う。また、エンティティ部63が保持している印刷ファイルをファクシミリモデム18により送信する場合に、エンティティ部63から印刷ファイルを取得するのもインプットステップとして実行する。   The input step execution unit 74 executes a job step related to image input via the device operation unit 61 or the entity unit 63. For example, the scanner 16S reads the document image data via the device operation unit 61, the device control unit 41, and the device driver 31. In addition, when the print file held by the entity unit 63 is transmitted by the facsimile modem 18, the print file is acquired from the entity unit 63 as an input step.

エディットステップ実行部75は、画像処理操作部62を介して画像編集に係わるジョブステップを実行する。例えば、画像処理操作部62及び画像処理部42を介して未編集の印刷データに対し拡大、縮小、回転などの処理を行う。   The edit step execution unit 75 executes job steps related to image editing via the image processing operation unit 62. For example, processing such as enlargement, reduction, and rotation is performed on unedited print data via the image processing operation unit 62 and the image processing unit 42.

アウトプットステップ実行部76は、デバイス操作部61又はエンティティ部63を介して画像出力に係わるジョブステップを実行する。例えば、デバイス操作部61、デバイス制御部41及びデバイスドライバ31を介してプリンタ16Pに印刷データを印刷させる処理を行う。
[9]サービス層
サービス層80は、上層のユーザサービス受付部81と、下層のユーザサービス実行部82及びシステムサービス実行部83とを備えている。
The output step execution unit 76 executes a job step related to image output via the device operation unit 61 or the entity unit 63. For example, a process for causing the printer 16P to print print data via the device operation unit 61, the device control unit 41, and the device driver 31 is performed.
[9] Service Layer The service layer 80 includes an upper layer user service reception unit 81, a lower layer user service execution unit 82, and a system service execution unit 83.

ユーザサービス受付部81は、ユーザからの要求をイベント通知により受け付けて、ユーザの要求が何であるかを判断し、この要求に応えるためユーザサービス実行部82に対しサービスの実行を指示する。   The user service reception unit 81 receives a request from the user by an event notification, determines what the user request is, and instructs the user service execution unit 82 to execute the service in response to the request.

具体的には、操作パネル15、NIC17又はファクシミリモデム18等からデバイスドライバ31、デバイス制御部41及びデバイス操作部61を介した要求を受け付け、ユーザのサービス要求に応じたジョブシナリオの識別子(ポインタ又は参照)をユーザサービス実行部82に引き渡すことによりサービスの実行を指示する。このサービス要求には、コピー、ファックス送受信、電子メール送受信、メンテナンス、ソフトウェアのアップデート等がある。但し、エンティティ部63が保持する設定情報等のデータの表示や変更などの簡易なサービス要求を受け付けた場合は、アプリケーションの複雑化を避けるため、ユーザサービス実行部82に実行を指示せず、エンティティ部63に直接サービスの実行を指示する。   Specifically, a request via the device driver 31, the device control unit 41, and the device operation unit 61 is received from the operation panel 15, the NIC 17, or the facsimile modem 18, and the job scenario identifier (pointer or pointer) corresponding to the user service request is received. (See) is handed over to the user service execution unit 82 to instruct execution of the service. This service request includes copy, fax transmission / reception, e-mail transmission / reception, maintenance, software update, and the like. However, when a simple service request such as display or change of data such as setting information held by the entity unit 63 is received, the execution is not instructed to the user service execution unit 82 in order to avoid complication of the application. The unit 63 is instructed to execute the service directly.

ユーザサービス実行部82は、上記サービス実行指示に応答して、ジョブシナリオの識別子をジョブ管理部に引き渡してジョブの開始指示をすることにより、サービスを実行する。   In response to the service execution instruction, the user service execution unit 82 executes the service by delivering the job scenario identifier to the job management unit and instructing the start of the job.

システムサービス実行部83は、画像形成装置10のシステム要求を、システム管理部52を介して受け付け、ジョブ管理部71を呼び出すことによりサービスを実行する。本実施例では、システムからの要求は後述する通知サービスのみ受け付けるが、他のサービス要求、例えば所定の時刻に自動的にFAX送信又はメンテナンスをするサービス等を受け付けるように設計してもよい。   The system service execution unit 83 receives a system request from the image forming apparatus 10 via the system management unit 52 and executes the service by calling the job management unit 71. In the present embodiment, only the notification service described later is accepted as a request from the system, but it may be designed to accept other service requests, for example, a service that automatically performs FAX transmission or maintenance at a predetermined time.

システムサービス実行部83は、システム管理部52からの機器又はユーザジョブの状態変化の通知を受け取ると、エンティティ部63に格納されている設定情報に基づきジョブ管理部71に対し通知ジョブの実行を指示する。通知ジョブは、ユーザ設定のイベント、例えば実行中のジョブでエラーが発生したりファックス送信が完了したりした時に、設定した通知手段でユーザに該イベントの発生を通知するものである。この設定情報は、ユーザへの通知要否、通知すべきイベント、プリントや電子メールなどの通知手段、電子メールの場合には通知先などを含み、操作パネル15から変更が可能である。   When the system service execution unit 83 receives the notification of the status change of the device or user job from the system management unit 52, the system service execution unit 83 instructs the job management unit 71 to execute the notification job based on the setting information stored in the entity unit 63. To do. The notification job is to notify the user of the occurrence of the event by the set notification means when an error occurs in a user-set event, for example, an ongoing job, or fax transmission is completed. This setting information includes the necessity of notification to the user, events to be notified, notification means such as print and email, and notification destination in the case of email, and can be changed from the operation panel 15.

以下、上述したソフトウェア、特にアプリケーション層50が種々のサービス要求に対応するフローを説明する。
[10]プリントサービス実行フロー
図3は、各機能部間を矢印付線で結んでプリントサービス実行時のフローを示す図である。以下、括弧内は図中の実行指示識別符号を示す。
Hereinafter, a flow in which the above-described software, particularly the application layer 50, responds to various service requests will be described.
[10] Print Service Execution Flow FIG. 3 is a diagram showing a flow when the print service is executed by connecting the functional units with arrows. In the following, the execution instruction identification codes in the figure are shown in parentheses.

(A01、A02)イベントドリブンにより、一方ではホストコンピュータ20からのデータが、NIC17及びデバイスドライバ31を介してリソース管理部43が確保する、DRAM13Dのバッファ領域内に格納され、他方ではデバイス制御部41及びデバイス操作部61を介して印刷要求とデータ識別情報とがユーザサービス受付部81に通知される。   (A01, A02) By event driven, on the one hand, data from the host computer 20 is stored in the buffer area of the DRAM 13D secured by the resource management unit 43 via the NIC 17 and the device driver 31, and on the other hand, the device control unit 41 The print request and the data identification information are notified to the user service reception unit 81 via the device operation unit 61.

(A03)ユーザサービス受付部81は、印刷要求の通知であった場合、プリントのジョブシナリオの識別子と、サービスに対応した設定情報の識別子と、をユーザサービス実行部82に渡すとともに、プリントサービスの実行を指示する(ユーザサービス実行部82を起動する)。この設定情報には、上記データ識別情報と、プリントに関しEEPROM13E2に設定されている現在の設定値が含まれる。   (A03) In the case of a print request notification, the user service accepting unit 81 passes the identifier of the print job scenario and the identifier of the setting information corresponding to the service to the user service execution unit 82, and at the same time, Execution is instructed (the user service execution unit 82 is activated). This setting information includes the data identification information and the current setting value set in the EEPROM 13E2 for printing.

ユーザサービス実行部82はこれに応答して、図4のシーケンス図に示すような動作を行うことにより、サービスを実行する。以下、この動作を具体的に説明する。   In response to this, the user service execution unit 82 executes the service by performing an operation as shown in the sequence diagram of FIG. Hereinafter, this operation will be specifically described.

(A04)ユーザサービス実行部82は、ジョブ管理部71を起動し、これにプリントジョブを生成指示することによりプリントサービスの実行を開始する。   (A04) The user service execution unit 82 activates the job management unit 71 and instructs the generation of a print job to start execution of the print service.

(A05)ジョブ管理部71はこれに応答して、初期化されたジョブ情報77のインスタンスを生成する。このインスタンスは、ジョブ情報77のディフォルト値を持っている。次に、ジョブ管理部71はこのジョブにジョブIDを割当て、ジョブ情報77にこれとジョブ種を書き込む。   (A05) In response to this, the job management unit 71 generates an instance of the initialized job information 77. This instance has a default value of job information 77. Next, the job management unit 71 assigns a job ID to this job, and writes this and the job type in the job information 77.

(A06)ジョブ管理部71は、ジョブ情報77の生成及び書き込みが完了すると、ユーザサービス実行部82に上記ジョブIDを通知する。   (A06) When the generation and writing of the job information 77 is completed, the job management unit 71 notifies the user service execution unit 82 of the job ID.

(A07、A08)ユーザサービス実行部82は、ユーザサービス受付部81から受け取った上記設定情報をジョブ情報77に書き込み、次いでジョブ管理部71に対し、プリントのジョブシナリオの識別子を引き渡してプリントジョブの開始を指示する。   (A07, A08) The user service execution unit 82 writes the setting information received from the user service reception unit 81 into the job information 77, and then hands over the identifier of the print job scenario to the job management unit 71 to print the print job. Instruct the start.

(A09〜A11)ジョブ管理部71はこれに応答して、システム管理部52にジョブ開始をジョブIDとともに通知し、上記ジョブシナリオの識別子に基づきジョブシナリオを参照し、リソース管理部43に対し、基本ジョブを実行するのに必要なメモリや圧縮・伸張ASIC19などのハードウェア資源の獲得要求をし、この獲得後、ジョブシナリオの識別子とジョブ情報77の識別子とをジョブ制御部72に引き渡すとともに、プリントジョブの制御を指示する。   (A09 to A11) In response, the job management unit 71 notifies the system management unit 52 of the job start together with the job ID, refers to the job scenario based on the identifier of the job scenario, and instructs the resource management unit 43 to A hardware resource acquisition request such as memory and compression / decompression ASIC 19 necessary for executing the basic job is requested, and after acquisition, the job scenario identifier and the job information 77 identifier are delivered to the job control unit 72, and Instructs control of print job.

(A12)ジョブ制御部72はこれに応答して、受け取ったジョブシナリオの識別子に基づきジョブシナリオを参照し、これに従って、基本ジョブ実行部73にジョブ情報77の識別子を引き渡すとともに、基本ジョブを実行指示する。ここで本実施例では、プリントジョブは1つの基本ジョブから構成されるので、ジョブ制御部72はこの基本ジョブだけを実行指示するが、プリントジョブが複数の基本ジョブから構成される場合は、ジョブ制御部72は、ジョブシナリオに従って、1つの基本ジョブを実行指示し、その実行完了後、次の基本ジョブを実行指示するというように、複数の基本ジョブを順次実行指示するものである。   (A12) In response, the job control unit 72 refers to the job scenario based on the received job scenario identifier, and delivers the identifier of the job information 77 to the basic job execution unit 73 and executes the basic job accordingly. Instruct. In this embodiment, since the print job is composed of one basic job, the job control unit 72 instructs execution of only this basic job. However, if the print job is composed of a plurality of basic jobs, The control unit 72 instructs to execute a plurality of basic jobs in sequence, such as instructing execution of one basic job according to the job scenario, and instructing execution of the next basic job after completion of the execution.

従来ではジョブが実行された後、プログラムの階層をミドルウェア層40まで順に降りてからメモリなどのジョブに必要なハードウェア資源を獲得していたので、資源を獲得できずに待ち状態となっている時にジョブがキャンセルされると、それまでの処理が無駄になったが、本実施例ではハードウェア資源獲得後に基本ジョブを実行するので、このような無駄を省略することができるという効果を奏する。   Conventionally, after a job is executed, the hardware hierarchy necessary for the job such as a memory is acquired after descending the program hierarchy to the middleware layer 40 in order, so that the resource cannot be acquired and is in a waiting state. If the job is canceled sometimes, the processing up to that point is wasted, but in this embodiment, since the basic job is executed after acquiring the hardware resources, such a waste can be omitted.

基本ジョブ実行部73は、上記基本ジョブ実行指示に応答して、基本ジョブ種に応じて、イメージジョブ実行部73aにジョブ情報77の識別子と指示された基本ジョブを伝達するとともに、これを起動する。イメージジョブ実行部73aはこれに応答して、指示された基本ジョブに対応する基本ジョブシナリオを参照し、これに従って以下のようにステップ実行部74〜76に対し画像入力、画像処理(省略される場合有)及び画像出力のジョブステップをシーケンス制御する。すなわち、指示された基本ジョブを構成する複数のジョブステップを、基本ジョブシナリオに従ってステップ実行部74〜76に順次実行指示する。なお、ジョブ制御部72が基本ジョブ実行部73に実行指示し、これがイメージジョブ実行部73aを起動する場合を説明したが、ジョブ制御部72が直にイメージジョブ実行部73aを起動するようにしてもよい。   In response to the basic job execution instruction, the basic job execution unit 73 transmits the basic job instructed with the identifier of the job information 77 to the image job execution unit 73a according to the basic job type, and activates the basic job. . In response to this, the image job execution unit 73a refers to the basic job scenario corresponding to the instructed basic job, and in accordance with this, the image input and image processing (omitted from the step execution units 74 to 76) are performed as follows. Sequence control) and image output job steps. That is, the step execution units 74 to 76 are sequentially instructed to execute a plurality of job steps constituting the instructed basic job according to the basic job scenario. Although the case where the job control unit 72 instructs the basic job execution unit 73 to execute and activates the image job execution unit 73a has been described, the job control unit 72 directly activates the image job execution unit 73a. Also good.

(A13)上記シーケンス制御において、イメージジョブ実行部73aはまず、指示された基本ジョブに対応する基本ジョブシナリオに従って、ジョブ情報77の識別子をインプットステップ実行部74に引き渡すとともにこれを起動する。   (A13) In the above sequence control, the image job execution unit 73a first transfers the identifier of the job information 77 to the input step execution unit 74 and starts it according to the basic job scenario corresponding to the instructed basic job.

(A14)インプットステップ実行部74は、これに応答して、ジョブ情報77に含まれるジョブ種(プリントジョブ)に応じジョブ情報77から所定の設定情報を読み取り、これに基づき、画像処理操作部62に該ジョブ情報77に含まれる上記データ識別情報を渡すとともにこれを起動する。   (A14) In response to this, the input step execution unit 74 reads predetermined setting information from the job information 77 according to the job type (print job) included in the job information 77, and based on this, the image processing operation unit 62 The data identification information included in the job information 77 is passed to and activated.

(A15〜A18)画像処理操作部62は、これに応答して、該データ識別情報をデバイス操作部61に引き渡して、リソース管理部43が確保しているバッファ領域内の印刷データをデバイス操作部61に取得させ、この印刷データを逐次解析して、これに含まれる所定の情報をジョブ情報77に書き込み、その後画像処理部42を介して未編集の印刷出力頁データを順次作成していく。そして、1ページ分の印刷出力頁データを作成するごとにインプットステップ実行部74に作成完了を通知するとともに該頁データの識別子を引き渡す。   (A15 to A18) In response to this, the image processing operation unit 62 delivers the data identification information to the device operation unit 61, and print data in the buffer area secured by the resource management unit 43 is transmitted to the device operation unit. 61, the print data is sequentially analyzed, predetermined information included in the print data is written in the job information 77, and then unedited print output page data is sequentially created via the image processing unit. Each time print output page data for one page is created, the input step execution unit 74 is notified of the creation completion and the identifier of the page data is delivered.

(A19)インプットステップ実行部74は、これに応答して、基本ジョブ実行部73内のイメージジョブ実行部73aに該完了を通知するとともに該頁データの識別子を引き渡す。   (A19) In response to this, the input step execution unit 74 notifies the image job execution unit 73a in the basic job execution unit 73 of the completion and delivers the identifier of the page data.

(A20)イメージジョブ実行部73aは、これに応答して、上記基本ジョブシナリオに従って、該頁データの識別子とジョブ情報77の識別子とをエディットステップ実行部75に引き渡すとともにこれを起動する。なお、基本ジョブシナリオによっては、エディットステップ実行部75を起動しない場合があり、その場合はステップA24の処理を行う。   (A20) In response to this, the image job execution unit 73a delivers the page data identifier and the job information 77 identifier to the edit step execution unit 75 and activates them according to the basic job scenario. Depending on the basic job scenario, the edit step execution unit 75 may not be activated. In this case, the process of step A24 is performed.

(A21〜A23)エディットステップ実行部75はこれに応答して、ジョブ情報77に含まれるジョブ種に応じジョブ情報77から所定の設定情報を読み取り、これに基づいて、画像処理操作部62を介し画像処理部42の対応するメソッドを呼び出して、該頁データに対し拡大、縮小、回転などの画像編集を行う。編集が完了すると、基本ジョブ実行部73内のイメージジョブ実行部73aに該完了を通知する。   (A21 to A23) In response to this, the edit step execution unit 75 reads predetermined setting information from the job information 77 in accordance with the job type included in the job information 77, and based on this, the image processing operation unit 62 passes the setting information. A corresponding method of the image processing unit 42 is called to perform image editing such as enlargement, reduction, and rotation on the page data. When the editing is completed, the completion is notified to the image job execution unit 73a in the basic job execution unit 73.

(A24)イメージジョブ実行部73aは、上記基本ジョブシナリオに従って、編集された頁データの識別子とジョブ情報77の識別子とをアウトプットステップ実行部76に引き渡すとともにこれを起動する。   (A24) The image job execution unit 73a delivers the edited page data identifier and the identifier of the job information 77 to the output step execution unit 76 and starts it according to the basic job scenario.

(A25)アウトプットステップ実行部76はこれに応答して、ジョブ情報77に含まれるジョブ種に応じジョブ情報77から所定の設定情報を読み取り、これに基づいてデバイス操作部61を起動する。   (A25) In response to this, the output step execution unit 76 reads predetermined setting information from the job information 77 according to the job type included in the job information 77, and activates the device operation unit 61 based on this.

(A26〜A28)デバイス操作部61はこれに応答して、コモン部51を呼び出して設定情報が機種に依存する条件を満たしているか否かを判定し、肯定判定した場合には、該設定情報に基づいてデバイス制御部41を介し用紙への印刷処理を行う。また、否定判定した場合には、該印刷処理を行わないまま自己の処理を終えるか又は該コモン部51から取得した、該設定情報の代替情報に基づいて該印刷処理を行う。   (A26 to A28) In response to this, the device operation unit 61 calls the common unit 51 to determine whether or not the setting information satisfies a condition depending on the model. Based on the above, a printing process on a sheet is performed via the device control unit 41. Further, when a negative determination is made, the print processing is performed based on the alternative information of the setting information acquired from the common unit 51, or the processing is completed without performing the print processing.

(A29)アウトプットステップ実行部76は、全ての頁に対して該印刷処理が完了すると、基本ジョブ実行部73内のイメージジョブ実行部73aに該完了を通知する。   (A29) When the printing process is completed for all pages, the output step execution unit 76 notifies the completion to the image job execution unit 73a in the basic job execution unit 73.

(A30)イメージジョブ実行部73aは、基本ジョブシナリオを参照して、ジョブステップを全て実行完了したと判断し、すなわちこれらから構成される1つの基本ジョブの実行が完了したと判断し、ジョブ制御部72に基本ジョブの完了を通知する。   (A30) The image job execution unit 73a refers to the basic job scenario, determines that all job steps have been executed, that is, determines that execution of one basic job composed of these has been completed, and performs job control. The unit 72 is notified of the completion of the basic job.

(A31)ジョブ制御部72はこれに応答して、ジョブ管理部71にこの基本ジョブ完了をジョブIDとともに通知する。   (A31) In response to this, the job control unit 72 notifies the job management unit 71 of the completion of the basic job together with the job ID.

(A32〜34)ジョブ管理部71はこれに応答して、リソース管理部43を介し、ジョブ開始時に獲得した上記ハードウェア資源を解放し、ジョブシナリオを参照し、基本ジョブを全て実行完了したと判断し、すなわちこれから構成されるプリントジョブの実行が完了したと判断して、ジョブ情報77を破棄し、且つ、ジョブ完了をジョブIDとともにシステム管理部52及びユーザサービス実行部82に通知する。   (A32-34) In response, the job management unit 71 releases the hardware resources acquired at the start of the job via the resource management unit 43, refers to the job scenario, and completes execution of all the basic jobs. Judgment is made, that is, it is judged that the execution of the print job constituted from this is completed, the job information 77 is discarded, and the job completion is notified to the system management unit 52 and the user service execution unit 82 together with the job ID.

このように、全ジョブ種に共通のデータ構造のジョブ情報77を備えておき、これを利用するインプットステップ実行部74、エディットステップ実行部75及びアウトプットステップ実行部76内のプログラムにおいて、ジョブ情報77が保持しているジョブ種に応じ所定の設定情報をジョブ情報77から取得するので、構成が簡単になって設計変更が容易となるという効果を奏する。   As described above, job information 77 having a data structure common to all job types is provided, and in the programs in the input step execution unit 74, the edit step execution unit 75, and the output step execution unit 76 using the job information 77, job information is provided. Since predetermined setting information is acquired from the job information 77 according to the job type held by the job 77, there is an effect that the configuration is simplified and the design can be easily changed.

また、イメージジョブ実行部73aがジョブに対応する基本ジョブシナリオに基づき各ステップ実行部74〜76に実行指示するので、各ステップ実行部74〜76内のプログラムの詳細を変更せずとも該基本ジョブシナリオを変更するだけで新たなジョブ種を容易に作成でき、設計変更が容易となるという効果を奏する。
[11]ファックス送信サービス実行フロー
図6は、各機能部の間を矢印付線で結んでファックス送信サービス実行時のフローを示す図である。
Further, since the image job execution unit 73a instructs the step execution units 74 to 76 to execute based on the basic job scenario corresponding to the job, the basic job can be changed without changing the program details in the step execution units 74 to 76. A new job type can be easily created simply by changing the scenario, and the design can be easily changed.
[11] Fax Transmission Service Execution Flow FIG. 6 is a diagram showing a flow when the fax transmission service is executed by connecting the functional units with arrows.

(B01、B02)ユーザは、操作パネル15を操作してファックス送信先等の設定を行い、操作パネル15上のスタート釦を押下する。デバイスドライバ31はキー押下を検出してそのコードをデバイス制御部41に供給し、デバイス制御部41は状態と入力キーコードとに基づいて状態遷移を行うことにより入力をトークン化し、デバイス操作部61に供給する。   (B01, B02) The user operates the operation panel 15 to set the fax transmission destination and the like, and presses the start button on the operation panel 15. The device driver 31 detects the key press and supplies the code to the device control unit 41. The device control unit 41 tokenizes the input by performing state transition based on the state and the input key code, and the device operation unit 61 To supply.

(B03)デバイス操作部61は、要求や設定値を解釈してこれをユーザサービス受付部81に供給する。   (B03) The device operation unit 61 interprets the request or the set value and supplies it to the user service reception unit 81.

(B04)ユーザサービス受付部81はこれに応答して、ユーザサービス実行部82に対し、ファックス送信のジョブシナリオの識別子とファックス送信に関する設定値の識別子とを渡してファックス送信サービスの実行を指示する。   (B04) In response to this, the user service receiving unit 81 instructs the user service execution unit 82 to execute the fax transmission service by passing the identifier of the fax transmission job scenario and the identifier of the setting value regarding the fax transmission. .

(B05)ユーザサービス実行部82はこれに応答して、ジョブ管理部71を起動し、これにファックス送信ジョブを生成指示することによりファックス送信サービスを実行する。   (B05) In response to this, the user service execution unit 82 activates the job management unit 71 and executes a fax transmission service by instructing the generation of a fax transmission job.

(B06、B07)ジョブ管理部71はこれに応答して、このジョブにジョブIDを割り当て、初期化されたジョブ情報77のインスタンスを生成して、これに該ジョブIDとジョブ種を書き込み、次にユーザサービス実行部82にこのジョブIDを通知する。   (B06, B07) In response to this, the job management unit 71 assigns a job ID to this job, generates an instance of the initialized job information 77, writes the job ID and job type to this, The user ID is notified to the user service execution unit 82.

(B08、B09)ユーザサービス実行部82は、ユーザサービス受付部81から受け取った識別子で指定される設定値をジョブ情報77に書き込み、次いでジョブ管理部71に対し、上記ジョブシナリオの識別子を渡してファックス送信ジョブの開始を指示する。   (B08, B09) The user service execution unit 82 writes the setting value specified by the identifier received from the user service reception unit 81 in the job information 77, and then passes the job scenario identifier to the job management unit 71. Instructs the start of a fax transmission job.

(B10〜B12)ジョブ管理部71はこれに応答して、システム管理部52にジョブ開始をジョブIDとともに通知し、受け取ったジョブシナリオの識別子に基づきジョブシナリオを参照し、リソース管理部43に最初の基本ジョブ(後述するScanToBox基本ジョブ)を実行するのに必要なDRAM13D内の領域やスキャナ16Sなどのハードウェア資源の獲得要求をし、この獲得後、該ジョブシナリオの識別子とジョブ情報77の識別子とをジョブ制御部72に引き渡すとともに、ファックス送信ジョブの制御開始指示をする。   (B10 to B12) In response to this, the job management unit 71 notifies the system management unit 52 of the job start together with the job ID, refers to the job scenario based on the received job scenario identifier, and first starts the resource management unit 43. Request for acquisition of hardware resources such as the area in the DRAM 13D and the scanner 16S necessary for executing the basic job (ScanToBox basic job described later), and after this acquisition, the identifier of the job scenario and the identifier of the job information 77 Are sent to the job control unit 72 and a fax transmission job control start instruction is issued.

(B13)ジョブ制御部72はこれに応答して、受け取ったジョブシナリオの識別子に基づきジョブシナリオを参照し、これに従って、基本ジョブ実行部73にジョブ情報77の識別子を引き渡すとともに、ファックス送信ジョブを構成する1つのScanToBox基本ジョブを実行指示する。   (B13) In response to this, the job control unit 72 refers to the job scenario based on the received job scenario identifier, and passes the identifier of the job information 77 to the basic job execution unit 73 in accordance with this, and also executes the fax transmission job. Instruct to execute one ScanToBox basic job to be configured.

ここで、ファックス送信のジョブシナリオは、ScanToBox基本ジョブを行った後にBoxToFax基本ジョブを行うことを示している。すなわち、ファックス送信ジョブは、スキャナ16Sから原稿画像を読み取ってそのファイルをボックス(ディレクトリ)に入れるまでのScanToBox基本ジョブと、送信先を呼び出し次いで該ボックスからファイルを取り出してファックス送信するBoxToFax基本ジョブとの組み合わせである。   Here, the fax transmission job scenario indicates that the Box To Fax basic job is performed after the Scan To Box basic job is performed. That is, the fax transmission job includes a ScanToBox basic job for reading a document image from the scanner 16S and placing the file in a box (directory), a BoxToFax basic job for calling a transmission destination, extracting a file from the box, and transmitting the fax. It is a combination.

基本ジョブ実行部73はこれに応答して、実行指示された基本ジョブが、画像処理を伴うと判定し、イメージジョブ実行部73aにジョブ情報77の識別子と指示された基本ジョブを伝達するとともに、これを起動する。イメージジョブ実行部73aはこれに応答して、指示された基本ジョブに対応する基本ジョブシナリオを参照し、これに従って以下のようにステップ実行部74〜76に対し画像入力、画像処理(省略される場合有)及び画像出力のジョブステップをシーケンス制御する。すなわち、指示された基本ジョブを構成する複数のジョブステップを、基本ジョブシナリオに従ってステップ実行部74〜76に順次実行指示する。   In response to this, the basic job execution unit 73 determines that the basic job instructed to be executed involves image processing, and transmits the identifier of the job information 77 and the basic job instructed to the image job execution unit 73a. Start this. In response to this, the image job execution unit 73a refers to the basic job scenario corresponding to the instructed basic job, and in accordance with this, the image input and image processing (omitted from the step execution units 74 to 76) are performed as follows. Sequence control) and image output job steps. That is, the step execution units 74 to 76 are sequentially instructed to execute a plurality of job steps constituting the instructed basic job according to the basic job scenario.

(B14)イメージジョブ実行部73aはまず、指示された基本ジョブに対応する基本ジョブシナリオに従って、ジョブ情報77の識別子をインプットステップ実行部74に引き渡すとともにこれを起動する。   (B14) First, the image job execution unit 73a hands over the identifier of the job information 77 to the input step execution unit 74 and starts it according to the basic job scenario corresponding to the instructed basic job.

(B15〜17)インプットステップ実行部74はこれに応答して、ジョブ情報77に含まれるジョブ種に応じジョブ情報77から所定の設定情報を読取り、これに基づいてデバイス操作部61及びデバイス制御部41等を介しスキャナ16Sから1頁分の原稿画像データを読み込む。デバイス操作部61はこの際、デバイス制御部41からの状態通知に応じてデバイス制御部41を操作する。   (B15-17) In response, the input step execution unit 74 reads predetermined setting information from the job information 77 according to the job type included in the job information 77, and based on this, the device operation unit 61 and the device control unit are read. One page of document image data is read from the scanner 16S via 41 or the like. At this time, the device operation unit 61 operates the device control unit 41 in response to a status notification from the device control unit 41.

(B18)インプットステップ実行部74は上述した処理を完了すると、ジョブ情報77に該原稿画像データの格納アドレス及び範囲などの頁情報を書き込んだ後、基本ジョブ実行部73内のイメージジョブ実行部73aに該完了を通知する。   (B18) Upon completion of the above-described processing, the input step execution unit 74 writes page information such as the storage address and range of the original image data in the job information 77, and then the image job execution unit 73a in the basic job execution unit 73. Is notified of the completion.

(B19)イメージジョブ実行部73aはこれに応答して、上記基本ジョブシナリオに従って、ジョブ情報77の識別子をアウトプットステップ実行部76に引き渡すとともにこれを起動する。   (B19) In response to this, the image job execution unit 73a delivers the identifier of the job information 77 to the output step execution unit 76 and activates it according to the basic job scenario.

(B20、B21)アウトプットステップ実行部76はこれに応答して、ジョブ情報77に含まれるジョブ種に応じジョブ情報77から所定の設定情報(該頁情報を含む)を読み取り、これに基づいて該原稿画像データを直に又はファイルとしてエンティティ部63に格納し、基本ジョブ実行部73内のイメージジョブ実行部73aに該完了を通知する。   (B20, B21) In response to this, the output step execution unit 76 reads predetermined setting information (including the page information) from the job information 77 according to the job type included in the job information 77, and based on this The document image data is stored in the entity unit 63 directly or as a file, and the completion is notified to the image job execution unit 73a in the basic job execution unit 73.

(B22)イメージジョブ実行部73aはこれに応答して、基本ジョブシナリオを参照して、ジョブステップを全て実行完了し、ScanToBox基本ジョブの実行が完了したと判定し、ジョブ制御部72にこの完了を通知する。   (B22) In response to this, the image job execution unit 73a refers to the basic job scenario, completes the execution of all job steps, determines that the execution of the ScanToBox basic job is complete, and completes the job control unit 72 with this completion. To be notified.

(B23)ジョブ制御部72はこれに応答して、ジョブ管理部71にこの基本ジョブ完了をジョブIDとともに通知する。   (B23) In response to this, the job control unit 72 notifies the job management unit 71 of the completion of the basic job together with the job ID.

(B24)ジョブ管理部71はこれに応答して、リソース管理部43を介し、ジョブ開始時に獲得した上記ハードウェア資源を解放し、その後ジョブシナリオを参照し、次の基本ジョブ(BoxToFax基本ジョブ)があると判断して、リソース管理部43にこの次の基本ジョブの実行に必要なファクシミリモデム18などのハードウェア資源の獲得要求をする。   (B24) In response to this, the job management unit 71 releases the hardware resources acquired at the start of the job via the resource management unit 43, and then refers to the job scenario, and the next basic job (BoxToFax basic job) In response, the resource management unit 43 is requested to acquire hardware resources such as the facsimile modem 18 necessary for executing the next basic job.

(B25〜B27)ジョブ管理部71は上記資源獲得後、ジョブ情報77から送信先FAX番号を読み取り、直接、デバイス操作部61を介しデバイス制御部41に宛先呼出制御を実行させる。デバイス操作部61はこの際、デバイス制御部41からの状態通知に応じてデバイス制御部41を操作する。   (B25 to B27) After acquiring the resource, the job management unit 71 reads the destination FAX number from the job information 77, and directly causes the device control unit 41 to execute destination call control via the device operation unit 61. At this time, the device operation unit 61 operates the device control unit 41 in response to a status notification from the device control unit 41.

この呼出制御が失敗すると次の処理へ進めないという意味で、この制御はリソース確保に類似しており、共にジョブ管理部71の責務とすることで、プログラム構造が整理されて設計変更容易性に寄与する。   This control is similar to securing resources in the sense that if this call control fails, the process cannot proceed to the next process, and both are the responsibility of the job management unit 71, so that the program structure is organized and the design can be easily changed. Contribute.

なお、BoxToFaxジョブ及びファックス受信ジョブ実行に必要なDRAM13D内の領域は、画像形成装置10の立ち上げ時の初期化処理で予め確保されており、この時点でハードウェア資源を獲得する必要はない。   Note that the area in the DRAM 13D necessary for execution of the BoxToFax job and the fax reception job is secured in advance by the initialization process when the image forming apparatus 10 is started up, and it is not necessary to acquire hardware resources at this time.

(B28〜B30)デバイス制御部41は、送信先ファックスのオンフックを検知すると、デバイス操作部61を介してこれをジョブ管理部71に通知する。   (B28 to B30) When the device control unit 41 detects the on-hook of the destination fax, the device control unit 41 notifies the job management unit 71 of this via the device operation unit 61.

(B31)ジョブ管理部71はこれに応答して、ジョブ制御部72にジョブの次制御を指示する。   (B31) In response to this, the job management unit 71 instructs the job control unit 72 to perform next control of the job.

(B32)ジョブ制御部72はこれに応答して、ジョブシナリオを参照し、これに従って、基本ジョブ実行部73にジョブ情報77の識別子を引き渡すとともに、ファックス送信ジョブを構成する、上記ScanToBox基本ジョブの次の基本ジョブであるBoxToFax基本ジョブを実行指示する。   (B32) In response to this, the job control unit 72 refers to the job scenario, passes the identifier of the job information 77 to the basic job execution unit 73 according to the job scenario, and constitutes the fax transmission job. Instructs execution of a BoxToFax basic job which is the next basic job.

基本ジョブ実行部73はこれに応答して、基本ジョブ種に応じて、イメージジョブ実行部73aにジョブ情報77の識別子と指示された基本ジョブとを伝達するとともに、これを起動する。イメージジョブ実行部73aはこれに応答して、指示された基本ジョブに対応する基本ジョブシナリオを参照し、これに従って以下のようにステップ実行部74〜76に対し画像入力、画像処理(省略される場合有)及び画像出力のジョブステップをシーケンス制御する。すなわち、指示された基本ジョブを構成する複数のジョブステップを、基本ジョブシナリオに従ってステップ実行部74〜76に順次実行指示する。   In response to this, the basic job execution unit 73 transmits the identifier of the job information 77 and the instructed basic job to the image job execution unit 73a according to the basic job type, and activates it. In response to this, the image job execution unit 73a refers to the basic job scenario corresponding to the instructed basic job, and in accordance with this, the image input and image processing (omitted from the step execution units 74 to 76) are performed as follows. Sequence control) and image output job steps. That is, the step execution units 74 to 76 are sequentially instructed to execute a plurality of job steps constituting the instructed basic job according to the basic job scenario.

(B33)イメージジョブ実行部73aはまず、指示された基本ジョブに対応する基本ジョブシナリオに従って、ジョブ情報77の識別子をインプットステップ実行部74に引き渡すとともにこれを起動する。   (B33) First, the image job execution unit 73a hands over the identifier of the job information 77 to the input step execution unit 74 and starts it according to the basic job scenario corresponding to the instructed basic job.

(B34、B35)インプットステップ実行部74はこれに応答して、ジョブ情報77に含まれるジョブ種に応じジョブ情報77から所定の設定情報を読取り、これに基づいてファイルをエンティティ部63から読み出し、イメージジョブ実行部73aにジョブステップの完了を通知する。   (B34, B35) In response, the input step execution unit 74 reads predetermined setting information from the job information 77 according to the job type included in the job information 77, and reads a file from the entity unit 63 based on this. The completion of the job step is notified to the image job execution unit 73a.

(B36)イメージジョブ実行部73aはこれに応答して、上記基本ジョブシナリオに従って、次のジョブステップを実行させるために、ジョブ情報77の識別子をアウトプットステップ実行部76に引き渡すとともにこれを起動する。なお、本実施例では、画像処理を省略しているのでエディットステップ実行部75を呼び出さないが、呼び出す場合には、エディットステップ実行部75は、呼出し側のFAX装置の性能に合わせた画像処理を行う。   (B36) In response to this, the image job execution unit 73a delivers the identifier of the job information 77 to the output step execution unit 76 and starts it to execute the next job step according to the basic job scenario. . In this embodiment, since image processing is omitted, the edit step execution unit 75 is not called. However, when the edit step execution unit 75 is called, the edit step execution unit 75 performs image processing according to the performance of the calling FAX device. Do.

(B37〜B41)アウトプットステップ実行部76はこれに応答して、ジョブ情報77に含まれるジョブ種に応じジョブ情報77から所定の設定情報を読取り、これに基づいてエンティティ63に格納されている画像データ又はファイルを取得し、デバイス操作部61を介しデバイス制御部41に、取得した画像データ又はファイル内のデータをファックス送信させ、イメージジョブ実行部73aにジョブステップの完了を通知する。   (B37 to B41) In response to this, the output step execution unit 76 reads predetermined setting information from the job information 77 according to the job type included in the job information 77, and stores it in the entity 63 based on this. The image data or file is acquired, and the device control unit 41 is faxed to the acquired image data or data in the file via the device operation unit 61, and the image job execution unit 73a is notified of the completion of the job step.

(B42)イメージジョブ実行部73aはこれに応答して、基本ジョブシナリオを参照して、ジョブステップを全て実行完了したと判断し、すなわちこれらから構成されるBoxToFax基本ジョブの実行が完了したと判断し、ジョブ制御部72に基本ジョブの完了を通知する。   (B42) In response to this, the image job execution unit 73a refers to the basic job scenario and determines that execution of all the job steps has been completed, that is, determines that execution of the BoxToFax basic job composed of these has been completed. Then, the job control unit 72 is notified of the completion of the basic job.

(B43)ジョブ制御部72はこれに応答して、ジョブ管理部71にこの基本ジョブ完了をジョブIDとともに通知する。   (B43) In response to this, the job control unit 72 notifies the job management unit 71 of the completion of the basic job together with the job ID.

(B44〜B46)ジョブ管理部71はこれに応答して、リソース管理部43を介し、BoxToFax基本ジョブ実行のために獲得したハードウェア資源を解放し、次にジョブシナリオを参照して、基本ジョブを全て実行完了し、これから構成されるファックス送信ジョブの実行が完了したと判断して、ジョブ情報77を破棄し、ジョブ完了をジョブIDとともにシステム管理部52及びユーザサービス実行部82に通知する。   (B44 to B46) In response to this, the job management unit 71 releases the hardware resources acquired for executing the BoxToFax basic job via the resource management unit 43, and then refers to the job scenario to determine the basic job. Are executed, and it is determined that the execution of the fax transmission job constituted from this is completed, the job information 77 is discarded, and the job completion is notified to the system management unit 52 and the user service execution unit 82 together with the job ID.

本実施例によれば、応用ジョブ層でジョブシナリオに基づいて1つ以上の基本ジョブを実行するので、基本ジョブ層以下を変更することなく基本ジョブを組み合わせてジョブを追加し又は変更することができ、これにより設計変更が容易となるという効果を奏する。   According to this embodiment, since one or more basic jobs are executed based on the job scenario in the application job layer, it is possible to add or change jobs by combining basic jobs without changing the basic job layer and below. This makes it possible to easily change the design.

また、画像入力からそのファイルの保存までを1つの基本ジョブと定義するので、これをその他の基本ジョブを組み合わせて複数のジョブを実現できる。例えば図7に示すように、(1)ScanToBox、(2)BoxToPrint、(3)BoxToFax及び(4)BoxToE−mailの4つの基本ジョブを定義することにより、それぞれのジョブだけでなく、これらを組み合わせた3つのジョブ、
(5)ScanToBox+BoxToPrint=ScanToPrint
(6)ScanToBox+BoxToFax=ScanToFax
(7)ScanToBox+BoxToE−mail=ScanToE−mail
をさらに定義することができる。また、基本ジョブ1つを変更すればこれを含む複数のジョブを変更したことになり、これにより設計変更容易化の効果が高められるとともに、アプリケーションの構成がより簡単化されるという効果を奏する。
Also, since the process from image input to saving of the file is defined as one basic job, a plurality of jobs can be realized by combining this with other basic jobs. For example, as shown in FIG. 7, by defining four basic jobs (1) ScanToBox, (2) BoxToPrint, (3) BoxToFax, and (4) BoxToE-mail, not only each job but also a combination of these Three jobs,
(5) ScanToBox + BoxToPrint = ScanToPrint
(6) ScanToBox + BoxToFax = ScanToFax
(7) ScanToBox + BoxToE-mail = ScanToE-mail
Can be further defined. Further, if one basic job is changed, a plurality of jobs including the basic job are changed. This enhances the effect of facilitating the design change and further simplifies the configuration of the application.

さらに、ファックス送信ジョブがScanToBox基本ジョブとBoxToFax基本ジョブの組み合わせであるので、例えばScanToBox基本ジョブにおいてジャムが生じた場合、BoxToFax基本ジョブの実行が開始されず、これが開始されたことにより無駄な処理が生ずるのを防止することができるという効果を奏する。
[12]スキャンサービス実行フロー
図8は、各機能部間を矢印付線で結んでスキャンサービス実行時のフローを示す図である。このサービスは、上記ScanToBoxジョブにより実現される。但し、同図では、スキャン入力とファイル出力との間に画像編集処理を含んでいる。
[13]ボックス内ファイル印刷サービス実行フロー
図9は、各機能部間を矢印付線で結んでボックス内ファイル印刷サービス実行時のフローを示す図である。このサービスは、上記BoxToFaxジョブをBoxToPrintに変更し、ファイル読み出しと印刷出力との間に画像編集処理を含むものである。
[14]スキャンサービス実行時にジャムが発生したときのフロー
図10は、各機能部間を矢印付線で結んで、スキャンサービス実行時にジャムが発生した時のフローを示す図である。
Further, since the fax transmission job is a combination of the ScanToBox basic job and the BoxToFax basic job, for example, when a jam occurs in the ScanToBox basic job, execution of the BoxToFax basic job is not started, and wasteful processing is performed by starting this. There is an effect that it can be prevented from occurring.
[12] Scan Service Execution Flow FIG. 8 is a diagram illustrating a flow at the time of executing the scan service by connecting the functional units with arrows. This service is realized by the above ScanToBox job. However, in the figure, an image editing process is included between the scan input and the file output.
[13] In-Box File Printing Service Execution Flow FIG. 9 is a diagram showing a flow when the in-box file printing service is executed by connecting the functional units with arrows. This service changes the BoxToFax job to BoxToPrint, and includes an image editing process between file reading and print output.
[14] Flow when Jam Occurs During Scan Service Execution FIG. 10 is a diagram illustrating a flow when a jam occurs during execution of a scan service by connecting the functional units with arrows.

このスキャンサービスは、スキャンジョブを生成させる。このスキャンジョブは1つのScanToBox基本ジョブから構成される。以下では、基本ジョブ実行部73内のイメージジョブ実行部73aによる処理から説明する。   This scan service generates a scan job. This scan job is composed of one ScanToBox basic job. Hereinafter, the processing by the image job execution unit 73a in the basic job execution unit 73 will be described.

(E01)イメージジョブ実行部73aは、ジョブ情報77の識別子をインプットステップ実行部74に引き渡してインプットステップ実行部74を起動する。   (E01) The image job execution unit 73a delivers the identifier of the job information 77 to the input step execution unit 74 and activates the input step execution unit 74.

(E02〜E04)インプットステップ実行部74はこれに応答して、ジョブ情報77に含まれるジョブ種に応じジョブ情報77から所定の設定情報を読取り、これに基づいてデバイス操作部61及びデバイス制御部41等を介しスキャナ16Sから1頁分の原稿画像データを読み込もうとする。   (E02 to E04) In response to this, the input step execution unit 74 reads predetermined setting information from the job information 77 according to the job type included in the job information 77, and based on this, the device operation unit 61 and the device control unit An attempt is made to read one page of document image data from the scanner 16S via 41 or the like.

(E05、E06)この際、スキャナ16Sのオートシートフィーダでジャムが発生すると、デバイス制御部41からデバイス操作部61へジャム発生が通知される。   (E05, E06) At this time, when a jam occurs in the auto sheet feeder of the scanner 16S, the device control unit 41 notifies the device operation unit 61 of the occurrence of the jam.

ここで、デバイス操作部61は、デバイス制御部41からの通知がエラー発生又はエラー解除の場合、システム管理部52にこれをその機器識別子及びジョブIDとともに通知し、その他の場合には該通知をジョブIDとともにインプットステップ実行部74に通知する責務を有する。   Here, when the notification from the device control unit 41 is an error occurrence or error cancellation, the device operation unit 61 notifies the system management unit 52 of this together with the device identifier and job ID, and in other cases, the notification. It has the responsibility to notify the input step execution unit 74 together with the job ID.

(E07)したがって、デバイス操作部61はジャム発生をその機器識別子及びジョブIDとともに起動元に、この場合はシステム管理部52に通知する。   (E07) Therefore, the device operation unit 61 notifies the start source of the jam occurrence together with the device identifier and the job ID, and in this case, the system management unit 52.

(E08、E09)システム管理部52は、エラー又はエラー解除の通知を受けると、これを、機器識別子とともにデバイス操作部61の操作パネルプログラムに通知し、ジョブIDとともにジョブ管理部71に通知する責務を有する。そこで、システム管理部52はこれらの通知を行う。   (E08, E09) Upon receiving an error or error cancellation notification, the system management unit 52 notifies the operation panel program of the device operation unit 61 together with the device identifier, and notifies the job management unit 71 together with the job ID. Have Therefore, the system management unit 52 makes these notifications.

(E10、E11)デバイス操作部61はこれに応答して、デバイス制御部41及びデバイスドライバ31を介し操作パネル15上に、該機器識別子に対応した機器でジャムが生じたことを表示させる。   (E10, E11) In response to this, the device operation unit 61 displays on the operation panel 15 via the device control unit 41 and the device driver 31 that a jam has occurred in the device corresponding to the device identifier.

(E12)一方、ジョブ管理部71は、該通知に応答して、該ジャムエラーをジョブ制御部72に通知する。ジョブ制御部72は、該エラーが、予め定められた中断事由に該当するか否かを判定する。   (E12) On the other hand, in response to the notification, the job management unit 71 notifies the job control unit 72 of the jam error. The job control unit 72 determines whether the error corresponds to a predetermined interruption reason.

(E13)ジャムエラーは中断事由であり、ジョブ制御部72は基本ジョブ実行部73内のイメージジョブ実行部73aに対しジョブの中断を指示する。   (E13) The jam error is a reason for interruption, and the job control unit 72 instructs the image job execution unit 73a in the basic job execution unit 73 to interrupt the job.

(E14〜E17)イメージジョブ実行部73aはこれに応答して、現在実行中のインプットステップ実行部74及びデバイス操作部61を介しデバイス制御部41に動作を中断させる。   (E14 to E17) In response to this, the image job execution unit 73a causes the device control unit 41 to interrupt the operation via the input step execution unit 74 and the device operation unit 61 currently being executed.

(E18、E19)スキャナ16Sの動作が中断すると、デバイス制御部41からデバイス操作部61へスキャナ16Sの動作停止が通知される。   (E18, E19) When the operation of the scanner 16S is interrupted, the device control unit 41 notifies the device operation unit 61 of the operation stop of the scanner 16S.

(E20)デバイス操作部61は、インプットステップ実行部74に該停止を通知する。   (E20) The device operation unit 61 notifies the input step execution unit 74 of the stop.

(E21〜E23)インプットステップ実行部74は、イメージジョブ実行部73a及びジョブ制御部72を介して、ジョブ管理部71にこの停止を通知する。   (E21 to E23) The input step execution unit 74 notifies the job management unit 71 of this stop via the image job execution unit 73a and the job control unit 72.

(E24)ジョブ管理部71は、この通知がジョブの状態変化であるので、これをシステム管理部52に通知する。   (E24) Since the notification is a job status change, the job management unit 71 notifies the system management unit 52 of this.

(E25〜E27)システム管理部52は、この通知がジョブ状態変化であるので、デバイス操作部61及びデバイス制御部41を介してこの停止を通知することにより、操作パネル15上に動作停止を表示させる。ユーザは、ジャムエラー発生によるスキャン中止の表示を見てジャムを解除させる。   (E25 to E27) Since this notification is a job status change, the system management unit 52 displays an operation stop on the operation panel 15 by notifying the stop via the device operation unit 61 and the device control unit 41. Let The user cancels the jam by looking at the display of the scan cancellation due to the occurrence of the jam error.

(E28、E29)この解除がスキャナ16Sにより検出されると、これがデバイス制御部41を介してデバイス操作部61に通知される。   (E28, E29) When this release is detected by the scanner 16S, this is notified to the device operation unit 61 via the device control unit 41.

(E30)デバイス操作部61は、ジャムエラー解除をシステム管理部52に通知する。   (E30) The device operation unit 61 notifies the system management unit 52 of the jam error cancellation.

(E31、E32)システム管理部52は、この解除を、一方では機器識別子とともにデバイス操作部61の操作パネルプログラムに通知し、他方ではジョブIDとともにジョブ管理部71に通知して、ジョブ再開を受付可能にする。   (E31, E32) The system management unit 52 notifies this cancellation to the operation panel program of the device operation unit 61 on the one hand together with the device identifier, and notifies the job management unit 71 together with the job ID on the other hand to accept job resumption. enable.

(E33、E34)デバイス操作部61はこの解除通知に応答して、デバイス制御部41及びデバイスドライバ31を介し操作パネル15上のジャムエラー表示を消す。   (E33, E34) In response to the release notification, the device operation unit 61 erases the jam error display on the operation panel 15 via the device control unit 41 and the device driver 31.

(E35〜E37)ユーザは、ジョブを再開させるため、操作パネル15上のスタートキーを押下する。この情報は、ジョブIDとともにデバイスドライバ31、デバイス制御部41及びデバイス操作部61を介してユーザサービス受付部81に供給される。   (E35 to E37) The user presses the start key on the operation panel 15 to resume the job. This information is supplied to the user service reception unit 81 through the device driver 31, the device control unit 41, and the device operation unit 61 together with the job ID.

(E38〜E47)ユーザサービス受付部81はこれに応答して、ユーザサービス実行部82及びジョブ管理部71を介しジョブ制御部72にScanToBox基本ジョブを再開させる。ジョブ制御部72は、基本ジョブ実行部73内のイメージジョブ実行部73aに基本ジョブ再開を指示する。イメージジョブ実行部73aはこれに応答して、現在中断中のジョブステップ実行部、この場合にはインプットステップ実行部74に対し、処理を再開させる。インプットステップ実行部74はこれに応答して、デバイス操作部61を介しデバイス制御部41を動作させる。これにより、スキャナ16Sによる原稿画像読取り動作が再開される。   (E38 to E47) In response to this, the user service reception unit 81 causes the job control unit 72 to resume the ScanToBox basic job via the user service execution unit 82 and the job management unit 71. The job control unit 72 instructs the image job execution unit 73a in the basic job execution unit 73 to restart the basic job. In response to this, the image job execution unit 73a causes the currently interrupted job step execution unit, in this case, the input step execution unit 74, to resume processing. In response to this, the input step execution unit 74 operates the device control unit 41 via the device operation unit 61. Thereby, the document image reading operation by the scanner 16S is resumed.

本実施例によれば、エラー発生又はエラー解除の場合に、デバイス操作部61からシステム管理部52を介してジョブ管理部71にこれが通知され、ジョブ管理部71から下層側へ順次動作の中断又は再開の指示が行われるので、モジュール間で指示の方向がエラーの有無に係らず上層側から下層側となり、これにより、ジョブ層70のプログラムの構成が簡単になって、設計変更が容易となる。
[15]通知サービス実行フロー
図11は、各機能部間を矢印付線で結んで、故障が発生した場合、例えばプリント実行中にプリンタ16Pの給紙カセット1から給紙できなくなった場合に、システムが能動的に通知サービスを要求して故障発生通知サービスを実行するフローを示す図である。
According to the present embodiment, when an error occurs or an error is canceled, this is notified from the device operation unit 61 to the job management unit 71 via the system management unit 52, and the operation is sequentially interrupted from the job management unit 71 to the lower layer side. Since the restart instruction is performed, the direction of the instruction between the modules is changed from the upper layer side to the lower layer side regardless of whether there is an error, thereby simplifying the configuration of the program in the job layer 70 and facilitating the design change. .
[15] Notification Service Execution Flow FIG. 11 shows a case in which each functional unit is connected with a line with an arrow and a failure occurs, for example, when paper cannot be fed from the paper cassette 1 of the printer 16P during printing. It is a figure which shows the flow in which a system actively requests | requires notification service, and performs failure occurrence notification service.

以下では、デバイス制御部41によるプリント実行中の動作から説明する。   In the following, the operation during printing by the device control unit 41 will be described.

(F01〜F03)この故障が検出されると、デバイス制御部41はこれをデバイス操作部61に通知する。デバイス操作部61は、エラー識別子をエンティティ部63に記入するとともに、エラーイベントの発生をシステム管理部52に通知する。   (F01 to F03) When this failure is detected, the device control unit 41 notifies the device operation unit 61 of this. The device operation unit 61 enters the error identifier in the entity unit 63 and notifies the system management unit 52 of the occurrence of the error event.

(F04〜F06)システム管理部52はこれに応答して、エラーイベントを解析して、給紙カセット1が無効にされた、すなわち給紙カセット1の切り離しが行われたと判定して、これをデバイス操作部61及びデバイス制御部41を介し操作パネル15に表示させる。   (F04 to F06) In response to this, the system management unit 52 analyzes the error event, determines that the sheet cassette 1 has been invalidated, that is, the sheet cassette 1 has been disconnected, and determines this. The information is displayed on the operation panel 15 via the device operation unit 61 and the device control unit 41.

(F07)ここで、エンティティ部63には、ユーザへの通知要否、通知すべきイベント(機器やジョブ状態の変化)、プリントや電子メールなどの通知手段、電子メールの場合には通知先などが通知情報として複数組記述されている。システム管理部52は、エンティティ部63を参照して、エラーをユーザに通知する必要があると判定した場合、該当する通知情報の識別子を伴って、システムサービス実行部83に通知を要求する。   (F07) Here, the entity unit 63 includes a notification necessity / unnecessity to the user, an event to be notified (change in device or job status), a notification means such as print or email, and a notification destination in the case of email. Are described as a plurality of notification information. When the system management unit 52 refers to the entity unit 63 and determines that it is necessary to notify the user of the error, the system management unit 52 requests the system service execution unit 83 to notify it with the identifier of the corresponding notification information.

(F08)システムサービス実行部83はこの要求を受け付けると、この識別子をジョブ管理部71に引き渡すとともに通知ジョブを生成させることにより、通知サービスを実行する。   (F08) Upon receiving this request, the system service execution unit 83 delivers this identifier to the job management unit 71 and generates a notification job to execute the notification service.

(F09、F10)ジョブ管理部71はこれに応答して、リソース管理部43を介して通知ジョブ実行に必要なメモリやNIC17などのハードウェア資源を獲得し、この獲得後、ジョブ制御部72に該識別子を引き渡すとともにジョブ制御指示をする。   (F09, F10) In response to this, the job management unit 71 acquires the hardware resources such as the memory and the NIC 17 necessary for executing the notification job via the resource management unit 43, and then acquires them to the job control unit 72. The identifier is handed over and a job control instruction is given.

(F11)ジョブ制御部72はこれに応答して、該識別子を基本ジョブ実行部73に引き渡すことにより、通知ジョブを構成する基本ジョブ実行指示をする。   (F11) In response to this, the job control unit 72 delivers the identifier to the basic job execution unit 73 to instruct basic job execution that constitutes the notification job.

基本ジョブ実行部73はこれに応答して、基本ジョブ種に応じて、アクセスジョブ実行部73bに該識別子と指示された基本ジョブを伝達するとともに、これを起動する。   In response to this, the basic job execution unit 73 transmits the basic job designated as the identifier to the access job execution unit 73b according to the basic job type, and activates it.

(F12〜F14)アクセスジョブ実行部73bはこれに応答して、デバイス操作部61、デバイス制御部43、デバイスドライバ31及びNIC17を介し、カセット1の切り離しを通知する電子メールを送信する。   (F12 to F14) In response to this, the access job execution unit 73b transmits an e-mail notifying separation of the cassette 1 via the device operation unit 61, the device control unit 43, the device driver 31, and the NIC 17.

従来では、このような通知がプリントジョブと一体になっていたが、本実施例ではこの通知が通知ジョブとして通常のジョブと独立して定義され、通常のジョブと同様に通知サービスに応答して通知ジョブが実行されるので、通常のジョブを実行するプログラムの構成が簡単化され、且つ、通知ジョブを構成する基本ジョブを他の基本ジョブと組み合わせて新たな又は既存のジョブを容易に定義することができるので、アプリケーションの設計変更が容易となる。
[16]アドレス帳編集フロー
設計変更を容易にするためにアプリケーション層50を多層化すると、層間及び各機能部間の関係が増えて構成が複雑になる。これを避けるため、構成を簡単化する工夫が必要になる。
Conventionally, such a notification is integrated with the print job. However, in this embodiment, this notification is defined as a notification job independently of a normal job, and responds to the notification service in the same way as a normal job. Since the notification job is executed, the configuration of a program for executing a normal job is simplified, and a new job or an existing job is easily defined by combining the basic job constituting the notification job with other basic jobs. This makes it easy to change the application design.
[16] Address book editing flow If the application layer 50 is made multi-layered in order to facilitate the design change, the relationship between the layers and each functional unit increases and the configuration becomes complicated. In order to avoid this, a device for simplifying the configuration is required.

図12は、各機能部間を矢印付線で結んで、操作パネル15上からアドレス帳を編集する時のフローを示す図である。   FIG. 12 is a diagram showing a flow when editing the address book from the operation panel 15 by connecting the functional units with arrows.

(G01〜G03)操作パネル15を操作すると、上述のようにその情報がデバイスドライバ31、デバイス制御部41及びデバイス操作部61を介してユーザサービス受付部81に伝達される。   (G01 to G03) When the operation panel 15 is operated, the information is transmitted to the user service reception unit 81 via the device driver 31, the device control unit 41, and the device operation unit 61 as described above.

(G04)この情報が、アドレス帳の編集サービス要求である場合、ユーザサービス受付部81は、ユーザサービス実行部82及びジョブ層70を介さずに直接エンティティ部63内のアドレス帳編集プログラムを、ワークとして起動させる。   (G04) When this information is an address book editing service request, the user service accepting unit 81 directly executes the address book editing program in the entity unit 63 without passing through the user service executing unit 82 and the job layer 70. Start as.

(G05〜G08)これにより、アドレス帳編集の操作画面データの識別子がエンティティ部63からユーザサービス受付部81を介してデバイス操作部61に供給され、該識別子に基づいて該操作画面データがデバイス制御部41及びデバイスドライバ31を介して操作パネル15に供給され、その画面が表示される。   (G05 to G08) Thus, the identifier of the operation screen data for address book editing is supplied from the entity unit 63 to the device operation unit 61 via the user service reception unit 81, and the operation screen data is controlled by the device based on the identifier. The image is supplied to the operation panel 15 via the unit 41 and the device driver 31, and the screen is displayed.

その後、このような経路を辿ってインターラクティブにアドレス帳の編集が行われる。   Thereafter, the address book is interactively edited following such a route.

本実施例では、エンティティ部63に対するアクセスについてはユーザサービス受付部81でサービス要求を受け付けて統一化を図るとともに、ユーザサービス受付部81からジョブ層70を介さずに直接エンティティ部63をアクセスするように構成しているので、アプリケーション層50の複雑化が避けられ、特にジョブ層70及びユーザサービス実行部82の構成が簡単になるという効果を奏する。この簡単化により、アプリケーション層50の設計変更が容易となるという効果を奏する。
[17]ログイン実行フロー
認証・認可処理を有効にするか否かはユーザが設定可能であり、そのデータはエンティティ部63に格納されている。以下の説明では、この処理が有効になっている場合を説明する。
In this embodiment, the access to the entity unit 63 is unified by receiving a service request at the user service receiving unit 81 and accessing the entity unit 63 directly from the user service receiving unit 81 without going through the job layer 70. Thus, the application layer 50 can be prevented from being complicated, and the configuration of the job layer 70 and the user service execution unit 82 can be simplified. This simplification brings about an effect that the design change of the application layer 50 becomes easy.
[17] Login Execution Flow The user can set whether to validate the authentication / authorization process, and the data is stored in the entity unit 63. In the following description, a case where this process is enabled will be described.

図13は、各機能部間を矢印付線で結んでログイン実行時のフローを示す図である。   FIG. 13 is a diagram illustrating a flow at the time of executing login by connecting functional units with arrows.

(H01〜H03)上述のように、操作パネル15からデバイスドライバ31、デバイス制御部41及びデバイス操作部61を介してユーザサービス受付部81に情報が伝達されると、ユーザサービス受付部81はそのサービス要求を解釈する。   (H01 to H03) As described above, when information is transmitted from the operation panel 15 to the user service reception unit 81 via the device driver 31, the device control unit 41, and the device operation unit 61, the user service reception unit 81 Interpret service requests.

(H04)ユーザサービス受付部81は、この情報がログイン要求であると解釈すると、ジョブ層70を介さずに、システム管理部52内のログインプログラムを、ワークとして直接起動させる。   (H04) If this information is interpreted as a login request, the user service accepting unit 81 directly activates the login program in the system management unit 52 without using the job layer 70 as a work.

(H05〜H10)システム管理部52はこれに応答して、操作パネル15から入力されたパスワードがエンティティ部63に登録されているものと一致するか否かを判定し、その結果をユーザサービス受付部81、デバイス操作部61、デバイス制御部41及びデバイスドライバ31を介し操作パネル15上に表示させる。
[18]認可実行フロー
図14は、各機能部間を矢印付線で結んで、認証・認可が有効に設定され且つログイン中である場合の、通常のサービス実行時のフローを示す図である。
(H05-H10) In response to this, the system management unit 52 determines whether or not the password input from the operation panel 15 matches that registered in the entity unit 63, and accepts the result as a user service reception. Display on the operation panel 15 via the unit 81, the device operation unit 61, the device control unit 41, and the device driver 31.
[18] Authorization Execution Flow FIG. 14 is a diagram showing a normal service execution flow when each functional unit is connected with a line with an arrow, when authentication / authorization is set valid and login is in progress. .

(I01〜I03)上述のように、操作パネル15からデバイスドライバ31、デバイス制御部41及びデバイス操作部61を介してユーザサービス受付部81に情報が伝達される。   (I01 to I03) As described above, information is transmitted from the operation panel 15 to the user service reception unit 81 via the device driver 31, the device control unit 41, and the device operation unit 61.

(I04)ユーザサービス受付部81は、サービス要求があった場合、ユーザサービス実行部82に対しサービス実行を指示する前に、システム管理部52に認可処理をワークとして指示する。   (I04) When there is a service request, the user service reception unit 81 instructs the system management unit 52 as an authorization process as a work before instructing the user service execution unit 82 to execute the service.

(I05〜I07)システム管理部52はこれに応答して、エンティティ部63のデータを参照して、ログインしているユーザがこのサービスを受けられるか否かを判定し、その結果をユーザサービス受付部81に通知する。   (I05-I07) In response to this, the system management unit 52 refers to the data of the entity unit 63 to determine whether the logged-in user can receive this service, and receives the result as a user service reception. Notification to the unit 81.

(I08〜I11)ユーザサービス受付部81は、これが肯定判定の通知である場合、ユーザサービス実行部82に該サービスのジョブシナリオの識別子と該サービスに関する設定値とを渡して、ユーザサービス実行部82にサービスの実行を指示する。否定判定の通知である場合には、サービス要求を受け付けず、その旨をデバイス操作部61、デバイス制御部41及びデバイスドライバ31を介して操作パネル15上に表示させる。   (I08-I11) When this is a positive determination notification, the user service reception unit 81 passes the job scenario identifier of the service and the setting value related to the service to the user service execution unit 82, and the user service execution unit 82 Instruct the service to execute. If it is a negative determination notification, the service request is not accepted and a message to that effect is displayed on the operation panel 15 via the device operation unit 61, device control unit 41, and device driver 31.

従来では、認証・認可処理がサービスの1つとして定義されておらず、サービス層80の上層で認証・認可処理が行われていたが、本実施例では認証・認可についてもサービスの1つとして取扱うことにより、処理の統一化を図るとともに、ユーザサービス実行部82及びジョブ層70を介さずに直接システム管理部52をユーザサービス受付部81から起動させるので、特にユーザサービス実行部82及びジョブ層70の構成の複雑化が避けられて、これらの設計変更が容易となるという効果を奏する。   Conventionally, authentication / authorization processing is not defined as one of services, and authentication / authorization processing is performed in the upper layer of the service layer 80. However, in this embodiment, authentication / authorization is also considered as one of services. By handling, the processing is unified, and the system management unit 52 is started directly from the user service reception unit 81 without using the user service execution unit 82 and the job layer 70. This makes it possible to avoid complication of the configuration of 70 and to easily change these designs.

図16は、実施例1においてデータ領域を必要とする複数種の基本ジョブが並列処理で実行されている場合のDRAM13D内のメモリマップを示した図である。   FIG. 16 is a diagram showing a memory map in the DRAM 13D when a plurality of types of basic jobs requiring a data area are executed in parallel processing in the first embodiment.

上記実施例1のような複合機では、複数種のジョブがデータ領域として1つのメモリ資源を共通に用いることとなるので、図16に示す如く、新たなジョブ実行に必要な領域がメモリ内に無くなる場合が生じ、仮にこのようの場合にデータ領域を必要とする新たなジョブを実行するためには、メモリ内に十分な空き領域が確保されるまで待機する必要がある。   In the MFP as in the first embodiment, a plurality of types of jobs commonly use one memory resource as a data area. Therefore, as shown in FIG. 16, an area necessary for executing a new job is stored in the memory. In order to execute a new job that requires a data area in such a case, it is necessary to wait until a sufficient free area is secured in the memory.

よって、本実施例2では、データ領域を即座に使用することが可能な方法を説明する。   Therefore, in the second embodiment, a method capable of immediately using the data area will be described.

図17は、電源投入時の処理のフローチャートである。以下、括弧内は同図中のステップ識別符号である。   FIG. 17 is a flowchart of processing when power is turned on. In the following, the step identification codes in the figure are shown in parentheses.

(S1)EEPROM13E1に格納されているBIOSが起動される。   (S1) The BIOS stored in the EEPROM 13E1 is activated.

(S2)BIOSは、画像形成装置10のハードウェアの初期化処理及びソフトウェアの初期化処理等を行う。   (S2) The BIOS performs hardware initialization processing, software initialization processing, and the like of the image forming apparatus 10.

(S3)BIOSは次に、EEPROM13E2に格納されているOS32を起動させる。   (S3) Next, the BIOS activates the OS 32 stored in the EEPROM 13E2.

図18はデータ領域確保後のDRAM13Dのメモリマップを示した図である。   FIG. 18 is a diagram showing a memory map of the DRAM 13D after securing the data area.

(S4)OS32は、図18に示す如く、DRAM13Dの空き領域をブロック単位に区切り、データ領域として確保させる。この1つのブロックは、例えば1頁分の画像データを格納可能な領域である。なお図18では、OS32が使用するDRAM13D内の領域を省略している。   (S4) As shown in FIG. 18, the OS 32 divides the empty area of the DRAM 13D into blocks and reserves it as a data area. This one block is an area where image data for one page can be stored, for example. In FIG. 18, an area in the DRAM 13D used by the OS 32 is omitted.

(S5)OS32はこの確保後、実施例1で説明したアプリケーションを起動する。なお、本実施例では、OS32及びアプリケーションはEEPROM13E2上で起動するが、SDRAM等にこれらをロードしてそこから起動するようにしてもよい。   (S5) After securing this, the OS 32 activates the application described in the first embodiment. In this embodiment, the OS 32 and the application are activated on the EEPROM 13E2, but they may be loaded into the SDRAM or the like and activated from there.

この後、ユーザサービス実行部82によりジョブが実行開始指示されると、例えば図3に示すステップA10においてリソース管理部43は、以下のような処理を行う。   Thereafter, when the user service execution unit 82 instructs the execution of the job, the resource management unit 43 performs the following processing, for example, in step A10 shown in FIG.

図19は、本発明に係わるリソース管理部43の処理のフローチャートを示す図であり、図20は、このフローチャートの一部の説明図である。括弧内は図19中のステップ識別符号である。   FIG. 19 is a diagram showing a flowchart of processing of the resource management unit 43 according to the present invention, and FIG. 20 is a diagram for explaining a part of this flowchart. In parentheses are step identification codes in FIG.

(S10)図18に示すDRAM13D内のデータ領域として確保した空きブロックのうちの1つを基本ジョブ実行用に獲得する(図20参照)。   (S10) One of the free blocks secured as the data area in the DRAM 13D shown in FIG. 18 is acquired for executing the basic job (see FIG. 20).

(S11)DRAM13D内にまだ空きブロックがあるか否かを判定する。肯定判定した場合には処理を終了し、否定判定した場合には次のステップS12へ進む。なお、図20に示すプリント基本ジョブ及びScanToBox基本ジョブは、1頁分のデータ用に1ブロックを使用している。   (S11) It is determined whether there are still empty blocks in the DRAM 13D. If the determination is affirmative, the process ends. If the determination is negative, the process proceeds to the next step S12. Note that the print basic job and the ScanToBox basic job shown in FIG. 20 use one block for one page of data.

(S12)規則に基づき退避ブロックを決定する。ここで規則としては、例えば最も多くのブロックを使用している基本ジョブを見つけ出し、これら複数のブロックのうちで最も処理が後に行われるブロックを退避ブロックとする。また、互いに等しいブロック数を使用している基本ジョブが複数ある場合には、予め設定された優先順位に従って、1つの基本ジョブを特定し、この中で退避ブロックを決定する。他にも、複数の基本ジョブの中で待機中のものを、退避ブロックを含む基本ジョブとして特定する。   (S12) A save block is determined based on the rule. Here, as a rule, for example, a basic job that uses the largest number of blocks is found, and a block that is processed most recently among these blocks is set as a save block. When there are a plurality of basic jobs using the same number of blocks, one basic job is specified according to a preset priority order, and a save block is determined among them. In addition, a plurality of basic jobs that are waiting are identified as basic jobs including a save block.

(S13)図20に示す如く、補助記憶装置、例えば外付フラッシュメモリ(図15には不図示)に、決定したブロック内のデータを一時的に退避する。   (S13) As shown in FIG. 20, the data in the determined block is temporarily saved in an auxiliary storage device such as an external flash memory (not shown in FIG. 15).

退避したブロック内のデータは、例えばDRAM13D内に空きブロックが2つ以上確保された時に、その空きブロックに戻される。   The data in the saved block is returned to the empty block when, for example, two or more empty blocks are secured in the DRAM 13D.

このようにすることで、次にリソース管理部43がデータ領域を確保する場合、DRAM13D内には、常に空きブロックが存在することになるので、ジョブ実行開始時にメモリ資源が不足した状態となるのを防ぐことができ、もって即座にその空きブロックをデータ領域として使用することができるという効果を奏する。   In this way, when the resource management unit 43 secures a data area next time, there is always an empty block in the DRAM 13D, so that memory resources are insufficient at the start of job execution. As a result, the empty block can be used as a data area immediately.

また、電源起動時においてDRAM13D内に予めデータ領域を確保しておくことで、OS32やアプリケーションによってDRAM13D内の一部の領域を他の用途に利用されても、データ領域を常に使用することができるという効果を奏する。   Further, by securing a data area in the DRAM 13D in advance when the power is turned on, the data area can always be used even if a part of the area in the DRAM 13D is used for other purposes by the OS 32 or an application. There is an effect.

なお、本発明には外にも種々の変形例が含まれる。   Note that the present invention includes various other modifications.

例えば図2において、ジョブ情報77はジョブ毎の情報であるので、ジョブ層70に含めたが、情報であるのでジョブ層70の外部に配置することもでき、例えばエンティティ部63やコモン部51等に含めてもよい。   For example, in FIG. 2, since the job information 77 is information for each job, it is included in the job layer 70. However, since it is information, it can be arranged outside the job layer 70. For example, the entity part 63, the common part 51, etc. May be included.

また、図2のデバイス操作部61とデバイス制御部41との分割の境界をどこにするかには任意性があり、デバイス操作部61はデバイス制御部41を用いて機種に依存せずデバイスを制御するものであればよい。   In addition, there is an arbitrary place where the division boundary between the device operation unit 61 and the device control unit 41 in FIG. 2 is set, and the device operation unit 61 uses the device control unit 41 to control the device without depending on the model. Anything to do.

さらに、図2に示す複数の機能部を一つにまとめて構成してもよい。例えば、ユーザサービス受付部81及びユーザサービス実行部82を一つのユーザサービス提供部として、またジョブ制御部72、イメージジョブ実行部73a及びアクセスジョブ実行部73bを一つのジョブ実行部として、さらにインプットステップ実行部74、エディットステップ実行部75及びアウトプットステップ実行部76を一つのステップ実行部として構成するようにしてもよい。   Furthermore, a plurality of functional units shown in FIG. For example, the user service reception unit 81 and the user service execution unit 82 are set as one user service providing unit, the job control unit 72, the image job execution unit 73a and the access job execution unit 73b are set as one job execution unit, and an input step The execution unit 74, the edit step execution unit 75, and the output step execution unit 76 may be configured as one step execution unit.

さらにまた、図2に示す各機能部をどの層60〜80に配置するか否かには任意性があり、例えばジョブをジョブシナリオに基づき1つ以上の基本ジョブに分解し、これらを順次実行指示させるジョブ制御部72をジョブ層70より上層のサービス層80にあるユーザサービス実行部82内又はこの下層に配置してもよい。この場合、ジョブ管理部71はジョブ制御部72により基本ジョブの実行指示を受け付け、この基本ジョブに必要なハードウェア資源をリソース管理部43に対して確保させ、その後基本ジョブ実行部73に上記実行指示を伝達する。この構成によれば、ジョブ層70以下を変更することなくジョブを組み合わせてジョブを追加し又は変更することができ、これにより設計変更が容易となるという効果を奏する。   Furthermore, it is arbitrary in which layer 60 to 80 each functional unit shown in FIG. 2 is arranged. For example, the job is divided into one or more basic jobs based on the job scenario, and these are sequentially executed. The job control unit 72 to be instructed may be arranged in the user service execution unit 82 in the service layer 80 above the job layer 70 or in this lower layer. In this case, the job management unit 71 receives an instruction to execute a basic job from the job control unit 72, causes the resource management unit 43 to secure hardware resources necessary for the basic job, and then causes the basic job execution unit 73 to execute the above execution. Communicate instructions. According to this configuration, it is possible to add or change jobs by combining jobs without changing the job layer 70 or lower, thereby providing an effect that design change is facilitated.

また、図2に示すシステム管理部52は、システムの状態及びユーザの両方を一括して管理しているが、両者のうちいずれか一方のみを管理し、システム管理部52とは別の機能部が他方の管理をする構成であってもよい。さらに、システム管理部52の責務であるユーザ管理のうち、図13に示す認証処理又は図14に示す認可処理を別の機能部の責務とする構成にしてもよい。   Further, the system management unit 52 shown in FIG. 2 collectively manages both the system state and the user, but manages only one of them, and is a functional unit different from the system management unit 52. May be configured to manage the other. Further, in the user management that is the responsibility of the system management unit 52, the authentication process shown in FIG. 13 or the authorization process shown in FIG.

さらにまた、図2に示すミドルウェア層40の各機能部41〜43の一部又は全部をアプリケーションの一部として含む構成であってもよい。   Furthermore, the structure which includes a part or all of each function part 41-43 of the middleware layer 40 shown in FIG. 2 as a part of application may be sufficient.

基本ジョブシナリオは、複数のジョブステップとその実行順の情報を含むものであればよく、例えば関数fnc(inputKind, editKind, outputKind)の引数の組(inputKind, editKind, outputKind)であってもよい。ここにinputKind, editKind及びoutputKindはそれぞれ画像入力手段、画像処理及び画像出力手段の種類に対応しており、関数fncにおいてこの順に処理が行われ、引数の並び順がジョブステップ実行順を示している。   The basic job scenario only needs to include information on a plurality of job steps and their execution order. For example, the basic job scenario may be a set of arguments (inputKind, editKind, outputKind) of a function fnc (inputKind, editKind, outputKind). Here, inputKind, editKind, and outputKind correspond to the types of image input means, image processing, and image output means, respectively, and processing is performed in this order in the function fnc, and the order of arguments indicates the job step execution order. .

同様に、ジョブシナリオは、1つ以上のジョブ種とその実行順の情報を含むものであればよく、例えば関数fnc(jobKind1, jobKind2)の引数の組(jobKind1, jobKind2)であってもよい。ここにjobKind1及び jobKind2はそれぞれ第1及び第2のジョブ種を示し、引数の並び順がジョブ実行順を示している。   Similarly, the job scenario only needs to include one or more job types and execution order information, and may be a set of arguments (jobKind1, jobKind2) of the function fnc (jobKind1, jobKind2), for example. Here, jobKind1 and jobKind2 indicate the first and second job types, respectively, and the order of arguments indicates the job execution order.

また、基本ジョブシナリオは、基本ジョブ実行部73がジョブ制御部72により指示された基本ジョブに基づいて決定する構成を説明したが、ジョブ制御部72が、自身が指示する基本ジョブに対応する基本ジョブシナリオを決定し、この識別子を基本ジョブ実行部73に引き渡す構成であってもよい。   Further, the basic job scenario has been described in which the basic job execution unit 73 is determined based on the basic job instructed by the job control unit 72. However, the job control unit 72 has a basic job corresponding to the basic job instructed by itself. A configuration may be adopted in which a job scenario is determined and this identifier is transferred to the basic job execution unit 73.

さらに、ジョブシナリオの識別子は、ユーザサービス受付部81が決定し、これから下層に引き渡す構成を説明したが、ジョブシナリオを必要とするジョブ管理部71が識別子を決定し、ここから下層に引き渡す構成であってもよい。   Further, the job scenario identifier is determined by the user service accepting unit 81 and transferred to the lower layer. However, the job management unit 71 that requires the job scenario determines the identifier and passes it from here to the lower layer. There may be.

さらにまた、システムサービス実行部83により実行される通知ジョブを基本ジョブとし、ユーザサービス実行部82により実行されるジョブを構成する1つの基本ジョブとしてもよい。   Furthermore, the notification job executed by the system service execution unit 83 may be a basic job, and may be a single basic job constituting the job executed by the user service execution unit 82.

また、OS32及びアプリケーションはEEPROM13E2に格納される場合を説明したが、これら全部又は一部がこれとは別個の記憶手段に格納される構成であってもよく、例えばHDD14に格納される構成であってもよい。   Further, the case where the OS 32 and the application are stored in the EEPROM 13E2 has been described. However, all or part of the OS 32 and the application may be stored in a separate storage unit. For example, the OS 32 and the application are stored in the HDD 14. May be.

さらに、BIOSはブートローダを含む構成であってもよく、この場合、図17に示すステップS3では、BIOSがブートローダを起動し、これがOS32を起動する。   Further, the BIOS may include a boot loader. In this case, in step S3 shown in FIG. 17, the BIOS activates the boot loader, which activates the OS 32.

さらにまた、図17に示すステップS4においてデータ領域を確保する構成を説明したが、ステップS5の次のステップでデータ領域を確保する構成であってもよい。   Furthermore, although the configuration in which the data area is secured in step S4 shown in FIG. 17 has been described, a configuration in which the data area is secured in the step subsequent to step S5 may be used.

また、図19に示す如く、空きブロックが無い場合には常に、退避ブロックを決定し、このブロックを退避する構成を説明したが、仮に複数のブロックを使用している基本ジョブが無い場合には、退避ブロックが無いと判断して、S12及びS13の処理を行わずに終了する構成であってもよい。   Further, as shown in FIG. 19, a configuration has been described in which a save block is always determined when there is no empty block, and this block is saved. However, if there is no basic job using a plurality of blocks, Alternatively, it may be determined that there is no save block, and the process is terminated without performing the processes of S12 and S13.

さらに、実施例2では1つの退避ブロックを決定し、これを退避させる構成を説明したが、複数の退避ブロックを決定し、これらを退避させる構成であってもよい。   Furthermore, in the second embodiment, a configuration has been described in which one save block is determined and saved, but a plurality of save blocks may be determined and saved.

さらにまた、実施例2ではデータ領域をブロック単位で確保する構成を説明したが、ブロック単位でなく、不連続な空き領域を連結したデータ領域を確保する構成であってもよい。その場合、図19に示す「空きブロック」とは「空きデータ領域」であり、「退避ブロック」とは「退避領域」である。   Furthermore, in the second embodiment, the configuration in which the data area is secured in units of blocks has been described. However, the configuration may be such that a data area in which discontinuous free areas are linked is secured instead of in units of blocks. In this case, “empty block” shown in FIG. 19 is “empty data area”, and “evacuation block” is “evacuation area”.

本発明の画像形成装置のソフトウェア階層構造を示す概略ブロック図である。2 is a schematic block diagram illustrating a software hierarchical structure of the image forming apparatus of the present invention. FIG. 各層に含まれるソフトウェアプログラム部を示すブロック図である。It is a block diagram which shows the software program part contained in each layer. 各機能部間を矢印付線で結んでプリントサービス実行時のフローを示す図である。FIG. 5 is a diagram illustrating a flow when a print service is executed by connecting each functional unit with a line with an arrow. 図3の一部の動作を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the one part operation | movement of FIG. ジョブ情報に含まれる設定値の説明図である。It is explanatory drawing of the setting value contained in job information. 各機能部間を矢印付線で結んでファックス送信サービス実行時のフローを示す図である。It is a figure which shows the flow at the time of fax transmission service execution by connecting between each function part with the line with an arrow. 基本ジョブとその組み合わせにより得られる複数のサービスの説明図である。It is explanatory drawing of the some service obtained by a basic job and its combination. 各機能部間を矢印付線で結んでスキャンサービス実行時のフローを示す図である。It is a figure which shows the flow at the time of scan service execution by connecting between each function part with a line with an arrow. 各機能部間を矢印付線で結んでボックス内ファイル印刷サービス実行時のフローを示す図である。It is a figure which shows the flow at the time of execution of the file printing service in a box by connecting between each function part with the line with an arrow. 各機能部間を矢印付線で結んで、スキャンサービス実行時にジャムが発生したときのフローを示す図である。FIG. 10 is a diagram illustrating a flow when a jam occurs during execution of a scan service by connecting each functional unit with a line with an arrow. 各機能部間を矢印付線で結んで、故障が発生した場合にシステムが能動的に通知サービスを要求して故障発生通知サービスを実行するフローを示す図である。FIG. 5 is a diagram illustrating a flow in which functional units are connected by arrows with arrows and the system actively requests a notification service and executes the failure occurrence notification service when a failure occurs. 各機能部間を矢印付線で結んで、操作パネル上からアドレス帳を編集する時のフローを示す図である。It is a figure which shows the flow at the time of connecting each function part with the line with an arrow, and editing an address book from the operation panel. 各機能部間を矢印付線で結んでログイン実行時のフローを示す図である。It is a figure which shows the flow at the time of login execution by connecting between each function part with a line with an arrow. 各機能部間を矢印付線で結んで、認証・認可が有効に設定され且つログイン中である場合の通常のサービス実行時のフローを示す図である。It is a figure which shows the flow at the time of normal service execution when connecting between each function part with a line with an arrow, when authentication and authorization are set effectively and it is logging in. 本発明の実施例に係る画像形成装置のハードウェア構成を示す概略ブロック図である。1 is a schematic block diagram illustrating a hardware configuration of an image forming apparatus according to an embodiment of the present invention. 実施例1においてデータ領域を必要とする複数種の基本ジョブが並列処理で実行されている場合のDRAM内のメモリマップを示す図である。FIG. 5 is a diagram illustrating a memory map in a DRAM when a plurality of types of basic jobs that require a data area are executed in parallel processing in the first embodiment. 実施例2に係わる電源投入時の処理のフローチャートを示す図である。FIG. 10 is a flowchart of processing when power is turned on according to the second embodiment. データ領域確保後のDRAM内のメモリマップを示す図である。It is a figure which shows the memory map in DRAM after data area ensuring. 実施例2に係わるリソース管理部の処理のフローチャートを示す図である。FIG. 10 is a diagram illustrating a flowchart of processing of a resource management unit according to the second embodiment. 図19に示すフローチャートの一部を説明する図である。It is a figure explaining a part of flowchart shown in FIG.

符号の説明Explanation of symbols

10 画像形成装置
11 MPU
12 インタフェース
13E1 EEPROM
13E2 EEPROM
13D DRAM
14 ハードディスク
15 操作パネル
16S スキャナ
16P プリンタ
17 NIC
18 ファクシミリモデム
19 圧縮・伸張ASIC
30 OS層
31 デバイスドライバ
32 OS
40 ミドルウェア層
41 デバイス制御部
42 画像処理部
43 リソース管理部
50 アプリケーション層
51 コモン部
52 システム管理部
60 エレメント層
61 デバイス操作部
62 画像処理操作部
63 エンティティ部
70 ジョブ層
71 ジョブ管理部
72 ジョブ制御部
73 基本ジョブ実行部
73a イメージジョブ実行部
73b アクセスジョブ実行部
74 インプットステップ実行部
75 エディットステップ実行部
76 アウトプットステップ実行部
77 ジョブ情報
80 サービス層
81 ユーザサービス受付部
82 ユーザサービス実行部
83 システムサービス実行部
10 Image forming apparatus 11 MPU
12 interface 13E1 EEPROM
13E2 EEPROM
13D DRAM
14 Hard disk 15 Operation panel 16S Scanner 16P Printer 17 NIC
18 Facsimile modem 19 Compression / decompression ASIC
30 OS layer 31 Device driver 32 OS
40 middleware layer 41 device control unit 42 image processing unit 43 resource management unit 50 application layer 51 common unit 52 system management unit 60 element layer 61 device operation unit 62 image processing operation unit 63 entity unit 70 job layer 71 job management unit 72 job control Unit 73 Basic job execution unit 73a Image job execution unit 73b Access job execution unit 74 Input step execution unit 75 Edit step execution unit 76 Output step execution unit 77 Job information 80 Service layer 81 User service reception unit 82 User service execution unit 83 System Service execution part

Claims (8)

プロセッサと、指示入力手段と、複数種のジョブを実行可能なアプリケーションが格納された記憶手段とを備えた画像形成装置であって、
該アプリケーションは、該プロセッサに対し、上層側のプログラムから下層側のプログラムへと命令を順次伝達させるものであり、
該下層側のプログラムでハードウェアエラーを検知した場合に、
該プロセッサに対し、該下層側のプログラムから該上層側のプログラムへ、該検知したことを通知させ、該通知を受け取った該上層側のプログラムから該下層側のプログラムへとハードウェアの制御を中断する命令を順次伝達させる、
ことを特徴とする画像形成装置。
An image forming apparatus comprising a processor, an instruction input unit, and a storage unit storing an application capable of executing a plurality of types of jobs,
The application causes the processor to sequentially transmit instructions from an upper layer program to a lower layer program,
When a hardware error is detected in the lower layer program,
The processor is notified of the detection from the lower-layer program to the upper-layer program, and the hardware control is suspended from the upper-layer program that has received the notification to the lower-layer program. Sequentially transmit the commands to
An image forming apparatus.
該アプリケーションは、三層以上に多層化されたプログラムから構成されており、
該下層側のプログラムで該ハードウェアエラーを検知した場合に、
該プロセッサに対し、該上層側のプログラムから中間層側のプログラムを介して該下層側のプログラムへと該命令を順次伝達させることを特徴とする請求項1に記載の画像形成装置。
The application is composed of programs that are multi-layered into three or more layers.
When the lower layer program detects the hardware error,
2. The image forming apparatus according to claim 1, wherein the instruction is sequentially transmitted from the upper layer side program to the lower layer side program through the intermediate layer side program to the processor.
該上層側のプログラムは、
該プロセッサに対し、該指示入力手段からのサービス要求を受け付けさせ、該サービス要求に対応したジョブシナリオ又はその識別子を該中間層側のプログラムに引き渡して該ジョブの実行を指示させる第1上層プログラムと、
該プロセッサに対し、これに応答して、該ジョブを生成させ、該生成したジョブの管理させ、且つ該中間層側のプログラムを呼び出させる第2上層プログラムと、
を有することを特徴とする請求項1又は2に記載の画像形成装置。
The upper level program is
A first upper layer program that causes the processor to accept a service request from the instruction input means, and to hand over a job scenario corresponding to the service request or an identifier thereof to a program on the middle layer side to instruct execution of the job; ,
A second upper layer program for causing the processor to generate the job, manage the generated job, and call a program on the middle layer side in response to the processing;
The image forming apparatus according to claim 1, further comprising:
該中間層側のプログラムは、
該プロセッサに対し、該呼出しに応答して該ジョブシナリオに基づき該ジョブを構成する基本ジョブを順次実行させる第1中間層プログラムと、
該プロセッサに対し、該基本ジョブを構成するジョブステップを実行する第2中間層プログラムと、
を有することを特徴とする請求項3に記載の画像形成装置。
The program on the middle tier side is
A first intermediate layer program for causing the processor to sequentially execute basic jobs constituting the job based on the job scenario in response to the call;
A second intermediate layer program for executing the job steps constituting the basic job for the processor;
The image forming apparatus according to claim 3, further comprising:
該下層側のプログラムは、該ジョブステップの実行に際し、該第2中間層プログラムにより呼出され、該プロセッサに対し、該ハードウェアを制御させる下層プログラムを有し、
該下層プログラムが制御対象のハードウェアエラーを検知した場合に、
該プロセッサに対し、該下層プログラムから該第2上層プログラムへ、該検知したことを通知させ、該通知を受け取った該第2上層プログラムから該第1中間層プログラム、該第2中間層プログラム及び該下層プログラムに該制御の中断命令を順次伝達させることを特徴とする請求項4に記載の画像形成装置。
The lower-layer program has a lower-layer program that is called by the second middle-layer program when the job step is executed and causes the processor to control the hardware.
When the lower layer program detects a hardware error to be controlled,
The processor is notified of the detection from the lower layer program to the second upper layer program, and from the second upper layer program that has received the notification, the first intermediate layer program, the second intermediate layer program, and the 5. The image forming apparatus according to claim 4, wherein an instruction to interrupt the control is sequentially transmitted to a lower layer program.
該アプリケーションは、
該多層化された各プログラムの状態及びこれらの制御対象であるハードウェアの状態を管理するシステム管理プログラムを更に有し、
該検知は、該システム管理プログラムを介して該上層側のプログラムに通知されるものであることを特徴とする請求項2乃至5のいずれか1つに記載の画像形成装置。
The application
A system management program for managing the state of each of the multi-layered programs and the state of the hardware to be controlled;
6. The image forming apparatus according to claim 2, wherein the detection is notified to the upper-layer program via the system management program.
複数種のジョブを実行可能なアプリケーションが格納された記憶手段を備えた画像形成装置に対し、該アプリケーションにより上層側のプログラムから下層側のプログラムへと命令を順次伝達させて画像を形成する画像形成方法であって、
該下層側のプログラムでハードウェアエラーを検知した場合に、
該アプリケーションから、該画像形成装置に対し、該下層側のプログラムから該上層側のプログラムへ、該検知したことを通知させ、該通知を受け取った該上層側のプログラムから該下層側のプログラムへとハードウェアの制御を中断する命令を順次伝達させる、
ことを特徴とする画像形成方法。
Image formation for forming an image by sequentially transmitting instructions from an upper-layer program to a lower-layer program for an image forming apparatus having a storage unit storing an application capable of executing a plurality of types of jobs A method,
When a hardware error is detected in the lower layer program,
The application causes the image forming apparatus to be notified of the detection from the lower-layer program to the upper-layer program, and from the upper-layer program that has received the notification to the lower-layer program. Sequentially transmit instructions to interrupt hardware control,
An image forming method.
画像形成装置に搭載される、複数種のジョブを実行可能なアプリケーションプログラムであって、
該アプリケーションプログラムは、該画像形成装置に対し、上層側のプログラムから下層側のプログラムへと命令を順次伝達させるものであり、
該下層側のプログラムでハードウェアエラーを検知した場合に、
該プロセッサに対し、該下層側のプログラムから該上層側のプログラムへ、該検知したことを通知させ、該通知を受け取った該上層側のプログラムから該下層側のプログラムへとハードウェアの制御を中断する命令を順次伝達させる、
ことを特徴とするアプリケーションプログラム。
An application program installed in the image forming apparatus and capable of executing a plurality of types of jobs,
The application program causes the image forming apparatus to sequentially transmit commands from the upper layer side program to the lower layer side program,
When a hardware error is detected in the lower layer program,
The processor is notified of the detection from the lower-layer program to the upper-layer program, and the hardware control is suspended from the upper-layer program that has received the notification to the lower-layer program. Sequentially transmit the commands to
An application program characterized by that.
JP2007076523A 2007-03-23 2007-03-23 Image forming apparatus, image forming method, and application program Expired - Fee Related JP4979426B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2007076523A JP4979426B2 (en) 2007-03-23 2007-03-23 Image forming apparatus, image forming method, and application program
EP08722583.5A EP2040164B1 (en) 2007-03-23 2008-03-21 Operation control program, operation control method, image formation device, and memory resource allocation method
PCT/JP2008/055219 WO2008123123A1 (en) 2007-03-23 2008-03-21 Operation control program, operation control method, image formation device, and memory resource allocation method
US12/308,967 US8314962B2 (en) 2007-03-23 2008-03-21 Image forming apparatus that discriminates an operation of a service requested and constructs a job corresponding to the operation by selecting a job scenario prepared in advance
CN2008800003801A CN101542440B (en) 2007-03-23 2008-03-21 Operation control method and image formation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007076523A JP4979426B2 (en) 2007-03-23 2007-03-23 Image forming apparatus, image forming method, and application program

Publications (2)

Publication Number Publication Date
JP2008236614A true JP2008236614A (en) 2008-10-02
JP4979426B2 JP4979426B2 (en) 2012-07-18

Family

ID=39908807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007076523A Expired - Fee Related JP4979426B2 (en) 2007-03-23 2007-03-23 Image forming apparatus, image forming method, and application program

Country Status (1)

Country Link
JP (1) JP4979426B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008236612A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus, image forming method and application program
JP2008236610A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus, image forming method, and application program
JP2008236613A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image formation apparatus and image formation method, and application program
JP2008236616A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus, image forming method and application program
JP2008236609A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Apparatus and method for image formation and application program
JP2008236611A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Apparatus and method for image formation and application program
JP2008236615A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus and memory resource securing method
CN107870767A (en) * 2016-09-26 2018-04-03 富士施乐株式会社 Image processing system

Citations (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02297632A (en) * 1989-05-11 1990-12-10 Matsushita Graphic Commun Syst Inc Inter-task communicating method for multitask system
JP2001243039A (en) * 1999-11-03 2001-09-07 Toshiba Tec Corp Error management for tandem printing system
JP2002082806A (en) * 2000-07-05 2002-03-22 Ricoh Co Ltd Device and method for forming image and program
JP2002297404A (en) * 2001-03-30 2002-10-11 Seiko Epson Corp Control device for printer and control method for printer
JP2002368927A (en) * 2001-06-05 2002-12-20 Fuji Xerox Co Ltd Job display device and its method
JP2002368928A (en) * 2001-06-05 2002-12-20 Fuji Xerox Co Ltd Job display device and its method
JP2003084956A (en) * 2001-09-11 2003-03-20 Ricoh Co Ltd Image forming device, and software reconstructing method
JP2003196119A (en) * 2001-12-27 2003-07-11 Murata Mach Ltd Communication device
JP2003296065A (en) * 2002-03-29 2003-10-17 Ricoh Co Ltd Image forming apparatus
JP2004212601A (en) * 2002-12-27 2004-07-29 Canon Finetech Inc Image forming apparatus
JP2004287859A (en) * 2003-03-24 2004-10-14 Fuji Xerox Co Ltd Service processor, service processing method and program
JP3595665B2 (en) * 1997-11-07 2004-12-02 キヤノン株式会社 Image input / output device and management method
JP2005022244A (en) * 2003-07-02 2005-01-27 Canon Inc Image forming apparatus
JP2005117544A (en) * 2003-10-10 2005-04-28 Ricoh Co Ltd Image forming apparatus, operation panel control method, and program for making computer implement the method
JP2005117622A (en) * 2003-08-12 2005-04-28 Ricoh Co Ltd Document editing method and image processing apparatus
JP2005175595A (en) * 2003-12-08 2005-06-30 Ricoh Co Ltd Image forming apparatus and its production process
JP3683543B2 (en) * 2002-03-29 2005-08-17 株式会社リコー Image forming apparatus
JP3683542B2 (en) * 2002-03-29 2005-08-17 株式会社リコー Image forming apparatus
JP2005293407A (en) * 2004-04-02 2005-10-20 Canon Inc Information processor, input operation simplification method and program
JP2006094127A (en) * 2004-09-24 2006-04-06 Fuji Xerox Co Ltd Notification method, interruption inhibition method, interruption control method, job processor, and user terminal
JP2006133858A (en) * 2004-11-02 2006-05-25 Canon Inc Image input/output device, its control method, and recording medium
JP2006203654A (en) * 2005-01-21 2006-08-03 Ricoh Co Ltd Image forming apparatus, service function division rule method, and service function division rule program
JP3870200B2 (en) * 2004-04-12 2007-01-17 キヤノン株式会社 Job management apparatus, management method, and computer-readable storage medium
JP3887191B2 (en) * 2001-08-31 2007-02-28 株式会社リコー Image information processing apparatus and failure information notification method
JP2007072170A (en) * 2005-09-07 2007-03-22 Fuji Xerox Co Ltd State display device of image forming device, and image forming device
US20080134179A1 (en) * 2006-12-01 2008-06-05 Hisanori Takahashi Image processing apparatus, job management method, and storage medium
JP2008160809A (en) * 2006-12-01 2008-07-10 Ricoh Co Ltd Image processing apparatus
JP2008236615A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus and memory resource securing method
JP2008234554A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus, image forming method and application program
JP2008236616A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus, image forming method and application program
JP2008234555A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus, image forming method and application program
JP2008236611A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Apparatus and method for image formation and application program
JP2008236612A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus, image forming method and application program
JP2008236613A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image formation apparatus and image formation method, and application program
JP2008236610A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus, image forming method, and application program
JP2008236609A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Apparatus and method for image formation and application program
JP2008271520A (en) * 2007-03-23 2008-11-06 Kyocera Mita Corp Operation control program, operation control method, and image formation device

Patent Citations (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0766334B2 (en) * 1989-05-11 1995-07-19 松下電送株式会社 Image display device
JPH02297632A (en) * 1989-05-11 1990-12-10 Matsushita Graphic Commun Syst Inc Inter-task communicating method for multitask system
JP3595665B2 (en) * 1997-11-07 2004-12-02 キヤノン株式会社 Image input / output device and management method
JP2001243039A (en) * 1999-11-03 2001-09-07 Toshiba Tec Corp Error management for tandem printing system
JP2002082806A (en) * 2000-07-05 2002-03-22 Ricoh Co Ltd Device and method for forming image and program
JP2002297404A (en) * 2001-03-30 2002-10-11 Seiko Epson Corp Control device for printer and control method for printer
JP2002368927A (en) * 2001-06-05 2002-12-20 Fuji Xerox Co Ltd Job display device and its method
JP2002368928A (en) * 2001-06-05 2002-12-20 Fuji Xerox Co Ltd Job display device and its method
JP3887191B2 (en) * 2001-08-31 2007-02-28 株式会社リコー Image information processing apparatus and failure information notification method
JP2003084956A (en) * 2001-09-11 2003-03-20 Ricoh Co Ltd Image forming device, and software reconstructing method
JP2003196119A (en) * 2001-12-27 2003-07-11 Murata Mach Ltd Communication device
JP3683542B2 (en) * 2002-03-29 2005-08-17 株式会社リコー Image forming apparatus
JP3683543B2 (en) * 2002-03-29 2005-08-17 株式会社リコー Image forming apparatus
JP2003296065A (en) * 2002-03-29 2003-10-17 Ricoh Co Ltd Image forming apparatus
JP2004212601A (en) * 2002-12-27 2004-07-29 Canon Finetech Inc Image forming apparatus
JP2004287859A (en) * 2003-03-24 2004-10-14 Fuji Xerox Co Ltd Service processor, service processing method and program
JP2005022244A (en) * 2003-07-02 2005-01-27 Canon Inc Image forming apparatus
JP2005117622A (en) * 2003-08-12 2005-04-28 Ricoh Co Ltd Document editing method and image processing apparatus
JP2005117544A (en) * 2003-10-10 2005-04-28 Ricoh Co Ltd Image forming apparatus, operation panel control method, and program for making computer implement the method
JP2005175595A (en) * 2003-12-08 2005-06-30 Ricoh Co Ltd Image forming apparatus and its production process
JP2005293407A (en) * 2004-04-02 2005-10-20 Canon Inc Information processor, input operation simplification method and program
JP3870200B2 (en) * 2004-04-12 2007-01-17 キヤノン株式会社 Job management apparatus, management method, and computer-readable storage medium
JP2006094127A (en) * 2004-09-24 2006-04-06 Fuji Xerox Co Ltd Notification method, interruption inhibition method, interruption control method, job processor, and user terminal
JP2006133858A (en) * 2004-11-02 2006-05-25 Canon Inc Image input/output device, its control method, and recording medium
JP2006203654A (en) * 2005-01-21 2006-08-03 Ricoh Co Ltd Image forming apparatus, service function division rule method, and service function division rule program
JP2007072170A (en) * 2005-09-07 2007-03-22 Fuji Xerox Co Ltd State display device of image forming device, and image forming device
US20080134179A1 (en) * 2006-12-01 2008-06-05 Hisanori Takahashi Image processing apparatus, job management method, and storage medium
JP2008160809A (en) * 2006-12-01 2008-07-10 Ricoh Co Ltd Image processing apparatus
JP2008236610A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus, image forming method, and application program
JP2008234554A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus, image forming method and application program
JP2008236616A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus, image forming method and application program
JP2008234555A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus, image forming method and application program
JP2008236611A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Apparatus and method for image formation and application program
JP2008236612A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus, image forming method and application program
JP2008236613A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image formation apparatus and image formation method, and application program
JP2008236615A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus and memory resource securing method
JP2008236609A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Apparatus and method for image formation and application program
JP2008271520A (en) * 2007-03-23 2008-11-06 Kyocera Mita Corp Operation control program, operation control method, and image formation device

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008236612A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus, image forming method and application program
JP2008236610A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus, image forming method, and application program
JP2008236613A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image formation apparatus and image formation method, and application program
JP2008236616A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus, image forming method and application program
JP2008236609A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Apparatus and method for image formation and application program
JP2008236611A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Apparatus and method for image formation and application program
JP2008236615A (en) * 2007-03-23 2008-10-02 Kyocera Mita Corp Image forming apparatus and memory resource securing method
CN107870767A (en) * 2016-09-26 2018-04-03 富士施乐株式会社 Image processing system
CN107870767B (en) * 2016-09-26 2023-06-30 富士胶片商业创新有限公司 Image forming apparatus having a plurality of image forming units

Also Published As

Publication number Publication date
JP4979426B2 (en) 2012-07-18

Similar Documents

Publication Publication Date Title
JP5281249B2 (en) Image forming apparatus, image forming method, and application program
JP4978262B2 (en) Image forming apparatus, image forming method, and application program
JP5193638B2 (en) Motion control program
JP4979426B2 (en) Image forming apparatus, image forming method, and application program
JP5150117B2 (en) Image forming apparatus, image forming method, and application program
JP4978261B2 (en) Image forming apparatus, image forming method, and application program
JP4978263B2 (en) Image forming apparatus, image forming method, and application program
JP3679349B2 (en) Image forming apparatus, image forming method, image forming program, and application program
JP5724344B2 (en) Image forming apparatus, customization control method, and customization control program
JP4985953B2 (en) Image forming apparatus, image forming method, and application program
JP4979427B2 (en) Image forming apparatus, image forming method, and application program
JP4985952B2 (en) Image forming apparatus, image forming method, and application program
JP4978264B2 (en) Image forming apparatus and memory resource securing method
JP2005309933A (en) Enhancement control device, image processing system, method for displaying application icon, program, and storage medium
JP2005318280A (en) Image processing system, controller and its control method
EP2040164B1 (en) Operation control program, operation control method, image formation device, and memory resource allocation method
US9235793B2 (en) Information processing apparatus, storage medium, and information processing system
JP2016027711A (en) Image forming apparatus, image forming method, and program
JP4474440B2 (en) Provision of services using multifunction peripherals (MFPs)
CN101542440B (en) Operation control method and image formation device
JP2005301890A (en) Extended control unit, image formation system, application start change method, control method of image formation system, program, and recording medium
JP2005287042A (en) Apparatus, method and program for image formation
JP2005304016A (en) Image forming device, method, and program
JP2000112865A (en) Interface structure for controlling office automation equipment
JP5152390B2 (en) Image forming apparatus and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120313

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120417

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4979426

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees