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