(57)【要約】      （修正有）【課題】印刷装置毎に異なるプリンタドライバを開発して維持する不都合がなく、プリンタドライバの機能を提供することが可能になる。【解決手段】プリンタドライバを自動カスタマイズする手法は、クライアントに包括的プリンタドライバをインストールすると、クライアントは包括的プリンタドライバと印刷装置との間での通信する。包括的プリンタドライバは、印刷装置から構成データを自動的に取り出し、構成データを不揮発性記憶装置に格納する。構成データは、印刷装置の１つ以上のアトリビュートを示し、データが包括的プリンタドライバを介して印刷装置で印刷される。この方法により、包括的プリンタドライバが多数の異なる印刷装置で使用されることが可能になり、開発コストとインストールのオーバーヘッドを低減する。【選択図】図１
2005302031.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性記憶装置と、
アプリケーションプログラムと、
印刷装置から構成データを取り出し、前記構成データを前記不揮発性記憶装置に格納させるように構成されたプリンタドライバと
を有する装置。
【請求項２】
請求項１に記載の装置であって、
前記アプリケーションプログラムは、電子ドキュメントの印刷を促進するために前記構成データを使用するように構成された装置。
【請求項３】
請求項１に記載の装置であって、
前記アプリケーションプログラムは、電子ドキュメントの印刷と関連してグラフィカルユーザインタフェースに表示される１つ以上のグラフィカルユーザインタフェースを生成するために、前記構成データを使用するように構成された装置。
【請求項４】
請求項１に記載の装置であって、
構成データは、前記印刷装置用のビットマップデータを有し、
前記アプリケーションプログラムは、電子ドキュメントの印刷と関連して前記ビットマップデータをグラフィカルユーザインタフェースに表示させるように構成された装置。
【請求項５】
請求項１に記載の装置であって、
前記プリンタドライバは、グラフィカルユーザインタフェースにグラフィカルユーザインタフェースオブジェクトを表示させるように更に構成され、
前記グラフィカルユーザインタフェースオブジェクトは、前記印刷装置に格納されている前記構成データに含まれるビットマップデータと関連したURLを備えたリンクを有する装置。
【請求項６】
請求項５に記載の装置であって、
前記プリンタドライバは、前記リンクのユーザ選択を検出することに応じて、前記印刷装置から前記ビットマップデータを取り出し、前記ビットマップデータを前記グラフィカルユーザインタフェースに表示させるように更に構成された装置。
【請求項７】
請求項１に記載の装置であって、
前記構成データは、前記印刷装置にインストールされた１つ以上のオプションを示す装置。
【請求項８】
請求項１に記載の装置であって、
前記構成データは、前記印刷装置で利用可能な１つ以上のソースのトレイを示す装置。
【請求項９】
請求項１に記載の装置であって、
前記構成データは、前記印刷装置で利用可能な１つ以上のメディア形式を示す装置。
【請求項１０】
請求項１に記載の装置であって、
前記構成データは、前記印刷装置によりサポートされている１つ以上のコマンドを示す装置。
【請求項１１】
請求項１に記載の装置であって、
前記構成データは、前記プリンタドライバにより使用されるプログラムロジックを有する装置。
【請求項１２】
請求項１に記載の装置であって、
前記構成データは、前記プリンタドライバにより取り出された前記構成データのバージョンを示す第１のバージョン識別データを有し、
前記プリンタドライバは、
前記印刷装置から第２のバージョン識別データを取り出し、前記第２のバージョン識別データは、前記印刷装置により維持されている前記構成データのバージョンを示し、
前記第１のバージョン識別データを前記第２のバージョン識別データと比較し、
前記第２のバージョン識別データと前記第１のバージョン識別データとの比較が、前記印刷装置で維持されている構成データのバージョンが前記プリンタドライバにより取り出された構成データのバージョンより新しいことを示すと、前記プリンタドライバは、前記印刷装置から前記構成データの新しい方のバージョンを取り出すように更に構成された装置。
【請求項１３】
請求項１に記載の装置であって、
前記プリンタドライバは、前記プリンタドライバが前記印刷装置と十分に互換性がないという指示に応じて、前記印刷装置から前記構成データを取り出すように構成された装置。
【請求項１４】
請求項１に記載の装置であって、
前記プリンタドライバは、第２の印刷装置から第２の構成データを取り出し、前記第２の構成データを前記不揮発性記憶装置に格納させるように更に構成された装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してネットワーキングと印刷に関するものであり、特に、プリンタドライバの自動カスタマイズの手法に関するものである。
【背景技術】
【０００２】
このセクションに記載されている手法は、追求され得る手法であるが、以前に着想又は追求された手法であるとは限らない。従って、特に指定のない限り、このセクションに記載されている手法は、この出願の特許請求の範囲に対する従来技術でなく、このセクションに包含されていることにより従来技術と認められない。
【０００３】
プリンタドライバは、アプリケーションプログラムが印刷装置で印刷することを可能にするコンピュータソフトウェアである。プリンタドライバは、アプリケーションプログラムと印刷装置との間の翻訳器のように動作する。プリンタドライバはアプリケーションプログラムから一般コマンドを受け入れ、それを印刷装置によりサポートされている専門コマンドに変換する。結果として、一般的に、コンピュータシステムはコンピュータシステムにより使用される印刷装置毎に異なるドライバを必要とする。
【０００４】
新しいコンピュータは、普及している印刷装置用の一式のプリンタドライバをしばしば備えている。例えば、一式のプリンタドライバはハードディスクに含まれている。新しい印刷装置が使用されると、一般的にオペレーティングシステムにより、その装置用のプリンタドライバが選択されてインストールされる。いわゆる“プラグアンドプレイ”環境では、オペレーティングシステムは新しい印刷装置の可用性を検出し、適切なドライバを自動的に見つけてインストールする。互換性のあるドライバが見つけられない場合、ユーザはドライバについて質問を受ける。そのドライバは、フロッピー（登録商標）ディスク又はCD-ROMのような取り外し可能記憶装置で提供されてもよい。代替として、ユーザは、インターネットで、例えば製造者のウェブサイトから互換性のあるドライバを見つけてもよい。
【０００５】
印刷装置が既存の印刷装置の新しいバージョンにしか過ぎない場合であっても、一般的に製造者は新しい印刷装置毎に新しいプリンタドライバを開発する。特に大量の印刷装置を製造する製造者にとって、印刷装置毎に異なるプリンタドライバを開発して維持することは非常に費用がかかる。更に、印刷装置毎に正確なプリンタドライバが分配され、消費者に利用可能にならなければならない。新しい印刷装置をインストールする消費者は、そのコンピュータシステムで利用可能な互換性のあるプリンタドライバを時には所有していない。そのような消費者は新しい印刷装置に備えられているプリンタドライバをインストールし、又は一般的にインターネットで製造者から互換性のあるプリンタドライバを取得しなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前記のことに基づいて、従来の手法の制約を受けないプリンタドライバを管理する手法の必要性が存在する。印刷装置毎に異なるプリンタドライバを開発して維持する不都合がなく、プリンタドライバの機能を提供する手法の特別の必要性が存在する。
【課題を解決するための手段】
【０００７】
プリンタドライバを自動カスタマイズする手法は、概してクライアントに包括的プリンタドライバをインストールすることを有する。クライアントは、包括的プリンタドライバと印刷装置との間での通信を可能にするように構成される。包括的プリンタドライバは、印刷装置から構成データを自動的に取り出し、構成データを不揮発性記憶装置に格納する。構成データは、印刷装置の１つ以上のアトリビュートを示し、データが包括的プリンタドライバを介して印刷装置に印刷されることを可能にする。その手法により、包括的プリンタドライバが多数の異なる印刷装置で使用されることが可能になり、それによって開発コストとインストールのオーバーヘッドを低減する。
【０００８】
本発明の一態様によると、装置は、不揮発性記憶装置と、アプリケーションプログラムと、プリンタドライバとを有する。プリンタドライバは、印刷装置から構成データを取り出すように構成され、その構成データを不揮発性記憶装置に格納させる。
【発明の効果】
【０００９】
本発明の実施例によれば、従来の手法の制約を受けないプリンタドライバを管理することが可能になる。また、印刷装置毎に異なるプリンタドライバを開発して維持する不都合がなく、プリンタドライバの機能を提供することが可能になる。
【発明を実施するための最良の形態】
【００１０】
以下の説明において、説明の目的のため、本発明の完全な理解を提供するために多数の特定の詳細が示されている。しかし、本発明はこれらの特定の詳細なしに実施されてもよいことが当業者にわかる。また、本発明を不要にあいまいにすることを避けるため、周知の構成及び装置がブロック図形式で示されている。本発明の多様な形態について、以下のセクションで説明する。
【００１１】
Ｉ．概要
ＩＩ．アーキテクチャ
ＩＩＩ．印刷装置構成データの自動ダウンロード
ＩＶ．ダウンロードした構成データを使用したプリンタドライバのカスタマイズ
Ｖ．構成データの更新
ＶＩ．複数の印刷装置の適用
ＶＩＩ．実装機構
Ｉ．概要
プリンタドライバを自動カスタマイズする手法は、概してクライアントに包括的プリンタドライバをインストールすることを有する。クライアントは、包括的プリンタドライバと印刷装置との間での通信を可能にするように構成される。包括的プリンタドライバは、印刷装置から構成データを自動的に取り出し、構成データを不揮発性記憶装置に格納する。構成データは、印刷装置の１つ以上のアトリビュートを示し、データが包括的プリンタドライバを介して印刷装置に印刷されることを可能にする。その手法により、包括的プリンタドライバが多数の異なる印刷装置で使用されることが可能になり、それによって開発コストとインストールのオーバーヘッドを低減する。
【００１２】
ＩＩ．アーキテクチャ
図１は、本発明の一実施例によるプリンタドライバを自動カスタマイズする構成100を示すブロック図である。構成100は、リンク106を介して印刷装置104に結合されているクライアント102を有する。クライアント102は、特定の用途の要件に応じて、如何なる種類のクライアントでもよく、本発明は特定の種類のクライアントに限定されない。例示的なクライアントには、コンピュータと、ワークステーションと、個人情報端末(PDA:  personal  digital  assistant)と、移動体装置と、如何なる種類の有線又は無線装置が非限定的に含まれる。印刷装置104は、特定の用途の要件に応じて、印刷機能を実行するように構成された如何なる種類の装置でもよく、本発明は特定の種類の印刷装置に限定されない。例示的な印刷装置には、プリンタと、コピー機と、ファクシミリ機と、移動体装置と、多機能周辺装置が非限定的に含まれる。リンク106は、クライアント102と印刷装置104の間でデータ交換を提供する如何なる媒体又は機構により実装されてもよい。リンク106の例には、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、イーサーネット若しくはインターネット、又は１つ以上の地上波、衛星若しくは無線リンクのようなネットワークが非限定的に含まれる。クライアント102と印刷装置104は、図面に示されておらず説明の目的でここには記載されていない特定の実装の要件に応じて、他の要素を有してもよい。
【００１３】
本発明の一態様によると、クライアント102は、陰極線管(CRT)、液晶ディスプレイ(LCD)又はその他の機構のようなグラフィカルユーザインタフェース108と、プロセッサ109と、RAMのような揮発性メモリ110と、１つ以上のディスクのような不揮発性記憶装置112とで構成される。不揮発性記憶装置112は、オペレーティングシステム114と、アプリケーションプログラム116と、プリンタドライバ118とを有する。本発明の実施例では、説明の目的のみのため、単一のオペレーティングシステム114と、単一のアプリケーションプログラム116と、単一のプリンタドライバ118についてここで説明するが、本発明は、これらの要素のそれぞれのうちの１つのみに限定されず、特定の実装の要件に応じて、如何なる数のこれらの要素が使用されてもよい。本発明の実施例はまた、複数のプロセッサや複数のメモリにも適用可能である。
【００１４】
印刷装置104は、１つ以上のディスクのような不揮発性記憶装置120を有する。不揮発性記憶装置120は、印刷装置104の１つ以上のアトリビュートを示し又は指定する構成データ122を有する。例えば、構成データ122は、インストール済のソースのトレイ(source  tray)の種類と数、対応するメディアの種類、及びステープル(stapling)や折り(folding)やバインディング(binding)のような利用可能な仕上げオプションのように、印刷装置104の１つ以上のインストール済のオプション又は機能を示してもよい。構成データ122は、如何なる種類のデータファイルの不揮発性記憶装置120に格納されてもよい。代替として、構成データ122はファームウェアに格納されてもよい。構成データ122については、以下に詳細に説明する。
【００１５】
ＩＩＩ．印刷装置構成データの自動ダウンロード
図２は、本発明の実施例によるプリンタドライバを自動カスタマイズする手法を示すフローチャート200である。ステップ202において、包括的プリンタドライバがクライアントにインストールされる。例えば、プリンタドライバ118がクライアント102にインストールされる。この例では、プリンタドライバ118は、いくつかの印刷装置の基本機能を有するが、印刷装置104により必要とされる機能の全てを必ずしも有する必要はない。
【００１６】
ステップ204において、プリンタドライバ118と印刷装置104との間で通信が確立される。例えば、このことは、プリンタドライバ118が印刷装置104と通信できるように、TCP/IPセッション又はクライアント102のローカルポートを構成することを有してもよい。例えば、プリンタドライバ118をインストールする処理は、印刷装置104と通信するためにプリンタドライバ118により使用される特定の通信ポートを指定することを有してもよい。
【００１７】
ステップ206において、包括的プリンタドライバは印刷装置から構成データを取り出す。この例では、プリンタドライバ118は、リンク106を通じて印刷装置104から構成データ122を取り出す。プリンタドライバ118は、構成データ122を取得するように、要求を生成して印刷装置104に送信してもよい。印刷装置104は要求を処理し、プリンタドライバ118に構成データ122を提供する。構成データ122の要求を処理するように印刷装置104を構成することは、特定の用途の要件に応じて、多様な方法で実行されてもよく、本発明は特定の手法に限定されない。例えば、印刷装置104は、構成データ122の要求を処理するように構成されたファームウェアを有してもよい。その他の例として、印刷装置104は、構成データ122の要求を処理するサーバ処理で構成されてもよい。
【００１８】
ステップ208において、構成データ122は不揮発性記憶装置112に格納される。構成データ122は、特定の用途の要件に応じて、多様なフォーマットで不揮発性記憶装置112に格納されてもよく、本発明は特定のフォーマットに限定されない。例えば、構成データ122は、Windows（登録商標）レジストリファイル若しくはWindows（登録商標）リソースファイル又はその他の種類のデータファイルのようなオペレーティングシステムファイルの不揮発性記憶装置112に格納されてもよい。構成データ122が保護されるように、構成データ122は不揮発性記憶装置112のプロテクト済領域に格納されてもよい。
【００１９】
ＩＶ．ダウンロードした構成データを使用したプリンタドライバのカスタマイズ
プリンタドライバ118が印刷装置104からクライアント102に構成データ122をダウンロードすると、構成データ122はプリンタドライバ118をカスタマイズするために使用されてもよい。このカスタマイズは多様な形式を取ることができる。図３は、本発明の一実施例による例示的な構成データ122を示すブロック図である。この実施例では、構成データ122は、バージョン識別表示(ID)300と、インストール済オプションデータ302と、メディア形式データ304と、コマンドデータ306と、プログラムロジックデータ308と、ビットマップデータ310とを有する。これらの要素は必ずしも構成データ122に必要ではなく、特定の実装の要件に応じて、少ない要素又は多い要素が使用されてもよい。
【００２０】
バージョンID300は、構成データ122のバージョンを示すデータである。バージョンID300は、不揮発性記憶装置112に格納されている構成データが印刷装置104で維持されている構成データ122と異なるか否かを決定するために使用されてもよい。このことは、印刷装置104の構成データ122が時間と共に更新される場合に特に有用である。
【００２１】
インストール済オプションデータ302は、印刷装置104のインストール済オプションを示すデータである。インストール済オプションは、ソースのトレイ及び宛先のトレイの種類の場所と、カラー印刷や透かしのような印刷機能と、ステープル(stapling)や折り(folding)や穴あけやバインディング(binding)や接着等のような利用可能な仕上げオプションとを非限定的に有する。インストール済オプションデータ302はまた、インストール済オプション毎の名前又は識別子(例えば、ソースのトレイ及び宛先のトレイの名前)を指定してもよい。メディア形式データ304は、印刷装置104によりサポートされているメディア形式を示すデータである。これは、例えば通常やリサイクルやカラーや写真やレターヘッドや事前印刷のような紙の種類と、例えば81/2×11やA4等のような紙のサイズとを有してもよい。
【００２２】
コマンドデータ306は、印刷装置104によりサポートされているコマンドを示すデータである。プリンタドライバ118は、アプリケーションプログラム(116)から受信したコマンド(アプリケーションプログラム116によりサポートされているコマンド)を印刷装置104によりサポートされているコマンドに変換するためにコマンドデータ306を使用する。例えば、アプリケーションプログラム116がアプリケーションプログラム116によりサポートされているコマンドAを含む印刷データを生成したことを仮定する。更に、プリンタドライバ118がコマンドAをコマンドA1に変換するように構成されていることを仮定する。印刷装置はコマンドA2をサポートするが、コマンドA1をサポートしていない。構成データ122(及びコマンドデータ306)がなければ、プリンタドライバ118はコマンドA1を含む印刷データを生成して印刷装置104に送信する。印刷装置104はコマンドA1をサポートしていないため、印刷データは印刷装置104でエラーになる。しかし、プリンタドライバ118は、コマンドA1の代わりにA2を含む印刷データを生成するために、コマンドデータ306を使用する。コマンドデータ306はまた、印刷装置104によりサポートされているコマンドのフォーマットを示してもよい。例えば、コマンドデータ306は、印刷装置104によりサポートされている特定の印刷装置言語(PDL:  printing  device  language)を指定してもよい。
【００２３】
プログラムロジックデータ308は、意思決定を実行するためにプリンタドライバ118及びアプリケーションプログラム116により使用される。例えば、プログラムロジックデータ308は、印刷装置104から受信したエラー状態に応じてプリンタドライバ118で行われる動作を指定してもよい。その他の例として、プログラムロジックデータ308は、インストール済オプションデータ302により指定されたオプションと、メディア形式データ304により指定されたメディア形式との間の関係及び依存関係を指定してもよい。アプリケーションプログラム116は、グラフィカルユーザインタフェース108を通じてユーザ相互作用を処理するために、これらの関係及び依存関係を使用してもよい。例えば、メディア形式データ304により指定されるように、アプリケーションプログラム116が利用可能なメディア形式に関連する一式のグラフィカルユーザインタフェースオブジェクトをグラフィカルユーザインタフェース108に表示することを仮定する。プログラムロジックデータ308は、特定のメディア形式の選択に応じて、ユーザが一式の必須アトリビュートから選択しなければならず、一式の任意選択アトリビュートから選択してもよいことを指定してもよい。この場合、アプリケーションプログラム116は、プログラムロジックデータ308に従って正確なグラフィカルユーザインタフェースオブジェクトをグラフィカルユーザインタフェース108に表示させる。
【００２４】
ビットマップデータ310は、グラフィカルユーザインタフェース108への印刷装置104の視覚表示を提供するために、アプリケーションプログラム106により使用される。グラフィカルユーザインタフェース108に表示されると、ビットマップデータ310は、印刷装置104によりサポートされているインストール済オプションとメディア形式を視覚的に示してもよい。例えば、ユーザがプルダウンメニューから印刷装置104の名前を選択すると、ビットマップデータ310がグラフィカルユーザインタフェース108に表示され、インストールされているソースの給紙トレイ及び宛先の給紙トレイと、各給紙トレイの紙の種類を備えて印刷装置104を視覚的に表示する。これは、ソースの給紙トレイと宛先の給紙トレイに関連する名前又は識別表示を有してもよい。本発明の一実施例によると、表示されているビットマップデータ310の代わりに、ユーザがプルダウンメニューから印刷装置104の名前を選択すると、印刷装置104へのリンクがグラフィカルユーザインタフェース108に表示される。そのリンクは、印刷装置104の構成データ122に格納されているビットマップデータに関連するユニフォーム・リソース・ロケータ(URL:  uniform  resource  locator)を指定する。ユーザがそのリンクを選択すると、ビットマップデータ310が印刷装置104から取り出され、グラフィカルユーザインタフェース308に表示される。
【００２５】
プリンタドライバ118がクライアント102にインストールされた時又は最後に更新された時に、インストール済オプションデータ302により示されるインストール済オプションと、メディア形式データ304により示されるメディア形式と、コマンドデータ306により示されるコマンドと、プログラムロジックデータ308と、ビットマップデータ310は、存在する場合には、プリンタドライバ118に含まれる対応するデフォルトのインストール済オプションと、メディア形式と、コマンドと、プログラムロジックと、ビットマップデータを補足又は更新してもよいことに留意すべきである。
【００２６】
Ｖ．構成データの更新
例えば、給紙トレイ又は仕上げオプションのようなオプションの削除又は追加を反映するために、印刷装置104の構成データ104が変更される状況が存在することがある。従って、本発明の一実施例によると、構成データ122は、その後何度でもクライアント102にダウンロードされてもよい。いつ構成データ122がクライアント102にダウンロードされるかを決定する基準は、特定の用途の要件に応じて変わってもよく、本発明は特定の基準に限定されない。例えば、プリンタドライバ118が印刷装置104と互換性がないことを示す状態が検出されると、プリンタドライバ118が印刷装置104から構成データ112を要求してもよい。これは、例えば印刷装置104がアップグレードして、プリンタドライバ118と互換性がなくなった時に生じることがある。代替として、プリンタドライバ118は、印刷装置104から構成データ122を定期的に要求してもよい。
【００２７】
本発明の一実施例によると、バージョンID300は、構成データ122が再びダウンロードされる必要があるか否かを決定するために使用される。例えば、プリンタドライバ118は、印刷装置104に格納されている構成データ122のバージョンIDのみを最初に要求してもよい。プリンタドライバ118は、クライアント102の構成データ122に格納されているバージョンID300で示すバージョンと、印刷装置104に格納されている構成データ122のバージョンIDとを比較する。クライアント102に格納されている構成データ122のバージョンが印刷装置104に格納されている構成データ122のバージョンより古いことをその比較が示すと、プリンタドライバ118は印刷装置104に格納されている構成データ122を要求する。クライアント102に格納されている構成データ122のバージョンが印刷装置104に格納されている構成データ122と同じ又はそれより新しい場合、印刷装置104の構成データがクライアント102にダウンロードされる必要はない。
【００２８】
ＶＩ．複数の印刷装置の適用
プリンタドライバを自動構成するここに記載されている手法は、如何なる数の印刷装置にも対応するようにプリンタドライバを構成するように適用可能である。図４は、複数の印刷装置に対応するようにプリンタドライバを構成する構成400を示すブロック図である。構成400において、クライアント102は、図１と同様に印刷装置104と通信可能に結合され、２つの更なる印刷装置402と404に通信可能に結合されている。その２つの更なる印刷装置402と404は、クライアント102に利用可能になった新しい印刷装置を表す。印刷装置402は、構成データ408を備えた不揮発性記憶装置406を有する。印刷装置404は、構成データ412を備えた不揮発性装置410を有する。
【００２９】
この例では、アプリケーションプログラム116が印刷装置402と404に対して印刷を可能にするために必要な機能を、プリンタドライバ118が現在所有していないことを仮定する。従って、本発明の一実施例によると、プリンタドライバ118は印刷装置402と404から構成データ408と412を取り出す。プリンタドライバ118は、例えば各要求に印刷装置402と404のアドレスを含めることにより、印刷装置402と404に要求を直接送信する。代替として、プリンタドライバ118は双方の印刷装置402と404に双方の要求を送信し、印刷装置402と404により調べられ得る識別子を各要求に含めてもよい。特定の用途の要件に応じて、その他の手法が使用されてもよい。
【００３０】
クライアント102により受信された構成データ408と412は不揮発性記憶装置112に格納される。構成データ408と412は、特定の用途の要件に応じて、不揮発性記憶装置112の構成データ122と共に格納されてもよく、また、それと別に格納されてもよい。例えば、構成データ122と408と410は、単一のWindows（登録商標）リソースファイル又はデータファイルに格納されてもよく、また、別のファイルに格納されてもよい。構成データ122と408と410が一緒に格納されても別に格納されても、プリンタドライバ118は構成データ122と408と410の位置と、それぞれ印刷装置104と402と404への関連性とを追跡し、それにより、正確な構成データが使用され得る。
【００３１】
ＶＩＩ．実装機構
主にここではソフトウェア処理についてプリンタドライバ118の機能を説明したが、その機能はハードウェア、ソフトウェア又はハードウェアとソフトウェアの如何なる組み合わせで実装されてもよく、本発明は特定の実装に限定されない。
【００３２】
図５は、本発明の実施例が実装され得るコンピュータシステム500を示すブロック図である。コンピュータシステム500は、バス502又は情報を伝達する他の通信機能と、バス502に結合して情報を処理するプロセッサ504とを有する。コンピュータシステム500はまた、ランダムアクセスメモリ(RAM)又は他の動的記憶装置のような、バス502に結合してプロセッサ504により実行される情報及び命令を格納するメインメモリ506を有する。メインメモリ506はまた、プロセッサ504により実行される命令の実行中に、一時変数又は他の中間情報を格納するために使用されてもよい。コンピュータシステム500は、バス502に結合してプロセッサ504用の静的情報及び命令を格納する読み取り専用メモリ(ROM)508又は他の静的記憶装置を更に有する。磁気ディスク又は光ディスクのような記憶装置510は、バス502に結合して情報及び命令を格納するために備えられている。
【００３３】
コンピュータシステム500は、バス502を介して、コンピュータユーザに情報を表示する陰極線管(CRT)のようなディスプレイ512に結合されてもよい。英数字キーとその他のキーとを有する入力装置514は、バス502に結合してプロセッサ504に情報及びコマンド選択を伝達する。その他の種類のユーザ入力装置は、マウス、トラックボール又はカーソル方向キーのような、方向情報及びコマンド選択をプロセッサ504に伝達し、ディスプレイ512でカーソル移動を制御するカーソルコントロール516である。一般的に、この入力装置は、装置が平面で位置を特定することを可能にする２軸での２つの自由度(第１の軸(例えばx)と第２の軸(例えばy))を有する。
【００３４】
本発明は、ここに記載された技術を実装するコンピュータシステム500の使用に関係する。本発明の一実施例によると、これらの技術は、プロセッサ504がメインメモリ506に含まれる１つ以上の命令の１つ以上のシーケンスを実行することに応じて、コンピュータシステム500により実行される。このような命令は、記憶装置510のようなその他の機械読取可能媒体からメインメモリ506に読み込まれてもよい。メインメモリ506に含まれる命令のシーケンスの実行により、プロセッサ504がここに記載された処理を実行する。代替実施例では、本発明を実施するために、ソフトウェア命令の代わりに、又はそれと組み合わせて、配線回路が使用されてもよい。このように、本発明の実施例はハードウェア回路とソフトウェアの特定の組み合わせに限定されない。
【００３５】
ここで使用される“機械読取可能媒体”という用語は、特定の方法で機械を動作させるデータを提供することに関わる何らかの媒体を示す。コンピュータシステム500を使用して実装された実施例では、例えば実行用にプロセッサ504に命令を提供する際に、多様な機械読取可能媒体が含まれる。このような媒体は、不揮発性媒体と、揮発性媒体と、伝送媒体を非限定的に含む多数の形式を取ってもよい。不揮発性媒体は、例えば記憶装置510のような光ディスク又は磁気ディスクを有する。揮発性媒体は、メインメモリ506のような動的メモリを有する。伝送媒体は、同軸ケーブルと銅線と光ファイバを有し、バス502を含む線を有する。伝送媒体はまた、電波や赤外線データ通信の間に生成されるもののような、音波又は光波の形式を取ってもよい。
【００３６】
共通の形式の機械読取可能媒体は、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ若しくはその他の磁気媒体、CD-ROM、その他の光媒体、パンチカード、紙テープ、孔パターンを備えたその他の物理媒体、RAM、PROM、EPROM、FLASH-EPROM、その他のメモリチップ若しくはカートリッジ、以下に記載する搬送波、又はコンピュータが読取可能なその他の媒体を有する。
【００３７】
多様な形式の機械読取可能媒体は、実行用にプロセッサ504に１つ以上の命令の１つ以上のシーケンスを運ぶ際に関与してもよい。例えば、最初は命令が遠隔コンピュータの磁気ディスクに運ばれてもよい。遠隔コンピュータはその命令をその動的メモリにロードし、モデムを使用して電話回線で命令を送信することができる。コンピュータシステム500にローカルのモデムは電話回線でデータを受信し、赤外線信号にそのデータを変換するために赤外線送信機を使用することができる。赤外線検出器は赤外線信号で運ばれたデータを受信することができ、適切な回路がバス502にそのデータを配置することができる。バス502はメインメモリ506にデータを運び、そのメインメモリ506からプロセッサ504は命令を取り出して実行する。メインメモリ506により受け取られた命令は、プロセッサ504による実行の前又は後に記憶装置510に任意選択で格納されてもよい。
【００３８】
コンピュータシステム500はまた、バス502に結合した通信インタフェース518を有する。通信インタフェース518は、ローカルネットワーク522に接続されているネットワークリンク520と結合して双方向データ通信を提供する。例えば、通信インタフェース518は、対応する種類の電話回線にデータ通信接続を提供する総合サービスデジタルネットワーク(ISDN)カード又はモデムでもよい。その他の例として、通信インタフェース518は、互換性のあるLANにデータ通信接続を提供するローカルエリアネットワーク(LAN)カードでもよい。無線リンクが実装されてもよい。何らかのこのような実装において、通信インタフェース518は、多様な種類の情報を表すデジタルデータストリームを運ぶ電気信号、電磁気信号又は光信号を送受信する。
【００３９】
一般的に、ネットワークリンク520は、１つ以上のネットワークを通じて他のデータ装置にデータ通信を提供する。例えば、ネットワークリンク520は、ローカルネットワーク522を通じてホストコンピュータ524又はインターネットサービスプロバイダ(ISP)526により運営されているデータ装置に接続を提供してもよい。次に、ISP526は、“インターネット”528と一般的に呼ばれている全世界的パケットデータ通信ネットワークを通じて、データ通信サービスを提供する。ローカルネットワーク522とインターネット528の双方は、デジタルデータストリームを運ぶ電気信号、電磁気信号又は光信号を使用する。コンピュータシステム500に及びコンピュータシステム500からデジタルデータを運ぶ多様なネットワークを通じた信号と、ネットワークリンク520及び通信インタフェース518を通じた信号は、情報を伝送する例示的な種類の搬送波である。
【００４０】
コンピュータシステム500は、ネットワークとネットワークリンク520と通信インタフェース518とを通じて、メッセージを送信し、プログラムコードを含むデータを受信することができる。インターネットの例では、サーバ530は、インターネット528と、ISP526と、ローカルネットワーク522と、通信インタフェース518を通じて、アプリケーションプログラム用に要求されたコードを伝送してもよい。受信したコードは、受信する毎にプロセッサ504により実行されてもよく、及び／又は後の実行のために記憶装置510若しくは他の不揮発性記憶装置に格納されてもよい。このように、コンピュータシステム500は搬送波の形式でアプリケーションコードを取得してもよい。
【００４１】
前述の明細書では、実装に応じて変化することがある多数の特有の詳細に関して、本発明の実施例を説明した。従って、出願人により意図されている唯一の排他的な指標は、何らかのその後の訂正を含み、このような請求項が主張する特有の形式における、この出願から生じる一式の請求項である。よって、特許請求の範囲に明示的に記載されていない制限、要素、属性、特徴、利点又はアトリビュートは、決して特許請求の範囲を限定すべきものではない。従って、明細書及び図面は、限定的な意味ではなく例示的な意味とみなされる。
【図面の簡単な説明】
【００４２】
【図１】本発明の一実施例によるプリンタドライバを自動カスタマイズする構成を示すブロック図である。
【図２】本発明の実施例によるプリンタドライバを自動カスタマイズする手法を示すフローチャートである。
【図３】本発明の一実施例による例示的な印刷装置構成データを示すブロック図である。
【図４】複数の印刷装置に対応するようにプリンタドライバを構成する構成を示すブロック図である。
【図５】本発明の実施例が実装され得るコンピュータシステムのブロック図である。
【符号の説明】
【００４３】
100  構成
102  クライアント
104  印刷装置
106  リンク
108  グラフィカルユーザインタフェース
109  プロセッサ
110  揮発性メモリ
112  不揮発性記憶装置
114  オペレーティングシステム
116  アプリケーションプログラム
118  プリンタドライバ
120  不揮発性記憶装置
122  構成データ
300  バージョンID
302  インストール済オプションデータ
304  メディア形式データ
306  コマンドデータ
308  プログラムロジックデータ
310  ビットマップデータ
400  構成
402  印刷装置
404  印刷装置
406  不揮発性記憶装置
408  構成データ
410  不揮発性記憶装置
412  構成データ
500  コンピュータシステム
502  バス
504  プロセッサ
506  メインメモリ
508  読み取り専用メモリ
510  記憶装置
512  ディスプレイ
514  入力装置
516  カーソルコントロール
518  通信インタフェース
520  ネットワークリンク
522  ローカルネットワーク
524  ホストコンピュータ
526  インターネットサービスプロバイダ
528  インターネット
530  サーバ
【図１】
2005302031.tif 000003
【図２】
2005302031.tif 000004
【図３】
2005302031.tif 000005
【図４】
2005302031.tif 000006
【図５】
2005302031.tif 000007