(57)【要約】【課題】  追加機能能力を有する印刷装置に装着可能な、印刷装置に対して同様の追加機能能力を提供する通信装置において、平易でかつ効率的なアプリケーションのインストール手段を提供する。【解決手段】  通信装置は、通信装置自身の識別番号と一致する識別番号を備えたアプリケーションであれば通信装置自身にインストールし、印刷装置の識別番号と一致する識別番号を備えたアプリケーションであれば印刷装置に転送する。更に、印刷装置の識別番号と一致する識別番号を備えたアプリケーションが通信装置上で動作可能なものである場合には、通信装置自身にインストールを実行する。【選択図】  図１
2009140068.tif 000002
【特許請求の範囲】
【請求項１】
データ処理装置に対して接続可能な情報処理装置において、
所定の機能を有するアプリケーションプログラムと当該アプリケーションプログラムに対応する識別情報を受信する受信手段と、
前記データ処理装置から当該データ処理装置を識別するためのデータ処理装置識別情報を取得するデータ処理装置識別情報取得手段と、
情報処理装置を識別するための情報処理装置識別情報と前記受信手段により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムを前記情報処理装置にインストールする第１のインストール手段と、
前記データ処理装置識別情報取得手段により取得したデータ処理装置識別情報と前記受信手段により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムと当該アプリケーションプログラムに対応する識別情報を前記データ処理装置に転送する転送手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記データ処理装置識別情報取得手段により取得したデータ処理装置識別情報と前記受信手段により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムが前記情報処理装置にインストール可能であるかどうかを判断するインストール判断手段と、
インストール可能な場合に、前記受信したアプリケーションプログラムを前記情報処理装置にインストールする第２のインストール手段と、
を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記受信したアプリケーションプログラムが前記情報処理装置にインストール可能であると判断した場合に、
前記受信したアプリケーションプログラムを前記情報処理装置にインストールして良いかを前記アプリケーションプログラムの送信元に確認する確認手段を更に備えることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
データ処理装置に対して接続可能な情報処理装置において、
所定の機能を有するアプリケーションプログラムと当該アプリケーションプログラムに対応する識別情報を受信する受信手段と、
前記データ処理装置から当該データ処理装置を識別するためのデータ処理装置識別情報を取得するデータ処理装置識別情報取得手段と、
情報処理装置を識別するための情報処理装置識別情報と前記受信手段により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムを前記情報処理装置にインストールする第１のインストール手段と、
前記データ処理装置識別情報取得手段により取得したデータ処理装置識別情報と前記受信手段により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムが前記情報処理装置にインストール可能な場合は、前記受信したアプリケーションプログラムを前記情報処理装置にインストールする第２のインストール手段と、前記受信したアプリケーションプログラムが前記情報処理装置にインストール不可能な場合は、前記受信したアプリケーションプログラムと当該アプリケーションプログラムに対応する識別情報を前記データ処理装置に転送する転送手段と、
を備えることを特徴とする情報処理装置。
【請求項５】
データ処理装置に対して接続可能な情報処理装置において、
所定の機能を有するアプリケーションプログラムと当該アプリケーションプログラムに対応する識別情報を受信する受信手段と、
前記データ処理装置から当該データ処理装置を識別するためのデータ処理装置識別情報を取得するデータ処理装置識別情報取得手段と、
情報処理装置を識別するための情報処理装置識別情報と前記受信手段により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムを前記情報処理装置にインストールする第１のインストール手段と、
前記データ処理装置識別情報取得手段により取得したデータ処理装置識別情報と前記受信手段により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムと当該アプリケーションプログラムに対応する識別情報を前記データ処理装置に転送する転送手段と、更に、前記受信したアプリケーションプログラムが前記情報処理装置にインストール可能な場合は前記受信したアプリケーションプログラムを前記情報処理装置にインストールする第２のインストール手段と、
を備えることを特徴とする情報処理装置。
【請求項６】
データ処理装置に対して接続可能な情報処理装置の情報処理方法において、
所定の機能を有するアプリケーションプログラムと当該アプリケーションプログラムに対応する識別情報を受信する受信工程と、
前記データ処理装置から当該データ処理装置を識別するためのデータ処理装置識別情報を取得するデータ処理装置識別情報取得工程と、
情報処理装置を識別するための情報処理装置識別情報と前記受信工程により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムを前記情報処理装置にインストールする第１のインストール工程と、
前記データ処理装置識別情報取得工程により取得したデータ処理装置識別情報と前記受信工程により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムと当該アプリケーションプログラムに対応する識別情報を前記データ処理装置に転送する転送工程と、
を備えることを特徴とする情報処理方法。
【請求項７】
前記データ処理装置識別情報取得工程により取得したデータ処理装置識別情報と前記受信工程により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムが前記情報処理装置にインストール可能であるかどうかを判断するインストール判断工程と、
インストール可能な場合に、前記受信したアプリケーションプログラムを前記情報処理装置にインストールする第２のインストール工程と、
を更に備えることを特徴とする請求項６に記載の情報処理方法。
【請求項８】
前記受信したアプリケーションプログラムが前記情報処理装置にインストール可能であると判断した場合に、
前記受信したアプリケーションプログラムを前記情報処理装置にインストールして良いかを前記アプリケーションプログラムの送信元に確認する確認工程を更に備えることを特徴とする請求項７に記載の情報処理方法。
【請求項９】
データ処理装置に対して接続可能な情報処理装置の情報処理方法において、
所定の機能を有するアプリケーションプログラムと当該アプリケーションプログラムに対応する識別情報を受信する受信工程と、
前記データ処理装置から当該データ処理装置を識別するためのデータ処理装置識別情報を取得するデータ処理装置識別情報取得工程と、
情報処理装置を識別するための情報処理装置識別情報と前記受信工程により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムを前記情報処理装置にインストールする第１のインストール工程と、
前記データ処理装置識別情報取得工程により取得したデータ処理装置識別情報と前記受信工程により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムが前記情報処理装置にインストール可能な場合は、前記受信したアプリケーションプログラムを前記情報処理装置にインストールする第２のインストール工程と、前記受信したアプリケーションプログラムが前記情報処理装置にインストール不可能な場合は、前記受信したアプリケーションプログラムと当該アプリケーションプログラムに対応する識別情報を前記データ処理装置に転送する転送工程と、
を備えることを特徴とする情報処理方法。
【請求項１０】
データ処理装置に対して接続可能な情報処理装置の情報処理方法において、
所定の機能を有するアプリケーションプログラムと当該アプリケーションプログラムに対応する識別情報を受信する受信工程と、
前記データ処理装置から当該データ処理装置を識別するためのデータ処理装置識別情報を取得するデータ処理装置識別情報取得工程と、
情報処理装置を識別するための情報処理装置識別情報と前記受信工程により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムを前記情報処理装置にインストールする第１のインストール工程と、
前記データ処理装置識別情報取得工程により取得したデータ処理装置識別情報と前記受信工程により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムと当該アプリケーションプログラムに対応する識別情報を前記データ処理装置に転送する転送工程と、更に、前記受信したアプリケーションプログラムが前記情報処理装置にインストール可能な場合は前記受信したアプリケーションプログラムを前記情報処理装置にインストールする第２のインストール工程と、
を備えることを特徴とする情報処理方法。
【請求項１１】
請求項６〜請求項１０のいずれかに記載の情報処理方法をコンピューターにより実行することを特徴とするプログラム。
【請求項１２】
請求項１１に記載のプログラムを記憶していることを特徴とする、コンピュータにより読取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及びその制御方法に関するものである。特に、印刷装置を含むデータ処理装置に接続することができ、外部から受信したアプリケーションプログラムの使用を制御することが可能な通信装置及びその制御方法に関するものである。
【背景技術】
【０００２】
近年、Java（登録商標）言語を用いて作成されたアプリケーションプログラムモジュールを組込み機器上に実装されたJava（登録商標）仮想マシン上で動作可能とするプラットフォーム技術が提案されている。プリンタや複合機等のデータ処理装置にこの技術を用いることで、データ処理装置に後から新たな機能を追加することが可能となる。
【０００３】
この場合、データ処理装置へのアプリケーションプログラムのインストールはデータ処理装置上で動作するアプリケーションインストーラを介して行われる。上記アプリケーションインストーラは、ユーザがＰＣ等の端末上のＷＷＷアプリケーションから所定のＵＲＬを入力することでアクセス可能である。ユーザは上記アプリケーションインストーラ上で所定の操作フローを行い、所望のアプリケーションプログラムをデータ処理装置に送信して、インストールを実行する。
【０００４】
なおここで、上記アプリケーションプログラムの不正利用を防止するための技術がある。一例として、上記アプリケーションプログラムの供給者がユーザからの申請に基づいて、事前に当該アプリケーションプログラムに対するライセンスを付与するという方法が存在する。上記ライセンスにはユーザが当該アプリケーションプログラムを使用する機器のシリアル番号などの固有情報が格納されている。ユーザは、アプリケーションプログラムのインストール時には、アプリケーションプログラムと共にライセンスもデータ処理装置に送信する。そして、データ処理装置は自身の固有情報とライセンスに含まれる固有情報とを比較し、一致した場合にのみアプリケーションプログラムのインストールを実行する。以上により、アプリケーションプログラムを複数の機器にインストールして不正に使用されてしまう事態を防いでいる。
【０００５】
ところで、データ処理装置の中にはＳＦＰなど、メモリ資源やＣＰＵ性能が比較的制限されたローエンドの製品が存在する。このような装置に予めJava（登録商標）仮想マシンを組み込み、様々な機能の拡張性を提供することは、メモリ資源やＣＰＵ性能の制約上、実現困難である。
【０００６】
そのため、データ処理装置に装着可能なオプション製品にJava（登録商標）仮想マシンを搭載するという方法が提案されている。この方法によれば、データ処理装置には特別なモジュールを搭載する必要がなくなるため、データ処理装置自体にかかるコストを低く抑えることが出来る。更に、アプリケーションプログラムはオプション製品側で動作するため、データ処理装置自身のメモリ資源やＣＰＵ資源に及ぼす負荷を低く抑えることが可能となる。上記オプション製品の具体例として、ＳＦＰに装着可能な、予めJava（登録商標）仮想マシンを搭載して印刷等に関する様々な機能拡張性を備えたネットワークインターフェースカードが提案されている。
【０００７】
ネットワークインターフェースカード上にJava（登録商標）仮想マシンを搭載する場合も、アプリケーションプログラムのインストール手順は、データ処理装置上にJava（登録商標）仮想マシンを搭載した場合と同一であることが望ましい。すなわち、ネットワークインターフェースカード上にはアプリケーションインストーラが備えられている。ユーザは端末上のＷＷＷアプリケーションから所定のＵＲＬを入力して上記アプリケーションインストーラにアクセスし、アプリケーションプログラムのインストールを行う。なお、上記ＵＲＬはデータ処理装置上にJava（登録商標）仮想マシンが搭載されたケースにおける、データ処理装置上で動作するアプリケーションインストーラのＵＲＬと同一である。
【０００８】
更には、ネットワークインターフェースカードにおいても、アプリケーションプログラムの不正利用を防止するための技術がある（例えば、特許文献１参照）。上記技術によれば、接続されているデータ処理装置から取得した識別情報とアプリケーションプログラムに対応する識別情報とが一致したときは、受信したアプリケーションプログラムの使用を許可する制御を行う。
【特許文献１】特開２００７−６６２７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
近年では新たに、Java（登録商標）仮想マシンが搭載されたデータ処理装置に、上述のJava（登録商標）仮想マシンが搭載されたネットワークインターフェースカードを装着するという形態も検討されている。
【００１０】
この形態によれば、例えば重たい処理を行うアプリケーションプログラムはネットワークインターフェースカード側にインストールすることで、データ処理装置の処理負荷を軽減させることが可能となる。あるいは、データ処理装置側にクライアント機能を、ネットワークインターフェースカード側にサーバ機能を持たせたサーバレスなシステムを実現することも可能となる。
【００１１】
しかしながらこの形態の場合、アプリケーションプログラムのインストール方法がデータ処理装置とネットワークインターフェースカードとで重複している。そのため、ユーザが端末から上述の所定ＵＲＬを入力した場合、ネットワークインターフェースカード側が備えるアプリケーションインストーラに常にアクセスすることとなる。ユーザがデータ処理装置側にアプリケーションプログラムをインストールしたい場合は、一旦ネットワークインターフェースカードをデータ処理装置から取り外すことが必要となる。その上で改めて端末から所定のＵＲＬにアクセスすることとなる。
【００１２】
ユーザがデータ処理装置側にインストールするのかネットワークインターフェースカード側にインストールするのかを意識し、それに応じて手順を変えなければいけないことは、ユーザにとって不便である。更には、構成を正確に把握した習熟度の高いユーザでなければ、適切にインストール先を切り替えてインストール実施することは困難である。
【課題を解決するための手段】
【００１３】
本発明は上記問題点に鑑みてなされたものであり、本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、データ処理装置に対して接続可能な情報処理装置において、所定の機能を有するアプリケーションプログラムと当該アプリケーションプログラムに対応する識別情報を受信する受信手段と、前記データ処理装置から当該データ処理装置を識別するためのデータ処理装置識別情報を取得するデータ処理装置識別情報取得手段と、情報処理装置を識別するための情報処理装置識別情報と前記受信手段により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムを前記情報処理装置にインストールする第１のインストール手段と、前記データ処理装置識別情報取得手段により取得したデータ処理装置識別情報と前記受信手段により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムと当該アプリケーションプログラムに対応する識別情報を前記データ処理装置に転送する転送手段とを備えることを特徴とする。
【００１４】
本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、前記データ処理装置識別情報取得手段により取得したデータ処理装置識別情報と前記受信手段により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムが前記情報処理装置にインストール可能であるかどうかを判断するインストール判断手段と、インストール可能な場合に、前記受信したアプリケーションプログラムを前記情報処理装置にインストールする第２のインストール手段とを更に備えることを特徴とする。
【００１５】
本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、前記受信したアプリケーションプログラムが前記情報処理装置にインストール可能であると判断した場合に、前記受信したアプリケーションプログラムを前記情報処理装置にインストールして良いかを前記アプリケーションプログラムの送信元に確認する確認手段を更に備えることを特徴とする。
【００１６】
本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、データ処理装置に対して接続可能な情報処理装置において、所定の機能を有するアプリケーションプログラムと当該アプリケーションプログラムに対応する識別情報を受信する受信手段と、前記データ処理装置から当該データ処理装置を識別するためのデータ処理装置識別情報を取得するデータ処理装置識別情報取得手段と、情報処理装置を識別するための情報処理装置識別情報と前記受信手段により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムを前記情報処理装置にインストールする第１のインストール手段と、前記データ処理装置識別情報取得手段により取得したデータ処理装置識別情報と前記受信手段により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムが前記情報処理装置にインストール可能な場合は、前記受信したアプリケーションプログラムを前記情報処理装置にインストールする第２のインストール手段と、前記受信したアプリケーションプログラムが前記情報処理装置にインストール不可能な場合は、前記受信したアプリケーションプログラムと当該アプリケーションプログラムに対応する識別情報を前記データ処理装置に転送する転送手段とを備えることを特徴とする。
【００１７】
本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、データ処理装置に対して接続可能な情報処理装置において、所定の機能を有するアプリケーションプログラムと当該アプリケーションプログラムに対応する識別情報を受信する受信手段と、前記データ処理装置から当該データ処理装置を識別するためのデータ処理装置識別情報を取得するデータ処理装置識別情報取得手段と、情報処理装置を識別するための情報処理装置識別情報と前記受信手段により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムを前記情報処理装置にインストールする第１のインストール手段と、前記データ処理装置識別情報取得手段により取得したデータ処理装置識別情報と前記受信手段により受信した識別情報とが一致したときに、前記受信したアプリケーションプログラムと当該アプリケーションプログラムに対応する識別情報を前記データ処理装置に転送する転送手段と、更に、前記受信したアプリケーションプログラムが前記情報処理装置にインストール可能な場合は前記受信したアプリケーションプログラムを前記情報処理装置にインストールする第２のインストール手段とを備えることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、印刷装置にも通信装置にも同一の手順でアプリケーションプログラムをインストールすることが可能となる。従って、習熟度のそれほど高くないユーザであっても、適切なインストール実施を容易に行うことが出来る。
【００１９】
更に、本発明によれば、印刷装置にインストールするためのライセンスが付与されたアプリケーションプログラムであっても、通信装置上で動作可能であれば通信装置にインストールすることも可能となる。これにより、印刷装置側の処理負荷を軽減させたシステムを実現することが可能となる。
【発明を実施するための最良の形態】
【００２０】
次に、本発明の詳細を実施例の記述に従って説明する。
【００２１】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【実施例１】
【００２２】
図１は、本発明の第１の実施の形態に係るデータ処理装置が適用されたプリンタのハードウェア構成を示すブロック図である。
【００２３】
図１において、本発明の第１の実施の形態に係るデータ処理装置が適用されたプリンタ１０００は、ネットワークプリントサーバ１５００とプリンタコントローラ１６００とを備え、それぞれが独立した制御系を有する。ネットワークプリントサーバ１５００はインテリジェント型ネットワークカードモジュールの形態で実現され、該プリンタ１０００に対して着脱可能なネットワーク装置である。プリンタコントローラ１６００は、プリンタ１０００本体を制御する。また、プリンタ１０００は、プリンタコントローラ１６００に接続されたハードディスク等で構成される外部メモリ１０と、印刷を行うプリントエンジン１６と、操作パネル１８（操作部）とを備える。
【００２４】
ネットワークプリントサーバ１５００は、ネットワークプリントサーバ用のＣＰＵ１と、ＲＡＭ２と、書き換え可能なＲＯＭであるＦｌａｓｈＲＯＭ３とを備える。さらに、ネットワークプリントサーバ１５００は、ネットワークコントローラ（ＬＡＮＣ）５と、ＬＥＤ６と、拡張インタフェースコントローラ（ＥＸＰＣ）７と、これらを互いに接続するシステムバス４とを備える。
【００２５】
ＣＰＵ１は、ＦｌａｓｈＲＯＭ３に記憶された制御プログラムを読み出して各種制御処理を実行する。例えば、システムバス４に接続されるＬＡＮＣ５を介してローカルエリアネットワーク（ＬＡＮ）２０００に接続されたホストコンピュータ等の外部装置（不図示）と所定のネットワーク通信プロトコルを用いて通信する。これにより、外部装置から送られる印刷データやプリンタ制御命令等の各種データの送受信を統括的に制御し、ＥＸＰＣ７を介して接続されるプリンタコントローラ１５０１に対して適切なデータ転送制御を行う。
【００２６】
ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＬＥＤ６は、ネットワークプリントサーバ１５００の動作状態を示す表示部として用いられている。ＬＥＤ６は、例えば、ＬＡＮＣ５とＬＡＮ２０００との電気的な接続状態（ＬＩＮＫ）やネットワーク通信モード（１０Ｂａｓｅや１００Ｂａｓｅ、全二重、半二重）等の各種動作状態をＬＥＤの色や点滅パターンで示すこと可能となっている。
【００２７】
拡張インタフェース１７は、ネットワークプリントサーバ１５００とプリンタコントローラ１６００を接続するためのインタフェースであり、不図示のコネクタを含んで構成されている。ネットワークプリントサーバ１５００は、このコネクタによってプリンタ１０００（プリンタコントローラ１６００）との着脱が可能となっており、同じ構成を有する他のプリンタに当該ネットワークプリントサーバ１５００を装着することが可能である。
【００２８】
一方、プリンタコントロータ１６００は、プリンタコントローラ用のＣＰＵ８と、ＲＯＭ９と、ラスタコントローラ１２とを備える。さらに、プリンタコントローラ１６００は、拡張インタフェースコントローラ（ＥＸＰＣ）１３と、ＲＡＭ１４と、ディスクコントローラ（ＤＫＣ）１５と、これらを互い接続するシステムバス１１とを備える。
【００２９】
ＣＰＵ８は、ＲＯＭ９に記憶された制御プログラム等或いはＤＫＣ１５を介して接続された外部メモリ１０に記憶された制御プログラムやリソースデータ（資源情報）等に基づいて、システムバス１１に接続される各種デバイスとのアクセスを統括的に制御する。また、ＣＰＵ８は、ＥＸＰＣ１３を介してネットワークプリントサーバ１５００から受信する印刷データを基にラスタコントローラ１２によって出力画像情報を生成し、プリントエンジン１６に対して画像信号を出力する。
【００３０】
ＲＡＭ１４は、ＣＰＵ８の主メモリ、ワークエリア等として機能する。また、ＲＡＭ１４は、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。操作パネル１８には、プリンタ１０００の動作モード等の設定や印刷データの取り消し等の操作を行うためのボタンと、プリンタ１０００の動作状態を示す液晶パネルやＬＥＤ等の表示部とが配されている。
【００３１】
プリントエンジン１６は、既知の印刷技術を利用した画像形成処理部であり、好適な実施系として、例えば電子写真方式（レーザービーム方式）やインクジェット方式、昇華方（熱転写）方式等が挙げられる。
【００３２】
図２は、図１のネットワークプリントサーバ１５００及びプリンタコントローラ１６００の各記憶部（例えば、ＦｌａｓｈＲＯＭ３やＲＯＭ９）に記憶された制御プログラムのソフトウェア構成を示すブロック図である。なお、これらの制御プログラムは、上述したＣＰＵ１，８によってそれぞれ実行される。
【００３３】
ネットワークプリントサーバ１５００側において、オペレーティングシステム（ＯＳ）１５０１は、ネットワークプリントサーバ１５００の基本的なデータの入出力制御を統括する。ＯＳ１５０１は、ファイルシステム１５０５と、拡張インタフェースドライバ１５０６と、ネットワークインタフェースドライバ１５０７とを内包している。ファイルシステム１５０５は、プログラム／データ記憶部１５０９及びライセンス記憶部１５１１との入出力制御を行う。拡張インタフェースドライバ１５０６は、プリンタコントローラ１６００と拡張インタフェース１７を介して通信制御を行う。ネットワークインタフェースドライバ１５０７はＬＡＮ２０００の通信媒体を介してホストコンピュータ等の外部装置（不図示）と通信を行う。ここで、プログラム／データ記憶部１５０９及びライセンス記憶部１５１１は、例えばＦｌａｓｈＲＯＭ３により構成される。
【００３４】
アプリケーションプログラムインタフェース（ＡＰＩ）１５０２は、ネットワークプリントサーバ１５００内で動作するユーザアプリケーション１５０３や管理アプリケーション１５０４等に対してＯＳ１５０１が備える各種機能を提供する。ここで、管理アプリケーション１５０４は、プリンタ１０００に対するユーザアプリケーション１５０３の登録・管理を行うものである。
【００３５】
プログラム／データ記憶部１５０９は、ホストコンピュータ等の外部装置から受信したアプリケーションプログラムを格納する。ライセンス記憶部１５１１は、アプリケーションプログラムのインストール時に入力されたライセンスファイル（ライセンス情報）を各アプリケーションに対応して格納する。
【００３６】
ＡＰＩ１５０２は、アプリケーションプログラムに提供する機能として、印刷データの送受信機能を提供するデータ転送ＡＰＩ、ビットマップ画像や表示メッセージ等のリソースデータの入出力制御を行うリソース制御ＡＰＩを備える。また、ＡＰＩ１５０２は、プリンタ１０００の再起動や設定値の初期化や設定等の制御を行うプリンタ制御ＡＰＩ、印刷ジョブの取り消しや再印刷指示などを制御するジョブ制御ＡＰＩも備える。さらに、ＡＰＩ１５０２は、ネットワークプリントサーバ１５００の再起動や設定値の初期化や設定、及びアプリケーションプログラムの動作開始（起動）、登録、削除を行うプリントサーバ制御ＡＰＩを備える。
【００３７】
プリンタコントローラ１６００側において、オペレーティングシステム（ＯＳ）１６０１は、プリンタコントローラ１６００の各種処理制御を統括する。ＯＳ１６０１は、プリントエンジン制御部１６０３と、機種依存リソース記憶部１６１０との入出力制御を行うファイルシステム１６０４とを備える。プリントエンジン制御部１６０３はプリントエンジン１６との通信制御を行う。機種依存リソース記憶部１６１０は、ネットワークプリントサーバ１５００から参照されるビットマップ画像データやエラーメッセージ等の機種依存リソース等を記憶する。ここで、機種依存リソース記憶部１６１０は、例えばＲＯＭ９や外部メモリ１０により構成される。機種依存リソース記憶部１６１０には、プリンタ１０００（プリンタコントローラ１６００）のデバイスシリアル番号や機種名の情報が格納されている。
【００３８】
拡張インタフェース制御部１６０２は、拡張インタフェース１７を介してネットワークプリントサーバ１５００との通信制御を行う。また、拡張インタフェース制御部１６０２は、データ転送論理インタフェース（Ｉ／Ｆ）、リソース制御論理インタフェース（Ｉ／Ｆ）、プリンタ制御論理インタフェース（Ｉ／Ｆ）及びジョブ制御論理インタフェース（Ｉ／Ｆ）を備える。データ転送論理インタフェース（Ｉ／Ｆ）は制御種別毎に印刷データの入出力を制御する。リソース制御論理インタフェース（Ｉ／Ｆ）は機種依存リソース記憶部１６１０に記憶された各種データの入出力を制御する。プリンタ制御論理インタフェース（Ｉ／Ｆ）はプリンタ１０００の再起動や設定値の初期化や設定等の制御を行う。ジョブ制御論理インタフェース（Ｉ／Ｆ）は印刷ジョブの取り消しや再印刷指示などを制御する。拡張インタフェース制御部１６０２は各論理インタフェースを介してネットワークプリントサーバ１５００から要求された命令をオペレーティングシステム１６０１に対して転送し、その処理結果をネットワークプリントサーバ１５００に対して返信する。
【００３９】
図３は、ネットワークプリントサーバ１５００で動作するアプリケーションプログラムの記述例を示す図である。同図では、本発明の好適な一例としてＪａｖａ（登録商標）言語による記述例を示している。
【００４０】
図３において、行３０１は、図２で説明したデータ転送ＡＰＩを呼び出す記述である。行３０１において、“printer.outdata（“Ｔｅｓｔ”）”がデータ転送ＡＰＩである。これは“Ｔｅｓｔ”というテキストデータを印字データとして、プリンタコントローラを介してプリントエンジンから印刷せよというプリンタコントローラ依存命令である。プリンタコントローラ１６００にて当該命令が実行されると、処理結果が行３０２の変数“ｒｅｓｕｌｔ”に数値型として変換されて格納される。
【００４１】
行３０２は、行３０１で命令された処理結果を標準出力先に送信し、テキストメッセージ変換して表示させる命令の記述例である。標準出力先は、例えば、プリンタ１０００内の操作パネル１８上のＬＣＤ表示部（不図示）やアプリケーションの呼び出し元であるホストコンピュータのブラウザ表示部（不図示）である。
【００４２】
次に、図４は、本発明にかかるネットワークプリントサーバ１５００上で実行されるアプリケーションプログラムのインストール処理を示すフローチャートである。
【００４３】
図４において、まずネットワークプリントサーバ１５００は起動時にプリンタコントローラ１６００からプリンタコントローラ１６００のデバイスシリアル番号を取得する（Ｓ４０１）。次に、ユーザがホストコンピュータ上のＷＷＷアプリケーションからネットワークプリントサーバ１５００上で動作するアプリケーションインストーラにアクセスするのを待ち受ける（Ｓ４０２）。ユーザがアプリケーションインストーラを介して転送したアプリケーションプログラムとライセンスを受信すると、ライセンスからデバイスシリアル番号を抽出する（Ｓ４０３）。そして、上記ライセンスから抽出したデバイスシリアル番号がネットワークプリントサーバ１５００のデバイスシリアル番号と一致するかどうかを判定する（Ｓ４０４）。一致した場合には上記アプリケーションプログラムをネットワークプリントサーバ１５００自身にインストールした後（Ｓ４０５）、本処理フローを終了する。
【００４４】
一方、Ｓ４０４の判定で一致しなかった場合は、次に、上記ライセンスから抽出したデバイスシリアル番号がＳ４０１で取得したプリンタコントローラ１６００のデバイスシリアル番号と一致するかどうかを判定する（Ｓ４０６）。一致しない場合は、不正なアプリケーションプログラムを受信したと判断し、ホストコンピュータ上のＷＷＷアプリケーションにインストール不可のエラーメッセージを表示した後（Ｓ４０７）、本処理フローを終了する。
【００４５】
Ｓ４０６の判定で一致した場合は、ネットワークプリントサーバ１５００上でも動作可能なアプリケーションプログラムであるかどうかを判定する（Ｓ４０８）。動作可能な場合は、ホストコンピュータ上のＷＷＷアプリケーションを介して、当該アプリケーションプログラムをネットワークプリントサーバ１５００側にインストールするかどうかをユーザに確認する（Ｓ４０９）。
【００４６】
ユーザがネットワークプリントサーバ１５００へのインストールを了承した場合は、当該アプリケーションプログラムをネットワークプリントサーバ１５００自身にインストールした後（Ｓ４１０）、本処理フローを終了する。
【００４７】
一方、Ｓ４０９においてユーザが拒否した場合は、アプリケーションプログラムとライセンスを、拡張インタフェース１７を介してプリンタコントローラ１６００上で動作するアプリケーションインストーラに転送する（Ｓ４１１）。以上を行った後、本処理フローを終了する。
【００４８】
また、Ｓ４０８の判定においてネットワークプリントサーバ１５００上で動作不可能と判断された場合は、直ちにＳ４１１に遷移する。Ｓ４１１において、アプリケーションプログラムとライセンスを、拡張インタフェース１７を介してプリンタコントローラ１６００上で動作するアプリケーションインストーラに転送した後、本処理フローを終了する。
【００４９】
なお、Ｓ４１１の結果アプリケーションプログラムとライセンスを受信したプリンタコントローラ１６００は、ライセンスに格納されたデバイスシリアル番号と自身のデバイスシリアル番号とを比較する。一致した場合はアプリケーションプログラムをプリンタコントローラ１６００自身にインストールする。一致しない場合は、当該アプリケーションプログラムとライセンスは破棄する。
【００５０】
以上、第１の実施例によれば、ユーザはアプリケーションプログラムのネットワークプリントサーバ１５００へのインストールも、プリンタコントローラ１６００へのインストールも、同一の手順により実行可能となる。
【００５１】
更に、プリンタコントローラ１６００上で動作するようライセンス付与されたアプリケーションプログラムであっても、ネットワークプリントサーバ１５００上で動作可能であればそちらにインストールすることが可能になる。それにより、プリンタコントローラ１６００側の処理負荷を軽減させることが可能となる。
【実施例２】
【００５２】
次に、本発明に係る第２の実施形態について説明する。
【００５３】
第１の実施例においては、プリンタコントローラ１６００上で動作するようライセンス付与されたアプリケーションプログラムをネットワークプリントサーバ１５００にインストールした場合に、以下の課題が存在した。すなわち、当該アプリケーションプログラムを動作させるためには、プリンタコントローラ１６００にネットワークプリントサーバ１５００が装着されていなければならない。このため、アプリケーションプログラムのインストール後に、ネットワークプリントサーバ１５００を取り除き、プリンタコントローラ１６００を単体で使用したいニーズが生じた場合に対処することが出来ない。
【００５４】
第２の実施例は上記課題を解決するものである。
【００５５】
まず、第２の実施例におけるハードウェア構成およびソフトウェア構成は、上述した第1の実施例と相違は無いため、説明は省略する。
【００５６】
図５は、本発明の第２の実施例にかかるネットワークプリントサーバ１５００上で実行されるアプリケーションプログラムのインストール処理を示すフローチャートである。
【００５７】
図５において、まずネットワークプリントサーバ１５００は起動時にプリンタコントローラ１６００からプリンタコントローラ１６００のデバイスシリアル番号を取得する（Ｓ５０１）。次に、ユーザがホストコンピュータ上のＷＷＷアプリケーションからネットワークプリントサーバ１５００上で動作するアプリケーションインストーラにアクセスするのを待ち受ける（Ｓ５０２）。ユーザがアプリケーションインストーラを介して転送したアプリケーションプログラムとライセンスを受信すると、ライセンスからデバイスシリアル番号を抽出する（Ｓ５０３）。そして、上記ライセンスから抽出したデバイスシリアル番号がネットワークプリントサーバ１５００のデバイスシリアル番号と一致するかどうかを判定する（Ｓ５０４）。一致した場合には上記アプリケーションプログラムをネットワークプリントサーバ１５００自身にインストールした後（Ｓ５０５）、本処理フローを終了する。
【００５８】
一方、Ｓ５０４の判定で一致しなかった場合は、次に、上記ライセンスから抽出したデバイスシリアル番号がＳ５０１で取得したプリンタコントローラ１６００のデバイスシリアル番号と一致するかどうかを判定する（Ｓ５０６）。一致しない場合は、不正なアプリケーションプログラムを受信したと判断し、ホストコンピュータ上のＷＷＷアプリケーションにインストール不可のエラーメッセージを表示した後（Ｓ５０７）、本処理フローを終了する。
【００５９】
Ｓ５０６の判定で一致した場合は、ネットワークプリントサーバ１５００上でも動作可能なアプリケーションプログラムであるかどうかを判定する（Ｓ５０８）。動作可能な場合は、まず当該アプリケーションプログラムをネットワークプリントサーバ１５００自身にインストールする（Ｓ５０９）。次に、当該アプリケーションプログラムとライセンスを、拡張インタフェース１７を介してプリンタコントローラ１６００上で動作するアプリケーションインストーラに転送する（Ｓ５１０）。以上を行った後、本処理フローを終了する。
【００６０】
一方、Ｓ５０８の判定においてネットワークプリントサーバ１５００上で動作不可能と判断された場合は、直ちにＳ５１０に遷移する。Ｓ５１０において、アプリケーションプログラムとライセンスを、拡張インタフェース１７を介してプリンタコントローラ１６００上で動作するアプリケーションインストーラに転送した後、本処理フローを終了する。
【００６１】
なお、Ｓ５１０の結果アプリケーションプログラムとライセンスを受信したプリンタコントローラ１６００は、ライセンスに格納されたデバイスシリアル番号と自身のデバイスシリアル番号とを比較する。一致した場合はアプリケーションプログラムをプリンタコントローラ１６００自身にインストールする。一致しない場合は、当該アプリケーションプログラムとライセンスは破棄する。
【００６２】
以上、第２の実施例によれば、プリンタコントローラ１６００上で動作するようライセンス付与されたアプリケーションプログラムをネットワークプリントサーバ１５００にインストールした場合に、以下を実現する。すなわち、まず、ネットワークプリントサーバ１５００装着時にはネットワークプリントサーバ１５００側にインストールしたアプリケーションプログラムが動作する。それにより、プリンタコントローラ１６００の処理負荷を軽減したシステムの実現が可能となる。一方、ネットワークプリントサーバ１５００を取り外した場合には、今度はプリンタコントローラ１６００側にインストールしたアプリケーションプログラムが動作する。それにより、プリンタコントローラ１６００単体であっても問題なく当該アプリケーションプログラムが動作可能となる。
【００６３】
なお本発明は、前述した実施の形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給される場合を含む。更に、そのシステム或いは装置のコンピュータが、その供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明には、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００６４】
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷがある。その他、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。その他のプログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続することによっても供給できる。この場合、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００６５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布することも可能である。更に、所定の条件を満足するユーザに対してインターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせることも可能である。
【００６６】
またコンピュータが読み出したプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施形態に関わる通信装置のハードウェア構成ブロック図
【図２】本発明の実施形態に関わる通信装置のソフトウェア構成ブロック図
【図３】本発明に係るアプリケーションプログラムの記述例を示す図
【図４】本発明の通信装置における、第１の実施例に係るアプリケーションインストール処理の一実施形態を示すフローチャート
【図５】本発明の通信装置における、第２の実施例に係るアプリケーションインストール処理の一実施形態を示すフローチャート
【符号の説明】
【００６８】
１０００  プリンタ
１５００  ネットワークプリントサーバ
１６００  プリンタコントローラ
２０００  ローカルエリアネットワーク
１，８  ＣＰＵ
２，１４  ＲＡＭ
３  ＦｌａｓｈＲＯＭ
９  ＲＯＭ
１０  外部メモリ
１６  プリントエンジン
１７  拡張インタフェースバス
１８  操作パネル
【図１】
2009140068.tif 000003
【図２】
2009140068.tif 000004
【図３】
2009140068.tif 000005
【図４】
2009140068.tif 000006
【図５】
2009140068.tif 000007