(57)【要約】【課題】エミュレート装置のメンテナンスやバージョンアップを容易とする。【解決手段】プリンタ１２のエミュレート動作を行うプリンタエミュレータ１７は、プリンタ１２のステータスデータを予め記憶し、アプリケーション１６からプリンタ１２に対するステータス通知要求がなされた場合に予め記憶したステータスデータのうちからステータスデータを選択し、アプリケーション１６に通知する。【選択図】図１
2007241672.tif 000002
【特許請求の範囲】
【請求項１】
エミュレート対象デバイスのエミュレート動作を行うエミュレート装置において、
前記エミュレート対象デバイスのステータスデータを予め記憶するステータスデータ記憶部と、
外部より前記エミュレート対象デバイスに対するステータス通知要求がなされた場合に前記ステータスデータ記憶部から読み出された前記ステータスデータを通知するステータス通知部と、
を備えたことを特徴とするエミュレート装置。
【請求項２】
請求項１記載のエミュレート装置において、
前記ステータスデータ記憶部から読み出すべき前記ステータスデータを選択するステータス選択部を備えたことを特徴とするエミュレート装置。
【請求項３】
請求項２記載のエミュレート装置において、
前記ステータス選択部は、ランダムに選択したステータスデータ、予め設定した設定ファイルで指定されたステータスデータ、予め指定されたステータスデータのうちいずれかを選択することを特徴とするエミュレート装置。
【請求項４】
請求項２記載のエミュレート装置において、
前記エミュレート対象デバイスの操作状態を設定可能な操作状態設定部を備え、
前記ステータス選択部は、設定された前記エミュレート対象デバイスの操作状態に対応するステータスデータを選択することを特徴とするエミュレート装置。
【請求項５】
請求項２ないし請求項４のいずれかに記載のエミュレート装置において、
前記ステータスデータは、時系列的要素を含み、
前記ステータス選択部は、関連する複数のステータスデータを時系列的に選択することを特徴とするエミュレート装置。
【請求項６】
エミュレート対象デバイスと、前記エミュレート対象デバイスと通信可能に接続されたエミュレート装置と、を備えたエミュレートシステムにおいて、
前記エミュレート装置は、前記エミュレート対象デバイスに対し、ステータス通知要求を送信するステータス通知要求部と、
前記ステータス通知要求に基づいて前記エミュレート対象デバイスから送信された、当該エミュレート対象デバイスの動作状態あるいは操作状態に対応づけたステータスデータを取得するステータスデータ取得部と、
取得した前記エミュレート対象デバイスのステータスデータを記憶するステータスデータ記憶部と、を備え、
前記エミュレート対象デバイスは、前記ステータス通知要求を受信するステータス通知要求受信部と、
前記ステータス通知要求に基づいて、当該エミュレート対象デバイスの動作状態あるいは操作状態に対応づけたステータスデータを送信するステータス通知部と、を備えた、
ことを特徴とするエミュレートシステム。
【請求項７】
エミュレート対象デバイスのエミュレート動作を行うエミュレート装置の制御方法において、
前記エミュレート対象デバイスのステータスデータを予め記憶するステータスデータ記憶過程と、
外部より前記エミュレート対象デバイスに対するステータス通知要求がなされた場合に前記ステータスデータ記憶部から読み出された前記ステータスデータを通知するステータス通知過程と、
を備えたことを特徴とするエミュレート装置の制御方法。
【請求項８】
エミュレート対象デバイスのステータスデータを予め記憶するステータスデータ記憶部を備え、前記エミュレート対象デバイスのエミュレート動作を行うエミュレート装置をコンピュータにより制御するための制御プログラムにおいて、
外部からの前記エミュレート対象デバイスに対するステータス通知要求を受信させ、
前記ステータス通知要求が受信された場合に前記ステータスデータ記憶部から読み出された前記ステータスデータを通知させる、
ことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エミュレート装置、エミュレートシステム、エミュレート装置の制御方法および制御プログラムに係り、特にプリンタなどのデバイス上で動作するアプリケーションの開発時にアプリケーションからのステータス要求に対してエミュレート対象デバイスのステータス情報（ステータスデータ）を通知するエミュレート装置、エミュレートシステム、エミュレート装置の制御方法および制御プログラムに関する。
【背景技術】
【０００２】
従来より、プリンタなどの各種デバイスで動作するアプリケーションプログラム（以下、単にアプリケーションという。）を開発する場合に、対応するデバイスの動作をエミュレートするデバイスエミュレータを用いることが一般的に行われている。
ところで、プリンタなどの各種デバイス上で動作するアプリケーションは、多くの場合、各デバイスを構成するハードウェアの機能の提供を受け、あるいは、ハードウェアが提供する情報を取得して、これらを利用して動作する。
このようなアプリケーションの開発には、実際のデバイス（実機デバイス）での動作確認が不可欠であるが、アプリケーションの開発段階において、全ての動作確認を実機デバイスで行うのは、非常に手間がかかるとともに、アプリケーションの不具合が多くなると効率的ではなかった。
【０００３】
これを解決すべく、特許文献１に示されるように、アプリケーションの開発を、ワークステーションやパーソナルコンピュータ上で動作してデバイスの動作をエミュレートするデバイスエミュレータを利用して、効率的にアプリケーションを開発する方法が提案されている。
このようなデバイスエミュレータを利用することで、アプリケーション開発の大半をワークステーションやパーソナルコンピュータ上で行うことができ、実機デバイスにおけるテストは、デバイスエミュレータが実装していない機能あるいはアプリケーション完成後の最終確認にのみ限定することができ、開発効率の向上に寄与することとなっていた。
【特許文献１】特開２００４−１８５５９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、デバイスエミュレータは、実機デバイスと同一の振る舞いをすることが前提であり、実機デバイスのモデルチェンジ、ファームウェアのアップデートの度にデバイスエミュレータも更新しなければならない。
このため、デバイスエミュレータはメンテナンスやバージョンアップに多大なコストを要してしまうという問題点があった。
そこで、本発明の目的は、メンテナンスやバージョンアップが容易なエミュレート装置、エミュレートシステム、エミュレート装置の制御方法および制御プログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、エミュレート対象デバイスのエミュレート動作を行うエミュレート装置において、前記エミュレート対象デバイスのステータスデータを予め記憶するステータスデータ記憶部と、外部より前記エミュレート対象デバイスに対するステータス通知要求がなされた場合に前記ステータスデータ記憶部から読み出された前記ステータスデータを通知するステータス通知部と、を備えたことを特徴としている。
上記構成によれば、ステータスデータ記憶部は、エミュレート対象デバイスのステータスデータを予め記憶する。
これにより、ステータス通知部は、外部よりエミュレート対象デバイスに対するステータス通知要求がなされた場合にステータスデータ記憶部から読み出されたステータスデータを通知する。
したがって、エミュレート装置を構築する際に、エミュレート対象デバイスからステータスデータを取り込めばよいので、プリンタなどのエミュレート対象デバイスのバージョンアップやメンテナンスがなされた場合であっても、エミュレート装置を作り直すことなく、デバイスエミュレータを再構築でき、デバイスエミュレータのメンテナンスやバージョンアップが容易となる。
【０００６】
この場合において、前記ステータスデータ記憶部から読み出すべき前記ステータスデータを選択するステータス選択部を備えるようにしてもよい。
したがって、エミュレータ装置は、エミュレート対象デバイスの複数のステータスを模擬し、実際の動作に近いステータスデータを通知することができる。
また、前記ステータス選択部は、ランダムに選択したステータスデータ、予め設定した設定ファイルで指定されたステータスデータ、予め指定されたステータスデータのうちいずれかを選択するようにしてもよい。
したがって、エミュレート対象デバイスの実際の動作に近いステータスデータを通知し、設定した条件下の動作に近いステータスデータを通知し、あるいは、ユーザの所望のステータスデータを通知させることができる。
さらに、前記エミュレート対象デバイスの操作状態を設定可能な操作状態設定部を備え、前記ステータス選択部は、設定された前記エミュレート対象デバイスの操作状態に対応するステータスデータを選択するようにしてもよい。
したがって、エミュレート対象デバイスの操作状態に応じたステータスデータを通知することができる。
さらにまた、前記ステータスデータは、時系列的要素を含み、前記ステータス選択部は、関連する複数のステータスデータを時系列的に選択するようにしてもよい。
したがって、エミュレート対象デバイスのステータスの時間的変化に沿ったステータスデータを通知することができる。
【０００７】
また、エミュレート対象デバイスと、前記エミュレート対象デバイスと通信可能に接続されたエミュレート装置と、を備えたエミュレートシステムにおいて、前記エミュレート装置は、前記エミュレート対象デバイスに対し、ステータス通知要求を送信するステータス通知要求部と、前記ステータス通知要求に基づいて前記エミュレート対象デバイスから送信された、当該エミュレート対象デバイスの動作状態あるいは操作状態に対応づけたステータスデータを取得するステータスデータ取得部と、取得した前記エミュレート対象デバイスのステータスデータを記憶するステータスデータ記憶部と、を備え、前記エミュレート対象デバイスは、前記ステータス通知要求を受信するステータス通知要求受信部と、前記ステータス通知要求に基づいて、当該エミュレート対象デバイスの動作状態あるいは操作状態に対応づけたステータスデータを送信するステータス通知部と、を備えたことを特徴としている。
【０００８】
上記構成によれば、エミュレート装置のステータス通知要求部は、エミュレート対象デバイスに対し、ステータス通知要求を送信する。
これにより、エミュレート対象デバイスのステータス通知要求受信部は、ステータス通知要求を受信し、ステータス通知部は、ステータス通知要求に基づいて、当該エミュレート対象デバイスの動作状態あるいは操作状態に対応づけたステータスデータをエミュレート装置に送信する。
これにより、エミュレート装置のステータスデータ取得部は、エミュレート対象デバイスから送信された、当該エミュレート対象デバイスの動作状態あるいは操作状態に対応づけたステータスデータを取得し、ステータスデータ記憶部は、取得したエミュレート対象デバイスのステータスデータを記憶する。
したがって、エミュレートシステムを構築する際に、エミュレート対象デバイスからステータスデータを取り込めばよいだけなので、プリンタなどのエミュレート対象デバイスのバージョンアップやメンテナンスがなされた場合であっても、エミュレート装置を作り直すことなく、デバイスエミュレータを再構築でき、デバイスエミュレータのメンテナンスやバージョンアップが容易となる。
【０００９】
また、エミュレート対象デバイスのエミュレート動作を行うエミュレート装置の制御方法において、前記エミュレート対象デバイスのステータスデータを予め記憶するステータスデータ記憶過程と、外部より前記エミュレート対象デバイスに対するステータス通知要求がなされた場合に前記ステータスデータ記憶部から読み出された前記ステータスデータを通知するステータス通知過程と、を備えたことを特徴としている。
したがって、エミュレート装置を制御するに先立って、エミュレート対象デバイスからステータスデータを取り込めば、プリンタなどのエミュレート対象デバイスのバージョンアップやメンテナンスがなされた場合であっても、エミュレート装置を作り直すことなく、デバイスエミュレータを再構築でき、デバイスエミュレータのメンテナンスやバージョンアップが容易となる。
【００１０】
また、エミュレート対象デバイスのステータスデータを予め記憶するステータスデータ記憶部を備え、前記エミュレート対象デバイスのエミュレート動作を行うエミュレート装置をコンピュータにより制御するための制御プログラムにおいて、外部からの前記エミュレート対象デバイスに対するステータス通知要求を受信させ、前記ステータス通知要求が受信された場合に前記ステータスデータ記憶部から読み出された前記ステータスデータを通知させる、ことを特徴としている。
したがって、エミュレート装置において、エミュレート対象デバイスからステータスデータを取り込んでおけば、プリンタなどのエミュレート対象デバイスのバージョンアップやメンテナンスがなされた場合であっても、エミュレート装置を作り直すことなく、デバイスエミュレータを再構築でき、デバイスエミュレータのメンテナンスやバージョンアップが容易となる。
【発明を実施するための最良の形態】
【００１１】
次に本発明の好適な実施の形態について図面を参照して説明する。
図１は実施形態のアプリケーション開発システムの概要構成ブロック図である。
アプリケーション開発システム１０は、ハードウェア的には、アプリケーション開発用パーソナルコンピュータ１１と、アプリケーションを実際に動作させようとするデバイスであるプリンタ１２と、パーソナルコンピュータ１１とプリンタ１２とを結ぶ通信ケーブル（あるいはＬＡＮ）１３と、を備えている。
この場合において、開発対象のアプリケーションとしては、正規のユーザによる印字出力であるか否かを判別するための認証アプリケーション、複数のプリンタで処理を分散（例えば、１００部の印刷を５台のプリンタで２０部ずつ印刷させる等）して行わせるクラスタプリント（分散印刷）アプリケーション、印刷対象の画像に対して処理を行う画像処理アプリケーション、プリンタ１１のステータスを管理サーバ、あるいは課金サーバなどに通知したり、メンテナンスや消耗品補充のためにサービス会社に通知するなどの状態管理アプリケーションなどがあげられる。
【００１２】
パーソナルコンピュータ１１は、各種情報を表示するためのディスプレイ１４と、開発者であるユーザが各種情報を入力するためのキーボードなどの入力装置１５と、開発対象のアプリケーション１６およびエミュレート対象デバイスであるプリンタ１２のエミュレートを行うプリンタエミュレータ（デバイスエミュレータ）１７が動作するパーソナルコンピュータ本体１８と、を備えている。
【００１３】
図２は、パーソナルコンピュータ本体の概要構成ブロック図である。
パーソナルコンピュータ本体１８は、パーソナルコンピュータ本体１８全体を制御するためのＣＰＵ２１と、各種制御プログラムを予め記憶したＲＯＭ２２と、各種データを一時的に記憶するＲＡＭ２３と、入力装置１５との間のインタフェース動作を行う入力インタフェース（Ｉ／Ｆ）２４と、ディスプレイ１４において各種表示を行うべくインタフェース動作を行う表示インタフェース（Ｉ／Ｆ）２５と、エミュレート情報データベースなどの大容量データを記憶するためのハードディスクなどに代表される（外部）記憶装置２６と、通信ケーブル（あるいはＬＡＮ）１３を介した外部との通信におけるインタフェース動作を行う通信インタフェース（Ｉ／Ｆ）２７と、上述したパーソナルコンピュータ本体１８の各構成要素２１〜２７間を通信可能に接続するバス２８と、を備えている。
【００１４】
図３は、プリンタの概要構成ブロック図である。
プリンタ１２は、プリンタ１２全体を制御するためのＣＰＵ３１と、各種制御プログラムを予め記憶したＲＯＭ３２と、各種データを一時的に記憶するＲＡＭ３３と、通信ケーブル（あるいはＬＡＮ）１３を介した外部との通信におけるインタフェース動作あるいは実際の印刷を行う印刷機構３５またはメモリカードなどの記憶装置３６との通信におけるインタフェース動作を行う通信インタフェース（Ｉ／Ｆ）３４と、上述したＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３あるいは通信インタフェース３４間を通信可能に接続するバス３７と、を備えている。
【００１５】
図４は、パーソナルコンピュータ本体上で動作するプリンタエミュレータの機能構成ブロック図である。
プリンタエミュレータ１７は、エミュレート情報データベースを構築するに際し、プリンタ１２のステータスデータを取得するための制御を行うステータス取得部４１と、ステータス取得部４１の制御下でプリンタ１２に対し、通信ケーブル１３を介してステータス通知要求（ステータス通知要求データ）を送信するステータス通知要求送信部４２と、ステータス通知要求に応じてプリンタ１２から通信ケーブル１３を介して送信されたステータス通知（ステータス通知データ）を受信し、ステータス取得部４１にステータスデータを引き渡すステータス通知受信部４３と、ステータス取得部４１が取得したステータスデータをエミュレート情報データベース４４Ａとして記憶するステータス記憶部４４と、開発対象のアプリケーション（図４中、開発アプリと表記。以下同様。）からステータス通知要求を受信し、その旨を後述するステータス選択部に引き渡すステータス通知要求受信部４５と、開発対象のアプリケーションによるプリンタ操作命令あるいはユーザの指示によりプリンタ操作状態を設定し、設定状態を後述するステータス選択部４７に引き渡すプリンタ操作状態設定部４６と、開発対象のアプリケーションからのステータス通知要求あるいはプリンタ操作状態設定部４６において設定されたプリンタ操作状態に基づいてアプリケーションあるいは開発者であるユーザに通知すべきステータスデータをステータス記憶部４４から選択するステータス選択部４７と、ステータス選択部４７により選択されたステータスデータを通知するステータス通知部４８と、を備えている。
【００１６】
図５は、プリンタの機能構成ブロック図である。
プリンタ１２は、当該プリンタ１２の操作状態（あるいは動作状態）を取得する操作状態取得部５１と、プリンタ１２の操作状態に対応づけてステータスデータを保持するステータス保持部５２と、通信ケーブル１３を介してパーソナルコンピュータ本体１８上で動作しているプリンタエミュレータ１７のステータス通知要求送信部４２からのステータス通知要求を受信するステータス通知要求受信部５３と、ステータス通知要求に基づいてステータス保持部５２に保持されているステータスデータをプリンタエミュレータ１７のステータス通知受信部４３に対して通知するステータス通知部５４と、を備えている。
【００１７】
次に具体的な動作について説明する。
図６は、プリンタエミュレータのステータス情報取得時の処理フローチャートである。
まず、プリンタエミュレータ１７がエミュレート情報データベースを構築すべくステータスデータ（ステータス情報）を取得する際の動作について説明する。
エミュレート情報データベースを構築する際には、開発者であるユーザは、プリンタ１２を操作して所望の状態（ステータス）にプリンタの操作状態（あるいは動作状態）を変更する（ステップＳ１１）。
具体的には、プリンタの操作状態（あるいは動作状態）としては、印刷状態、プリンタ設定操作状態（トレイの用紙サイズ変更、ＩＰアドレス変更、ＭＩＢ（Management Information Base）値設定操作）、消耗品消費状態、消耗品交換操作状態、待機状態（正常状態）、用紙切れ状態、用紙補充操作状態、紙詰まり状態、紙詰まり復旧操作状態、操作ボタンの操作状態、カバーオープン状態、印刷状態、オフライン状態、リブート状態、起動操作状態、停止操作状態などがある。
【００１８】
図７は、プリンタのステータス情報保存時の処理フローチャートである。
プリンタの操作状態（あるいは動作状態）がユーザにより変更されると（ステップＳ２１）、プリンタ１２の操作状態取得部５１は、当該プリンタ１２の操作状態（あるいは動作状態）を取得し、ステータス保持部５２は、プリンタ１２の操作状態に対応づけてステータスデータを保持することとなる（ステップＳ２２）。
この状態で、プリンタエミュレータ１７のステータス取得部４１は、プリンタ１２のステータスデータを取得するための制御を開始し、ステータス通知要求送信部４２は、プリンタ１２に対し、通信ケーブル１３を介してステータス通知要求（ステータス通知要求データ）を送信する（ステップＳ１２）。
【００１９】
図８は、プリンタのステータス情報通知時の処理フローチャートである。
これにより、プリンタ１２のステータス通知要求受信部５３は、通信ケーブル１３を介してパーソナルコンピュータ本体１８上で動作しているプリンタエミュレータ１７のステータス通知要求送信部４２からのステータス通知要求を受信する（ステップＳ３１）。
このステータス通知要求の受信に伴い、ステータス通知部５４は、ステータス通知要求に基づいてステータス保持部５２に保持されている現在のステータスデータを取得し（ステップＳ３２）、プリンタエミュレータ１７のステータス通知受信部４３に対して通知する（ステップＳ３３）。
一方、プリンタエミュレータ１７のステータス通知受信部４３は、プリンタ１２から通信ケーブル１３を介して送信されたステータス通知（ステータス通知データ）を受信し、ステータス取得部４１にステータスデータを引き渡す（ステップＳ１３）。
これにより、ステータス記憶部４４は、ステータス取得部４１が取得したステータスデータをエミュレート情報データベース４４Ａに記憶し保存する（ステップＳ１４）。
【００２０】
次にプリンタエミュレータ１７は、ユーザの指示に基づいて次のステータスデータを取得しあるいは同一のステータスデータを再取得するか否かを判別する（ステップＳ１５）。
ステップＳ１５の判別において、ユーザの指示に基づいて次のステータスデータを取得しあるいは同一のステータスデータを再取得する場合には（ステップＳ１５；Ｙｅｓ）、処理を再びステップＳ１１に移行して、以下同様の処理を行う。
ステップＳ１５の判別において、ユーザの指示に基づいてステータスデータの取得を行わない場合には（ステップＳ１５；Ｎｏ）、処理を終了する。
【００２１】
ここで、エミュレート情報データベース４４Ａについて説明する。
図９は、エミュレート情報データベースの説明図である。
エミュレート情報データベース４４Ａは、大別すると、デバイス（本実施形態ではプリンタ）の状態名を表す状態名データ６１と、デバイスを特定するためのＩＤを表すデバイスＩＤデータ６２と、ステータスが時間的要素を含むか否か、並びに複数のステータスが時間的要素を含む場合には時系列状態を表す時間データ６３と、アプリケーションに実際に通知されるステータスデータ６４と、を備えている。
具体的には、状態名データ６１＝「正常」である場合には、対応するデバイスを表すデバイスＩＤデータ６２＝「ＰＲＩＮＴＥＲ−Ｘ：……」が格納される。このとき、「正常」というステータスは時間的要素を含まない、すなわち、正常状態という状態は単一のものであり、時間的に変化する状態ではないので、時間データ６３はステータスが時間的要素を含まないことを表す「０」とされている。
【００２２】
そして、ステータスデータ６４＝「ＮＯＥＲＲＯＲ：ＩＮＫ３０４０５０７０」が格納される。
また、状態名データ６１＝「印刷」である場合には、対応するデバイスを表すデバイスＩＤデータ６２＝「ＰＲＩＮＴＥＲ−Ｘ：……」が格納される。このとき、「印刷」というステータスは時間的要素を含む、すなわち、印刷状態という状態は、複数の状態を含むものであり、時間的に変化する状態であるので、複数のステータスデータ６４が存在することとなる。
印刷状態における第１の時間データ６３はステータスが時間的要素を含み、かつ、最初の状態（あるいはタイミング。以下、同様。）であることを表す「１」とされている。そして、ステータスデータ６４は、データ受信状態を表す「ＲＥＣＥＩＶＩＮＧ：ＩＮＫ２０４０５０６０」が格納される。
【００２３】
印刷状態における第２の時間データ６３はステータスが時間的要素を含み、かつ、第２の状態であることを表す「２」とされている。そして、ステータスデータ６４は、ウォームアップ状態を表す「ＷＡＲＭＵＰ：ＩＮＫ２０４０５０６０」が格納される。
印刷状態における第３の時間データ６３はステータスが時間的要素を含み、かつ、第３の状態であることを表す「３」とされている。そして、ステータスデータ６４は、印字中状態を表す「ＰＲＩＮＴＩＮＧ：ＩＮＫ２０４０５０６０」が格納される。
以上の説明は、一例であり、様々なステータスがエミュレート情報データベース４４Ａに格納されることとなっている。
【００２４】
ここで、エミュレート情報データベース４４Ａにステータスを格納すべく、ステータスを取得させる場合の動作について説明する。
図１０は、ステータス保存画面の一例の説明図である。
このステータス保存画面は、エミュレート対象のデバイス実機からプリンタエミュレータにステータスを取得し、エミュレート情報データベース４４Ａに記憶させるための画面である。
図１２は、ユーザが指定したプリンタの用紙切れ状態のステータスを取り込む場合のものである。
具体的には、ユーザはステータスの取り込みを行うのに先立って、対象となるプリンタを所望のステータス、本例では、用紙切れ状態とする。
この状態において、ユーザは、ステータス保存画面を表示させ、説明欄に「用紙切れ」と入力し、保存ボタンをクリックする。
これにより、「用紙切れ」というステータスがエミュレート情報データベース４４Ａに格納されるとともに、ステータス保存画面には、対応するデバイスのモデル名、ステータスの説明およびステータス取得ログが表示される。
【００２５】
次にプリンタエミュレータがアプリケーションに対してステータスを通知する場合の動作について説明する。
図１１は、プリンタエミュレータのステータス通知時の処理フローチャートである。
プリンタエミュレータ１７のステータス通知要求受信部４５は、開発対象のアプリケーションからステータス通知要求を受信すると、その旨をステータス選択部に引き渡す（ステップＳ４１）。
これにより、ステータス選択部４７は、開発対象のアプリケーションからのステータス通知要求（あるいはプリンタ操作状態設定部４６からのプリンタ操作命令）に基づいてアプリケーションあるいは開発者であるユーザに通知すべきステータスデータをステータス記憶部４４から選択し決定する（ステップＳ４２）。
【００２６】
ここで、ステータス（ステータスデータ）の選択方法としては、例えば、以下のような方法が考えられる。
（１）ランダムにステータス（ステータスデータ）を選択する。この方法によれば、通常では、滅多に発生しないようなステータスについても通知し、アプリケーションの動作を検証することが可能となる。
（２）予め開発者であるユーザが設定した設定ファイルで指定されたステータス（ステータスデータ）を選択する。この方法によれば、特定の状況におけるステータスについてのアプリケーションの処理を検証することが可能となる。
（３）開発者であるユーザが通知すべきステータスを選択する。
図１２は、ステータス選択画面の表示例の説明図である。
図１２に示すように、デバイス種類（図１１では、プリンタ機種）およびステータスを任意に選択でき、類似した複数のデバイスについて並行してアプリケーションを開発する場合にも効率的にアプリケーションの処理を検証することが可能となる。
（４）直前に行われたプリンタ操作に対応したステータスを選択する。この方法によれば、エミュレート対象のデバイスをユーザの任意の状態にした場合のアプリケーションの処理を容易に検証することができる。
続いて、ステータス通知部４８は、ステータス選択部４７により選択されたステータスデータをエミュレート情報データベース４４Ａから取得し（ステップＳ４３）、アプリケーションに対して通知する（ステップＳ４４）。
【００２７】
以上の説明のように、本実施形態によれば、デバイスのモデルチェンジや、ファームウェアアップデートがなされた場合でも、エミュレート対象デバイスの実際の動作状態に応じて、ステータスデータを取得してエミュレート情報データベース４４Ａを構築することができるため、エミュレート動作を確実に行うことができ、エミュレータの開発が容易となる。
【００２８】
以上の説明では、エミュレート情報データベース４４ＡにデバイスＩＤデータおよびステータスデータとしてステータスを表す情報を格納する場合について説明したが、デバイスＩＤデータに加えて、ステータスデータとしてオブジェクトＩＤデータおよびＭＩＢ（Management Information Base）データを格納するように構成することも可能である。
【００２９】
図１３は、変形例のエミュレート情報データベースの説明図である。
エミュレート情報データベース４４Ｂは、大別すると、デバイス（本実施形態ではプリンタ）の状態名を表す状態名データ７１と、ステータスが時間的要素を含むか否か、並びに複数のステータスが時間的要素を含む場合には時系列状態を表す時間データ７２と、動作状態、エラー状態など状態名に対応する情報を表すオブジェクトＩＤデータ７３と、各オブジェクトＩＤデータ７３が表す状態の具体的な状態を表すＭＩＢ値に相当するＭＩＢデータ７４と、を備えている。
具体的には、状態名データ７１＝「正常」である場合には、この「正常」という状態は、時間的要素を含まない、すなわち、正常状態という状態は単一のものであり、時間的に変化する状態ではないので、この場合の時間データ７２が時間的な要素を含まないことを表す「０」とされている。
また、オブジェクトＩＤデータ７３＝「1.3.6.1.2.1.25.3.3.1.5.1」は、デバイスのステータスを表すものであり、このオブジェクトＩＤデータ７３に対応するＭＩＢデータ７４としては、「２」：動作中、「０」：停止中などが格納される。
また、オブジェクトＩＤデータ７３＝「1.3.6.1.2.1.25.3.5.1.1.1」は、プリンタのステータスを表すものであり、このオブジェクトＩＤデータ７３に対応するＭＩＢデータ７４としては、「１」：その他、「３」：アイドル状態、「４」：印刷中などが格納される。
また、オブジェクトＩＤデータ７３＝「1.3.6.1.2.1.25.3.5.1.2.1」は、プリンタのステータスを表すものであり、このオブジェクトＩＤデータ７３に対応するＭＩＢデータ７４としては、「０」：エラーなし、「２」：紙切れなどが格納される。
【００３０】
本変形例の構成においても、予めステータスデータを記憶しておき、記憶したステータスデータを選択してアプリケーションに通知することとなるので、エミュレート装置のメンテナンスやバージョンアップが容易となる。
【００３１】
以上の説明のように、本実施形態によれば、デバイスエミュレータを構築する際に、エミュレーション対象の実機からステータスデータを取り込めばよいので、デバイス（プリンタなど）のバージョンアップやメンテナンスがなされた場合であっても、デバイスエミュレータ本体を作り直すことなく、デバイスエミュレータを再構築でき、デバイスエミュレータのメンテナンスやバージョンアップが容易となる。
以上の説明においては、エミュレーション対象のデバイスとしてプリンタ（印刷装置）の場合について説明したが、これに限られるものではなく、ＰＤＡや携帯電話などの携帯情報機器、パーソナルコンピュータなどの各種情報処理機能を有する情報処理装置であっても、アプリケーションを組み込むことが可能なデバイス（装置）であれば、適用が可能である。
【図面の簡単な説明】
【００３２】
【図１】実施形態のアプリケーション開発システムの概要構成ブロック図である。
【図２】パーソナルコンピュータ本体の概要構成ブロック図である。
【図３】プリンタの概要構成ブロック図である。
【図４】パーソナルコンピュータ本体上で動作するプリンタエミュレータの機能構成ブロック図である。
【図５】プリンタの機能構成ブロック図である。
【図６】プリンタエミュレータのステータス情報取得時の処理フローチャートである。
【図７】プリンタのステータス情報保存時の処理フローチャートである。
【図８】プリンタのステータス情報通知時の処理フローチャートである。
【図９】エミュレート情報データベースの説明図である。
【図１０】ステータス保存画面の一例の説明図である。
【図１１】プリンタエミュレータのステータス通知時の処理フローチャートである。
【図１２】ステータス選択画面の表示例の説明図である。
【図１３】変形例のエミュレート情報データベースの説明図である。
【符号の説明】
【００３３】
１０…アプリケーション開発システム、１１…アプリケーション開発用パーソナルコンピュータ、１２…プリンタ（エミュレート対象デバイス）、１３…通信ケーブル
１４…ディスプレイ、１５…入力装置、１６…アプリケーション、１７…プリンタエミュレータ（エミュレータ装置）、１８…パーソナルコンピュータ本体（エミュレータ装置）１８、４１…ステータス取得部、４２…ステータス通知要求送信部、４３…ステータス通知受信部、４４…ステータス記憶部、４４Ａ…エミュレート情報データベース、４５…ステータス通知要求受信部、４６…プリンタ操作状態設定部、４７…ステータス選択部、４８…ステータス通知部、５１…操作状態取得部、５２…ステータス保持部、５３…ステータス通知要求受信部、５４…ステータス通知部。
【図１】
2007241672.tif 000003
【図２】
2007241672.tif 000004
【図３】
2007241672.tif 000005
【図４】
2007241672.tif 000006
【図５】
2007241672.tif 000007
【図６】
2007241672.tif 000008
【図７】
2007241672.tif 000009
【図８】
2007241672.tif 000010
【図９】
2007241672.tif 000011
【図１０】
2007241672.tif 000012
【図１１】
2007241672.tif 000013
【図１２】
2007241672.tif 000014
【図１３】
2007241672.tif 000015