(57)【特許請求の範囲】
【請求項１】
画像形成装置と連携して印刷のための一連の処理を行うサービスを提供するサービス提供システムであって、
前記画像形成装置において行う印刷のための一連の処理を行う複数の処理手段と、
端末装置から前記画像形成装置において行う印刷の実行要求を受け付け、前記印刷のための一連の処理のフロー設定及びパラメータ設定に基づき、前記フロー設定によって特定される前記複数の処理手段に前記フロー設定によって特定される順序で前記画像形成装置に提供する印刷命令を発行させるフロー制御手段と、
前記画像形成装置からの印刷命令の取得要求に基づいて、前記フロー設定によって特定される前記複数の処理手段によって一連の処理が実行された印刷データの前記印刷命令を前記画像形成装置に配信する印刷命令配信手段と、
を有し、
前記複数の処理手段には、前記印刷命令を発行し、発行した前記印刷命令を前記印刷命令配信手段に保存させる印刷命令手段が含まれ、
前記印刷命令は、前記印刷命令の状態として生成済み、中断中、完了、又は削除済みを表す情報を保持しており、
前記印刷命令配信手段は、前記画像形成装置からの命令状態変更要求に基づき、前記印刷命令の状態を更新し、前記画像形成装置からの印刷命令の取得要求を受け付けた場合に前記印刷命令の状態が生成済み又は中断中である前記印刷命令を選択して前記画像形成装置に配信すること
を特徴とするサービス提供システム。
【請求項２】
前記印刷命令手段からの要求により一意のコード情報を発行する認証管理手段、を更に有しており、
前記印刷命令手段は、前記認証管理手段に発行させた前記コード情報を前記印刷の実行要求を受け付けた前記端末装置に返すと共に、前記印刷命令配信手段に前記コード情報と対応付けて前記印刷命令を保存させ、
前記印刷命令配信手段は、前記画像形成装置からの前記コード情報を指定した前記印刷命令の取得要求に基づいて、前記コード情報に対応付けられた前記印刷命令を前記画像形成装置に配信すること
を特徴とする請求項１記載のサービス提供システム。
【請求項３】
前記端末装置から前記印刷の実行要求を行ったユーザの認証を行い、その認証の結果を表す認証情報を発行する認証管理手段、を更に有しており、
前記印刷命令手段は、前記印刷命令配信手段に前記認証情報と対応付けて前記印刷命令を保存させ、
前記印刷命令配信手段は、前記画像形成装置からの前記認証情報を指定した前記印刷命令の一覧の取得要求に基づいて、前記認証情報に対応付けられた前記印刷命令を前記画像形成装置に配信すること
を特徴とする請求項１記載のサービス提供システム。
【請求項４】
前記複数の処理手段には、前記フロー設定及び前記パラメータ設定に基づき、前記印刷命令の対象となる電子データの形式を変換する印刷変換手段が含まれること
を特徴とする請求項１乃至３何れか一項記載のサービス提供システム。
【請求項５】
前記印刷命令手段からの要求により前記印刷命令の対象となる電子データを前記コード情報と対応付けて保存するデータ管理手段、を更に有しており、
前記データ管理手段は、前記画像形成装置からの前記コード情報を指定した前記印刷命令の対象となる電子データの取得要求に基づいて、前記コード情報に対応付けられた前記電子データを前記画像形成装置に返すこと
を特徴とする請求項２記載のサービス提供システム。
【請求項６】
前記印刷命令手段からの要求により前記印刷命令の対象となる電子データを前記認証情報と対応付けて保存するデータ管理手段、を更に有しており、
前記データ管理手段は、前記画像形成装置からの前記認証情報を指定した前記印刷命令の対象となる電子データの取得要求に基づいて、前記認証情報に対応付けられた前記電子データを前記画像形成装置に返すこと
を特徴とする請求項３記載のサービス提供システム。
【請求項７】
画像形成装置と連携して印刷のための一連の処理を行うサービスを提供する情報処理装置であって、
前記画像形成装置において行う印刷のための一連の処理を行う複数の処理手段と、
端末装置から前記画像形成装置において行う印刷の実行要求を受け付け、前記印刷のための一連の処理のフロー設定及びパラメータ設定に基づき、前記フロー設定によって特定される前記複数の処理手段に前記フロー設定によって特定される順序で前記画像形成装置に提供する印刷命令を発行させるフロー制御手段と、
前記画像形成装置からの印刷命令の取得要求に基づいて、前記フロー設定によって特定される前記複数の処理手段によって一連の処理が実行された印刷データの前記印刷命令を前記画像形成装置に配信する印刷命令配信手段と、
を有し、
前記複数の処理手段には、前記印刷命令を発行し、発行した前記印刷命令を前記印刷命令配信手段に保存させる印刷命令手段が含まれ、
前記印刷命令は、前記印刷命令の状態として生成済み、中断中、完了、又は削除済みを表す情報を保持しており、
前記印刷命令配信手段は、前記画像形成装置からの命令状態変更要求に基づき、前記印刷命令の状態を更新し、前記画像形成装置からの印刷命令の取得要求を受け付けた場合に前記印刷命令の状態が生成済み又は中断中である前記印刷命令を選択して前記画像形成装置に配信すること
を特徴とする情報処理装置。
【請求項８】
画像形成装置と連携して印刷のための一連の処理を行うサービスを提供する情報処理装置を、
前記画像形成装置において行う印刷のための一連の処理を行う複数の処理手段、
端末装置から前記画像形成装置において行う印刷の実行要求を受け付け、前記印刷のための一連の処理のフロー設定及びパラメータ設定に基づき、前記フロー設定によって特定される前記複数の処理手段に前記フロー設定によって特定される順序で前記画像形成装置に提供する印刷命令を発行させるフロー制御手段、
前記画像形成装置からの印刷命令の取得要求に基づいて、前記フロー設定によって特定される前記複数の処理手段によって一連の処理が実行された印刷データの前記印刷命令を前記画像形成装置に配信する印刷命令配信手段、
として機能させ、
前記複数の処理手段には、前記印刷命令を発行し、発行した前記印刷命令を前記印刷命令配信手段に保存させる印刷命令手段が含まれ、
前記印刷命令は、前記印刷命令の状態として生成済み、中断中、完了、又は削除済みを表す情報を保持しており、
前記印刷命令配信手段は、前記画像形成装置からの命令状態変更要求に基づき、前記印刷命令の状態を更新し、前記画像形成装置からの印刷命令の取得要求を受け付けた場合に前記印刷命令の状態が生成済み又は中断中である前記印刷命令を選択して前記画像形成装置に配信すること
を特徴とするプログラム。
【請求項９】
画像形成装置と、前記画像形成装置と連携して印刷のための一連の処理を行うサービスを提供するサービス提供システムと、を有する情報処理システムであって、
前記画像形成装置において行う印刷のための一連の処理を行う複数の処理手段と、
端末装置から前記画像形成装置において行う印刷の実行要求を受け付け、前記印刷のための一連の処理のフロー設定及びパラメータ設定に基づき、前記フロー設定によって特定される前記複数の処理手段に前記フロー設定によって特定される順序で前記画像形成装置に提供する印刷命令を発行させるフロー制御手段と、
前記画像形成装置からの印刷命令の取得要求に基づいて、前記フロー設定によって特定される前記複数の処理手段によって一連の処理が実行された印刷データの前記印刷命令を前記画像形成装置に配信する印刷命令配信手段と、
を有し、
前記複数の処理手段には、前記印刷命令を発行し、発行した前記印刷命令を前記印刷命令配信手段に保存させる印刷命令手段が含まれ、
前記印刷命令は、前記印刷命令の状態として生成済み、中断中、完了、又は削除済みを表す情報を保持しており、
前記印刷命令配信手段は、前記画像形成装置からの命令状態変更要求に基づき、前記印刷命令の状態を更新し、前記画像形成装置からの印刷命令の取得要求を受け付けた場合に前記印刷命令の状態が生成済み又は中断中である前記印刷命令を選択して前記画像形成装置に配信すること
を特徴とする情報処理システム。
【請求項１０】
画像形成装置と連携して印刷のための一連の処理を行うサービスを提供するサービス提供システムにおいて実行される連携処理方法であって、
端末装置から前記画像形成装置において行う印刷の実行要求を受け付け、前記印刷のための一連の処理のフロー設定及びパラメータ設定に基づき、前記フロー設定によって特定される前記画像形成装置において行う印刷のための一連の処理を行う複数の処理手段に前記フロー設定によって特定される順序で前記画像形成装置に提供する印刷命令を発行させるフロー制御ステップと、
前記画像形成装置からの印刷命令の取得要求に基づいて、前記フロー設定によって特定される前記複数の処理手段によって一連の処理が実行された印刷データの前記印刷命令を印刷命令配信手段が前記画像形成装置に配信する印刷命令配信ステップと、
を有し、
前記複数の処理手段には、前記印刷命令を発行し、発行した前記印刷命令を前記印刷命令配信手段に保存させる印刷命令手段が含まれ、
前記印刷命令は、前記印刷命令の状態として生成済み、中断中、完了、又は削除済みを表す情報を保持しており、
前記印刷命令配信手段は、前記画像形成装置からの命令状態変更要求に基づき、前記印刷命令の状態を更新し、前記画像形成装置からの印刷命令の取得要求を受け付けた場合に前記印刷命令の状態が生成済み又は中断中である前記印刷命令を選択して前記画像形成装置に配信すること
を特徴とする連携処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービス提供システム、情報処理装置、プログラム、情報処理システム及び連携処理方法に関する。
【背景技術】
【０００２】
近年、クラウドコンピューティング等の技術の進歩により多種多様なサービスが提供されるようになった。例えばＰＣ等から受信した印刷ジョブを印刷サーバ等の情報処理装置に蓄積しておき、ユーザのログイン後、印刷ジョブの一覧の中からユーザに選択された印刷ジョブを画像形成装置で印刷する印刷システムは従来から知られている（例えば特許文献１参照）。
【０００３】
このように、画像形成装置とクラウドサービスなどのサービスとが連携して処理を行う技術は従来より知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、画像形成装置とクラウドサービスなどのサービスとが連携して処理を行うためには画像形成装置に搭載させるアプリケーションの開発が必要である。画像形成装置に搭載させるアプリケーションの開発は、一般的なＷｅｂ開発者などに取って難易度が高い場合があった。
【０００５】
本発明の一実施形態は、上記の点に鑑みてなされたものであり、画像形成装置と連携して処理を行うサービスの開発を支援できるサービス提供システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一実施形態は、画像形成装置と連携して印刷のための一連の処理を行うサービスを提供するサービス提供システムであって、前記画像形成装置において行う印刷のための一連の処理を行う複数の処理手段と、端末装置から前記画像形成装置において行う印刷の実行要求を受け付け、前記印刷のための一連の処理のフロー設定及びパラメータ設定に基づき、前記フロー設定によって特定される前記複数の処理手段に前記フロー設定によって特定される順序で前記画像形成装置に提供する印刷命令を発行させるフロー制御手段と、前記画像形成装置からの印刷命令の取得要求に基づいて、前記フロー設定によって特定される前記複数の処理手段によって一連の処理が実行された印刷データの前記印刷命令を前記画像形成装置に配信する印刷命令配信手段と、を有し、前記複数の処理手段には、前記印刷命令を発行し、発行した前記印刷命令を前記印刷命令配信手段に保存させる印刷命令手段が含まれ、前記印刷命令は、前記印刷命令の状態として生成済み、中断中、完了、又は削除済みを表す情報を保持しており、前記印刷命令配信手段は、前記画像形成装置からの命令状態変更要求に基づき、前記印刷命令の状態を更新し、前記画像形成装置からの印刷命令の取得要求を受け付けた場合に前記印刷命令の状態が生成済み又は中断中である前記印刷命令を選択して前記画像形成装置に配信することを特徴とする。
【発明の効果】
【０００７】
本発明の一実施形態によれば、画像形成装置と連携して処理を行うサービスの開発を支援できる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係る情報処理システムの一例の構成図である。
【図２】第１の実施形態に係るコンピュータの一例のハードウェア構成図である。
【図３】第１の実施形態に係る画像形成装置の一例のハードウェア構成図である。
【図４】第１の実施形態に係る情報処理システムの一例の処理ブロック図である。
【図５】印刷命令投入処理の一例のシーケンス図である。
【図６】サービス提供システムに投入されるジョブ実行リクエストの一例の構成図である。
【図７】各コンポーネント間における一例のデータフロー図である。
【図８】命令配信部に登録される印刷命令データの一例の構成図である。
【図９】加工された印刷命令データの一例の構成図である。
【図１０】印刷命令データの保存形式の一例について説明する図である。
【図１１】外部アプリケーションの一例の画面遷移図である。
【図１２】サービス提供システムから画像形成装置へのコンテンツ配信について説明する図である。
【図１３】画像形成装置のブラウザ上に表示されるＵＩの一例の遷移図である。
【図１４】一時コード入力による印刷実行の一例のシーケンス図である。
【図１５】状態が処理中に変更された印刷命令データの一例の構成図である。
【図１６】アクセストークンを含む印刷命令データの一例の構成図である。
【図１７】状態が完了に変更された印刷命令データの一例の構成図である。
【図１８】印刷命令データの状態遷移図である。
【図１９】印刷命令データの削除が可能な命令選択画面の一例のイメージ図である。
【図２０】画像形成装置のブラウザ上に表示されるＵＩの他の例の遷移図である。
【図２１】ユーザ認証による印刷実行の一例のシーケンス図である。
【図２２】命令配信部から印刷ジョブ処理部に返される印刷命令データの一覧の一例の構成図である。
【図２３】第３の実施形態に係る情報処理システムの一例の処理ブロック図である。
【図２４】プリントジョブ登録処理の一例のシーケンス図である。
【図２５】ファイル登録リクエスト及びファイル登録レスポンスの一例を示す構成図である。
【図２６】コマンド登録リクエスト及びコマンド登録レスポンスの一例を示す構成図である。
【図２７】プリントジョブ実行処理の一例のシーケンス図である。
【図２８】コマンド状態取得処理の一例のシーケンス図である。
【図２９】コマンド状態取得リクエスト及びコマンド状態取得レスポンスの一例を示す構成図である。
【図３０】コマンド処理部の処理手順の一例のフローチャートである。
【図３１】ファイル登録リクエストの「Ｃｏｎｔｅｎｔ−Ｔｙｐｅ」がＪＰＥＧの例とＰＤＬの例とを表した説明図である。
【図３２】第４の実施形態に係る情報処理システムの一例の構成図である。
【図３３】第４の実施形態に係る情報処理システムの一例の処理ブロック図である。
【図３４】印刷ジョブの登録及び実行処理の一例のシーケンス図である。
【図３５】登録される印刷ジョブの一例の構成図である。
【図３６】キーワード表の一例の構成図である。
【図３７】紐付け情報の一例の構成図である。
【図３８】出力先確定処理の一例のフローチャートである。
【図３９】出力先変更処理の一例のフローチャートである。
【図４０】印刷ジョブの登録及び実行処理の他の例のシーケンス図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。
【００１０】
［第１の実施形態］
＜システム構成＞
図１は、第１の実施形態に係る情報処理システムの一例の構成図である。図１に示される情報処理システム１はサービス提供環境Ｅ１、ユーザ環境Ｅ２を含み、インターネット等の広域的なネットワークＮ１を介して通信可能に接続されている。
【００１１】
サービス提供環境Ｅ１は、ネットワークＮ１を介してクラウドサービス等のサービスを提供するシステム環境である。本実施形態では、サービスの一例としてクラウドサービスを採用して説明するが、ＡＳＰ（Application Service Provider）により提供されるサービスやＷｅｂサービス等のサービスであってもよい。
【００１２】
サービス提供環境Ｅ１は、一台以上の情報処理装置で実現されるサービス提供システム１０を有する。サービス提供システム１０は、ネットワークＮ１を介して所定のサービスを提供する。
【００１３】
例えばサービス提供システム１０は、保存している電子ファイルを、ユーザ環境Ｅ２の画像形成装置２０で印刷するサービス（クラウドプリントサービス）を提供する。第１の実施形態に係る情報処理システム１では、サービス提供システム１０が、このようなクラウドプリントサービスを提供するものとして説明する。
【００１４】
なお、サービス提供システム１０の全部又は一部は、ユーザ環境Ｅ２に設置されていてもよい。すなわち、サービス提供システム１０を構成する情報処理装置の全部又は一部はユーザ環境Ｅ２に包含されていてもよい。
【００１５】
ユーザ環境Ｅ２は、例えば画像形成装置２０を使用するユーザである企業等のシステム環境である。ユーザ環境Ｅ２は、画像形成装置２０、端末装置３０が例えばＬＡＮなどのネットワークＮ２を介して接続されている。第１の実施形態に係る画像形成装置２０はプリント機能を有する装置である。なお、画像形成装置２０はプリント機能以外にスキャン機能、コピー機能やファックス（ＦＡＸ）通信機能などを備える複合機などの電子機器であってもよい。第１の実施形態に係る端末装置３０は、一般的なＯＳなどが搭載されたデスクトップＰＣ、ノートＰＣ、スマートフォンや携帯電話、タブレットＰＣなど、ユーザが操作可能な装置である。
【００１６】
図１の情報処理システム１の構成は一例であって、他の構成であってもよい。例えば画像形成装置２０は複数台あってもよい。また、端末装置３０はネットワークＮ１に接続されていてもよい。
【００１７】
＜ハードウェア構成＞
≪コンピュータ≫
図１のサービス提供システム１０を実現する一台以上の情報処理装置は図２に示すようなハードウェア構成のコンピュータにより実現される。また、図１の端末装置３０も図２に示すようなハードウェア構成のコンピュータにより実現される。図２は、第１の実施形態に係るコンピュータの一例のハードウェア構成図である。
【００１８】
図２に示したコンピュータ５００は、入力装置１１と、表示装置１２と、外部Ｉ／Ｆ１３と、ＲＡＭ１４と、ＲＯＭ１５と、ＣＰＵ１６と、通信Ｉ／Ｆ１７と、ＨＤＤ１８とを有する。これらの各ハードウェアは、それぞれがバスＢで接続されている。
【００１９】
入力装置１１は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置１２は、ディスプレイ等を含み、コンピュータ５００による処理結果を表示する。なお、入力装置１１及び表示装置１２は、必要なときに接続して利用する形態であってもよい。
【００２０】
通信Ｉ／Ｆ１７は、コンピュータ５００をネットワークＮ１に接続するインタフェースである。これにより、コンピュータ５００は、通信Ｉ／Ｆ１７を介してデータ通信を行うことができる。ＨＤＤ１８は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、コンピュータ５００全体を制御する基本ソフトウェアであるＯＳ、及びＯＳ上において各種機能を提供するアプリケーションソフトウェア等がある。
【００２１】
なお、コンピュータ５００はＨＤＤ１８に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用してもよい。ＨＤＤ１８は格納しているプログラムやデータを所定のファイルシステム及び／又はＤＢにより管理している。
【００２２】
外部Ｉ／Ｆ１３は外部装置とのインタフェースである。外部装置には、記録媒体１３ａ等がある。これにより、コンピュータ５００は、外部Ｉ／Ｆ１３を介して記録媒体１３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１３ａには、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００２３】
ＲＯＭ１５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１５には、コンピュータ５００の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ設定、及びネットワーク設定等のプログラムやデータが格納されている。ＲＡＭ１４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００２４】
ＣＰＵ１６は、ＲＯＭ１５やＨＤＤ１８等の記憶装置からプログラムやデータをＲＡＭ１４上に読み出し、処理を実行することで、コンピュータ５００全体の制御や機能を実現する演算装置である。
【００２５】
サービス提供システム１０を実現する一台以上の情報処理装置はコンピュータ５００のハードウェア構成により、後述するような各種処理を実現できる。また、端末装置３０もコンピュータ５００のハードウェア構成により、後述する各種処理を実現できる。
【００２６】
≪画像形成装置≫
図１に示される画像形成装置２０は例えば図３に示すハードウェア構成を有する。図３は、第１の実施形態に係る画像形成装置の一例のハードウェア構成図である。図３に示す画像形成装置２０は、コントローラ２１と、操作パネル２２と、外部Ｉ／Ｆ２３と、通信Ｉ／Ｆ２４と、プリンタ２５と、スキャナ２６とを有する。
【００２７】
また、コントローラ２１は、ＣＰＵ２１１と、ＲＡＭ２１２と、ＲＯＭ２１３と、ＮＶＲＡＭ２１４と、ＨＤＤ２１５とを有する。ＲＯＭ２１３は、各種プログラムやデータが格納されている。ＲＡＭ２１２はプログラムやデータを一時保持する。ＮＶＲＡＭ２１４は例えば設定情報等が格納されている。また、ＨＤＤ２１５は各種プログラムやデータが格納されている。
【００２８】
ＣＰＵ２１１は、ＲＯＭ２１３やＮＶＲＡＭ２１４、ＨＤＤ２１５等からプログラムやデータ、設定情報等をＲＡＭ２１２上に読み出し、処理を実行することで、画像形成装置２０全体の制御や機能を実現する。
【００２９】
操作パネル２２は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部Ｉ／Ｆ２３は、外部装置とのインタフェースである。外部装置には、記録媒体２３ａ等がある。これにより、画像形成装置２０は、外部Ｉ／Ｆ２３を介して記録媒体２３ａの読み取り及び／又は書き込みを行うことができる。なお、記録媒体２３ａにはＩＣカード、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００３０】
通信Ｉ／Ｆ２４は、画像形成装置２０をネットワークＮ２に接続するインタフェースである。これにより、画像形成装置２０は通信Ｉ／Ｆ２４を介してデータ通信を行うことができる。
【００３１】
プリンタ２５は印刷データを被搬送物に印刷するための印刷装置である。例えば被搬送物は紙、コート紙、厚紙、ＯＨＰ、プラスチックフィルム、プリプレグ、銅箔など、紙に限定されない。また、スキャナ２６は原稿から画像データ（電子データ）を読み取り、画像ファイル（電子ファイル）を生成するための読取装置である。
【００３２】
第１の実施形態に係る画像形成装置２０は、上記したハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００３３】
＜ソフトウェア構成＞
第１の実施形態に係る情報処理システム１は例えば図４に示されるような処理ブロックにより実現することができる。図４は、第１の実施形態に係る情報処理システムの一例の処理ブロック図である。
【００３４】
画像形成装置２０はブラウザ５１が搭載されている。画像形成装置２０のユーザはブラウザ５１を介して、サービス提供システム１０により提供されるサービスを利用することができる。このように、第１の実施形態に係る画像形成装置２０では、ブラウザ５１が搭載されていればよい。ブラウザ５１は例えばサービス提供システム１０から取得したＷｅｂコンテンツを表示できる。
【００３５】
サービス提供システム１０はドキュメントサービス部１０１、ファイルサービス部１０２、入出力サービス処理部１０３、認証管理部１０４、デバイスサービス部１０５、印刷データファイル記憶部１０６及びデバイスアプリ情報記憶部１０７を有する。なお、印刷データファイル記憶部１０６及びデバイスアプリ情報記憶部１０７は、サービス提供システム１０とネットワークを介して接続される記憶装置等により実現されてもよい。
【００３６】
ドキュメントサービス部１０１は、サービス提供システム１０により提供されるサービスを実現するためのプログラム（モジュール）群である。ドキュメントサービス部１０１には、例えば各形式のドキュメントを画像形成装置２０が解釈可能なデータ形式へと変換する印刷変換部１１１が含まれている。なお、ドキュメントサービス部１０１は印刷変換部１１１以外にも、電子ファイルの圧縮又は解凍するためのプログラム、電子ファイルに対してＯＣＲ処理を実行するプログラムなど、各種の処理を実行するプログラムが含まれていてもよい。ファイルサービス部１０２はデータ管理部１１２を有する。データ管理部１１２は外部から利用されるファイルのアクセス管理を行う。
【００３７】
入出力サービス処理部１０３は、フロー制御部１１３及びコンポーネント群１１４を有する。フロー制御部１１３はドキュメントに関する入力、出力、変換の機能を持つ複数のコンポーネントを連結させて実行することでドキュメントワークフローを実現する。ここでコンポーネントとは各種処理を実行するためのモジュール等であり、例えばクラスや関数等で定義される。フロー制御部１１３はコンポーネントの連結やパラメータを指定可能なＡＰＩを後述の外部アプリケーション３１に対して提供する。
【００３８】
コンポーネント群１１４はコンポーネントの集合である。コンポーネント群１１４には印刷変換コンポーネント１２１、認証コンポーネント１２２、ファイル入力コンポーネント１２３及び印刷命令コンポーネント１２４が含まれる。
【００３９】
印刷変換コンポーネント１２１はドキュメントサービス部１０１の印刷変換部１１１を利用して電子ファイルを印刷可能な形式の印刷データに変換する。認証コンポーネント１２２はサービスの認証を行う。認証コンポーネント１２２はサービス提供システム１０の認証の他、外部サービスを利用する場合に、外部サービスの代理認証も行う。
【００４０】
ファイル入力コンポーネント１２３は後述の外部アプリケーション３１から直接ファイルの入力を受け付ける。なお、ファイル入力コンポーネント１２３は、外部のファイルストレージサービス上のファイルを指定して入力とするようなコンポーネントの場合もあり得る。印刷命令コンポーネント１２４は印刷対象のファイルのロケーションを含む、所定の形式で記載された印刷命令を後述の命令配信部１１５に投入する。
【００４１】
認証管理部１０４は、ユーザアカウントの認証管理を行う。また、認証管理部１０４はユーザログインを行わないで印刷を実行するための一時コードの発行と検証を行う。デバイスサービス部１０５は、命令配信部１１５及びアプリ配信部１１６を有する。
【００４２】
命令配信部１１５は印刷命令コンポーネント１２４から投入された印刷命令をキューイングしておき、画像形成装置２０からの要求に応じて印刷命令を画像形成装置２０に送信する。
【００４３】
アプリ配信部１１６は画像形成装置２０のブラウザ５１上で表示、実行されるデバイスアプリ情報１３２のＷｅｂコンテンツを配信する。例えばアプリ配信部１１６は、ブラウザ５１からの要求に応じて、デバイスアプリ情報１３２に含まれる画面定義に基づく画面を返信する。これにより、画像形成装置２０のブラウザ５１には、サービス提供システム１０により提供されるサービスを利用するための画面が表示される。
【００４４】
印刷データファイル記憶部１０６は印刷データファイル１３１を記憶する。デバイスアプリ情報記憶部１０７はデバイスアプリ情報１３２を記憶する。デバイスアプリ情報１３２は、ＨＴＭＬやＣＳＳなどで記述された画面レイアウトの定義と、サービスを実現するための一例の処理を示す処理内容と、が記述されている。デバイスアプリ情報１３２の処理内容には印刷ジョブ処理部が含まれている。印刷ジョブ処理部は、印刷命令を行い印刷ジョブを実行する。
【００４５】
端末装置３０は外部アプリケーション３１が搭載されている。外部アプリケーション３１は入出力サービス処理部１０３のＡＰＩを利用し、ドキュメントの印刷をサービス提供システム１０に要求する。
【００４６】
＜処理の詳細＞
次に、本実施形態に係る情報処理システム１の処理の詳細について説明する。
【００４７】
《印刷命令投入》
第１の実施形態に係る情報処理システム１で印刷を行うためには、まず、端末装置３０の外部アプリケーション３１から印刷命令を含むワークフローを実行してサービス提供システム１０に印刷命令を投入する。その後、情報処理システム１では、画像形成装置２０がサービス提供システム１０から印刷命令を取得して印刷を実行する。
【００４８】
図５は印刷命令投入処理の一例のシーケンス図である。ステップＳ１１において外部アプリケーション３１は図６に示すジョブ実行リクエストをサービス提供システム１０に投入する。図６はサービス提供システムに投入されるジョブ実行リクエストの一例の構成図である。
【００４９】
図６のジョブ実行リクエストは、フロー設定とパラメータ、印刷対象のファイルを同時に送るため、ｍｕｌｔｉｐａｒｔ／ｆｏｒｍｄａｔａの形式で送信する。図６のジョブ実行リクエストは最初のパートにＪＳＯＮ形式のフロー設定とパラメータが記載され、次のパートにファイルのデータが記載されている。なお、ファイルを含まないジョブ実行リクエストであれば、ａｐｐｌｉｃａｔｉｏｎ／ｊｓｏｎの形式でフロー設定とパラメータとを送信してもよい。
【００５０】
図６のジョブ実行リクエストのフロー設定は、ｃｏｍｐｏｎｅｎｔ、ｐａｒａｍｓ及びｎｅｘｔのフィールドを持つオブジェクトの配列として表現される。ｃｏｍｐｏｎｅｎｔはコンポーネントの名前である。印刷変換コンポーネント１２１の名前は図６のジョブ実行リクエストにおいて「ｐｒｉｎｔ＿ｃｏｎｖｅｒｔ」である。認証コンポーネント１２２の名前は図６のジョブ実行リクエストにおいて「ａｕｔｈ」である。
【００５１】
ファイル入力コンポーネント１２３の名前は図６のジョブ実行リクエストにおいて「ｆｉｌｅ＿ｉｎｐｕｔ」である。印刷命令コンポーネント１２４の名前は図６のジョブ実行リクエストにおいて「ｐｒｉｎｔ＿ｃｏｍｍａｎｄ」である。
【００５２】
ｐａｒａｍｓはコンポーネントに対するパラメータ設定であり、コンポーネントにより異なる。例えば図６では認証コンポーネント１２２に対するパラメータとしてユーザログインに使うユーザ名（ｕｓｅｒｎａｍｅ）とパスワード（ｐａｓｓｗｏｒｄ）とが設定されている。また、図６ではファイル入力コンポーネント１２３に対するパラメータとしてファイル名（ｎａｍｅ）が設定されている。また、図６では印刷変換コンポーネント１２１に対するパラメータとしてＰＤＬ種別と印刷設定のパラメータとが設定されている。
【００５３】
ＰＤＬ種別（ｐｄｌ）は印刷データフォーマットの種類を示す。また、印刷設定のパラメータには部数（ｃｏｐｉｅｓ）とカラーモノクロ設定（ｃｏｌｏｒｍｏｄｅ）と用紙サイズ（ｐａｐｅｒｓｉｚｅ）と両面設定（２ｓｉｄｅｄ）と集約設定（ｌａｙｏｕｔ）とが含まれている。
【００５４】
また、図６では印刷命令コンポーネント１２４に対するパラメータとして画像形成装置２０のブラウザ５１に表示する印刷命令の説明（ｄｅｓｃｒｉｐｔｉｏｎ）とジョブ実行リクエストの投入日時（ｃｒｅａｔｅｄ＿ａｔ）とが設定されている。
【００５５】
ｎｅｘｔは次に処理されるコンポーネントの名前である。次に処理されるコンポーネントには処理結果が渡される。つまり、各コンポーネントには処理を実行する際にジョブ実行リクエストによって指定されたパラメータと、前に処理を行ったコンポーネントの処理結果とが渡される。
【００５６】
例えば図６のジョブ実行リクエストに基づくフローを実行した場合、各コンポーネント間のデータフローは、例えば図７に示すようになる。図７は各コンポーネント間における一例のデータフロー図である。
【００５７】
フロー制御部１１３は図６のジョブ実行リクエストのフロー設定のｎｅｘｔを参照することでコンポーネント間の依存関係を構築する。そして、フロー制御部１１３はジョブ実行リクエストのパラメータ設定と、前に処理を行ったコンポーネントの処理結果と、を渡して次々にコンポーネントを実行していく。
【００５８】
なお、図７に示したように、依存関係の無いコンポーネント同士は、並列実行が可能である。図７の例では、認証コンポーネント１２２が、ファイル入力コンポーネント１２３及び印刷変換コンポーネント１２１と並列実行されている。
【００５９】
図６のジョブ実行リクエストの場合、フロー制御部１１３は例えば図５のシーケンス図に示すように、認証コンポーネント１２２、ファイル入力コンポーネント１２３、印刷変換コンポーネント１２１、印刷命令コンポーネント１２４の順に処理を実行する。
【００６０】
図５に戻り、フロー制御部１１３は図６のジョブ実行リクエストに記載されている認証コンポーネント１２２のパラメータ設定のユーザログインに使うユーザ名とパスワードとを読み出す。そして、ステップＳ１２においてフロー制御部１１３はユーザログインに使うユーザ名とパスワードとを認証コンポーネント１２２に渡して実行を指示する。
【００６１】
ステップＳ１３に進み、認証コンポーネント１２２はユーザログインに使うユーザ名とパスワードとを指定して、認証管理部１０４にユーザ認証を要求する。認証管理部１０４は認証が成功すると、認証情報を認証コンポーネント１２２に返す。なお、認証情報にはユーザ名と認証トークンとが含まれる。そして、認証情報は認証コンポーネント１２２からフロー制御部１１３に返される。
【００６２】
フロー制御部１１３は図６のジョブ実行リクエストに記載されているファイル入力コンポーネント１２３のパラメータ設定のファイル名に基づき、ジョブ実行リクエストから印刷対象のファイルを読み出す。そして、ステップＳ１４においてフロー制御部１１３は印刷対象のファイルをファイル入力コンポーネント１２３に渡して実行を指示する。そしてステップＳ１５に進み、ファイル入力コンポーネント１２３は受け取ったファイルをテンポラリに保存し、そのファイルパスをフロー制御部１１３に返す。
【００６３】
続いて、フロー制御部１１３は図６のジョブ実行リクエストに記載されている印刷変換コンポーネント１２１のパラメータ設定のＰＤＬ種別、印刷設定を読み出す。ステップＳ１６に進み、フロー制御部１１３は印刷変換コンポーネント１２１のパラメータ設定のＰＤＬ種別、印刷設定と、ファイル入力コンポーネント１２３の処理結果であるファイルパスとを印刷変換コンポーネント１２１に渡して実行を指示する。
【００６４】
ステップＳ１７に進み、印刷変換コンポーネント１２１は、印刷変換コンポーネント１２１のパラメータ設定のＰＤＬ種別、印刷設定と、ファイル入力コンポーネント１２３の処理結果であるファイルパスとを印刷変換部１１１に渡して変換を指示する。
【００６５】
ステップＳ１８に進み、印刷変換部１１１はファイルパスを利用してテンポラリに保存されているファイルを取得する。そして、印刷変換部１１１は取得したファイルを印刷設定に基づく印刷データに変換する。ステップＳ１９に進み、印刷変換部１１１は変換した印刷データをテンポラリに保存する。そしてステップＳ２０に進み、印刷変換部１１１は印刷データのファイルパスと、ＰＤＬ種別とをフロー制御部１１３に返す。
【００６６】
続いて、フロー制御部１１３は図６のジョブ実行リクエストに記載されている印刷命令コンポーネント１２４のパラメータ設定を読み出す。ステップＳ２１に進み、フロー制御部１１３は読み出したパラメータ設定と、認証コンポーネント１２２の処理結果と、印刷変換コンポーネント１２１の処理結果と、を印刷命令コンポーネント１２４に渡して実行を指示する。なお、認証コンポーネント１２２の処理結果は認証情報である。印刷変換コンポーネント１２１の処理結果は印刷データのファイルパス及びＰＤＬ種別である。
【００６７】
ステップＳ２２に進み、印刷命令コンポーネント１２４はフロー制御部１１３から渡された認証情報と印刷データのファイルパスとを指定し、データ管理部１１２に印刷データの保存を指示する。データ管理部１１２は印刷データの保存場所を示す保存先ＵＲＬを発行して印刷命令コンポーネント１２４に返す。これにより、第１の実施形態に係る情報処理システム１ではサービス提供システム１０の外部から、ユーザの権限により印刷データにアクセス可能となる。
【００６８】
ステップＳ２３に進み、印刷命令コンポーネント１２４は認証管理部１０４を利用して一時コードの発行を行う。この一時コードは画像形成装置２０からユーザログインの代わりに一時コードの入力によって印刷を実行する場合に利用する。なお、一時コードは例えば所定の時間が経過すると利用不能とする。
【００６９】
ステップＳ２４に進み、印刷命令コンポーネント１２４は一時コード、認証情報、図８に示す印刷命令データを指定して、命令配信部１１５に印刷命令発行を指示する。図８は命令配信部に登録される印刷命令データの一例の構成図である。
【００７０】
ｄｅｓｃｒｉｐｔｉｏｎ及びｃｒｅａｔｅｄ＿ａｔは印刷命令コンポーネント１２４のパラメータ設定に含まれていたものである。ｐｄｌは印刷変換コンポーネント１２１の処理結果に含まれていたものである。ｆｉｌｅｕｒｌは保存先ＵＲＬである。ｔｙｐｅは印刷命令であることを示すために追加された情報である。
【００７１】
命令配信部１１５は受け取った印刷命令データをキューイングしておき、画像形成装置２０からの要求に応じて画像形成装置２０に印刷命令データを返す。命令配信部１１５は受け取った印刷命令データを図９のように加工して保存する。図９は加工された印刷命令データの一例の構成図である。
【００７２】
ｉｄは命令を一意に識別するための識別情報の一例である。ｕｐｄａｔｅｄ＿ａｔは最後に印刷命令の状態が変更された日時である。ｕｐｄａｔｅｄ＿ａｔの初期値はｃｒｅａｔｅｄ＿ａｔと同一である。ｓｔａｔｕｓは印刷命令の状態である。ｓｔａｔｕｓの初期値はｃｒｅａｔｅｄである。その後のｓｔａｔｕｓの印刷命令の状態変化については後述する。
【００７３】
なお、命令配信部１１５は、加工した印刷命令データを図１０に示すように認証情報及び一時コードに対応付けて管理する。図１０は印刷命令データの保存形式の一例について説明する図である。図１０に示すように、各印刷命令データが、一時コードに対して一意に対応付けられている。また、各印刷命令データとユーザＩＤとはｎ対１に対応付けられている。図１０に示す対応付けにより、命令配信部１１５は一時コードに対応する印刷命令データを一意に取り出したり、ユーザＩＤに対応する印刷命令データの一覧を取り出したり、できる。
【００７４】
ステップＳ２５に進み、印刷命令コンポーネント１２４は一時コードをフロー制御部１１３に返す。全てのコンポーネントの実行が完了すると、フロー制御部１１３は最後のコンポーネントである印刷命令コンポーネント１２４の実行結果である一時コードを端末装置３０の外部アプリケーション３１に返す。そして、ステップＳ２６において、外部アプリケーション３１は何らかの手段（例えば表示など）により、一時コードをユーザに提示する。
【００７５】
図１１は外部アプリケーションの一例の画面遷移図である。ユーザはトップ画面１０００からドキュメント選択画面１００１に遷移し、ドキュメント選択画面１００１から印刷対象のドキュメントを選択する。また、ユーザはトップ画面１０００から印刷設定を選択する。
【００７６】
ユーザによりトップ画面１０００のＯＫボタンが押下されると、外部アプリケーション３１は図５のステップＳ１１の処理により、図６に示したジョブ実行リクエストをサービス提供システム１０に投入する。
【００７７】
例えばドキュメント選択画面１００１から選択したドキュメントは、ファイル入力コンポーネント１２３のパラメータ設定のファイル名（ｎａｍｅ）となる。また、ドキュメント選択画面１００１から選択した印刷設定は印刷変換コンポーネント１２１のパラメータ設定の印刷設定となる。サービス提供システム１０から一時コードがレスポンスとして返ると、外部アプリケーション３１は結果画面１００２に一時コードを表示する。結果画面１００２には一時コードを画像形成装置２０に入力することで印刷対象のドキュメントを印刷できることをユーザに促す表示がなされる。
【００７８】
《印刷実行》
図１２はサービス提供システムから画像形成装置へのコンテンツ配信について説明する図である。画像形成装置２０上に搭載されたブラウザ５１はサービス提供システム１０のアプリ配信部１１６のＵＲＬをデフォルトのＵＲＬとして保持している。ブラウザ５１は起動されるとアプリ配信部１１６に対し、デバイスアプリ情報１３２のダウンロードリクエストを行う。
【００７９】
デバイスアプリ情報１３２は、ＨＴＭＬやＣＳＳで記述された画面定義や、Ｊａｖａｓｃｒｉｐｔ（登録商標）などのスクリプト言語で記述された印刷ジョブ処理部などのコンテンツを含む構成である。ダウンロードされたデバイスアプリ情報１３２は画像形成装置２０上のブラウザ５１上で実行／表示される。また、サービス提供システム１０のアプリ配信部１１６はアプリケーションキャッシュに対応している。したがって、画像形成装置２０にダウンロードされたデバイスアプリ情報１３２の再ダウンロードは、デバイスアプリ情報１３２の更新が行われるまで発生しない。
【００８０】
第１の実施形態に係る情報処理システム１は、サービス提供システム１０上に配置されたデバイスアプリ情報１３２を、画像形成装置２０のブラウザ５１がダウンロードして表示／実行する構成である。なお、第１の実施形態に係る情報処理システム１は画像形成装置２０上のローカルストレージにデバイスアプリを配置し、デバイスアプリが各サービスのＡＰＩを利用する構成であってもよい。
【００８１】
図１３は画像形成装置のブラウザ上に表示されるＵＩの一例の遷移図である。図１３に示したＵＩはデバイスアプリ情報１３２の画面定義に基づいて表示される。トップ画面１５０１には「一時コードで実行」ボタン１５１１が設けられている。ユーザにより「一時コードで実行」ボタン１５１１が押下されると、ブラウザ５１は一時コード画面１５０２を表示する。
【００８２】
一時コード画面１５０２には一時コードを入力する欄が設けられている。ユーザは図１１の結果画面１００２に表示された一時コードを、一時コード画面１５０２に入力してＯＫボタンを押下する。一時コードが正しければ、画像形成装置２０は印刷中画面１５０３を表示し、図１４に示す手順により印刷を実行する。
【００８３】
図１４は一時コード入力による印刷実行の一例のシーケンス図である。ステップＳ３１においてユーザはブラウザ５１上に表示された一時コード画面１５０２に一時コードを入力し、ＯＫボタンを押下する。
【００８４】
ステップＳ３２に進み、ブラウザ５１は画像形成装置２０のブラウザ５１上で実行されている印刷ジョブ処理部５２に一時コードによるジョブ実行を要求する。ステップＳ３３に進み、印刷ジョブ処理部５２は一時コードを指定し、サービス提供システム１０の命令配信部１１５に命令取得を要求する。
【００８５】
ステップＳ３４に進み、命令配信部１１５は一時コードが有効か否かの検証を認証管理部１０４に要求する。ここでは一時コードが有効であったものとして説明する。命令配信部１１５は一時コードが有効であれば、ステップＳ３５において、一時コードに対応付いて保存されていた図９の印刷命令データを印刷ジョブ処理部５２に返す。
【００８６】
印刷ジョブ処理部５２は印刷ジョブを開始するため、印刷命令データの状態（ｓｔａｔｕｓ）を図１５のように処理中（ｐｒｏｃｅｓｓｉｎｇ）に変更する必要がある。図１５は状態が処理中に変更された印刷命令データの一例の構成図である。図１５に示した印刷命令データは、ｓｔａｔｕｓがｐｒｏｃｅｓｓｉｎｇに変更され、ｕｐｄａｔｅｄ＿ａｔが、その時点の時刻に変更されている。
【００８７】
ステップＳ３６に進み、印刷ジョブ処理部５２は命令配信部１１５に対し、図１５に示したように印刷命令データの状態を処理中に変更するため、処理中への命令状態変更の要求を行う。処理中への命令状態変更の要求を受け付けた命令配信部１１５はステップＳ３７において、印刷データの保存先ＵＲＬを指定してアクセストークンの発行をデータ管理部１１２に要求する。
【００８８】
アクセストークンは一時的に利用可能であり、保存先ＵＲＬの印刷データにアクセスするために必要となる。なお、アクセストークンは保存先ＵＲＬの印刷データに対して有効であり、一定時間経過したら無効となる。データ管理部１１２は発行したアクセストークンを命令配信部１１５に返す。
【００８９】
ステップＳ３８に進み、命令配信部１１５は状態が処理中に変更された図１５に示したような印刷命令データにアクセストークンを含めた図１６のような印刷命令データを印刷ジョブ処理部５２に返す。図１６はアクセストークンを含む印刷命令データの一例の構成図である。図１６の印刷命令データにはフィールドにアクセストークン（ａｃｃｅｓｓＴｏｋｅｎ）が追加されている。
【００９０】
ステップＳ３９に進み、印刷ジョブ処理部５２は印刷データの保存先ＵＲＬとアクセストークンとを指定してデータ管理部１１２にファイルの取得要求を行う。データ管理部１１２はアクセストークンが正当なものであれば、保存先ＵＲＬの印刷データを印刷ジョブ処理部５２に返す。
【００９１】
ステップＳ４０に進み、印刷ジョブ処理部５２は印刷データをコントローラ２１に投入して印刷を実行する。ステップＳ４１に進み、印刷ジョブ処理部５２は命令配信部１１５に対し、図１６に示したような印刷命令データの状態を完了に変更するため、完了への命令状態変更の要求を行う。命令配信部１１５は完了への命令状態変更の要求により、印刷命令データの処理が完了したと判断する。
【００９２】
完了への命令状態変更の要求を受け付けた命令配信部１１５は、図１６に示した印刷命令データのｓｔａｔｕｓを図１７のように完了（ｃｏｍｐｌｅｔｅｄ）に変更し、ｕｐｄａｔｅｄ＿ａｔを、その時点の時刻に変更する。命令配信部１１５は状態が完了に変更された図１７に示したような印刷命令データを印刷ジョブ処理部５２に返す。
【００９３】
図１８は印刷命令データの状態遷移図である。命令配信部１１５に投入された直後の印刷命令データの状態は図９のように生成済（ｃｒｅａｔｅｄ）である。その後、印刷命令データの状態はジョブ実行開始により、図１５に示す印刷命令データように処理中（ｐｒｏｃｅｓｓｉｎｇ）に変更される。
【００９４】
正常にジョブが完了すれば、印刷命令データの状態は図１７に示す印刷命令データのように完了（ｃｏｍｐｌｅｔｅｄ）に変更される。ジョブ実行中の画像形成装置２０において続行不能なエラーによる中断が発生した場合や、ユーザによるキャンセルが発生した場合、印刷ジョブ処理部５２は印刷命令データの状態を中断中（ｃａｎｃｅｌｌｅｄ）に変更する。状態が中断中の印刷命令データは、再度、処理中（ｐｒｏｃｅｓｓｉｎｇ）に移行できる。
【００９５】
また、状態が生成済や中断中の印刷命令データは削除が可能である。例えば状態が生成済や中断中の印刷命令データの削除は図１９に示すような命令選択画面１６０１のリストに削除ボタンを設けることで実行できる。図１９は印刷命令データの削除が可能な命令選択画面の一例のイメージ図である。
【００９６】
なお、印刷ジョブ処理部５２が命令配信部１１５から取得可能な印刷命令データは状態が生成済みか中断中の印刷命令データとすることで、既に処理中の印刷命令データが他の画像形成装置２０で同時に処理されることを防ぐことができる。また、印刷ジョブ処理部５２が命令配信部１１５から取得可能な印刷命令データは状態が生成済みか中断中の印刷命令データとすることで、状態が完了や削除済みの印刷命令データが再度処理されることを防ぐことができる。また、印刷命令データの状態はサービス提供システム１０側で利用ログを管理するのにも利用できる。
【００９７】
［第２の実施形態］
第１の実施形態は一時コードにより画像形成装置２０がサービス提供システム１０から印刷命令データを取り出していた。第２の実施形態はログインにより画像形成装置２０がサービス提供システム１０から印刷命令データを取り出すものである。なお、第２の実施形態は一部を除いて第１の実施形態と同様であるため、適宜説明を省略する。
【００９８】
図２０は画像形成装置のブラウザ上に表示されるＵＩの他の例の遷移図である。図２０に示したＵＩもデバイスアプリ情報１３２の画面定義に基づいて表示される。トップ画面１５０１には「一時コードで実行」ボタン１５１１と「ログインして実行」ボタン１５１２とが設けられている。ユーザにより「一時コードで実行」ボタン１５１１が押下された場合は第１の実施形態において説明した処理を行う。
【００９９】
また、ユーザにより「ログインして実行」ボタン１５１２が押下されると、ブラウザ５１はユーザ認証画面１５０４を表示する。ユーザ認証画面１５０４には、ユーザ名とパスワードとを入力する欄が設けられている。ユーザはユーザ名とパスワードとをユーザ認証画面１５０４に入力してログインボタンを押下する。
【０１００】
認証に成功すると、画像形成装置２０は命令選択画面１５０５に遷移する。命令選択画面１５０５には認証に成功したユーザのユーザＩＤと対応付けられてサービス提供システム１０に保存されている印刷命令データの一覧が表示される。命令選択画面１５０５に表示される印刷命令データの一覧には印刷命令データのｄｅｓｃｒｉｐｔｉｏｎに設定されている印刷命令の説明が、印刷命令データを特定するために表示されている。
【０１０１】
ユーザは命令選択画面１５０５の一覧からジョブ実行したい印刷命令データを選択してＯＫボタンを押下する。画像形成装置２０は印刷中画面１５０３を表示し、図２１に示す手順により印刷を実行する。
【０１０２】
図２１はユーザ認証による印刷実行の一例のシーケンス図である。ステップＳ５１においてユーザはブラウザ５１上に表示された図２０のユーザ認証画面１５０４にユーザ名とパスワードとを入力し、ＯＫボタンを押下する。
【０１０３】
ステップＳ５２に進み、ブラウザ５１は画像形成装置２０のブラウザ５１上で実行されている印刷ジョブ処理部５２に、ログインによるジョブ実行を要求する。ステップＳ５３に進み、印刷ジョブ処理部５２はサービス提供システム１０の認証管理部１０４に対してユーザ認証を要求する。認証管理部１０４はユーザ認証に成功すると、印刷ジョブ処理部５２に認証情報を返す。
【０１０４】
ステップＳ５４に進み、印刷ジョブ処理部５２は認証情報を指定し、サービス提供システム１０の命令配信部１１５に命令一覧取得を要求する。ステップＳ５５に進み、命令配信部１１５は認証情報の検証を認証管理部１０４に要求する。ここでは認証情報の検証結果がＯＫであったものとして説明する。
【０１０５】
命令配信部１１５は認証情報がＯＫであれば、ステップＳ５６に進み、認証に成功したユーザのユーザＩＤに対応付けられてサービス提供システム１０に保存されている印刷命令データの一覧を取得する。ステップＳ５７において、命令配信部１１５は取得した印刷命令データの一覧を印刷ジョブ処理部５２に返す。
【０１０６】
図２２は命令配信部から印刷ジョブ処理部に返される印刷命令データの一覧の一例の構成図である。図２２の印刷命令データの一覧は、端末装置３０からユーザが投入した印刷命令データがタイムスタンプの新しい順にソートされている。なお、印刷命令データの一覧には、状態が生成済か中断中の印刷命令データが含まれる。
【０１０７】
ステップＳ５８に進み、印刷ジョブ処理部５２は印刷命令データの一覧を図２０の命令選択画面１５０５のようにブラウザ５１に表示し、印刷命令データ一覧からユーザに印刷命令データを選択させる。
【０１０８】
ステップＳ５９においてユーザは命令選択画面１５０５の一覧からジョブ実行したい印刷命令データを選択してＯＫボタンを押下する。ステップＳ６０に進み、ブラウザ５１は選択された印刷命令データのｉｄ（命令ＩＤ）を指定して、印刷ジョブ処理部５２に命令実行を要求する。印刷ジョブ処理部５２は印刷ジョブを開始するため、印刷命令データの状態（ｓｔａｔｕｓ）を処理中（ｐｒｏｃｅｓｓｉｎｇ）に変更する必要がある。
【０１０９】
ステップＳ６１に進み、印刷ジョブ処理部５２は命令配信部１１５に対し、認証情報を指定して印刷命令データの状態を処理中に変更する命令状態変更の要求を行う。認証情報が指定された場合、命令配信部１１５は認証情報によるアクセスが可能であるため、アクセストークンの発行を行わない。したがって、命令配信部１１５から印刷ジョブ処理部５２に返される印刷命令データは図１５と同様な形式となる。
【０１１０】
ステップＳ６２に進み、印刷ジョブ処理部５２は印刷データの保存先ＵＲＬと認証情報とを指定してデータ管理部１１２にファイルの取得要求を行う。そして、データ管理部１１２は認証情報が正当なものであれば、保存先ＵＲＬの印刷データを印刷ジョブ処理部５２に返す。
【０１１１】
ステップＳ６３に進み、印刷ジョブ処理部５２は印刷データをコントローラ２１に投入して印刷を実行する。ステップＳ６４に進み、印刷ジョブ処理部５２は命令配信部１１５に対し、印刷命令データの状態を完了に変更するために、完了への命令状態変更の要求を行う。命令配信部１１５は完了への命令状態変更の要求により、印刷命令データの処理が完了したと判断する。
【０１１２】
完了への命令状態変更の要求を受け付けた命令配信部１１５は印刷命令データのｓｔａｔｕｓを完了（ｃｏｍｐｌｅｔｅｄ）に変更し、ｕｐｄａｔｅｄ＿ａｔを、その時点の時刻に変更する。命令配信部１１５は状態が完了に変更された印刷命令データを印刷ジョブ処理部５２に返す。
【０１１３】
＜まとめ＞
以上、第１及び第２の実施形態に係る情報処理システム１では、コンポーネントの連携によってドキュメントワークフローを構成可能なサービス提供システム１０に、画像形成装置２０への印刷命令を発行する印刷命令コンポーネント１２４を追加している。
【０１１４】
サービス提供システム１０のＡＰＩを通じて投入された印刷命令データはサービス提供システム１０内に保存される。画像形成装置２０はサービス提供システム１０から印刷命令データを取得し、その印刷命令データに従って出力対象の印刷データを印刷する。
【０１１５】
したがって、第１及び第２の実施形態に係る情報処理システム１では、画像形成装置２０に対して出力可能なサービスを、画像形成装置２０側の開発を行うことなく実現可能なサービス提供システム１０のプラットフォームを提供できる。
【０１１６】
第１及び第２の実施形態に係る情報処理システム１によれば、画像形成装置２０と連携して処理を行うサービスの開発を支援するサービス提供システム１０を提供できる。
【０１１７】
［第３の実施形態］
第３の実施形態はサービス提供システム１０に用意したサービス提供システムＡＰＩ３０１を用いてクラウドプリントのフローを行うものである。なお、第３の実施形態は一部を除いて第１及び第２の実施形態と同様であるため、適宜説明を省略する。
【０１１８】
＜ソフトウェア構成＞
第３の実施形態に係る情報処理システム１は例えば図２３に示される処理ブロックにより実現することができる。図２３は、第３の実施形態に係る情報処理システムの一例の処理ブロック図である。
【０１１９】
画像形成装置２０はブラウザ５１が搭載されている。また、画像形成装置２０には機器ＳＤＫ  ＡＰＩ３３１が用意されている。ブラウザ５１は機器ＳＤＫ  ＡＰＩ３３１を介して、スキャン実行部３３２、プリント実行部３３３、イベント検知部３３４及び機器情報蓄積部３３５を利用できる。また、ブラウザ５１はサービス提供システム１０からＷｅｂコンテンツを取得して表示できる。
【０１２０】
サービス提供システム１０は、ネットワークＮ１を介してクラウドサービス等のサービスを提供するシステム環境である。サービス提供システム１０は、ファイルサービス部１０２、入出力サービス処理部１０３、認証管理部１０４、デバイスサービス部１０５、印刷データファイル記憶部１０６、デバイスアプリ情報記憶部１０７及びサービス提供システムＡＰＩ３０１を有する。
【０１２１】
サービス提供システムＡＰＩ３０１は、ジョブＡＰＩ３０２及び認証ＡＰＩ３０３を有する。端末装置３０の外部アプリケーション３１は、ジョブＡＰＩ３０２を介して入出力サービス処理部１０３を利用できる。また、外部アプリケーション３１は認証ＡＰＩ３０３を介して認証管理部１０４を利用できる。
【０１２２】
図２３の入出力サービス処理部１０３は、ファイル変換部３１１及びコマンド処理部３１２を有する。ファイル変換部３１１はファイル変換に関する処理を行う。コマンド処理部３１２はコマンドに関する処理を行う。デバイスサービス部１０５は、命令配信部１１５、アプリ配信部１１６及び利用履歴部３２１を有する。利用履歴部３２１は利用履歴情報の登録や取得に関する処理を行う。デバイスアプリ情報記憶部１０７はデバイスアプリ情報１３２を記憶する。デバイスアプリ情報１３２はＨＴＭＬやＣＳＳなどで記述された画面レイアウトの定義と、サービスを実現するための一例の処理を示す処理内容と、が記述されている。デバイスアプリ情報１３２の処理内容にはジョブ処理部、機器情報送信部及び機器情報管理部が含まれている。
【０１２３】
＜処理の詳細＞
次に、第３の実施形態に係る情報処理システム１の処理の詳細について説明する。
【０１２４】
《プリントジョブ登録》
図２４はプリントジョブ登録処理の一例のシーケンス図である。ユーザはステップＳ１０１において、端末装置３０の外部アプリケーション３１上でユーザＩＤ及びパスワードを指定し、サインインを要求する。
【０１２５】
ステップＳ１０２に進み、外部アプリケーション３１はサービス提供システム１０に用意されたサービス提供システムＡＰＩ３０１の認証ＡＰＩ３０３に、ユーザＩＤ及びパスワードを指定し、サインインを要求する。認証ＡＰＩ３０３は認証管理部１０４に認証を要求する。認証が成功すれば、認証管理部１０４は認証トークンを発行し、認証ＡＰＩ３０３を介して外部アプリケーション３１に返す。
【０１２６】
ユーザはステップＳ１０４において、外部アプリケーション３１上でプリントジョブの登録を要求する。ステップＳ１０５に進み、外部アプリケーション３１はサービス提供システム１０に用意されたサービス提供システムＡＰＩ３０１のジョブＡＰＩ３０２に、図２５のファイル登録リクエストによりファイル登録を要求する。図２５はファイル登録リクエスト及びファイル登録レスポンスの一例を示す構成図である。
【０１２７】
ステップＳ１０６において、ジョブＡＰＩ３０２は印刷対象のファイルをデータ管理部１１２に渡して保存を指示する。データ管理部１１２は印刷対象のファイルの保存場所を示す保存先ＵＲＬを発行してジョブＡＰＩ３０２に返す。また、ステップＳ１０７においてジョブＡＰＩ３０２は認証トークンの検証を認証管理部１０４に依頼する。認証管理部１０４は検証を依頼された認証トークンの検証を行い、検証結果が正しければ一時コードをジョブＡＰＩ３０２に返す。
【０１２８】
ステップＳ１０８に進み、外部アプリケーション３１はサービス提供システム１０に用意されたサービス提供システムＡＰＩ３０１のジョブＡＰＩ３０２に、図２６のコマンド登録リクエストによりコマンド登録を要求する。図２６はコマンド登録リクエスト及びコマンド登録レスポンスの一例を示す構成図である。
【０１２９】
ステップＳ１０９においてジョブＡＰＩ３０２は一時コードを指定し、入出力サービス処理部１０３のコマンド処理部３１２にコマンド登録を要求する。コマンド処理部３１２の処理手順については後述する。
【０１３０】
ステップＳ１１０に進み、コマンド処理部３１２は変換あり又は変換なしのファイル処理依頼をデータ管理部１１２に対して行う。変換ありのファイル処理依頼の場合、データ管理部１１２はファイル変換部３１１にファイル変換を行わせる。ファイル変換部３１１では、ファイル変換処理が必要な場合、一時コードを返すレスポンスを早くするために、非同期で処理を行う。
【０１３１】
コマンド処理部３１２はステップＳ１１２において、一時コードを指定してコマンド登録を命令配信部１１５に要求する。命令配信部１１５は一時コードと対応付けてコマンドを保存する。ステップＳ１１３に進み、命令配信部１１５はジョブ登録完了の履歴登録を利用履歴部３２１に要求する。利用履歴部３２１はジョブ登録完了の利用履歴情報を登録しておく。
【０１３２】
また、ステップＳ１１４に進み、コマンド処理部３１２はコマンドと対応付けて保存した一時コードを含む図２６のようなコマンド登録レスポンスをジョブＡＰＩ３０２から外部アプリケーション３１に返す。外部アプリケーション３１は図２６のようなコマンド登録レスポンスを返されると一時コードを表示する。
【０１３３】
したがって、端末装置３０を操作しているユーザは登録したプリントジョブと対応付けられた一時コードを知ることができる。なお、図２４のシーケンス図ではユーザが外部アプリケーション３１を操作する例を示したが、ＰＣ（ドライバ含む）やメール、他システムを操作するものであってもよい。
【０１３４】
図３０はコマンド処理部の処理手順の一例のフローチャートである。コマンド登録の要求を受け付けたコマンド処理部３１２は図３０に示す手順で処理を行う。ステップＳ２０１に進み、コマンド処理部３１２はファイル登録リクエストの「Ｃｏｎｔｅｎｔ−Ｔｙｐｅ」がサポート対象か否かを判定する。
【０１３５】
サポート対象でなければ、コマンド処理部３１２はステップＳ２０５に進み、エラーレスポンスをジョブＡＰＩ３０２に返す。サポート対象であれば、コマンド処理部３１２はステップＳ２０２に進み、ファイル登録リクエストの「Ｃｏｎｔｅｎｔ−Ｔｙｐｅ」がＰＤＬか否かを判定する。
【０１３６】
図３１はファイル登録リクエストの「Ｃｏｎｔｅｎｔ−Ｔｙｐｅ」がＪＰＥＧの例とＰＤＬの例とを表した説明図である。ＰＤＬであれば、コマンド処理部３１２はステップＳ２０３に進み、変換なしのファイル処理依頼をデータ管理部１１２に対して行う。ＰＤＬでなければ、コマンド処理部３１２はステップＳ２０４に進み、変換ありのファイル処理依頼をデータ管理部１１２に対して行う。
【０１３７】
《プリントジョブ実行》
図２７はプリントジョブ実行処理の一例のシーケンス図である。ステップＳ１２１においてユーザは、画像形成装置２０のブラウザ５１に一時コードを入力し、一時コードによるプリントジョブ実行を指示する。
【０１３８】
ステップＳ１２２に進み、ブラウザ５１は画像形成装置２０のブラウザ５１上で実行されているジョブ処理部３４１に一時コードによるジョブ実行を要求する。ステップＳ１２３においてジョブ処理部３４１は一時コードを指定して命令取得を命令配信部１１５に要求する。ステップＳ１２４に進み、命令配信部１１５は一時コードの検証を認証管理部１０４に依頼する。認証管理部１０４は検証を依頼された一時コードが正しければ、命令配信部１１５に許可を返す。
【０１３９】
許可を返された命令配信部１１５は一時コードと対応付けられているコマンドをジョブ処理部３４１に返す。ステップＳ１２５に進み、ジョブ処理部３４１は命令配信部１１５に処理中を指定して命令状態変更を要求する。処理中への命令状態変更の要求を受け付けた命令配信部１１５はステップＳ１２６において、印刷データの保存先ＵＲＬを指定してアクセストークンの発行をデータ管理部１１２に要求する。データ管理部１１２は発行したアクセストークンを命令配信部１１５に返す。ステップＳ１２７に進み、命令配信部１１５は処理中の履歴登録を利用履歴部３２１に要求する。利用履歴部３２１はジョブ登録完了から処理中に利用履歴情報を変更する。
【０１４０】
ステップＳ１２８に進み、ジョブ処理部３４１は印刷データの保存先とアクセストークンとを指定してデータ管理部１１２にファイルの取得要求を行う。データ管理部１１２はアクセストークンが正当なものであれば、保存先の印刷データのファイルをジョブ処理部３４１に返す。
【０１４１】
ステップＳ１２９に進み、ジョブ処理部３４１は機器ＳＤＫ  ＡＰＩ３３１を利用して印刷データのファイルの印刷を実行する。ステップＳ１３０に進み、ジョブ処理部３４１は命令配信部１１５にジョブ完了を指定して命令状態変更を要求する。ステップＳ１３１に進み、命令配信部１１５はジョブ完了の履歴登録を利用履歴部３２１に要求する。そして、利用履歴部３２１は処理中からジョブ完了に利用履歴情報を変更する。
【０１４２】
《コマンド状態取得》
図２８はコマンド状態取得処理の一例のシーケンス図である。ステップＳ１５１において外部アプリケーション３１はサービス提供システム１０に用意されたサービス提供システムＡＰＩ３０１の認証ＡＰＩ３０３に認証を要求する。ステップＳ１５２に進み、認証ＡＰＩ３０３は認証管理部１０４に認証を要求する。認証が成功すれば認証管理部１０４は認証トークンを発行し、認証ＡＰＩ３０３を介して外部アプリケーション３１に返す。
【０１４３】
ステップＳ１５３に進み、外部アプリケーション３１は例えば図２９（Ａ）に示すようなコマンド状態取得リクエストにより、ジョブＡＰＩ３０２にコマンド状態の取得を要求する。図２９はコマンド状態取得リクエスト及びコマンド状態取得レスポンスの一例を示す構成図である。
【０１４４】
ステップＳ１５４に進み、ジョブＡＰＩ３０２はコマンドＩＤを指定してコマンド状態を利用履歴部３２１から取得する。また、ステップＳ１５５に進み、ジョブＡＰＩ３０２は認証トークンの検証を認証管理部１０４に依頼する。認証管理部１０４は検証を依頼された認証トークンの検証を行い、検証結果をジョブＡＰＩ３０２に返す。認証トークンの検証結果が正しければ、ジョブＡＰＩ３０２は利用履歴部３２１から取得したコマンド状態を図２９（Ｂ）に示すようなコマンド状態取得レスポンスにより外部アプリケーション３１に返す。
【０１４５】
以上、第３の実施形態に係る情報処理システム１は、サービス提供システム１０に画像形成装置２０を操作するサービス提供システムＡＰＩ３０１を用意する。サービス提供システム１０は外部ストレージシステムとの連携を行い、また、画像形成装置２０の操作パネル２２に表示するコンテンツを持つことができる。
【０１４６】
したがって、第３の実施形態に係る情報処理システム１によれば、外部ストレージシステムとの連携の柔軟性や画像形成装置２０を利用する外部アプリケーション３１の開発効率を高めることができる。なお、サービス提供システムＡＰＩ３０１には、ジョブのコマンド登録、状態取得、印刷対象ファイルのアップロード、印刷対象ファイルのダウンロードなどのＡＰＩを用意する。
【０１４７】
画像形成装置２０に搭載されるアプリケーションの開発ではないため、第３の実施形態に係る情報処理システム１では、画像形成装置２０の内部の仕様や振る舞いを知らずとも画像形成装置２０を利用する外部アプリケーション３１を開発できる。また、サービス提供システムＡＰＩ３０１をＨＴＭＬ＋ＪａｖａＳｃｒｉｐｔで操作できる程度にまで簡単にすることで、第３の実施形態に係る情報処理システム１は画像形成装置２０を操作するＷｅｂアプリの開発が容易となる。さらに、第３の実施形態に係る情報処理システム１ではＰＤＬダイレクト入力による印刷が可能となる。
【０１４８】
［第４の実施形態］
第１〜第３の実施形態はユーザによる一時コードの入力やログインを行う画像形成装置２０により、印刷を行う画像形成装置２０を特定していた。第４の実施形態は、印刷対象のファイルのファイル情報（例えばファイル名）に設定したキーワードにより、印刷を行う画像形成装置２０を特定する。なお、第４の実施形態は一部を除いて第１〜第３の実施形態と同様であり、適宜説明を省略する。
【０１４９】
＜システム構成＞
図３２は、第４の実施形態に係る情報処理システムの一例の構成図である。図３２に示される情報処理システム１は図１の情報処理システム１の１台の画像形成装置２０を２台の画像形成装置２０Ａ及び２０Ｂに置き換えたものである。なお、画像形成装置２０Ａ及び２０Ｂの何れでもよい場合は単に画像形成装置２０と呼ぶ。また、図３２の情報処理システム１には外部ストレージシステムが接続されていてもよい。
【０１５０】
＜ソフトウェア構成＞
第４の実施形態に係る情報処理システム１は例えば図３３に示される処理ブロックにより実現することができる。図３３は、第４の実施形態に係る情報処理システムの一例の処理ブロック図である。
【０１５１】
図３３に示される情報処理システム１は図２３の情報処理システム１に紐付け情報記憶部４１１及びステータスチェック部４２１が追加された構成である。紐付け情報記憶部４１１は紐付け情報を記憶している。紐付け情報は、キーワードと画像形成装置２０とを紐付ける情報である。なお、紐付け情報の詳細は後述する。また、ステータスチェック部４２１は印刷できる状態であるかを画像形成装置２０に問い合わせるステータスチェック要求を行う。
【０１５２】
＜処理の詳細＞
次に、第４の実施形態に係る情報処理システム１の処理の詳細について説明する。
【０１５３】
《印刷ジョブの登録及び実行》
図３４は印刷ジョブの登録及び実行処理の一例のシーケンス図である。ステップＳ３０１においてユーザは端末装置３０の外部アプリケーション３１上で印刷対象のファイルを指定して印刷ジョブの登録を要求する。なお、ユーザは印刷対象のファイルのファイル名として、印刷したい画像形成装置２０と紐付けられているキーワードを設定しておく。
【０１５４】
図３５は登録される印刷ジョブの一例の構成図である。図３５の印刷ジョブは、ファイル情報、印刷設定及び印刷データを有する。ファイル情報はファイル名などのファイルとしての情報である。印刷設定は、印刷するために必要となる印刷設定の情報である。印刷データは実際に印刷に使うデータである。
【０１５５】
ステップＳ３０２において外部アプリケーション３１はステップＳ３０１で登録を要求された印刷ジョブの印刷対象のファイルのファイル名に、特定のキーワードが含まれているかのチェック（キーワードチェック）を行う。外部アプリケーション３１は例えば図３６に示すキーワード表をキーワードチェックに利用する。図３６はキーワード表の一例の構成図である。
【０１５６】
印刷対象のファイルのファイル名に、特定のキーワードが含まれていれば、外部アプリケーション３１はステップＳ３０３に進み、そのキーワードを指定して画像形成装置２０の情報取得依頼をサービス提供システム１０に対して行う。キーワードを指定した画像形成装置２０の情報取得依頼は、例えばサービス提供システム１０に用意されたサービス提供システムＡＰＩ３０１のジョブＡＰＩ３０２を利用して行う。
【０１５７】
ステップＳ３０４に進み、ジョブＡＰＩ３０２は画像形成装置２０の情報取得依頼に指定されていたキーワードを入出力サービス処理部１０３に渡して、そのキーワードに紐付く画像形成装置２０の情報（例えば画像形成装置ＩＤなど）を要求する。入出力サービス処理部１０３の例えばコマンド処理部３１２は図３７の紐付け情報をチェックすることにより、キーワードに紐付く画像形成装置２０の情報を取得する。
【０１５８】
図３７は紐付け情報の一例の構成図である。図３７の紐付け情報は、画像形成装置２０の情報と、キーワードと、画像形成装置２０の位置情報と、代替機器の情報と、が紐付けられている。代替機器の情報は、キーワードに紐付く画像形成装置２０が印刷できない状態であるとき、代わりに印刷を行う候補となる画像形成装置２０の情報である。
【０１５９】
例えば図３７の例では「Ａｂｃｄｅｆｇ１００２」の画像形成装置２０が印刷できない状態であるとき、代わりに「Ａｂｃｄｅｆｇ１００１」の画像形成装置２０が印刷を行う候補となる。また、図３７の例では「Ａｂｃｄｅｆｇ１００１」の画像形成装置２０が印刷できない状態であるとき、代わりに「Ａｂｃｄｅｆｇ１０００」の画像形成装置２０が印刷を行う候補となる。
【０１６０】
なお、図３７の例では「Ａｂｃｄｅｆｇ１０００」の画像形成装置２０の代替機器が設定されていない。本実施形態では「Ａｂｃｄｅｆｇ１０００」の画像形成装置２０のように代替機器が設定されていない画像形成装置２０が印刷できない状態であるとき、前述した一時コードによる印刷へ変更される。
【０１６１】
また、図３７の紐付け情報に含まれる位置情報は画像形成装置２０の登録時に、その画像形成装置２０の近くにある他の画像形成装置２０を代替機器の候補としてユーザに提示するためなどに利用される。
【０１６２】
ステップＳ３０５に進み、サービス提供システム１０はキーワードに紐付く画像形成装置２０の情報を端末装置３０の外部アプリケーション３１に返す。ステップＳ３０５に続いてステップＳ３０６に進み、外部アプリケーション３１はステップＳ３０５で返された画像形成装置２０の情報を、印刷を行う候補の画像形成装置２０の情報として印刷ジョブに付与する。ステップＳ３０７に進み、外部アプリケーション３１はサービス提供システム１０に印刷ジョブ実行を要求する。
【０１６３】
ステップＳ３０８に進み、サービス提供システム１０のステータスチェック部４２１は印刷を行う候補の画像形成装置２０に対して、ステータスチェック要求を行う。ステータスチェック要求を受けた画像形成装置２０は印刷できる状態であるか否かをチェックするステータスチェックを行い、その結果を応答する。ここでは、印刷できる状態であることを示す応答を受信したものとする。サービス提供システム１０は印刷できる状態であることを確認できたため、ステップＳ３０９に進み、印刷を行う候補の画像形成装置２０に対して印刷ジョブ実行を要求する。ステップＳ３１０に進み、画像形成装置２０は要求された印刷ジョブに基づき、印刷データのファイルの印刷を実行する。
【０１６４】
なお、図３４のステップＳ３０２において、外部アプリケーション３１は、キーワードチェックの結果、印刷対象のファイルのファイル名に、特定のキーワードが含まれていなければ、前述した一時コードによる印刷へ変更する。
【０１６５】
図３４のステップＳ３０８〜Ｓ３０９に示した出力先確定処理は、例えば図３８に示すように行われる。図３８は出力先確定処理の一例のフローチャートである。ステップＳ４０１において、サービス提供システム１０は印刷を行う候補の画像形成装置２０に対してステータスチェック要求を行う。そして、ステップＳ４０２においてサービス提供システム１０はステータスチェックの結果の応答を待つ。
【０１６６】
ステータスチェックの結果の応答があると、サービス提供システム１０はステップＳ４０３に進み、ステータスチェックの結果の応答から印刷を行う候補の画像形成装置２０が印刷できる状態であるか否かを判定する。候補の画像形成装置２０が印刷できる状態であれば、サービス提供システム１０はステップＳ４０４に進み、印刷を行う候補の画像形成装置２０に対して印刷ジョブ実行を要求する。候補の画像形成装置２０が印刷できる状態でなければ、サービス提供システム１０はステップＳ４０５に進み、後述の出力先変更処理を行ったあと、ステップＳ４０１に戻り、処理を続ける。
【０１６７】
図３８の出力先確定処理によれば、サービス提供システム１０は印刷できる状態にある印刷を行う候補の画像形成装置に印刷ジョブ実行を要求できる。
【０１６８】
図３９は出力先変更処理の一例のフローチャートである。サービス提供システム１０はステップＳ４１１において図３７の紐付け情報を参照し、代替機器が設定されているか否かを判定する。代替機器が設定されていれば、サービス提供システム１０はステップＳ４１２に進み、その代替機器を出力先（印刷を行う候補の画像形成装置２０）に変更して図３８の出力先確定処理に戻る。なお、代替機器が設定されていなければ、サービス提供システム１０はステップＳ４１３に進み、前述した一時コードによる印刷に移行する。
【０１６９】
図４０は印刷ジョブの登録及び実行処理の他の例のシーケンス図である。図４０は図３４に示したシーケンス図において、印刷できる状態でないことを示す応答を受信した場合のシーケンス図を示している。
【０１７０】
ステップＳ３２１〜Ｓ３２７の処理は図３４に示したステップＳ３０１〜Ｓ３０７の処理と同様である。ステップＳ３２８に進み、サービス提供システム１０は印刷を行う候補の画像形成装置２０Ａに対して、ステータスチェック要求を行う。ステータスチェック要求を受けた画像形成装置２０Ａはステータスチェックを行い、その結果を応答する。ここでは印刷できる状態でないことを示す応答を受信したものとする。
【０１７１】
サービス提供システム１０は印刷できる状態でないことを確認したため、図３９に示した出力先変更処理を行い、画像形成装置２０Ａの代替機器として設定されている画像形成装置２０Ｂを出力先に変更する。ステップＳ３２９に進み、サービス提供システム１０は端末装置３０の外部アプリケーション３１に、画像形成装置２０Ｂへの出力先変更依頼を行う。外部アプリケーション３１は必要があればユーザに出力先変更の確認を行う。
【０１７２】
ステップＳ３３０に進み、外部アプリケーション３１は変更された出力先である画像形成装置２０Ｂの情報を、印刷を行う候補として印刷ジョブに付与する。ステップＳ３３０に進み、外部アプリケーション３１はサービス提供システム１０に印刷ジョブ実行を要求する。ステップＳ３３１に進み、サービス提供システム１０は印刷を行う候補の画像形成装置２０Ｂに対して、ステータスチェック要求を行う。ステータスチェック要求を受けた画像形成装置２０Ｂは印刷できる状態であるか否かをチェックするステータスチェックを行い、その結果を応答する。ここでは、印刷できる状態であることを示す応答を受信したものとする。
【０１７３】
サービス提供システム１０はステップＳ３３２に進み、印刷を行う候補の画像形成装置２０Ｂに対して印刷ジョブ実行を要求する。ステップＳ３３３に進み、画像形成装置２０Ｂは要求された印刷ジョブに基づき、印刷データのファイルの印刷を実行する。
【０１７４】
以上、第４の実施形態に係る情報処理システム１によれば、ユーザが印刷対象のファイルのファイル情報に、画像形成装置２０と紐付けられた特定のキーワードを付与しておくことで、サービス提供システム１０が印刷を行う画像形成装置２０を特定できる。
【０１７５】
また、第４の実施形態に係る情報処理システム１によれば、特定のキーワードにより特定された画像形成装置２０に対し、印刷できる状態であるかを確認できる。印刷できる状態でなければ、第４の実施形態に係る情報処理システム１は代替機器への変更や、前述した一時コードによる印刷を行うことができる。
【０１７６】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。コンポーネント群１１４は複数の処理手段の一例である。
【０１７７】
フロー制御部１１３はフロー制御手段の一例である。命令配信部１１５は印刷命令配信手段の一例である。印刷命令コンポーネント１２４は印刷命令手段の一例である。認証管理部１０４は認証管理手段の一例である。印刷変換コンポーネント１２１は印刷変換手段の一例である。データ管理部１１２はデータ管理手段の一例である。
【符号の説明】
【０１７８】
１    情報処理システム
１０    サービス提供システム
２０、２０Ａ、２０Ｂ    画像形成装置
３０    端末装置
３１    外部アプリケーション
５１    ブラウザ
５２    印刷ジョブ処理部
１０１    ドキュメントサービス部
１０２    ファイルサービス部
１０３    入出力サービス処理部
１０４    認証管理部
１０５    デバイスサービス部
１０６    印刷データファイル記憶部
１０７    デバイスアプリ情報記憶部
１１１    印刷変換部
１１２    データ管理部
１１３    フロー制御部
１１４    コンポーネント群
１１５    命令配信部
１１６    アプリ配信部
１２１    印刷変換コンポーネント
１２２    認証コンポーネント
１２３    ファイル入力コンポーネント
１２４    印刷命令コンポーネント
１３１    印刷データファイル
１３２    デバイスアプリ情報
３０１    サービス提供システムＡＰＩ
３０２    ジョブＡＰＩ
３０３    認証ＡＰＩ
３１１    ファイル変換部
３１２    コマンド処理部
３２１    利用履歴部
４１１    紐付け情報記憶部
４２１    ステータスチェック部
Ｎ１、Ｎ２    ネットワーク
【先行技術文献】
【特許文献】
【０１７９】
【特許文献１】特開２０１３−２４２８４８号公報
【図１】
0006801265.tif 000002
【図２】
0006801265.tif 000003
【図３】
0006801265.tif 000004
【図４】
0006801265.tif 000005
【図５】
0006801265.tif 000006
【図６】
0006801265.tif 000007
【図７】
0006801265.tif 000008
【図８】
0006801265.tif 000009
【図９】
0006801265.tif 000010
【図１０】
0006801265.tif 000011
【図１１】
0006801265.tif 000012
【図１２】
0006801265.tif 000013
【図１３】
0006801265.tif 000014
【図１４】
0006801265.tif 000015
【図１５】
0006801265.tif 000016
【図１６】
0006801265.tif 000017
【図１７】
0006801265.tif 000018
【図１８】
0006801265.tif 000019
【図１９】
0006801265.tif 000020
【図２０】
0006801265.tif 000021
【図２１】
0006801265.tif 000022
【図２２】
0006801265.tif 000023
【図２３】
0006801265.tif 000024
【図２４】
0006801265.tif 000025
【図２５】
0006801265.tif 000026
【図２６】
0006801265.tif 000027
【図２７】
0006801265.tif 000028
【図２８】
0006801265.tif 000029
【図２９】
0006801265.tif 000030
【図３０】
0006801265.tif 000031
【図３１】
0006801265.tif 000032
【図３２】
0006801265.tif 000033
【図３３】
0006801265.tif 000034
【図３４】
0006801265.tif 000035
【図３５】
0006801265.tif 000036
【図３６】
0006801265.tif 000037
【図３７】
0006801265.tif 000038
【図３８】
0006801265.tif 000039
【図３９】
0006801265.tif 000040
【図４０】
0006801265.tif 000041