(57)【要約】【課題】アプリケーションプログラムごとに標準入出力を制御する。【解決手段】複数のアプリケーションプログラム１２０が実行可能に構成されたネットワークプリンタ１であって、標準入力デバイス及び標準出力デバイスを管理する標準入出力管理部１４０を備え、前記標準入出力管理部１４０は、標準入力デバイスとして利用するＵＳＢ入力デバイス４Ａ及び標準出力デバイスとして利用するＵＳＢ出力デバイス４Ｂをアプリケーションプログラム１２０ごとに対応付けて管理し、前記アプリケーションプログラム１２０の標準入力要求または標準出力要求を、当該アプリケーションプログラム１２０に対応付けられているＵＳＢ入力デバイス４Ａに対する入力要求またはＵＳＢ出力デバイス４Ｂへの出力要求に変換する構成とした。【選択図】図２
2007307779.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションプログラムが実行可能に構成された組込機器であって、
標準入力デバイス及び標準出力デバイスを管理する標準入出力管理部を備え、
前記標準入出力管理部は、
標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスをアプリケーションプログラムごとに対応付けて管理し、
前記アプリケーションプログラムの標準入力要求または標準出力要求を、当該アプリケーションプログラムに対応付けられている入力デバイスに対する入力要求または出力デバイスへの出力要求に変換する
ことを特徴とする組込機器。
【請求項２】
請求項１に記載の組込機器において、
前記標準入出力管理部は、
前記アプリケーションプログラムと、前記入力デバイス及び前記出力デバイスとが対応付けられていない場合、
前記アプリケーションプログラムの標準入力デバイス及び標準出力デバイスを所定の標準入力デバイス及び標準出力デバイスとする
ことを特徴とする組込機器。
【請求項３】
請求項１または２に記載の組込機器において、
複数の周辺機器が着脱自在に接続される周辺機器接続手段を備え、
前記標準入出力管理部は、
前記周辺機器接続手段に接続されている周辺機器を前記入力デバイス及び前記出力デバイスとして管理する
ことを特徴とする組込機器。
【請求項４】
請求項３に記載の組込機器において、
前記標準入出力管理部が、
前記周辺機器接続手段に接続された記録デバイスに記録されている情報に基づいて、前記アプリケーションプログラムが標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスを設定可能にした
ことを特徴とする組込機器。
【請求項５】
請求項１乃至４のいずれかに記載の組込機器において、
通信機器と通信ネットワークを介して通信する通信手段を備え、
前記標準入出力管理部が、
前記通信機器から前記通信手段を介して取得した情報に基づいて、前記アプリケーションプログラムが標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスを設定可能にした
ことを特徴とする組込機器。
【請求項６】
請求項１または２に記載の組込機器において、
通信機器と通信ネットワークを介して通信する通信手段を備え、
前記標準入出力管理部は、
前記通信ネットワークを介して通信可能な通信機器を前記入力デバイス及び前記出力デバイスとして管理する
ことを特徴とする組込機器。
【請求項７】
請求項６に記載の組込機器において、
前記標準入出力管理部が、
前記通信機器から前記通信手段を介して取得した情報に基づいて、前記アプリケーションプログラムが標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスを設定可能にした
ことを特徴とする組込機器。
【請求項８】
請求項６または７に記載の組込機器において、
周辺機器が着脱自在に接続される周辺機器接続手段を備え、
前記標準入出力管理部が、
前記周辺機器接続手段に接続された記録デバイスに記録されている情報に基づいて、前記アプリケーションプログラムが標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスを設定可能にした
ことを特徴とする組込機器。
【請求項９】
請求項１乃至８のいずれかに記載の組込機器において、
ＯＳプラットフォーム上に設けられた仮想マシンを備え、
前記仮想マシンが複数の前記アプリケーションプログラムを実行し、
前記標準入出力管理部は、前記仮想マシンが実行する複数のアプリケーションプログラムのそれぞれの入力デバイス及び出力デバイスを管理することを特徴とする組込機器。
【請求項１０】
請求項１乃至９のいずれかに記載の組込機器を備えたことを特徴とする電子機器。
【請求項１１】
複数のアプリケーションプログラムが実行可能に構成された組込機器の制御方法であって、
標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスをアプリケーションプログラムごとに対応付けて管理し、
前記アプリケーションプログラムから標準入力要求または標準出力要求を受けた場合に、当該アプリケーションプログラムに対応付けられている入力デバイスに対する入力要求または出力デバイスへの出力要求に変換する
ことを特徴とする組込機器の制御方法。
【請求項１２】
複数のアプリケーションプログラムが実行可能に構成された組込機器を、
標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスをアプリケーションプログラムごとに対応付けて管理すると共に、
前記アプリケーションプログラムから標準入力要求または標準出力要求を受けた場合に、当該アプリケーションプログラムに対応付けられている入力デバイスに対する入力要求または出力デバイスへの出力要求に変換する手段として機能させることを特徴とするプログラム。
【請求項１３】
複数のアプリケーションプログラムが実行可能に構成された組込機器を、
標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスをアプリケーションプログラムごとに対応付けて管理すると共に、
前記アプリケーションプログラムから標準入力要求または標準出力要求を受けた場合に、当該アプリケーションプログラムに対応付けられている入力デバイスに対する入力要求または出力デバイスへの出力要求に変換する手段として機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン上で実行されるアプリケーションプログラムの標準入出力を制御する技術に関する。
【背景技術】
【０００２】
近年、プリンタやファクシミリ装置、スキャナといった電子機器においては、組込型コンピュータを有し、この組込型コンピュータのＯＳ（Operating System）プラットフォーム上に仮想マシン（Virtual Machine）を含むアプリケーション実行環境が構築され、各種のアプリケーションプログラム（以下、単に「アプリケーション」と言う）を動作可能に構成されたものが知られている（例えば、特許文献１参照）。
この仮想マシンには、一般に、標準入力及び標準出力といった標準入出力がアプリケーションの入出力のためのデバイスとして予め用意されており、各アプリケーションから共通に利用できるようになっている。
【特許文献１】特開２００３−３３０７３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、複数のアプリケーションを１つの仮想マシン上で同時に動作させた場合、どのアプリケーションが標準入力（例えばキーボード）からのデータ入力を取得するかを制御できない、という問題がある。また、各アプリケーションが標準出力に対してデータを出力すると、各アプリケーションの出力が標準出力（例えばモニタ上のコンソール）に入り乱れて出力されてしまう、といった問題がある。そして、このような問題により、アプリケーション毎の動作確認が煩雑となり、特に、アプリケーション開発時のデバッグ作業が困難になる。
【０００４】
本発明は、上述した事情に鑑みてなされたものであり、アプリケーションプログラムごとに標準入出力を制御することのできる組込機器、電子機器、組込機器の制御方法、プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、複数のアプリケーションプログラムが実行可能に構成された組込機器であって、標準入力デバイス及び標準出力デバイスを管理する標準入出力管理部を備え、前記標準入出力管理部は、標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスをアプリケーションプログラムごとに対応付けて管理し、前記アプリケーションプログラムの標準入力要求または標準出力要求を、当該アプリケーションプログラムに対応付けられている入力デバイスに対する入力要求または出力デバイスへの出力要求に変換することを特徴とする。
【０００６】
本発明によれば、標準入力デバイス及び標準出力デバイスがアプリケーションプログラムごとに標準入出力管理部によって管理されるため、標準入力デバイス及び標準出力デバイスをアプリケーションプログラムごとに異ならせることができる。これにより、複数のアプリケーションプログラムからのデータが同一の標準出力デバイスに入り乱れて出力される事を防止できると共に、アプリケーションプログラムごとに確実にデータを入力することができる。
【０００７】
なお、上記発明においては、標準入出力管理部が、標準入力デバイスまたは標準出力デバイスのいずれかのみを管理するようにしても良い。
すなわち、複数のアプリケーションプログラムが実行可能に構成された組込機器であって、標準入力に使用する入力デバイスを前記アプリケーションプログラムごとに対応付けて管理する標準入力管理部を備え、前記標準入力管理部は、前記アプリケーションプログラムが標準入力からのデータ入力を要求した場合に、当該アプリケーションプログラムに対応する入力デバイスからのデータ入力を当該アプリケーションプログラムに出力する構成としても良い。
また、複数のアプリケーションプログラムが実行可能に構成された組込機器であって、標準出力に使用する出力デバイスを前記アプリケーションプログラムごとに対応付けて管理する標準出力管理部を備え、前記標準出力管理部は、前記アプリケーションプログラムが標準出力へのデータ出力を要求した場合に、当該アプリケーションプログラムに対応する出力デバイスに対して当該アプリケーションプログラムからの出力データを出力する構成としても良い。
【０００８】
ここで、上記発明において、前記標準入出力管理部は、前記アプリケーションプログラムと、前記入力デバイス及び前記出力デバイスとが対応付けられていない場合、前記アプリケーションプログラムの標準入力デバイス及び標準出力デバイスを所定の標準入力デバイス及び標準出力デバイスとする構成としても良い。
この構成によれば、アプリケーションプログラムが標準に利用する入力デバイス及び出力デバイスが対応付けられていない場合には、所定の標準入力デバイス及び標準出力デバイスがアプリケーションプログラムの入出力に用いられる。これにより、アプリケーションプログラムの入出力デバイスを特に指定せずとも、アプリケーションプログラムの入出力が所定の標準入力デバイス及び標準出力デバイスに対して正常に行われる。
【０００９】
また、上記発明において、複数の周辺機器が着脱自在に接続される周辺機器接続手段を備え、前記標準入出力管理部は、前記周辺機器接続手段に接続されている周辺機器を前記入力デバイス及び前記出力デバイスとして管理する構成としても良い。
この構成によれば、着脱可能な周辺機器をアプリケーションプログラムごとの標準入力デバイス及び標準出力デバイスとして利用することができる。
【００１０】
また、上記発明において、前記標準入出力管理部が、前記周辺機器接続手段に接続された記録デバイスに記録されている情報に基づいて、前記アプリケーションプログラムが標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスを設定可能にした構成としても良い。
この構成によれば、記録デバイスを周辺機器接続手段に接続することにより、アプリケーションプログラムが標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスを簡単に設定することができる。
【００１１】
また、上記発明において、通信機器と通信ネットワークを介して通信する通信手段を備え、前記標準入出力管理部が、前記通信機器から前記通信手段を介して取得した情報に基づいて、前記アプリケーションプログラムが標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスを設定可能にした構成としても良い。
この構成によれば、アプリケーションプログラムが標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスを通信機器を利用して簡単に設定することができる。
【００１２】
また、上記発明において、通信機器と通信ネットワークを介して通信する通信手段を備え、前記標準入出力管理部は、前記通信ネットワークを介して通信可能な通信機器を前記入力デバイス及び前記出力デバイスとして管理する構成としても良い。
この構成によれば、ネットワークを介して通信可能な通信機器をアプリケーションプログラムごとの標準入力デバイス及び標準出力デバイスとして利用することができる。
【００１３】
また、上記発明において、前記標準入出力管理部が、前記通信機器から前記通信手段を介して取得した情報に基づいて、前記アプリケーションプログラムが標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスを設定可能にした構成としても良い。
この構成によれば、アプリケーションプログラムが標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスを通信機器を利用して簡単に設定することができる。
【００１４】
また、上記発明において、周辺機器が着脱自在に接続される周辺機器接続手段を備え、前記標準入出力管理部が、前記周辺機器接続手段に接続された記録デバイスに記録されている情報に基づいて、前記アプリケーションプログラムが標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスを設定可能にした構成としても良い。
この構成によれば、記録デバイスを周辺機器接続手段に接続することにより、アプリケーションプログラムが標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスを簡単に設定することができる。
【００１５】
また、上記発明において、ＯＳプラットフォーム上に設けられた仮想マシンを備え、前記仮想マシンが複数の前記アプリケーションプログラムを実行し、前記標準入出力管理部は、前記仮想マシンが実行する複数のアプリケーションプログラムのそれぞれの入力デバイス及び出力デバイスを管理する構成としても良い。
また、本発明は、電子機器に上記発明に係る組込機器を設けた構成としても良い。このような電子機器としては、例えば、プリンタやネットワークカード、プロジェクタ等がある。
【００１６】
また、上記目的を達成するために、本発明は、複数のアプリケーションプログラムが実行可能に構成された組込機器の制御方法であって、標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスをアプリケーションプログラムごとに対応付けて管理し、前記アプリケーションプログラムから標準入力要求または標準出力要求を受けた場合に、当該アプリケーションプログラムに対応付けられている入力デバイスに対する入力要求または出力デバイスへの出力要求に変換することを特徴とする。
【００１７】
また、上記目的を達成するために、本発明は、複数のアプリケーションプログラムが実行可能に構成された組込機器を、標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスをアプリケーションプログラムごとに対応付けて管理すると共に、前記アプリケーションプログラムから標準入力要求または標準出力要求を受けた場合に、当該アプリケーションプログラムに対応付けられている入力デバイスに対する入力要求または出力デバイスへの出力要求に変換する手段として機能させることを特徴とするプログラムを提供する。
【００１８】
また、上記目的を達成するために、本発明は、複数のアプリケーションプログラムが実行可能に構成された組込機器を、標準入力デバイスとして利用する入力デバイス及び標準出力デバイスとして利用する出力デバイスをアプリケーションプログラムごとに対応付けて管理すると共に、前記アプリケーションプログラムから標準入力要求または標準出力要求を受けた場合に、当該アプリケーションプログラムに対応付けられている入力デバイスに対する入力要求または出力デバイスへの出力要求に変換する手段として機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【００１９】
本発明に係る組込機器の制御方法、プログラム及び記録媒体によれば、標準入力デバイス及び標準出力デバイスがアプリケーションプログラムごとに管理されるため、標準入力デバイス及び標準出力デバイスをアプリケーションプログラムごとに異ならせることができる。これにより、複数のアプリケーションプログラムからのデータが同一の標準出力デバイスに入り乱れて出力される事を防止できると共に、アプリケーションプログラムごとに確実にデータを入力することができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して本発明の実施形態について説明する。なお、以下の説明では、本発明が適用されたネットワークプリンタを例示する。
＜第１実施形態＞
図１は、本実施形態に係るネットワークプリンタ（以下、単に「プリンタ」と言う）１の概略構成を示す図である。この図に示すように、プリンタ１は、大別すると、組込機器としての制御部１０と、印字ユニット１１と、拡張スロット１２と、ネットワークカード１３と、フラッシュＲＯＭ１４とを有している。
【００２１】
制御部１０は、プリンタ１の各部を中枢的に制御するものであり、演算処理プロセッサとしてのＣＰＵ２０と、このＣＰＵ２０により実行される制御プログラム（いわゆるファームウェア）が格納されたＲＯＭ２１と、ＣＰＵ２０のワークエリアとして機能して演算結果や各種データを一時的に格納するＲＡＭ２２とを有している。
印字ユニット１１は、制御部１０の制御に基づいて記録用紙への印字を実行するものであり、図示せぬ給紙機構や印字ヘッド等の一般的なプリンタが有する印字（印刷）機構を備えて構成されている。拡張スロット１２は、プリンタ１に内設され、当該プリンタ１の機能を拡張するためのカード型の回路が挿脱されるソケットであり、この拡張スロット１２には、上記ネットワークカード１３が挿着されている。
【００２２】
ネットワークカード１３は、データ通信部３０とＵＳＢデバイス接続部（周辺機器接続手段）３１とを有し、建物内に敷設されたＬＡＮ等のネットワーク２を介して他の通信端末（例えばパーソナルコンピュータ）３とデータ通信する機能、および、ＵＳＢデバイス４を接続する機能を有するものである。すなわち、上記データ通信部３０は、ＴＣＰ／ＩＰ等の所定の通信プロトコルに基づいて信号処理するネットワークコントローラ３２と、有線または無線にてネットワーク２に接続される通信Ｉ／Ｆ３３とを有して構成されている。また、ＵＳＢデバイス接続部３１は、ＵＳＢキーボードやＵＳＢマウス、ＵＳＢカードリーダ等のＵＳＢ入力デバイス４Ａや、ＵＳＢメモリやＵＳＢカードライタ等のＵＳＢ出力デバイス４ＢといったＵＳＢデバイス４を接続するためのものであり、ＵＳＢ規格準拠して信号処理を実行する接続Ｉ／Ｆコントローラ３４と、ＵＳＢデバイス４の接続口たる複数の接続コネクタ３５を備えている。上記接続Ｉ／Ｆコントローラ３４は、接続コネクタ３５に接続されているＵＳＢデバイス４の情報を各ＵＳＢデバイス４から取得することで、これらのＵＳＢデバイス４を管理する、いわゆるホスト機能を有している。なお、本プリンタ１が着脱可能な周辺機器としてＵＳＢデバイス４を利用する構成を例示するが、これに限らず、例えばＩＥＥＥ１３９４規格等の所定規格に準拠した周辺機器を利用する構成としても良い。
【００２３】
フラッシュＲＯＭ１４は、書き換え可能な不揮発性メモリであり、各種のアプリケーションが格納されている。これらのアプリケーションは、例えばメモリカード等の記録媒体５０に記録されて配布され、或いは、ネットワーク２等の電気通信回線を通じて配布され、そして、このようにして配布されたアプリケーションがフラッシュＲＯＭ１４にインストール可能に構成されている。また、制御部１０のＲＯＭ２１に格納される制御プログラムもアプリケーションと同様に、記録媒体５０、或いは、ネットワーク２等の電気通信回線を介して配布可能であり、このように配布された制御プログラムがＲＯＭ２１にインストール可能に構成されている。
【００２４】
上記フラッシュＲＯＭ１４等に格納されるアプリケーションとしては、印刷実行するユーザの認証のための認証アプリケーションや複数のプリンタで処理を分散（例えば、１００部の印刷を５台のプリンタで２０部ずつ印刷させる等）して行わせるクラスタプリント（分散印刷）アプリケーション、印刷対象の画像に対して処理を行う画像処理アプリケーション、プリンタ１のステータスを通信端末３などに通知する状態管理アプリケーションなどの各種のアプリケーションがあり、これらのアプリケーションの実行環境について以下に詳述する。
【００２５】
図２は、プリンタ１のアプリケーション実行環境を示すソフトウェア概略構成図である。この図に示すように、プリンタ１の制御部１０には、ＯＳプラットフォーム１００上にインタプリタ環境であるソフトウェアプラットフォーム１０１が構成されている。こソフトウェアプラットフォーム１０１は、Ｊａｖａ（登録商標）プラットフォームのランタイム環境として構成されており、インタプリタとしてのＪａｖａＶＭ（Ｊａｖａ仮想マシン）１１０、ライブラリ１１１およびフレームワーク群１１２を備えて構成されている。
ライブラリ１１１は標準のＡＰＩライブラリとプリンタ１に専用のライブラリを含んで構成されており、ＯＳプラットフォーム１００が提供する抽象化された各種コンピュータ資源を、さらにソフトウェアプラットフォーム１０１専用のモデルによって抽象化して、この上で動作するアプリケーションのための実行環境を提供する。
【００２６】
フレームワーク群１１２はＯＳＧｉ（Open Service Gateway initiative）フレームワーク１１２ａを含んで構成されており、このＯＳＧｉフレームワーク１１２ａは単一のＪａｖａＶＭ１１０上に複数の上述した各種のアプリケーション１２０を動作させる。また、ＯＳＧｉフレームワーク１１２ａは、アプリケーション１２０のライフサイクルの管理やアプリケーション間通信機能などを提供する。このＯＳＧｉフレームワーク１１２ａ上には、複数のシステムサービスがプリインストールされている。システムサービスには、新たなアプリケーションを追加したり更新したり削除したりするためのサービス管理サービスや、Ｓｅｒｖｌｅｔインタフェースにしたがって実装されたＪａｖａクラスを通信端末３等のクライアントのブラウザから操作可能なＷｅｂアプリケーションとして動作させるためのＨＴＴＰサービス等が予め用意されている。
【００２７】
ＪａｖａＶＭ１１０には、上記アプリケーション１２０のそれぞれを実行するアプリケーション実行部１３０と、各アプリケーション１２０を一意に特定するためのアプリケーションＩＤを管理するアプリケーションＩＤ管理部１３５が設けられており、また、ソフトウェアプラットフォーム１０１には、各アプリケーション１２０が利用する標準入力デバイス及び標準出力デバイスを管理する標準入出力管理部１４０が設けられている。
【００２８】
アプリケーションＩＤ管理部１３５は、図３に示すように、アプリケーション１２０のインストール（格納）場所を示すアプリケーションパスと、当該アプリケーション１２０のアプリケーションＩＤとを対応付けて管理するアプリケーション管理テーブル１５０を有している。これにより、アプリケーション１２０が実行される場合には、そのアプリケーション１２０のインストールパスに基づいて、当該アプリケーション１２０のアプリケーションＩＤが特定される。アプリケーション管理テーブル１５０へのアプリケーション１２０の登録は、例えばアプリケーション１２０が新規にインストールされる際にアプリケーションＩＤ管理部１３５により行われる。
【００２９】
標準入出力管理部１４０は、図４に示すように、アプリケーション１２０のアプリケーションＩＤと、そのアプリケーション１２０が標準入力デバイスとして利用するＵＳＢ入力デバイス４Ａ及び標準出力デバイスとして利用するＵＳＢ出力デバイス４Ｂとを対応付けて管理する標準入出力管理テーブル１６０を有している。
さらに詳述すると、本プリンタ１では、ＵＳＢ入力デバイス４Ａを標準入力デバイスとして利用し、また、ＵＳＢ出力デバイス４Ｂを標準出力デバイスとして利用することとしている。ＵＳＢキーボード「１」及びＵＳＢメモリ「１」は、それぞれ標準入力デバイス及び標準出力デバイスのデフォルトとして予め設定されており、アプリケーション１２０の標準入出力デバイスに特に指定が無い場合には、これらのＵＳＢデバイス４がアプリケーション１２０の標準入出力デバイスとして使用される。また、アプリケーション１２０の標準入出力デバイスが指定されている場合には、そのアプリケーションＩＤと、標準入力デバイスとして使用されるＵＳＢ入力デバイス４Ａ及び標準出力デバイスとして使用されるＵＳＢ出力デバイス４Ｂとが対応付けられて標準入出力管理テーブル１６０に管理される。なお、標準入出力管理テーブル１６０のＵＳＢ入力デバイス４Ａ及びＵＳＢ出力デバイス４Ｂに関する情報の更新は、プリンタ１に接続されているＵＳＢデバイス４の情報を標準入出力管理部１４０がＯＳプラットフォーム１００（より具体的には、ＵＳＢデバイス接続部３１）から定期的に取得することで行われる。
【００３０】
また、アプリケーション１２０と標準入力デバイスとして使用するＵＳＢ入力デバイス４Ａ及び標準出力デバイスとして使用するＵＳＢ機器出力４Ｂとの対応付けは、ＵＳＢデバイス接続部３１に接続された記録型ＵＳＢデバイス（例えばＵＳＢメモリ）４Ｃ（図１参照）に記録されている対応関連付情報１７０に基づいて、標準入出力管理部１４０によって行われる。
すなわち、標準入出力管理部１４０は、記録型ＵＳＢデバイス４ＣがＵＳＢデバイス接続部３１に接続された場合、記録型ＵＳＢデバイス４Ｃにアクセスし、図５に示すように、アプリケーション１２０と標準入出力デバイスとの対応付けを規定する対応関連付情報１７０が記録型ＵＳＢデバイス４Ｃから読み込み可能であるか否かを判断する（ステップＳａ１）。そして、対応関連付情報１７０が読み込み可能である場合には（ステップＳａ１：Ｔｒｕｅ）、標準入出力管理部１４０は、この対応関連付情報１７０に規定されているアプリケーション１２０のアプリケーションＩＤをアプリケーションＩＤ管理部１３５から取得し、そのアプリケーションＩＤを標準入出力管理テーブル１６０のＵＳＢ入力デバイス４Ａ及びＵＳＢ出力デバイス４Ｂに対応付けて、当該標準入出力管理テーブル１６０を更新し（ステップＳａ２）、処理を終了する。
【００３１】
以上の処理により、アプリケーション１２０と標準入力デバイスとして使用するＵＳＢ入力デバイス４Ａ及び標準出力デバイスとして使用するＵＳＢ機器出力４Ｂとが対応付けられ、当該アプリケーション１２０が標準入力を要求した場合には標準入力デバイスに指定されているＵＳＢ入力デバイス４Ａからデータ入力が行われ、また、標準出力を要求した場合には、標準出力デバイスに指定されているＵＳＢ機器出力４Ｂに対してデータ出力が行われる。
具体的には、図６に示すように、標準入出力管理部１４０は、上記標準入出力管理テーブル１６０を読み込んだ後（ステップＳｂ１）、標準入力デバイスからデータを取得する標準入力要求（Ｊａｖａプログラムにおいては「System.in」に対するreadメソッドなどの入力命令）がアプリケーション１２０から発せられた場合（ステップＳｂ２：Ｔｒｕｅ）、そのアプリケーション１２０のアプリケーションＩＤをアプリケーションＩＤ管理部１３５から取得する（ステップＳｂ３）。
【００３２】
次いで、標準入出力管理部１４０は、アプリケーションＩＤに対応付けられているＵＳＢ入力デバイス４Ａを標準入出力管理テーブル１６０に基づいて特定し、標準入力デバイスに対する標準入力要求を、当該ＵＳＢ入力デバイス４Ａに対する入力要求に変換すべく、次の処理を実行する。すなわち、標準入出力管理部１４０は、アプリケーションＩＤに対応付けられたＵＳＢ入力デバイス４Ａが利用可能に存在しているか否か（プリンタ１に接続されているか否か）を判断する（ステップＳｂ４）。そのＵＳＢ入力デバイス４Ａが存在していない場合（ステップＳｂ４：Ｆａｌｓｅ）、標準入出力管理部１４０は、アプリケーション１２０が使用すべき標準入力デバイスが無いため、処理手順をステップＳｂ１に戻す。このとき、アプリケーション１２０のデータ入力待ち状態を速やかに解除すべく、標準入出力管理部１４０がアプリケーション１２０の標準入力要求に対して入力エラーを示す情報を返値としてアプリケーション１２０に返却しても良い。
また、ＵＳＢ入力デバイス４Ａが存在している場合には（ステップＳｂ４：Ｔｒｕｅ）、標準入出力管理部１４０は、そのＵＳＢ入力デバイス４Ａから入力されるデータを取得し（ステップＳｂ５）、そのデータを、標準入力要求に対する返値としてアプリケーション１２０に返却する（ステップＳｂ６）。
【００３３】
また、上記ステップＳｂ２において、標準入力要求ではなく（ステップＳｂ２：Ｆａｌｓｅ）、標準出力デバイスに対してデータを出力する標準出力要求（Ｊａｖａプログラムにおいては「System.out」に対するwriteメソッドなどの入力命令）がアプリケーション１２０から発せられている場合（ステップＳｂ７：Ｔｒｕｅ）、標準入出力管理部１４０は、そのアプリケーション１２０のアプリケーションＩＤをアプリケーションＩＤ管理部１３５から取得した後（ステップＳｂ８）、アプリケーションＩＤに対応付けられているＵＳＢ出力デバイス４Ｂを標準入出力管理テーブル１６０に基づいて特定し、標準出力デバイスに対する標準出力要求を、当該ＵＳＢ出力デバイス４Ｂに対する出力要求に変換すべく、次の処理を実行する。
【００３４】
すなわち、標準入出力管理部１４０は、アプリケーションＩＤに対応付けられたＵＳＢ出力デバイス４Ｂが利用可能に存在しているか否か（プリンタ１に接続されているか否か）を判断する（ステップＳｂ９）。そのＵＳＢ出力デバイス４Ｂが存在していない場合（ステップＳｂ９：Ｆａｌｓｅ）、標準入出力管理部１４０は、アプリケーション１２０が使用すべき標準出力デバイスが無いため、処理手順をステップＳｂ１に戻す。このとき、アプリケーション１２０のデータ出力待ち状態を速やかに解除すべく、標準入出力管理部１４０がアプリケーション１２０の標準出力要求に対して出力エラーを示す情報を返値としてアプリケーション１２０に返却しても良い。
また、ＵＳＢ出力デバイス４Ｂが存在している場合には（ステップＳｂ９：Ｔｒｕｅ）、標準入出力管理部１４０は、出力要求されているデータをアプリケーション１２０から取得し（ステップＳｂ１０）、そのデータをＵＳＢ出力デバイス４Ｂに出力する（ステップＳｂ１１）。
【００３５】
以上の処理により、アプリケーション１２０が標準入力要求を発したときには、標準入力デバイスに指定されているＵＳＢ入力デバイス４Ａが利用可能に存在している場合に、そのＵＳＢ入力デバイス４Ａからのデータ入力が標準入力要求に対する返値としてアプリケーション１２０に返却され、また、アプリケーション１２０が標準出力要求を発したときには、標準出力デバイスに指定されているＵＳＢ出力デバイス４Ｂが利用可能に存在している場合に、そのＵＳＢ出力デバイス４Ｂに対してアプリケーション１２０が出力するデータが出力されることとなる。
【００３６】
このように、本実施形態によれば、標準入出力管理部１４０が、標準入力デバイスとして利用するＵＳＢ入力デバイス４Ａ及び標準出力デバイスとして利用するＵＳＢ出力デバイス４Ｂをアプリケーション１２０ごとに対応付けて管理し、アプリケーション１２０の標準入力要求または標準出力要求を、当該アプリケーション１２０に対応付けられているＵＳＢ入力デバイス４Ａに対する入力要求またはＵＳＢ出力デバイス４Ｂへの出力要求に変換する構成としたため、標準入力デバイス及び標準出力デバイスをアプリケーション１２０ごとに異ならせることができる。これにより、複数のアプリケーション１２０からのデータが同一の標準出力デバイスに入り乱れて出力される事を防止できると共に、アプリケーション１２０ごとにデータを入力する標準入力デバイスを制御することができる。
これにより、アプリケーション１２０のデバッグ作業時に複数のアプリケーション１２０を同時に実行させた場合でも、各アプリケーション１２０の動作を別々のＵＳＢデバイス４を使ってモニタリングする、或いは、動作ログを出力させることができ、各アプリケーション１２０のデバッグ作業を容易に行うことができる。
【００３７】
特に、本実施形態によれば、アプリケーション１２０の標準入力要求のためのコマンド及び標準出力要求のためのコマンドをＵＳＢデバイス４に合わせるように変更せずとも、所望のＵＳＢデバイス４を標準入出力デバイスとして利用することが可能となる。すなわち、アプリケーション１２０をコーディングする際に、入出力デバイスとして全て標準入出力デバイスを利用するようにコーディングしても、当該コーディングを変更することなしに、後に、入出力デバイスに標準入出力デバイスとは別のデバイスを利用することができる。
【００３８】
また、本実施形態によれば、標準入出力管理部１４０が、ＵＳＢデバイス接続部３１に接続された記録型ＵＳＢデバイス４Ｃに記録されている対応関連付情報１７０に基づいて、アプリケーション１２０が標準入力デバイスとして利用するＵＳＢ入力デバイス４Ａ及び標準出力デバイスとして利用するＵＳＢ出力デバイス４Ｂを設定する構成としたため、記録型ＵＳＢデバイス４ＣをＵＳＢデバイス接続部３１に接続するだけで、アプリケーション１２０が標準入出力に利用するＵＳＢデバイス４を簡単に設定、変更することができる。
特に、本実施形態によれば、アプリケーション１２０ごとに、標準入力デバイス、および／または、標準出力デバイスにＵＳＢデバイス４を敢えて対応付けないように設定、変更することで、アプリケーション１２０ごとの標準入出力のオン／オフを動的に変更することもできる。
【００３９】
＜第２実施形態＞
第１実施形態では、アプリケーション１２０の標準入出力デバイスとしてＵＳＢデバイス４を利用する構成としたが、本実施形態のプリンタ１Ａでは、ネットワーク２を介して通信可能に接続されている通信端末３を標準入出力デバイスとして利用する構成としている。
より詳細には、図７に示すように、プリンタ１Ａのアプリケーション実行環境であるソフトウェアの概略構成においては、アプリケーション１２０の標準入力デバイスとして利用する通信端末３（以下、「入力通信端末３Ａ」と言う）、及び、標準出力デバイスとして利用する通信端末３（以下、「出力通信端末３Ｂ」と言う）をアプリケーション１２０ごとに対応付けて管理し、アプリケーション１２０の標準入力要求を入力通信端末３Ａからデータを取得する入力要求に変換すると共に、標準出力要求を出力通信端末３Ｂに対する出力要求に変換する標準入出力管理部１４０Ａが設けられている。なお、入力通信端末３Ａと出力通信端末３Ｂとは互いに異なる通信端末３であっても良く、また、同一の通信端末３でも良いことは勿論である。
【００４０】
この標準入出力管理部１４０Ａは、第１実施形態と同様に、プリンタ１Ａに通信可能に接続されている通信端末３の情報をＯＳプラットフォーム１００（より具体的には、ネットワークコントローラ３２）から定期的に取得しており、これらの通信端末３が図８に示すように標準入出力管理テーブル１６０Ａに登録されている。このとき、この標準入出力管理テーブル１６０Ａにあっては、アプリケーション１２０のアプリケーションＩＤごとに、入力デバイスとして利用する入力通信端末３Ａと、出力デバイスとして利用する出力通信端末３Ｂとがそれぞれ対応付けられて管理される。
【００４１】
これにより、アプリケーション１２０が標準入力要求を発したときには、標準入力デバイスに指定されている入力通信端末３Ａから受信するデータが標準入力要求に対する返値としてアプリケーション１２０に返却され、また、アプリケーション１２０が標準出力要求を発したときには、標準出力デバイスに指定されている出力通信端末３Ｂに対してアプリケーション１２０が出力するデータが送信されることとなる。
【００４２】
このように、本実施形態によれば、標準入出力管理部１４０Ａは、ネットワーク２を介して通信可能な通信端末３を入力デバイス及び出力デバイスとして管理する構成としたため、通信端末３をアプリケーション１２０ごとに標準入力デバイス及び標準出力デバイスとして利用することができる。
【００４３】
なお、本実施形態において、標準入出力管理部１４０Ａが、第１実施形態にて説明した対応関連付情報１７０を通信端末３から取得して、アプリケーション１２０が標準入力デバイスとして利用する入力通信端末３Ａ及び標準出力デバイスとして利用する出力通信端末３Ｂを設定する構成としても良い。この構成によれば、アプリケーション１２０が入力通信端末３Ａ及び出力通信端末３Ｂを通信端末３から簡単に設定することができる。
また、本実施形態において、アプリケーション１２０が標準入出力デバイスとして、通信端末３の他に、ＵＳＢデバイス４等の周辺機器を混在して利用可能な構成としても良い。なお、上述した第１及び第２実施形態において、標準入出力デバイスの一方がＵＳＢデバイス４、もう一方が通信端末３というように混在していてもよい。
【００４４】
なお、上述した第１及び第２実施形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した各実施形態では、標準入出力管理部１４０、１４０Ａが、アプリケーション１２０の標準入力デバイス及び標準出力デバイスの両方を管理する構成を説明したが、これに限らず、標準入力デバイスまたは標準出力デバイスのいずれか一方のみを管理する構成としても良い。
また例えば、上述した各実施形態では、プリンタ１、１Ａの制御部１０に、ＪａｖａＶＭ１１０を有するソフトウェアプラットフォーム１０１を設けたが、これに限らず、ネットワークカード１３の例えば、ネットワークコントローラ３２に上記ソフトウェアプラットフォーム１０１を設ける構成としても良い。
また、上述した各実施形態では、電子機器の一態様たるプリンタ１、１Ａに本発明を適用した場合を例示したが、これに限らず、複数のアプリケーション１２０が実行可能な電子機器であれば、例えばファクシミリやスキャナ、プロジェクタ、複写機、電話機といった各種の電子機器に本発明を適用することが可能である。
【図面の簡単な説明】
【００４５】
【図１】本発明の第１実施形態に係るネットワークプリンタの構成図。
【図２】ネットワークプリンタのソフトウェア構成図。
【図３】アプリケーション管理テーブルの構成を示す図。
【図４】標準入出力管理テーブルの構成を示す図。
【図５】対応関連付情報読込処理のフローチャート。
【図６】標準入出力管理処理のフローチャート。
【図７】第２実施形態に係るネットワークプリンタのソフトウェア構成図。
【図８】標準入出力管理テーブルの構成を示す図。
【符号の説明】
【００４６】
１、１Ａ…ネットワークプリンタ、３…通信端末（通信機器）、４…ＵＳＢデバイス、４Ｃ…記録型ＵＳＢデバイス、１０…制御部（組込機器）、１３…ネットワークカード、３１…ＵＳＢデバイス接続部、３２…ネットワークコントローラ、１００…ＯＳプラットフォーム、１１０…ＪａｖａＶＭ（仮想マシン）、１２０…アプリケーション（アプリケーションプログラム）、１３０…アプリケーション実行部、１３５…アプリケーションＩＤ管理部、１４０、１４０Ａ…標準入出力管理部、１５０…アプリケーション管理テーブル、１６０、１６０Ａ…標準入出力管理テーブル、１７０…対応関連付情報。
【図１】
2007307779.tif 000003
【図２】
2007307779.tif 000004
【図３】
2007307779.tif 000005
【図４】
2007307779.tif 000006
【図５】
2007307779.tif 000007
【図６】
2007307779.tif 000008
【図７】
2007307779.tif 000009
【図８】
2007307779.tif 000010