(57)【要約】【課題】ページ描画情報と描画リソースとを含む構造化ストリームを画像形成装置に印刷処理させる装置であって、画像形成装置内で描画リソースが保持されない場合に、画像形成装置に描画リソースを提供できるようにする情報処理装置を提供する。【解決手段】ＸＰＳストリームを画像形成装置１０２に印刷処理させるクライアントコンピュータ１０１を設ける。クライアントコンピュータ１０１が、ＸＰＳストリーム内の描画リソースの登録を行い、ページ描画情報に、登録された描画リソースへのアクセス情報を設定し、該アクセス情報が設定されたページ描画情報と描画リソースとを画像形成装置１０２に対して送信する。【選択図】図３
2013206250.tif 000002
【特許請求の範囲】
【請求項１】
ページ内の描画を表現するページ描画情報と、複数の異なる前記ページ描画情報から参照される描画リソースとを含む構造化ストリームを、画像形成装置に対して送信して印刷処理させる情報処理装置であって、
前記構造化ストリームに含まれる前記描画リソースを登録する登録手段と、
前記ページ描画情報に、前記登録された描画リソースへのアクセス情報を設定し、該アクセス情報が設定されたページ描画情報と前記描画リソースとを前記画像形成装置に対して送信する送信手段とを備える
ことを特徴とする情報処理装置。
【請求項２】
前記登録手段は、前記描画リソースを前記情報処理装置の描画リソース記憶手段に登録することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記登録手段は、前記描画リソースをサーバに登録することを特徴とする請求項１記載の情報処理装置。
【請求項４】
ページ内の描画を表現するページ描画情報と、複数の異なる前記ページ描画情報から参照される描画リソースとを含む構造化ストリームを、画像形成装置に対して送信して印刷処理させる情報処理装置の制御方法であって、
前記構造化ストリームに含まれる前記描画リソースを登録する登録ステップと、
前記ページ描画情報に、前記登録された描画リソースへのアクセス情報を設定し、該アクセス情報が設定されたページ描画情報と前記描画リソースとを前記画像形成装置に対して送信する送信ステップとを含む
ことを特徴とする制御方法。
【請求項５】
前記登録ステップは、前記描画リソースを前記情報処理装置の描画リソース記憶手段に登録するステップをさらに含むことを特徴とする請求項４記載の制御方法。
【請求項６】
前記登録ステップは、前記描画リソースをサーバに登録するステップをさらに含むことを特徴とする請求項４記載の制御方法。
【請求項７】
ページ内の描画を表現するページ描画情報と、複数の異なる前記ページ描画情報から参照される描画リソースとを含む構造化ストリームを、画像形成装置に対して送信して印刷処理させるコンピュータで実行されるプログラムであって、
前記構造化ストリームに含まれる前記描画リソースを登録する登録ステップと、
前記ページ描画情報に、前記登録された描画リソースへのアクセス情報を設定し、該アクセス情報が設定されたページ描画情報と前記描画リソースとを前記画像形成装置に対して送信する送信ステップとをコンピュータに実行させる
ことを特徴とするプログラム。
【請求項８】
前記登録ステップは、前記描画リソースを前記情報処理装置の描画リソース記憶手段に登録するステップをさらに含むことを特徴とする請求項７記載のプログラム。
【請求項９】
前記登録ステップは、前記描画リソースをサーバに登録するステップをさらに含むことを特徴とする請求項７記載のプログラム。
【請求項１０】
ページ内の描画を表現するページ描画情報と、複数の異なる前記ページ描画情報から参照される描画リソースとを含む構造化ストリームを、画像形成装置に対して送信して印刷処理させる情報処理装置であって、
前記構造化ストリームに含まれる前記描画リソースの登録依頼を行い、該描画リソースが登録された時の、登録済み描画リソースのトータルデータ量の情報を保持する登録依頼手段と、
前記構造化ストリームに含まれる前記ページ描画情報を解析し、前記ページ描画情報が参照する描画リソースが前記登録された時の前記登録済み描画リソースのトータルデータ量が、前記画像形成装置の描画リソース格納上限値を超える場合に、前記参照される描画リソースを提供対象描画リソースとして管理することを依頼する管理依頼手段と、
前記解析されたページ描画情報に、前記管理される提供対象描画リソースへのアクセス情報を設定し、該アクセス情報が設定されたページ描画情報と前記登録された描画リソースとを前記画像形成装置に対して送信する送信手段とを備える
ことを特徴とする情報処理装置。
【請求項１１】
ページ内の描画を表現するページ描画情報と、複数の異なる前記ページ描画情報から参照される描画リソースとを含む構造化ストリームを、画像形成装置に対して送信して印刷処理させる情報処理装置であって、
前記構造化ストリームに含まれる前記描画リソースの登録依頼を行う登録依頼手段と、
前記構造化ストリームに含まれる前記ページ描画情報を解析し、異なるページ描画情報が同一の描画リソースを予め定められた複数回以上参照した場合に、該同一の描画リソースを提供対象描画リソースとして管理することを依頼する管理依頼手段と、
前記解析されたページ描画情報に、前記管理される提供対象描画リソースへのアクセス情報を設定し、該アクセス情報が設定されたページ描画情報と前記登録された描画リソースとを前記画像形成装置に対して送信する送信手段とを備える
ことを特徴とする情報処理装置。
【請求項１２】
前記情報処理装置の記憶容量残量の情報と通信接続状態の情報とに基づいて、前記描画リソースの登録先と管理先とを決定する決定手段と、
自装置が前記描画リソースの登録先として決定された場合に、前記登録依頼手段からの登録依頼にしたがって前記描画リソースを登録する登録手段と、
自装置が前記描画リソースの管理先として決定された場合に、前記管理依頼手段からの管理依頼にしたがって前記描画リソースを前記提供対象描画リソースとして管理する管理手段とを備える
ことを特徴とする請求項１０または請求項１１に記載の情報処理装置。
【請求項１３】
前記決定手段は、
前記情報処理装置の記憶容量残量が予め定められた閾値より大きく、かつ、前記情報処理装置が常時接続可能である場合に、自装置を前記描画リソースの登録先および管理先として決定し、
前記情報処理装置の記憶容量残量が予め定められた閾値より大きく、かつ、前記情報処理装置が常時接続できない場合に、自装置を前記描画リソースの登録先として決定するとともに、外部装置を前記描画リソースの管理先として決定し、
前記情報処理装置の記憶容量残量が予め定められた閾値以下である場合、外部装置を前記描画リソースの登録先および管理先として決定する
ことを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記管理手段は、さらに、前記外部装置が前記描画リソースの管理先として決定された場合に、前記管理依頼手段からの管理依頼にしたがって、前記外部装置に対して、前記描画リソースの管理依頼を実行する
ことを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記描画リソースの登録先に対して、登録された描画リソースのうち、前記提供対象描画リソースではない描画リソースを削除することを求める削除依頼を行う削除依頼手段を備える
ことを特徴とする請求項１０乃至１４のいずれか１項に記載の情報処理装置。
【請求項１６】
前記構造化ストリームは、ＸＰＳストリームである
ことを特徴とする請求項１０乃至１５のいずれか１項に記載の情報処理装置。
【請求項１７】
画像形成装置と、ページ内の描画を表現するページ描画情報と、複数の異なる前記ページ描画情報から参照される描画リソースとを含む構造化ストリームを、前記画像形成装置に対して送信して印刷処理させる情報処理装置とを備える情報処理システムであって、
前記情報処理装置は、
前記構造化ストリームに含まれる前記描画リソースの登録依頼を行い、該描画リソースが登録された時の、登録済み描画リソースのトータルデータ量の情報を保持する登録依頼手段と、
前記構造化ストリームに含まれる前記ページ描画情報を解析し、前記ページ描画情報が参照する描画リソースが前記登録された時の前記登録済み描画リソースのトータルデータ量が、前記画像形成装置の描画リソース格納上限値を超える場合に、前記登録された描画リソースを提供対象描画リソースとして管理することを依頼する管理依頼手段と、
前記解析されたページ描画情報に、前記管理される提供対象描画リソースへのアクセス情報を設定し、該アクセス情報が設定されたページ描画情報と前記登録された描画リソースとを前記画像形成装置に対して送信する送信手段とを備える
ことを特徴とする情報処理システム。
【請求項１８】
ページ内の描画を表現するページ描画情報と、複数の異なる前記ページ描画情報から参照される描画リソースとを含む構造化ストリームを、画像形成装置に対して送信して印刷処理させる情報処理装置の制御方法であって、
前記構造化ストリームに含まれる前記描画リソースの登録依頼を行い、該描画リソースが登録された時の、登録済み描画リソースのトータルデータ量の情報を保持する保持ステップと、
前記構造化ストリームに含まれる前記ページ描画情報を解析し、前記ページ描画情報が参照する描画リソースが前記登録された時の前記登録済み描画リソースのトータルデータ量が、前記画像形成装置の描画リソース格納上限値を超える場合に、前記登録された描画リソースを提供対象描画リソースとして管理することを依頼する登録依頼ステップと、
前記解析されたページ描画情報に、前記管理される提供対象描画リソースへのアクセス情報を設定し、該アクセス情報が設定されたページ描画情報と前記登録された描画リソースとを前記画像形成装置に対して送信する送信ステップとを含む
ことを特徴とする制御方法。
【請求項１９】
ページ内の描画を表現するページ描画情報と、複数の異なる前記ページ描画情報から参照される描画リソースとを含む構造化ストリームを、画像形成装置に対して送信して印刷処理させるコンピュータで実行されるプログラムであって、
前記構造化ストリームに含まれる前記描画リソースの登録依頼を行い、該描画リソースが登録された時の、登録済み描画リソースのトータルデータ量の情報を保持する保持ステップと、
前記構造化ストリームに含まれる前記ページ描画情報を解析し、前記ページ描画情報が参照する描画リソースが前記登録された時の前記登録済み描画リソースのトータルデータ量が、前記画像形成装置の描画リソース格納上限値を超える場合に、前記登録された描画リソースを提供対象描画リソースとして管理することを依頼する登録依頼ステップと、
前記解析されたページ描画情報に、前記管理される提供対象描画リソースへのアクセス情報を設定し、該アクセス情報が設定されたページ描画情報と前記登録された描画リソースとを前記画像形成装置に対して送信する送信ステップとをコンピュータに実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、制御方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
Ｍｉｃｒｏｓｏｆｔ社のオペレーションシステム（ＯＳ）であるＷｉｎｄｏｗｓ Ｖｉｓｔａ（登録商標）によって、ドキュメントの表現形式として、ＸＰＳ（ＸＭＬ
Ｐａｐｅｒ Ｓｐｅｃｉｆｉｃａｔｉｏｎ）ファイルがサポートされた。ＸＰＳファイルは、複数ページで構成されるドキュメントを表現可能なフォーマットである。ドキュメントを構成する各ページは、パーツと呼ばれる複数個のファイルデータで表現される。１ページを表現する主要な構成ファイルは、ページ内の内容を参照するためのＦｉｘｅｄページデータと、Ｆｉｘｅｄページから参照されるイメージデータやフォントなどの描画リソースである。Ｆｉｘｅｄページデータは、ページ内の描画を表現するページ描画情報として機能する。取り扱いが容易な１つのＸＰＳファイルとするため、最終的には、それらのファイル群は、ＺＩＰフォーマットでアーカイブした形式で提供される。
【０００３】
ＸＰＳファイルのサポートを受け、Ｍｉｃｒｏｓｏｆｔ社のＯＳに、印刷スプールファイルとしてＸＰＳファイルを用いる新しいプリント処理系であるＸＰＳプリントパスが導入された。プリンタベンダーは、ＸＰＳプリントパスに対して、ＸＰＳファイルをＰＤＬ（Ｐａｇｅ Ｄｅｓｃｒｉｐｔｉｏｎ Ｌａｎｇｕａｇｅ）に変換するＸＰＳフィルタを提供することが可能である。このＸＰＳフィルタをＸＰＳプリントパスに組み込むことにより、従来の画像形成装置、例えばＰＤＬプリンタは印刷を実行することが可能になる。（ＸＰＳプリントパスについては、例えば、特許文献１参照）
【０００４】
さらに、同ＯＳの普及に伴い、従来のＰＤＬプリンタに加えて、ＸＰＳファイルをそのままの形式で受け付け印刷可能なＸＰＳダイレクトプリンタが登場してきた。例えば、特許文献２は、ＸＰＳフィルタで受けたＸＰＳファイルのストリームをプリンタへ送信し印刷するＸＰＳダイレクト印刷の制御方法を開示している。このＸＰＳダイレクト印刷のために、ＸＰＳフィルタがシーケンスアクセス可能なＸＰＳストリームの形式で、印刷対象のＸＰＳファイルを受け取る仕組みが、ＸＰＳプリントパスに存在する。ＸＰＳストリームは、Ｆｉｘｅｄページと、複数の異なるＦｉｘｅｄページから参照される描画リソースとを含む構造化ストリームである。そして、ＰＣ等の情報処理装置が、ＸＰＳストリームを画像形成装置に対して配信して印刷処理させる印刷システムが考えられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２７１７７２号公報
【特許文献２】特開２０１１−０７０３６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＸＰＳストリームが含むＸＰＳファイルは、１つの描画リソースを、複数のＦｉｘｅｄページから参照可能な仕様である。これにより、同一の描画リソースをページ毎に複数格納する必要がなくなる。例えば、プレゼンテーション文書の背景や、企業ロゴなど同一イメージの描画データ量の削減に有効であり、ＸＰＳファイルのトータル的なデータサイズを抑えることができる。ＸＰＳプリントパスにおいて、ＸＰＳフィルタには、この形式のＸＰＳストリームが渡されてくる。しかしＸＰＳファイルの仕様では、例えば、１ページ目で参照された描画リソースが、数十、数百ページなどの後方ページで参照される可能性がある。そのため、画像形成装置は、情報処理装置から受け取ったＸＰＳストリームで出現した描画リソースについては、最後のページを処理するまで、すべて保持する必要がある。メモリ搭載量が少ない画像形成装置は、ＸＰＳファイルに対する描画リソースをすべて保持することができない。そのため、画像形成装置の描画リソース格納上限を超えて描画リソースが削除されると、後方のページで同一イメージが参照された場合、描画リソースが画像形成装置内に存在しないため、描画命令が実行できない状態となる。
【０００７】
本発明は、ページ描画情報と描画リソースとを含む構造化ストリームを画像形成装置に印刷処理させる装置であって、画像形成装置内で描画リソースが保持されない場合に、画像形成装置に描画リソースを提供できるようにする情報処理装置の提供を目的とする。
【課題を解決するための手段】
【０００８】
本発明の一実施形態の情報処理装置は、ページ内の描画を表現するページ描画情報と、複数の異なる前記ページ描画情報から参照される描画リソースとを含む構造化ストリームを、画像形成装置に対して送信して印刷処理させる情報処理装置である。前記情報処理装置は、前記構造化ストリームに含まれる前記描画リソースを登録する登録手段と、前記ページ描画情報に、前記登録された描画リソースへのアクセス情報を設定し、該アクセス情報が設定されたページ描画情報と前記描画リソースとを前記画像形成装置に対して送信する送信手段とを備える。
【発明の効果】
【０００９】
本発明の情報処理装置によれば、描画リソースのトータルデータ量が画像形成装置の描画リソース格納上限を超えて、画像形成装置が描画リソースを保持できない場合に、画像形成装置に描画リソースを提供できるようにすることができる。
【図面の簡単な説明】
【００１０】
【図１】情報処理システムの構成例を示す図である。
【図２】クライアントコンピュータとプリンタのハードウェア構成を示す図である。
【図３】ＸＰＳプリントパスのモジュール構成を示すブロック図である。
【図４】ＸＰＳストリームのデータ構造を示す模式図である。
【図５】２ページ目の描画を表現するローカルファイル群の内容の例示図である。
【図６】Ｎページ目の描画を表現するローカルファイル群の内容の例示図である。
【図７】Ｆｉｘｅｄページと描画リソースを表すピースの加工の例示図である。
【図８】実施例１の描画リソース提供サービスの処理を示すシーケンス図である。
【図９】描画リソース管理フィルタの処理を示すフローチャートである。
【図１０】描画リソース管理フィルタでの処理に関するデータ構造を示す図である。
【図１１】描画リソース管理フィルタが行う解析加工処理のフローチャートである。
【図１２】描画リソース提供サービスの処理を示すフローチャートである。
【図１３】描画リソース提供サービスの処理を示すフローチャートである。
【図１４】描画リソース提供サービスでの処理に関するデータ構造を示す図である。
【図１５】実施例２のモジュール構成を示すブロック図である。
【図１６】サービス情報を決定する処理を示すフローチャートである。
【図１７】描画リソース提供サービスの選択ユーザインターフェースの図である。
【図１８】実施例２の描画リソース提供サービスの処理を示すシーケンス図である。
【図１９】実施例２の描画リソース提供サービスの処理を示すシーケンス図である。
【発明を実施するための形態】
【００１１】
（実施例１）
図１は、本実施形態の情報処理システムの構成例を示す図である。図１に示す情報処理システムは、印刷システムである。この印刷システムは、情報処理装置として機能するクライアントコンピュータ１０１と、ＸＰＳストリーム形式の印刷データを受信し印刷を行なうことが可能な画像形成装置１０２を備える。クライアントコンピュータ１０１は、ＸＰＳストリームを画像形成装置１０２に送信して、印刷処理を実行させる。ＸＰＳストリームは、ページ内の描画を表現するページ描画情報であるＦｉｘｅｄページと、複数の異なるＦｉｘｅｄページから参照される描画リソースとを含む構造化ストリームである。クライアントコンピュータ１０１と画像形成装置１０２とは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０３を介して接続され通信可能である。図１に図示されているサーバ１０５，１０７、携帯端末１０４などの、その他構成装置に関しては、実施例２の説明に際し参照する。
【００１２】
図２は、図１のクライアントコンピュータ１０１と画像形成装置１０２のハードウェア構成を示すブロック図である。クライアントコンピュータ１０１において、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１は、各種プログラムを実行し、様々な機能を実現するユニットである。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３は、各種プログラム及びデータを格納する。ＲＯＭ２０３は、各種フォントを記憶するフォントＲＯＭ２０３ａ、ブートプログラムやＢＩＯＳ等を記憶するプログラムＲＯＭ２０３ｂ、および各種データを記憶するデータＲＯＭ２０３ｃに区分けして構成される。
【００１３】
操作入力装置Ｉ／Ｆ２０５は、キーボードやポインティングデバイス（マウス）などの操作入力装置２０９を制御する。ディスプレイＩ／Ｆ２０６は、ディスプレイ２１０への表示を制御する。外部メモリＩ／Ｆ２０７は、例えばハードディスク（ＨＤ）、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ（ＳＳＤ）等の外部メモリ２１１とのアクセスを制御する。外部メモリ２１１は、オペレーティングシステムプログラム（以下、ＯＳ）をはじめ、各種アプリケーション、各種ファイル等を記憶する、コンピュータが読み取り可能な記憶媒体として機能する。さらに、本発明に関連する印刷処理関連の実行可能なプログラムを記録する。ネットワークＩ／Ｆ２０８は、ネットワーク１０３を介して出力デバイス１０２に接続され、出力デバイス１０２との間で通信制御処理を行なう。
【００１４】
次に画像形成装置１０２のハードウェア構成について説明する。ＣＰＵ２２２は、画像形成装置１０２の全体の動作を制御する。ＲＡＭ２２９は、ＣＰＵ２２２の主メモリ、ワークエリア等として機能するとともに、出力情報展開領域、環境データ格納領域としても用いられる。またこのＲＡＭ２２９は、ＮＶＲＡＭ（Ｎｏｎ−ｖｏｌａｔｉｌｅ
ＲＡＭ：不揮発性ＲＡＭ）領域も備えており、不図示の増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張可能である。
【００１５】
ＲＯＭ２２３は、各種フォントを記憶するフォントＲＯＭ２２３ａ、ＣＰＵ２２２により実行される制御プログラム等を記憶するプログラムＲＯＭ２２３ｂ、および各種データを記憶するデータＲＯＭ２２３ｃを備える。ネットワークＩ／Ｆ２２８は、クライアントコンピュータ１０１との間でデータの送受信を行なう。印刷部Ｉ／Ｆ２２６は、プリンタエンジンである印刷部２２７とのインターフェースを制御する。外部メモリ２２４は、外部メモリＩ／Ｆ２３０によりアクセスが制御される。外部メモリ２２４としては、オプションとして接続されるハードディスク（ＨＤ）、Ｓｏｌｉｄ
Ｓｔａｔｅ Ｄｉｓｋ（ＳＳＤ）等を含んでおり、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。なお、ハードディスク等の外部メモリが接続されない場合には、ＲＯＭ２２３のデータＲＯＭ２２３ｃに、クライアントコンピュータ１０１で利用される情報等を記憶する。
【００１６】
操作部２３２には、ユーザによる操作を受け付ける操作パネルが設けられ、ＣＰＵ２２２は、ＲＯＭ２２３のプログラムＲＯＭ２２３ｂに記憶された制御プログラム等に基づき、印刷部Ｉ／Ｆ２２６を介して印刷部２２７に出力情報としての画像信号を出力する。また、ＣＰＵ２２２はネットワークＩ／Ｆ２２８を介してクライアントコンピュータ１０１との通信処理が可能である。クライアントコンピュータ１０１から送信される印刷データを受信可能であり、かつ出力デバイス１０２内の設定情報をクライアントコンピュータ１０１へ通知可能である。
【００１７】
図３は、ＸＰＳプリントパスのブロック構成を示す。ＸＰＳプリントパスを構成する各モジュールは、外部メモリ２１１に格納されている。必要に応じてＲＡＭ２０２にロードされ、クライアントコンピュータ１０１上のＣＰＵ２０１で実行される。ＸＰＳプリントパスとは、ＣＰＵ２０１がＸＰＳファイルフォーマットをスプールデータとして使用し、印刷を行うことを特徴とする印刷系である。この印刷系で印刷実行可能なアプリケーションは、そのアーキテクチャ別に二種類のアプリケーションプログラムが存在する。第一のものは、Ｗｉｎ３２アプリケーションプログラム３０１(Ｗｉｎ３２アプリ)である。第二のものは、Ｗｉｎｄｏｗｓ Ｐｒｅｓｅｎｔａｔｉｏｎ
Ｆｏｕｎｄａｔｉｏｎアプリケーションプログラム３０２(ＷＰＦアプリ)である。ディスプレイ２１０に映し出されたアプリケーション３０１、３０２は、ユーザによるマウスなど操作入力装置２０９での操作をうけて、印刷実行の命令を受け付ける。この印刷実行の命令をうけて、アプリケーション３０１、３０２は、印刷処理を実行する。アプリケーション３０１、３０２は、プリンタの選択と、印刷設定の作成と、描画処理との、３つの処理を順番に実行することで印刷処理を実現する。
【００１８】
まず、アプリケーション３０１、３０２は、印刷を実行するプリンタの選択を行う。これは、印刷を実行する画像形成装置１０２に対応したプリンタドライバを選択することと同義である。次に、アプリケーション３０１、３０２は、プリンタドライバのコンフィギュレーションモジュール３０４を用いて印刷設定を作成する。コンフィギュレーションモジュール３０４は、印刷対象のプリンタの機種依存ファイル３０５を利用して、印刷設定を作成する。Ｗｉｎ３２アプリ３０１では、印刷設定データとしてバイナリのＤＥＶＭＯＤＥ構造体３１４が作成される。ＷＰＦアプリ３０２では、マークアップ言語のＸＭＬで記載されたＰｒｉｎｔＴｉｃｋｅｔ３０３が作成される。
【００１９】
印刷設定が確定後、アプリケーション３０１、３０２は、印刷に関する描画処理を行う。Ｗｉｎ３２アプリ３０１から印刷する場合は、バージョン３プリンタドライバの形態を取るＧＤＩｔｏＸＰＳ変換モジュール３０６に描画データが送られる。その結果、ＸＰＳスプールファイル３０７が作成される。バージョン３プリンタドライバとは、Ｍｉｃｒｏｓｏｆｔ（登録商標）のＷｉｎｄｏｗｓ２０００（登録商標）以降に対応したプリンタドライバのことを指す。このときＧＤＩｔｏＸＰＳ変換モジュール３０６はコンフィギュレーションモジュール３０４を呼び出し、印刷設定をＤＥＶＭＯＤＥ構造体３１４形式からＰｒｉｎｔＴｉｃｋｅｔ３０３形式に変換する。ＷＰＦアプリ３０２から印刷する場合は、ＸＰＳファイル３０７をＷＰＦアプリ自身が生成する場合と、ＯＳがＷＰＦアプリからの命令に応じてＸＰＳファイルを生成する場合の２通りがある。上記示したように、ＸＰＳプリントパスでは、印刷時に必ずＸＰＳスプールファイル３０７が生成される。このことがＸＰＳプリントパスの特徴である。
【００２０】
生成されたＸＰＳスプールファイル３０７は、次にプリントフィルタパイプラインで処理される。プリントフィルタパイプラインには、一般にハードウェアベンダーが作成したフィルタを複数個配置することができる。フィルタパイプラインマネージャ３０８は、まずハードウェアベンダーから提供されたフィルタの構成情報を元に、複数のフィルタを順番に並べる。さらに、隣あうフィルタ間で、最初のフィルタの出力と、次のフィルタの入力をパイプライン状につなげる。フィルタパイプラインマネージャ３０８は、先頭フィルタに、ＸＰＳスプールファイル３０７を渡し、そのフィルタが加工した情報を、次のフィルタに渡していく。このフィルタ間の受け渡しを行うことにより、最終的に画像形成装置１０２で解釈可能な印刷データを生成することができる。この処理をＸＰＳフィルタパイプライン処理とよぶ。
【００２１】
ＸＰＳファイルは、意味を成す参照の構成単位であるパーツと呼ばれる複数のファイルをＺＩＰ形式のフォーマットを用いて１つにアーカイブしたファイルである。ＸＰＳファイルに含まれる構成ページが多い場合、比較的データサイズが大きくなる。ここで、ＸＰＳフィルタパイプライン処理において、ＸＰＳファイルのファイル単位で、次のフィルタに情報を受け渡した場合を考える。その場合フィルタがファイルを構成するすべてのパーツを処理するまで、次のフィルタの処理が開始できない状態になる。１つのフィルタでの処理完了まで次のフィルタでの処理が開始できないため、画像形成装置１０２での印刷の開始が遅くなる。処理の効率化のためには、できるだけデータサイズが小さい単位でＸＰＳスプールファイルの情報を受け渡したほうがよい。そのため、ＸＰＳプリントパスでフィルタは、１つのパーツを更に複数のピースという最小単位に分割されたものをデータ受け渡しの単位とする。この１つのパーツを複数のパーツに分割したデータ形式をインターリーブと呼ぶ。図４は、フィルタに渡されるインターリーブ形式のＸＰＳストリーム４００の例を示す。
【００２２】
更に、ＸＰＳフィルタパイプライン処理では、複数のフィルタが配置されるので、複数のフィルタで同時並行に動作したほうが効率よく処理を行える。効率化のため、フィルタがＸＰＳストリーム形式でＸＰＳスプールファイル３０７を受け取る場合は、ピース４０１からピース４５１方向へのシーケンシャルアクセスのみに制限される。ランダムアクセスを許さないため、ＸＰＳストリーム形式でデータを受け取るフィルタ間で、ＸＰＳスプールファイル３０７に対するアクセス排他処理を行う必要がない。このことにより複数フィルタ間で同時並行に動作可能になる。
【００２３】
フィルタで加工されたＸＰＳストリームは、印刷処理のスケジュール管理を行うプリントマネージャ３１２で管理され、キュー（待ち行列）に印刷ジョブが次々と登録される。画像形成装置１０２が印刷できる状態になったら、キューに登録した順にＸＰＳデータをＩ／Ｏモニタ３１３を通して画像形成装置１０２に送信する。このようにして、アプリケーション３０１、３０２からの画像形成装置１０２に印刷用のＸＰＳストリームが送信される。
【００２４】
本実施例では、クライアントコンピュータ１０１は、ＸＰＳフィルタパイプラインのフィルタとして描画リソース管理フィルタ３０９を備える。実施例１の画像形成装置１０２は、ＸＰＳストリームを解釈し印刷することが可能である。そのため、描画リソース管理フィルタ３０９は、ＸＰＳストリームの形式で入力および出力を行う。さらに、クライアントコンピュータ１０１は、描画リソース管理フィルタ３０９と伴に動作する、描画リソース提供サービス３１０および描画リソース記憶手段３１１を備える。描画リソース提供サービス３１０および描画リソース記憶手段３１１の機能は後述する。
【００２５】
図４は、複数ページで構成される印刷対象データであるＸＰＳストリームのデータ構造の例を示す。以下、この例を使ってＸＰＳストリームの概要について説明する。ＸＰＳストリームは、ＺＩＰ形式でアーカイブされたデータストリームとして、ＸＰＳスプールファイル３０７から描画リソース管理フィルタ３０９に渡される。図４はＸＰＳストリームのＺＩＰ形式のローカルファイルに注目した模式図である。ＸＰＳストリームを構成するＺＩＰのローカルファイルを４０１〜４５１の実線の四角で示す。この例では５１個のローカルファイルが図示されている。図４に示す例では、パーツのローカルファイルとピースのローカルファイルが混在している。パーツの状態で受け渡されたものは、４１０、４１６、４２２、４２８、４３５、４３７、４４４である。その他のパーツは、複数ピースに分割され渡されている。ピースに分割されたものは”．ｐｉｅｃｅ”のファイル拡張子を持つ複数のローカルファイルとなる。それらのローカルファイルはパーツの名前をもつ論理的なフォルダに関連つけられることにより結び付けられる。インターリーブされたパーツは、パーツのファイル先頭データより、［０］.ｐｉｅｃｅ、［１］.ｐｉｅｃｅ、…というように、［ｉ］.ｐｉｅｃｅという形式の連番を有するピースファイルになる。分割されたピースの最後のピースは、［ｉ］.ｌａｓｔ.ｐｉｅｃｅという特別な名前となる。
【００２６】
例えば、“．ｒｅｌｓ”パーツは、４０２、４０５、４５０の３つのピースに分割されている。“＿ｒｅｌｓ／．ｒｅｌｓ”というパーツの名前をもつ論理フォルダに関連つけることにより結び付けられている。図４で論理的な１ページ内の描画を表す部分を、破線４６０、４６１、４６２で表す。それぞれ１ページ目、２ページ目、Ｎページ目の描画を表現している。記載スペースの関係によりこの図では、破線４６１と、破線４６２の間に存在する３ページ目からＮ−１ページ目の描画を表すローカルファイルを省略して記載した。破線４６１の２ページ目の描画を表現するローカルファイル群の中身を図５に示す。また破線４６２のＮページ目の描画を表現するローカルファイル群の中身を図６に示す。実際のページ内の描画はＦｉｘｅｄページというパーツで表現される。図５では４３７が、図６では４４４が、そのパーツにあたる。なお、それらのパーツがＦｉｘｅｄページのパーツであることは、それぞれ４３０、４３９の[Ｃｏｎｔｅｎｔ＿ｔｙｐｅｓ].ｘｍｌのピースに記載され、記載内容を解析することによる判別可能である。
【００２７】
ＦｉｘｅｄページはＸＭＬ形式のファイルであり、ＸＭＬ要素で描画の種類を記載することにより描画の詳細を参照・指定することが可能な参照ページである。図５の４３７および図６の４４４に示すように、＜Ｐａｔｈ＞は、描画図形を構成するパスを指定する表現であり、Ｄａｔａ属性でパスの頂点を指定する。子要素の＜Ｐａｔｈ.Ｆｉｌｌ＞は親要素として定義された＜Ｐａｔｈ＞を塗りつぶす指定である。子要素＜ＩｍａｇｅＢｒｕｓｈ＞で塗りつぶしに使うイメージブラシを指定する。イメージブラシに使われるビットマップは５０１、５０２のように、ローカルファイルのファイルパスで指定される。このようなＦｉｘｅｄページから指定・参照されるイメージやフォントなど、描画を行うのに必要な外部パーツを描画リソースと呼ぶ。本実施例では、描画リソースを参照するためのローカルファイルのファイルパスを描画リソース識別情報とも呼ぶ。
【００２８】
この例の場合、イメージブラシに使われるビットマップは“１．ＪＰＥＧ”という共通のＪＰＥＧファイルであり、参照されるパーツはバイナリデータで構成されるローカルファイル４３５である。なお、ローカルファイル４３５がＪＰＥＧ形式のファイルであることは、４３４の[Ｃｏｎｔｅｎｔ＿ｔｙｐｅｓ].ｘｍｌのピースに記載される。このようにＸＰＳの仕様は、１つの描画リソースを、異なるＦｉｘｅｄページから参照可能な仕様である。同一の描画リソースをページ毎に複数格納する必要がなくなる。そのためプレゼンテーション文書の背景や、企業ロゴなどの同一イメージの描画に有効であり、ＸＰＳストリームのトータルデータ量を抑えることができる。ＸＰＳプリントパスにおいて、フィルタにはこの形式のＸＰＳストリームが渡される。この仕様を採用した場合、図４の例に示すように、２ページ目で参照された描画リソースが、Ｎページなどの後方ページで参照される可能性がある。そのためＸＰＳストリームで出現した描画リソース、つまり２ページ目で参照された描画リソースについては、画像形成装置１０２が、最後のページを処理するまで、すべて保持する必要がある。メモリ搭載量が少ない画像形成装置は、ＸＰＳファイルに対する描画リソースをすべて保持することができない場合があり得る。この状況については、以下に説明する各実施例の情報処理装置により解決することが可能となる。
【００２９】
実施例１は、クライアントコンピュータ１０１と画像形成装置１０２と、それらを接続するＬＡＮ１０３で構成される環境で実施することを想定する。クライアントコンピュータ１０１が備える描画リソース管理フィルタ３０９と、描画リソース提供サービス３１０および描画リソース記憶手段３１１は、ＣＰＵ２０１により動作する。この例では、クライアントコンピュータ１０１が有する、描画リソース管理フィルタ３０９と、描画リソース提供サービス３１０と、描画リソース記憶手段３１１とを含むハードウェア／ソフトウェアモジュールを、印刷補助装置と総称する。
【００３０】
図８は、フィルタパイプラインマネージャ３０８、描画リソース管理フィルタ３０９、および描画リソース提供サービス３１０と、画像形成装置１０２との間の情報のやり取りを示すシーケンス図である。まず初期準備として、描画リソース提供サービス３１０は、画像形成装置１０２から、図１４（Ｂ）に示すプリンタ情報１１１０を取得する(Ｓ６０１)。プリンタ情報１１１０は、画像形成装置１０２が描画リソースを保持する記憶容量の格納上限値である描画リソース格納上限１１１１を含む。さらにプリンタ情報１１１０は、画像形成装置１０２に設定されている、画像形成装置１０２が通信可能な描画リソース提供サーバの情報も含む。１１１２は社内サーバのリストであり、１１１３は社外のサーバのリストである。
【００３１】
なお、実施例１では、サーバのリスト１１１２，１１１３を使わない動作を説明する。Ｓ６０１の動作は、通常クライアントコンピュータ１０１と画像形成装置１０２との間で印刷準備が整った場合や、画像形成装置１０２での関連する設定やメモリ構成が変更になった場合に行われる。時間間隔を設定し定期的に実施してもよいし、印刷実行時の特定のタイミングに実施してもよい。なお、クライアントコンピュータ１０１と画像形成装置１０２の接続形態や通信の状況によっては、描画リソース提供サービス３１０が画像形成装置１０２からプリンタ情報１１１０を取得できない場合がある。その場合、描画リソース提供サービス３１０は、印刷に使用されるプリンタドライバから画像形成装置１０２の機種名を判断し、その機種が必ず格納できる描画リソースのトータルデータ量を描画リソース格納上限値であると判断する。
【００３２】
図８を引き続き参照し、ユーザからの印刷要求をうけた場合の動作について説明する。フィルタパイプラインマネージャ３０８は、まず描画リソース管理フィルタ３０９の初期化を行う（Ｓ６０２）。この初期化において描画リソース管理フィルタ３０９は、印刷ジョブを一意に識別可能な図１０（Ｂ）に示す印刷ジョブ識別情報８１０を生成する。本実施例では、印刷ジョブ識別情報８１０としてＵＵＩＤ（Ｕｎｉｖｅｒｓａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）を生成する。続けて、描画リソース管理フィルタ３０９は、描画リソース提供サービス３１０に対して、サービス情報の取得依頼を行う。サービス情報の取得依頼は、依頼先としてクラインアントコンピュータ１０１が記載されている。描画リソースサービス３１０は、サービス情報を提供するために、描画リソースの提供サービスの構成を決定する（Ｓ６０２）。なお、この決定処理は図１６を用いて実施例２で詳細に説明する。
【００３３】
実施例１では、描画リソースサービス３１０は、図１０（Ａ）に示すサービス情報８００を描画リソース管理フィルタ３０９に渡す。サービス情報８００は、Ｓ６０１で説明したプリンタの描画リソース格納上限８０１を含む。さらに、公開対象を判断するために描画リソースを一時的に保持するサーバを示す描画リソース登録サーバ８０２と、実際に描画リソースを公開するサーバを示す描画リソース公開サーバ８０３も含む。実施例１の場合、描画リソース登録サーバ８０２と、描画リソース公開サーバ８０３には、クライアントコンピュータ１０１が指定されている。サービス情報とは、この処理により決定された印刷補助装置が提供するサービス内容を指す。つまり、図１０（Ａ）に示すサービス情報によれば、Ｓ６０２で描画リソースサービス３１０は、プリンタの描画リソース格納上限８０１が１０２４０ＫＢであり、描画リソースの登録および公開はクライアントコンピュータが行うものと決定する。このサービス情報をうけた後、描画リソース管理フィルタ３０９は、フィルタパイプラインマネージャ３０８から、ＸＰＳストリームを取得する（Ｓ６０５）。
【００３４】
なお、説明を簡単にするために、フィルタパイプラインマネージャ３０８からは、図４で示したパーツ単位、またはピース単位で取得できるものとする。実際のＸＰＳプリンタパスでは、ＸＰＳストリームとして、複数個のパーツおよびピースが渡される場合や、パーツおよびピースが分断化されたものが取得される。その場合、描画リソース管理フィルタ３０９は、ＸＰＳストリームを用いてパーツまたピースを構成し、これにより分断化されたものをパーツ単位、またはピース単位で取得できる。描画リソース管理フィルタ３０９は、取得したＸＰＳストリームを解析し必要に応じて加工する（Ｓ６０５）。加工処理の内容については後述する。解析の結果に応じてＣ６０１〜Ｃ６０３の三種類のケースが存在する。描画リソース管理フィルタ３０９は、ＸＰＳストリームの最後までＸＰＳストリームを取得（Ｓ６０５）し、Ｃ６０１〜Ｃ６０３のケースに応じて、処理を繰り返す。
【００３５】
第一ケースは、描画リソースの登録および公開が必要ない場合である。具体的には、描画リソース管理フィルタ３０９は、Ｓ６０５で取得したＸＰＳストリームを解析（Ｓ６０６）する。解析の結果、描画リソースおよびＦｉｘｅｄページでない場合、または、Ｆｉｘｅｄページであるが、描画リソースを含んでいない、若しくは描画リソースの公開が必要ない場合である。第一ケースの場合、描画リソース管理フィルタ３０９は、取得したＸＰＳストリームを加工することなくそのまま画像形成装置１０２へ出力する（Ｓ６０７）。
【００３６】
第二のケースは、描画リソース管理フィルタ３０９がＳ６０５で取得したＸＰＳストリームが描画リソースの場合である。その場合、描画リソース管理フィルタ３０９は、描画リソースサービス３１０に対して、取得した描画リソースの登録依頼を行う（Ｓ６０８）。描画リソースの登録依頼の一例を図１０（Ｃ）に示す。第二のケースの例を元に、描画リソースの登録依頼の構造を説明する。図１０（Ｃ）に示す描画リソースの登録依頼８４０は、描画リソースの登録依頼先８４１と、描画リソース登録サーバ８４２と、登録対象の描画リソースの識別情報８４３と、その描画リソースのバイナリデータ８４４で構成される。描画リソースの登録の依頼先８４１には、サービス情報８００の描画リソース登録サーバ８０２が指定されている。描画リソースの登録サーバ８４２にも、サービス情報８００で指定された描画リソース登録サーバが指定される。本実施例では、描画リソースの登録の依頼先８４１および描画リソースの登録サーバ８４２ともにクライアントコンピュータ１０１が指定される。登録対象の描画リソースの識別情報８４３は、印刷ジョブ識別情報８１０と、登録対象の描画リソースの名前を“／”で文字列連結することにより生成された文字列である。描画リソースのバイナリデータ８４４には、描画リソース４３５のバイナリデータが格納される。続けて、描画リソース管理フィルタ３０９は、取得した描画リソースであるＸＰＳストリームをそのまま画像形成装置１０２へ出力する（Ｓ６０７）。
【００３７】
最後の第三のケースは、描画リソース管理フィルタ３０９がＳ６０５で取得したＸＰＳストリームがＦｉｘｅｄページで、かつ描画リソース管理フィルタ３０９がＦｉｘｅｄページに関連する描画リソースの公開が必要であると判断した場合である。その場合、描画リソース管理フィルタ３０９は取得したＦｉｘｅｄページに対して加工を行う(Ｓ６０６)。Ｆｉｘｅｄページの加工の一例として、Ｆｉｘｅｄページ４４４を加工したものを図７（Ａ）に示す。Ｆｉｘｅｄページ５０３において、要素＜ＩｍａｇｅＢｒｕｓｈ＞に、新しい属性５０４と属性５０５が追加されている。属性５０４は描画リソース提供サービスの名前空間である。第三者が定義した属性と重複しないようにするために独自に定義される。属性５０５は、イメージブラシに使われるビットマップ５０２の公開位置を表している。公開位置としては、描画リソースの公開サーバ８０３と、公開対象である描画リソースの識別情報を“／”で文字列連結することにより描画リソース管理フィルタ３０９が生成する。描画リソースの識別情報は、描画リソースの登録依頼８４０で指定した描画リソースの識別情報８４３と一致する。この加工処理により、画像形成装置１０２は、描画リソースを保持できないときに、描画リソースへの位置情報を基に、クライアントコンピュータ１０１に対して描画リソースを取得することが可能となる。続けて、描画リソース管理フィルタ３０９は、描画リソースサービス３１０に対して、予め描画リソース記憶手段３１１に記憶させた描画リソースを提供対象描画リソースとして公開依頼を行う（Ｓ６０９）。
【００３８】
描画リソースの公開依頼の一例を図１０（Ｄ）に示す。描画リソースの公開依頼８５０は、描画リソースの公開依頼先８５１と、描画リソース公開サーバ８５２と、公開対象の描画リソースの識別情報８５３で構成される。描画リソースの登録の依頼先８５１は、描画リソース登録サーバ８０２が指定される。描画リソースの公開依頼先８５２には、サービス情報８００で指定された描画リソース公開サーバ８０３が指定される。本実施例では、８５１、８５２ともにクライアントコンピュータ１０１が指定される。公開対象である描画リソースの識別情報８５３は、印刷ジョブ識別情報８１０と、登録対象の描画リソースの名前を“／”で文字列連結することにより生成される。その後、描画リソース管理フィルタ３０９は、加工したＦｉｘｅｄページを画像形成装置１０２へ出力する（Ｓ６０７）。なお、図面の簡略化のために図８では不図示としたが、画像形成装置１０２へのＸＰＳストリーム出力Ｓ６０７は、図３で説明したように、プリンタマネージャ３１２とＩ／Ｏモニタ３１３を用いて出力される。
【００３９】
描画リソース管理フィルタ３０９が、ＸＰＳストリームを最後まで取得すると、フィルタパイプラインマネージャ３０８からフィルタの終了処理の呼び出しが行われる（Ｓ６１０）。描画リソース管理フィルタ３０９は、描画リソースサービス３１０に対して、非公開描画リソースの削除依頼を行う（Ｓ６１１）。非公開描画リソースの削除依頼は、依頼先である描画リソース登録先８０２と、印刷ジョブ識別番号８１０で構成される。この依頼の目的は、描画リソースの登録を行ったが、公開していないもの、例えば公開する必要がない描画リソースに関して削除を実行するためである。すなわち、描画リソース管理フィルタ３０９は、描画リソースの登録先に対して、登録された描画リソースのうち、公開していない描画リソースを削除することを求める削除依頼を行う削除依頼手段として機能する。これにより、余分なデータ量を削減することができる。
【００４０】
クライアントコンピュータ１０１からのＸＰＳストリーム出力（Ｓ６０７）をうけて画像形成装置１０２は、クライアントコンピュータ１０１とは非同期に印刷処理を実施する。その印刷処理過程において、画像形成装置１０２は、ＸＰＳストリームに含まれる描画リソースをＲＡＭ２２９または外部メモリ２２４に保持する。しかし描画リソース格納上限（図１０（Ａ）の８０１）を超えた場合、画像形成装置１０２は描画リソースを保持できないため、現在保持している描画リソース、例えば古い描画リソースから削除していく必要が生じる。この画像形成装置１０２の削除処理によって、例えばＦｉｘｅｄページ５０３の印刷のための解析中に描画リソース４３５、すなわちバイナリデータが、ＲＡＭ２２９または外部メモリ２２４から削除されている場合がある。その場合、画像形成装置１０２は、Ｆｉｘｅｄページ５０３の属性５０５の記載に基づいて、描画リソース管理フィルタ３０９に描画リソースの取得依頼を行う（Ｓ６１２）。そして印刷が終了後、画像形成装置１０２はＦｉｘｅｄページの属性５０５に記載の描画リソースの公開サーバ（描画リソース提供サービス３１０）に印刷完了の依頼を出す（Ｓ６１３）。印刷完了の依頼は、印刷ジョブ識別番号８１０を含む。印刷終了の依頼をうけて描画リソース提供サービス３１０は、印刷ジョブ識別番号８１０に関連する公開中の描画リソースをすべて削除する。
【００４１】
図９は、描画リソース管理フィルタ３０９の処理を示すフローチャートである。この処理は、図８のＳ６０３,Ｓ６０５〜Ｓ６０９,Ｓ６１１に相当する。描画リソース管理フィルタ３０９は、通常外部メモリ２１１に格納されており、フィルタパイプラインマネージャ３０８の要求でＲＡＭ２０２へ読み込まれ、ＣＰＵ２０１が実行する。描画リソース管理フィルタ３０９は、フィルタパイプラインマネージャ３０８がフィルタの初期化を行ったことに起因して、描画リソース提供サービス３１０からサービス情報を取得する(Ｓ７０１)。サービス情報８００は図１０（Ａ）に示す情報であり、この情報を元にＸＰＳストリームのピースの加工を行う。次にフィルタパイプラインマネージャ３０８から、図４に示すようなＸＰＳストリームを取得し、逐次的にピースを取り出す(Ｓ７０２)。描画リソース管理フィルタ３０９は、ＸＰＳストリームのピースが残っている場合は、Ｓ７０４へ処理を進める。すべてのＸＰＳストリームのピースを処理した場合、Ｓ７１１へ処理を進める。
【００４２】
Ｓ７０４で、描画リソース管理フィルタ３０９は、現在のピースが例えば４３５のような描画リソースであるかを判断する。現在のピースが描画リソースである場合は、描画リソース管理フィルタ３０９は、Ｓ７０５〜Ｓ７０７で描画リソース登録処理を行った後、処理をＳ７１０に進める。現在のピースが描画リソースではないと判断した場合、Ｓ７０８へと処理を進め、描画リソース管理フィルタ３０９は現在のピースが例えば４２８、４３７、４４４のようなＦｉｘｅｄページであるかを判断する。現在のピースがＦｉｘｅｄページのピースである場合は、描画リソース管理フィルタ３０９は現在のピースであるＦｉｘｅｄページのピースに含まれる描画要素の解析と、必要であれば現在のピースへの加工を行う（Ｓ７０９）。最終的には、描画リソース管理フィルタ３０９は、必要に応じて加工した現在のピースを画像形成装置１０２へ送信する(Ｓ７１０)。描画リソース管理フィルタ３０９は、すべてのＸＰＳストリームのピースを処理するまでこの処理を繰り返す。描画リソース管理フィルタ３０９は、すべてのＸＰＳストリームのピースを処理したのち、描画リソース提供サービス３１０に対して、登録したが非公開な描画リソースの削除依頼を発行し(Ｓ７１１)、処理を終了する。
【００４３】
次に、描画リソースに対する処理であるＳ７０５〜Ｓ７０７について説明する。本実施例では、描画リソース管理フィルタ３０９は、Ｆｉｘｅｄの参照に先立ちＳ７０５〜Ｓ７０７の処理を行う。現在の描画リソースについて描画リソース管理フィルタ３０９は、描画リソースサービス３１０へ描画リソースの登録依頼８４０を発行する(Ｓ７０５)。すなわち、描画リソース管理フィルタ３０９は、ＸＰＳストリームに含まれる描画リソースの登録依頼を行う登録依頼手段として機能する。描画リソース管理フィルタ３０９は、図１０（Ｂ）に示すように、現在の印刷ジョブに対して登録した描画リソース登録トータルデータ量８２０を保持する。描画リソース登録トータルデータ量は、描画リソースが登録された時の、登録済み描画リソースのトータルデータ量である。印刷ジョブ開始時点の描画リソース登録トータルデータ量の値は０である。
【００４４】
また、描画リソース管理フィルタ３０９は、図１０（Ｂ）に示すように、描画リソースの名前と、登録時のトータルデータ量のリストを、描画リソース管理リスト８３０として保持している。描画リソース管理フィルタ３０９は、描画リソース管理リスト８３０に、現在の描画リソースの名前と、現在の描画リソース登録トータルデータ量８２０とを登録する(Ｓ７０６)。その後Ｓ７０５で登録した現在の描画リソースのデータサイズを描画リソース登録トータルデータ量８２０へ加算する(Ｓ７０７)。なお、本実例では、描画リソース名と登録時のトータルデータ量とを紐づけてリスト化しているが、描画リソース名に代えて図５および図６の５０１、５０２に示すように、ローカルファイルのファイルパスと紐づけてリスト化してもよい。また、Ｓ７０５〜Ｓ７０７における描画リソースの登録処理では、描画リソース管理フィルタ３０９は、ＸＰＳストリームを解析し、２回目以降に見出した同一の描画リソースについては登録しない。描画リソースの登録は一度登録しておけば、描画リソース識別情報に基づいてＦｉｘｅｄページから参照可能であるからである。
【００４５】
図１１は、Ｆｉｘｅｄページのピースへの解析と加工処理のフローチャートである。図９のＳ７０９のサブルーチンとして実行される。描画リソース管理フィルタ３０９は、現在のＦｉｘｅｄページのピースから描画要素をひとつずつ順番に取得する（Ｓ９０１）。描画リソース管理フィルタ３０９はすべての描画要素を処理するまで（Ｓ９０２）、Ｓ９０３〜Ｓ９０７の処理を繰り返す。各描画要素への処理として、描画リソース管理フィルタ３０９は、描画リソースを伴う描画要素、具体的には、画像形成装置１０２が描画リソースを要求する描画であるかの判断（Ｓ９０３）を行う。描画リソース管理フィルタ３０９は、描画リソースを伴う描画要素に関しては、描画リソース管理リスト８３０から、該当する描画リソースの登録時の描画リソース登録トータルデータ量を取得する（Ｓ９０４）。さらに現在の描画リソース登録トータルデータ量８２０を取得し、該当描画リソースの登録時からのデータサイズの増分を計算する。
【００４６】
計算の結果、該描画リソースのデータ量を増分したことにより、Ｓ７０１で取得したサービス情報に記載のプリンタの描画リソース格納上限を超えているかを判断する（Ｓ９０５）。描画リソース格納上限を超えている場合、画像形成装置１０２から該当描画リソースが削除される可能性が高い。そのため描画リソース管理フィルタ３０９は、該当描画リソースに関して図１０（Ｄ）に示す描画リソース公開依頼８５０を描画リソース提供サービス３１０に発行する（Ｓ９０６）。描画リソース公開依頼は、依頼された描画リソースの提供対象描画リソースとしての管理を依頼すること（管理依頼）である。すなわち、描画リソース管理フィルタ３０９は、ＸＰＳストリームに含まれるＦｉｘｅｄページを解析し、以下の管理依頼を行う管理依頼手段として機能する。描画リソース管理フィルタ３０９は、Ｆｉｘｅｄページが参照する描画リソースが登録された時の描画リソース登録トータルデータ量が、描画リソース格納上限値を超える場合に、参照される描画リソースの管理依頼を実行する。
【００４７】
さらに、描画リソース管理フィルタ３０９は、図７（Ａ）の５０５に示すように、描画リソース公開依頼を発行した描画リソースへのアクセス情報を描画要素の属性として追記する（Ｓ９０７）。つまり、描画リソース管理フィルタ３０９は、解析されたＦｉｘｅｄページに、管理される提供対象描画リソースへのアクセス情報を設定する。これにより、画像形成装置１０２から該当描画リソースが削除されている場合であっても、画像形成装置１０２は、描画リソースを公開先（管理先）から取得することができる。図１１を参照して説明した解析・加工処理がされたＦｉｅｄページと、図９のＳ７０７の処理後の描画データとは、画像形成装置１０２に送信される。すなわち、描画リソース管理フィルタ３０９は、アクセス情報が設定されたＦｉｅｄページと登録された描画リソースとを画像形成装置１０２に対して送信する送信手段として機能する。
【００４８】
図１２および図１３は、描画リソース提供サービスの処理を示すフローチャートである。描画リソース提供サービス３１０は、通常外部メモリ２１１に格納されており、クライアントコンピュータの起動時に、ＲＡＭ２０２へ読み込まれ、ＣＰＵ２０１で実行される。描画リソース提供サービス３１０は、常駐サービスとして動作する。描画リソース提供サービス３１０は、依頼に応答することで動作する。よって起動後依頼を待つ。さらに一定時間で、描画リソース記憶手段３１１に対し、不要な描画リソース削除依頼を発行する（Ｓ１００１）。
【００４９】
最初に、描画リソース提供サービス３１０は、何らかの依頼を取得した際は、まず依頼の宛先が自分か判断する（Ｓ１００２）。依頼が自分宛ではない場合、指定されたサーバへ依頼を転送する（Ｓ１０１１）。自分への依頼の場合、Ｓ１００３へ処理を進める。その場合Ｓ１００３〜Ｓ１０１０の各判断工程において依頼内容を判断し、自分に依頼されていると判断した場合はその依頼に含まれる処理を行う。描画リソース管理フィルタ３０９からサービス情報取得を依頼された場合（Ｓ１００３、はい）、Ｓ１０１２で描画リソース提供サービス３１０は、サービス情報の決定処理を行う。この処理は、図８のＳ６０３のサービス情報取得処理に対応する処理である。実施例１では、描画リソース提供サービス３１０は描画リソース登録サーバと、描画リソース公開サーバともに、クライアントコンピュータであるサービス情報８００を描画リソース管理フィルタ３０９に返す。サービス情報の決定処理の詳細に関しては、実施例２で説明する。
【００５０】
描画リソース管理フィルタ３０９から描画リソースの登録を依頼された場合（Ｓ１００４、はい）、Ｓ１０１３で描画リソース提供サービス３１０は、描画リソース記憶手段３１１に依頼された描画リソースを記憶させる。この処理は、描画リソース管理フィルタ３０９の図８のＳ６０８および図９のＳ７０５の描画リソースの登録依頼処理に対応する処理である。図１４（Ｃ）に、描画リソースの登録依頼８４０の描画リソースの描画リソース記憶手段３１１での管理の例を示す。描画リソース記憶手段３１１は、描画リソース識別情報８４３に相当するフォルダ構成１１２１〜１１２５の位置に、描画リソースのバイナリデータである１．ＪＰＥＧを格納する。描画リソース記憶手段３１１は、印刷ジョブ識別情報を持つフォルダ１１２１に、公開対象の描画リソースを表す公開リスト１１２６と、公開の期限を記載した公開期限ファイル１１２７を格納する。初期状態では、公開リスト１１２６と公開期限ファイル１１２７は空のファイルである。すなわち、描画リソースの登録依頼を受けた場合は、描画リソース記憶手段３１１の描画リソース識別情報８４３に相当するフォルダに描画リソースを格納するのみである。
【００５１】
描画リソース管理フィルタ３０９から描画リソースの公開を依頼された場合（Ｓ１００５、はい）、Ｓ１０１４で描画リソース提供サービス３１０は、描画リソース公開依頼の描画リソース公開サーバ８５２が自分であるかを確認する。実施例１の場合、描画リソース公開サーバは自身のサーバである。従って描画リソース提供サービス３１０は、図１４（Ｃ）に示す公開リスト１１２６を描画リソース記憶手段３１１に保持させる（Ｓ１０１７）。この処理は、描画リソース管理フィルタ３０９の図８のＳ６０９および図１１の９０６の描画リソースの公開依頼処理に対応する処理である。描画リソース公開サーバが自分以外の場合の例は、実施例２で説明する。
【００５２】
描画リソース管理フィルタ３０９から非公開描画リソース削除を依頼された場合（１００６、はい）、描画リソース提供サービス３１０は印刷ジョブ識別番号の描画リソース記憶手段３１１のフォルダ１１２１に格納されている公開リスト１１２６を参照する。フォルダ１１２１下に格納されている公開リスト１１２６に記載されていない非公開の描画リソース（すなわち、公開する必要のない描画リソース）を描画リソース記憶手段３１１から削除する（Ｓ１０１８）。さらに印刷ジョブ識別番号の描画リソース記憶手段３１１が格納するフォルダ１１２１の公開期限ファイル１１２７に公開の期限（提供期限）を記載する。この処理は、描画リソース管理フィルタ３０９の図８のＳ６１１および図９の７１１の描画リソースの公開依頼処理に対応する処理である。この処理により、公開の必要がない描画リソース、すなわち画像形成装置１０２で保持できない描画リソースのみをクライアントコンピュータが保持するため、クライアントコンピュータが余分なデータを保持する必要がなくなる。また、提供期限を設けることにより、公開対象の描画リソースを効率よく管理することが可能となる。
【００５３】
画像形成装置１０２から描画リソース取得を依頼された場合（Ｓ１００７、はい）、Ｓ１０１９で描画リソース提供サービス３１０は、描画リソース記憶手段３１１から依頼の公開位置に存在する描画リソースを取得する。そして取得した描画リソースを画像形成装置１０２に送付する。この処理は、画像形成装置１０２の図８のＳ６１２の描画リソースの取得処理に対応する処理である。
【００５４】
画像形成装置１０２から印刷完了を依頼された場合（Ｓ１００８、はい）、Ｓ１０２０で描画リソース提供サービス３１０は、描画リソース記憶手段３１１から印刷ジョブ識別番号８１０のフォルダを削除する。また、描画リソース提供サービス３１０は、このフォルダに付随して配置されるフォルダおよびファイルも削除する。この削除処理によって印刷ジョブ識別番号に関連するファイルが、描画リソース記憶手段３１１からすべて削除される。この処理は、画像形成装置１０２の図８のＳ６１３の印刷完了処理に対応する処理である。
【００５５】
描画リソース提供サービスでは、不要な描画リソース削除の依頼が一定時間で発行されるように指定されている(Ｓ１００１)。この不要な描画リソース削除が依頼された場合（１００９、はい）、Ｓ１０２１で描画リソース提供サービス３１０は、描画リソース記憶手段３１１の印刷ジョブ識別番号に関連するフォルダに格納されるすべての公開期限ファイル１１２７を確認する。公開期限が切れているものに関しては、描画リソース提供サービス３１０は、印刷ジョブ識別番号に関連するフォルダおよびこのフォルダに付随して配置されるフォルダおよびファイルを削除する。
【００５６】
画像形成装置１０２から描画リソース提供サービスの終了が依頼を受け、描画リソース提供サービス３１０が依頼に記載されている認証情報を確認し正しい場合は（Ｓ１０１０、はい）、描画リソース提供サービスを終了する。それ以外の場合は、Ｓ１００１に処理を進め、次の依頼を待つ。上記実施例により、本発明の情報処理装置によれば、画像形成装置が描画リソース格納上限を超えて描画リソースを保持できない場合に、描画リソースを正確に提供する情報処理装置を提供することが可能となる。これにより、メモリ搭載量が少ないプリンタにおいても印刷が可能になる。また、公開対象となる描画リソースについてはＦｉｘｅｄページに描画リソースの位置情報を追加するため、画像形成装置は正確に描画リソースを取得することができる。さらにプリンタの描画リソース格納上限値を考慮し公開対象を選択するため、描画リソース提供サービスが公開するためにクライアントＰＣで保持する描画リソースのデータ量を削減することができる。
【００５７】
（実施例２）
実施例２では、クライアントコンピュータ１０１またはポータブルデバイス１０４の性能を判断し、必要に応じて、外部サーバと連携して、描画リソース提供サービスを実現する方法を説明する。本実施例２では、図１に示すクライアントコンピュータ１０１またはポータブルデバイス１０４をクライアントが保有するクライアント装置として説明する。実施例１に加え、図１に示すシステム構成図では、ポータブルデバイス１０４は、画像形成装置１０２とＬＡＮ１０３でつながり互いに通信可能である。更にＬＡＮ１０３には社内サーバ１０５がつながっている。加えてＬＡＮ１０３は、インタネット１０６経由で社外サーバ１０７とつながっている。各クライアント装置１０１／１０４および各サーバ１０５／１０７は、それぞれの構成要素間で通信可能な状態である。実施例２では、外部サーバ１０５／１０７が、画像形成装置１０２とクライアント装置１０１／１０４との通信を仲介する。
【００５８】
ポータブルデバイス１０４と社内サーバ１０５および社外サーバ１０７のハードウェア構成は、ハードの性能差はあるが図２のクライアントコンピュータ１０１と同じである。そのためハードェア構成の説明を省略する。図１５は、実施例２のモジュール構成を示すブロック図である。図３のブロック図に加えて、社内サーバ１０５と社外サーバ１０７上に、描画リソース提供サービス３１０と描画リソース記憶手段３１１が配置されている。ポータブルデバイス１０４の描画リソース提供サービス３１０と、社内サーバ１０５と社外サーバ１０７の描画リソース提供サービス３１０はネットワークを介して通信可能である。更に、社内サーバ１０５と社外サーバ１０７の描画リソース提供サービス３１０は、画像形成装置１０２とネットワークを介して通信可能である。ＸＰＳプリントパスの動作および、フィルタパイプラインマネージャ３０８より取得できるＸＰＳストリームおよび加工後のＸＰＳストリームは実施例１と同じである。実施例１とは、クライアントコンピュータの描画リソース提供サービス３１０のサービス情報の決定処理１０１２と、そこで生成されるサービス情報８００が異なる。
【００５９】
図１６にサービス情報の決定処理のフローチャートを示す。Ｓ１３０１で、まずクライアントコンピュータ上の描画リソース提供サービス３１０は、図１４（Ａ）と図１４（Ｂ）に例示するクライアント情報１１００とのプリンタ情報１１１０を取得する。
【００６０】
クライアント情報１１００は、記憶容量残量１１０１と、通信接続状態１１０２、および描画リソース提供サーバリスト１１０８を含む。記憶容量残量１１０１は、クライアントコンピュータの現在の記憶容量の残量である。通信接続状態１１０２は、アドホックな通信であるか、常時通信可能な接続であるかを表す情報である。クライアントコンピュータ１０１のような移動できない装置の場合、常時接続可と設定される。ポータブルデバイス１０４のような移動が可能な装置の場合、常時接続不可と設定される。描画リソース提供サーバ１１０３は、クライアントコンピュータから通信可能な外部サーバのリストである。ユーザによって描画リソース管理フィルタ３０９に前もって設定されたサーバ名が列挙される。描画リソース提供サービス３１０は、描画リソース管理フィルタ３０９からクライアント情報１１００を取得する。
【００６１】
プリンタ情報１１１０は、画像形成装置１０２で描画リソースを保持する記憶容量の上限値である描画リソース格納上限１１１１を含む。さらにプリンタ情報１１１０は、画像形成装置１０２に設定されている、画像形成装置１０２が通信可能な描画リソース提供サーバの情報を含む。１１１２は社内サーバのリストであり、１１１３は社外のサーバのリストである。これらのリストは、プリンタの管理者により前もって設定され、画像形成装置１０２の外部メモリ２２４に保存されている。描画リソース提供サービス３１０は、プリントマネージャ３１２およびＩ／Ｏモニタ３１３を経由して画像形成装置１０２からプリンタ情報１１１０を取得する。
【００６２】
取得したクライアント情報１１００において、描画リソース提供サービス３１０は、クライアント装置１０１／１０４の記憶容量残量が規定値より大きいか判断する(Ｓ１３０２)。規定値は、経験則または実験等によって予め定められた閾値である。クライアント装置１０１／１０４の記憶容量残量が規定値より大きいと判断した場合、描画リソース提供サービス３１０は、通信接続状態１１０２として常時接続可能かを判断する(Ｓ１３０３)。記憶容量残量が規定値より大きく常時接続可能な場合、描画リソース提供サービス３１０は、クライアント装置１０１／１０４がすべての処理を実施することが可能であると判断する。描画リソース提供サービス３１０は描画リソース登録サーバと描画リソース公開サーバとして、クライアント装置１０１／１０４が処理を行うことを決定する(Ｓ１３０４)。
【００６３】
すなわち、描画リソース提供サービス３１０は、クライアント装置の記憶容量残量の情報と通信接続状態の情報とに基づいて、描画リソースの登録先と管理先とを決定する決定手段として機能する。Ｓ１３０４では、描画リソース提供サービス３１０は、自装置を描画リソースの登録先および管理先として決定する。描画リソース提供サービス３１０は、サービス情報８００の描画リソース登録サーバ８０２と描画リソース公開サーバ８０３にクライアントコンピュータ自身のサーバのＵＲＬを記載したサービス情報を描画リソース管理フィルタ３０９へ渡す（Ｓ１３０９）。この場合の動作は、実施例１と同じ動作である。具体的には、描画リソース提供サービス３１０が、描画リソース管理フィルタ３０９からの登録依頼にしたがって描画リソースを登録する登録手段として機能する。また、描画リソース提供サービス３１０が、描画リソース管理フィルタ３０９からの公開依頼にしたがって描画リソースを公開すなわち提供対象描画リソースとして管理する管理手段として機能する。
【００６４】
クライアント装置１０１／１０４の記憶容量残量が規定値より大きいが、常時接続が不可な場合（Ｓ１３０３、いいえ）、描画リソース提供サービス３１０は、自装置が扱えるデータ量に余裕があると判断する。したがって、この場合には、描画リソース提供サービス３１０は、自装置（クライアント装置１０１／１０４）を、描画リソース登録サーバとして、決定する。また、この場合には、描画リソース提供サービス３１０は、印刷終了後にクライアント装置１０１／１０４と画像形成装置１０２とが通信できない状態になる可能性があると判断する。したがって、この場合には、描画リソース提供サービス３１０は、画像形成装置１０２からの描画リソース取得依頼に対応するために、描画リソース公開サーバは、クライアント装置１０１／１０４以外の外部サーバ１０５／１０７で行うことを決定する。すなわち、描画リソース提供サービス３１０は、外部装置を描画リソースの管理先として決定する。
【００６５】
どの外部サーバを使うかを決定するために、クライアント装置が備えるＩ／Ｏモニタ３１３が、図１７に示す描画リソース提供サービス選択ユーザインターフェース（ＵＩ）１４００をクライアント装置のディスプレイ２１０へ表示する(Ｓ１３０５)。描画リソース提供サービス選択ＵＩ１４００は、リストボックス１４０１を備える。このリストボックス１４０１には、クライアント情報１１００の描画リソース提供サーバのリスト１１０３と、プリンタ情報１１１０の描画リソース提供サーバリスト１１１２、１１１３を照合し、共通部分が表示される。また描画リソース提供サーバリスト１１１２、１１１３の社内サーバと、社外サーバの区分を（）付で表示することにより、ユーザは、社内サーバと、社外サーバどちらを使用するか選択することができる。本実施例では、描画リソース提供サービス３１０は、リストボックス１４０１の初期値選択項目としては、社内サーバを優先し、かつ、それぞれのリストの列挙の先頭を優先し、１つのサーバを決定し表示する。
【００６６】
描画リソース提供サーバのリスト１１０３と、描画リソース提供サーバリスト１１１２、１１１３で、共通サーバの記載がない場合は、クライアント装置１０１/１０４と画像形成装置１０２で通信できない状況が生じ得る。そのような状況を解決するために、描画リソース提供サービス選択ＵＩ１４００には、新規サーバ登録ボタン１４０２が用意されている。このボタン１４０２で操作入力装置２０９でのユーザによる押下を検知すると、描画リソース提供サーバリスト１１１２、１１１３のサーバへのユーザ登録画面が表示される。サーバへのユーザ登録を完了すると、クライアント情報１１００の描画リソース提供サーバのリスト１１０３にそのサーバが追加される。さらにリスト１１０３にも追加される。ＯＫボタン１４０３で操作入力装置２０９でのユーザによる押下を検知すると、リスト１１０３表示の描画リソース提供サーバを選択サーバとして決定する。その決定を元に、描画リソース提供サービス３１０は描画リソース登録サーバとしてクライアント装置１０１／１０４で、描画リソース公開サーバとして、選択したサーバで処理を行うことを決定する(Ｓ１３０６)。描画リソース提供サービス３１０は、サービス情報８００の描画リソース登録サーバ８０２にクライアント装置自身を記載し、描画リソース公開サーバ８０３に選択したサーバを記載した情報を描画リソース管理フィルタ３０９へ渡す。このサービス情報８００をうけて、描画リソース管理フィルタ３０９は、描画リソースの登録依頼８４０と、描画リソースの公開依頼８５０の情報を生成する。
【００６７】
図１８は、描画リソース登録サーバとしてクライアント装置が決定され、描画リソース公開サーバとして外部サーバ（選択サーバ）が決定された場合の、システム動作処理のシーケンス図を示す。サービス情報８００に関する部分は、描画リソースの登録依頼Ｓ６０８と描画リソースの公開依頼Ｓ６０９および非公開描画リソースの削除依頼Ｓ６１１あるので、その部分を中心に説明する。図１８に示す描画リソースの登録依頼の処理Ｓ６０８において、描画リソース管理フィルタ３０９は、図８に示す描画リソースの登録依頼８４０の描画リソースの登録の依頼先８４１には、サービス情報８００の描画リソース登録サーバ８０２を指定する。描画リソースの登録サーバ８４２にも、サービス情報８００で指定された描画リソース登録サーバを指定する。本実施例の場合、描画リソース管理フィルタ３０９は、クライアント装置１０１／１０４が指定される。この場合は実施例１と同じ処理となる。
【００６８】
図１８に示す描画リソースの公開依頼の処理Ｓ６０９で、描画リソース管理フィルタ３０９は、描画リソースの公開依頼８５０に含まれる描画リソースの登録の依頼先８５１には、描画リソース登録サーバ８０２を指定する。描画リソースの公開の依頼先８５２は、サービス情報８００で指定された描画リソース公開サーバ８０３を指定する。本実施例の場合、描画リソース管理フィルタ３０９は、描画リソース登録サーバ８０２として、クライアント装置１０１／１０４を指定し、描画リソース公開サーバ８０３として、ユーザが選択した外部サーバ１０５／１０７を指定する。この描画リソースの公開依頼８５０をうけたクライアント装置１０１／１０４の描画リソース提供サービス３１０は、描画リソースの公開サーバが自分でないことを判断する。クライアント装置１０１／１０４の描画リソース提供サービス３１０は、該当描画リソースについて、外部サーバ１０５／１０７に描画リソース登録依頼を発行する（Ｓ１５０１）。さらに描画リソース公開サーバ８５２の公開先として、外部サーバ１０５／１０７を指定し、描画リソース識別情報８５３を含む描画リソース公開依頼を発行する（Ｓ１５０２）。すなわち、描画リソース提供サービス３１０は、描画リソース管理フィルタ３０９からの公開依頼にしたがって、描画リソース公開サーバである外部サーバに対して、描画リソースの公開依頼を実行する。図１８の非公開描画リソースの削除依頼Ｓ６１１での依頼先には、サービス情報８００の描画リソース登録サーバ８０２が指定される。本ケースの場合、クライアント装置１０１／１０４が指定される。この処理は実施例１と同じ動作となる。
【００６９】
クライアント装置１０１／１０４の記憶容量の残量が予め定められた閾値以下である場合、描画リソース提供サービス３１０は、クライアント装置１０１／１０４が、描画リソース登録および描画リソース公開のための描画リソースを保持できないと判断する。描画リソース提供サービス３１０は、描画リソース登録サーバと描画リソース公開サーバとして、外部サーバ１０５／１０７で行うことを決定する。どの外部サーバを使うかを決定するために図１７に示す描画リソース提供サービス選択ＵＩ１４００をクライアント装置１０１／１０４のディスプレイ２１０へ表示する。サービス情報８００の描画リソース登録サーバ８０２と描画リソース公開サーバ８０３に選択したサーバを記載したものを描画リソース管理フィルタ３０９へ渡す。図１９に、実施例２での描画リソース提供サービスのシーケンス図を示す。
【００７０】
サービス情報８００に関する部分は、描画リソースの登録依頼Ｓ６０８と描画リソースの公開依頼Ｓ６０９および非公開描画リソースの削除依頼Ｓ６１１あるので、その部分を中心に説明する。上記３つの依頼とも依頼先は、描画リソース提供サービス選択ＵＩ１４００で選択されたサーバである。描画リソース管理フィルタ３０９からこれらの依頼をうけた描画リソース提供サービス３１０は、自分宛の依頼ではないと判断する。描画リソース提供サービス３１０は、指定されたサーバに依頼を転送する(図１９のＳ１５０１)。この動作により、Ｓ１５０１での描画リソースの登録依頼、Ｓ１５０２での描画リソースの公開依頼、およびＳ１５０３での非公開描画リソースの削除依頼は、外部サーバ１０５/１０７の描画リソース提供サービス３１０に転送され実施される。外部サーバ１０５/１０７の描画リソース提供サービス３１０での動作は、図１２および図１３で説明したクライアント装置１０１／１０４の描画リソース提供サービス３１０が行う処理と同様である。上記実施例により、クライアント装置１０１／１０４の性能を判断し、必要に応じて、クライアント装置以外の外部サーバと連携して、描画リソース提供サービスを実現することができるようになる。
【００７１】
上述の実施例では、描画リソース管理フィルタ３０９は、描画リソースのトータルデータ量が画像形成装置１０２の格納上限値を超えたことに起因して、描画リソース提供サービス３１０に公開要求を行った。しかしながら、この例に限定されることはない。描画リソース管理フィルタ３０９が構造化ストリームを解析した結果、異なるＦｉｅｄページが同一の描画リソースを予め定められた複数回以上参照（例えば２回以上）した場合に、該同一の描画リソースの公開依頼を行なうようにしてもよい。また、上述の実施例では、予め全ての描画リソースを描画リソース記憶手段３１１に格納し、描画リソース管理フィルタ３０９が全てのＸＰＳストリームを処理した後に、公開の不要な描画リソースを削除した。これに替えて、描画リソースを追加登録することによりトータルデータ量が画像形成装置１０２の格納上限値を超える場合に、格納上限値を超えて画像形成装置１０２が保持できない描画リソースのみを登録対象としてもよい。さらに、参照上記実施例では描画リソースの公開位置を記載するためにＦｉｘｅｄページに５０４、５０５を追加した。その代わりに、図７（Ｂ）に示すようにＦｉｘｅｄページに関係する描画リソースを表すピースに、描画リソースの公開位置５０７を属性として追記してもよい。
【００７２】
実施例２の場合は、描画リソース提供サービス３１０からユーザ登録を行い、外部サーバと認証情報を共有する。そのことにより描画リソース提供サービス間の通信Ｓ１５０１〜Ｓ１５０３に対して、ユーザ認証および通信データの暗号化を託してもよい。同様に、画像形成装置１０２のためのユーザ登録を行い、外部サーバと認証情報を共有する。そのことにより描画リソース提供サービスと画像形成装置１０２の通信Ｓ６１２、Ｓ６１３に対して、ユーザ認証および通信データの暗号化を託してもよい。これにより強固なセキュリティー機能の確保が可能となる。
【００７３】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そしてそのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。]
【符号の説明】
【００７４】
１０２  プリンタ
３０９  描画リソース管理フィルタ
３１０  描画リソース提供サービス
３１１  描画リソース記憶手段
【図１】
2013206250.tif 000003
【図２】
2013206250.tif 000004
【図３】
2013206250.tif 000005
【図４】
2013206250.tif 000006
【図５】
2013206250.tif 000007
【図６】
2013206250.tif 000008
【図７】
2013206250.tif 000009
【図８】
2013206250.tif 000010
【図９】
2013206250.tif 000011
【図１０】
2013206250.tif 000012
【図１１】
2013206250.tif 000013
【図１２】
2013206250.tif 000014
【図１３】
2013206250.tif 000015
【図１４】
2013206250.tif 000016
【図１５】
2013206250.tif 000017
【図１６】
2013206250.tif 000018
【図１７】
2013206250.tif 000019
【図１８】
2013206250.tif 000020
【図１９】
2013206250.tif 000021