(57)【要約】【課題】画像形成装置において、より少ない労力で、複数の機能を組み合わせてジョブを作成し、実行することを目的とする。【解決手段】本実施の形態のＭＰＦは、複数の機能ごとに、該機能を発揮するアプリケーション２０を呼び出して実行させる機能プログラムを含む機能部品５０を記憶する記憶部４３と、ユーザによる操作を受け付ける操作部と、操作部に対する画面を表示する表示制御部と、を備える。また、ＭＰＦは、操作部を用いてユーザが選択した複数の機能部品５０を組み合わせることでジョブを作成するジョブ作成部６１と、作成したジョブを構成する複数の機能部品における設定用の画面を合成するジョブ画面生成部６２と、操作部を用いてユーザが実行を指示したジョブを実行するジョブ実行部６３と、を備える。【選択図】図２Ａ
2017092765.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置における複数の機能の組み合わせからなるジョブを実行する前記画像形成装置であって、
前記複数の機能ごとに、該機能を発揮するアプリケーションを呼び出して実行させる機能プログラムを含む機能部品を記憶する記憶部と、
ユーザによる操作を受け付ける操作部と、
前記操作部に対する画面を表示する表示制御部と、
前記操作部を用いて前記ユーザが選択した複数の前記機能部品を組み合わせることで前記ジョブを作成するジョブ作成部と、
前記作成したジョブを構成する複数の前記機能部品における設定用の画面を合成するジョブ画面生成部と、
前記操作部を用いて前記ユーザが実行を指示した前記ジョブを実行するジョブ実行部と、
を備えることを特徴とする画像形成装置。
【請求項２】
請求項１に記載の画像形成装置において、
前記ジョブ画面生成部は、
前記ジョブを構成する複数の前記機能部品それぞれが有する設定用の画面を所定の順番で合成する場合に、
前記機能部品から画面を取得し、画面を取得するたびに、取得した画面と、すでに取得した画面とを合成することにより前記ジョブを構成する前記機能部品の画面を合成する
ことを特徴とする画像形成装置。
【請求項３】
請求項１に記載の画像形成装置において、
複数の前記機能部品それぞれが、前記ジョブ画面生成部を有している
ことを特徴とする画像形成装置。
【請求項４】
請求項３に記載の画像形成装置において、
前記ジョブを構成する複数の前記機能部品が所定の順番で画面を合成する場合に、
第１の機能部品のジョブ画面生成部は、自身の画面を第２の機能部品のジョブ画面生成部に送出し、
前記第２の機能部品のジョブ画面生成部は、取得した画面と自身の画面を合成して第３の機能部品のジョブ画面生成部に送出することにより、前記ジョブを構成する前記機能部品の画面を合成する
ことを特徴とする画像形成装置。
【請求項５】
請求項４に記載の画像形成装置において、
前記第２の機能部品が自身の画面を有していない場合には、当該第２の機能部品のジョブ画面生成部は、取得した画面を前記第３の機能部品に転送する
ことを特徴とする画像形成装置。
【請求項６】
請求項４に記載の画像形成装置において、
前記第３の機能部品のジョブ画面生成部は、取得した画面と自身の画面を合成し、次の機能部品がない場合、合成画面を前記第２の機能部品に送出し、
前記第２の機能部品は、取得した前記合成画面を前記第１の機能部品に転送し、
前記第１の機能部品は、取得した前記合成画面を前記表示制御部に転送し、
前記表示制御部は、取得した前記合成画面を前記操作部に対する画面として表示する
ことを特徴とする画像形成装置。
【請求項７】
請求項１から請求項６までのいずれか一項に記載の画像形成装置において、
前記操作部と前記表示制御部が一体構成されていることを特徴とする画像形成装置。
【請求項８】
画像形成装置における複数の機能の組み合わせからなるジョブを実行する前記画像形成装置による情報処理方法であって、
前記画像形成装置は、
前記複数の機能ごとに、該機能を発揮するアプリケーションを呼び出して実行させる機能プログラムを含む機能部品を記憶する記憶部と、
ユーザによる操作を受け付ける操作部と、
前記操作部に対する画面を表示する表示制御部と、を備えており、
前記操作部を用いて前記ユーザが選択した複数の前記機能部品を組み合わせることで前記ジョブを作成するジョブ作成ステップと、
前記作成したジョブを構成する複数の前記機能部品における設定用の画面を合成するジョブ画面生成ステップと、
前記操作部を用いて前記ユーザが実行を指示した前記ジョブを実行するジョブ実行ステップと、
を含むことを特徴とする情報処理方法。
【請求項９】
請求項８に記載の情報処理方法において、
前記ジョブ画面生成ステップは、
前記ジョブを構成する複数の前記機能部品それぞれが有する設定用の画面を所定の順番で合成する場合に、
前記機能部品から画面を取得し、画面を取得するたびに、取得した画面と、すでに取得した画面とを合成することにより前記ジョブを構成する前記機能部品の画面を合成する
ことを特徴とする情報処理方法。
【請求項１０】
請求項８に記載の情報処理方法において、
複数の前記機能部品それぞれが、前記ジョブ画面生成ステップを実行する
ことを特徴とする情報処理方法。
【請求項１１】
請求項１０に記載の情報処理方法において、
前記ジョブを構成する複数の前記機能部品が所定の順番で画面を合成する場合に、
前記ジョブ画面生成ステップは、
第１の機能部品が、自身の画面を第２の機能部品に送出し、
前記第２の機能部品が、取得した画面と自身の画面を合成して第３の機能部品に送出することにより、前記ジョブを構成する前記機能部品の画面を合成する
ことを特徴とする情報処理方法。
【請求項１２】
請求項１１に記載の情報処理方法において、
前記ジョブ画面生成ステップは、前記第２の機能部品が自身の画面を有していない場合には、当該第２の機能部品は、取得した画面を前記第３の機能部品に転送する
ことを特徴とする情報処理方法。
【請求項１３】
請求項１１に記載の情報処理方法において、
前記ジョブ画面生成ステップは、前記第３の機能部品が、取得した画面と自身の画面を合成し、次の機能部品がない場合、合成画面を前記第２の機能部品に送出し、
前記第２の機能部品が、取得した前記合成画面を前記第１の機能部品に転送し、
前記第１の機能部品が、取得した前記合成画面を前記表示制御部に転送し、
前記表示制御部は、取得した前記合成画面を前記操作部に対する画面として表示する
ことを特徴とする情報処理方法。
【請求項１４】
画像形成装置における複数の機能の組み合わせからなるジョブを実行する前記画像形成装置と、前記画像形成装置とネットワークで接続され、前記画像形成装置から前記ジョブの実行によって生成された情報を受信してアップデートを行うサーバと、を有する画像形成システムであって、
前記画像形成装置は、
前記複数の機能ごとに、該機能を発揮するアプリケーションを呼び出して実行させる機能プログラムを含む機能部品を記憶する記憶部と、
ユーザによる操作を受け付ける操作部と、
前記操作部に対する画面を表示する表示制御部と、
前記操作部を用いて前記ユーザが選択した複数の前記機能部品を組み合わせることで前記ジョブを作成するジョブ作成部と、
前記作成したジョブを構成する複数の前記機能部品における設定用の画面を合成するジョブ画面生成部と、
前記操作部を用いて前記ユーザが実行を指示した前記ジョブを実行するジョブ実行部と、
を備えることを特徴とする画像形成システム。
【請求項１５】
コンピュータを、画像形成装置における複数の機能の組み合わせからなるジョブを実行する前記画像形成装置として動作させるためのジョブ管理プログラムであって、
前記複数の機能ごとに、該機能を発揮するアプリケーションを呼び出して実行させる機能プログラムを含む機能部品を記憶する記憶部と、
ユーザによる操作を受け付ける操作部と、
前記操作部に対する画面を表示する表示制御部と、を備えている前記画像形成装置に、
前記操作部を用いて前記ユーザが選択した複数の前記機能部品を組み合わせることで前記ジョブを作成するジョブ作成ステップと、
前記作成したジョブを構成する複数の前記機能部品における設定用の画面を合成するジョブ画面生成ステップと、
前記操作部を用いて前記ユーザが実行を指示した前記ジョブを実行するジョブ実行ステップと、
を実行させるためのジョブ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、情報処理方法、画像形成システム、および、ジョブ管理プログラムに関する。
【背景技術】
【０００２】
近年、画像形成装置は、プリンタ、コピー、ファックス、スキャナなどの複数の機能を備えているものが多い。そして、画像形成装置によっては、それらの複数の機能を予め組み合わせてジョブとして登録しておくことができる。そのような画像形成装置によれば、ユーザは、簡単な操作でそのジョブを実行することができ、便利である。
【０００３】
例えば、特許文献１の技術によれば、ユーザがジョブを作成するために複数の機能を選択した場合に、それらの複数の機能について実行可能な順番を判定することができる。例えば、スキャナ機能とプリンタ機能を組み合わせる場合、スキャナ機能の前にプリンタ機能を実行することはできないので、スキャナ機能の後にプリンタ機能を実行する、という順番だけが実行可能であると判定する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
また、複数の機能を組み合わせてジョブを作成する場合、ユーザは画面を見て各機能の設定を行うことが多い。例えば、スキャナ機能の場合、ユーザは画面を見て、原稿の種類（文字、写真等）、読み取りサイズ（Ａ３、Ａ４等）、読み取り解像度（２００ｄｐｉ、３００ｄｐｉ等）等の設定を行う。しかしながら、特許文献１の技術では、複数の機能を組み合わせてジョブを作成する場合に、それらの複数の機能に関する設定用の画面は別途作成するしかなく、手間がかかった。
【０００５】
そこで、本発明は、上述の課題に鑑みてなされたものであり、より少ない労力で、複数の機能を組み合わせてジョブを作成し、実行することができる画像形成装置、情報処理方法、画像形成システム、および、ジョブ管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、画像形成装置における複数の機能の組み合わせからなるジョブを実行する前記画像形成装置であって、前記複数の機能ごとに、該機能を発揮するアプリケーションを呼び出して実行させる機能プログラムを含む機能部品を記憶する記憶部と、ユーザによる操作を受け付ける操作部と、前記操作部に対する画面を表示する表示制御部と、前記操作部を用いて前記ユーザが選択した複数の前記機能部品を組み合わせることで前記ジョブを作成するジョブ作成部と、前記作成したジョブを構成する複数の前記機能部品における設定用の画面を合成するジョブ画面生成部と、前記操作部を用いて前記ユーザが実行を指示した前記ジョブを実行するジョブ実行部と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、より少ない労力で、複数の機能を組み合わせてジョブを作成し、実行することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施の形態のＭＦＰのハードウェア構成図である。
【図２Ａ】図２Ａは、第１の実施の形態のＭＦＰのコントローラ部の機能ブロック図である。
【図２Ｂ】図２Ｂは、図２Ａにおける機能部品の詳細図である。
【図３】図３は、第１の実施の形態におけるジョブの画面合成、設定、実行の処理の流れを示すフローチャートである。
【図４】図４は、第１の実施の形態において、ジョブ作成時の画面例を示す図である。
【図５】図５は、第１の実施の形態において、ジョブのアイコンが登録された画面例を示す図である。
【図６】図６は、第１の実施の形態において、機能部品「スキャンして蓄積」の画面例を示す図である。
【図７】図７は、第１の実施の形態において、機能部品「蓄積文書をＰＤＦ変換」の画面例を示す図である。
【図８】図８は、第１の実施の形態において、機能部品「蓄積文書をサーバにアップデート（ＨＴＴＰ）」の画面例を示す図である。
【図９】図９は、第１の実施の形態において、２つの機能部品の画面が合成された画面例を示す図である。
【図１０】図１０は、第１の実施の形態において、３つの機能部品の画面が合成された画面例を示す図である。
【図１１】図１１は、第２の実施の形態のＭＦＰの機能ブロック図である。
【図１２】図１２は、第２の実施の形態におけるジョブの画面合成の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、例として、本発明に係る画像形成装置、情報処理方法、画像形成システム、および、ジョブ管理プログラムを適用した実施の形態となる複合機（ＭＦＰ：Multifunction  Peripheral）について説明する。
【００１０】
（第１の実施の形態）
まず、図１は、第１の実施の形態のＭＦＰのハードウェア構成図である。この図１に示すように、ＭＦＰは、コントローラ部１、スキャナ部２、プリンタ部３、操作パネル４、および通知部１４を有している。ＭＦＰは、画像形成装置における複数の機能の組み合わせからなるジョブを実行する前記画像形成装置の一例である。
【００１１】
スキャナ部２は、原稿読み取り台に載置された原稿を光学的に読み取って画像データを生成する。プリンタ部３は、例えば電子写真プロセス方式によって感光ドラム上に形成したトナー像を記録紙に転写することで画像の印刷を行う。
【００１２】
操作パネル４は、透明電極等で形成されたタッチパネルを液晶表示パネル上に設けたタッチ検出機能付き表示パネルである。ユーザは、液晶表示パネルに表示されたボタン等を接触操作する。コントローラ部１は、接触操作箇所に表示しているボタン等に対応するコマンドを検出する。コントローラ部１は、検出したコマンドに対応する処理を実行する。操作パネル４は、ユーザによる操作を受け付ける操作部と、操作部に対する画面を表示する表示制御部と、の両機能を兼ね備えた装置の一例である。
【００１３】
通知部１４は、例えば発光ダイオード（ＬＥＤ）で形成される。実施の形態のＭＦＰの場合、ＭＦＰの動作状態（データ送信中など）などを、通知部１４の点灯制御、点滅制御によりユーザに通知する。なお、この例では、発光ダイオード（ＬＥＤ）で形成された通知部１４を点灯制御、点滅制御することとしたが、代わりに、操作パネル４による表示を行うようにしてもよい。
【００１４】
コントローラ部１は、メインＣＰＵ（Central  Processing  Unit）５、ＲＯＭ（Read  Only  Memory）６、およびＮＶＲＡＭ（Non  Volatile  Random  Access  Memory：不揮発性メモリ）７を有している。また、コントローラ部１は、ＨＤＤ（Hard  Disk  Drive）８、ＲＡＭ（Random  Access  Memory）９、通信モジュール１０、およびサブＣＰＵ１１を有している。
【００１５】
メインＣＰＵ５は、コントローラ部１の通常稼動モードを制御するＣＰＵである。サブＣＰＵ１１は、省電力モード中の動作を制御するＣＰＵである。ＨＤＤ８およびＲＡＭ９は、記憶部の一例である。ＨＤＤ８は、例えばスキャナ部２等により生成された画像データ等の情報を記憶する。ＲＡＭ９は、ＨＤＤ８よりも消費電力が少なく、各種情報を記憶する。
【００１６】
実施の形態のＭＦＰの場合、後述する機能部品（図２Ｂの機能部品５０）は、一例としてＨＤＤ８に記憶されている。メインＣＰＵ５（およびサブＣＰＵ１１）は、ＨＤＤ８から読み出した機能部品における機能プログラム（詳細は後述）を、主記憶装置であるＲＡＭ９上等に展開して実行する。機能部品は、ＲＯＭ６またはＮＶＲＡＭ７等に予め記憶しておいてもよいし、外部のネットワーク１２を介して取得し、ＨＤＤ８等に記憶してもよい。機能部品の詳細については後述する。
【００１７】
通信モジュール１０は、ＨＤＤ８またはＲＡＭ９に記憶された画像データ等の情報を、ネットワーク１２を介して外部サーバ装置１３等に送信する。外部サーバ装置１３は、ＭＰＦとネットワーク１２で接続され、ＭＰＦからジョブの実行によって生成された情報（画像データ等）を受信してアップデートを行う。また、通信モジュール１０は、外部の機器からネットワーク１２を介して供給された情報を取得して、ＨＤＤ８またはＲＡＭ９に記憶する。
【００１８】
次に、図２Ａに、コントローラ部１の機能ブロック図を示す。また、図２Ｂは、図２Ａにおける機能部品５０の詳細図である。図２Ａに示すように、コントローラ部１は、白黒レーザプリンタ（Ｂ＆Ｗ  ＬＰ）４０と、カラーレーザプリンタ（Ｃｏｌｏｒ  ＬＰ）４１と、スキャナ、ファクシミリ、メモリ、ネットワークインタフェースなどのその他ハードウェアリソース４２と、記憶部４３を有する。また、コントローラ部１は、プラットホーム３０と、アプリケーション２０と、ジョブ管理モジュール６０と、選択された機能部品７０と、を備えたソフトウェア群を有する。
【００１９】
記憶部４３は、例えば図１のＨＤＤ８に対応し、複数の機能（プリンタ、コピー、ファックス、スキャナなど）ごとに、機能プログラムを含む機能部品５０（ソフトウエアコンポーネント）を記憶する。機能部品５０の具体例である機能部品５１〜５９（以下、符号を省略して単に「機能部品」という場合もある。）については、後述する。
【００２０】
ここで、機能プログラムとは、ＡＰＩ（Application  Program  Interface）を用いて、機能を発揮するためのプログラム（ソフトウェア）であるアプリケーション２０を呼び出して実行させるプログラムである。また、機能部品とは、機能プログラムと設定用の画面を含んだデータである。例えば、機能部品５２「スキャンして蓄積」は、ＡＰＩを用いてスキャナＡＰ２５を呼び出してスキャンを実行させ、スキャンデータを記憶部に保存する機能プログラムと、設定用の画面（後述する図６）を含んだデータである。なお、機能部品には、設定用の画面が含まれない場合もある。
【００２１】
プラットホーム３０は、アプリケーション２０からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスを有する。また、プラットホーム３０は、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ（ＳＲＭ）３７と、汎用ＯＳ３９とを有する。
【００２２】
コントロールサービスは、複数のサービスモジュールから形成され、ＢＣＳ（ブラウザコントロールサービス）３１と、ＳＣＳ（システムコントロールサービス）３８と、ＥＣＳ（エンジンコントロールサービス）３２とを有する。また、コントロールサービスは、ＭＣＳ（メモリコントロールサービス）３３と、ＯＣＳ（オペレーションパネルコントロールサービス）３５と、ＦＣＳ（ファックスコントロールサービス）３４と、ＮＣＳ（ネットワークコントロールサービス）３６とを有する。このプラットホーム３０は、予め定義された関数により、アプリケーション２０からの処理要求を受信可能とするアプリケーションプログラムインタフェース（ＡＰＩ）を有する。
【００２３】
汎用ＯＳ３９は、ＵＮＩＸ（登録商標）等の汎用オペレーティングシステムであり、プラットホーム３０およびアプリケーション２０の各ソフトウェアをそれぞれプロセスとして並列実行する。
【００２４】
ＳＲＭ３７のプロセスは、ＳＣＳ３８と共に、システムの制御およびリソースの管理を行う。ＳＲＭ３７のプロセスは、スキャナ部２またはプリンタ部３等のエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏのハードウェア資源を利用する上位層からの要求に従って調停を行い、実行制御する。なお、ホストＩ／Ｏは、セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４  Ｉ／Ｆ、ＲＳ２３２Ｃ  Ｉ／Ｆ等である。
【００２５】
具体的には、ＳＲＭ３７は、要求されたハードウェア資源が利用可能であるか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、ＳＲＭ３７は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容（例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成等）を直接実施する。
【００２６】
ＳＣＳ３８のプロセスは、アプリ管理、操作部制御、システム画面表示、ＬＥＤ表示、リソース管理、割り込みアプリ制御等を行う。
【００２７】
ＢＣＳ３１は、ブラウザエンジン（ＨＴＭＬ描画、JavaScript（登録商標）の実行を行う箇所）の機能を実現するサブモジュールである。ブラウザエンジンをサブモジュール化することで、他のブラウザエンジンへの変更、および他のアプリケーションプログラムからの利用が可能となる。
【００２８】
ＥＣＳ３２のプロセスは、白黒レーザプリンタ（Ｂ＆Ｗ  ＬＰ）４０、カラーレーザプリンタ（Ｃｏｌｏｒ  ＬＰ）４１、スキャナ、ファクシミリ等からなるその他ハードウェアリソース４２のエンジンの制御を行う。
【００２９】
ＭＣＳ３３のプロセスは、画像メモリの取得および解放、ハードディスク装置（ＨＤＤ）の利用、画像データの圧縮および伸張等を行う。
【００３０】
ＦＣＳ３４のプロセスは、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を利用したファクシミリ送受信を行うためのＡＰＩを提供する。また、ＦＣＳ３４のプロセスは、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読み取り、ファクシミリ受信印刷、融合送受信を行うためのＡＰＩを提供する。
【００３１】
ＮＣＳ３６のプロセスは、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスである。ＮＣＳ３６のプロセスは、ネットワーク側から各プロトコルによって受信したデータの、各アプリケーションに対する振り分けを行う。また、ＮＣＳ３６のプロセスは、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。
【００３２】
ＯＣＳ３５のプロセスは、ユーザと本体制御間の情報伝達手段となる操作パネル４の制御を行う。ＯＣＳ３５は、操作パネル４に対するタッチ操作（またはキー押下）をキーイベントとして取得し、取得したキーに対応したキーイベント関数をＳＣＳ３８に送信するＯＣＳプロセスの部分を備える。また、ＯＣＳ３５は、アプリケーション２０またはコントロールサービスからの要求により、操作パネル４に各種画面を描画出力する描画関数およびその他、操作パネル４に対する制御を行う関数等が予め登録されたＯＣＳライブラリの部分を備える。
【００３３】
ＯＣＳライブラリは、アプリケーション２０およびコントロールサービスの各モジュールにリンクされて実装されている。ＯＣＳ３５は、全てをプロセスとして動作させてもよいし、または、全てをＯＣＳライブラリとしてもよい。
【００３４】
なお、上述のＢＣＳ３１とＯＣＳ３５とは、それぞれ画面制御を行うモジュールである。ＢＣＳ３１およびＯＣＳ３５は、実装上分けて設けたとしても、汎用的に考えた場合、二つのコンポーネントを一緒とし、コマンドによって制御を変えればよい。
【００３５】
アプリケーション２０は、Ｗｅｂブラウジングを可能とするブラウザアプリケーションプログラム（ブラウザＡＰ２１）と、ページ記述言語（ＰＤＬ）、ＰＣＬおよびポストスクリプト（ＰＳ：登録商標）を有するプリンタ用のプリンタＡＰ２２とを有する。また、アプリケーション２０は、コピー用のコピーＡＰ２３と、ファクシミリ用のファックスＡＰ２４と、スキャナ用のスキャナＡＰ２５と、を有する。また、アプリケーション２０は、ネットワークによるデータ送受信用のネットワークＡＰ２６と、データをｊｐｇ変換、ＰＤＦ変換等するためのデータ変換ＡＰ２７と、を有する。
【００３６】
アプリケーション２０の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリ等の画像形成処理にかかるユーザサービスを実現する。
【００３７】
ジョブ管理モジュール６０は、ジョブ作成部６１、ジョブ画面生成部６２、および、ジョブ実行部６３を有する。ジョブ管理モジュール６０は、例えば、メインＣＰＵ５がＨＤＤ８からジョブ管理プログラムを読み出して実行することにより実現されるモジュールである。
【００３８】
ジョブ作成部６１は、操作パネル４を用いてユーザが選択した複数の機能部品（機能部品５１〜５９のうち２つ以上）を組み合わせることでジョブを作成する。ここで、ユーザによって選択された機能部品（機能部品５１〜５９）は、図２Ａでは、選択された機能部品７０として機能する。
【００３９】
ジョブ画面生成部６２は、ジョブ作成部６１が作成したジョブを構成する複数の機能部品における画面を合成する。具体的には、ジョブ画面生成部６２は、ジョブを構成する複数の機能部品それぞれが有する設定用の画面を所定の順番で合成する場合に、機能部品からインタフェース（ＡＰＩ）経由で画面を取得し、画面を取得するたびに、取得した画面と、すでに取得した画面とを合成することで、ジョブを構成する機能部品の画面を合成する（詳細は後述）。合成した画面は、ＯＣＳ３５によって操作パネル４に表示される。
ジョブ実行部６３は、操作パネル４を用いてユーザが実行を指示したジョブを実行する。
【００４０】
このように、実施の形態のＭＦＰには、複数のアプリケーション２０および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション２０に対し共通サービスを提供している。このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行い、互いにプロセス間通信を行って協調動作をしながら、プリンタ、コピー、ファクシミリ、スキャナ等の画像形成処理にかかるユーザサービスを提供するようになっている。
【００４１】
また、選択された機能部品７０における各機能部品は、アプリケーション２０と連携することによって、自身の機能を実現する。具体的には、機能部品５１「コピーして蓄積」は、コピーＡＰ２３を呼び出してコピーを実行させ、コピーデータを記憶部に保存する。機能部品５２「スキャンして蓄積」は、スキャナＡＰ２５を呼び出してスキャンを実行させ、スキャンデータを記憶部に保存する。機能部品５３「サーバからファイルをダウンロード」は、ネットワークＡＰ２６を呼び出してサーバからのファイルのダウンロードを実行させる。
【００４２】
機能部品５４「蓄積文書を印刷」は、プリンタＡＰ２２を呼び出して蓄積文書の印刷を実行させる。機能部品５５「蓄積文書をサーバにアップデート（ＨＴＴＰ）」は、ネットワークＡＰ２６を呼び出して蓄積文書のサーバへのアップデート（ＨＴＴＰ）を実行させる。機能部品５６「蓄積文書をサーバにアップデート（ＦＴＰ）」は、ネットワークＡＰ２６を呼び出して蓄積文書のサーバへのアップデート（ＦＴＰ）を実行させる。
【００４３】
機能部品５７「蓄積文書をメールで配信」は、ネットワークＡＰ２６を呼び出して蓄積文書のメールでの配信を実行させる。機能部品５８「蓄積文書をｊｐｇ変換」は、データ変換ＡＰ２７を呼び出して蓄積文書のｊｐｇ変換を実行させ、ｊｐｇ変換したデータを記憶部に保存する。機能部品５９「蓄積文書をＰＤＦ変換」は、データ変換ＡＰ２７を呼び出して蓄積文書のＰＤＦ変換を実行させ、ＰＤＦ変換したデータを記憶部に保存する。
【００４４】
なお、実施の形態では、ＭＦＰで扱う対象のデータを便宜上「文書」と表現するが、文字や文章を含まないものも対象に含まれる。
【００４５】
以下、図４〜図１０を適宜参照しながら、図３を用いてジョブの画面合成、設定、実行の処理の流れについて説明する。
【００４６】
まず、図３のステップＳ１の前の準備として、図４、図５を参照して、ジョブを構成する複数の機能部品を操作パネル４上でユーザが選択し、それによってジョブのアイコンが生成される処理について説明する。
【００４７】
図４は、ジョブ作成時の画面例を示す図である。この画面は、ユーザが操作パネル４上でジョブ作成開始のための所定の操作を行うことで、ＯＣＳ３５によって操作パネル４上に表示される。
【００４８】
画面左側の領域４０１には、機能部品５１〜５９が縦に並んでいる。図４の例では機能部品５１〜５５しか見えていないが、スワイプ操作して画面を上方にスクロールさせることで、下方に隠れている機能部品５６〜５９を見えるようにすることができる。
【００４９】
ユーザによってこの機能部品５１〜５９が１つずつ右の領域４０３にドラッグ操作で移動されると、ジョブ作成部６１は、複数の機能部品を繋げてジョブを作成する。例えば、ユーザのドラッグ操作によって、領域４０３に１つの機能部品が移動した後、次の機能部品がその下に移動すると、ジョブ作成部６１は、その２つの機能部品をその順番で繋げる。また、領域４０３に２つの機能部品がある状態で、次の機能部品がドラッグ操作でその下に移動すると、ジョブ作成部６１はその機能部品を最後に繋げる。このようにして、ユーザが、任意の機能部品を選択し、任意の順番で繋げるようにドラッグ操作を行うと、ジョブ作成部６１は、それらの機能部品をその順番で繋げ、ジョブを作成する。
【００５０】
ここでは、ジョブ作成部６１が、機能部品５２「スキャンして蓄積」、機能部品５９「蓄積文書をＰＤＦ変換」、機能部品５５「蓄積文書をサーバにアップデート（ＨＴＴＰ）」をこの順で繋げてジョブを作成する場合を例にとる。
【００５１】
また、ユーザによって領域４０２内の領域４０２１内にジョブ登録名（ここでは例として「ユーザＪｏｂ」）が書き込まれボタン４０２２が操作されると、ジョブ作成部６１は、図５に示すように、ジョブ登録名「ユーザＪｏｂ」のアイコン４００を生成し、ＯＣＳ３５が操作パネル４に表示する。
【００５２】
次に、ステップＳ１〜Ｓ１１でジョブの画面合成の処理を行うが、この場合、各機能部品（本例では機能部品５２，５９，５５）は、以下のような共通のＡＰＩ（インタフェース）によってジョブ画面生成部６２からの画面生成の要求に応答する。
【００５３】
＜画面合成用の共通ＡＰＩの例＞
・コマンド名  「画面生成」
・パラメータ  「なし」
・戻り値      「生成した画面」
【００５４】
つまり、各機能部品は、ジョブ画面生成部６２からコマンド「画面生成」を受信すると、自身の画面（設定用の画面。以下同様）を生成し、その生成した画面を返す、という共通の動作を行う。以下、具体的に説明する。
【００５５】
ステップＳ１において、ユーザが、図５に示す操作パネル４上の「ユーザＪｏｂ」のアイコン４００をタップしたものとする。
そうすると、操作パネル４上でのこの操作により、ステップＳ２において、起動した「ユーザＪｏｂ」からジョブ画面生成部６２（図２Ａ）に、選ばれた複数の機能部品およびその順番を特定する情報と、画面生成指示の情報が伝達される。
【００５６】
次に、ステップＳ３において、ジョブ画面生成部６２は、機能部品５２にコマンド「画面生成」を送る。
そうすると、ステップＳ４において、機能部品５２は、生成した画面（図６）を戻り値として返す。
【００５７】
ここで、図６は、機能部品５２「スキャンして蓄積」の画面例を示す図である。機能部品５２の画面は、タブ５２０、および、領域４０４に表示される画面５２１〜５２３からなる。画面５２１は、原稿の種類（文字、写真等）の設定用の画面である。画面５２２は、読み取りサイズ（Ａ３、Ａ４等）の設定用の画面である。画面５２３は、読み取り解像度（２００ｄｐｉ、３００ｄｐｉ等）の設定用の画面である。
【００５８】
次に、ステップＳ５において、ジョブ画面生成部６２は、機能部品５９にコマンド「画面生成」を送る。
そうすると、ステップＳ６において、機能部品５９は、生成した画面（図７）を戻り値として返す。
【００５９】
ここで、図７は、機能部品５９「蓄積文書をＰＤＦ変換」の画面例を示す図である。機能部品５９の画面は、タブ５９０、および、領域４０４に表示される画面５９１，５９２からなる。画面５９１は、解像度の設定用の画面である。画面５９２は、パスワードの設定用の画面である。
【００６０】
ステップＳ６の後、ステップＳ７において、ジョブ画面生成部６２は、機能部品５２の画面と機能部品５９の画面を合成する（図９）。
ここで、図９は、機能部品５２の画面と機能部品５９の画面が合成された画面例を示す図である。この画面例では、タブを選択することで対応する機能部品の設定用の画面を表示するようになっている。ここでは、機能部品５２のタブ５２０が選択されており、機能部品５２の設定用の画面である画面５２１〜５２３が表示されている。なお、タブを選択することで設定用の画面を切り替えるようにしたのは、そうすることで設定用の画面中の文字が小さくなりすぎることを防止するためであるが、必須の事項ではなく、これに限定されない。
【００６１】
次に、ステップＳ８において、ジョブ画面生成部６２は、機能部品５５にコマンド「画面生成」を送る。
そうすると、ステップＳ９において、機能部品５５は、生成した画面（図８）を戻り値として返す。
【００６２】
ここで、図８は、機能部品５５「蓄積文書をサーバにアップデート（ＨＴＴＰ）」の画面例を示す図である。機能部品５５の画面は、タブ５５０、および、領域４０４に表示される画面５５１からなる。画面５５１は、転送先サーバの設定用の画面である。
【００６３】
ステップＳ９の後、ステップＳ１０において、ジョブ画面生成部６２は、ステップＳ７で生成した合成画面と機能部品５５の画面を合成する（図１０）。
ここで、図１０は、機能部品５２の画面と機能部品５９の画面と機能部品５５の画面が合成された画面例を示す図である。この画面例では、タブを選択することでその機能部品の設定用の画面を表示するようになっている。ここでは、機能部品５２のタブ５２０が選択されており、機能部品５２の設定用の画面である画面５２１〜５２３が表示されている。また、操作することでジョブの実行処理が開始されることになる実行ボタン４０５が右上部分に配置されている。
【００６４】
ステップＳ１１において、ステップＳ１０で生成された合成画面（図１０）は、ＯＣＳ３５によって操作パネル４に表示される。
【００６５】
次に、ユーザによるジョブの設定について説明する。
ステップＳ２１において、ユーザは、ステップＳ１１で合成画面（図１０）が表示された操作パネル４上で、ジョブの設定入力を行う。具体的には、図１０の画面において、タブを選択することで、そのタブに対応する機能部品の設定入力を行う。この設定入力を受けて、ジョブ作成部６１は、各機能部品の設定を行う。
【００６６】
次に、ステップＳ３１〜Ｓ４２でジョブの実行処理を行うが、この場合、各機能部品（本例では機能部品５２，５９，５５）は、以下のような共通のＡＰＩによって連携動作する。
【００６７】
＜ジョブ実行用の共通ＡＰＩの例＞
・コマンド名  「実行」
・パラメータ  「文書」
・戻り値      「結果（成功／失敗）」
【００６８】
つまり、各機能部品は、コマンド「実行」を受信すると、前段（１つ前の順番の機能部品）から渡された文書を処理して次段（１つ後の順番の機能部品）へ渡す、という共通の動作を行う。ただし、前段がない場合、次段がない場合は、それらに応じた動作を行う。以下、具体的に説明する。
【００６９】
ステップＳ３１において、ユーザが、図１０に示す操作パネル４上の実行ボタン４０５をタップしたものとする。
操作パネル４上でのこの操作により、ステップＳ３２において、「ユーザＪｏｂ」は先頭の機能部品５２にコマンド「実行」を送る。
【００７０】
そうすると、ＯＣＳ３５が操作パネル４上で実行中表示を行う（ステップＳ３３）とともに、機能部品５２は、「スキャンして蓄積」の処理を実行し（ステップＳ３４）、次の機能部品５９に対して、コマンド「実行」とともにパラメータ「文書（スキャンして蓄積した文書）」を送る（ステップＳ３５）。
【００７１】
次に、機能部品５９は、「蓄積文書をＰＤＦ変換」の処理を実行し（ステップＳ３６）、次の機能部品５５に対して、コマンド「実行」とともにパラメータ「文書（変換したＰＤＦ文書）」を送る（ステップＳ３７）。
【００７２】
次に、機能部品５５は、「蓄積文書をサーバにアップデート（ＨＴＴＰ）」の処理を実行し（ステップＳ３８）、次の機能部品がないため、処理結果を要求元の機能部品５９に送る（ステップＳ３９）。
【００７３】
その処理結果は、機能部品５９、機能部品５２を経由して操作パネル４まで返され（ステップＳ４０，Ｓ４１）、操作パネル４に表示される（ステップＳ４２）。
【００７４】
このように、第１の実施の形態のＭＰＦによれば、設定用の画面まで含めた機能部品を予め複数用意しておき、ユーザが複数の機能を組み合わせてジョブを作成する場合に、ジョブ画面生成部６２がそれらの複数の機能の設定用の画面を自動的に合成し、その合成画面（図１０）がジョブ実行前に表示されるので、より少ない労力でジョブを作成し、実行することができる。
【００７５】
また、各機能部品に、前記したような画面合成用の共通ＡＰＩの機能を持たせることで、機能部品の設計等が容易になり、また、新しい機能部品の追加も容易となる。
【００７６】
また、操作部と表示制御部が一体構成されている操作パネル４を用いることができるようにしたことで、本発明をキーボードレスの画像形成装置全般に適用することができる。
【００７７】
（第２の実施の形態）
次に、第２の実施の形態のＭＦＰについて説明する。以下、第１の実施の形態のＭＦＰと比べたときの差異点についてのみ説明し、重複説明を省略する。
【００７８】
図１１は、第２の実施の形態のＭＦＰの機能ブロック図である。この第２の実施の形態のＭＦＰは、第１の実施の形態のＭＦＰと比べて、ジョブ管理モジュール６０内にジョブ画面生成部６２がなく、その代わりに、複数の機能部品５１〜５９（図２Ｂ）それぞれがジョブ画面生成部の機能を有している点で異なる。
【００７９】
機能部品のジョブ画面生成部は、所定の順番で設定用の画面を合成する場合に、次の動作を行う。以下、説明の便宜上、機能部品を、第１の機能部品、第２の機能部品、第３の機能部品と呼び分け、それぞれが、図２Ａのジョブ画面生成部６２に対応する機能を有しているものとする。
【００８０】
第１の機能部品のジョブ画面生成部は、自身の画面を第２の機能部品のジョブ画面生成部にインタフェース（ＡＰＩ）経由で送出する。
そうすると、第２の機能部品のジョブ画面生成部は、取得した画面と自身の画面を合成して第３の機能部品のジョブ画面生成部にインタフェース経由で送出する。
これらの動作を繰り返すことにより、ジョブを構成する機能部品の画面を合成することができる。
【００８１】
また、例えば、第２の機能部品が自身の画面を有していない場合には、当該第２の機能部品のジョブ画面生成部は、取得した画面を第３の機能部品にそのまま転送する。これにより、第３の機能部品のジョブ画面生成部が、空の画面を合成して、合成画面中に大きな空白ができるという事態を回避できる。
【００８２】
また、第３の機能部品のジョブ画面生成部は、取得した画面と自身の画面を合成し、次の機能部品がない場合、合成画面を第２の機能部品に送出する。これを受けて、第２の機能部品は、取得した合成画面を第１の機能部品に転送する。これを受けて、第１の機能部品は、取得した合成画面を表示制御部に転送する。そして、表示制御部は、取得した合成画面を操作部に対する画面として表示する。これにより、合成画面を操作部に対する画面として表示することができる。
【００８３】
次に、図１２を参照して、第２の実施の形態におけるジョブの画面合成の処理（図３のステップＳ１〜Ｓ１１に対応）の流れについて説明する。ここで、各機能部品（本例では機能部品５２，５９，５５）は、以下のような共通のＡＰＩ（インタフェース）で他の機能部品と連携して画面生成を行う。
【００８４】
＜画面合成用の共通ＡＰＩの例２＞
・コマンド名  「画面生成」
・パラメータ  「画面（前段が生成した画面）」
・戻り値      「生成（合成）した画面」
【００８５】
つまり、各機能部品は、前段からコマンド「画面生成」を受信すると、自身の画面を生成し、受信した画面と合成して、次段に送る、という共通の動作を行う。なお、順番が先頭の機能部品は、前段がないため、自身の画面を生成してそのまま次段に送る。また、順番が最後の機能部品は、次段がないため、実行ボタン（図１０の実行ボタン４０５）を配置して、生成が完了した画面を前段に返す。以下、具体的に説明する。
【００８６】
ステップＳ１０１において、ユーザが、図５に示す操作パネル４上の「ユーザＪｏｂ」のアイコン４００をタップしたものとする。
そうすると、操作パネル４上でのこの操作により、ステップＳ１０２において、起動した「ユーザＪｏｂ」から機能部品５２に、コマンド「画面生成」が送られる。なお、画面はまだないので、パラメータとしては「null」が渡される。
【００８７】
次に、ステップＳ１０３において、機能部品５２は、自身の画面を生成し（図６）、その生成した画面とコマンド「画面生成」を機能部品５９に送る。
次に、機能部品５９は、自身の画面を生成し（図７）、受信した画面と合成して（ステップＳ１０４。図９）、その合成した画面とコマンド「画面生成」を機能部品５５に送る（ステップＳ１０５）。
【００８８】
次に、機能部品５５は、自身の画面を生成し（図８）、受信した画面と合成して（ステップＳ１０６。図１０（実行ボタン４０５配置前））、次段がないため、実行ボタン（図１０の実行ボタン４０５）を配置して、その画面（図１０）を機能部品５９に送る（ステップＳ１０７）。
【００８９】
その画面は、機能部品５９、機能部品５２を経由して操作パネル４まで返され（ステップＳ１０８，Ｓ１０９）、操作パネル４に表示される。
【００９０】
このように、第２の実施の形態のＭＰＦによれば、設定用の画面まで含めた各機能部品を予め複数用意しておき、さらに、各機能部品にジョブ画面生成部の機能も持たせておくことで、第１の実施の形態の場合の効果に加えて、ジョブ画面生成部６２がない分、シンプルな構成となるという効果も奏する。
【００９１】
また、各機能部品に、前記した画面合成用の共通ＡＰＩの例２のような機能を持たせることで、機能部品の設計等が容易になり、また、新しい機能部品の追加も容易となる。
【００９２】
なお、順番の途中の機能部品が自身の画面を持っていない場合、当該機能部品のジョブ画面生成部は、前段から受け取った画面をそのまま次段に渡すようにすればよい。そうすれば、空の画面を合成して、合成画面中に大きな空白ができるという事態を回避できる。
【００９３】
（ジョブ管理プログラム）
なお、本実施の形態（第１の実施の形態、第２の実施の形態）のＭＦＰで実行されるジョブ管理プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００９４】
また、本実施の形態のＭＦＰで実行されるジョブ管理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態のＭＦＰで実行されるジョブ管理プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００９５】
また、本実施の形態のジョブ管理プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
なお、本実施の形態のＭＦＰで実行されるジョブ管理プログラムは、上述した各部（ジョブ作成部６１、ジョブ画面生成部６２、ジョブ実行部６３）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が記憶媒体からジョブ管理プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、ジョブ作成部６１、ジョブ画面生成部６２、ジョブ実行部６３が主記憶装置上に生成されるようになっている。
【００９６】
なお、上述の各実施の形態は、例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことも可能である。例えば、上記実施の形態では、本発明の画像形成装置を、プリンタ機能、コピー機能、ファクシミリ機能、およびスキャナ機能をいずれも有する複合機に適用した例を挙げて説明したが、複写機、プリンタ、スキャナ装置、ファクシミリ装置等の画像形成装置であっても、前記した機能部品を２つ以上作り得る装置であれば、適用することができる。また、実施の形態および実施の形態の変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９７】
１  コントローラ部
２  スキャナ部
３  プリンタ部
４  操作パネル
５  メインＣＰＵ
６  ＲＯＭ
７  ＮＶＲＡＭ
８  ＨＤＤ
９  ＲＡＭ
１０  通信モジュール
１１  サブＣＰＵ
１２  ネットワーク
１３  外部サーバ装置
１４  通知部
２０  アプリケーション
２１  ブラウザＡＰ
２２  プリンタＡＰ
２３  コピーＡＰ
２４  ファックスＡＰ
２５  スキャナＡＰ
２６  ネットワークＡＰ
２７  データ変換ＡＰ
３０  プラットホーム
３１  ＢＣＳ（ブラウザコントロールサービス）
３２  ＥＣＳ（エンジンコントロールサービス）
３３  ＭＣＳ（メモリコントロールサービス）
３４  ＦＣＳ（ファックスコントロールサービス）
３５  ＯＣＳ（オペレーションパネルコントロールサービス）
３６  ＮＣＳ（ネットワークコントロールサービス）
３７  ＳＲＭ（システムリソースマネージャ）
３８  ＳＣＳ（システムコントロールサービス）
３９  汎用ＯＳ
４０  白黒レーザプリンタ（Ｂ＆Ｗ  ＬＰ）
４１  カラーレーザプリンタ（Ｃｏｌｏｒ  ＬＰ）
４２  その他ハードウェアリソース
４３  記憶部
５０〜５９  機能部品
６０  ジョブ管理モジュール
６１  ジョブ作成部
６２  ジョブ画面生成部
６３  ジョブ実行部
７０  選択された機能部品
【先行技術文献】
【特許文献】
【００９８】
【特許文献１】特開２００７−２４８５２４号公報
【図１】
2017092765.tif 000003
【図２Ａ】
2017092765.tif 000004
【図２Ｂ】
2017092765.tif 000005
【図３】
2017092765.tif 000006
【図４】
2017092765.tif 000007
【図５】
2017092765.tif 000008
【図６】
2017092765.tif 000009
【図７】
2017092765.tif 000010
【図８】
2017092765.tif 000011
【図９】
2017092765.tif 000012
【図１０】
2017092765.tif 000013
【図１１】
2017092765.tif 000014
【図１２】
2017092765.tif 000015