(57)【特許請求の範囲】
【請求項１】
データ処理の要求を受け付ける受け付け手段と、
前記データ処理の処理済みファイルの参照情報を記載したファイル一覧を逐次作成する作成手段と、
前記ファイル一覧を取得し、該ファイル一覧の記載内容に基づいて前記処理済みファイルを取得する取得手段と、
を備え、
前記作成手段は、
前記ファイル一覧を作成する時点でまだ全ての前記データ処理を終了していない場合に、次に処理済みファイルの参照情報を記載する別のファイル一覧を作成し、前記ファイル一覧には前記別のファイル一覧の参照情報を含めて記載し、
新たな処理済みファイルが作成された場合に、前記別のファイル一覧を該新たな処理済みファイルの参照情報で上書きし、
前記取得手段は、前記ファイル一覧に前記別のファイル一覧の参照情報が含まれている場合に、前記別のファイル一覧が前記新たな処理済みファイルの参照情報で上書きされるまでの間、前記別のファイル一覧を取得し続ける、ことを特徴とする情報処理システム。
【請求項２】
前記作成手段は、前記別のファイル一覧が前記新たな処理済みファイルの参照情報で上書きされるまでの間、前記別のファイル一覧に前記参照情報として該別のファイル一覧のアドレス情報を記載する、ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記作成手段は、前記データ処理の処理済みファイルの１つ目が作成された時点で、１つ目の前記ファイル一覧を作成する、ことを特徴とする請求項１または２に記載の情報処理システム。
【請求項４】
前記作成手段は、前記データ処理が全て終了した場合に、前記ファイル一覧に前記別のファイル一覧の参照情報を含めずに上書きし、
前記取得手段は、前記ファイル一覧に前記別のファイル一覧の参照情報が含まれていない場合に、前記データ処理が終了したと判断する、ことを特徴とする請求項１ないし３のいずれか１項に記載の情報処理システム。
【請求項５】
前記作成手段は、前記ファイル一覧及び前記処理済みファイルをストレージ装置に保存し、
前記取得手段は、前記ファイル一覧及び前記処理済みファイルを前記ストレージ装置より取得する、ことを特徴とする請求項１ないし４のいずれか１項に記載の情報処理システム。
【請求項６】
前記作成手段は、前記別のファイル一覧が前記新たな処理済みファイルの参照情報で上書きされるまでの間、前記別のファイル一覧に前記参照情報として該別のファイル一覧のアドレス情報を記載し、
前記別のファイル一覧が所定の時間が経過しても前記新たな処理済みファイルの参照情報で上書きされない場合は、前記別のファイル一覧を代替のストレージ装置に作成する、ことを特徴とする請求項５記載の情報処理システム。
【請求項７】
請求項１ないし６のいずれか１項に記載の前記作成手段は、情報処理装置からの要求に応じて印刷データの変換を行うサーバ装置として機能する印刷システム。
【請求項８】
データ処理の要求を受け付ける受け付け手段と、
前記データ処理の処理済みファイルの参照情報を記載したファイル一覧を逐次作成する作成手段と、
を備え、
前記作成手段は、
前記ファイル一覧を作成する時点でまだ全ての前記データ処理を終了していない場合に、次に処理済みファイルの参照情報を記載する別のファイル一覧を作成し、前記ファイル一覧には前記別のファイル一覧の参照情報を含めて記載し、
新たな処理済みファイルが作成された場合に、前記別のファイル一覧を該新たな処理済みファイルの参照情報で上書きし、
前記ファイル一覧は、外部の情報処理装置から取得され、
前記ファイル一覧に前記別のファイル一覧の参照情報が含まれている場合に、前記別のファイル一覧が前記新たな処理済みファイルの参照情報で上書きされるまでの間、前記別のファイル一覧は取得され続ける、ことを特徴とするサーバ装置。
【請求項９】
第１情報処理装置及び第２情報処理装置を有する情報処理システムの制御方法であって、
前記第１情報処理装置が、データ処理の要求を受け付ける受け付け工程と、
前記第１情報処理装置が、前記データ処理の処理済みファイルの参照情報を記載したファイル一覧を逐次作成する作成工程と、
前記第２情報処理装置が、前記ファイル一覧を取得し、該ファイル一覧の記載内容に基づいて前記処理済みファイルを取得する取得工程と、
を備え、
前記第１情報処理装置は、前記作成工程において、
前記ファイル一覧を作成する時点でまだ全ての前記データ処理を終了していない場合に、次に処理済みファイルの参照情報を記載する別のファイル一覧を作成し、前記ファイル一覧には前記別のファイル一覧の参照情報を含めて記載し、
新たな処理済みファイルが作成された場合に、前記別のファイル一覧を該新たな処理済みファイルの参照情報で上書きし、
前記第２情報処理装置は、前記取得工程において、前記ファイル一覧に前記別のファイル一覧の参照情報が含まれている場合に、前記別のファイル一覧が前記新たな処理済みファイルの参照情報で上書きされるまでの間、前記別のファイル一覧を取得し続ける、ことを特徴とする情報処理システムの制御方法。
【請求項１０】
コンピュータを請求項８に記載のサーバ装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、印刷システム、サーバ装置、情報処理システムの制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、クラウドサービスとしてインターネット上にサービスを公開するビジネス展開がされている。例えば、あらゆる形式のデータをインターネット経由で保存するストレージサービスや、データベース機能を提供するデータベースサービスなどがある。その中で、プリントサーバもインターネット上のプリントサービスやデータ変換サービスとして機能を提供することが求められている。
クラウドサービスとしてプリントサービスを提供する場合は、大規模なデータセンター上にプリントサーバを配置することにより顧客ごとのハードウェアの管理が不要となる。また、例えばサーバの負荷に応じてリソースを追加することが容易に行うことができる。さらに、クラウドサービスでは、多くのコンピューティング・リソースを用いてデータ処理を分散実行し、多くのクライアント装置からの要求を同時に処理することができる。
【０００３】
また、従来、クライアント装置が備えるデータ変換ドライバが各プリンタに適したデータ形式へ変換を行ってきたが、プリントサービスがクラウド上で稼働することにより、クライアント装置を必要としないクラウド印刷システムが実現可能となる。このため、多種多様なプリンタが解釈可能なデータ形式にデータ変換を行う変換サービスは重要である。
さらに、クラウドサービスでは、他サービスと連携し機能を効果的に実現することが可能である。例えば、データ変換を行う変換サービスがストレージサービスと連携することで次のような仕組みが考えられる。変換データをクライアント装置に提供する際に、ストレージサービスにこのデータを保存し、クライアント装置が必要なタイミングでデータの取得を行う。
【０００４】
特許文献１は、ビデオカメラがビデオカメラ用イメージステーションから画像データをダウンロードする際にアクセスするアクセス先のＵＲＬを含むダウンロードリストを受信し、ダウンロードする画像に対応するＵＲＬにアクセスすることを開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１４３５６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
クラウド印刷システムとストレージサービスとが連携し、変換データをプリンタに提供する仕組みを考えた場合に、変換サービスによる変換処理とプリンタによる変換データ取得処理とを並行に行うことが考えられる。このとき、変換サービスがダウンロード可能な変換データのファイル一覧（ＵＲＬリスト）をファイルとしてストレージサービスに保存し、プリンタはこのファイルを取得することによりファイルに記載された変換データを取得する構成が考えられる。
【０００７】
しかしながら、上述の方法では、変換データのＵＲＬリストをすべて一度に記載してプリンタに渡した場合に、プリンタはまだ変換処理が完了していないデータにアクセスする可能性がある。このような場合に、ファイルが存在しないことから変換データ取得処理がエラーとなってしまう。また、変換処理が完了したデータのＵＲＬのみをＵＲＬリストに記載した場合に、ＵＲＬリストにアクセスするタイミングが変換サービスとプリンタとは非同期であるため、ＵＲＬリストの更新がプリンタの取得処理よりも前に行われる可能性がある。このような場合に、プリンタが変換データを取得する前にＵＲＬリストを更新してしまう。従って、全ての変換データを取得できなくなってしまう。
【０００８】
本発明は、データ処理とその結果である処理されたデータを取得する取得処理とを非同期に行いつつ、データ処理が完了するまでに取得処理が停止することなく処理されたデータを全て取得することを可能とする情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一実施形態の情報処理システムは、データ処理の要求を受け付ける受け付け手段と、データ処理の処理済みファイルの参照情報を記載したファイル一覧を逐次作成する作成手段と、ファイル一覧を取得し、該ファイル一覧の記載内容に基づいて処理済みファイルを取得する取得手段と、を備える。作成手段は、ファイル一覧を作成する時点でまだ全ての前記データ処理を終了していない場合に、次に処理済みファイルの参照情報を記載する別のファイル一覧を作成し、ファイル一覧には別のファイル一覧の参照情報を含めて記載し、新たな処理済みファイルが作成された場合に、別のファイル一覧を該新たな処理済みファイルの参照情報で上書きし、取得手段は、ファイル一覧に別のファイル一覧の参照情報が含まれている場合に、別のファイル一覧が新たな処理済みファイルの参照情報で上書きされるまでの間、別のファイル一覧を取得し続ける。
【発明の効果】
【００１０】
本発明によれば、データ処理とその結果である処理されたデータを取得する取得処理とを非同期に行いつつ、データ処理が完了するまでに取得処理が停止することなく処理されたデータを全て取得することを可能とする情報処理システムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る印刷システムの全体構成の一例を示す図である。
【図２】変換サービス及びプリンタのハードウェア構成の一例を示す図である。
【図３】変換サービスのモジュール構成の一例を示す図である。
【図４】一実施形態に係る印刷処理を説明するためのシーケンス図である。
【図５】データ変換処理と変換データ取得処理について説明した図である。
【図６】データ変換処理と変換データ取得処理について説明した図である。
【図７】インデックスファイルの一例を示す図である。
【図８】データ変換処理を説明するためのフローチャートである。
【図９】データ変換処理と変換データ取得処理について説明した図である。
【図１０】ダミー変換サービスへの切り替えを説明するための図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面などを参照して説明する。
（第１実施形態）
（システムの全体構成）
図１は、本発明の第１実施形態に係る情報処理システムの一例である印刷システムの全体構成を示す図である。
プリンタ１０４及び１０５は、ローカルネットワーク１０７を介して複数台接続されていることを想定している。プリンタ１０５は、ローカルネットワーク１０７を介してインターネット１０８にアクセスし、変換サービス１０１、プリントサービス１０２、及びストレージサービス１０３にアクセスすることができる。プリンタ１０４及び１０５は、有線または無線ＬＡＮを介してネットワークに接続する。本実施形態では、プリンタ１０４は、無線ＬＡＮターミナル１０６を介してネットワークに接続することを想定している。無線ＬＡＮターミナル１０６は、一般的なネットワーク・ルーター機能を有した無線ＬＡＮの親機であり、家庭内や事務所などの中で無線ＬＡＮを提供している。
【００１３】
プリントサービス１０２は、プリンタ１０４及び１０５から指定された他のクラウドサービスに存在するコンテンツデータ、または不図示のクライアント端末からメール等で送信されたコンテンツデータの印刷指示を受けるクラウドサービスである。変換サービス１０１は、プリントサービス１０２からコンテンツデータの変換要求を受け付け、プリンタ１０４及び１０５が読み取り可能なデータ形式に変換し、プリンタ１０４及び１０５に対して変換データを提供するクラウドサービスである。
【００１４】
プリントサービス１０２は、コンテンツデータをストレージサービス１０３にアップロードし、変換サービス１０１は、ストレージサービス１０３からコンテンツデータをダウンロードすることによりコンテンツデータを受け取る。また、変換サービス１０１は、変換データをストレージサービス１０３にアップロードし、プリンタ１０４及び１０５は、ストレージサービス１０３から変換データをダウンロードすることによりコンテンツデータを受け取る。変換サービス１０１、プリントサービス１０２、及びストレージサービス１０３間のデータ移動は、インターネット１０８を介して行う。
【００１５】
（変換サービス及びプリントサービスのハードウェア構成）
図２（Ａ）は、変換サービス及びプリントサービスのハードウェア構成の一例を示す図である。
なお、本発明の機能が実行可能であれば、単体の機器であっても、複数の機器からなるシステムであっても、本発明を適用できる。また、本発明の機能が実行可能であれば、ＬＡＮ、ＷＡＮ等のネットワークを介して接続が為され、処理が行われるシステムであっても本発明を適用できる。本実施形態ではシステムバス２１９により各構成要素が接続されているものとして説明する。
【００１６】
ＣＰＵ２２０は、情報処理装置の制御装置であり、記憶装置２２４に格納されている印刷システムプログラム等のアプリケーションプログラム、及びオペレーティングシステムを実行する。また、ＣＰＵ２２０は、ＲＡＭ２２２にプログラム実行に必要な情報やファイル等を一時的に格納する制御を行う。また、ＣＰＵ２２０は、印刷システムプログラムによるデータ変換処理等を実行する。
【００１７】
ＲＯＭ２２１は、記憶手段であり、内部には基本Ｉ／Ｏプログラム等のプログラム、データ変換の際に使用するフォントデータ、及び印刷処理やデータ変換処理に必要な各種データを記憶する。ＲＡＭ２２２は、一時記憶手段であり、ＣＰＵ２２０の主メモリやワークエリア等として機能する。記憶装置２２４は、外部記憶手段の一つであり、大容量メモリとして機能する。ＮＩＣ（ネットワークインターフェースカード）２２３は、外部装置とのデータのやり取りを行う。記憶装置２２４は、アプリケーションプログラム、及びＯＳ等を格納している。
【００１８】
（プリンタのハードウェア構成）
図２Ｂは、プリンタのハードウェア構成の一例を示す図である。
プリンタ１０４及び１０５のそれぞれのハードウェアの各構成要素は、システムバス２３０に接続されている。ＣＰＵ２３１は、装置全体の制御を行い、システムバス２３０に接続される各種デバイスとのアクセスを統括的に制御する。この制御は、ＲＯＭ２３２に記憶された制御プログラム等またはＤＫＣ（ディスクコントローラ）２３５を介して接続された外部メモリ２３６に記憶された制御プログラムやリソースデータ（資源情報）等に基づく。ＲＡＭ２３３は、ＣＰＵ２３１の主メモリやワークエリア等として機能し、不図示の増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。記憶装置２４０は、大容量メモリとして機能する外部記憶手段である。
【００１９】
操作パネル（操作部）２３９は、画面を表示、または画面を介したユーザーの操作指示を受け付ける。また、操作パネル２３９には、プリンタ１０４及び１０５の動作モード等の設定や、プリンタ１０４及び１０５の動作状況の表示、印刷するコンテンツデータを指定する等の操作を行うためのボタン及び液晶パネル等の表示部も配置される。ＮＩＣ（ネットワークインターフェースカード）２３４は、外部装置とのデータのやり取りを行う。なお、プリントエンジン２３８は、既知の印刷技術を利用するものであり、例えば電子写真方式（レーザービーム方式）やインクジェット方式、昇華型（熱転写）方式等である。ラスタコントローラ２３７は、ＰＤＬ言語である印刷データを画像データに変換する。機器Ｉ／Ｆ２４１は、ＵＳＢ等で接続可能な外部機器との接続Ｉ／Ｆである。
【００２０】
次に、図３及び図４を用いて本実施形態に係る印刷システムにおいてコンテンツデータを印刷する際の印刷処理について説明する。図３は、変換サービスのモジュール構成の一例を示す図である。また、図４は、変換サービス１０１、プリントサービス１０２、及びプリンタ１０４及び１０５による印刷処理を説明するためのシーケンス図である。
まず、プリンタ１０４または１０５の操作パネル２３９において、ユーザー操作により他のクラウドサービスで管理されているコンテンツデータが指定される。また、メールの添付データとしてプリントサービス１０２で印刷するコンテンツデータが送信される場合もありうる。プリンタ１０４または１０５の操作パネル２３９においてコンテンツデータが指定された場合は、指定されたコンテンツデータとコンテンツデータを管理する他のクラウドサービスの情報とがプリンタ１０４または１０５からプリントサービス１０２に送られる。プリントサービス１０２は、指定されたコンテンツデータを管理する他のクラウドサービスからコンテンツデータを取得する。
【００２１】
プリントサービス１０２は、コンテンツデータを取得すると、ステップＳ４０１で、データ処理の要求であるデータ変換リクエストを変換サービス１０１に送る。変換サービス１０１のＷｅｂサーバ３０１は、データ変換リクエストをプリントサービス１０２から受け付ける。Ｗｅｂサーバ３０１は、変換リクエストを制御サーバ３０２に送る。
ステップＳ４０２で、制御サーバ３０２は、ストレージサービス１０３にコンテンツデータをアップロードするためのデータアップロードＵＲＬを作成する。このデータアップロードＵＲＬには、データアップロード先のパスとストレージサービス１０３にアクセスするための認可トークンとが含まれる。認可トークンをデータアップロードＵＲＬに付加する処理は不図示のトークン発行サービスが制御サーバ３０２からの依頼により行う。次に、制御サーバ３０２は、データアップロードＵＲＬを、Ｗｅｂサーバ３０１を介してプリントサービス１０２に送る。
【００２２】
ステップＳ４０３で、プリントサービス１０２は、データアップロードＵＲＬを宛先にしてストレージサービス１０３にコンテンツデータを送る。このとき、プリントサービス１０２は、印刷属性を記載した不図示の印刷属性ファイルもコンテンツデータとともにストレージサービス１０３に送る。
ステップＳ４０４で、プリントサービス１０２は、コンテンツデータのアップロード完了通知をＷｅｂサーバ３０１に送る。Ｗｅｂサーバ３０１は、アップロード完了通知を受け取るとその通知を制御サーバ３０２に送る。制御サーバ３０２は、データアップロードＵＲＬを宛先にしてストレージサービス１０３からコンテンツデータを取得し、データの存在確認を行う。制御サーバ３０２は、データの存在確認を行った後に、変換リクエストを制御部３０４にデータアップロードＵＲＬとともに送る。制御部３０４は、データ変換リクエストを受け付けると、データ取得部３０６を介してデータアップロードＵＲＬを宛先にしてストレージサービス１０３からコンテンツデータと印刷属性ファイルとを取得する。制御部３０４は、コンテンツデータと印刷属性ファイルとを記憶装置２２４に保存し、データ変換部３０５に対してデータ変換指示を行う。
【００２３】
ステップＳ４０５で、データ変換部３０５は、コンテンツデータを解析し、ページ単位の変換データファイル（処理済みファイル）を作成する。この変換データファイルは、画像ファイルであったり、プリンタ１０４及び１０５が解釈可能なＰＤＬ言語のファイルであったりする。データ変換部３０５は、１つ目の処理済みファイルである１ページ目の変換データファイルを作成後に、１ページ目の変換データファイルのダウンロードＵＲＬ（変換データダウンロードＵＲＬ）を作成する。この変換データダウンロードＵＲＬには、変換データダウンロード先のパスとストレージサービス１０３にアクセスするための認可トークンとが含まれる。認可トークンをＵＲＬに付加する処理は、不図示のトークン発行サービスがデータ変換部３０５からの依頼により行う。
【００２４】
また、データ変換部３０５は、処理済みファイルの参照情報（アドレス情報）を記載したファイル一覧であるインデックスファイルを作成する。具体的には、データ変換部３０５は、１ページ目の変換データダウンロードＵＲＬと印刷属性ファイルに記載されている印刷属性情報とを記載したインデックスファイル６０１を作成する。さらに、データ変換部３０５は、インデックスファイル６０１とは別の次インデックスファイル６０２を作成する。次インデックスファイルについては後述する。また、データ変換部３０５は、インデックスファイル６０１のダウンロードＵＲＬと次インデックスファイル６０２のダウンロードＵＲＬを作成する。これらのＵＲＬには、インデックスファイル６０１または次インデックスファイル６０２のダウンロード先のパスとストレージサービス１０３にアクセスするための認可トークンとが含まれる。認可トークンをＵＲＬに付加する処理は、不図示のトークン発行サービスがデータ変換部３０５からの依頼により行う。
【００２５】
データ変換部３０５は、作成したインデックスファイル６０１、次インデックスファイル６０２、及び１ページ目の変換データを記憶装置２２４に保存し、制御部３０４に１ページ目の変換完了の通知を送る。また、データ変換部３０５は、インデックスファイル６０１のダウンロードＵＲＬ、次インデックスファイル６０２のダウンロードＵＲＬ、及び変換データのダウンロードＵＲＬを制御部３０４に送る。
【００２６】
ステップＳ４０６で、制御部３０４は、データアップロード部３０７を介してインデックスファイル６０１、次インデックスファイル６０２、及び１ページ目の変換データファイルをストレージサービス１０３にアップロードする。そして、制御部３０４は、１ページ目の変換データ作成完了の旨を制御サーバ３０２に通知する。また、制御部３０４は、インデックスファイル６０１のダウンロードＵＲＬを制御サーバ３０２に通知する。
このように、ステップＳ４０５及びＳ４０６で、１ページ目のデータが変換サービス１０１により変換され、その結果である変換データファイルがストレージサービスにアップロードされる。２ページ目以降に対するデータ変換処理とその結果である変換データのアップロードは、この後のステップＳ４０７以降でプリンタが変換データを取得するデータ取得処理とは非同期に逐次行われる。データ変換処理とデータ取得処理及び印刷処理とが非同期に行われる方法については、図５〜図７を用いて後述する。
【００２７】
ステップＳ４０７で、プリントサービス１０２がＷｅｂサーバ３０１に対して、変換データ１ページ完了確認を行うと、Ｗｅｂサーバ３０１は、１ページ目変換状況を制御サーバ３０２に問い合わせる。制御サーバ３０２は、変換サーバ３０３から１ページ目の変換データ作成完了の通知を受け取っている場合は、Ｗｅｂサーバ３０１にインデックスファイル６０１のダウンロードＵＲＬを返す。そして、Ｗｅｂサーバ３０１は、プリントサービス１０２にインデックスファイル６０１のダウンロードＵＲＬを返す。プリントサービス１０２からの変換データ１ページ完了確認は定期的に行われており、プリントサービス１０２は、インデックスファイル６０１のダウンロードＵＲＬを変換サービス１０１から取得した場合に変換データ１ページ完了確認を終了する。
【００２８】
ステップＳ４０８で、プリンタ１０４または１０５は、印刷データの存在確認をプリントサービス１０２に対し行う。なお、プリンタからの印刷データの存在確認は定期的に行われている。プリントサービス１０２は、１ページ目の変換データの作成が完了している場合に、プリンタ１０４または１０５の定期的な印刷データの存在確認の応答としてインデックスファイル６０１のダウンロードＵＲＬを返す。
ステップＳ４０９で、プリンタ１０４または１０５は、ストレージサービス１０３にインデックスファイルのダウンロードＵＲＬにアクセスし、インデックスファイル６０１を取得する。
【００２９】
ステップＳ４１０で、プリンタ１０４または１０５は、インデックスファイル６０１に記載されている変換データダウンロードＵＲＬを宛先にしてストレージサービス１０３にアクセスし、ページ単位の変換データを取得し印刷を行う。このように、ステップＳ４０９及びＳ４１０で、プリンタは、インデックスファイルを取得し、その記載内容に基づきページごとに変換データを取得する取得処理を行う。変換サービス１０１によるデータ変換処理とプリンタによる取得処理は、非同期に行われ、プリンタは、全ての変換処理済みのページを取得するまで、取得処理を繰り返し行う。データ変換処理とデータ取得処理及び印刷処理とが非同期に行われる方法については、図５〜図７を用いて後述する。
ステップＳ４１１で、プリンタ１０４または１０５は、印刷が完了した後にプリントサービス１０２に対して印刷完了通知を送る。
ステップＳ４１２で、プリントサービス１０２は、変換サービス１０１に対して完了通知を行う。
【００３０】
ここまでがコンテンツデータを印刷する際の印刷処理についての説明である。すなわち、印刷するコンテンツデータをプリントサービス１０２が変換サービス１０１に送り、変換サービス１０１がコンテンツデータをプリンタが印刷可能なデータ形式に変換する。そして、印刷可能なデータ形式に変換された変換データをプリンタ１０４または１０５が取得し、印刷する。なお、変換サービス１０１に配備されるＷｅｂサーバ３０１、制御サーバ３０２、及び変換サーバ３０３は、それぞれ独立したプログラムであり、それぞれのプログラムは、別々の情報処理装置に配置することが可能である。このとき、これらのプログラムは、それぞれのネットワークに繋がった情報処理装置に配置し、それぞれのプログラム間で通信を行う。また、これらのプログラムを同じ情報処理装置に配置することも可能である。
【００３１】
次に、図５〜図７を用いて変換サービス１０１によるデータ変換処理と、プリンタによる変換データ取得処理及び印刷処理とが非同期に行われる方法について説明する。
図５及び図６は、変換サービス、プリントサービス、及びプリンタによるデータ変換処理と変換データ取得処理及び印刷処理について説明するための図（非同期データ転送シーケンス）であり、図４を用いて説明した処理を詳細に説明した図である。また、図７は、インデックスファイル６０１の一例を示す図である。
まず、プリントサービス１０２は、データ変換リクエストを変換サービス１０１に送る。変換サービス１０１は、データ変換リクエストを受け付けると、ステップＳ５０１〜Ｓ５０６までの処理を行う。なお、ステップＳ５０１〜Ｓ５０６までの処理は、図４のステップＳ４０５〜Ｓ４１０の処理にそれぞれ対応しているため、説明は省略する。
【００３２】
ステップＳ５０４で、プリンタ１０４または１０５は、印刷データの存在確認をプリントサービス１０２に対し行う。なお、プリンタからの印刷データの存在確認は定期的に行われている。プリントサービス１０２は、１ページ目の変換データの作成が完了している場合に、プリンタ１０４または１０５の定期的な印刷データの存在確認の応答としてインデックスファイル６０１のダウンロードＵＲＬを返す。すなわち、ステップＳ５０３の変換データ１ページ完了確認で、プリントサービスが変換サービスからインデックファイルのダウンロードＵＲＬを返された場合に、プリントサービス１０２は、インデックスファイル６０１のダウンロードＵＲＬを返す。ここで、プリントサービス１０２がデータ変換リクエストを行ってから、プリンタ１０４または１０５が変換データを取得し、印刷を開始するまでの処理は、それぞれの処理の要求元がそれぞれの処理の要求先の処理状況を確認しながら同期で行われる。一方、変換サービス１０１による２ページ目以降のデータ変換処理と、プリンタ１０４及び１０５のデータ取得処理及び印刷処理は、非同期で行われる。これは、プリンタ１０４または１０５におけるファーストプリントを早く行うためであり、２ページ目以降のデータ変換処理と、データ取得処理及び印刷処理とは並列処理で行われる。
【００３３】
ステップＳ５０５で、プリンタ１０４または１０５は、プリントサービス１０２から取得したインデックスファイルのダウンロードＵＲＬを宛先にしてストレージサービス１０３にアクセスし、インデックスファイル６０１を取得する。本実施形態では、インデックスファイル６０１の構成は、ＸＭＬ形式のデータ構造とする。また、インデックスファイル６０１は、印刷属性を示すｐｒｏｐｅｒｔｙ部（要素）と、１ページごとの変換データダウンロードＵＲＬ（変換データのストレージサービス１０３上における取得先ＵＲＬ）を示すｃｏｎｔｅｎｔｓ部（要素）を情報として含む。また、ｃｏｎｔｅｎｔｓ部には、次インデックスファイルのダウンロードＵＲＬを示すｎｅｘｔｐａｇｅ部を含む。次インデックスファイル及びｎｅｘｔｐａｇｅ部については後述する。変換サービス１０１は、プリントサービス１０２から指定された印刷属性と、自サービスで作成したストレージサービス１０３上の変換データダウンロードＵＲＬの情報とからインデックスファイル６０１を作成する。
【００３４】
ここで、インデックスファイル６０１と次インデックスファイル６０２の構造について説明する。変換サービス１０１とプリンタ１０４または１０５とは、非同期でデータ変換処理及び変換データの取得処理を行っている。例えば、プリンタ１０４または１０５が１ページ目の変換データのダウンロードを完了していない状態で、変換サービス１０１が２ページ目以降のデータ変換処理を完了することがありうる。このとき、変換サービス１０１がインデックスファイル６０１のｃｏｎｔｅｎｔｓ部の記載内容を２ページ目以降の変換データダウンロードＵＲＬを記載したインデックスファイル６０１ａに上書きしてしまう可能性がある。この場合に、プリンタ１０４または１０５は１ページ目の変換データを取得できなくなってしまう。
【００３５】
一方、変換サービス１０１が２ページ目以降のデータ変換処理を完了していない状態で、プリンタ１０４または１０５が１ページ目の変換データの取得処理と印刷処理を完了することもありうる。このとき、プリンタ１０４または１０５は、取得する変換データがないため、その時点で取得処理をやめてしまう。これは、ストレージサービス１０３の通信プロトコルが一般的にｈｔｔｐまたはｈｔｔｐｓプロトコルであり、コンテンツの存在を示すことは可能であるが、コンテンツの作成の状態をプロトコルのステータスで示すことが不可能なためである。すなわち、データ変換処理中であるが変換データが存在しないという状態をプリンタ１０４または１０５に示すことができないためである。そこで、ファイルの存在によりデータ変換の状態を示す方法が必要となる。本実施形態では、次インデックスファイル６０２を用いることにより、上述した場合においてデータ変換の状態を示すことが可能となる。
【００３６】
ここで、次インデックスファイル６０２を用いた取得処理について説明する。変換サービス１０１は、インデックスファイル６０１を作成した際に、ｃｏｎｔｅｎｔｓ部に変換が完了した１ページの変換データダウンロードＵＲＬを記載する。さらに、変換サービス１０１は、インデックスファイル６０１を作成した際に、ｃｏｎｔｅｎｔｓ部のｎｅｘｔｐａｇｅ部に次インデックスファイル６０２のダウンロードＵＲＬを記載する。また、変換サービス１０１は、次インデックスファイル６０２を作成する。このとき、次インデックスファイル６０２のｎｅｘｔｐａｇｅ部には、次インデックスファイル６０２自身のダウンロードＵＲＬを記載する。
【００３７】
ここで図５の説明に戻る。ステップＳ５０２で、変換サービス１０１は、上述したインデックスファイル６０１と次インデックスファイル６０２と１ページ目の変換データをストレージサービス１０３にアップロードする。
ステップＳ５０５で、プリンタ１０４または１０５は、インデックスファイル６０１を取得する。
ステップＳ５０６で、プリンタ１０４または１０５は、インデックスファイル６０１のｃｏｎｔｅｎｔｓ部に記載された変換データダウンロードＵＲＬに基づいて１ページ目の変換データを取得する。
ステップＳ５０７で、プリンタ１０４または、１０５は、インデックスファイル６０１のｎｅｘｔｐａｇｅ部に記載された次インデックスファイル６０２を取得する。
【００３８】
ステップＳ５０８〜Ｓ５０９で、プリンタ１０４または１０５は、次インデックスファイル６０２のｎｅｘｔｐａｇｅ部に記載された次インデックスファイル６０２自身を取得する。このように変換サービス１０１が新しいページのデータ変換処理を完了していない間は、プリンタ１０４または１０５が次インデックスファイル６０２を取得し続ける。結果的にデータ変換処理が完了するまでの間に、プリンタ１０４または１０５はダウンロードをやめず（停止せず）に、プリンタ１０４または１０５を待たせることが可能となる。
【００３９】
図６は、図５に続き、２ページ目以降のデータ変換処理と変換データ取得処理及び印刷処理について説明した図である。
ステップＳ５１０で、変換サービス１０１は、新しいページのデータ変換処理が完了すると、処理済みの変換データファイルのダウンロードＵＲＬ（変換データダウンロードＵＲＬ）と新たなインデックスファイル６０２ａを作成する。このとき、新たなインデックスファイル６０２ａのｎｅｘｔｐａｇｅ部にはインデックスファイル６０２ａ自身のダウンロードＵＲＬを記載する。
また、これらのダウンロード先を記載した新たなインデックスファイル６０１ａを作成する。ここで説明する例では、３ページ分のデータ変換処理が完了しており、インデックスファイル６０１ａには、変換データダウンロードＵＲＬとして３ページ分のダウンロードＵＲＬが記載されている。このように、変換サービス１０１は、任意のタイミングでインデックスファイルを逐次作成し、その時点でデータ変換処理が完了し、作成された変換データのダウンロードＵＲＬをインデックスファイルに記載する。
【００４０】
ステップＳ５１１で、変換サービス１０１は、ストレージサービス１０３上の古い次インデックスファイル６０２をインデックスファイル６０１ａで上書きする。
ステップＳ５１２で、変換サービス１０１は、新たなインデックスファイル６０２ａと新しい変換データをアップロードする。インデックスファイル６０２ａは、最新の次インデックスファイルとして機能する。
ステップＳ５１３で、プリンタ１０４または１０５は、次インデックスファイル６０２のｎｅｘｔｐａｇｅ部に記載されたインデックスファイル６０１ａを取得する。
ステップＳ５１４〜Ｓ５１６で、プリンタ１０４または１０５は、インデックスファイル６０１ａのｃｏｎｔｅｎｔｓ部に記載された２ページ目から４ページ目までの変換データを取得する。
【００４１】
ステップＳ５１７〜Ｓ５１９で、プリンタ１０４または１０５は、インデックスファイル６０１ａのｎｅｘｔｐａｇｅ部に記載された次インデックスファイル６０２ａを取得する。そして、プリンタ１０４または１０５は、そのｎｅｘｔｐａｇｅ部に記載された次インデックスファイル６０２ａ自身を取得し続ける。なお、変換サービス１０１は、変換するページがない場合には、ｎｅｘｔｐａｇｅ部が空のインデックスファイル６０１ｂを作成し、次インデックスファイル６０２ａを上書きする。プリンタ１０４または１０５は、インデックスファイル６０１ｂを取得した場合に、インデックスファイル６０１ｂに記載された変換データの取得及び印刷を行う。プリンタ１０４または１０５は、取得処理及び印刷処理が完了すると、プリントサービス１０２に印刷完了通知を送る。
【００４２】
上述したように、プリンタは、変換データが存在しない場合であっても処理を停止せず、全ての変換データを取得することが可能となる。すなわち、変換サービスによるデータ変換処理と、プリンタによる変換データ取得処理及び印刷処理とを非同期に行うことが可能となる。また、このようなストレージサービス１０３を利用した非同期のデータファイル転送機構において、プリンタのファーストプリントを早く行うことが可能となる。
【００４３】
次に、上述したステップＳ５０１〜Ｓ５０２及びステップＳ５１０〜Ｓ５１１における変換サービス１０１のデータ変換処理について、図８を用いて詳細に説明する。
ステップＳ７０１で、変換サービス１０１は、変換データを確認する。ステップＳ７０２で、変換サービス１０１は、新しい変換データがあるか否かを判断する。ステップＳ７０２で新しい変換データがある場合は、処理はステップＳ７０３に進み、変換サービス１０１は、未生成のデータがあるか否か、すなわち全てのページのデータ変換処理が完了しているか否かを判断する。
ステップＳ７０３で、未生成のページがある場合は、変換サービス１０１は、ステップＳ７０４で新しく変換したページの変換データダウンロードＵＲＬを作成する。また、変換サービス１０１は、ｎｅｘｔｐａｇｅ部に次インデックスファイル６０２のダウンロードＵＲＬを記載したインデックスファイル６０１または６０１ａを作成する。
【００４４】
ステップＳ７０５で、変換サービス１０１は、インデックスファイル６０２または６０２ａを作成する。このとき、インデックスファイル６０２または６０２ａのｎｅｘｔｐａｇｅ部には、次インデックスファイル６０２または６０２ａ自身のダウンロードＵＲＬを記載する。
ステップＳ７０６で、変換サービス１０１は、インデックスファイル６０１または６０１ａと、次インデックスファイル６０２または６０２ａと、変換データとをストレージサービス１０３にアップロードする。
【００４５】
一方、ステップＳ７０２で、新しい変換データがない場合は、処理はＳ７０１に戻り、変換サービス１０１は、変換データの確認を行う。
また、ステップＳ７０３で、未生成の変換データがない場合は、処理はステップＳ７０７に進み、変換サービス１０１は、インデックスファイル６０１ｂを作成する。上述したように、未生成の変換データがない、すなわち全てのページのデータ変換処理が完了している場合は、インデックスファイル６０１ｂのｎｅｘｔｐａｇｅ部を空にする。ステップＳ７０８で、変換サービス１０１は、インデックスファイル６０１ｂと、変換データとをストレージサービス１０３にアップロードする。
【００４６】
このように、本実施形態によれば、変換サービスによるデータ変換処理と、プリンタによる変換データ取得処理及び印刷処理とを非同期に行うことが可能となる。これによりプリンタのファーストプリントを早く行うことが可能となる。
【００４７】
（第２実施形態）
次に、本発明の第２実施形態に係る情報処理システムの一例である印刷システムについて説明する。第１実施形態では、変換サービスにより新たな変換データが作成されるまでの間は、プリンタは次インデックスファイルを取得し続ける。これに対して、本実施形態では、所定の時間が経過しても新たな変換データが作成されていない場合には、プリンタのアクセスをストレージサーバと代替のサーバとで切り替える。
【００４８】
例えば、上述したステップＳ５０８〜Ｓ５０９、またはステップＳ５１８〜Ｓ５１９のように、変換サービス１０１が新たな変換データを作成するまでの間に、プリンタが、次インデックスファイル６０２または６０２ａを連続して取得する場合がある。このとき、ストレージサービスが同じクライアントからの同じコンテンツデータへの連続アクセスを悪意あるクライアントからの攻撃とみなし、アクセスをロックすることがある。本実施形態では、所定の時間が経過しても変換サービスが新たな変換データの作成を完了していない場合に、プリンタのストレージサービスへのアクセスをダミー変換サービスに適宜切り替える。これにより、ストレージサービスがプリンタによるアクセスをロックすることを回避し、データ変換処理とデータの取得処理とを非同期に行うことが可能となる。
【００４９】
図９は、本実施形態に係るデータ変換処理と変換データ取得処理（非同期データ転送シーケンス）について説明したシーケンス図である。具体的には、ダミー変換サービスへのアクセス切り替えを説明した図である。また、図１０は、変換サービスによるダミー変換サービスへのアクセス切り替えを説明するためのフローチャートである。図９及び図１０を組み合わせて説明する。
まず、変換サービス１０１では、データ変換時に規定時間を計測するために規定時間計測スレッドを起動する。
ステップＳ８０１で、プリンタ１０４または１０５が次インデックスファイル６０２を取得する。その後、ステップＳ９０１で、変換サービス１０１が、規定時間を超えたと判断した場合には、ステップＳ９０２で、次インデックスファイル６０２のｎｅｘｔｐａｇｅ部に記載されたダウンロードＵＲＬがダミー変換サービス８１０になっているかを判断する。
【００５０】
ステップＳ９０２で、インデックスファイル６０２のｎｅｘｔｐａｇｅ部に記載されたダウンロードＵＲＬがダミー変換サービス８１０になっていない場合は、ステップＳ８０２及びステップＳ９０５で、変換サービス１０１は、次の処理を行う。変換サービス１０１は、ｎｅｘｔｐａｇｅ部に記載されたダウンロードＵＲＬをダミー変換サービス８１０に書き換えた次インデックスファイル６０３を作成する。
ステップＳ９０６で、変換サービス１０１は、ダミー変換サービス８１０をダウンロードＵＲＬとした次インデックスファイル６０３をストレージサービス１０３とダミー変換サービス８１０にアップロードする。
ステップＳ８０３で、プリンタ１０４または１０５は、次インデックスファイル６０３をストレージサービス１０３から取得する。
ステップＳ８０４で、プリンタ１０４または１０５は、取得した次インデックスファイル６０３のｎｅｘｔｐａｇｅ部に記載されたダミー変換サービス８１０にアクセスし、次インデックスファイル６０３を取得する。
【００５１】
一方、ステップＳ９０２で、次インデックスファイル６０２のｎｅｘｔｐａｇｅ部に記載されたダウンロードＵＲＬがダミー変換サービス８１０になっている場合は、ステップＳ８０５及びステップＳ９０３で、変換サービス１０１は、次の処理を行う。変換サービス１０１は、ｎｅｘｔｐａｇｅ部に記載されたダウンロードＵＲＬをストレージサービス１０３に書き換えた次インデックスファイル６０２を作成する。
ステップＳ９０４で、変換サービス１０１は、ストレージサービス１０３をダウンロードＵＲＬとした次インデックスファイル６０２をストレージサービス１０３とダミー変換サービス８１０にアップロードする。
ステップＳ８０６で、プリンタ１０４または１０５は、次インデックスファイル６０２をダミー変換サービス８１０から取得する。
ステップＳ８０７で、プリンタ１０４または１０５は、取得した次インデックスファイル６０２のｎｅｘｔｐａｇｅ部に記載されたストレージサービス１０３にアクセスし、次インデックスファイル６０２を取得する。
【００５２】
以上のように、本実施形態によれば、第１実施形態と同様の効果を奏する。さらに、本実施形態では、変換サービスが新たな変換データを作成する間に、プリンタによるストレージサーバへの連続アクセスを他のサービスへ分散させることが可能となる。これにより、ストレージサービスが、同じクライアントからの同じコンテンツデータへの連続アクセスをロックすることを回避できる。
【００５３】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５４】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【００５５】
１０１    変換サービス
１０２    プリントサービス
１０３    ストレージサービス
１０４    プリンタ
１０５    プリンタ
６０１    インデックスファイル
６０２    次インデックスファイル
【図１】
0006463115.tif 000002
【図２】
0006463115.tif 000003
【図３】
0006463115.tif 000004
【図４】
0006463115.tif 000005
【図５】
0006463115.tif 000006
【図６】
0006463115.tif 000007
【図７】
0006463115.tif 000008
【図８】
0006463115.tif 000009
【図９】
0006463115.tif 000010
【図１０】
0006463115.tif 000011