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