(57)【特許請求の範囲】
【請求項１】
個別の処理をそれぞれ記述した、複数の単位プログラムを用意し、
ジョブ管理プログラムを実行することにより、
ジョブに含まれる複数の処理にそれぞれ対応する、複数のモジュールプログラムを生成し、
前記ジョブに含まれる前記複数の処理の実行順序を、前記複数のモジュールプログラムの順序として定義し、
前記複数のモジュールプログラムを実行することにより、それぞれ、
前記用意された複数の単位プログラムのうちから、前記ジョブに含まれる前記複数の処理をそれぞれ記述した複数の単位プログラムを参照し、
参照した前記複数の単位プログラムを、前記定義された順序で記述することにより、前記ジョブを構成する
制御部を具備する
画像形成装置。
【請求項２】
ジョブに含まれる複数の処理にそれぞれ対応する、複数のモジュールプログラムを生成し、
前記ジョブに含まれる前記複数の処理の実行順序を、前記複数のモジュールプログラムの順序として定義し、
前記複数のモジュールプログラムを実行することにより、それぞれ、
用意された、個別の処理をそれぞれ記述した複数の単位プログラムのうちから、前記ジョブに含まれる前記複数の処理をそれぞれ記述した複数の単位プログラムを参照し、
参照した前記複数の単位プログラムを、前記定義された順序で記述することにより、前記ジョブを構成する
ように画像形成装置を動作させるジョブ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザーから指示されたジョブを管理して実行する画像形成装置及びジョブ管理プログラムに関する。
【背景技術】
【０００２】
従来、複数のジョブを独立して実行可能な画像形成装置において、複数のジョブが実行されている時に、ユーザーが特定のジョブを選択してそのジョブを中断させたり停止させたりするには複雑な操作が必要となるという問題があった。
【０００３】
そのため、特許文献１において開示されている技術では、画像形成装置が受け付けたジョブのうち、最も古いジョブまたは最も新しいジョブがユーザーのキャンセルしたいジョブである可能性が高いという前提で、二者選択のみで複数のジョブの中から中断するジョブを指定可能としている。
【０００４】
また、従来、ワークフローシステムを分散型コンピューティングにより実現するために、例えば、特許文献２において開示されている技術では、１つのコンピューターにおいて実行できない一部のワークフローをネットワークで接続された別のコンピューターにおいて自動的に実行させる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−６７４５号公報
【特許文献２】特開２０１０−５５６１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、従来、ジョブまたはワークフローを効率良く実行するための様々な工夫が行われてきた。
【０００７】
しかし、上述した技術では、様々な処理を行うために画像形成装置に設けられた数多くの機能に対応して、それら機能の組み合わせの数だけ作成されたジョブを管理しなければならず、機能が増えると指数関数的に増加するジョブの種類の管理は非常に手間のかかるものであった。
【０００８】
以上のような事情に鑑み、本発明の目的は、画像形成装置の機能の数が増えてもジョブの管理を簡易に行うことが出来る画像形成装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の一形態に係る画像形成装置は、ユーザーからの指示を受け付けるユーザー入力部と、前記指示に定められた入力データの属性および出力データの属性を取得する属性取得部と、前記指示、前記入力データの属性、および前記出力データの属性に基づき、前記指示がどのジョブに該当するかを解釈するジョブ種類解釈部と、前記解釈に基づき、処理の手順を定めたシナリオを作成するモジュールを生成するモジュール作成部と、生成された前記モジュールに、前記シナリオを作成する要求を出し、作成された前記シナリオに基づいて前記ジョブを構成し、処理を実行させるシナリオ作成要求部とを備える。そのため、画像形成装置の機能の数が増えてもジョブの管理を簡易に行うことが出来る
【００１０】
上記目的を達成するため、本発明の一形態に係る画像形成装置は、生成された前記モジュールを処理の実行順序でリンクするモジュールリンク部をさらに備えてもよい。
【００１１】
上記目的を達成するため、本発明の一形態に係るジョブ管理プログラムは、ユーザーからの指示を受け付けるユーザー入力部、前記指示に定められた入力データの属性および出力データの属性を取得する属性取得部、前記指示、前記入力データの属性、および前記出力データの属性に基づき、前記指示がどのジョブに該当するかを解釈するジョブ種類解釈部、前記解釈に基づき、処理の手順を定めたシナリオを作成するモジュールを生成するモジュール作成部、及び生成された前記モジュールに、前記シナリオを作成する要求を出し、作成された前記シナリオに基づいて前記ジョブを構成し、処理を実行させるシナリオ作成要求部として画像形成装置を機能させる。そのため、画像形成装置の機能の数が増えてもジョブの管理を簡易に行うことが出来る。
【発明の効果】
【００１２】
以上のように、本発明によれば、画像形成装置のオプション機能の数が増えてもジョブの管理を簡易に行うことが出来る。
【図面の簡単な説明】
【００１３】
【図１】典型的な技術によるジョブの種類の管理方法を示す図である。
【図２】本発明の技術によるジョブの種類の管理方法を示す図である。
【図３】画像形成装置２０の構成図である。
【図４】制御部２１のソフトウェア的な構成図である。
【図５】処理の流れの概要について説明するためのフローチャートである。
【図６】処理の流れの詳細を説明するための図である。
【図７】処理の流れの詳細を説明するための図である。
【図８】処理の流れの詳細を説明するための図である。
【図９】処理の流れの詳細を説明するための図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら、本発明の実施形態を説明する。
【００１５】
［概要］
最初に、概要について説明する。なお、以下では、典型的な技術によるジョブの種類の管理について説明した後、本発明に係るジョブの種類の管理方法について説明する。
【００１６】
（典型的な技術によるジョブの種類の管理）
最初に、典型的な技術によるジョブの種類の管理方法について説明する。図１は、典型的な技術によるジョブの種類の管理方法を示す図である。
【００１７】
図１に示すように、典型的な技術では、例えばジョブ３では、最初の処理手順として「ＡをＢにする」という処理を記述し、次の処理として「ＢをＣにする」という処理を記述している。
【００１８】
このように、典型的な技術では、例えば「ＢをＣにする」という処理の記述はジョブ２、ジョブ３、ジョブ４にそれぞれ記述されており、画像形成装置の設計者は各種のジョブを設計する際の手間が大変であった。
【００１９】
（本発明の技術によるジョブの種類の管理）
次に、本発明の技術によるジョブの種類の管理方法について説明する。図２は、本発明の技術によるジョブの種類の管理方法を示す図である。
【００２０】
図２に示すように、例えば「ＡをＢにする」および「ＢをＣにする」というような個別の処理を適切に管理できる単位（レシピ）にまとめておく。
【００２１】
そして、各ジョブは、ジョブの実行時に必要なレシピを必要な順に参照して実行される。
【００２２】
以上のように、本発明の技術では、処理内容を固定的に記述したジョブを、全てのオプション機能の組み合わせの数だけ用意する代わりに、具体的な処理が記述されたレシピを独立して用意しておき、ジョブ実行時に組み合わせて実行することにより、画像形成装置を設計する際のジョブの種類の管理の手間を低減させている。
【００２３】
以上、概要について説明した。
【００２４】
［画像形成装置の構成］
次に、画像形成装置の構成について説明する。図３は、画像形成装置２０の構成図である。なお、画像形成装置２０は、典型的には、多機能複合機（ＭＦＰ、Multifunction Peripheral）である。
【００２５】
画像形成装置２０は、制御部２１を備える。制御部２１は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、および専用のハードウェア回路等から構成され、画像形成装置２０の全体的な動作制御を司る。
【００２６】
制御部２１は、画像読取部２２、画像処理部２３、画像メモリー２４、画像形成部２５、操作部２７、ファクシミリ通信部２８、ネットワークインターフェイス部２９、記憶部３０等と接続されている。制御部２１は、接続されている上記各部の動作制御や、各部との間での信号又はデータの送受信を行う。
【００２７】
制御部２１は、ユーザーから、操作部２７またはネッワーク接続されたＰＣ等を通じて入力されるジョブの実行指示に従って、スキャナ機能、印刷機能、コピー機能、およびファクシミリ送受信機能などの各機能についての動作制御を実行するために必要な機構の駆動及び処理を制御する。制御部２１のソフトウェア的な構成については後述する。
【００２８】
画像読取部２２は、原稿から画像を読み取る。
【００２９】
画像処理部２３は、画像読取部２２で読み取られた画像の画像データを必要に応じて画像処理する。例えば、画像処理部２３は、画像読取部２２により読み取られた画像が画像形成された後の品質を向上させるために、シェーディング補正等の画像処理を行う。
【００３０】
画像メモリー２４は、画像読取部２２による読み取りで得られた原稿画像のデータを一時的に記憶したり、画像形成部２５での印刷対象となるデータを一時的に記憶したりする領域である。
【００３１】
画像形成部２５は、画像読取部２２で読み取られた画像データ等の画像形成を行う。
【００３２】
操作部２７は、画像形成装置２０が実行可能な各種動作及び処理についてユーザーからの指示を受け付けるタッチパネル部および操作キー部を備える。タッチパネル部は、タッチパネルが設けられたＬＣＤ（Liquid Crystal Display）等の表示部２７ａを備えている。
【００３３】
ファクシミリ通信部２８は、図示しない符号化／復号化部、変復調部、およびＮＣＵ（Network Control Unit）を備え、公衆電話回線網を用いてのファクシミリの送信を行う。
【００３４】
ネットワークインターフェイス部２９は、ＬＡＮボード等の通信モジュールから構成され、ネットワークインターフェイス部２９に接続されたＬＡＮ等を介して、ローカルエリア内の装置(ＰＣ等)と種々のデータの送受信を行う。
【００３５】
記憶部３０は、画像読取部２２によって読み取られた原稿画像等を記憶する、ＨＤＤ（Hard Disk Drive）などの大容量の記憶装置である。
【００３６】
以上、画像形成装置２０の構成について説明した。
【００３７】
［制御部２１の詳細］
次に、制御部２１のソフトウェア的な構成について説明する。図４は、制御部２１のソフトウェア的な構成図である。
【００３８】
制御部２１は、ユーザー入力部２１ａ、属性取得部２１ｂ、ジョブ種類解釈部２１ｃ、モジュール生成部２１ｄ、モジュールリンク部２１ｅ、およびシナリオ作成要求部２１ｆを有している。
【００３９】
ユーザー入力部２１ａ、属性取得部２１ｂ、ジョブ種類解釈部２１ｃ、モジュール生成部２１ｄ、モジュールリンク部２１ｅ、およびシナリオ作成要求部２１ｆは、ＲＯＭなどからＲＡＭにロードされたジョブ管理プログラムがＣＰＵにより実行されることで実現される機能ブロックである。
【００４０】
ユーザー入力部２１ａは、ユーザーが画像形成装置２０に与える、文書のコピーや印刷などの指示を受け付ける。
【００４１】
属性取得部２１ｂは、ユーザー入力部２１ａが受け付けた指示で指定されている、入力されるデータの属性と、出力されるデータの属性とを取得する。
【００４２】
ジョブ種類解釈部２１ｃは、ユーザー入力部２１ａが受け付けた指示と、属性取得部２１ｂにより取得された入力データおよび出力データの属性に基づいて、ユーザーの指示がどの種類のジョブに該当するかを解釈する。
【００４３】
モジュール生成部２１ｄは、上述したレシピをどのように組み合わせて参照するかを定義したシナリオを作成するモジュールを生成する。モジュールは作成するシナリオごとに生成される。
【００４４】
モジュールリンク部２１ｅは、１つのジョブを実行するためにモジュール生成部２１ｄにより生成されたモジュールが複数ある場合に、それらのモジュールを、個々のレシピが適切な順序で実行されるように、実行順序に従ってモジュールどうしをリンクする。
【００４５】
シナリオ作成要求部２１ｆは、モジュール生成部２１ｄにより生成され、モジュールリンク部２１ｅによりリンクされた各モジュールに対し、シナリオを生成するように要求を出す。
【００４６】
以上、制御部２１のソフトウェア的な構成について説明した。
【００４７】
［処理の流れ（概要）］
次に、処理の流れの概要について説明する。図５は、処理の流れの概要について説明するためのフローチャートである。
【００４８】
まず、ユーザー入力部２１ａが、ユーザーからの指示を受け付ける（ステップＳ１）。
【００４９】
次に、属性取得部２１ｂが、ユーザーの指示に定められた入力データの属性を取得する（ステップＳ２）。
【００５０】
次に、属性取得部２１ｂが、ユーザーの指示に定められた出力データの属性を取得する（ステップＳ３）。
【００５１】
次に、ジョブ種類解釈部２１ｃが、ユーザー入力部２１ａが受け付けた指示と、属性取得部２１ｂにより取得された入力データおよび出力データの属性に基づいて、ユーザーの指示がどの種類のジョブに該当するかを解釈する（ステップＳ４）。
【００５２】
次に、モジュール生成部２１ｄが、シナリオを作成するモジュールを生成する(ステップＳ５)。
【００５３】
次に、モジュールリンク部２１ｅが、生成されたモジュールどうしをリンクする（ステップＳ６）。
【００５４】
次に、シナリオ作成要求部２１ｆが、生成されたモジュールに対し、シナリオを生成するように要求を出す（ステップＳ７）。
【００５５】
次に、ステップＳ５において生成されたモジュールが、各モジュールの担当するシナリオを作成する（ステップＳ８）。
【００５６】
次に、作成されたシナリオに沿って、ジョブが実行される（ステップＳ９）。
【００５７】
以上、処理の流れの概要について説明した。
【００５８】
［処理の流れ（詳細）］
次に、処理の流れの詳細について説明する。図６から図９は、処理の流れの詳細を説明するための図である。
【００５９】
まず、図６に基づいて説明する。なお、ここでは、ユーザーからの指示として連続読み込みコピーが指示されたとする。連続読み込みコピーとは、ユーザーが完了を指定するまで、コピーする原稿を連続してスキャンして読み込み、読み込み完了が指示された後、まとめて読み込んだデータを印刷することによるコピーである。
【００６０】
図６では、ユーザーから受けた連続読み込みコピーの指示と、ユーザーが指定した入力データおよび出力データの属性から、ジョブ種類解釈部２１ｃが、ユーザーの指示は連続読み込みコピーのジョブであると解釈し、連続読み込みコピーのジョブに対応したモジュールを生成するように、モジュール生成部２１ｄに指示を出す。
【００６１】
指示を受けたモジュール生成部２１ｄは、シナリオ作成モジュールＭＪＡおよびシナリオ作成モジュールＭＪＢを生成する。
【００６２】
なお、図の下側に記載してあるように、連続読み込みコピーというジョブに必要な具体的な処理は、「スキャンして一時領域に保存する」という処理を行うレシピＲＣＰＡ、および「一時領域のデータを印刷する」という処理を行うレシピＲＣＰＢは予め用意されているとする。
【００６３】
次に、図７に基づいて説明する。
【００６４】
生成されたシナリオ作成モジュールＭＪＡ、ＭＪＢは、まだ実行順序が確定していないので、モジュールリンク部２１ｅが、ジョブが連続読み込みコピーであることに基づいて、シナリオ作成モジュールＭＪＡに関連する処理の次に、シナリオ作成モジュールＭＪＢに関連する処理が行われるように、シナリオ作成モジュールＭＪＡおよびシナリオ作成モジュールＭＪＢをリンクする。
【００６５】
次に、図８に基づいて説明する。
【００６６】
生成されリンクされたシナリオ作成モジュールＭＪＡおよびシナリオ作成モジュールＭＪＢに対し、シナリオ作成要求部２１ｆがシナリオを作成するように要求を出す。
【００６７】
要求を受け取ったシナリオ作成モジュールＭＪＡおよびシナリオ作成モジュールＭＪＢは、連続読み込みコピーというジョブＪＢの中に、それぞれ担当するシナリオを作成する。
【００６８】
具体的には、シナリオ作成モジュールＭＪＡによりレシピＲＣＰＡが参照され、シナリオ作成モジュールＭＪＢによりレシピＲＣＰＢが参照され、連続読み込みコピーというジョブＪＢの中にシナリオが作成される。
【００６９】
次に、図９に基づいて説明する。
【００７０】
作成されたシナリオで構成されたジョブＪＢが実行されることにより、ユーザーの指定した連続読み込みコピーが行われる。
以上、処理の流れの詳細について説明した。
【００７１】
［補足事項］
その他、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【００７２】
２０  …  画像形成装置
２１  …  制御部
２１ａ…  ユーザー入力部
２１ｂ…  属性取得部
２１ｃ…  ジョブ種類解釈部
２１ｄ…  モジュール生成部
２１ｅ…  モジュールリンク部
２１ｆ…  シナリオ作成要求部
２２  …  画像読取部
２３  …  画像処理部
２４  …  画像メモリー
２５  …  画像形成部
２７  …  操作部
２７ａ…  表示部
２８  …  ファクシミリ通信部
２９  …  ネットワークインターフェイス部
３０  …  記憶部
【図１】
0006365414.tif 000002
【図２】
0006365414.tif 000003
【図３】
0006365414.tif 000004
【図４】
0006365414.tif 000005
【図５】
0006365414.tif 000006
【図６】
0006365414.tif 000007
【図７】
0006365414.tif 000008
【図８】
0006365414.tif 000009
【図９】
0006365414.tif 000010