(57)【要約】【課題】ネットワークプリントサーバ内の既存のプログラム記憶手段の記憶容量では十分には対応できないような所定のアプリケーションの追加、拡張、変更にも自在に対応して、容易にネットワークプリントサーバの機能をグレードアップすることである。【解決手段】ホストコンピュータ２００１から取得される所定のアプリケーションプログラムに対する格納先指定情報に基づいて、ネットワークプリントサーバ１５００内のＦｌａｓｈＲＯＭ３またはプリンタコントローラ１６００内が備える外部メモリ１０のいずれかに該取得された所定のアプリケーションプログラムをインストールさせるようにＣＰＵ１が制御する構成を特徴とする。【選択図】図１
2005349695.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置が備える所定の記憶装置を認識可能なネットワークプリントサーバであって、
通信可能なデータ処理装置から取得されるアプリケーションプログラムを格納するプログラム記憶手段と、
前記データ処理装置から取得される所定のアプリケーションプログラムに対する格納先指定情報に基づいて、前記プログラム記憶手段または所定の記憶装置のいずれかに該取得される前記所定のアプリケーションプログラムをインストールさせるインストール制御手段と、
を備えることを特徴とするネットワークプリントサーバ。
【請求項２】
印刷装置が備える所定の記憶装置を認識可能なネットワークプリントサーバであって、
通信可能なデータ処理装置から取得されるアプリケーションプログラムを格納するプログラム記憶手段と、
前記データ処理装置から取得される所定のアプリケーションプログラムに添付されるファイル情報に基づいて、前記プログラム記憶手段または所定の記憶装置のいずれかに該取得される前記所定のアプリケーションプログラムをインストールさせるインストール制御手段と、
を備えることを特徴とするネットワークプリントサーバ。
【請求項３】
前記所定のアプリケーションプログラムのインストール先と該所定のアプリケーションの所在先を指定するためのユーザインタフェースを前記データ処理装置に提示する提示手段を備えることを特徴とする請求項１又は２記載のネットワークプリントサーバ。
【請求項４】
前記データ処理装置からのアプリケーション起動命令中の特定情報に基づき、前記プログラム記憶手段または前記印刷装置の前記所定の記憶装置から所定のアプリケーションを取得して起動するアプリ起動制御手段を備えることを特徴とする請求項１又は２記載のネットワークプリントサーバ。
【請求項５】
前記アプリケーション起動命令中の特定情報は、前記所定のアプリケーションの格納先を指定するＵＲＬを含むことを特徴とする請求項４記載のネットワークプリントサーバ。
【請求項６】
通信可能なデータ処理装置から取得されるアプリケーションプログラムを格納するプログラム記憶手段を備え、印刷装置が備える所定の記憶装置を認識可能なネットワークプリントサーバにおけるデータ処理方法であって、
前記データ処理装置から取得される所定のアプリケーションプログラムに対する格納先指定情報に基づいて、前記プログラム記憶手段または所定の記憶装置のいずれかに該取得される前記所定のアプリケーションプログラムをインストールさせるインストール制御ステップを備えることを特徴とするデータ処理方法。
【請求項７】
通信可能なデータ処理装置から取得されるアプリケーションプログラムを格納するプログラム記憶手段を備え、印刷装置が備える所定の記憶装置を認識可能なネットワークプリントサーバにおけるデータ処理方法であって、
前記データ処理装置から取得される所定のアプリケーションプログラムに添付されるファイル情報に基づいて、前記プログラム記憶手段または所定の記憶装置のいずれかに該取得される前記所定のアプリケーションプログラムをインストールさせるインストール制御ステップを備えることを特徴とするデータ処理方法。
【請求項８】
前記所定のアプリケーションプログラムのインストール先と該所定のアプリケーションの所在先を指定するためのユーザインタフェースを前記データ処理装置に提示する提示ステップを備えることを特徴とする請求項６又は７記載のデータ処理方法。
【請求項９】
前記データ処理装置からアプリケーション起動命令中の特定情報に基づき、前記プリンタ記憶手段または前記印刷装置の前記所定の記憶装置から所定のアプリケーションを取得して起動するアプリ起動制御ステップを備えることを特徴とする請求項６又は７記載のデータ処理方法。
【請求項１０】
前記アプリケーション起動命令中の特定情報は、前記所定のアプリケーションの格納先を指定するＵＲＬを含むことを特徴とする請求項９記載のデータ処理方法。
【請求項１１】
請求項６〜１０のいずれかに記載のデータ処理方法を実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項１２】
請求項６〜１０のいずれかに記載のデータ処理方法を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置に装着されることによりデータ処理装置との間に介在して、所定のデータ処理を行うネットワークプリントサーバおよびデータ処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムに関するものである。
【背景技術】
【０００２】
近年、インターネットの普及により、印刷装置もネットワークで使われる形態が一般化してきた。通常、高速機やカラー機などの高価格機ではネットワークインタフェースは内蔵される傾向にあるが、低価格なモノクロ機の場合には、ネットワークインタフェースは本体には同梱されず、ネットワークカードモジュールとして別に供給される形態が一般的である。
【０００３】
この場合、印刷装置本体とネットワークカードモジュールは個々にＣＰＵを持ったインテリジェントな形態であり、通常ネットワークカードモジュール側にネットワーク経由での各種プリントサービスの統括制御を行なうプリントサーバ機能を備えており、印刷装置とネットワークカードモジュールは接続インタフェースを介して通信を行ない所望のサービスを実装している。
【０００４】
このことは逆に負荷の重いネットワークサービスをネットワークカードモジュールに追い出すことが可能となり、印刷装置本体のＣＰＵや周辺パフォーマンスを相対的に下げることが可能となり、印刷装置本体のコスト削減をもたらしている。
【０００５】
従来のネットワークインタフェースは、例えばＬＰＲ（ＲＦＣ１１７９）に代表されるような印刷データの送信だけできればよかったが、昨今印刷装置に対する情報管理というニーズが高くなり、付加技術として各種の手段が提供されている。
【０００６】
最も単純な例が、印刷データを送信するポートに情報管理データ（ジョブ制御言語＝Ｊｏｂ  Ｌａｎｇｕａｇｅ）を付加する形態である。
【０００７】
ジョブ制御言語は印刷データを送るポートを共有する形であるため、サービスポートを増加せずに済み、比較的実装が簡単であるが、印刷データ受信中にデータが大量に送信されるとポートを占有するため、情報管理データのやりとりが止まってしまうという問題があり、またネットワークにおけるＬＰＲプロトコルのような片方向型コネクションの場合、そもそも情報取得ができないという欠点がある。
【０００８】
他の手法としては、ＳＮＭＰ／ＭＩＢ（ＲＦＣ１１５７）を使った方式がある。これはデータ送受信用の専用ポートを使用し、標準規格であるＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）を使う方法である。しかし、この方式はＳＮＭＰを受信してＵＩを提供する専用クライアントプログラムの独自開発が必要であり、なおかつこの方式では、そもそも単純な情報のやり取りを行うプロトコルであるため、数字、文字列などの単純なデータベースしか提供できない。
【０００９】
その結果、機器の構成を示すビットマップ画像などＵＩを構成する情報は、前記クライアントプログラムが所有せねばならず、それに伴いクライアントプログラムを機種対応しなくてはいけないという問題点がある。
【００１０】
さらに最近ではＨＴＴＰプロトコル（ＲＦＣ１９４５，ＲＦＣ２６１６）を用いた方式が主流となりつつある。この方式によれば、ネットワークカードモジュールの中にＨＴＴＰサービスを提供して、機器情報に関するＨＴＭＬデータやビットマップ画像といったＷＥＢコンテンツを提供し、クライアントは一般的なＷＥＢブラウザを使用して前記ＷＥＢコンテンツを表示装置上でＧＵＩとして表示し、入力デバイス等の操作を可能とすれば、クライアントプログラムを提供しなくても同様の効果を得ることが可能である。
【００１１】
従来の方式ではクライアントプログラムが多種多様な機器に固有な情報（メッセージ文字列、ビットマップ画像）を管理する必要があっため、機器が自分の機種情報だけ持てばよい上記方式は短期間で製品を提供するためにはもっとも適する方法である。
【００１２】
しかしならが、上記述べたいずれの手段もネットワークカードモジュールに予め組み込まれた静的な機能の提供手段であって、後から機能そのものを追加するあるいは、組み込まれた機能による制御方法を変更するといった動的なサービスの追加が容易に行えなかった。
【００１３】
そこで、最近になってＪａｖａ（登録商標）（米国Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，Ｉｎｃ．の商標）言語を用いて作成されたアプリケーションプログラムモジュールを組み込み機器上に実装されたＪａｖａ（登録商標）仮想マシン上で動作可能とするプラットフォーム技術が提案されている。この技術を用いることで従来印刷装置等の組み込み機器に後から新たな機能を追加することが可能となってきている。
【００１４】
なお、ネットワークカードのファームウェアを更新する技術として下記特許文献１が既に公開されている。
【００１５】
上記述べたＪａｖａ（登録商標）仮想マシンにはネットワーク通信機能を始め、組み込み機器を制御するために必要な各種機能を提供するためにアプリケーションプログラムインタフェース（ＡＰＩ）が備わっており、上記Ｊａｖａ（登録商標）言語で作成されたアプリケーションプログラムモジュールはこれらのＡＰＩを呼び出して組み込み機器に対する制御やネットワークで接続されたホストコンピュータからの要求を処理する。
【特許文献１】特開平７−７３０４２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
このように上記Ｊａｖａ（登録商標）仮想マシン上で提供されるＡＰＩは、ネットワーク通信に必要な機能を含んでおり、ネットワーク通信プロトコルの処理を行なう基本モジュールを共有するため、通常ネットワークカードモジュール上に実装される機能である。
【００１７】
しかしながら、印刷装置本体と別個にＣＰＵを備えるインテリジェント型ネットワークカードモジュールの場合、共通化による開発コスト低減と量産効果による生産コスト削減のために、通常複数のモデルの印刷装置に接続可能な柔軟な設計が求められる。
【００１８】
また、ネットワークカードモジュールのコスト削減のため、ネットワークカードモジュール自体に搭載されるメモリなどのプログラム保存領域は最低限のものに抑えられる傾向がある。
【００１９】
一方では、印刷装置本体においては、印刷処理速度の向上や印刷ジョブの保存のため十分なメモリやハードディスクを装着する例もすくなくない。
【００２０】
このような状況において、ネットワークカードモジュール上に保存可能なアプリケーションプログラムには制限があり、さまざまな機能を有したアプリケーションプログラムを利用しようとしてもネットワークカードモジュールのメモリ資源の制限によって利用不可能な状態になってしまう等の問題点があった。
【００２１】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、データ処理装置から取得される所定のアプリケーションプログラムに対する格納先指定情報に基づいて、ネットワークプリントサーバ内のプログラム記憶手段または印刷装置が備える所定の記憶装置のいずれかに該取得された所定のアプリケーションプログラムをインストールさせることにより、サーバ内の既存のプログラム記憶手段の記憶容量では十分には対応できないような所定のアプリケーションの追加、拡張、変更にも自在に対応して、印刷装置が備える所定の記憶装置を有効に活用して、ネットワークプリントサーバの機能を容易にグレードアップできるネットワークプリントサーバおよびデータ処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムを提供することである。
【課題を解決するための手段】
【００２２】
本発明は、印刷装置が備える所定の記憶装置を認識可能なネットワークプリントサーバであって、通信可能なデータ処理装置から取得されるアプリケーションプログラムを格納するプログラム記憶手段と、前記データ処理装置から取得される所定のアプリケーションプログラムに対する格納先指定情報に基づいて、前記プログラム記憶手段または所定の記憶装置のいずれかに該取得される前記所定のアプリケーションプログラムをインストールさせるインストール制御手段とを備えることを特徴とする。
【００２３】
また、本発明は、印刷装置が備える所定の記憶装置を認識可能なネットワークプリントサーバであって、通信可能なデータ処理装置から取得されるアプリケーションプログラムを格納するプログラム記憶手段と、前記データ処理装置から取得される所定のアプリケーションプログラムに添付されるファイル情報に基づいて、前記プログラム記憶手段または所定の記憶装置のいずれかに該取得される前記所定のアプリケーションプログラムをインストールさせるインストール制御手段とを備えることを特徴とする。
【００２４】
さらに、本発明は、通信可能なデータ処理装置から取得されるアプリケーションプログラムを格納するプログラム記憶手段を備え、印刷装置が備える所定の記憶装置を認識可能なネットワークプリントサーバにおけるデータ処理方法であって、前記データ処理装置から取得される所定のアプリケーションプログラムに対する格納先指定情報に基づいて、前記プログラム記憶手段または所定の記憶装置のいずれかに該取得される前記所定のアプリケーションプログラムをインストールさせるインストール制御ステップを備えることを特徴とする。
【００２５】
また、本発明は、通信可能なデータ処理装置から取得されるアプリケーションプログラムを格納するプログラム記憶手段を備え、印刷装置が備える所定の記憶装置を認識可能なネットワークプリントサーバにおけるデータ処理方法であって、前記データ処理装置から取得される所定のアプリケーションプログラムに添付されるファイル情報に基づいて、前記プログラム記憶手段または所定の記憶装置のいずれかに該取得される前記所定のアプリケーションプログラムをインストールさせるインストール制御ステップを備えることを特徴とする。
【発明の効果】
【００２６】
本発明によれば、サーバ内の既存のプログラム記憶手段の記憶容量では十分には対応できないような所定のアプリケーションの追加、拡張、変更にも自在に対応して、印刷装置が備える所定の記憶装置を有効に活用して、ネットワークプリントサーバの機能を容易にグレードアップできるという効果を奏する。
【発明を実施するための最良の形態】
【００２７】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００２８】
〔第１実施形態〕
図１は、本発明の第１実施形態を示すネットワークプリントサーバを適用可能な印刷システムのハードウェア構成を説明するブロック図であり、本システム例は、プリンタ１０００が、内部でネットワークプリントサーバ１５００とプリンタコントローラ１６００とからなる異なる制御系を司る機器で構成されている例である。
【００２９】
図１に示すネットワークプリントサーバ１５００において、１はネットワークプリントサーバ用ＣＰＵで、書き換え可能なＦｌａｓｈＲＯＭ３に記憶された制御プログラムに基づいてシステムバス４に接続されるネットワークコントローラ（ＬＡＮＣ５）を介してローカルエリアネットワーク（ＬＡＮ２０００）に接続されたホストコンピュータ２００１等の複数の外部装置（不図示）と所定のネットワーク通信プロトコルを用いて、前記外部装置から送られる印刷データやプリンタ制御命令等の各種データ送受信要求を統括的に制御し、拡張インタフェースコントローラ（ＥＸＰＣ７）を介して接続されるプリンタコントローラ１６００に対して適切なデータ転送制御を行なう。また、ＦｌａｓｈＲＯＭ３には、図４のフローチャートで示されるようなＣＰＵ１の制御プログラムも記憶されている。
【００３０】
ＲＡＭ２はＣＰＵ１の主メモリ、ワークエリア等の一時記憶領域として用いられる。
【００３１】
ＬＥＤ６はネットワークプリントサーバの動作状態を示す表示部として用いられており、例えばネットワークコントローラ（ＬＡＮＣ５）とローカルエリアネットワーク（ＬＡＮ２０００）の電気的な接続状態（ＬＩＮＫ）やネットワーク通信モード（１０Ｂａｓｅや１００Ｂａｓｅ、全二重、半二重）等の各種動作状態をＬＥＤの点滅パターンや色で示すことが可能となっている。
【００３２】
さらにネットワークプリントサーバ１５００とプリンタコントローラ１６００を繋ぐ拡張インタフェース１７は、図示しないコネクタで構成されておりネットワークプリントサーバ１５００のみが着脱し、同じ構成を持つ別のプリンタ１０００にネットワークプリントサーバ１５００を装着することも可能な構成となっている。
【００３３】
プリンタコントローラ１６００において、８はプリンタコントローラ用ＣＰＵで、ＲＯＭ９に記憶された制御プログラム等あるいはディスクコントローラ（ＤＫＣ１５）を介して接続された外部メモリ１０に記憶された制御プログラムやリソースデータ（資源情報）等に基づいてシステムバス１１に接続される各種デバイスとのアクセスを統括的に制御し、拡張インタフェースコントローラ（ＥＸＰＣ１３）を介して接続されるネットワークプリントサーバ１５００から受信される印刷データを基にラスタコントローラ１２によって出力画像情報を生成し、プリントエンジン１６に対して画像信号を出力する。
【００３４】
１４は前記ＣＰＵ８の主メモリ、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００３５】
１８は操作パネル（操作部）で、プリンタ１０００の動作モード等の設定や印刷データの取り消し等の操作を行なうためのボタンおよびプリンタ１０００の動作状態を示す液晶パネルやＬＥＤ等の表示部が配されている。
【００３６】
なお、本図で示したプリントエンジン１６は既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式（レーザビーム方式）やインクジェット方式、昇華（熱転写）方式等が挙げられる。
【００３７】
図２は、図１に示した印刷システムにおけるプリンタ１０００内の制御機器であるネットワークプリントサーバ１５００およびプリンタコントローラ１６００の各記憶デバイスに記憶された制御プログラム内のソフトウェア構成を説明するブロック図である。なお、上記各制御プログラムは各制御機器のＣＰＵによってプログラムが解析され処理される。
【００３８】
図２において、１５０１は前記ネットワークプリントサーバ１５００の基本的なデータの入出力制御を統括するオペレーティングシステムである。さらに前記オペレーティングシステム１５０１内には、プログラム／データ記憶部１５０９との入出力制御を行なうファイルシステム１５０５、プリンタコントローラ１６００と拡張インタフェース１７を介して通信制御を行なう拡張インタフェースドライバ１５０６、ローカルエリアネットワーク（ＬＡＮ２０００）の通信媒体を介して不図示のホストコンピュータ等の外部装置と通信を行なうネットワークインタフェースドライバ１５０７を内包している。
【００３９】
１５０２はアプリケーションプログラムインタフェース（ＡＰＩ）であり、ネットワークプリントサーバ１５００で動作するユーザアプリケーション１５０３やプリンタ１０００やユーザアプリケーションの登録・管理を行う管理アプリケーション１５０４等のアプリケーションプログラムに対して前記オペレーティングシステムが備える各種機能を提供する。
【００４０】
また、アプリケーションプログラムインタフェース１５０２で提供される機能は、印刷データの送受信機能を提供するデータ転送ＡＰＩ、ビットマップ画像や表示メッセージ等のリソースデータの入出力制御を行なうリソース制御ＡＰＩ、プリンタ１０００の再起動や設定値の初期化や設定等の制御を行なうプリンタ制御ＡＰＩ、印刷ジョブの取り消しや再印刷指示などを制御するジョブ制御ＡＰＩ、ネットワークプリントサーバ１５００の再起動や設定値の初期化や設定、およびアプリケーションプログラムの起動、登録、削除を行なうプリントサーバ制御ＡＰＩを備える。１５１１はライセンス記憶部である。
【００４１】
１６０１は前記プリンタコントローラ１６００の各種処理制御を統括するオペレーティングシステムであり、内部に図１に示したプリントエンジン１６との通信制御を行なうプリントエンジン制御部１６０３およびネットワークプリントサーバ１５００から参照されるビットマップ画像やエラーメッセージ等の機種依存リソースおよびネットワークプリントサーバ上で動作するアプリケーションプログラム等を記憶する機種依存リソース／プログラム記憶部１６１０との入出力制御を行なうファイルシステム１６０４を内包している。
【００４２】
１６０２は拡張インタフェース制御部であり、拡張インタフェース１７を介してネットワークプリントサーバ１５００との通信制御を行なう。さらに前記拡張インタフェース制御部は、制御種別毎に印刷データの入出力を制御するデータ転送論理インタフェース、機種依存リソース／プログラム記憶部１６１０に記憶された各種データの入出力を制御するリソース制御論理インタフェース、プリンタ１０００の再起動や設定値の初期化や設定等の制御を行なうプリンタ制御論理インタフェース、印刷ジョブの取り消しや再印刷指示などを制御するジョブ制御論理インタフェースを備えており、各論理インタフェースを介してネットワークプリントサーバ１５００から要求された命令をオペレーティングシステム１６０１に対して転送し、その処理結果をネットワークプリントサーバ１５００に対して返信する。１６１２はライセンス記憶部である。
【００４３】
図３は、図２に示したネットワークプリントサーバ１５００で動作するアプリケーションプログラムの記述例を示す図であり、本発明の好適な一例としてＪａｖａ（登録商標）言語による記述例を示している。
【００４４】
図３に示す行３０１は、図２で説明したデータ転送ＡＰＩを呼び出す例であり、”ｐｒｉｎｔｅｒ．ｏｕｔｄａｔａ（”Ｔｅｓｔ”）”がデータ転送ＡＰＩで、ここでは”Ｔｅｓｔ”というテキストデータを印字データとしてプリンタコントローラを介してプリントエンジンから印刷せよという命令であり、処理結果が”ｒｅｓｕｌｔ”に数値型として格納される。
【００４５】
また、行３０２は前記３０１の行で指示された処理結果を標準出力先例えば、プリンタ１０００の操作パネル１８のＬＣＤ表示部やアプリケーションを呼び出し元であるホストコンピュータのブラウザ表示部にテキストメッセージ変換して表示する命令の記述例である。
【００４６】
図４は、本発明に係るネットワークプリントサーバにおける第１のデータ処理手順の一例を示すフローチャートであり、図１に示したネットワークプリントサーバ１５００上で動作するアプリケーションプログラムのインストーラの処理手順に対応する。なお、Ｓ５０１〜Ｓ５０６は各ステップを示す。また、本処理は各ステップに示す手順に基づく制御プログラムを図１に示したＣＰＵ１がＲＡＭ２上にロードして実行することにより実現される。
【００４７】
まず、ステップＳ５０１において、ネットワークプリントサーバ１５００上で動作する管理アプリケーション１５０４によって、図１に示したＬＡＮ２０００上に通信可能に接続されるいずれかのホストコンピュータ等のクライアント上に図５に示すようなアプリケーションインストール画面をクライアントコンピュータのＣＰＵが表示制御して、該制御手順にしたがってアプリケーションのインストールを行う。
【００４８】
この時にインストールするアプリケーションとライセンスコードをクライアント上の入力デバイスを介して入力させ、さらにインストールしたアプリケーションファイルとライセンスコードを格納する格納先を例えば図５に示す画面例では、フラッシュＲＯＭかハードディスクのいずれかを選択させる。
【００４９】
図５は、図１に示したネットワークプリントサーバ１５００と通信可能なクライアントコンピュータ上で表示されるアプリケーション／ライセンスインストール画面の一例を示す図であり、クライアントコンピュータのＣＰＵが表示制御することで表示される。
【００５０】
図５に示すサンプル画面では、ネットワークプリントサーバ１５００上に存在する書換可能なＦｌａｓｈＲＯＭ３およびプリンタコントローラに接続された外部メモリ１０（ハードディスク）のどちらかを選択するようになっているが、これに限ったものではない。
【００５１】
次に、ステップＳ５０２において、インストール先としてフラッシュＲＯＭが選択されたのかハードディスクが選択されたのかを図１に示したネットワークプリントサーバ１５００内のＣＰＵ１が判断して、ハードディスクが選択されたと判断された場合には、ステップＳ５０３に進み、プリンタコントローラ１５００内に存在する機種依存リソース／プログラム記憶部１６１０にアプリケーションプログラムを格納する。
【００５２】
さらに、ステップＳ５０４に進み、プリンタコントローラ１６００内に存在するライセンス記憶部１６１２にインストールされるアプリケーションプログラムに関するライセンスコードを格納して、インストールの処理を終了する。
【００５３】
一方、ステップＳ５０２において、インストール先として、ハードディスク以外、例えばフラッシュＲＯＭが選択されたと判断された場合には、ステップＳ５０５に進み、ネットワークプリントサーバ１５００上に存在するプログラム／データ記憶部１５０９にアプリケーションプログラムを格納し、さらにステップＳ５０６に進み、ネットワークプリントサーバ１５００上に存在するライセンス記憶部１５１１にライセンスコードを格納して、本インストール処理を終了する。
【００５４】
図６は、本発明に係るネットワークプリントサーバにおける第２のデータ処理手順の一例を示すフローチャートであり、図１に示したネットワークプリントサーバ１５００上で動作するアプリケーションプログラムの起動処理手順であって、ローカルエリアネットワークＬＡＮ２０００に接続されたホストコンピュータ等の外部装置から本プリン１０００に対してアプリケーションの起動要求を受信した場合の処理の流れに対応する。なお、Ｓ４０１〜Ｓ４１３は各ステップを示す。また、本処理は各ステップに示す手順に基づく制御プログラムを図１に示したネットワークプリントサーバ１５００のＦｌａｓｈＲＯＭ３に記憶され、ＣＰＵ１がＲＡＭ２上にロードして実行することにより実現される。
【００５５】
先ず、ステップＳ４０１において、ＬＡＮ２０００を介して不図示のホストコンピュータ等の外部装置からアプリケーション起動要求命令を受信すると、ステップＳ４０２で受信したアプリケーション起動要求命令からアプリケーションの格納先情報を含むＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を取得する。
【００５６】
次に、ステップＳ４０３で前記ＵＲＬから本プリンタ１０００内の格納先情報を抽出する。
【００５７】
例えば指定されたアプリケーションのＵＲＬが、「ｈｔｔｐ：／／１９２．１６８．０．２１５／ａｂｃ／ｘｙｚ．ｊａｖａ（登録商標）」の場合は、「ｈｔｔｐ：／／」はスキームであり、「１９２．１６８．０．２１５」は本プリンタ装置自身のネットワークアドレスを示すものであるため、格納先情報として抽出される情報は、「”／ａｂｃ／ｘｙｘ．ｊａｖａ（登録商標）”」となる。
【００５８】
次に、ステップＳ４０４で格納先情報の文字列が”／ｄｅｖ／”で始まっているか否かの判定を行なう。ここで、”／ｄｅｖ／”で始まっている場合には、起動要求されたアプリケーションの格納先がプリンタコントローラ１６００であると判断し、ステップＳ４０５へ進みプリンタコントローラ１６００に対して、図２で説明したようなＡＰＩを用いてアプリケーションプログラムの取得要求を発行する。
【００５９】
そして、ステップＳ４０６でプリンタコントローラ１６００からの応答結果を判断し、要求したアプリケーションプログラムが取得できたと判断した場合には、ステップＳ４１３に進みプリンタコントローラ１６００のライセンス記憶部１６１２に格納されている該当するアプリケーションのライセンスを読み出し、要求されたアプリケーションプログラムとライセンスコードが一致しているかどうかを判断して、一致していないと判断した場合は、適正なアプリケーションプログラムでないと判断し、ステップＳ４１１へ進みアプリケーション起動要求命令の送信元であるホストコンピュータに対してエラーを通知した後、処理を終了する。
【００６０】
一方、ステップＳ４１３で、一致していたと判断した場合は、適正アプリケーションプログラムであると判断し、ステップＳ４０７へ進みアプリケーションプログラムをネットワークプリントサーバ１５００のＲＡＭ１４にロードした後、ステップＳ４１０へ進んでアプリケーションプログラムを起動して、本処理を終了する。
【００６１】
一方、ステップＳ４０６で、プリンタコントローラ１６００から要求したアプリケーションプログラムが取得できなかったと判断した場合には、ステップＳ４１１へ進み、アプリケーション起動要求命令の送信元であるホストコンピュータに対してエラーを通知した後、処理を終了する。
【００６２】
また、ステップＳ４０４で、格納先情報の文字列が”／ｄｅｖ／”で始まっていないと判断した場合には、ステップＳ４０８へ進みネットワークプリントサーバ１５００内のプログラム／データ記憶部１５０９に該当するアプリケーションプログラムが存在するか否かを判定して、該当するアプリケーションプログラムが存在する場合には、ステップＳ４１２に進みネットワークプリントサーバ１５００のライセンス記憶部１５１１に格納されている該当するアプリケーションのライセンスを読み出し、要求されたアプリケーションプログラムとライセンスコードが一致しているかどうかと比較し一致しているかどうかを判断して、一致していなければ適正なアプリケーションプログラムでないと判断し、ステップＳ４１１へ進みアプリケーション起動要求命令の送信元であるホストコンピュータに対してエラーを通知した後、処理を終了する。
【００６３】
一方、ステップＳ４１２で、一致していたと判断した場合は、適正アプリケーションプログラムであると判断し、ステップＳ４０９へ進みアプリケーションプログラムをネットワークプリントサーバ１５００のＲＡＭ１４にロードした後、ステップＳ４１０へ進んで、アプリケーションプログラムを起動して、処理を終了する。
【００６４】
一方、ステップＳ４０８で要求されたアプリケーションが存在しないと判定した場合には、ステップＳ４１１へ進みアプリケーション起動要求命令の送信元であるホストコンピュータに対してエラーを通知した後処理を終了する。
【００６５】
上述したように、本発明に係る第１実施形態においては、アプリケーションのインストール時にインストール先の指定が可能となり、ネットワークカードや印刷装置に存在するそれぞれのプログラム記憶部にアプリケーションをインストールすることで、より使い勝手のよい印刷装置システムを提供することが可能となる。
【００６６】
上記実施形態によれば、アプリケーションプログラムのインストール先を指定可能になったことによって、アプリケーションプログラムの保存先を分散化することが可能となるため、共通モジュールであるネットワークプリントサーバに不必要なデータを保持する必要がなくなり、ネットワークカードモジュール側の記憶容量を削減できる。
【００６７】
〔第２実施形態〕
第１実施形態においては、インストーラを利用してアプリケーションプログラムのインストールを行う際に、インストーラを利用する利用者が手動でインストール先の指定を行う場合について説明したが、アプリケーションプログラムを作成する側で意図的にインストール先の指定を行いたい場合には第１実施形態では適当ではない。
【００６８】
そこで、第２実施形態においては、アプリケーションプログラムに含まれるマニフェストファイルの指定を判断基準としてアプリケーションプログラムの保存先の指定を行うこととする。
【００６９】
なお、第２実施形態に関わる印刷システムのハードウェア構成、および、好適な印刷システムについては第１実施形態において説明した図１および図２と同等であるためその説明は省略する。
【００７０】
図７は、本発明に係るネットワークプリントサーバにおける第３のデータ処理手順の一例を示すフローチャートであり、図１に示したネットワークプリントサーバ１５００上で動作するアプリケーションプログラムのインストーラの処理手順であって、ローカルエリアネットワークＬＡＮ２０００に接続されたホストコンピュータ等の外部装置から本プリンタ１０００に対してアプリケーションの起動要求を受信した場合の処理の流れに対応する。なお、Ｓ７０１〜Ｓ７０７は各ステップを示す。
【００７１】
また、本処理は各ステップに示す手順に基づく制御プログラムは図１に示したネットワークプリントサーバ１５００のＦｌａｓｈＲＯＭ３に記憶され、ＣＰＵ１がＲＡＭ２上にロードして実行することにより実現される。
【００７２】
まず、ステップＳ７０１において、ネットワークプリントサーバ１５００上で動作する管理アプリケーション１５０４によってホストコンピュータ等のクライアント上に、図８に示すようなアプリケーションインストール画面の手順にしたがってアプリケーションのインストールを行う。
【００７３】
図８は、図１に示したネットワークプリントサーバ１５００と通信可能なクライアントコンピュータ上で表示されるアプリケーション／ライセンスインストール画面の一例を示す図であり、クライアントコンピュータのＣＰＵが表示制御することで表示される。
【００７４】
図８に示すサンプル画面では、インストール先をパスで指定し、ライセンスコードを入力可能に構成されている。
【００７５】
この様な図８に示す画面をホストコンピュータのＣＰＵによる表示制御で表示した時に、インストールするアプリケーションとライセンスコードを入力させる。
【００７６】
そして、ステップＳ７０２において、指定されたアプリケーションプログラムに含まれるマニフェストファイルのチェックを行う。
【００７７】
図９は、本発明に係るネットワークプリントサーバ１５００におけるマニフェストファイルの一例を示す図であり、マニフェストファイルのサンプルの一部に対応する。
【００７８】
図９に従うと、例１ではインストール先の指定として「ｉｎｓｔａｌｌａｔｉｏｎ  ｐｌａｃｅ  ：  ｈｄｄ」となっている場合には、プリンタコントローラ１６００内に存在する機種依存リソース／プログラム記憶部１６１０に、ｆｌａｓｈｒｏｍとなっている場合には、ネットワークプリントサーバ１５００上に存在するプログラム／データ記憶部１５０９にそれぞれ保存することとなる。
【００７９】
そして、ステップＳ７０３において、インストール先としてフラッシュＲＯＭが指定されているのかハードディスクが指定されているのかを判断して、ハードディスクが指定されていると判断された場合には、ステップＳ７０４に進み、プリンタコントローラ１６００内に存在する機種依存リソース／プログラム記憶部１６１０にアプリケーションプログラムを格納する。さらに、ステップＳ７０５に進み、印刷装置内に存在するライセンス記憶部１６１２にライセンスコードを格納して、インストールの処理を終了する。
【００８０】
一方、ステップＳ７０３において、インストール先としてフラッシュＲＯＭが指定されたと判断された場合、もしくは、マニフェストファイルにインストール先の指定が存在しなかった場合には、ステップＳ７０６に進み、ネットワークプリントサーバ１５００上に存在するプログラム／データ記憶部１５０９にアプリケーションプログラムを格納し、さらにステップＳ７０７に進み、ネットワークカード上に存在するライセンス記憶部１５１１にライセンスコードを格納して、インストール処理を終了する。
【００８１】
上述したように、本発明に係る第２実施形態においては、アプリケーションプログラムの中にインストール先の指定が可能となり、ユーザがインストール先を指定する手間を省くことがで、また、プログラムのサイズが大きいためにかならずハードディスクに保存したいようなアプリケーションプログラムを作成した場合に、誤ってフラッシュＲＯＭにインストールをしてしまうという誤操作を防ぐことが可能となる。
【００８２】
以下、図１０に示すメモリマップを参照して本発明に係る印刷システムで読み取り可能なデータ処理プログラムの構成について説明する。
【００８３】
図１０は、本発明に係る印刷システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【００８４】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【００８５】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【００８６】
本実施形態における図４、図６、図７に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【００８７】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００８８】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８９】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００９０】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００９１】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【００９３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００９４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９６】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【００９７】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるものではない。
【００９８】
なお、本発明は、上記した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【産業上の利用可能性】
【００９９】
上記実施形態では、所定のアプリケーション本体を全て外部メモリ１０に記憶させる場合について説明したが、既存のアプリケーションの一部を変更するような差分プログラムや、一部のデータファイル（機能アップされる属性ファイル）のみをホストコンピュータ２００１に転送してインストールするような制御についても同様に制御可能である。
【０１００】
また、外部メモリ１０上の記憶状況に応じて、既存のアプリケーションの削除処理を併用して、新たな所定のアプリケーションプログラムをインストールするような制御を含めてもよい。
【０１０１】
また、ＦｌａｓｈＲＯＭ３に代えて、ＵＳＢメモリで構成、アプリケーションの登録者を制限できるように識別情報を付加して、アプリケーションインストールの実行の可否を制御できるように構成してもよい。
【図面の簡単な説明】
【０１０２】
【図１】本発明の第１実施形態を示すネットワークプリントサーバを適用可能な印刷システムのハードウェア構成を説明するブロック図である。
【図２】図１に示した印刷システムにおけるプリンタ内の制御機器であるネットワークプリントサーバおよびプリンタコントローラの各記憶デバイスに記憶された制御プログラム内のソフトウェア構成を説明するブロック図である。
【図３】図２に示したネットワークプリントサーバで動作するアプリケーションプログラムの記述例を示す図である。
【図４】本発明に係るネットワークプリントサーバにおける第１のデータ処理手順の一例を示すフローチャートである。
【図５】図１に示したネットワークプリントサーバと通信可能なクライアントコンピュータ上で表示されるアプリケーション／ライセンスインストール画面の一例を示す図である。
【図６】本発明に係るネットワークプリントサーバにおける第２のデータ処理手順の一例を示すフローチャートである。
【図７】本発明に係るネットワークプリントサーバにおける第３のデータ処理手順の一例を示すフローチャートである。
【図８】図１に示したネットワークプリントサーバと通信可能なクライアントコンピュータ上で表示されるアプリケーション／ライセンスインストール画面の一例を示す図である。
【図９】本発明に係るネットワークプリントサーバにおけるマニフェストファイルの一例を示す図である。
【図１０】本発明に係る印刷システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【０１０３】
１，８    ＣＰＵ
２，１４    ＲＡＭ
３    ＦｌａｓｈＲＯＭ
１０    外部メモリ
１０００    プリンタ
１５００    ネットワークプリントサーバ
１６００    プリンタコントローラ
【図１】
2005349695.tif 000003
【図２】
2005349695.tif 000004
【図３】
2005349695.tif 000005
【図４】
2005349695.tif 000006
【図５】
2005349695.tif 000007
【図６】
2005349695.tif 000008
【図７】
2005349695.tif 000009
【図８】
2005349695.tif 000010
【図９】
2005349695.tif 000011
【図１０】
2005349695.tif 000012