(57)【要約】【課題】リソース管理を効率化する、画像形成装置、リソース管理方法およびプログラムを提供すること。【解決手段】画像形成を含むサービスを提供する画像形成装置１００は、サービスを共通管理するオペレーティングシステムを含む制御手段１４８と、サービスを提供するためのアプリケーションおよびハードウェア装置を含む画像形成装置資源と、画像形成装置資源の利用状況をモニタするリソース制御手段１１８と、利用状況を通知するインタフェース手段（１２２〜１３２）と、利用状況の通知を受け付け、利用状況をサービスまたはサービスを提供するための画像形成装置資源に関連付けて登録するリソース状況登録手段３１２と、を含み、画像形成装置資源の利用に応答してリソース状況登録手段３１２の登録データを更新することにより、画像形成装置１００の利用状況を管理している。【選択図】図１
2008204270.tif 000002
【特許請求の範囲】
【請求項１】
画像形成を含むサービスを提供する画像形成装置であって、
前記サービスを共通管理する制御手段と、
前記サービスを提供するためのアプリケーションおよびハードウェア装置を含む画像形成装置資源と、
前記画像形成装置資源の利用状況を通知するインタフェース手段と、
前記利用状況の通知を受け付け、前記利用状況を前記サービスまたは前記サービスを提供するための前記画像形成装置資源に関連付けて登録するリソース状況登録手段と、
前記画像形成装置資源の利用状況をモニタし、かつ少なくとも新たにインストールされた追加アプリケーションのサービス識別値および利用状況を登録するためのレコードを前記リソース状況登録手段に追加するリソース制御手段と、
を含み、
前記画像形成装置は、前記画像形成装置資源の利用に応答して前記リソース状況登録手段の登録データを更新することにより、前記画像形成装置の前記利用状況を管理する、画像形成装置。
【請求項２】
前記リソース制御手段は、さらに前記追加アプリケーションが利用するメソッドのメソッド識別値、前記追加アプリケーションが使用する関数の関数識別値、または前記メソッド識別値および前記関数識別値の利用状況を登録するレコードを前記リソース状況登録手段に追加する、請求項１に記載の画像形成装置。
【請求項３】
前記リソース制御手段は、プロセス間通信により前記インタフェース手段からの前記通知を受け付ける、請求項１に記載の画像形成装置。
【請求項４】
前記制御手段は、前記アプリケーションおよび前記追加アプリケーションから生成されたバイトコードを機械語に翻訳することにより実行し、前記インタフェース手段は、前記アプリケーションの実行結果を前記ハードウェア装置に渡して前記サービスを実行し、前記ハードウェア装置の処理終了を前記リソース制御手段に通知する、請求項１に記載の画像形成装置。
【請求項５】
前記リソース状況登録手段は、暗号化された後不揮発性記憶手段に格納されるか、またはネットワークを介して情報処理装置に転送される、請求項１に記載の画像形成装置。
【請求項６】
画像形成を含むサービスを提供する画像形成装置の利用状況を管理する装置実行可能な方法であって、前記方法は、
前記サービスを提供するためのアプリケーションおよびハードウェア装置を含む画像形成装置資源の利用状況をプロセス間通信により送信するステップと、
リソース制御手段により前記利用状況を受け付け、前記利用状況をモニタするステップと、
前記利用状況の通知を利用して前記利用状況を前記画像形成装置資源に関連付けて登録するリソース状況登録手段に登録するステップと、
前記利用状況の変化に応答して前記リソース状況登録手段の登録データを更新するステップと、
少なくとも新たにインストールされた追加アプリケーションのサービス識別値および利用状況を登録するためのレコードを前記リソース状況登録手段に追加するステップと
を前記画像形成装置に実行させる方法。
【請求項７】
前記追加アプリケーションが利用するメソッドのメソッド識別値、前記追加アプリケーションが使用する関数の関数識別値、または前記メソッド識別値および前記関数識別値の利用状況を登録するレコードを前記リソース状況登録手段に追加するステップを実行する請求項６に記載の方法。
【請求項８】
前記画像形成装置資源の前記利用状況を積算するステップと、
積算された前記利用状況を使用して前記画像形成装置資源により提供されたサービスに対する課金計算を実行させるステップと
を含む請求項６に記載の方法。
【請求項９】
請求項６〜８のいずれか１項に記載の方法を画像形成装置に対して実行させるための、コンピュータ実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関し、より詳細には、画像形成装置に対して機能追加した場合の課金処理を効率化する、画像形成装置、リソース管理方法およびプログラムに関する。
【背景技術】
【０００２】
従来の画像形成装置は、装置上で動作するアプリケーションが装置固有であり、他機種での動作を考慮する必要はなかった。そのため、課金システムも組み込み済みのアプリケーションの機能に関して専用化されていた。近年、アプリケーション開発の期間短縮のため、より簡便にアプリケーションの開発が求められており、アプリケーション開発/動作プラットフォーム利用の共通化が進められており、画像形成装置の使用資源を管理する画像形成装置の提案されている（特許文献１）。また、多様なユーザの要求に応じるため、装置の開発元から予め組み込まれた機能に加え、追加機能として既に市場に存在する装置に組み込まれて使用される機能への要求が高まっている。
【０００３】
上述した要求に対応するため、機器の制御などに必要なハードウェアインターフェースやソフトウェアインタフェース（ＡＰＩ：Application Program Interface）などの開発環境が提供され、画像形成装置の開発元以外の者が開発したアプリケーションを利用可能とすることも可能となっている。
【０００４】
ところで、画像形成装置の開発時や設置時に含まれなかった機能がユーザの個別ニーズにより追加された場合、該当追加された機能の利用をカウントし、それに対する対価を回収することが、ユーザの個別ニーズに対応しながら画像形成装置の資源利用を無駄にしないためには必要とされる。ユーザが企業である場合については、課金・回収システムも構築されているということができる。しかしながら、追加機能の開発者がユーザと異なる場合に、対価を回収する別モジュールを装置ごとまたはユーザごとに開発するのでは、多大なコストが発生することになり、この結果、ユーザの個別ニーズに対して課金を行うことが、かえってコストを増大させてしまうという問題があった。
【特許文献１】特開２００６−２６０４０４
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した別モジュールの開発によるコスト的な観点から、従来では追加機能モジュールやアプリケーションによっては、従量的な課金による対価取得を断念し、アプリケーション自体の価格によってのみ対価を得るようにせざるを得ない場合もあった。この場合、画像形成装置の課金について、画像形成装置のリソース利用に対応した、いわゆる従量制の課金ができないという問題点があった。
【０００６】
本発明は、上記従来技術の問題点に鑑みてなされたものであり、本発明は、追加機能を提供するモジュールの使用状況についても、装置のシステムとして情報取得可能とし、追加機能の利用に応じて対価を得る手段を提供する、画像形成装置、リソース管理方法、およびプログラムを提供することを目的とする。
【０００７】
さらに、本発明では、追加機能を提供するアプリケーションに関して、各アプリケーションまたはハードウェア装置の識別値ごとに機能の利用状況を取得可能とし、画像形成装置が保有する資源の利用に関して、装置自体の利用対価、その他の追加機能モジュールの利用対価、アプリケーション自体の利用対価、それぞれを取得する、画像形成装置、リソース管理方法、およびプログラムを提供することを目的とする。
【０００８】
また、本発明では、元々の装置には実装されていなかった機能の利用についても、予め組込み機能として提供された場合と同等のセキュリティを確保し、ユーザのプライバシーおよび開発者の権利を守ることを可能とする、画像形成装置、リソース管理方法およびプログラムを提供することを目的とする。
【０００９】
さらに本発明では、装置販売元が構築している対価回収システムを利用して追加機能や追加アプリケーションの利用対価を回収することを可能とし、利用料金を回収するシステムを独自に構築することなく対価の回収を可能とする、画像形成装置、リソース管理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明による画像形成装置は、操作部の各種キー、タッチパネルなどの入力デバイスからの信号、メッセージ受信などにより起動される画像形成装置のハードウェア資源およびソフトウェア資源（以下、画像形成装置資源として参照する。）の利用状況をモニタして、画像形成装置の利用を、カウント値または利用時間の積算値として管理する。
【００１１】
ソフトウェア資源およびハードウェア資源の利用状況は、ソフトウェア資源と、リソース制御手段として提供されるリソース制御モジュールとの間のプロセス間通信によりモニタされる。ソフトウェア資源には、サービスを提供するためのアプリケーション自体の他、アプリケーションのために提供されるＡＰＩやＩ／Ｏ装置などを含んで構成されるインタフェース手段（以下、インタフェース部として参照する。）を含むことができる。リソース制御モジュールは、リソース状況登録手段として使用されるリソース状況テーブルに利用状況を登録し、利用状況が変化するごとにプロセス間通信のメッセージ内容を使用して更新される。
【００１２】
操作部からユーザが入力を行うと、リソース制御モジュールは、画像形成装置資源の利用が通知され、利用状況の変化に対応して、画像形成装置資源の利用回数を与えるカウント値または利用時間の積算値を計算する。計算されたカウント値または利用時間の積算値は、ＮＶＲＡＭなどの不揮発性記憶装置に記憶されるかネットワークを介して送出され、画像形成装置の利用に対応した課金を可能とする。
【００１３】
また、リソース制御モジュールは、ユーザの個別ニーズにより新たに追加アプリケーションがインストールされると、プロセス間通信を使用してリソース状況テーブルに対し、アプリケーションの追加を示す値、新たに追加された追加アプリケーションのサービス名などのサービス識別値、利用するハードウェア装置の識別値、呼び出されるメソッドまたは関数の識別値などに対応して、その利用状況を登録する新たなレコードを追加する。この機能により、画像形成装置に対してユーザが個別ニーズに対応した追加アプリケーションをインストールした場合でも、自動的に画像形成装置の利用を管理することができる。
【００１４】
リソース制御モジュールは、追加アプリケーションのインストールの終了時にプロセス間通信による通知により、リソース状況テーブルのエントリを検索し、新規な追加アプリケーションであると判断した場合に、レコードにプロセス間通信により受領したアプリケーションの情報を登録する。また、他の実施形態では、追加アプリケーションが最初に起動された時点のプロセス間通信を使用して、リソース管理テーブルのレコードに追加しても良い。
【００１５】
上記構成の機能モニタを実装することにより、ユーザの個別ニーズにより、アプリケーションが追加された場合であっても、追加アプリケーションによる画像形成装置の利用がモニタされているので、各サービスを起動させた場合の回数および利用時間がモニタすることができ、利用回数の他、利用時間などに対応した課金も可能となる。
【００１６】
すなわち、本発明によれば、
画像形成を含むサービスを提供する画像形成装置であって、
前記サービスを共通管理する制御手段と、
前記サービスを提供するためのアプリケーションおよびハードウェア装置を含む画像形成装置資源と、
前記画像形成装置資源の利用状況を通知するインタフェース手段と、
前記利用状況の通知を受け付け、前記利用状況を前記サービスまたは前記サービスを提供するための前記画像形成装置資源に関連付けて登録するリソース状況登録手段と、
前記画像形成装置資源の利用状況をモニタし、かつ少なくとも新たにインストールされた追加アプリケーションのサービス識別値および利用状況を登録するためのレコードを前記リソース状況登録手段に追加するリソース制御手段と、
を含み、
前記画像形成装置は、前記画像形成装置資源の利用に応答して前記リソース状況登録手段の登録データを更新することにより、前記画像形成装置の前記利用状況を管理する、画像形成装置が提供される。
【００１７】
本発明の前記リソース制御手段は、さらに前記追加アプリケーションが利用するメソッドのメソッド識別値、前記追加アプリケーションが使用する関数の関数識別値、または前記メソッド識別値および前記関数識別値の利用状況を登録するレコードを前記リソース状況登録手段に追加することができる。
【００１８】
本発明では、前記リソース制御手段は、プロセス間通信により前記インタフェース手段からの前記通知を受け付けることができる。さらに、前記制御手段は、前記アプリケーションおよび前記追加アプリケーションから生成されたバイトコードを機械語に翻訳することにより実行し、前記インタフェース手段は、前記アプリケーションの実行結果を前記ハードウェア装置に渡して前記サービスを実行し、前記ハードウェア装置の処理終了を前記リソース制御手段に通知することができる。本発明の前記リソース状況登録手段は、暗号化された後不揮発性記憶手段に格納されるか、またはネットワークを介して情報処理装置に転送されても良い。
【００１９】
本発明によれば、
画像形成を含むサービスを提供する画像形成装置の利用状況を管理する装置実行可能な方法であって、前記方法は、
前記サービスを提供するためのアプリケーションおよびハードウェア装置を含む画像形成装置資源の利用状況をプロセス間通信により送信するステップと、
リソース制御手段により前記利用状況を受け付け、前記利用状況をモニタするステップと、
前記利用状況の通知を利用して前記利用状況を前記画像形成装置資源に関連付けて登録するリソース状況登録手段に登録するステップと、
前記利用状況の変化に応答して前記リソース状況登録手段の登録データを更新するステップと、
少なくとも新たにインストールされた追加アプリケーションのサービス識別値および利用状況を登録するためのレコードを前記リソース状況登録手段に追加するステップと
を前記画像形成装置に実行させる方法が提供される。
【００２０】
本発明では、前記追加アプリケーションが利用するメソッドのメソッド識別値、前記追加アプリケーションが使用する関数の関数識別値、または前記メソッド識別値および前記関数識別値の利用状況を登録するレコードを前記リソース状況登録手段に追加するステップを実行することができる。
【００２１】
本発明では、前記画像形成装置資源の前記利用状況を積算するステップと、
積算された前記利用状況を使用して前記画像形成装置資源により提供されたサービスに対する課金計算を実行させるステップと含むことができる。さらに、本発明では、上記記載の方法を画像形成装置に対して実行させるための、コンピュータ実行可能なプログラムが提供できる。
【発明を実施するための最良の形態】
【００２２】
図１は、画像形成装置のソフトウェア／ハードウェア構成の実施形態である。画像形成装置１００は、ハードウェア装置を、複数のソフトウェアにより制御して、ユーザ指令、ファクシミリ受信、ファイル転送などの処理を実行する。画像形成装置１００は、モデムやＤＳＵ／ＴＡなどの通信装置１０２、通信インタフェースユニット１０４、通信許可スイッチ１０６、操作部１０８などの入出力ハードウェアを用いて、ユーザおよび外部装置との間の通信を制御する。さらに、画像形成装置１００は、ＥＥＰＲＯＭ、ＥＰＲＯＭなどを含むＲＯＭ１１０およびＲＡＭ１１２を含んでいる。ＲＯＭ１１０は、画像形成装置１００の設定データなどを格納していて、画像形成装置１００の起動時やリセット時に設定ファイルを読み込んで、画像形成装置１００の設定を可能とする。また、ＲＡＭ１１２は、ＮＶＲＡＭを含んで構成することもでき、画像形成装置１００によるアプリケーション実行を可能とする作業空間を提供する。
【００２３】
画像形成装置１００は、ＣＰＵ（図示せず）がオペレーティングシステム（以下、ＯＳとして参照する。）をＲＡＭ１１２内に読み込み、外部入力に応答して対応するソフトウェアをＲＡＭ１１２内に読み込んで、ＯＳにより制御の下でソフトウェアを実行させ、外部入力に対応するサービスを実行する。本発明の画像形成装置１００が使用するＣＰＵとしては、より具体的には、例えば、ＰＥＮＴＩＵＭ（登録商標）〜ＰＥＮＴＩＵＭ（登録商標）ＩＶ、ＰＥＮＴＩＵＭ（登録商標）互換ＣＰＵ、ＰＯＷＥＲ  ＰＣ（登録商標）、ＭＩＰＳ、およびこれらに互換性のあるＣＰＵなどを挙げることができるが、これらのＣＰＵに限定されるものではない。
【００２４】
また、使用するオペレーティング・システム（ＯＳ）としては、ＭａｃＯＳ（商標）、Ｗｉｎｄｏｗｓ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）２００Ｘ  Ｓｅｒｖｅｒ、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）またはそれ以外の適切なＯＳを挙げることができる。さらに、画像形成装置１００は、上述したＯＳ上で動作する、Ｃ、Ｃ＋＋、Ｖｉｓｕａｌ  Ｃ＋＋、ＶｉｓｕａｌＢａｓｉｃ、Ｊａｖａ（登録商標）などのレガシープログラミング言語またはオブジェクト指向のプログラミング言語により記述されたアプリケーション・プログラムを格納し、実行する。この他、画像形成装置１００は、処理に対応する専用マイクロプロセッサを搭載し、アセンブラなどの言語を使用してハードウェアモジュール群を制御している。なお、図１に示した画像形成装置１００は、画像形成装置１００の動作を管理するプログラムおよびアプリケーションソフトウェアがＪａｖａ（登録商標）とされている。また、画像形成装置１００は、このため、Ｊａｖａ（登録商標）の実行を可能とする環境を実装しており、例えば、クラスローダ、Ｊａｖａ（登録商標）コードをバイトコードに変換するためのインタプリタ、実行結果をＯＳや、さらに下位ソフトウェアに渡すためのＡＰＩなどを含んで構成される、ＪＶＭ（ジャバ仮想マシン）１４８を提供する。
【００２５】
通信インタフェースユニット１０４は、通信装置１０２との通信を行う部分であり、ＰＰＰ(Point to Point Protocol)、ＩＴＵ−Ｔ勧告Ｘ．２５などの通信プロトコルを使用してファクシミリ送受信を実行する。通信許可スイッチ１０６は、通信装置１０２との通信の許可/
禁止を設定する。操作部１０８は、キーボードなどを含み、ユーザによる外部入力を受け付け、ハードウェア割込を生成し、後述する操作部制御モジュール１１６に対し、操作部１０８により指令された処理を起動させる。この他、画像形成装置１００は、ネットワークインタフェース（ＮＩＣ）を含んでいても良く、ＰＰＰｏＥ(Point
to Point on Ethernet（登録商標）)プロトコルを使用して、ネットワークに接続し、メール転送、ファイル送受信、ＬＤＡＰ検索などのネットワーク機能を備えることもできる。なお、通信インタフェース１０４〜操作部１０８については、ドライバソフトウェアおよび入出力Ｉ／Ｏを含でいて、通信関連制御モジュール１１４、操作部制御モジュール１１６のＡＰＩに対して処理を渡している。
【００２６】
画像形成装置１００は、ＣＰＵによる処理結果を使用して外部出力を行うためのデバイスドライバを含むハードウェア制御ユニット群１３６〜１４６を、含んでいる。光学系制御ユニット１３６は、露光ランプの駆動制御を行う。高圧電源制御ユニット１３８は、帯電チャージャ、分離チャージャ、転写チャージャ、転写前チャージャ（ＰＴＣ）、現像バイアスに電力を供給する。モータ制御ユニット１４０は、画像形成装置１００の光学系、感光体、転写紙搬送などのメインモータのコントロールを行う。ヒータ制御ユニット１４２は、定着ヒータの駆動制御を行う。センサ感度制御ユニット１４４は、光センサを含む各種センサのゲインなどの可変制御を管理する。Ａ／Ｄコンバータ制御ユニット１４６は、ランプ電圧、ポジションセンサ発光電圧、ポジションセンサ受光電圧、各種バイアス電位の電位センサ出力、自動給紙装置を制御するためのセンサ出力、ランプ光量センサ出力、ドラム電流センサ出力、定着サーミスタ電圧などを制御するＡ／Ｄコンバータ（図示せず）を制御する。
【００２７】
画像形成装置１００は、また、上述したハードウェア制御ユニット群１３６〜１４６を制御する、それぞれ対応する制御ソフトウェアモジュール（インタフェース）１２２〜１３２を含んで構成される。制御ソフトウェアモジュール群１２２〜１３２は、本実施形態では、Ｊａｖａ（登録商標）で構成され、通信関連制御モジュール１１４、操作部制御モジュール１１６が呼び出したアプリケーションソフトウェアの実行結果を、ハードウェア制御ユニット群１３６〜１４６に渡している。また、制御ソフトウェアモジュール群１２２〜１３２は、各ハードウェア制御ユニットからの制御信号を受信して、各ハードウェア制御ユニットの動作状況を、リソース制御モジュール１１８に通知する。リソース制御モジュール１１８は、通知された各ハードウェア制御ユニットからの制御信号から、プロセス間通信により通信するべき、メッセージまたはデータを作成する。
【００２８】
メッセージまたはデータには、当該サービスに関連するサービス識別値、ソフトウェアモジュールの識別値、ハードウェア装置の装置識別値の他、プロセスＩＤ等を含むことができる。作成されたメッセージまたはデータは、プロセス間通信により、リソース制御モジュール１１８へと送られる。リソース制御モジュール１１８は、受領したメッセージまたはデータを使用して画像形成装置資源の利用状況を登録および更新し、画像形成装置１００の動作環境を管理する。この他、リソース制御モジュール１１８は、また、通信関連制御モジュール１１４、操作部制御モジュール１１６から通信状態、および操作部の表示、キー操作情報などが通知され、ハードウェア動作に関連する情報についても一括で管理する。
【００２９】
画像形成装置１００は、アプリケーションソフトウェアおよび各制御ソフトウェアモジュール群１１４、１１６、１１８、１２２〜１３２がＪａｖａ（登録商標）から構成される。これらの各モジュールは、ＪＮＩ（Java（登録商標）
Native Interface）通じて下位の制御モジュール群を利用する事で、Ｊａｖａ（登録商標）による機器制御を可能にしている。この下位モジュール群は、例えばC言語等で記載され、主として対応する制御ユニットのデバイスドライバと他のモジュールとのインタ.フェースから構成される。各下位モジュール群は、内部バス１３４を介してプロセス間通信（メッセージ）により、各プロセス間のデータ、状況などの状態を通知する。プロセス間通信としては、シグナル、パイプ、ソケットなど種々の方法を挙げることができる。なお、ソケット通信を使用する場合、ドメインをローカルに設定する、例えばＵＮＩＸ（登録商標）のＰＦ＿ＵＮＩＸ（登録商標）などを指定することができる。
【００３０】
画像形成装置１００は、ハードウェアに近い側の処理を担当する下位モジュールが、対応する制御を行うより上位のソフトウェアモジュールに対し、各種装置状態やパラメータ設定状況などを通知する。また、インタフェースとして機能する下位ハードウェア制御モジュール１２２〜１３２は、当該通知を受け付けメッセージまたはデータを作成し、プロセス間通信を使用してリソース制御モジュール１１８に通知する。この結果、画像形成装置１００は、画像形成装置内部の種々のソフトウェア資源およびハードウェア資源の状態などを、ソフトウェア内部の通信として一括して管理することが可能となる。本実施形態の画像形成装置１００は、リソース管理の一部として課金情報を管理し、画像形成装置１００によるサービス提供に関連する資源の利用状況の情報を管理する。
【００３１】
図２は、画像形成装置１００のソフトウェア構造２００を階層構造として示す。画像形成装置１００は、サービスの内容に対応する複数のアプリケーション２０２〜２０８を実装している。なお、アプリケーション２０８は、個別ニーズに対応する機能を提供するために追加された追加アプリケーションである。アプリケーション２０２〜２０８としては、ファクシミリアプリケーション、ファイル転送アプリケーション、ＬＤＡＰ検索アプリケーション、メール送受信アプリケーション（これらについて、以下、ネットワーク制御アプリケーションとして参照する。）、ＯＣＲアプリケーション、プリンタアプリケーション、コピーアプリケーション（これらについて、以下、エンジン制御アプリケーションとして参照する。）などを挙げることができる。
【００３２】
これらのアプリケーションソフトウェア２０２〜２０８は、アプリケーション層２１２を規定する。また、図１に示した各ソフトウェアモジュール群１１４〜１３２は、ハードウェア層２１０を制御するための各種制御ユニット群（ドライバソフトウェア）とともに、ミドルウェア層２１４に対応付けされている。ミドルウェア層２１４は、アプリケーション層２１２の処理結果を、ハードウェア装置を介して出力させ、またデータ通信を行うことを可能としている。
【００３３】
図２の実施形態では、画像形成装置１００は、ハードウェア層２１０に含まれるハードウェア装置としては、光学系ハードウェア、作像ハードウェア、ファックスハードウェア、操作部ハードウェアを含んでいるが、サービスの種類に対応してこれら以外のハードウェア装置を含むことができる。また、オプションＨＷ２１６は、ユーザの個別ニーズに対応して、画像形成装置１００の設置後の任意の段階で追加されたハードウェア装置である。また、画像形成装置１００には、オプションＨＷ２１６の追加に対応して、追加アプリケーション２０８に対応するオプション制御モジュールおよびオプション制御ドライバがインストールされている。画像形成装置１００には、オプション制御モジュールおよびオプション制御ドライバを含む追加ミドルウェア２１８が追加されている。
【００３４】
装置の各アプリケーションからの情報は、ミドルウェア層２１４として示された、それぞれ対応した制御ソフトウェアモジュールによって処理される。画像形成装置１００の各アプリケーションの情報はソフトウェア情報／ハードウェア情報に関わらず、すべてソフトウェアモジュール間のプロセス間通信における通信メッセージ（情報）またデータとしてリソース制御モジュール１１８に渡される。
【００３５】
図２において、各アプリケーション２０２〜２０８は、画像形成装置１００が提供する仮想マシン上で実行され、アプリケーションが使用する機能に対応するメソッドまたは関数をメソッド呼出しや関数呼出しなどを用いて処理し、処理結果をハードウェア装置に利用させ、ユーザ指令または外部指令された処理を実現させている。
【００３６】
アプリケーションを実行するための設定情報などは、各アプリケーションごとに設定情報を取得するためのメソッド（関数）を構成させて実現することができる。また、他の実施形態では、設定情報をＳＤカード、ＵＳＢメモリなどの記憶装置またはネットワークを介したＨＴＴＰやＦＴＰプロトコルを使用してダウンロードしたファイルとして一括で取得することができる。ハードウェア装置についての設定情報をファイルとして取得する場合、画像形成装置１００は、ハードウェア情報をカンマ区切り、ＬＤＡＰデータ、ＣＳＶなど種々のフォーマットとして取得することができる。さらに他の実施形態では、関数テーブルの列記や、各機能の利用可否を記載したテキストファイルとすることもできる。さらにより好ましい実施形態では、利用機能に関する設定情報などをカテゴライズして提供することができる点、各サービスごとのパラメータ設定範囲情報も提供することが可能となるなど、情報量を増加させる点で、構造化文書で作成されたファイルを使用することが好ましい。本実施形態で使用することができる構造化文書としては、ＨＴＭＬ、ＸＭＬなどのＨＴＴＰプロトコルによりサポートされた構造化文書を挙げることができ、ＸＭＬ文書を使用することにより、より柔軟な利用形態を提供することができる。
【００３７】
画像形成装置１００は、アプリケーションを実行する場合、どのような機能が利用可能か、または使用予定の機能がサポートされているかの情報を、予め画像形成装置１００のＮＶＲＡＭなどの不揮発性記憶装置に格納した設定情報を問い合わせ、利用可能な機能のみを、例えばアクティブ表示させ、利用できない機能を、操作部１０８上でグレイ表示させることで、ユーザに通知することができる。また、特定のサービスが利用可能な場合は、そのサービスが利用可能なパラメータの設定範囲についても、例えば、ＮＶＲＡＭなどに設定情報として格納させておいても良い。画像形成装置１００が、ハードウェア装置の設定情報を取得して、プラットフォームの提供可能機能と照合することにより、実際に実行可能な機能のみを提供することが可能となる。これにより、元々提供可能な機能が、何らかの不具合により提供できなくなっている場合でも、アプリケーションをユーザまたはサービスマンが使用不可に設定する手間を省くことができる。
【００３８】
図３は、画像形成装置１００に対して個別ニーズに対応した追加アプリケーションをインストールする場合の実施形態を示す。追加されるアプリケーション３０６は、複数のメソッドまたは関数３０８を含んで構成されている。アプリケーション３０６のインストールは、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＵＳＢメモリ、ＳＤカードなどの媒体を介してインストールすることができる。また他の実施形態では、ＨＴＴＰプロトコルまたはＦＴＰプロトコルにより、インターネットなどのネットワークを介してダウンロードし、makefileなどを含む実行ファイルを使用して画像形成装置１００上でコンパイルすることによりインストールすることができる。この際に、画像形成装置１００は、対応する制御ソフトウェアモジュールおよびドライバソフトウェアを共にインストールし、インタフェース部（ＡＰＩ）３１４として機能させる。
【００３９】
また、インストールされたアプリケーションのポート番号、利用するハードウェア装置のＩ／Ｏアドレスなどは、インストール処理の終了時、リソース制御モジュール１１８または画像形成装置１００を管理する適切なモジュールが管理する、画像形成装置１００の利用可能なすべてのリソースを登録するテーブルに登録される。さらに、リソース状況テーブル３１２は、リソース管理のために使用するリソース情報３０２を登録しており、新たに追加されたアプリケーションまたはハードウェア装置の利用状態をカウントする。なお、画像形成装置資源ＩＤは、ソフトウェア資源およびハードウェア資源を識別し、リソース管理で想定される可能な管理項目をアトミックに識別できるように、アプリケーション、制御ソフトウェアモジュール、メソッド、関数、およびハードウェア制御ユニット、またはサービスを識別する識別値として登録することができる。
【００４０】
さらに、リソース状況テーブル３１２は、リソース情報として、画像形成装置資源の利用を管理するためのカウント値または利用時間などのカウントタイプおよび利用形態に対応してリストするべき画像形成装置資源の組み合わせなどを指定する情報であるカウントオプションなどが登録されていてもよい。
【００４１】
画像形成装置１００は、操作部１０８から所定の機能を要求するユーザ入力された場合またはファクシミリの自動受信機能が起動されると、ＯＳ３１０は、アプリケーション３０６を呼出し、処理のためにメソッドを呼び出して処理を実行させる処理後、実行結果を、インタフェース部（ＡＰＩ）３１４を介して処理装置３０４に送信する。アプリケーション３０６による処理が開始した段階および終了した段階で、アプリケーション３０６は、リソース制御モジュール１１８に対しプロセス通信を使用して、開始および終了を通知する。また、インタフェース部３１４についても処理装置３０４への指令発行および処理装置による処理終了を、リソース制御モジュール１１８に対しプロセス間通信を使用して通知する。
【００４２】
リソース制御モジュール１１８は、通知を受領するごとにリソース状況テーブル３１２のエントリ項目を登録または更新する。さらにリソース制御モジュール１１８は、処理装置３０４が起動され、処理を終了したことを通知する各メッセージを受け付けると、対応する処理装置またはサービスまたはアプリケーションのいずれかまたはすべてのエントリについてカウンタまたは処理時間を計算する。計算されたデータは、リソース状況テーブル３１２の対応するフィールドの値を更新するために使用され、インストール済みのアプリケーションを利用したサービスの利用回数または利用時間を取得する。取得した利用回数は、ＮＶＲＡＭなどの記憶装置に設定期間ごとに送付され、次の設定期間のカウントまたは計時が開始される。
【００４３】
図４は、リソース状況テーブル３１２の実施形態のうちの一部構成を示す。図４に示した実施形態では、リソース状況テーブル３１２は、サービスを識別するための識別値としてサービス名と、リソース状態と、カウント値（利用時間）とを登録するフィールドが設けられている。なお、図４に示したリソース状況テーブル３１２は、図４に示す以外にもソフトウェア資源およびハードウェア資源に関連するいかなる識別値または状態情報でもエントリすることができる。
【００４４】
図４に示した実施形態では、フィールド３１２ａは、サービスを提供するためのサービス名をエントリする実施形態とされている。サービス名を使用して使用回数をモニタする場合、当該サービスが使用するメソッドまたは関数の呼出しを個別にカウントし、サービスの利用回数としてカウントすることができる。また、フィールド３１２ａには、サービス名ではなく、プログラムＩＤ、メソッドＩＤ、関数ＩＤ、ハードウェアＩＤなどの各種の識別値を個別に登録することもできる。
【００４５】
以下、画像形成装置１００が追加アプリケーションを検出した場合の処理について説明する。画像形成装置１００は、プロセス間通信を受領して、対応するソフトウェア資源または、ハードウェア資源について、リソース制御モジュール１１８が管理する画像形成装置１００のすべての資源識別値を管理するテーブルから、その時点で登録されている画像形成装置資源を照会する。この段階で、対応する識別値が見出されない場合、追加アプリケーションであると判断し、テーブルへと、プロセス間通信で受領した情報を登録する。その後、図４に示したリソース状況テーブル３１２のレコードに当該アプリケーションのサービス名などを追加して新たなレコードを生成し、以後、リソース利用状態を管理する。また、アプリケーションがアンインストールされた場合には、アンインストール処理の最終プロセスでリソース制御モジュール１１８にプロセス間通信によりアンインストールを示す値およびアンインストール後に残された資源などの通知を行い、ハードウェア機能の除去などに対応してアプリケーションがアンインストールされた場合には、削除される。アンインストール時に資源管理を行わないことにより、リソース管理の精度をより向上させることができる。
【００４６】
フィールド３１２ｂは、当該サービスの実行状況が登録される。図４の実施形態では、サービス名「ファックス」が「ＡＣＴＩＶＥ」としてフィールド３１２ｂに登録され、その他、ファイル転送、メールなどのサービスは現在サービスを提供していないことを示す値として「ＯＦＦ」の値が登録されている。フィールド３１２ｂは、該当するサービスを提供する制御ソフトウェアモジュール１２２〜１３２からのプロセス間通知を受領して、対応するサービスのフィールド３１２ｂの値を更新される。
【００４７】
また、リソース状況テーブル３１２のフィールド３１２ｃは、当該サービスがアクティブとされた回数をカウントし、カウント値を設定期間にわたり積算する。なお、他の実施形態では、サービスが起動されたことを通知するメッセージを受領した時点のシステム時刻を取得しておき、サービスが終了した時点でのシステム時刻をさらに取得し、サービスがアクティブであった時間を計算し、当該時間を設定期間にわたり積算し、カウントの代わりにサービス利用時間とすることができる。
【００４８】
設定期間が満了すると、画像形成装置１００は、リソース状況テーブル３１２をＮＶＲＡＭなどの不揮発性記憶装置に格納し、フィールド３１２ｃのエントリをクリアして、次の設定期間のカウントまたは積算時間の取得を開始する。このデータは、各機能の使用状況情報として使用される。ＮＶＲＡＭなどに登録する場合、このデータは、所定の暗号化などのセキュリティ強化処理が施された後、二重化して不揮発性記憶装置に冗長保持される。
【００４９】
画像形成装置１００は、上述した処理を使用し、画像形成装置１００に設置時から組み込まれたハードウェア装置の制御に関するモジュール以外に、後から追加することが可能な機能モジュールについても、追加モジュールによるリソース利用状況情報を取得して保持することを可能とする。
【００５０】
図５は、アプリケーションが呼び出すメソッドまたは関数の実施形態を示す。図５中、下位処理部５００は、ハードウェア制御ユニット１３６〜１４６などのデバイスドライバ群を示す。下位処理部５００に含まれるプログラム群は、直接装置を制御するモジュールでありＣ言語などによって記述されているが、これらは他のプログラミング言語、あるいはアセンブラ言語等を用いてもかまわない。また、システム部５０２は、ＯＳおよびミドルウェアを含むプログラム群を示す。また、アプリケーション群２０２〜２０８は、エンジン制御、メモリ制御、ファックス制御などのそれぞれのアプリケーションごとに、当該アプリケーションが呼び出すメソッド５０４を含んで構成される。なお、メソッドの他、関数を含んでいても良い。
【００５１】
図５の実施形態では、各種サービスを提供するため、Ｊａｖａ（登録商標）のクラスとして実装し、仮想マシン上で、各クラスを実行させることでアプリケーションの機能を提供している。さらに、アプリケーションのクラスはそれぞれがメソッド５０４を直接呼び出すものとして示している。他の実施形態の画像形成装置１００は、アプリケーション間での設定を簡略化させるため、一連の設定または処理をシーケンスとして単一のメソッドとしてラッピングし、より直接的にサービスを提供しても良い。さらに他の実施形態では、画像形成装置１００は、複数のアプリケーションにわたり共通するメソッドについて抽象クラスとして定義されていて、異なるアプリケーションからの呼出しに対応して具象クラスを生成させ、それぞれのアプリケーションに対応する処理を実行させることができる。
【００５２】
また、図５中、オプションで示したアプリケーション５０６は、個別ニーズに対応して追加された追加アプリケーションであり、メソッドとしてＯＣＲおよびバーコードデコーダが登録されているのが示されている。図５に示した実施形態では、アプリケーション５０６は、ＯＣＲおよびバーコードについてはハードウェア装置の追加を伴わず、ＯＣＲメソッドまたはＯＣＲデコードメソッドの追加で対応されている。この場合、リソース状況テーブル３１２には、サービス名またはメソッド名として「ＯＣＲ」または「バーコード」などとして、新規レコードとして作成され、以後の管理が行われる。
【００５３】
図６は、ＮＶＲＡＭなどの不揮発性記憶装置に登録される利用状況情報データのデータ構造６００の実施形態を示す。図６に示したデータ構造は、ユーザが使用したサービス名に対して、当該サービス名６０２の利用回数が設定期間内に何回利用されたかを示すカウント値６０４を対応して登録した構造とされている。画像形成装置１００は、図６に示したデータ構造を使用して、課金計算モジュールを使用して計算処理を実行することができる。また、他の実施形態では、画像形成装置１００は、図６に示したデータをＦＴＰまたはＨＴＴＰなどのプロトコルを使用して、遠隔的に設置されたパーソナルコンピュータや管理サーバに送付し、課金計算を実行させることができる。
【００５４】
なお、図６に示したデータ構造を得るため、アプリケーションが、複数枚（この例では３面）の原稿を読み取り、第１面には読み取った画像データの処理に関する指示がバーコードにより指定されているものとし、第２面、第３面の画像データよりＯＣＲアプリケーションによってテキスト情報を抽出し、画像形成装置１００に蓄積させ、さらに、ネットワーク機能を介して所定のパーソナルコンピュータ、あるいはファイルサーバに転送する処理を実行し、その後、さらに、結果確認のため、テキスト印刷機能を利用して、ＯＣＲによる抽出情報の印刷を行なう場合の資源利用を、ジョブ単位のカテゴリーに分けたデータ構造としている。
【００５５】
上述したユーザ操作により、ユーザが利用したアプリケーションは、
（１）装置に標準で組み込まれている機能
（２）スキャン、ファイル蓄積、ファイル送信、印刷
（３）追加機能（アプリケーション）
バーコード（解析）、ＯＣＲ
となる。
【００５６】
これらの情報は、使用状況情報としてアプリケーションを識別するためのサービス名、プログラムＩＤなどの識別値ごとにリソース状況テーブル３１２が管理し、設定期間が終了した後に、課金計算モジュールにより適切なフォーマットとして作成される。さらに、他の実施形態では、画像形成装置１００は、ユーザごとにユーザコードを割り当て、ユーザコードごとにカウント値または利用時間などの情報を取得し管理することも可能である。
【００５７】
図７は、画像形成装置１００が個別ニーズに対応するアプリケーションがインストールされた場合にリソース状況テーブル３１２のレコードに新たなエントリ項目を登録する処理の実施形態を示す。処理は、ステップＳ７００から開始し、ステップＳ７０１でオプション機能を提供するアプリケーションの追加（インストール）が行われる。ステップＳ７０２では、インストールの終了時のプロセス通信を受領したリソース制御モジュール１１８が、その時点で登録されているすべての資源をリストするテーブルと、取得したサービス名などのサービス識別値を照会して、一致するサービス識別値などがない場合に、リソース状況テーブル３１２に新規レコードを登録し、当該新規レコードに、プロセス間通信で受領したサービス識別値などの値を登録する。処理は、その後、ステップＳ７０３で終了し、以後、外部入力に対応したオブション機能を要求する操作部１０８からの指令を待機する。
【００５８】
図８は、画像形成装置１００が実行するリソース管理方法の処理の実施形態を示す。図８の処理は、ステップＳ８００から開始し、ステップＳ８０１で、リソース制御モジュール１１８が、プロセス間通信を受領する。ステップＳ８０２で、プロセス間通信のメッセージまたはデータを解析し、リソース状況テーブル３１２のリソース状態のステータスを、対応するサービス識別値（サービス名）などの画像形成装置資源の識別値ごとに、受領したメッセージまたはデータに対応するように更新させ、同時に、カウント値または利用時間などを更新する。
【００５９】
ステップＳ８０３で、カウント値または利用時間を積算するために設定された設定期間の満了に対応して、カウント値または利用時間をＮＶＲＡＭなどの不揮発性記憶装置に格納する。ステップＳ８０４では、ＮＶＲＡＭ内のデータを設定期間内の使用履歴による料金計算を行うために、プリント出力、ＳＤカードなどの記憶装置への格納、サーバまたはパーソナルコンピュータへのネットワークを介してアップロードなどの処理を実行する。ステップＳ８０５では、リソース状況テーブル３１２のカウント値または利用時間をクリアし、次の設定期間のカウントまたは利用時間の積算を開始させるため、ステップＳ８０１に処理を戻す。なお、他の実施形態では、ステップＳ８０５の処理は、サーバなどに過去の直前のカウント値または利用時間がログなどとして残されている場合には、リソース状況テーブル３１２のカウント値または利用時間をリセットせずに、連続して積算を行ってもよい。
【００６０】
以上説明したように、本実施形態の画像形成装置は、実際に市場に提供された後に、画像形成装置に開発元または開発元以外が開発したアプリケーションが追加された場合や、アプリケーション機能の追加／修正、新規開発されたオプション機能に対応するアプリケーションの追加される場合でも、アプリケーションのインストール／アンインストールに対応して、利用可能なサービス／機能に対応した利用履歴を取得することが可能となる。また、追加機能を提供するアプリケーションが開発された場合に、インストールを行うだけで、自動的に追加の機能に対する課金処理を含むリソース管理を可能とし、メンテナンスコストを抑制することができる。この結果、ユーザの個別ニーズに対応しつつ、個別ニーズにより発生した追加のサービスに対して容易滑適切に対価要求が可能となる。
【００６１】
本発明の上記機能は、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）、Ｊａｖａ（登録商標）Ｂｅａｎｓ、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ、Ｐｅｒｌ、Ｒｕｂｙなどの、レガシープログラミング言語またはオブジェクト指向ブログラミング言語などで記述された装置実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。
【００６２】
これまで本発明について、実施形態をもって説明してきたが、本発明は、実施形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【図面の簡単な説明】
【００６３】
【図１】画像形成装置のソフトウェア／ハードウェア構成の実施形態を示したブロック図。
【図２】画像形成装置のソフトウェア構造を階層構造として示した図。
【図３】画像形成装置に対して個別ニーズに対応した追加アプリケーションをインストールする場合の実施形態を示した図。
【図４】リソース状況テーブルの実施形態のうちの一部構成を示した図。
【図５】アプリケーションが呼び出すメソッドまたは関数の実施形態を示した図。
【図６】ＮＶＲＡＭなどの不揮発性記憶装置に登録される利用状況情報データのデータ構造の実施形態を示した図。
【図７】画像形成装置が個別ニーズに対応するアプリケーションがインストールされた場合にリソース状況テーブルのレコードに新たなエントリ項目を登録する処理の実施形態を示した図。
【図８】画像形成装置が実行するリソース管理方法の処理の実施形態を示した図。
【符号の説明】
【００６４】
１００…画像形成装置、１０２…通信装置、１０４…通信インタフェースユニット、１０６…通信許可スイッチ、１０８…操作部、１１０…ＲＯＭ、１１２…ＲＡＭ、１１４…通信関連制御モジュール、１１６…操作部制御モジュール、１１８…リソース制御モジュール、１２２〜１３２…制御ソフトウェアモジュール群、１３４…内部バス、１３６〜１４６…ハードウェア制御ユニット群、１４８…ＪＶＭ、２００…ソフトウェア構造、２０２〜２０８…アプリケーション、２１０…ハードウェア層、２１２…アプリケーション層、２１４…ミドルウェア層、２１６…オプションＨＷ、３０２…リソース情報、３０４…処理装置、３０６…アプリケーション、３０８…メソッドまたは関数、３１０…ＯＳ、３１２…リソース状況テーブル、３１４…ＡＰＩ、５００…下位処理部、５０２…システム部、５０４…メソッド、５０６…アプリケーション、６００…データ構造（利用状況情報データ）
【図１】
2008204270.tif 000003
【図２】
2008204270.tif 000004
【図３】
2008204270.tif 000005
【図４】
2008204270.tif 000006
【図５】
2008204270.tif 000007
【図６】
2008204270.tif 000008
【図７】
2008204270.tif 000009
【図８】
2008204270.tif 000010