(57)【要約】【課題】ネットワークを介して通信可能な拠点内と拠点外の情報処理装置を連携させることが可能なシステムを提供すること。【解決手段】拠点内に配置された第一の情報処理装置３０と、拠点外の第二の情報処理装置７０、７１とがネットワークを介して通信するシステムであって、少なくとも２つの処理を含む処理定義情報を受け付ける処理情報受付手段６３と、前記処理を実行する第二の処理手段と、を有し、前記第一の情報処理装置は、前記第二の情報処理装置から前記処理定義情報を取得する取得手段と、前記処理を実行する第一の処理手段と、前記処理定義情報に基づき前記処理の実行主体を判断し、前記実行主体が拠点内の場合に前記第一の処理手段に前記処理を実行させ、前記実行主体が拠点外の場合に前記第二の処理手段に前記処理を実行させる処理制御手段と、を有する。【選択図】図１
2018067144.tif 000002
【特許請求の範囲】
【請求項１】
拠点内に配置された第一の情報処理装置と、拠点外の第二の情報処理装置とがネットワークを介して通信するシステムであって、
少なくとも２つの処理を含む処理定義情報を受け付ける処理情報受付手段を有し、
前記第二の情報処理装置は、前記処理を実行する第二の処理手段、を有し
前記第一の情報処理装置は、
前記第二の情報処理装置から前記処理定義情報を取得する取得手段と、
前記処理を実行する第一の処理手段と、
前記処理定義情報に基づき前記処理の実行主体を判断し、前記実行主体が拠点内の場合に前記第一の処理手段に前記処理を実行させ、前記実行主体が拠点外の場合に前記第二の処理手段に前記処理を実行させる処理制御手段と、を有するシステム。
【請求項２】
前記第一の処理手段が実行する前記処理と前記第二の処理手段が実行する前記処理は一部が異なっており、
前記処理情報受付手段は、前記第一の処理手段が実行する前記処理及び前記第二の処理手段が実行する前記処理を選択可能に表示する画面データを第三の情報処理装置に送信し、
前記第三の情報処理装置は、
少なくとも２つの前記処理の選択と前記処理の順番を受け付けて前記処理定義情報を作成する定義情報作成手段と、
前記処理定義情報を前記第二の情報処理装置に送信する送信手段と、を有する請求項１に記載のシステム。
【請求項３】
前記定義情報作成手段は、更に、前記処理ごとに前記処理の実行主体の設定を受け付け、前記実行主体と前記処理の順番が設定された前記処理定義情報を作成する請求項２に記載のシステム。
【請求項４】
前記取得手段は、予め決まったタイミングで前記処理定義情報に関する情報を前記第二の情報処理装置から取得し、
前記処理定義情報に関する情報に基づき前記処理定義情報が更新されたか否かを判断し、
前記処理定義情報が更新された場合、前記第三の情報処理装置の前記送信手段が前記第二の情報処理装置に送信した前記処理定義情報を前記第二の情報処理装置から取得する請求項３に記載のシステム。
【請求項５】
前記取得手段が前記処理定義情報を取得した場合、
前記処理制御手段は、前記処理定義情報に定義された少なくとも２つの前記処理をテスト実行し、前記処理定義情報に定義された全ての前記処理を実行できた場合、前記処理定義情報を記憶手段に記憶する請求項４に記載のシステム。
【請求項６】
前記第二の情報処理装置は、前記第一の情報処理装置が有する前記処理制御手段と同等の手段を有し、
前記第一の情報処理装置の前記処理制御手段が前記第二の情報処理装置の前記第二の処理手段に前記処理を実行させた場合、
前記第二の情報処理装置の前記同等の手段は、前記処理定義情報に基づき前記処理の実行主体を判断し、前記実行主体が拠点外の場合は前記第二の処理手段に前記処理を実行させ、前記実行主体が拠点内の場合に前記第一の処理手段に前記処理を実行させる請求項１〜５のいずれか１項に記載のシステム。
【請求項７】
前記処理定義情報の選択と実行の開始を受け付ける実行開始受付手段を有し、
前記実行開始受付手段は、前記処理ごとに前記処理の実行主体の設定を受け付け、
前記第一の情報処理装置は、前記実行開始受付手段が受け付けた前記処理の実行主体を前記処理定義情報の前記実行主体よりも優先する請求項３〜５のいずれか１項に記載のシステム。
【請求項８】
前記実行開始受付手段と、
前記処理を実行する第三の処理手段と、
前記第一の情報処理装置が有する前記処理制御手段と同等の手段と、を有する機器を有し、
前記機器の前記同等の手段は、前記処理定義情報に基づき前記処理の実行主体を判断し、前記実行主体が拠点外の場合は前記第二の処理手段に前記処理を実行させ、前記実行主体が拠点内の場合に前記第一の処理手段に前記処理を実行させる請求項７に記載のシステム。
【請求項９】
拠点内に配置された第一の情報処理装置と、拠点外の第二の情報処理装置とがネットワークを介して通信するシステムが行う情報処理方法であって、
前記第二の情報処理装置によって行われる、
処理情報受付手段が、少なくとも２つの処理を含む処理定義情報を受け付けるステップと、
第二の処理手段が、前記処理を実行するステップと、
前記第一の情報処理装置によって行われる、
取得手段が、前記第二の情報処理装置から前記処理定義情報を取得するステップと、
第一の処理手段が、前記処理を実行するステップと、
処理制御手段が、前記処理定義情報に基づき前記処理の実行主体を判断し、前記実行主体が拠点内の場合に前記第一の処理手段に前記処理を実行させ、前記実行主体が拠点外の場合に前記第二の処理手段に前記処理を実行させるステップと、
を有する情報処理方法。
【請求項１０】
少なくとも２つの処理を含む処理定義情報を受け付ける処理情報受付手段と、
前記処理を実行する第二の処理手段と、を有し、拠点外に配置された第二の情報処理装置とネットワークを介して通信する拠点内の情報処理装置であって、
前記第二の情報処理装置から前記処理定義情報を取得する取得手段と、
前記処理を実行する第一の処理手段と、
前記処理定義情報に基づき前記処理の実行主体を判断し、前記実行主体が拠点内の場合に前記第一の処理手段に前記処理を実行させ、前記実行主体が拠点外の場合に前記第二の処理手段に前記処理を実行させる処理制御手段と、
を有する情報処理装置。
【請求項１１】
少なくとも２つの処理を含む処理定義情報を受け付ける処理情報受付手段と、
前記処理を実行する第二の処理手段と、を有し、拠点外に配置された第二の情報処理装置とネットワークを介して通信する拠点内の情報処理装置を、
前記第二の情報処理装置から前記処理定義情報を取得する取得手段と、
前記処理を実行する第一の処理手段と、
前記処理定義情報に基づき前記処理の実行主体を判断し、前記実行主体が拠点内の場合に前記第一の処理手段に前記処理を実行させ、前記実行主体が拠点外の場合に前記第二の処理手段に前記処理を実行させる処理制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム、情報処理方法、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
日常的な業務や手続などの流れをワークフローといい、ワークフローを情報処理装置で自動化したシステムをワークフローシステムという。ワークフローシステムでどのような処理を行うかが定義された情報をワークフロー情報という。ワークフローシステムはこのワークフロー情報を参照してワークフローを実行する（例えば、特許文献１参照。）。特許文献１には、ワークフロー情報により定義された複数の処理を複数の情報処理装置が連携して実行するワークフローシステムについて記載されている。
【０００３】
ワークフローシステムが処理を実行するにはワークフローシステムの管理者がワークフロー情報を定義したり編集したりすることが必要になる。管理者は、管理者端末などからワークフローシステムに接続して、ワークフロー情報を定義したり編集したりする。
【０００４】
ところで、通信環境の向上や通信コストの低下などに伴い、インターネットにデータを保存するサービスやインターネットを介して提供されるサービスが急激に増加した。これらのインターネット上のサービスやシステムをクラウドサービス又は単にクラウドという。また、このクラウドと対比するため、社内などの拠点内に設置された機器やシステム、又は、この機器やシステムでサービスが実行されることをオンプレミスという。
【０００５】
ワークフローシステムもオンプレミスなものだけでなく、拠点外のリソースで実現されるクラウドで利用されるものが実用化されるようになった。オンプレミスのワークフローシステムは、拠点内からでないとワークフロー情報を登録することが困難であるが、クラウドのワークフローシステムでは、管理者は任意の場所からワークフロー情報を登録できるという利点がある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のワークフローシステムでは、クラウドのような拠点外のシステムと拠点内のシステムを連携させることが困難であった。例えば、管理者がクラウド側からワークフロー情報を定義する場合、クラウドだけでなくオンプレミスのサービスも任意に選択できなければならないが、クラウド側でワークフロー情報の登録を受け付ける装置には、従来、オンプレミスのサービスを管理者が選択できるように提供する仕組みは用意されていなかった。
【０００７】
オンプレミスのサービスが必要になるのは、例えば、拠点内に設置したＮＡＳ（Network Attached Storage）などの共有フォルダにクラウドからファイアウォール等を超えてデータを送信する処理を実行するのは、オンプレミスのシステムであるためである。また、例えば、クラウド側で加工するため拠点内に設置したＮＡＳからデータを取得するには、ファイアウォール等の制限によりオンプレミスのシステムが処理を行う必要があるためである。
【０００８】
管理者がオンプレミス側のサーバにワークフロー情報を登録すればこのような制限は緩和されるが、管理者はオンプレミスに接続できる環境でないとワークフロー情報を登録できず、クラウドのワークフローの利点が活かされない。また、オンプレミス側のサーバに管理者がワークフロー情報を登録すると、このサーバが複数ある場合に、管理者はサーバのそれぞれにワークフロー情報を登録しなければならない。
【０００９】
本発明は、上記課題に鑑み、ネットワークを介して通信可能な拠点内と拠点外の情報処理装置を連携させることが可能なシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、拠点内に配置された第一の情報処理装置と、拠点外の第二の情報処理装置とがネットワークを介して通信するシステムであって、前記第二の情報処理装置は、少なくとも２つの処理を含む処理定義情報を受け付ける処理情報受付手段と、前記処理を実行する第二の処理手段と、を有し、前記第一の情報処理装置は、前記第二の情報処理装置から前記処理定義情報を取得する取得手段と、前記処理を実行する第一の処理手段と、前記処理定義情報に基づき前記処理の実行主体を判断し、前記実行主体が拠点内の場合に前記第一の処理手段に前記処理を実行させ、前記実行主体が拠点外の場合に前記第二の処理手段に前記処理を実行させる処理制御手段と、を有する。
【発明の効果】
【００１１】
ネットワークを介して通信可能な拠点内と拠点外の情報処理装置を連携させることが可能なシステムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態のワークフローシステムの概略的な動作を説明する図の一例である。
【図２】ワークフローシステムのシステム構成図の一例である。
【図３】ワークフロー情報で定義される処理と実行主体を模式的に説明する図の一例である。
【図４】オンプレミスサーバ、クラウドサーバ、クラウドワークフロー管理サーバ、及び管理者端末のハードウェア構成図の一例である。
【図５】複合機の概略的なハードウェア構成を示したブロック図の一例である。
【図６】オンプレミスサーバとクラウドサーバの機能をブロック状に示す機能ブロック図の一例である。
【図７】クラウドワークフロー管理サーバ及び管理者端末の機能をブロック状に示す機能ブロック図の一例である。
【図８】複合機の機能をブロック状に示す機能ブロック図の一例である。
【図９】管理者がワークフロー情報を設定する手順を示すシーケンス図の一例である。
【図１０】ワークフロー設定画面の一例を示す図である。
【図１１】設定画面の一例を示す図である。
【図１２】管理者が設定したワークフロー情報をオンプレミスサーバが自動的に更新する手順を示すシーケンス図の一例である。
【図１３】オンプレミスサーバがワークフロー情報の更新の有無を判断する手順を説明するフローチャート図の一例である。
【図１４】ワークフローシステムがワークフローを実行する手順を示すシーケンス図の一例である。
【図１５】ワークフローの実行時にたとえば複合機の操作パネルに表示される画面例の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するワークフローシステム１００とワークフローシステム１００が行う情報処理方法について、図面を参照しながら実施例を挙げて説明する。
【００１４】
図１は、本実施形態のワークフローシステム１００の概略的な動作を説明する図の一例である。インターネットＮにクラウドワークフローサーバ（以下、クラウドサーバ７０という）とクラウドワークフロー管理サーバ７１が設置され、拠点Ｂで示すオンプレミスにオンプレミスワークフローサーバ（以下、オンプレミスサーバ３０という）が設置される。クラウドサーバ７０は処理１〜３を実行でき、オンプレミスサーバ３０は処理１〜４を実行できる。処理１〜４は、ワークフローシステム１００が実行する処理の単位であり、処理１〜３はクラウドとオンプレミスで共通である。処理４は、例えば、社内に設置したＮＡＳ（Network Attached Storage）などの共有フォルダにデータを保存する処理であり、オンプレミス側で実行することが好適な処理である。また、拠点Ｂはファイアウォール５０よりも内側（拠点内）に構築されたシステムがある場所（社内など）である。拠点Ａは拠点Ｂに対し外部（拠点Ｂに対し拠点外）であればよく、任意の場所（任意の施設内、路上、移動体内など）である。
【００１５】
（１）拠点Ａの管理者８は管理者端末３２Ｂを操作してクラウドワークフロー管理サーバ７１と通信し、処理１〜４を用いたワークフローを定義する。ワークフローシステム１００がどのように動作するか、すなわち処理１〜４をどのように組み合わせるかを管理者８が設定する。この情報をワークフロー情報９という。管理者端末３２Ｂはワークフロー情報９をクラウドワークフロー管理サーバ７１に送信する。
【００１６】
（２）クラウドワークフロー管理サーバ７１はワークフロー情報９をクラウドサーバ７０に送信する。クラウドサーバ７０はワークフロー情報９を記憶する。
【００１７】
（３）オンプレミスサーバ３０はクラウドサーバ７０からワークフロー情報９を取得する。これにより、オンプレミスサーバ３０はクラウドサーバ７０に登録されたワークフロー情報９に基づいてワークフローを実行できる。すなわち、オンプレミスに設置されたオンプレミスサーバ３０がクラウド側からワークフロー情報９をダウンロードして実行するので、管理者８はインターネットＮに接続できる環境であればワークフロー情報９を登録したり編集したりすることができる。また、オンプレミスサーバ３０の数だけワークフロー情報９を設定する必要がなくなる。
【００１８】
（４）オンプレミスサーバ３０がワークフローの実行を開始するので、クラウドサーバ７０が実行する処理がある場合、ファイアウォール５０を超えてクラウドサーバ７０に処理を依頼できる。クラウドとオンプレミスの両方に同じ構成のサーバ（クラウドサーバ７０とオンプレミスサーバ３０）が設置されているので、クラウドサーバ７０はワークフロー情報９に基づいてオンプレミスサーバ３０と同様にワークフローを実行できる。
【００１９】
以上のように、オンプレミスサーバ３０とクラウドサーバ７０は１つのワークフロー情報９を連携して実行できる。
【００２０】
＜用語について＞
特許請求の範囲の処理定義情報とは、１つ以上の情報処理装置が実行する少なくとも２つ以上の処理が定義された情報である。より詳細には、一連の複数の処理の内容、該処理の順番、及び、複数の処理のそれぞれの実行主体となる情報処理装置を定義する情報である。本実施形態ではワークフロー情報という用語で説明する。
【００２１】
処理とは与えられたデータに計算を施したり機器の制御に用いたりして有用な情報を得ることをいう。
【００２２】
システムとは、複数の装置等が関係しあい全体としてまとまった機能を発揮する装置等の仕組みである。本実施形態ではワークフローシステム１００という用語で説明する。
【００２３】
拠点とは、活動のよりどころとなる所である。オンプレミスの装置や機器の設置場所が拠点であり、オンプレミスの装置や機器は拠点内の装置や機器となる。オンプレミスにはない装置や機器は拠点外の装置や機器となる。あるいは、ファイアウォールの内側を拠点内と称してよい。拠点の一例としては社内、施設内、部署内、部屋内などが挙げられる。拠点外は例えばクラウド環境であるが、拠点内ではない施設内を拠点外としてもよい。
【００２４】
＜システム構成例＞
図２は、ワークフローシステム１００のシステム構成図の一例である。ワークフローシステム１００は、一例として、複合機２０と、クライアント端末２１と、携帯端末２２と、オンプレミスサーバ（オンプレミスワークフローサーバ）３０と、管理者端末３２Ａと、ファイアウォール５０と、アクセス制御装置６０と、クラウドサーバ（クラウドワークフローサーバ）７０と、管理者端末３２Ｂと、クラウドワークフロー管理サーバ７１を備える。管理者端末３２Ａ，３２Ｂはどちらか一方があればよい。
【００２５】
このうち、インターネットＮより下方の装置は、ワークフローシステム１００の使用者（企業等）自身が管理する設備として導入されている（図１の拠点Ｂに相当）。使用者（企業等）自身が管理する設備をオンプレミスという。オンプレミスと対比される用語としてクラウド（又はクラウドコンピューティング）がある。クラウドコンピューティングとはインターネットＮ上のリソースを使用した情報処理をいう。クラウドコンピューティングの具体的な態様としてSaaS（Software as a Service）、PaaS（Platform as a Service）、IaaS（Infrastructure as a Service）があるが本実施形態ではどの態様が採用されてもよい。
【００２６】
ファイアウォール５０、複合機２０、クライアント端末２１、携帯端末２２、オンプレミスサーバ３０及び管理者端末３２Ａは、ネットワーク４０を介して接続される。ネットワーク４０は、例えば、ＬＡＮ（Local Area Network）、広域イーサネット又はＬＡＮがルータを介して接続されたＷＡＮ（Wide Area Network）である。ネットワーク４０はインターネットＮに対しファイアウォール５０の内側にあるネットワークである。ネットワーク４０は、有線で構築されていてもよいし、一部又は全部が無線により構築されていてもよい。
【００２７】
アクセス制御装置６０、クラウドサーバ７０、クラウドワークフロー管理サーバ７１、及び管理者端末３２Ｂは、ネットワーク８０を介して接続される。ネットワーク８０は、使用者（企業等）自身が管理する設備から見てインターネットＮよりも外側にあり、クラウド環境と呼ばれ、例えばデータセンター内のネットワークに相当する。ネットワーク８０がインターネットＮの一部でもよい。インターネットとは、コンピュータを世界的な規模で接続すると共に世界中のネットワークが相互接続されたネットワークである。
【００２８】
複合機２０は、スキャナ機能、プリンタ機能及びファクシミリ機能の少なくとも２つを有し、複合的な機能を提供する機器である。ただし、複合機２０は単一の機能を有する機器でもよい。複合機２０は、ＭＦＰ（Multi-Functional Peripherals）、画像形成装置、多機能プリンタ、コピー機又はオフィス機器などと呼ばれる場合がある。複合機２０は、更に通信機能、表示機能及び入力機能等を有している。複合機２０はワークフローが実行される際に処理の一部を担う場合がある。複合機２０は予め記憶しているプログラムに従ってデータ処理を実行する情報処理装置として機能する。複合機２０は、一例として、原稿をスキャンして画像データに変換し、変換した画像データに対してプログラムに従ったデータ処理を実行する。
【００２９】
複合機２０は、画像の入力（画像データの生成）や出力を行う機器として配置されているが、複合機２０はなくてもよく、また、他の機器がネットワーク４０に接続されていてもよい。例えば、テレビ会議端末、電子黒板、プロジェクタ、及びデジタルサイネージなどが複合機２０に代えて又は複合機２０と共に配置されていてもよい。
【００３０】
クライアント端末２１は情報処理装置であり、具体的にはデスクトップ型コンピュータ、ノート型コンピュータ、ワークステーション等である。クライアント端末２１は、更に通信機能、表示機能及び入力機能等を有する。クライアント端末２１は、予め記憶しているプログラムに従ってデータ処理を実行する情報処理装置として機能する。
【００３１】
携帯端末２２は、スマートフォン、タブレット端末、携帯電話機、デジタルカメラ、ウェアラブルＰＣなど、ユーザにより携帯され得る情報処理装置である。実際に携帯されなくてもよい。携帯端末２２は、更に通信機能、表示機能及び入力機能等を有する。携帯端末２２は、予め記憶しているプログラムに従ってデータ処理を実行する情報処理装置として機能する。
【００３２】
複合機２０、クライアント端末２１及び携帯端末２２は、オンプレミスサーバ３０に対してワークフローの実行を要求することができる。一般にはユーザがこれらを操作してワークフローを選択し実行を開始する。しかし、ユーザの操作がなくてもアプリなどが自動的に実行を要求してもよい。
【００３３】
オンプレミスサーバ３０に対してワークフローの実行を要求することができる装置は複合機２０、クライアント端末２１及び携帯端末２２に限られず、これら以外の情報処理装置でもよい。
【００３４】
オンプレミスサーバ３０は、一台以上のコンピュータにより実現されており、二台以上のオンプレミスサーバ３０が存在してもよい。オンプレミスサーバ３０は通信機能を有し、予め記憶しているプログラムに従ってデータ処理を実行する情報処理装置（第一の情報処理装置）として機能する。オンプレミスサーバ３０はワークフロー情報９を記憶する。
【００３５】
ワークフロー情報９は、一連の複数の処理の内容、該処理の順番、及び、複数の処理のそれぞれの実行主体となる情報処理装置を定義する情報である。更に、ワークフロー情報９では、複合機２０、クライアント端末２１及び携帯端末２２のうち選択された１つ以上の情報処理装置が実行主体として定義されうる。つまり、複合機２０、クライアント端末２１及び携帯端末２２は、ワークフローの実行を要求することもできるし、ワークフローを実行する主体となることができる。
【００３６】
オンプレミスサーバ３０は、これら情報処理装置（複合機２０、クライアント端末２１又は携帯端末２２）に対してワークフロー情報９のリストを提供する。そして、ワークフロー情報９を指定してワークフローの実行を要求してきた情報処理装置とオンプレミスサーバ３０が連携して、ワークフロー情報９に定義された複数の処理を実行する。より具体的には、オンプレミスサーバ３０及びワークフローの実行を要求してきた情報処理装置は、ワークフロー情報９に定義された複数の処理のそれぞれを、定義された順番で、実行主体として定義された情報処理装置に実行させる。オンプレミスサーバ３０及びワークフローの実行を要求してきた情報処理装置は、実行主体が変更する場合には、ネットワーク４０を介して処理対象となる対象データを受け渡しする。
【００３７】
更に、実行主体が定義されていない場合、オンプレミスサーバ３０及びワークフローの実行を要求してきた情報処理装置は、ワークフロー情報９に予め定められた判断条件に従って選択された１つの情報処理装置に実行させる。この場合、オンプレミスサーバ３０及びワークフローの実行を要求してきた情報処理装置は処理に実行主体となることができる装置が対応付けられたテーブルを有しており、適切な情報処理装置を判断する。複数の情報処理装置が同じ処理を実行できる場合は予め定められた判断条件に従って情報処理装置を選択する。予め定められた判断条件とは、例えば同一ネットワーク内の情報処理装置を選択する方式、各情報処理装置のうち空いている情報処理装置を選択する方式、消費電力の少ない情報処理装置を選択する方式などである。
【００３８】
ファイアウォール５０は、インターネットＮからネットワーク４０に、及び、ネットワーク４０からインターネットＮに送信されるパケットを監視し、決められたルールを基にパケットを通過させたり破棄したりする。具体的には、ネットワーク８０からのパケットを破棄し、ネットワーク４０からのパケットを通過させる。また、ネットワーク４０からネットワーク８０のパケットに対する応答のパケットを通過させる。ファイアウォール５０はこの他一般的な機能を有する。
【００３９】
管理者端末３２Ａは、管理者８により操作される情報処理装置である（第三の情報処理装置）。管理者８とはワークフローシステム１００の全体的な管理を行う者であり、主にワークフロー情報９の定義や編集を行う。これに対しユーザはワークフローを実行する者である。管理者８がユーザとなる場合もあり厳密に区別しなくてもよい。
【００４０】
また、管理者端末３２Ａと管理者端末３２Ｂはネットワーク４０と８０のどちらに接続されているかの違いで区別されており、実際には同じ端末であってもよい。
【００４１】
クラウドワークフロー管理サーバ７１は、一台以上の情報処理装置である。クラウドワークフロー管理サーバ７１はワークフロー情報９の定義のための画面データを提供するＷｅｂサーバである。管理者端末３２Ａは管理者８の操作に従いワークフロー情報９を定義しワークフロー情報９（又はワークフロー情報９の定義に必要な情報）をクラウドワークフロー管理サーバ７１に送信する。
【００４２】
クラウドサーバ７０は、一台以上のコンピュータにより実現されており、二台以上のクラウドサーバ７０が存在してもよい。クラウドサーバ７０は通信機能を有し、予め記憶しているプログラムに従ってデータ処理を実行する情報処理装置として機能する（第二の情報処理装置）。クラウドサーバ７０はクラウドワークフロー管理サーバ７１からワークフロー情報９を取得して記憶している。クラウドワークフロー管理サーバ７１は、クラウドサーバ７０と一体的に構成されていてもよい。
【００４３】
クラウドサーバ７０は、オンプレミスサーバ３０と同様の機能を有する。すなわち、クラウド側でクラウド上の種々のサービスと連携してワークフローを実行する。ワークフローで定義された処理がオンプレミスで実行される場合、クラウドサーバ７０はオンプレミスサーバ３０に処理対象となる対象データを送信する。なお、複合機２０、クライアント端末２１又は携帯端末２２がネットワーク８０に接続されていてもよい。
【００４４】
アクセス制御装置６０はネットワーク４０内の情報処理装置（複合機２０、クライアント端末２１、及び携帯端末２２）及びオンプレミスサーバ３０が、ネットワーク８０にアクセスするための認証を行う。つまり、クラウドサーバ７０にアクセスし、オンプレミスサーバ３０とクラウドサーバ７０が連携してワークフローを実行するための認証を行う。  認証には、ユーザＩＤとパスワード、又は、これらに加えて組織毎に割り当てられた組織コードと呼ばれるコードが用いられる。ネットワーク４０内のオンプレミスサーバ３０及び各情報処理装置は、アクセス制御装置６０による認証が成功すると、ネットワーク８０のクラウドサーバ７０にアクセスすることができる。
【００４５】
＜ワークフロー情報で定義される処理と実行主体＞
図３は、ワークフロー情報９で定義される処理と実行主体を模式的に説明する図の一例である。ワークフロー情報９に含まれる処理の一例として、データを取り込む処理（例えば、スキャン処理、撮像処理、メール受信処理、及び、ファクシミリ受信処理等）が定義される。
【００４６】
また、ワークフロー情報９に含まれる処理の一例として、各種のデータ処理（データ圧縮処理、文字認識処理（ＯＣＲ処理）、フィルタリング処理、データ合成処理、特定のデータ形式への符号化処理、特定のファイル形式への変換処理（例えばＰＤＦ化処理）等）が定義される。
【００４７】
また、ワークフロー情報９に含まれる処理の一例として、データを外部に出力する処理（印刷処理、表示処理、音声出力処理、データのサーバへの配信（アップロード）処理、及び、メール配信処理等）が定義される。
【００４８】
ワークフロー情報９には、一連の処理の実行順番が定義される。それぞれの処理を実行する情報処理装置は、前段の処理の結果である対象データを受け取り、受け取った対象データに対して処理を実行する。対象データは、画像データ、動画像データ、テキストデータ、音声データ及びコンピュータプログラム等、どのようなデータであってもよい。
【００４９】
図３では、処理１〜４が図示されているが、処理１、２はオンプレミスサーバ３０又は複合機２０で実行され、処理３，４はクラウドサーバ７０で実行される。オンプレミスサーバ３０又は複合機２０は処理１が実行されると処理２を実行するオンプレミスサーバ３０又は複合機２０（自機の場合は送信しない）に前段の処理の結果である対象データを送信する。オンプレミスサーバ３０又は複合機２０は処理２の実行が完了すると、対象データをクラウドサーバ７０に送信する。クラウドサーバ７０は処理３の実行が完了すると処理４を実行する。
【００５０】
ワークフロー情報９には、それぞれの処理を実行する実行主体となる情報処理装置が事前に定義される場合とされない場合がある。例えば、事前に定義される場合を説明する。クラウドサーバ７０、オンプレミスサーバ３０及び複合機２０が連携して複数の処理を実行する場合、ワークフロー情報９には、それぞれの処理をクラウドサーバ７０、オンプレミスサーバ３０又は複合機２０のいずれが実行するかが定義される。
【００５１】
ワークフロー情報９に従った複数の処理を実行するそれぞれの情報処理装置は、処理の実行主体が前段の処理から変更される場合、前段の処理の結果である対象データを、前段の処理の実行主体となる第１の情報処理装置が次の処理の実行主体となる第２の情報処理装置へと送信する。例えば、処理の実行主体がオンプレミスサーバ３０からクラウドサーバ７０へ変更される場合、オンプレミスサーバ３０はネットワーク４０とインターネットＮを介して対象データ（前段の処理の結果）をクラウドサーバ７０に引き渡す。処理の実行主体がクラウドサーバ７０からオンプレミスサーバ３０へ変更される場合はこの逆の流れになる。
【００５２】
これにより、オンプレミスサーバ３０及びクラウドサーバ７０は、ワークフロー情報９に定義された複数の処理を連携して実行することができる。
【００５３】
なお、ワークフロー情報９は、コンピュータにより解釈が可能なデータ形式で記述される。ワークフロー情報９は、一例として、ＸＭＬ（Extensible Markup Language）により記述される。
【００５４】
実行主体が事前に定義されない場合を説明する。事前に定義されない場合、オンプレミスサーバ３０は、処理と該処理を実行可能な情報処理装置（複合機２０、クライアント端末２１、及び携帯端末２２）が対応付けて登録されているテーブルを参照して、前段の処理の結果である対象データを送信する情報処理装置を決定する。情報処理装置がクラウド上にある場合は、クラウドサーバ７０に送信する。クラウドサーバ７０も同様に処理と該処理を実行可能な情報処理装置が対応付けて登録されているテーブルを参照して、対象データを送信する情報処理装置を決定する。
【００５５】
オンプレミスサーバ３０からクラウドサーバ７０へ対象データが送信された旨がファイアウォール５０に登録されている場合、クラウドサーバ７０からオンプレミスサーバ３０への対象データの送信は、オンプレミスサーバ３０からクラウドサーバ７０への送信に対する応答であるとしてファイアウォール５０により許可される。
【００５６】
あるいは、クラウドサーバ７０が対象データをクラウドサーバ７０又はクラウドワークフロー管理サーバ７１に記憶させておけば、オンプレミスサーバ３０がそれを取りに行くことで後段の処理を実行できる。
【００５７】
＜ハードウェア構成＞
図４は、オンプレミスサーバ３０、クラウドサーバ７０、クラウドワークフロー管理サーバ７１、管理者端末３２のハードウェア構成図の一例である。以下では、代表してオンプレミスサーバ３０の構成を説明する。オンプレミスサーバ３０は、ＣＰＵ３０１と、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）３０３と、ＨＤＤ３０４と、ディスプレイ３２０が接続されたグラフィックボード３０５と、入力装置３０６と、メディアドライブ３０７と、ネットワーク通信部３０８とを有する。ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、ＨＤＤ３０４、グラフィックボード３０５、入力装置３０６、メディアドライブ３０７、及び、ネットワーク通信部３０８は、バス３１０により接続されている。
【００５８】
ＣＰＵ３０１は、ＨＤＤ３０４に記憶されたプログラムをＲＡＭ３０３に展開して実行し、各部品を制御して入出力を行ったり、データの加工を行ったりする。ＲＯＭ３０２には、ＢＩＯＳ（Basic Input／Output System）及びブートストラップローダをＨＤＤ３０４からＲＡＭ３０３に読み出すスタートプログラムが記憶されている。ブートストラップローダは、ＯＳをＨＤＤ３０４からＲＡＭ３０３に読み出す。
【００５９】
ＨＤＤ３０４は、不揮発性のメモリであればよくＳＳＤ（Solid State Drive）などでもよい。ＨＤＤ３０４は、ＯＳ及びデバイスドライバを記憶している。更に、ＨＤＤ３０４には、ワークフロー処理プログラムが記憶されている。また、ＨＤＤ３０４には、各種のプラグインプログラムが記憶されている。これらのプログラムは、インストール可能な形式又は実行可能な形式のファイルで、コンピュータで読み取り可能な記録メディアに記録して配布される。また、プログラムはサーバからダウンロードすることにより配布されてもよい。
【００６０】
ディスプレイ３２０には、プログラムが指示し、グラフィックボード３０５が作成したＧＵＩ画面が表示される。入力装置３０６は、例えば、キーボード又はマウス等であり、ユーザの操作を受け付ける。メディアドライブ３０７は、コンパクトディスク、ＤＶＤ（Digital Versatile Disk）及びブルーレイディスクなどの光学メディアに対してデータを読み書きする。また、メディアドライブ３０７は、フラッシュメモリなどのメモリカードに対してデータを読み書きしてもよい。ネットワーク通信部３０８は、例えばＬＡＮに接続するためのイーサネット（登録商標）カードである。
【００６１】
なお、クライアント端末２１及び携帯端末２２のハードウェア構成図は図４と同様であるが、異なっているとしても本実施形態の説明に支障がないものとする。
【００６２】
<<複合機のハードウェア構成>>
図５は、複合機２０の概略的なハードウェア構成を示したブロック図の一例である。複合機２０は、コントローラ４１０とエンジン部（Ｅｎｇｉｎｅ）４１５とをＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ Ｃｏｍｐｏｎｅｎｔ Ｉｎｔｅｒｆａｃｅ）バス４１６で接続した構成となる。
【００６３】
コントローラ４１０は、複合機２０全体の制御と描画、通信、操作パネル４１１からの入力を制御するコントローラである。エンジン部４１５は、ＰＣＩバス４１６に接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナ又はファックスユニットなどである。
【００６４】
なお、このエンジン部４１５には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【００６５】
コントローラ４１０は、ＣＰＵ４０１と、ノースブリッジ（ＮＢ）４０３と、システムメモリ（ＭＥＭ−Ｐ）４０２と、サウスブリッジ（ＳＢ）４０４と、ローカルメモリ（ＭＥＭ−Ｃ）４０７と、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ Ｓｐｅｃｉｆｉｃ Ｉｎｔｅｇｒａｔｅｄ Ｃｉｒｃｕｉｔ）４０６と、ハードディスクドライブ（ＨＤＤ）４０８とを有し、ノースブリッジ（ＮＢ）４０３とＡＳＩＣ４０６との間をＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ Ｇｒａｐｈｉｃｓ Ｐｏｒｔ）バス４０５で接続した構成となる。
【００６６】
また、ＭＥＭ−Ｐ４０２は、ＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）４０２ａと、ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ)４０２ｂと、を更に有する。
【００６７】
ＣＰＵ４０１は、複合機２０の全体制御を行うものであり、ＮＢ４０３、ＭＥＭ−Ｐ４０２及びＳＢ４０４からなるチップセットを有し、このチップセットを介して他のチップと接続される。
【００６８】
ＮＢ４０３は、ＣＰＵ４０１とＭＥＭ−Ｐ４０２、ＳＢ４０４、ＡＧＰバス４０５とを接続するためのブリッジであり、ＭＥＭ−Ｐ４０２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタ及びＡＧＰターゲットとを有する。
【００６９】
ＭＥＭ−Ｐ４０２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ４０２ａとＲＡＭ４０２ｂとからなる。
【００７０】
ＲＯＭ４０２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ４０２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込み及び読み出し可能なメモリである。
【００７１】
ＳＢ４０４は、ＮＢ４０３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ４０４は、ＰＣＩバスを介してＮＢ４０３と接続されており、このＰＣＩバスには、ネットワークＩ／Ｆ４０９なども接続される。ＡＳＩＣ４０６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Ｉｎｔｅｇｒａｔｅｄ Ｃｉｒｃｕｉｔ）であり、ＡＧＰバス４０５、ＰＣＩバス４１６、ＨＤＤ４０８及びＭＥＭ−Ｃ４０７をそれぞれ接続するブリッジの役割を有する。
【００７２】
このＡＳＩＣ４０６は、ＰＣＩターゲット及びＡＧＰマスタと、ＡＳＩＣ４０６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ４０７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などを行う複数のＤＭＡＣ（Ｄｉｒｅｃｔ Ｍｅｍｏｒｙ Ａｃｃｅｓｓ Ｃｏｎｔｒｏｌｌｅｒ）と、エンジン部４１５との間でＰＣＩバスを介したデータ転送を行うＰＣＩユニットとを有する。
【００７３】
ネットワークＩ／Ｆ４０９はネットワークを介してクラウドサーバ７０等と通信するための通信装置であり、例えばＮＩＣ（Network Interface Card）である。
【００７４】
このＡＳＩＣ４０６には、ＰＣＩバスを介してＦＣＵ（Ｆａｃｓｉｍｉｌｅ Ｃｏｎｔｒｏｌ Ｕｎｉｔ）４１２、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ Ｓｅｒｉａｌ Ｂｕｓ）４１３、ＩＥＥＥ１３９４（ｔｈｅ Ｉｎｓｔｉｔｕｔｅ ｏｆ Ｅｌｅｃｔｒｉｃａｌ ａｎｄ Ｅｌｅｃｔｒｏｎｉｃｓ Ｅｎｇｉｎｅｅｒｓ １３９４）インタフェース４１４が接続される。
【００７５】
操作パネル４１１はＡＳＩＣ４０６に直接接続されている。ＭＥＭ−Ｃ４０７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリである。ＨＤＤ４０８は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
【００７６】
また、ＨＤＤ４０８は、複合機２０で実行されるアプリケーションのライセンスファイルを保存する。ＡＧＰバス４０５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ４０２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【００７７】
＜機能について＞
以下、オンプレミスサーバ３０、クラウドサーバ７０、クラウドワークフロー管理サーバ７１、管理者端末３２、及び、複合機２０の機能について説明する。
【００７８】
<<オンプレミスサーバ３０、クラウドサーバ７０>>
図６は、オンプレミスサーバ３０及びクラウドサーバ７０の機能をブロック状に示す機能ブロック図の一例である。クラウドサーバ７０は、処理実行部６１と、ネットワーク通信部６３と、ワークフロー制御部６４とを有する。これらは、図４に示されているＣＰＵ３０１がプログラム３０４ｐに従って出力する命令等によって実現される機能又は手段である。また、クラウドサーバ７０はワークフロー記憶部６２を有する。ワークフロー記憶部６２は図４に示されているＨＤＤ３０４やＲＡＭ３０３等に構築される記憶手段であり、クラウドワークフロー管理サーバ７１から登録された少なくとも１つのワークフロー情報９を記憶している。
【００７９】
処理実行部６１は、ワークフロー情報９に定義されたそれぞれの処理を実行する。処理実行部６１は、オンプレミスワークフローサーバ連携処理部７７、及び、複数の処理部７４（７４−１、７４−２、…、７４−Ｎ）を有する（Ｎは自然数）。複数の処理部７４のそれぞれは互いに異なる処理を実行する。複数の処理部７４のそれぞれは、ワークフロー制御部６４により呼び出されたプラグインプログラムをＣＰＵ３０１が実行することにより実現される。
【００８０】
例えば、処理実行部６１には、文字認識用プラグインプログラムが予め登録されており、文字認識用プラグインプログラムが呼び出されることにより、文字認識処理（ＯＣＲ処理）を実行する。また、処理実行部６１には、例えばメール配信用プラグインプログラムが予め登録されており、メール配信用プラグインプログラムが呼び出されることにより、メール配信処理を実行する。
【００８１】
クラウドサーバ７０の処理部７４とオンプレミスサーバ３０の処理部７４は同じ処理を実行するものが含まれていてよい。例えば、どちらにもメール配信の処理部７４があり、どちらで実行できてもよい。また、本来、同じ処理を行うことが可能でも、ソフトウェア構成やライセンス形態により、同じ処理（共通のプログラム）を実行できなくてもよい。また、クラウドサーバ７０の処理部７４でのみ可能な処理、オンプレミスサーバ３０の処理部７４でのみ可能な処理があってもよい。
【００８２】
オンプレミスワークフローサーバ連携処理部７７はオンプレミスサーバ３０にワークフローの実行を要求する。
【００８３】
クラウドサーバ７０のワークフロー制御部６４は、ワークフロー情報９で指定されている実行主体となる情報処理装置の情報を元に、クラウドサーバ７０で実行する処理の場合は、クラウドサーバ７０の処理部７４に処理要求する。オンプレミスサーバ３０で実行する処理の場合は、クラウドサーバ７０のワークフロー制御部６４は、オンプレミスワークフローサーバ連携処理部７７を使用してオンプレミスサーバ３０に処理を依頼する。
【００８４】
ネットワーク通信部６３は、ネットワーク８０及びインターネットＮを介して、オンプレミスサーバ３０と対象データを通信する。
【００８５】
オンプレミスサーバ３０は、処理実行部６１と、ネットワーク通信部６５と、ワークフロー制御部６４と、情報取得部５９とを有する。処理実行部６１は処理部７４とクラウドワークフローサーバ連携処理部７２を有する。クラウドワークフローサーバ連携処理部７２はクラウドサーバ７０にワークフローの実行を要求する。これらは、図４に示されているＣＰＵ３０１がプログラム３０４ｐに従って出力する命令等によって実現される機能又は手段である。
【００８６】
また、オンプレミスサーバ３０は、ワークフロー記憶部６６及びクラウドワークフローサーバアクセス情報記憶部６７を有する。ワークフロー記憶部６６及びクラウドワークフローサーバアクセス情報記憶部６７は、図４に示されているＨＤＤ３０４やＲＡＭ３０３等に構築される記憶手段である。ワークフロー記憶部６６は、クラウドサーバ７０のワークフロー記憶部６２から情報取得部５９が取得したワークフロー情報９を記憶する。記憶の処理は後述する図１２にて説明する。
【００８７】
クラウドワークフローサーバアクセス情報記憶部６７は、クラウドサーバ７０と通信するためのＩＰアドレス又はＵＲＬと認証情報等を記憶している。認証情報は予め設定されていことなくワークフローの実行時に入力してもよい。
【００８８】
情報取得部５９は、定期的、決まった時刻又は負荷の小さい時などの予め決まったタイミングにワークフロー情報９が更新されたか否かを判断する。更新の有無をクラウドサーバ７０に問い合わせてもよい。更新されていた場合は、クラウドサーバ７０からワークフロー情報９を取得しテスト実行が成功すればワークフロー記憶部６６に記憶させる。
【００８９】
ネットワーク通信部６５は、ネットワーク４０及びインターネットＮを介して、クラウドサーバ７０と対象データを通信する。オンプレミスサーバ３０のワークフロー制御部６４は、ワークフロー情報９で指定されている実行主体となる情報処理装置の情報を元に、オンプレミスサーバ３０で実行する処理の場合は、オンプレミスサーバ３０の処理部７４に処理を要求する。
【００９０】
クラウドサーバ７０で実行する処理の場合、ワークフロー制御部６４は、クラウドワークフローサーバ連携処理部７２を使用してクラウドサーバ７０に処理を依頼する。クラウドワークフローサーバ連携処理部７２は、クラウドワークフローサーバアクセス情報記憶部６７からクラウドサーバ７０のＩＰアドレスを取得し、ネットワーク通信部６５を経由してクラウドサーバ７０のWebAPIに対して処理を要求する。WebAPIは、情報処理装置同士がネットワークを介して処理を行う際の取り決め（処理の依頼方法やデータの指定方法など）、又は、情報処理装置と情報処理装置を通信で結ぶための仕組みである。単に「ＩＦ（インタフェース）」と呼ばれる場合もある。
【００９１】
<<クラウド管理サーバ、管理者端末>>
図７は、クラウドワークフロー管理サーバ７１及び管理者端末３２の機能をブロック状に示す機能ブロック図の一例である。管理者端末３２は管理者端末３２Ａ，３２Ｂのどちらでもよい。クラウドワークフロー管理サーバ７１は、画面データ送信部４４と、ワークフロー情報受信部４５と、登録部４７を有する。これらは、図４に示されているＣＰＵ３０１がプログラム３０４ｐに従って出力する命令等によって実現される機能又は手段である。また、クラウドワークフロー管理サーバ７１は画面データ記憶部４１及び装置リストテーブル記憶部４２を有する。画面データ記憶部４１及び装置リストテーブル記憶部４２は図４に示されているＨＤＤ３０４やＲＡＭ３０３等に構築される記憶手段である。
【００９２】
画面データ記憶部４１は、ワークフロー情報９の定義時に管理者端末３２が表示する画面データを記憶する。画面データは例えばＨＴＭＬデータ、スクリプト言語及びＣＳＳ等により記述されている。静的な画面データだけでなく、Ｗｅｂアプリとして画面データ送信部４４が画面データを動的に作成してよい。
【００９３】
装置リストテーブル記憶部４２が記憶する情報について表１を使って説明する。
【００９４】
【表１】
2018067144.tif 000003
表１は、装置リストテーブル記憶部４２に記憶される装置リストテーブルを示す。装置リストテーブルには、処理、情報処理装置及びマシンＩＤの各項目が対応づけて登録されている。処理は、ワークフロー情報９で定義することが可能な具体的な処理の内容である。情報処理装置は、それぞれの処理の実行主体となることが可能な１以上の情報処理装置の具体例である。マシンＩＤは、情報処理装置を特定する情報である。ＩＤはIdentificationの略であり識別子や識別情報という意味である。ＩＤは複数の対象から、ある特定の対象を一意的に区別するために用いられる名称、符号、文字列、数値又はこれらのうち１つ以上の組み合わせをいう。
【００９５】
クラウドワークフロー管理サーバ７１の機能について説明する。画面データ送信部４４は、画面データ記憶部４１に記憶されている画面データ、及び、装置リストテーブル記憶部４２に記憶されている装置リストテーブルを、管理者端末３２に送信する。
【００９６】
ワークフロー情報受信部４５は、管理者端末３２から管理者８の操作に従い定義されたワークフロー情報９を受信する。登録部４７は、ワークフロー情報９をクラウドサーバ７０に送信して、クラウドサーバ７０のワークフロー記憶部６２に記憶させる。
【００９７】
管理者端末３２は、画面データ受信部５１と、制御部５２と、ワークフロー情報送信部５３とを有する。これらは、図４に示されているＣＰＵ３０１がプログラム３０４ｐに従って出力する命令等によって実現される機能又は手段である。
【００９８】
画面データ受信部５１は、クラウドワークフロー管理サーバ７１から画面データを受信する。制御部５２は、画面データ受信部５１により受信された画面データをディスプレイ３２０に表示すると共に、入力装置３０６からの入力に応じて、ワークフロー情報９の定義を行う。より具体的には、制御部５２は、複数の処理の順番、及び、それぞれの処理と実行主体となる情報処理装置との対応付けを定義するための画面をディスプレイ３２０に表示する。そして、制御部５２は、画面上での操作入力に応じて、複数の処理の順番、及び、それぞれの処理の実行主体となる情報処理装置を定義するワークフロー情報９を定義する。
【００９９】
ワークフロー情報送信部５３は、制御部５２により定義されたワークフロー情報９をクラウドワークフロー管理サーバ７１に送信する。
【０１００】
<<複合機>>
図８は、複合機２０の機能をブロック状に示す機能ブロック図の一例である。複合機２０は、処理実行部６１と、ネットワーク通信部５５と、ワークフロー制御部６４と、ログイン部５７と、ワークフロー選択部５６と、機能実行部６８と、機能制御部６９とを有する。これらは、図５に示されているＣＰＵ４０１がプログラム４０８ｐに従って出力する命令等によって実現される機能又は手段である。
【０１０１】
また、複合機２０はワークフロー記憶部６２とアクセス情報記憶部５８を有する。ワークフロー記憶部６２とアクセス情報記憶部５８は複合機２０のハードディスクドライブ４０８、ローカルメモリ（ＭＥＭ−Ｃ）４０７と、ＭＥＭ−Ｐ４０２等に構築される記憶手段である。ワークフロー記憶部６２には、クラウドサーバ７０から取得したワークフロー情報９が記憶されている。アクセス情報記憶部５８には、オンプレミスサーバ３０とクラウドサーバ７０のアドレス情報及び認証情報が保持されている。オンプレミスサーバ３０のアドレス情報は、クラウドワークフロー管理サーバ７１に対するワークフロー情報９の登録時に管理者８により入力されてもよいし、複合機２０の操作パネル４１１で入力されてもよい。
【０１０２】
また、処理実行部６１及びワークフロー制御部６４は、クラウドサーバ７０が備える処理実行部６１及びワークフロー制御部６４と同様の機能及び構成を有する。ただし、処理実行部６１は、クラウドワークフローサーバ連携処理部７２とオンプレミスワークフローサーバ連携処理部７３を有している。また、複合機２０の処理実行部６１は、オンプレミスサーバ３０の処理実行部６１と同じ処理部７４を有していてもよいし、異なる処理部７４を有していてもよい。
【０１０３】
クラウドワークフローサーバ連携処理部７２は、クラウドサーバ７０にワークフローの実行を要求する処理部である。オンプレミスワークフローサーバ連携処理部７３は、オンプレミスサーバ３０にワークフローの実行を要求する処理部である。
【０１０４】
ワークフロー制御部６４は、ワークフロー情報９で指定されている実行主体となる情報処理装置の情報を元に、クラウドサーバ７０で実施する処理の場合は、クラウドワークフローサーバ連携処理部７２を使用してクラウドサーバ７０に処理を依頼する。クラウドワークフローサーバ連携処理部７２は、アクセス情報記憶部５８からクラウドサーバ７０のＩＰアドレスを取得し、ネットワーク通信部５５を経由してクラウドサーバ７０のWebAPIに対して処理を要求する。クラウドサーバ７０のネットワーク通信部６３は実行要求を受信すると、ワークフロー制御部６４に実行を要求する。オンプレミスサーバ３０が処理の実行主体となる場合も同様である。
【０１０５】
ネットワーク通信部５５は、ネットワーク４０及びインターネットＮを介してクラウドサーバ７０と通信し、ネットワーク８０を介してオンプレミスサーバ３０と通信する。
【０１０６】
ログイン部５７は、ユーザの操作に基づき複合機２０にログインするためのログイン情報を受け付ける。ログイン情報は、例えばユーザ名とパスワード、ＩＣカードに記憶された情報、又は指紋などの生体情報等である。ワークフロー選択部５６は、選択可能なワークフローのリストを表示して、ユーザの操作に基づき実行するワークフローの選択を受け付ける。
【０１０７】
機能実行部６８は、複合機２０が機器として備える特有の機能を実行する。特有の機能とは所定のハードウェアが必要な機能である。機能実行部６８は、一例として、スキャン部８１と、プリント部８２と、ファクシミリ部８３と、表示入力部８４とを有する。スキャン部８１は、原稿台にセットされた用紙をスキャンして画像データを取得する。プリント部８２は、用紙に画像等を印刷する。ファクシミリ部８３は、電話回線又はネットワーク４０を介してファクシミリの送信又は受信をする。表示入力部８４は、ユーザに対して情報を表示し、また、ユーザからの操作情報を入力する。
【０１０８】
機能制御部６９は、機能実行部６８により実行される機能を制御する。機能制御部６９は、ワークフロー情報９に機能実行部６８により実行される処理が定義されている場合には、ワークフロー制御部６４からの呼び出しに応じて機能実行部６８に処理を実行させる。
【０１０９】
＜ワークフローの登録時の動作＞
図９は、管理者８がワークフロー情報９を設定する手順を示すシーケンス図の一例である。図９の処理は、ワークフロー情報９を管理者８が設定する際にスタートする。管理者端末３２は、ネットワーク４０と８０のどちらに接続されていてもよい。
【０１１０】
S1：管理者８が管理者端末３２を操作すると、管理者端末３２がクラウドワークフロー管理サーバ７１にアクセスし、ワークフロー設定画面５０１に関する画面データを要求する。
【０１１１】
S2：クラウドワークフロー管理サーバ７１の画面データ送信部４４はワークフロー設定画面５０１の画面データを管理者端末３２に送信する。
【０１１２】
S3：管理者端末３２の画面データ受信部５１はワークフロー設定画面５０１の画面データを受信し、制御部５２は画面データ受信部５１により受信された画面データを解析してワークフロー設定画面５０１をディスプレイ３２０に表示する。ワークフロー設定画面５０１の画面例を図１０に示す。
【０１１３】
S4：ワークフローを定義したら管理者８は管理者端末３２を操作してワークフロー情報９をクラウドワークフロー管理サーバ７１に登録する。管理者８はワークフロー情報９に任意の名称を付与できる。管理者端末３２のワークフロー情報送信部５３は、ワークフロー情報９を送信すると共にその登録要求をクラウドワークフロー管理サーバ７１に送信する。
【０１１４】
S5：クラウドワークフロー管理サーバ７１のワークフロー情報受信部４５はワークフロー情報９と登録要求を受信する。そして、クラウドワークフロー管理サーバ７１の登録部４７はワークフロー情報９と登録要求をクラウドサーバ７０に送信する。なお、クラウドワークフロー管理サーバ７１とクラウドサーバ７０が同一のサーバであればこの処理は不要である。クラウドサーバ７０はワークフロー記憶部６２にワークフロー情報９を記憶する。
【０１１５】
S6：クラウドサーバ７０はワークフロー情報９の登録要求に対する結果をクラウドワークフロー管理サーバ７１に送信する。
【０１１６】
S7：クラウドワークフロー管理サーバ７１はワークフロー情報９の登録要求に対する結果をクラウドワークフロー管理サーバ７１に送信する。
【０１１７】
S8：次に管理者８はオンプレミスサーバ３０にワークフロー情報９を設定するため、管理者端末３２を操作してオンプレミスサーバ３０にアクセスする。管理者端末３２の画面データ受信部５１はオンプレミスサーバ３０に設定画面５１１を要求する。
【０１１８】
S9：オンプレミスサーバ３０のネットワーク通信部６５は設定画面５１１に関する画面データを管理者端末３２に送信する。なお、管理者端末３２がネットワーク８０に接続されている場合、ファイアウォール５０を超えるため例えばＶＰＮ（Virtual Private Network）を利用する。
【０１１９】
S10：管理者端末３２の画面データ受信部５１は設定画面５１１の画面データを受信し、制御部５２がディスプレイ３２０に設定画面５１１を表示する。設定画面５１１の一例を図１１に示す。詳細は図１１にて説明するが、設定画面５１１はワークフロー情報９の登録に関する設定を行う画面である。
【０１２０】
S11：管理者８は必要事項を設定画面５１１で設定し、ワークフロー更新要求を送信する操作を行う。管理者端末３２の制御部５２は操作を受け付け、オンプレミスサーバ３０にワークフロー更新要求を送信する。ワークフロー更新要求は、オンプレミスサーバ３０がクラウドサーバ７０に登録されているワークフロー情報９を取得して自機のワークフロー情報９を更新する要求である。
【０１２１】
S12：オンプレミスサーバ３０のネットワーク通信部６５はワークフロー更新要求を受信して、情報取得部５９がクラウドサーバ７０にワークフロー情報９のダウンロードを要求する。詳細の手順は図１３にて説明する。
【０１２２】
S13：クラウドサーバ７０のネットワーク通信部６３はワークフロー情報９をオンプレミスサーバ３０に送信する。送信するワークフロー情報９は、オンプレミスサーバ３０に送信していないものだけでもよいし、全てのワークフロー情報９を送信してもよい。オンプレミスサーバ３０のネットワーク通信部６５は、ワークフロー情報９を受信する。
【０１２３】
S14：オンプレミスサーバ３０のワークフロー制御部６４は更新の結果を管理者端末３２に送信する。すなわち、管理者８が登録したワークフロー情報９をオンプレミスサーバ３０が取得できたことを通知する。
【０１２４】
S15：次に、管理者８はワークフローが実際に動作可能かどうかを確認するため、ワークフロー実行テストを行う。管理者端末３２はテスト要求をオンプレミスサーバ３０に送信する。テスト実行とは、ワークフロー情報９に定義された各処理を複合機２０，オンプレミスサーバ３０及びクラウドサーバ７０等が実行し、ワークフローの全体が実行されるかどうかを確認することをいう。他のシステムと連携するような処理は接続テストを実行して通信できるかどうかをテストする。
【０１２５】
S16：オンプレミスサーバ３０のワークフロー制御部６４はワークフロー情報９に基づいてワークフローを実行する。なお、ワークフロー制御部６４は自身が実行主体となる処理を実行し、クラウドサーバ７０が実行主体となる処理の実行をクラウドサーバ７０に要求する。クラウドサーバ７０に処理を要求した場合、オンプレミスサーバ３０は対象データ又は処理の実行結果をクラウドサーバ７０から取得する。
【０１２６】
S17：オンプレミスサーバ３０のワークフロー制御部６４はネットワーク通信部６５を介してテスト結果を管理者端末３２に送信する。
【０１２７】
このようにテストを行うことで、ワークフロー情報９が適切か否かを管理者８が判断できる。クラウドサーバ７０に対し、オンプレミスのシステムと連携するワークフロー情報９を管理者８が設定する場合、ワークフロー情報９が適切でない場合がある。例えば、オンプレミスの共有フォルダにデータを配信するワークフロー情報９の場合、クラウドサーバ７０はオンプレミスのシステムの共有フォルダのパスをワークフロー設定画面５０１で再現できない。あるいは再現できるとしてもオンプレミスのパスが変更されるおそれがある。このため、管理者８はパスを手入力するが、この際、誤って入力される可能性がある。そこで、ワークフローが実際に動作可能かテストを行うことが有効である。
【０１２８】
図９にて説明したように、クラウドワークフロー管理サーバ７１を使用する事で、外出先などのオンプレミスのネットワーク４０に管理者８が接続できない環境でもワークフロー情報９の登録ができるようになる。またオンプレミスで稼動しているオンプレミスサーバ３０が複数存在する場合も、管理者はクラウドワークフロー管理サーバ７１のワークフロー情報９を更新したり新規に登録したりするのみでよく、オンプレミスサーバ３０の数だけ更新する手間がなくなる。
【０１２９】
<<ワークフロー設定画面>>
図１０はワークフロー設定画面５０１の一例を示す図である。図１０（ａ）は実行主体が定義されない例を示し、図１０（ｂ）は実行主体が定義される例を示す。
【０１３０】
ワークフロー設定画面５０１は処理リスト欄５０２とワークフロー編集欄５０３を有している。処理リスト欄５０２には、ワークフローで選択可能な処理の一覧が表示される。ワークフロー編集欄５０３には、一連の複数の処理の内容５０４、該処理の順番、及び、複数の処理のそれぞれの実行主体となる情報処理装置を管理者８が編集するために使用される欄である。
【０１３１】
管理者８は、処理リスト欄５０２に表示された具体的な処理をマウスなどの入力装置３０６で選択し、ワークフロー編集欄５０３にドラッグすることで、ワークフローに含まれる処理を指定することができる。管理者８はワークフローで実行する複数の処理を処理リスト欄５０２からドラッグしてワークフローを定義する。図１０では処理の順番が矢印５０４ａで表されている。また、管理者８はワークフロー編集欄５０３にドラッグした処理の位置を任意に変更することで、ワークフローにおける処理の順番を変更できる。
【０１３２】
図１０（ａ）では、一例として、「スキャン」、「Ａシステム（データ取得）」、「文書情報置換」、「Ｂクラウド（配信）」が順番に実行されるワークフローが定義されている。このワークフローは、複合機２０が原稿をスキャンして画像データを生成し、Ａシステムからデータを取得し、このデータを文書名に使用して、Ｂクラウドに配信するワークフローを意味している。
【０１３３】
図１０（ｂ）のワークフロー設定画面５０１では、ワークフローの各処理の実行主体（装置）５０５を管理者８が指定できる。管理者８は処理ごとに実行主体を選択する事ができる。具体的には、複合機２０、オンプレミスサーバ３０又はクラウドサーバ７０のいずれかを処理ごとに選択する。処理と情報処理装置の対応は表１の装置リストテーブルに設定されている。
【０１３４】
処理によって、実行主体が限定されるものは管理者８でなく管理者端末３２が決定してもよい。例えばスキャン処理は複合機２０のみが実行でき、Ａシステムからデータ取得処理はオンプレミスサーバ３０のみ実行できるので、管理者端末３２は、スキャン処理の実行主体を複合機２０に設定し、Ａシステムからデータ取得処理の実行主体をオンプレミスサーバ３０に設定する。管理者端末３２の制御部５２は、管理者８が選択した処理を実行できる情報処理装置が１つしかない場合、管理者８が選択した処理の実行主体を該情報処理装置に設定する。この場合、処理と実行主体の関係は変更すべきでないので、管理者８が変更できないように管理者端末３２の制御部５２はワークフロー設定画面５０１を構築することが好ましい。
【０１３５】
一方、クラウドサーバ７０とオンプレミスサーバ３０が共通の処理部７４を有するので、１つの処理をオンプレミスサーバ３０とクラウドサーバ７０のどちらでも実行できる場合もある。例えば、図１０（ｂ）のＢクラウドに配信する処理はオンプレミスサーバ３０が実行すると定義されているが、この処理はクラウドサーバ７０も実行可能である。このため、管理者８はクラウドサーバ７０が実行するように定義することができる。例えば、管理者８が、データの配信先のクラウド以外には接続したくない（オンプレミスに接続したくない）などを要望する場合は、クラウドサーバ７０を実行主体に変更することで実現できる。
【０１３６】
<<設定画面>>
図１１は、設定画面５１１の一例を示す図である。設定画面５１１は認証情報欄５１２、ワークフロー取得欄５１３、ワークフロー自動更新設定欄５１４、及びテスト実行ボタン５１５を有する。認証情報欄５１２は、更にユーザＩＤ欄５１２ａとパスワード欄５１２ｂを有している。ユーザＩＤ欄５１２ａは管理者８のＩＤが入力される欄であり、パスワード欄５１２ｂは管理者８のパスワードが入力される欄である。オンプレミスサーバ３０がクラウドサーバ７０にアクセスするにはユーザＩＤとパスワードが必要になる。アクセス制御装置６０はユーザＩＤとパスワードに基づいてユーザ（オンプレミスサーバ３０と表現してもよい）を認証し、認証が成立した場合、オンプレミスサーバ３０がクラウドサーバ７０と通信することを許可する。
【０１３７】
ワークフロー取得欄５１３は、オンプレミスサーバ３０に登録されているワークフロー情報９の名称を表示させるための欄である。ワークフロー取得欄５１３は名称欄５１３ａと更新ボタン５１３ｂを有する。初期状態では名称欄５１３ａは空白（図１１では未登録と表示）である。管理者８が更新ボタン５１３ｂを押下すると管理者端末３２がこの操作を受け付け、オンプレミスサーバ３０がクラウドサーバ７０から取得したワークフロー情報９の名称を取得する。ここで名称を取得するワークフロー情報９は最も新しいものだけでもよいし、管理者８が登録した全てのワークフロー情報９でもよい。オンプレミスサーバ３０が取得したワークフロー情報９の名称は管理者端末３２に送信され、名称欄５１３ａに表示される。すなわち、図９のステップＳ１０で更新ボタンが押下されると、ステップＳ３で設定したワークフロー情報９の名称が名称欄５１３ａに表示される。
【０１３８】
ワークフロー自動更新設定欄５１４は、オンプレミスサーバ３０が自動でワークフロー情報９を更新するか否かを管理者８が設定するための欄である。自動の更新とは、管理者８が図９のステップＳ１１のような操作を行わなくても、オンプレミスサーバ３０がクラウドサーバ７０からワークフロー情報９を取得することをいう。自動更新の処理のシーケンスについては図１２にて説明する。
【０１３９】
テスト実行ボタン５１５は、管理者８が登録したワークフロー情報９をテスト的に実行するためのボタンである。図９のステップＳ１５で管理者８はこのテスト実行ボタン５１５を押下する。
【０１４０】
<<ワークフロー情報９の自動更新>>
図１２は、管理者８が設定したワークフロー情報９をオンプレミスサーバ３０が自動的に更新する手順を示すシーケンス図の一例である。図１１のワークフロー自動更新設定欄５１４の「する」という設定はオンプレミスサーバ３０に送信されている。なお、図１２の説明では図９との相違を主に説明する。ステップＳ１〜Ｓ７のワークフロー情報９の設定の処理は図９と同様である。
【０１４１】
S21：オンプレミスサーバ３０の情報取得部５９はワークフロー自動更新設定欄５１４の「する」という設定に基づいて、予め決まったタイミングでワークフロー情報９のバージョン情報をクラウドサーバ７０に問い合わせる。
【０１４２】
S22：クラウドサーバ７０のワークフロー制御部６４はワークフローバージョンを応答する。このワークフローバージョンを用いたワークフロー情報９の更新判断について図１３にて説明する。
【０１４３】
S23：同様に、オンプレミスサーバ３０の情報取得部５９はワークフロー情報９のバージョン情報をクラウドサーバ７０に問い合わせる。
【０１４４】
S24：クラウドサーバ７０のワークフロー制御部６４はワークフローバージョンを応答するが、管理者８がワークフロー情報９をクラウドサーバ７０に登録したので、オンプレミスサーバ３０は更新されたことを検出できる。
【０１４５】
S25〜S27：これにより、オンプレミスサーバ３０は図９と同様にワークフロー情報９をクラウドサーバ７０から取得して、ワークフローをテスト実行する。
【０１４６】
S28：管理者８は管理者端末３２を操作して任意のタイミングで、オンプレミスサーバ３０にアクセスする。管理者端末３２は管理者８の操作を受け付け、テスト結果を要求する。
【０１４７】
S29：オンプレミスサーバ３０はテスト結果を管理者端末３２に送信する。これにより、管理者８が設定したワークフロー情報９を自動的にオンプレミスサーバ３０がテストし、管理者８は任意のタイミングでテスト結果を取得できる。
【０１４８】
図１３は、オンプレミスサーバ３０がワークフロー情報９の更新の有無を判断する手順を説明するフローチャート図の一例である。また、表２は、ワークフロー情報９のバージョン情報を説明する表である。
【０１４９】
【表２】
2018067144.tif 000004
ワークフロー情報９は、ワークフロー名称、ワークフローＩＤ、及びバージョンの各項目を有している。ワークフロー名称は管理者８が設定したワークフロー情報９の名称である。ワークフローＩＤはワークフロー情報９を特定するための情報である。バージョンは、ワークフロー情報９が改訂された回数又はワークフロー情報９の版を示す。バージョンは、ワークフロー情報９が改訂されるごとに大きくなる。どのくらい大きくなるかは自動でもよいし管理者８が設定できてもよい。例えば、ワークフローＡはバージョンが００１０なので最大で１０回、改訂されている。
【０１５０】
図１３の処理を説明する。オンプレミスサーバ３０の情報取得部５９は、クラウドサーバ７０からワークフロー情報９のバージョン情報を取得する（Ｓ１０）。上記のように、情報取得部５９はワークフロー自動更新設定欄５１４の「する」という設定に基づいて、定期的にワークフロー情報９のバージョン情報を取得する。
【０１５１】
情報取得部５９はワークフロー記憶部６６に記憶しているワークフロー情報９のバージョン情報を読み出して、ワークフローＩＤごとに取得したバージョン情報の方が大きいか否かを判断する（Ｓ２０）。
【０１５２】
保持しているワークフローのバージョン情報と同じ場合（Ｓ２０のＮｏ）、ステップＳ１０の処理を繰り返す。なお、バージョン情報だけで判断するのでなく、オンプレミスサーバ３０が保持していないワークフロー名又はワークフローＩＤが取得されたか否かも判断することが好ましい。
【０１５３】
保持しているワークフローのバージョン情報より取得したバージョン情報の方が大きい場合（Ｓ２０のＹｅｓ）、オンプレミスサーバ３０の情報取得部５９はワークフロー情報９をクラウドサーバ７０から取得する（Ｓ３０）。
【０１５４】
ワークフロー情報９を取得すると、ワークフロー制御部６４はワークフローをテスト実行する（Ｓ４０）。ワークフロー情報９の登録がクラウドの環境で行われたため、オンプレミスで実行する処理が正しく登録されたか否かを管理者８は確認できない。実際にワークフローを実行できない可能性があるので、情報取得部５９はテスト実行に成功した場合のみ更新を行う。こうすることで、更新後にエラーになってしまうことを防止できる。
【０１５５】
情報取得部５９はテストに成功したか否かを判断する（Ｓ５０）。
【０１５６】
テスト実行に成功した場合（Ｓ５０のＹｅｓ）、情報取得部５９は取得したワークフロー情報９でワークフロー記憶部６６に記憶されているワークフロー情報９を更新する（Ｓ６０）。
【０１５７】
テスト実行に成功しなかった場合（Ｓ５０のＮｏ）、情報取得部５９は更新の失敗を管理者８に通知する（Ｓ７０）。なお、テスト実行をせずに更新処理してもよい。これは、クラウド側のシステムでワークフローが完結する場合などは、テストが不要な場合があるためである。
【０１５８】
このように、オンプレミスサーバ３０が自動的にワークフロー情報９を更新するため、オンプレミスサーバ３０が複数台ある場合に、一括してワークフローを更新することができる。また、クラウド側から管理者８がワークフロー情報９を登録できるため、利便性とメンテナンス性を損なうこともない。
【０１５９】
＜ワークフローの実行時の動作＞
図１４は、ワークフローシステム１００がワークフローを実行する手順を示すシーケンス図の一例である。
S1：まず、ユーザは複合機２０を操作してログイン画面を表示させる。複合機２０のログイン部５７はユーザの操作を受け付け、操作パネル４１１にログイン画面を表示させる。ログイン画面を図１５（ａ）に示す。複合機２０以外の情報処理装置（クライアント端末２１、及び携帯端末２２）をユーザが操作してもよい。
【０１６０】
S2：ユーザはユーザＩＤとパスワードを入力して複合機２０にログインする。
【０１６１】
S3：ログインするとことで、複合機２０のネットワーク通信部５５はオンプレミスサーバ３０にワークフロー情報９の取得要求を送信する。
【０１６２】
S4：オンプレミスサーバ３０はワークフロー情報９のリストを複合機２０に送信する。
【０１６３】
S5：複合機２０のネットワーク通信部５５はリストを受信し、ワークフロー選択部５６はワークフロー情報９のリストを操作パネル４１１に表示する。リスト画面５３１を図１５（ｂ）に示す。
【０１６４】
S6：ユーザは表示されたワークフロー情報９のリストから１つのワークフローを選択し、例えば実行ボタン等を押下する。ワークフロー選択部５６はワークフローの選択と実行の開始を受けつける。
【０１６５】
S7：複合機２０のワークフロー選択部５６は選択されたワークフロー情報９に基づき、ワークフローの実行を開始する。まず、１つめの処理の実行主体として複合機２０が定義されている「スキャン」の処理を実行する。
【０１６６】
S8：次の処理である、Ａシステムからデータを取得する処理では実行主体としてオンプレミスサーバ３０が指定されているため、ワークフロー制御部６４はオンプレミスサーバ３０にワークフロー実行要求（処理）を依頼する。このため、ワークフロー情報９と対象データをオンプレミスサーバ３０に送信する。
【０１６７】
S9：オンプレミスサーバ３０はワークフロー情報９と対象データを取得し、ワークフロー制御部６４は自機が行う処理を行う。ワークフロー情報９の２つめの処理は、「Ａシステムからデータを取得する処理」なので、ワークフロー制御部６４はＡシステムからデータを取得する。
【０１６８】
S10：次に、ワークフロー情報９の３つめの処理は、「文書情報置換」なので、ワークフロー制御部６４は文書情報置換を行う。すなわち、Ａシステムから取得したデータでスキャンした画像データのファイル名を置換する。
【０１６９】
S11：次に、ワークフロー情報９の４つめの処理は、実行主体がクラウドサーバ７０であり処理が「Ｂクラウドに配信」なので、ワークフロー制御部６４はクラウドサーバ７０にワークフロー実行要求（ワークフロー情報９及び対象データ）を送信する。
【０１７０】
S12：クラウドサーバ７０のワークフロー制御部６４はワークフロー情報９と対象データをオンプレミスサーバ３０から受信し、クラウド配信の処理を行う。
【０１７１】
S13：クラウドサーバ７０のワークフロー制御部６４は実行結果をオンプレミスサーバ３０に送信する。
【０１７２】
S14：オンプレミスのワークフロー制御部６４は実行結果を複合機２０に送信する。
【０１７３】
ステップＳ１３では、クラウドサーバ７０が実行結果を返すだけだが、ワークフロー情報９に続きがある場合、クラウドサーバ７０のオンプレミスワークフローサーバ連携処理部７７がワークフロー情報９を解析して次の処理の実行主体を判断し、ワークフロー情報９と次の処理を該実行主体に要求する。実行主体がクラウドの場合はクラウドサーバ７０の処理部７４に処理を要求し、実行主体がオンプレミス内の場合はオンプレミスサーバ３０の処理部７４に処理を要求する。
【０１７４】
このように、本実施形態のワークフローシステム１００は、オンプレミスとクラウドとが連携したワークフローを実行することができる。
【０１７５】
従来、管理者８がクラウドサーバ７０のみで実行するワークフロー情報９を定義した場合、オンプレミスのシステムと連携したワークフローを実行することができなかった。本実施形態では、クラウドサーバ７０に登録したワークフロー情報９をオンプレミスサーバ３０が手動又は自動的に取得するので同じワークフロー情報９を保持できる。更に、クラウドサーバ７０とオンプレミスサーバ３０が同じワークフロー制御部６４及び処理部７４を有するので、共通のワークフロー情報９に基づいて分担して処理を実行することができ、オンプレミスとクラウドとが連携したワークフローを実現できる。
【０１７６】
また、従来、オンプレミスサーバ３０のみでワークフローを実行する場合、クラウドサービスの配信処理などはクラウドサービスのWebAPIが変更されるたびに、オンプレミスサーバ３０のプログラムを開発者等が更新しなければならず、メンテナンス性が悪かった。オンプレミスサーバ３０が複数ある場合は全てを更新しなければならなかった。本実施形態では、クラウド上のサービスからデータを取得したり配信したりする処理はクラウドサーバ７０が実行するので、クラウド上のサービスのWebAPIが変更された場合でも、クラウドサーバ７０のプログラムを更新すればクラウドサーバ７０が該サービスを利用可能になるので、オンプレミスサーバ３０のプログラムを更新する手間はなくなり、メンテナンス性を向上させることができる。
【０１７７】
＜ワークフローの実行時における実行主体の指定＞
図１０のワークフロー設定画面５０１の説明ではワークフローの設定時に実行主体を管理者８が設定したが、ワークフローの実行主体はワークフローの実行時にユーザが指定する（設定する）こともできる。
【０１７８】
図１５は、ワークフローの実行時にたとえば複合機２０の操作パネル４１１に表示される画面例の一例を示す。
【０１７９】
図１５（ａ）は、実行時ログイン画面５２１の一例を示す。実行時ログイン画面５２１はユーザ名入力欄５２２とパスワード入力欄５２３を有する。個人を特定する情報を入力できればよい。また、ワークフローによっては組織ごとに同じワークフローを実行する場合があり、この場合は組織コードの入力欄を有していてもよい。組織とは、ユーザが所属する部署、グループ、課、など、ユーザが所属する組織である。
【０１８０】
図１５（ｂ）は、ワークフローのリスト画面５３１の一例を示す。リスト画面５３１はワークフローの名称５３２と各ワークフローの詳細を表示する詳細ボタン５３３を有する。詳細ボタン５３３が押下されると、複合機２０のワークフロー選択部５６は例えば図１５（ｃ）のような実行主体変更画面５４１を操作パネル４１１に表示する。
【０１８１】
図１５（ｃ）は、実行主体変更画面５４１の一例を示す図である。実行主体変更画面５４１は、ワークフローが含む処理５４２に対しオンプレミスサーバ３０又はクラウドサーバ７０のどちらを実行主体とするかをユーザが選択するための選択ボタン５４３を有する。管理者８は処理ごとに実行主体としたいオンプレミスサーバ３０又はクラウドサーバ７０を選択できる。なお、スキャンという処理５４２は、複合機しか実行できないので、管理者端末３２の制御部５２は他の選択肢となる実行主体を表示しない。これにより、ユーザが誤って実行主体を選択することを抑制できる。
【０１８２】
ワークフローの実行主体が変更された場合、ワークフロー情報９に定義された実行主体とは異なる場合がある。このため、複合機２０からオンプレミスサーバ３０へ実行要求する際（図１４のＳ８）、複合機２０のワークフロー制御部６４はユーザがオンプレミスサーバ３０又はクラウドサーバ７０のどちらを選択したかを示す情報（例えば、オンプレミスサーバ３０又はクラウドサーバ７０の区別を示すマシンＩＤ）をオンプレミスサーバ３０に送信する。オンプレミスサーバ３０のワークフロー制御部６４はワークフロー情報９に定義された実行主体よりも、ユーザが選択したオンプレミスサーバ３０又はクラウドサーバ７０を実行主体として優先してワークフローを実行する。優先とは、ワークフローの実行時に設定された実行主体はテスト実行されていないので、仮に実行できなかった場合はワークフロー情報９に定義された実行主体で実行することを意味する。ワークフローの実行時に設定された実行主体で実行できない場合に、ワークフロー情報９に定義された実行主体で実行するか否かをユーザが複合機２０に設定できれば更に好適である。
【０１８３】
ワークフローの実行時にユーザが変更できることで、例えばオンプレミスサーバ３０が停止中の場合、クラウドサーバ７０を使用してワークフローを実行することができる。また、スキャンする原稿に要求されるセキュリティの程度に応じて、ユーザがオンプレミスサーバ３０を使用してワークフローを実行することで、情報漏えいなどのセキュリティリスクを軽減できるようになる。
【０１８４】
＜その他の適用例＞
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０１８５】
例えば、本実施形態ではワークフローシステム１００という用語で説明したが、ワークフローシステム１００は装置等が連携してまとまった機能を提供するシステムであればよい。例えば機器連携システムと呼ばれる場合もある。
【０１８６】
また、図６〜８の構成例は、クラウドサーバ７０、オンプレミスサーバ３０、クラウドワークフロー管理サーバ７１、管理者端末３２、及び複合機２０の処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。また、クラウドサーバ７０、オンプレミスサーバ３０、クラウドワークフロー管理サーバ７１、管理者端末３２、及び複合機２０の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、１つの処理単位が更に多くの処理を含むように分割することもできる。
【０１８７】
なお、ワークフロー情報受信部４５は処理情報受付手段の一例であり、クラウドサーバ７０の処理部７４は第二の処理手段の一例であり、オンプレミスサーバ３０の情報取得部５９は取得手段の一例であり、オンプレミスサーバ３０の処理部７４は第一の処理手段の一例であり、オンプレミスサーバ３０のワークフロー制御部６４は処理制御手段の一例であり、複合機の処理部７４は第三の処理手段の一例である。
【０１８８】
管理者端末３２の制御部５２は定義情報作成手段の一例であり、ワークフロー情報送信部５３は送信手段の一例であり、ワークフロー選択部５６は実行開始受付手段の一例である。オンプレミスワークフローサーバ連携処理部７７、クラウドワークフローサーバ連携処理部７２及びオンプレミスワークフローサーバ連携処理部７３は同等の手段の一例である。
【符号の説明】
【０１８９】
９      ワークフロー情報
２０    複合機
２１    クライアント端末
２２    携帯端末
３０    オンプレミスサーバ
３２    管理者端末
５０    ファイアウォール
７０    クラウドサーバ
７１    クラウドワークフロー管理サーバ
１００  ワークフローシステム
【先行技術文献】
【特許文献】
【０１９０】
【特許文献１】特開２０１５‐０６０２４７号公報
【図１】
2018067144.tif 000005
【図２】
2018067144.tif 000006
【図３】
2018067144.tif 000007
【図４】
2018067144.tif 000008
【図５】
2018067144.tif 000009
【図６】
2018067144.tif 000010
【図７】
2018067144.tif 000011
【図８】
2018067144.tif 000012
【図９】
2018067144.tif 000013
【図１０】
2018067144.tif 000014
【図１１】
2018067144.tif 000015
【図１２】
2018067144.tif 000016
【図１３】
2018067144.tif 000017
【図１４】
2018067144.tif 000018
【図１５】
2018067144.tif 000019