JP4926735B2 - ドライバーレスクライアントによるネットワーク印刷 - Google Patents

ドライバーレスクライアントによるネットワーク印刷 Download PDF

Info

Publication number
JP4926735B2
JP4926735B2 JP2007018037A JP2007018037A JP4926735B2 JP 4926735 B2 JP4926735 B2 JP 4926735B2 JP 2007018037 A JP2007018037 A JP 2007018037A JP 2007018037 A JP2007018037 A JP 2007018037A JP 4926735 B2 JP4926735 B2 JP 4926735B2
Authority
JP
Japan
Prior art keywords
electronic document
client
printing
printing device
print
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007018037A
Other languages
English (en)
Other versions
JP2007207237A (ja
JP2007207237A5 (ja
Inventor
ワン ヤオ−ティアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2007207237A publication Critical patent/JP2007207237A/ja
Publication of JP2007207237A5 publication Critical patent/JP2007207237A5/ja
Application granted granted Critical
Publication of JP4926735B2 publication Critical patent/JP4926735B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1226Discovery of devices having required properties
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1228Printing driverless or using generic drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、インストールされているプリンタドライバを使用せずに電子文書を印刷するクライアントに関する。
このセクションで説明するアプローチは、達成しようとすることができるものであるが、必ずしも以前に思いついたものや達成しようと試みたものではない。それゆえ、特に注意しない限り、このセクションに記載したアプローチはいずれもこのセクションに記載したことをもって先行技術であると考えるべきではない。
多数のアプリケーションにおいてプリンタを用いてデータを印刷することができる。各アプリケーションが、サポートするプリンタモデルの技術的詳細事項を知らなくてもよいように、アプリケーションを実行する多数のクライアントはプリンタドライバを使用する。プリンタドライバはクライアントにインストールされているソフトウェアの一部である。プリンタドライバはデータをあるプリンタモデルが読める形式に変換し、アプリケーションが、プリンタが理解できる形式に印刷すべきデータを変換する責務を緩和している。プリンタドライバのインストールは、クライアントのオペレーティングシステムへのプリンタドライバの登録を伴う。
プリンタドライバの動作を例示すると、ユーザがアプリケーションに電子文書をあるプリンタで印刷するように命令すると、アプリケーションはクライアントのオペレーティングシステムをコール(call)する。オペレーティングシステムは、次に、そのプリンタに関連するプリンタドライバを使用して電子文書をそのプリンタが読める形式に変換する。変換された電子文書は設定データを含む。その設定データはユーザがその文書をどのように印刷することを望んでいるか特定するものである。その後、クライアントマシンは、変換した電子文書をプリンタに送信する。変換された電子文書はそのプリンタが処理できる形式で記述(render)されているので、そのプリンタは、それに含まれる設定データに従って、変換された電子文書のコピーを印刷できる。
クライアント側にプリンタドライバを置くといくつかの不利益がある。クライアントにあるプリンタモデルに印刷させるには、そのプリンタモデルのメーカーが、そのクライアントが使用できるプリンタドライバを用意しなければならない。通常、これはクライアントが使用しているオペレーティングシステムがプリンタドライバを利用できるようにすることである。しかし、プリンタドライバを作るのに必要なリソースがあっても、各タイプのオペレーティングシステムが利用できるプリンタドライバをそのメーカーが作るのは費用効率的(cost-effective)でないかも知れない。例えば、プリンタメーカーによってはリナックスオペレーティングシステムで動作するクライアント用のプリンタドライバを用意しないところもある。結果として、リナックスオペレーティングシステムで動作するクライアントは、それらのプリンタで印刷できない。
プリンタドライバが用意されたとしても、それをクライアントにインストールしなければならない。プリンタドライバのインストールには、一般的なユーザの能力を超えるレベルの能力が必要である。また、プリンタドライバのインストールにはある程度の時間と労力が必要である。インストール回数が多くなると大きなコストとフラストレーションが生じるかも知れない。
そのため、クライアントから電子文書を印刷する方法であって上記の不利益が生じないものが望まれる。
クライアントがそれにインストールされたプリンタドライバ(クライアントサイドプリンタドライバ)を用いずに電子文書を印刷させる方法を提供する。
本発明の実施形態は、クライアントはネットワーク上の印刷装置の存在を検知することができ、その印刷装置と通信してその印刷能力を確認し、クライアントサイドのプリンタドライバをインストールする必要を無くすとの洞察によるものである。
一実施形態では、クライアントはネットワーク上で(1つ以上の)印刷装置を見つける。クライアントは発見した印刷装置と通信をして、その印刷装置がサポートしている印刷機能を特定する。クライアントは、選択された印刷装置に電子文書を印刷する要求を受信すると、その電子文書と印刷設定データを選択された印刷装置に送信する。クライアントは、選択された印刷装置がサポートしている印刷機能について通知されると、その電子文書と印刷設定データをその選択された印刷装置に、その選択された印刷装置が読める形式で送ることができる。有利にも、クライアントは、クライアント側のプリンタドライバがインストールされていなくても、電子文書を任意タイプの印刷装置で印刷し得る。
以下の詳細な説明では、説明を目的として、ここに説明する本発明の実施形態を完全に理解してもらうために、具体的な詳細事項を記載する。しかし、言うまでもなく、ここに説明する本発明の実施形態はこれらの詳細事項がなくても実施することができる。他の場合では、ここに説明する本発明の実施形態を不必要に不明瞭にしないように、ブロック図に周知の構造とデバイスを示す。
機能概要
好都合にも、本発明の実施形態により、クライアント側のプリンタドライバを使用せずに電子文書を印刷するクライアントが提供される。一実施形態では、クライアントはネットワーク上で(1つ以上の)印刷装置を見つける。例えば、クライアントは利用可能な印刷装置の各々からメッセージを受信して、ネットワーク上にある印刷装置を特定する。利用可能な各印刷装置は、その印刷装置がサービスをできるようになった時にかかるメッセージを送信してもよいし、クライアントから送信された別のメッセージを受信した時にそれに応答してかかるメッセージを送信してもよい。
クライアントは発見した印刷装置と通信をして、その印刷装置がサポートしている印刷機能を特定する。例えば、クライアントと発見された印刷装置はメッセージを交換して、その発見された印刷装置がサポートしている印刷機能をクライアントに通知してもよい。通知される印刷機能は、発見された印刷装置が読める電子文書形式や発見された印刷装置が異なる方法で電子文書を印刷できる場合のその方法などである。
クライアントはユーザに、発見されたすべての印刷装置と各印刷装置がサポートしている印刷機能とを見せるインターフェイスを提示することもできる。ユーザはそのインターフェイスを用いて、選択した印刷装置に電子文書を印刷する要求を発行してもよい。その要求は、ユーザが指示したやり方で、選択した印刷装置がサポートする印刷機能を用いてその電子文書を印刷する命令である。
クライアントは、電子文書の印刷要求を受信すると、電子文書を送信し選択された印刷装置に電子文書と印刷設定データを送信する。
印刷設定データは、選択された印刷装置がサポートしている印刷機能を用いてどのように電子文書を印刷するか、その印刷装置に指示するデータである。クライアントは、選択された印刷装置がサポートしている印刷機能について通知されると、その電子文書をその選択された印刷装置が読める形式に変換する必要があるかも知れない。
印刷設定データは電子文書とは別のものであるが、両者の形式はその選択された印刷装置が読めるものである。電子文書と印刷設定データはそれぞれ、周知のプロトコルで記述され得る。例えば、電子文書は、印刷装置に送信された時は、周知のページ記述言語(PDL)を用いて表されており、印刷設定データは、その印刷装置に送信された時は、相互運用可能なマシン間のインターラクションをサポートするプロトコルを用いて表現されていてもよい。そのプロトコルはウェブサービスプロトコル等である。このウェブサービスプロトコルは、ワールドワイドウェブ・コンソーシアム(W3C)が作りサポートしている公開プロトコルである。印刷装置は電子文書の印刷を準備するが、この準備は、その電子文書を受信時の表現形式から、その印刷装置の印刷エンジンが処理できるネイティブフォーマットの表現形式に変換して行う。有利にも、クライアントは、クライアント側のプリンタドライバがインストールされていなくても、電子文書を任意タイプの印刷装置で印刷し得る。
本発明の一実施形態の機能概要を説明したので、ここで一実施形態のアーキテクチャを説明する。
アーキテクチャの概要
図1は、本発明の一実施形態によるシステム100を示すブロック図である。簡明な例を挙げるため、システム100には2つの印刷装置と1つのクライアントのみが描かれている。しかし、本発明の実施形態では、任意数の印刷装置やクライアントを含んでいてもよい。
一実施形態では、システム100はネットワーク102、クライアント110、及び印刷装置120と130を含む。ネットワーク102は、システム100中のクライアントと印刷装置との間のデータ交換を提供する任意の媒体またはメカニズムにより実現される。ネットワーク102の例としては、これに限定されないが、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、イーサネット(登録商標)、インターネット等のネットワークが含まれる。ネットワーク102は、地上波リンク、衛星リンク、有線リンク、またはワイヤレスリンクを1つ以上用いて実施してもよい。
クライアント110は、ここでは、印刷装置にデータの印刷要求を出す任意の媒体またはメカニズムにより実施され得る。例えば、ユーザはクライアント110を用いて、印刷装置120に電子文書の印刷要求を発行できる。クライアント110の例としては、これらの限定されないが、ソフトウェアアプリケーション、ネットワーク上のノード、ネットワーク機器、ワイヤレス装置、携帯電話、パーソナルコンピュータ、ポータブルデジタルアシスタント(PDA)等が含まれる。
クライアント110は、印刷装置インターフェイスモジュール112を含む。印刷装置インターフェイスモジュール112は、ネットワーク102上の利用可能な印刷装置との通信を提供する任意の媒体またはメカニズムで実施され得る。クライアント110は、印刷装置インターフェイスモジュール112を用いて、ネットワーク102上の利用可能な印刷装置を発見し、その印刷装置と通信して、その印刷装置がサポートしている印刷機能を特定し、1つの印刷装置にデータを送信する。印刷装置インターフェイスモジュール112が実行する機能を以下により詳しく説明する。印刷装置インターフェイスモジュール112は、図1では単一の構成要素(entity)として描いたが、本発明の他の実施形態では、印刷装置インターフェイスモジュール112が実行する機能は2つ以上の構成要素が実行してもよい。
実施形態ではクライアント側のプリンタドライバを必要としない電子文書の印刷に関して主に説明するが、本発明の他の実施形態では、クライアントが必ずしも「文書」とは考えられない他の形式のデータの印刷要求をクライアント100が発行することもできる。説明を明りょうにするため、電子文書の印刷に関して多数の実施形態をここで説明する。しかし、当業者には言うまでもなく、本発明の実施形態は任意タイプのデータであって、必ずしも「文書」とは考えられないタイプのデータの印刷にも利用できる。
印刷装置120と122は、クライアント110から電子文書等の電子形式のデータを受信して、その電子形式のデータを印刷する任意の媒体またはメカニズムにより実施できる。システム100の各印刷装置は、印刷サービスモジュール122と印刷エンジン124を含む。印刷サービスモジュール122は、印刷装置インターフェイスモジュール112と通信して、電子文書と印刷設定データを処理する任意の媒体またはメカニズムにより実施され得る。例えば、印刷サービスモジュール122は、印刷装置インターフェイスモジュール112から電子文書と印刷設定データを受け取り、受け取った電子文書を、PDLで記述されたものから印刷エンジン124が処理できるネイティブフォーマットで記述されたものに変換する。印刷サービスモジュール122が実行する機能を以下により詳しく説明する。印刷サービスモジュール122は、図1では単一の構成要素(entity)として描いたが、本発明の他の実施形態では、印刷サービスモジュール122が実行する機能は2つ以上の構成要素が実行してもよい。
プリンタエンジン124は、印刷機能の実行に関与する印刷装置の構成要素(component)を指す。このように、プリンタエンジン124は、電子文書と印刷設定データを処理して、その印刷設定データに従って印刷装置120に電子文書の印刷コピーを作らせる。
一実施形態(図1には図示せず)では、クライアント110は電子文書の印刷要求を、印刷装置に直接ではなくプリントサーバに発行する。プリントサーバは電子文書の印刷要求の受信に関与する。プリントサーバはそれに接続されている1つ以上の印刷装置に、その印刷要求を送る。このように、プリントサーバは、少なくとも部分的には負荷バランスを考慮して、その印刷要求に対するサービスを行う印刷装置を選択する。
例えば、印刷装置インターフェイスモジュール112がプリントサーバに一組の印刷設定データに従って電子文書の印刷要求を送信した場合、プリントサーバはそれに接続されているどの印刷装置がその要求に対するサービスを提供できその印刷要求に対するサービスに適しているか、負荷バランスアルゴリズムに基づき判断する。その後、プリントサーバは電子文書と印刷設定データを選択した印刷装置に処理のため送信する。印刷サービスモジュールはプリントサーバかそのプリントサーバに接続されている各印刷装置のいずれかに含まれている。
本発明の一実施形態のアーキテクチャ例を説明した。ここで、本発明の一実施形態により電子文書を印刷するクライアントを説明する。
電子文書の印刷
図2は、本発明の一実施形態による、電子文書を印刷する機能ステップを示すフローチャートである。図2の機能ステップを図1のシステム100を参照して説明する。図2の機能ステップは、図2ではリニアに進行するように示したが、実施形態によっては図2に示したのとは異なる順序で実行してもよい。例えば、図2のステップ210と220を同時に実行してもよいし、ステップ210と220をそれぞれ複数回実行してもよいし、ステップ210と220をそれぞれ図2の他のステップと並行して実行してもよい。
ステップ210において、クライアント110はネットワーク140に接続された利用可能な印刷装置を発見する。本明細書において印刷装置を「発見」するとは、その印刷装置を印刷に利用できることを知ることを意味する。一実施形態では、印刷装置インターフェイスモジュール112がステップ210を実行する。例えば、印刷装置インターフェイスモジュール112は、印刷装置120と130が両方とも印刷に利用できることを発見する。
一実施形態では、クライアント110は、印刷装置120と130がネットワーク102上にあり印刷に利用できることを、ネットワーク102を介してブロードキャストメッセージを送ることにより知る(identify)。ブロードキャストメッセージは、すべての利用可能な印刷装置がクライアント110に自ら名乗り出る(identify themselves)ことを要求する。ブロードキャストメッセージを受信すると、印刷装置120と130はそれぞれ、自分が利用可能であるか示すユニキャストメッセージをクライアント110に送信する。
一実施形態では、クライアント110はウェブサービスプロトコルを用いてステップ210を実行してもよい。ウェブサービスプロトコルは相互利用可能な(interoperable)マシン間インターラクションをサポートするように設計されている。ウェブサービスプロトコルはウェブサービスディスカバリと呼ばれるメカニズムにおいて、ウェブサービスプロトコルを用いて通信するように構成された、印刷装置等の装置を発見をもともとサポートしている。
他の実施形態では、クライアント110は、マシン間のインターラクションをサポートするウェブサービスプロトコル以外のプロトコルを用いてステップ210を実行してもよい。結果として、本発明の実施形態は、ステップ210の実行においてウェブサービスプロトコルを利用する必要はなく、マシン間インターラクションをサポートする現在ある、または将来開発される他のプロトコルを使ってもよい。
他の実施形態では、印刷装置がネットワーク102に入るのに応じて、ネットワーク102を介してその印刷装置が印刷要求を受けられることを示すブロードキャストメッセージを送ることにより、ステップ210においてクライアント110が利用可能な印刷装置を発見する。例えば、印刷装置は、リブートされるかスイッチを入れられると、かかるブロードキャストメッセージを送信してもよい。
一実施形態では、ステップ210の実行は、クライアント110がユーザから電子文書印刷要求を受け取るまで遅らせてもよい。例えば、ユーザがテキストエディタアプリケーションを使用していて、「印刷」ボタンを選択したときにステップ210の実行が始まる。このように、クライアント110は、それを操作しているユーザがクライアント110に電子文書の印刷を命令するまで、印刷をできるネットワーク102上で利用可能な印刷装置を知っている必要はない。クライアント110がネットワーク102上の1つ以上の利用可能な印刷装置を発見した後、ステップ220に進む。
ステップ220において、ネットワーク102上に印刷装置を発見した後、クライアント110はその印刷装置と通信して、それがサポートしている印刷機能を特定する。クライアント110は、ステップ210において印刷装置120と130が印刷に利用可能であると発見すると、ステップ220において、印刷装置120と130のそれぞれと通信して、それぞれがサポートしている印刷機能を特定する。一実施形態では、印刷装置インターフェイスモジュール112がステップ210を実行する。例えば、印刷装置インターフェイスモジュール112は、ステップ220において、印刷サービスモジュール122と通信して、印刷装置120がサポートしている印刷機能を特定する。
ステップ220で特定されたある印刷装置の印刷機能は、その印刷装置が電子文書を印刷できる方法が示している。ステップ220で特定される印刷機能のタイプの例としては、これらに限定はされないが、文書フォーマットサポート、カラー機能、フォントサポート、利用可能な仕上げオプション、メディアオプション、及び利用可能なサイズと解像度等が含まれる。
一実施形態では、クライアント110はウェブサービスプロトコルを用いてステップ220を実行してもよい。ウェブサービスプロトコルは、ウェブサービスプロトコルを用いて通信するように構成された、印刷装置等の装置がサポートしている機能を発見をもともとサポートしている。例えば、ウェブサービスメタデータ交換(Web Services-MetadataExchange)仕様書には装置間でいかにメタデータを交換するか記載されており、WSDPrint仕様書は印刷装置の印刷機能を示すメタデータのフォーマットの概要を示している。他の実施形態では、クライアント110は、マシン間のインターラクションをサポートするウェブサービスプロトコル以外のプロトコルを用いてステップ220を実行して、印刷装置がサポートしている印刷機能を判断してもよい。結果として、本発明の実施形態は、ステップ220の実行においてウェブサービスプロトコルを利用する必要はなく、マシン間インターラクションをサポートする現在ある、または将来開発される他のプロトコルを使ってもよい。クライアント110がステップ210において発見された1つ以上の利用可能な印刷装置の印刷機能を特定した後、ステップ230に進む。
ステップ230において、クライアント110は電子文書を印刷するように選択された印刷装置に命令する。最初、印刷装置インターフェイスモジュール112は、ユーザに、発見されたすべての印刷装置と各印刷装置がサポートしている印刷機能とを見せるインターフェイスを提示してもよい。ユーザはそのインターフェイスを用いて印刷したい印刷装置を選択する。ユーザはそのインターフェイスを用いて、選択した印刷装置に電子文書を印刷する要求を発行する。その要求は、ユーザが指示したやり方で、選択した印刷装置がサポートする印刷機能を用いてその電子文書を印刷する命令である。明りょうな例を提供するために、以下の説明では、ステップ230においてユーザはそのインターフェイスを用いて電子文書を印刷装置120に印刷する要求をすると仮定する。
図2に示したように、ステップ230の実行には2つのサブステップ、すなわちステップ232と234が含まれている。ステップ232と234は、そのインターフェイスを用いて、ユーザが印刷装置120に電子文書を印刷する要求をするのに応じて実行される。ステップ232において、クライアント110は電子文書を印刷装置120に送る。一実施形態では、印刷装置インターフェイスモジュール112は、ステップ232において、電子文書を印刷装置120の印刷サービスモジュール122に送る。
一実施形態では、印刷装置インターフェイスモジュール112は、印刷装置120の印刷機能がその電子文書のバージョンをサポートしているか判断する。例えば、電子文書の現在のバージョンはマイクロソフトワード文書等の独自フォーマットである。印刷装置インターフェイスモジュール112は、印刷装置120の印刷機能が電子文書の現在のバージョンをサポートしていないと判断した場合、その電子文書の現在のバージョンをオープンスタンダードの電子文書に変換する。電子文書のオープンスタンダードバージョンは、プリンタ制御言語(Printer Control Language(PCL))、ポータブルドキュメントフォーマット(Portable Document Format(PDF))、リファインド印刷コマンドストリーム(Refined Printing Command Stream(RPCS))、及び(スタンダードページ記述言語(Standard Page Description Language(SPDL))等のページ記述言語(page description language(PDL))を用いてその電子文書を記述したものである。その後、印刷装置インターフェイスモジュール112は、そのオープンスタンダードバージョンの電子文書を印刷サービスモジュール122に送る。
しかし、印刷装置インターフェイスモジュール112は、印刷装置120の印刷機能が電子文書の現在のバージョンをサポートしていると判断した場合、その電子文書の現在のバージョンを印刷サービスモジュール122に送る。例えば、電子文書の現在のバージョンがマイクロソフトワード文書であるとき、印刷装置インターフェイスモジュール112はそのマイクロソフトワード文書を印刷サービスモジュール122に送る。
一実施形態では、クライアント110は、ステップ232で電子文書を送らずに、文書識別データを印刷装置120に送る。文書識別データは選択された印刷装置がその電子文書を読み出せる場所を特定するデータである。例えば、文書識別データは、その電子文書がある、ネットワーク102またはその他のネットワーク上の場所を特定するURLを含む、またはそれに対応する。このように、印刷サービスモジュール122は、文書識別データを受け取ると、文書識別データで特定された場所から電子文書を読み出す。
ステップ234はステップ232と同時に実行される。ステップ234において、クライアント110は印刷設定データを印刷装置120に送る。一実施形態では、ステップ234は、印刷装置インターフェイスモジュール112が印刷設定データを印刷サービスモジュール122に送ることによって実行されてもよい。印刷設定データは、印刷装置120がサポートしている印刷機能を用いて電子文書をどのように印刷するかを印刷装置120に命令するために使われる。
印刷設定データは電子文書とは別である。例えば、ステップ232で送信される電子文書は、印刷設定データを含まない。一実施形態では、印刷設定データは、ステップ232で電子文書または文書識別データを送信するために用いられるのと同じデータストリームまたはデータユニットで、ステップ234において印刷サービスモジュール122に送信される。他の実施形態では、印刷設定データは、電子文書または文書識別データとは別のデータストリームで、印刷サービスモジュール122に送られる。
一実施形態では、印刷設定データはウェブサービスプロトコルを用いて表現される。例えば、ステップ234で送られる印刷設定データは、「印刷チケット(PrintTicket)」と呼ばれるウェブサービスデータ構造で表される。印刷設定データを記述するのに別のデータ構造を用いることもできるので、ウェブサービスプロトコル以外のプロトコルも印刷設定データを記述するのに使用される。クライアント110が選択された印刷装置に命令した後、ステップ240に進む。
ステップ240において、選択された印刷装置(この場合印刷装置120)は、電子文書と印刷設定データを処理して、電子文書を印刷する。一実施形態では、ステップ240は、ステップ230で受信した電子文書と印刷設定データを印刷サービスモジュール122が処理することにより実行される。その後、印刷サービスモジュール122は処理された電子文書と印刷設定データをプリンタエンジン124に送る。その後、プリンタエンジン124は、印刷設定データに従って、処理された電子文書を印刷する。
印刷サービスモジュール122が受け取った電子文書のフォーマットが、印刷エンジン124がもともと処理電気内フォーマットである場合、印刷サービスモジュール122はその電子文書をプリンタエンジン124が処理できるフォーマットに変換する。一実施形態では、印刷サービスモジュール122は、プリンタエンジン124に処理された電子文書と印刷設定データを送る前に、その電子文書をPDLを用いて記述したものから印刷装置の印刷エンジンが処理できるネイティブフォーマットを用いて記述したものに変換することにより、電子文書の印刷準備をする。ネイティブフォーマットを用いて記述された電子文書は印刷設定データを含まない。別の実施形態では、ネイティブフォーマットを用いて記述された電子文書が印刷設定データを含んでもよい。このように、印刷サービスモジュール122は、プリンタエンジン124が処理できる任意のネイティブフォーマット(native format)に電子文書を変換できる。
電子文書と印刷設定データは、印刷サービスモジュール122が受け取った時は互いに別々のものである。結果として、印刷サービスモジュール122は、印刷サービスモジュール122が読めるように構成されている公または独自のプロトコルを用いて、電子文書と印刷設定データを別々に処理する。このように、印刷装置インターフェイスモジュール112が印刷装置モジュール122に送る電子文書と印刷設定データのフォーマットを、印刷サービスモジュール122は常に読むことができる。
クライアントは、クライアント側のプリンタドライバがインストールされていなくても、電子文書を任意タイプの印刷装置で印刷しやすくなる多数の実施形態を説明した。例えば、ユーザは本発明の一実施形態を利用して、ワイヤレスネットワークがサポートされている領域に入り、そのワイヤレスネットワークに含まれたワイヤレス装置を用いて、そのワイヤレスネットワーク上にある印刷装置にクライアントサイドのプリンタドライバをインストールしなくても電子文書を印刷し得る。その結果、本発明の実施形態を利用することにより、クライアントサイドのプリンタドライバをインストールすることによるコスト、労力、時間、精神的負担(frustration)を避けることができる。
実施例
図4は、本発明の一実施形態によるクライアント410と印刷装置450を示すブロック図である。図4のクライアント410と印刷装置450は、クライアントと印刷装置を実施する様々な方法の一例である。であるから、図4はクライアントと印刷装置を実施する唯一の方法を示しているものではなく、他のアプローチを本発明の他の実施形態で使用することは上述のように可能である。
図4に示したように、クライアント410はドライバレス(driverless)である、すなわち、プリンタドライバを有していない。図4の実施形態では、クライアント410は、ユーザインターフェイス412、発見モジュール414、メタデータモジュール416、印刷要求ジェネレータ418、PDLジェネレータ420を含む。ユーザインターフェイス412は、グラフィカルユーザインターフェイスやコマンドラインインターフェイス等のインターフェイスであり、これを用いてユーザはクライアント410に命令やコマンドを発行することができる。例えば、ユーザはユーザインターフェイス412を用いて、印刷装置410に電子文書の印刷要求を発行できる。
発見モジュール414は、印刷に利用できるネットワーク102上の印刷装置を発見する、クライアント410上にある任意のメカニズムを指す。例えば、発見モジュール414は、図2のステップ210において、上で説明したように、ウェブサービスプロトコルを用いて発見する。
メタデータモジュール416は、発見された印刷装置と通信して、その印刷装置がサポートしている印刷機能を特定できる、クライアント410上の任意のメカニズムを指す。例えば、メタデータモジュール416は、上述の通りウェブサービスメタデータエクスチェンジ(Web Services-MetadataExchange)仕様を用いて、図2のステップ220を実行する。
印刷要求ジェネレータ418は、電子文書と印刷設定データを選択された印刷装置に送信できる、クライアント410上の任意のメカニズムを指す。例えば、印刷要求ジェネレータ418は図3のステップ230を実行し得る。
PDLジェネレータ420は、PDLを用いて表現された電子文書のバージョンを生成することができる、クライアント410上にある任意のメカニズムを指す。例えば、ステップ230を参照して上で説明したように、クライアントから選択された印刷装置に送られた電子文書はPDLを用いて表現されている。このように、印刷要求ジェネレータ418が電子文書を選択された印刷装置に送信する要求をする前、標準的PDLジェネレータ420はPDLを用いて表現された電子文書のバージョンを生成する。
図4の印刷装置450は、印刷要求レシーバ452、プリンタドライバ454、及びプリンタドライバ更新モジュール456を含む。印刷要求レシーバ452は、印刷要求を受信できる、印刷装置450上にある任意のメカニズムを指す。一実施形態では、印刷要求は、(a)クライアント410からの電子文書または文書識別データか、(b)クライアント410からの印刷設定データに対応している。以下により詳しく説明するように、一実施形態では、クライアント410はプリンタドライバ選択を印刷要求レシーバ452に送信して、印刷要求に関連した電子文書の処理に印刷装置450がどのプリンタドライバを仕様するか選択させる。
プリンタドライバ454は、プリンタエンジンがデータをラスターデータ化して処理するために使用できるプリンタドライバを指す。印刷装置450が有するプリンタドライバの数はいくつでもよい。
プリンタドライバ更新モジュール456は、印刷装置450上にあるプリンタドライバを管理できる、印刷層津450上にある任意のメカニズムを指す。例えば、管理者はプリンタドライバ更新モジュール456を用いて、印刷層津450上にあるプリンタドライバを追加、削除、または修正することができる。
図5は、本発明の一実施形態による、印刷装置を発見してその印刷装置の印刷機能を読み出すクライアントの機能ステップを示すフローチャートである。図5は、印刷装置の印刷機能をクライアントがどのように読み出すかを示す例である。であるから、図5のフローチャートは、クライアントが印刷装置の印刷機能を読み出す唯一の方法を示しているものではなく、他のアプローチを本発明の他の実施形態で使用することは上述のように可能である。
最初に、ステップ510において、クライアントのスイッチまたはパワーをオンにする。ステップ520において、クライアントは利用可能な印刷装置がそれ自身をクライアントに通知する要求をネットワークを介してブロードキャストする。ステップ520は発見モジュール414により実行されてもよい。同時に、ステップ520において、クライアントは利用可能な印刷装置から受け取る全ての通信を聴いている。例えば、ステップ520において、クライアントは上記のようにウェブサービスプロトコルを用いて印刷装置を発見する。
印刷装置を発見すると、ステップ530において、クライアントはその発見された印刷装置と通信してその印刷機能を判断する。例えば、クライアントは、上述のように、ウェブサービスプロトコルのウェブサービス−メタデータエクスチェンジ仕様を実行することにより、ステップ530を実行する。ステップ530はメタデータモジュール416により実行されてもよい。
一実施形態では、クライアントは印刷装置が満たさなければならない最低条件を決めてもよい。例えば、ユーザは、ある機能をサポートしている印刷装置のみをその最低条件を満たすように、クライアントを設定し得る。ステップ530を実行した後、クライアントが決めた最低条件を満たす印刷装置が見つかった場合、ステップ540を実行する。ステップ540では、発見された印刷装置の印刷機能に関する情報をクライアントに格納する。このように、クライアントは、発見された印刷装置の印刷機能に関する情報を、その装置に電子文書の印刷要求を出すために使用するために後で読み出すことができる。
図6は、本発明の一実施形態による、印刷装置において電子文書を印刷させるクライアントの機能ステップを示すフローチャートである。図6のフローチャートは、クライアントが電子文書を印刷装置で印刷する様々な方法の一例を示す。であるから、図6はクライアントが印刷装置に電子文書を印刷する唯一の方法を示しているものではなく、他のアプローチを本発明の他の実施形態で使用することは上述のように可能である。
ステップ610では、ユーザが電子文書の印刷要求を発行する。例えば、ユーザはユーザインターフェイス412を用いて要求を発行する。ステップ612において、クライアントは利用可能な印刷装置のリストを読み出す。利用可能な印刷装置のリストの構成は、図5を参照して説明したように決定される。利用可能な印刷装置のリストはユーザインターフェイス412を用いてユーザに提示される。ステップ614において、ユーザは、利用可能な印刷装置から、電子文書を印刷する印刷装置を選択する。例えば、ユーザはユーザインターフェイス412を用いてその印刷装置を選択できる。クライアントは、ユーザインターフェイス412を用いてユーザが選択した印刷装置(「選択された印刷装置」)を識別してもよい。ステップ616において、クライアントはユーザからカスタム設定データを受け取る。ユーザはユーザインターフェイス412を用いてクライアントにカスタム設定データを送ってもよい。
一実施形態では、ステップ616は、ステップ614またはステップ612の実行より先に実行されてもよい。係る実施形態では、クライアントは、ステップ610より後でステップ622より前の任意の時に、ユーザインターフェイス412を介してユーザからカスタム設定データを受け取ることができる。係る実施形態では、クライアントはユーザから印刷したい利用可能印刷装置の指示を受けない場合、ユーザが指定したカスタム設定データをサポートできない印刷装置を、その電子文書を印刷するのに使用する利用可能印刷装置のリストから削除してもよい。例えば、利用可能印刷装置のリストにある或る装置は、受け取ったカスタム設定データに従った電子文書の印刷をサポートしていないかも知れない。このように、クライアントは、利用可能印刷装置のリストにある各印刷装置がサポートする印刷機能に関する情報を保持しているので、電子文書を印刷するのに使用できる利用可能印刷装置のリストを調節(例えば、カスタム設定データをサポートしない印刷装置を削除)して、各利用可能印刷装置が受け取ったカスタム設定データにより電子文書を確実に印刷できるようにする。
かかる実施形態の例として、ユーザがステップ614の前にユーザインターフェイス412を介して(ステップ616の)カスタム設定データを指定したと仮定する。クライアントは最初に、ユーザインターフェイス412を介してユーザに、電子文書の印刷に使用し得る10代の印刷装置のリストを示す。ユーザがカスタム設定データをクライアントに送ると、クライアントは、10台中6台の印刷装置のみがカスタム設定データで指定された印刷機能をサポートできると判断する。それゆえ、クライアントは、利用可能印刷装置のリストを調整して、カスタム設定データで指定された印刷機能をサポートできる6台の印刷装置のみを含むようにする。クライアントはユーザインターフェイス412を介してユーザにその6台の印刷装置のリストを提示する。ユーザは、電子文書を印刷したい印刷装置をその6台の印刷装置から選択する(ステップ614)。
一実施形態(図6には図示せず)において、クライアントは以下に説明するステップ618と620の実行後にユーザからカスタム設定データを受け取ってもよい。このように、ステップ616は、ステップ618と620等の図6に示したステップを実行した後に実行してもよい。換言すれば、一実施形態では、クライアントは(ステップ622で説明する)印刷チケットを作る前の任意の時点でユーザからカスタム設定データを受け取ることができる。このように、電子文書を変換して、ステップ616の実行の前に、(以下に詳細に説明するステップ620の)PDLを用いて表現する。
ステップ618において、印刷すべき電子文書が選択された印刷装置が理解できるフォーマットで表されているかどうか、判断する。ステップ618における判断が肯定的である場合、ステップ620において、電子文書を変換してPDLを用いて表現し、ステップ622に進む。ステップ618の判断が否定的である場合、印刷チケットを生成する。上に説明したように、印刷チケットは印刷設定データをウェブサービスデータ構造である。
ステップ624において、クライアントは電子文書と印刷チケットを選択された印刷装置に送信する。ステップ610から624はクライアントで実行される。図6に示したその余のステップは、選択された印刷装置で実行される。
選択された印刷装置が有するプリンタドライバの数はいくつでもよい。このように、ステップ626において、選択された印刷装置が電子文書と印刷チケットを受け取った後、選択された印刷装置は適当なプリンタドライバを選択して電子文書と印刷チケットを処理する。選択された印刷装置は単一のプリンタドライバのみを有する場合もあるので、ステップ626は任意的であることに留意して欲しい。ステップ628において、プリンタドライバは電子文書をラスターデータ化する。
ステップ630において、プリンタドライバは印刷チケットをプリンタ命令に変換する。ステップ630の実行は任意的である。例えば、プリンタエンジンはその印刷チケットをもとから処理でき、印刷チケットをプリンタ命令に返還する必要はないかも知れない。ステップ632において、プリンタエンジンは、印刷チケットで指定された印刷設定データに応じて選択された印刷装置で印刷する。
図7は、本発明の一実施形態によるデータフロー例を示すブロック図である。図7のデータフロー例は、クライアント710と印刷装置750が相互にインターラクトできる様々な方法の一例である。であるから、図7はクライアントと印刷装置が相互にインターラクト(interact)する唯一の方法を示しているものではなく、他のアプローチを本発明の他の実施形態で使用することは上述のように可能である。例えば、図7に示したいくつかの機能的構成要素は、図7に示していない他の実施形態では、単一の構成要素にすることもできる。クライアント印刷システム712は、図4に示した発見モジュール414、メタデータモジュール416、及び印刷要求ジェネレータ418を表す。
クライアント710のクライアント印刷システム712は印刷装置750に発見要求を発行する。発見要求は印刷装置750が印刷装置発見モジュール752で受け取る。印刷装置発見モジュール752は印刷装置750を識別する装置データを返す。その装置データは印刷装置のタイプやネットワークアドレス等の、印刷装置750に関する情報を含む。
クライアント印刷システム712は、印刷装置750にメタデータ要求を発行する。メタデータ要求は印刷装置750の印刷装置メタデータモジュール754が受け取る。印刷装置メタデータモジュール754は、印刷装置750がサポートする印刷機能を特定するメタデータ応答を返す。
必要に応じてクライアント印刷システム712は電子文書を変換して、PDLを用いて表現する。そのためには、クライアント印刷システム712は、PDLジェネレータ714に命令して、電子文書をPDLを用いて表現させる。PDLジェネレータ714はいかなるタイプのテキスト及び/またはグラフィックスを変換してPDLを用いて表現させる。
クライアント印刷システム712は、電子文書と印刷チケットを印刷装置750に送る。印刷要求レシーバ756は、クライアント印刷システム712から送られた電子文書と印刷チケットを受け取る。印刷要求レシーバ756は、電子文書と印刷チケットをプリンタドライバ758に送る。プリンタドライバ758は電子文書と印刷チケットをラスターデータ化し、ラスターデータ化した電子文書と印刷チケットをプリンタエンジン760に送る。プリンタエンジン760は、印刷チケットに含まれるカスタム設定データに従って、電子文書を印刷する。
実施メカニズム
一実施形態では、システム100の各クライアントと印刷装置はコンピュータシステム上で実施することができる。図3は、本発明の一実施形態を実装するコンピュータシステム300を示すブロック図である。コンピュータシステム300は、情報をやりとりする通信メカニズムすなわちバス302と、バス302に結合した情報を処理するプロセッサ304とを有する。コンピュータシステム300は、さらに、情報とプロセッサ304により実行される命令とを格納する、バス302に結合したランダムアクセスメモリ(RAM)またはその他のダイナミック記憶装置等のメインメモリ306を含む。メインメモリ306は、プロセッサ304による命令の実行中に、一時的変数やその他の中間情報を記憶するために使用されてもよい。コンピュータシステム300は、さらに、プロセッサ304のために静的な情報と命令とを記憶する、バス302に結合された読み出し専用メモリ(ROM)308その他の静的記憶デバイスを含む。記憶デバイス310である磁気ディスクや光ディスク等が、情報と命令を格納するために設けられ、バス302に結合される。
コンピュータユーザに情報を表示するため、コンピュータシステム300は、バス302を介して、ディスプレイ312である陰極線管(CRT)等に結合されてもよい。プロセッサ304に情報と要求選択を送るために、英数字その他のキーを含む入力装置314がバス302に結合される。他のタイプのユーザ入力装置として、カーソル制御部316であるマウス、トラックボール、またはカーソル方向キー等がある。これらは、プロセッサ304に方向情報と要求選択を送り、ディスプレイ312上のカーソルの動きを制御する。この入力装置は、典型的には2つの軸、すなわち第1の軸(例えばx軸)と第2の軸(例えばy軸)で2自由度を有し、これにより平面内の点を特定することができる。
本発明は、個々に説明した方法を実装するためのコンピュータシステム300の使用にも関する。本発明の一実施形態によると、これらの方法のコンピュータシステム300による実行は、メインメモリ306に含まれる1つ以上の命令の1つ以上のシーケンスをプロセッサ304が実行することにより行われる。かかる命令は、他の機械読み取り可能媒体である記憶デバイス310等から、メインメモリ306に読み込まれてもよい。メインメモリ306に含まれる命令シーケンスの実行により、プロセッサ304はここに説明したプロセスステップを実行する。他の実施形態では、本発明の実装には、ソフトウェア命令に替えて、またはこれと組み合わせて、ソフトウェアがハードウェアに組み込まれた回路を使用してもよい。このように、本発明の実施形態は、ハードウェア回路とソフトウェアの特定の組み合わせに限定はされない。
ここで、「機械読み取り可能媒体」との用語は、機械に特定のやり方で動作させるデータを提供するいかなる媒体も指す。コンピュータシステム300を用いて実装した一実施形態では、例えば、プロセッサ304が実行する命令を提供するために、様々な機械読み取り可能媒体が使用される。かかる媒体は、不揮発性媒体、揮発性媒体、伝送媒体等の多数の形式をとることができるが、これらに限定はされない。不揮発媒体には、例えば、光ディスクまたは磁気ディスクが含まれ、記憶デバイス310等である。揮発性媒体には、ダイナミックメモリであるメインメモリ306等が含まれる。伝送媒体には、同軸ケーブル、銅ワイヤ、光ファイバが含まれ、バス302を含むワイヤも含まれる。伝送媒体は、音波や光波であって、無線通信や赤外線データ通信中に生成されるものの形態を取ることもできる。かかる媒体はすべて有体物であり、その媒体により担われる命令がそれを読み取る物理的メカニズムにより検出可能でなければならない。
機械読み取り可能媒体の一般的な形態には次のものが含まれる。例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、その他の磁気媒体、CD−ROMその他の光媒体、パンチカード、紙テープ、その他の穴のパターンを有する物理媒体、RAM、PROM、EPROM、フラッシュEPROM、その他のメモリチップまたはカートリッジ、以下に説明する搬送波、コンピュータが読み取れるその他のいかなる媒体。
プロセッサ304が実行する1つ以上の命令の1つ以上のシーケンスの搬送には、機械読み取り可能媒体の様々な形態が使用される。例えば、命令は最初にリモートのコンピュータの磁気ディスク上に担われていてもよい。リモートコンピュータは、その命令をそのダイナミックメモリにロードして、モデムを用いて電話回線を介してその命令を送信することができる。コンピュータシステム300にあるモデムが、電話回線上のデータを受信し、赤外トランスミッタを用いてそのデータを赤外信号に変換することができる。赤外検出器が赤外信号で搬送されたそのデータを受信して、適当な回路がそのデータをバス302に載せることができる。バス302は、そのデータをメインメモリ306に送り、プロセッサ304はそのメインメモリ306から命令を読み出して実行する。メインメモリ306が受け取った命令は、プロセッサ304が実行する前か後に、任意的に、記憶装置310に記憶されてもよい。
コンピュータシステム300は、バス302に結合した通信インターフェイス318も含む。通信インターフェイス318は、ローカルネットワーク322に接続されたネットワークリンク320に結合した双方向データ通信を提供する。例えば、通信インターフェイス318は、統合デジタルサービスネットワーク(ISDN)カードまたはモデムであって、対応するタイプの電話回線へのデータ通信接続を提供してもよい。他の例として、通信インターフェイス318は、ローカルエリアネットワーク(LAN)カードであって、互換性のあるLANへのデータ通信接続を提供してもよい。無線リンクで実装してもよい。かかる実装では、通信インターフェイス318は、いろいろなタイプの情報を表すデジタルデータストリームを搬送する電気的、電磁気的、または光学的信号を送受信する。
ネットワークリンク320は、一般的には、1つ以上のネットワークを介して他のデータデバイスへのデータ通信を提供する。例えば、ネットワークリンク320は、ホストコンピュータ324またはインターネットサービスプロバイダ(ISP)326により運営されているデータ機器へのローカルネットワーク322を介した通信を提供する。ISP326は、これに対して、現在は一般的に「インターネット」328と呼ばれている、世界規模のパケットデータ通信ネットワークを介してデータ通信サービスを提供する。ローカルネットワーク322とインターネット328は、両方とも、デジタルデータストリームを担う電気的、電磁気的、または光学的信号を使用する。様々なネットワーク中の信号やネットワークリンク320と通信インターフェイス318上の信号は、コンピュータシステム300との間でデジタルデータを搬送し、情報を伝送する搬送波の形態例である。
コンピュータシステム300は、ネットワーク、ネットワークリンク320、及び通信インターフェイス318を介して、メッセージを送信しプログラムコードを含むデータを受信することができる。インターネットの例では、サーバ330は、インターネット328、ISP326、ローカルネットワーク322、及び通信インターフェイス318を介して、要求されたアプリケーションプログラムのコードを送信してもよい。
受信したコードは、受信しつつプロセッサ304により実行されてもよいし、後で実行するために記憶装置310またはその他の不揮発性記憶装置に記憶されてもよい。このように、コンピュータシステム300は、搬送波の形態でアプリケーションコードを取得してもよい。
上記の通り明細書では、実施ごとに代わり得る多数の詳細を参照して本発明の実施形態を説明した。このように、本発明であり、出願人が本発明であると意図しているものを示すのは、願書に添付した特許請求の範囲であり、特許後の訂正も含め特許された請求項である。かかる請求項に含まれる用語についてここで明示的に記載した定義は、請求項で使用されるかかる用語の意味を司るものである。よって、請求項中に明示的に含まれていない限定、要素、特性、特徴、利益、または属性は、いかなる方法によっても、かかる請求項の範囲を限定するものではない。したがって、明細書と図面は例示であって限定ではないと考えるべきである。
本発明の実施形態は、添付した図面において実施例によって示すが、本発明を限定するものではない。同じ参照数字は同じ要素を示す。
本発明の一実施形態によるシステム例を示すブロック図である。 本発明の一実施形態による、電子文書を印刷する機能ステップを示すフローチャートである。 本発明の一実施形態を実施するコンピュータシステムを示すブロック図である。 本発明の一実施形態によるクライアントと印刷装置を示すブロック図である。 本発明の一実施形態による、印刷装置を発見してその印刷装置の印刷機能を読み出すクライアントの機能ステップを示すフローチャートである。 本発明の一実施形態による、印刷装置において電子文書を印刷させるクライアントの機能ステップを示すフローチャートである。 本発明の一実施形態によるデータフロー例を示すブロック図である。
符号の説明
110 クライアント
120 印刷装置
122 印刷サービスモジュール
124 プリンタエンジン
130 印刷装置
302 バス
304 プロセッサ
306 メインメモリ
308 ROM
310 記憶装置
312 ディスプレイ
314 入力装置
316 カーソル制御部
318 通信インターフェイス
320 ネットワークリンク
322 ローカルネットワーク
324 ホスト
326 ISP
328 インターネット
330 サーバ
410 ドライバーレスクライアント
412 ユーザインターフェイス
414 発見モジュール
416 メタデータモジュール
418 印刷要求ジェネレータ
420 PDLジェネレータ
450 印刷装置
452 印刷要求レシーバ
454 プリンタドライバ
456 プリンタドライバ更新モジュール
710 クライアント
712 クライアント印刷システム
714 PDLジェネレータ
750 印刷装置
752 印刷装置発見モジュール
754 印刷装置メタデータモジュール
756 印刷要求レシーバ
758 プリンタドライバ
760 プリンタエンジン

Claims (12)

  1. 電子文書の印刷方法であって、
    クライアントが1つ以上の利用可能な印刷装置の各々からネットワークを介してメッセージを受信することにより前記1つ以上の利用可能な印刷装置を特定する段階と、
    前記クライアントが前記1つ以上の利用可能な印刷装置と通信して前記1つ以上の利用可能な印刷装置がサポートしている印刷機能を特定する段階と、
    前記クライアントが前記1つ以上の印刷装置の選択された印刷装置で電子文書を印刷する要求を受け取ると、前記クライアントが、
    前記電子文書を前記選択された印刷装置に送信する段階と
    前記選択された印刷装置がサポートする印刷機能を用いて前記電子文書をいかに印刷するか、前記選択された印刷装置に命令するデータである印刷設定データを、前記選択された印刷装置に送信することにより前記電子文書を印刷させる段階とを有し
    前記電子文書は前記印刷設定データとは分かれており、
    前記クライアントが前記電子文書を印刷させる段階は、さらに、
    前記選択された印刷装置の印刷機能が前記電子文書の現在のバージョンをサポートしているか判断する段階であって、前記電子文書の現在のバージョンは前記クライアントが前記電子文書の印刷要求を受信したときに前記電子文書を表現するために使用されたフォーマットに対応する段階と、
    前記選択された印刷装置の印刷機能が前記電子文書の現在のバージョンをサポートしないと判断すると、前記クライアントが前記電子文書の所定のページ記述言語で記述したバージョンを生成する段階と、
    前記電子文書の前記所定のページ記述言語で記述したバージョンを前記選択された印刷装置に送る段階とを有する、
    方法。
  2. 前記クライアントが前記1つ以上の利用可能な印刷装置を特定する段階は、前記クライアントがユーザから前記電子文書の印刷要求の受信に応じて実行される、請求項1に記載の方法。
  3. 前記印刷設定データは、相互利用可能なマシン間インターラクションをサポートするプロトコルを用いて表現される、請求項1に記載の方法。
  4. 前記クライアントは、全ての利用可能な印刷装置に前記クライアントに自分自身を通知することを要求するブロードキャストメッセージを、ネットワークを介して送るのに応答して、一印刷装置が利用可能であることを示すユニキャストメッセージを受け取る、 請求項1に記載の方法。
  5. 前記一つ以上の利用可能な印刷装置を特定する段階は、前記クライアントが前記1つ以上の利用可能な印刷装置の1つからブロードキャストメッセージを受け取る段階であって、前記1つの利用可能な印刷装置は前記ネットワークに入るのに応じて前記ブロードキャストメッセージを送る、請求項に記載の方法。
  6. 前記クライアントがユーザにインターフェイスを提示して前記1つの利用可能な印刷装置の印刷機能を見せる段階と、
    前記インターフェイスを介して、(a)前記選択された印刷装置と(b)前記選択された印刷装置がサポートする前記印刷機能を用いて前記電子文書をどのように印刷すべきか示すユーザ選択データを受け取る段階とをさらに有する、請求項1に記載の方法。
  7. 電子文書を印刷する命令の1つ以上のシーケンスを担う機械読み取り可能媒体であって、前記命令の1つ以上のシーケンスの1つ以上のプロセッサによる実行により、
    クライアントが1つ以上の利用可能な印刷装置の各々からネットワークを介してメッセージを受信することにより前記1つ以上の利用可能な印刷装置を特定する段階と、
    前記クライアントが前記1つ以上の利用可能な印刷装置と通信して前記1つ以上の利用可能な印刷装置がサポートしている印刷機能を特定する段階と、
    前記クライアントが前記1つ以上の印刷装置の選択された印刷装置で電子文書を印刷する要求を受け取ると、前記クライアントが、
    前記電子文書を前記選択された印刷装置に送信する段階と
    前記選択された印刷装置がサポートする印刷機能を用いて前記電子文書をいかに印刷するか、前記選択された印刷装置に命令するデータである印刷設定データを、前記選択された印刷装置に送信することにより前記電子文書を印刷させる段階とを有し
    前記電子文書は前記印刷設定データとは分かれており、
    前記クライアントが前記電子文書を印刷させる段階は、さらに、
    前記選択された印刷装置の印刷機能が前記電子文書の現在のバージョンをサポートしているか判断する段階であって、前記電子文書の現在のバージョンは前記クライアントが前記電子文書の印刷要求を受信したときに前記電子文書を表現するために使用されたフォーマットに対応する段階と、
    前記選択された印刷装置の印刷機能が前記電子文書の現在のバージョンをサポートしないと判断すると、前記クライアントが前記電子文書の所定のページ記述言語で記述したバージョンを生成する段階と、
    前記電子文書の前記所定のページ記述言語で記述したバージョンを前記選択された印刷装置に送る段階とを有する、
    媒体。
  8. 前記クライアントが前記1つ以上の利用可能な印刷装置を特定する段階は、前記クライアントがユーザから前記電子文書の印刷要求の受信に応じて実行される、請求項に記載の機械読み取り可能媒体。
  9. 前記印刷設定データは、相互利用可能なマシン間インターラクションをサポートするプロトコルを用いて表現される、請求項に記載の機械読み取り可能媒体。
  10. 前記クライアントは、全ての利用可能な印刷装置に前記クライアントに自分自身を通知することを要求するブロードキャストメッセージを、ネットワークを介して送るのに応答して、一印刷装置が利用可能であることを示すユニキャストメッセージを受け取る、請求項に記載の機械読み取り可能媒体。
  11. 前記一つ以上の利用可能な印刷装置を特定する段階は、前記クライアントが前記1つ以上の利用可能な印刷装置の1つからブロードキャストメッセージを受け取る段階であって、前記1つの利用可能な印刷装置は前記ネットワークに入るのに応じて前記ブロードキャストメッセージを送る、請求項に記載の機械読み取り可能媒体。
  12. 前記命令の1つ以上のシーケンスの前記1つ以上のプロセッサによる実行は、さらに
    前記クライアントがユーザにインターフェイスを提示して前記1つの利用可能な印刷装置の印刷機能を見せる段階と、
    前記インターフェイスを介して、(a)前記選択された印刷装置と(b)前記選択された印刷装置がサポートする前記印刷機能を用いて前記電子文書をどのように印刷すべきか示すユーザ選択データを受け取る段階とをさらに有する、請求項に記載の機械読み取り可能媒体。
JP2007018037A 2006-01-31 2007-01-29 ドライバーレスクライアントによるネットワーク印刷 Expired - Fee Related JP4926735B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/345,503 2006-01-31
US11/345,503 US7804612B2 (en) 2006-01-31 2006-01-31 Network printing with driverless clients

Publications (3)

Publication Number Publication Date
JP2007207237A JP2007207237A (ja) 2007-08-16
JP2007207237A5 JP2007207237A5 (ja) 2010-01-28
JP4926735B2 true JP4926735B2 (ja) 2012-05-09

Family

ID=37982463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007018037A Expired - Fee Related JP4926735B2 (ja) 2006-01-31 2007-01-29 ドライバーレスクライアントによるネットワーク印刷

Country Status (3)

Country Link
US (1) US7804612B2 (ja)
EP (1) EP1818805A3 (ja)
JP (1) JP4926735B2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007028507A (ja) * 2005-07-21 2007-02-01 Fuji Xerox Co Ltd 画像形成システムおよび方法
US20070285704A1 (en) * 2006-06-09 2007-12-13 Yuwen Wu Automatic printer registration
US8508755B2 (en) 2007-07-30 2013-08-13 Ricoh Company, Ltd. Print server
US20090059272A1 (en) * 2007-08-31 2009-03-05 Mitsugu Matsushita Printer auto installation
US20090135442A1 (en) * 2007-11-24 2009-05-28 Steven Harold Taylor Scanning device having virtual trays into which media sheets are loaded for printing copy jobs initiated at the scanning device
US8830866B2 (en) * 2009-09-30 2014-09-09 Apple Inc. Methods and apparatus for solicited activation for protected wireless networking
US8610927B2 (en) * 2010-02-09 2013-12-17 Apple Inc. Walk-up printing without drivers
US8610928B2 (en) * 2010-02-09 2013-12-17 Apple Inc. Framework that supports driverless printing
US9891867B2 (en) * 2010-11-10 2018-02-13 Electronics For Imaging, Inc. Protocol for interaction between wireless devices and other devices
JP5236720B2 (ja) * 2010-12-13 2013-07-17 シャープ株式会社 情報処理装置、画像出力システム、画像出力システムの画像出力支援装置、プログラム及び記録媒体
JP5728946B2 (ja) * 2011-01-05 2015-06-03 セイコーエプソン株式会社 制御装置、制御装置の制御方法、及び、プログラム
JP5619649B2 (ja) * 2011-02-17 2014-11-05 シャープ株式会社 情報処理装置、画像出力システム、プログラムおよび記録媒体
US9325814B2 (en) * 2011-06-02 2016-04-26 Numerex Corp. Wireless SNMP agent gateway
US8922813B2 (en) 2011-10-21 2014-12-30 Lantronix, Inc. Print server for a portable device
US9658806B2 (en) 2011-12-16 2017-05-23 Intel Corporation Driverless printing by a target printer
US9270842B2 (en) 2011-12-20 2016-02-23 Ricoh Company, Ltd. Additional input sources for data acquisition at distributed scan management systems
US9124820B2 (en) 2011-12-20 2015-09-01 Ricoh Company, Ltd. Content-based security processing using distributed scan management protocols
US8675215B2 (en) 2012-01-31 2014-03-18 Apple Inc. Using regions of interest to scale print data for print jobs
US8891115B2 (en) 2012-02-03 2014-11-18 Apple Inc. Configuration of print data for print jobs based on document-processing capabilities of printers
US9298401B2 (en) 2012-02-03 2016-03-29 Apple Inc. Configuring print jobs associated with unsupported document formats
US8922795B2 (en) * 2012-02-03 2014-12-30 Apple Inc. Enabling access to supported capabilities of printers prior to installing printer-specific software for the printers
AU2012216550B2 (en) 2012-08-30 2016-02-04 Canon Kabushiki Kaisha Cloud assisted rendering
US9648175B2 (en) 2013-10-30 2017-05-09 Ricoh Company, Ltd. Usage tracking in a distributed scan system
JP6471616B2 (ja) * 2015-06-05 2019-02-20 ブラザー工業株式会社 携帯端末及び出力プログラム
JP6531581B2 (ja) * 2015-09-10 2019-06-19 株式会社リコー 情報配信システム、情報処理装置、情報配信方法及びプログラム
JP7298138B2 (ja) * 2018-11-27 2023-06-27 ブラザー工業株式会社 画像処理プログラム及び端末装置
JP7224877B2 (ja) * 2018-11-30 2023-02-20 キヤノン株式会社 情報処理装置およびプログラム
JP7309348B2 (ja) * 2018-11-30 2023-07-18 キヤノン株式会社 プログラム及び制御方法
JP7293684B2 (ja) * 2019-02-01 2023-06-20 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467434A (en) * 1992-08-28 1995-11-14 Xerox Corporation Apparatus and method for determining printer option availability and representing conflict resolution in a combination of print job selections
JP3332443B2 (ja) * 1993-01-18 2002-10-07 キヤノン株式会社 情報処理装置および情報処理方法
US5513126A (en) * 1993-10-04 1996-04-30 Xerox Corporation Network having selectively accessible recipient prioritized communication channel profiles
JP3720439B2 (ja) * 1995-01-06 2005-11-30 キヤノン株式会社 データ入出力制御装置及びデータ入出力制御方法
JPH0991102A (ja) * 1995-09-26 1997-04-04 Ricoh Co Ltd ネットワーク・システムにおけるプリント・ジョブ実行結果の通知方法,ネットワーク・システムにおけるスキャン条件の設定方法およびネットワーク・プリンティング/スキャニング・システム
EP0982650B1 (en) * 1996-03-22 2004-10-06 Hitachi, Ltd. Printing system
US5875350A (en) * 1997-04-21 1999-02-23 International Business Machines Corporation Compressed message exchange initiated by basic command accompanied by enhancement code
US5999945A (en) * 1997-09-15 1999-12-07 International Business Machines Corporation Method for organizing files associated with a job ticket used in a network printing system
JP3835029B2 (ja) * 1998-12-11 2006-10-18 セイコーエプソン株式会社 ネットワーク印刷システム、ネットワーク印刷方法及び印刷指示装置
US6480209B1 (en) 1999-08-24 2002-11-12 Ricoh Company, Ltd. Graphical user interface with improved control for areas with a large number of selectable bitmaps
DE60043744D1 (de) * 1999-11-18 2010-03-11 Panasonic Corp Netzwerkverbindungsgerät und netzwerksystem für dessen verwendung
US6789111B1 (en) * 1999-12-09 2004-09-07 Microsoft Corporation Automatic detection and installation of client peripheral devices by a server
US7039869B2 (en) * 2000-02-14 2006-05-02 Fuji Photo Film Co., Ltd. Global lab software
JP2001228998A (ja) 2000-02-15 2001-08-24 Seiko Epson Corp 印刷システム、および、印刷サービス提供方法
CA2315270A1 (en) * 2000-08-04 2002-02-04 Charon Systems Inc. Printer driver system for remote printing
JP4612781B2 (ja) * 2000-08-11 2011-01-12 キヤノン株式会社 印刷装置および印刷装置の制御方法およびプログラム
US20020030840A1 (en) * 2000-09-12 2002-03-14 Fuji Xerox Co., Ltd. Image output system, and device and method applicable to the same
JP2002149374A (ja) * 2000-10-03 2002-05-24 Hewlett Packard Co <Hp> プリンタ属性を使用してプリンタを選択する方法
JP2003036152A (ja) * 2001-05-17 2003-02-07 Matsushita Electric Ind Co Ltd 情報印刷システム
US7346917B2 (en) * 2001-05-21 2008-03-18 Cyberview Technology, Inc. Trusted transactional set-top box
US7760375B2 (en) * 2001-06-29 2010-07-20 Hewlett-Packard Development Company, L.P. Print by reference service method
US20030058258A1 (en) * 2001-09-24 2003-03-27 Simpson Ted L. Digital image morphing and mapping process
JP2003182189A (ja) * 2001-12-19 2003-07-03 Fuji Xerox Co Ltd 印刷システム
US20030184782A1 (en) * 2002-03-27 2003-10-02 Perkins Gregory E. Printer driver configured to dynamically receive printer self-description
US20040001217A1 (en) * 2002-06-26 2004-01-01 Microsoft Corporation System and method for users of mobile computing devices to print documents
FR2849940B1 (fr) 2003-01-09 2005-03-18 Orange France Procede de gestion d'un peripherique et systeme informatique utilisant un tel procede
US20040179231A1 (en) * 2003-03-11 2004-09-16 Savino Ronald F. Automated creation and prepress preparation of bleed tabs in printed documents
JP2005020101A (ja) * 2003-06-23 2005-01-20 Canon Inc 記録装置及びその記録制御方法
US20050046886A1 (en) 2003-08-28 2005-03-03 Sharp Laboratories Of America, Inc. Direct printing component architecture for installed printers
US20050099650A1 (en) * 2003-11-06 2005-05-12 Brown Mark L. Web page printer
JP4467955B2 (ja) * 2003-11-12 2010-05-26 キヤノン株式会社 情報処理装置、周辺装置制御システム及び情報処理装置に適用される周辺装置制御方法並びにそのプログラム
JP4078292B2 (ja) * 2003-11-28 2008-04-23 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム並びにコンピュータ読み取り可能な記憶媒体
JP4360248B2 (ja) * 2004-03-29 2009-11-11 株式会社日立製作所 印刷管理システム
US20070002368A1 (en) * 2005-06-30 2007-01-04 Fatima Corona System and method for sending a stored scanned job to printers or group of printers from a multi-function peripheral device
JP5025165B2 (ja) * 2006-05-12 2012-09-12 キヤノン株式会社 印刷システム、制御方法及びプログラム
US8271703B2 (en) 2008-10-17 2012-09-18 Ricoh Company, Ltd. Providing device defined user interface modifiers to a computer system
US8314950B2 (en) * 2009-01-26 2012-11-20 Ricoh Company, Ltd. Approach for using settings mismatch tolerance levels to handle mismatches between print job settings and printing device settings
US8427675B2 (en) * 2009-01-27 2013-04-23 Ricoh Company, Ltd. Automatically updating a printer driver with new printing device features

Also Published As

Publication number Publication date
US7804612B2 (en) 2010-09-28
US20070177192A1 (en) 2007-08-02
EP1818805A2 (en) 2007-08-15
JP2007207237A (ja) 2007-08-16
EP1818805A3 (en) 2010-03-24

Similar Documents

Publication Publication Date Title
JP4926735B2 (ja) ドライバーレスクライアントによるネットワーク印刷
JP5114318B2 (ja) 印刷サーバーのデータ処理装置および記録媒体
US8289551B2 (en) Approach for processing print data without a client print driver
US7907313B2 (en) Management of multiple printer drivers
US7552432B2 (en) Information processing apparatus, information processing method, and control program
JP5698557B2 (ja) 印刷システムおよび印刷システムにおける制御方法
JP5655402B2 (ja) プリントシステム
JP2005302031A (ja) プリンタドライバの自動カスタマイズ
JP5729979B2 (ja) 印刷中継システム、印刷システム、画像形成装置、印刷中継システムを制御する制御方法、およびプログラム
JP2010211795A (ja) ウェブサービスを実行することが可能な印刷装置により印刷を行うための装置及びコンピュータで使用される方法
US8059294B2 (en) Image forming based on operation mode
SG182258A1 (en) Information processing apparatus, method of controlling information processing apparatus, program, and storage medium
US7826083B2 (en) Management of multiple page description languages
JP2007226809A (ja) 非ポストスクリプトプリンタ記述ファイル生成ツール
US8237955B2 (en) Deciding priority image forming means based on search log information
JP2011034562A (ja) プリントシステム
JP2007200324A (ja) Mimeタイプベースのプリンタドライバ選択
JP2017168028A (ja) 情報処理装置、印刷プラグイン、印刷システム及び制御方法
JP2017151927A (ja) 情報処理装置、制御方法、及びプログラム
JP6486233B2 (ja) 周辺装置、その方法、及びプログラム
JP2009181337A (ja) 画像形成システム、管理装置、画像形成装置、画像形成方法、及び画像形成プログラム
JP2005038016A (ja) データ処理装置、データ処理方法、データ処理プログラム、及び画像形成装置
US20090097053A1 (en) Print processing system and print processing method
US10891087B2 (en) Print system, printer and non-transitory computer-readable recording medium storing instructions therefor
JP4912093B2 (ja) 情報処理方法、情報処理装置、プログラム及び記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120208

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4926735

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees