JP4978264B2 - Image forming apparatus and memory resource securing method - Google Patents
Image forming apparatus and memory resource securing method Download PDFInfo
- Publication number
- JP4978264B2 JP4978264B2 JP2007076525A JP2007076525A JP4978264B2 JP 4978264 B2 JP4978264 B2 JP 4978264B2 JP 2007076525 A JP2007076525 A JP 2007076525A JP 2007076525 A JP2007076525 A JP 2007076525A JP 4978264 B2 JP4978264 B2 JP 4978264B2
- Authority
- JP
- Japan
- Prior art keywords
- job
- unit
- basic
- data area
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Storing Facsimile Image Data (AREA)
Description
本発明は、複数種のジョブを実行可能な画像形成装置に係り、特に、メモリ資源を酷使する場合に好適な画像形成装置及びこれに用いられるメモリ資源確保方法に関する。 The present invention relates to an image forming apparatus capable of executing a plurality of types of jobs, and more particularly to an image forming apparatus suitable for overuse of memory resources and a memory resource securing method used therefor.
画像形成装置の一種である複合機は、複数種のジョブ実行に対し共通のハードウェア資源を用いるので、全体としてコストを低減できるとともに、省スペース化を図ることができる。 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
しかしながら、このような複合機では、複数種のジョブがメモリ資源に対してデータ領域の獲得要求をするので、新たなジョブ実行に必要な領域がメモリ内に無くなる場合が生じ、メモリ内に十分な空き領域が確保されるまで待機する必要があった。
本発明の目的は、画像形成装置が多機能化され且つ画像解像度が向上されたことに伴いメモリ資源が枯渇するのを防ぐことにより、メモリ資源を即座に利用することが可能な画像形成装置、画像形成方法及びアプリケーションプログラムを提供することにある。 An object of the present invention is to provide an image forming apparatus capable of immediately using memory resources by preventing the memory resources from being depleted as the image forming apparatus is multi-functionalized and the image resolution is improved. An object is to provide an image forming method and an application program.
本発明による画像形成装置の第1態様では、
ジョブ用データ領域が確保されるメモリと、
データ領域の空きが第1所定量以下である場合に、次のジョブの実行開始前に、該次のジョブの実行に必要と考えられる第1所定量以上である第2所定量の領域を該データ領域から確保する資源確保手段と、
を備える。
In the first aspect of the image forming apparatus according to the present invention,
Memory where the data area for jobs is reserved,
If the free space in the data area is less than or equal to the first predetermined amount, before starting the execution of the next job, the second predetermined amount of area that is greater than or equal to the first predetermined amount considered necessary for the execution of the next job Resource securing means secured from the data area;
Is provided.
本発明による画像形成装置の第2態様では、第1態様において、
補助記憶装置をさらに有し、
該資源確保手段は、該第2所定量の領域内にあるデータを該補助記憶装置に退避し、該メモリ内に空き領域を創成することにより、該第2所定量の領域を確保する。
In a second aspect of the image forming apparatus according to the present invention, in the first aspect,
An auxiliary storage device;
The resource securing means reserves the second predetermined amount of area by saving data in the second predetermined amount of area to the auxiliary storage device and creating a free area in the memory.
本発明による画像形成装置の第3態様では、第1又は第2態様において、
該資源確保手段は、該画像形成装置の起動時に、該メモリ内の領域の一部を該データ領域として予め確保しておく。
In a third aspect of the image forming apparatus according to the present invention, in the first or second aspect,
The resource securing unit reserves a part of the area in the memory as the data area in advance when the image forming apparatus is activated.
本発明による画像形成装置の第4態様では、第1乃至第3態様のいずれか1つにおいて、
該資源確保手段は、該起動時に、該データ領域をブロック単位で予め確保し、該ブロックが全て使用された場合に、該ジョブの実行に必要なデータ領域を、使用中のブロックから該ブロック単位で確保する。
In a fourth aspect of the image forming apparatus according to the present invention, in any one of the first to third aspects,
The resource securing means reserves the data area in units of blocks at the time of starting, and when all the blocks are used, the data area necessary for execution of the job is transferred from the block in use to the block unit. Secure with.
本発明によるメモリ資源確保方法の第1態様では、
ジョブ用データ領域が確保されるメモリを備える画像形成装置で行われるメモリ資源確保方法において、
データ領域の空きが第1所定量以下である場合に、次のジョブの実行開始前に、該次のジョブの実行に必要と考えられる第1所定量以上である第2所定量の領域を該データ領域から確保する。
In the first aspect of the memory resource securing method according to the present invention,
In a memory resource securing method performed in an image forming apparatus including a memory in which a job data area is secured,
If the free space in the data area is less than or equal to the first predetermined amount, before starting the execution of the next job, the second predetermined amount of area that is greater than or equal to the first predetermined amount considered necessary for the execution of the next job Secure from the data area.
上記第1態様の構成によれば、データ領域の空きが第1所定量以下である場合に、次のジョブの実行開始前に、該次のジョブの実行に必要と考えられる第1所定量以上である第2所定量の領域を該データ領域から確保するので、次のジョブ実行開始時にデータ領域が不足した状態となるのを防ぐことができ、メモリ資源を即座に利用することができるという効果を奏する。 According to the configuration of the first aspect, when the free space in the data area is equal to or less than the first predetermined amount, the first predetermined amount that is considered necessary for the execution of the next job is started before the execution of the next job. Since the second predetermined amount of area is secured from the data area, it is possible to prevent the data area from becoming insufficient at the start of the next job execution, and to use memory resources immediately. Play.
上記第2態様の構成によれば、第2所定量の領域内にあるデータを該補助記憶装置に退避してメモリ内に空き領域を創成することにより、該第2所定量の領域を確保するので、第2所定領域内にあるデータが消失するのを防止することができるという効果を奏する。 According to the configuration of the second aspect, the second predetermined amount of area is secured by saving data in the second predetermined amount of area to the auxiliary storage device and creating a free area in the memory. As a result, it is possible to prevent the data in the second predetermined area from being lost.
上記第3態様の構成によれば、画像形成装置の起動時に、メモリ内の領域の一部を該データ領域として予め確保するので、OSやアプリケーションによってメモリ内の一部の領域を他の用途に利用されても、データ領域を常に使用することができるという効果を奏する。 According to the configuration of the third aspect, since a part of the area in the memory is reserved in advance as the data area when the image forming apparatus is started up, the part of the area in the memory is used for other purposes by the OS or application. Even if it is used, the data area can always be used.
本発明の他の目的、構成及び効果は以下の説明から明らかになる。 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
この画像形成装置10では、MPU11にインタフェース12を介してEEPROM13E1、EEPROM13E2、DRAM13D、HDD14、操作パネル15、スキャナ16S、プリンタ16P、NIC17、ファクシミリモデム18及び圧縮・伸張ASIC19が結合されている。図15では、簡単化のため、複数のインタフェースを1つのブロックで示している。
In the
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
操作パネル15は、設定値又は指示を入力し、設定画面や状態などを表示させるためのものである。本実施例1では、操作パネル15がタッチパネルとハードウェアキーの組み合わせで構成されている。
The
画像入力手段としてのスキャナ16Sは、スキャン、コピー及びファックス送信での画像入力に用いられる。画像出力手段としてのプリンタ16Pは、プリントエンジン、定着器並びに用紙の給紙部、搬送部及び排紙部を備え、供給されるビットマップデータに基づいてプリントエンジンの感光ドラムに静電潜像を形成し、これをトナーで現像し、用紙に転写し定着させた後に排紙する。
The
画像入出力手段としてのNIC17は、ケーブル又は無線の通信媒体を介してホストコンピュータ20に結合され、プリントジョブ、電子メール送受信、インターネットファクシミリ送信及びブラウザからの操作パネル15の遠隔操作に用いられる。ファクシミリモデム18は、ファクシミリ送受信用である。
The NIC 17 as image input / output means is coupled to the
圧縮・伸張ASIC19は、MPU11のコプロセッサとして用いられ、例えば画像の圧縮及び伸張にそれぞれ2ポートを有し、最大4並列実行可能である。
[2]ソフトウェア設計思想
まず、ソフトウェア設計思想について説明する。
The compression / decompression ASIC 19 is used as a coprocessor of the
[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
本実施例の特徴部分であるアプリケーション層50は、コモン部51及びシステム管理部52と、下層のエレメント層60と、中間層のジョブ層70と、上層のサービス層80とを備えている。
The
サービス層80は、ユーザのサービス要求を受け付けてジョブ層70及びエレメント層60を介してユーザにサービスを提供するものである。上述のように、サービス層80で受け付けたサービスは、ジョブ層70を介さずにエレメント層60又はシステム管理部52で実行されるものがあり、これらをジョブと区別するために「ワーク」と称す。各サービスは、ジョブ又はワークに対応し、ジョブはジョブ層70により実行される。該ジョブは、1つ又は複数の基本ジョブで構成され、さらに基本ジョブは1つ又は複数のジョブステップで構成され、該ジョブステップはジョブ層70によりエレメント層60を随時利用して実行される。
The
図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
[5] Middleware layer The
デバイス制御部41は、デバイスドライバ31を介し、操作パネル15、スキャナ16S、プリンタ16P、NIC17及びファクシミリモデム18を制御し、又これらデバイスの状態通知を受け取るためのものである。
The
画像処理部42は、圧縮・伸張ASIC19の制御、画像の拡大、縮小又は回転処理及びRIPなどの処理を行う。
The
リソース管理部43は、リソースごとのリソース要求キューに従って、リソースを割り当て、割り当てたリソースが使用済みになったら解放する。
The
以下、アプリケーション層50について説明する。
[6]コモン部及びシステム管理部
コモン部51は、システム管理部52、エレメント層60、ジョブ層70及びサービス層80で共通に用いられるプログラムと、機種に依存する設定値が条件を満たしているか否かを判定するプログラムとを含んでいる。このコモン部51により、システム管理部52、エレメント層60、ジョブ層70及びサービス層80のプログラムが簡単化され且つ機種に依存しないものとなり、設計変更が容易となる。
Hereinafter, the
[6] Common Unit and System Management Unit The
システム管理部52は、システムの状態及びユーザを管理しており、システム内でエラーが発生した場合は、その通知を必要な箇所に分配し、またログイン処理及びログイン後のサービス要求許否の処理を担当する。
[7]エレメント層
エレメント層60は、デバイス操作部61、画像処理操作部62及びエンティティ部63の各機能部を備えている。これら機能部61又は62はそれぞれ、ミドルウェア層40の機能部41又は42に対応している。デバイス操作部61及びエンティティ部63はいずれも、画像入力手段及び画像出力手段を制御又は操作するためのものである。
The
[7] Element Layer The
デバイス操作部61は、デバイス制御部41から通知される機器の状態に応じて、デバイス制御部41を操作する。
The
画像処理操作部62は、中間データの生成などの処理を行い、又上記画像処理部42を介して画像の圧縮、伸張、拡大、縮小、回転及びRIPなどの処理を行う。
The image
エンティティ部63は、データの保持と管理を行う。
[8]ジョブ層
ジョブ層70は、ジョブの実行を管理し、且つエレメント層60の1つの機能部内にあるプログラムを起動し又は複数の機能部内のプログラムをシーケンシャルに起動して、ジョブを実行するものであり、ジョブ管理部71、ジョブ制御部72、基本ジョブ実行部73、インプットステップ実行部74、エディットステップ実行部75及びアウトプットステップ実行部76の各ステップ実行部と、これらからアクセス可能なジョブ情報77とを備えている。なお、便宜のため、ジョブ管理部71及びジョブ制御部72を含むものを「応用ジョブ層」と称し、基本ジョブ実行部73、インプットステップ実行部74、エディットステップ実行部75及びアウトプットステップ実行部76を含むものを「基本ジョブ層」と称す。
The
[8] Job Layer The
ジョブ管理部71は、サービス層80からのジョブ開始要求に応じて、その時点の設定情報(ジョブ種に対応する部分のみで可)をコピーした、ジョブ情報77を生成し、上記リソース管理部43を介して該ジョブを構成する基本ジョブの実行に必要なハードウェア資源を獲得し、その後ジョブ制御部72にジョブの実行、実行順の変更、中断、再開又はキャンセルなどのジョブ制御指示を行う。ここで、ジョブ情報77とは、ジョブの設定値とジョブの状態とからなり、ジョブ種によらない、各ジョブに共通の構造体である。図5は、ジョブ情報に含まれる設定値の説明図である。
In response to a job start request from the
ジョブ制御部72は、上記ジョブ制御指示に応答し、その指示がジョブの実行の場合、ジョブシナリオに従って基本ジョブ実行部73にジョブを構成する基本ジョブを順次実行指示することによりジョブを実行する。ここにジョブシナリオは、1つ以上の基本ジョブとその実行順の情報を含む。このジョブシナリオは、条件に応じて基本ジョブを選択する条件分岐命令を含んでもよい。例えば出力リソース待ちの場合、出力を急ぐためユーザの設定に応じ出力リソースを変更するようにしてもよい。
In response to the job control instruction, the
基本ジョブ実行部73は、上記基本ジョブ実行指示に応答し、基本ジョブが画像処理を含む場合にはイメージジョブ実行部73aを起動し、含まない場合にはアクセスジョブ実行部73bを起動する。
In response to the basic job execution instruction, the basic
イメージジョブ実行部73aは、基本ジョブシナリオに従って、画像処理対象の頁ごとにインプットステップ実行部74、エディットステップ実行部75又はアウトプットステップ実行部76を起動してジョブステップを順次実行させることにより、基本ジョブを実行する。ここに基本ジョブシナリオは、複数のジョブステップとその実行順の情報を含む。このシナリオも、上記同様に、条件分岐命令を含むことができる。
The image
アクセスジョブ実行部73bは、エレメント層60にあるデバイス操作部61又はエンティティ部63を介して、画像処理を伴わない基本ジョブを実行する。例えば、デバイス操作部61、デバイス制御部41、デバイスドライバ31及びNIC17を介して特定の状態変化を電子メールで通知する。
The access
インプットステップ実行部74は、デバイス操作部61又はエンティティ部63を介して画像入力に係わるジョブステップを実行する。例えば、デバイス操作部61、デバイス制御部41及びデバイスドライバ31を介してスキャナ16Sに原稿画像データを読み込ませる処理を行う。また、エンティティ部63が保持している印刷ファイルをファクシミリモデム18により送信する場合に、エンティティ部63から印刷ファイルを取得するのもインプットステップとして実行する。
The input
エディットステップ実行部75は、画像処理操作部62を介して画像編集に係わるジョブステップを実行する。例えば、画像処理操作部62及び画像処理部42を介して未編集の印刷データに対し拡大、縮小、回転などの処理を行う。
The edit
アウトプットステップ実行部76は、デバイス操作部61又はエンティティ部63を介して画像出力に係わるジョブステップを実行する。例えば、デバイス操作部61、デバイス制御部41及びデバイスドライバ31を介してプリンタ16Pに印刷データを印刷させる処理を行う。
[9]サービス層
サービス層80は、上層のユーザサービス受付部81と、下層のユーザサービス実行部82及びシステムサービス実行部83とを備えている。
The output
[9] Service Layer The
ユーザサービス受付部81は、ユーザからの要求をイベント通知により受け付けて、ユーザの要求が何であるかを判断し、この要求に応えるためユーザサービス実行部82に対しサービスの実行を指示する。
The user
具体的には、操作パネル15、NIC17又はファクシミリモデム18等からデバイスドライバ31、デバイス制御部41及びデバイス操作部61を介した要求を受け付け、ユーザのサービス要求に応じたジョブシナリオの識別子(ポインタ又は参照)をユーザサービス実行部82に引き渡すことによりサービスの実行を指示する。このサービス要求には、コピー、ファックス送受信、電子メール送受信、メンテナンス、ソフトウェアのアップデート等がある。但し、エンティティ部63が保持する設定情報等のデータの表示や変更などの簡易なサービス要求を受け付けた場合は、アプリケーションの複雑化を避けるため、ユーザサービス実行部82に実行を指示せず、エンティティ部63に直接サービスの実行を指示する。
Specifically, a request via the
ユーザサービス実行部82は、上記サービス実行指示に応答して、ジョブシナリオの識別子をジョブ管理部に引き渡してジョブの開始指示をすることにより、サービスを実行する。
In response to the service execution instruction, the user
システムサービス実行部83は、画像形成装置10のシステム要求を、システム管理部52を介して受け付け、ジョブ管理部71を呼び出すことによりサービスを実行する。本実施例では、システムからの要求は後述する通知サービスのみ受け付けるが、他のサービス要求、例えば所定の時刻に自動的にFAX送信又はメンテナンスをするサービス等を受け付けるように設計してもよい。
The system
システムサービス実行部83は、システム管理部52からの機器又はユーザジョブの状態変化の通知を受け取ると、エンティティ部63に格納されている設定情報に基づきジョブ管理部71に対し通知ジョブの実行を指示する。通知ジョブは、ユーザ設定のイベント、例えば実行中のジョブでエラーが発生したりファックス送信が完了したりした時に、設定した通知手段でユーザに該イベントの発生を通知するものである。この設定情報は、ユーザへの通知要否、通知すべきイベント、プリントや電子メールなどの通知手段、電子メールの場合には通知先などを含み、操作パネル15から変更が可能である。
When the system
以下、上述したソフトウェア、特にアプリケーション層50が種々のサービス要求に対応するフローを説明する。
[10]プリントサービス実行フロー
図3は、各機能部間を矢印付線で結んでプリントサービス実行時のフローを示す図である。以下、括弧内は図中の実行指示識別符号を示す。
Hereinafter, a flow in which the above-described software, in particular, the
[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
(A03)ユーザサービス受付部81は、印刷要求の通知であった場合、プリントのジョブシナリオの識別子と、サービスに対応した設定情報の識別子と、をユーザサービス実行部82に渡すとともに、プリントサービスの実行を指示する(ユーザサービス実行部82を起動する)。この設定情報には、上記データ識別情報と、プリントに関しEEPROM13E2に設定されている現在の設定値が含まれる。
(A03) In the case of a print request notification, the user
ユーザサービス実行部82はこれに応答して、図4のシーケンス図に示すような動作を行うことにより、サービスを実行する。以下、この動作を具体的に説明する。
In response to this, the user
(A04)ユーザサービス実行部82は、ジョブ管理部71を起動し、これにプリントジョブを生成指示することによりプリントサービスの実行を開始する。
(A04) The user
(A05)ジョブ管理部71はこれに応答して、初期化されたジョブ情報77のインスタンスを生成する。このインスタンスは、ジョブ情報77のディフォルト値を持っている。次に、ジョブ管理部71はこのジョブにジョブIDを割当て、ジョブ情報77にこれとジョブ種を書き込む。
(A05) In response to this, the
(A06)ジョブ管理部71は、ジョブ情報77の生成及び書き込みが完了すると、ユーザサービス実行部82に上記ジョブIDを通知する。
(A06) When the generation and writing of the
(A07、A08)ユーザサービス実行部82は、ユーザサービス受付部81から受け取った上記設定情報をジョブ情報77に書き込み、次いでジョブ管理部71に対し、プリントのジョブシナリオの識別子を引き渡してプリントジョブの開始を指示する。
(A07, A08) The user
(A09〜A11)ジョブ管理部71はこれに応答して、システム管理部52にジョブ開始をジョブIDとともに通知し、上記ジョブシナリオの識別子に基づきジョブシナリオを参照し、リソース管理部43に対し、基本ジョブを実行するのに必要なメモリや圧縮・伸張ASIC19などのハードウェア資源の獲得要求をし、この獲得後、ジョブシナリオの識別子とジョブ情報77の識別子とをジョブ制御部72に引き渡すとともに、プリントジョブの制御を指示する。
(A09 to A11) In response, the
(A12)ジョブ制御部72はこれに応答して、受け取ったジョブシナリオの識別子に基づきジョブシナリオを参照し、これに従って、基本ジョブ実行部73にジョブ情報77の識別子を引き渡すとともに、基本ジョブを実行指示する。ここで本実施例では、プリントジョブは1つの基本ジョブから構成されるので、ジョブ制御部72はこの基本ジョブだけを実行指示するが、プリントジョブが複数の基本ジョブから構成される場合は、ジョブ制御部72は、ジョブシナリオに従って、1つの基本ジョブを実行指示し、その実行完了後、次の基本ジョブを実行指示するというように、複数の基本ジョブを順次実行指示するものである。
(A12) In response, the
従来ではジョブが実行された後、プログラムの階層をミドルウェア層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
基本ジョブ実行部73は、上記基本ジョブ実行指示に応答して、基本ジョブ種に応じて、イメージジョブ実行部73aにジョブ情報77の識別子と指示された基本ジョブを伝達するとともに、これを起動する。イメージジョブ実行部73aはこれに応答して、指示された基本ジョブに対応する基本ジョブシナリオを参照し、これに従って以下のようにステップ実行部74〜76に対し画像入力、画像処理(省略される場合有)及び画像出力のジョブステップをシーケンス制御する。すなわち、指示された基本ジョブを構成する複数のジョブステップを、基本ジョブシナリオに従ってステップ実行部74〜76に順次実行指示する。なお、ジョブ制御部72が基本ジョブ実行部73に実行指示し、これがイメージジョブ実行部73aを起動する場合を説明したが、ジョブ制御部72が直にイメージジョブ実行部73aを起動するようにしてもよい。
In response to the basic job execution instruction, the basic
(A13)上記シーケンス制御において、イメージジョブ実行部73aはまず、指示された基本ジョブに対応する基本ジョブシナリオに従って、ジョブ情報77の識別子をインプットステップ実行部74に引き渡すとともにこれを起動する。
(A13) In the above sequence control, the image
(A14)インプットステップ実行部74は、これに応答して、ジョブ情報77に含まれるジョブ種(プリントジョブ)に応じジョブ情報77から所定の設定情報を読み取り、これに基づき、画像処理操作部62に該ジョブ情報77に含まれる上記データ識別情報を渡すとともにこれを起動する。
(A14) In response to this, the input
(A15〜A18)画像処理操作部62は、これに応答して、該データ識別情報をデバイス操作部61に引き渡して、リソース管理部43が確保しているバッファ領域内の印刷データをデバイス操作部61に取得させ、この印刷データを逐次解析して、これに含まれる所定の情報をジョブ情報77に書き込み、その後画像処理部42を介して未編集の印刷出力頁データを順次作成していく。そして、1ページ分の印刷出力頁データを作成するごとにインプットステップ実行部74に作成完了を通知するとともに該頁データの識別子を引き渡す。
(A15 to A18) In response to this, the image
(A19)インプットステップ実行部74は、これに応答して、基本ジョブ実行部73内のイメージジョブ実行部73aに該完了を通知するとともに該頁データの識別子を引き渡す。
(A19) In response to this, the input
(A20)イメージジョブ実行部73aは、これに応答して、上記基本ジョブシナリオに従って、該頁データの識別子とジョブ情報77の識別子とをエディットステップ実行部75に引き渡すとともにこれを起動する。なお、基本ジョブシナリオによっては、エディットステップ実行部75を起動しない場合があり、その場合はステップA24の処理を行う。
(A20) In response to this, the image
(A21〜A23)エディットステップ実行部75はこれに応答して、ジョブ情報77に含まれるジョブ種に応じジョブ情報77から所定の設定情報を読み取り、これに基づいて、画像処理操作部62を介し画像処理部42の対応するメソッドを呼び出して、該頁データに対し拡大、縮小、回転などの画像編集を行う。編集が完了すると、基本ジョブ実行部73内のイメージジョブ実行部73aに該完了を通知する。
(A21 to A23) In response to this, the edit
(A24)イメージジョブ実行部73aは、上記基本ジョブシナリオに従って、編集された頁データの識別子とジョブ情報77の識別子とをアウトプットステップ実行部76に引き渡すとともにこれを起動する。
(A24) The image
(A25)アウトプットステップ実行部76はこれに応答して、ジョブ情報77に含まれるジョブ種に応じジョブ情報77から所定の設定情報を読み取り、これに基づいてデバイス操作部61を起動する。
(A25) In response to this, the output
(A26〜A28)デバイス操作部61はこれに応答して、コモン部51を呼び出して設定情報が機種に依存する条件を満たしているか否かを判定し、肯定判定した場合には、該設定情報に基づいてデバイス制御部41を介し用紙への印刷処理を行う。また、否定判定した場合には、該印刷処理を行わないまま自己の処理を終えるか又は該コモン部51から取得した、該設定情報の代替情報に基づいて該印刷処理を行う。
(A26 to A28) In response to this, the
(A29)アウトプットステップ実行部76は、全ての頁に対して該印刷処理が完了すると、基本ジョブ実行部73内のイメージジョブ実行部73aに該完了を通知する。
(A29) When the printing process is completed for all pages, the output
(A30)イメージジョブ実行部73aは、基本ジョブシナリオを参照して、ジョブステップを全て実行完了したと判断し、すなわちこれらから構成される1つの基本ジョブの実行が完了したと判断し、ジョブ制御部72に基本ジョブの完了を通知する。
(A30) The image
(A31)ジョブ制御部72はこれに応答して、ジョブ管理部71にこの基本ジョブ完了をジョブIDとともに通知する。
(A31) In response to this, the
(A32〜34)ジョブ管理部71はこれに応答して、リソース管理部43を介し、ジョブ開始時に獲得した上記ハードウェア資源を解放し、ジョブシナリオを参照し、基本ジョブを全て実行完了したと判断し、すなわちこれから構成されるプリントジョブの実行が完了したと判断して、ジョブ情報77を破棄し、且つ、ジョブ完了をジョブIDとともにシステム管理部52及びユーザサービス実行部82に通知する。
(A32-34) In response, the
このように、全ジョブ種に共通のデータ構造のジョブ情報77を備えておき、これを利用するインプットステップ実行部74、エディットステップ実行部75及びアウトプットステップ実行部76内のプログラムにおいて、ジョブ情報77が保持しているジョブ種に応じ所定の設定情報をジョブ情報77から取得するので、構成が簡単になって設計変更が容易となるという効果を奏する。
As described above,
また、イメージジョブ実行部73aがジョブに対応する基本ジョブシナリオに基づき各ステップ実行部74〜76に実行指示するので、各ステップ実行部74〜76内のプログラムの詳細を変更せずとも該基本ジョブシナリオを変更するだけで新たなジョブ種を容易に作成でき、設計変更が容易となるという効果を奏する。
[11]ファックス送信サービス実行フロー
図6は、各機能部の間を矢印付線で結んでファックス送信サービス実行時のフローを示す図である。
Further, since the image
[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
(B03)デバイス操作部61は、要求や設定値を解釈してこれをユーザサービス受付部81に供給する。
(B03) The
(B04)ユーザサービス受付部81はこれに応答して、ユーザサービス実行部82に対し、ファックス送信のジョブシナリオの識別子とファックス送信に関する設定値の識別子とを渡してファックス送信サービスの実行を指示する。
(B04) In response to this, the user
(B05)ユーザサービス実行部82はこれに応答して、ジョブ管理部71を起動し、これにファックス送信ジョブを生成指示することによりファックス送信サービスを実行する。
(B05) In response to this, the user
(B06、B07)ジョブ管理部71はこれに応答して、このジョブにジョブIDを割り当て、初期化されたジョブ情報77のインスタンスを生成して、これに該ジョブIDとジョブ種を書き込み、次にユーザサービス実行部82にこのジョブIDを通知する。
(B06, B07) In response to this, the
(B08、B09)ユーザサービス実行部82は、ユーザサービス受付部81から受け取った識別子で指定される設定値をジョブ情報77に書き込み、次いでジョブ管理部71に対し、上記ジョブシナリオの識別子を渡してファックス送信ジョブの開始を指示する。
(B08, B09) The user
(B10〜B12)ジョブ管理部71はこれに応答して、システム管理部52にジョブ開始をジョブIDとともに通知し、受け取ったジョブシナリオの識別子に基づきジョブシナリオを参照し、リソース管理部43に最初の基本ジョブ(後述するScanToBox基本ジョブ)を実行するのに必要なDRAM13D内の領域やスキャナ16Sなどのハードウェア資源の獲得要求をし、この獲得後、該ジョブシナリオの識別子とジョブ情報77の識別子とをジョブ制御部72に引き渡すとともに、ファックス送信ジョブの制御開始指示をする。
(B10 to B12) In response to this, the
(B13)ジョブ制御部72はこれに応答して、受け取ったジョブシナリオの識別子に基づきジョブシナリオを参照し、これに従って、基本ジョブ実行部73にジョブ情報77の識別子を引き渡すとともに、ファックス送信ジョブを構成する1つのScanToBox基本ジョブを実行指示する。
(B13) In response to this, the
ここで、ファックス送信のジョブシナリオは、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
基本ジョブ実行部73はこれに応答して、実行指示された基本ジョブが、画像処理を伴うと判定し、イメージジョブ実行部73aにジョブ情報77の識別子と指示された基本ジョブを伝達するとともに、これを起動する。イメージジョブ実行部73aはこれに応答して、指示された基本ジョブに対応する基本ジョブシナリオを参照し、これに従って以下のようにステップ実行部74〜76に対し画像入力、画像処理(省略される場合有)及び画像出力のジョブステップをシーケンス制御する。すなわち、指示された基本ジョブを構成する複数のジョブステップを、基本ジョブシナリオに従ってステップ実行部74〜76に順次実行指示する。
In response to this, the basic
(B14)イメージジョブ実行部73aはまず、指示された基本ジョブに対応する基本ジョブシナリオに従って、ジョブ情報77の識別子をインプットステップ実行部74に引き渡すとともにこれを起動する。
(B14) First, the image
(B15〜17)インプットステップ実行部74はこれに応答して、ジョブ情報77に含まれるジョブ種に応じジョブ情報77から所定の設定情報を読取り、これに基づいてデバイス操作部61及びデバイス制御部41等を介しスキャナ16Sから1頁分の原稿画像データを読み込む。デバイス操作部61はこの際、デバイス制御部41からの状態通知に応じてデバイス制御部41を操作する。
(B15-17) In response, the input
(B18)インプットステップ実行部74は上述した処理を完了すると、ジョブ情報77に該原稿画像データの格納アドレス及び範囲などの頁情報を書き込んだ後、基本ジョブ実行部73内のイメージジョブ実行部73aに該完了を通知する。
(B18) Upon completion of the above-described processing, the input
(B19)イメージジョブ実行部73aはこれに応答して、上記基本ジョブシナリオに従って、ジョブ情報77の識別子をアウトプットステップ実行部76に引き渡すとともにこれを起動する。
(B19) In response to this, the image
(B20、B21)アウトプットステップ実行部76はこれに応答して、ジョブ情報77に含まれるジョブ種に応じジョブ情報77から所定の設定情報(該頁情報を含む)を読み取り、これに基づいて該原稿画像データを直に又はファイルとしてエンティティ部63に格納し、基本ジョブ実行部73内のイメージジョブ実行部73aに該完了を通知する。
(B20, B21) In response to this, the output
(B22)イメージジョブ実行部73aはこれに応答して、基本ジョブシナリオを参照して、ジョブステップを全て実行完了し、ScanToBox基本ジョブの実行が完了したと判定し、ジョブ制御部72にこの完了を通知する。
(B22) In response to this, the image
(B23)ジョブ制御部72はこれに応答して、ジョブ管理部71にこの基本ジョブ完了をジョブIDとともに通知する。
(B23) In response to this, the
(B24)ジョブ管理部71はこれに応答して、リソース管理部43を介し、ジョブ開始時に獲得した上記ハードウェア資源を解放し、その後ジョブシナリオを参照し、次の基本ジョブ(BoxToFax基本ジョブ)があると判断して、リソース管理部43にこの次の基本ジョブの実行に必要なファクシミリモデム18などのハードウェア資源の獲得要求をする。
(B24) In response to this, the
(B25〜B27)ジョブ管理部71は上記資源獲得後、ジョブ情報77から送信先FAX番号を読み取り、直接、デバイス操作部61を介しデバイス制御部41に宛先呼出制御を実行させる。デバイス操作部61はこの際、デバイス制御部41からの状態通知に応じてデバイス制御部41を操作する。
(B25 to B27) After acquiring the resource, the
この呼出制御が失敗すると次の処理へ進めないという意味で、この制御はリソース確保に類似しており、共にジョブ管理部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
なお、BoxToFaxジョブ及びファックス受信ジョブ実行に必要なDRAM13D内の領域は、画像形成装置10の立ち上げ時の初期化処理で予め確保されており、この時点でハードウェア資源を獲得する必要はない。
Note that the area in the
(B28〜B30)デバイス制御部41は、送信先ファックスのオンフックを検知すると、デバイス操作部61を介してこれをジョブ管理部71に通知する。
(B28 to B30) When the
(B31)ジョブ管理部71はこれに応答して、ジョブ制御部72にジョブの次制御を指示する。
(B31) In response to this, the
(B32)ジョブ制御部72はこれに応答して、ジョブシナリオを参照し、これに従って、基本ジョブ実行部73にジョブ情報77の識別子を引き渡すとともに、ファックス送信ジョブを構成する、上記ScanToBox基本ジョブの次の基本ジョブであるBoxToFax基本ジョブを実行指示する。
(B32) In response to this, the
基本ジョブ実行部73はこれに応答して、基本ジョブ種に応じて、イメージジョブ実行部73aにジョブ情報77の識別子と指示された基本ジョブとを伝達するとともに、これを起動する。イメージジョブ実行部73aはこれに応答して、指示された基本ジョブに対応する基本ジョブシナリオを参照し、これに従って以下のようにステップ実行部74〜76に対し画像入力、画像処理(省略される場合有)及び画像出力のジョブステップをシーケンス制御する。すなわち、指示された基本ジョブを構成する複数のジョブステップを、基本ジョブシナリオに従ってステップ実行部74〜76に順次実行指示する。
In response to this, the basic
(B33)イメージジョブ実行部73aはまず、指示された基本ジョブに対応する基本ジョブシナリオに従って、ジョブ情報77の識別子をインプットステップ実行部74に引き渡すとともにこれを起動する。
(B33) First, the image
(B34、B35)インプットステップ実行部74はこれに応答して、ジョブ情報77に含まれるジョブ種に応じジョブ情報77から所定の設定情報を読取り、これに基づいてファイルをエンティティ部63から読み出し、イメージジョブ実行部73aにジョブステップの完了を通知する。
(B34, B35) In response, the input
(B36)イメージジョブ実行部73aはこれに応答して、上記基本ジョブシナリオに従って、次のジョブステップを実行させるために、ジョブ情報77の識別子をアウトプットステップ実行部76に引き渡すとともにこれを起動する。なお、本実施例では、画像処理を省略しているのでエディットステップ実行部75を呼び出さないが、呼び出す場合には、エディットステップ実行部75は、呼出し側のFAX装置の性能に合わせた画像処理を行う。
(B36) In response to this, the image
(B37〜B41)アウトプットステップ実行部76はこれに応答して、ジョブ情報77に含まれるジョブ種に応じジョブ情報77から所定の設定情報を読取り、これに基づいてエンティティ63に格納されている画像データ又はファイルを取得し、デバイス操作部61を介しデバイス制御部41に、取得した画像データ又はファイル内のデータをファックス送信させ、イメージジョブ実行部73aにジョブステップの完了を通知する。
(B37 to B41) In response to this, the output
(B42)イメージジョブ実行部73aはこれに応答して、基本ジョブシナリオを参照して、ジョブステップを全て実行完了したと判断し、すなわちこれらから構成されるBoxToFax基本ジョブの実行が完了したと判断し、ジョブ制御部72に基本ジョブの完了を通知する。
(B42) In response to this, the image
(B43)ジョブ制御部72はこれに応答して、ジョブ管理部71にこの基本ジョブ完了をジョブIDとともに通知する。
(B43) In response to this, the
(B44〜B46)ジョブ管理部71はこれに応答して、リソース管理部43を介し、BoxToFax基本ジョブ実行のために獲得したハードウェア資源を解放し、次にジョブシナリオを参照して、基本ジョブを全て実行完了し、これから構成されるファックス送信ジョブの実行が完了したと判断して、ジョブ情報77を破棄し、ジョブ完了をジョブIDとともにシステム管理部52及びユーザサービス実行部82に通知する。
(B44 to B46) In response to this, the
本実施例によれば、応用ジョブ層でジョブシナリオに基づいて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
(E01)イメージジョブ実行部73aは、ジョブ情報77の識別子をインプットステップ実行部74に引き渡してインプットステップ実行部74を起動する。
(E01) The image
(E02〜E04)インプットステップ実行部74はこれに応答して、ジョブ情報77に含まれるジョブ種に応じジョブ情報77から所定の設定情報を読取り、これに基づいてデバイス操作部61及びデバイス制御部41等を介しスキャナ16Sから1頁分の原稿画像データを読み込もうとする。
(E02 to E04) In response to this, the input
(E05、E06)この際、スキャナ16Sのオートシートフィーダでジャムが発生すると、デバイス制御部41からデバイス操作部61へジャム発生が通知される。
(E05, E06) At this time, when a jam occurs in the auto sheet feeder of the
ここで、デバイス操作部61は、デバイス制御部41からの通知がエラー発生又はエラー解除の場合、システム管理部52にこれをその機器識別子及びジョブIDとともに通知し、その他の場合には該通知をジョブIDとともにインプットステップ実行部74に通知する責務を有する。
Here, when the notification from the
(E07)したがって、デバイス操作部61はジャム発生をその機器識別子及びジョブIDとともに起動元に、この場合はシステム管理部52に通知する。
(E07) Therefore, the
(E08、E09)システム管理部52は、エラー又はエラー解除の通知を受けると、これを、機器識別子とともにデバイス操作部61の操作パネルプログラムに通知し、ジョブIDとともにジョブ管理部71に通知する責務を有する。そこで、システム管理部52はこれらの通知を行う。
(E08, E09) Upon receiving an error or error cancellation notification, the
(E10、E11)デバイス操作部61はこれに応答して、デバイス制御部41及びデバイスドライバ31を介し操作パネル15上に、該機器識別子に対応した機器でジャムが生じたことを表示させる。
(E10, E11) In response to this, the
(E12)一方、ジョブ管理部71は、該通知に応答して、該ジャムエラーをジョブ制御部72に通知する。ジョブ制御部72は、該エラーが、予め定められた中断事由に該当するか否かを判定する。
(E12) On the other hand, in response to the notification, the
(E13)ジャムエラーは中断事由であり、ジョブ制御部72は基本ジョブ実行部73内のイメージジョブ実行部73aに対しジョブの中断を指示する。
(E13) The jam error is a reason for interruption, and the
(E14〜E17)イメージジョブ実行部73aはこれに応答して、現在実行中のインプットステップ実行部74及びデバイス操作部61を介しデバイス制御部41に動作を中断させる。
(E14 to E17) In response to this, the image
(E18、E19)スキャナ16Sの動作が中断すると、デバイス制御部41からデバイス操作部61へスキャナ16Sの動作停止が通知される。
(E18, E19) When the operation of the
(E20)デバイス操作部61は、インプットステップ実行部74に該停止を通知する。
(E20) The
(E21〜E23)インプットステップ実行部74は、イメージジョブ実行部73a及びジョブ制御部72を介して、ジョブ管理部71にこの停止を通知する。
(E21 to E23) The input
(E24)ジョブ管理部71は、この通知がジョブの状態変化であるので、これをシステム管理部52に通知する。
(E24) Since the notification is a job status change, the
(E25〜E27)システム管理部52は、この通知がジョブ状態変化であるので、デバイス操作部61及びデバイス制御部41を介してこの停止を通知することにより、操作パネル15上に動作停止を表示させる。ユーザは、ジャムエラー発生によるスキャン中止の表示を見てジャムを解除させる。
(E25 to E27) Since this notification is a job status change, the
(E28、E29)この解除がスキャナ16Sにより検出されると、これがデバイス制御部41を介してデバイス操作部61に通知される。
(E28, E29) When this release is detected by the
(E30)デバイス操作部61は、ジャムエラー解除をシステム管理部52に通知する。
(E30) The
(E31、E32)システム管理部52は、この解除を、一方では機器識別子とともにデバイス操作部61の操作パネルプログラムに通知し、他方ではジョブIDとともにジョブ管理部71に通知して、ジョブ再開を受付可能にする。
(E31, E32) The
(E33、E34)デバイス操作部61はこの解除通知に応答して、デバイス制御部41及びデバイスドライバ31を介し操作パネル15上のジャムエラー表示を消す。
(E33, E34) In response to the release notification, the
(E35〜E37)ユーザは、ジョブを再開させるため、操作パネル15上のスタートキーを押下する。この情報は、ジョブIDとともにデバイスドライバ31、デバイス制御部41及びデバイス操作部61を介してユーザサービス受付部81に供給される。
(E35 to E37) The user presses the start key on the
(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
本実施例によれば、エラー発生又はエラー解除の場合に、デバイス操作部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
[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
以下では、デバイス制御部41によるプリント実行中の動作から説明する。
In the following, the operation during printing by the
(F01〜F03)この故障が検出されると、デバイス制御部41はこれをデバイス操作部61に通知する。デバイス操作部61は、エラー識別子をエンティティ部63に記入するとともに、エラーイベントの発生をシステム管理部52に通知する。
(F01 to F03) When this failure is detected, the
(F04〜F06)システム管理部52はこれに応答して、エラーイベントを解析して、給紙カセット1が無効にされた、すなわち給紙カセット1の切り離しが行われたと判定して、これをデバイス操作部61及びデバイス制御部41を介し操作パネル15に表示させる。
(F04 to F06) In response to this, the
(F07)ここで、エンティティ部63には、ユーザへの通知要否、通知すべきイベント(機器やジョブ状態の変化)、プリントや電子メールなどの通知手段、電子メールの場合には通知先などが通知情報として複数組記述されている。システム管理部52は、エンティティ部63を参照して、エラーをユーザに通知する必要があると判定した場合、該当する通知情報の識別子を伴って、システムサービス実行部83に通知を要求する。
(F07) Here, the
(F08)システムサービス実行部83はこの要求を受け付けると、この識別子をジョブ管理部71に引き渡すとともに通知ジョブを生成させることにより、通知サービスを実行する。
(F08) Upon receiving this request, the system
(F09、F10)ジョブ管理部71はこれに応答して、リソース管理部43を介して通知ジョブ実行に必要なメモリやNIC17などのハードウェア資源を獲得し、この獲得後、ジョブ制御部72に該識別子を引き渡すとともにジョブ制御指示をする。
(F09, F10) In response to this, the
(F11)ジョブ制御部72はこれに応答して、該識別子を基本ジョブ実行部73に引き渡すことにより、通知ジョブを構成する基本ジョブ実行指示をする。
(F11) In response to this, the
基本ジョブ実行部73はこれに応答して、基本ジョブ種に応じて、アクセスジョブ実行部73bに該識別子と指示された基本ジョブを伝達するとともに、これを起動する。
In response to this, the basic
(F12〜F14)アクセスジョブ実行部73bはこれに応答して、デバイス操作部61、デバイス制御部43、デバイスドライバ31及びNIC17を介し、カセット1の切り離しを通知する電子メールを送信する。
(F12 to F14) In response to this, the access
従来では、このような通知がプリントジョブと一体になっていたが、本実施例ではこの通知が通知ジョブとして通常のジョブと独立して定義され、通常のジョブと同様に通知サービスに応答して通知ジョブが実行されるので、通常のジョブを実行するプログラムの構成が簡単化され、且つ、通知ジョブを構成する基本ジョブを他の基本ジョブと組み合わせて新たな又は既存のジョブを容易に定義することができるので、アプリケーションの設計変更が容易となる。
[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
図12は、各機能部間を矢印付線で結んで、操作パネル15上からアドレス帳を編集する時のフローを示す図である。
FIG. 12 is a diagram showing a flow when editing the address book from the
(G01〜G03)操作パネル15を操作すると、上述のようにその情報がデバイスドライバ31、デバイス制御部41及びデバイス操作部61を介してユーザサービス受付部81に伝達される。
(G01 to G03) When the
(G04)この情報が、アドレス帳の編集サービス要求である場合、ユーザサービス受付部81は、ユーザサービス実行部82及びジョブ層70を介さずに直接エンティティ部63内のアドレス帳編集プログラムを、ワークとして起動させる。
(G04) When this information is an address book editing service request, the user
(G05〜G08)これにより、アドレス帳編集の操作画面データの識別子がエンティティ部63からユーザサービス受付部81を介してデバイス操作部61に供給され、該識別子に基づいて該操作画面データがデバイス制御部41及びデバイスドライバ31を介して操作パネル15に供給され、その画面が表示される。
(G05 to G08) Thereby, the identifier of the operation screen data for address book editing is supplied from the
その後、このような経路を辿ってインターラクティブにアドレス帳の編集が行われる。 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
[17] Login Execution Flow The user can set whether to validate the authentication / authorization process, and the data is stored in the
図13は、各機能部間を矢印付線で結んでログイン実行時のフローを示す図である。 FIG. 13 is a diagram showing a flow at the time of executing login by connecting the functional units with arrows.
(H01〜H03)上述のように、操作パネル15からデバイスドライバ31、デバイス制御部41及びデバイス操作部61を介してユーザサービス受付部81に情報が伝達されると、ユーザサービス受付部81はそのサービス要求を解釈する。
(H01 to H03) As described above, when information is transmitted from the
(H04)ユーザサービス受付部81は、この情報がログイン要求であると解釈すると、ジョブ層70を介さずに、システム管理部52内のログインプログラムを、ワークとして直接起動させる。
(H04) When this information is interpreted as a login request, the user
(H05〜H10)システム管理部52はこれに応答して、操作パネル15から入力されたパスワードがエンティティ部63に登録されているものと一致するか否かを判定し、その結果をユーザサービス受付部81、デバイス操作部61、デバイス制御部41及びデバイスドライバ31を介し操作パネル15上に表示させる。
[18]認可実行フロー
図14は、各機能部間を矢印付線で結んで、認証・認可が有効に設定され且つログイン中である場合の、通常のサービス実行時のフローを示す図である。
(H05-H10) In response to this, the
[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
(I04)ユーザサービス受付部81は、サービス要求があった場合、ユーザサービス実行部82に対しサービス実行を指示する前に、システム管理部52に認可処理をワークとして指示する。
(I04) When there is a service request, the user
(I05〜I07)システム管理部52はこれに応答して、エンティティ部63のデータを参照して、ログインしているユーザがこのサービスを受けられるか否かを判定し、その結果をユーザサービス受付部81に通知する。
(I05-I07) In response to this, the
(I08〜I11)ユーザサービス受付部81は、これが肯定判定の通知である場合、ユーザサービス実行部82に該サービスのジョブシナリオの識別子と該サービスに関する設定値とを渡して、ユーザサービス実行部82にサービスの実行を指示する。否定判定の通知である場合には、サービス要求を受け付けず、その旨をデバイス操作部61、デバイス制御部41及びデバイスドライバ31を介して操作パネル15上に表示させる。
(I08-I11) When this is a positive determination notification, the user
従来では、認証・認可処理がサービスの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
図16は、実施例1においてデータ領域を必要とする複数種の基本ジョブが並列処理で実行されている場合のDRAM13D内のメモリマップを示した図である。
FIG. 16 is a diagram showing a memory map in the
上記実施例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
(S3)BIOSは次に、EEPROM13E2に格納されているOS32を起動させる。
(S3) Next, the BIOS activates the
図18はデータ領域確保後のDRAM13Dのメモリマップを示した図である。
FIG. 18 is a diagram showing a memory map of the
(S4)OS32は、図18に示す如く、DRAM13Dの空き領域をブロック単位に区切り、データ領域として確保させる。この1つのブロックは、例えば1頁分の画像データを格納可能な領域である。なお図18では、OS32が使用するDRAM13D内の領域を省略している。
(S4) As shown in FIG. 18, the
(S5)OS32はこの確保後、実施例1で説明したアプリケーションを起動する。なお、本実施例では、OS32及びアプリケーションはEEPROM13E2上で起動するが、SDRAM等にこれらをロードしてそこから起動するようにしてもよい。
(S5) After securing this, the
この後、ユーザサービス実行部82によりジョブが実行開始指示されると、例えば図3に示すステップA10においてリソース管理部43は、以下のような処理を行う。
Thereafter, when the user
図19は、本発明に係わるリソース管理部43の処理のフローチャートを示す図であり、図20は、このフローチャートの一部の説明図である。括弧内は図19中のステップ識別符号である。
FIG. 19 is a diagram showing a flowchart of processing of the
(S10)図18に示すDRAM13D内のデータ領域として確保した空きブロックのうちの1つを基本ジョブ実行用に獲得する(図20参照)。
(S10) One of the free blocks secured as the data area in the
(S11)DRAM13D内にまだ空きブロックがあるか否かを判定する。肯定判定した場合には処理を終了し、否定判定した場合には次のステップS12へ進む。なお、図20に示すプリント基本ジョブ及びScanToBox基本ジョブは、1頁分のデータ用に1ブロックを使用している。
(S11) It is determined whether there are still empty blocks in the
(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
このようにすることで、次にリソース管理部43がデータ領域を確保する場合、DRAM13D内には、常に空きブロックが存在することになるので、ジョブ実行開始時にメモリ資源が不足した状態となるのを防ぐことができ、もって即座にその空きブロックをデータ領域として使用することができるという効果を奏する。
In this way, when the
また、電源起動時においてDRAM13D内に予めデータ領域を確保しておくことで、OS32やアプリケーションによってDRAM13D内の一部の領域を他の用途に利用されても、データ領域を常に使用することができるという効果を奏する。
Further, by securing a data area in the
なお、本発明には外にも種々の変形例が含まれる。 Note that the present invention includes various other modifications.
例えば図2において、ジョブ情報77はジョブ毎の情報であるので、ジョブ層70に含めたが、情報であるのでジョブ層70の外部に配置することもでき、例えばエンティティ部63やコモン部51等に含めてもよい。
For example, in FIG. 2, since the
また、図2のデバイス操作部61とデバイス制御部41との分割の境界をどこにするかには任意性があり、デバイス操作部61はデバイス制御部41を用いて機種に依存せずデバイスを制御するものであればよい。
In addition, there is an arbitrary place where the division boundary between the
さらに、図2に示す複数の機能部を一つにまとめて構成してもよい。例えば、ユーザサービス受付部81及びユーザサービス実行部82を一つのユーザサービス提供部として、またジョブ制御部72、イメージジョブ実行部73a及びアクセスジョブ実行部73bを一つのジョブ実行部として、さらにインプットステップ実行部74、エディットステップ実行部75及びアウトプットステップ実行部76を一つのステップ実行部として構成するようにしてもよい。
Furthermore, a plurality of functional units shown in FIG. For example, the user
さらにまた、図2に示す各機能部をどの層60〜80に配置するか否かには任意性があり、例えばジョブをジョブシナリオに基づき1つ以上の基本ジョブに分解し、これらを順次実行指示させるジョブ制御部72をジョブ層70より上層のサービス層80にあるユーザサービス実行部82内又はこの下層に配置してもよい。この場合、ジョブ管理部71はジョブ制御部72により基本ジョブの実行指示を受け付け、この基本ジョブに必要なハードウェア資源をリソース管理部43に対して確保させ、その後基本ジョブ実行部73に上記実行指示を伝達する。この構成によれば、ジョブ層70以下を変更することなくジョブを組み合わせてジョブを追加し又は変更することができ、これにより設計変更が容易となるという効果を奏する。
Furthermore, it is arbitrary in which
また、図2に示すシステム管理部52は、システムの状態及びユーザの両方を一括して管理しているが、両者のうちいずれか一方のみを管理し、システム管理部52とは別の機能部が他方の管理をする構成であってもよい。さらに、システム管理部52の責務であるユーザ管理のうち、図13に示す認証処理又は図14に示す認可処理を別の機能部の責務とする構成にしてもよい。
Further, the
さらにまた、図2に示すミドルウェア層40の各機能部41〜43の一部又は全部をアプリケーションの一部として含む構成であってもよい。
Furthermore, the structure which includes a part or all of each function part 41-43 of the
基本ジョブシナリオは、複数のジョブステップとその実行順の情報を含むものであればよく、例えば関数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
さらに、ジョブシナリオの識別子は、ユーザサービス受付部81が決定し、これから下層に引き渡す構成を説明したが、ジョブシナリオを必要とするジョブ管理部71が識別子を決定し、ここから下層に引き渡す構成であってもよい。
Further, the job scenario identifier is determined by the user
さらにまた、システムサービス実行部83により実行される通知ジョブを基本ジョブとし、ユーザサービス実行部82により実行されるジョブを構成する1つの基本ジョブとしてもよい。
Furthermore, the notification job executed by the system
また、OS32及びアプリケーションはEEPROM13E2に格納される場合を説明したが、これら全部又は一部がこれとは別個の記憶手段に格納される構成であってもよく、例えばHDD14に格納される構成であってもよい。
Further, the case where the
さらに、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
さらにまた、図17に示すステップS4においてデータ領域を確保する構成を説明したが、ステップS5の次のステップでデータ領域を確保する構成であってもよい。 Furthermore, although the configuration in which the data area is secured in step S4 shown in FIG. 17 has been described, the data area may be secured in the step subsequent to step S5.
また、図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”.
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
12 interface 13E1 EEPROM
13E2 EEPROM
13D DRAM
14
18
30
40
Claims (4)
メモリと、Memory,
補助記憶装置と、An auxiliary storage device;
画像形成装置の起動時に、該メモリ内の領域の一部をジョブ用データ領域として、所定量のブロック単位で複数ブロック確保しておき、基本ジョブのメモリ獲得要求に応答して、ブロック単位で該データ領域内の一部を割り当て、これにより該データ領域に空きブロックが存在しなくなった場合、該データ領域内の1ブロックを該補助記憶装置に退避させ、基本ジョブのメモリ解放要求に応答して、該データ領域内の対応するブロックを解放し、該メモリ解放により該データ領域に複数の空きブロックが存在し、且つ、該補助記憶装置に退避されたブロックが存在する場合、該データ領域の空きブロックが1つになるように、該補助記憶装置に退避されたブロックを該データ領域に戻す資源確保手段と、When starting up the image forming apparatus, a part of the area in the memory is reserved as a job data area, and a plurality of blocks are secured in units of a predetermined amount of blocks. When a part of the data area is allocated, and there is no empty block in the data area, one block in the data area is saved in the auxiliary storage device, and in response to the memory release request of the basic job When the corresponding block in the data area is released, and there are a plurality of empty blocks in the data area due to the memory release, and there are blocks saved in the auxiliary storage device, the free space in the data area Resource securing means for returning the block saved in the auxiliary storage device to the data area so that the number of blocks becomes one;
を備えて、次の基本ジョブ実行前に該データ領域に1ブロックの空き領域を確保しておくことを特徴とする画像形成装置。The image forming apparatus is characterized in that one block free area is secured in the data area before execution of the next basic job.
該画像形成装置の起動時に、該メモリ内の領域の一部をジョブ用データ領域として、所定量のブロック単位で複数ブロック確保しておき、基本ジョブのメモリ獲得要求に応答して、ブロック単位で該データ領域内の一部を割り当て、これにより該データ領域に空きブロックが存在しなくなった場合、該データ領域内の1ブロックを補助記憶装置に退避させ、基本ジョブのメモリ解放要求に応答して、該データ領域内の対応するブロックを解放し、該メモリ解放により該データ領域に複数の空きブロックが存在し、且つ、該補助記憶装置に退避されたブロックが存在する場合、該データ領域の空きブロックが1つになるように、該補助記憶装置に退避されたブロックを該データ領域に戻す、When starting up the image forming apparatus, a part of the area in the memory is reserved as a job data area, and a plurality of blocks are secured in units of a predetermined amount, and in response to a basic job memory acquisition request, in units of blocks. When a part of the data area is allocated and there is no free block in the data area, one block in the data area is saved in the auxiliary storage device, and in response to a memory release request of the basic job When the corresponding block in the data area is released, and there are a plurality of empty blocks in the data area due to the memory release, and there are blocks saved in the auxiliary storage device, the free space in the data area The block saved in the auxiliary storage device is returned to the data area so that the number of blocks becomes one.
ことにより、次の基本ジョブ実行前に該データ領域に1ブロックの空き領域を確保しておくことを特徴とするメモリ資源確保方法。Thus, a memory resource securing method is characterized in that one block free area is secured in the data area before execution of the next basic job.
ことを特徴とする請求項3に記載のメモリ資源確保方法。The memory resource securing method according to claim 3.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007076525A JP4978264B2 (en) | 2007-03-23 | 2007-03-23 | Image forming apparatus and memory resource securing method |
CN2008800003801A CN101542440B (en) | 2007-03-23 | 2008-03-21 | Operation control method and image formation device |
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 |
EP08722583.5A EP2040164B1 (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 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007076525A JP4978264B2 (en) | 2007-03-23 | 2007-03-23 | Image forming apparatus and memory resource securing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008236615A JP2008236615A (en) | 2008-10-02 |
JP4978264B2 true JP4978264B2 (en) | 2012-07-18 |
Family
ID=39908808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007076525A Expired - Fee Related JP4978264B2 (en) | 2007-03-23 | 2007-03-23 | Image forming apparatus and memory resource securing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4978264B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4979426B2 (en) * | 2007-03-23 | 2012-07-18 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus, image forming method, and application program |
JP4979427B2 (en) * | 2007-03-23 | 2012-07-18 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus, image forming method, and application program |
JP4978263B2 (en) * | 2007-03-23 | 2012-07-18 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus, image forming method, and application program |
JP4978262B2 (en) * | 2007-03-23 | 2012-07-18 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus, image forming method, and application program |
JP4985953B2 (en) * | 2007-03-23 | 2012-07-25 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus, image forming method, and application program |
JP4978261B2 (en) * | 2007-03-23 | 2012-07-18 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus, image forming method, and application program |
JP4985952B2 (en) * | 2007-03-23 | 2012-07-25 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus, image forming method, and application program |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0766334B2 (en) * | 1989-05-11 | 1995-07-19 | 松下電送株式会社 | Image display device |
JP2743586B2 (en) * | 1991-01-16 | 1998-04-22 | 富士通株式会社 | Journal collection processor |
JPH04320552A (en) * | 1991-04-19 | 1992-11-11 | Nec Corp | Idle block management system |
JP3595665B2 (en) * | 1997-11-07 | 2004-12-02 | キヤノン株式会社 | Image input / output device and management method |
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 |
JP2002368928A (en) * | 2001-06-05 | 2002-12-20 | Fuji Xerox Co Ltd | Job display device and its method |
JP2002368927A (en) * | 2001-06-05 | 2002-12-20 | Fuji Xerox Co Ltd | Job display device and its method |
JP2003196119A (en) * | 2001-12-27 | 2003-07-11 | Murata Mach Ltd | Communication device |
JP2003263366A (en) * | 2002-03-12 | 2003-09-19 | Hitachi Ltd | Swapping control method, its execution device and its processing program |
JP4218384B2 (en) * | 2003-03-24 | 2009-02-04 | 富士ゼロックス株式会社 | Service processing apparatus, service processing method and program, and image forming apparatus |
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 |
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 |
US7673105B2 (en) * | 2005-06-27 | 2010-03-02 | Ab Inition Technology LLC | Managing memory pages |
JP2007072170A (en) * | 2005-09-07 | 2007-03-22 | Fuji Xerox Co Ltd | State display device of image forming device, and image forming device |
WO2008072282A1 (en) * | 2006-12-08 | 2008-06-19 | Pioneer Corporation | Information recording device, information processing device, information recording method, information processing method, information recording program, and computer-readable recording medium |
JP5193638B2 (en) * | 2007-03-23 | 2013-05-08 | 京セラドキュメントソリューションズ株式会社 | Motion control program |
JP4985953B2 (en) * | 2007-03-23 | 2012-07-25 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus, image forming method, and application program |
JP4978262B2 (en) * | 2007-03-23 | 2012-07-18 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus, image forming method, and application program |
JP4979426B2 (en) * | 2007-03-23 | 2012-07-18 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus, image forming method, and application program |
JP4978261B2 (en) * | 2007-03-23 | 2012-07-18 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus, image forming method, and application program |
JP4985952B2 (en) * | 2007-03-23 | 2012-07-25 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus, image forming method, and application program |
JP5150117B2 (en) * | 2007-03-23 | 2013-02-20 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus, image forming method, and application program |
JP5281249B2 (en) * | 2007-03-23 | 2013-09-04 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus, image forming method, and application program |
JP4978263B2 (en) * | 2007-03-23 | 2012-07-18 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus, image forming method, and application program |
JP4979427B2 (en) * | 2007-03-23 | 2012-07-18 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus, image forming method, and application program |
-
2007
- 2007-03-23 JP JP2007076525A patent/JP4978264B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008236615A (en) | 2008-10-02 |
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 | |
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 | |
JP4979426B2 (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 | |
JP4978264B2 (en) | Image forming apparatus and memory resource securing method | |
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 | |
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 | |
US9235793B2 (en) | Information processing apparatus, storage medium, and information processing system | |
EP2040164B1 (en) | Operation control program, operation control method, image formation device, and memory resource allocation method | |
JP2011103664A (en) | Image forming device | |
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 | |
JP2019144960A (en) | Update management server and program | |
JP4480180B2 (en) | Image forming apparatus, computer, information processing method, and information processing system | |
JP2005254483A (en) | Image processing device, data processing device, power controlling method, storage medium storing computer readable program, 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 |
|
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: 20120403 |
|
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: 4978264 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 |