(57)【特許請求の範囲】
【請求項１】
印刷データを提供する印刷サービスを備えたプリントサーバーシステムと接続可能であり、印刷手段を備えた画像形成装置であって、
クライアント端末からの印刷指示を受信したことに応じて前記印刷データをストレージサービスに保存した前記印刷サービスから前記印刷データが保存された場所を示すＵＲＬを受信し、受信した前記ＵＲＬを基に前記印刷データを受信する受信手段と、
前記受信手段により受信された印刷データを前記画像形成装置に備えられた印刷手段へ送信する送信手段と、を有し、
前記送信手段は、前記印刷データの内の一部の印刷データが前記受信手段により受信されたことに応じて前記印刷手段との通信を開始し、前記受信手段が残りの印刷データを受信し終えるまでの間は前記印刷手段との通信を切断せず、前記受信手段が残りの印刷データを受信し終えたことで前記印刷データの送信を完了したことに応じて前記印刷手段との通信を切断し、
前記受信手段は、前記印刷データの内の一部の印刷データが保存された場所を示すＵＲＬを受信し、受信した前記ＵＲＬを基に前記印刷データの内の一部の印刷データを受信した後、残りの全てもしくは一部の印刷データが保存された場所を示すＵＲＬを受信する処理を行うことを特徴とする画像形成装置。
【請求項２】
前記受信手段は、インターネットを介して接続された情報処理装置と通信を行う際に利用する第１の通信プロトコルを用いて前記印刷データの受信を行い、
前記送信手段は、前記画像形成装置に備えられた印刷手段と通信を行う際に利用する第２の通信プロトコルとを用いて前記印刷データの送信を行うことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記受信手段は、前記残りの一部の印刷データが保存された場所を示すＵＲＬを受信した場合は、再び、残りの全てもしくは一部の印刷データが保存された場所を示すＵＲＬを受信する処理を行い、前記印刷指示を受信したことに応じて前記印刷サービスが提供する全ての印刷データを受信するまで当該処理を繰り返すことを特徴とする請求項１または２に記載の画像形成装置。
【請求項４】
前記受信手段は、前記ＵＲＬとともに前記印刷サービスから前記印刷指示に関する全ての印刷データが提供されたことを示す情報を受信し、
前記受信手段が前記情報を受信したことに応じて、前記送信手段は前記印刷手段との通信を切断することを特徴とする請求項１乃至３の何れか１項に記載の画像形成装置。
【請求項５】
前記受信手段と前記送信手段とを有するアプリケーションをインストールすることで、前記印刷サービスとの連携を行うことを特徴とする請求項１乃至４の何れか１項に記載の画像形成装置。
【請求項６】
印刷データを提供する印刷サービスを備えたプリントサーバーシステムと接続可能でありかつ印刷手段を備えた画像形成装置を制御する制御方法であって、
クライアント端末からの印刷指示を受信したことに応じて前記印刷データをストレージサービスに保存した前記印刷サービスから前記印刷データが保存された場所を示すＵＲＬを受信し、受信した前記ＵＲＬを基に前記印刷データを受信する受信ステップと、
前記受信ステップにおいて受信された印刷データを前記画像形成装置に備えられた印刷手段へ送信する送信ステップと、を含み、
前記送信ステップにおいては、前記印刷データの内の一部の印刷データが前記受信ステップにおいて受信されたことに応じて前記印刷手段との通信を開始し、前記受信ステップにおいて残りの印刷データを受信し終えるまでの間は前記印刷手段との通信を切断せず、前記受信ステップにおいて残りの印刷データを受信し終えたことで前記印刷データの送信を完了したことに応じて前記印刷手段との通信を切断し、
前記受信ステップにおいては、前記印刷データの内の一部の印刷データが保存された場所を示すＵＲＬを受信し、受信した前記ＵＲＬを基に前記印刷データの内の一部の印刷データを受信した後、残りの全てもしくは一部の印刷データが保存された場所を示すＵＲＬを受信する処理を行うことを特徴とする制御方法。
【請求項７】
印刷データを提供する印刷サービスを備えたプリントサーバーシステムと接続可能でありかつ印刷手段を備えた画像形成装置を制御する制御方法を実行するためのプログラムであって、
クライアント端末からの印刷指示を受信したことに応じて前記印刷データをストレージサービスに保存した前記印刷サービスから前記印刷データが保存された場所を示すＵＲＬを受信し、受信した前記ＵＲＬを基に前記印刷データを受信する受信ステップと、
前記受信ステップにおいて受信された印刷データを前記画像形成装置に備えられた印刷手段へ送信する送信ステップと、を含み、
前記送信ステップにおいては、前記印刷データの内の一部の印刷データが前記受信ステップにおいて受信されたことに応じて前記印刷手段との通信を開始し、前記受信ステップにおいて残りの印刷データを受信し終えるまでの間は前記印刷手段との通信を切断せず、前記受信ステップにおいて残りの印刷データを受信し終えたことで前記印刷データの送信を完了したことに応じて前記印刷手段との通信を切断し、
前記受信ステップにおいては、前記印刷データの内の一部の印刷データが保存された場所を示すＵＲＬを受信し、受信した前記ＵＲＬを基に前記印刷データの内の一部の印刷データを受信した後、残りの全てもしくは一部の印刷データが保存された場所を示すＵＲＬを受信する処理を行うことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷サービスから印刷データを受信し印刷を行う画像形成装置、制御方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、インターネット上にサーバーを配置し、サーバーがクラウドサービスを提供するビジネスが展開されてきている。例えば、データをファイル形式に保存するストレージサービスや、データベース機能を提供するデータベースサービスなどである。また、印刷システムにおいても、プリントサーバーをインターネット上のプリントサービスやデータ変換サービスとして提供する形態が求められてきている。
【０００３】
クラウドサービスとしてのサービス提供では大規模なデータセンター上にサーバーを配置できるため、顧客ごとのハードウェアの管理が不要となるメリットがある。また、サーバーの負荷に応じてコンピューティング・リソースを追加することが容易に行えるメリットがある。このクラウドサービスの普及に伴い、クラウドサービスにより提供されるプリントサーバーからインターネット越しに印刷データを送信しプリンターにて印刷を行うプルプリント環境が求められてきている。そして、このようなクラウドサービスは、多くのコンピューティング・リソースを用いて文書データのデータ処理をクラウド側で分散実行し、多くのクライアントからの要求を同時に処理することが主な特徴である。このためプリントサーバーでは、多種多様のプリンターが解釈可能なデータフォーマットに変換する機能が重要である。これは、従来クライアント端末におけるデータ変換ドライバーでのデータ変換をクラウド上のプリントサーバーで実現することで、クライアント端末が不要なクラウドプリンティングが実現可能とするためである。本技術の一つに、１つの印刷データを文書の種類ごとに異なる複数のサーバーで変換処理するために分割された印刷データをプリンターで統合し、印刷を行う技術として特許文献１がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４５０９９６５号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
入稿された文書データの印刷ページ数や部数が多い場合印刷データのサイズが大きくなり、印刷サーバーである特許文献１の画像処理サーバーにおいてデータ変換処理に時間がかかる場合がる。この場合、印刷ジョブに含まれる全ての印刷データの変換が終了するまでプリンターは印刷を開始することができないため、ファーストプリントが遅くなりユーザーを待たせてしまうという課題がある。
【０００６】
そこで、ファーストプリントを早くするためプリントサーバーは全ての印刷データの完成を待たずに、完成したページの印刷データからプリンターへ順次送信し印刷させる形態が考えられるがこの形態にも課題がある。プリントサーバーから印刷データを取得するためにプリンター内に配備されるプルプリントアプリケーションは、プリントエンジンを制御するコントローラに対し通信ポートを介してプリントサーバーから受信した印刷データを送信することが想定される。この場合、プリンターは１つの通信セッションで送られてきた印刷データを１ジョブとして印刷を行うので、プルプリントアプリケーションとコントローラとの通信が一度切断されると同じ印刷ジョブ内の印刷データであっても別の印刷ジョブとして処理されてしまう。画像処理サーバーの変換が遅れているため、プルプリントアプリケーションとコントローラとの通信が切断される可能性があるため、この課題は発生し得る。
【０００７】
本発明の目的は、ファーストプリントを早くするため完成したページの印刷データを受信し印刷を開始するとともに、プルプリントアプリケーションがコントローラとの通信セッションを切断することなく印刷データを送信する仕組みを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一実施形に係る画像形成装置は、印刷データを提供する印刷サービスを備えたプリントサーバーシステムと接続可能であり、印刷手段を備えた画像形成装置であって、クライアント端末からの印刷指示を受信したことに応じて前記印刷データをストレージサービスに保存した前記印刷サービスから前記印刷データが保存された場所を示すＵＲＬを受信し、受信した前記ＵＲＬを基に前記印刷データを受信する受信手段と、前記受信手段により受信された印刷データを前記画像形成装置に備えられた印刷手段へ送信する送信手段と、を有し、前記送信手段は、前記印刷データの内の一部の印刷データが前記受信手段により受信されたことに応じて前記印刷手段との通信を開始し、前記受信手段が残りの印刷データを受信し終えるまでの間は前記印刷手段との通信を切断せず、前記受信手段が残りの印刷データを受信し終えたことで前記印刷データの送信を完了したことに応じて前記印刷手段との通信を切断するし、前記受信手段は、前記印刷データの内の一部の印刷データが保存された場所を示すＵＲＬを受信し、受信した前記ＵＲＬを基に前記印刷データの内の一部の印刷データを受信した後、残りの全てもしくは一部の印刷データが保存された場所を示すＵＲＬを受信する処理を行うことを特徴とする。
【発明の効果】
【０００９】
ファーストプリントを早くするため完成したページの印刷データを受信し印刷を開始するとともに、プルプリントアプリケーションがコントローラとの通信セッションを切断することなく印刷データを送信する仕組みを提供することが可能になる。
【図面の簡単な説明】
【００１０】
【図１】ネットワーク構成を示すブロック図
【図２】プリントサーバー、プリンターのハードウェア構成図
【図３】印刷システムのモジュール構成図
【図４】（ａ）プリントサーバーのソフトウェア構成図、（ｂ）プリンターのソフトウェア構成図
【図５】Ｗｅｂブラウザの画面の例
【図６】プリントサーバー、プルプリントアプリケーションで管理するデータ
【図７】インディックスファイルの例
【図８】プルプリントアプリケーションの通信方式の概念図
【図９】（ａ）Ｗｅｂブラウザ、プリントサーバー、プルプリントアプリケーションの印刷開始シーケンス、（ｂ）Ｗｅｂブラウザ、プリントサーバー、プルプリントアプリケーションの印刷処理シーケンス
【図１０】プリントサーバーのデータ変換フロー
【図１１】実施例２におけるプリントサーバーのデータ変換フロー
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１２】
＜ネットワーク構成＞
図１は、本発明の実施形態に係る印刷システムのネットワーク構成を示す図である。図１において、プリンター１０４、１０５、クライアント端末１０９、１１０はローカルネットワーク１０７を介して複数台接続されていることを想定している。プリンター１０４、１０５、クライアント端末１０９、１１０は、ローカルネットワーク１０７を介してインターネットワーク１０８にアクセスし、プリントサーバー１０１、ストレージサーバー１０２、認証サーバー１０３にアクセスすることができる。プリンター１０４、１０５、クライアント端末１０９、１１０は有線または無線ＬＡＮを介してネットワークに接続する。本実施例では、プリンター１０４、クライアント端末１０９は、無線ＬＡＮターミナル１０６を介してネットワークに接続することを想定している。無線ＬＡＮターミナル１０６は、一般的なネットワーク・ルーター機能を有した無線ＬＡＮの親機であり、家庭内や事務所などの中で無線ＬＡＮを提供している。ネットワーク１０７〜１０８は、例えば、インターネット等のＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等のいずれである。またこれらの組み合わせにより実現される、いわゆる通信ネットワークである。ネットワーク１０７〜１０８は、データの送受信が可能であればよい。そして、クライアント端末１０９〜１１０からプリントサーバー１０１、プリンター１０４〜１０５への通信手段、プリンター１０４〜１０５からプリントサーバー１０１、ストレージサーバー１０２、認証サーバー１０３への通信手段は異なっていてもよい。
【００１３】
クライアント端末１０９〜１１０は、例えば、デスクトップパソコン、ノートパソコン、モバイルパソコン、ＰＤＡ（パーソナルデータアシスタント）等から成るが、プログラムの実行環境が内蔵された携帯電話であってもよい。クライアント端末１０９〜１１０では、Ｗｅｂブラウザ（インターネットブラウザ、ＷＷＷブラウザ、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂの利用に供するブラウザ）等のプログラムを実行する環境が内蔵されている。プリントサーバー１０１は、印刷する文書を識別する情報と、出力先プリンター１０４〜１０５を識別する情報を印刷リクエストと共にクライアント端末１０９〜１１０のＷｅｂブラウザから受ける。そして、印刷指示を行うコマンドを含めたレスポンスをクライアント端末１０９〜１１０のＷｅｂブラウザに返す。クライアント端末１０９〜１１０のＷｅｂブラウザは、指定のプリンター１０４〜１０５に対し受け取った印刷コマンドを発行する。プリンター１０４〜１０５は、クライアント端末１０９〜１１０のＷｅｂブラウザから印刷コマンドを受けると、ストレージサーバー１０２のＵＲＬから成る印刷データの保存場所を記載した後述のインディクスファイル７０１、７０２を取得する。プリンター１０４〜１０５は、インディクスファイル７０１、７０２にＵＲＬにアクセスし、ストレージサーバー１０２から印刷データを取得し、印刷を行う。
【００１４】
＜プリントサーバーのハードウェア構成＞
図２（ａ）は、プリントサーバー１０１のハードウェア構成の一例を示す図である。特に断らない限り、本発明の機能が実行可能であるならば、単体の機器であっても、複数の機器からなるシステムであっても、本発明が適用できることは言うまでもない。また、特に断らない限り、本発明の機能が実行可能であるならば、ＬＡＮ、ＷＡＮ等のネットワークを介して接続が為され、処理が行われるシステムであっても本発明を適用できることは言うまでもない。本実施例ではシステムバス２１９により各構成要素が接続されているものとして説明する。
【００１５】
２２０は情報処理装置の制御装置であるＣＰＵであり、記憶装置２２４に格納されているプリントサーバーのアプリケーションプログラム、オペレーティングシステム等を実行する。また、ＣＰＵ２２０はＲＡＭ２２２にプログラム実行に必要な情報、ファイル等を一時的に格納する制御を行う。また、ＣＰＵ２２０はプリントサーバープログラムにおける印刷データへの変換処理等を実行する。２２１は記憶手段であるＲＯＭであり、内部には基本Ｉ／Ｏプログラム等のプログラム、印刷データへのデータ変換の際に使用するフォントデータ、印刷処理、データ変換処理に必要な各種データを記憶する。２２２は一時記憶手段であるＲＡＭであり、ＣＰＵ２２０の主メモリやワークエリア等として機能する。２２４は外部記憶手段の一つで、大容量メモリとして機能する記憶装置であり、アプリケーションプログラム、ＯＳ等を格納している。
【００１６】
＜プリンターのハードウェア構成＞
図２（ｂ）は、画像形成装置であるプリンター１０４、１０５のハードウェア構成図である。ハードウェアの各構成要素は、システムバス２３０に接続されている。２３１は装置全体の制御を行うＣＰＵであり、システムバス２３０に接続される各種デバイスとのアクセスを統括的に制御する。この制御は、ＲＯＭ２３２に記憶された制御プログラム等あるいはディスクコントローラ（ＤＫＣ２３５）を介して接続された外部メモリ２３６に記憶された制御プログラムやリソースデータ（資源情報）等に基づく。２３３はＣＰＵ２３１の主メモリ、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。２４０は大容量メモリとして機能する外部記憶手段である。２３９は操作パネル（操作部）であり、画面を表示、または、画面を介したユーザーの操作指示を受け付ける。また、プリンター１０４、１０５の動作モード等の設定やプリンター１０４、１０５の動作状況の表示、印刷するコンテンツデータを指定する等の操作を行うためのボタンおよび液晶パネル等の表示部も配置される。２３４は、ネットワークインターフェースカード（ＮＩＣ）であり、該インターフェース２３４を介して外部装置とのデータのやり取りを行う。なお、本図で示したプリントエンジン２３８は既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式（レーザービーム方式）やインクジェット方式、昇華方（熱転写）方式等が挙げられる。２３７のラスタコントローラは、ＰＤＬ言語である印刷データを画像データに変換するコントローラである。２４１の機器Ｉ／Ｆは、ＵＳＢ等で接続可能な外部機器との接続Ｉ／Ｆである。
【００１７】
＜システム構成＞
図３は、本発明の実施形態に係る印刷システムの構成図である。ここでは、印刷システムの構成図を用いて、各サーバー、プリンター、クライアント端末の動作について説明する。これらの動作は、各装置のメモリに保存されたプログラムをＣＰＵが実行することにより実現される。
【００１８】
プリントサーバー１０１は、他サービス、または他プログラムから投入される文書データの投入先を示すＵＲＬを作成し、他サービス、または他プログラムに返す。このＵＲＬはストレージサービスを有するストレージサーバー１０２への文書データのアップロード先を示すＵＲＬである。なお、プリントサーバー１０１内に設けたストレージサービスであっても良いが、本実施例では別のサーバーにストレージサービスが含まれる場合を想定している。他サービス、または他プログラムはそのＵＲＬに対し、ユーザーから印刷指示を受けたことに伴い特定された印刷対象の文書データをアップロードする。プリントサーバー１０１は、その旨を他サービス、または他プログラムから受け取ると入稿された文書データの文書情報６２０をデータベース３０１に保存する。また、プリントサーバー１０１は、Ｗｅｂブラウザ３０２からの印刷リクエストを受けると、印刷リクエストとともに受け取る文書ＩＤ６２１に紐づく文書データをストレージサーバー１０２から取得し、取得した文書データを基に印刷データへの変換を行う。プリントサーバー１０１は、印刷データを作成し、ストレージサーバー１０２上のダウンロードＵＲＬを作成する。プリントサーバー１０１は、インディックスファイル７０１、７０２にダウンロードＵＲＬを記載し、印刷データをダウンロードＵＲＬにアップロードするとともにインディックスファイル７０１、７０２をストレージサーバー１０２にアップロードする。プリントサーバー１０１は、これらの機能を組み合わせることで印刷サービスを実現している。
【００１９】
認証サーバー１０３は、プリントサーバー１０１にアクセスするためのユーザー名、パスワード、認証トークン、認可トークンなどの認証情報を保持している。プリントサーバー１０１は、クライアント端末１０９、１１０内のＷｅｂブラウザ３０２からのリクエストに含まれる認証トークンを認証サーバー１０３に送り、トークンの正当性を検証する。このとき、Ｗｅｂブラウザ３０２からのリクエストに認証トークンが存在しない場合は、プリントサーバー１０１は、リクエストを認証サーバー１０３にリダイレクトさせる。そして認証サーバー１０３は、Ｗｅｂブラウザ３０２にログイン画面５００を返す。認証サーバー１０３は、Ｗｅｂブラウザ３０２に表示されたログイン画面５００からのログインリクエストに含まれるユーザー名、パスワードと認証サーバー１０３で保持するユーザー名、パスワードとの照合により正当性の検証を行う。検証が成功すると、認証サーバー１０３は、ユーザーに紐づく認証トークンを発行し、このトークンとともにＷｅｂブラウザ３０２に対し、プリントサーバー１０１へのリダイレクトを行うレスポンスを送る。
【００２０】
Ｗｅｂブラウザ３０２は、認証トークンを含めたリクエストをプリントサーバー１０１に送り、プリントサーバー１０１からのレスポンスによりＷｅｂ画面５１０、５２０、５３０を受信し表示を行う。
【００２１】
認証サーバー１０３は、プリンター１０４、１０５に配備されるプルプリントアプリケーション３０３がプリントサーバー１０１にアクセスするために必要な認可トークンを発行する。また、認証サーバー１０３は、プルプリントアプリケーション３０３からプリントサーバー１０１にアクセスする場合にリクエストに含まれる認可トークンの正当性検証を行う。
【００２２】
プルプリントアプリケーション３０３は、認可トークンを含めたリクエストをプリントサーバー１０１に送り、印刷データを示したＵＲＬを記載したインディックスファイル７０１、７０２を取得する。プルプリントアプリケーション３０３は、印刷データを示したＵＲＬに従い、ストレージサーバー１０２から印刷データを取得し、印刷装置制御部３０４に印刷データを送り、印刷を行う。印刷装置制御部３０４は印刷データを基に記録媒体への印刷を行う機能を有する。
【００２３】
＜プリントサーバーのソフトウェア構成＞
図４は、本発明の実施形態に係るプリントサーバー１０１のソフトウェア構成図である。なおプリントサーバー１０１の各ソフトウェアモジュールは図２（ａ）で示した記憶装置２２４に記憶されており、前述したようにＣＰＵ２２０によってＲＡＭ２２２にロードされ実行される。ここでは、プリントサーバー１０１が、外部リクエストを受信した際のプリントサーバー１０１の各ソフトウェアモジュールの動作について説明する。
【００２４】
プリントサーバー１０１は、外部リクエストを受け付けるＷｅｂサーバー４０１と、文書、印刷ジョブ、プリンター情報を管理し、印刷処理の制御を行う制御サーバー４０２、文書データを印刷データに変換する変換サーバー４０３から構成される。それぞれ独立したプログラムであり、それぞれ別々の情報処理装置に配置することも可能である。これらのプログラムはそれぞれネットワークに繋がった情報処理装置に配置し、それぞれのプログラム間で通信を行う。またこれらのプログラムを同じ情報処理装置に配置することも可能であり、本発明ではそのように扱う。また、それぞれのサーバーは単体構成または、冗長構成をとるように配備されるので、１つのサーバーに対し複数の情報処理装置で構成されることもある。プリントサーバーシステムと称した場合は、１つまたは複数の情報処理装置から構成されたプリントサービスを備えるシステムを指す。
【００２５】
Ｗｅｂサーバー４０１は、他サービス、または他プログラム、またはプリンター１０４、１０５または、Ｗｅｂブラウザ３０２から文書データの入稿、または、印刷リクエスト、印刷データ取得リクエストを受ける。各クライアントからリクエスト受付部４０４がリクエスト受けると、認証サーバー問い合わせ部４０５が認証サーバー１０２に対しトークンの正当性検証リクエストを送る。トークンの正当性が確認されると、リクエスト受付部４０４は、制御サーバー４０２にクライアントからのリクエストを送る。
【００２６】
制御サーバー４０２は、文書データの入稿リクエストを受けるとデータ管理部４０６で図６に示す文書情報６０２を作成し、データベース３０１に保存する。文書情報６０２は、文書データを識別する文書ＩＤ６２１、文書名６２２、認証トークンに紐づくユーザー名６２３とストレージサーバー１０２に文書をアップロードするための文書ＵＲＬ６２４、ステータス６２５から構成される。文書ＵＲＬ６２４には、文書ＩＤ６２１が含まれる。また、ステータス６２５は「受信中」「待機中」「印刷待ち」「印刷中」「正常終了」「エラー終了」「不明終了」の各ステータスがある。制御サーバー４０２は、文書情報６０２のステータス６２５を「受信中」に変え、文書ＵＲＬ６２４をＷｅｂサーバー４０１に返す。そしてＷｅｂサーバー４０１がリクエスト元の他サービス、または他プログラムに対し文書ＵＲＬ６２４を返す。他サービス、または他プログラムはストレージサーバー１０２に文書データをアップロード完了すると、プリントサービス１０１にアップロード完了通知を送る。プリントサービス１０１はこの通知をＷｅｂサーバー４０１で受けると制御サーバー４０２は、文書情報６０２のステータス６２５を「待機中」に変える。
【００２７】
制御サーバー４０２が印刷リクエストを受け取ると、データ管理部４０６は印刷リクエストに対するジョブ情報６００を作成し、データベース３０１に保存する。印刷リクエストには、印刷を行う文書ＩＤ６２１と、プリンターＩＤ６１２が含まれる。この文書ＩＤ６２１は、Ｗｅｂブラウザ３０２で表示される文書一覧画面５１０の文書名５１２に対応した文書情報６２０の文書名６２２に紐づく文書ＩＤ６２１である。また、プリンターＩＤ６１２は、Ｗｅｂブラウザ３０２で表示される印刷設定画面５２０のプリンター名５２４に対応したプリンター情報６１０のプリンター名６１１に紐づくプリンターＩＤ６１２である。データ管理部４０６が作成するジョブ情報６００は、印刷ジョブを識別するジョブＩＤ６０１と、文書情報６２０の文書ＩＤ６２１に対応した文書ＩＤ６０２と、認証トークンに紐づくユーザー名６０３と、印刷の受付日時６０４とプリンター情報６１０のプリンターＩＤ６１２に対応したプリンターＩＤ６０５と、インディックスファイルＵＲＬ６０６から成る。
【００２８】
データ管理部４０６は、プリンター管理部４０７からプリンターＩＤ６１２に対応したプリンター情報６１０を取得し、構成情報６１４、圧縮方式６１５と文書ＵＲＬ６２４と、ジョブＩＤ６０１を変換サーバー４０３に渡して、印刷データへの変換を指示する。また、プリンター管理部４０７が管理するプリンター情報６１０は、プリンター名６１１とプリンターを識別するプリンターＩＤ６１２とＷｅｂブラウザ３０２がプリンター１０４、１０５に印刷リクエストを送るためのプリンターＵＲＬ６１３と構成情報６１４と印刷データの扱える圧縮方式を示す圧縮方法６１５から成る。また、構成情報６１４は印刷設定画面５２０の印刷設定５２１の項目が機能するかどうかが判断可能な、プリンター１０４、１０５の機能を示すものである。たとえば、両面機能、カラー機能等がある。制御サーバー４０２は、Ｗｅｂサーバー４０１を介して、Ｗｅｂブラウザ３０２にプリンターＵＲＬ６１３、ジョブＩＤ６０１、プリンターＩＤ６０５を印刷リクエストコマンドとしてスクリプトに含めた画面５４０を返す。Ｗｅｂブラウザ３０２では、画面５４０のスクリプトに従い、プリンター１０４、１０５のプルプリントアプリケーション３０３に対し、印刷リクエストを送る。Ｗｅｂブラウザ３０２は、プルプリントアプリケーション３０３に印刷リクエストが成功するとプリントサーバー１０１にその旨通知する。Ｗｅｂサーバー４０１を介してデータ管理部４０６が通知を受けとると、文書情報６２０のステータス６２５を「印刷待ち」に変える。
【００２９】
制御サーバー４０２から印刷データ変換指示を受けると変換サーバー４０３のデータ管理部４１０は、ストレージサーバー１０２の文書ＵＲＬ６２４から文書データをダウンロードする。そして、データ変換部４０９は、構成情報６１４を加味しながら、文書データを印刷データに変換する。データ変換部４０９は、変換データサイズに応じて複数の印刷データをファイル形式で作成する。なお、ファイル形式の印刷データを印刷データファイルと称するが、印刷データと称した場合ファイル形式を含む全ての形式の印刷データを指すものとする。データ管理部４１０は、ある程度の数の印刷データファイルがデータ変換部４０９にて作成されると、生成完了した印刷データファイル数分のストレージサーバー１０２上の印刷データファイルＵＲＬを作成する。そして、そのＵＲＬを記載したインディックスファイル７０１、７０２を作成する。このように、印刷指示に応じて生成される印刷データの内の一部の印刷データを先にプリンターへ送る仕組みにすることでファーストプリントが早くなるわけである。
【００３０】
そして、データ管理部４１０は、ストレージサーバー１０２上のインディックスファイルＵＲＬ６０６を作成し、インディックスファイル７０１、７０２と複数の印刷データファイルをそれぞれのＵＲＬにアップロードする。そのとき、データ管理部４１０は、圧縮方式６１５に従ったデータフォーマットに変換し、印刷データファイルをストレージサーバー１０２にアップロードする。データ管理部４１０は、インディックスファイルＵＲＬ６０６を制御サーバー４０２に送る。制御サーバー４０２はデータベース３０１のジョブ情報６００にインディックスファイルＵＲＬ６０６を登録する。データ変換部４０９は印刷ジョブに含まれる残りの印刷データファイルの作成が完了次第、随時印刷データファイルＵＲＬを生成し、生成されたＵＲＬを記載したインディックスファイル７０１、７０２を作成する。印刷データファイルは随時生成されるＵＲＬにアップロードされ、一方でインディックスファイル７０１、７０２はすでに作成済みのインデックスＵＲＬ６０６にアップロードされる。
【００３１】
＜Ｗｅｂ画面＞
図５は、本発明の実施形態に係るプリントサーバー１０１のＷｅｂサーバー４０１が作成し、クライアント端末１０９〜１１０のＷｅｂブラウザ３０２で表示するＷｅｂ画面である。
【００３２】
Ｗｅｂブラウザ３０２からプリントサーバー１０１に文書一覧リクエストを送ると、プリントサーバー１０１は、文書一覧画面５１０を作成し、Ｗｅｂブラウザ３０２に送信する。文書一覧画面５１０は文書選択チェックボックス５１１、文書名５１２、ステータス５１３、印刷ボタン５１４からなる。ステータス５１３は文書情報６２０のステータス６２５であり、プリントサーバー１０１は、文書一覧リクエストを受け取ったときのステータス６２５を文書一覧画面のステータス５１３として画面を作成する。文書選択チェックボックス５１１は、印刷する文書を選択するチェックボックスであり、チェックは１つでも複数であっても良い。Ｗｅｂブラウザ３０２が印刷ボタン５１４の押下を検知すると文書選択チェックボックス５１１が選択されている文書一覧をプリントサーバー１０１へ送信する。文書一覧を受け付けたプリントサーバー１０１は印刷設定画面５２０を作成し、Ｗｅｂブラウザ３０２に送信する。印刷設定画面５２０は印刷属性５２１の設定画面である。プリンター名５２４は、印刷を行うプリンターである。Ｗｅｂブラウザ３０２は、変更ボタン５２２の押下を検知するとプリントサーバー１０１へリクエストを行う。
【００３３】
リクエストを受け付けたプリントサーバー１０１は、プリンター情報６１０からプリンター一覧画面５３０を作成し、Ｗｅｂブラウザ３０２に送信する。プリンター一覧画面５３０はプリンター選択ラジオボタン５３１、プリンター名５３２、変更ボタン５３３からなる。Ｗｅｂブラウザ３０２が変更ボタン５３３の押下を検知するとラジオボタン５３１が選択されているプリンター情報をプリントサーバー１０１へ送信する。プリントサーバー１０１は、印刷設定画面５２０のプリンター名５２４をラジオボタン５３１が選択されていたプリンター名に更新し、Ｗｅｂブラウザ３０２に印刷設定画面５２０を送信する。印刷設定画面５２０においてＷｅｂブラウザ３０２が印刷ボタン５２３の押下を検知すると印刷属性５２１とプリンター名５２４と、文書一覧画面５１０で文書選択チェックボックス５１１が選択されていた文書一覧をプリントサーバー１０１へ送信する。これによりＷｅｂブラウザ３０２からプリントサーバー１０１への印刷リクエストが行われる。ここで、印刷設定画面５２０では、文書一覧画面５１０で文書選択チェックボックス５１１が選択されていた文書一覧隠しパラメータとして画面に保持する。
【００３４】
＜プリンターのソフトウェア構成＞
図４（ｂ）は、本発明の実施形態に係るプリンター１０４、１０５のソフトウェア構成図である。尚プリンター１０４、１０５の各ソフトウェアモジュールは図２（ｂ）の記憶装置２４０に記憶されており、前述したようにＣＰＵ２３１によってＲＡＭ２３３にロードされ実行される。ここでは、プリンター１０４、１０５が、外部リクエストを受信した際のプリンター１０４、１０５の各ソフトウェアモジュールの動作について説明する。
【００３５】
プルプリントアプリケーション３０３は、仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）４１０上で動作するアプリケーションソフトであり、後からインストールされることを想定している。プルプリントアプリケーション３０３をインストールしたプリンター１０４、１０５は、印刷サービスを備えたプリントサーバーと連携を行うことが可能になる。
【００３６】
プルプリントアプリケーション３０３のプルプリントコントローラ４１４は、プルプリントアプリケーション３０３全体の動作管理を行うものであり、各部への動作指示等は、このプルプリントコントローラ経由で行う。
【００３７】
プルプリントアプリケーション３０３のリクエスト受信部４１１は、Ｗｅｂブラウザ３０２から印刷リクエストを受けると印刷データ取得部４１２に印刷リクエスト情報を通知する。印刷リクエスト情報にはジョブＩＤ６０１、プリンターＩＤ６０５が含まれる。印刷ジョブ取得部４１２は印刷データの取得を印刷キュー情報６３０で管理する。印刷キュー情報６３０はジョブＩＤ６３１、インディックスファイルＵＲＬ６３２、認可トークン６３３、プリンターＩＤ６３４などの印刷ジョブ情報のキュー情報である。Ｗｅｂブラウザ３０２から送られてきたジョブＩＤ６０１、プリンターＩＤ６０５は、この印刷キュー情報６３０のジョブＩＤ６３１、プリンターＩＤ６３４に保持する。そして、印刷データ取得部４１２は、認証サーバー問い合わせ部１０３に認可トークンの発行依頼を出す。認証サーバー問い合わせ部１０３は、認証サーバー１０３に対し認可トークンの発行依頼を出す。このとき、認証サーバー問い合わせ部４１３はあらかじめ登録されている認証サーバー１０３が認める証明書を認証サーバー１０３に送る。認証サーバー１０３では、証明書の検証を行い正当性が確認できた場合に認可トークンを発行し、認証サーバー問い合わせ部４１３に認可トークンを送る。認証サーバー問い合わせ部１０３は、認可トークンを印刷ジョブ取得部４１２に送り、印刷ジョブ取得部４１２はこの認可トークンをこの印刷キュー情報６３０の認可トークン６３３に保持する。
【００３８】
プルプリントアプリケーション３０３の印刷ジョブ取得部４１２は、プリントサーバー１０１に印刷キュー情報６３０の先頭のジョブＩＤ６３１に対するインディックスファイルＵＲＬ取得リクエストを送る。このとき、印刷ジョブ取得部４１２は、ジョブＩＤ６３１、プリンターＩＤ６３４、認可トークン６３３を含めてインディックスファイルＵＲＬ取得リクエストを送る。プリントサーバー１０１では、ジョブ情報６００からジョブＩＤ６０１、プリンターＩＤ６０５で印刷ジョブのインディックスファイルＵＲＬ６０６を特定し、プルプリントアプリケーション３０３に返す。印刷ジョブ取得部４１２は、インディックスファイルＵＲＬ６０６を、印刷キュー情報６３０のインディックスファイルＵＲＬ６３２に保持する。そして、印刷ジョブ取得部４１２は、ストレージサーバー１０２に対しインディックスファイルＵＲＬ６３２でアクセスし、インディックスファイル７０１を取得する。印刷ジョブ取得部４１２は、インディックスファイル７０１記載のストレージサーバー１０２上の印刷データファイルＵＲＬから記載されているＵＲＬ分の印刷データファイルを取得する。このとき図７のインディックスファイル７０１、７０２のｅｎｄフラグ７０３がｆａｌｓｅの場合は、プリントサーバー１０１での変換処理が途中であり、更に印刷データファイルＵＲＬが追加されることを示す。この場合、印刷ジョブ取得部４１２は、印刷データファイルが記載されているＵＲＬ分の印刷データファイルの取得処理が終わり次第、再度インディックスファイルＵＲＬ６３２をストレージサーバー１０２から取得する。ｅｎｄフラグ７０３がｔｒｕｅの場合は、印刷データをすべて取得したことになり、後述する印刷ジョブ送信部４１６は、後述するプリンター通信ストリーム８０２をクローズする。
【００３９】
印刷ジョブ送信部４１６は、印刷ジョブ取得部４１２より送られる印刷データを受け付け、送信バッファストリームに保持する。そして印刷ジョブ送信部４１６は、送信バッファストリームに保存された印刷データを印刷装置制御部３０４に対しネットワークインタフェース部４１７を介して送信する。印刷ジョブ送信部４１６は、送信バッファストリームに印刷データの保存を行うが、ストレージサーバー１０２から印刷データを受信しながら印刷装置制御部３０４に送信を行うためバッファストリームに保存されるのは印刷データの一部である。これは、印刷装置制御部３０４が１つの印刷ジョブの単位をネットワークインタフェース部４１７に対する１つの通信接続で管理されているためである。つまり、印刷ジョブ送信部４１６は、ファーストプリントを早くするためにストレージサーバー１０３に複数に分割されて置かれている印刷データファイルを受信しながら、印刷装置制御部３０４に１つの通信接続で印刷ジョブを送信する必要がある。ここで、この仕組みの説明について図８を用いて行う。図８は、印刷ジョブ取得部４１２がストレージサーバー１０２から複数の印刷データファイルを取得しながら、印刷ジョブ送信部４１６がする印刷データファイル取得通信ストリーム８０１の印刷装置制御部３０４に１つの通信接続で印刷データを送る概念図である。
【００４０】
まず、プリントサーバー１０１はプリンター１０４、１０５の印刷処理開始を早くするために印刷データ変換が出来次第、変換が終わったデータを１つの印刷データファイルにしてストレージサーバー１０２にアップロードする。印刷装置制御部３０４に印刷データを早く送ることで、時間のかかるプリントエンジン２３８の事前処理を早く開始することが可能となり、全体としてプリンター１０４、１０５のファーストプリントが早くなる。しかし、前述のとおり印刷ジョブ送信部４１６は印刷装置制御部３０４に１つの通信接続で印刷ジョブを送信する必要がある。そこで、印刷ジョブ取得部４１２が、ストレージサーバー１０２への印刷データファイル取得通信ストリーム８０１と、印刷ジョブ送信部４１６が印刷装置制御部３０４のネットワークインタフェース部４１７と通信するプリンター通信ストリーム８０２をプルプリントコントローラ４１４が、１つの通信ストリームとして維持する。そして、印刷ジョブ取得部４１２が２つ目以降の印刷データファイルを取得するときに、プルプリントコントローラ４１４は、印刷ジョブ取得部４１２が新たに作成した印刷データファイル取得通信ストリーム８０１を既存のプリンター通信ストリーム８０２につなぎ変えて１つの通信ストリームとして維持する。これにより、ファーストプリントを早くしながら、複数に分割された印刷データファイルを１つの印刷ジョブとして印刷することを実現する。ここで、印刷データファイル取得通信ストリーム８０１は、インターネットを介した通信であり、通信プロトコルとしては、ＨＴＴＰＳ（Ｈｙｐｅｒ  Ｔｅｓｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  Ｓｅｃｕｒｅ）を使用している。一方、プリンター通信ストリーム８０２は、プリンター１０４、１０５からプリンター１０４、１０５への異なるポートへのローカルネットワーク内通信であり、通信プロトコルとしては、ＲＡＷプロトコルを使用している。
【００４１】
以上が、プリンター１０４、１０５が、外部リクエストを受信した際のプリンター１０４、１０５の各ソフトウェアモジュールの動作についての説明となる。
【００４２】
＜印刷開始フロー＞
図９（ａ）は、本発明の実施形態に係るクライアント端末１０９、１１０、プリントサーバー１０１、プルプリントアプリケーション３０３の印刷開始処理フローである。Ｓ９０１でクライアント端末１０９、１１０に配備されているＷｅｂブラウザ３０２は、印刷リクエストをプリントサーバー１０１に送る。プリントサーバー１０１は、前述のジョブ情報６００を作成し、データベース３０１に保存し、変換サーバー４０３で印刷データへの変換処理を開始し、Ｓ９０１で、５４０の印刷スクリプト画面をＷｅｂブラウザ３０２に送る。Ｗｅｂブラウザ３０２は、印刷スクリプトを実行し、Ｓ９０３でプルプリントアプリケーション３０３に印刷リクエストを送る。
【００４３】
Ｓ９０４で、プルプリントアプリケーション３０３は、印刷キュー情報６３０に印刷キューを追加する。Ｓ９０５で、プルプリントアプリケーション３０３は、Ｗｅｂブラウザ３０２は印刷リクエストを受け付けた旨をレスポンスする。次にＳ９０６で、Ｗｅｂブラウザ３０２はプリントサーバー１０１に印刷リクエスト完了を通知する。Ｓ９０７で、プリントサーバー１０１は、文書情報６２０のステータス６２５を「印刷待ち」に変更する。次にＳ９０８で、Ｗｅｂブラウザ３０２が、プリントサーバー１０１に文書一覧リクエストを行う。そして、Ｓ９０９で、プリントサーバー１０１は、文書情報６２０をもとに文書一覧画面５１０を作成し、Ｗｅｂブラウザ３０２返す。このとき、文書一覧画面５１０のステータス５１３は「印刷待ち」になる。
【００４４】
＜印刷処理フロー＞
図９（ｂ）は、本発明の実施形態に係るプリントサーバー１０１、プルプリントアプリケーション３０３、印刷装置制御部３０４の印刷処理フローである。Ｓ９１１で、Ｗｅｂブラウザ３０２から印刷リクエストを受けたプルプリントアプリケーション３０３は、プリントサーバー１０１にインディックスファイルＵＲＬ取得要求を出す。Ｓ９１２で、プリントサーバー１０１は、文書情報６２０のステータス６２５を「印刷中」に変更する。そして、Ｓ９１３で、プリントサーバー１０１は、インディックスファイルＵＲＬ６０６をプルプリントアプリケーション３０３に返す。このとき、まだ変換サーバーで指定の文書データの変換処理が始まっていない場合、つまり、インディックスファイルＵＲＬ６０６が存在しない場合はビジーレスポンスを返す。その場合、プルプリントアプリケーション３０３はある程度のインターバル後、再度Ｓ９１１のインディックスファイルＵＲＬ取得要求を出す。プルプリントアプリケーション３０３はインディックスファイルＵＲＬ６０６を取得するまで定期的に問い合わせを行う。ここで、プリントサーバー１０１のＳ９１４からの印刷データ変換処理と、Ｓ９１７のプルプリントアプリケーション３０３のストレージサーバー１０２へのデータ取得処理は非同期で行われる。つまり、処理開始タイミングは、本実施例では、Ｓ９１４の処理を先に開始しているが、プリントサーバー１０１にリクエストされる他のプリンター１０４、１０５向けの印刷リクエストが多くある場合は、Ｓ９１７の処理が先に開始されることはある。
【００４５】
Ｓ９１４で、プリントサーバー１０１は文書データを印刷データに変換する処理を開始する。Ｓ９１５で、プリントサーバー１０１は、作成した印刷データファイルをストレージサーバー１０２にアップロードする。続いて、Ｓ９１６で、プリントサーバー１０１は、作成したインディックスファイル７０１、７０２をストレージサーバー１０２にアップロードする。更にプリントサーバー１０１は、データ変換処理が進むと、Ｓ９２１、Ｓ９２７で作成した印刷データファイルをストレージサーバー１０２にアップロードする。そして、Ｓ９２８で、プリントサーバー１０１は、更新したインディックスファイル７０１、７０２をストレージサーバー１０２にアップロードする。
【００４６】
続いて、Ｓ９１６で、プリントサーバー１０１は、新たに作成した印刷データファイルのＵＲＬを追記したインディックスファイル７０１、７０２をストレージサーバー１０２に更新アップロードする。Ｓ９１７で、プルプリントアプリケーション３０３はストレージサーバー１０２に対してインディックスファイル７０１、７０２を取得するための通信接続を確立する。Ｓ９１８で、プルプリントアプリケーション３０３はストレージサーバー１０２からインディックスファイル７０１、７０２をダウンロードして、Ｓ９１９で、ストレージサーバー１０２への通信接続をクローズする。次にＳ９２０で、プルプリントアプリケーション３０３はストレージサーバー１０２に対して印刷データを取得するための通信接続を確立し、印刷データファイル取得通信ストリーム８０１を作成する。Ｓ９２１で、プルプリントアプリケーション３０３はストレージサーバー１０２に対して印刷データをダウンロード開始する。Ｓ９２３で、プルプリントアプリケーション３０３は印刷装置制御部３０４への通信接続を確立し、プリンター通信ストリーム８０２を作成する。
【００４７】
Ｓ９２４で、プルプリントアプリケーション３０３は、印刷データファイル取得通信ストリーム８０１とプリンター通信ストリーム８０２をつなげて１つの通信ストリームとし、取得した印刷データファイルの印刷装置制御部３０４への送信を開始する。印刷装置制御部３０４への送信とは、プリンター通信ストリーム８０２に印刷データをＷｒｉｔｅすることで実現する。Ｓ９２５で、プルプリントアプリケーション３０３はストレージサーバー１０２から１つの印刷データファイルの取得が完了するとストレージサーバー１０２への通信をクローズし、印刷データファイル取得通信ストリーム８０１をクローズする。ただし、プリンター通信ストリーム８０２は切断することなく確立したままにしておき、次の印刷データファイルのダウンロードで印刷データファイル取得通信ストリーム８０１を作成した際に、プリンター通信ストリーム８０２と繋いで１つの通信ストリームとして、対印刷装置制御部３０４の通信接続を維持する。これは、印刷ジョブに含まれる全ての印刷データをコントローラに送信するまで維持され、更新されるインディックスファイルに印刷ジョブの変換終了を示す値が含まれるまで維持される。
【００４８】
Ｓ９２６で、印刷装置制御部３０４は印刷処理を実行し印刷を行う。Ｓ９２９で、印刷データファイルが全て作成し、そのデータを印刷装置制御部３０４にすべて送るまでこの処理を続ける。すべてのデータを送り終わるとプルプリントアプリケーション３０３は、プリンター通信ストリーム８０２をクローズする。Ｓ９３０で、印刷装置制御部３０４は印刷完了通知をプルプリントアプリケーション３０３に送る。Ｓ９３１で、プルプリントアプリケーション３０３は、プリントサーバー１０１に印刷完了通知を送る。Ｓ９３２で、プリントサーバー１０１は、文書情報６２０のステータス６２５を「正常終了」に変える。もしくは、Ｓ９３０で、完了ステータスがエラーの場合は、「エラー終了」に変える。これによりＷｅｂブラウザ５１０で文書一覧リクエストを送ると、ステータス５１３は「正常終了」に変わる。Ｓ９３３で、プリントサーバー１０１はストレージサーバー１０２にアップロードしたインディックスファイル７０１、７０２と１つまたは複数の印刷データファイルを削除する。ここまでが、プリントサーバー１０１、プルプリントアプリケーション３０３、印刷装置制御部３０４の印刷処理フローである。
【００４９】
＜プリントサーバー印刷データ変換フロー＞
図１０は、本発明の実施形態に係るプリントサーバー１０１の変換サーバー４０３の印刷データ変換フローである。Ｓ１００１で、変換サーバー４０３は、ストレージサーバー１０２から文書データを取得する。Ｓ１００２で、変換サーバー４０３は、文書データを印刷データに変換する処理を開始する。Ｓ１００３で、変換データサイズが２５６ＫＢ超えたか、または、変換するデータがもうないかを判断し、超えた場合は、Ｓ１００４で、印刷データファイルのＵＲＬを作成し、インディックスファイル７０１、７０２にそのＵＲＬを記載しファイルを作成する。そしてそれらのファイルをストレージサーバー１０２にアップロードする。なお、Ｓ１００３の判断はこの条件に限られない。変換データサイズを更に増やしても減らしても良いし、変換データサイズが１ページに達したか否かであっても良い。
【００５０】
Ｓ１００５で、変換するデータがまだあると判断した場合は、Ｓ１００６で、データ変換を継続する。そして、Ｓ１００７で、変換データサイズが１ＭＢ超えたか、または、変換するデータがもうないかを判断し、超えた場合は、Ｓ１００８で、印刷データファイルのＵＲＬを作成し、インディックスファイル７０１、７０２にそのＵＲＬを追記しファイルを作成する。そしてそれらのファイルをストレージサーバー１０２にアップロードする。Ｓ１００９で、変換データがもうない場合は、変換処理を完了する。Ｓ１００７もＳ１００３と同様に、Ｓ１００７の判断はこの条件に限られない。但し、Ｓ１００７はファーストプリントされた後であるため、Ｓ１００３の判断の条件と比較しデータサイズが大きい、または変換ページ数が多い方が好ましい。以上が、変換サーバー４０３の印刷データ変換フローである。これによりプリントサーバー１０１は、変換出来たデータからプリンター１０４、１０５に送ることが可能となり、全体としてファーストプリントを早くすることが可能となる。
【００５１】
以上、本発明により次の様な効果を得られる。ファーストプリントを早くするため完成したページの印刷データを受信し印刷を開始するとともに、プルプリントアプリケーションがプリンター内のコントローラに対し通信セッションを切断することなく印刷ジョブに含まれる印刷データを送信することが可能になる。
【実施例２】
【００５２】
図１１は、本発明の実施形態に係るプリントサーバー１０１の変換サーバー４０３の印刷データ変換フローである。実施例１で説明した通り、ファーストプリントを早くするためには、少しでも印刷データが変換できたら、それをファイルにしてストレージサーバーにアップする方がよい。しかし、小さいサイズのファイルを多量にアップすると、プルプリントアプリケーション３０３から印刷データファイルを取得する通信接続回数が増え、通信接続確立処理が増える。ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）の接続確立には証明書処理等のコストがかかる。
【００５３】
そこで、ファーストプリントを早くするために、初めは小さなサイズの印刷データファイルをストレージサーバー１０２にアップロードしていく。だが、その後は徐々にアップロードするファイルサイズを大きくしていきプルプリントアプリケーション３０３のトータル通信回数を減らす。
【００５４】
Ｓ１１０１からＳ１１０６までは、実施例１に示したＳ１００１からＳ１００６までの処理と同様のため説明は省略する。図１０でのＳ１００７では、１ＭＢ固定数値分変換データができた場合に変換データをストレージサーバー１０２にアップロードしていた。しかし、Ｓ１１０７では、変換サイズを変動値として、全体の変換値よりも５０％または１００％増しのデータサイズを変換サイズする。この５０％または１００％はシステムに設定可能な値で変えることも可能である。また、決められた変動サイズ値の変換データができない場合でも、変換データがもうない場合、または、変換処理にある一定時間処理を要している場合は、そこで、変換データをストレージサーバー１０２に送る。これは、条件として変換処理に時間がかかる場合には、プリンター１０４、１０５での処理が空いてしまうと全体として処理効率が悪くなってしまうためである。次にＳ１１０８からＳ１１０９までは、実施例１に示したＳ１１０８からＳ１１０９までの処理と同様のため説明は省略する。以上により、プルプリントアプリケーション３０３の無駄な通信確立処理をなるべく減らすことが可能となり、効率の良いデータダウンロード処理の実現が可能となる。
【００５５】
〔その他の実施例〕
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００５６】
１０１  プリントサーバー
１０２  ストレージサーバー
１０３  認証サーバー
１０４  プリンター
１０９  クライアント端末
【図１】
0006537390.tif 000002
【図２】
0006537390.tif 000003
【図３】
0006537390.tif 000004
【図４】
0006537390.tif 000005
【図５】
0006537390.tif 000006
【図６】
0006537390.tif 000007
【図７】
0006537390.tif 000008
【図８】
0006537390.tif 000009
【図９】
0006537390.tif 000010
【図１０】
0006537390.tif 000011
【図１１】
0006537390.tif 000012