(57)【要約】【課題】複数の処理の連携が容易な情報処理システムを提供すること。【解決手段】処理が定義された処理定義情報に基づいて前記処理を実行する情報処理システム１００であって、抽象化された出力処理を有する第一の処理定義情報１０１と、抽象化された入力処理を有する第二の処理定義情報１０２を記憶する記憶手段５１ａと、前記第一の処理定義情報が実行された場合、前記出力処理の後に前記入力処理を実行すると判断し、前記出力処理に設定された第二のユーザに関する情報に基づいて前記第二のユーザに対応付けられている前記第二の処理定義情報を実行する処理実行手段５３と、を有する。【選択図】図３
2018072947.tif 000002
【特許請求の範囲】
【請求項１】
処理が定義された処理定義情報に基づいて前記処理を実行する情報処理システムであって、
抽象化された出力処理を有する第一の処理定義情報と、抽象化された入力処理を有する第二の処理定義情報を記憶する記憶手段と、
前記第一の処理定義情報が実行された場合、前記出力処理の後に前記入力処理を実行すると判断し、前記出力処理に設定された第二のユーザに関する情報に基づいて前記第二のユーザに対応付けられている前記第二の処理定義情報を実行する処理実行手段と、
を有する情報処理システム。
【請求項２】
前記第一の処理定義情報は第一のユーザに対応付けられており、
前記処理実行手段は、前記第二のユーザに対応付けられている前記第二の処理定義情報のうち、前記入力処理に第一のユーザに関する情報が設定されている前記第二の処理定義情報を特定して実行する請求項１に記載の情報処理システム。
【請求項３】
前記処理実行手段は、更に、前記第一の処理定義情報の識別情報が前記入力処理に設定されている前記第二の処理定義情報を特定して実行する請求項１又は２に記載の情報処理システム。
【請求項４】
ネットワークを介して前記出力処理に前記第二のユーザに関する情報が設定された前記第一の処理定義情報を受信した場合、前記第二のユーザに対応付けられている前記第二の処理定義情報が出力先となっている旨を前記第二のユーザに通知する連携処理手段を有する請求項１〜３のいずれか１項に記載の情報処理システム。
【請求項５】
前記第二のユーザへの通知にはＵＲＬが含まれており、前記第二のユーザが操作する端末装置が前記ＵＲＬの選択を受け付けた場合、
前記第一の処理定義情報が有する複数の処理を視覚的に表示する画面情報を作成する画面情報作成手段と、
前記画面情報を前記端末装置に送信する送信手段と、を更に有する請求項４に記載の情報処理システム。
【請求項６】
前記連携処理手段が、前記第二の処理定義情報を指定して前記第一の処理定義情報の出力先とすることを許可する旨を前記第二のユーザから取得した場合、
前記第二の処理定義情報の前記入力処理に、前記第一の処理定義情報に対応付けられた第一のユーザに関する情報を設定し、
前記処理実行手段は、前記第二のユーザに対応付けられている前記第二の処理定義情報のうち、前記入力処理に第一のユーザに関する情報が設定されている前記第二の処理定義情報を特定して実行する請求項５に記載の情報処理システム。
【請求項７】
前記画面情報作成手段は、前記第一の処理定義情報の複数の処理を視覚的に表示すると共に、前記第二のユーザに対応付けられた１つ以上の前記第二の処理定義情報を選択可能に表示する画面情報を作成し、
前記端末装置が前記第二の処理定義情報の選択を受け付けた場合、前記第一の処理定義情報の複数の処理を視覚的に表示すると共に、前記第一の処理定義情報の前記出力処理と前記第二の処理定義情報の前記入力処理を接続して表示する請求項６に記載の情報処理システム。
【請求項８】
１つ以上の前記第一の処理定義情報を表示装置に表示し、第一のユーザによる選択を受け付ける表示手段と、
前記第一の処理定義情報が含む処理を実行する実行手段と、を有する機器を有し、
前記表示手段は、前記第一のユーザの操作に応じて前記第一の処理定義情報の処理に関する情報を表示する請求項１〜７のいずれか１項に記載の情報処理システム。
【請求項９】
処理が定義された処理定義情報に基づいて前記処理を実行する情報処理装置に、
抽象化された出力処理を有する第一の処理定義情報と、抽象化された入力処理を有する第二の処理定義情報を記憶する記憶手段を参照させ、
前記第一の処理定義情報が実行された場合、前記出力処理の後に前記入力処理を実行すると判断し、前記出力処理に設定された第二のユーザに関する情報に基づいて前記第二のユーザに対応付けられている前記第二の処理定義情報を実行する処理実行手段、
として機能させるためのプログラム。
【請求項１０】
処理が定義された処理定義情報に基づいて前記処理を実行する情報処理システムが行う処理実行方法であって、
処理実行手段が、抽象化された出力処理を有する第一の処理定義情報と、抽象化された入力処理を有する第二の処理定義情報を記憶する記憶手段を参照するステップと、
処理実行手段が、前記第一の処理定義情報が実行された場合、前記出力処理の後に前記入力処理を実行すると判断し、前記出力処理に設定された第二のユーザに関する情報に基づいて前記第二のユーザに対応付けられている前記第二の処理定義情報を実行するステップと、を有する処理実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、プログラム及び処理実行方法に関する。
【背景技術】
【０００２】
日常的な業務や手続などの流れをワークフローといい、ワークフローを情報処理装置で自動化したシステムをワークフローシステムという。また、ワークフローシステムでどのような処理を行うかが定義された情報をワークフロー情報という。ワークフローシステムはこのワークフロー情報を参照してワークフローを実行する。
【０００３】
図１は、ワークフロー情報の概念図を示す。３つの処理が組み合わされワークフローが構築されている。ユーザはワークフローシステムが用意したユーザインタフェースをＰＣ（Personal Computer）に表示させ、予め用意された処理を組み合わせてワークフローを定義する。ワークフローを管理するサーバはユーザの定義を取得してワークフロー情報を作成する。各処理にはスキャンなどの入力、プリントなどの出力、ＯＣＲ（Optical Character Reader）、又は、ファイルの形式を自動でＰＤＦ等に変換するファイル変換など様々なものがある。したがって、ユーザは用意されている処理を組み合わせることでユーザに適したワークフローを定義できるため、定型業務などを効率よく実行できる。
【０００４】
また、一度、作成したワークフロー情報をユーザは必要に応じて変更することができる（例えば、特許文献１参照。）。特許文献１には、ワークフローにより提供されるサービスをフローの組み合わせによって柔軟に変更するワークフローシステムが開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のワークフローシステムでは、あるユーザのワークフローの変更が他のユーザのワークフローにも影響するという問題があった。図を用いて説明する。
【０００６】
図２（ａ）はユーザＡが定義したワークフローであり、図２（ｂ）はユーザＢが定義したワークフローである。ユーザＡとユーザＢがワークフローで連携する業務を行なっている。まず、ユーザＡはある原稿（書類）をスキャンし、ＯＣＲを行いユーザＢにメールで送信するというワークフローを利用している。ユーザＢはユーザＡからメールを受信するとメールの書誌的事項等をＱＲコード（登録商標）に変換してメールで受信した文書に添付し、クラウドストレージに保存する。
【０００７】
このようにワークフローが連携する場合に、例えばユーザＢが他のワークフローからデータを受信する処理のメールアドレスを変更すると、ユーザＡはワークフローのメール送信の処理における宛先（ユーザＢ）のメールアドレスも変更しなければならない。
【０００８】
このように、異なるワークフローが連携する場合、一方のワークフローの変更が他方のワークフローに影響し、他方のワークフローも変更する必要が生じてしまう。
【０００９】
本発明は、上記課題に鑑み、複数の処理の連携が容易な情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、処理が定義された処理定義情報に基づいて前記処理を実行する情報処理システムであって、抽象化された出力処理を有する第一の処理定義情報と、抽象化された入力処理を有する第二の処理定義情報を記憶する記憶手段と、前記第一の処理定義情報が実行された場合、前記出力処理の後に前記入力処理を実行すると判断し、前記出力処理に設定された第二のユーザに関する情報に基づいて前記第二のユーザに対応付けられている前記第二の処理定義情報を実行する処理実行手段と、を有する。
【発明の効果】
【００１１】
複数の処理の連携が容易な情報処理システムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】ワークフロー情報の概念図である。
【図２】ユーザＡとユーザＢのワークフローを説明する図の一例である。
【図３】連携する複数のワークフローの定義に関する概念を示す図である。
【図４】ワークフローシステムの概略的なシステム構成図の一例である。
【図５】ワークフローサーバの概略的なハードウェア構成図の一例である。
【図６】ＭＦＰのハードウェア構成図の一例である。
【図７】ワークフローサーバ、ＰＣ、クラウドストレージ及びＭＦＰが有する機能をブロック状に示す機能ブロック図の一例である。
【図８】ワークフローシステムの全体的な動作を示すシーケンス図の一例である。
【図９】ユーザがワークフローサーバへログインする際のログイン画面の一例を示す図である。
【図１０】ユーザＡが操作するワークフロー定義画面の一例を示す図である。
【図１１】ユーザＢが受信するメールの内容の一例を示す図である。
【図１２】許可設定画面の一例を示す図である。
【図１３】ワークフロー連携設定画面の一例を示す図である
【図１４】ユーザＡが受信するメールの内容の一例を示す図である。
【図１５】ＭＦＰに表示されたフロー選択画面の一例である。
【図１６】ユーザＡがスキャンを実行した場合のワークフローシステムの動作手順を示すフローチャート図の一例である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施する情報処理システムと情報処理システムが行う処理実行方法について図面を参照しながら実施例を挙げて説明する。
【００１４】
＜ワークフローの概略＞
図３は、連携する複数のワークフローの定義に関する概念を示す図である。ユーザＡが実行するワークフロー１０１の処理はスキャン、ＯＣＲ及びＯＵＴであり、ユーザＢが実行するワークフロー１０２の処理はＩＮ、ＱＲコード（登録商標。以下、省略する）付与及びストレージに保存である。
【００１５】
ＯＵＴ又はＩＮの処理は、２つのワークフローが処理の対象となるデータの送受信を行う際の抽象化された入出力である。抽象化とは、具体的な出力先又は入力元は定まっていないが、ＯＵＴは処理の対象のデータの出力を行い、ＩＮは処理の対象のデータの入力を行うという意味である。しかし、ＯＵＴの後にはＩＮが実行されると決まっている。
【００１６】
ワークフロー１０１のユーザはユーザＢに関する情報をＯＵＴに設定することでユーザＢを出力先に設定する。ワークフロー１０２のユーザの同意が得られた場合、後述するワークフローサーバはユーザＡに関する情報をＩＮに設定しユーザＡを入力元にする。これにより、ユーザＡのワークフローとユーザＢのワークフローがＯＵＴとＩＮにより結びつけられる。
【００１７】
ＯＵＴとＩＮはメールアドレスなどの具体的な宛先が設定される必要がない。ＯＵＴとＩＮは自動的に接続されるものであり、ＯＵＴではユーザＢに関する情報が設定されていればよい。ＩＮでは少なくともユーザＡに関する情報が設定されていればよい。これにより、ワークフローサーバはユーザＡのワークフロー１０１の処理結果にユーザＢのワークフロー１０２の各処理を施すことができる。ユーザＢがメールアドレスを変更してもユーザＡがワークフロー１０１を定義し直すことなく２つのワークフローが連携することができる。
【００１８】
＜用語について＞
出力処理とは、データを出力する処理である。入力処理とは、データの入力を受け付ける処理である。具体的には、ある装置から別の装置にデータが移動するために、ある装置が行う処理が出力処理であり、別の装置がデータを取得する処理は入力処理である。
【００１９】
＜システム構成例＞
図４は、ワークフローシステム１００の概略的なシステム構成図の一例である。ローカルネットＡ（符号は９Ａ）及びローカルネットＢ（符号は９Ｂ）はそれぞれインターネット８に接続されている。ローカルネットＡ、Ｂは、企業などの施設に構築されたＬＡＮである。また、インターネット８とは、コンピュータを世界的な規模で接続すると共に世界中のネットワークが相互接続されたネットワークである。ローカルネットＡ、Ｂ及びインターネット８は有線又は無線のいずれで構築されていてもよく、一部が有線又は無線で構築されていてもよい。
【００２０】
ローカルネットＡにはユーザＡのＰＣ１０Ａ及びＭＦＰ３０（Multi-Function Peripheral）が接続されている。ユーザＡはこのＭＦＰ３０を用いて原稿をスキャンする。ただしＭＦＰ３０はローカルネットＢに接続されてもよい。また、ローカルネットＢにはユーザＢのＰＣ１０Ｂが接続されている。
【００２１】
ＭＦＰ３０は、処理の対象のデータが入力される機器の一例であり、少なくともスキャナ機能を有する。ＭＦＰ３０は、この他、プリンタ機能及びファクシミリ機能を有していてもよい。ＭＦＰ３０は、複合機、画像形成装置、多機能プリンタ、コピー機又はオフィス機器などと呼ばれる場合がある。また、スキャナ機能で原稿を画像データに変換するにはスキャナ機能でなくてもよい。例えば、データが入力される機器として、ＭＦＰ３０の代わりにデジタルカメラやデジタルカメラの機能を有する各種の機器でもよい。また、テレビ会議端末のように映像を配信する機器でもよい。この場合は映像に例えば音声認識を施して、クラウドストレージ７０が映像と共に保存する使い方が可能になる。
【００２２】
ユーザＡのＰＣ１０Ａ又はユーザＢのＰＣ１０Ｂは、ユーザＡ及びユーザＢが操作する端末装置として使用される情報処理装置である（例えば、デスクトップ型コンピュータ、ノート型コンピュータ、ワークステーション等）。ＰＣの他、スマートフォン、タブレット端末、携帯電話機、ＰＤＡ（Personal Digital Assistant）、又はウェアラブルＰＣなどと呼ばれていてもよい。ＰＣ１０Ａ，１０Ｂは、ユーザがワークフローを定義するために使用される。
【００２３】
また、インターネット８にはワークフローサーバ５０及びクラウドストレージ７０が接続されている。ワークフローサーバ５０及びクラウドストレージ７０はローカルネットＡ又はＢに接続されていてもよい。
【００２４】
ワークフローサーバ５０は、一台以上の情報処理装置により実現されており、二台以上のワークフローサーバ５０が存在してもよい。ワークフローサーバ５０は情報処理システムの一例である。ワークフローサーバ５０は、ワークフローの全体的な実行を制御する。具体的には、ユーザがワークフローを定義するためのＷｅｂサーバとして機能し、処理が定義された処理定義情報としてのワークフロー情報を記憶しておく。ユーザからの要求に応じてワークフロー情報を提供し、ユーザが選択したワークフローをワークフローサーバ５０又はネットワーク上の各種の情報処理装置のリソースを利用してワークフロー情報に基づいて実行する。
【００２５】
クラウドストレージ７０は、インターネット８上のストレージ（記憶装置）である。クラウドストレージ７０の他、オンラインストレージと呼ばれる場合もある。クラウドストレージ７０を利用することで、企業が自社でファイルサーバ環境を構築する必要がなく、必要な分だけ容量を増減することができる。また、クラウドストレージ７０上の文書データを、インターネット８を介してアクセスしたＰＣ等が取り出すことができる。
【００２６】
クラウドストレージ７０は大容量のストレージを有するが、ストレージ機能だけでなく情報処理装置としての機能を有することが一般的である。クラウドストレージ７０は、一台以上のコンピュータにより実現されており、二台以上のクラウドストレージ７０が存在してもよい。クラウドストレージ７０はワークフローサーバ５０と一体でもよい。
【００２７】
ワークフローサーバ５０及びクラウドストレージ７０は、クラウドコンピューティングに対応していることが好ましい。クラウドコンピューティングとは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される利用形態をいう。ワークフローサーバ５０及びクラウドストレージ７０は、１つの筐体に収納されていたりひとまとまりの装置として備えられていたりする必要はなく、負荷に応じてハード的なリソースが動的に接続・切断されることで構成される。また、一台の情報処理装置の中の仮想化環境に構築されていたり、複数台の情報処理装置に跨って構築されたりしてもよい。
【００２８】
なお、ローカルネットＡ，ＢのＰＣ１０Ａ、１０ＢやＭＦＰ３０はインターネット８に接続しているワークフローサーバ５０及びクラウドストレージ７０にアクセスできるが、逆に、ワークフローサーバ５０及びクラウドストレージ７０がＰＣやＭＦＰ３０に直接、アクセスすることはない（ファイアウォールにより通信が制限されるため）。
【００２９】
＜ハードウェア構成例＞
図５は、ワークフローサーバ５０の概略的なハードウェア構成図の一例である。ワークフローサーバ５０は、ＣＰＵ２０１と、ＣＰＵ２０１が使用するデータの高速アクセスを可能とするメモリ２０２とを備える。ＣＰＵ２０１及びメモリ２０２は、システム・バス２０３を介して、ワークフローサーバ５０の他のデバイス又はドライバ、例えば、グラフィクス・ドライバ２０４及びネットワーク・ドライバ（ＮＩＣ）２０５へと接続されている。
【００３０】
グラフィクス・ドライバ２０４は、バスを介してＬＣＤ（ディスプレイ装置）２０６に接続されて、ＣＰＵ２０１による処理結果をモニタする。また、ネットワーク・ドライバ２０５は、トランスポート層レベル及び物理層レベルでワークフローサーバ５０をネットワークＮへと接続して、ＰＣやクラウドストレージ７０とのセッションを確立させている。
【００３１】
システム・バス２０３には、更にＩ／Ｏバス・ブリッジ２０７が接続されている。Ｉ／Ｏバス・ブリッジ２０７の下流側には、ＰＣＩなどのＩ／Ｏバス２０８を介して、ＩＤＥ、ＡＴＡ、ＡＴＡＰＩ、シリアルＡＴＡ、ＳＣＳＩ、ＵＳＢなどにより、ＨＤＤ（ハードディスクドライブ）２０９などの記憶装置が接続されている。ＨＤＤ２０９はワークフローサーバ５０の全体を制御するプログラム２０９ｐを記憶している。ＨＤＤ２０９はＳＳＤ（Solid State Drive）でもよい。プログラム２０９ｐは記憶媒体に記憶された状態で配布されてもよいし、プログラム配信用のサーバから配信されてもよい。
【００３２】
また、Ｉ／Ｏバス２０８には、ＵＳＢなどのバスを介して、キーボード及びマウス（ポインティング・デバイスと呼ばれる）などの入力装置２１０が接続され、システム管理者などのオペレータによる入力及び指令を受け付けている。
【００３３】
なお、図示したワークフローサーバ５０のハードウェア構成は、ワークフローサーバ５０が備えていることが好ましいハード的な要素を示す。また、クラウドコンピューティングに対応するため、本実施例のワークフローサーバ５０の物理的な構成は固定的でなくてもよく、負荷に応じてハード的なリソースが動的に接続・切断されることで構成されてよい。
【００３４】
ユーザＡ、ＢのＰＣ１０Ａ、１０Ｂ及びクラウドストレージ７０のハードウェア構成図は、ワークフローサーバ５０と同様であるか、又は、異なるとしても本実施形態のワークフローシステム１００の説明の上で支障はないものとする。
【００３５】
<<ＭＦＰ３０のハードウェア構成図>>
図６は、ＭＦＰ３０のハードウェア構成図の一例である。ＭＦＰ３０は、例えば図６に示すようなハードウェア構成により実現される。ＭＦＰ３０は、コントローラ３００、操作パネル３０６、外部Ｉ／Ｆ３０７、通信Ｉ／Ｆ３０８、プリンタ３０９、スキャナ３１０及び近距離無線通信装置３１１などを有している。
【００３６】
コントローラ３００はＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３と、ＮＶＲＡＭ３０４、ＨＤＤ３０５を有する。ＲＯＭ３０３は、各種プログラムやデータが格納されている。ＲＡＭ３０２はプログラムやデータを一時保持する。ＮＶＲＡＭ３０４は、例えば設定情報等が格納されている。また、ＨＤＤ３０５はプログラム３０５ｐやデータが格納されている。
【００３７】
ＣＰＵ３０１は、ＲＯＭ３０３やＮＶＲＡＭ３０４、ＨＤＤ３０５などからプログラム３０５ｐやデータ、設定情報等を３０２上に読み出し、処理を実行することで、ＭＦＰ３０全体の制御や機能を実現する。
【００３８】
操作パネル３０６はユーザからの入力を受け付ける入力部と、表示を行う表示部（タッチパネルを備えている）とを有する。外部Ｉ／Ｆ３０７は外部装置とのインタフェースである。外部装置には、記録媒体３１２等がある。なお、記録媒体３１２には、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリなどがある。
【００３９】
通信Ｉ／Ｆ３０８は、ネットワークＮを介した通信を行うためのインタフェースである。本実施形態では、ローカルネットＡを介してワークフローサーバ５０と通信する。
【００４０】
プリンタ３０９は、印刷対象データを印刷して出力するための印刷装置である。スキャナ３１０は原稿を光学的に読み取って電子データに変換する読み取り装置である。
【００４１】
近距離無線通信装置３１１は、例えば、ＮＦＣ（Near Field Communication）やBluetooth（登録商標）の通信規格にしたがった通信装置である。例えば、ＮＦＣの場合はリーダ・ライタなどと呼ばれる場合がある。
【００４２】
本実施例に係るＭＦＰ３０は、上記したハードウェア構成により後述するような各種処理を実現できる。
【００４３】
＜機能について＞
図７（ａ）は、ワークフローサーバ５０が有する機能をブロック状に示す機能ブロック図の一例である。ワークフローサーバ５０は、ユーザ管理部５１、メール送受信部５２、フロー処理部５３、フロー処理許可部５４、ＵＩ部５５、ＯＣＲ処理部５６、ＱＲコード生成部５７、ＰＤＦ生成部５８、及び、データ送受信部５９を有する。
【００４４】
ワークフローサーバ５０が有するこれら各機能部は、図５に示された各構成要素のいずれかが、ＨＤＤ２０９からメモリ２０２に展開されたプログラム２０９ｐに従ったＣＰＵ２０１からの命令により動作することで実現される機能又は手段である。このプログラム２０９ｐは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
【００４５】
ユーザ管理部５１は、図５のＣＰＵ２０１がプログラム２０９ｐを実行すること等により実現され、ユーザのＰＣ１０Ａ、１０Ｂ又はＭＦＰ３０からワークフローサーバ５０へログインの受け付け、認証する。認証が成立した場合、ユーザはワークフローを実行できる。また、表１に示すようなユーザに関するユーザ情報を管理している。ユーザ情報はユーザ情報ＤＢ５３ａに記憶されている。
【００４６】
メール送受信部５２は、図５のＣＰＵ２０１がプログラム２０９ｐを実行しネットワーク・ドライバ２０５を制御すること等により実現され、メールの送受信を行う。
【００４７】
フロー処理部５３は図５のＣＰＵ２０１がプログラム２０９ｐを実行すること等により実現され、ワークフロー情報に基づいてワークフローを実行する。また、表２〜４に示すようなワークフローに関する情報を管理している。ワークフローに関する情報はワークフロー情報ＤＢ５１ａに記憶されている。
【００４８】
フロー処理許可部５４は、図５のＣＰＵ２０１がプログラム２０９ｐを実行すること等により実現され、連携する２つのワークフローに関しワークフローの結合に関する処理を行う。すなわち、ユーザＡがＯＵＴにユーザＢに関する情報を設定すると、ユーザＢにその旨の通知し、ユーザＢが許可するとＩＮにユーザＡに関する情報を設定する。詳細は表３，４等で説明される。
【００４９】
ＵＩ部５５は、図５のＣＰＵ２０１がプログラム２０９ｐを実行すること等により実現され、ユーザのＰＣ１０Ａ、１０Ｂ及びＭＦＰ３０が表示するＵＩ（ユーザインタフェース）のための画面情報を提供する。すなわち、Ｗｅｂサーバ（又はＷｅｂアプリの提供）の機能を有する。画面情報は例えばＨＴＭＬ、スクリプト言語及びＣＳＳ（Cascading Style Sheets） 等で作成される。本実施形態では、例えばユーザがＰＣ１０Ａ，１０Ｂを操作してワークフローを定義するための画面情報が提供される。
【００５０】
ＯＣＲ処理部５６は、図５のＣＰＵ２０１がプログラム２０９ｐを実行すること等により実現され、ＭＦＰ３０から送信された画像データにＯＣＲ処理を施してテキストデータを生成する。
【００５１】
ＱＲコード生成部５７は、図５のＣＰＵ２０１がプログラム２０９ｐを実行すること等により実現され、ワークフローに関する情報（例えばユーザＡから送信されたワークフローである旨等）をＱＲコードにデコードする。
【００５２】
ＰＤＦ生成部５８は、図５のＣＰＵ２０１がプログラム２０９ｐを実行すること等により実現され、画像データとＯＣＲ処理で得られたテキストデータを有するＰＤＦを生成する。例えば、テキストデータが透明に重ね合わされた透明ＰＤＦを作成する。
【００５３】
データ送受信部５９は、図５のＣＰＵ２０１がプログラム２０９ｐを実行しネットワーク・ドライバ２０５を制御すること等により実現され、ネットワークを介してＰＣ１０Ａ，１０Ｂ及びＭＦＰ３０の間でデータの送受信を行う。
【００５４】
ワークフロー情報ＤＢ５１ａ及びユーザ情報ＤＢ５３ａはワークフローサーバ５０が有する他、ワークフローサーバ５０がアクセスできる場所にあればよい。
【００５５】
<<ＰＣの機能例>>
図７（ｂ）は、ＰＣ１０Ａ，１０Ｂが有する機能をブロック状に示す機能ブロック図の一例である。ＰＣ１０Ａ，１０Ｂは、ＵＩ表示部１１、データ送受信部１２及びメール送受信部１３を有する。
【００５６】
ＰＣ１０Ａ、１０Ｂが有するこれら各機能部は、図５に示された各構成要素のいずれかが、ＨＤＤ２０９からメモリ２０２に展開されたプログラム２０９ｐに従ったＣＰＵ２０１からの命令により動作することで実現される機能又は手段である。
【００５７】
ＵＩ表示部１１は、図５のＣＰＵ２０１がプログラム２０９ｐと画面情報を処理すること等により実現され、ワークフローサーバ５０又はクラウドストレージ７０から送信された画面情報を用いてユーザインタフェースを表示させる。
【００５８】
メール送受信部１３は、図５のＣＰＵ２０１がプログラム２０９ｐを実行しネットワーク・ドライバ２０５を制御すること等により実現され、メールの送受信を行う。
【００５９】
データ送受信部１２は、図５のＣＰＵ２０１がプログラム２０９ｐを実行しネットワーク・ドライバ２０５を制御すること等により実現され、ネットワークを介したデータの送受信を行う。
【００６０】
<<クラウドストレージ７０の機能例>>
図７（ｃ）は、クラウドストレージ７０が有する機能をブロック状に示す機能ブロック図の一例である。クラウドストレージ７０は、ユーザ管理部７１、ＵＩ部７２、ファイル管理部７３、及びデータ送受信部７４を有する。
【００６１】
クラウドストレージ７０が有するこれら各機能部は、図５に示された各構成要素のいずれかが、ＨＤＤ２０９からメモリ２０２に展開されたプログラム２０９ｐに従ったＣＰＵ２０１からの命令により動作することで実現される機能又は手段である。
【００６２】
ユーザ管理部７１は、図５のＣＰＵ２０１がプログラム２０９ｐを実行すること等により実現され、ユーザのＰＣ１０Ａ，１０Ｂからワークフローサーバ５０へログインの受け付け、認証する。認証のためのユーザ情報はワークフローサーバ５０が有するユーザ情報ＤＢ５３ａを使ってもよいし、独自のユーザ情報ＤＢを有していてもよい。
【００６３】
ＵＩ部７２は、図５のＣＰＵ２０１がプログラム２０９ｐを実行すること等により実現され、ユーザのＰＣ１０Ａ，１０Ｂが表示するＵＩのための画面情報を提供する、Ｗｅｂサーバ（又はＷｅｂアプリの提供）の機能を有する。本実施形態では、ユーザがＰＣ１０Ａ，１０Ｂを操作してクラウドストレージ７０を操作するための画面情報が提供される。
【００６４】
ファイル管理部７３は、図５のＣＰＵ２０１がプログラム２０９ｐを実行すること等により実現され、ワークフローサーバ５０やユーザのＰＣ１０Ａ、１０Ｂから送信されたファイルをＨＤＤ２０９等に書き込む。また、ユーザのＰＣ１０Ａ，１０Ｂから要求されたファイルをＨＤＤ２０９から読み出す。
【００６５】
データ送受信部７４は、図５のＣＰＵ２０１がプログラム２０９ｐを実行しネットワーク・ドライバ２０５を制御すること等により実現され、インターネット８等を介したデータの送受信を行う。
【００６６】
<<ＭＦＰ３０の機能例>>
図７（ｄ）は、ＭＦＰ３０が有する機能をブロック状に示す機能ブロック図の一例である。ＭＦＰ３０は、ＵＩ表示部３１、データ送受信部３２及びスキャン部３３を有する。
【００６７】
ＭＦＰ３０が有するこれら各機能部は、図６に示された各構成要素のいずれかが、ＨＤＤ３０５からＲＡＭ３０２に展開されたプログラム３０５ｐに従ったＣＰＵ３０１からの命令により動作することで実現される機能又は手段である。
【００６８】
ＵＩ表示部３１は、図６のＣＰＵ３０１がプログラム３０５ｐを実行すること等により実現され、ワークフローサーバ５０又はクラウドストレージ７０から送信された画面情報を用いてユーザインタフェースを表示させる。
【００６９】
スキャン部３３は、図６のＣＰＵ３０１がプログラム３０５ｐを実行しスキャナ３１０を制御すること等により実現され、原稿を読み取り画像データを生成する。
【００７０】
データ送受信部３２は、図６のＣＰＵ３０１がプログラム３０５ｐを実行し通信Ｉ／Ｆ３０８を制御すること等により実現され、ネットワークを介したデータの送受信を行う。
【００７１】
＜ユーザ情報＞
ユーザ管理部５１が管理するユーザ情報について表１を用いて説明する
【００７２】
【表１】
2018072947.tif 000003
表１は、ワークフローサーバ５０のユーザ管理部５１が管理するユーザ情報の一例である。ユーザ情報はユーザ情報ＤＢ５３ａに記憶されている。ユーザ情報は、ユーザＩＤ、表示名、パスワード、及び、所持しているフローＩＤの各項目を有する。ユーザＩＤはユーザを特定する情報である。ＩＤはIdentificationの略であり識別子や識別情報という意味である。ＩＤは複数の対象から、ある特定の対象を一意的に区別するために用いられる名称、符号、文字列、数値又はこれらのうち１つ以上の組み合わせをいう。フローＩＤ以外のＩＤについても同様である。
【００７３】
ユーザＩＤとパスワードはユーザがワークフローサーバ５０にログインするためのログイン情報であり、表示名はＭＦＰ３０等がユーザの名称として表示するユーザ名である。所持しているフローＩＤはユーザが定義した（又は受け取った、管理する）ワークフロー情報を特定するための情報である。
【００７４】
なお、表１のユーザＩＤはメールアドレスが例示されているが、本実施形態ではこのメールアドレスはユーザを識別するために使用される。したがって、ユーザＩＤとしてのメールアドレスは変更されない。ユーザＩＤとしてメールアドレスを使用しないことも可能である。この場合は、ユーザＩＤにユーザＩＤとは別のメールアドレスが紐付けられる態様になり、ユーザＩＤは変更されないが、メールアドレスは変更が可能になる。仮にユーザＢのメールアドレスが変更されても、ユーザＡのワークフローのＯＵＴにはユーザＢのユーザＩＤが設定されるので支障がない。
【００７５】
＜ワークフロー情報＞
ワークフロー情報について表２〜表４を用いて説明する。
【００７６】
【表２】
2018072947.tif 000004
表２は、ワークフロー情報の一例である。ワークフロー情報は、フローＩＤ、フロー名、処理ＩＤ、及び、説明の各項目を有する。フローＩＤは表１と同じものである。フロー名はワークフロー情報が表示される際の名称である。処理ＩＤの項目にはワークフローが有する各処理が設定されている。処理ＩＤの項目はワークフローで実行される各処理の順番も設定されている。説明は、ワークフローがどのような処理を含むかの情報である。
【００７７】
＜処理データ＞
【００７８】
【表３】
2018072947.tif 000005
表３は、処理データの一例である。処理データはワークフロー情報のより詳細な情報である。表３の処理データはフローＩＤが１と２のワークフロー情報が含む処理の処理名、及び処理設定を示している。表３の処理データは、ユーザＢがユーザＡのワークフローのＯＵＴを許可する前の例である。表３（ａ）はユーザＡのワークフロー情報であり、表３（ｂ）はユーザＢのワークフロー情報である。
【００７９】
処理設定には、各処理のパラメータが設定されている。抽象化された処理である処理３のＯＵＴでは、出力先となるユーザＢのユーザＩＤが設定されている（後述するようにユーザＡが設定する）。ＯＵＴにはユーザＢのワークフローそのものが指定されるわけではなく、あくまでユーザＢが指定されればよい。表３では、ＯＵＴにユーザＢのメールアドレスが設定されているが、ユーザを特定できる情報であればよい。
【００８０】
ユーザＢがワークフローの連携を許可する前なので、処理ＩＤが４のＩＮには処理設定がない。ユーザＢによってユーザＡのワークフローのＯＵＴとの連携が許可されるまで、ＩＮには"accepted"：false"など、ユーザＢの許可待ちであることが設定されていてよい。
【００８１】
【表４】
2018072947.tif 000006
表４は、ユーザＢによってユーザＡのワークフローのＯＵＴとの連携が許可された後の処理データの例である。表３と比較すると処理４の「ＩＮ」に処理設定が設定されている。この処理設定では、ユーザＡのワークフローのデータが入力されること（from）、ユーザＡのユーザＩＤ（user-a@example.com）、入力を許可するフローＩＤ（acceptFlowId":1）、及び、許可されたこと（"accepted"：true）が追加されている。
【００８２】
表４のＯＵＴとＩＮの処理設定により、ワークフローサーバ５０はユーザＡのワークフローとユーザＢのワークフローを連携させることができる。まず、処理１、２まで実行されると、処理３はＯＵＴという処理なので、ユーザＢのユーザＩＤが特定される。表１のユーザ情報によりユーザＢが所持している１つ以上のフローＩＤが特定される。このフローＩＤで特定されるワークフロー情報のうち、最初の処理がＩＮであるワークフロー情報が特定される。処理１〜３のフローＩＤは１で、ユーザＡのワークフローなので、ＩＮにユーザＡとフローＩＤ＝１が設定されているユーザＢのワークフロー情報が特定される。
【００８３】
このように、ＯＵＴにユーザＢのユーザＩＤ、ＩＮにユーザＡのユーザＩＤが設定されることで、２つのワークフローが連携可能になる。また、ユーザＢがＩＮという処理に含む複数のワークフロー情報を有する場合、ＩＮに連携するフローＩＤやユーザＩＤが設定されているので適切なワークフロー同士が連携できる。
【００８４】
＜動作手順＞
図８は、ワークフローシステム１００の全体的な動作を示すシーケンス図の一例である。
S1：ユーザＢのＰＣ１０Ｂが後述するワークフロー（入力ワークフロー）を定義する。具体的には、ユーザＢがＰＣ１０Ｂを操作してＰＣ１０Ｂをワークフローサーバ５０と通信させ、ワークフローサーバ５０のＵＩ部５５が作成する画面情報をＰＣ１０ＢのＵＩ表示部１１が表示する。ＰＣ１０ＢはユーザＢの操作を受け付けることでワークフローの定義を受け付ける。定義内容がワークフローサーバ５０に送信され、ワークフロー情報がユーザＢに対応付けて記憶される。
【００８５】
S2：ユーザＡのＰＣ１０Ａも同様にワークフロー（出力ワークフロー）を定義する。
【００８６】
S3：ユーザＡのＰＣ１０ＡはユーザＡの操作を受け付け、自分のワークフローの出力処理としてＯＵＴの設定を受け付ける。ユーザＡのＰＣ１０ＡはこのＯＵＴの設定をワークフローサーバ５０に送信する。ＯＵＴには少なくともユーザＢに関する情報が設定されている。ＯＵＴにユーザＢに関する情報が設定されることでＯＵＴでユーザＢのワークフローにデータが出力されることが分かる。
【００８７】
S3.1：ワークフローサーバ５０のデータ送受信部５９はＯＵＴを含むワークフローの定義を受信し、フロー処理許可部５４がＯＵＴの設定がユーザＢであることを検出する。そして、メール送受信部５２を使ってユーザＢにメールで通知する。なお、メールサーバを介したメールの送受信は省略されている。
【００８８】
S3.2：ワークフローサーバ５０のフロー処理許可部５４は、ユーザＡのワークフロー情報についてユーザＢからの許可を待っていることを登録しておく。したがって、ユーザＡのワークフロー情報は実行可能な状態とならない。
【００８９】
S4：ユーザＢのＰＣ１０ＢはユーザＢの操作を受け付けるか又は自動的にメールを受信する。ユーザＢはメールを見て後述する操作を行いユーザＡのワークフローとの連携を許可する。
【００９０】
S5：ユーザＢのＰＣ１０Ｂは連携の許可に関する操作を受け付け、データ送受信部１２がワークフローサーバ５０にユーザＡのワークフロー情報の出力先となることの許可を通知する。
【００９１】
S5.1：ワークフローサーバ５０のフロー処理許可部５４はユーザＡのワークフロー情報についてユーザＢから許可された旨を登録し、ユーザＢのワークフロー情報のＩＮにユーザＡに関する情報を設定する。
【００９２】
S5.2：ワークフローサーバ５０のメール送受信部５２はユーザＢから許可されたことをユーザＡにメールで通知する。
【００９３】
S6：ユーザＡは自分のワークフローを実行するためＭＦＰ３０にログインする。ＭＦＰ３０のＵＩ表示部３１はユーザＡのログイン情報（ユーザ名とパスワード、ＩＣカード、又は生体認証情報等）を受け付ける。
【００９４】
S6.1：ＭＦＰ３０のデータ送受信部３２はワークフローサーバ５０にログインを要求する。これにより、ユーザＡがワークフローサーバ５０にログインすると、ユーザＡが実行可能なワークフローがＭＦＰ３０にダウンロードされる。ユーザＡが定義したワークフローのみが表示されてもよいし、ユーザＡが実行しうる全てのワークフローが表示されてもよい。
【００９５】
S7：ユーザＡは自分がステップＳ２で設定したワークフローを選択する。ワークフローを実行するとＭＦＰ３０がスキャンを実行する。ＭＦＰ３０のスキャン部３３は原稿をスキャンして画像データを生成する。
【００９６】
S7.1：ワークフローが実行されているので、ＭＦＰ３０のデータ送受信部３２はスキャン結果（画像データ）をワークフローサーバ５０に送信する。あるいはワークフロー情報に各処理の実行主体が設定されており、ＭＦＰ３０はこれを参照してスキャン結果（画像データ）をワークフローサーバ５０に送信する。
【００９７】
S7.1.1：ワークフローサーバ５０のフロー処理部５３はユーザＡのワークフローを実行する。
【００９８】
S7.1.1.1：まず、ワークフローサーバ５０のＯＣＲ処理部５６がＯＣＲ処理を実行する。ＯＣＲ処理で得られたテキストデータと画像データをＰＤＦとして生成する。
【００９９】
S7.1.1.2：次に、フロー処理部５３はユーザＡのワークフローのＯＵＴがユーザＢのワークフローを指定しているので、ユーザＢのワークフローを実行する。
【０１００】
S7.1.1.2.1：まず、フロー処理部５３はＱＲコード生成部５７を用いて、ＰＤＦにＱＲコードを付与する。ＱＲコードの内容は例えばユーザＡのワークフローと連携したこと、日時などである。
【０１０１】
S7.1.1.2.2：ワークフローサーバ５０のデータ送受信部５９はＱＲコードが付与されたＰＤＦをクラウドストレージ７０に保存する。
【０１０２】
＜画面例＞
続いて、図８のシーケンス図で使用されるいくつかの画面例を説明する。
【０１０３】
<<ログイン画面>>
図９は、ユーザがワークフローサーバ５０へログインする際のログイン画面４０１の一例を示す。このログイン画面４０１は図８のステップＳ１，Ｓ２又はステップＳ６で表示される。ログイン画面４０１はＰＣ１０Ａ，１０Ｂ又はＭＦＰ３０のいずれでも表示可能である。ログイン画面４０１は、ユーザＩＤ欄４０２、パスワード欄４０３、及びアカウント作成欄４０４を有する。すでにログイン情報を有する場合、ユーザはユーザＩＤ欄４０２にユーザＩＤ（メールアドレス）を入力し、パスワード欄４０３にパスワードを入力する。ログイン情報を有ない場合、アカウント作成欄４０４をユーザが押下することでログイン情報を作成できる。
【０１０４】
<<ワークフロー定義画面>>
図１０は、ユーザＡが操作するワークフロー定義画面４１１の一例を示す図である。このワークフロー定義画面４１１は、図８のステップＳ１，Ｓ２で表示されるが図１０はステップＳ２のものである。ワークフロー定義画面４１１はメニュー部４１２、処理一覧部４１３、書誌設定部４１４、処理編集部４１５、及び説明部４１６を有している。メニュー部４１２は、画面遷移などを引き起こすボタン等を有するがログアウトボタン４１２ａ以外は省略されている。
【０１０５】
処理一覧部４１３には、ユーザが選択可能な処理の一覧が表示される。ユーザは所望の処理をマウスや指でドラッグして処理編集部４１５に移動させる。書誌設定部４１４は、表２のフローデータのフロー名と説明がユーザにより入力される欄である。ユーザはＰＣ１０Ａ、１０Ｂを操作してフロー名と説明を入力できる。
【０１０６】
処理編集部４１５は、ユーザが処理とその順番を編集するための領域である。ユーザは処理一覧部４１３からドラッグした処理と処理を矢印で結ぶことで処理の順番を定義したり変更したりすることができる。これにより実際の処理の接続状態を視覚的に表現できる。図１０ではＯＵＴの処理が選択されている。説明部４１６は、処理編集部４１５で選択されている処理の詳細を表示すると共に、ユーザが設定可能な処理設定の入力欄である。例えばＯＵＴの処理では出力先のユーザを指定するためユーザＩＤ（本実施形態ではメールアドレス）が入力される。
【０１０７】
<<メールの内容>>
図１１は、ユーザＢが受信するメールの内容の一例を示す図である。このメールは図８のステップＳ４で表示される。図１０のワークフロー定義画面４１１のＯＵＴの処理でユーザＡはユーザＢのユーザＩＤを指定したため、フロー処理許可部５４がユーザＢのメールアドレスにメールを送信する。フロー処理許可部５４はメールにユーザＡが図１０のワークフロー定義画面４１１で設定した内容を含めることができる。
【０１０８】
「ユーザAから以下の許可が求められています。」という記載４２１によりユーザＢはでユーザＡからの要求であることが分かる。フロー処理許可部５４はログインしたユーザＡを特定しているためユーザＡからの要求であることをメールに記載できる。
【０１０９】
「種別：フローへの接続許可」という記載４２２により、ユーザＢはユーザＢのワークフローへの接続（連携）の許可であることが分かる。フロー処理許可部５４はＯＵＴという処理により接続許可であることを判断しメールに記載する。また、「フローの名前：業務１」という記載４２３により、ユーザＢはフロー名が「業務１」であることが分かる。フロー処理許可部５４は書誌設定部４１４の記載に基づきフロー名が「業務１」であることをメールに記載する。
【０１１０】
「説明：ユーザBへOCRファイルを送信する」という記載４２４により、ユーザＢはユーザＢのワークフローに対しＯＣＲファイルが送信されることが分かる。フロー処理許可部５４は書誌設定部４１４の記載に基づき「説明」をメールに記載する。
【０１１１】
「URL： https:// www.si.ricoh.co.jp /flow/accept/f57c7b214b59480bb3e135d6035c3243」という記載４２４は、ユーザＢが要求を許可又は許可しない設定をワークフローサーバ５０に行うための接続先である。「問い合わせ：https://www.ricoh.co.jp/support/」という記載４２６は、ユーザＢが不明点を問い合わせるための接続先である。これらのＵＲＬは「f57c7b214b59480bb3e135d6035c3243」を除き予め決まっている。「f57c7b214b59480bb3e135d6035c3243」はユーザＡからユーザＢへの要求に固有の情報であり、フロー処理許可部５４が生成する。ユーザＢが「f57c7b214b59480bb3e135d6035c3243」を指定してアクセスするようにユーザＢからの許可又は不許可であることをワークフローサーバ５０が検出できる。
【０１１２】
ユーザＢが記載４２５のＵＲＬを押下するとＰＣ１０Ｂがワークフローサーバ５０のフロー処理許可部５４と通信する。ＵＩ部５５は画面情報を生成しデータ送受信部５９がユーザＢのＰＣ１０Ｂに送信する。これによりユーザＢのＰＣ１０Ｂは図１２の許可設定画面４３１を表示する。
【０１１３】
<<許可設定画面>>
図１２は、許可設定画面４３１の一例を示す。許可設定画面４３１は図１１のメールの内容の「URL： https:// www.si.ricoh.co.jp /flow/accept/f57c7b214b59480bb3e135d6035c3243」をユーザＢが押下（選択）すると表示される。
【０１１４】
許可設定画面４３１は、「許可する」ボタン４３２、「許可しない」ボタン４３３、フロー名欄４３４、説明欄４３５、及び、ワークフロー欄４３６を有する。ユーザＢは、ユーザＡからのワークフローの連携を許可する場合、「許可する」ボタン４３２を押下し、連携を許可しない場合、「許可しない」ボタン４３３を押下する。フロー名欄４３４、説明欄４３５及びワークフロー欄４３６には図１０のワークフロー定義画面４１１でユーザＡが設定した内容が表示される。
【０１１５】
ユーザＢが「許可する」ボタン４３２を押下すると「許可する」ボタン４３２が押下された旨はワークフローサーバ５０に送信され、フロー処理許可部５４はＵＩ部５５が生成する画面情報を取得しデータ送受信部５９を介してユーザＢのＰＣ１０Ｂに送信する。これにより図１３のワークフロー連携設定画面４４１が表示される。ワークフロー連携設定画面４４１はユーザＢがワークフローの連携に関する設定を行うためのユーザインタフェースである。
【０１１６】
ユーザＢが「許可しない」ボタン４３３を押下すると、ワークフローの設定に関する処理は終了する。
【０１１７】
<<ワークフロー連携設定画面>>
図１３は、ワークフロー連携設定画面４４１の一例を示す。ワークフロー連携設定画面４４１は、フロー一覧部４４２、ボタン一覧部４４３、及び連携設定部４４４を有する。フロー一覧部４４２には、ユーザＢが使用できるワークフローのフロー名の一覧４４２ａ及び「フローを作成する」ボタン４４２ｂが表示されている。ユーザＢが使用できるとは、例えばユーザＢが所属する部署に対応付けられているワークフロー情報である。図１３の例では、ユーザＡとＢが同じ部署等であるため、ユーザＢのワークフロー情報（業務２）に加え、ユーザＡのワークフロー情報（業務１）が表示されている。
【０１１８】
「フローを作成する」ボタン４４２ｂは、ユーザＢがワークフローの連携のための操作を行うのではなく、新たなワークフローをユーザＢが定義するためのボタンである。
【０１１９】
ボタン一覧部４４３は、「元の画面に戻る」ボタン４４３ａ、「許可せずに終了する」ボタン４４３ｂ、及び「表示中のフローを選択する」ボタン４４３ｃを有する。「元の画面に戻る」ボタン４４３ａは図１２の許可設定画面４３１に戻るためのボタンである。「許可せずに終了する」ボタン４４３ｂは、ワークフローの連携に関する処理を終了させるボタンである。「表示中のフローを選択する」ボタン４４３ｃは、ユーザＡのワークフローと連携させるユーザＢのワークフローをユーザＢが決定するためのボタンである。
【０１２０】
連携設定部４４４には、ユーザＡのワークフローの処理と、ユーザＢがフロー一覧部４４２で選択したワークフローの処理が視覚的に表示される。ユーザＡのワークフローにＯＵＴ４４４ｂという処理があり、ユーザＢがフロー一覧部４４２で選択したワークフローにＩＮ４４４ｃという処理がある場合、ユーザＢのＰＣ１０ＢのＵＩ表示部１１はＯＵＴ４４４ｂとＩＮ４４４ｃを矢印４４４ａで接続する。こうすることで、ユーザＢは視覚的に２つのワークフローが連携することを把握できる。ユーザＢがマウスや指でＯＵＴとＩＮを接続させることで２つのワークフローを連携させてもよい。
【０１２１】
なお、連携設定部４４４には、ユーザ欄、名前欄、及び説明欄があるが、いずれもワークフロー定義画面４１１で設定された情報が表示される。
【０１２２】
「表示中のフローを選択する」ボタン４４３ｃが押下されると、ユーザＡのワークフロー（業務１）とユーザＢが選択したワークフロー（業務２）が連携する旨がワークフローサーバ５０に送信される。
【０１２３】
ワークフローサーバ５０のフロー処理許可部５４は業務１,業務２を連携させると判断し、表４の処理データを作成する。すなわち、処理４のＩＮという処理に「{"from":"user-a@example.com", "acceptFlowId":1、"accepted":true}」を設定する。これによりユーザＡのユーザＩＤ、フローＩＤ、及び、ユーザＢがユーザＡのワークフローの連携を許可する旨がワークフロー情報に設定される。
【０１２４】
<<メールの内容>>
図１４は、ユーザＡが受信するメールの内容の一例を示す図である。このメールは図８のステップＳ５．２で表示される。図１３のワークフロー連携設定画面４４１でユーザＢが許可したため、フロー処理許可部５４がユーザＡのメールアドレスにメールを送信する。フロー処理許可部５４はユーザＡが図１０のワークフロー定義画面４１１で設定した内容を含めることができる。
【０１２５】
「ユーザBにより、連携が許可されました。」という記載４５１で、ユーザＡは、ユーザＢがワークフローの連携を許可したことが分かる。フロー処理許可部５４はユーザＢにワークフロー連携設定画面４４１を提供したことからユーザＢが許可したことを判断しメールに記載できる。
【０１２６】
「フローの名前：業務１」という記載４５２により、ユーザＡは、ユーザＡが連携を要求したワークフローを判断できる。「フローの名前」はワークフロー連携設定画面４４１に含まれている。「説明：ユーザBへOCRファイルを送信する」という記載４５３により、ユーザＡは、ユーザＡが連携を要求したワークフローの内容が分かる。「説明」はワークフロー連携設定画面４４１に含まれている。
【０１２７】
「URL： https://www.si.ricoh.co.jp/」という記載４５４は、ワークフローサーバ５０のＵＲＬであり、ユーザＡはログインしてワークフロー情報などを確認できる。「問い合わせ：https://www.ricoh.co.jp/support/」という記載４５５は図１１のものと同じである。
【０１２８】
<<ＭＦＰ３０のフロー選択画面>>
図１５は、ＭＦＰ３０に表示されたフロー選択画面４６１の一例である。フロー選択画面４６１は図８のステップＳ７で表示される。フロー選択画面４６１は、ユーザＡがワークフローサーバ５０にログインするとＭＦＰ３０の操作パネル３０６に表示される。フロー選択画面４６１は選択ボタン４６２、説明ポップアップ４６３、及び実行ボタン４６４を有する。
【０１２９】
選択ボタン４６２はワークフローを選択するためのボタンであり、ここではユーザＡが実行しうる全てのワークフローのフロー名が表示される。業務１、業務２、業務３が表示されているが、業務１は、ユーザＢにより許可されていない場合、業務１は表示されない。仮に表示される仕様であるとしても（図８のシーケンス図のＳ３．２で許可待ちのワークフローも表示する仕様）、ユーザＡが実行するとエラーとなる。
【０１３０】
また、ユーザＡが指で選択ボタン４６２を押下すると、ＭＦＰ３０のＵＩ表示部３１はボタンに対応するワークフローの説明やワークフローを所持しているユーザの表示名を表示する。これらは画面情報に含まれている。
【０１３１】
＜スキャン実行時のワークフローシステム１００の動作＞
図１６は、ユーザＡがスキャンを実行した場合のワークフローシステム１００の動作手順を示すフローチャート図の一例である。図１６の処理はユーザＡがワークフローを選択し、実行ボタン４６４を押下することでスタートする。
【０１３２】
ＭＦＰ３０はワークフロー情報を解析すると１番目の処理がスキャンなので、スキャン部３３が原稿をスキャンする（Ｓ１０）。
【０１３３】
スキャン部３３は表４の処理データの１番目の処理の処理設定を参照し、原稿の画像データを生成する（Ｓ２０）。
【０１３４】
ＭＦＰ３０のデータ送受信部３２は画像データをワークフローサーバ５０に送信する（Ｓ３０）。ワークフローサーバ５０に送信するという判断は、ワークフローの実行時の動作として予め定められている。あるいは、各処理の実行主体がワークフロー情報に定義されている場合もあり、この場合、ＭＦＰ３０は実行主体（ワークフローサーバ５０）に画像データを送信する。
【０１３５】
ワークフローサーバ５０のデータ送受信部５９は画像データとワークフロー情報を受信する。フロー処理部５３は、スキャンより後の工程を呼び出し可能（実行可能）であるか否かを判断する（Ｓ４０）。すなわち、ワークフロー情報のスキャンより後の処理を実行するクラウド上の機器と通信できるか、又はワークフロー情報のスキャンより後の処理を実行するソフトウェアモジュールを有しているか等を確認する。
【０１３６】
呼び出し可能でない場合（Ｓ５０のＮｏ）、ワークフローサーバ５０はワークフローを実行せず図１６の処理は終了する。
【０１３７】
呼び出し可能な場合（Ｓ５０のＹｅｓ）、ワークフローサーバ５０のフロー処理部５３はワークフロー情報で定義されている次の処理を実行する（Ｓ６０）。
【０１３８】
２番目の処理はＯＣＲなので、ＯＣＲ処理部５６が画像データにＯＣＲを施し、ＰＤＦ生成部５８がテキストデータ付きのＰＤＦを生成する（Ｓ７０）。
【０１３９】
３番目の処理はＯＵＴであるので、フロー処理部５３はユーザＢのワークフローフロー情報を読み出す（Ｓ８０）。すなわち、ＯＵＴの処理設定を参照するとユーザＢのユーザＩＤが設定されているので、表１のユーザ情報を参照しユーザＢが所持しているフローＩＤ＝２を特定する。表２のフローデータによると、フローＩＤ＝２のワークフロー情報が有する処理は処理４〜６である。表４の処理データによると、処理４はＩＮであるのでＯＵＴの後に実行できる。また処理４のＩＮの処理設定を参照すると、ユーザＡのユーザＩＤが設定されている。実行している業務１のフローＩＤは１であるが、表１によればフローＩＤ＝１のユーザＩＤはユーザＡを示している。また、処理４のＩＮにはフローＩＤ＝１が設定されているが、実行している業務１のフローＩＤは１である。以上から、フロー処理部５３はフローＩＤ＝２のワークフロー情報を実行すると判断し、これをワークフロー情報ＤＢ５１ａから読み出す。
【０１４０】
次に、５番目の処理はＱＲスタンプなので、ワークフローサーバ５０のフロー処理部５３はＱＲコード生成部５７を用いて、ＰＤＦにＱＲコードを付与する（Ｓ９０）。
【０１４１】
６番目の処理はストレージに保存なので、ワークフローサーバ５０のデータ送受信部５９はＱＲコード付きのＰＤＦをクラウドストレージ７０に保存する（Ｓ１００）。なお、ユーザＡ及びＢが後でＰＤＦにアクセスできるようにアクセストークンが添付される。このアクセストークンはメールなどでユーザＡ，Ｂに通知される。
【０１４２】
＜まとめ＞
以上説明したように、本実施形態のワークフローシステム１００は、具体的な出力先又は入力元が定まっていないＯＵＴとＩＮという処理により、２つのワークフローを連携させることができる。ＯＵＴとＩＮにはそれぞれユーザに関する情報が設定されればよく、連携する相手が変更にならない限り一方のワークフロー情報の変更が他方のワークフロー情報に影響しない。
【０１４３】
＜その他の適用例＞
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０１４４】
例えば、本実施形態では異なるユーザのワークフローを連携させる旨を説明したが、同じユーザの複数のワークフローを連携させてもよい。ユーザは自分の複数のワークフローを組み合わせて様々な処理を実行できる。
【０１４５】
また、図７の構成例は、ワークフローサーバ５０、ＰＣ１０Ａ、１０Ｂ、クラウドストレージ７０、及びＭＦＰ３０の処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。また、ワークフローサーバ５０、ＰＣ１０Ａ、１０Ｂ、クラウドストレージ７０、及びＭＦＰ３０の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、１つの処理単位が更に多くの処理を含むように分割することもできる。
【０１４６】
なお、ユーザＡのワークフロー情報は第一の処理定義情報の一例であり、ユーザＢのワークフロー情報は第二の処理定義情報の一例であり、ＯＵＴは出力処理の一例であり、ＩＮは入力処理の一例であり、ワークフロー情報ＤＢ５１ａは記憶手段の一例であり、フロー処理部５３は処理実行手段の一例であり、フロー処理許可部５４は連携処理手段の一例であり、ＵＩ部５５は画面情報作成手段の一例であり、データ送受信部５９は送信手段の一例である。ユーザＡは第一のユーザの一例であり、ユーザＢは第二のユーザの一例であり、操作パネル３０６は表示装置の一例であり、ＵＩ表示部３１は表示手段の一例である。
【符号の説明】
【０１４７】
１０Ａ，１０Ｂ  ＰＣ
３０            ＭＦＰ
５０            ワークフローサーバ
５１            ユーザ管理部
５２            メール送受信部
５３            フロー処理部
５４            フロー処理許可部
５５            ＵＩ部
５６            ＯＣＲ処理部
５７            ＱＲコード生成部
５８            ＰＤＦ生成部
５９            データ送受信部
７０            クラウドストレージ
１００          ワークフローシステム
【先行技術文献】
【特許文献】
【０１４８】
【特許文献１】特開２０１４‐９５９８６号公報
【図１】
2018072947.tif 000007
【図２】
2018072947.tif 000008
【図３】
2018072947.tif 000009
【図４】
2018072947.tif 000010
【図５】
2018072947.tif 000011
【図６】
2018072947.tif 000012
【図７】
2018072947.tif 000013
【図８】
2018072947.tif 000014
【図９】
2018072947.tif 000015
【図１０】
2018072947.tif 000016
【図１１】
2018072947.tif 000017
【図１２】
2018072947.tif 000018
【図１３】
2018072947.tif 000019
【図１４】
2018072947.tif 000020
【図１５】
2018072947.tif 000021
【図１６】
2018072947.tif 000022