(57)【要約】【課題】ユーザ環境で実行されるワークフローの登録をサービス提供環境側で受け付けることができる電子機器を提供すること。【解決手段】同一の第１のネットワークに接続された第１のサーバ装置と連携して一連となる複数の処理を含むワークフローを実行する電子機器であって、第１のネットワークと異なる第２のネットワークに接続された第２のサーバ装置からワークフローに関するワークフロー情報を取得するワークフロー取得手段と、ワークフロー情報に基づいて、少なくとも第１のサーバ装置における処理の実行を制御することで第１のサーバ装置と連携するワークフローの実行を制御するワークフロー制御手段と、を有することにより上記課題を解決する。【選択図】図４
2019159421.tif 000002
【特許請求の範囲】
【請求項１】
同一の第１のネットワークに接続された第１のサーバ装置と連携して一連となる複数の処理を含むワークフローを実行する電子機器であって、
前記第１のネットワークと異なる第２のネットワークに接続された第２のサーバ装置から前記ワークフローに関するワークフロー情報を取得するワークフロー取得手段と、
前記ワークフロー情報に基づいて、少なくとも前記第１のサーバ装置における処理の実行を制御することで前記第１のサーバ装置と連携する前記ワークフローの実行を制御するワークフロー制御手段と、
を有する電子機器。
【請求項２】
前記ワークフロー情報に基づいて、前記電子機器における処理、前記第１のサーバ装置における処理、又は、前記第２のサーバ装置における処理、を前記ワークフローの一部の処理として実行する複数の処理手段、を更に有し、
前記ワークフロー制御手段は、前記ワークフロー情報に従って前記処理手段を呼び出して前記ワークフローの実行を制御すること
を特徴とする請求項１記載の電子機器。
【請求項３】
前記第２のサーバ装置から取得した前記ワークフロー情報を保存するワークフロー保存手段を更に有し、
前記ワークフロー取得手段は、前記ワークフロー保存手段に前記ワークフロー情報が保存されていれば、前記ワークフロー保存手段からワークフロー情報を取得し、前記ワークフロー保存手段に前記ワークフロー情報が保存されていなければ、前記第２のサーバ装置から前記ワークフロー情報を取得すること
を特徴とする請求項１又は２記載の電子機器。
【請求項４】
前記ワークフロー取得手段は、前記ワークフロー保存手段に保存されている前記ワークフロー情報の更新有無を前記第２のサーバ装置に問い合わせ、前記ワークフロー保存手段に保存されている前記ワークフロー情報が前記第２のサーバ装置において更新されていれば前記第２のサーバ装置から前記ワークフロー情報を取得し直すこと
を特徴とする請求項３記載の電子機器。
【請求項５】
前記ワークフロー取得手段は、前記電子機器に搭載されたアプリケーションから指定されたバージョンの前記ワークフロー情報よりも古いバージョンの前記ワークフロー情報が前記ワークフロー保存手段に保存されていれば、前記第２のサーバ装置から前記ワークフロー情報を取得し直すこと
を特徴とする請求項３記載の電子機器。
【請求項６】
前記ワークフロー取得手段は、前記電子機器の起動時、前記電子機器に搭載されたアプリケーションの起動時、前記電子機器の省エネモードからの復帰時、又は、前記電子機器の操作部に対するユーザ操作の開始時に、前記第２のサーバ装置から前記ワークフロー情報を取得し直すこと
を特徴とする請求項１乃至５何れか一項記載の電子機器。
【請求項７】
前記ワークフロー保存手段は、前記ワークフロー情報と、前記ワークフロー情報の取得元の前記第２のサーバ装置の情報と、を対応付けて保存し、
前記ワークフロー取得手段は、前記第２のネットワークに接続された複数の前記第２のサーバ装置のうち、前記電子機器に搭載されたアプリケーションから指定された前記第２のサーバ装置の前記ワークフロー情報を取得すること、
を特徴とする請求項３記載の電子機器。
【請求項８】
同一の第１のネットワークに接続された第１のサーバ装置と連携して一連となる複数の処理を含むワークフローを実行する電子機器を、
前記第１のネットワークと異なる第２のネットワークに接続された第２のサーバ装置から前記ワークフローに関するワークフロー情報を取得するワークフロー取得手段、
前記ワークフロー情報に基づいて、少なくとも前記第１のサーバ装置における処理の実行を制御することで前記第１のサーバ装置と連携する前記ワークフローの実行を制御するワークフロー制御手段、
として機能させるためのプログラム。
【請求項９】
同一の第１のネットワークに接続された第１のサーバ装置と連携して一連となる複数の処理を含むワークフローを実行する電子機器におけるワークフロー実行制御方法であって、
前記第１のネットワークと異なる第２のネットワークに接続された第２のサーバ装置から前記ワークフローに関するワークフロー情報を取得するステップと、
前記ワークフロー情報に基づいて、少なくとも前記第１のサーバ装置における処理の実行を制御することで前記第１のサーバ装置と連携する前記ワークフローの実行を制御するステップと、
を有するワークフロー実行制御方法。
【請求項１０】
第１のネットワークに接続された第１のサーバ装置と、前記第１のサーバ装置と同一の前記第１のネットワークに接続され、前記第１のサーバ装置と連携して一連となる複数の処理を含むワークフローを実行する１台以上の電子機器と、前記第１のネットワークと異なる第２のネットワークに接続された第２のサーバ装置と、を有する情報処理システムであって、
前記電子機器は、
前記第１のネットワークと異なる第２のネットワークに接続された第２のサーバ装置から前記ワークフローに関するワークフロー情報を取得するワークフロー取得手段と、
前記ワークフロー情報に基づいて、少なくとも前記第１のサーバ装置における処理の実行を制御することで前記第１のサーバ装置と連携する前記ワークフローの実行を制御するワークフロー制御手段と、
を有する情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、プログラム、ワークフロー実行制御方法及び情報処理システムに関する。
【背景技術】
【０００２】
例えば複数の処理の手順を予め定義したワークフローを、スキャナ等により取り込んだ画像データに対して実行する複合機は従来から知られている。また、複合機が取り込んだ画像データを受信し、その画像データに対してワークフローを実行するサーバも従来から知られている。このような複合機とサーバとが連携してワークフローを実行する情報処理システムも従来から知られている（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
近年、例えばオンプレミスなどのユーザ環境の情報処理システムにワークフローを登録して実行することや、ユーザ環境とは異なるインターネットなどのサービス提供環境の情報処理システムにワークフローを登録して実行することが行われるようになった。従来、サービス提供環境の情報処理システムに登録されているワークフローを使って、ユーザ環境の情報処理システムとサービス提供環境の情報処理システムとを連携させる制御は、ファイアウォール等のアクセス制限によりサービス提供環境側で行えない場合があった。
【０００４】
一方、ユーザ環境の情報処理システムに登録されているワークフローを使えば、ユーザ環境の情報処理システムとサービス提供環境の情報処理システムとを連携させる制御を行うことができる。しかし、ワークフローの登録を、別のユーザ環境（例えば別の事業所のネットワーク環境）やインターネットなどのサービス提供環境から行えないという問題があった。
【０００５】
本発明の一実施形態は、ユーザ環境で実行されるワークフローの登録をサービス提供環境側で受け付けることができる電子機器を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一実施形態は、同一の第１のネットワークに接続された第１のサーバ装置と連携して一連となる複数の処理を含むワークフローを実行する電子機器であって、前記第１のネットワークと異なる第２のネットワークに接続された第２のサーバ装置から前記ワークフローに関するワークフロー情報を取得するワークフロー取得手段と、前記ワークフロー情報に基づいて、少なくとも前記第１のサーバ装置における処理の実行を制御することで前記第１のサーバ装置と連携する前記ワークフローの実行を制御するワークフロー制御手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明の一実施形態によれば、ユーザ環境で実行されるワークフローの登録をサービス提供環境側で受け付けることができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る情報処理システムの一例の構成図である。
【図２】本実施形態に係るコンピュータの一例のハードウェア構成図である。
【図３】本実施形態に係る画像形成装置の一例のハードウェア構成図である。
【図４】本実施形態に係る情報処理システムの一例の機能構成図である。
【図５】クラウドワークフローサーバ装置に登録されているワークフロー情報を画像形成装置と対応付ける処理の一例のシーケンス図である。
【図６】画像形成装置にワークフロー情報がキャッシュされていない場合の処理手順を示した一例のシーケンス図である。
【図７】画像形成装置にワークフロー情報がキャッシュされている場合の処理手順を示した一例のシーケンス図である。
【図８】ワークフロー情報の一例の構成図である。
【図９】画像形成装置にワークフロー情報がキャッシュされている場合の処理手順を示した一例のシーケンス図である。
【図１０】本実施形態に係る情報処理システムの他の例の機能構成図である。
【図１１】本実施形態に係る情報処理システムの他の例の構成図である。
【図１２】ワークフロー管理情報の一例の構成図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。
【００１０】
［第一の実施形態］
＜システム構成＞
まず、本実施形態に係る情報処理システム１のシステム構成について、図１を参照しながら説明する。図１は、本実施形態に係る情報処理システムの一例の構成図である。
【００１１】
図１に示す情報処理システム１は、ユーザ環境１０とクラウド環境２０とが、例えばインタ−ネットなどのネットワーク３０を介して通信可能に接続されている。サービス提供環境の一例であるクラウド環境２０は、クラウドワークフローサーバ装置２２を有する構成である。クラウドワークフローサーバ装置２２はクラウド環境内部のネットワーク２４を介してネットワーク３０に接続されている。クラウドワークフローサーバ装置２２はクラウド環境のワークフローサービスを提供する。また、クラウドワークフローサーバ装置２２は後述のワークフロー情報が登録されている。
【００１２】
図１のユーザ環境１０は、画像形成装置１２、オンプレミスサーバ装置１４及びファイアウォール１６を有する構成である。図１の画像形成装置１２及びオンプレミスサーバ装置１４は、ユーザ環境内部のネットワーク１８及びファイアウォール１６を介してネットワーク３０に接続されている。画像形成装置１２は電子機器の一例であり、ユーザ環境のワークフローサービスを提供する。画像形成装置１２は後述するようにクラウドワークフローサーバ装置２２からワークフロー情報を取得する。画像形成装置１２はワークフロー情報に従って、オンプレミスサーバ装置１４やクラウドワークフローサーバ装置２２と連携するワークフローの実行を制御する。
【００１３】
オンプレミスサーバ装置１４は同一のネットワーク環境、つまりユーザ環境１０からのみ要求を受け付けるように運用されることがある。この場合、オンプレミスサーバ装置１４はサーバ機能をもつ装置であるものの、異なるネットワークや特定のネットワーク以外に接続されている装置、例えばクラウドワークフローサーバ装置２２等からは実行要求等を受け付けることができないという課題がある。つまり、このような運用のオンプレミスサーバ装置１４の処理を含むワークフローを制御するとき、当該ワークフローに含まれる処理の要求をクラウドワークフローサーバ装置２２からオンプレミスサーバ装置１４へ行う事ができず、異なるネットワークに含まれる装置での処理を含むワークフローの制御をできないという課題があった。
【００１４】
なお、情報処理システム１は図１の構成に限定されるものではない。例えばユーザ環境１０には画像形成装置１２以外のスキャナ、プリンタ、ファクシミリ、プロジェクタや電子黒板等の電子機器が含まれていてもよい。なお、画像形成装置１２、スキャナ、プリンタ、ファクシミリ、プロジェクタ及び電子黒板等の電子機器は、ワークフローの実行を制御する電子機器の一例である。
【００１５】
＜ハードウェア構成＞
《コンピュータ》
オンプレミスサーバ装置１４及びクラウドワークフローサーバ装置２２は例えば図２に示すハードウェア構成のコンピュータにより実現される。図２は、本実施形態に係るコンピュータの一例のハードウェア構成図である。
【００１６】
図２のコンピュータ５００は入力装置５０１、表示装置５０２、外部Ｉ／Ｆ（インタフェース）５０３、ＲＡＭ（Random Access Memory）５０４、ＲＯＭ（Read Only Memory）５０５、ＣＰＵ（Central Processing Unit）５０６、通信Ｉ／Ｆ５０７及びＨＤＤ（Hard Disk Drive）５０８などを備え、それぞれがバスＢで相互に接続されている。なお、入力装置５０１及び表示装置５０２は必要なときに接続して利用する形態であってもよい。
【００１７】
入力装置５０１はキーボードやマウス、タッチパネルなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置５０２はディスプレイ等を含み、コンピュータ５００による処理結果を表示する。
【００１８】
通信Ｉ／Ｆ５０７はコンピュータ５００を各種ネットワークに接続するインタフェースである。これにより、コンピュータ５００は通信Ｉ／Ｆ５０７を介してデータ通信を行うことができる。
【００１９】
また、ＨＤＤ５０８は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、コンピュータ５００全体を制御する基本ソフトウェアであるＯＳ（Operating System）、ＯＳ上で各種機能を提供するプログラムなどがある。コンピュータ５００はＨＤＤ５０８に替え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用するものであってもよい。
【００２０】
外部Ｉ／Ｆ５０３は、外部装置とのインタフェースである。外部装置には、記録媒体５０３ａなどがある。これにより、コンピュータ５００は外部Ｉ／Ｆ５０３を介して記録媒体５０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体５０３ａにはフレキシブルディスク、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）、ＳＤ（Secure Digital）メモリカード、ＵＳＢメモリなどがある。
【００２１】
ＲＯＭ５０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）の一例である。ＲＯＭ５０５には、コンピュータ５００の起動時に実行される基本入出力プログラム、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ５０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）の一例である。
【００２２】
ＣＰＵ５０６は、ＲＯＭ５０５やＨＤＤ５０８などの記憶装置からプログラムやデータをＲＡＭ５０４上に読み出し、処理を実行することで、コンピュータ５００全体の制御や機能を実現する演算装置である。オンプレミスサーバ装置１４及びクラウドワークフローサーバ装置２２は例えば図２に示すハードウェア構成により、後述するような各種処理を実現できる。
【００２３】
《画像形成装置》
図１の画像形成装置１２は、例えば図３に示すようなハードウェア構成のコンピュータにより実現される。図３は本実施形態に係る画像形成装置の一例のハードウェア構成図である。図３の画像形成装置１２は、コントローラ６０１、操作パネル６０２、外部Ｉ／Ｆ６０３、通信Ｉ／Ｆ６０４、プリンタ６０５及びスキャナ６０６などを備える。
【００２４】
コントローラ６０１はＣＰＵ６１１、ＲＡＭ６１２、ＲＯＭ６１３、ＮＶＲＡＭ６１４及びＨＤＤ６１５などを備える。ＲＯＭ６１３は、各種プログラムやデータが格納されている。ＲＡＭ６１２はプログラムやデータを一時保持する。ＮＶＲＡＭ６１４は、例えば設定情報等が格納されている。また、ＨＤＤ６１５は各種プログラムやデータが格納されている。
【００２５】
ＣＰＵ６１１は、ＲＯＭ６１３やＮＶＲＡＭ６１４、ＨＤＤ６１５などからプログラムやデータ、設定情報等をＲＡＭ６１２上に読み出し、処理を実行することで、画像形成装置１２全体の制御や機能を実現する。
【００２６】
操作パネル６０２はユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部Ｉ／Ｆ６０３は外部装置とのインタフェースである。外部装置には、記録媒体６０３ａなどがある。これにより、画像形成装置１２は外部Ｉ／Ｆ６０３を介して記録媒体６０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体６０３ａにはＩＣカード、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００２７】
通信Ｉ／Ｆ６０４は、画像形成装置１２をネットワーク１８に接続させる為のインタフェースである。これにより、画像形成装置１２は通信Ｉ／Ｆ６０４を介してデータ通信を行うことができる。プリンタ６０５は印刷データを用紙に印刷するための印刷装置である。スキャナ６０６は原稿から画像データ（電子データ）を読み取るための読取装置である。
【００２８】
＜機能構成＞
次に、本実施形態に係る情報処理システム１の機能構成について説明する。なお、以下の説明では画像形成装置１２が提供するワークフローサービスをオンプレミスワークフローサービスと呼ぶ。また、以下の説明ではクラウドワークフローサーバ装置２２が提供するワークフローサービスをクラウドワークフローサービスと呼ぶ。
【００２９】
図４は、本実施形態に係る情報処理システムの一例の機能構成図である。図４の機能構成図ではファイアウォール１６を省略している。画像形成装置１２は、スキャンアプリ１００、オンプレミスワークフローサービス１１０、スキャン部１２０、プリント部１３０、ブラウザ１４０、ネットワーク通信部１５０及び装置情報取得部１６０を有する。
【００３０】
また、オンプレミスワークフローサービス１１０はワークフロー管理部１１１、ワークフロー取得部１１２、ワークフロー要求受信部１１３、起動要求受信部１１４、ワークフロー制御部１１５及び１つ以上の処理部１１６を有している。処理部１１６はＳＭＢ（Server Message Block）送信処理やＦＴＰ（File Transfer Protocol）送信処理などのユーザ環境１０での処理内容を実行する。
【００３１】
スキャンアプリ１００は画像形成装置１２に搭載されるアプリの一例であって、ＷｅｂアプリであってもＮａｔｉｖｅ実装されたアプリであってもよい。スキャンアプリ１００はユーザの操作を受け付けるＵＩ（User Interface）を有する。例えばスキャンアプリ１００はスキャナ解像度、読み取りサイズ、カラーなどの設定、ワークフローの開始指示などをユーザから受け付けることができる。
【００３２】
ワークフロー管理部１１１はクラウドワークフローサーバ装置２２から取得したワークフロー情報を記憶し、管理する。ワークフロー取得部１１２はクラウドワークフローサーバ装置２２からワークフロー情報を取得する。ワークフロー要求受信部１１３はスキャンアプリ１００からワークフローを実行する要求を受け付ける。
【００３３】
起動要求受信部１１４はスキャンアプリ１００からオンプレミスワークフローサービスの起動要求を受け付ける。ワークフロー制御部１１５はワークフロー情報に従って処理部１１６を呼び出し、ワークフローの実行を制御する。
【００３４】
スキャン部１２０はスキャナ６０６などで実現され、スキャンを実行する。プリント部１３０はプリンタ６０５などで実現され、印刷を実行する。ブラウザ１４０はスキャンアプリ１００がＷｅｂアプリである場合にスキャンアプリ１００を実行する。ネットワーク通信部１５０は、オンプレミスサーバ装置１４及びクラウドワークフローサーバ装置２２とネットワーク通信を行う。装置情報取得部１６０は装置番号などの機器情報を取得してスキャンアプリ１００に提供する。
【００３５】
また、クラウドワークフローサーバ装置２２は、ネットワーク通信部２００、ワークフロー管理部２１０、認証管理部２２０及びクラウドワークフローサービス２３０を有している。クラウドワークフローサービス２３０は、１つ以上の処理部２３２を有している。
【００３６】
処理部２３２は、後述するようにＯＣＲ（光学文字認識）処理やファイル変換処理、ストレージサービスへの送信処理などのクラウド環境２０での処理内容を実行する。ネットワーク通信部２００は画像形成装置１２とネットワーク通信を行う。ワークフロー管理部２１０は画像形成装置１２に提供するワークフロー情報を記憶し、管理する。認証管理部２２０はスキャンアプリ１００から認証要求を受け付け、認証処理を行う。
【００３７】
＜処理の詳細＞
次に、本実施形態に係る情報処理システム１の処理の詳細について説明する。
【００３８】
《ワークフロー情報の対応付け処理》
図５はクラウドワークフローサーバ装置に登録されているワークフロー情報を画像形成装置と対応付ける処理の一例のシーケンス図である。ステップＳ１０においてユーザは画像形成装置１２に搭載されたスキャンアプリ１００を起動する。スキャンアプリ１００はステップＳ１２〜Ｓ１６においてクラウドワークフローサーバ装置２２の認証管理部２２０に認証要求を行う。
【００３９】
認証管理部２２０による認証が正常終了すると、スキャンアプリ１００はステップＳ１８に進み、装置情報取得部１６０から装置番号などの画像形成装置１２を一意に識別できる装置情報（機器情報）を取得する。スキャンアプリ１００はステップＳ２０〜Ｓ２４においてクラウドワークフローサーバ装置２２のワークフロー管理部２１０に機器情報を指定して装置登録を行う。ワークフロー管理部２１０はスキャンアプリ１００から指定された機器情報とワークフロー情報とを対応付ける。図５の処理により、画像形成装置１２はユーザが認証に成功したクラウドワークフローサーバ装置２２のワークフロー情報と対応付けられる。
【００４０】
《ワークフローの実行》
第一の実施形態に係る情報処理システム１は、画像形成装置１２にワークフロー情報がキャッシュされている場合とキャッシュされていない場合とで、図６及び図７に示すように異なる処理を行う。
【００４１】
図６は画像形成装置にワークフロー情報がキャッシュされていない場合の処理手順を示した一例のシーケンス図である。図７は画像形成装置にワークフロー情報がキャッシュされている場合の処理手順を示した一例のシーケンス図である。
【００４２】
図６のステップＳ３０においてユーザは画像形成装置１２のスキャンアプリ１００を起動する。ステップＳ３２に進み、スキャンアプリ１００は装置情報取得部１６０から画像形成装置１２の機器情報を取得する。ステップＳ３４に進み、スキャンアプリ１００は機器情報を指定して起動要求受信部１１４に起動要求を行う。
【００４３】
スキャンアプリ１００から起動要求を受け付けた起動要求受信部１１４はステップＳ３６に進み、機器情報を指定してワークフロー管理部１１１にワークフロー情報の取得を要求する。ワークフロー情報がキャッシュされていない場合である為、ワークフロー管理部１１１はワークフロー情報がない旨を起動要求受信部１１４に通知する。
【００４４】
ワークフロー情報がない旨を通知された起動要求受信部１１４はステップＳ３８の処理に進む。ステップＳ３８において、起動要求受信部１１４は機器情報を指定してワークフロー取得部１１２にワークフロー情報の取得を要求する。ステップＳ４０〜Ｓ４４においてワークフロー取得部１１２は機器情報を指定してクラウドワークフローサーバ装置２２のワークフロー管理部２１０から機器情報に対応付くワークフロー情報を取得する。
【００４５】
ステップＳ４６に進み、起動要求受信部１１４はワークフロー取得部１１２が、クラウドワークフローサーバ装置２２のワークフロー管理部２１０から取得したワークフロー情報を機器情報と対応付けてワークフロー管理部１１１に保存（キャッシュ）する。起動要求受信部１１４はステップＳ４８に進み、クラウドワークフローサーバ装置２２のワークフロー管理部２１０から取得したワークフロー情報を、ワークフロー制御部１１５に登録する。ステップＳ４８の処理後、スキャンアプリ１００はユーザの操作を受け付けるＵＩを例えば操作パネル６０２に表示する。
【００４６】
ステップＳ５０においてユーザはスキャンの実行を指示する操作を例えばスキャンアプリ１００のＵＩに行う。ステップＳ５２に進み、スキャンアプリ１００はスキャン部１２０にスキャンを要求する。スキャン部１２０はスキャンを実行する。スキャン部１２０はスキャンを実行したあと、スキャン完了をスキャンアプリ１００に返す。
【００４７】
ステップＳ５４に進み、スキャンアプリ１００はワークフロー情報を指定してワークフロー要求受信部１１３にワークフローの実行を要求する。ワークフローの実行を要求されたワークフロー要求受信部１１３はステップＳ５６に進み、ワークフロー情報を指定してワークフロー制御部１１５にワークフローの実行を要求する。
【００４８】
ワークフロー要求受信部１１３からワークフローの実行を要求されたワークフロー制御部１１５はワークフロー情報に従って処理部１１６を呼び出し、ワークフローの実行を制御する。例えば図６の例では、ステップＳ５８において、ワークフロー制御部１１５が処理部１１６ａを呼び出し、処理を実行させる。続いて、ステップＳ６０〜Ｓ６２においてワークフロー制御部１１５は処理部１１６ｂを呼び出し、オンプレミスサーバ装置１４に配信を行う処理を実行させる。
【００４９】
例えば図５のワークフローは、スキャンした画像データをＳＭＢ送信し、且つ、スタンプ印字したＯＣＲ付きＰＤＦファイルをＦＴＰ送信する処理等である。本実施形態に係るワークフローでは、例えば画像形成装置１２、オンプレミスサーバ装置１４及びクラウドワークフローサーバ装置２２が協調動作するワークフローが実行される。
【００５０】
図７のステップＳ７０においてユーザは画像形成装置１２のスキャンアプリ１００を起動する。ステップＳ７２に進み、スキャンアプリ１００は機器情報を指定して起動要求受信部１１４に起動要求を行う。スキャンアプリ１００から起動要求を受け付けた起動要求受信部１１４はステップＳ７４に進み、機器情報を指定してワークフロー管理部１１１にワークフロー情報の取得を要求する。ワークフロー情報がキャッシュされている場合である為、ワークフロー管理部１１１はキャッシュされていたワークフロー情報を起動要求受信部１１４に返す。
【００５１】
起動要求受信部１１４はステップＳ７６に進み、キャッシュされていたワークフロー情報を、ワークフロー制御部１１５に登録する。ステップＳ７６の処理後、起動要求受信部１１４はステップＳ７８の処理に進む。ステップＳ７８において、起動要求受信部１１４はキャッシュバージョン情報と機器情報とを指定してワークフロー取得部１１２にワークフロー情報の取得を要求する。キャッシュバージョン情報は、ワークフロー管理部１１１にキャッシュされていたワークフロー情報のバージョンを示す情報である。
【００５２】
ステップＳ８０〜Ｓ８４においてワークフロー取得部１１２は、機器情報を指定してクラウドワークフローサーバ装置２２のワークフロー管理部２１０から機器情報に対応付くワークフロー情報を取得する。クラウドワークフローサーバ装置２２のワークフロー管理部２１０から取得したワークフロー情報のバージョン情報とキャッシュバージョン情報とに基づき、ワークフロー情報が更新されていれば、起動要求受信部１１４はステップＳ８６〜Ｓ８８の処理を行う。
【００５３】
ステップＳ８６に進み、起動要求受信部１１４はワークフロー取得部１１２が、クラウドワークフローサーバ装置２２のワークフロー管理部２１０から取得したワークフロー情報を機器情報と対応付けてワークフロー管理部１１１に保存（キャッシュ）する。起動要求受信部１１４はステップＳ８８に進み、クラウドワークフローサーバ装置２２のワークフロー管理部２１０から取得したワークフロー情報を、ワークフロー制御部１１５に登録し直す。
【００５４】
また、ステップＳ７６の処理後、スキャンアプリ１００はユーザの操作を受け付けるＵＩを例えば操作パネル６０２に表示する。ステップＳ９０においてユーザはスキャンの実行を指示する操作を例えばスキャンアプリ１００のＵＩに行う。
【００５５】
ステップＳ９２に進み、スキャンアプリ１００はスキャン部１２０にスキャンを要求する。スキャン部１２０はスキャンを実行する。スキャン部１２０はスキャンを実行したあと、スキャン完了をスキャンアプリ１００に返す。
【００５６】
ステップＳ９４に進み、スキャンアプリ１００はワークフロー情報を指定してワークフロー要求受信部１１３にワークフローの実行を要求する。ワークフローの実行を要求されたワークフロー要求受信部１１３はステップＳ９６に進み、ワークフロー情報を指定してワークフロー制御部１１５にワークフローの実行を要求する。
【００５７】
ワークフロー要求受信部１１３からワークフローの実行を要求されたワークフロー制御部１１５は図６のステップＳ５８〜Ｓ６２と同様、ワークフロー情報に従って処理部１１６を呼び出し、ワークフローの実行を制御する。
【００５８】
図６及び図７に示したシーケンス図の処理によれば、クラウドワークフローサーバ装置２２から取得済みのワークフロー情報がキャッシュされていれば、そのワークフロー情報を利用してオンプレミスワークフローサービス１１０を起動する。したがって、オンプレミスワークフローサービス１１０の起動時間を短縮できる。また、図７のシーケンス図の処理によれば、キャッシュされていたワークフロー情報に更新があれば、キャッシュされていたワークフロー情報を利用してオンプレミスワークフローサービス１１０を起動したあと、キャッシュされているワークフロー情報を更新できる。
【００５９】
図８はワークフロー情報の一例の構成図である。図８のワークフロー情報は一例としてスキャンした画像データをクラウド環境でＯＣＲ変換し、ＦＴＰ送信するワークフローを示している。なお、ワークフロー情報は、例えばスキャンアプリ１００で使用するワークフローが含まれる。また、ワークフロー情報は例えばプリントアプリなど、スキャンアプリ１００以外のワークフローが含まれていてもよい。
【００６０】
本実施形態によれば、クラウド環境２０側からアクセスできないユーザ環境１０で実行するワークフローの登録を、クラウド環境２０で行うことができる。したがって、ユーザはユーザ環境１０で実行するワークフローの登録を、別のユーザ環境やインターネットなどのサービス提供環境から行うことができる。また、本実施形態によればユーザ環境１０側はワークフロー情報がキャッシュされていれば、キャッシュされていたワークフロー情報でオンプレミスワークフローサービス１１０を起動し、起動時間を短縮できる。
【００６１】
［第二の実施形態］
第一の実施形態に係る情報処理システム１ではワークフロー情報がキャッシュされている場合、そのキャッシュされていたワークフロー情報でオンプレミスワークフローサービス１１０を起動した後でワークフロー情報の更新有無を確認していた。第二の実施形態に係る情報処理システム１は、図９に示す手順で処理を行うことで、オンプレミスワークフローサービス１１０を起動する前にワークフロー情報の更新有無を確認する。
【００６２】
図９は画像形成装置にワークフロー情報がキャッシュされている場合の処理手順を示した一例のシーケンス図である。図９のステップＳ１００においてユーザは画像形成装置１２のスキャンアプリ１００を起動する。ステップＳ１０２に進み、スキャンアプリ１００はワークフローバージョン情報と機器情報とを指定して起動要求受信部１１４に起動要求を行う。ワークフローバージョン情報は、スキャンアプリ１００が必要なワークフロー情報のバージョンを示す情報である。
【００６３】
起動要求受信部１１４はスキャンアプリ１００から指定されたワークフローバージョン情報以降のバージョン情報のワークフロー情報がキャッシュ済みであるか否かにより異なる処理を行う。
【００６４】
スキャンアプリ１００から指定されたワークフローバージョン情報以降のバージョン情報のワークフロー情報がキャッシュ済みでなければ、起動要求受信部１１４はステップＳ１０４〜Ｓ１１６の処理を行う。
【００６５】
ステップＳ１０４に進み、起動要求受信部１１４はワークフローバージョン情報を指定してワークフロー管理部１１１にワークフロー情報の取得を要求する。スキャンアプリ１００から指定されたワークフロー情報がキャッシュされていない場合である為、ワークフロー管理部１１１は指定されたワークフロー情報がない旨を起動要求受信部１１４に通知する。ワークフロー情報がない旨を通知された後のステップＳ１０６〜Ｓ１１６の処理は図６のステップＳ３８〜Ｓ４８と同様であるため、説明を省略する。
【００６６】
スキャンアプリ１００から指定されたワークフローバージョン情報以降のバージョン情報のワークフロー情報がキャッシュ済みであれば、起動要求受信部１１４はステップＳ１１８〜Ｓ１２０の処理を行う。
【００６７】
ステップＳ１１８に進み、起動要求受信部１１４はワークフローバージョン情報を指定してワークフロー管理部１１１にワークフロー情報の取得を要求する。スキャンアプリ１００から指定されたワークフローバージョン情報以降のバージョン情報のワークフロー情報がキャッシュされている場合である為、ワークフロー管理部１１１はキャッシュされていたワークフロー情報を起動要求受信部１１４に返す。起動要求受信部１１４はステップＳ１２０に進み、キャッシュされていたワークフロー情報を、ワークフロー制御部１１５に登録する。
【００６８】
ステップＳ１１６又はＳ１２０の処理後、スキャンアプリ１００はユーザの操作を受け付けるＵＩを例えば操作パネル６０２に表示する。ステップＳ１２２〜Ｓ１２８の処理は図７のステップＳ９０〜Ｓ９６と同様であるため、説明を省略する。図９に示したシーケンス図の処理によれば、スキャンアプリ１００から指定されたワークフローバージョン情報以前のワークフロー情報がキャッシュされていても、クラウドワークフローサーバ装置２２からワークフロー情報を取得し直し、オンプレミスワークフローサービス１１０を起動できる。以上、図９のシーケンス図の処理によれば、スキャンアプリ１００から指定されたワークフローバージョン情報以降のバージョン情報のワークフロー情報を利用してオンプレミスワークフローサービス１１０を起動できる。
【００６９】
［第三の実施形態］
複数のアプリのワークフローが含まれているワークフロー情報の場合、第一の実施形態及び第二の実施形態では、ユーザが起動したスキャンアプリ１００のワークフローが更新されていなくても、他のアプリのワークフローが更新されていれば、キャッシュされているワークフロー情報が更新される。
【００７０】
第三の実施形態に係る情報処理システム１では、スキャンアプリ１００が起動要求受信部１１４に起動要求を行うときに、アプリ情報を指定する。そして、アプリ情報により特定されるスキャンアプリ１００のワークフローが更新されていなければ、その他のアプリのワークフローが更新されていても、キャッシュされているワークフロー情報を更新せずにそのまま利用してオンプレミスワークフローサービス１１０を起動できる。
【００７１】
［第四の実施形態］
第一、第二及び第三の実施形態に係る情報処理システム１では、ワークフローを実行するためのスキャンアプリ１００が起動されたときに、クラウドワークフローサーバ装置２２からワークフロー情報を取得する必要があるか否かが判定される。したがって、ワークフロー情報がキャッシュされていないか、又は、バージョン情報が古い場合、画像形成装置１２はスキャンアプリ１００の起動後に、クラウドワークフローサーバ装置２２からワークフロー情報を取得していた。  第四の実施形態では、スキャンアプリ１００が起動されるタイミングより前のユーザが画像形成装置１２を操作し始めたタイミングでクラウドワークフローサーバ装置２２からワークフロー情報を取得する必要があるか否かを判定する。ユーザが画像形成装置１２を操作し始めたタイミングの例としては、画像形成装置１２の起動時、省エネモードからの復帰時、操作パネル６０２に対するユーザ操作の開始時など、がある。
【００７２】
第四の実施形態に係る情報処理システム１は、例えば図１０に示すような機能構成の情報処理システム１により実現できる。図１０は、本実施形態に係る情報処理システムの他の例の機能構成図である。図１０の機能構成図は図４に装置イベント受信部１１７と装置イベント通知部１７０とが追加された構成である。
【００７３】
装置イベント通知部１７０は、ユーザが画像形成装置１２を操作し始めたタイミングを装置イベントとして検知し、装置イベント受信部１１７に通知する。装置イベント受信部１１７は装置イベント通知部１７０から装置イベントが通知される。例えば起動要求受信部１１４は装置イベント受信部１１７が装置イベントを通知されたタイミングで、クラウドワークフローサーバ装置２２からワークフロー情報を取得する必要があるか否かを判定できる。
【００７４】
［第五の実施形態］
図１１は、本実施形態に係る情報処理システムの他の例の構成図である。図１１の情報処理システム１は図１の情報処理システム１のクラウドワークフローサーバ装置２２がクラウドワークフローサーバ装置２２Ａ及び２２Ｂに置き換えられている。図１１の情報処理システム１の場合、画像形成装置１２はクラウドワークフローサーバ装置２２Ａ及び２２Ｂのどちらからワークフロー情報を取得するか、キャッシュ済みのワークフロー情報の取得元がどちらであるか、を管理する必要がある。
【００７５】
そこで、第五の実施形態に係る情報処理システム１では図１２に示すワークフロー管理情報をワークフロー管理部１１１が保持する。図１２はワークフロー管理情報の一例の構成図である。図１２のワークフロー管理情報は、クラウドワークフローサーバ装置の情報とワークフロー情報とを対応付けるものである。また、第五の実施形態に係る情報処理システム１ではスキャンアプリ１００からクラウドワークフローサーバ装置２２Ａ又は２２Ｂのどちらのワークフロー情報を取得するか、を指定する。
【００７６】
第五の実施形態に係る情報処理システム１によれば、クラウドワークフローサーバ装置２２が複数含まれていても、上記した第一〜第四の実施形態を実現できる。
【００７７】
（まとめ）
以上、本実施形態によれば、ユーザ環境１０の情報処理システムとクラウド環境２０の情報処理システムとを連携させるワークフローの実行を画像形成装置１２で実行する場合に、そのワークフローの登録をクラウド環境２０側で受け付けることができる。
【００７８】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば図１に示す情報処理システム１の構成は一例である。クラウドワークフローサーバ装置２２は複数台の情報処理装置に分散して実現してもよい。また、画像形成装置１２は例えば操作部として機能する装置と本体部として機能する装置のように、複数の装置から構成されてもよい。
【符号の説明】
【００７９】
１    情報処理システム
１０    ユーザ環境
１２    画像形成装置
１４    オンプレミスサーバ装置
１６    ファイアウォール
２０    クラウド環境
２２、２２Ａ、２２Ｂ    クラウドワークフローサーバ装置
１８、２４、３０    ネットワーク
１００    スキャンアプリ
１１０    オンプレミスワークフローサービス
１１１    ワークフロー管理部
１１２    ワークフロー取得部
１１３    ワークフロー要求受信部
１１４    起動要求受信部
１１５    ワークフロー制御部
１１６    処理部
１１７    装置イベント受信部
１２０    スキャン部
１３０    プリント部
１４０    ブラウザ
１５０    ネットワーク通信部
１６０    装置情報取得部
１７０    装置イベント通知部
２００    ネットワーク通信部
２１０    ワークフロー管理部
２２０    認証管理部
２３０    クラウドワークフローサービス
２３２    処理部
【先行技術文献】
【特許文献】
【００８０】
【特許文献１】特開２０１５−６０２４７号公報
【図１】
2019159421.tif 000003
【図２】
2019159421.tif 000004
【図３】
2019159421.tif 000005
【図４】
2019159421.tif 000006
【図５】
2019159421.tif 000007
【図６】
2019159421.tif 000008
【図７】
2019159421.tif 000009
【図８】
2019159421.tif 000010
【図９】
2019159421.tif 000011
【図１０】
2019159421.tif 000012
【図１１】
2019159421.tif 000013
【図１２】
2019159421.tif 000014