(57)【要約】【課題】ほぼ基本的なプログラムのみを記録装置に実装しておき、印刷処理に必要なプログラムを自動的にダウンロードすることにより、記録装置に必要なメモリ容量の削減とシステム全体の処理時間の短縮を可能とする。【解決手段】インクジェットプリンタ２０５は印刷処理に必要となったプログラムを外部ネットワーク２１０からダウンロードし、インクジェットプリンタ２０５で印刷処理に用いるとともに、当該プログラムをインクジェットプリンタ２０５に設けられた外部記憶装置、またはインクジェットプリンタ２０５と接続されたインクジェットプリンタ２０５外部の外部機器のいずれかに保存し、次回に当該プログラムが印刷処理に必要となった際、外部ネットワークを参照することなく、前回に当該プログラムを保存した外部記憶装置または外部機器のいずれかから当該プログラムを取得して印刷処理に用いる。【選択図】図２
2008073931.tif 000002
【特許請求の範囲】
【請求項１】
印刷処理に必要なプログラムを外部ネットワークからダウンロードして印刷処理に用いる記録装置の制御方法において、
前記記録装置は、
印刷処理に必要となったプログラムを外部ネットワークからダウンロードし、前記記録装置で印刷処理に用いるとともに、
当該プログラムを記録装置に設けられた外部記憶装置、または記録装置と接続された記録装置外部の外部機器のいずれかに保存し、
次回に当該プログラムが印刷処理に必要となった際、外部ネットワークを参照することなく、前回に当該プログラムを保存した外部記憶装置または外部機器のいずれかから当該プログラムを取得して印刷処理に用いることを特徴とする記録装置の制御方法。
【請求項２】
請求項１に記載の記録装置の制御方法において、前記記録装置は前記プログラムの保存に用いることができる前記外部機器を検索し、前記プログラムの保存に用いることができる前記外部機器に関する情報を含むリストを作成し、このリストを参照して前記プログラムの保存に用いるべき前記外部機器を選択することを特徴とする記録装置の制御方法。
【請求項３】
請求項２に記載の記録装置の制御方法において、前記記録装置は、前記リスト中の外部機器に、該外部機器を保存先として選択する際の優先順位を前記プログラムの保存処理に最も都合の良い順で付与することを特徴とする記録装置の制御方法。
【請求項４】
請求項１に記載の記録装置の制御方法において、前記記録装置は、前記外部記憶装置または外部機器のいずれかに前記プログラムを保存する際、これら保存先に関する情報を含む保存先リストを作成し、次回に当該プログラムが印刷処理に必要となった際、前記保存先リストを参照して印刷処理に用いるプログラムを取得することを特徴とする記録装置の制御方法。
【請求項５】
請求項４に記載の記録装置の制御方法において、前記記録装置は、前記保存先リストを参照し、前記保存先リストに含まれる外部機器に保存されているプログラムのバージョン情報と外部ネットワークからダウンロード可能なプログラムのバージョン情報を比較し、前記保存先リストに含まれる外部機器に保存されているプログラムが最新バージョンのものとなるよう、必要であれば外部ネットワークから当該プログラムをダウンロードし、前記外部機器に保存することを特徴とする記録装置の制御方法。
【請求項６】
請求項１に記載の記録装置の制御方法において、前記記録装置は、デジタルテレビとともに家庭内ネットワークに接続され、前記デジタルテレビのコンテンツの印刷処理に必要となるプログラムを外部ネットワークからダウンロード、または、前回ダウンロードして保存した外部記憶装置または外部機器のいずれかから取得して印刷処理に用いることを特徴とする記録装置の制御方法。
【請求項７】
請求項１〜６のいずれか１項に記載の記録装置の制御方法を実施すべく記録装置の構成ハードウェアを制御することを特徴とする記録装置の制御プログラム。
【請求項８】
請求項１〜６のいずれか１項に記載の記録装置の制御方法を実施すべく動作することを特徴とする記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷処理に必要なプログラムを外部ネットワークからダウンロードして印刷処理に用いる記録装置の制御方法、記録装置の制御プログラム、および記録装置に関するものである。
【背景技術】
【０００２】
従来より、ネットワーク経由で電子機器のソフトウェアをダウンロードして電子機器のソフトウェアを更新する技術が知られている。たとえば、プリンタなどの場合、ネットワークから最新のファームウェアをダウンロードしてプリンタのファームウェアを更新する構成が種々提案されている。
【０００３】
特に、機器（プリンタやそれを制御するホスト装置）のソフトウェアを更新する場合、適正なソフトウェアをダウンロードし、インストール（あるいは更新）できるようにした構成が考えられている。たとえば、ダウンロードした新しいファームウェアでテスト印字を行なう（下記の特許文献１）、プリンタに格納した所在アドレスからホスト装置がそのプリンタのドライバソフトウェアをダウンロードする（下記の特許文献２）、といった構成が知られている。
【０００４】
また、ホスト装置におけるプリンタドライバの更新については、ＣＤ−ＲＯＭなどのメディアを用いずに、当該のプリンタ自体からホスト装置がプリンタドライバをダウンロードする構成（下記の特許文献３）が知られている。
【特許文献１】特開２０００−３２６５９３号公報
【特許文献２】特開２００１−０４３０３９号公報
【特許文献３】特開２００１−１４７７８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の方式では、ネットワークから最新のソフトウェア（ファームウェアなど）をダウンロードして用いるに際して、ソフトウェア全体をダウンロードする方式がとられている。この構成では、ソフトウェアの更新処理に大きなメモリ容量が必要である、という問題がある。
【０００６】
たとえば、一般にこの種の処理では、最終格納場所（フラッシュメモリなど）に格納する前にダウンロードしたソフトウェアをいったん揮発性のＲＡＭなどのメモリにダウンロードするために、処理全体に必要なメモリ容量が大きい。
【０００７】
さらに、ソフトウェア全体をダウンロードする構成では、ダウンロード自体に時間がかかる問題があり、またネットワークとの接続が不安定な場合は必要な時間で必要なダウンロードを行なうことができないという問題があった。
【０００８】
また、ファームウェアなどのように、ダウンロードしたソフトウェアを対象の機器にインストールする以外にも、必要になったタイミングで特定のプログラムをダウンロードして実行する構成も知られている。このような構成では、プログラムをたとえばプラグインのように小さな単位に分割されたモジュール群から構成し、その必要な部分のみをその都度ダウンロードする。一般に、このような構成は、対象の機器のプログラムメモリや外部記憶装置に必要になると思われるソフトウェアを全て実装しておく構成よりもプログラムメモリや外部記憶装置の容量を小さくできる。
【０００９】
しかしながら、毎回、必要なプログラムをダウンロードする構成では、ユーザのネットワークの環境によっては、プログラムのダウンロードそれ自体のオーバヘッドが大きくなり、これにより全体として処理効率の低下をまねく可能性がある。
【００１０】
本発明の課題は上記の問題を解決し、ほぼ基本的なプログラムのみを記録装置に実装しておき、印刷処理に必要なプログラムを自動的にダウンロードすることにより、記録装置に必要なメモリ容量の削減とシステム全体の処理時間の短縮を可能とすることにある。また、記録装置の外部記憶装置を用いるか、記録装置に接続された外部機器を「みなし記憶媒体」（バーチャル・ストレージ）として用い、ダウンロードしたプログラムを保存することにより、プログラムのダウンロードと保存の効率に関する問題を解消できるようにすることにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明においては、印刷処理に必要なプログラムを外部ネットワークからダウンロードして印刷処理に用いる記録装置の制御方法、記録装置の制御プログラム、およびその記録装置において、前記記録装置は印刷処理に必要となったプログラムを外部ネットワークからダウンロードし、前記記録装置で印刷処理に用いるとともに、当該プログラムを記録装置に設けられた外部記憶装置、または記録装置と接続された記録装置外部の外部機器のいずれかに保存し、次回に当該プログラムが印刷処理に必要となった際、外部ネットワークを参照することなく、前回に当該プログラムを保存した外部記憶装置または外部機器のいずれかから当該プログラムを取得して印刷処理に用いる構成を採用した。
【００１２】
あるいはさらに、前記記録装置は前記プログラムの保存に用いることができる前記外部機器を検索し、前記プログラムの保存に用いることができる前記外部機器に関する情報を含むリストを作成し、このリストを参照して前記プログラムの保存に用いるべき前記外部機器を選択する構成を採用した。
【００１３】
あるいはさらに、前記記録装置は、前記リスト中の外部機器に、該外部機器を保存先として選択する際の優先順位を前記プログラムの保存処理に最も都合の良い順で付与する構成を採用した。
【００１４】
あるいはさらに、前記記録装置は、前記外部記憶装置または外部機器のいずれかに前記プログラムを保存する際、これら保存先に関する情報を含む保存先リストを作成し、次回に当該プログラムが印刷処理に必要となった際、前記保存先リストを参照して印刷処理に用いるプログラムを取得する構成を採用した。
【００１５】
あるいはさらに、前記記録装置は、前記保存先リストを参照し、前記保存先リストに含まれる外部機器に保存されているプログラムのバージョン情報と外部ネットワークからダウンロード可能なプログラムのバージョン情報を比較し、前記保存先リストに含まれる外部機器に保存されているプログラムが最新バージョンのものとなるよう、必要であれば外部ネットワークから当該プログラムをダウンロードし、前記外部機器に保存する構成を採用した。
【００１６】
あるいはさらに、前記記録装置は、デジタルテレビとともに家庭内ネットワークに接続され、前記デジタルテレビのコンテンツの印刷処理に必要となるプログラムを外部ネットワークからダウンロード、または、前回ダウンロードして保存した外部記憶装置または外部機器のいずれかから取得して印刷処理に用いる構成を採用した。
【発明の効果】
【００１７】
以上の構成によれば、ほぼ基本的なプログラムのみを記録装置に実装しておき、印刷処理に必要なプログラムを自動的にダウンロードすることにより、記録装置に必要なメモリ容量を削減し、システム全体の処理時間を短縮することができる。
【００１８】
また、記録装置の外部記憶装置を用いるか、記録装置に接続された外部機器を「みなし記憶媒体」（バーチャル・ストレージ）として用い、ダウンロードしたプログラムを保存するようにしているので、いったんプログラムをダウンロードした後は、外部ネットワークを参照することなく、記録装置は効率よく印刷処理に必要なプログラムを取得できる。また、記録装置の外部記憶装置としてごく小さな記憶容量のものとし、ダウンロードしたプログラムを「みなし記憶媒体」としての外部機器に保存するようにすれば、記録装置を小型軽量化し、また簡単安価に構成することができる。
【００１９】
また、記録装置がプログラムの保存に用いることができる外部機器を検索し、プログラムの保存に用いることができる外部機器に関する情報を含むリストを作成し、このリストを参照してプログラムの保存に用いるべき前記外部機器を選択するようにすれば、動的にプログラムの保存に用いることができる外部機器を捜し、「みなし記憶媒体」として利用でき、ユーザは需要に応じて外部機器を増設し、また取り外すだけでよく面倒なセットアップ操作などを行なう必要がない。
【００２０】
また、記録装置が前記リスト中の外部機器に、該外部機器を保存先として選択する際の優先順位をプログラムの保存処理に最も都合の良い順で付与する処理を行なうことにより、たとえば外部機器の種別／機能／性能／記憶残量などに応じてプログラムの保存処理に最も都合の良い順でプログラムの保存先としての外部機器を選択することができる。
【００２１】
さらに、記録装置が外部記憶装置または外部機器のいずれかに前記プログラムを保存する際、これら保存先に関する情報を含む保存先リストを作成し、次回に当該プログラムが印刷処理に必要となった際、保存先リストを参照して印刷処理に用いるプログラムを取得するようにすれば、記録装置は確実に目的のプログラムを取得して印刷処理に用いることができ、外部ネットワークから同じプログラムを何度もダウンロードする無駄を省くことができる。
【００２２】
あるいは、記録装置が前記保存先リストを参照し、保存先リストに含まれる外部機器に保存されているプログラムのバージョン情報と外部ネットワークからダウンロード可能なプログラムのバージョン情報を比較し、保存先リストに含まれる外部機器に保存されているプログラムが最新バージョンのものとなるよう、プログラムのバージョン管理を行なうことにより、常にバグの少ない、あるいは処理効率が高く、機能豊富な最新のプログラムを用いて印刷処理を行なうことができる。
【００２３】
上記のような構成は、記録装置がデジタルテレビとともに家庭内ネットワークに接続されるような構成において好適である。すなわち、デジタルテレビのコンテンツの印刷処理に必要となるプログラムを外部ネットワークからダウンロード、または、前回ダウンロードして保存した外部記憶装置または外部機器のいずれかから取得して印刷処理に用いることができる。その際、上記の各構成を用いることによって、ユーザに面倒なセットアップ操作を強いることなく、家庭内ネットワークに接続された各機器の資源を相互利用して効率よく印刷処理に必要なプログラムをダウンロードし、また保存させることができる。
【発明を実施するための最良の形態】
【００２４】
以下、発明を実施するための最良の形態の一例として、システムソフトウェアをダウンロードして利用するインクジェット記録装置（以下ではインクジェットプリンタ、あるいは単にプリンタとも記す）に関する実施例を示す。なお、以下の実施例で例示する各構成要素はあくまで例示であり、本発明の範囲をこれらの構成要素のみに限定する趣旨のものではない。
【実施例１】
【００２５】
＜記録装置の概略構成＞
図１は本発明を採用したインクジェット記録装置の概略構成を示している。図１は、インクジェット記録装置の記録機構を覆うカバーを外した状態を示している。
【００２６】
図１において、キャリッジ１０１は記録ヘッド（不図示）とカートリッジ１１０を搭載し、ガイド軸１０２に沿って走行可能である。なお、本実施例では、記録ヘッドは、インクジェット方式の記録ヘッドである。符号１０３はシャーシであり、メインシャーシ１０３ａと左右の側面板１０３ｂおよび１０３ｃから構成される。１０８はキャリッジの駆動源であるキャリッジモータであり、１０９はキャリッジに接続されキャリッジモータ１０８によって駆動されるベルト、１３０は記録ヘッド吐出面の清掃や吸引動作を行なう回復系ユニット、１４０はキャリッジ１０１に搭載された発光素子および受光素子と共にキャリッジの位置および速度を算出するＣＲエンコーダを構成するスケールである。
【００２７】
記録媒体としての記録紙は、給紙ローラ（不図示）によって装置本体内に送り込まれ、紙送りローラ１０５とピンチローラ（不図示）、紙押え板（不図示）によって狭持され、記録ヘッドの記録領域へと搬送され、インクジェット記録が行われる。
【００２８】
インクカートリッジ１１０は、イエロー、マゼンタ、シアンの３色のインクを収容したカラーインクカートリッジと、ブラックインクを収容したブラックインクカートリッジの２種類で、それぞれ別々にカートリッジガイド１０７に挿入され、記録ヘッドと接続される。
【００２９】
本実施例のインクジェットプリンタは、たとえば、後述のように家庭内ネットワーク（ＬＡＮ）を介してデジタルテレビと接続され、デジタルテレビから家庭内ネットワークを介して記録データの供給を受けて記録を行なう機能を有するものとする。
【００３０】
図７は、図１のインクジェットプリンタの制御系の構成例を示している。図７において符号７１はインクジェットプリンタ全体の動作を制御するＣＰＵ、７２はＣＰＵが実行する制御プログラムや定数データを格納するＲＯＭである。７３はＣＰＵの制御動作においてワークエリアなどとして用いられるＲＡＭである。
【００３１】
また、符号７５はネットワーク（たとえば後述の家庭内ネットワーク２００）に接続するためのネットワークインターフェース、７６は図１のような機構により構成されるプリンタエンジンである。
【００３２】
符号７４は、プリントデータや、後述のダウンロードしたソフトウェアの格納のために用いられる外部記憶装置である。外部記憶装置７４はＨＤＤや各種メモリなどのハードウェアから構成される。
【００３３】
＜プログラムのダウンロードと保存＞
図２は、本実施例のインクジェットプリンタ２０５が設置されるネットワーク構成の一例を示している。
【００３４】
図２では、ＬＡＮ（ローカル・エリア・ネットワーク）としての家庭内ネットワーク２００にはデジタルテレビ２０２とインクジェットプリンタ２０５が接続されている。また、家庭内ネットワーク２００には、ＨＤＤレコーダ２０３、およびＰＣ２０４などが接続されている。
【００３５】
本実施例では、後述のようにＨＤＤレコーダ２０３、ＰＣ２０４などの機器は、プリンタ２０５の「みなし記憶媒体」として用いられる。このため、ＨＤＤレコーダ２０３、ＰＣ２０４などの機器は、そのストレージの一部ないし全部を何らかのネットワーク共有の手法により家庭内ネットワーク２００の他の機器に公開しているものとする。
【００３６】
家庭内ネットワーク２００は、ＤＨＣＰサーバ機能を有するルータ２０１を介して外部ネットワーク２１０（ネットワーク回線網、インターネット回線網など）に接続されている。ルータ２０１は、所定の接続方式により外部ネットワーク２１０と接続するが、この接続方式は回線業者の提供するサービス形態によって異なる。
【００３７】
外部ネットワーク２１０には、プリンタ２０５のソフトウェアを供給するためのプログラムサーバ２１１と、デジタルテレビ２０２でサービスするコンテンツを配信するためのコンテンツサーバ２１３が配置されている。
【００３８】
プログラムサーバ２１１はプログラムデータベース２１２を有しており、プリンタ２０５にダウンロードされるソフトウェアはこのプログラムデータベース２１２により管理される。たとえば、ファームウェアや、特定の用途に用いられるソフトウェア（たとえば後述のＪＰＥＧデコーダなど）のソフトウェアは、プリンタ２０５の機種ごとに異なるものであり、各機種のためのファームウェアは機種情報と関連づけてプログラムデータベース２１２に登録される。
【００３９】
コンテンツサーバ２１３は、コンテンツデータベース２１４を有しており、このコンテンツデータベース２１４によりデジタルテレビ２０２にサービスする（少なくとも一部の）コンテンツを管理する。たとえば、どの時刻にどの番組を配信するか、どのユーザにどのような番組を配信するかといった設定、あるいはさらにその番組内容などのデータはコンテンツデータベース２１４により管理される。
【００４０】
デジタルテレビ２０２へのコンテンツ配信は、外部ネットワーク２１０を介した有線伝送により、または基地局２１５を介した無線伝送により行なわれる。
【００４１】
図２に示したようなネットワーク環境において、インクジェットプリンタ２０５は、プログラムサーバ２１１からソフトウェアをダウンロードして利用することができる。このようなソフトウェアとしては、インクジェットプリンタ２０５のファームウェアなどに限らず、インクジェットプリンタ２０５の種々の動作局面においてその都度必要となるようなプログラムが考えられる。
【００４２】
たとえば、ここでユーザがデジタルテレビ２０２で、画像コンテンツあるいは、画像配信関連のコンテンツを選択して鑑賞しているとし、画像コンテンツあるいは、画像配信関連のコンテンツをインクジェットプリンタ２０５で印刷できるようにすることを考える。
【００４３】
このような用途においては、デジタルテレビ２０２から、視聴中の画像コンテンツあるいは、画像配信関連のコンテンツの種別を（たとえばＭＩＭＥ規格で定義されているような書式データを用いて）プリンタに通知することにより、インクジェットプリンタ２０５でそのコンテンツに適した印刷処理を行なうことができる。
【００４４】
このようなコンテンツ種別の通知を受ければ、プリンタ２０５は、外部ネットワークに接続されているプログラムサーバ２１１にアクセスし、画像処理に必要な（適した）プログラムなどをユーザの印刷指示に先立ってネットワーク経由でダウンロードすることができる。このようなプログラムとしては、たとえば、画像コンテンツあるいは、画像配信関連のコンテンツとして含まれる画像のデコードプログラム、たとえばＪＰＥＧデコードプログラムなどが考えられる。
【００４５】
このようにしてダウンロードしたプログラムは、プリンタ２０５の外部記憶装置７４に十分な容量がある時は、従来通りプリンタ２０５のこれらの記憶媒体に保存する。
【００４６】
本実施例では、さらにＰＣ２０４やＨＤＤレコーダ２０３などが家庭内ネットワークに接続されていれば、これらの機器を「みなし記憶媒体」（バーチャル・ストレージ）として用いて、これら「みなし記憶媒体」にダウンロードしたプログラムを格納する。
【００４７】
たとえば、プリンタ２０５の外部記憶装置７４に十分な容量が無い時は、家庭内ネットワーク２００上のＰＣ２０４やＨＤＤレコーダ２０３などの外部機器をプリンタの「みなし記憶媒体」として、ダウンロードしたプログラムを「みなし記憶媒体」に保存する。
【００４８】
このように外部機器を「みなし記憶媒体」として利用するには、図３〜図６に示す制御によりダウンロードしたプログラムの保存および利用を制御することができる。図３〜図６に示す各制御手順は、ＣＰＵ７１の制御プログラムとしてたとえばＲＯＭ７２に格納しておくことができる。
【００４９】
図３はこの外部機器を検索して「みなし記憶媒体」のリストを作成する処理を示している。
【００５０】
まず、ＣＰＵ７１は、ネットワークインターフェース７５を介して接続されている家庭内ネットワーク２００内を検索し、プリンタ２０５の外部機器、すなわち「みなし記憶媒体」として利用できる機器を検索する（ステップＳ３１）。このような検索処理は、たとえば、家庭内ネットワーク２００に所定のフォーマットを有する問い合せパケットをブロードキャストし、対応する応答パケットを受信できるかどうか検出することにより実施できる。
【００５１】
そして、検索結果に基づいて、「みなし記憶媒体」として使用可能な外部機器をプリンタ２０５のメモリ（ＲＡＭ７３あるいは外部記憶装置７４：以下同様）に登録する。
【００５２】
このとき、新しく「みなし記憶媒体」として使用可能な外部機器が発見される（ステップＳ３２）と、この機器の情報から新しい登録レコードを作成し、メモリ上のリストに追加する（ステップＳ３３）。この登録レコードには、たとえば当該機器のＩＰアドレス、ホスト名、機器の種別／機能／性能／記憶残量などに関する情報を含めることができる。
【００５３】
この検索および外部機器の登録は一度だけでなく、ある一定時間ごとに上記と同じ検索と登録を繰り返し行ない（ステップＳ３４〜Ｓ３５〜Ｓ３１）、常に最新の機器の情報がメモリ上のリストに残るよう制御する（ステップＳ３３）。
【００５４】
なお、プログラムの保存先の機器リストには、プリンタ２０５内部の外部記憶装置７４を含めてもよい。さらに、上記のリスト中で、プログラム保存先に優先順位を付けることが考えられる。
【００５５】
図３のようにプログラムの保存に用いることができる外部機器を自動的に検索し、プログラムの保存に用いることができる外部機器に関する情報を含むリストを作成すれば、このリストを参照してプログラムの保存に用いるべき外部機器を選択することができる。すなわち、動的にプログラムの保存に用いることができる外部機器を捜し、「みなし記憶媒体」として利用でき、ユーザは需要に応じて外部機器を増設し、また取り外すだけでよく面倒なセットアップ操作などを行なう必要がない。
【００５６】
図４は、図３の処理により作成された「みなし記憶媒体」の機器リストを、新しい機器の検索に基づき、プログラムの保存先として選択する際の優先順位を付ける処理の一例を示している。図４の処理はたとえば図３の処理に並行して実施できるが、ここまではまず図４に関係した図８、図９の処理を説明する。
【００５７】
図８は、図４の処理で使用する優先順位リストをユーザが作成、編集するための手順である。図８の手順は、ユーザの要求、指令などに応じて任意のタイミングで実施できる。ステップＳ８１では優先順位リストの有無を判別する。メモリ中に優先順位リストが存在する時はステップＳ８２で既存の優先順位リストを開く。一方、優先順位リストが存在しない時はステップＳ８３で新規の優先順位のリストの作成・編集に移る。このリスト作成、編集はプリンタ２０５のユーザインターフェースを介してユーザに行わせることができる。ステップＳ８４では保存・終了を判断する。
【００５８】
また、図９は、図３で作成した保存先リストと図８で作成した優先順位リストを比較して、保存先リストに存在しない機器が優先順位リストに存在する場合に、ユーザに優先順位リストの変更を促すための手順である。ステップＳ９１で保存先リストと優先順位リストの比較を行ない、ステップＳ９２で比較結果に応じ処理、例えば、保存先リストに存在しない機器を優先順位リストからユーザに削除させるような処理を行う。図９の処理は一定時間毎に常に行うことで、優先順位リストを常に最新の機器接続状態に一致するように管理することができる。
【００５９】
さて、図４のステップＳ４１では、図３の処理で作成された「みなし記憶媒体」の外部機器リストを参照する。次にステップＳ４２において、ステップＳ４１で読み込んだリストに新しい機器が追加されているか否かを調べ、新しい機器が追加されている場合には、ステップＳ４３で優先順位リストの有無を判断する。優先順位リストが存在するときはステップＳ４４で優先順位リストを開き、ステップＳ４５で「みなし記憶媒体」（プログラム保存先）として選択する場合の優先順位を変更する。優先順位リストが存在しない時は、優先順位リストを開くことなく直接ステップＳ４５で「みなし記憶媒体」（プログラム保存先）として選択する場合の優先順位を変更する。
【００６０】
ユーザが予め設定しておいた優先順位リストに基づいて設定する場合は、優先順位リストの上位から優先的にプログラムの保存を行うことになる。
【００６１】
ステップＳ４５の優先順位変更の基準は、用途やプリンタ２０５の仕様に応じて任意のものであってよい。たとえば、リスト中の外部機器のＩＰアドレス、ホスト名、機器の種別／機能／性能／記憶残量などに関する情報から、プログラムの保存処理に最も都合の良い順でリスト中の優先順位を付け直すことが考えられる。たとえば、発売時期が新しい機器、機能／性能が高い機器、あるいは現在の記憶残量が大きい機器の優先順位が高くなるようにリスト中の優先順位を付け直すことが考えられる。
【００６２】
図４の処理は、ステップＳ４６〜Ｓ４７〜Ｓ４１の流れで示したように、図３の処理と同様、一定時間おきに実行し、最新かつ適切な優先順位がリストに保持されるように更新する。
【００６３】
図４に示したようにリスト中の外部機器に、該外部機器を保存先として選択する際の優先順位をプログラムの保存処理に最も都合の良い順で付与する処理を行なうことにより、たとえば外部機器の種別／機能／性能／記憶残量などに応じてプログラムの保存処理に最も都合の良い順でプログラムの保存先としての外部機器を選択することができる。
【００６４】
なお、プログラムの保存先の機器リストには、前記のようにプリンタ２０５内部の外部記憶装置７４が含まれていてもよく、その場合には、常に高位（あるいは最高位）の優先順位がリスト中で外部記憶装置７４に付与されるようにしておくことが考えられる。以下では、図３のようにして作成、あるいは図４のようにして更新されるプログラム保存先のリストには外部記憶装置７４が含まれているものとして説明する。
【００６５】
図３のようにして作成、あるいは図４のようにして更新されたプログラム保存先のリストを参照すれば、ダウンロードしたプログラムなどのデータを保存する時、保存先を選択できる。特に、図４のような処理により優先順位を付けておけば、高位の優先順位を有する機器から保存先として選択することにより、保存処理に最も都合の良い順で外部機器を「みなし記憶媒体」として利用することができる。
【００６６】
なお、ダウンロードしたプログラムなどのデータを「みなし記憶媒体」として使用する外部機器に格納する場合は、当然ながら、どの外部機器のどのようなアドレスに（あるいはさらにどのようなファイル名で）保存したのかのデータをメモリ（ＲＡＭ７３あるいは外部記憶装置７４）に記録する。
【００６７】
どの外部機器に保存したかを記録しておけば、当然ながら、同じプログラムを再び使用する必要が生じた時に、以前ダウンロードしたプログラムの保存先を指定して同じプログラムを読み出せる。これにより、外部ネットワーク２１０から同じプログラムを何度もダウンロードする無駄を省くことができる。
【００６８】
インクジェットプリンタ２０５がダウンロードしたプログラムの保存先の選択および保存処理は、図５のような処理によって行なうことができる。
【００６９】
インクジェットプリンタ２０５でプログラムのダウンロードが必要になるのは、たとえば前述のように、デジタルテレビ２０２で視聴中にコンテンツ種別の通知を受けた場合が考えられる。このようなケースでは、たとえば、前述のようにＪＰＥＧデコードプログラムのような画像のデコードプログラムを、ユーザが指令するプリント処理のため（あるいはそのような将来のプリント処理を予測して）ダウンロードする。
【００７０】
このような理由で、インクジェットプリンタ２０５でプログラムのダウンロードの必要が生じた場合、ＣＰＵ７１は、家庭内ネットワーク２００、ルータ２０１、外部ネットワーク２１０を経由してプログラムサーバ２１１から必要なプログラムをダウンロードする。
【００７１】
このようにしてプログラムをダウンロードし、プログラムの保存要求イベントが発生されると、図５のステップＳ５１でこの保存要求イベントが検出され、さらにステップＳ５２でこの保存要求が肯定されたかどうかを判定する。ステップＳ５２の保存要求の肯定／否定は、たとえばプリンタ２０５の不図示の操作部を介してユーザが指定してもよいし、他の制御条件に応じて保存要求を受け入れるかどうかを決定してもよい。
【００７２】
あるいは、ステップＳ５１で検出される保存要求は、上記のようにプログラムの必要に応じて自動的に発生されるのではなく、ユーザのプリンタ２０５の不図示の操作部を介して明示的なユーザ操作により行なわれるものであってもよい。
【００７３】
ステップＳ５２で保存要求が肯定されると、ステップＳ５３では、保存先を選択する。このとき、図４のようにして優先順位が決定されている場合には、その高位の優先順位のものから保存先を選択する。
【００７４】
当然ながら、ステップＳ５３の保存先の選択においては、高位の優先順位のものからその保存先へのプログラムの保存が可能かどうかが判定され、保存不可能な場合にはリスト中の次位の保存先に進んで保存が可能かどうかのテストを行ない、現われた保存が可能な保存先を選択する。また、プログラムの保存が可能かどうかのテストは、ダウンロードしたプログラムを保存できる記憶残量がその保存先にあるか否か、その保存先が外部機器である場合はネットワークインターフェース７５を介して通信可能かどうかなどの判定によって行なう。
【００７５】
前述のようにプログラム保存先のリストに外部記憶装置７４が含まれ、外部記憶装置７４の優先順位が高位のものであり、外部記憶装置７４への保存が可能であれば、当然ながら、外部記憶装置７４がプログラム保存先のリストとして選択されることになる。また、外部記憶装置７４への保存が不可能であれば、次位の外部機器（上記ＰＣ２０４やＨＤＤレコーダ２０３）が「みなし記憶媒体」として用いられることになる。
【００７６】
ステップＳ５３でプログラム保存先が選択されると、ステップＳ５４で選択されたプログラム保存先にダウンロードしたプログラムを保存する。外部機器（上記ＰＣ２０４やＨＤＤレコーダ２０３）への保存の場合には当該の外部機器にネットワークインターフェース７５を介してプログラムが送信される。保存先の機器アドレス、その格納デバイス、格納アドレス、ファイル名など、後からプログラムを読み出すのに必要なメタデータは、ステップＳ５５で保存先リストに格納しておく。この保存先リストは、図３および図４で管理されるリストと兼用されたデータ構造であってもよいし、また別の独立したリストであってもよい。また、保存先リストには、当該のプログラムのダウンロード元（リンク先）のＵＲＬ（ＵＲＩ）なども併せて格納しておくことができる。
【００７７】
保存すべきプログラムが複数ある場合には、上記の処理を繰り返す（ステップＳ５６〜Ｓ５１）ことにより、それらのプログラムを保存する。
【００７８】
ステップＳ５５のようにして管理される保存先リストを用いれば、プリンタ２０５は実際に特定のプログラムが必要になったタイミングで、外部ネットワーク２１０を参照することなく、外部記憶装置７４あるいは家庭内ネットワーク２００の外部機器からプログラムを取得できる。
【００７９】
すなわち、初回に特定のプログラムが必要になったタイミングでダウンロードし、外部記憶装置７４あるいは家庭内ネットワーク２００の外部機器へプログラムを保存すれば、外部ネットワーク２１０を参照することなく次回からはこれらの記憶媒体からプログラムを取得できる。
【００８０】
そして、このような構成によれば、プリンタ２０５の外部記憶装置７４の記憶容量はごく小さなものにできる。たとえば、ほぼ基本プログラムのみを記憶できる程度（あるいはさらに少数のダウンロードされたプログラム）の容量の外部記憶装置７４をプリンタ２０５に設ける仕様とすれば、ダウンロードしたプログラムのほとんどを外部機器に保存することになる。この場合でも、外部ネットワーク２１０を参照することなく高速な家庭内ネットワーク２１０を用いて必要なプログラムを取得でき、印刷効率を低下させることがない。
【００８１】
また、プログラム保存先、すなわち、外部記憶装置７４または「みなし記憶媒体」としての外部機器に保存してあるプログラムが最新のものとなるように図６に示すような処理を行なうことができる。
【００８２】
すなわち、最新のプログラムか否かの参照をある一定時間毎、あるいはダウンロードの際に行ない、保存してあるプログラムのバージョンが古い時には、保存されているプログラムを消去し、新しいバージョンのものに更新する処理を自動的に行なうのである。その際、当然ながら、最新プログラムのダウンロードを行なった場合は、保存先のリスト等も更新する。
【００８３】
図６のステップＳ６１では、図５のステップＳ５５で更新される保存先リストを参照し、各保存先が格納しているプログラムのバージョンを照会する。この照会のために、保存先リストのレコード中に、保存先の機器アドレス、その格納デバイス、格納アドレス、ファイル名などとともにプログラムのバージョンを記録しておけば効率が良い。あるいは、ステップＳ６２のタイミングで実際に保存先に格納されているプログラムファイル中の所定アドレスに格納しておいたバージョン情報を参照するようにしてもよい。
【００８４】
続いて、ステップＳ６３で、保存先に格納されているプログラムが最新のバージョンのものであるか否かを判定する。この判定は、プログラムサーバ２１１と通信して、同じプログラムの最新のバージョン情報を取得し、保存先に格納されているプログラムのバージョン情報と比較することにより行なえる。
【００８５】
保存先に格納されているプログラムが最新のバージョンのものでない場合には、ステップＳ６４で最新バージョンのプログラムをダウンロードし、（保存可能であれば）同じ保存先に格納する。このとき、もし、同じ保存先への格納が不可能であれば、図３、図４の処理により管理されるリストを参照して他の保存先を選択する。このようにして行なった保存処理の内容に応じて、保存先リストの内容、例えば保存先の機器アドレス、その格納デバイス、格納アドレス、ファイル名などは保存処理の実体に即した内容に更新する。そして、図６の処理も一定時間おきに繰り返し（ステップＳ６５〜Ｓ６６〜Ｓ６１）実施する。
【００８６】
図６の処理を行なうことによって、一旦、ダウンロードし、プログラム保存先、すなわち、外部記憶装置７４または「みなし記憶媒体」としての外部機器に格納したプログラムが常に最新バージョンのものとなるように管理（バージョン管理）することができる。これにより、常にバグの少ない、あるいは処理効率が高く、機能豊富な最新のプログラムを用いて印刷処理を行なうことができる。
【００８７】
以上のように、本実施例によれば、プリンタの印刷処理に必要なプログラムを自動的にダウンロードして用いる構成において、ダウンロードしたプログラムをプリンタの外部記憶装置のみならず、外部機器をも「みなし記憶媒体」として利用して保存することができる。
【００８８】
このように「みなし記憶媒体」（バーチャル・ストレージ）を用いる構成により、基本的なプログラムのみをプリンタに実装しておき、印刷処理に必要なプログラムを随時プリンタにダウンロードして用いることにより、プリンタのＲＯＭや外部記憶装置の容量を小さくできる。これによりプリンタを小型軽量化でき、またプリンタのコストダウンに貢献することができる。「みなし記憶媒体」には、プリンタが設置された家庭内ネットワークに存在するＨＤＤレコーダや、ＰＣを利用できる。
【００８９】
印刷処理に必要なプログラムとしては、たとえば、印刷コンテンツの内容に応じて必要となる印刷画像処理プログラムなどが考えられる。そして、本実施例によれば、家庭内ネットワークにデジタルテレビ、ＨＤＤレコーダ、ＰＣなどの機器が混在するユーザ環境において、各機器の資源を相互利用して効率よく印刷処理に必要なプログラムをダウンロードし、また保存できる。
【００９０】
プリンタの外部機器を「みなし記憶媒体」として用い、ダウンロードした印刷処理に必要なプログラムを保存しておけば、上記のメモリの削減効果の他、処理時間の短縮も期待できる。たとえば、外部ネットワークとの通信速度が家庭内ネットワークの通信速度よりも遅い場合などにおいては、プリンタが毎回印刷処理に必要なプログラムをダウンロードする構成であっても処理時間が増大するおそれがない。
【００９１】
なお、何らかの理由により外部記憶装置または外部機器に保存したプログラムが無くなっている時は、所定のリンク先、たとえばプログラムのダウンロードを指示したコンテンツから得られるリンク先から再度ダウンロードを行なう。あるいは、上述のように図５のステップＳ５５において保存先リストに当該のプログラムのダウンロード元（リンク先）のＵＲＬ（ＵＲＩ）が格納されている場合にはこのアドレスを用いて再ダウンロードを行なうことができる。
【産業上の利用可能性】
【００９２】
本発明は、プリンタエンジンの印刷方式などに限定されることなく、種々の記録装置に適用できる。また、コンピュータ等の情報処理機器の画像出力端末として一体または別体に設けられるプリンタのみならず他の形態の記録装置にも本発明は適用できる。たとえば、リーダスキャナ等と組み合わせた複写装置、さらには送受信機能を有するファクシミリ装置のような、いわゆる複合機の形態を取る記録装置にも本発明は適用できる。
【００９３】
本発明を実施する制御プログラムは、あらかじめ印刷装置のＲＯＭなどの記憶媒体に格納しておくことができる。また、ＨＤＤ、あるいはさらに何らかの記憶メディアからインストール／アップデートすることができる。これらの記憶メディアには、たとえばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などが含まれる。また、ネットワークインターフェースである場合は、本発明を実施する制御プログラムそれ自体を任意のサーバからネットワーク経由で供給することもできる。
【００９４】
本発明の制御プログラムは、プログラムの機能を有していれば、その記述形式には限定されない。たとえば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ、などプログラムの形態を問わず実施が可能である。
【００９５】
また、本発明の制御プログラムは、暗号化するなどしてＣＤ−ＲＯＭなどの記憶媒体に格納してユーザに配布し、所定の条件をクリア（たとえば鍵情報やパスワード、記憶媒体に印刷したキー情報の入力）したユーザのみがインストールあるいは実行できるようにしてもよい。
【図面の簡単な説明】
【００９６】
【図１】本発明を採用したインクジェット記録装置の記録機構の構成を示した斜視図である。
【図２】本発明を採用したインクジェット記録装置が配置されるユーザ環境の一例を示した説明図である。
【図３】プログラム保存先として用いる記憶媒体のリストを生成する処理を示したフローチャート図である。
【図４】図３のリスト中でプログラム保存先として用いる記憶媒体の優先順位を更新する処理を示したフローチャート図である。
【図５】ダウンロードしたプログラムの保存処理を示したフローチャート図である。
【図６】図５の処理で作成された保存先リストを参照して保存されたプログラムのバージョン管理を行なう処理を示したフローチャート図である。
【図７】本発明を採用したインクジェット記録装置の制御系の構成を示したブロック図である。
【図８】図４の処理で用いられる優先順位リストをユーザが設定する処理を示したフローチャート図である。
【図９】図３で作成した保存先リストと図８で作成した優先順位リストを比較して、保存先リストに存在しない機器が優先順位リストに存在する場合に、ユーザに優先順位リストの変更を促す処理のフローチャート図である。
【符号の説明】
【００９７】
７１  ＣＰＵ
７２  ＲＯＭ
７４  外部記憶装置
７５  ネットワークインターフェース
２００  家庭内ネットワーク
２０１  ルータ
２０２  デジタルテレビ
２０３  ＨＤＤレコーダ
２０４  ＰＣ
２０５  インクジェットプリンタ
２１０  外部ネットワーク
２１１  プログラムサーバ
２１２  プログラムデータベース
２１３  コンテンツサーバ
２１４  コンテンツデータベース
２１５  基地局
【図１】
2008073931.tif 000003
【図２】
2008073931.tif 000004
【図３】
2008073931.tif 000005
【図４】
2008073931.tif 000006
【図５】
2008073931.tif 000007
【図６】
2008073931.tif 000008
【図７】
2008073931.tif 000009
【図８】
2008073931.tif 000010
【図９】
2008073931.tif 000011