(57)【要約】      （修正有）【課題】インターネットを介して送信するプリントデータを出力するように、少なくとも一つのアプリケーションプログラムによってアクセス可能なプリントドライバの提供。【解決手段】インターネットを介して印刷を実行するアプリケーションプログラムからのプリント要求を受信し、インターネットを介して送信すべきプリントデータを印刷定義言語にレンダリングし、レンダリングされたプリントデータをインターネットを介した送信用のプロトコルによってパッケージングすることにより実行される。さらに、プリントドライバは、インターネットを介してプリントデータを送信できる、少なくとも一つの宛先を表すサービスプロバイダ情報を取得する。ユーザ情報およびサービスプロバイダ情報を取得するためのインタフェイスを、グラフィカルユーザインタフェイスによって提供してもよい。【選択図】図１
2006099789.tif 000002
【特許請求の範囲】
【請求項１】
インターネットを介して送信すべきプリントデータを印刷定義言語にレンダリングし、前記レンダリングしたプリントデータを前記インターネットを介した送信用のプロトコルによってパッケージングし、前記パッケージングしたプリントデータを前記インターネットを介して送信するプリントドライバに表示制御される、印刷を実行するための情報を前記インターネットを介して入力するグラフィカルユーザインタフェイスであって、
前記インターネットを介して送信先へ送信すべきユーザ情報を取得するための第一のインタフェイスと、
前記インターネットを介してプリントデータを送信すべき前記送信先の情報を取得して表示するための第二のインタフェイスとを有することを特徴とするグラフィカルユーザインタフェイス。
【請求項２】
前記送信先は、プリントデータの印刷を提供するサービスプロバイダであることを特徴とする請求項1に記載されたグラフィカルユーザインタフェイス。
【請求項３】
前記送信先の情報は、前記サービスプロバイダの名称、所在地およびインターネットアドレスの少なくとも一つを含むことを特徴とする請求項2に記載されたグラフィカルユーザインタフェイス。
【請求項４】
前記第二のインタフェイスは検索オプションを含み、前記プリントドライバは検索オプションの選択に応じて前記サービスプロバイダのポータルから前記送信先の情報を取得することを特徴とする請求項2または請求項3に記載されたグラフィカルユーザインタフェイス。
【請求項５】
前記ユーザ情報は、ユーザ識別情報、支払情報および出荷情報の少なくとも一つを含むことを特徴とする請求項1から請求項4の何れかに記載されたグラフィカルユーザインタフェイス。
【請求項６】
さらに、特殊命令を取得するための第三のインタフェイスを有することを特徴とする請求項1から請求項5の何れかに記載されたグラフィカルユーザインタフェイス。
【請求項７】
プリントドライバによる、インターネットを介した支払いを前提とする印刷方法であって、
前記インターネットを介して取得した送信先情報を表示用のユーザインタフェイス情報に加え、
前記ユーザインタフェイスを介して、前記送信先情報から少なくとも一つの送信先を選択する選択情報、ユーザ情報および支払情報を入力し、プリントデータをプリンタ定義言語にレンダリングし、
前記レンダリングしたプリントデータをインターネットトランスポートプロトコルに基づきパッケージングし、
前記パッケージングしたプリントデータを、前記インターネットを介して、前記選択された送信先へ送信することを特徴とする印刷方法。
【請求項８】
前記送信先は、プリントデータの印刷を提供するサービスプロバイダであることを特徴とする請求項7に記載された印刷方法。
【請求項９】
さらに、前記ユーザインタフェイスのプロバイダ情報オプションが選択されると、前記ユーザインタフェイスを介して前記送信先を検索するための検索基準を入力し、前記インターネットを介して、前記検索基準を前記サービスプロバイダのポータルへ送信し、前記ポータルから前記検索基準に合うサービスプロバイダの前記送信先情報を取得することを特徴とする請求項8に記載された印刷方法。
【請求項１０】
さらに、前記レンダリングの後、前記パッケージングの前に、前記インターネットを介して、前記選択された送信先へジョブチケット情報を送信し、前記ジョブチケット情報を受信し、処理した前記送信先から前記ジョブチケット情報に対する応答を受信し、前記応答に基づき、前記送信先へプリントデータを送信するためのオプションを選択することを特徴とする請求項7から請求項9の何れかに記載された印刷方法。
【請求項１１】
前記ジョブチケット情報は、前記ユーザ情報および支払情報の少なくとも一方を含むことを特徴とする請求項10に記載された印刷方法。
【請求項１２】
前記ジョブチケット情報は、さらに、前記プリントデータのサイズ情報を含むことを特徴とする請求項11に記載された印刷方法。
【請求項１３】
前記送信先は、前記サイズ情報を処理して前記プリントデータを処理するための費用情報を生成することを特徴とする請求項12に記載された印刷方法。
【請求項１４】
前記ジョブチケット情報に対する応答は、前記プリントデータを処理する費用の概算を含むことを特徴とする請求項13に記載された印刷方法。
【請求項１５】
コンピュータ装置を制御して、請求項7から請求項14の何れかに記載された印刷方法を実現することを特徴とするプログラム。
【請求項１６】
請求項15に記載されたプログラムが格納されたことを特徴とするコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はグラフィカルユーザインタフェイスおよび印刷方法に関し、とくに、インターネットなどのネットワークを介する印刷に関する。
【背景技術】
【０００２】
印刷を実行するためにデータをインターネットを介してプリントショップへ送信することや、インターネットを介してプリントデータを遠隔プリンタへ送信することは、ますます一般的になっている。例えば、コンピュータユーザの中には、プリントジョブをプリントアウトしてもらうために、プリントジョブをインターネットを介してプリントショップへ送信することを望む人もいる。これは、例えば、コンピュータユーザが作品を印刷するためのプリンタを所有していなかったり、または、プリンタは所有しているが希望する種類のプリントアウトを作成できないようなケースだろう。例えば、所有しているのは白黒プリンタであるが、カラー画像を印刷したい場合や、大量のプリントアウトを印刷したいが、ユーザ自身のプリンタと記録紙を消耗したくない、といった場合が考えられる。何れの場合も、ユーザが利用できる一つのオプションは、所望のプリントアウトを作成する能力を備えたプリントショップへインターネットを介してプリントジョブを送信するという方法である。
【０００３】
インターネットプリントショップの一例はKinko's (R)である。Kinko's (R)のようなプリントショップ方式においては、ユーザがKinko's (R)のウェブサイトに登録し、プリントショップでプリントアウトしてもらうことができるようにプリントジョブを送信する。まず、アプリケーション（例えば、文書処理またはスプレッドシート）プログラムを使用してファイルが生成される。
【０００４】
ユーザは、アプリケーションプログラムでファイルをセーブした後、自身のコンピュータでウェブブラウザアプリケーションを起動して、Kinko's (R)のウェブサイトにアクセスする。Kinko's (R)システムによってインターネットを介する印刷を実行するためには、ユーザはKinko's (R)に登録し、かつ、識別情報とクレジットカードの番号などの支払情報を提供しなければならない。あるいは、ユーザが印刷を実行するためのデータ送信を初めて試みた時点で登録することもできる。ファイルを印刷するときは、ユーザはウェブサイトにアクセスし、印刷のためにプリントジョブをKinko's (R)へ送信するためのオプションを選択する。ユーザは、アップロードしたいファイルの選択を促され、次に、Kinko's (R)によって提供される価格設定オプションおよび印刷オプションの選択を促される。送信すべきファイルの場所を特定することは場合によって難しく、とくにコンピュータに格納されているファイルの場所を特定するプロセスに不慣れなユーザにとっては困難である。ファイルと、印刷オプションおよび価格設定オプションが選択されると、ウェブブラウザは、ファイルをHTTP (Hypertext Transport Protocol)でカプセル化することでファイルを処理し、ファイルをインターネットを介してKinko's (R)へ送る。ファイルを受信した後、Kinko's (R)は、適切なアプリケーションを使用してファイルを処理し、プリントジョブをプリントアウトする。
【０００５】
現時点では、Microsoft (R) Word、Microsoft (R) Excel、Microsoft (R) PowerPoint、Corel (R) WordPerfect、PostScript/EPS、Rich Text Format、Text File、Kinko's (R) File Prep KDFおよびAdobe Acrobat PDFの各フォーマットのみがサポートされている。従って、ユーザがこれらフォーマット以外のフォーマットで作品を作成する場合、Kinko's (R)システムでの印刷を利用することはできない。
【０００６】
従って、Kinko's (R)システムを使用する印刷の場合、ユーザは、Kinko's (R)によるインターネットを介した印刷を実行すべくプリントジョブを送信するために、ファイルを作成したときのアプリケーションではないアプリケーション（例えば、ウェブブラウザ）を起動する必要がある。さらに、プリントジョブは、あるフォーマットでKinko's (R)へ送信されてKinko's (R)に店舗内のプリンタに特有のプリントドライバを含むアプリケーションプログラムの起動を要求し、ファイルを選択し、かつ、それを印刷実行するために送信される。ウェブブラウザを起動する過程も、Kinko's (R)でアプリケーションを起動する過程も、ともに余分な処理を必要とし、インターネットを介する印刷を煩雑なものにする。
【０００７】
インターネットを介する印刷のもう一つの方法は、IPP (Internet Print Protocol)を使用する印刷である。現在、IPPフォーマットを備えるソフトウェアプログラムも存在している。そのようなソフトウェアプログラムの一例は、Microsoft (R) NTおよびWindows（登録商標）クライアント/サーバである。IPPで印刷を実行するために、クライアントアプリケーションは複数のプリンタと、複数のプリントドライバとを含むサーバのURL (Uniform Resource Locator)をアクセスする。クライアントはサーバ側に含まれているプリンタの中から一つのプリンタを選択し、選択されたプリンタに特定のプリントドライバがクライアント側でインストールされる。インターネットを介する印刷を希望するとき、ユーザはアプリケーションプログラム中のFile/Printオプションを選択し、これにより特定のプリントドライバが起動される。プリントドライバソフトウェアは、プリントデータをその特定のプリンタによってサポートされているページ定義言語に処理し、データをローカルスプーラに供給する。そして、IPPクライアントソフトウェアは、プリントデータをHTTPでカプセル化し、データをサーバのURLへ転送する。サーバのIPPソフトウェアは、データを受信すると、HTTPヘッダ情報をストリッピングし、プリントデータをサーバ側スプーラに供給して、特定のプリンタに印刷させる。
【０００８】
このように、IPPは、ユーザがアプリケーションプログラムのプリントドライバからインターネットを介してプリントジョブを送信するための一方法を提供するが、インターネットを介してプリントジョブを送信するためにIPPをサポートする第二のクライアントソフトウェアを必要とする。
【０００９】
さらに、プリントドライバは唯一つのプリンタに特定されるものである。ユーザが別のプリンタへプリントジョブを送信したい場合には、その別のプリンタをサポートするサーバのURLをアクセスし、そのプリンタのプリントドライバを同様にしてインストールしなければならない。
【００１０】
従って、あらゆる種類のプリンタに対して汎用で、プリントデータをプリンタ定義言語に変換し、かつ、インターネットを介して送るためにプリントデータをカプセル化することができるプリントドライバが必要である。
【００１１】
【特許文献１】特開2000-155722公報
【特許文献２】特開開10-154110号公報
【特許文献３】特開2000-148425公報
【発明の開示】
【課題を解決するための手段】
【００１２】
本発明は、上記の課題を解決するために、複数のアプリケーションからアクセス可能で、インターネットを介して送信すべきプリントデータを印刷定義言語にレンダリングし、かつ、レンダリングされたプリントデータをインターネットを介した送信用のプロトコルによってパッケージングするプリントドライバを提供する。
【００１３】
その結果、別個にウェブブラウザアプリケーションを起動する必要なく、プリントジョブをアプリケーションプログラムから直接、インターネットを介して、印刷のためにプリントデータを送信することができる。従って、インターネットを介する印刷は容易になり、インターネット印刷に伴う時間と労力が軽減される。
【００１４】
すなわち、一つの面によれば、本発明は、少なくとも一つのアプリケーションプログラムによりアクセス可能なプリントドライバがインターネットを介して送信するためにプリントデータを出力することで、インターネットを介する印刷を実行する。プリントドライバは、インターネットを介して印刷を実行するアプリケーションプログラムからのプリント要求を受信し、インターネットを介して送信すべきプリントデータを印刷定義言語にレンダリングし、レンダリングされたプリントデータをインターネットを介した送信用のプロトコルによってパッケージングする。
【００１５】
プリントデータは、特定のプリンタの種類と無関係な汎用プリンタ定義言語にレンダリングされてもよい。従って、インターネットを介して送信すべきプリントデータは、特定の種類のプリンタには限定されず、実質的にどのプリンタによっても処理、印刷が可能である。
【００１６】
その結果、プリントジョブを送信すべきプリンタの種類ごとに別個にプリントドライバをインストールする必要なく、一つのプリントドライバを利用してインターネットを介してプリントデータを送信できる。
【００１７】
別の面において本発明は、送信ノードがインターネットを介してプリントデータを送信し、受信ノードが送信ノードによってインターネットを介して送信されるプリントデータを受信することで、インターネットを介する印刷を実行する。プリントデータは、少なくとも一つのアプリケーションプログラムによってアクセス可能で、送信ノードで実行可能なプリントドライバによってインターネットを介して送信され、アプリケーションプログラムからのプリント要求に応じて、プリントデータは印刷定義言語にレンダリングされ、かつ、レンダリングされたプリントデータはインターネットを介した送信用のプロトコルによってパッケージングされる。
【００１８】
さらに別の面において本発明は、プリントデータをインターネットを介して受信装置へ送信することでインターネットを介する印刷を実行する。プロセッサは実行可能なプロセスステップを実行し、メモリは実行可能なプロセスステップを格納する。実行可能なプロセスステップは、少なくとも一つのアプリケーションプログラムによりアクセス可能で、アプリケーションプログラムからのプリント要求に応じて、プリントデータを印刷定義言語にレンダリングし、かつ、レンダリングされたプリントデータをインターネットを介した送信用のプロトコルによってパッケージングする。
【００１９】
さらに、本発明は、グラフィカルユーザインタフェイスによってインターネットを介して印刷するための情報を入力することで、インターネットを介する印刷を実行する。インターネットを介して送信すべきプリントデータを印刷定義言語にレンダリングし、レンダリングされたプリントデータをインターネットを介した送信用のプロトコルによってパッケージングし、かつ、パッケージングされたプリントデータをインターネットを介して送信するプリントドライバと関連して、グラフィカルユーザインタフェイスは提供される。グラフィカルユーザインタフェイスは、インターネットを介してサービスプロバイダへ送信すべきユーザ情報を取得するためのインタフェイスと、プリントデータをインターネットを介して送信すべきサービスプロバイダ情報を取得するためのインタフェイスとを備える。
【００２０】
サービスプロバイダインタフェイスは、検索オプションを提供してもよい。その場合、プリントドライバは、検索オプションの選択に応じてサービスプロバイダのポータルからサービスプロバイダ情報を取得する。
【００２１】
グラフィカルユーザインタフェイスは、ユーザがインターネットを介してプリントジョブを送信するために、ユーザの個人ユーザ情報を容易に提供する方法であるとともに、ユーザがプリントジョブを送信するために利用可能なサービスプロバイダのサービスプロバイダ情報を容易に取得する方法でもある。
【００２２】
さらに別の面において本発明は、支払いを前提とするインターネットを介する印刷を実行するために、ホストコンピュータでプリントドライバを起動し、プリントドライバがサービスプロバイダのポータルからサービスプロバイダ情報を取得し、取得されたサービスプロバイダ情報から少なくとも一つのサービスプロバイダが選択される。プリントドライバは、ユーザ情報および支払情報を提供し、プリントデータをプリンタ定義言語にレンダリングし、レンダリングされたプリントデータをインターネットトランスポートプロトコルにパッケージングし、かつ、パッケージングされたプリントデータをインターネットを介して少なくとも一つの選択されたサービスプロバイダへ送信する。サービスプロバイダ情報を取得するために、プリントドライバ内でプロバイダ情報オプションを選択し、サービスプロバイダを検索するための検索基準を提供し、プリントドライバがインターネットを介して検索基準をサービスプロバイダのポータルへ送信し、サービスプロバイダのポータルが検索基準に適合するサービスプロバイダのサービスプロバイダ情報を取得し、かつ、取得されたサービスプロバイダ情報をインターネットを介してプリントドライバへ送信してもよい。
【００２３】
さらに、レンダリングの後、パッケージングする前に、プリントドライバは、インターネットを介してサービスプロバイダへジョブチケット情報を送信してもよい。サービスプロバイダは、ジョブチケット情報を処理し、ジョブチケット情報に対する応答をインターネットを介してプリントドライバへ送信し、ジョブチケット情報に対する応答に基づき、サービスプロバイダへプリントジョブデータを送信するためのオプションが選択される。
【００２４】
本発明の本質が短時間に理解されるように、本発明の概要を述べた。添付する図面と関連させながら以下の本発明の好ましい実施形態の詳細な説明を参照することで、本発明をより完全に理解することができる。
【発明を実施するための最良の形態】
【００２５】
図1は、インターネット印刷支払システム(Internet print-for-pay system)の様々な構成要素を示す全体システム図である。図1に示すように、システムはクライアント/在宅ユーザ1と、サービスプロバイダ2と、ポータル3という三つの主要な構成要素を含む。これらの構成要素はインターネット5を介してそれぞれ相互に接続され、相互に通信する。クライアント/在宅ユーザ1は、サービスプロバイダ2によって印刷されるべきデータを提供するためにサービスプロバイダ2と通信する。例えば、ユーザは自宅にプリンタをもっていない、カラーでプリントアウトしたいが、自宅にカラープリンタがない、ある文書を何百部または何千部も印刷したいが、自宅でそのように大量の部数を印刷することができない、または（出荷にかかる多大なコストと時間を節約するために）大量のプレゼンテーション資料を旅行時に携えて行く必要をなくし、会議場の付近で資料を印刷して、それを現場に配達してもらうことを希望する、などの幾つかの理由によって自宅でプリントジョブを印刷することが不可能な場合がある。これらのケースの何れにおいても、ユーザはプリントジョブをクライアント/在宅ユーザ1からインターネット5を介してサービスプロバイダ2に提供し、ユーザの要求に従ってサービスプロバイダ2にそのプリントジョブを処理させ、印刷させることができるだろう。そのような要求を提示し、その要求を処理するプロセスについては以下にさらに詳細に説明する。
【００２６】
クライアント/在宅ユーザ1は、電話回線MODEM、ケーブルMODEM、DSL MODEMまたはインターネットを介して通信が可能であるその他の何らかの種類の通信装置などの通信装置を介してインターネットに接続するコンピュータワークステーション10を備えるのが好ましい。コンピュータワークステーション10は、ウィンドウズ（登録商標）オペレーティングシステムを備えたIBM PCまたはそのコンパチブルPCなどのどのような種類のコンピュータワークステーションであってもよいが、コンピュータワークステーション10はMacintoshワークステーション、Sun Microsystemsワークステーション、Unix(登録商標）ワークステーションまたはインターネットを介する通信をサポートするその他の何らかの種類のワークステーションであっても差し支えない。また、コンピュータワークステーション10は、コンピュータワークステーション10において実行される様々なアプリケーションプログラムを利用して文書および/または画像を生成する能力をユーザに与えるものであることが好ましい。加えて、コンピュータワークステーション10において実行されるアプリケーションプログラムは、ユーザがアプリケーションプログラムで生成されるデータを印刷のために提供できるようにするプリントオプションを含むのが好ましい。以下にさらに詳細に説明するが、アプリケーションプログラムでプリントオプションが選択されると、プリントドライバが起動し、プリント要求を処理して、印刷すべきデータをクライアント/在宅ユーザ1からインターネット5を介してサービスプロバイダ2に提供する。コンピュータワークステーション10の内部構造については、以下に図3を参照してさらに詳細に説明する。
【００２７】
コンピュータワークステーション10には、さらに、様々な周辺装置を接続することができる。例えば、ビデオカメラ6、スキャナ7およびディジタルカメラ8をユニバーサルシリアルバス(USB)接続などによりコンピュータワークステーション10に接続できるだろう。このように、コンピュータワークステーション10内部の様々なアプリケーションプログラムを利用して、ユーザは様々な周辺装置の何れからでもプリントジョブに挿入すべき写真または画像をインポートすることができる。そこで、ユーザはそれらの写真または画像をサービスプロバイダ2に提供し、処理させることができる。
【００２８】
サービスプロバイダ2は、支払いを前提としてプリント要求を受信し、かつ、処理することができるKinko's (R)またはその他の何らかの種類のプリントショップなどのプリントショップであればよい。サービスプロバイダ2はプリントショップ自体には限定されず、プリント要求を受信しかつ処理できるどのようなプロバイダであってもよい。例えば、サービスプロバイダ2は、支払いを前提としてインターネットを介してプリント要求を受信し、かつ、処理することができるホテルであってもよい。その他の例として、サービスプロバイダ2は郵便局、空港内のキオスクまたはショッピングモール、あるいは、コンベンションセンタなどであってもよい。本発明の実施に際しては実質的にどのような種類のサービスプロバイダであっても採用できるだろうことは容易に理解されるが、簡潔にするため、以下の説明においてはKinko's (R)のようなプリントショップのみを論じる。
【００２９】
図1に示すように、サービスプロバイダ2はサービスプロバイダサーバ20などのサーバを含む。サービスプロバイダサーバ20はCompaq (R) ProSignia (R)サーバなどのどのような種類のサーバであってもよいが、サーバ自体である必要はなく、単にインターネットを介して様々な装置と通信する能力を提供し、かつ、その装置をインターネットサーバとして識別するインターネット識別名称を含むものであればよい。すなわち、サービスプロバイダサーバ20はインターネット5に接続し、インターネット5を介して送信される問い合わせおよびプリント要求を受信し、かつ、それらの問い合わせおよびプリント要求に対する応答をインターネット5を介して対応する装置に返す。サービスプロバイダサーバ20の機能については、以下で、さらに詳細に説明する。
【００３０】
サービスプロバイダ2は、さらに、プリント要求を処理するための様々な種類の印刷装置を含むことが好ましい。例えば、サービスプロバイダ2は複合プリンタ/複写機21、カラープリンタ23、白黒プリンタ24、カラープロッタ25および白黒プロッタ26を含む。これらはサービスプロバイダ2に含まれる印刷装置の幾つかの例であるに過ぎず、他に多数の装置をサービスプロバイダ2に含めることができることは言うまでもない。
【００３１】
サービスプロバイダ2は他にも機器を含むが、簡単にするため、図1にそれらの機器を示さない。例えば、サービスプロバイダ2はプリント要求の仕上げプロセスを実行するための様々な機器を含んでいてもよい。すなわち、ユーザがプリントジョブを特定の種類の装丁によって製本させるというプリント要求を提示した場合、サービスプロバイダ2がそのような仕上げ要求を実行する能力を有しているならば、その仕上げ要求を実行するために必要な機器がサービスプロバイダ2に含まれている。提供できると思われる仕上げオプションの種類が多数あることは容易に理解できるが、簡単にするため、図1ではそのような操作を実行するための機器を省略した。
【００３２】
先に説明したとおり、図1のシステムにおいては無数のサービスプロバイダを採用できるだろう。すなわち、世界中には図1のシステムの一部を成すサービスプロバイダが実質的に無数に存在することになる。本発明の一つの面は、ユーザがそのプリント要求を提示することを希望するサービスプロバイダの場所を特定するというものである。ユーザがサービスプロバイダの場所を特定することを補助するため、図1のシステムはポータル3を含むのが好ましい。ポータル3はサービスプロバイダ情報の唯一の供給源であることが好ましい。すなわち、ポータル3は、各サービスプロバイダをサービスプロバイダの印刷支払ネットワークのメンバとして登録することにより、ネットワークを稼動させているCanon Inc.などの企業により管理されるサービスプロバイダのデータベースを含むことが好ましい。サービスプロバイダがサービスプロバイダネットワークのメンバとしての登録を完了すると、その情報はポータル3により維持されるデータベースに追加される。
【００３３】
図1に示すように、ポータル3はポータルサーバ30などのサーバを含む。サービスプロバイダサーバ20と同様に、ポータルサーバ30もサーバ自体であってもよいが、そうである必要はない。ポータルサーバ30はインターネット5に接続し、インターネット5を介して送信される問い合わせを受信し、それらの問い合わせを処理し、問い合わせに対する応答をインターネット5を介して送信する。ポータルサーバ30へ送信される問い合わせの種類の一つは、ポータル3からサービスプロバイダ情報を取得するためにクライアント/在宅ユーザ1から送信されてくる問い合わせである。ユーザは送信されたサービスプロバイダ情報からプリント要求を提示すべき一つ以上のサービスプロバイダを選択できる。そのような問い合わせを受信すると、ポータルサーバ30は問い合わせを処理して、登録済みサービスプロバイダのデータベースに含まれる、問い合わせ基準に適合するサービスプロバイダの情報を検索し、応答をクライアント/在宅ユーザ1へ送信する。このプロセスについては、以下で、さらに詳細に説明する。
【００３４】
図1はインターネット環境を示しているが、本発明はインターネット環境における使用に限定されず、インターネットに類似するどのようなネットワークでも採用可能だろう。さらに、図1は三つの主要構成要素（クライアント/在宅ユーザ1、サービスプロバイダ2およびポータル3）を示しているが、これは本発明を実施する際に利用される構成要素のうち代表的な幾つかを示しているに過ぎず、ネットワークにおいてはその他にも構成要素を採用できるだろう。
【００３５】
現在のインターネットで行われていることであるが、何百万人ものユーザがインターネットに接続し、毎日インターネットを利用しているため、例えば、複数のクライアント/在宅ユーザが同時に本発明を採用できるだろうことは容易に理解できる。さらに、図1は本発明が唯一つのポータルを有するネットワークで実現されるものとして示しているが、本発明を実施する際に複数のポータルを実現できるだろうことも容易に理解できる。また、図1ではサービスプロバイダ2をプリントショップとして示しているが、本発明の実施に際しては実質的にどのような種類のサービスプロバイダでも採用できるだろう。従って、図1は本発明を実施するときに利用される簡略化されたインターネット環境を示すに過ぎず、本発明の趣旨から逸脱せずに、図1の構成に対して数多くの変形を実施できるだろうことは容易に理解できる。
【００３６】
図2は、コンピュータワークステーション10の内部構造のさらに詳細な図である。先に述べたとおり、コンピュータワークステーション10はIBM PCまたはそのコンパチブルPC、あるいはその他の様々な種類のワークステーションの何れかであればよいが、簡潔にするため、ウィンドウズ（登録商標）オペレーティングシステムを伴うIBM PCまたはそのコンパチブルPCについてのみ説明する。図2に示すように、コンピュータワークステーション10は、コンピュータバス200にインタフェイスするプログラマブルマイクロプロセッサなどの中央処理装置(CPU)210を含む。コンピュータバス200には、キーボードにインタフェイスするためのキーボードインタフェイス220、ポインティングデバイスにインタフェイスするためのマウスインタフェイス230、フロッピディスクにインタフェイスするためのフロッピディスクインタフェイス240、表示装置にインタフェイスするためのディスプレイインタフェイス250、インターネット5にインタフェイスするためのネットワークインタフェイス260（電話回線MODEM、ケーブルMODEM、DSL MODEMまたはその他の何らかの種類のインタフェイス）、並びに、ビデオカメラ6、スキャナ7および/またはディジタルカメラ8などの様々な外部装置にインタフェイスするための外部装置インタフェイス265（USBコネクタなど）が、さらに結合している。
【００３７】
ランダムアクセスメモリ(RAM)270は、CPU210が記憶内容にアクセスするためにコンピュータバス200にインタフェイスしていて、それにより、CPU210の主ランタイムメモリとして機能する。すなわち、格納されているプログラム命令シーケンスを実行するとき、CPU210は、それらの命令シーケンスを固定ディスク280（またはその他の記憶媒体）からRAM270にロードし、RAM270からそれらの格納プログラム命令シーケンスを読み出して、実行する。なお、ウィンドウィングオペレーティングシステムの下で利用可能な標準ディスクスワッピング技法によってメモリの各セグメントをRAM270と、固定ディスク280との間でスワッピングすることも可能である。リードオンリメモリ(ROM)290は、CPU210の始動命令シーケンスまたはコンピュータワークステーション10に付随する周辺装置の動作に関わる基本入出力オペレーションシステム(BIOS)シーケンスなどの不変の命令シーケンスを格納する。
【００３８】
固定ディスク280は、オペレーティングシステム281、プリントドライバ282、外部装置インタフェイスドライバ283、その他のドライバ284、文書処理プログラム285、その他のプログラム286、Eメールプログラム287およびその他のファイル288を構成するための、CPU210により実行可能なプログラム命令シーケンスを格納する、コンピュータが読み取り可能な媒体の一例である。先に述べたとおり、オペレーティングシステム281はウィンドウィングオペレーティングシステムであることが好ましいが、本発明とともにその他の種類のオペレーティングシステムを使用しても差し支えない。プリントドライバ282はローカルプリンタ（図示せず）で印刷を実行するために画像データを作成する、または、サービスプロバイダによって印刷されるべきプリントデータをインターネットを介して提供するために利用される。さらに、プリントドライバ282は、サービスプロバイダ情報を求めてポータル3に問い合わせを発するために、および、プリントジョブチケットをインターネットを介してサービスプロバイダ2へ送信するために、ネットワークインタフェイス260と通信する。言うまでもなく、プリントドライバ282は、ポータル3からの問い合わせに対する応答を受信するとともに、サービスプロバイダへ送信されたプリントジョブチケットに対する応答も受信する。これらの動作については、以下で、さらに詳細に説明する。外部装置インタフェイスドライバ283は、外部装置とインタフェイスするための外部装置インタフェイス265を駆動し、かつ、制御するために利用される。その他のドライバ284は、コンピュータバス200に結合する他のインタフェイスのそれぞれに対応するドライバを含む。
【００３９】
文書処理プログラム285は、Microsoft (R) WordまたはCorel (R) WordPerfectの文書のような文書および画像を作成するための典型的なワードプロセッサプログラムである。その他のプログラム286は、コンピュータワークステーション10を動作させかつ所望のアプリケーションを実行するために必要な他のプログラムを含む。Eメールプログラム287は、コンピュータワークステーション10にインターネット5を介してEメールを送受信させる典型的なEメールプログラムである。その他のファイル288は、コンピュータワークステーション10の動作に必要なファイルまたはコンピュータワークステーション10で他のアプリケーションプログラムにより作成および/または維持されるファイルのうち何れかを含む。例えば、Microsoft Internet ExplorerまたはNetscape Navigatorなどのインターネットブラウザアプリケーションプログラムはその他のファイル288に含まれていてもよい。
【００４０】
図3は、図1の様々な構成要素間の通信のチャネルを示す。図3に示すように、クライアント/在宅ユーザ1はコンピュータワークステーション10を備える。先に述べたとおり、コンピュータワークステーション10は、文書処理プログラム285およびその他のプログラム286などのアプリケーションプログラムを含む。様々なアプリケーションプログラムの全般を表すため、図3はコンピュータワークステーション10の内部に含まれるアプリケーションプログラム11を示している。また、前述のように、コンピュータワークステーション10はプリントドライバ282を含む。図3に示すとおり、プリントドライバ282はインターネット5を介してポータル3およびサービスプロバイダ2と通信する。コンピュータワークステーション10の他のアプリケーションプログラムもインターネット5を介して様々な装置と通信できるだろうが、簡単にするため、図3には、プリントドライバ282のみがインターネット5を介して通信するとして示されている。
【００４１】
図3は、さらに、プリントドライバインタフェイスモジュール13、プリントドライバレンダリングエンジン14およびプリントスプーラ15をプリントドライバ282を構成する部分として示している。しかし、当業者には容易に理解されるだろうが、プリントドライバを構成するモジュールまたは構成要素はこれだけではなく、プリントドライバ282の一部として他のモジュールまたは構成要素が含まれていてもよい。しかし、簡単にするため、以下の説明においては、これらのモジュールまたは構成要素についてのみ述べる。
【００４２】
図3では、プリントドライバインタフェイス13とプリントドライバレンダリングエンジン14は相互に通信し、プリントドライバレンダリングエンジン14はプリントスプーラ15とも通信する。プリントドライバインタフェイス13は、プリントドライバ282が起動されたときにコンピュータワークステーション10に接続する表示装置に表示されるグラフィカルユーザインタフェイスを提供する。例えば、アプリケーションプログラム中のあるプリントオプションを選択すると、プリントドライバ282が起動され、プリントドライバインタフェイス13は図6Aおよび図6Bに示すウィンドウ60のようなウィンドウを表示する。ウィンドウ60のさらに詳細な内容およびウィンドウ60で様々なオプションを選択したときに表示される他のウィンドウについては後述する。
【００４３】
ユーザがウィンドウ60でプリントボタンを選択すると、プリントドライバレンダリングエンジン14は、プリントジョブを印刷するのに、かつ、インターネットを介して選択されたサービスプロバイダへの送信に適するフォーマットへレンダリングするために、様々な動作を実行する。以下で、さらに詳細に説明するが、レンダリングエンジン14が実行する動作の一つは、インターネット5を介してサービスプロバイダサーバ20へジョブチケット要求を送信し、ジョブチケットに対する応答をサービスプロバイダサーバ20から受信することである。この後、ユーザがジョブ要求を確認すると、プリントドライバレンダリングエンジン14はレンダリングされたプリントデータを印刷のためにサービスプロバイダサーバ20へ送信する。
【００４４】
プリントドライバ282は、さらに、印刷のためにサービスプロバイダへ送信すべきレンダリングされたプリントデータをスプーリング（または格納）するプリントドライバスプーラ15を含む。さらに、以下で説明するように、スプーラは印刷すべき頁数を計算するための動作を実行し、その情報をレンダリングエンジン14に返す。レンダリングエンジン14がジョブチケットをサービスプロバイダサーバ20へ送信するとき、ジョブチケット情報の一部はスプーラによって計算された頁数である。サービスプロバイダサーバは、この情報を利用してプリント要求の費用を決定し、費用情報をプリントドライバ282に返す。このように、レンダリングエンジン14がプリントジョブを処理し、サービスプロバイダサーバ20と通信するプロセスについては、以下で、さらに詳細に説明する。
【００４５】
図3には、インターネット5を介して各装置と通信するとともに、データベース31とも通信するポータルサーバ30も示されている。データベース31は、ポータル3により維持される、サービスプロバイダのデータベースであることが好ましい。データベース31は、ポータルサーバ30の外部に存在するものとして図示されているが、データベース31はポータルサーバ30の内部の固定ディスクに含まれていてもよい。ポータルサーバ30は、プリントドライバ282からの問い合わせを受信し、かつ、それらの問い合わせに対する応答を提供するためにインターネット5を介して通信する。すなわち、以下で、さらに詳細に説明するように、ポータルサーバ30は、インターネット5を介してサービスプロバイダ情報を求めるプリントドライバ282からの問い合わせを受信し、応答をインターネット5を介してプリントドライバ282に返す。
【００４６】
図3に示すサービスプロバイダサーバ20は、インターネットに存在する他の装置ともインターネット5を介して通信する。先に述べたとおり、サービスプロバイダサーバ20は、プリントドライバ282からジョブチケット情報を受信し、ジョブ識別番号および費用情報を含む応答を返す。コンピュータワークステーション10のユーザがジョブチケットを確認した後、プリンタドライバ282はプリントジョブデータをサービスプロバイダサーバ20へ送信する。以下で、さらに詳細に説明するが、プリントジョブデータを受信すると、サービスプロバイダサーバ20は、データを処理し、サービスプロバイダ2のオペレータがジョブ要求を処理するまで、そのデータを格納する。また、サービスプロバイダサーバ20はサービスプロバイダ2内のプリンタ21、23、24、25および26などの様々な装置とも通信する。言うまでもなく、サービスプロバイダサーバ20はサービスプロバイダ2内のコンピュータワークステーションのような他の装置とも通信できるだろう。先に述べたとおり、サービスプロバイダ2は、プリントショップには限定されず、ホテル12または空港22内のキオスクであってもよい。
【００４７】
図4は、プリントドライバ282と、ポータルサーバ30と、サービスプロバイダサーバ20との通信のさらに詳細な流れを示す。プリントドライバ282からインターネット5を介してポータルサーバ30へプロバイダ問い合わせ要求40が送信される。プロバイダ問い合わせ要求40は、コンピュータワークステーション10のユーザが、アプリケーションプログラム中のプリントオプションを選択することによって開始される。プリントオプションを選択すると、プリントドライバ282が起動され、プリントドライバインタフェイス13はコンピュータワークステーション10の表示装置に図6Aに示すようなウィンドウ60を表示する。図6Aのウィンドウ60において、ユーザには、カレントプリンタを選択するオプションが提供される（その時点で選択されているプリンタがボックス63の中に示される）。別のプリンタを選択するときは、本発明に従い、遠隔サービスプロバイダへの印刷のためのオプションを選択するために、ユーザはポインティングデバイスを使用してスクロール矢印61をクリックする。図6Bに示すようにスクロール矢印61を選択すると、カレントプリンタボックス63は拡張されて、コンピュータワークステーションにインストールされているカレントプリンタのすべてを含むリストを表示する。図6Bにおいては、コンピュータワークステーション10にインストールされているプリンタの一つは「サービスプロバイダによる遠隔印刷」(Remote Printing To Service Providers)である。このオプションを選択する場合、ユーザは、ボックス63の「サービスプロバイダによる遠隔印刷」をハイライト表示にし、それをクリックする。
【００４８】
カレントプリンタとして「サービスプロバイダによる遠隔印刷」を選択した場合、ユーザはポインティングデバイスによってプロパティボタン62をクリックする。プロパティボタン62を選択すると、コンピュータワークステーション10の表示装置にプリントドライバインタフェイス13によって図7に示すような遠隔印刷プロパティウィンドウ70が表示される。図7に示すように、遠隔印刷プロパティウィンドウ70は頁設定(PageSetup)タブ71と、高度(Advanced)タブ72と、ユーザ情報(User Information)タブ73と、プロバイダ情報(Provider Information)タブ74（図6Bに現時点で選択されているタブとして示される）とを含む。サービススプロバイダを選択するときには、ユーザはお気に入りリスト(Favorites List)ボタン78を選択できるだろう。このボタンは、ボックス76にユーザが好むプロバイダのリストを表示し、ユーザはそこから選択することができる。ユーザがボックス76のリストから一つのサービスプロバイダを選択すると、ボックス77にそのサービスプロバイダの情報が提供され、ユーザはOKボタンを選択して、サービスプロバイダの選択を確認することができる。OKボタンをクリックすると、遠隔印刷プロパティウィンドウ70は閉じ、プリントドライバインタフェイス13によりウィンドウ60が再び起動される。
【００４９】
再び図7に戻る。ユーザはお気に入りリストボタン78を選択せずに、他のプロバイダ(Other Providers)ボタン79を選択してもよい。他のプロバイダボタン79を選択した場合、検索ボタン75（その時点で非アクティブ表示または消えている）がアクティブになり、ユーザは、検索基準の入力を始めるために検索ボタン76をクリックすることができる。ユーザが検索ボタン75を選択すると、プリントドライバインタフェイス13は図8に示すようなプロバイダ検索ウィンドウ80を起動する。
【００５０】
図8に示すように、プロバイダ検索ウィンドウ80は、ユーザがサービスプロバイダの名称、都市、州または郵便番号などの情報を入力する検索基準(Search Criteria)ボックス81を含む。ユーザは白黒(B/W)、カラーまたは写真などのプリンタの種類を検索基準として入力してもよい。検索基準ボックス81に含めることができる基準はこれだけではなく、ここで挙げた基準は入力できる検索基準の幾つかの代表例であるに過ぎず、その他の基準も含めることが可能であることは容易に理解されるだろう。さらに、ユーザは検索基準ボックス81に示されているフィールドのそれぞれに情報を入力する必要もない。例えば、ユーザがプロバイダの名称を知らず、特定の都市に存在するすべてのプロバイダを探し出したいと望んでいる場合を考える。この場合、ユーザはボックス81に都市と州の情報のみを提供することになるだろう。ユーザが入力する検索基準が多いほど、検索範囲は狭くなり、基準に適合すると判明するサービスプロバイダの数が少なくなることは言うまでもない。同様に、ユーザがボックス81に入力する検索基準情報が極僅かであれば、得られるサービスプロバイダのリストが膨大になり過ぎて、エラーメッセージとともに、より範囲の狭い検索を実行して欲しい旨の要求が提示される事態になるだろう。例えば、ユーザが図8に示すようなプリンタ情報のみを提供した場合、検索の結果として、白黒プリントジョブを処理できる世界中のすべてのサービスプロバイダのリストが表示されるだろう。容易にわかるだろうが、サービスプロバイダのポータル3が白黒プリントジョブを処理できる世界中の無数のサービスプロバイダのデータベースを含んでいる場合、そのリストは余りにも大き過ぎてプリントドライバはそれを表示できず、さらに別の検索基準を提供することによって検索の範囲を狭めることがユーザに要求されることになる。ユーザがボックス81に検索基準を提供したならば、検索ボタン82がアクティブになり、ユーザは、サービスプロバイダ検索プロセスを開始させるために検索ボタン82をクリックすることができる。
【００５１】
検索ボタン82を選択すると、図4に示すように、プリントドライバ282は、サービスプロバイダ問い合わせ40をインターネット5を介してポータルサーバ30へ送信する。サービスプロバイダ問い合わせ40は、検索基準ボックス81にユーザから提供された検索基準と、応答をコンピュータワークステーション10のインターネットアドレスへ送ることで問い合わせに応答させる、ポータルサーバ30に対する要求とを含む。ポータルサーバ30に問い合わせを送信するために、プリントドライバ282には、サービスプロバイダにより遠隔印刷用のプリントドライバがインストールされた際にポータルサーバ30のインターネットアドレスがセットアップされている。プリントドライバ282がインストールされた後の任意の時点で、図6Aに示す設定ボタン64を選択することで、別のポータルアドレスをプリントドライバ282にセットアップできるだろうことは言うまでもない。
【００５２】
プリントドライバ282からサービスプロバイダ問い合わせ40を受信すると、ポータルサーバ30は、その要求を処理し、ボックス81にユーザが提供した検索基準に適合するサービスプロバイダ情報をデータベース31から取得する。そして、ポータルサーバ30は、図4に示すように、プロバイダ問い合わせ応答41によって問い合わせに応答する。プロバイダ問い合わせ応答41は、ユーザがボックス81に指定した基準に適合するサービスプロバイダのリストと、その関連情報とを含み、さらに様々な印刷サービスを実行する時の費用の見積りを含んでいてもよい。サービスプロバイダのリストは、プリントドライバインタフェイス13によってコンピュータワークステーション10の表示装置に表示される。そして、ユーザは、リストから一つ以上のサービスプロバイダを選択できる。これにより、プリントドライバインタフェイス13が再び起動され、プロバイダによる遠隔印刷ウィンドウ70が表示され、ボックス77には選択されたサービスプロバイダ情報が表示される。選択されたサービスプロバイダを確認するため、ユーザは、ウィンドウ70のOKボタンを選択し、その結果、サービスプロバイダによる遠隔印刷プロパティウィンドウ70は閉じ、プリントドライバインタフェイス13が再び起動され、ウィンドウ60が表示される。サービスプロバイダが選択された後、ウィンドウ60に戻った時点で、ユーザがプリントボタン65を選択すると、ユーザのプリント要求はサービスプロバイダにより拒否される。これは、プリント要求がユーザ名、支払情報、納品の種類などの所要の課金情報を含んでいないためである。従って、ユーザのプリント要求がサービスプロバイダにより受け入れられる前に、プリント要求とともに必要な課金情報を含めておく必要がある。
【００５３】
プリント要求とともに課金情報を含める方法の一つは、プリントドライバの設定の中に課金情報を自動的に設定するというものである。すなわち、ウィンドウ60でプリントドライバ設定ボタン64を選択することにより、プリントドライバにデフォルト課金情報が設定でき、従って、ユーザはプリント要求を送信する度に課金情報を入力する必要がない。しかし、これは機密保持の観点からは好ましい態様ではない。
【００５４】
もう一つの方法は、ユーザがウィンドウ60のプロパティボタン62を選択するというものである。これによりプロバティウィンドウ70が起動し、そこで、ユーザはウィンドウ70のユーザ情報タブ73を選択する。図9は、ユーザ情報タブ73が選択された場合のサービスプロバイダによる遠隔印刷プロパティウィンドウ70を示す。図9に示すように、ユーザ情報タブ73はユーザ名を提供するためのボックス90と、ユーザのパスワードを（必要に応じて）提供するためのボックス91とを含む。出荷情報ボックス92もウィンドウ70に提示され、ユーザはそこから納品の種類を選択する。ユーザはピックアップ、第一種郵便、翌日配達郵便、速達郵便、国際小包サービス(United Parcel Service)などを含む様々な納品方法から何れかを選択することができる。図9に示すように、出荷の方法としてピックアップを選択した場合、ユーザは郵送住所情報を入力する必要はないだろう（すなわち、名前、番地、都市名などが消える）。しかし、納品の方法として第一種郵便を選択した場合は、ユーザはボックス92に配達先情報を入力しなければならないだろう。
【００５５】
ユーザ情報タブ73には、ユーザが支払方法情報を入力するためのボックス93も設けられている。ボックス93において、ユーザはスクロール矢印98を選択し、Visa、MasterCard、American Express、Discoverなどのクレジットカードの種類を選択し、カード番号と有効期限を提示することができる。スクロール矢印98は納品現金払い(Cach on delivery: COD)などの他の支払オプションのリストや、ユーザがサービスプロバイダとの間にクレジット取り引きを結んでいる場合の請求計算書番号または顧客番号をさらに提示してもよい。本発明がクレジットカードには限定されず、任意の種類の支払オプションを使用できるだろうことは言うまでもない。例えば、コンピュータワークステーション10がATM装置に類似するカード読取装置、または現金払いを受け入れ、現金払いに基づきクレジットを提供する装置を含む場合、そのような装置を使用して本発明を実施することも可能だろう。
【００５６】
図9に示すように、ユーザ情報タブ73は、さらに、通知の種類を選択するためのオプションを含んでもよい。通知は、プリント要求の受信の確認または注文が完了したことの通知と、出荷または納品の日付とを組み合わせたものであってもよく、ピックアップ納品が要求された場合は、注文品をピックアップできる状態にあることの通知であってもよいだろう。通知の種類は電話、Eメール、音声メール、電子ページ、宅配便またはその他の何らかの種類の通知であってもよいだろう。
【００５７】
ユーザ情報タブ73は、ユーザが何らかの特殊命令を提供するためのジョブ名または特殊命令ボタン97を含んでいてもよい。例えば、ユーザが規定外の色の記録紙または仕上げの種類などの、プリントドライバタブには含まれていない特殊な処理の種類の要求を希望する場合を考える。ユーザが要求したい特殊命令がなんだろうと、ユーザが特殊命令ボタン97を選択することにより、それらの命令を実行することが可能だろう。ユーザ情報タブ73で所要の情報を提供したならば、ユーザは、ウィンドウ70のOKボタンを選択することにより、図6Aのウィンドウ60に戻すことができる。
【００５８】
ユーザがサービスプロバイダを選択し、上述のような所要のユーザ情報を入力した後、そのサービスプロバイダへプリント要求を送信するために、ユーザはウィンドウ60のプリントボタン65を選択することができる。ユーザがプリントボタン65を選択すると、プリントドライバレンダリングエンジン14が起動されて、プリントジョブを中立なプリンタ定義言語(Neutral Printer Definition Language: NPDL)にレンダリングするとともに、プリントジョブデータをスプールする。中立なプリンタ定義言語は、ある特定の種類のプリンタに特有の言語ではないことが好ましい。例えば、プリントドライバの中には、プリントデータをPostScriptまたはPCL (Printer Control Language)などの、選択されたプリンタに特有のプリンタ定義言語にレンダリングするものがある。しかし、本発明において、プリントジョブは特定の種類のプリンタへ直接送信されるのではなく、サービスプロバイダ2のサーバへ送信され、そこでサービスプロバイダ2のオペレータがプリントショップのどのプリンタがプリントジョブを処理すべきかを選択する。プリントデータがPostScriptにレンダリングされている場合、オペレータがPCLデータを要求するプリンタを選択したならば、言うまでもなく、プリントジョブがプリンタへ送信される前にPostScriptプリントジョブをPCLプリントジョブに変換する能力をサーバが有していない限り、プリント要求はオペレータが選択したプリンタによって適正に処理されなくなる。従って、この問題に対処するため、本発明のプリントドライバは、プリントデータを中立なプリンタ定義言語(NPDL)にレンダリングし、プリントジョブをプリントショップで処理すべきときに、プリントショップのサーバがNPDLでレンダリングされたプリントデータを、オペレータが選択したプリンタに適切なプリンタ定義言語に変換する。
【００５９】
プリントドライバレンダリングエンジン14が起動され、プリントジョブをNPDLにレンダリングして、データをスプールしても、プリントジョブは、その時点ではサービスプロバイダへ送信されない。プリントドライバ282は、図4に符号50で示すようなジョブチケット要求をインターネット5を介してサービスプロバイダサーバ20へ送信する。すなわち、プリントドライバ282は、ユーザの情報（支払方法を含む）、印刷すべきプリントジョブの種類（白黒、カラーまたは写真、仕上げオプションなど）およびプリントジョブに含まれる頁数を含むジョブチケットをサービスプロバイダサーバ20へ送信する。先に述べたとおり、頁数はプリントジョブがスプールされるときにレンダリングエンジンにより計算されることが好ましい。プリントジョブの頁数を判定するために他の方法を採用しても差し支えないことは勿論である。
【００６０】
サービスプロバイダサーバ20は、プリントドライバ282からジョブチケットおよび支払情報50を受信すると、ジョブチケットを処理して、ジョブ識別番号と、ジョブを処理する費用とを生成する。この点に関して、ジョブチケットを処理するとき、サービスプロバイダサーバ20はサービスプロバイダ2が要求されたジョブチケットを遂行できない可能性があることを判定してもよい。例えば、サービスプロバイダが実行できない様々な特殊命令（すなわち、仕上げオプション）をユーザが要求したとする。この場合、サービスプロバイダサーバ20はジョブチケットを処理できないと判定し、その旨のメッセージをプリントドライバ282に返す。サービスプロバイダ2がジョブチケットを遂行できるとサービスプロバイダサーバ20が判定したならば、サーバはジョブチケット情報に基づき費用と、（場合によっては）完成予定日とを計算し、かつ、そのジョブチケットのジョブ識別番号を生成する。そして、サービスプロバイダサーバ20は、ジョブチケットに対して費用およびジョブID情報51によって応答し、この情報をインターネット5を介してプリントドライバ282へ送信する。
【００６１】
プリントドライバ282がサービスプロバイダサーバ20からのジョブチケットに対する応答を待つ間、プリントジョブデータはスプールされたままである。すなわち、プリントジョブデータはジョブチケットの一部としてサービスプロバイダサーバ20へ送信されるのではなく、プリントドライバ282においてスプールされたままである。従って、ユーザがプリント要求の取り消しを決定した場合、プリントデータはサービスプロバイダへは送信されない。プリントドライバ282がサービスプロバイダサーバ20からの応答51を受信すると、プリントドライバインタフェイス13はコンピュータワークステーション10の表示装置に、応答に含まれる情報をユーザに提示するウィンドウまたはメッセージを表示する。例えば、応答がジョブIDと費用情報を含む場合、これらの情報がウィンドウに表示されることになる。応答が、サービスプロバイダは注文を完了することができない、というメッセージを含んでいるならば、その旨のメッセージがウィンドウに提示される。何れにせよ、表示されるメッセージに関わらず、ユーザは注文を確認する（すなわち、注文をサービスプロバイダへ送信すべきであることを確認する）か、または、注文を取り消すかの何れかを要求される。
【００６２】
ユーザが注文を確認すると、レンダリングされたNPDLデータは、プリントドライバ282によってインターネット5を介した送信用のトランスポートプロトコルでパッケージングされて、プリントドライバ282からサービスプロバイダサーバ20へ（図4に符号52で示すように）送信される。NPDLデータは、インターネットを介する通信において現在最も一般的に広く利用されているトランスポートプロトコルであるHTTP (Hypertext Transport Protocol)でパッケージングされるのが好ましい。しかし、本発明の趣旨に従って、インターネットまたはインターネットと同様のネットワークを介する通信用に規定されている、その他の適切なトランスポートプロトコルを利用することも可能だろう。
【００６３】
サービスプロバイダサーバ20は、NPDLプリントデータを受信すると、プリントデータを格納し、そのジョブを処理するためのプリンタをオペレータが選択するのを待つ。受信時にプリントジョブデータを自動的に処理するようにサービスプロバイダサーバ20をセットアップできることは言うまでもなく、その場合、オペレータによる手操作の介入は不要になるだろう。
【００６４】
図5は、本発明に従ってインターネットを介してプリントジョブをサービスプロバイダへ送信するためのプロセスステップを示すフローチャートである。簡単に言えば、これらのステップは、印刷すべきファイルを生成するステップ、プリントドライバを起動するステップ、プリントジョブを送信すべきサービスプロバイダを選択するステップ、ユーザ情報および支払情報を提供するステップ、選択されたサービスプロバイダへジョブチケットを送信するステップ、サービスプロバイダからジョブIDおよび費用情報を受信するステップ、並びに、プリントジョブをサービスプロバイダへ送信するステップを含む。
【００６５】
さらに詳細には、ステップS101で、ユーザはアプリケーションプログラムを使用して文書または画像ファイルを生成する。先に述べたとおり、印刷できるファイルを生成するアプリケーションプログラムであれば、どのようなアプリケーションプログラムを利用してもよい。アプリケーションプログラムがアクティブである間、ユーザはアプリケーション中のプリントオプションを選択することにより、プリントドライバを起動する。プリントドライバは、図6Aに示すウィンドウ60のようなグラフィカルユーザインタフェイスを表示する。
【００６６】
ステップS102では、ユーザはカレントプリンタを選択する。前述のように、インターネットを介してサービスプロバイダで印刷を実行するために、ユーザはウィンドウ60のスクロール矢印61をクリックし、図6Bに示すようにサービスプロバイダによる遠隔印刷を選択する。ユーザがカレントプリンタとして遠隔印刷オプションを選択した後、プロパティボタン62を選択することにより、遠隔印刷プロパティウィンドウ70を起動し、そこでプロバイダ情報タブ74を選択する。
【００６７】
印刷プロセスのこの時点で、ユーザはプリントジョブを送信したいサービスプロバイダを選択する。ステップS103では、ユーザがサービスプロバイダを検索することを選択したか否かの判定を実行する。サービスプロバイダを検索するためのオプションを選択するとき、ユーザは図7に示すその他のプロバイダボタン79を選択し、次に検索ボタン75を選択することにより、図8のプロバイダ検索ウィンドウ80を起動する。ユーザがこのオプションを選択すると、流れはステップS105へ進む。これに対し、ユーザが既にサービスプロバイダ情報を取得しているか、または、ユーザが既にプリントドライバに保存されているプロバイダのリスト（お気に入りプロバイダのリストなど）からサービスプロバイダを選択することを望む場合は、ユーザはお気に入りプロバイダボタン78を選択し、ボックス76に示されているリストからプロバイダを選択できるだろう。ユーザがこのオプションを選択すると、流れはステップS109へ進む。
【００６８】
ユーザがサービスプロバイダを検索するためのオプションを選択した（ステップS103のYES分岐）後、ステップS105で、ユーザはプロバイダ検索基準を入力する。前述のように、ユーザはプロバイダ検索ウィンドウ80に所望のどのような基準を入力してもよく、検索を開始するために検索ボタン82をクリックする。検索ボタン82をクリックすると、プリントドライバはインターネットを介して検索問い合わせをポータルサーバ30へ送信する（ステップS106）。ポータルサーバ30は、問い合わせを受信し、検索基準に適合するサービスプロバイダに関わるサービスプロバイダ情報を取得するために問い合わせを処理し、検索問い合わせに対する応答をプリントドライバへ送信する（ステップS107）。プリントドライバが検索問い合わせに対する応答を受信すると、ユーザは、検索結果からサービスプロバイダを選択し（ステップS108）、そこで流れはステップS109へ進む。
【００６９】
ユーザが（ステップS104で、または、ステップS105からS108を経て）サービスプロバイダを選択したならば、ステップS109で、ユーザは、ユーザ情報タブ73を選択することにより、図9に示すようにユーザ情報タブをウィンドウ70の全面に移動させる。前述のように、ユーザは自分の名前（ボックス90）、パスワード（ボックス91）、出荷情報（ボックス92）、支払情報（ボックス98）、並びに、通知（ボックス94）、ジョブ名（ボックス95）およびEメールアドレス（ボックス96）などのその他の情報を入力する。さらに、ユーザはボタン97をクリックすることによって何らかの特殊命令を提供することができる。
【００７０】
サービスプロバイダを選択し、かつ、ユーザ情報を入力したならば、ユーザは、遠隔印刷プロパティウィンドウ70のOKボタンを選択してウィンドウ70を閉じ、ウィンドウ60に戻る。ウィンドウ60に戻ると、ユーザは、プリントボタン65をクリックする（ステップS110）ことにより、プリントジョブをサービスプロバイダへ送信するプロセスを開始させる。
【００７１】
ユーザがプリントボタン65を選択すると、プリントドライバは、プリントジョブデータを中立なプリンタ定義言語にレンダリングし始め、データをスプールする（ステップS111）。さらに、プリントデータがスプールされるとき、プリントドライバはスプールされるデータに基づき頁数を計算する。以下で、図10を参照して説明するように、頁数はサービスプロバイダサーバによってプリントジョブを処理する費用を計算するために利用され、その費用情報は、ユーザがプリント要求を確認するために、プリントドライバに返される。
【００７２】
プリントデータのスプールが終了したならば、プリントドライバはジョブチケットを生成し、インターネットを介して（好ましくはHTTPで）ジョブチケットをサービスプロバイダサーバ20へ送信する（ステップS112）。前述のように、ジョブチケット情報はステップS109で提供されたユーザ情報と、ステップS111で計算された頁数とを含む。サービスプロバイダサーバはジョブチケットを受信し処理して応答を生成する。応答は、インターネットを介してプリントドライバに返される。このプロセスについては図10を参照して、さらに詳細に説明する。
【００７３】
応答を受信すると、プリントドライバは応答を処理し、応答の内容を示すメッセージをユーザに提供する（ステップS113）。メッセージは、プリント要求の誤りをユーザに報知するポップアップウィンドウであってもよい。すなわち、何らかの理由によりサービスプロバイダがプリント要求を遂行することができない場合、サービスプロバイダサーバ20はプリントドライバへ障害メッセージを返し、このメッセージはユーザに対してポップアップウィンドウによって表示される。障害メッセージが受信された場合、ユーザは、単にポップアップメッセージウィンドウを閉じるだけで、プリント要求はそこで終了すると考えられる。すなわち、スプールされたプリントデータは削除され、サービスプロバイダには送信されない。しかし、サービスプロバイダサーバからの応答がジョブIDと費用情報を含んでいる場合、その情報がポップアップウィンドウに表示され、ユーザはプリント要求を確認することを要求される（ステップS113）。これにより、ユーザには、例えば、費用が予想より高い場合などはプリント要求を取り消すというオプションが与えられることになる。そこで、ステップS114では、ユーザが注文を確認したか、または、プリント要求の取り消しを決定したかを判定する。ユーザが要求を取り消した場合、流れはステップS115へ進み、スプールされたプリントデータを削除し、プリント要求は終了する。ユーザが注文を確認した場合、流れはステップS116へ進み、スプールされたNPDLプリントデータをインターネットを介して送るために、（好ましくはHTTPで）パッケージングし、インターネットを介してサービスプロバイダサーバへ送信する。
【００７４】
図10は、インターネットを介してサービスプロバイダで印刷を実行するための要求を処理する際に、サービスプロバイダ側で実行されるプロセスステップを示す。ステップS120で、サービスプロバイダはプリントドライバから（図5のステップS112で送信された）ジョブチケット情報および頁数情報を受信する。ジョブチケットを受信すると、サービスプロバイダサーバ20は、まず、プリントショップがそのプリント要求を処理できるか否かを判定する。すなわち、サービスプロバイダサーバはプリントショップの様々な能力のすべてを含むルックアップテーブルを参照し、ジョブチケット情報をルックアップテーブルと比較する。ルックアップテーブルの中に、ジョブチケットで要求されているオプションの何れかが見当たらなければ、障害メッセージが出される結果になる。さらに、ジョブチケットに特殊命令が含まれている場合、サービスプロバイダサーバは、ジョブチケットの中にプリントショップが実行できない特殊な要求が存在するか否かを判定するために、命令中の語のブール検索を実行してもよい。言うまでもなく、特殊命令要求の中にはブール検索で誤りとして直ちに検出できないものもあり、後にプリント要求を再検討したときに、プリントショップが要求を処理できないとオペレータが判断してもよい。その場合、オペレータは後に障害メッセージをプリンタドライバへ送信することになるだろう。障害が起きると、サービスプロバイダサーバは障害メッセージを生成し、それを応答としてプリンタドライバに戻す（ステップS121）。障害となったオプションを含まない新たな要求を必要に応じてユーザが提示できるように、障害メッセージはどの印刷オプションが実行不可能であるかの指示を含んでいてもよい。
【００７５】
これに対し、プリントショップが要求を処理できるとサービスプロバイダサーバが判定した場合、サーバは、そのプリント要求のジョブ識別番号を生成する。さらに、サービスプロバイダサーバは、ジョブチケット情報（すなわち、印刷の種類（カラーまたは白黒）および仕上げオプション）と、頁数情報とを利用して、プリント要求を処理する費用の見積りを生成する。ジョブ識別情報と費用の見積りはプリント要求に対する応答としてインターネットを介してプリントドライバへ送信される（ステップS121）。
【００７６】
サービスプロバイダサーバから応答を受信した（図5のステップS113）後、ユーザがプリント要求を確認し、その結果、プリントデータがプリントドライバによりサービスプロバイダへ送信された（図5のステップS116）場合、サービスプロバイダサーバはステップS122でプリントデータを受信する。サービスプロバイダサーバは、プリントデータを受信するとプリントデータを格納し、それ以降の処理を待つ（ステップS123）。オペレータによるデータ処理を待つのではなく、受信時に自動的にプリントジョブデータを処理し、データの処理を開始するようにサービスプロバイダサーバをセットアップすることが可能なのは勿論である。しかし、好ましい実施形態においては、複数台のプリンタを有するプリントショップ環境において本発明が採用されるのが好ましく、従って、オペレータがプリントジョブの処理に際して最も適切なプリンタを選択する方がよいと考えられるため、プリントデータを格納しておく。
【００７７】
ステップS124からS126はプリントジョブを処理するためのステップで、プリントジョブを処理すべきプリンタをオペレータが選択し（ステップS124）、サービスプロバイダサーバはNPDLプリントデータをオペレータにより選択されたプリンタに基づきプリンタ特定フォーマットに変換して、印刷実行のためにプリントデータをプリンタへ送信し（ステップS125）、プリンタはプリントジョブを処理し、印刷する（ステップS126）。言うまでもなく、サービスプロバイダサーバにより受信されたプリントデータを処理するために、どのような方法を採用してもよく、ステップS124からS126は単にプリントデータを処理する一つの方法を表しているに過ぎない。従って、本発明は、上記のプロセスステップには限定されず、本発明を実施する際に他のステップを利用することが可能だろう。
【００７８】
本発明を特定の実施形態によって説明した。本発明は、上述の実施形態には限定されず、当業者により本発明の趣旨から逸脱せずに様々な変更や変形が実施できることは理解されるべきである。
【図面の簡単な説明】
【００７９】
【図１】本発明によるインターネット印刷システムの様々な構成要素を示す全体システム図、
【図２】コンピュータワークステーションの内部構造のブロック線図、
【図３】図1の様々な構成要素間の通信のチャネルを示す図、
【図４】図3の様々な構成要素間のインターネットを介する通信のシーケンスを示す図、
【図５】本発明に従ってインターネットを介して印刷支払を実行するためのプロセスステップを示す図、
【図６Ａ】アプリケーションプログラム内でプリントオプションが選択された際に、プリントドライバによりグラフィカルユーザインタフェース(GUI)の一部として表示されるウィンドウを示す図、
【図６Ｂ】アプリケーションプログラム内でプリントオプションが選択された際に、プリントドライバによりグラフィカルユーザインタフェース(GUI)の一部として表示されるウィンドウを示す図、
【図７】本発明に従ってプリントドライバにより選択され、かつ、GUIの一部として表示されるプロバイダ情報タブを伴う遠隔印刷プロパティウィンドウを示す図、
【図８】本発明に従ってプリントドライバによりGUIの一部として表示されるプロバイダ検索ウィンドウを示す図、
【図９】本発明に従ってプリントドライバにより選択され、かつ、GUIの一部として表示されるユーザ情報タブを伴う遠隔印刷プロパティウィンドウを示す図、
【図１０】サービスプロバイダによるジョブ要求の処理のためのプロセスステップを示す図である。
【図１】
2006099789.tif 000003
【図２】
2006099789.tif 000004
【図３】
2006099789.tif 000005
【図４】
2006099789.tif 000006
【図５】
2006099789.tif 000007
【図６Ａ】
2006099789.tif 000008
【図６Ｂ】
2006099789.tif 000009
【図７】
2006099789.tif 000010
【図８】
2006099789.tif 000011
【図９】
2006099789.tif 000012
【図１０】
2006099789.tif 000013