(57)【要約】【課題】操作履歴をマクロとして管理することが可能な画像形成装置、画像形成装置の制御方法およびプログラムを提供すること。【解決手段】画像形成装置１００は、操作履歴を作成および管理しており、実行した一連のジョブ動作を指令する動作コードと前記ジョブ動作の動作条件とを含む操作履歴を、操作履歴インスタンス５１２として登録し、他画像形成装置で解釈でき、かつ実行可能な共通コードにエンコードされたマクロインスタンス５１０を登録する操作履歴管理手段５０６と、操作履歴インスタンス５１２を読み出して動作コードを共通コードにエンコードし、マクロインスタンス５１０として登録させるインタプリタ手段５０４とを備えている。【選択図】図５
2008294746.tif 000002
【特許請求の範囲】
【請求項１】
操作履歴を作成および管理する画像形成装置であって、前記画像形成装置は、
実行したジョブ動作を指令する動作コードと前記ジョブ動作の動作条件とを含む操作履歴を操作履歴インスタンスとして登録し、他画像形成装置で解釈でき、前記操作履歴を再現するための属性を含み、かつ実行可能な共通コードにエンコードされたマクロインスタンスを登録する操作履歴管理手段と、
前記操作履歴インスタンスを読み出して前記動作コードを前記共通コードにエンコードし、前記マクロインスタンスの属性値を作成するインタプリタ手段と
を含み、前記操作履歴管理手段は、変更可能な前記属性が変更された場合、作成するべき他インスタンスについての対応属性を変更する、画像形成装置。
【請求項２】
前記変更可能な少なくとも１つの属性は、スーパークラスとして構成され、前記変更可能な少なくとも１つの属性は、前記操作履歴インスタンスおよび前記操作履歴インスタンスに対応して作成される前記マクロインスタンスに継承される、請求項１に記載の画像形成装置。
【請求項３】
前記画像形成装置は、前記動作コードと前記共通コードとを対応させて登録する変換手段を含む、請求項１または２に記載の画像形成装置。
【請求項４】
前記インタプリタ手段は、前記変換手段をオブジェクトに変換し逐次的に前記動作コードを読み込んで前記変換オブジェクトと照合を行い、照合に成功した前記共通コードを前記属性のシーケンス順に前記操作履歴管理手段に登録させる、請求項１〜３に記載の画像形成装置。
【請求項５】
前記画像形成装置は、さらに保存する前記操作履歴インスタンスの保存件数または保存期間を制限する操作履歴保存制限手段を備え、前記保存件数および前記保存期間についての上限値を使用して前記操作履歴の保存を制限する、請求項１〜４に記載の画像形成装置。
【請求項６】
画像形成装置における操作履歴を作成および管理するための制御方法であって、前記制御方法は、
実行したジョブ動作を指令する動作コードと前記ジョブ動作の動作条件とを含む操作履歴を操作履歴インスタンスとして登録し、他画像形成装置で解釈でき、前記操作履歴を再現するための属性を含み、かつ実行可能な共通コードにエンコードされたマクロインスタンスの属性値を作成するステップと、
前記操作履歴インスタンスを読み出して前記動作コードを前記共通コードにエンコードし、前記マクロインスタンスとして登録するステップと、
変更可能な前記属性が変更された場合、作成するべき他インスタンスについての対応属性を変更するステップと
を含む制御方法。
【請求項７】
前記変更可能な少なくとも１つの属性は、スーパークラスとして構成され、さらに、
前記変更可能な少なくとも１つの属性が修正された場合、前記修正を、前記操作履歴インスタンスおよび前記操作履歴インスタンスに対応して作成される前記マクロインスタンスに継承させるステップを含む、請求項６に記載の制御方法。
【請求項８】
前記作成するステップは、前記動作コードと前記共通コードとを対応させて登録する変換手段を使用して前記動作コードから前記共通コードへのエンコードを行うステップを含む、請求項６または７に記載の制御方法。
【請求項９】
前記作成するステップは、前記変換手段をオブジェクトに変換するステップと、
逐次的に前記動作コードを読み込んで前記変換オブジェクトと照合するステップと、
前記照合に成功した前記共通コードを前記属性のシーケンスでデータベース手段に登録するステップと
を含む、請求項６〜８のいずれか１項に記載の制御方法。
【請求項１０】
保存する前記操作履歴インスタンスの保存件数または保存期間を、前記保存件数および前記保存期間についての上限値を使用して前記操作履歴の保存件数を制限するステップを含む、請求項６〜９のいずれか１項に記載の制御方法。
【請求項１１】
請求項６〜１０のいずれか１項に記載の各ステップをコンピュータが実行するための、装置実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関し、より詳細には、操作履歴をマクロとして管理することが可能な画像形成装置、画像形成装置の制御方法およびプログラムに関する。
【背景技術】
【０００２】
近年、情報処理技術およびネットワーク技術の発展に伴い、画像形成装置の処理能力およびネットワーク接続能力が向上している。いわゆるＭＦＰ(Multi-Function Peripheral)として参照される画像形成装置では、複写機能、プリンタ機能、ファクシミリ機能、ネットワーク接続機能などを実装し、ユーザの要求する機能を提供している。
【０００３】
また、ユーザが行う操作には、単発的に発生する操作の他、画像形成装置に対して一定の処理を繰り返し実行させることが必要な操作もある。一定の処理を繰り返し実行する業務効率を向上させるため、画像形成装置に操作履歴を操作ログとして記録し、操作履歴の一部または全部を選択し、登録されたシーケンスで処理を実行させる技術も提案されている。
【０００４】
例えば、特開２００１−２６５７６１号公報（特許文献１）では、編集操作の過程を履歴として記憶するメモリ手段を備え、メモリ手段に記憶されている履歴を読み出し、表示させ、表示された履歴の中から任意の範囲を選択し、選択した範囲の任意の操作を任意の指定位置において再実行させるデータ編集装置が開示されている。
【０００５】
また、特開２００３−２８０９４６号公報（特許文献２）では、出力画面を操作履歴情報として記録する情報処理装置であって、出力画面の内容を監視して変化を検出する出力監視手段を備え、指定した時刻以降に記録された出力画面の内容を再生する画面再生手段とを備え、ユーザに対して以前に入力した履歴を指定時刻以後について表示画面上に表示させる情報処理装置が開示されている。
【特許文献１】特開２００１−２６５７６１号公報
【特許文献２】特開２００３−２８０９４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
以上のように、画像形成装置に対して操作履歴を登録しておき、ユーザに対して操作を再実行させる装置および指定した出力画面を表示させることにより、ユーザに操作履歴に対応した表示画面を表示させる装置が知られていた。
【０００７】
しかしながら、画像形成装置では、装置のハードウェア構成またはソフトウェア構成については、異なる機器ごとに異なるのが通常である。このため、従来、操作履歴は、通常その機種または互換性のある機器専用の形式とされていた。すなわち、操作履歴は、ユーザではなく装置に依存したものとして登録されていた。このため、ユーザが他装置または他機種で過去に実行した操作履歴を再実行しようとしても実行できない場合がある。また、同一機種でもユーザによりカスタマイズされたオプション機能がある場合、同一の機種であってもそのままで操作履歴を再現することができない場合があった。
【０００８】
複数の画像形成装置間で共通に使用でき、かつ操作履歴に記録された動作を再現するために、操作履歴からマクロを作成することもできる。しかしながら、マクロとして機能するための操作履歴には、動作条件などの条件設定を追加して登録しなければならないことや、操作履歴とマクロとを同時に画像形成装置に登録しておくのでは、画像形成装置のメモリ資源の消費量を増加させることになる。
【０００９】
一方、画像形成装置が操作履歴を格納するために割り当てられる記憶領域は、操作履歴のデータの性質上、大容量とされるものではない。したがって、操作履歴に対応したマクロを作成し、画像形成装置に割り当てられた記憶領域に格納するためには、できるだけ効率の良い登録方式を使用する必要がある。また、他画像形成装置が作成し登録した、実行できないオプション機能や実行できない機能を指令する操作履歴をそのまま保存するのは、メモリ資源の節約の観点から言えば好ましいものではない。
【００１０】
操作履歴の保存可能な数は、通常制限を受け、設定された数を超えると、操作履歴の古い順に削除される。このため、操作履歴とマクロとを両方作成し各納する場合、保存するべきデータ量が約２倍となる。このことは、操作履歴およびマクロを保存しておくことにより操作効率の向上により、使用頻度の高い操作履歴やマクロであっても、数制限を超えた場合消去されるという問題点が生じてしまう。
【００１１】
上述したメモリ資源節約上の問題点は、操作履歴やマクロをＳＤカード、メモリスティックなどの着脱自在の記憶装置に操作履歴を格納することによりある程度対応することができる。しかしながら、操作履歴やマクロのデータ構造として冗長性をできるだけ排除することが、画像形成装置のハードウェア資源節約の観点からも望ましい。
【００１２】
また、操作履歴からマクロを作成するために操作履歴を格納し、さらに操作履歴に対応して作成されたマクロを別個に管理する場合、操作履歴に対して新たな情報やスキーマなどを追加した場合に、対応するマクロについても別々に当該情報やスキーマなどを追加しなければならない。このことは、一方のデータ構造についてした修正やスキーマの追加を、他方のデータ構造についても独立して行わなければならないという問題を生じさせる。この問題は、ユーザに対して重複した登録操作を要求するものであり、かつ修正ミスなどにより操作履歴とマクロとの同一性が担保できなくなるという新たな問題も生じていた
【課題を解決するための手段】
【００１３】
本発明は、従来技術による上述した問題点を解決するためになされたものである。画像形成装置は、操作履歴インスタンスとして、少なくともユーザが指令した動作に対応する動作コードである機種固有コードと、当該動作コードにより動作を実行する場合の動作条件とを含む操作履歴インスタンスを作成する。操作履歴インスタンスは、マクロインスタンスとして作成することが可能なデータ構造がカプセル化されている。画像形成装置は、操作履歴インスタンスに含まれる装置固有コードをテキストコードなどの共通コードにエンコードし、他画像形成装置が利用可能なマクロインスタンスを作成する。マクロインスタンスに含まれる属性は、特に制限されるものではなく、変換手段により装置ごとに異なる操作コードとテキストコードとの間でエンコードおよびデコードを行い、装置間の相違を解消し、かつマクロ実行モジュールにより実行されて、画像形成装置が実行した操作履歴を他画像形成装置が再実行することができるコードセットとして定義される。
【００１４】
操作履歴インスタンスおよびマクロインスタンスは、好ましい実施形態では、オブジェクトオリエンテッドデータベース（以下、ＯＯＤＢとして参照する。）が登録し、管理を行う。各操作履歴およびマクロは、インスタンス識別値で識別されるインスタンスとして登録され、操作履歴の動作コード、動作条件、その他のデータに対して、インスタンスの属性が割り当てられている。
【００１５】
また、各インスタンスが含む属性であって、以後にユーザによる修正やスキーマの追加などを行う属性については、スーパークラスとして宣言することができる。スーパークラスとして宣言された属性の値は、サブクラスのインスタンスに継承される。マクロインスタンスは、操作履歴インスタンスと同一の属性を有するように作成される。ユーザからマクロ作成指令を受領すると、画像形成装置は、ユーザによる修正を可能とする属性を除き、対応する操作履歴の装置固有コードである動作コードの属性値を、テキストコードなどの共通コードにエンコードし、エンコードした属性値は、マクロインスタンスの対応する属性値に登録される。
【００１６】
また、ユーザによる修正を可能とする属性は、スーパークラスレベルで修正され、操作履歴インスタンスおよびマクロインスタンスに継承される。このため、操作履歴インスタンスを修正することにより、対応して作成されたマクロインスタンスも修正され、修正漏れや修正ミスを防止することが可能となる。修正可能な属性としては、動作条件、ユーザによる拡張が可能なスキーマなどを挙げることができる。
【００１７】
さらに、操作履歴インスタンスおよびマクロインスタンスは、オブジェクトオリエンテッドデータベース（以下、ＯＯＤＢとして参照する。）により登録・管理される。このため、操作履歴インスタンスおよびマクロインスタンスのうち、その値がＮＵＬＬの属性は、フィールドとして確保される場合とは異なりメモリ空間を消費せず、操作履歴およびマクロを同時に登録する場合にメモリ資源を節約することが可能となり、この結果、操作履歴およびマクロの登録数を改善することが可能となる。
【００１８】
すなわち、本発明の画像形成装置は、操作履歴を効率的に利用して画像形成を行わせ、同時にメモリ資源を節約しつつ、操作履歴およびマクロの修正または新たなスキーマの追加を行う場合の修正漏れや、対応付けて修正または追加する処理の効率を改善する画像形成装置、制御方法およびプログラムを提供することが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明を、実施形態を使用して説明するが、本発明は、実施形態に限定されるものではない。図１は、本実施形態の画像形成装置１００の機能ブロック図である。画像形成装置１００は、ＡＤＦ(Auto Document Feeder)を備えるスキャナ装置１１２から画像データを取得し、操作パネルおよび入力キーなどを含む入力要素１１４からの入力データをバッファリングし、各機能部に渡すと共に、各機能部からのメッセージを表示させるユーザＩ／Ｆ１１８を介して、各種入力データを画像形成装置に渡している。スキャナ装置１１２が取得した画像データは、スキャナＩ／Ｆ１１６を介して画像処理部１２２へと送られている。また、画像形成装置１００は、システム・コントローラとして機能するＣＰＵ１２４を備えている。ＣＰＵ１２４は、画像形成装置１００の各アプリケーション処理部の実行を、オブジェクト呼出しやメソッド呼出しなどを使用して管理する。
【００２０】
画像形成装置１００は、ＡＤＦが取得した画像などの処理や、アプリケーション・ソフトウェアの実行空間を与えるためのＲＡＭ１２６と、処理を行うためのデータ、プログラム、または初期設定条件などを格納したＲＯＭ１２８とを備える。ＲＡＭ１２６、ＲＯＭ１２８は、ＣＰＵ１２４による画像処理装置の初期設定を可能とし、またＣＰＵ１２４の処理に対応して機能提供を可能としている。
【００２１】
なお、画像形成装置１００は、ＯＯＤＢを実装しており、ＯＯＤＢソフトウェアをハードディスク装置などの記憶装置１４６からＲＡＭ１２６内に読み込んで、ＣＰＵ１２４がＯＯＤＢソフトウェアを実行することにより、ＲＡＭ１２６内に履歴操作管理部を構成している。履歴操作管理部は、操作履歴を登録し、操作履歴およびマクロの属性値の修正、変更、追加を可能とする。ＯＯＤＢとしては、違反されているコマーシャルベースのソフトウェア、例えばＣａｓｈｅ（登録商標）などの他、フリーウェアなどを使用して実装することができる。
【００２２】
本発明の画像形成装置１００が使用するＣＰＵとしては、より具体的には、例えば、ＰＥＮＴＩＵＭ（登録商標）〜ＰＥＮＴＩＵＭ（登録商標）ＩＶ、ＰＥＮＴＩＵＭ（登録商標）互換ＣＰＵ、ＰＯＷＥＲ  ＰＣ（登録商標）、ＭＩＰＳなどを挙げることができる。
【００２３】
また、使用するオペレーティング・システム（ＯＳ）としては、ＭａｃＯＳ（商標）、Ｗｉｎｄｏｗｓ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）２００Ｘ  Ｓｅｒｖｅｒ、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）またはそれ以外の適切なＯＳを挙げることができる。さらに、画像形成装置１００は、上述したＯＳ上で動作する、Ｃ、Ｃ＋＋、Ｖｉｓｕａｌ  Ｃ＋＋、Ｊａｖａ（登録商標）、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ、Ｐｅｒｌ、Ｒｕｂｙなどのオブジェクト指向のプログラミング言語により記述されたアプリケーション・プログラムを格納し、実行する。
【００２４】
画像処理部１２２は、スキャナ装置１１２により取得された画像データに対してフィルタリング処理、文字画像抽出処理、網点画像抽出処理などを実行し、その結果生成される各種の属性値に基づき画像処理を行い、プリント指令をエンジン・コントローラ１３２へと送出する。エンジン・コントローラ１３２は、画像形成装置１００の仕様に応じて、ＵＳＢ(Universal Serial BUS)、ＰＣＩ(Peripheral Component Interconnect)、またはＩＥＥＥ１２８４などシリアルバスまたはパラレルバスを介して、感光体ドラム、現像装置、定着装置などを含むプリンタ１４２に対して作像を行わせている。
【００２５】
さらに、画像形成装置１００は、ファクシミリ・コントローラ１３０またはネットワーク・インタフェース・カード（ＮＩＣ）１３４、ＡＴＡ、シリアルＡＴＡ、ＡＴＡＰＩ、ＡＴＡ−４などの規格を有する記憶装置インタフェース１３６などを備えている。
【００２６】
ファクシミリ・コントローラ１３０は、取得した画像データをＧ３、Ｇ４などのファクシミリ・フォーマットへと変換させ、モデムなどのファクシミリ送受信装置１３８またはＤＳＵ／ＴＡ１４０を介してＴ．４、Ｔ．６、Ｔ．９０などの通信プロトコルの下で、公衆電話網またはＩＳＤＮなどを経由して、アナログまたはディジタル回線を介してファクシミリ通信を行っている。
【００２７】
また、ＮＩＣ１３４は、１００ＢＡＳＥ−ＴＸなどのイーサネット（登録商標）ケーブルを介してローカルエリア・ネットワーク（ＬＡＮ）、ワイドエリア・ネットワーク（ＷＡＮ）、またはインターネット（ＩＮＥＴ）などのネットワーク１４４へと接続されている。ネットワーク１４４により、画像形成装置１００は、ユーリモート・プリンタとして機能し、またＳＭＴＰ、ＰＯＰなどのプロトコルの下で電子メールなどのサービスを提供する。なお、電子メールなどのサービスは、ＮＩＣ１３４を経由せず、モデムなどを介してＰＰＰ(Point-to-Point Protocol)のもと、ダイアルアップ接続で都度接続先を指定して送受信することもできる。
【００２８】
また、本発明の画像形成装置１００は、インターネットなどのネットワーク１４４に接続された、共用ストレージ機能または資源サーバ機能を提供する情報処理装置１４８に接続されていて、種々のトランザクションを行う。画像形成装置１００は、また、Ａｐａｃｈｅなどのサーバプログラムを実行できる機能を実装しており、ＲＦＣ９５９などの規格によるＦＴＰ(File Transfer Protocol)プロトコル、ＲＦＣ１９４５、ＲＦＣ２６１６などの規格によるＨＴＴＰ（Hypertext Transfer Protocol）を使用するファイル転送を可能としている。
【００２９】
さらに、画像形成措置１００は、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔなどのスクリプト言語、ＶｉｓｕａｌＢａｓｉｃ、Ｐｅｒｌなどのインタプリタ言語で記述されたプログラムを実行する機能も備えていて、操作履歴をマクロとしてコマンドライン単位での実行を可能としている。
【００３０】
記憶装置インタフェース１３６は、ハードディスクドライブ、ＳＤカード、ＵＳＢメモリといったメモリスティックなどの外部記憶装置を接続させ、スキャナ装置１１２により取得されたオリジナルの画像データなどをＰＤＦ(Portable Data Format)などのファイル形式に変換し、ＳＣＳＩ、ＵＳＢ、ＰＣＩなどのバスを介してフレキシブル・ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯなどの記憶装置１４６に格納する。
【００３１】
図２は、本実施形態の画像形成装置１００が作成する操作履歴インスタンスおよびマクロインスタンスのデータ構造２００の実施形態を示す。操作履歴およびマクロは、ＯＯＤＢオブジェクトとして作成され、画像形成装置１００の記憶装置１４６に格納することができる。記憶装置１４６としては、ハードディスク装置、ＳＤカード、メモリスティック、フロッピー（登録商標）ディスク、ＭＯ、ＤＶＤ、ＣＤ−ＲＯＭなどを挙げることができる。また、データ構造２００は、ＮＩＣ１３４を介して全体またはその一部のインスタンスがネットワーク１４４を介して接続されたサーバ１４８にアップロードしてもよい。
【００３２】
図２に示されるように、データ構造２００は、マクロインスタンス２０２および操作履歴インスタンス２０４が独立したインスタンスとして、インスタンス識別値２０６により指定されている。また、操作履歴インスタンス２０４およびマクロインスタンス２０２は、共通した属性を含む構成とされている。操作履歴インスタンス２０４に動作条件など、画像形成装置の特定の動作モードに利用された動作条件を含めておくことで、適切なインタプリタモジュールを介して操作履歴インスタンス２０４からマクロインスタンス２０２を作成することが可能となる。また、操作履歴インスタンス２０４またはマクロインスタンス２０２について、ユーザによる修正・変更を可能とする属性値については、対応するスーパークラスのサブクラスとされている。そして、少なくともスーパークラスは、ｐｕｂｌｉｃ指定されていて、サブクラスのインスタンスがアクセス可能に宣言されている。なお、本実施形態で、修正・変更とは、属性値の修正変更の他、スキーマを追加することに伴う属性追加を含む。
【００３３】
例えば、ユーザが操作履歴インスタンスの２０４の動作条件である、ファクシミリ送信番号を修正したい場合、操作履歴インスタンス２０４について動作条件のスーパークラスを呼び出して、修正されたファクシミリ送信番号をスーパークラスレベルで登録する。マクロインスタンス２０２についても動作条件は、同一のスーパークラスのサブクラスとして宣言されている。ユーザが操作履歴インスタンス２０４についての動作条件を修正する場合であって、対応するマクロインスタンス２０２がすでに作成されている場合、マクロインスタンス２０２は、操作履歴インスタンス２０４と同様にスーパークラスについての修正を継承し、操作履歴インスタンス２０４についてされた修正が自動的にマクロインスタンスに反映される。
【００３４】
なお、特定の用途に応じて操作履歴インスタンス２０４とマクロインスタンス２０２とについて動作条件の一致性を求めることなく同一の操作履歴インスタンス２０４から動作条件の異なるマクロインスタンスを作成する場合には、動作条件は、スーパークラスとして宣言されなくともよい。
【００３５】
このため、ユーザまたは画像形成装置は、操作履歴インスタンス２０４とマクロインスタンス２０２とを別個に修正する労力を排除することができ、ユーザの作業負担を削減でき、さらに、操作履歴と対応するマクロとの一致性を向上させることができる。
【００３６】
また、データ構造２００には、ユーザまたはシステム要求により追加される属性が宣言されている。図２で示す実施形態では、追加する属性値はデフォルト設定でＮＵＬＬとされているので、各インスタンス２０２、２０４には示されていない。また、操作履歴インスタンス２０４のうち、名前属性２０８およびコメント属性２２２は、操作履歴インスタンス２０４またはマクロインスタンス２０２の名前をユーザが修正するために修正可能に用いられるので、操作履歴インスタンス２０４のデフォルト設定では、ＮＵＬＬ値がエントリされている。なお、図２に示すデータ構造２００は、ＯＯＤＢオブジェクトのインスタンスとして構成されるので、操作履歴インスタンス２０４の属性のうち、ＮＵＬＬの値を有する属性のボックスには、リレーショナルデータベースなどとは異なり、フィールド確保のためのデータ領域は割り当てられていない。なお、他の実施形態で、メモリ資源などに充分な余裕がある場合であって、レコード数の増加に配慮する必要がない場合や、他のサーバとの関係でＳＱＬ(Structured Query Language)などを使用することが好ましい場合、属性を修正するためにビューを形成させ、操作履歴およびマクロとして別々に登録するなど、プログラム上の複雑化が許容される場合も想定される。これらの各場合に対応する実施形態では、データベースとしてリレーショナルデータベースを使用し、レコードとして操作履歴およびマクロを登録することもできる。
【００３７】
図３は、データ構造２００におけるスーパークラスおよびサブクラスの継承構造３００を示す。図３に示すように、ユーザによる変更や追加を許可する属性については、スーパークラスとして宣言されていて、スーパークラスへの修正が、操作履歴インスタンス２０４およびマクロインスタンス２０２の対応する属性に継承される。図３に示した実施形態では、動作条件および追加されるスキーマについてスーパークラスとして宣言される実施形態を示す。また、スーパークラス３０２について、ＪＰＥＧ、ＪＰＥＧ２０００、ＢＭＰ、ＧＩＦなどのフォーマットを有するアイコンイメージなどのスキーマが追加される場合、対応するサブクラスである操作履歴インスタンス２０４およびマクロインスタンス２０２についても、スーパークラスに対するスキーマ登録により、スキーマ追加が継承される。図３に示したクラス構成を採用することにより、操作履歴インスタンス２０４およびマクロインスタンス２０２の効率的な修正が可能となる。
【００３８】
図４は、画像形成装置１００が実行する、動作コード取得および動作条件入力から操作履歴インスタンス２０４およびマクロインスタンス２０２を登録するまでの処理の実施形態を示す。図４の処理は、ステップＳ４００から開始しステップＳ４０１で、ユーザからのジョブ履歴作成指令を受け付けた後、入力キーまたはタッチパネルの入力データを装置固有コードにエンコードする。ステップＳ４０２では、装置固有コードをバッファリングし、ステップＳ４０３でユーザが、「スタート」などのジョブ開始ボタンの押下げを行ったか否かを判断する。
【００３９】
ステップＳ４０３でジョブ開始ボタンが押下げられない、すなわちジョブ実行指令を受領しない場合（ｎｏ）、ステップＳ４０１に処理を分岐させ、次の入力データについてのエンコードおよびバッファリングを繰り返す。なお、ステップＳ４０１は、ユーザが特に明示的な指令を行わずとも、画像形成装置１００がバックグラウンド処理として実行しておき、後述するマクロ登録指令を受領したことに対応して、一括してバッファリングされた装置固有コードを、操作履歴インスタンス２０４やマクロインスタンス２０２として登録することもできる。
【００４０】
その後、ステップＳ４０３でジョブ実行ボタンが押下げられ、ジョブ開始指令を受領すると（ｙｅｓ）、バッファリングしたコード（実行コマンド）を発行し、ステップＳ４０４でジョブを実行させる。図４に示した実施形態では、これと並列してステップＳ４０６でインスタンス識別値を付して操作履歴インスタンスとして新規インスタンスを作成し、機種固有コードの各属性値を新規インスタンスの属性値として登録する。また、ユーザによる修正が許容される属性値については、新規インスタンスについてスーパークラスとして宣言された属性値として登録し、操作履歴インスタンス２０４の作成処理を実行する。なお、ユーザがマクロインスタンス２０２の作成を予め指定する場合には、ステップＳ４０６で操作履歴インスタンス２０４の作成と同時にマクロインスタンス２０２を作成してもよい。
【００４１】
操作履歴インスタンス２０４からマクロインスタンス２０２を作成する場合の処理について以下に説明する。操作履歴インスタンス２０４からマクロインスタンス２０２を作成する処理は、まず、操作履歴インスタンス２０４が含む装置固有コードを共通コードにエンコードすることにより行われる。この際のエンコードは、その時点でバッファリングした装置固有コードを、インタプリタモジュールを起動して、インタプリタモジュールによる画像装置間で共用可能なテキストコードへのエンコードが実行される。なお、操作履歴インスタンス２０４からマクロインスタンス２０２の作成処理については、より詳細に後述する。この処理が終了した段階で、機種固有コードを保持するバッファメモリをクリアし、以後の入力キーまたはタッチパネルなどの入力要素からの入力に対応する。
【００４２】
ステップＳ４０５では、ユーザが入力したジョブのシーケンスが終了したか否かを判断し、ジョブのシーケンスが終了しない場合（ｎｏ）、処理をステップＳ４０４に戻し、ジョブを完了させる。一方、ステップＳ４０５でジョブが終了した場合（ｙｅｓ）、処理をステップＳ４０７に分岐させ、ジョブ開始コード以外の入力要素からの入力がバッファリングされているか否かを判断する。入力要素からジョブ開始コード以外の入力を受け付けた、すなわちバッファメモリの入力要素に対応するアドレス範囲がＮＵＬＬでない場合（ｙｅｓ）、ユーザが後続する処理を入力しているものとして、処理をステップＳ４０１に分岐させ、入力データを装置固有コードにエンコードする。一方、ステップＳ４０７でユーザが何も入力していないと判断した場合（ｎｏ）、処理をステップＳ４０８に分岐させる。
【００４３】
ステップＳ４０８でユーザは、作成された操作履歴インスタンスをＮＶＲＡＭ、ＳＤカード、メモリスティック、またはハードディスク装置などの記憶装置に、操作履歴インスタンス２０４、または操作履歴インスタンス２０４とマクロインスタンス２０２とを、それぞれ別のインスタンス識別値を付して記憶装置に格納する。また、他の実施形態では、作成された各インスタンスを、ストレージ・サーバなどとして構成されるサーバ１４８に、ＨＴＴＰまたはＦＴＰプロトコルを使用してアップロードする。なお、操作履歴インスタンス２０４の登録は、ユーザからの指令を受け付け、登録指令がある場合、登録などを実行し、登録指令がない場合には、作成した操作履歴インスタンスを破棄することもできる。
【００４４】
以下説明する実施形態では、画像形成装置１００のデフォルト設定では、少なくとも操作履歴インスタンス２０４は、ユーザによる明示的な登録指令がなくとも登録されるものとして説明する。
【００４５】
図５は、操作履歴インスタンス２０４からマクロインスタンス２０２を作成する処理を実行する各機能モジュールの実施形態５００を示す。画像形成装置１００は、まず、操作履歴５０２を作成する。この段階では、操作履歴５０２は、未だユーザが画像形成装置１００に対して行った入力シーケンスに対応した装置固有コードとされている。マクロインスタンス２０２を作成しない場合、操作履歴５０２は、ＯＯＤＢ５０６に送られ、シーケンス順に対応する属性が割り当てられ、対応する属性についての属性値として装置固有コードが登録される。その後、操作履歴であることを示す属性値が記述され、操作履歴インスタンス５１２が作成される。
【００４６】
一方、マクロインスタンス２０２を作成する場合、操作履歴インスタンス５１２は、インタプリタモジュール５０４により読み込まれる。インタプリタモジュール５０４は、変換手段５０８から変換テーブルを取得し、例えばＪａｖａ（登録商標）スクリプトのオブジェクトとして取得する。その後、インタプリタモジュール５０４は、変換テーブルに登録された装置固有コードと、操作履歴インスタンス５１２の該当する属性に登録された装置固有コードと照合し、照合する場合には、装置固有コードに対応して登録されたテキストコードを取得する。また、照合しない場合には、画像形成装置１００に対するユーザ指定にしたがって、マクロインスタンス２０２への変換処理を停止させる。照合に成功しない場合にマクロインスタンス２０２を作成しない処理を採用する場合、他画像形成装置が作成したものの、処理を再実行させようとする画像形成装置１００では、再現できずに無駄となるマクロインスタンス２０２に対してメモリ領域を割当てることを防止でき、この結果操作履歴インスタンスの保存寿命を延長することができる。
【００４７】
インタプリタモジュール５０４は、テキストコードを取得した後、ＯＯＤＢ５０６に渡す。ＯＯＤＢ５０６は、受け取ったテキストコードを作成した新規インスタンスの該当する属性の属性値として登録し、順次照合された装置固有コードに対応する属性にテキストコードを属性値として登録してゆく。説明している実施形態では、すべての装置固有コードの照合に成功し、インスタンスの属性の登録が完了した時点でマクロインスタンスであることを示す属性値を追加し、マクロインスタンス５１０が作成され、ＯＯＤＢ５０６に登録される。
【００４８】
なお、画像形成装置１００がマクロインスタンス５１０を読み込んで動作を実行する場合、マクロ実行モジュールは、インタプリタモジュール５０４およびユーザＩ／Ｆ１１８により構成される。マクロインスタンス実行時には、マクロインスタンス５１０の属性値をインタプリタモジュール５０４が読み込んで、変換テーブルから作成したオブジェクトを参照して共通コードおよび対応する動作条件を、装置固有コードである動作コードおよび装置固有に設定される動作条件にデコードする。デコードされた動作コードおよび動作条件は、読み込んだ順に入力バッファメモリにおける対応するアドレス領域にバッファリングすることにより、装置固有コードがバッファされた状態を再生成させる。その後、ユーザが画像形成装置１００に対し、「スタート」などのジョブ実行ボタンを押下げることにより、バッファメモリ内のデータが画像形成装置１００の各機能部に送信され、画像形成装置１００によるシーケンスの実行を可能とする。
【００４９】
なお、装置固有コードをテキストコードにエンコードするのは、異なる画像形成装置の間で共用可能なプレーンテキストファイル、ＨＴＭＬ、ＸＭＬなどの構造化ファイルまたはＪＳＯＮなどのファイルとして、マクロインスタンス５１０に対し、画像形成装置間での共用性を付与するためである。また、構造化文書を使用する場合、インタプリタモジュール５０４は、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔや、ＪＳｃｒｉｐｔ、またはＪａｖａ（登録商標）などで構成することができる。
【００５０】
図６は、インタプリタモジュール５０４が使用する変換手段５０８について、変換テーブルテ６００として実装する実施形態を示す。変換テーブル６００は、画像形成装置１００のＲＡＭ１２６に独立したデータ構造として登録することができる。また、例えばＪＳＯＮなどの型式のファイルとしておき、インタプリタモジュール５０４の起動時にオブジェクトとしてインタプリタモジュール５０４が取り込み、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔのオブジェクトとして変換処理のために利用しても良い。
【００５１】
図６に示すように、変換テーブル６００は、装置固有コード６０２と、装置固有コードに対応するテキストコード６０４とが登録されている。装置固有コード６０２は、例えば「００１」がＣｏｐｙ、「００２」が、テキストコードでAuto Document Feederなどの機能に対応する型式で登録されている。また、図６に示した実施形態では、装置固有コード「００６」は、ジョブ開始コードであり、テキストコードは、「Ｓｔａｒｔ」とされている。なお、図６に示した実施形態は例示的な実施形態であり、他の表現またはコーディングを利用することができる。なお、装置固有コードのフォーマットは、特に限定されるものではなくバイナリ、オクテット、デシマル、ヘキサデシマルなどいかなるフォーマットで登録することもでき、キャラクタを含んで構成することもできる。
【００５２】
また、変換テーブル６００は、動作条件について、画像形成装置１００が利用する機種固有コードと対応する数値、キャラクタなどについてもエントリされていて、デシマルまたはヘキサデシマル、バイナリ表示などの数値コード相互間の変換およびキャラクタコードなどの変換を可能としている。なお、変換テーブル６００は、画像形成装置１００に対して新規な機能が追加された場合には対応する装置固有コードとテキストコードとがエントリに追加され、以後の処理に利用される。
【００５３】
図７は、画像形成装置１００に登録された操作履歴インスタンス２０４からマクロインスタンス２０２を作成する処理の実施形態についてのフローチャートを示す。図７の処理は、ステップＳ７００から開始し、ステップＳ７０１で、記憶装置１４６から操作履歴インスタンス２０４を読み出す。ステップＳ７０２では、操作履歴インスタンス２０４を読み込んで、マクロ編集画面を表示する。ユーザは、マクロ編集画面から編集するマクロの名前や動作条件を指定して、読み込んだ操作履歴インスタンス２０４の修正すべき属性値を変更する。
【００５４】
なお、この場合、名前属性および動作条件属性の両属性についてスーパークラスとして修正を行うことができる。また、名前属性については、サブクラス属性を修正・変更し、動作条件についてスーパークラスの属性を修正・変更させる構成とすることもできる。また、名前属性についてスーパークラスとして宣言しておき、動作条件については、サブクラスレベルでの修正を許可することもできる。どのスーパークラス属性として宣言するかについては、特定の用途に対応して適宜選択することができる。ただし、ユーザによるスキーマ追加を許可する場合、追加するべきスキーマに対応する属性は、スーパークラスとして宣言する必要がある。
【００５５】
ステップＳ７０３では、動作条件などについて変更を受け付けたか否かを判断し、変更されていれば（ｙｅｓ）、ステップＳ７０４で操作履歴インスタンス２０４の該当する属性を修正し、処理をステップＳ７０５に分岐させる。また、変更されていない場合（ｎｏ）、処理をステップＳ７０３へと分岐させ、タイムアウトが経過するまで待機させる。
【００５６】
ステップＳ７０５では、マクロ編集画面からマクロ登録指令を受領したか否かを判断する。マクロ登録指令を受領した場合（ｙｅｓ）、ステップＳ７０６で指定されたマクロ名を付してＯＯＤＢを起動し新規インスタンスを作成し、記憶装置１４６に登録し、処理をステップＳ７０７で終了させる。また、ステップＳ７０５でマクロ登録指令を受領しない場合（ｎｏ）、マクロ登録指令の受領をタイムアウトが経過するまで待機する。
【００５７】
図７の処理を使用することにより、マクロインスタンス２０２を作成する場合、操作履歴インスタンス２０４への修正がサブクラスのインスタンスへと継承され、作成したマクロインスタンス２０２について改めて操作履歴インスタンス２０４への修正に対応させる処理を行うことなく、操作履歴インスタンス２０４およびマクロインスタンス２０２の一致性を与えることができる。
【００５８】
図８は、図７のステップＳ７０１で操作履歴を読み込ませる場合に表示される操作履歴内容一覧画面８００を示す。操作履歴内容一覧画面８００は、タッチパネル、ＣＲＴ、またはＬＣＤなどで構成された操作パネル８０２上に各種入力領域が形成されている。操作履歴内容一覧画面８００は、操作履歴が作成された順に操作履歴インスタンスをソートした形態で表示され、作成年月日が新しい操作履歴から古い順に、Ｎｏ．を付して操作履歴を表示される。図８に示された操作履歴内容一覧画面８００で、ユーザがＮｏ．２の操作履歴を修正する場合、ユーザは、タッチパネルの該当する領域にタッチするか、入力キーを操作するか、またはスクロールバー８１０をマウス、トラックボールなどを操作して、Ｎｏ．２の操作履歴を選択する。選択されたＮｏ．２の操作履歴８１２は、ハッチングして表示される。その後、ユーザが保存領域８１４にタッチするなどの操作を行うと、図９に示されるマクロ編集画面９００が表示される。
【００５９】
図９に表示されたマクロ編集画面９００には、編集後、または新たに作成するマクロに付するべき名前を、名前入力領域９０８に入力する。なお、名前入力領域９０８の入力は、一旦バッファリングされ、ユーザが登録領域９０４をタッチするなどして入力を確定させることにより、マクロに対応するインスタンスが作成され、入力された名前などがインスタンスの該当する属性に登録される。なお、名前属性は、操作履歴インスタンス２０４とマクロインスタンス２０２とに対して必ずしも同一とする必要はないが、ユーザによる操作履歴の管理およびマクロの管理の対応付けを容易にするために、名前についてもスーパークラスとして修正することができる。
【００６０】
また、名前入力領域９０８の下側には、ユーザに対して修正が許可される属性が表示されている。図９に示した実施形態では、動作条件および新規スキーマ追加としてアイコン追加がユーザに対して修正が許容される属性なので、表示領域９１０としてこれらの条件が表示されている。ユーザが、修正・変更を可能とする変更指令領域９１２から修正または変更を指令すると、サイズ、加工、部数、カラーなどの設定条件を変更できるように入力領域が設定され、ユーザによる修正が可能とされる。なお、この時の入力データは、ユーザが登録領域９０４またはキャンセル領域９０６をタッチするなどして以後の処理を指令するまで一旦バッファリングされる。なお、修正が許可される属性について操作履歴インスタンスとマクロインスタンスとの一致性を確保したい属性については、スーパークラスとして宣言しておき、入力データをスーパークラスとして宣言された変数に記述する。
【００６１】
さらに、入力領域には、追加スキーマとしてアイコンの追加の指令を入力する入力領域が形成されている。ユーザは、変更指令領域９１２から変更指令を入力し、アイコンの追加を指令すると、表示画面が遷移し、追加できるアイコンイメージが表示される。ユーザは、表示されたアイコンイメージからアイコンを選択して、例えば「選択」指令入力を行うことにより図９の入力領域の対応する表示が、「オプション：ｉｃｏｎ．ｊｐｇ」などに変更され、アイコンイメージを参照するパスなどの値が一旦バッファリングされる。
【００６２】
なお、追加することができるスキーマは、アイコンイメージに限られず、ユーザがオプションで追加したステープル機能、パンチ機能、ソータ機能などのいかなる機能についても設定することができる。アイコン以外の他の機能を追加する場合、例えば、オプションの領域に、スーパークラスとして登録されている属性を表示させ、ユーザに対して入力を可能とする。
【００６３】
また、オプションの他、表示画面９０２には、コメントを追加するための入力領域が提供されている。ユーザは、マクロインスタンス２０２をアイコン表示させることが可能な実施形態で、アイコンに操作カーソルを一致させることで、コメントを表示させることができる。ユーザは表示されたコメントを参照し、マクロインスタンスの起動を行ってもよい
【００６４】
ユーザが修正する属性値の入力を行った後、登録領域９０４にタッチすることにより、入力した名前を有する新規マクロインスタンスがＯＯＤＢにより作成される。同時にバッファリングされていたデータが、スーパークラスまたはサブクラスのインスタンスに対応する属性値として登録される。上述したように、名前属性、動作条件属性、コメント属性は、スーパークラスに登録し、その他の属性値についてはサブクラスに登録する。
【００６５】
図１０は、画像形成装置１００が作成する操作履歴および対応するマクロを作成した場合のデータ構造１０００の実施形態を示す。データ構造１０００は、図２に示したデータ構造２００に登録された操作履歴インスタンス２０４から対応するマクロインスタンス１００６が形成され、識別値Ｎｏ．３として追加して登録される。マクロインスタンス１００６には、名前属性１００８として、「ファクシミリ送信」などが登録されている。また、動作条件属性１０１６についてはユーザが修正をしなかったので操作履歴インスタンス１００４と同一の値が登録されている。
【００６６】
さらに、ユーザが新たにコメント、「ファクシミリ送信：○○事業部」がコメント属性１０２２に追加されている。また、データ属性を示す属性１０２６には、マクロであることを示す属性値が登録されている。図１０に示した実施形態では、動作条件属性およびコマンド属性については、スーパークラスの値を参照するので、常に同一の値を付与することが可能となる。
【００６７】
一方、図１０に示した実施形態では、名前属性１００８は、サブクラスの属性値を修正しているので、マクロインスタンス１００６に対応する名前属性には、「ファクシミリ送信」が追加されているが、操作履歴インスタンス１００４については対応する属性値がＮＵＬＬのままである。なお、操作履歴インスタンス１００４のＮＵＬＬの値を有する属性値は、名前属性および作成者名のみであるが、操作履歴として格納する必要のない属性値を増加させ、増加させた分の属性値についてマクロ編集画面９００でユーザによるサブクラスに対する修正を許可することにより、さらにデータ構造１０００においてメモリ資源の浪費を防止し、データ構造１０００のインスタンスが保存される期間を延長することが可能となる。
【００６８】
また、図１０に示した実施形態では、ユーザが、操作履歴インスタンス１００４からマクロを作成する場合に、アイコンを表示させることを希望し、アイコン属性を、スキーマ追加している。操作履歴インスタンス１００４について追加されるスキーマであるアイコン属性は、スーパークラスとして登録され、対応するマクロインスタンスについても継承される。このため、ユーザが操作履歴インスタンス１００４およびマクロインスタンス１００６について個別に登録を行わずとも、スキーマ拡張が反映され、アイコン属性として、操作履歴インスタンス１００４とマクロインスタンス１００６とに対して同一の属性値、「Facsimile.jpg」が登録されている。
【００６９】
図１１は、操作履歴を保存する設定を行う、操作履歴保存設定画面の実施形態を示す。図１１に示す操作履歴保存設定画面１１００は、表示画面１１０２内に複数の入力領域１１０４〜１１１６が設けられている。入力領域１１０４は、操作履歴保存件数を設定する入力領域である。入力領域１１０４に隣接して登録される上限の件数を修正する領域が配置されていて、ユーザは、操作履歴保存件数を画像形成装置の上限値以下で設定することができる。また、操作履歴保存件数は、ユーザが、ユーザによる保存件数の変更を指定するチェックボックス１１０６をチェックすることによりアクティブ表示され、入力可能とされている。
【００７０】
一方、表示画面１１０２には、操作履歴保存条件のカスタマイズを可能とする入力領域１１０８が設けられている。操作履歴保存条件のカスタマイズは、図示した実施形態では、（１）再現できない操作履歴は残さない、（２）受信からの操作履歴は残さない、および（３）操作履歴を残す人を設定する、が設定されている。図１１に示した実施形態では、ユーザは、再現できない操作履歴は残さない設定を指定している。なお、再現できない操作履歴とは、他画像形成装置が記述した操作履歴またはマクロについては、読み込み側の画像形成装置で保存してもメモリの浪費になるだけなので、登録しない処理を指定する。
【００７１】
また、受信を基点として開始される操作履歴は、ファクシミリ受信などのように画像形成装置の設定により実行されるものであり、ユーザがカスタマイズする要求は少ないと考えられるためである。また、操作履歴を残す人を設定するのは、メモリ消費量を削減し、できるだけ定型的な処理についての操作履歴を長期間かつ多数記録する場合に設定され、許可ユーザを入力する入力領域１１１０に操作履歴を残すユーザの名前、ユーザＩＤなどを明示的に指定することが可能とされている。
【００７２】
さらに、表示画面１１０２には、操作履歴の保存期間を設定するチェックボックスが設けられている。ユーザは、チェックボックスにチェックすることにより入力領域１１１２に表示されたデフォルト設定の保存期間を修正することが可能となる。なお、操作履歴の削除についての第１実施形態では、保存件数と保存期間とは、どちらの上限値であっても設定された上限値を超えた場合、上限値を越えた該当する操作履歴を削除することができる。また、第２実施形態では、保存件数を優先させ保存件数の上限に達するまでは保存期間を経過した操作履歴も保存しておき、保存件数の上限値に達したときに保存期間を経過した操作履歴および操作履歴の日付属性が最も古い順に上限以下となるように全数指定して、一括削除することもできる。
【００７３】
どちらの実施形態であっても、ユーザの要求に対応して設定することができ、操作履歴からマクロを作成して処理を実行するユーザの利用形態に対応して適宜設定することができる。以上説明したように、本実施形態の画像形成装置は、操作履歴を効率的に利用して画像形成を行わせ、同時にメモリ資源を節約しつつ、操作履歴およびマクロの修正または新たなスキーマの追加を行う場合の修正漏れや、対応付けて修正または追加する処理の効率を改善する画像形成装置、制御方法およびプログラムを提供することを可能とする。
【００７４】
また、本発明の上記機能は、Ｃ＋＋、Ｖｉｓｕａｌ  Ｃ＋＋、Ｊａｖａ（登録商標）、Ｊａｖａ（登録商標）Ｂｅａｎｓ、Ｊａｖａ（登録商標）Ａｐｐｌｅｔ、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ、ＪＳｃｒｉｐｔ、Ｐｅｒｌ、Ｒｕｂｙなどのオブジェクト指向ブログラミング言語などで記述された装置実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。
【００７５】
これまで本発明について実施形態をもって説明してきたが、本発明は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【図面の簡単な説明】
【００７６】
【図１】本実施形態での画像形成装置の機能ブロック図。
【図２】画像形成装置が作成する操作履歴インスタンスおよびマクロインスタンスのデータ構造の実施形態を示した図。
【図３】データ構造におけるスーパークラスおよびサブクラスのデータ構成の実施形態を示した図。
【図４】動作コード取得および動作条件入力から操作履歴インスタンスおよびマクロインスタンスを登録するまでの処理の実施形態を示したフローチャート。
【図５】操作履歴インスタンスからマクロインスタンスを作成する処理を実行する各機能モジュールの実施形態を示した図。
【図６】インタプリタモジュールが使用する変換手段について、変換テーブルとして実装する場合の実施形態を示した図。
【図７】画像形成装置に登録された操作履歴インスタンスからマクロインスタンスを作成する処理の実施形態についてのフローチャート。
【図８】図７のステップＳ７０１で操作履歴を読み込ませる場合に表示される操作履歴内容一覧画面を示した図。
【図９】ユーザが保存領域にタッチするなどの操作により表示されるマクロ編集画面の実施形態を示した図。
【図１０】画像形成装置が作成する操作履歴および対応するマクロを作成した場合のデータ構造の実施形態を示した図。
【図１１】操作履歴を保存する設定を行う、操作履歴保存設定画面の実施形態を示した図。
【符号の説明】
【００７７】
１００…画像形成装置、１１２…スキャナ装置、１１４…入力要素、１１６…スキャナＩ／Ｆ、１１８…ユーザＩ／Ｆ、１２２…画像処理部、１２４…中央処理装置（ＣＰＵ）、１２６…ＲＡＭ、１２８…ＲＯＭ、１３０…ファクシミリ・コントローラ、１３２…エンジン・コントローラ、１３４…ネットワーク・インタフェース・カード（ＮＩＣ）、１３６…記憶装置インタフェース、１３８…ファクシミリ送受信装置、１４０…ＤＳＵ／ＴＡ、１４２…プリンタ、１４４…ネットワーク、１４６…記憶装置、１４８…サーバ、２００…データ構造、２０２…マクロインスタンス、２０４…操作履歴インスタンス、２０６〜２２４…属性、３００…継承構造、３０２…スーパークラス、５０２…操作履歴、５０４…インタプリタモジュール、５０６…ＯＯＤＢ、５０８…変換手段、５１０…マクロインスタンス、５１２…操作履歴インスタンス、６００…変換テーブル、
【図１】
2008294746.tif 000003
【図２】
2008294746.tif 000004
【図３】
2008294746.tif 000005
【図４】
2008294746.tif 000006
【図５】
2008294746.tif 000007
【図６】
2008294746.tif 000008
【図７】
2008294746.tif 000009
【図８】
2008294746.tif 000010
【図９】
2008294746.tif 000011
【図１０】
2008294746.tif 000012
【図１１】
2008294746.tif 000013