(57)【特許請求の範囲】
【請求項１】
複数のプリンタコンフィギュレーションファイルを含むサーバと、少なくとも１つのセットトップボックスとプリンタとを有するデジタルケーブルネットワーク環境においてプリンタのメンテナンスをサポートする、前記サーバで実行される方法であって、
前記プリンタコンフィギュレーションファイルが、複数のプリンタ保守機能名および前記プリンタ保守機能名に対応する複数のプリンタ保守コマンドを含み、
前記プリンタに対応する１つのプリンタコンフィギュレーションファイルにアクセスする工程と、
前記プリンタに対応する、アクセスしたプリンタコンフィギュレーションファイルのそれぞれのプリンタ保守機能名を含むＨＴＭＬベースのページを生成する工程と、
前記ＨＴＭＬベースのページを前記セットトップボックスに送る工程とを含み、
前記セットトップボックスで、前記ＨＴＭＬベースのページ内のプリンタ保守機能名の１つを選択すると、前記サーバが、当該選択したプリンタ保守機能名に対応するプリンタ保守コマンドを前記プリンタに送ることを特徴とする方法。
【請求項２】
前記セットトップボックスからプリンタ保守リクエストを受け取る工程をさらに含み、前記プリンタ保守リクエストが前記プリンタへの参照を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記方法は、前記ディジタルケーブルネットワークのケーブル・ヘッド・エンドに位置するサーバで実行されることを特徴とする請求項１に記載の方法。
【請求項４】
複数のプリンタコンフィギュレーションファイルを含み、少なくとも１つのセットトップボックスとプリンタとを有するデジタルケーブルネットワーク環境において、プリンタのメンテナンスをサポートするネットワークサーバであって、
前記プリンタコンフィギュレーションファイルが、複数のプリンタ保守機能名および前記プリンタ保守機能名に対応する複数のプリンタ保守コマンドを含み、
前記プリンタに対応する１つのプリンタコンフィギュレーションファイルにアクセスする手段と、
前記プリンタに対応する、アクセスしたプリンタコンフィギュレーションファイルのそれぞれのプリンタ保守機能名を含むＨＴＭＬベースのページを生成する手段と、
前記ＨＴＭＬベースのページを前記セットトップボックスに送る手段とを含み、
前記セットトップボックスで、前記ＨＴＭＬベースのページ内のプリンタ保守機能名の１つを選択すると、当該選択したプリンタ保守機能名に対応するプリンタ保守コマンドを前記プリンタに送ることを特徴とするネットワークサーバ。
【請求項５】
複数のプリンタ保守機能名および前記プリンタ保守機能名に対する複数のプリンタ保守コマンドを含む複数のプリンタコンフィギュレーションファイルを有するサーバを有するデジタルケーブルネットワーク環境においてプリンタのメンテナンスをサポートするセットトップボックスの制御方法であって、
前記サーバがプリンタ保守を利用するプリンタのプリンタコンフィギュレーションファイルにアクセスすることによって生成され、複数のプリンタ保守機能名を含むプリンタ保守ページを前記サーバから受け取る工程と、
受け取った前記プリンタ保守ページに基づくグラフィックユーザインタフェースを介して選択したプリンタ保守機能名を解釈し、前記プリンタ保守機能名に応じたプリンタ保守を実施するために、当該選択した前記プリンタ保守機能名を前記デジタルケーブルネットワーク環境を介して前記サーバへ送る工程と、
を有することを特徴とする制御方法。
【請求項６】
前記プリンタ保守ページがＨＴＭＬで記述されることを特徴とする請求項５に記載の制御方法。
【請求項７】
前記セットトップボックスに接続されたプリンタの識別情報を前記サーバに知らせる工程をさらに含み、前記サーバが、当該知らされたプリンタ識別情報に基づいて適当なプリンタコンフィギュレーションファイルにアクセスすることを特徴とする請求項５に記載の制御方法。
【請求項８】
前記サーバからプリンタ保守コマンドを受け取り、受け取った前記プリンタ保守コマンドを前記プリンタに送る保守工程をさらに含むことを特徴とする請求項５に記載の制御方法。
【請求項９】
複数のプリンタ保守機能名および前記プリンタ保守機能名に対する複数のプリンタ保守コマンドを含む複数のプリンタコンフィギュレーションファイルを有するサーバを含むデジタルケーブルネットワーク環境においてプリンタのメンテナンスをサポートするセットトップボックスであって、
前記サーバがプリンタ保守を利用するプリンタのプリンタコンフィギュレーションファイルにアクセスすることによって生成され、複数のプリンタ保守機能名を含むプリンタ保守ページを前記サーバから受け取る手段と、
受け取った前記プリンタ保守ページに基づくグラフィックユーザインタフェースを介して選択したプリンタ保守機能名を解釈し、前記プリンタ保守機能名に応じたプリンタ保守を実施するために、当該選択した前記プリンタ保守機能名を前記デジタルケーブルネットワーク環境を介して前記サーバへ送る手段と、
を有することを特徴とするセットトップボックス。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタ保守機能にネットワークを介してプリンタコンフィギュレーションファイルからアクセスするネットワーク・セントリック印刷システムに関し、詳細には、プリンタコンフィギュレーションファイルにアクセスし、次いでこのプリンタコンフィギュレーションファイルから、使用可能な保守機能を表示したＨＴＭＬページを構築し、ネットワーク・ユーザが保守機能を選択し使用するシステム及び方法に関する。
【０００２】
参照による組込み
「Software Architecture for Cable Television Home Printing（ケーブルテレビジョンのホームプリンティングのためのソフトウェア構造）」という名称の米国特許出願第０９／３５７４３１号、および「Internet-Based Push Printing Over Cable Network（ケーブルネットワークによるインターネットベースのプッシュ印刷）」という名称の米国特許出願第０９／３５７４３３号は、参照によって本明細書に組み込まれる。
【０００３】
【従来の技術】
一般的なネットワーク・ベースのシステムでは、ネットワークが、少なくとも１台のサーバ、およびネットワーク・ユーザがそれを通じてネットワークサーバにアクセスしこれを利用する、パーソナルコンピュータ、ワークステーションなどのいくつかのコンピューティング装置から成る。このようなシステムではネットワーク・ユーザが一般に、ネットワーク・ユーザが使用するパーソナルコンピュータまたはワークステーションの内部にローカルに位置しているプリンタドライバを有する。このように、ネットワークブラウザ、ワードプロセッシング・アプリケーションなどのアプリケーションからのイメージまたは情報の印刷を希望するときには、印刷したいプリンタがネットワーク・ユーザのコンピュータの周辺装置として位置するのか、又はネットワークプリンタであるのかに関わらず、関係するデータが、ネットワーク・ユーザのコンピュータ内のプリンタドライバを通して、希望するプリンタ上で印刷するための印刷データに変換される。
【０００４】
最近、複数のネットワーク・ユーザがそれぞれのネットワーク・ユーザ位置にある単純なネットワーク装置を介してネットワークサーバにアクセスしこれを利用するネットワーク・セントリック環境のインプリメンテーションが増えている。例えば、ディジタルケーブルネットワークは、セット・トップ・ボックス（ＳＴＢ）を有するホーム・ユーザにディジタルケーブルテレビジョン・サービスを提供するだけでなく、ＳＴＢを介してネットワーク・ユーザにインターネットへのアクセスなどの他のサービスも提供している。このような環境では、ＳＴＢが、ネットワーク・ユーザのテレビジョンに接続され、さらに、ディジタルケーブル・ネットワークのケーブル・ヘッド・エンド（ＣＨＥ）に接続される。このＣＨＥは、ディジタルケーブルテレビジョン・サービス、インターネットアクセス・サービスおよびその他のサードパーティ・サービスを結合して、ディジタルケーブル・ネットワークに加入しているネットワーク・ユーザのＳＴＢに、ＣＨＥのサーバから配布する目的のために使用される。このようにして、ホームネットワーク・ユーザは、ケーブル・ヘッド・エンドにあるサーバからのデータイメージファイルにアクセスし利用することができ、さらに、ＳＴＢ内のブラウザを介してインターネット上のさまざまな位置にあるファイルにアクセスし利用することができる。
【０００５】
ディジタルケーブル・ネットワークのホーム・ユーザが、ホーム・ユーザの家庭に位置し、ホーム・ユーザのＳＴＢに接続されたプリンタにイメージを印刷する能力を有することが望ましい。このような印刷システムが、「Software Architecture for Cable Television Home Printing」という名称の米国特許出願第０９／３５７４３１号、および「Internet-Based Push Printing Over Cable Network」という名称の米国特許出願第０９／３５７４３３号に記載されている。これらの出願には、ＣＨＥ内のサーバが印刷データを用意し、この印刷データをＳＴＢに接続されたプリンタで印刷するために、ＣＨＥからホーム・ユーザのＳＴＢに送ることができるディジタルケーブル・ネットワークが記載されている。ＣＨＥで用意される印刷データは、例えば、ホーム・ユーザに対する関心の特定情報の週単位の予約購読を表し、ＣＨＥは、インターネット上のウェブサイトなどのサードパーティからこの情報を集め、次いでＣＨＥにあるプリンタドライバを使用して印刷データを含む印刷ジョブを準備する。利用されるプリンタドライバは、ネットワーク・ユーザの家庭にあるプリンタのタイプに対応する。或は、印刷データが、商店の広告などのサードパーティからの情報を表し、この印刷ジョブは、サードパーティによって開始され、適当なプリンタドライバを使用してＣＨＥによって準備され、ホームネットワーク・ユーザのプリンタに送られて印刷される。
【０００６】
プリンタ保守を実施してプリンタを良好な印刷状態に戻すことをせずにネットワーク・ユーザのプリンタを頻繁に使用すると、プリンタの印刷品質が低下する可能性がある。インクジェットプリンタなどのプリンタの一般的な保守には、印刷ヘッドのクリーニング、印刷品質条件をテストするためのテストページの印刷、ノズルが正しく機能していることを確かめるノズルチェックの実施、ローラのクリーニングなどが含まれる。ネットワーク・ユーザがパーソナルコンピュータを介してネットワークサーバにアクセスする従来のネットワーク環境では、ネットワーク・ユーザが、ネットワーク・ユーザのプリンタのプリンタドライバがサポートするグラフィック・ユーザインタフェースを介して、このプリンタドライバがサポートするプリンタ保守コマンドにアクセスすることができる。例えば、ネットワーク・ユーザが、マウスなどのポインティングデバイスを使用してプリンタに対応するアイコンをクリックし、次いで、プリンタドライバがプリンタ保守ウィンドウの表示をサポートし、ネットワーク・ユーザが、使用可能なプリンタ保守機能にそれぞれ対応するいくつかのコマンドの１つを選択する。
【０００７】
ディジタルケーブル・ネットワークなどのネットワーク・セントリック環境では、セット・トップ・ボックス（ＳＴＢ）などのネットワーク・ユーザが利用するネットワーク装置が一般に、重要かつ複雑なソフトウェアプログラムの実行をサポートするのに限られたハードウェア・リソースしか持たない。例えばＳＴＢは、パーソナルコンピュータで一般に見られる量よりも少ない限られた量の使用可能メモリしか持たない。従ってＳＴＢは、グラフィック・ユーザインタフェース機能を有する従来のプリンタドライバをロードし実行することができない。印刷サービスをサポートするネットワーク・セントリック環境においては、このことが問題となる。例えば、ディジタルケーブル・ネットワークシステムでは、ネットワーク上のそれぞれのネットワーク・ユーザのプリンタに対する適当なプリンタドライバは、ディジタルケーブル・ネットワークのＣＨＥのサーバにある。
先に論じたとおり、このプリンタドライバはＣＨＥによって利用され、ネットワーク・ユーザ又はサードパーティのリクエストで印刷ジョブを生成し、セット・トップ・ボックスに接続されたプリンタで印刷するためにネットワーク・ユーザのセット・トップ・ボックスに印刷ジョブを送る。従って、ディジタルケーブル・ネットワーク上に存在するプリンタは、ケーブル・ヘッド・エンドに位置するネットワーク管理者とプリンタの位置にいる、対応するそれぞれのネットワーク・ユーザの両方によって管理される必要がある。
【０００８】
残念ながら、ディジタルケーブル・ネットワークがサポートする可能な全てのタイプのプリンタに対応するプリンタドライバ群は、サイズ、機能およびフォーマットの面において大幅に異なる傾向がある。従って、ネットワーク管理者を含むネットワーク・ユーザに全てのプリンタドライバに対して１つのグラフィック・ユーザ・インタフェースを提供する共通のソフトウェアプログラムをＣＨＥサーバ内で使用することは、非常に複雑で厄介である。
【０００９】
【発明が解決しようとする課題】
従って、ネットワーク管理者とプリンタ所有者の両方がプリンタ保守機能にアクセスして、それぞれのネットワーク・ユーザのプリンタを良好な印刷状態に維持することができる共通プリンタ保守方式を利用したネットワーク・セントリック環境向けの印刷システムが望まれる。この方式は一般に、多くの異なる種類のプリンタをサポートする。ディジタルケーブル・ネットワークに新しいタイプのプリンタを追加する度に、この共通プリンタ保守方式を修正する必要がなければさらに望ましい。更に、この方式は、セット・トップ・ボックスなど、有限のリソースを有するネットワーク装置を介してネットワーク・ユーザが容易に使用できるものでなければならない。
【００１０】
【課題を解決するための手段】
本発明は、ネットワーク・セントリック環境で使用するプリンタ保守方式を提供することによって以上の問題に対処する。この方式では、ネットワーク・ユーザが、所望のプリンタに対応するプリンタコンフィギュレーションファイルから得た所望のプリンタに対するプリンタ保守コマンド名および記述を表示したサーバからのウェブページにアクセスする。ネットワーク・ユーザがこのウェブページから１つのプリンタ保守機能を選択すると、対応する保守コマンドが、サーバからネットワーク・ユーザのセット・トップ・ボックスに送られ、次いで、このセット・トップ・ボックスに接続されたプリンタに送られて、このプリンタで所望のプリンタ保守機能が開始される。従って、ネットワーク・セントリック・システムに接続された任意のタイプのプリンタをサポートする一般化されたプリンタ保守方式が提供される。この方式では、ネットワーク・ユーザ又はネットワーク管理者がプリンタ保守方式にアクセスすることができ、ネットワーク・セントリック・システムのサーバにある、拡張されたプリンタコンフィギュレーションファイルからプリンタ保守機能記述およびコマンドに直接にアクセスする。
【００１１】
従って本発明の一態様は、複数のプリンタコンフィギュレーションファイルを含むサーバと、セットトップボックスとプリンタとを有するデジタルケーブルネットワーク環境におけるプリンタ保守のサポートに関する。このプリンタ保守は、プリンタコンフィギュレーションファイルが、複数のプリンタ保守機能名および前記プリンタ保守機能名に対応する複数のプリンタ保守コマンドを含み、前記プリンタに対応する１つのプリンタコンフィギュレーションファイルにアクセスする工程と、前記プリンタに対応する、アクセスしたプリンタコンフィギュレーションファイルのそれぞれのプリンタ保守機能名を含むＨＴＭＬベースのページを生成する工程と、前記ＨＴＭＬベースのページを前記セットトップボックスに送る工程とによってサポートされる。前記セットトップボックスで、前記ＨＴＭＬベースのページ内のプリンタ保守機能名の１つを選択すると、前記サーバが、選択したプリンタ保守機能名に対応するプリンタ保守コマンドを前記プリンタに送る。
【００１２】
本発明が、前記デジタルケーブルネットワーク環境内の前記サーバで実施され、ネットワーク・ユーザのセットトップボックスからのリクエストに応答して前記プリンタコンフィギュレーションファイルの１つにアクセスする工程が実行され、前記ＨＴＭＬベースのページが、リクエストを出したデジタルケーブルネットワーク・ユーザのセットトップボックスに送られることが好ましい。更に、前記プリンタコンフィギュレーションファイルが標準化されたデータフォーマットを有することが好ましい。更に、前記ＨＴＭＬベースのページが、前記サーバ内のインタフェースモジュールを使用して生成されることが好ましく、前記インタフェースモジュールが、コモンゲートウェイ・インタフェース（ＣＧＩ）モジュールであることが好ましい。本発明は、ディジタルケーブル・ネットワークシステムのサーバで実施されることが好ましい。ＨＴＭＬベースのページは、リクエストを出したネットワーク・ユーザのセットトップボックスに送られ、そのセットトップボックスに接続されたテレビジョン上に表示される。更に、前記標準化されたデータフォーマットが、既存のプリンタコンフィギュレーションファイル・フォーマット規格の拡張バージョンであることが好ましい。
【００１３】
以上によって、一般化された共通プリンタ保守方式が、ネットワーク管理者、ホームネットワーク・ユーザなどのデジタルケーブルネットワーク・ユーザに、ネットワーク・セントリック環境中の特定のプリンタのプリンタ保守機能にアクセスするための共通のグラフィックインタフェースを提供する。この共通プリンタ保守方式は、それぞれのプリンタのメーカが提供するプリンタコンフィギュレーションファイルに対する標準化された拡張部分によって可能になる。ネットワーク・ユーザは、セットトップボックスを介してプリンタのプリンタ保守機能にアクセスすることができる。更に、新しいプリンタの対応するプリンタ保守機能が、そのプリンタの対応するコンフィギュレーションファイル内でサポートされるので、このプリンタ保守方式は、新しいタイプのプリンタがネットワーク・セントリック環境に組み込まれる度に修正する必要がない。
【００１４】
他の態様によれば、本発明は、複数のプリンタコンフィギュレーションファイルを含むサーバと、複数のセットトップボックスと、前記セットトップボックスの１つに接続されたプリンタを有するデジタルケーブルネットワーク環境におけるプリンタ保守のサポートに関する。このプリンタ保守のサポートは、前記セットトップボックスの１つから、前記プリンタへの参照を含むプリンタ保守リクエストを受け取る工程と、前記プリンタに対応し、標準化されたデータフォーマットを有し、プリンタ保守機能名、プリンタ保守機能記述、プリンタ保守機能リソースおよびプリンタ保守機能コマンドパラメータをそれぞれが含む複数のプリンタ保守機能データセットを含む１つのプリンタコンフィギュレーションファイルにアクセスする工程とを含む。このプリンタ保守のサポートは更に、前記サーバ内のインタフェースモジュールを使用して、前記プリンタに対応し、それぞれのプリンタ保守機能データ・セットに対して、対応するプリンタ保守機能名、プリンタ保守機能記述、プリンタ保守機能リソース、およびプリンタ保守機能コマンド・パラメータを含むＨＴＭＬベースのページを生成する工程と、前記プリンタ保守リクエストを送ったセットトップボックスに前記ＨＴＭＬベースのページを送る工程を含む。前記セットトップボックスが前記ＨＴＭＬベースのページ内のプリンタ保守機能名の１つを選択すると、前記サーバが、選択したプリンタ保守機能名に対応するプリンタ保守機能コマンドパラメータから得られたプリンタ保守機能コマンドを前記プリンタに送る。
【００１５】
本発明は、ディジタルケーブル・ネットワークシステムのサーバで実施されることが好ましい。ＨＴＭＬベースのページは、リクエストを出したネットワーク・ユーザのセットトップボックスに送られ、そのセットトップボックスに接続されたテレビジョンに表示される。更に、前記標準化されたデータフォーマットが、既存のプリンタコンフィギュレーションファイル・フォーマット規格の拡張バージョンであることが好ましい。
【００１６】
以上によって、一般化された共通プリンタ保守方式が、ネットワーク管理者、ホームネットワーク・ユーザなどのデジタルケーブルネットワーク・ユーザに、ネットワーク・セントリック環境中の特定のプリンタのプリンタ保守機能にアクセスするための共通のグラフィックインタフェースを提供する。この共通プリンタ保守方式は、それぞれのプリンタのメーカが提供するプリンタコンフィギュレーションファイルに対する標準化された拡張部分によって可能になる。ネットワーク・ユーザは、ＳＴＢを介して、プリンタのプリンタ保守機能にアクセスすることができる。更に、新しいプリンタの対応するプリンタ保守機能が、そのプリンタの対応するコンフィギュレーションファイル内でサポートされるので、このプリンタ保守方式は、新しいタイプのプリンタがネットワーク・セントリック環境に組み込まれる度に修正する必要がない。
【００１７】
この簡単な概要は、本発明の本質を短時間で理解できるように提供したものである。本発明のより完全な理解は、本発明の好ましい実施形態の以下の詳細な説明を添付図面とともに参照することによって得ることができる。
【００１８】
【発明の実施の形態】
本発明は、ブロードバンドネットワークのユーザがアクセスし利用する、ブロードバンドネットワーク内のプリンタのプリンタのメンテナンスをサポートする共通プリンタ保守方式に関する。本発明は、ネットワーク・セントリック印刷サービスをサポートする任意の一般ブロードバンドネットワーク内で実現することができることに留意されたい。このようなブロードバンドネットワークの例としては、ディジタルケーブルネットワーク、ＤＳＬネットワーク、無線ディジタルネットワーク、衛星ベースのネットワークなどがある。但し、本発明はこれらに限定されるわけではない。本明細書では、本発明を説明する目的にディジタルケーブル・ネットワークを使用するが、上記の任意のブロードバンドネットワークおよびその他のタイプのブロードバンドネットワークで本発明を実施できることを理解されたい。
【００１９】
図１に、本発明を利用する、インターネットに接続された地域ブロードバンド・ディジタルケーブルネットワークを示す。このネットワークは、アナログおよびディジタルブロードキャスト、セキュア(secure)・アナログおよびディジタルブロードキャスト、アナログおよびディジタル・ペイ・パー・ビュー(pay-per-view)、アナログおよびディジタルインパルス・ペイ・パー・ビュー(impulse pay-per-view)、ディジタル・ニアビデオ(near video)・オンデマンド、一方向リアルタイム・データグラム(datagram)（ブロードキャストＩＰデータパケット）、および双方向リアルタイム・データグラム（アドレストＩＰデータパケット）を配信することができる。
【００２０】
上に挙げたサービスは、図１に示すように、ケーブル・ヘッド・エンドに位置するサービス・インフラストラクチャ１から配信することができる。このインフラストラクチャは、付加価値サービスプロバイダ・システム２およびネットワーク制御システム３を含む。付加価値サービスプロバイダ・システム２は、ディジタル衛星配布システム、ケーブルサーバ上で実行されるアプリケーション（加入者サービスアプリケーション、コンテントギャザー・アプリケーションのような特定目的アプリケーションなど）、ＭＰＥＧ−２データストリームを出力するディジタルメディアサーバ、およびＤＳＭ−ＣＣ仕様によって定義されたアプリケーションデータ・カルーセル(carousel)を含む。ネットワーク制御システム３は、ブロードキャスト・コントロール・スート（Broadcast Control Suite）及びパワーキー・コントロールスート（PowerKey Control Suite）から成り、ブロードバンドネットワークがサポートするサービスの管理および制御を提供する。
【００２１】
あるいは、インターネット・プロキシ５を介してワールドワイドウェブ（ＷＷＷ）４からサービスを送達すること、例えばマーチャント８のような遠隔マーチャントからサービスを配信することもできる。マーチャントの例にはバンキング、小売り、公益事業などが含まれる。
【００２２】
いずれにしてもこれらのサービスは、サービスプロバイダとブロードバンドネットワークの残りの部分との間のインタフェースとして機能するケーブル・ヘッド・エンド（ＣＨＥ）６に配信される。
【００２３】
具体的には、ＣＨＥ６は、５００，０００から１，０００，０００世帯にサービスを提供し、光ファイバケーブル接続を介してハブ７に接続される。ハブ７はＣＨＥ６又は他のハブ７に接続される。それぞれのハブ７は、光ファイバケーブル接続を使用して、少なくとも１つのノード９に接続される。次いで同軸ケーブルを使用して、それぞれのノードが、５００から２０００世帯のセット・トップ・ボックス１０（ＳＴＢ）に接続される。最後に、それぞれのＳＴＢ１０は、テレビジョン１１又はプリンタ１２、或はそれら両方に接続される。従ってサービスは、サービスプロバイダからＣＨＥ６へ、ＣＨＥ６から１つ又は複数のハブ７へ、ハブ７からノード９へ、ノード９からＳＴＢ１０へ、ＳＴＢ１０からテレビジョン１１又はプリンタ１２へと送達される。ＳＴＢ１０のユーザは、遠隔制御又はその他のタイプのポインティングデバイスを利用して、ＳＴＢ１０を介して提供され、テレビジョン１１に表示されたサービスとインタフェースすることができる。
【００２４】
上記の配置によって、サービス・インフラストラクチャ１をＣＨＥ６、ハブ７又はその他の機能の間で分散させることができることに留意されたい。
【００２５】
図２に、サービス・インフラストラクチャ１、ＣＨＥ６及びＳＴＢ１０のいくつかの関連コンポーネント、ならびにインターネット・プロキシ５を介してＣＨＥ６に接続された遠隔クライアント・モジュールの関連インターネット・コンポーネントを示す。具体的には、３つの代表クライアント・モジュール１４が図示されている（実際のインプリメンテーションでは、これよりも多くのクライアント・モジュールが企図される）。それぞれのクライアント・モジュール１４はＣＨＥ６の遠隔に位置し、インターネット・プロキシ５を介してインターネット上でＣＨＥ６に接続されている。クライアント・モジュール１４は、銀行、新聞社、またはユーザが印刷データを希望するその他の実体が運営するサーバ上で実行することができる。もちろん、４つ以上のクライアント・モジュール１４を図２に示したアーキテクチャに接続することができる。
【００２６】
それぞれのクライアント・モジュール１４は、クライアント・アプリケーション１５、ケーブル印刷サービス・インフラストラクチャ（ＣＰＳＩ）クライアント１６、およびインターネット印刷プロトコル（ＩＰＰ）クライアント１７を含む。それぞれのクライアント・アプリケーション１５は、バンキングサービス、新聞サービスなどのクライアント・モジュールで実行されるサービスに対して特化していることが好ましい。印刷出力目的でデータを生成し、又はデータベースにアクセスするアプリケーションなどの特定クライアント用のその他のアプリケーションも、クライアント・モジュールで実行することができる。クライアント・アプリケーション１５は、アプリケーションプログラミング・インタフェース（ＡＰＩ）を使用してＣＰＳＩクライアント１６と通信する。
【００２７】
ＣＰＳＩクライアント１６は、クライアント・アプリケーション１５から受け取った印刷データを、ＩＰＰクライアント１７を介してＣＨＥ６に配信する。これに対応してＣＨＥ６は、印刷データを受け取るＩＰＰサーバ１９を備える。印刷データは、ＩＰＰクライアント１７とＩＰＰサーバ１９の間で、ＩＰＰ，ＨＴＴＰおよびＴＣＰ／ＩＰプロトコルの３つのプロトコル全てを介して伝えられることに留意されたい。
【００２８】
図２には、クライアント・モジュール１４とＣＨＥ６の間のＩＰＰクライアント／サーバ通信を示したが、その他の通信プロトコルまたはプロトコルレイヤを使用することもできる。例えば、セキュア印刷を容易にするため、ＳＳＬ（セキュア・ソケット・レイヤ）プロトコルを利用することができる。このような構成では、ＩＰＰクライアント１７−ＨＴＴＰ−ＳＳＬ−ＴＣＰ／ＩＰから成るプロトコルスタックが使用される。これと相補的な配置がＣＨＥ６に提供される。同様に、その他のプロトコルを使用することができ、並列またはスタック配置の複数のプロトコルを使用することができる。
【００２９】
どのようなクライアント／サーバ配置を使用するにしても、クライアントとサーバは、ＣＰＳＩクライアント１６からの通信を容易にするＣＰＳＩトランスポートレイヤを介して通信する。データは一般に、ＣＰＳＩクライアントから一方向に押し出され、ＣＰＳＩクライアント１６へ向かうもう一方の方向へデータが戻されることは（肯定応答などを除いて）ほとんど、又は全くない。実際のＣＰＳＩトランスポートはＴＣＰ／ＩＰ，ＳＭＴＰなどを使用することができる。これらのセッションを、セキュア・セッションとすることができる。ＣＰＳＩトランスポートレイヤは、実際のトランスポートの差異をＣＰＳＩクライアント１６から隠すように構成され、そのため実際のトランスポートは、ＣＰＳＩクライアント１６から見てトランスペアレントであり、これによってＣＰＳＩクライアント１６はトランスポート・インデペンデントとなる。
【００３０】
ＣＨＥ６は、ソフトウェア構造がＣＰＳＩクライアント１６と相補的で、ＣＰＳＩクライアント１６から送信されたデータを受け取る働きをするＣＰＳＩサーバ３７を含む。ＣＨＥ６は更に、ＩＰＰサーバ１９及びＣＰＳＩサーバ３７から受け取った印刷データをプリンタ１２に論理上対応する論理プリンタに割り当て、印刷データをこの論理プリンタに対応する物理的なプリンタ装置の待ち行列に入れるスプーラ２０を含む。印刷データとともに受け取ったユーザＩＤ又はその他のアドレス情報に対応するプロファイルをプリファランス・ディレクトリ２１から取り出すことによって、ＣＰＳＩスプーラ２０は印刷データを論理プリンタに割り当てる。
【００３１】
アドレス情報の他に、プリファランス・ディレクトリ２１には、加入者のプリファランスに関係したその他の情報も記憶されている。このような情報は最初、登録プロセスの間に加入者によって設定され、希望に応じてその後に修正することができる。このようなプリファランスの１つが、加入者が特定のマーチャントから受け取った印刷ジョブをブロックし、または特定のマーチャントから受け取った印刷ジョブだけを受け入れることができるブロッキング機能である。このようなプリファランスにはその他、自動データ／情報配信サービスの選択および構成が含まれる。この配信サービスによれば、加入者プリファランスに基づいて、ＣＨＥ６が、（ニュース、クーポン、劇場スケジュールなどの）情報をインターネットソースから集め、その情報をパッケージ化して印刷ジョブとし、その印刷ジョブを加入者のセット・トップ・ボックスに送るデータ収集アプリケーション（アプリケーション２２など）を定期的に実行する。
【００３２】
ＣＰＳＩスプーラ２０は更に、ＣＰＳＩサーバ３７、ＩＰＰサーバ１９、ＩＰＰクライアント１８及びＣＰＳＩクライアント２３を介して、アプリケーション２２などの特定ケーブル用アプリケーションに接続される。ＣＰＳＩクライアント２３は、ＣＰＳＩクライアント１６と同種のクライアントである。アプリケーション２２は、特定のクライアント（ここではケーブル・ヘッド・エンド）向けのサービスを実施するよう実行されるアプリケーションを提供し、ＣＰＳＩスプーラ２０に印刷データを送達することができるという点でクライアント・アプリケーション１５と同種のアプリケーションである。
【００３３】
ＣＨＥ６がそれぞれのＳＴＢ１０と通信できるよう、ＩＰＰクライアント２４がＣＰＳＩクライアント３８を介してＣＰＳＩスプーラ２０に接続される。ＣＰＳＩクライアント３８は、ＣＰＳＩクライアント１６及び２３と同種のクライアントであり、セット・トップ・ボックスのＣＰＳＩサーバと相補的なソフトウェア・アーキテクチャを提供し、セット・トップ・ボックスのＣＰＳＩサーバとのデータ通信を提供する。この点に関連しては、数千台のＳＴＢのうちの２台だけが図示されている。それぞれのＳＴＢ１０は、ＩＰＰクライアント２４に接続するためのＩＰＰサーバ２５を含む。ＣＨＥ６からＳＴＢ１０へデータを配信するため、ＳＴＢ１０にはサーバが確立され、ＣＨＥ６には対応するクライアントが確立されていることに留意されたい。このような場合の好ましいトランスポート・プロトコルもやはり、その下の特定のトランスポート（ＴＣＰ／ＩＰ，ＳＭＴＰ，ＱＰＳＫ，ＤＯＣＳＹＳ，ＩＰゲートウェイを介したブロードバンドなど）にかかわらず使用可能なＣＰＳＩトランスポートレイヤである。
【００３４】
図２には、ＣＨＥ６とＳＴＢ１０の間のＩＰＰクライアント／サーバ通信を示したが、その他のプロトコルも使用可能である。例えば、ＳＴＢ１０で使用可能なリソースが既に限度に達している状況では、ＳＭＴＰ及びＰＯＰメールプロトコルを使用して、印刷ジョブをＣＨＥ６からＳＴＢ１０へ配信することができる。このような配置の利点として、従来の多くのＳＴＢが既にメールプロトコルを含んでおり、そのためＳＴＢリソースの使用の更なる増大が避けられること、ＣＨＥ６にファイアウォール(firewalls)が存在しても、これがメールを通過させること、それぞれの世帯に複数のメールボックスを規定できること、及び印刷ジョブをサポートするよう（クライアント・モジュールの）メールクライアントを容易に構成することができることなどが挙げられる。この最後の状況では、ＣＨＥ６及び対応するクライアント・モジュール１４が更に、ＳＭＴＰクライアント／サーバなどの、メールプロトコル・クライアント／サーバ関係を介した通信のために構成される。同様に、ＣＨＥ６とそれぞれのＳＴＢ１０の間でその他のプロトコルを使用することができ、並列またはスタック配置の複数のプロトコルを使用することができる。
【００３５】
ＳＴＢ１０は、ＣＰＳＩサーバ３９を含み、更に、プリンタ１２に対応する単一の論理プリンタの単一の待ち行列を制御するＣＰＳＩスプーラ２６を含む。その他の点では、ＣＰＳＩスプーラ２６はＣＰＳＩスプーラ２０とほぼ同一であり、ＣＰＳＩサーバ３９はＣＰＳＩサーバ３７とほぼ同一である。ＳＴＢ１０のコンピューティング・リソースは限定されたものである可能性が高いので、ＣＰＳＩスプーラ２６及びＣＰＳＩサーバ３９の機能も限定されたものであることが有利である。ＳＴＢ１０はさらに、クライアント・アプリケーション１５が使用するＡＰＩのサブセットを使用して、ＣＰＳＩクライアント２９を介してＣＰＳＩスプーラ２６と通信するＳＴＢクライアントアプリケーション２７を含む。この構成は、ＳＴＢユーザがローカル印刷ジョブを開始することを可能にする。
【００３６】
図３に、セット・トップ・ボックス１０の代表的なソフトウェア・アーキテクチャを示す。一般に、このソフトウェア・アーキテクチャは、セット・トップ・ボックスのハードウェア・アーキテクチャとともに、アナログ及びディジタル・サービスの受信をサポートする。アナログサービスの場合、ＳＴＢ１０はアナログチャネルに同調し、ＮＴＳＣビデオ信号を抽出し、ローカルテレビジョン受信機を駆動する。ディジタルサービスの場合には、ローカルテレビジョン受信機を駆動するためのＮＴＳＣシグナルを得るため、ＳＴＢ１０は適当なディジタルチャネルに同調し、ＭＰＥＧ−２ビデオパケットを抽出、解読、解凍し、それにより得られたビデオをＮＴＳＣドライバにルーティングする。更に、このディジタルチャネル上でプライベートデータを受け取る。印刷ジョブは、ディジタルサービスのディジタルチャネル又はプライベート・データチャネルを介してＳＴＢ１０に送達することができ、ＣＰＳＩトランスポートを使用して送達される。ＳＴＢ１０は、ＣＰＳＩトランスポートからのパケットを再構築し、データを宛先、ここではＩＰＰサーバ２５にルーティングする。
【００３７】
図３に示したソフトウェア・アーキテクチャを介して、ＳＴＢ１０は、さまざまなケーブルサービスが提供するホームユーザ機能向けのさまざまなアプリケーションのホストとなる。代表的なアプリケーションは、ナビゲータ、対話式プログラムガイド、電子メール及びウェブブラウザである。これらのアプリケーションの大部分は、クライアント／サーバ・インプリメンテーションであり、ＳＴＢ１０がクライアント・ソフトウェアのホストとなり、ＣＨＥ６がサーバ・ソフトウェアのホストとなる。ケーブルネットワークを介したクライアントとサーバの間の通信は、ＳＴＢ１０で実行されるオペレーティングシステムによって促進され、公開されたＡＰＩを通して実行される。ハードウェアプラットホーム及びオペレーティングシステムに応じ、これらのアプリケーションはＳＴＢ１０に常駐させることができ、またはＣＨＥ６に位置するサーバからダウンロードしてＳＴＢ１０で実行することができる。
【００３８】
従って図３に示すように、ＳＴＢ１０のソフトウェア・アーキテクチャ及びＳＴＢ１０は、ハードウェアとのインタフェース３１、オペレーティングシステム３２、ＨＴＭＬエンジン３４、常駐アプリケーション３５及びその他のアプリケーション３６を含む。オペレーティングシステム３２は通常、ＳＴＢのベンダ・スペシフィックであり、ＰＴＶ，ＷｉｎＣＥ，ＭｉｃｒｏＷａｒｅ，ＯｐｅｎＴＶなどのオペレーティングシステムを含むことができる。ＨＴＭＬエンジン３４は、ＨＴＭＬ，ＧＩＦ，ＭＰＥＧ，ＨＴＴＰ，Ｊａｖａスクリプトなどの異なるタイプのメディアを取り扱う能力を提供し、周知のプラグイン仕様に従って一緒にプラグインすることができる独立した一群のハンドラを提供する。ＨＴＭＬエンジン３４を使用してＳＴＢ１０は、ＨＴＭＬドキュメントをウィンドウ・マネージャに提供して、ローカルテレビジョン受信機に表示することができる。ＨＴＭＬドキュメントは、ローカル・キャッシュ、バンド内及びバンド外ブロードキャスト・カルーセル、ＶＢＩストリーム、ＣＨＥ６にあるＨＴＴＰプロキシ・サーバ、またはインターネットを介してＳＴＢユーザがアクセスした遠隔ＨＴＴＰサーバから取り出すことができる。遠隔ＨＴＴＰサーバから取り出す最後のケースでは、外部のウェブサーバから取り出されたドキュメントが、予め定義したフィルタリング基準に基づくプロキシ（サーフウォッチなど）によってフィルタにかけられる。これはさらに、要求のあったドキュメントを、ＨＴＭＬエンジン３４がサポートするフォーマットに変換することもできる。
【００３９】
常駐アプリケーション３５は、前述のナビゲータ、対話式プログラムガイドなどのアプリケーションを含む。アプリケーション３５及び３６は、ウェブブラウザ、電子メールプログラム、接続されたプリンタ１２用の印刷ドライバ３３及びその他のアプリケーションを含む。前述の通りＳＴＢ１０は、一般的なパーソナルコンピュータ又はネットワークワークステーションに比べ、限定されたハードウェアリソースを有する。そのため前述のアプリケーションも事実上限定されたものになる。特に重要なのは、プリンタドライバ３３が、従来のプリンタドライバのストリップダウン版であり、従って機能が限定されていることである。プリンタドライバ３３は主に、プリンタ１２に印刷データ及びコマンドを送る目的に使用される。従ってプリンタドライバ３３はせいぜい、ＳＴＢ１０のユーザがプリンタドライバ３３と対話することを可能にするグラフィック・ユーザインタフェースをサポートする限定された能力しか持たない。例えば、一般的なパーソナルコンピュータのユーザとは違い、ＳＴＢ１０のユーザは一般に、プリンタ１２を良好な印刷状態に維持するために保守コマンドを実行する目的で、プリンタドライバ３３がサポートするグラフィック・ユーザインタフェースにアクセスことができない。プリンタドライバ３３は、フロッピーディスク、ＣＤ−ＲＯＭなどの外部媒体によって、又はアプリケーション３６のブラウザ・アプリケーションを介してＳＴＢ１０に提供することができる。或は、プリンタドライバ３３を、プラグ・アンド・プレイ機構を介してＣＨＥ６からＳＴＢ１０に提供することができる。これについては後に詳細に説明する。アプリケーション３５及び３６はさらに、図２に関して先に述べたアプリケーション、すなわちＩＰＰサーバ２５、ＣＰＳＩスプーラ２６、ＣＰＳＩクライアント２９及びＳＴＢクライアント・アプリケーション２７を含む。
【００４０】
ＳＴＢ１０内の使用可能なリソースが限られているため、プリンタ１２に送られる印刷データが、装置独立の高水準印刷言語（ＰＣＬ５，ＰＤＦ，ＰｏｓｔＳｃｒｉｐｔなどのようなページ記述言語）の形態でＳＴＢ１０に転送され、ＳＴＢ１０でラスタ化されるということはない。高水準プリンタ言語に基づいてＳＴＢ１０が印刷データをラスタ化する必要があるこのような配置はしばしば、ＳＴＢ１０のリソースの可用性を圧倒する。従って、ＣＨＥ６とＳＴＢ１０の間には高速データ通信リンクが存在するので、ラスタ化はＣＨＥ６で実行され、ラスタ化されたデータがＣＨＥ６からＳＴＢ１０に送られて、プリンタ１２で印刷される。このセクションでは、この効果を達成するための好ましいインプリメンテーションについて説明する。
【００４１】
図４に、遠隔マーチャントなどのクライアント・モジュール１４又はＣＨＥ６で実行されるクライアント・アプリケーションから、最終的な配信地であるＳＴＢユーザの家庭のプリンタ１２までの印刷ジョブの全体データフローを示す。図４に示すとおり、クライアント・モジュール１４で実行されるクライアントアプリケーション１５は、１台又は複数台のＳＴＢの１台又は複数台のプリンタに対してアドレスされた印刷ジョブを生成する。印刷ジョブは、ＰｏｓｔＳｃｒｉｐｔ，ＰＤＦ，ＨＴＭＬなどの高水準ページ記述言語（ＰＤＬ）で生成される。これらのＰＤＬなどの高水準プリンタ言語が好ましいのは、これらがプリンタ独立であり、そのためクライアント・アプリケーションが宛先プリンタ１２の構成を知る必要がなくなるためである。ＰＤＬフォーマットの印刷ジョブは、前述のＣＰＳＩクライアント１６を介してクライアント・モジュール１４からＣＨＥ６に送られ、そこでＣＰＳＩスプーラ２０によって受け取られる。ＣＰＳＩスプーラ２０において、印刷ジョブは宛先プリンタ１２の構成及びタイプについての知識に基づいてラスタ化される。この知識は、クライアント・モジュールによって提供された宛先プリンタのアドレスに基づいて、ＣＰＳＩスプーラがプリファランス・ディレクトリ２１から取得する。ラスタ化された印刷ジョブは、ＣＨＥ６とＳＴＢ１０の間の前述のクライアント／サーバ関係を介してＳＴＢ１０に送られ、そこでラスタ化された印刷ジョブは、ＳＴＢ１０のＣＰＳＩスプーラ２６によって受け取られる。ラスタ化された印刷ジョブはそこから標的プリンタ１２に送られて印刷される。
【００４２】
図５は、このプロセスを詳細に示す流れ図である。図５に示したプロセス工程は、ＣＨＥ６にある図示されていないメモリ（ケーブル・ヘッド・エンド６が実行する処理工程）、またはＳＴＢ１０にある図示されていないメモリ（セット・トップ・ボックス１０が実行する処理工程）などのコンピュータ可読媒体に記憶されている。簡単には、図５に示したプロセス工程によれば、ケーブル・ヘッド・エンドが受け取った印刷ジョブを、高速データ通信ネットワークを介してこのケーブル・ヘッド・エンドと通信するセット・トップ・ボックスに接続されたプリンタ上で印刷するため、高水準プリンタ記述言語で記述され、１台又は複数台のこのようなプリンタに対してアドレスされた印刷ジョブをケーブル・ヘッド・エンドが受け取る。ケーブル・ヘッド・エンドはこのアドレスに基づいて、アドレスされたプリンタの構成及びタイプに対応する、そのプリンタ用のソフトウェアドライバを得る。このケーブル・ヘッド・エンド内に、このソフトウェアドライバに対応した論理プリンタを生成し（論理プリンタがまだ存在しない場合）、この論理プリンタを実行して、高水準プリンタ記述言語で記述された印刷ジョブをラスタ化し、そのラスタ化されたビットマップイメージ・フォーマットとする。このラスタ化されたビットマップイメージ・フォーマットは、高速データ通信ネットワークを介してその印刷ジョブ中にアドレスされたセット・トップ・ボックスに送信される。セット・トップ・ボックスでは、セット・トップ・ボックスが、ローカルに接続された自体のプリンタに対応する論理プリンタを生成し（論理プリンタがまだ存在しない場合）、この論理プリンタが、ラスタ化されたビットマップイメージデータをその入力として受け取る。ラスタ化されたビットマップイメージデータは、セット・トップ・ボックスの論理プリンタに送られ、論理プリンタはこの印刷ジョブを、ローカルに接続されたプリンタにルーティングする。
【００４３】
詳細に説明する。図５には、ＣＨＥ６で実行されるステップＳ５０１からＳ５１５、及びＳＴＢ１０で実行されるステップＳ５１６からＳ５２０が示されている。ステップＳ５０１では、ケーブルヘッドエンド６がクライアントアプリケーションから印刷ジョブを受け取る。この印刷ジョブは、プリンタ独立の高水準プリンタ記述言語（ＰＤＬ）で記述されていることが好ましい。更に、この印刷ジョブは、その印刷ジョブの１つ又は複数の宛先を識別する１つ又は複数のアドレスを含む。これらのアドレスは、ケーブル・ヘッド・エンド６とクライアントアプリケーションの間で相互に合意された都合のよい任意のフォーマットで生成することができる。
【００４４】
ケーブルヘッドエンド６が受け取った印刷ジョブが、インターネットを介してケーブルヘッドエンド６に接続された遠隔に位置するマーチャントからの印刷ジョブであることが予想される。マーチャント及び対応する印刷ジョブの例としては、銀行が顧客の家に向けて口座通知書を直接に印刷出力すること、公益企業が公共料金の請求書を消費者の家で直接に印刷出力すること、広告主が広告及び／又はクーポンを消費者の家で直接に印刷出力すること、ニュースレター／ニュースクリッピング・サービス会社が定期刊行物を読者の家で直接に印刷出力することなどが挙げられる。ケーブルヘッドエンド６で実行されるクライアントアプリケーション、例えば、視聴者の家で印刷出力するため月刊のケーブルガイドを生成するクライアントアプリケーション２２、ユーザのプリファランスに従ってインターネット上で実施した自動検索に基づいて、さまざまなインターネットソースからニュースを取得し、このようなニュースを照合し、ニュース読者の家でニュースを直接に印刷するニュース検索サービスなどから印刷ジョブを配信することもできる。この他の複数の配置が容易に想像される。しかし本発明の趣旨では、前述のプリンタ記述言語などのプリンタ独立のフォーマットで記述された印刷ジョブを、ケーブルヘッドエンド６のＣＰＳＩスプーラ２０が受け取ることが好ましい。
【００４５】
ステップＳ５０２では、ＣＨＥ６が、印刷ジョブと共に受け取ったプリンタアドレスに基づいてプリファランスディレクトリ２１にアクセスし、印刷ジョブの最終的な宛先であるプリンタに対応するユーザのユーザプロファイルを取り出す。このユーザプロファイルは、少なくとも、ユーザのセット・トップ・ボックスに接続されたプリンタ１２のプリンタ構成及びタイプの識別を含むことが好ましい。ユーザプリファランスにその他の情報を含めることもできる。このような情報の１つが、印刷ジョブに適用するフィルタリングを指定するブロッキングフィルタであり、これによってユーザは不要な印刷ジョブを排除することができる。
例えば、自宅のプリンタでの不要な印刷ジョブの急増を避けるため、ユーザは、特定のソースからの印刷ジョブをブロックし、又は特定のソースからの印刷ジョブだけを受け取るようケーブル・ヘッド・エンド６に命令するプリファランスを指定することができる。このようなプリファランスがステップＳ５０３で適用され、印刷ジョブを拒絶するかどうかをＣＨＥ６が判定する。ジョブを拒絶する場合にはフローはステップＳ５０４に枝分かれしてジョブを拒絶する。ジョブを拒絶したことをクライアントモジュール１４に知らせることもできる。
【００４６】
印刷ジョブを受け入れて印刷出力する場合、フローはステップＳ５０６に進み、印刷ジョブを予定に組み込み、加入者の待ち行列に入れる。次いでステップＳ５０７で、印刷ジョブの宛先プリンタ用の印刷ドライバが存在するかどうかをケーブル・ヘッド・エンドが判定する。さまざまな理由から印刷ドライバが存在しない可能性がある。そのような理由の１つは、ユーザプロファイルに定義されたプリンタに対応する使用可能なソフトウェアモジュールをケーブル・ヘッド・エンドが持っていないことである。このような状況ではケーブル・ヘッド・エンド６が単に、プリンタメーカに対応するインターネットサイトなどの、このようなソフトウェアドライバのインターネットプロバイダにアクセスする。しかし、これよりもよく見られるドライバが存在しない状況は、ユーザプロファイルがプリンタ構成又はタイプの識別を含まない状況である。このような状況はステップＳ５０９及びＳ５１０で対処され、ユーザプロファイルがプリンタを指定していないためにドライバが存在しない状況では、ＣＨＥ６がこれらのステップに分岐する。
【００４７】
ステップＳ５０９では、ＣＨＥ６が、宛先ＳＴＢ１０と直接に（ＣＰＳＩスプーラ２０、ＣＰＳＩクライアント３８及びＩＰＰクライアント／サーバ２４及び２５を介して）通信し、ＳＴＢ１０に接続されたプリンタ１２の構成及びタイプの識別を提供するようＳＴＢ１０に求める。これに応答してＳＴＢ１０が必要な情報を提供し、ＣＨＥ６がこれを取得する。ステップＳ５１０では、ＣＨＥ６が、ＳＴＢ１０から提供された識別情報に対応するドライバをロードし、更に、将来に印刷ジョブを実行するときにプリンタ識別を決定する目的で、ＳＴＢ１０と通信しなくてもよいように、プリファランスディレクトリ２１中のユーザプロファイルを更新する。
【００４８】
いずれにせよドライバが存在すればフローはステップＳ５１１及びＳ５１２に進み、ＣＨＥ６のＣＰＳＩスプーラ２０が、印刷ドライバに対応する論理プリンタが既に存在するのか、又は論理プリンタを１つ生成する必要があるのかを判定する。以前に印刷ジョブを既に処理している場合には、論理プリンタは既に存在する。この論理プリンタを使用して、ＣＰＳＩスプーラは、プリンタ独立のＰＤＬフォーマットで記述された印刷ジョブを論理プリンタに送り、論理プリンタは印刷ジョブをラスタ化して、特定のプリンタ用のラスタ化されたビットマップイメージとする（ステップＳ５１４）。このラスタ化されたビットマップイメージ印刷ジョブは、その印刷ジョブの単なる完全なビットマップラスタではないことを理解されたい。ラスタ化されたこのビットマップ印刷ジョブは、ＣＰＳＩスプーラ２０中の論理プリンタに対応するプリンタに対して特に調整された印刷ジョブのビット・バイ・ビット表現である。特定プリンタ向けラスタ化の一例として、プリンタの制御を可能にするため多くのプリンタが、印刷ジョブに組み込まれた印刷コマンドを必要とすることが挙げられる。このような印刷コマンドの例には、スタート・オブ・ページ、アドバンス・ダウン、イジェクトページ、ロード・ニューページなどが含まれる。このような特定プリンタ用コマンドは、ラスタ化された印刷ジョブに組み込まれる。他の例として、バブルジェットプリンタなどのいくつかのプリンタはバンド状に印刷し、このようなバンドを定義する組込みコマンドを必要とする。別の例として、カラー印刷するいくつかのバブルジェットプリンタでは、１つの色の印刷ジェットと他の色の印刷ジェットとの間の物理的な位置の差を収容するために、異なるそれぞれのカラーに対して印刷データを順序を変えて供給する必要がある。プリンタの特定性の原因が何であれ、ステップＳ５１４で論理プリンタによって生成されるラスタ化されたビット・マップ印刷ジョブは、プリンタ１２のプリンタ構成及びタイプの識別に基づいて直接に調整された特定のプリンタ向けの印刷ジョブである。
【００４９】
ラスタ化されたビットマップ印刷ジョブは、ステップＳ５１５でＳＴＢ１０に送信される。先に述べたとおりＳＴＢ１０への送信は、ＣＰＳＩスプーラ２０からＣＰＳＩクライアント３８、ＩＰＰクライアント／サーバ２４及び２５を介して、ＳＴＢ１０のＣＰＳＩサーバ３９及びスプーラ２６へと実施される。
【００５０】
ステップＳ５１６では、セット・トップ・ボックスが、ラスタ化されたビットマップ印刷ジョブをＣＰＳＩサーバ３９内に受け取り、これをＣＰＳＩスプーラ２６に転送する。ＣＰＳＩスプーラ２６に論理プリンタがまだ存在しない場合には、接続されたプリンタ１２のプリンタタイプ及び構成の識別に基づいて論理プリンタが生成される（ステップＳ５１７及びＳ５１９）。ステップＳ５２０でＣＰＳＩスプーラが、この論理プリンタを使用してラスタ化されたビットマップ印刷ジョブを実行し、これによって印刷ジョブをプリンタ１２に送り、目に見える印刷イメージとする。
【００５１】
先に説明したとおり、ＣＰＳＩアーキテクチャの目的は、インターネット上のどこかで実行されるアプリケーションが、セット・トップ・ボックスに接続されたプリンタ上で印刷することを可能にする機能を提供することにある。このような印刷は、接続されたプリンタで印刷出力する印刷データを遠隔アプリケーションが、ケーブル・ヘッド・エンドを介してセット・トップ・ボックスに押し出す（プッシュする）という意味で「プッシュ印刷」と呼ばれる。
【００５２】
もちろん、希望に応じてユーザがデータを印刷できるように、それ自体が印刷機能を備えたセット・トップ・ボックスを提供することもできる。このような印刷は、セット・トップ・ボックスのユーザが、ユーザから遠いソースから印刷出力のためのデータを引き寄せる（プルする）という意味で「プル印刷」と呼ばれる。例えば、ユーザが、インターネットのブラウジングの間に関心のウェブページを見つけ、そのウェブページの印刷出力を要求することがある。このような印刷出力は「プル印刷」であり、後に説明する「プッシュ印刷」とは異なる。
【００５３】
以上及び以下に説明するアーキテクチャの一般的な印刷目標には、接続及びソフトウェアをサポートできること、サポートされたプリンタの駆動、ならびに、プリンタの取付けの際に、セット・トップ・ボックスへの物理的接続以外にユーザが介入する必要性を排除することが含まれる。均一なＡＰＩのためソフトウェアの維持費は低減される。更に、このＣＰＳＩソフトウェア・アーキテクチャのおかげで、印刷は、セット・トップ・ボックス上で実行されるウェブブラウジングアプリケーション、テレビジョンビューイングなどのその他のプログラムを妨害しない。更に、このＣＰＳＩアーキテクチャは、さまざまなプラットホームに移植可能であり、異なるさまざまなオペレーティングシステム、特に、セット・トップ・ボックス自体で実行を維持するオペレーティングシステムをサポートする。
【００５４】
具体的にはプッシュ印刷は、セット・トップ・ボックス・ユーザ以外の実体によって印刷アクションが開始されるモデルを表す。この実体は、実際にはケーブル・ヘッド・エンドに対してローカルな実体であるか、またはインターネット・シチズンであり、印刷ジョブが望まれるドキュメントを所有し、またはそれを参照することができる。２つの異なる印刷モードが企図される。
【００５５】
１．ユニキャスティング。これは、遠隔インターネット・サイトがそれぞれの宛先クライアントに印刷データを別々に送るポイント・ツー・ポイント接続を指す。
【００５６】
２．マルチキャスティング。これは、印刷データの単一のコピーが複数の宛先ポイントに送られるモードを指す。マルチキャスティングには更に、印刷データの単一のコピーが、選択されたそのサブキャストではなしに宛先ポイント全てに送られるブロードキャスティングが含まれる。
【００５７】
プッシュ印刷に従う印刷ジョブの例には、遠隔インターネットサイトからのマーチャント開始型の印刷ジョブが含まれる。このようなマーチャント開始型印刷ジョブに、特定の商品を宣伝するちらしなど、内容が一定な印刷ジョブを含めることができる。このちらしは、ユニキャスト又はマルチキャストモードで印刷することができ、適当なユニキャスト又はマルチキャストモードで、ケーブル・ヘッド・エンドから適当なセット・トップ・ボックスに送達される。マーチャント開始型印刷ジョブには更に、小売のようなパーソナライズされた記事、銀行の口座通知書、公共料金の請求書などの内容が変化する印刷ジョブを含めることができる。印刷ジョブは、マーチャントのサーバで実行されるクライアントアプリケーションに基づいて生成され、ケーブル・ヘッド・エンドに提示される。この場合も、ケーブル・ヘッド・エンドは印刷ジョブを、印刷ジョブの求めに応じてユニキャスト又はマルチキャスト・モードで、当該の１台又は複数台のセット・トップ・ボックスに送達する。
【００５８】
遠隔インターネットサイトからのマーチャント開始型印刷出力の一般的な目標には以下のものが含まれる。第１に、マーチャントが、マーチャントのＣＰＵ上で実行されるクライアントアプリケーションによって、それ自体のインターネットサイトで印刷ジョブを提出することができることである。マーチャントは、宛先アドレス、及び伝送がセキュア伝送であるのか又はアンセキュア伝送であるのかを含む、印刷ジョブのパラメータを指定することができる。宛先アドレスによって、ユニキャスト又はマルチキャスト印刷を指定することができる。即ち、宛先アドレスは、単一の受信者だけを識別し、或は複数の受信者又は一群の受信者を表すことができる。印刷ジョブは、標準化された装置独立のフォーマットを介して印刷する広く使用可能なクライアントアプリケーション、又はカスタマイズされた印刷アプリケーションを使用して、装置独立のノンプロプラエタリ・フォーマットで生成される。これは、印刷提出クライアントと内容作成ツールの分離を通して達成される。内容作成ツールはマーチャントに残され、印刷提出クライアントは、先に説明したＣＰＳＩクライアント中で具体化される。ケーブル・ヘッド・エンドでは、常駐ソフトウェアが、プリファランス・ディレクトリ２１内にユーザプロファイルのディレクトリを維持する。ユーザプロファイルは、加入者名、加入者番号、住所、プリンタモデル、セット・トップ・ボックスの機能、ブロッキング・フィルタ及びポリシー・データを含む。ケーブル・ヘッド・エンドのＣＰＳＩスプーラは、ブロッキング・フィルタデータが指定する基準を満たす印刷ジョブを破棄し、又は指定の別の基準を満たす印刷ジョブだけを受け入れる。ケーブル・ヘッド・エンドのシステム管理者は、全てのケーブル加入者に対する全体の印刷ジョブを指示し、又はユーザごとの印刷ジョブを指示する印刷待ち行列を表示することができる。このような印刷待ち行列を使用してシステム管理者は、待ち行列中のジョブのステータス、及びセット・トップ・ボックスに接続された対応するプリンタのステータスを調べることができ、さらに、待ち行列中のジョブを削除し、ユーザーが選択可能な任意の印刷オプションをオーバライドすることができる。ケーブル・ヘッド・エンドのＣＰＳＩスプーラは、セット・トップ・ボックスが印刷データを受け入れる準備ができていること、及び接続されたプリンタの準備ができており、かつラインがつながっていることを確認するまで印刷ジョブを開始しない。セット・トップ・ボックスのＣＰＳＩスプーラは、印刷ジョブ全体がケーブル・ヘッド・エンドからダウンロードされる前に印刷操作を開始でき、さらに、印刷ジョブの正常完了を確認することができることが好ましい。
【００５９】
図６Ａ、図６Ｂ及び図６Ｃに、ユニキャスト（ポイント・ツー・ポイント）印刷およびマルチキャスト（１対多）印刷の一般的な配置を示す。図６Ａに示すように、ユニキャスト印刷は、遠隔ウェブサーバから、セット・トップ・ボックスに接続された特に識別されたプリンタへの印刷ジョブの印刷出力を含む。印刷ジョブは、インターネットを介してケーブル・ヘッド・エンドにルーティングされ、そこからディジタルケーブル・ネットワークを介してセット・トップ・ボックスにルーティングされて、宛先プリンタで印刷出力される。図６Ｂに、ユニキャスト印刷の代替形態を示す。このユニキャスト印刷では、遠隔ウェブサーバが複数の異なるウェブサイトからデータを集め、これらのデータを集合して単一の印刷ジョブとし、得られた印刷ジョブを宛先プリンタに向けてプッシュ印刷する。
この集合サーバは、遠隔ウェブサーバとして示されているが、当然ながら、ケーブル・ヘッド・エンドの内部で集合アプリケーションを実行し、インターネットを介して複数の異なるウェブサイトと通信して集合データを収集し、これらのデータをケーブル・ヘッド・エンドで集合し、集合した印刷ジョブを宛先セット・トップ・ボックスにプッシュ印刷することもできる。
【００６０】
図６Ｃに、複数の宛先プリンタを有する印刷ジョブを遠隔ウェブサーバが生成するマルチキャスト印刷を示す。この印刷ジョブは、インターネットを介してケーブル・ヘッド・エンドにルーティングされ、ケーブル・ヘッド・エンドがこの印刷ジョブを、ディジタルケーブル・ネットワークを介してマルチキャスト、又はブロードキャスト構成で複数の異なるセット・トップ・ボックスにルーティングし、セット・トップ・ボックスに接続された、それぞれのプリンタが印刷出力する。
【００６１】
図７Ａ及び図７Ｂは、ケーブル・ヘッド・エンド及びセット・トップ・ボックスによる、印刷ジョブに応答したそれぞれの処理を示す流れ図である。まず図７Ａを参照する。ステップＳ７０１で、ケーブル・ヘッド・エンドが、遠隔インターネットソース又はケーブル・ヘッド・エンドのアプリケーション２２などのアプリケーションから印刷ジョブを受け取る。ステップＳ７０２では、ケーブル・ヘッド・エンドが、ディレクトリ２１（図２）からユーザプロファイルを取り出す。このユーザプロファイルに基いて、ケーブル・ヘッド・エンドは、ジョブを受け入れるのか、または拒絶するのかを決定する（ステップＳ７０３）。ジョブを拒絶する場合には、フローはステップＳ７０５に進み、このジョブはそれ以上処理されない。ステップＳ７０５では、ジョブが拒絶されたことを指示する情報を上流の遠隔インターネット・サイトへ送ることができる。
【００６２】
一方、ジョブを拒絶しない場合にはフローはステップＳ７０６に進み、ケーブル・ヘッド・エンドが、印刷ジョブと共に含まれる宛先情報に基づいて、印刷ジョブの１つ又は複数の宛先アドレスを決定する。ステップＳ７０７及びＳ７０９では、必要に応じて論理プリンタを生成する。即ち、対応する１つ又は複数の論理プリンタがスプーラ２０にまだ存在しない場合に、必要な１つ又は複数の論理プリンタをＣＰＳＩスプーラ２０（図２）内に生成する。このときには、ユニキャスト又はマルチキャスト印刷を実施するのに必要な、異なるそれぞれのプリンタに対して論理プリンタが１つずつ別個に生成される。即ち、ユニキャストモードでは、プリンタが１つしか含まれないので、当該プリンタに対応する論理プリンタが１つだけ生成される。一方、マルチキャストまたはブロードキャストモードでは、複数のユーザ及び複数プリンタが印刷ジョブの宛先である。但し、これらの複数のユーザの何人かが全く同じプリンタ及びプリンタ構成を使用することができる。その結果、ケーブル・ヘッド・エンドのＣＰＳＩスプーラに複数の論理プリンタが生成される可能性が高いが、複数のユーザがそれぞれ全く同じプリンタタイプおよび構成を有するために、単一の論理プリンタが複数のユーザをサポートする可能性もある。
【００６３】
印刷ジョブはその後、予定に組み込まれ、ユーザの待ち行列に入れられて（ステップＳ７１０）、論理プリンタによってレンダリングされる（又はスプールされて、ＳＴＢへ送達する直前にレンダリングされる）。図５に関して先に論じたように、ラスタ化されたビットマップフォーマットに印刷ジョブをレンダリングすることができるが、これは通常、必要無い。必要なのは、セット・トップ・ボックスによる次の使用のために論理プリンタが印刷ジョブを処理することだけである。
【００６４】
ステップＳ７１１で、それぞれの論理プリンタからの印刷ジョブを１つ又は複数の宛先アドレスにユニキャスト又はブロードキャストする。その後、ステップＳ７１２で、ケーブル・ヘッド・エンドは、通知サーバを構築して、印刷データが送信された、それぞれのセット・トップ・ボックスからの印刷出力の通知を待つ。
【００６５】
図７Ｂに、ケーブル・ヘッド・エンドからディジタルケーブル・ネットワークを介して送信された印刷ジョブの受取りに応答してセット・トップ・ボックスが実行するプロセス工程を示す。セット・トップ・ボックスは、印刷ジョブの受取り（ステップＳ７２０）に応答して印刷ジョブを実行し（ステップＳ７２１）、接続されたプリンタ上で印刷ジョブを印刷する。図５に関して先に論じたように、セット・トップ・ボックスがＣＰＳＩスプーラ配置を利用することができるが、これは必須ではない。本発明のこの態様によれば、必要なのは、セット・トップ・ボックスが印刷ジョブを受け取り、接続されたプリンタに印刷ジョブを印刷させることだけである。
【００６６】
ステップＳ７２２では、セット・トップ・ボックスが、ステップＳ７１２に関してケーブル・ヘッド・エンドに構築された、対応する確認サーバと通信する通知クライアントを構築する。次いで、セット・トップ・ボックスの通知クライアントがケーブル・ヘッド・エンドの通知サーバと通信して（ステップＳ７２３）、進行中の印刷ステータスをケーブル・ヘッド・エンドに知らせる。具体的には、それぞれのシートの印刷ジョブが開始されたとき、それぞれのシートの印刷が終わったとき、及び印刷ジョブが終了したときに、セット・トップ・ボックスの通知クライアントが、ケーブル・ヘッド・エンドに、これらのことを通知する。
更に、セット・トップ・ボックスの所にいるユーザは、通知クライアントと対話することができ、これによってこのユーザは、待ち行列からジョブを取り消し、又はジョブの順番を先に進めることにより、自分の印刷待ち行列を修正することができる。
【００６７】
ケーブル・ヘッド・エンドでは、セット・トップ・ボックスの通知クライアントから受け取った情報に基づいて、ケーブル・ヘッド・エンドが適宜、印刷ステータス情報を配布することができる。例えば、印刷ジョブが正常に完了したことをマーチャントが確認できるように、ケーブル・ヘッド・エンドが、遠隔インターネットサイトの発信元マーチャントに印刷ステータスを送信することができる。代替として、又は追加的に、ケーブル・ヘッド・エンドは、この印刷ステータス情報を利用して、ディジタルケーブルネットワークに接続された全てのセット・トップ・ボックスの１つの印刷待ち行列を監視、維持、管理することができる。
【００６８】
図８に、セット・トップ・ボックスに生成された通知クライアントとケーブル・ヘッド・エンドに生成された通知サーバの関係を示す。図８では、機能が同じである限り図２で使用したものと同じ参照符号が使用されている。図８にはさらに、ＣＰＳＩスプーラ２６によってプリンタ１２にスプールされた印刷ジョブのステータスを監視する、セット・トップ・ボックス１０によって生成された通知クライアント４０が示されている。通知クライアント４０は、ＣＨＥ６の通知サーバ４１にプリンタステータス情報を送信する。ＣＰＳＩスプーラ２０は通知サーバ４１を使用して、印刷待ち行列を監視、管理し、正常印刷出力の通知情報をクライアントモジュール１４に供給する。通知クライアント４０と通知サーバ４１は、ディジタルケーブル・ネットワーク４２を介し、ＩＰＰクライアント２４及びサーバ２５が使用するのと同じ物理ワイヤを使用して通信する。
【００６９】
以上の配置によって、ディジタルケーブル・ネットワークを介してケーブル・ヘッド・エンドからデータが供給されたセット・トップ・ボックスに接続されたプリンタでの遠隔インターネット・サイトからのプッシュ印刷が容易になる。プッシュ印刷は、ユニキャスト又はマルチキャストとすることができる。更に、印刷ステータスの通知は、セット・トップ・ボックスからケーブル・ヘッド・エンドへ提供され、これによって遠隔インターネット・マーチャントが印刷出力を確認することができ、又はケーブル・ヘッド・エンドが印刷待ち行列を維持及び管理することができる。
【００７０】
クライアントモジュール１４から、ＣＨＥ６を介してＳＴＢ１０への印刷を可能にするため、先に説明した本発明の構成が提供される。これらの構成では、プリンタ１２で印刷するための印刷データが、ＣＨＥ６のＣＰＳＩスプーラ２０によって、又はクライアントモジュール１４のクライアントアプリケーション１５でフォーマットされる。これらの構成では、印刷データが一般に、ＳＴＢ１０のプリンタドライバ３３を利用することなくプリンタ１２で直接に印刷するのに必要なラスタ化されたフォーマットでＳＴＢ１０に供給される。但し、ＳＴＢ１０が接続されたテレビジョンでユーザが見ているウェブページを印刷するときなど、ＳＴＢ１０のユーザがローカルに印刷したいときには、ＳＴＢ１０のプリンタドライバ３３を利用する必要がある。印刷データが装置独立のフォーマットでＣＨＥ６からＳＴＢ１０に供給される場合にも、ＳＴＢ１０のプリンタドライバ３３が必要となる。このような状況及び、ここで論じないその他の状況でＳＴＢ１０のプリンタドライバ３３の使用が必要となる。
【００７１】
ＳＴＢ１０の能力に応じて、プリンタドライバ３３はさまざまな方法でロードすることができる。例えば、セット・トップ・ボックスが十分なメモリ容量を有する場合には、異なるいくつかのプリンタ用のいくつかのプリンタドライバをＳＴＢ１０のメモリに予めロードしておくことができる。或は、フロッピーディスク又はＣＤ−ＲＯＭからプリンタドライバ３３にアクセスできるよう、フロッピーディスクドライブ、ＣＤ−ＲＯＭなどがＳＴＢ１０にインタフェースするようにすることもできる。先に論じたように、ＳＴＢ１０の限定されたハードウェアリソースが、プリンタドライバ３３の機能を制限する。そのため、プリンタドライバ３３は、あったとしてもＳＴＢ１０のユーザがプリンタドライバ３３と対話することを可能にするグラフィック・ユーザインタフェースをサポートする、限られた能力しか持たない。先に述べた通り、プリンタドライバ３３は一般に、保守機能を実行してプリンタ１２を良好な印刷状態に維持するよう、ＳＴＢ１０のユーザがプリンタ１２に命令するグラフィック・ユーザインタフェースをサポートしない。プリンタドライバ３３は、フロッピーディスク、ＣＤ−ＲＯＭなどの外部メディアによって、又はアプリケーション３６からのブラウザアプリケーションを介してＳＴＢ１０に提供することができる。或は、プリンタドライバ３３は、後に詳述するプラグ・アンド・プレイ機構を介して、ＣＨＥ６からＳＴＢ１０に提供することもできる。
【００７２】
本発明のセット・トップ・ボックス環境では、ユーザが、ディジタルケーブル・ネットワークを利用してプリンタドライバを取得しロードすることを好む可能性がある。従って本発明は、ＳＴＢ１０によるリクエストに応答して、ＣＨＥ６が適当なプリンタドライバを検出し、ＳＴＢ１０に提供し、これによってＳＴＢ１０へのローカルプリンタの接続をサポートする遠隔プラグ・アンド・プレイ・サービスを提供する方法を提供する。
【００７３】
本発明のこの特徴を図９に示す。この図は、ＳＴＢ１０へのローカルプリンタの接続をサポートする遠隔プラグ・アンド・プレイ機能の好ましい実施形態を実施するための一連の工程を示す。ステップＳ９０１で、ＳＴＢ１０によって提供されたプリンタインタフェースを介して加入者がプリンタ１２をＳＴＢ１０に接続する。このインタフェースは、ユニバーサル・シリアルバス（ＵＳＢ）、ＲＳ−２３２インタフェース又はその他のプリンタ接続を含むことができる。次にステップＳ９０２で、ＳＴＢ１０は、新しいプリンタが接続され、かつこの新しいプリンタに対応するプリンタドライバをＳＴＢ自体が持っていないと判定する。
この検出は、ＳＴＢ１０のハードウェアインタフェース３１及びオペレーティングシステム３２を介して実施される。ＳＴＢ１０のクライアントアプリケーション２７は、オペレーティングシステム３２から、プリンタ１２に対してプリンタドライバが必要であるとの指示を受け取る。ＳＴＢクライアント・アプリケーション２７は、次いで、プリンタ１２に対応するプリンタドライバを取得するようＣＨＥ６にリクエストを送る。このリクエストは、ディジタルケーブル・ネットワークを介してＳＴＢ１０からＣＨＥ６に送られるが、このトランザクションに印刷データは含まれないので、ＩＰＰプロトコルを介して送る必要は必ずしもない。従って、ＴＣＰ／ＩＰなどのその下のトランスポート・プロトコルを利用して、ＳＴＢ１０のＳＴＢクライアント・アプリケーション２７からＣＨＥ６のＣＨＥアプリケーション２２に、このリクエストを送ることができることを理解されたい（ステップＳ９０３）。
【００７４】
プリンタドライバを求めるＳＴＢクライアント・アプリケーション２７からのリクエストは、プリンタ１２を識別するのに必要なプリンタ１２のメーカ及びモデルなどの情報を含むことが好ましいことに留意されたい。次にステップＳ９０４で、ＣＨＥアプリケーション２２が、プリンタドライバを求めるリクエストをＳＴＢ１０から受け取る。ＣＨＥアプリケーション２２は次いで、プリファランス・ディレクトリ２１にアクセスして、ＳＴＢ１０を説明したハードウェア及びオペレーティングシステム情報を取得する（ステップＳ９０５）。この情報は、どのタイプのプリンタドライバを取得してＳＴＢ１０に送るのかを決定するのに必要である。例えば、セット・トップ・ボックスは、Scientific Atlanta社のExplorer 2000，General Instrument社のＤＣＴ  ５０００＋、モトローラ社のStreammasterなど、現在使用可能ないくつかのセット・トップ・ボックスを含むことができる。更に、適当なプリンタドライバは、セット・トップ・ボックスにインプリメントされたオペレーティングシステムに対応していなければならない。
例えば、Explorer 2000は、Power TVオペレーティングシステム、ＤＣＴ  ５０００＋はＷｉｎＣＥオペレーティングシステム、Streammasterは、MicroWare又はOpen TVオペレーティングシステムをそれぞれ利用する。
【００７５】
ステップＳ９０６では、ＣＨＥアプリケーション２２が、プリンタ１２のメーカ及びモデル、並びにＳＴＢ１０のハードウェアタイプ及びオペレーティングシステムに対して適当なプリンタドライバを取得する。ＣＨＥアプリケーション２２はこのプリンタドライバを、多くのソースの１つから取得することができる。
例えば、必要なプリンタドライバがＣＨＥ６のメモリに既に格納されており、ディジタルケーブル・ネットワーク上の他の加入者に対してプリファランス・ディレクトリ２１を介してアクセスすることができる。或は、ＣＨＥ６は、ハードドライブ、ＣＤ−ＲＯＭなどのメモリ装置中にいくつかのプリンタドライバを使用可能な状態にしておくことができる。或は、ＣＨＥアプリケーション２２は、インターネット・プロキシ５を利用してワールドワイドウェブ４にアクセスし、ＳＴＢ１０が必要とするプリンタドライバを、例えばプリンタメーカのウェブサイトから取得することができる。ＣＨＥアプリケーション２２は適当なプリンタドライバを見つけると、そのプリンタドライバをディジタルケーブルネットワークを介してＳＴＢ１０に送る（ステップＳ９０７）。先に述べた通り、プリンタドライバは、ＣＨＥ６とＳＴＢ１０の間の通信に使用可能な任意のトランスポート・プロトコルを利用して、ＣＨＥ６からＳＴＢ１０へダウンロードすることができる。プリンタドライバを受け取ると、ＳＴＢ１０は、このプリンタドライバを次の使用に備えてローカルメモリにロードし、将来の参照のために、ＳＴＢ１０のオペレーティング・システム３２にこのプリンタドライバを登録する（ステップＳ９０８）。
【００７６】
ステップＳ９０９で、ＣＨＥ６は、印刷データをＳＴＢ１０に送るためにＣＨＥ６が使用する別のプリンタドライバを取得する。ＣＨＥ６は、ＳＴＢ１０によって提供されたプリンタ１２を記述した情報、及びＣＨＥ６を構成するハードウェアのタイプ及びオペレーティングシステムに基づいて、どのプリンタドライバを取得して使用するかを決定する。先に述べたように、ＣＨＥ６は、ワールドワイドウェブ４など、いくつかのリソースのうちの１つからプリンタドライバを取得することができる。ＣＨＥアプリケーション２２は、プリファランス・ディレクトリ２１を更新して、ＣＨＥ６が使用するプリンタ１２に対応した新しいプリンタドライバを記録する（ステップＳ９１０）。フローは次いでステップＳ９１１のリターンに進む。このように、ＣＨＥ６は、プリンタ１２に対応するプリンタドライバを維持し、そのため、プリンタ１２上で印刷するためにＣＨＥ６からＳＴＢ１０に次に印刷データが提供されたときに、その印刷データを適正にレンダリングすることができる。更に本発明のこの特徴は、ＳＴＢ１０のユーザがプリンタ１２をＳＴＢ１０に接続して利用するための容易かつトランスペアレントなプラグ・アンド・プレイ機構を提供する。
【００７７】
図１０は、本発明のプリンタ保守方式を説明するためのブロック図である。図１０には、以前に図２に示したケーブル・ヘッド・エンド（ＣＨＥ）６及びセット・トップ・ボックス（ＳＴＢ）１０が示されている。ＳＴＢ１０にはプリンタ１２が接続されている。ＣＨＥ６にはサーバ５０があり、本発明に基づいてプリンタコンフィギュレーションファイルにアクセスし、ＨＴＴＰベースのウェブページを構築し、適当なプリンタコマンドを送るのに利用される。この点に関してＣＨＥ６には更に、プリンタコンフィギュレーションファイル５５、プリンタ保守機能リソースファイル５６及びプリンタ保守機能コマンドファイル５７が提供される。プリンタコンフィギュレーションファイル５５は、それぞれのファイルが特定のタイプのプリンタに対応した複数の従来のプリンタコンフィギュレーションファイルである。このようなプリンタコンフィギュレーションファイルは、本発明のプリンタ保守方式をサポートするプリンタ保守情報を含む追加の拡張部分を有する点で、従来のコンフィギュレーションファイルとは異なる。この拡張部分及び対応するデータについては、図１１に関して後に詳細に論じる。プリンタ保守機能リソースファイル５６は、ＨＴＴＰベースのページ中にアイコン、テキスト、小ピクチャなどのイメージを配置するためのイメージデータを含む。プリンタ保守機能コマンドファイル５７は、それぞれ異なるタイプのプリンタに対応する複数のコマンドファイルを含む。それぞれのプリンタ保守機能コマンドファイルは、特定のプリンタ保守機能を実施するために対応する装置により実行される一組のコマンド命令を含む。
【００７８】
プリファランス・ディレクトリ２１については図２で先に論じたが、これは、ディジタルケーブルネットワーク環境中の特定のセット・トップ・ボックスを、このセット・トップ・ボックスに接続された対応するプリンタに相互関連させるのに使用される。例えば、プリファランス・ディレクトリ２１は、ＳＴＢ１０がプリンタ１２を接続していることを指示する。それに応じて、サーバ５０がプリファランス・ディレクトリ２１を利用して、特定のセット・トップ・ボックスに接続されたプリンタのタイプを識別する。ＣＧＩモジュール５１は、サーバ５０によって利用されて、本発明のプリンタ保守方式をサポートするＨＴＴＰベースのウェブページを構築する。ＨＴＴＰサーバ５３は、ＨＴＴＰプロトコルを収容する目的のために利用する従来のサーバである。同様に、ＴＣＰ／ＩＰクライアント５４は、ＴＣＰ／ＩＰプロトコルを介した通信をサポートする目的に使用する従来のクライアントである。ＣＨＥ６とＳＴＢ１０の間の通信には、ＵＤＰなど、ＴＣＰ／ＩＰ以外のプロトコルを使用することもできることを理解されたい。
【００７９】
これに対応してＳＴＢ１０は、ＨＴＴＰ及びＴＣＰ／ＩＰプロトコルをそれぞれサポートするＨＴＴＰクライアント６３及びＴＣＰ／ＩＰサーバ６４を有する。更に、ＳＴＢ１０は、ＳＴＢ１０のアプリケーション３６にあるブラウザ６５及びプリンタドライバ３３を有する。図１０から分かるように、ブラウザ６５は、ＣＨＥ６を介してＳＴＢ１０に提供されたウェブページに、ＳＴＢ１０のユーザがアクセスできるように提供される。プリンタドライバ３３は、ＳＴＢ１０のユーザによって開始された印刷ジョブをプリンタ１２が印刷するのをサポートするストリップダウン型の限られたプリンタドライバである。先に論じたとおり、プリンタドライバ３３は、ユーザ開始型プリンタ保守機能をサポートするグラフィック・ユーザインタフェースを提供することができない。そのため、ＳＴＢ１０のユーザ又はネットワーク管理者などの他のネットワークユーザがプリンタ１２のプリンタ保守機能を開始できるように、本発明のネットワーク・セントリック・プリンタ保守方式が提供される。
【００８０】
従って図１０に示した配置によって、ＳＴＢ１０のユーザは、一般最上位ウェブページにアクセスし、次いでプリンタ保守を選択して、プリンタ１２上でプリンタ保守を実行することができる。ユーザの選択に応答してプリンタ保守リクエストが、ＨＴＴＰクライアント６３及びＨＴＴＰサーバ５３を介してＣＨＥ６に送られる。次いでサーバ５０が、プリンタ保守機能リクエストをＳＴＢ１０から受け取り、プリンタ１２に対応するプリンタコンフィギュレーションファイル５５の１つを選択する。サーバ５０は、プリファランス・ディレクトリ２１及びプリンタ保守リクエストに含まれた情報を利用して、プリンタ１２に対応する適当なプリンタコンフィギュレーションファイルを選択する。適当なプリンタコンフィギュレーションファイルを選択した後、サーバ５０はＣＧＩモジュール５１を利用して、プリンタ保守コマンド情報及びその他の関連情報が組み込まれたウェブページを、この適当なプリンタコンフィギュレーションファイルから構築する。次いで、構築されたウェブページが、ＨＴＴＰサーバ５３及びＨＴＴＰクライアント６３を介してサーバ５０からＳＴＢ１０に送られる。
【００８１】
次いで、ＳＴＰ１０のユーザが、サーバ５０から送られたプリンタ保守ウェブページ上に表示されたプリンタ保守機能の１つを選択する。次いでサーバ５０が、適当な１つのプリンタ保守機能コマンドファイル５７に基づいてＣＧＩスクリプトを実行する。それに応じて、ＳＴＢ１０のユーザが選択したプリンタ保守機能に相関した適当なプリンタ保守コマンドが、ＴＣＰ／ＩＰクライアント５４及びＴＣＰ／ＩＰサーバ６４を介して、サーバ５０からＳＴＢ１０に送られる。次いでＳＴＢ１０が、この受け取ったプリンタ保守機能コマンドをプリンタ１２に直接に送り、プリンタ１２が、このプリンタ保守コマンドに対応するプリンタ保守機能を実行する。
【００８２】
更に、この実施の形態のネットワーク装置が、非ＰＣ環境で使用されるセル式電話などのモバイル装置であり、プリンタが、インターネットからの印刷ジョブを実施するシステムに適用される場合には、このようなモバイル装置からプリンタ保守を命令することもでき、これによってユーザの使いやすさは増大する。
【００８３】
図１１に、１つのプリンタコンフィギュレーションファイル５５の詳細図を示す。具体的には、図１１には、それぞれのプリンタコンフィギュレーションファイル５５の内容を説明するために、プリンタコンフィギュレーションファイル７０が示されている。図１１から分かる通り、プリンタコンフィギュレーションファイル７０は、プリンタコンフィギュレーションファイル７０が標準のプリンタコンフィギュレーションファイルに基づくことを反映して標準プリンタコンフィギュレーションファイル・データ７１を含む。但し、プリンタコンフィギュレーションファイル７０は更に、本発明のプリンタ保守方式をサポートするプリンタ保守情報を含む拡張部分を含む。プリンタ保守情報を含む同様の拡張部分を含むものであれば、他の標準プリンタコンフィギュレーションファイルを本発明とともに使用することもできる。従って、プリンタコンフィギュレーションファイル７０には更に、プリンタ保守情報を含むコンフィギュレーションファイル拡張部分７２が提供される。図１１から分かるとおり、コンフィギュレーションファイル拡張部分７２は、プリンタコンフィギュレーションファイル７０に対応するプリンタがサポートする個々のプリンタ保守機能に対応する複数のプリンタ保守機能データセットを含む。従って、コンフィギュレーションファイル拡張部分７２には、それぞれのプリンタ保守機能に対応するプリンタ保守機能データセット７３，７４，７５及び７６が提供される。それぞれのプリンタ保守機能データセット７３ないし７６には、特定の保守機能データセットに対応するプリンタ保守機能に関係した複数のデータエントリが提供される。具体的には、それぞれのプリンタ保守機能データセット７３ないし７６には、プリンタ保守機能名８０、プリンタ保守機能記述８１、プリンタ保守機能リソース８２、プリンタ保守機能コマンド・パラメータ８３、及びプリンタ保守機能コマンド・パラメータ・インジケータ８４が提供される。
【００８４】
プリンタ保守機能名８０は、特定のプリンタ保守機能データセットのプリンタ保守機能に対応する名称を提供する。例えば、プリンタ保守機能名８０がプリンタ保守機能「クリーン・ヘッド」を表す。これに応じてプリンタ保守機能記述８１は、特定のプリンタ保守機能データセットによって表されるプリンタ保守機能のテキスト記述を含む。プリンタ保守機能リソース８２は、プリンタ保守機能リソースファイル５６の１つを表すファイル名である。それぞれのプリンタ保守機能リソースファイル５６は、プリンタコンフィギュレーションファイル７０に対応する本発明に基づくＨＴＴＰベース・ウェブページに配置するアイコン、テキスト又はイメージを表すイメージデータを含む。プリンタ保守機能コマンドパラメータ８３は、特定のプリンタ保守機能データセットによって表されるプリンタ保守機能を実行する、プリンタ１２などの対応するプリンタが使用するコマンドを表し、又は、プリンタ保守機能コマンドファイル５７の１つを表すことができる。前述のとおり、それぞれのプリンタ保守機能コマンドファイル５７は、特定のプリンタ保守機能を実行するのに必要な一連のコマンドを含む。プリンタ保守機能パラメータインジケータ８４は、プリンタ保守機能コマンドパラメータ８３がコマンドを表すのか、又はプリンタ保守機能コマンドファイル５７の１つを表すのかを、サーバ５０に知らせる目的に使用される。このように、プリンタ保守機能パラメータインジケータ８４は、この指示を反映するよう２つの値のうちの１つにセットすることができる。このようにコンフィギュレーションファイル拡張部分７２は、プリンタコンフィギュレーションファイル７０が対応するプリンタがサポートするそれぞれのプリンタ保守機能に対応するデータを提供する。
【００８５】
図１２及び図１３は、ＣＰＩモジュール５１を使用してサーバ５０が生成する本発明に基づくＨＴＴＰベースウェブページの例である。図１２は、ＳＴＢ１０のユーザがブラウザ６５を介して選択することができる一般最上位ブロードバンド印刷サービスウェブページ８７を表す。この点に関してウェブページ８７は、サーバ５０から、ＨＴＴＰサーバ５３及びＨＴＴＰクライアント６３を介してＳＴＢ１０に提供される。プリンタ保守を実行したい場合、ＳＴＢ１０のユーザは、ウェブページ８７上のプリンタ保守アイコン８６を選択する。図１３は、プリンタ保守アイコン８６の選択に応答してサーバ５０が適当な１つのプリンタコンフィギュレーションファイル５５に基づいて生成するＨＴＴＰベース・ウェブページ８８の一例である。サーバ５０は次いで、プリンタ保守ウェブページ８８をＳＴＢ１０に送る。図１３に示すように、ＣＧＩモジュール５１は、プリンタコンフィギュレーションファイル７０のコンフィギュレーションファイル拡張部分７２から適当なプリンタ保守情報を抽出し、この情報をプリンタ保守ウェブページ８８に表示する。ウェブページ８８は例えば、コンフィギュレーションファイル拡張部分７２のそれぞれのプリンタ保守機能データセットに含まれるプリンタ保守情報に対応するプリンタ保守機能リンク９１〜９５を含む。これに応じてウェブページ８８上には、クリーン・プリント・ヘッド・リンク９１、ディープ・クリーン・リンク９２、プリント・テスト・ページ・リンク９３、プリント・ノズル・チェック９４及びクリーン・ローラ・リンク９５が、それぞれ対応する記述とともに提供される。この情報は、プリンタコンフィギュレーションファイル・セット５５の１つのコンフィギュレーションファイル拡張部分７２中のそれぞれのプリンタ保守機能データセットのプリンタ保守機能名８０、プリンタ保守機能記述８１及びプリンタ保守機能リソース８２から直接にとったものである。
【００８６】
本発明は、現在のプリンタステータなどのユーザの要求に答えるために、サーバ（ＣＨＥ）がプリンタＳＴＢを取得する状況をサポートすることが理解できる。このプリンタステータから、実施するプリンタジョブに基づくヘッドクリーニング、必要な用紙などの必要な処理のための命令表示がＨＴＭＬで生成される。
これは次いでＳＴＢに送られ、ＴＶ（ブラウザ）に表示される。こうすることによって、ユーザは、プリンタに対して現在必要なプロセスを判断するだけでよく、これによって非ＰＣユーザ用のユーザフレンドリーなユーザインタフェースが提供される。
【００８７】
図１４は、本発明に基づくプリンタ保守機能方式の操作を説明するための流れ図である。まず、ＳＴＢ１０のユーザが、ブラウザ６５を介して、サーバ５０から最上位プリンタ保守ウェブページ８７にアクセスする。ユーザは、ウェブページ８７上のプリンタ保守アイコン８６を選択することによってプリンタ保守を要求する（ステップＳ１４０１）。ステップＳ１４０２で、ユーザの選択に応答してプリンタ保守リクエストが、ＨＴＴＰクライアント６３及びＨＴＴＰサーバ５３を介してＳＴＢ１０からサーバへ送られる。次いで、このプリンタ保守リクエストに応答してサーバ５０が、適当な１つのサーバコンフィギュレーションファイル５５を選択する（ステップＳ１４０３）。サーバ５０はこの選択を、プリンタ保守リクエストに含まれるＳＴＢ１０を識別する情報、及びＳＴＢ１０に接続されたプリンタ１２などのプリンタのタイプに関する情報を提供するプリファランス・ディレクトリ２１中の情報に基づいて実施する。サーバ５０はこれによって、プリンタ１２に対応するプリンタコンフィギュレーションファイル７０などのプリンタコンフィギュレーションファイルを選択する。次にステップＳ１４０４で、サーバ５０は、プリンタコンフィギュレーションファイル７０のコンフィギュレーションファイル拡張部分７２に含まれる情報とともにＣＧＩモジュール５１を利用して、ＨＴＴＰベース・ウェブページを生成する。具体的には、プリンタ保守ファイル・データセット７３〜７６に対応するプリンタ保守機能リンクがウェブページ８８に提供される。サーバ５０は次いで、プリンタ保守機能リンク９１〜９５を含むこのＨＴＴＰベース・ウェブページを、ＨＴＴＰサーバ５３及びＨＴＴＰクライアント６３を介してＳＴＢ１０に送る。
【００８８】
次いで、ＳＴＢ１０のユーザが、生成されたウェブページ８８をブラウザ６５を介して見て、ウェブページに表示されたプリンタ保守機能の１つを選択する（ステップＳ１４０６）。ＳＴＢ１０のユーザの選択に応答して、サーバ５０は、その選択されたプリンタ保守機能に対応するプリンタ保守ファイルデータセット７３などの適当なプリンタ保守機能データセットを識別する。サーバ５０は次いで、プリンタ保守機能パラメータ・インジケータ８４に問い合わせて、プリンタ保守機能コマンドパラメータ８３がコマンドであるのか、又は１つのプリンタ保守機能コマンドファイル５７の名称であるのかを判定する。プリンタ保守機能コマンド・パラメータ８３がコマンドであると指示された場合には、そのコマンドが、サーバ５０からＳＴＢ１０へ、ＴＣＰ／ＩＰクライアント５４及びＴＣＰ／ＩＰサーバ６４を介して直接に送られる（ステップＳ１４０７）。プリンタ保守機能コマンドパラメータ８３がプリンタ保守機能コマンドファイル５７の１つであると指示された場合には、サーバ５０は、対応する１つのプリンタ保守機能コマンドファイル５７を開き、ＣＧＩスクリプトを介して、その中のコマンドを実行し、対応するコマンドを、ＴＣＰ／ＩＰクライアント５４及びＴＣＰ／ＩＰサーバ６４を介してＳＴＢ１０に送る（ステップＳ１４０７）。
【００８９】
ステップＳ１４０８で、ＳＴＢ１０は、サーバ５０からプリンタ保守機能コマンドを受け取り、ＳＴＢ１０のユーザが選択した対応するプリンタ保守機能を実行するためプリンタ１２に渡す。そしてフローはステップＳ１４０９のリターンに進む。
【００９０】
このようにして、たとえＳＴＢ１０のプリンタドライバ３３が、プリンタ保守機能をサポートするグラフィック・ユーザ・インタフェースを提供しないとしても、プリンタ１２を良好な印刷状態に維持するプリンタ保守機能にＳＴＢ１０のユーザがアクセスすることができる本発明に基づくプリンタ保守方式が提供される。
【００９１】
本発明の教示から逸脱することがなくいくつかの変更及び修正を前述の実施形態に適用することができることを強調しておく。本明細書の開示に含まれる全ての事柄、又は添付図面に示された全ての事柄は、例示的なものであると解釈すべきであって、限定を目的としたものと解釈すべきではない。特に、上記の実施形態の任意の組合せを利用することができること、そのため、任意の１つの実施形態の詳細を１つ又は複数の任意の他の実施形態と結合することができることを理解されたい。
【００９２】
特定の例示的な実施形態を用いて本発明を説明した。本発明が前述の実施形態に限定されないこと、及び当業者なら、本発明の趣旨及び範囲から逸脱することなしにさまざまな変更及び修正を実施できることを理解されたい。
【図面の簡単な説明】
【図１】本発明を実施することができるブロードバンド・ケーブル・ネットワークを示す図である。
【図２】本発明を実施することができる印刷アーキテクチャを示す図である。
【図３】本発明の一実施形態に基づくセット・トップ・ボックスの代表的ソフトウェア・アーキテクチャを示す図である。
【図４】クライアント・モジュールからその最終配信先であるプリンタまでの、本発明の一実施形態に基づく印刷ジョブの全体データフローを示す図である。
【図５】クライアント・モジュールからその最終配信先であるプリンタまでの、本発明の一実施形態に基づく印刷ジョブの全体データフローを説明するための流れ図である。
【図６Ａ】本発明の一実施形態に基づくユニキャスト（ポイント・ツー・ポイント）印刷の一般配置を示す図である。
【図６Ｂ】本発明の一実施形態に基づくユニキャスト（ポイント・ツー・ポイント）印刷の一般配置を示す図である。
【図６Ｃ】本発明の一実施形態に基づくマルチキャスト（１対多）印刷の一般配置を示す図である。
【図７Ａ】印刷ジョブに応答したケーブル・ヘッド・エンドによる本発明の一実施形態に基づく処理を示す流れ図である。
【図７Ｂ】印刷ジョブに応答したセット・トップ・ボックスによる本発明の一実施形態に基づく処理を示す流れ図である。
【図８】本発明の一実施形態に基づくセット・トップ・ボックス内に生成された確認クライアントとケーブル・ヘッド・エンド内に生成された確認サーバの関係を示す図である。
【図９】本発明の一実施形態をサポートする遠隔プラグ・アンド・プレイの特徴を説明するための流れ図である。
【図１０】本発明の一実施形態に基づくプリンタ保守方式を説明するためのブロック図である。
【図１１】本発明の一実施形態に基づくプリンタコンフィギュレーションファイルを説明するためのブロック図である。
【図１２】本発明の一実施形態に基づくプリンタ保守方式をサポートするウェブページを説明するための図である。
【図１３】本発明の一実施形態に基づくプリンタ保守方式をサポートするウェブページを説明するための図である。
【図１４】本発明の一実施形態に基づくプリンタ保守方式を説明するための流れ図である。
【図１】
0004557475.tif 000002
【図２】
0004557475.tif 000003
【図３】
0004557475.tif 000004
【図４】
0004557475.tif 000005
【図５】
0004557475.tif 000006
【図６Ａ】
0004557475.tif 000007
【図６Ｂ】
0004557475.tif 000008
【図６Ｃ】
0004557475.tif 000009
【図７Ａ】
0004557475.tif 000010
【図７Ｂ】
0004557475.tif 000011
【図８】
0004557475.tif 000012
【図９】
0004557475.tif 000013
【図１０】
0004557475.tif 000014
【図１１】
0004557475.tif 000015
【図１２】
0004557475.tif 000016
【図１３】
0004557475.tif 000017
【図１４】
0004557475.tif 000018