(57)【要約】【課題】カスタマイズ性を向上させる。【解決手段】利用者から入力された入力情報の入力処理を行うコンポーネントを含むプレゼンテーション層と、入力処理した入力情報に基づいて実際に行う処理を決定するコンポーネントを含むビジネスロジック層と、決定された処理に従ってデータに対する入出力処理を制御するコンポーネントを含むデータ層と、決定された処理に従ってハードウェアを制御するデバイス層と、を有する論理階層部と、論理階層部が有するプレゼンテーション層と、ビジネスロジック層と、データ層と、デバイス層とに含まれるコンポーネント群を管理する運用管理部と、を備える。【選択図】        図１
2007226391.tif 000002
【特許請求の範囲】
【請求項１】
利用者から入力された入力情報の入力処理を行うコンポーネントを含むプレゼンテーション層と、該プレゼンテーション層のコンポーネントが入力処理した入力情報に基づいて実際に行う処理を決定するコンポーネントを含むビジネスロジック層と、前記ビジネスロジック層のコンポーネントにより決定された処理に従ってデータに対する入出力処理を制御するコンポーネントを含むデータ層と、前記ビジネスロジック層のコンポーネントにより決定された処理に従ってハードウェアを制御するデバイス層と、を有する論理階層部と、
前記論理階層部が有する前記プレゼンテーション層と、前記ビジネスロジック層と、前記データ層と、前記デバイス層とに含まれるコンポーネント群を管理する運用管理手段と、
を備えることを特徴とする画像形成装置。
【請求項２】
前記運用管理手段は、前記論理階層部が有する前記プレゼンテーション層、前記ビジネスロジック層、前記データ層及び前記デバイス層のうちいずれか一つに対して、新たな機能を提供するプラグイン機能データを追加し、該プラグイン機能データが追加された前記層に対して該プラグイン機能を使用可能に設定すること、
を特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記運用管理手段は、前記層に対して追加した機能を、前記プレゼンテーション層に表示するように設定し、
前記論理階層部は、前記プレゼンテーション層が前記運用管理手段により使表示するように設定された前記機能を表示する制御を行うこと、
を特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記論理階層部は、利用者から使用可能に設定された前記プラグイン機能を選択した場合に、前記プレゼンテーション層が選択された前記プラグイン機能データが追加された前記ビジネスロジック層、前記データ層及び前記デバイス層のうちいずれか一つを呼び出して、前記プラグイン機能を設定すること、
を特徴とする請求項２又は３に記載の画像形成装置。
【請求項５】
前記論理階層部は、前記デバイス層に前記プラグイン機能データが追加された場合、前記デバイス層が追加された前記プラグイン機能データを呼び出すことで、前記プラグイン機能データが、前記プラグイン機能データに備えられた機能に対応するハードウェアを制御すること、
を特徴とする請求項２乃至４のいずれか一つに記載の画像形成装置。
【請求項６】
前記論理階層部は、前記ビジネスロジック層に前記プラグイン機能データが追加された場合、前記ビジネスロジック層が追加された前記プラグイン機能データを呼び出すことで、前記プラグイン機能データが前記データ層から取得したデータに対して、前記プラグイン機能データに備えられた機能を用いて処理を行うこと、
を特徴とする請求項２乃至４のいずれか一つに記載の画像形成装置。
【請求項７】
層毎に役割が異なるコンポーネントが含まれている論理階層部のプレゼンテーション層に含まれたコンポーネントが、利用者から入力された入力情報の入力処理を行う入力処理ステップと、
前記論理階層部のビジネスロジック層に含まれたコンポーネントが、前記入力処理ステップにより入力処理された前記入力情報に基づいて実際に行う処理を決定する決定ステップと、
前記論理階層部のデータ層に含まれたコンポーネントが、前記決定ステップにより決定された処理に従ってデータに対する入出力処理を制御する入出力処理制御ステップと、
前記論理階層部のデバイス層に含まれたコンポーネントが、前記決定ステップにより決定された処理に従ってハードウェアを制御するハードウェア制御ステップと、
前記論理階層部が有する前記プレゼンテーション層と、前記ビジネスロジック層と、前記データ層と、前記デバイス層とに含まれるコンポーネント群を管理する運用管理ステップと、
を有することを特徴とする画像形成方法。
【請求項８】
利用者から入力された入力情報の入力処理を行うコンポーネントを含むプレゼンテーション層と、該プレゼンテーション層のコンポーネントが入力処理した入力情報に基づいて実際に行う処理を決定するコンポーネントを含むビジネスロジック層と、前記ビジネスロジック層のコンポーネントにより決定された処理に従ってデータに対する入出力処理を制御するコンポーネントを含むデータ層と、前記ビジネスロジック層のコンポーネントにより決定された処理に従って自装置が有するハードウェアを制御するデバイス層と、を有する論理階層部と、
前記論理階層部が有する前記プレゼンテーション層と、前記ビジネスロジック層と、前記データ層と、前記デバイス層とに含まれるコンポーネント群を管理する運用管理手段と、
としてコンピュータを機能させることを特徴とする画像形成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像形成方法及び画像形成プログラムに関するものであり、特に分散アプリケーションを実現させる技術に関するものである。
【背景技術】
【０００２】
従来、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置（以下、「複合機」という。）が知られている。
【０００３】
このような複合機の高機能化に伴い、利用者によっては複合機に搭載された機能のうち使用しない機能を削除して欲しいという要望や、当該利用者のみ使用する特殊な機能を搭載して欲しいという要望が多くなった。つまり、複合機毎に搭載される機能を異ならせる技術が必要となった。
【０００４】
そこで、近年では複合機のソフトウェア構成として、汎用的なＯＳ上に、複数の機能を備えたアプリケーションを搭載する技術が用いられている（例えば特許文献１）。このような構成としたことで、複合機毎に搭載するアプリケーションを変更することが容易になった。つまり、複合機毎に搭載される機能を異ならせることが可能となった。
【０００５】
【特許文献１】特開２００４−００５４０８号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載された技術では、異なるアプリケーションに同じ機能を備える場合でも、アプリケーション毎にコーディングされていた。このため、複合機に新たな機能を追加する場合に、当該機能を備えたアプリケーションの追加、又は当該機能を備えたアプリケーションで元のアプリケーションに対して上書きを行うことで機能の追加を実現していた。
【０００７】
具体的な例を示すと、スキャンの機能として２枚を１枚に集約する「２in１」機能を追加したい場合に、複合機に「２in１」機能を新たに追加するのではなく、「２in１」機能が追加されたスキャンアプリケーションを新たに搭載する必要があった。
【０００８】
つまり、従来の複合機においては、新たな機能のみ追加することができず、カスタマイズ性が低いという問題がある。
【０００９】
本発明は、上記に鑑みてなされたものであって、カスタマイズ性が向上した画像形成装置、画像形成方法及び画像形成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、利用者から入力された入力情報の入力処理を行うコンポーネントを含むプレゼンテーション層と、該プレゼンテーション層のコンポーネントが入力処理した入力情報に基づいて実際に行う処理を決定するコンポーネントを含むビジネスロジック層と、前記ビジネスロジック層のコンポーネントにより決定された処理に従ってデータに対する入出力処理を制御するコンポーネントを含むデータ層と、前記ビジネスロジック層のコンポーネントにより決定された処理に従ってハードウェアを制御するデバイス層と、を有する論理階層部と、前記論理階層部が有する前記プレゼンテーション層と、前記ビジネスロジック層と、前記データ層と、前記デバイス層とに含まれるコンポーネント群を管理する運用管理手段と、を備えることを特徴とする。
【００１１】
また、請求項２にかかる発明は、請求項１にかかる発明において、前記運用管理手段は、前記論理階層部が有する前記プレゼンテーション層、前記ビジネスロジック層、前記データ層及び前記デバイス層のうちいずれか一つに対して、新たな機能を提供するプラグイン機能データを追加し、該プラグイン機能データが追加された前記層に対して該プラグイン機能を使用可能に設定すること、を特徴とする。
【００１２】
また、請求項３にかかる発明は、請求項２にかかる発明において、前記運用管理手段は、前記層に対して追加した機能を、前記プレゼンテーション層に表示するように設定し、前記論理階層部は、前記プレゼンテーション層が前記運用管理手段により使表示するように設定された前記機能を表示する制御を行うこと、を特徴とする。
【００１３】
また、請求項４にかかる発明は、請求項２又は３にかかる発明において、前記論理階層部は、利用者から使用可能に設定された前記プラグイン機能を選択した場合に、前記プレゼンテーション層が選択された前記プラグイン機能データが追加された前記ビジネスロジック層、前記データ層及び前記デバイス層のうちいずれか一つを呼び出して、前記プラグイン機能を設定すること、を特徴とする。
【００１４】
また、請求項５にかかる発明は、請求項２乃至４のいずれか一つにかかる発明において、前記論理階層部は、前記デバイス層に前記プラグイン機能データが追加された場合、前記デバイス層が追加された前記プラグイン機能データを呼び出すことで、前記プラグイン機能データが、前記プラグイン機能データに備えられた機能に対応するハードウェアを制御すること、を特徴とする。
【００１５】
また、請求項６にかかる発明は、請求項２乃至４のいずれか一つにかかる発明において、前記論理階層部は、前記ビジネスロジック層に前記プラグイン機能データが追加された場合、前記ビジネスロジック層が追加された前記プラグイン機能データを呼び出すことで、前記プラグイン機能データが前記データ層から取得したデータに対して、前記プラグイン機能データに備えられた機能を用いて処理を行うこと、を特徴とする。
【００１６】
また、請求項７にかかる発明は、層毎に役割が異なるコンポーネントが含まれている論理階層部のプレゼンテーション層に含まれたコンポーネントが、利用者から入力された入力情報の入力処理を行う入力処理ステップと、前記論理階層部のビジネスロジック層に含まれたコンポーネントが、前記入力処理ステップにより入力処理された前記入力情報に基づいて実際に行う処理を決定する決定ステップと、前記論理階層部のデータ層に含まれたコンポーネントが、前記決定ステップにより決定された処理に従ってデータに対する入出力処理を制御する入出力処理制御ステップと、前記論理階層部のデバイス層に含まれたコンポーネントが、前記決定ステップにより決定された処理に従ってハードウェアを制御するハードウェア制御ステップと、前記論理階層部が有する前記プレゼンテーション層と、前記ビジネスロジック層と、前記データ層と、前記デバイス層とに含まれるコンポーネント群を管理する運用管理ステップと、を有することを特徴とする。
【００１７】
また、請求項８にかかる発明は、利用者から入力された入力情報の入力処理を行うコンポーネントを含むプレゼンテーション層と、該プレゼンテーション層のコンポーネントが入力処理した入力情報に基づいて実際に行う処理を決定するコンポーネントを含むビジネスロジック層と、前記ビジネスロジック層のコンポーネントにより決定された処理に従ってデータに対する入出力処理を制御するコンポーネントを含むデータ層と、前記ビジネスロジック層のコンポーネントにより決定された処理に従って自装置が有するハードウェアを制御するデバイス層と、を有する論理階層部と、前記論理階層部が有する前記プレゼンテーション層と、前記ビジネスロジック層と、前記データ層と、前記デバイス層とに含まれるコンポーネント群を管理する運用管理手段と、としてコンピュータを機能させることを特徴とする。
【発明の効果】
【００１８】
請求項１にかかる発明によれば、プレゼンテーション層、ビジネスロジック層及びデータ層の他にデバイス層が追加された論理階層部に含まれるコンポーネント群を運用管理手段が管理しているので、カスタマイズ性が向上した画像形成装置を提供できるという効果を奏する。
【００１９】
また、請求項２にかかる発明によれば、利用したい機能を示すプラグイン機能データが追加された場合に、当該機能を他の層から呼び出すことが可能となるので、処理を行うアプリケーション全体の変更又は追加を行わずに、プラグイン機能データが追加するだけで当該機能を提供できるという効果を奏する。
【００２０】
また、請求項３にかかる発明によれば、追加された機能が表示されるので、利用者は追加された機能を選択できるという効果を奏する。
【００２１】
また、請求項４にかかる発明によれば、利用者が追加された機能を設定することで、追加された該機能を用いて処理を実行できるという効果を奏する。
【００２２】
また、請求項５にかかる発明によれば、プラグイン機能データをデバイス層に追加することで、プラグイン機能データに備えられた機能に対応するハードウェアを容易に制御できるという効果を奏する。
【００２３】
また、請求項６にかかる発明によれば、プラグイン機能データをビジネスロジック層に追加することで、プラグイン機能データが有する新たに追加された機能を用いて、データ層から取得したデータに対して処理を行うことができるという効果を奏する。
【００２４】
また、請求項７にかかる発明によれば、プレゼンテーション層、ビジネスロジック層及びデータ層の他にデバイス層が追加された論理階層部に含まれるコンポーネント群を運用管理ステップが管理しているので、カスタマイズ性が向上した画像形成方法を提供できるという効果を奏する。
【００２５】
また、請求項８にかかる発明によれば、プレゼンテーション層、ビジネスロジック層及びデータ層の他にデバイス層が追加された論理階層部に含まれるコンポーネント群を運用管理ステップが管理しているので、カスタマイズ性が向上した画像形成プログラムを提供できるという効果を奏する。
【発明を実施するための最良の形態】
【００２６】
以下に添付図面を参照して、この発明にかかる画像形成装置、画像形成方法及び画像形成プログラムの最良な実施の形態を詳細に説明する。
【００２７】
本発明の一実施の形態として、画像形成装置であってコピー機能、ファクシミリ（ＦＡＸ）機能、プリント機能、スキャナ機能及び入力画像（スキャナ機能による読み取り原稿画像やプリンタあるいはＦＡＸ機能により入力された画像）を配信する機能等を複合したいわゆるＭＦＰ（Multi Function Peripheral）と称される複合機１００に適用した例を示す。
【００２８】
図１は、本発明の実施の形態にかかる複合機１００の構成を示すブロック図である。本図に示すように複合機１００の内部は、論理階層部１０１と、通信部１０２と、運用管理部１０３と、セキュリティ部１０４と、ハードウェアソース１０５と、データソース１０６と、外部サービス１０７とを備え、利用者の要求に応じて印刷などの処理を行う。
【００２９】
また、複合機１００は、図示しない記憶部を備えている。そして、複合機１００は、当該記憶部に、論理階層部１０１と通信部１０２と運用管理部１０３とセキュリティ部１０４とが含まれている画像形成プログラムを蓄積している。また、この記憶部は、本実施の形態においてはＲＡＭ(Random Access Memory)とするが、ＨＤＤ（Hard Disk Drive）等のどのような記憶手段でも良い。
【００３０】
そして、複合機１００の起動時に、記憶部に蓄積された画像形成プログラムを実行することで、論理階層部１０１と、通信部１０２と、運用管理部１０３と、セキュリティ部１０４と、が形成される。また、後述する論理階層部１０１に含まれている各層も同様に実行時に形成される。これにより、後述する構成で以下の処理が行われることになる。
【００３１】
論理階層部１０１は、プレゼンテーション層１１１と、ビジネス層１１２と、データ層１１３と、デバイス層１１４と、を備え、層毎にコンポーネントが含まれているものである。
【００３２】
また、コンポーネントとは、特定の処理を行うものであり、単独で使用することができないプログラムの部品をいう。つまり、各コンポーネントは、他のプログラムと組み合わせることで所定の機能を実現するものである。本発明においては、コンポーネントにＡＰＩ（Application Programming Interface）等も含めても良い。
【００３３】
そして、本実施の形態に係る複合機１００においては、多層アーキテクチャに順応した分散アプリケーションを用いて構築した。そして、各階層間のやりとりはインターフェースを介して行われている。このため、関係のないコンポーネントに対して影響を及ぼすことなく、新たな機能を実現したプラグインデータを追加することができる。
【００３４】
ところで、このような分散アプリケーションでは、アーキテクチャを設計することが非常に難しい。そして、このアーキテクトの作業を軽減するためのシステム基盤としては、例えばMicrosoft社が「.NET Framework」というアーキテクチャを公開している。よって、この公開されたアーキテクチャを用いることで、設計者の設計負担を軽減できる。
【００３５】
しかしながら、このシステム基盤は、ネットワークベースでアプリケーション動作環境を提供することを目的としており、単純に複合機に用いることはできない。例えば、「.NET Framework」で示されている「プレゼンテーション層、ビジネス層及びデータ層」からなる論理階層構造では、ハードウェアソースを制御することはできない。
【００３６】
そこで、本実施の形態に係る複合機１００の論理階層部１０１においては、プレゼンテーション層１１１と、ビジネス層１１２と、データ層１１３の他に、ハードウェアソース１０５を制御するデバイス層１１４を備えることとした。以下に各層について説明する。
【００３７】
プレゼンテーション層１１１は、ユーザ・インターフェイス・コンポーネント１２１と、ユーザ・プロセス・コンポーネント１２２とを有し、複合機１００に備えられた液晶パネル等のユーザインターフェイスを担当する。そして、プレゼンテーション層１１１は、利用者からの複合機１００に対する処理の入力情報を受け付け、入力情報に基づく処理を実現するために、ビジネス層１１２を利用する。また、プレゼンテーション層１１１は、液晶パネルに対して、ビジネス層１１２からフィードバックされた情報を表示する。
【００３８】
ユーザ・インターフェイス・コンポーネント１２１は、利用者に対してデータの表示や、利用者の入力操作の受付や、利用者から受け付けた入力操作を、ビジネス層１１２を呼び出すためのイベントとして解釈するなどの処理を行う。
【００３９】
ユーザ・プロセス・コンポーネント１２２は、複数のユーザインターフェイスによる処理の順序を管理する。
【００４０】
ビジネス層１１２は、サービス・インターフェイス１３１と、ビジネス・ワークフロー１３２と、ビジネス・コンポーネント１３３と、ビジネス・エンティティ１３４とを有し、ドキュメント処理のビジネスロジック(上位機能)を担当する。また、ビジネス層１１２は、デバイス層１１４及びデータ層１１３に含まれている文書操作を行うコンポーネントの組み合わせなどのロジックを把握している。これにより、ビジネス層１１２は、プレゼンテーション層１１１に対して複合機１００において処理可能な文書処理のワークフローを提示することができる。具体的には、ビジネス層１１２は、操作の受付、認証、文書入出力の処理、課金など、文書操作に必要な一連の処理を担当する。
【００４１】
また、ビジネス層１１２は、文書処理に対するスケジューリングを担当する。これにより、ビジネス層１１２は、文書処理に対して、論理的な処理順序を入れ替える等のスケジューリングの変更もすることができる。
【００４２】
また、ビジネス層１１２は、処理の対象となるデータの内容を理解し、これらデータを用いてビジネス処理の実行を担当する。また、処理の対象となるデータとしては、例えばアカウント、蓄積文書、アドレス帳、装置構成/能力、設定情報、画像データ等がある。また、ビジネス層１１２は、データの保存先の場所（ローカル/リモート）を把握している。そして、ビジネス層１１２は、入出力する際、データ層１１３に物理デバイスへのデータ入出力を委譲する。また、ビジネス処理とは、複合機１００で行われる処理であれば良く、例えばコピーの実行などがある。
【００４３】
サービス・インターフェイス１３１は、ビジネスロジックを利用するためのインターフェース仕様を実装する。これにより、サービス・インターフェイス１３１は、ビジネス・コンポーネントの呼び出し等を行うことができる。以下に呼び出されるビジネス・コンポーネントを示す。
【００４４】
ビジネス・ワークフロー１３２は、長期に及ぶ多ステップのビジネス・プロセスの定義及び調整を行う。ビジネス・コンポーネント１３３は、ビジネス・ルールを実装してビジネス処理を実行する。ビジネス・エンティティ１３４は、ビジネスに関係する情報又は実体を示したコンポーネントである。そして、これらのコンポーネントがサービス・インターフェイス１３１から呼び出されることで、ビジネス処理の実行が可能となる。
【００４５】
データ層１１３は、データアクセス・ロジック・コンポーネント１４１と、サービス・エージェント１４２とを有し、データソース１０６への入出力を担当する。具体的には、データ層１１３は、データソース１０６として複合機１００が備えている記憶部のデータの保存領域、ネットワークを介して接続されている他の装置が備えている記憶部のデータの保存領域への入出力を担当する。また、データ層１１３は、上述した保存領域に対して、アクセスするためのサービスを提供する。また、データ層１１３は、データソース１０６にアクセスするために用いられるデバイスの状況を把握している。これにより、データ層１１３は、デバイスの能力に応じて、ビジネス層１１２から要求された処理のスケジューリングを行うことができる。
【００４６】
データアクセス・ロジック・コンポーネント１４１は、データソース毎に固有のデータアクセス・ロジックを、抽象化及びカプセル化したアクセス手段を提供する。これにより、データソースを呼び出す際に、データソース固有のアクセス制御を行う必要なく、容易にアクセスすることができる。また、データソース毎にカプセル化されているので、保守又は拡張が容易になる。
【００４７】
サービス・エージェント１４２は、外部サービス毎に固有のプロトコルを隠蔽し、簡易なアクセス手段を提供する。このように外部サービス毎に固有のプロトコルを遮蔽することで、外部サービスにおけるプロトコルやスキーマの変更があった場合に、ビジネス層１１２に対して影響を及ぼすことがなくなる。つまり、保守が容易になる。
【００４８】
データソース１０６は、上述したデータ層１１３と、データが格納された保存領域の間の接続を行うインターフェースである。また、データソース１０６の接続先としては、複合機１００に備え付けられたＨＤＤ(Hard Disk Drive)等の保存手段のほか、ネットワークを介して接続された装置等がある。外部サービス１０７は、外部の装置などで提供されているサービスの提供を受けるためのインターフェースである。
【００４９】
デバイス層１１４は、デバイスアクセス・ロジック・コンポーネント１５１を有し、複合機１００が備えるハードウェアソース１０５の制御や、画像情報の変換処理を担当する。具体的には、デバイス層１１４は、原稿の読取又は文書の印刷を行うためにスキャナ、プロッタなどの画像に対する処理を行うデバイスの制御を担当する。さらにデバイス層１１４は、画像データの変換処理として、画像データに対する加工処理や、画像データのフォーマット変換等を行う。また、デバイス層１１４は、複合機１００のハードウェアソース１０５に対するデバイスの状況を把握している。これにより、デバイス層１１４は、デバイスの能力に応じて、ビジネス層１１２から要求された処理のスケジューリングを行うことができる。また、デバイス層１１４は、文書操作を実現する際、ビジネス層１１２から呼び出されることとなる。
【００５０】
デバイスアクセス・ロジック・コンポーネント１５１は、デバイス毎に固有のアクセス・ロジックを、抽象化及びカプセル化したアクセス手段を提供する。これにより、デバイスを呼び出す際に、デバイス固有のアクセス制御を行う必要なく、容易にアクセスすることができる。また、デバイス毎にカプセル化されているので、保守又は拡張が容易になる。
【００５１】
また、デバイスアクセス・ロジック・コンポーネント１５１に含まれるコンポーネントは大別すると、３種類に分類され、この３種類を入力部、出力部及び画像制御部とする。
【００５２】
入力部に含まれるコンポーネントは、入力デバイスを制御して、入力画像を生成する。また、出力部に含まれるコンポーネントは、出力デバイスを制御して、出力画像を生成する。また、画像制御部に含まれるコンポーネントは、画像に対する変換処理を制御する。
【００５３】
そして、複合機１００のデバイス層１１４では、画像入力する場合は入力部と画像制御部を使用し、画像出力する場合は出力部と画像制御部を使用する。入力と出力を独立させることで、従来の様に入出力の組み合わせ毎にアプリケーションを開発せずに済むため、開発負担を軽減できる。
【００５４】
また、入力部、出力部でそれぞれ制御が統一され、従来の様なアプリケーションごとの制約が無くなる。このため、利用者は、機能毎の違いを意識しないで済むことになる。これにより、利用者は、入力に用いられる機能と出力に用いられる機能の概要を把握するだけで、各機能を具体的に指定して使用することが可能となる。
【００５５】
ハードウェアソース１０５は、上述したデバイス層１１４と、複合機１００が備えるハードウェアデバイスの間の接続を行うインターフェースである。
【００５６】
通信部１０２は、複合機１００とネットワークを介して接続された他の装置との間の通信を制御する。具体的には、通信部１０２は、通信モデルの選定、同期、フォーマット、スキーマ、プロトコルネットワーク、ＦＡＸ、ＷＥＢサービスの制御を行う。通信部１０２を備えることで、複合機１００は、外部のシステムとプロトコルに従ったデータの送受信を行うことができる。
【００５７】
運用管理部１０３は、論理階層部１０１の各層に対する例外管理、モニタリングを行うほか、設定（構成情報）、メタデータ（アプリケーションの自分自身に関する情報）、呼び出す際のサービスの位置の管理を担当する。また、運用管理部１０３は、プラグイン、日時管理、メモリ管理、タイマー、デバッグ、履歴、電力、レポートの制御を担当する。また、運用管理部１０３は、上述した処理を担当することで論理階層部１０１全体を把握している。これにより、運用管理部１０３から論理階層部１０１の各層に対してプラグインデータの追加、削除等を行うことで、機能の追加、変更、削除を容易に実現する。
【００５８】
セキュリティ部１０４は、利用者、又は複合機１００のサービス、データリソース、デバイスリソースなどに対して、共通したセキュリティで保護するための仕組みを提供する。具体的にはセキュリティ部１０４は、セキュリティ原則、認証、承認、通信の暗号化処理／復号化処理、プロファイル管理、監査、認証、アクセス制御、暗号化、セキュリティログの制御を担当する。また、セキュリティ部１０４は、不正なアクセス等を監視するために、セキュリティの履歴情報を生成する。
【００５９】
また、本実施の形態の複合機１００においては、上述した構成を備えることで、分散環境に対応することとなり、Ｗｅｂや他の機器との連携が容易となる。そして、連携した機器相互間で、それぞれの装置が有しているサービスの提供が可能となる。
【００６０】
図２は、複合機１００の各構成の相関関係を示した説明図である。本図に示すように、セキュリティ部１０４、運用管理部１０３、通信部１０２及び論理階層部１０１の各層は、互いに利用する関係にある。また、論理階層部１０１に含まれるプレゼンテーション層１１１、ビジネス層１１２、データ層１１３及びデバイス層１１４は、層間で処理の要求や処理結果などのメッセージの送受信を行う。
【００６１】
次に、以上のように構成された本実施の形態にかかる複合機１００におけるプラグインデータをデバイス層１１４から取得してからビジネス層１１２に追加するまでの処理について説明する。図３は、本実施の形態にかかる複合機１００における上述した処理の手順を示すフローチャートである。
【００６２】
なお、後述するフローチャートにおいては、説明を容易にするため、各層に含まれるコンポーネントが行う処理を、各層が行う処理とみなして説明する。
【００６３】
運用管理部１０３は、デバイス層１１４に対してプラグインデータの取得を要求して、デバイス層１１４からプラグインデータを取得する（ステップＳ２０１）。
【００６４】
そして、運用管理部１０３は、取得したプラグインデータを、ビジネス層１１２に追加する処理を行う（ステップＳ２０２）。
【００６５】
次に、運用管理部１０３は、ビジネス層１１２に対して、追加したプラグインデータによるプラグイン機能Ａを使用可能に設定する（ステップＳ２０３）。例えば、運用管理部１０３は、ビジネス層１１２のサービス・インターフェイス１３１に対してプラグインデータを呼び出せるように設定を変更する。
【００６６】
そして、運用管理部１０３は、プレゼンテーション層１１１に対して、追加したプラグインデータによるプラグイン機能Ａを使用可能に設定する（ステップＳ２０４）。例えば、運用管理部１０３は、プラグイン機能Ａが液晶タッチパネルに表示されるように、ユーザ・インターフェイス・コンポーネント１２１に対して設定を変更する。
【００６７】
上述した処理手順により、複合機１００に対して、プログラム等の再コンパイル等や、プログラムの上書き等をすることなく、新たな機能を追加することが可能となる。なお、上述した処理手順は、本実施の形態によるプラグインデータをデバイス層１１４から取得してからビジネス層１１２に追加するまでの処理手順の例を示したものであり、本発明をこの処理手順に制限するものではない。例えば上述した処理手順においては、プラグインデータをデバイス層１１４から取得したが、通信部１０２から取得しても良い。
【００６８】
次に、以上のように構成された本実施の形態にかかる複合機１００における図３の処理手順で追加されたプラグイン機能Ａを含む機能一覧の表示から、利用者により選択されたプラグイン機能Ａの設定を行うまでの処理について説明する。図４は、本実施の形態にかかる複合機１００における上述した処理の手順を示すフローチャートである。
【００６９】
まず、プレゼンテーション層１１１は、ビジネス層１１２に対して、一覧として表示する機能の取得を要求する（ステップＳ３０１）。
【００７０】
そして、ビジネス層１１２は、機能取得の要求を受け付けた場合、基本的な機能は保持しているが追加された機能の情報は保持していないため、追加されたプラグイン機能Ａを示すプラグインデータから、当該機能Ａの情報を取得する（ステップＳ３０２）。
【００７１】
次に、ビジネス層１１２は、取得した機能Ａを含む機能一覧を、プレゼンテーション層１１１に対して出力する（ステップＳ３０３）。
【００７２】
そして、プレゼンテーション層１１１は、入力を受け付けた機能一覧を用いて、液晶タッチパネルに、プラグイン機能Ａを含む機能一覧を表示する処理を行う（ステップＳ３０４）。これにより、利用者はプラグイン機能Ａを選択することができる。
【００７３】
次に、プレゼンテーション層１１１は、利用者によるプラグイン機能Ａの選択を、受け付ける（ステップＳ３０５）。
【００７４】
そして、プレゼンテーション層１１１は、ビジネス層１１２に対して、プラグイン機能Ａの設定する旨を要求する（ステップＳ３０６）。次に、ビジネス層１１２は、設定する旨の要求を受け付けた場合、プラグイン機能Ａを示すプラグインデータに対して当該機能Ａが行われるように設定を行う（ステップＳ３０７）。
【００７５】
上述した処理手順により、利用者は複合機１００において、追加されたプラグイン機能Ａを選択して、当該機能Ａを用いた処理が可能となる。
【００７６】
次に、以上のように構成された本実施の形態にかかる複合機１００においてプラグイン機能Ａ及びプラグイン機能Ｂを用いた複写処理について説明する。図５は、本実施の形態にかかる複合機１００における上述した処理の手順を示すフローチャートである。
【００７７】
まず、プレゼンテーション層１１１は、ビジネス層１１２に対して、一覧として表示する機能の取得を要求する（ステップＳ４０１）。
【００７８】
そして、ビジネス層１１２は、機能取得の要求を受け付けた場合、プラグイン機能Ａを示すプラグインデータから、当該機能Ａの情報を取得する（ステップＳ４０２）。次に、ビジネス層１１２は、プラグイン機能Ｂを示すプラグインデータから、当該機能Ｂの情報を取得する（ステップＳ４０３）。
【００７９】
次に、ビジネス層１１２は、取得した機能Ａ及び機能Ｂを含む機能一覧を、プレゼンテーション層１１１に対して出力する（ステップＳ４０４）。その後、図示しないが図３の処理手順と同様にプレゼンテーション層１１１は液晶タッチパネルに機能一覧を表示する。
【００８０】
そして、利用者が表示された機能一覧からまず複写する際の印刷設定等と、読み取った画像データを格納する旨の操作を行う。これにより、プレゼンテーション層１１１は、ビジネス層１１２に対して、複写及び格納するための印刷設定の要求を行う（ステップＳ４０５）。次に、ビジネス層１１２は、印刷設定に伴う基本機能の処理を行う（ステップＳ４０６）。
【００８１】
この後、利用者は、複写する際にプラグイン機能Ａを使用する旨の操作を行った。これにより、プレゼンテーション層１１１は、ビジネス層１１２に対して、プラグイン機能Ａに対する印刷設定の要求を行う（ステップＳ４０７）。次に、ビジネス層１１２は、要求を受け付けた際に、プラグイン機能Ａを示すプラグインデータに対して設定を行う（ステップＳ４０８）。
【００８２】
そして、利用者は、さらに複写する際にプラグイン機能Ｂを使用する旨の操作を行った。このため、プレゼンテーション層１１１は、ビジネス層１１２に対して、プラグイン機能Ｂに対する印刷設定の要求を行う（ステップＳ４０９）。次に、ビジネス層１１２は、要求を受け付けた際に、プラグイン機能Ｂを示すプラグインデータに対して設定を行う（ステップＳ４１０）。
【００８３】
そして、利用者は、設定が終了したので処理を実行する旨の操作を行った。これにより、プレゼンテーション層１１１は、ビジネス層１１２に対して、実行開始の要求を行う（ステップＳ４１１）。
【００８４】
次に、ビジネス層１１２は、デバイス層１１４に対して読取開始を指示する（ステップＳ４１２）。そして、デバイス層１１４は、スキャナなどのハードウェアに対して、ハードウェアソース１０５を介して制御し、読取処理を行う。その後、デバイス層１１４は、読み取られた画像データと共に、読取処理が終了した旨を通知する（ステップＳ４１３）。
【００８５】
そして、ビジネス層１１２は、データ層１１３に対して、読取処理により取得した画像データを格納する旨の指示を行う（ステップＳ４１４）。これにより、データ層１１３は、データソース１０６を介して画像データを格納する処理を行う。
【００８６】
その後、ビジネス層１１２は、プラグイン機能Ａを示すプラグインデータに対して画像の加工要求を行う（ステップＳ４１５）。そして、プラグイン機能Ａを示すプラグインデータは、当該プラグインデータが保持する当該機能Ａを実現するビジネスロジックにより、画像データの加工処理をデバイス層１１４に対して要求する（ステップＳ４１６）。そして、デバイス層１１４は、当該要求に従い画像データの加工処理を行う。
【００８７】
その後、ビジネス層１１２は、プラグイン機能Ｂを示すプラグインデータに対して画像の加工要求を行う（ステップＳ４１７）。そして、プラグイン機能Ｂを示すプラグインデータは、当該プラグインデータが保持する当該機能Ｂを実現するビジネスロジックにより、画像データの加工処理をデバイス層１１４に対して要求する（ステップＳ４１８）。そして、デバイス層１１４は、当該要求に従い画像データの加工処理を行う。
【００８８】
次に、ビジネス層１１２は、デバイス層１１４に対して印刷開始を指示する（ステップＳ４１９）。これにより、デバイス層１１４は、ハードウェアソース１０５を介してハードウェアを制御し、印刷処理を行う。
【００８９】
そして、印刷処理が終了した後、デバイス層１１４は、印刷処理が終了した旨をビジネス層１１２に通知する（ステップＳ４２０）。
【００９０】
次に、ビジネス層１１２は、印刷処理が終了した旨の通知を受け付けた場合、プレゼンテーション層１１１に実行終了した旨を通知する（ステップＳ４２１）。これにより、プレゼンテーション層１１１は、液晶タッチパネルに処理が終了した旨のメッセージを表示する。
【００９１】
上述した処理手順により、複合機１００は、追加されたプラグイン機能Ａを使用して処理を行うことが可能となる。
【００９２】
また、追加されるプラグインデータの追加先は、ビジネス層１１２に限定するものではなく、プレゼンテーション層１１１、データ層１１３又はデバイス層１１４でも良い。そこで、次に、デバイス層１１４にプラグインデータを追加した場合の処理手順について説明する。
【００９３】
次に、以上のように構成された本実施の形態にかかる複合機１００においてプラグイン機能Ｃを用いた複写処理について説明する。図６は、本実施の形態にかかる複合機１００における上述した処理の手順を示すフローチャートである。なお、プラグイン機能Ｃを示すプラグインデータは、デバイス層１１４に対するプラグインデータとする。このようなデバイス層１１４に追加されるプラグイン機能Ｃとしては、例えば外部インターフェースを介して接続されたスキャナ等を制御する機能などが考えられる。
【００９４】
まず、プレゼンテーション層１１１は、ビジネス層１１２に対して、一覧として表示する機能の取得を要求する（ステップＳ５０１）。次に、ビジネス層１１２は、機能一覧を、プレゼンテーション層１１１に対して出力する（ステップＳ５０２）。その後、図示しないが図４の処理手順と同様にプレゼンテーション層１１１は液晶タッチパネルに機能一覧を表示する。
【００９５】
そして、利用者が表示された機能一覧からまず複写する際の印刷設定等と、読み取った画像データを格納する旨の操作を行う。これにより、プレゼンテーション層１１１は、ビジネス層１１２に対して、複写及び格納するための印刷設定の要求を行う（ステップＳ５０３）。次に、ビジネス層１１２は、図示しないが、図５の処理手順と同様に印刷設定に伴う基本機能の処理を行う。
【００９６】
そして、利用者は、処理を実行する旨の操作を行った。これにより、プレゼンテーション層１１１は、ビジネス層１１２に対して、実行開始の要求を行う（ステップＳ５０４）。
【００９７】
次に、ビジネス層１１２は、デバイス層１１４に対して読取開始を指示する（ステップＳ５０５）。そして、デバイス層１１４は、プラグイン機能Ｃを示すプラグインデータに対して、読取開始を指示する（ステップＳ５０６）。これにより、プラグイン機能Ｃを示すプラグインデータが、ハードウェアソース１０５を介して制御し、画像データの読取処理を行う。また、読取処理が終了した後、プラグイン機能Ｃを示すプラグインデータは、読取が終了した旨をデバイス層１１４に通知する（ステップＳ５０７）。
【００９８】
そして、デバイス層１１４は、さらに、ビジネス層１１２に対して読取処理が終了した旨をビジネス層１１２に通知する（ステップＳ５０８）。
【００９９】
そして、ビジネス層１１２は、データ層１１３に対して、読取処理により取得した画像データを格納する旨の指示を行う（ステップＳ５０９）。これにより、データ層１１３は、データソース１０６を介して画像データを格納する処理を行う。
【０１００】
次に、ビジネス層１１２は、デバイス層１１４に対して印刷開始を指示する（ステップＳ５１０）。これにより、デバイス層１１４は、ハードウェアソース１０５を介してハードウェアを制御し、印刷処理を行う。
【０１０１】
そして、印刷処理が終了した後、デバイス層１１４は、印刷処理が終了した旨をビジネス層１１２に通知する（ステップＳ５１１）。そして、印刷処理が終了した後、デバイス層１１４は、印刷処理が終了した旨をビジネス層１１２に通知する。
【０１０２】
上述した処理手順により、複合機１００は、追加されたプラグイン機能Ｃを使用して処理を行うことが可能となる。また、デバイス層１１４からプラグイン機能Ｃのプラグインデータを呼び出すので、利用者は当該プラグイン機能Ｃを使用していることを意識せず、通常の操作で処理を実行できる。
【０１０３】
図７は、かかる複合機１００のハードウェア構成を示すブロック図である。本図に示すように、この複合機１００は、コントローラ６１０とエンジン部（Engine）６６０とをＰＣＩ（Peripheral Component Interconnect）バスで接続した構成となる。コントローラ６１０は、複合機１００全体の制御と描画、通信、操作部６２０からの入力を制御するコントローラである。エンジン部６６０は、ＰＣＩバスに接続可能なプリンタエンジン等であり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニット等である。なお、このエンジン部６６０には、プロッタ等のいわゆるエンジン部分に加えて、誤差拡散やガンマ変換等の画像処理部分が含まれる。
【０１０４】
コントローラ６１０は、ＣＰＵ６１１と、ノースブリッジ（ＮＢ）６１３と、システムメモリ（ＭＥＭ−Ｐ）６１２と、サウスブリッジ（ＳＢ）６１４と、ローカルメモリ（ＭＥＭ−Ｃ）６１７と、ＡＳＩＣ（Application Specific Integrated Circuit）６１６と、ハードディスクドライブ（ＨＤＤ）６１８とを有し、ノースブリッジ（ＮＢ）６１３とＡＳＩＣ６１６との間をＡＧＰ（Accelerated Graphics Port）バス６１５で接続した構成となる。また、ＭＥＭ−Ｐ６１２は、ＲＯＭ（Read Only Memory）６１２ａと、ＲＡＭ（Random Access Memory）６１２ｂとをさらに有する。
【０１０５】
ＣＰＵ６１１は、複合機１００の全体制御をおこなうものであり、ＮＢ６１３、ＭＥＭ−Ｐ６１２及びＳＢ６１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【０１０６】
ＮＢ６１３は、ＣＰＵ６１１とＭＥＭ−Ｐ６１２、ＳＢ６１４、ＡＧＰ６１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ６１２に対する読み書き等を制御するメモリコントローラと、ＰＣＩマスタ及びＡＧＰターゲットとを有する。
【０１０７】
ＭＥＭ−Ｐ６１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリ等として用いるシステムメモリであり、ＲＯＭ６１２ａとＲＡＭ６１２ｂとからなる。ＲＯＭ６１２ａは、基本的なプログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ６１２ｂは、プログラムの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリ等として用いる書き込み及び読み出し可能なメモリである。
【０１０８】
ＳＢ６１４は、ＮＢ６１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ６１４は、ＰＣＩバスを介してＮＢ６１３と接続されており、このＰＣＩバスには、ネットワークインターフェース（Ｉ／Ｆ）部等も接続される。
【０１０９】
ＡＳＩＣ６１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated Circuit）であり、ＡＧＰ６１５、ＰＣＩバス、ＨＤＤ６１８及びＭＥＭ−Ｃ６１７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ６１６は、ＰＣＩターゲット及びＡＧＰマスタと、ＡＳＩＣ６１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ６１７を制御するメモリコントローラと、ハードウェアロジック等により画像データの回転等をおこなう複数のＤＭＡＣ（Direct Memory Access Controller）と、エンジン部６６０との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。このＡＳＩＣ６１６には、ＰＣＩバスを介してＦＣＵ（Fax Control Unit）６３０、ＵＳＢ（Universal Serial Bus）６４０、ＩＥＥＥ１３９４（the Institute of Electrical and Electronics Engineers 1394）インターフェース６５０が接続される。
【０１１０】
ＭＥＭ−Ｃ６１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＨＤＤ（Hard Disk Drive）６１８は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
【０１１１】
ＡＧＰ６１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ６１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【０１１２】
なお、本実施形態の複合機１００で実行される画像形成プログラムは、ＲＡＭ等に予め蓄積された提供される。
【０１１３】
本実施形態の複合機１００で実行される画像形成プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０１１４】
さらに、本実施形態の複合機１００で実行される画像形成プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の複合機１００で実行される画像形成プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【０１１５】
本実施の形態の複合機１００で実行される画像形成プログラムは、上述した各部（論理階層部、通信部、運用管理部、セキュリティ部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＡＭから画像形成プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、論理階層部、通信部、運用管理部、セキュリティ部が主記憶装置上に形成されるようになっている。
【０１１６】
本実施の形態における複合機１００において、上述したアーキテクチャを用いて開発が行われることで、開発の枠組みが定まるので設計負担が軽減される。また、上述した分散アプリケーションを用いることで部品の再利用性が向上する。さらには、システムの統合の容易化、開発者同士の意思疎通が容易になる。
【０１１７】
また、本実施の形態に係る複合機１００は、従来においてはスタンドアローンでの機能提供することが主流の画像形成装置（複合機を含む）に、「.NETアーキテクチャ」等の分散アプリケーション向けアーキテクトが提供されたものである。これにより、ネットワークなどを用いた分散環境に親和性の良いドキュメント処理装置を構築できる。
【０１１８】
また、「.NETアーキテクチャ」は、今までの実績があるアーキテクチャである。このため、当該アーキテクチャを画像形成装置に採用することで、高い品質を確保できる。
【０１１９】
また、本実施の形態に係る複合機１００では、従来の階層構造に加えてデバイス層が新規に追加されている。複合機１００では、このようなデバイス層１１４が追加されたことで、複合機１００に備えられたハードウェアを利用することが可能になる。
【０１２０】
また、複合機１００は、上述した分散アプリケーションの手法を用いることで、スキャナアプリケーション、プリンタアプリケーション、コピーアプリケーションの様に機能ごとに存在していたアプリケーションの重複部分（例えば、読み取り制御、印刷制御）をそれぞれ統合することが可能となる。これにより、開発工数が軽減できるので、開発時間及び開発経費を軽減できる。
【産業上の利用可能性】
【０１２１】
以上のように、本発明にかかる画像形成装置、画像形成方法及び画像形成プログラムは、処理毎に別々に開発されていた機能を共有化する技術に有用であり、特に、カスタマイズ性を向上させる技術として適している。
【図面の簡単な説明】
【０１２２】
【図１】本発明の一実施形態にかかる複合機の構成を示すブロック図である。
【図２】複合機の各構成の相関関係を示した説明図である。
【図３】複合機におけるプラグインデータをデバイス層から取得してからビジネス層に追加するまでの処理の手順を示すフローチャートである。
【図４】複合機において追加されたプラグイン機能Ａを含む機能一覧の表示から、利用者により選択されたプラグイン機能Ａの設定を行うまでの処理の手順を示すフローチャートである。
【図５】複合機におけるプラグイン機能Ａ及びプラグイン機能Ｂを用いた複写処理の手順を示すフローチャートである。
【図６】複合機におけるプラグイン機能Ｃを用いた複写処理の手順を示すフローチャートである。
【図７】複合機のハードウェア構成を示すブロック図である。
【符号の説明】
【０１２３】
１００  複合機
１０１  論理階層部
１０２  通信部
１０３  運用管理部
１０４  セキュリティ部
１０５  ハードウェアソース
１０６  データソース
１０７  外部サービス
１１１  プレゼンテーション層
１１２  ビジネス層
１１３  データ層
１１４  デバイス層
１２１  ユーザ・インターフェイス・コンポーネント
１２２  ユーザ・プロセス・コンポーネント
１３１  サービス・インターフェイス
１３２  ビジネス・ワークフロー
１３３  ビジネス・コンポーネント
１３４  ビジネス・エンティティ
１４１  データアクセス・ロジック・コンポーネント
１４２  サービス・エージェント
１５１  デバイスアクセス・ロジック・コンポーネント
６１０  コントローラ
６１１  ＣＰＵ
６１２  システムメモリ
６１２ａ  ＲＯＭ
６１２ｂ  キャッシュメモリ（ＲＡＭ）
６１３  ＮＢ
６１４  ＳＢ
６１５  ＡＧＰバス
６１６  ＡＳＩＣ
６１７  ＭＥＭ−Ｃ
６１８  ＨＤＤ
６２０  操作部
６６０  ＦＣＵ
６４０  ＵＳＢ
６５０  ＩＥＥＥＥ１３９４インターフェース
６６０  エンジン部
【図１】
2007226391.tif 000003
【図２】
2007226391.tif 000004
【図３】
2007226391.tif 000005
【図４】
2007226391.tif 000006
【図５】
2007226391.tif 000007
【図６】
2007226391.tif 000008
【図７】
2007226391.tif 000009