(57)【要約】【課題】ユーザが保持しているソフトウェアライセンスの有無を利用してワークフローを定義できる情報処理システムを提供すること。【解決手段】第三の情報処理装置２０は、ソフトウェアを実行するライセンスに関する情報をユーザに対応付けて記憶するライセンス情報記憶手段６３を参照して、前記処理定義情報に含まれる処理が使用するソフトウェアの前記ライセンスをユーザが有するか否かを、処理定義情報の設定画面に反映させるライセンス情報反映手段２４と、前記処理定義情報の設定画面に関する画面データを前記第四の情報処理装置に送信する設定画面送信手段２１と、前記第四の情報処理装置から前記処理定義情報を取得する処理定義情報取得手段２２と、を有する。【選択図】図１
2019040453.tif 000002
【特許請求の範囲】
【請求項１】
処理定義情報の登録を受け付ける第三の情報処理装置と、前記処理定義情報を前記第三の情報処理装置に送信する第四の情報処理装置とを有する情報処理システムであって、
前記第三の情報処理装置は、
ソフトウェアを実行するライセンスに関する情報をユーザに対応付けて記憶するライセンス情報記憶手段を参照して、
前記処理定義情報に含まれる処理が使用するソフトウェアの前記ライセンスをユーザが有するか否かを、処理定義情報の設定画面に反映させるライセンス情報反映手段と、
前記処理定義情報の設定画面に関する画面データを前記第四の情報処理装置に送信する設定画面送信手段と、
前記第四の情報処理装置から前記処理定義情報を取得する処理定義情報取得手段と、を有し、
前記第四の情報処理装置は、
ソフトウェアの前記ライセンスをユーザが有するか否かが反映された前記処理定義情報の設定画面を表示して、前記処理定義情報の設定を受け付ける設定受付手段と、
前記処理定義情報を前記第三の情報処理装置に送信する送信手段と、
を有する情報処理システム。
【請求項２】
第一のネットワークの第一の情報処理装置と第二のネットワークの第二の情報処理装置が連携して前記処理定義情報で定義された複数の処理を実行し、
前記ライセンス情報記憶手段には、前記第二の情報処理装置がソフトウェアを実行するライセンスに関する情報がユーザに対応付けて記憶されている請求項１に記載の情報処理システム。
【請求項３】
前記第一のネットワークはクラウド環境のネットワークを含み、前記第二のネットワークはオンプレミスのネットワークを含む請求項２に記載の情報処理システム。
【請求項４】
前記ライセンス情報記憶手段に前記ユーザが前記ソフトウェアの前記ライセンスを有する旨が登録されていない場合、
前記ライセンス情報反映手段は、前記第二のネットワーク内で実行されるソフトウェアを使用する処理が前記設定画面で設定されることを制限し、
前記第四の情報処理装置の前記設定受付手段は、
前記設定画面を表示した際、前記第二のネットワーク内で実行されるソフトウェアを使用する処理を前記第二のネットワーク内で実行するにはライセンスが必要な旨を表示する請求項３に記載の情報処理システム。
【請求項５】
前記ライセンス情報記憶手段に前記ユーザが前記ソフトウェアの前記ライセンスを有する旨が登録されていないが、前記ソフトウェアを使用する処理を代替する代替処理が用意されている場合、
前記ライセンス情報反映手段は、前記第二のネットワーク内で実行される前記代替処理が設定される前記設定画面を作成し、
前記第四の情報処理装置の前記設定受付手段は、
前記設定画面を表示した際、前記処理を前記第二のネットワーク内で実行すると処理結果に不利益が生じる可能性がある旨を表示する請求項３又は４に記載の情報処理システム。
【請求項６】
前記ライセンス情報反映手段は、
前記処理定義情報に含まれる処理名に対応づけられた処理の優先度リストを参照して、優先度が高い順に処理を取得し、
前記処理定義情報に含まれる処理に該処理が使用するソフトウェアが対応づけられた処理情報を参照して、前記優先度リストから取得した処理が使用するソフトウェアを優先度順に決定し、
ソフトウェアごとに前記第二のネットワーク内で実行するために必要なライセンスが設定されたライセンス情報を参照して、決定したソフトウェアを実行するために必要なライセンスを特定し、
前記ライセンス情報記憶手段を参照して、特定したライセンスをユーザが保持するか否かを判断し、
前記ソフトウェアの前記ライセンスを有するか否かを、処理定義情報の前記設定画面に反映させる請求項４又は５に記載の情報処理システム。
【請求項７】
前記第二の情報処理装置は、
前記処理定義情報にしたがって処理される対象データを取得した際、前記第三の情報処理装置から前記ライセンスに関する情報を取得し、
前記処理定義情報に含まれる処理を前記第二のネットワーク内で実行するか又は前記第一のネットワーク内で実行するかを、前記処理定義情報に含まれる条件と前記ライセンスに関する情報に基づき判断する判断手段と、
前記判断手段が前記第一のネットワーク内で実行すると判断した場合、前記処理定義情報と前記対象データを前記第一のネットワークの前記第一の情報処理装置に送信する処理連携手段と、を有する請求項２〜６のいずれか１項に記載の情報処理システム。
【請求項８】
前記ライセンスに関する情報には、前記第二のネットワーク内の何台の前記第二の情報処理装置で前記ソフトウェアが実行可能であるかの情報を有し、
前記条件には、前記第二の情報処理装置の負荷に関する閾値が設定されており、
前記判断手段は、前記ライセンスに関する情報に設定された台数の前記第二の情報処理装置の負荷が前記閾値より大きい場合、前記処理定義情報に含まれる処理を前記第一のネットワーク内で実行すると判断する請求項７に記載の情報処理システム。
【請求項９】
第四の情報処理装置から処理定義情報の登録を受け付ける情報処理装置であって、
ソフトウェアを実行するライセンスに関する情報をユーザに対応付けて記憶するライセンス情報記憶手段を参照して、
前記処理定義情報に含まれる処理が使用するソフトウェアの前記ライセンスをユーザが有するか否かを、処理定義情報の設定画面に反映させるライセンス情報反映手段と、
前記処理定義情報の設定画面に関する画面データを前記第四の情報処理装置に送信する設定画面送信手段と、
前記第四の情報処理装置から前記処理定義情報を取得する処理定義情報取得手段と、
を有する情報処理装置。
【請求項１０】
第一のネットワークの第一の情報処理装置と連携して処理定義情報で定義された複数の処理を実行する第二のネットワークの情報処理装置であって、
処理定義情報にしたがって処理される対象データを取得した際、第三の情報処理装置からソフトウェアを実行するライセンスに関する情報を取得し、
前記処理定義情報に含まれる処理を前記第二のネットワーク内で実行するか又は前記第一のネットワーク内で実行するかを、前記処理定義情報に含まれる条件と前記ライセンスに関する情報に基づき判断する判断手段と、
前記判断手段が前記第一のネットワーク内で実行すると判断した場合、前記処理定義情報と前記対象データを前記第一のネットワークの前記第一の情報処理装置に送信する処理連携手段と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、及び、情報処理装置に関する。
【背景技術】
【０００２】
業務や手続などの流れを定めたワークフローに従い、電子データに対して各種の処理（例えば、画像処理や配信処理等）を施す情報処理システムが知られている。近年では、ワークフローで実行される処理の一部をクラウド上の情報処理装置が行う場合もある。クラウドを利用したワークフローでは、処理ごとにクラウド上のリソースへのアクセスが制御される形態があり、この場合、クラウド上で処理を実行してもらうにはユーザがライセンスを購入してある必要がある。
【０００３】
一方、ワークフローの処理の中にはオンプレミスの電子機器の機能を利用するものもあり、クラウドの処理のライセンスを保持していても、電子機器の機能を利用するためのライセンスをユーザが保持していない場合があった。このような不都合に対して、処理が利用する電子機器の機能の利用権限の有無を、電子機器のライセンスの内容に基づいて判断し、利用権限があれば電子機器の機能を利用して処理を実行する情報処理システムが考案されている（例えば、特許文献１参照。）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、ユーザが保持しているソフトウェアライセンスの有無をワークフローの定義時にユーザが利用できないという問題があった。ワークフローの処理が有償ソフトウェアの機能を利用する場合であり、有償ソフトウェアを用いた処理がクラウド環境で行われるのであればライセンスは不要だが（ワークフローを実行するライセンスをユーザが購入済みであるためクラウドで処理を行う権限を持っていると見なせるため）、オンプレミス環境の情報処理装置が実行するためにはライセンスが必要となるケースがある。この場合、ユーザがソフトウェアライセンスを有するか否かをワークフローの定義時に利用できれば、オンプレミス環境でユーザが有するソフトウェアライセンスにしたがって、ユーザがワークフローを定義することができる。
【０００５】
本発明は、上記課題に鑑み、ユーザが保持しているソフトウェアライセンスの有無を利用してワークフローを定義できる情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、処理定義情報の登録を受け付ける第三の情報処理装置と、前記処理定義情報を前記第三の情報処理装置に送信する第四の情報処理装置とを有する情報処理システムであって、前記第三の情報処理装置は、ソフトウェアを実行するライセンスに関する情報をユーザに対応付けて記憶するライセンス情報記憶手段を参照して、前記処理定義情報に含まれる処理が使用するソフトウェアの前記ライセンスをユーザが有するか否かを、処理定義情報の設定画面に反映させるライセンス情報反映手段と、前記処理定義情報の設定画面に関する画面データを前記第四の情報処理装置に送信する設定画面送信手段と、前記第四の情報処理装置から前記処理定義情報を取得する処理定義情報取得手段と、を有し、
前記第四の情報処理装置は、ソフトウェアの前記ライセンスをユーザが有するか否かが反映された前記処理定義情報の設定画面を表示して、前記処理定義情報の設定を受け付ける設定受付手段と、前記処理定義情報を前記第三の情報処理装置に送信する送信手段と、を有する。
【発明の効果】
【０００７】
ユーザが保持しているソフトウェアライセンスの有無を利用してワークフローを定義できる情報処理システムを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態の情報処理システムの動作の概略を説明する図である。
【図２】情報処理システムの構成図の一例である。
【図３】第二ワークフローサーバの概略的なハードウェア構成図の一例である。
【図４】複合機のハードウェア構成図の一例である。
【図５】第一ワークフローサーバ、第二ワークフローサーバ及び複合機の機能をブロック状に示す機能ブロック図の一例である。
【図６】ワークフロー管理サーバとクライアント端末の機能をブロック状に示す機能ブロック図の一例である。
【図７】クライアント端末がワークフロー管理サーバと通信してワークフロー情報を作成する際のシーケンス図の一例である。
【図８】ライセンス情報反映部がソフトウェアのライセンス情報をワークフローの設定画面に反映させる処理を説明するフローチャート図の一例である。
【図９】ワークフロー設定画面の一例を示す図である。
【図１０】ワークフロー設定画面の別の一例を示す図である。
【図１１】ワークフロー設定画面の一例を示す図である。
【図１２】複合機がワークフローを実行する際の手順を示すシーケンス図の一例である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面を参照しながら説明する。
【実施例１】
【００１０】
＜概略的な動作＞
図１は、本実施形態の情報処理システムの動作の概略を説明する図である。図１はワークフロー管理サーバ２０がワークフロー設定画面をクライアント端末５０に提供する際の処理を示す。
（１）ワークフロー管理サーバ２０はクライアント端末５０からワークフロー設定画面を要求される。ワークフロー管理サーバ２０は、処理ごとにユーザ（主に企業内の個人）が必要なソフトウェアのライセンスを有するかどうかを判断する。具体的には、処理情報６１、ソフトウェアライセンス情報６２、及び、企業のライセンス保持情報６３を参照し、処理に必要なソフトウェア、ソフトウェアをオンプレミスで実行する場合に必要なライセンス、該ライセンスを企業が有するかどうかを判断する。
（２）判断の結果に応じて、ワークフロー管理サーバ２０はワークフロー設定画面で選択される処理を制限したり、ワークフロー設定画面に代替処理を設定したりする。
（３）ワークフロー管理サーバ２０により処理が制限されたワークフロー設定画面を受信したクライアント端末５０は、ワークフローの定義を受け付ける。例えば、処理が制限された場合は「社内で実行するにはライセンスが必要です。」と表示し、クラウド環境での実行を促す。また、代替処理が設定された場合は「代替処理のため社内で実行すると所望の結果にならない可能性があります。」と表示して処理結果に対する警告を行い、ユーザがクラウド環境による実行を選択することも可能にする。
【００１１】
このように、本実施形態の情報処理システムは、ユーザが保持しているオンプレミスでソフトウェアを実行するためのソフトウェアライセンスを考慮して、ワークフロー設定画面を提供することができる。したがって、ユーザはワークフローの定義時にオンプレミスのソフトウェアライセンスの有無に応じて各処理主体の実行主体を選択でき、クラウド環境とオンプレミス環境のうちユーザが意図した環境でワークフローを実行することができる。
【００１２】
＜用語について＞
ライセンスとは、ソフトウェアを使用する権限を言う。ライセンスがないと厳密には違法となる場合がある。使用許可、認可、許可証等と称してもよい。
【００１３】
処理定義情報は、少なくとも一台以上の情報処理装置が実行する複数の処理が設定された情報である。本実施形態ではワークフロー情報という用語で説明する。
【００１４】
反映とは、あるものの性質が他のものに影響して現れることをいう。本実施形態ではライセンスに関する情報が設定画面に影響して現れることを言う。
【００１５】
ライセンスに関する情報とは、ユーザがライセンスを有するかどうかに関する情報をいう。１つのソフトウェアのどの機能を使用するライセンスであるかの情報をふくんでいてよい。更に、同時にソフトウェアを実行できる装置の台数の情報をふくんでいてよい。
【００１６】
また、ユーザとはソフトウェアの広義のユーザをいい、企業（法人）でもよいし、企業内の社員でもよいし、単なる個人でもよい。ユーザは情報処理システム１００の管理者でもよい。
【００１７】
第一のネットワークは不特定の者が使用するネットワークをいい、第二のネットワークは第一のネットワークとは隔離されたネットワークであればよい。第一のネットワークは例えばインターネットである。第二のネットワークは、システムの管理者が存在するネットワーク、ファイアウォールの内側のネットワーク、又は、ＬＡＮ等ということができる。
【００１８】
＜システム構成例＞
図２は、情報処理システム１００の構成図の一例である。情報処理システム１００は、クラウド環境８で動作する部分とオンプレミス環境９で動作する部分とを有する。クラウド環境８には第一ワークフローサーバ１０とワークフロー管理サーバ２０が存在する。オンプレミス環境９には第二ワークフローサーバ４０、クライアント端末５０、ファイアウォールＦＷ、及び、複合機３０が存在する。オンプレミス環境９とクラウド環境８はファイアウォールＦＷを介して接続されている。
【００１９】
なお、クラウド（又はクラウドコンピューティング）とはインターネットに存在するコンピュータ資源の利用形態をいい、オンプレミスとは使用者が管理する設備内に存在するコンピュータ資源の利用形態をいう。したがって、クラウド環境８とはインターネット側のコンピュータ資源をいい、オンプレミス環境９とは使用者が管理する設備内に存在するコンピュータ資源をいう。クラウドの具体的な態様としてSaaS（Software as a Service）、PaaS（Platform as a Service）、IaaS（Infrastructure as a Service）があるが本実施形態ではどの態様が採用されてもよい。
【００２０】
オンプレミス環境９のネットワークＮ２（第二のネットワーク）は企業などの施設に構築されたＬＡＮである。クラウド環境８のネットワークＮ１（第一のネットワーク）は主にインターネットである。インターネットとは、コンピュータを世界的な規模で接続すると共に世界中のネットワークが相互接続されたネットワークである。ネットワークＮ１，Ｎ２は有線又は無線のいずれで構築されていてもよく、一部が有線又は無線で構築されていてもよい。
【００２１】
情報処理システム１００のユーザはオンプレミス環境９のクライアント端末５０からワークフロー管理サーバ２０にアクセスし、ワークフロー情報を作成する。作成したワークフロー情報はクラウド側の第一ワークフローサーバ１０に登録される。また、クライアント端末５０からオンプレミス環境９の第二ワークフローサーバ４０にアクセスし、又は、第二ワークフローサーバ４０が第一ワークフローサーバ１０に自動的にアクセスしてワークフロー情報を取得することで、クラウド環境８に登録されたワークフロー情報とオンプレミス環境９のワークフロー情報を同期させることができる。
【００２２】
複合機３０は、処理の対象の電子データが入力される電子機器の一例である。複合機３０は、プリンタ機能、スキャナ機能、及びファクシミリ機能等、複数の機能を有するが、ワークフロー情報に含まれる処理を提供できればよい。複合機３０は、ＭＦＰ（Multi-Function Peripheral）、画像形成装置、多機能プリンタ、コピー機又はオフィス機器などと呼ばれる場合がある。また、スキャナ機能で原稿を電子データに変換するのは複合機３０のスキャナ機能でなくてもよい。例えば、データが入力される機器として、複合機３０の代わりにデジタルカメラやデジタルカメラの機能を有する各種の機器でもよい。また、他の機器がネットワークＮ２に接続されていてもよい。例えば、テレビ会議端末、電子黒板、プロジェクタ、及びデジタルサイネージなどが複合機３０に代えて又は複合機３０と共に配置されていてもよい。
【００２３】
複合機３０はワークフローが実行される際に処理の一部を担う場合がある。複合機３０は予め記憶しているプログラムにしたがってデータ処理を実行する情報処理装置として機能する。複合機３０は、一例として、原稿をスキャンして画像データに変換し、変換した画像データに対してプログラムに従ったデータ処理を実行する。
【００２４】
クライアント端末５０は、ユーザ等が操作する端末装置として使用される情報処理装置である。情報処理装置は、例えば、デスクトップ型コンピュータ、ノート型コンピュータ、ワークステーション等のＰＣ(Personal Computer)がある。また、ＰＣの他、スマートフォン、タブレット端末、携帯電話機、ＰＤＡ（Personal Digital Assistant）、又はウェアラブルＰＣ（サングラス型、腕時計型など）などでもよい。クライアント端末５０は、ユーザがワークフロー管理サーバ２０に対してワークフローを定義するために使用される。
【００２５】
第二ワークフローサーバ４０は、一台以上の情報処理装置により実現されている。第二ワークフローサーバ４０は、ワークフローの全体的な実行を制御する。第二ワークフローサーバ４０は第二ワークフローサーバ４０自身又は複合機３０のリソースを利用してワークフロー情報の各処理を実行する。より具体的には、第二ワークフローサーバ４０はワークフロー情報に定義された複数の処理のそれぞれを、定義された順番で実行主体に実行させる。
【００２６】
ワークフロー情報に定義された処理がクラウドで実行される場合、第二ワークフローサーバ４０と第一ワークフローサーバ１０とが連携する。第二ワークフローサーバ４０は第一ワークフローサーバ１０に処理対象となる対象データを送信する。こうすることで、情報処理システム１００は、クラウド環境８とオンプレミス環境９を跨いでワークフローを実行できる。
【００２７】
第二ワークフローサーバ４０、第一ワークフローサーバ１０及び複合機３０は、実行主体が変更される場合には、ネットワークを介して処理対象となる対象データを受け渡しする。
【００２８】
なお、ワークフロー情報には実行主体が定義されていなくてもよく、この場合、第一ワークフローサーバ１０、第二ワークフローサーバ４０又は複合機３０は、ワークフロー情報に予め定められた判断条件（処理負荷の低いものを選ぶ等）にしたがって選択された１つの情報処理装置に実行させる。
【００２９】
ファイアウォールＦＷは、ネットワークＮ２からネットワークＮ１に、及び、ネットワークＮ１からネットワークＮ２に送信されるパケットを監視し、決められたルールを基にパケットを通過させたり破棄したりする。具体的には、ネットワークＮ１からのパケットを破棄し、ネットワークＮ２からのパケットを通過させる。また、ネットワークＮ２からネットワークＮ１へのパケットに対する応答のパケットを通過させる。ファイアウォールＦＷはこの他一般的な機能を有する。
【００３０】
ワークフロー管理サーバ２０は一台以上の情報処理装置である。ワークフロー管理サーバ２０はワークフロー情報の定義のための画面データを提供するＷｅｂサーバである。クライアント端末５０はユーザの操作に応じてワークフロー管理サーバ２０と通信しワークフローを定義するための画面データ（ＨＴＭＬ，JavaScript（登録商標）、ＣＳＳ等で記述される）を取得し、ユーザの操作に従いワークフローを構築しワークフロー情報を生成する。ワークフロー情報はワークフロー管理サーバ２０に送信され、ワークフロー管理サーバ２０から第一ワークフローサーバ１０に送信される。また、第一ワークフローサーバ１０から第二ワークフローサーバ４０に送信される。
【００３１】
第一ワークフローサーバ１０は、一台以上のコンピュータにより実現され、予め記憶しているプログラムにしたがってデータ処理を実行する情報処理装置として機能する。第一ワークフローサーバ１０はワークフロー管理サーバ２０からワークフロー情報を取得して記憶している。第一ワークフローサーバ１０は、ワークフロー管理サーバ２０と一体的に構成されていてもよい。
【００３２】
第一ワークフローサーバ１０は、第二ワークフローサーバ４０と同様の機能を有する。すなわち、クラウド環境８でクラウド上のリソースと連携してワークフローを実行する。また、実行主体がオンプレミス環境９に存在する場合は第二ワークフローサーバ４０に処理対象となる対象データを送信する。
【００３３】
＜ハードウェア構成例＞
図３は、第二ワークフローサーバ４０の概略的なハードウェア構成図の一例である。第二ワークフローサーバ４０は、ＣＰＵ２０１と、ＣＰＵ２０１が使用するデータの高速アクセスを可能とするメモリ２０２とを備える。ＣＰＵ２０１及びメモリ２０２は、システム・バス２０３を介して、第二ワークフローサーバ４０の他のデバイス又はドライバ、例えば、グラフィクス・ドライバ２０４及びネットワーク・ドライバ（ＮＩＣ）２０５へと接続されている。
【００３４】
グラフィクス・ドライバ２０４は、バスを介してＬＣＤ（ディスプレイ装置）２０６に接続されて、ＣＰＵ２０１による処理結果をモニタする。また、ネットワーク・ドライバ２０５は、トランスポート層レベル及び物理層レベルで第二ワークフローサーバ４０をネットワークＮ２へと接続して、第一ワークフローサーバ１０とのセッションを確立させている。
【００３５】
システム・バス２０３には、更にＩ／Ｏバス・ブリッジ２０７が接続されている。Ｉ／Ｏバス・ブリッジ２０７の下流側には、ＰＣＩなどのＩ／Ｏバス２０８を介して、ＩＤＥ、ＡＴＡ、ＡＴＡＰＩ、シリアルＡＴＡ、ＳＣＳＩ、ＵＳＢなどにより、ＨＤＤ（ハードディスクドライブ）２０９などの記憶装置が接続されている。ＨＤＤ２０９は第二ワークフローサーバ４０の全体を制御するプログラム２０９ｐを記憶している。ＨＤＤ２０９はＳＳＤ（Solid State Drive）でもよい。プログラム２０９ｐは記憶媒体に記憶された状態で配布されてもよいし、プログラム配信用のサーバから配信されてもよい。
【００３６】
また、Ｉ／Ｏバス２０８には、ＵＳＢなどのバスを介して、キーボード及びマウス（ポインティング・デバイスと呼ばれる）などの入力装置２１０が接続され、システム管理者などのオペレータによる入力及び指令を受け付けている。
【００３７】
なお、図示した第二ワークフローサーバ４０のハードウェア構成は、第二ワークフローサーバ４０が備えていることが好ましいハード的な要素を示す。
【００３８】
第一ワークフローサーバ１０、クライアント端末５０、及び、ワークフロー管理サーバ２０のハードウェア構成図は、第二ワークフローサーバ４０と同様であるか、又は、異なるとしても本実施形態の情報処理システムの説明の上で支障はないものとする。ただし、第一ワークフローサーバ１０、及び、ワークフロー管理サーバ２０はクラウドコンピューティングに対応するため、これらのハードウェア構成は負荷に応じてハード的なリソースが動的に接続・切断されることで構成されてよい。
【００３９】
<<複合機のハードウェア構成図>>
図４は、複合機３０のハードウェア構成図の一例である。複合機３０は、例えば図４に示すようなハードウェア構成により実現される。複合機は、コントローラ３００、操作パネル３０６、外部Ｉ／Ｆ３０７、通信Ｉ／Ｆ３０８、プリンタ３０９、スキャナ３１０及び近距離無線通信装置３１１などを有している。
【００４０】
コントローラ３００はＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３と、ＮＶＲＡＭ３０４、ＨＤＤ３０５を有する。ＲＯＭ３０３は、各種プログラムやデータが格納されている。ＲＡＭ３０２はプログラムやデータを一時保持する。ＮＶＲＡＭ３０４は、例えば設定情報等が格納されている。また、ＨＤＤ３０５はプログラム３０５ｐやデータが格納されている。
【００４１】
ＣＰＵ３０１は、ＲＯＭ３０３やＮＶＲＡＭ３０４、ＨＤＤ３０５などからプログラム３０５ｐやデータ、設定情報等を３０２上に読み出し、処理を実行することで、複合機全体の制御や機能を実現する。
【００４２】
操作パネル３０６はユーザからの入力を受け付ける入力部と、表示を行う表示部（タッチパネルを備えている）とを有する。外部Ｉ／Ｆ３０７は外部装置とのインタフェースである。外部装置には、記録媒体３１２等がある。なお、記録媒体３１２には、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリなどがある。
【００４３】
通信Ｉ／Ｆ３０８は、ネットワークＮを介した通信を行うためのインタフェースである。本実施形態では、ローカルネットＡを介して第二ワークフローサーバ４０と通信する。
【００４４】
プリンタ３０９は、印刷対象データを印刷して出力するための印刷装置である。スキャナ３１０は原稿を光学的に読み取って電子データに変換する読み取り装置である。
【００４５】
近距離無線通信装置３１１は、例えば、ＮＦＣ（Near Field Communication）やBluetooth（登録商標）の通信規格にしたがった通信装置である。例えば、ＮＦＣの場合はリーダ・ライタなどと呼ばれる場合がある。
【００４６】
本実施例に係る複合機３０は、上記したハードウェア構成により後述するような各種処理を実現できる。
【００４７】
＜機能について＞
図５は、第一ワークフローサーバ１０、第二ワークフローサーバ４０、及び、複合機３０の機能をブロック状に示す機能ブロック図の一例である。
【００４８】
<<第一ワークフローサーバ>>
第一ワークフローサーバ１０は、処理実行部１３、ワークフロー制御部１２、及び、ネットワーク通信部１１を有する。第一ワークフローサーバ１０が有するこれら各機能部は、図３に示された各構成要素のいずれかが、ＨＤＤ２０９からメモリ２０２に展開されたプログラム２０９ｐに従ったＣＰＵ２０１からの命令により動作することで実現される機能又は手段である。このプログラム２０９ｐは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
【００４９】
また、第一ワークフローサーバ１０はワークフロー記憶部１９を有している。ワークフロー記憶部１９は図３のメモリ２０２及びＨＤＤ２０９等により実現される。ワークフロー記憶部１９はワークフロー情報を記憶する。
【００５０】
処理実行部１３はワークフロー情報に定義されたそれぞれの処理を実行する。処理実行部１３は複数の処理部１４を持っており、それぞれの処理部１４は異なる処理を実行する。例えば、１つの処理部１４は文字認識処理（ＯＣＲ：Optical Character Reader）を実行し、他の処理部１４は翻訳を実行する等である。各処理部１４はプラグインというソフトウェアの実装技術で実装される。プラグインとはソフトウェアの機能を拡張するための追加プログラムをいう。機能が追加される側のソフトウェア（例えば処理実行部４３）にＡＰＩ（Application Interface）が定められており、このＡＰＩを介してプラグインとソフトウェアが連携する。したがって、処理実行部１３の機能は増減が容易である。処理実行部４３は、図３のＣＰＵ２０１がプログラム２０９ｐを実行すること等により実現される。
【００５１】
ワークフロー制御部１２は、ワークフロー記憶部１９からワークフロー情報を取得して実行する。すなわち、処理部１４を選択して処理を要求したり、必要であればオンプレミス環境９の第二ワークフローサーバ４０にワークフローの実行を要求したりする。ワークフロー制御部１２は、図３のＣＰＵ２０１がプログラム２０９ｐを実行すること等により実現される。
【００５２】
ネットワーク通信部１１は、ネットワークＮ１，Ｎ２を介してオンプレミス環境９の第一ワークフローサーバ１０と通信する。ネットワーク通信部１１は、図３のＣＰＵ２０１がプログラム２０９ｐを実行しネットワーク・ドライバ２０５を制御すること等により実現される。
【００５３】
<<第二ワークフローサーバ>>
第二ワークフローサーバ４０は、処理実行部４３、ワークフロー制御部１２、及び、ネットワーク通信部４１を有する。第二ワークフローサーバ４０が有するこれら各機能部は、図３に示された各構成要素のいずれかが、ＨＤＤ２０９からメモリ２０２に展開されたプログラム２０９ｐに従ったＣＰＵ２０１からの命令により動作することで実現される機能又は手段である。このプログラム２０９ｐは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
【００５４】
また、第二ワークフローサーバ４０はワークフロー記憶部４９を有している。ワークフロー記憶部４９は図３のメモリ２０２及びＨＤＤ２０９等により実現される。ワークフロー記憶部４９はワークフロー情報を記憶する。
【００５５】
第一ワークフローサーバ１０と異なるのは、処理実行部４３が、クラウドワークフローサーバ連携部４５とライセンス情報判断部４２を有する点である。
【００５６】
クラウドワークフローサーバ連携部４５は、第一ワークフローサーバ１０に処理を依頼する。要求を受け取った第一ワークフローサーバ１０は、ワークフロー制御部１２で要求されたワークフローを実行する。また、クラウドワークフローサーバ連携部４５は、ポーリング（繰り返し問い合わせすること）やＷｅｂＳｏｃｋｅｔなどの双方向通信技術を利用して、第一ワークフローサーバ１０から処理結果を取得する。
【００５７】
また、ライセンス情報判断部４２は、ワークフロー情報の中に含まれる条件と後述する企業のライセンス保持情報をもとに処理の実行主体をリアルタイムに判断する。判断の結果、クラウド環境８で実行する場合はクラウドワークフローサーバ連携部４５を介して第一ワークフローサーバ１０に処理の実行を要求する。ライセンス情報判断部４２の処理については実施例２にて説明する。
【００５８】
なお、複合機３０は処理実行部３３、ワークフロー制御部３２、ネットワーク通信部３１、及び、ワークフロー記憶部３９を有する。これらの機能は第一ワークフローサーバ１０と同様でよい。
【００５９】
<<ワークフロー管理サーバ>>
図６は、ワークフロー管理サーバ２０とクライアント端末５０の機能をブロック状に示す機能ブロック図の一例である。
【００６０】
ワークフロー管理サーバ２０は画面データ送信部２１、ワークフロー情報受信部２２、登録部２３、及び、ライセンス情報反映部２４を有する。ワークフロー管理サーバ２０が有するこれら各機能部は、図３に示された各構成要素のいずれかが、ＨＤＤ２０９からメモリ２０２に展開されたプログラム２０９ｐに従ったＣＰＵ２０１からの命令により動作することで実現される機能又は手段である。このプログラム２０９ｐは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
【００６１】
また、ワークフロー管理サーバ２０は画面データ記憶部２５、処理情報記憶部２６、デバイス情報記憶部２７、及び、ライセンス情報記憶部２８を有している。これら各記憶部は、図３のメモリ２０２及びＨＤＤ２０９等により実現される。このうち画面データ記憶部２５には、クライアント端末５０のブラウザソフトウェアが実行する画面データが記憶されている。すなわち、ＨＴＭＬで記述される各処理の部品、画像などの素材、画面構成のひな形、及び、ユーザ操作を受け付けるスクリプトなどを有する。以下では、処理情報記憶部２６、デバイス情報記憶部２７、及び、ライセンス情報記憶部２８が記憶する情報について説明する。
【００６２】
【表１】
2019040453.tif 000003
表１（ａ）は処理情報記憶部２６が記憶する処理情報６１をテーブル状に示す。処理情報６１はワークフローで実行される処理に関する情報である。同じ処理を実行する場合でも、内部的に使用するソフトウェアが異なる場合は別の処理として登録されている。処理情報６１には処理ＩＤに対応付けて処理名、処理モジュール、及び、使用ソフトウェアの各項目が登録されている。処理ＩＤは、各処理を識別するための識別情報である。ＩＤはIdentificationの略であり識別子や識別情報という意味である。ＩＤは複数の対象から、ある特定の対象を一意的に区別するために用いられる名称、符号、文字列、数値又はこれらのうち１つ以上の組み合わせをいう。処理ＩＤ以外のＩＤについても同様である。処理名は処理の名称である。処理モジュールは処理を実行するモジュール（プログラム）を示す。使用ソフトウェアは処理モジュールが内部的に使用するソフトウェアである。
【００６３】
表１（ｂ）は処理情報記憶部２６が記憶する処理優先度情報６４をテーブル状に示す。処理優先度情報６４にはそれぞれの処理カテゴリに対して、どの優先度で処理をユーザに掲示するかの情報が登録されている。
【００６４】
ワークフローの中で有償ソフトウェアを使用する処理がある場合、オンプレミス環境９で該処理が実行されるためには有償ライセンスが必要になるが、有償ライセンスがあるソフトウェアによる処理結果は品質が高い。これに対し、同じ処理を無償ソフトウェアで実現する場合、ライセンスがなくてもオンプレミス環境９で実行可能であるが、処理結果の品質は低くなる可能性がある。そのため、処理優先度情報により使用する処理モジュールの優先度が定められている。したがって、処理優先度情報が参照されるのはオンプレミス環境９でワークフローが実行される場合である。
【００６５】
例えば、処理ＩＤがＰ１、Ｐ２の処理はどちらもＯＣＲ処理が可能であり、処理Ｐ３，Ｐ４の処理はどちらもファイル形式変換処理が可能である。例えば、処理カテゴリがＯＣＲの場合、処理ＩＤがＰ１の処理が使用可能（ユーザがライセンスを有すれば）であればＰ１が優先され、Ｐ１の処理が使用不可であれば処理ＩＤがＰ２の処理が使用可能かどうか判断される。このＰ２が無償であることが後述するソフトウェアライセンス情報６２に設定されていれば、処理ＩＤがＰ１の処理を代替する処理としてＰ２が用意されていることになる。
【００６６】
【表２】
2019040453.tif 000004
表２は、デバイス情報記憶部２７に記憶されるデバイス情報６５をテーブル状に示す。デバイス情報６５は、企業ごとにオンプレミス環境９に存在するワークフローサーバ、及び、電子機器（複合機３０等）が登録された情報である。デバイス情報には、デバイスＩＤに対応付けて企業ＩＤとデバイス名が登録されている。デバイスＩＤはデバイス（ワークフローサーバ、及び、電子機器）を識別する識別情報である。企業ＩＤは企業を識別する識別情報である。デバイス名は具体的なデバイスの名称を示す。
【００６７】
【表３】
2019040453.tif 000005
表３（ａ）は、ライセンス情報記憶部２８に記憶されるソフトウェアライセンス情報６２をテーブル状に示す。ソフトウェアライセンス情報６２は処理で使用されるソフトウェアが必要とするライセンスの内容を保持する。ソフトウェアライセンス情報６２には、ソフトウェアＩＤに対応付けてソフトウェア名、及び、オンプレミス実行時のライセンスが登録されている。例えば、ソフトウェアＡをオンプレミスで実行する場合、マシン許諾ライセンスが必要となる。マシン許諾ライセンスとは、複合機３０がソフトウェアを実行するためのライセンスである。表１（ａ）から、処理ＩＤがＰ１の処理は内部的にＳ１（ソフトウェアＡ）を使用していることが分かる。そのため、処理ＩＤがＰ１の処理をオンプレミスで実行するためには、その企業がソフトウェアＡのライセンスを保持している必要があることが分かる。
【００６８】
なお、ソフトウェアＩＤがＳ３の「同時実行ライセンス」はこのソフトウェアを実行するには複数の複合機３０が同時に実行するライセンスが必要であることを意味する。また、「オンプレミス実行時のライセンス」が「なし」のソフトウェアはライセンスが無償のソフトウェアである。
【００６９】
表３（ｂ）は企業のライセンス保持情報６３をテーブル状に示す。企業のライセンス保持情報６３は、複合機３０がオンプレミス環境９で実行する権限を有するソフトウェアを示す。企業のライセンス保持情報６３には、企業ＩＤ、使用可能ソフトウェア、及び、制約の各項目が登録されている。例えば、企業ＩＤがＣ１の企業は、Ｓ１、Ｓ３、Ｓ６のソフトウェアをオンプレミス環境で実行するためのライセンスを保持していることが分かる。
【００７０】
また、それぞれのライセンスについて、マシン台数や同時実行数などの制約に関する情報が登録されている。何台のオンプレミス環境の第二ワークフローサーバ４０で同時に実行可能か、又は、何台のクラウド環境の第一ワークフローサーバ１０で実行可能かが登録されている。例えば「サーバ２台まで」はオンプレミスのライセンスにより１台のオンプレミス環境の第二ワークフローサーバ４０と２台のクラウド環境の第一ワークフローサーバ１０までは同時に同じソフトウェアを実行することができることを意味する。「同時に３台まで」は１つのライセンスによりオンプレミスの３台の装置（例えばオンプレミス環境の第二ワークフローサーバ４０と複合機３０の合計で３台以下）が同時に同じソフトウェアを実行することができることを意味する。
【００７１】
なお、本実施例ではオンプレミスのソフトウェアライセンスの有無が参照されるが、実施例２では「サーバ２台まで」等のクラウド側の制約も考慮される。
【００７２】
（各機能）
ライセンス情報反映部２４は、オンプレミスで実行される処理について企業のライセンス保持情報６３等を参照して、選択可能な処理を制限するか、又は、代替処理への変更を行う。ライセンス情報反映部２４は、図３のＣＰＵ２０１がプログラム２０９ｐを実行すること等により実現される。
【００７３】
画面データ送信部２１は、画面データ、処理情報、及びデバイス情報をクライアント端末５０へ送信する。これらはワークフロー設定画面の表示に使用される。なお、作成したワークフロー情報が送信される場合もある。画面データ送信部２１は、図３のＣＰＵ２０１がプログラム２０９ｐを実行しネットワーク・ドライバ２０５を制御すること等により実現される。
【００７４】
ワークフロー情報受信部２２は、クライアント端末５０からワークフロー情報を取得する。ワークフロー情報受信部２２は、図３のＣＰＵ２０１がプログラム２０９ｐを実行しネットワーク・ドライバ２０５を制御すること等により実現される。
【００７５】
登録部２３は、ワークフロー情報受信部２２が受信したワークフロー情報をクラウド環境８の第一ワークフローサーバ１０に登録する。登録部２３は、図３のＣＰＵ２０１がプログラム２０９ｐを実行しネットワーク・ドライバ２０５を制御すること等により実現される。
【００７６】
<<クライアント端末５０>>
クライアント端末５０は、画面データ受信部５１、制御部５２、及び、ワークフロー情報送信部５３を有する。クライアント端末５０が有するこれら各機能部は、図３に示された各構成要素のいずれかが、ＨＤＤ２０９からメモリ２０２に展開されたプログラム２０９ｐに従ったＣＰＵ２０１からの命令により動作することで実現される機能又は手段である。このプログラム２０９ｐは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
【００７７】
画面データ受信部５１は、ワークフロー管理サーバ２０から受信した画像データを受信し、ＬＣＤ２０６等に表示する。画面データ受信部５１は例えばブラウザソフトウェアにより実現される。また、画面データ受信部５１はユーザのクライアント端末５０に対する操作を受け付ける。画面データ受信部５１は図３のＣＰＵ２０１がプログラム２０９ｐを実行しネットワーク・ドライバ２０５を制御すること等により実現される。
【００７８】
制御部５２は、ユーザの要求（操作）に応じて、複数の処理の内容、順番及び実行主体の対応付けを定義したワークフロー情報を作成する。制御部５２は、図３のＣＰＵ２０１がプログラム２０９ｐを実行すること等により実現される。
【００７９】
ワークフロー情報送信部５３は制御部５２により作成されたワークフロー情報をワークフロー管理サーバ２０へ送信する。ワークフロー情報送信部５３は、図３のＣＰＵ２０１がプログラム２０９ｐを実行しネットワーク・ドライバ２０５を制御すること等により実現される。
【００８０】
＜動作手順＞
ユーザがワークフロー情報を作成する際に、該ユーザが特定のソフトウェアをオンプレミスで実行するためのライセンスを保持していない場合、情報処理システム１００は以下の処理を行う。
(i) そのソフトウェアを使用する処理がオンプレミスで実行されるのを制限する
(ii) ライセンスが不要な代替処理をユーザが選択できるようにする
このため、ワークフロー管理サーバ２０は(i)(ii)が可能となるワークフロー設定画面を作成する。以下では、ワークフロー情報の作成に関する全体的な処理と(i)(ii)の具体的な処理の流れについて説明する。
【００８１】
図７は、クライアント端末５０がワークフロー管理サーバ２０と通信してワークフロー情報を作成する際のシーケンス図の一例である。
【００８２】
S1：ユーザは企業ＩＤ、ユーザ名、及び、パスワードを入力してワークフロー管理サーバ２０にログインする。クライアント端末５０の画面データ受信部５１はこれらの情報を受け付け、ワークフロー管理サーバ２０に送信する。本実施形態ではログインが成功したものとする。
【００８３】
S2：ログインに成功するとクライアント端末５０の画面データ受信部５１は、ワークフロー管理サーバ２０にワークフロー設定画面の取得を要求する。ワークフロー設定画面の一例を図９,図１０に示す。
【００８４】
S3：ワークフロー管理サーバ２０のライセンス情報判断部４２は企業ＩＤに基づき企業のライセンス保持情報を特定する。
【００８５】
S4：ワークフロー管理サーバ２０のライセンス情報判断部４２は特定した企業のライセンス保持情報をワークフロー設定画面に反映させる。すなわち、(i) ソフトウェアを使用する処理がオンプレミスでユーザ（企業）がライセンスを有さない場合は、ユーザが処理を選択できないように処理をワークフロー設定画面の選択対象から除外し、(ii) ライセンスが不要な代替処理でユーザがワークフローを定義するように代替処理をワークフロー設定画面に設定する。詳細を図８にて説明する。画面データ送信部２１はワークフロー設定画面の画面データをクライアント端末５０へ送信する。
【００８６】
S5：クライアント端末５０の画面データ受信部５１はワークフロー設定画面を表示して、ユーザからの操作を受け付ける。したがって、ユーザは企業のライセンス保持情報で制限された範囲でワークフローを定義する。
【００８７】
S6：クライアント端末５０の画面データ受信部５１は作成されたワークフロー情報をワークフロー管理サーバ２０へ送信する。
【００８８】
S7：ワークフロー管理サーバ２０の登録部２３はクラウド環境８の第一ワークフローサーバ１０にワークフロー情報を登録する。
【００８９】
図８は、ライセンス情報反映部２４がソフトウェアのライセンス情報をワークフローの設定画面に反映させる処理を説明するフローチャート図の一例である。
【００９０】
図８のフローチャート図は１つの処理に対し実行される流れを示すので、ワークフロー設定画面に含まれ得る全ての処理について図８の流れが繰り返し実行される。ここでは任意の１つの処理について説明する。
【００９１】
ライセンス情報反映部２４はワークフロー設定画面に含まれる処理名を任意の順番で決定する（Ｓ１０）。
【００９２】
ライセンス情報反映部２４は処理優先度情報６４を参照し、ステップＳ１０で決定した処理名の優先度リストを取得する（Ｓ２０）。
【００９３】
ライセンス情報反映部２４は優先度リストに処理ＩＤがあるか否かを判断する（Ｓ３０）。ステップＳ３０の判断がＮｏの場合、処理はステップＳ１１０に進む。
【００９４】
ステップＳ３０の判断がＹｅｓの場合、ライセンス情報反映部２４は優先度が高い順（優先度順）に優先度リストから処理ＩＤを取り出す（Ｓ４０）。
【００９５】
ライセンス情報反映部２４は処理情報を参照し、処理ＩＤに対応付けられた使用ソフトウェアを特定する（Ｓ５０）。
【００９６】
次に、ライセンス情報反映部２４はソフトウェアライセンス情報を参照し、使用ソフトウェアに必要とされるライセンスの内容を取得する（Ｓ６０）。
【００９７】
次に、ライセンス情報反映部２４は、企業のライセンス保持情報からオンプレミスでの使用可能ソフトウェアを取得する（Ｓ７０）。
【００９８】
次に、ライセンス情報反映部２４は、企業が必要とされるライセンスを保持しているか否かを判断する（Ｓ８０）。ソフトウェアライセンス情報で「なし」と設定されている場合、ステップＳ８０はＹｅｓと判断される。したがって、優先度が高い処理のソフトウェアライセンスがない場合、この処理を代替する処理が無償のソフトウェアを使用する場合は、ワークフロー設定画面に代替処理が採用される。
【００９９】
この判断の結果、ライセンスを保持していれば、ステップＳ３０で特定した処理ＩＤの処理モジュールはオンプレミスで実行できるため、ワークフロー設定画面に処理ＩＤをユーザが選択できるように設定する（Ｓ１００）。
【０１００】
判断の結果、ライセンスを保持していなければ、優先度リストから次に優先度が高い処理ＩＤを参照する（Ｓ９０）。優先度リストに処理ＩＤがある場合はステップＳ３０以降が実行される。
【０１０１】
したがって、本実施形態では、優先度の高い処理をライセンスの関係で利用できなくても、優先度がより低い処理が代替することができる。ライセンスが不要なソフトウェアを使用する処理が優先度リストに含まれていれば、ユーザはこの処理をワークフロー設定画面で設定できる。
【０１０２】
ステップＳ３０において、優先度リストに次の処理ＩＤがない場合、ステップＳ１０で特定した処理名の処理をユーザが実行できないので、ライセンス情報反映部２４はステップＳ１０で特定した処理名の処理を制限する（Ｓ１１０）。すなわち、ライセンスが必要で代替の処理もない場合、ワークフロー設定画面にユーザが選択できないように（制限するために）処理ＩＤを設定しない。
【０１０３】
具体例を使って説明する。例えば、処理名がＯＣＲの場合、処理優先度情報６４の優先度リストにはＰ１，Ｐ２の処理ＩＤが登録されている。処理情報によれば、処理ＩＤがＰ１の処理はＳ１というソフトウェアを使用する。ソフトウェアライセンス情報によると、Ｓ１というソフトウェアはマシン許諾というライセンスが必要である。企業ＩＤがＣ１の企業はＳ１というソフトウェアのライセンス（マシン許諾）を有しているので、このユーザ（企業）は処理ＩＤがＰ１の処理をワークフロー設定画面で選択できる。
【０１０４】
処理名が画像合成の場合、優先度リストにはＰ５の処理ＩＤが登録されている。処理情報によれば、処理ＩＤがＰ５の処理はＳ５というソフトウェアを使用する。ソフトウェアライセンス情報によると、Ｓ５というソフトウェアはマシン許諾というライセンスが必要である。企業ＩＤがＣ１の企業はＳ５というソフトウェアのライセンス（マシン許諾）を有していないので、このユーザ（企業）は処理ＩＤがＰ５の処理をワークフロー設定画面で選択できない。
【０１０５】
＜ワークフロー設定画面＞
図９は、ワークフロー設定画面の一例を示す図である。図９ではオンプレミスで実行するためのソフトウェアライセンスを有さない処理が含まれる場合を説明する。
【０１０６】
ワークフロー設定画面は処理一覧欄４０１、ワークフロー定義欄４０２、及び、詳細設定欄４０３を有する。処理一覧欄４０１には、入力に関する処理、中間処理に関する処理、及び、出力に関する処理のそれぞれに選択可能な処理のリストが表示される。ワークフロー定義欄４０２には、ユーザがワークフローに含める処理名が処理の順番に表示される。図では矢印線４０４で処理の順番が示されている。ユーザはマウスやタッチパネルなどのポインティングデバイスで処理一覧欄４０１の処理をワークフロー定義欄４０２にドラッグ＆ドロップする。ユーザはこの動作を何回か行い、複数の処理名をワークフロー定義欄４０２に表示させる。ユーザはワークフロー定義欄４０２の処理名をポインティングデバイスでドラッグすることで適宜、処理の順番を編集できる。
【０１０７】
詳細設定欄４０３には処理ごとの実行主体が選択可能に表示される。図９では、ワークフロー定義欄４０２でユーザが選択した「画像合成」という処理について、「社内サーバ」「クラウドサーバ」の２つの実行主体が表示されている。ユーザは所望の実行主体を選択できる。
【０１０８】
しかしながら、この「画像合成」という処理をオンプレミスで実行するためのソフトウェアライセンスをユーザが有さない場合、「社内サーバ」に対応付けて、例えば「社内サーバで実行するためにはライセンス購入が必要です」という警告４０５が表示される。この警告４０５はライセンス情報反映部２４が「画像合成」という処理に対応付けたものである。
【０１０９】
画像合成をオンプレミスで実行するためのソフトウェアライセンスをユーザが有していないため、クライアント端末５０の画面データ受信部５１はワークフロー設定画面に警告４０５を表示する。また、ユーザが「社内サーバ」を選択することはできないようにワークフロー設定画面が構築されており、画面データ受信部５１はこの操作を受け付けない。
【０１１０】
このような処理により、オンプレミスで実行される処理に必要なソフトウェアライセンスをユーザが有さない場合は、オンプレミスの処理を制限し、クラウド環境８での処理を可能にできる。
【０１１１】
図１０は、ワークフロー設定画面の別の一例を示す図である。図１０ではオンプレミスで実行するための有償のソフトウェアライセンスを有さないため、無償のソフトウェアを使用する代替処理が提供される場合を説明する。なお、図１０の説明において、図９と同一の符号を付した構成要素は同様の機能を果たすので、主に本実施例の主要な構成要素についてのみ説明する場合がある。
【０１１２】
まず、図１０ではワークフロー定義欄４０２において「ファイル形式変換」が選択されている。図１０では詳細設定欄４０３の「社内サーバ」に対応付けて、例えば「社内サーバで実行するとレイアウトが崩れる可能性があります」という警告４０６が表示される。すなわち、ファイル形式変換をオンプレミスで実行するためのソフトウェアライセンスをユーザが有していないが、ライセンス情報反映部２４はライセンスが不要なソフトウェアを使用する処理で代替した。ライセンス情報反映部２４はライセンスが不要なソフトウェアを使用する処理で代替した処理に警告４０６を対応付ける。画面データ受信部５１は警告４０６を表示することで、ワークフローの処理結果がユーザにとって不利益となる結果を含む可能性があることを表示することができる。
【０１１３】
なお、処理が代替された場合に、どのような警告が表示されるかは、処理ごとに予め定まっている。例えばＯＣＲでは「アルファベットの変換に対応していません」という警告が表示される。
【０１１４】
＜まとめ＞
以上説明したように、本実施形態の情報処理システム１００は、ユーザが保持しているオンプレミスでソフトウェアを実行するためのソフトウェアライセンスを考慮して、ワークフロー設定画面を提供することができる。ユーザがオンプレミスで実行するソフトウェアのライセンスを有さない場合、情報処理システム１００は、処理を制限したり、優先度が低い代替処理で置き換えたり、ソフトウェアライセンスが不要な処理で置き換えるたりすることができる。したがって、ユーザはワークフローの定義時にオンプレミスのソフトウェアライセンスの有無に応じて各処理主体の実行主体を選択でき、クラウド環境とオンプレミス環境のうちユーザが意図した環境でワークフローを実行することができる。
【実施例２】
【０１１５】
本実施例では、ワークフロー実行時にライセンスの制約内での処理が間に合わない場合、クラウドに処理を委譲することができる情報処理システム１００について説明する。
【０１１６】
オンプレミスで実行できるソフトウェアを導入しているユーザの場合、有償ソフトウェアのライセンスを保持していることが多い。その場合、ユーザとしては既に保持しているライセンスを有効活用しながらも、保持ライセンスの上限を超える分に関してはクラウド環境を利用したい場合がある。例えば、クラウド環境で処理することで処理時間を短縮したい場合である。
【０１１７】
本実施例の情報処理システム１００は保持ライセンスの上限を超える分に関してクラウド環境で処理することで処理時間を短縮することを可能とする。
【０１１８】
図１１は、ワークフロー設定画面の一例を示す図である。図１１の説明において、図９と同一の符号を付した構成要素は同様の機能を果たすので、主に本実施例の主要な構成要素についてのみ説明する場合がある。
【０１１９】
本実施例のワークフロー設定画面では、詳細設定欄４０３にファイル形式変換の処理におけるクラウド委譲条件が表示されている。まず、「同時に２台まで社内サーバで処理を実行できます」というメッセージ４１１が表示されている。このメッセージ４１１は、企業のライセンス保持情報に基づいて表示される。すなわち、「制約」に「同時に２台まで」という記述がある場合、クライアント端末５０はこの制約を詳細設定欄４０３に表示する。
【０１２０】
クライアント端末５０は企業のライセンス保持情報６３をワークフロー管理サーバ２０から取得するので、画面データ受信部５１は企業のライセンス保持情報を参照し、ライセンスを保持する場合には、この処理にメッセージ４１１を表示する。
【０１２１】
したがって、「制約」に「同時に○台まで」という記載がなくてもよく、オンプレミスのライセンスを有していれば、画面データ受信部５１は「同時に１台まで社内サーバで処理を実行できます」というメッセージを処理に対応付けて表示する。
【０１２２】
また、詳細設定欄４０３には、条件の設定欄４１２と条件が成立した場合に実行されるアクションの設定欄４１３が表示されている。図１１では以下のように表示されている。
条件：「社内サーバの負荷」、「次の値より大きい」、「９０」
アクション：「クラウドで処理を実行する」
このユーザは企業のライセンス保持情報の制約により、オンプレミスでは２台のサーバで処理を実行できる。しかし、条件とアクションにより、社内サーバ２台の負荷が９０より大きくなった場合、負荷が高い間はクラウドに処理を委譲する、という設定が可能である。この条件とアクションは処理に対応付けてワークフロー情報に含まれることになる。
【０１２３】
条件は図示する他、社内ネットワークの負荷が閾値より高い場合でもよいし、時刻がある範囲内の場合でもよい。また、アクションは図示する他、一定時間待機しても条件が成立する場合にクラウドで処理を実行する、などでもよい。
【０１２４】
また、ライセンスによる制約は、サーバ台数の他、ＣＰＵ数でもよいし、同時実行プロセス数でもよい。
【０１２５】
ライセンスによる制約の範囲ではユーザがワークフローを実行する権限を有するので、オンプレミスの第二ワークフローサーバ４０の処理負荷が高い場合には、クラウド環境８で処理してもライセンス上、差し支えない。したがって、オンプレミスの第二ワークフローサーバ４０がクラウドの第一ワークフローサーバ１０にワークフローを委譲することで、ワークフローの実行が完了するまでの時間を短縮できる。
【０１２６】
なお、企業のライセンス保持情報の「制約」に「サーバ２台まで」等の記述がある処理の場合、クラウド環境８の処理に委譲される際に同時に処理を実行するサーバの数が制限される。
【０１２７】
＜動作手順＞
図１２は、複合機３０がワークフローを実行する際の手順を示すシーケンス図の一例である。
【０１２８】
S1：ユーザは複合機３０を操作して情報処理システム１００にログインする。
【０１２９】
S2：複合機３０の画面データ受信部５１はオンプレミスの第二ワークフローサーバ４０からワークフロー情報を取得する。ログインによりユーザと企業が特定されているので、このユーザが実行できるワークフロー情報が取得される。
【０１３０】
S3：画面データ受信部５１は取得したワークフロー情報を表示する。ユーザは所望のワークフローを選択して実行を開始する。ここではスキャンが最初の処理となるワークフローが実行された。
【０１３１】
S4：複合機３０の処理実行部３３は原稿をスキャンして画像データを生成する。
【０１３２】
S5：複合機３０のワークフロー制御部３２はワークフロー情報を参照して、実行主体がオンプレミス環境９の第二ワークフローサーバ４０であると判断し、第二ワークフローサーバ４０にワークフローの実行を要求する。画像データも送信される。
【０１３３】
S6：第二ワークフローサーバ４０のネットワーク通信部４１はワークフローの実行要求を受信すると、クラウド環境８のワークフロー管理サーバ２０から企業のライセンス保持情報を取得する。
【０１３４】
S7：第二ワークフローサーバ４０のライセンス情報判断部４２は企業のライセンス保持情報を参照して、このユーザ（企業）の制約を処理ごとに取得する。また、ライセンス情報判断部４２はワークフロー情報を有しているので、処理ごとにユーザが設定した条件とアクションを取得する。したがって、図１１で説明したように、企業のライセンス保持情報の制約の下、第二ワークフローサーバ４０の処理負荷を考慮して条件が成立するか否かを判断する。
【０１３５】
S8：条件が成立する場合、第二ワークフローサーバ４０のワークフロー制御部１２はワークフローの実行要求をクラウドの第一ワークフローサーバ１０に送信する。
【０１３６】
S9：条件が成立しない場合、第二ワークフローサーバ４０のワークフロー制御部１２は処理実行部４３の処理部１４を呼び出してワークフローを実行する。
【０１３７】
＜まとめ＞
したがって、本実施例によれば、ライセンスの制約内での処理では時間がかかるような場合、クラウドに処理を委譲してワークフローの実行時間を短縮できる。
【０１３８】
＜その他の適用例＞
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０１３９】
例えば、本実施形態ではオンプレミス環境の第二ワークフローサーバ４０が先にワークフローの処理を実行したが、クラウド環境の第一ワークフローサーバ１０が先にワークフローの処理を実行してもよい。
【０１４０】
また、第一ワークフローサーバ１０又は第二ワークフローサーバ４０の機能は複数のサーバに分散されていてもよい。また、第一ワークフローサーバ１０が複数有り、第二ワークフローサーバ４０が複数あってもよい。また、第一ワークフローサーバ１０とワークフロー管理サーバ２０は１つのサーバにより実現されていてもよい。
【０１４１】
また、ワークフローの実行に際して複合機３０はなくてもよい。更に、第二ワークフローサーバ４０のみで１つのワークフロー情報の全体を実行してもよい。
【０１４２】
画面データ記憶部２５，処理情報記憶部２６、デバイス情報記憶部２７、及び、ライセンス情報記憶部２８の１つ以上は、ワークフロー管理サーバ２０が有する他、ワークフロー管理サーバ２０がアクセス可能な場所にあればよい。
【０１４３】
また、以上の実施例で示した図５、図６などの構成例は、情報処理システム１００の処理の理解を容易にするために、主な機能に応じて分割したものである。しかし、各処理単位の分割の仕方や名称によって本願発明が制限されることはない。情報処理システム１００は、処理内容に応じて更に多くの処理単位に分割することもできる。また、１つの処理単位が更に多くの処理を含むように分割することもできる。
【０１４４】
なお、第一ワークフローサーバ１０は第一の情報処理装置の一例であり、第二ワークフローサーバ４０は第二の情報処理装置の一例であり、ワークフロー管理サーバ２０は第三の情報処理装置の一例であり、クライアント端末５０は第四の情報処理装置の一例である。ライセンス情報記憶部２８の企業のライセンス保持情報はライセンス情報記憶手段の一例であり、ライセンス情報反映部２４はライセンス情報反映手段の一例であり、画面データ送信部２１は設定画面送信手段の一例であり、ワークフロー情報受信部２２は処理定義情報取得手段の一例であり、画面データ受信部５１は設定受付手段の一例であり、ワークフロー情報送信部５３は送信手段の一例であり、クラウドワークフローサーバ連携部４５は処理連携手段の一例であり、ライセンス情報判断部４２は判断手段の一例である。
【符号の説明】
【０１４５】
８        クラウド環境
９        オンプレミス環境
１０      第一ワークフローサーバ
２０      ワークフロー管理サーバ
３０      複合機
４０      第二ワークフローサーバ
５０      クライアント端末
１００    情報処理システム
【先行技術文献】
【特許文献】
【０１４６】
【特許文献１】特開2016-091116号公報
【図１】
2019040453.tif 000006
【図２】
2019040453.tif 000007
【図３】
2019040453.tif 000008
【図４】
2019040453.tif 000009
【図５】
2019040453.tif 000010
【図６】
2019040453.tif 000011
【図７】
2019040453.tif 000012
【図８】
2019040453.tif 000013
【図９】
2019040453.tif 000014
【図１０】
2019040453.tif 000015
【図１１】
2019040453.tif 000016
【図１２】
2019040453.tif 000017