(57)【要約】【課題】  印刷装置が印刷データストリームを異なるプリンタ定義言語に翻訳せずに理解及び処理できるときには、印刷データストリームの不必要な翻訳と変換を回避する。【解決手段】  印刷データストリームのデータタイプを、定義された複数のデータタイプの中から印刷データストリームに含まれるデータに基づいて判断する。異なる複数のプリンタドライバにその印刷データストリームに対して選択されたデータタイプに関連づけられたプリンタドライバがあるかどうか、判断する。前記複数のプリンタドライバが前記１つのデータタイプと関連する１つのプリンタドライバを含む場合、前記印刷データストリームは前記１つのプリンタドライバに送られる。前記１つのプリンタドライバは前記印刷データストリームを変換せずに印刷装置に送る。かかる状況において、印刷装置は、かかる変換をプリンタドライバにより実行せずに、印刷データを理解して処理することができる。【選択図】      図４
2007200324.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実行される印刷データ処理方法であって、
印刷データストリームに含まれるデータに基づき、定義された複数のデータタイプのうちの１つのデータタイプを決定する段階と、
異なる複数のプリンタドライバが前記１つのデータタイプと関連する１つのプリンタドライバを含むか決定する段階と、
前記異なる複数のプリンタドライバが前記１つのデータタイプと関連する１つのプリンタドライバを含む場合、前記印刷データストリームを前記１つのプリンタドライバに送る段階とを有し、
前記１つのプリンタドライバは前記印刷データストリームを変換せずに印刷装置に送る、方法。
【請求項２】
前記１つのデータタイプを決定する段階と、前記異なる複数のプリンタドライバが前記１つのデータタイプと関連する１つのプリンタドライバを含むか決定する段階は、
前記印刷データストリームと関連する多目的インターネットメール拡張仕様（ＭＩＭＥ）タイプを決定する段階と、
異なる複数のプリンタドライバが前記ＭＩＭＥタイプと関連するプリンタドライバを含むか決定する段階とを有する、請求項１に記載の方法。
【請求項３】
前記異なる複数のプリンタドライバが前記１つのデータタイプと関連する前記１つのプリンタドライバを含まない場合、前記印刷データストリームをデフォルトプリンタドライバに送る段階をさらに有し、
前記デフォルトプリンタドライバは前記印刷データストリームを１つのプリンタ定義言語に変換してから前記印刷データストリームを前記印刷装置に送る、請求項１に記載の方法。
【請求項４】
コンピュータにより実行される印刷データ処理方法であって、
多目的インターネットメール拡張仕様（ＭＩＭＥ）と関連する印刷データストリームであってアプリケーションが送り先印刷装置に送った印刷データストリームを印刷サブシステムにおいて受信する段階と、
前記印刷データストリームのＭＩＭＥタイプを前記印刷サブシステムにおいて決定する段階と、
前記送り先印刷装置と関連するＭＩＭＥキューテーブルが前記印刷データストリームのＭＩＭＥタイプと一致するエントリーを含むか前記印刷サブシステムにおいて決定する段階と、
前記ＭＩＭＥキューテーブルが前記印刷データストリームのＭＩＭＥタイプと一致するエントリーを含むとき、前記ＭＩＭＥキューテーブル中の前記ＭＩＭＥタイプと関連する第１のプリンタドライバに前記印刷データストリームを送る段階であって、前記第１のプリンタドライバは前記送り先印刷装置に送る前に前記印刷データストリームをどれかのプリンタ定義言語に合わせるために前記印刷データストリームを変更しない段階と、
前記ＭＩＭＥキューテーブルが前記印刷データストリームのＭＩＭＥタイプと一致するエントリーを含まないとき、前記ＭＩＭＥキューテーブル中の前記ＭＩＭＥタイプと関連しない第２のプリンタドライバに前記印刷データストリームを送る段階であって、前記第２のプリンタドライバは１つのプリンタ定義言語に合わせるために前記印刷データストリームを変更する段階とを有する方法。
【請求項５】
第１の印刷装置は第１のＭＩＭＥキューテーブルに関連づけられ、第２の印刷装置は前記第１のＭＩＭＥキューテーブルとは異なる第２のＭＩＭＥキューテーブルに関連づけられ、前記送り先印刷装置は前記第１の印刷装置と前記第２の印刷装置のうちの一方である、請求項４に記載の方法。
【請求項６】
印刷データを処理する命令シーケンスを担うコンピュータ読み取り可能媒体であって、プロセッサによる前記命令シーケンスの実行により前記プロセッサに：
印刷データストリームに含まれるデータに基づき、定義された複数のデータタイプのうちの１つのデータタイプを決定する段階と、
異なる複数のプリンタドライバが前記１つのデータタイプと関連する１つのプリンタドライバを含むか決定する段階と、
前記異なる複数のプリンタドライバが前記１つのデータタイプと関連する１つのプリンタドライバを含む場合、前記印刷データストリームを前記１つのプリンタドライバに送る段階とを実行させ、
前記１つのプリンタドライバは前記印刷データストリームを変換せずに印刷装置に送る、媒体。
【請求項７】
前記１つのデータタイプを決定する段階と、前記異なる複数のプリンタドライバが前記１つのデータタイプと関連する１つのプリンタドライバを含むか決定する段階は、
前記印刷データストリームと関連する多目的インターネットメール拡張仕様（ＭＩＭＥ）タイプを決定する段階と、
異なる複数のプリンタドライバが前記ＭＩＭＥタイプと関連するプリンタドライバを含むか決定する段階とを有する、請求項６に記載のコンピュータ読み取り可能媒体。
【請求項８】
前記プロセッサによる前記命令シーケンスの実行により、前記プロセッサにさらに：
前記異なる複数のプリンタドライバが前記１つのデータタイプと関連する前記１つのプリンタドライバを含まない場合、前記印刷データストリームをデフォルトプリンタドライバに送る段階を実行させ、
前記デフォルトプリンタドライバは前記印刷データストリームを１つのプリンタ定義言語に変換してから前記印刷データストリームを前記印刷装置に送る、請求項６に記載のコンピュータ読み取り可能媒体。
【請求項９】
コンピュータにより実行される印刷データ処理方法であって、
プリンタドライバをインストールする段階を有し、
前記プリンタドライバは前記プリンタドライバがサポートする文書タイプを指定する方法。
【請求項１０】
複数のプリンタドライバの中から好みのプリンタドライバを選択するようにユーザを促す段階をさらに有する、請求項９に記載の方法。
【請求項１１】
印刷データを処理する命令シーケンスを担うコンピュータ読み取り可能媒体であって、プロセッサによる前記命令シーケンスの実行により前記プロセッサに：
プリンタドライバをインストールする段階を実行させ、
前記プリンタドライバは前記プリンタドライバがサポートする文書タイプを指定する媒体。
【請求項１２】
前記プロセッサによる前記命令シーケンスの実行により、前記プロセッサにさらに：
複数のプリンタドライバの中から好みのプリンタドライバを選択するようにユーザを促す段階を実行させる、請求項１１に記載のコンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプリンタドライバに関し、オペレーティングシステムの印刷サブシステムに関し、特にファイルに関連する多目的インターネットメール拡張仕様（ＭＩＭＥ）タイプに基づき、そのファイル中のデータを印刷する複数のプリンタドライバの１つを選択する方法に関する。
【背景技術】
【０００２】
プリンタ等の印刷装置やリコーAficioColor6513システム等の複合機（ＭＦＰすなわちmulti-function  peripherals）は、複数のプリンタ定義言語のコマンドを理解して処理する能力を初めから備えているものもある。例えば、印刷装置はポストスクリプトインタープリタ、ＰＤＦ（Portable  Document  Format）インタープリタ、及びプリンタ制御言語（ＰＣＬ）のバージョンごとに異なるインタープリタ（例えばＰＣＬ５インタープリタやＰＣＬ−ＸＬインタープリタ）を有する。例えば、印刷装置は、ポストスクリプトインタープリタを有する場合、ポストスクリプトコマンドを理解して処理することができる。
【０００３】
印刷装置によっては、初めから理解できるようには構成されていないデータタイプやプリンタ定義言語もある。そのような場合、その印刷装置に印刷データを送るコンピュータにインストールされたプリンタドライバが、（その印刷装置が理解できない言語で記述された）元の印刷データを、（その印刷装置が理解できる言語で記述された）対応する翻訳印刷データ（translated  print  data）に翻訳するのが普通である。例えば、ポストスクリプトプリンタは、ポストスクリプトインタープリタのみが備えられていて、他のインタープリタは備えられていないことがある。アプリケーションプログラムがＰＤＦコマンド等の非ポストスクリプトコマンドを含む印刷データストリームをポストスクリプトプリンタに送る場合、同一のコンピュータにアプリケーションプログラムとしてインストールされているポストスクリプトドライバがＰＤＦコマンドを対応するポストスクリプトコマンドに翻訳し、翻訳印刷データストリーム（translated  print  data  stream）を印刷装置に送る。
【０００４】
図１は、ポストスクリプトドライバがポストスクリプトプリンタのために非ポストスクリプトコマンドをポストスクリプトコマンドにどのように翻訳するかを示すブロック図である。図１において、ポストスクリプトプリンタ１０２は、ポストスクリプトコマンドを理解する機能（native  ability）は有しているが、例えばＰＤＦ等の非ポストスクリプトコマンドを理解する機能は有していない。
【０００５】
図１に示したように、ポストスクリプトプリンタ１０２宛てに送られる印刷データはすべて、まずポストスクリプトドライバ１０４で受け取られる。ポストスクリプトドライバ１０４は、受け取った印刷データを調べ、その印刷データがポストスクリプトで記述されているかその他の非ポストスクリプトプリンタ定義言語で記述されているか判断する。ポストスクリプトドライバ１０４は、その印刷データがポストスクリプトで記述されていると判断すれば、その印刷データを翻訳（translate）する必要はない。この場合、ポストスクリプトドライバ１０４は、その印刷データを何ら翻訳することなく、ポストスクリプトプリンタ１０２に送る。しかし、ポストスクリプトドライバ１０４は、その印刷データがポストスクリプト以外のプリンタ定義言語（例えばＰＤＦ）で記述されていると判断した場合、その印刷データをポストスクリプトに変換（render）してから、変換ポストスクリプトデータ（rendered  Postscript  data）をポストスクリプトプリンタ１０４に送る。
【０００６】
印刷データの一プリンタ定義言語から他のプリンタ定義言語への翻訳（translate）は計算負荷が大きい動作であり、できれば回避すべきである。かかる翻訳（translation）には長い時間がかかる。また、翻訳すると情報が失われることもある。残念ながら、既存のシステムでは、必要ない翻訳（translation）や変換（rendering）が多く行われている。上に説明したように、印刷装置の多くは異なる複数のプリンタ定義言語を理解して処理する能力を初めから備えている。これらの印刷装置は初めから幅広い能力を有しているにもかかわらず、既存のシステムは全ての印刷データを単一のプリンタ定義言語のプリンタドライバを介して送る。印刷データがそのプリンタドライバが対応している言語以外の言語で記述されていると、その印刷装置がその印刷データを元の形で理解して処理できたにもかかわらず、プリンタドライバはその印刷データを変換（render）してしまう。
【０００７】
例えば、印刷装置がＰＤＦインタープリタとポストスクリプトインタープリタの両方を有するとする。かかる印刷装置は、ＰＤＦ印刷データストリームとポストスクリプト印刷データストリームの両方を理解することができる。それにもかかわらず、その印刷装置宛てに印刷データストリームを送るコンピュータにインストールされたプリンタドライバがポストスクリプトドライバである場合、そのプリンタドライバはすべてのＰＤＦ印刷データストリームをポストスクリプト印刷データストリームに変換（render）してから、その印刷データストリームを印刷装置に送る。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
これは明らかにコンピュータの処理資源の無駄遣いである。上記に基づき、印刷装置が印刷データストリームを異なるプリンタ定義言語に翻訳せずに理解及び処理できるときには、印刷データストリームの不必要な翻訳（translation）と変換（rendering）を回避する方法が必要である。
【課題を解決するための手段】
【０００９】
印刷データの処理方法を開示する。本発明の一実施形態では、印刷データストリームのデータタイプを、定義された複数のデータタイプの中から印刷データストリームに含まれるデータに基づいて判断する。異なる複数のプリンタドライバにその印刷データストリームに対して選択されたデータタイプに関連づけられたプリンタドライバがあるかどうか、判断する。前記複数のプリンタドライバが前記１つのデータタイプと関連する１つのプリンタドライバを含む場合、前記印刷データストリームは前記１つのプリンタドライバに送られる。前記１つのプリンタドライバは前記印刷データストリームを変換せずに印刷装置に送る。かかる状況において、印刷装置は、かかる変換をプリンタドライバにより実行せずに、印刷データを理解して処理することができる。
【００１０】
あるいは、本発明の一実施形態では、前記複数のプリンタドライバが前記１つのデータタイプと関連する１つのプリンタドライバを含まない場合、前記印刷データストリームは「デフォルト」または「好ましい」プリンタドライバに送られる。前記デフォルトプリンタドライバは前記印刷データストリームを１つのプリンタ定義言語に変換してから前記印刷データストリームを前記印刷装置に送る。
【発明を実施するための最良の形態】
【００１１】
添付した図面において実施例によって示すが、本発明を限定するものではない。同じ参照数字は同じ要素を示す。
【００１２】
以下の詳細な説明では、説明を目的として、本発明を完全に理解してもらうために、具体的な詳細事項を記載する。しかし、言うまでもなく、本発明はこれらの詳細事項がなくても実施することができる。場合によっては、ブロック図に周知の構造とデバイスを示すが、これは本発発明が不明瞭になることを避けるためである。
【００１３】
概要
本発明の一実施形態によると、印刷装置のドライバのインストールには、その印刷装置のプリンタドライバクラスのインストールが関係する。印刷装置のプリンタドライバクラスは、複数のプリンタドライバを有する。印刷装置が理解できるプリンタ定義言語ごとにプリンタドライバがある。プリンタドライバクラスがインストールされると、ＭＩＭＥキューテーブルが作られ（established）、印刷装置と関連づけられる。印刷装置ごとにプリンタドライバクラスとＭＩＭＥキューテーブルが関連づけられてもよい。
【００１４】
ＭＩＭＥキューテーブルは、ポストスクリプト、ＰＤＦ、ＰＣＬ５、ＰＣＬ−ＸＬ、ＡＳＣＩＩ等の（１セットの）ＭＩＭＥタイプが規定され登録されている。ＭＩＭＥキューテーブル中に登録された各ＭＩＭＥタイプについて、そのＭＩＭＥタイプと関連するプリンタキューがＭＩＭＥキューテーブルに示されている。各プリンタキューは、ＭＩＭＥキューテーブルと関連づけられた印刷装置のプリンタドライバクラス中の別々のプリンタドライバに対応している。複数のＭＩＭＥタイプが１つのプリンタキューに関連付けられてもよいし、それぞれ異なるプリンタキューに関連付けられてもよい。
【００１５】
印刷サブシステムは、印刷データストリームを受け取ると、その印刷データストリームのコンテンツに基づいて、その印刷データストリームのＭＩＭＥタイプを判断する。印刷サブシステムは、その印刷データストリームのＭＩＭＥタイプが登録されたＭＩＭＥタイプであるかどうか判断する。すなわち、その印刷データの送り先である印刷装置にＭＩＭＥキューテーブルに対応するプリンタキューがあるＭＩＭＥタイプであるかどうか判断する。印刷データストリームが登録ＭＩＭＥタイプ（registered  MIME  type）と関連する場合、印刷サブシステムは、送り先の印刷装置が関連付けられているＭＩＭＥキューテーブルに示された印刷データストリームのＭＩＭＥタイプと関連付けられたプリンタドライバにその印刷データを送る。一般的に、このプリンタドライバはその印刷データに関してほとんど、またはまったく変換（rendering）を実行しない。その理由は、プリンタドライバの方でかかる変換をしなくても、その印刷装置がその印刷データを理解して処理できるからである。
【００１６】
あるいは、印刷データストリームが送り先印刷装置のＭＩＭＥキューテーブルに登録されていないＭＩＭＥタイプに関連付けられている場合、本発明の一実施形態では、印刷サブシステムが送り先印刷装置の指定された「好ましい」または「デフォルト」のプリンタドライバに印刷データストリームを送る。このような状況では、印刷データストリームを送り先印刷装置に送る前に、デフォルトのプリンタドライバが送り先印刷装置が理解できるプリンタ定義言語に印刷データを変換（render）する。
【００１７】
このように、プリンタドライバによる印刷データストリームの不必要な変換及び翻訳の多くを回避する。
【００１８】
プリンタドライバクラスの例
図２は、本発明の一実施形態による、異なる複数のプリンタドライバを有するプリンタドライバクラスの例を示すブロック図である。プリンタドライバクラス２０２は、ポストスクリプトドライバ２０４、ＰＤＦドライバ２０６、ＰＣＬ５ドライバ２０８、及びＰＣＬ−ＸＬドライバ２１０を有する。本発明の他の実施形態では、プリンタドライバクラスは、図２に示したプリンタドライバよりも多くのプリンタドライバを有していてもよく、少ないプリンタドライバを有していてもよく、それとは異なるプリンタドライバを有していてもよい。
【００１９】
各プリンタドライバ２０４−２１０は、（１セットの）１つ以上のＭＩＭＥタイプと関連づけられている。例えば、図２において、ポストスクリプトドライバ２０４はポストスクリプトＭＩＭＥタイプ２１２に関連づけられ、ＰＤＦドライバ２０６はＰＤＦＭＩＭＥタイプ２１４に関連づけられ、ＰＣＬ５ドライバ２０８はＰＣＬ５ＭＩＭＥタイプ２１６に関連づけられている。ＰＣＬ−ＸＬドライバ２１０は（１セットの）ＭＩＭＥタイプ２１８と関連付けられている。ＭＩＭＥタイプ２１８は、ＰＣＬ−ＸＬ  ＭＩＭＥタイプとＡＳＣＩＩ  ＭＩＭＥタイプの両方を有する。あるプリンタドライバと関連づけられたＭＩＭＥタイプは、そのプリンタドライバがサポートするタイプである。
【００２０】
プリンタクラスキューの例
図３は、本発明の一実施形態による、異なる複数のプリンタドライバを有するプリンタクラスキューの例を示すブロック図である。プリンタクラスキュー３０２は複数のプリンタキューを有する。プリンタクラスキュー３０２が有するプリンタキューには、ポストスクリプトキュー３０４、ＰＤＦキュー３０６、ＰＣＬ５キュー３０８、及びＯＣＬ−ＸＬキュー３１０がある。本発明の一実施形態では、図２に示したプリンタクラスキュー２０２の各プリンタドライバについて別々のプリンタキューがある。本発明の他の実施形態では、プリンタクラスキューが有するプリンタドライバは、図３に示したプリンタキューよりも多くても、少なくてもよいし、それとは異なるプリンタキューであってもよい。
【００２１】
本発明の一実施形態では、プリンタドライバクラス２０２がプリンタのドライバとしてインストールされているとき、インストールするソフトウェアがプリンタドライバクラス２０２の各プリンタドライバに対して別々のプリンタキューを生成する。本発明の一実施形態では、プリンタクラスキュー３０２は２つの部分を有する：第１の部分はユーザとアプリケーションから見え、第２の部分はコンピュータの印刷システムのみから見える。本発明の一実施形態では、全てのプリンタキューは、プリンタキュー３０４−３１０を含め、プリンタクラスキュー３０２の第２の部分にある。プリンタキュー３０４−３１０が分かれていることはユーザからは見えず、全てのプリンタキュー３０４−３１０はユーザとアプリケーションには単一のプリンタクラスキューとして見えるようになっていてもよい。このように、ユーザとアプリケーションは、印刷データストリームをどのキューに割り振らねばならないか、特に関知する必要はない。印刷システムは、印刷データストリーム中のデータのＭＩＭＥタイプに基づき、かかる詳細事項を自動的に処理することができる。
【００２２】
ＭＩＭＥキューテーブルの例
図４は、本発明の一実施形態による、印刷装置とＭＩＭＥキューテーブル間の関係の例を示すブロック図である。図４に示したシステム例において、オペレーティングシステム４０２は印刷サブシステム４０４を有する。印刷サブシステム４０４は、インストール済みプリンタテーブル４０６及びＭＩＭＥキューテーブル４０８と４１０を有する。
【００２３】
図４の例では、インストール済みプリンタテーブル４０６は２つのプリンタエントリー、プリンタ１とプリンタ２とを有する。本発明の一実施形態では、これらのエントリーは、それぞれ、そのエントリーの印刷装置の対応するプリンタドライバクラスがインストールされた時に作られる（established）。これらのエントリーは、それぞれ、別々のＭＩＭＥキューテーブルに対応し、関連づけられている。プリンタ１のエントリーはＭＩＭＥキューテーブル４０８に対応する。プリンタ２のエントリーはＭＩＭＥキューテーブル４１０に対応する。
【００２４】
ＭＩＭＥキューテーブル４０８と４１０は、それぞれ、対応する印刷装置のプリンタドライバクラスがサポートする各プリンタキューのエントリーを有する。図４の例では、ＭＩＭＥキューテーブル３０８は、ポストスクリプトキュー、ＰＤＦキュー、ＰＣＬ５キュー、及びＰＣＬ−ＸＬキューのエントリーを有する。各エントリーは、（１セットの）１つ以上の対応するＭＩＭＥタイプと関連付けられている。例えば、ＰＣＬ−ＸＬキューはＡＳＣＩＩ  ＭＩＭＥタイプとＰＣＬ−ＸＬ  ＭＩＭＥタイプを含む（１セットの）ＭＩＭＥタイプと関連づけられている。また、図４の例では、ＭＩＭＥキューテーブル４１０は、ＰＣＬ５キューのエントリーを有する。このＰＣＬ５キューのエントリーは、ＰＣＬ５ＭＩＭＥタイプとＡＳＣＩＩ  ＭＩＭＥタイプを含む（１セットの）ＭＩＭＥタイプと関連づけられている。
【００２５】
本発明の一実施形態では、プリンタドライバクラスをインストールしたとき、そのプリンタドライバクラスのＭＩＭＥキューテーブルが生成され、ハードディスクドライブ等の永続的記憶装置に格納される。例えば、各プリンタドライバクラスのＭＩＭＥキューテーブルは、印刷サブシステム４０４が指定したディレクトリに格納され得る。
【００２６】
本発明の一実施形態では、ある印刷装置のＭＩＭＥキューテーブル中の最初のエントリーはその印刷装置の「デフォルト」または「好ましい」プリンタドライバに対応している。本発明の一実施形態では、プリンタドライバクラスのインストールプログラムは、ユーザを促して、プリンタドライバクラス中のプリンタドライバから「デフォルト」または「好ましい」プリンタドライバを選択させる。印刷データストリームのＭＩＭＥタイプが送り先印刷装置のＭＩＭＥキューテーブルのエントリーのどれにも見つからない場合、送り先印刷装置の「デフォルト」プリンタドライバを用いてその印刷データストリームを処理する。印刷データストリームのＭＩＭＥタイプに基づきその印刷データストリームを処理する方法の例をさらに詳しく説明する。
【００２７】
各プリンタキューはプリンタドライバクラスの別々のプリンタドライバに対応する。図４のデータ構造に示したＭＩＭＥタイプとプリンタキューの間の関連により、ユーザは、印刷データストリームを送るべき印刷装置のみを特定することができる。印刷サブシステムは、どのプリンタドライバを使用して印刷データストリームを処理するべきか、自動的に判断する。このように、ユーザは、印刷データストリームの処理にどのプリンタドライバまたはプリンタキューを仕様するか具体的に指定する手間を省ける。
【００２８】
方法例
図５は、本発明の一実施形態による、印刷データストリームを処理するプリンタドライバを印刷データストリームのＭＩＭＥタイプに基づき自動的に選択する方法の例を示すフロー図である。例えば、図示した方法は図４の印刷サブシステム４０４が実行するものである。
【００２９】
ブロック５０２において、印刷データストリームを受け取る。例えば、印刷サブシステム４０４は、アプリケーションが送った印刷データストリームを受け取る。印刷データストリームは印刷すべきコンテンツを表す。コンテンツにはＭＩＭＥタイプがある。例えば、コンテンツはＰＤＦ  ＭＩＭＥタイプの文書であってもよい。説明を簡単にするため、コンテンツのＭＩＭＥタイプとは、ここではそのコンテンツを表す印刷データストリームのＭＩＭＥタイプであるとする。
【００３０】
ブロック５０４において、印刷データストリームのＭＩＭＥタイプを判断する。例えば、印刷サブシステム４０４は印刷データストリーム中のヘッダーやフィールドを調べて、その印刷データストリームのＭＩＭＥタイプを判断する。多くの場合、印刷データストリームはそのＭＩＭＥタイプを明示的に示している。
【００３１】
ブロック５０６において、送り先印刷装置（すなわち、ユーザが指定した印刷装置であって、印刷データストリームが送られるもの）のＭＩＭＥキューテーブルが印刷データストリームのＭＩＭＥタイプと一致するエントリーを含むか判断する。例えば、印刷データストリームのＭＩＭＥタイプが「ＰＤＦ」であると判断され、その印刷データストリームがプリンタ１宛のものであれば、印刷サブシステム４０４はＭＩＭＥキューテーブル４０８がＰＤＦ  ＭＩＭＥタイプと一致するエントリーを含むか判断する。ＭＩＭＥキューテーブルが一致するエントリーを含む場合、ブロック５０８に進む。ＭＩＭＥキューテーブルが一致するエントリーを含まない場合、ブロック５１２に進む。
【００３２】
ブロック５０８において、印刷データストリームはＭＩＭＥキューテーブルの一致するエントリーに関連づけられたプリンタドライバに送られる。例えば、印刷データストリームのＭＩＭＥタイプがＰＤＦであり、一致エントリーは対応するキューがプリンタ１のＰＤＦキューであることを示す場合、印刷データストリームはプリンタ１のプリンタドライバクラス中のＰＤＦプリンタドライバによる処理と変換のために、ＰＤＦキューに送られる。
【００３３】
ブロック５１０において、プリンタドライバは、印刷データストリームをローカルで変換または翻訳せずに、送り先印刷装置に送る。例えば、ＰＤＦプリンタドライバは、ＰＤＦ  ＭＩＭＥタイプの印刷データストリームを受け取った場合、その印刷データストリームを送り先印刷装置に送るが、その印刷データストリームをＰＤＦ言語以外のプリンタ定義言語に翻訳はしない。印刷データストリームはＰＤＦ言語のままである。送り先印刷装置がＰＤＦ言語を理解して処理できるからである。このように、必要のない変換（rendering）や翻訳（translation）は実行する必要がない。
【００３４】
あるいは、ブロック５１２において、印刷データストリームを送り先印刷装置のＭＩＭＥキューテーブルに示された「デフォルト」または「好ましい」プリンタドライバに送る。例えば、印刷データストリームのＭＩＭＥタイプがＭＩＭＥキューテーブル中に一致エントリーのないＭＩＭＥタイプであって、送り先プリンタがプリンタ１である場合、プリンタ１のプリンタドライバクラス中のポストスクリプトプリンタドライバでの処理と変換のため、その印刷データストリームをポストスクリプトキューに送る。
【００３５】
ブロック５１４において、「デフォルト」プリンタドライバは、送り先印刷装置の「デフォルト」プリンタドライバと関連づけられたプリンタ定義言語に印刷データストリームを変換または翻訳してから、変換済み印刷データストリームを送り先印刷装置に送る。例えば、「デフォルト」ポストスクリプトプリンタドライバは、ＭＩＭＥキューテーブルにそのＭＩＭＥタイプがない印刷データストリームを受け取った場合、その印刷データストリームをポストスクリプトに変換（render）または翻訳（translate）し、そのポストスクリプト印刷データストリームを送り先印刷装置に送る。
【００３６】
システム例
図６は、本発明の一実施形態による、印刷データストリームのＭＩＭＥタイプに基づきその印刷データストリームを処理するプリンタドライバが自動的に選択されるシステムの例を示すブロック図である。図６のシステムにはコンピュータ６０２が含まれる。アプリケーション６０４Ａ−Ｄはコンピュータ６０２で実行される。また、印刷サブシステム６０６はコンピュータ６０２上にある。印刷サブシステム６０６はドライバ選択ロジック６０８を有する。本発明の一実施形態では、ドライバ選択ロジックは、図４に示したようなインストール済みプリンタテーブル４０６とＭＩＭＥキューテーブル４０８、４１０を有する。また、印刷サブシステム６０６は、テキスト／ＰＣＬドライバ６１０、ＰＤＦドライバ６１２、及びポストスクリプトドライバ６１４を有する。コンピュータ６０２はプリンタ６１６に接続され通信する。
【００３７】
例示を目的として、アプリケーション６０４Ａが印刷サブシステム６０６にＭＩＭＥタイプが「アプリケーション／テキスト」である印刷データストリームを送るとき、ドライバ選択ロジック６０８は、プリンタ６１６のＭＩＭＥキューテーブルに基づき、その印刷データストリームをテキスト／ＰＣＬドライバ６１０に送るべきであると判断する。テキスト／ＰＣＬドライバ６１０は印刷データストリームを変換しない。テキスト／ＰＣＬドライバ６１０は印刷データストリームをプリンタ６１６宛てに送る。プリンタ６１６は印刷データストリームをそのままの形で理解する。
【００３８】
他の例として、アプリケーション６０４Ｂが印刷サブシステム６０６にＭＩＭＥタイプが「アプリケーション／ＰＤＦ」である印刷データストリームを送るとき、ドライバ選択ロジック６０８は、プリンタ６１６のＭＩＭＥキューテーブルに基づき、その印刷データストリームをＰＤＦドライバ６１２に送るべきであると判断する。ＰＤＦドライバ６１２は印刷データストリームを変換しない。ＰＤＦドライバ６１２は印刷データストリームをプリンタ６１６宛てに送る。プリンタ６１６は印刷データストリームをそのままの形で理解する。
【００３９】
さらに他の例として、アプリケーション６０４Ｃが印刷サブシステム６０６にＭＩＭＥタイプが「アプリケーション／ポストスクリプト」である印刷データストリームを送るとき、ドライバ選択ロジック６０８は、プリンタ６１６のＭＩＭＥキューテーブルに基づき、その印刷データストリームをポストスクリプトドライバ６１４に送るべきであると判断する。ポストスクリプトドライバ６１４は印刷データストリームを変換しない。ポストスクリプトドライバ６１４は印刷データストリームをプリンタ６１６宛てに送る。プリンタ６１６は印刷データストリームをそのままの形で理解する。
【００４０】
ここで、比較的異なった例として、アプリケーション６０４Ｄが印刷サブシステム６０６にＭＩＭＥタイプが「アプリケーション／画像」である印刷データストリームを送るとき、ドライバ選択ロジック６０８は、プリンタ６１６のＭＩＭＥキューテーブルはそのＭＩＭＥタイプのエントリーを含まないと判断する。それゆえ、ドライバ選択ロジック６０８は、（ＭＩＭＥキューテーブルに示されている）「デフォルト」または「好ましい」プリンタドライバを用いてその印刷データストリームを処理すべきであると判断する。この場合、プリンタ６１６の「デフォルト」プリンタドライバはポストスクリプトドライバ６１４である。それゆえ、印刷サブシステム６０６は、その印刷データストリームをポストスクリプトドライバ６１４に送る。この場合、印刷データストリームはまだポストスクリプトに適合してはいないので、ポストスクリプトドライバ６１４が印刷データストリームをポストスクリプトに変換し、変換済みポストスクリプト印刷データストリームをプリンタ６１６に送る。プリンタ６１６はポストスクリプトを理解できる。
【００４１】
インストール例
本発明の一実施形態では、印刷装置のインストール用ソフトウェア（installation  software）は下記のプロセスに従う。まず、インストール用ソフトウェアはユーザに印刷装置名の入力を促す。次に、インストール用ソフトウェアはユーザから印刷装置名を受け取る。次に、インストール用ソフトウェアは、印刷サブシステムに命令してその印刷装置のプリンタドライバクラス中の各プリンタドライバに対して別々のキューを生成させる。それに応じて印刷サブシステムは印刷キューを生成する。次に、インストール用ソフトウェアはユーザに「デフォルト」または「好ましい」プリンタドライバの入力を促す。次に、インストール用ソフトウェアはユーザから「デフォルト」プリンタドライバの特定を受け取る。最後に、インストール用ソフトウェアは、上記のようにＭＩＭＥキューテーブルのエントリーを作り、印刷装置を登録し、「デフォルト」プリンタドライバをユーザが指定したプリンタドライバとして設定する。
【００４２】
実施メカニズム
図７は、本発明の一実施形態を実装するコンピュータシステム７００を示すブロック図である。コンピュータシステム７００は、情報をやりとりする通信メカニズムすなわちバス７０２と、バス７０２に結合した情報を処理するプロセッサ７０４とを有する。コンピュータシステム７００は、さらに、情報とプロセッサ７０４により実行される命令とを格納する、バス７０２に結合したランダムアクセスメモリ（ＲＡＭ）またはその他のダイナミック記憶装置等のメインメモリ７０６を含む。メインメモリ７０６は、プロセッサ７０４による命令の実行中に、一時的変数やその他の中間情報を記憶するために使用されてもよい。コンピュータシステム７００は、さらに、プロセッサ７０４のために静的な情報と命令とを記憶する、バス７０２に結合された読み出し専用メモリ（ＲＯＭ）７０８その他の静的記憶デバイスを含む。記憶デバイス７１０である磁気ディスクや光ディスク等が、情報と命令を格納するために設けられ、バス７０２に結合される。
【００４３】
コンピュータユーザに情報を表示するため、コンピュータシステム７００は、バス７０２を介して、ディスプレイ７１２である陰極線管（ＣＲＴ）等に結合されてもよい。プロセッサ７０４に情報とコマンド選択を送るために、英数字その他のキーを含む入力装置７１４がバス７０２に結合される。他のタイプのユーザ入力装置として、マウス、トラックボール、スタイラス、またはカーソル方向キー等であるカーソル制御７１６がある。これらは、プロセッサ７０４に方向情報とコマンド選択を送り、ディスプレイ７１２上のカーソルの動きを制御する。この入力装置は、典型的には２つの軸、すなわち第１の軸（例えばｘ軸）と第２の軸（例えばｙ軸）で２自由度を有し、これにより平面内の点を特定することができる。
【００４４】
本発明は、無線通信アーキテクチャにおけるコンピュータシステム７００の使用にも関する。本発明の一実施形態によると、ワイヤレス通信のコンピュータシステム７００による実行は、メインメモリ７０６に含まれる１つ以上の命令の１つ以上のシーケンスをプロセッサ７０４が実行することにより行われる。かかる命令は、他のコンピュータ読み取り可能媒体である記憶デバイス７１０等から、メインメモリ７０６に読み込まれてもよい。メインメモリ７０６に含まれる命令シーケンスの実行により、プロセッサ７０４はここに説明したプロセスステップを実行する。マルチプロセッサ構成の１つ以上のプロセッサを用いてメインメモリ７０６に含まれる命令シーケンスを実行することができる。他の実施形態では、本発明の実装には、ソフトウェア命令に替えて、またはこれと組み合わせて、ソフトウェアがハードウェアに組み込まれた回路を使用してもよい。このように、本発明の実施形態は、ハードウェア回路とソフトウェアの特定の組み合わせに限定はされない。
【００４５】
ここで、「コンピュータ読み取り可能媒体」とは、プロセッサ７０４が実行する命令を提供する任意の媒体をいう。かかる媒体は、不揮発性媒体、揮発性媒体、伝送媒体等の多数の形式をとることができるが、これらに限定はされない。不揮発媒体には、例えば、光ディスクまたは磁気ディスクが含まれ、記憶デバイス７１０等である。揮発性媒体には、ダイナミックメモリであるメインメモリ７０６等が含まれる。伝送媒体には、同軸ケーブル、銅ワイヤ、光ファイバが含まれ、バス７０２を含むワイヤも含まれる。伝送媒体は、音波や光波であって、無線通信や赤外線データ通信中に生成されるものの形態を取ることもできる。
【００４６】
コンピュータ読み取り可能媒体の一般的な形態には次のものが含まれる。例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、その他の磁気媒体、ＣＤ−ＲＯＭその他の光媒体、パンチカード、紙テープ、その他の穴のパターンを有する物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、その他のメモリチップまたはカートリッジ、以下に説明する搬送波、コンピュータが読み取れるその他のいかなる媒体が含まれる。
【００４７】
プロセッサ７０４が実行する１つ以上の命令の１つ以上のシーケンスの搬送には、コンピュータ読み取り可能媒体の様々な形態が使用される。例えば、命令は最初にリモートのコンピュータの磁気ディスク上に担われていてもよい。リモートコンピュータは、その命令をそのダイナミックメモリにロードして、モデムを用いて電話回線を介してその命令を送信することができる。コンピュータシステム７００にあるモデムが、電話回線上のデータを受信し、赤外トランスミッタを用いてそのデータを赤外信号に変換することができる。バス７０２に結合された赤外線検出器が赤外線信号で搬送されるデータを受信して、そのデータをバス７０２上にのせることができる。バス７０２は、そのデータをメインメモリ７０６に送り、プロセッサ７０４はそのメインメモリ７０６から命令を読み出して実行する。メインメモリ７０６が受け取った命令は、プロセッサ７０４が実行する前か後に、任意的に、記憶デバイス７１０に記憶されてもよい。
【００４８】
コンピュータシステム７００は、バス７０２に結合した通信インターフェイス７１８も含む。通信インターフェイス７１８は、ローカルネットワーク７２２に接続されたネットワークリンク７２０に結合した双方向データ通信を提供する。例えば、通信インターフェイス７１８は、統合デジタルサービスネットワーク（ＩＳＤＮ）カードまたはモデムであって、対応するタイプの電話回線へのデータ通信接続を提供してもよい。他の例として、通信インターフェイス７１８は、ローカルエリアネットワーク（ＬＡＮ）カードであって、互換性のあるＬＡＮへのデータ通信接続を提供してもよい。無線リンクで実装してもよい。かかる実装では、通信インターフェイス７１８は、いろいろなタイプの情報を表すデジタルデータストリームを搬送する電気的、電磁気的、または光学的信号を送受信する。
【００４９】
ネットワークリンク７２０は、一般的には、１つ以上のネットワークを介して他のデータデバイスへのデータ通信を提供する。例えば、ネットワークリンク７２０は、ホストコンピュータ７２４またはインターネットサービスプロバイダ（ＩＳＰ）７２６により運営されているデータ機器へのローカルネットワーク７２２を介した通信を提供する。ＩＳＰ７２６は、これに対して、現在は一般的にインターネット７２８と呼ばれている、世界規模のパケットデータ通信ネットワークを介してデータ通信サービスを提供する。ローカルネットワーク７２２とインターネット７２８は、両方とも、デジタルデータストリームを担う電気的、電磁気的、または光学的信号を使用する。様々なネットワーク中の信号やネットワークリンク７２０と通信インターフェイス７１８上の信号は、コンピュータシステム７００との間でデジタルデータを搬送し、情報を伝送する搬送波の形態例である。
【００５０】
コンピュータシステム７００は、ネットワーク、ネットワークリンク７２０、及び通信インターフェイス７１８を介して、メッセージを送信しプログラムコードを含むデータを受信することができる。インターネットの例では、サーバ７３０は、インターネット７２８、ＩＳＰ７２６、ローカルネットワーク７２２、及び通信インターフェイス７１８を介して、要求されたアプリケーションプログラムのコードを送信してもよい。本発明によると、かかるダウンロードされたアプリケーションにより、ここに説明したように選択されたネットワーク要素を監視するように監視システムを設定できる。プロセッサ７０４は、受信しつつ受信したコードを実行してもよいし、後で実行するために記憶デバイス７１０またはその他の不揮発性記憶装置に記憶してもよい。このように、コンピュータシステム７００は、搬送波の形態でアプリケーションコードを取得してもよい。
【００５１】
以上、明細書では本発明の具体的な実施形態を説明した。しかし、本発明の精神と範囲から逸脱することなく、本発明のかかる実施形態をいろいろと修正したり変更したりすることができる。したがって、明細書と図面は例示であって限定ではないと考えるべきである。
【図面の簡単な説明】
【００５２】
【図１】ポストスクリプトドライバがポストスクリプトプリンタのために非ポストスクリプトコマンドをポストスクリプトコマンドにどのように変換するかを示すブロック図である。
【図２】本発明の一実施形態による、異なる複数のプリンタドライバを有するプリンタドライバクラスの例を示すブロック図である。
【図３】本発明の一実施形態による、異なる複数のプリンタドライバを有するプリンタクラスキューの例を示すブロック図である。
【図４】本発明の一実施形態による、印刷装置とＭＩＭＥキューテーブル間の関係の例を示すブロック図である。
【図５】本発明の一実施形態による、印刷データストリームを処理するプリンタドライバを印刷データストリームのＭＩＭＥタイプに基づき自動的に選択する方法の例を示すフロー図である。
【図６】本発明の一実施形態による、印刷データストリームのＭＩＭＥタイプに基づきその印刷データストリームを処理するプリンタドライバが自動的に選択されるシステムの例を示すブロック図である。
【図７】本発明の一実施形態を実装するコンピュータ装置を示すブロック図である。
【符号の説明】
【００５３】
２０２  プリンタドライバクラス
２０４  ポストスクリプトドライバ
２０６  PDFドライバ
２０８  PCL5ドライバ
２１０  PCL-XLドライバ
２１２  ＭＩＭＥ：ポストスクリプト
２１４  ＭＩＭＥ：PDF
２１６  ＭＩＭＥ：PCL5
２１８  ＭＩＭＥ：PCL-XL/ASCII
３０２  プリンタクラスキュー
３０４  プリンタポストスクリプトキュー
３０６  プリンタPDFキュー
３０８  プリンタPCL5キュー
３１０  プリンタPCL-XLキュー
４０２  オペレーティングシステム
４０４  印刷サブシステム
４０６  インストール済みプリンタテーブル
４０８  ＭＩＭＥキューテーブル
４１０  ＭＩＭＥキューテーブル
７０２  バス
７０４  プロセッサ
７０６  メインメモリ
７０８  ROM
７１０  記憶装置
７１２  ディスプレイ
７１４  入力装置
７１６  カーソル制御
７１８  通信インターフェイス
７２０  ネットワークリンク
７２２  ローカルネットワーク
７２４  ホスト
７２６  ISP
７２８  インターネット
７３０  サーバ
【図１】
2007200324.tif 000003
【図２】
2007200324.tif 000004
【図３】
2007200324.tif 000005
【図４】
2007200324.tif 000006
【図５】
2007200324.tif 000007
【図６】
2007200324.tif 000008
【図７】
2007200324.tif 000009