(57)【要約】【課題】ネットワーク上のストレージに格納されるデータに対するデータ処理の利便性を向上させること。【解決手段】１以上のコンピュータを含む情報処理システムは、ネットワークを介して端末装置から記憶部に保存されたデータを、ネットワークを介して取得する第一の取得部と、１以上の処理単位を任意に組み合わせた複数の処理フローのうち、前記データの取得先又は前記データの書誌情報に対応する処理フローを、前記第一の取得部によって取得されデータに対して実行する処理フローとして選択する選択部と、を有する。【選択図】図６
2015176401.tif 000002
【特許請求の範囲】
【請求項１】
１以上のコンピュータを含む情報処理システムであって、
ネットワークを介して端末装置から記憶部に保存されたデータを、ネットワークを介して取得する第一の取得部と、
１以上の処理単位を任意に組み合わせた複数の処理フローのうち、前記データの取得先又は前記データの書誌情報に対応する処理フローを、前記第一の取得部によって取得されデータに対して実行する処理フローとして選択する選択部と、
を有することを特徴とする情報処理システム。
【請求項２】
前記第一の取得部によって取得されたデータの書誌情報に基づいて、前記処理フローの制御に利用される情報を取得する第二の取得部を有する、
ことを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記第二の取得部は、前記第一の取得部によって取得されたデータの識別名に含まれる情報に関連付いて記憶されている情報を取得する、
ことを特徴とする請求項２記載の情報処理システム。
【請求項４】
前記第一の取得部は、前記記憶部を周期的に参照し、前記記憶部にデータが記憶されている場合に、当該データを取得する、
ことを特徴とする請求項１乃至３いずれか一項記載の情報処理システム。
【請求項５】
前記記憶部は、クラウドストレージである、
ことを特徴とする請求項１乃至４いずれか一項記載の情報処理システム。
【請求項６】
１以上のコンピュータを含む情報処理システムが、
ネットワークを介して端末装置から記憶部に保存されたデータを、ネットワークを介して取得する第一の取得手順と、
１以上の処理単位を任意に組み合わせた複数の処理フローのうち、前記データの取得先又は前記データの書誌情報に対応する処理フローを、前記第一の取得部によって取得されデータに対して実行する処理フローとして選択する選択手順と、
を実行することを特徴とする情報処理方法。
【請求項７】
コンピュータに、
ネットワークを介して端末装置から記憶部に保存されたデータを、ネットワークを介して取得する第一の取得手順と、
１以上の処理単位を任意に組み合わせた複数の処理フローのうち、前記データの取得先又は前記データの書誌情報に対応する処理フローを、前記第一の取得部によって取得されデータに対して実行する処理フローとして選択する選択手順と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
画像形成装置において原稿よりスキャンされた画像データに対し、予め設定された処理フロー又はワークフローを実行し、実行結果を所定の配信先に配信するコンピュータシステムが有る（例えば、特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
他方において、近年では、クラウドストレージ等のネットワーク上のストレージサービスを利用して、ネットワーク上に電子ファイルが保存されることが有る。このようなストレージサービス上に格納されている電子ファイル等のデータを、上記のコンピュータシステムにおいて実行されるデータ処理（ワークフロー等）の処理対象として、簡易に入力することができれば、上記のコンピュータシステムの利便性を向上させることができる。
【０００４】
本発明は、上記の点に鑑みてなされたものであって、ネットワーク上のストレージに格納されるデータに対するデータ処理の利便性を向上させることを目的とする。
【課題を解決するための手段】
【０００５】
そこで上記課題を解決するため、１以上のコンピュータを含む情報処理システムは、ネットワークを介して端末装置から記憶部に保存されたデータを、ネットワークを介して取得する第一の取得部と、１以上の処理単位を任意に組み合わせた複数の処理フローのうち、前記データの取得先又は前記データの書誌情報に対応する処理フローを、前記第一の取得部によって取得されデータに対して実行する処理フローとして選択する選択部と、を有する。
【発明の効果】
【０００６】
ネットワーク上のストレージに格納されるデータに対するデータ処理の利便性を向上させることができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施の形態における配信管理システムの構成例を示す図である。
【図２】本発明の実施の形態における配信管理サーバのハードウェア構成例を示す図である。
【図３】本発明の実施の形態における配信管理サーバの機能構成例を示す図である。
【図４】ワークフローの一例を示す図である。
【図５】ジョブ投入部の構成例を示す図である。
【図６】クラウド入力プラグインの機能構成例を示す図である。
【図７】クラウドストレージを介したワークフローの実行要求の受け付け処理の処理手順の一例を説明するためのフローチャートである。
【図８】設定情報記憶部の構成例を示す図である。
【図９】設定画面の表示例を示す図である。
【図１０】ユーザ情報管理サーバが記憶する情報の構成例を示す図である。
【図１１】ジョブ情報の構成例を示す図である。
【図１２】ジョブ情報に基づくワークフローの制御処理の処理手順の一例を説明するためのフローチャートである。
【図１３】本発明の実施の形態における配信管理サーバの第二の機能構成例を示す図である。
【図１４】アップロード支援部が実行する処理の一例を説明するためのシーケンス図である。
【図１５】フロー選択画面の表示例を示す図である。
【発明を実施するための形態】
【０００８】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における配信管理システムの構成例を示す図である。図１において、配信管理システム１は、配信管理サーバ１０、１以上のクライアント端末２０、ユーザ情報管理サーバ３０、及びクラウドストレージ４０等を含む。各装置は、ＬＡＮ（Local Area Network）又はインターネット等のネットワーク（有線又は無線の別は問わない。）を介して通信可能に接続されている。
【０００９】
配信管理サーバ１０は、入力されるデータ等に関して、予め設定されたワークフローを実行するコンピュータである。ワークフローとは、例えば、それぞれが独立して又は単独で完結した機能を実現する一以上の処理単位（タスク）の任意な組み合わせによって実現される処理の流れ（処理フロー）をいう。当該処理単位は、一般的なワークフローの用語における、アクティビティに当てはめられてもよい。つまり、配信管理サーバ１０は、予め設定（定義）されたデータ処理の内容に基づき、入力されるデータに対する処理を実行する機能を実現する。
【００１０】
クライアント端末２０は、ユーザが直接利用する端末である。本実施の形態において、クライアント端末２０は、ファイルをクラウドストレージ４０に対してアップロードし、クラウドストレージの記憶領域にファイルを保存するために利用される。ユーザはクライアント端末２０を利用して、配信管理サーバ１０にデータ処理を実行させる対象となるファイル等の処理対象のデータをクラウドストレージ４０に保存する。クライアント端末２０は、例えば、携帯電話、スマートフォン、タブレット型端末、及びＰＣ（Personal Computer）等でもよい。
【００１１】
クラウドストレージ４０は、オンラインストレージとも呼ばれ、インターネット上で、データ保存用の記憶領域を貸し出すサービス（ストレージサービス）を提供するコンピュータシステムである。本実施の形態において、クラウドストレージ４０にアップロードされたファイルは、配信管理サーバ１０によって実行されるワークフローの入力データとなる。なお、クラウドストレージ４０はストレージサービスの一例であり、本発明を実現する配信管理システム１においてデータ保存用の記憶領域がクラウドで提供されることは必須ではない。つまり、クラウドストレージ４０は、配信管理サーバ１０がネットワークを介してデータの取得を試みる取得先の記憶領域（記憶部）を備える装置の一例である。
【００１２】
ユーザ情報管理サーバ３０は、配信管理サーバ１０の各ユーザの属性情報（以下、「ユーザ情報」という。）を管理するコンピュータである。例えば、ＬＤＡＰ（Lightweight Directory Access Protocol）サーバが、ユーザ情報管理サーバ３０として用いられてもよい。
【００１３】
なお、配信管理サーバ１０が処理対象のデータの入力を受け付ける、または、処理後のデータを出力する対象はクラウドストレージ４０に限定されない。例えば、原稿から画像を読み取る画像形成装置、電子メールの転送を行うメールサーバ、ＬＡＮ上においてファイルの共有に用いられるファイルサーバ等が、ワークフローに対するデータの入力元、又はワークフローによるデータの出力先（配信先）として、配信管理システム１に含まれてもよい。この場合、配信管理サーバ１０はこれらの装置とネットワークを介して接続する。
【００１４】
なお、配信システム１の一形態として、配信管理サーバ１０及びユーザ情報管理サーバ３０は、ユーザの勤務先に配置され、クライアント端末２０は、ユーザの自宅に配置され、クラウドストレージ４０は、クラウド上に配置されている形態が考えられる。例えばユーザの勤務先の社内ネットワークには社外ネットワークからのアクセスを制限するファイアウォールが設けられ、ユーザの自宅に配置されるクライアント端末２０からの社内ネットワークへのアクセスが制限されているとする。この時、ユーザが自宅のクライアント端末２０から配信管理サーバ１０及びユーザ情報管理サーバ３０にアクセスを試みてもファイアウォールによりアクセスが許可されない。同様にクラウドストレージ４０からの社内ネットワークへのアクセスも制限される可能性が考えられる。この場合、社内ネットワーク（配信管理サーバ１０やユーザ情報管理サーバ３０）から社外ネットワークにアクセスすることでクライアント端末２０と通信することは可能となり得るが、そのためには勤務するユーザが自宅あるいは社外で使用するクライアント端末２０を全員分把握していなければならない。そこで、クラウドストレージ４０を利用して本発明を実現することにより、ユーザが社外で行った作業のデータに対して社内の処理フローを実行させるときの利便性を向上することが出来る。なお、このような形態はあくまで一形態の例示に過ぎず、本発明の適用範囲を制限するものではない。従って、他の形態であってもよい。
【００１５】
図２は、本発明の実施の形態における配信管理サーバのハードウェア構成例を示す図である。図２の配信管理サーバ１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００１６】
配信管理サーバ１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１７】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って配信管理サーバ１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１８】
なお、配信管理サーバ１０は、複数のコンピュータ、によって構成されてもよい。
【００１９】
図３は、本発明の実施の形態における配信管理サーバの機能構成例を示す図である。図３において、配信管理サーバ１０は、ジョブ投入部１２、フロー実行制御部１３、及び処理部１４等を有する。これら各部は、配信管理サーバ１０にインストールされたプログラムがＣＰＵ１０４に実行させる処理により実現される。配信管理サーバ１０は、また、ジョブキュー１５、及びフロー定義記憶部１６等の記憶部を利用する。これら各記憶部は、補助記憶装置１０２、又は配信管理サーバ１０にネットワークを介して接続される記憶装置等を用いて実現可能である。ジョブキュー１５については、メモリ装置１０３が用いられてもよい。
【００２０】
フロー定義記憶部１６は、フロー定義データを記憶する。フロー定義データとは、ワークフローの処理の流れ等に関する定義情報が記録されたデータをいう。本実施の形態において、一つのフロー定義データは、一つのワークフローに対応する。したがって、フロー定義データは、相互に処理手順の異なるワークフローごとに作成される。
【００２１】
ジョブ投入部１２は、ワークフローの実行要求に応じ、当該ワークフローに係るジョブ情報をジョブキュー１５に投入する。本実施の形態において、ジョブとは、ワークフローの実行単位をいう。例えば、同一のワークフローが複数回実行された場合、各実行時のジョブは異なる。なお、ジョブ情報は、フロー実行制御部１３が解釈可能な形式又は構造を有する。
【００２２】
ジョブキュー１５は、投入されたジョブ情報を記憶する。ジョブ情報は、例えば、実行対象のワークフローの識別子や処理対象のデータ等を含む情報である。
【００２３】
フロー実行制御部１３は、ジョブキュー１５よりジョブ情報を取得し、当該ジョブ情報に対応するフロー定義データの定義に従って、ワークフローの実行を制御する。
【００２４】
処理部１４は、ワークフローを構成する処理単位（アクティビティ）ごとの処理を実行する。例えば、一つのアクティビティは、一つの処理部１４によって実現される。したがって、ワークフローは、相互に処理内容の異なる１以上の処理部１４による処理の接続によって実現される。図３では、処理部Ａ及び処理部Ｂ等が例示されている。各処理部１４は、それぞれ独立したプログラムモジュールによって実現されてもよい。この場合、各プログラムモジュールは、プラグインとして、容易にインストール可能とされてもよい。
【００２５】
フロー定義データの詳細について説明する。本実施の形態において、ワークフローを構成する１以上の処理単位は、中間処理又は出力処理に大別される。中間処理は、例えば、ワークフローの処理対象とされたデータに対する加工処理である。中間処理の一例として、ノイズ除去処理、ＯＣＲ（Optical Character Recognition）処理、翻訳処理、及びデータ変換処理等が挙げられる。
【００２６】
出力処理は、ワークフローからのデータの出力処理である。出力処理の一例として、ネットワークを介して接続するファイルサーバへの配信処理が挙げられる。また、所定のメールアドレスが配信先とされてもよいし、クラウドストレージ４０が配信先とされてもよい。なお、例えば、画像形成装置への印刷やプロジェクタへの表示等、配信以外の出力形態による出力処理がワークフローを構成してもよい。
【００２７】
フロー定義データには、少なくとも一つの出力処理と、必要に応じて一以上の中間処理との順序付けられた組み合わせに関する定義が記録されている。分岐した処理が並列的に実行されるようにワークフローが定義されてもよい。
【００２８】
図４は、ワークフローの一例を示す図である。図４では、入力された画像データに対して画像変換処理が実行された後に、画像変換された画像データがフォルダに配信される処理と、入力された画像データが電子メールによって送信される処理とが並列的に実行される一つのワークフローが示されている。フロー定義データには、例えば、図４に示されるワークフローの定義が当該ワークフローの識別子（以下、「フローＩＤ」という。）と共に記述されている。
【００２９】
続いて、ジョブ投入部１２の詳細について説明する。図５は、ジョブ投入部の構成例を示す図である。
【００３０】
ジョブ投入部１２において、データの入力元とのやりとりは、プラグイン可能なプログラムによって実現される。図５では、スキャン入力プラグイン１２１、メール入力プラグイン１２２、フォルダ入力プラグイン１２３、及びクラウド入力プラグイン１２４が例示されている。
【００３１】
スキャン入力プラグイン１２１は、画像形成装置よりワークフローの実行要求を受信するプラグインである。すなわち、スキャン入力プラグイン１２１は、画像形成装置においてスキャンされた画像データに対するワークフローの実行要求を、画像形成装置より受信する。当該実行要求には、画像データと共に、フローＩＤ及びワークフローに対する設定値等が指定される。スキャン入力プラグイン１２１は、受信されたフローＩＤ、画像データ、及び設定値等を、フロー実行制御部１３が予定している形式に従ったジョブ情報に整形し、当該ジョブ情報をジョブキュー１５に記憶する。
【００３２】
メール入力プラグイン１２２は、所定のメールアドレス宛の電子メールによってワークフローの実行要求を受け付けるプラグインである。この場合、当該電子メールに添付されたデータが、ワークフローの処理対象とされる。当該データは、画像データであってもよいし、他の形式のデータであってもよい。メール入力プラグイン１２２は、所定のメールアドレス宛の電子メールを、メールサーバから取得する。メール入力プラグイン１２２は、取得された電子メールに添付されているデータと、当該電子メールに記述されている情報とを、フロー実行制御部１３が予定している形式に従ったジョブ情報に整形し、当該ジョブ情報をジョブキュー１５に記憶する。
【００３３】
フォルダ入力プラグイン１２３は、所定のフォルダに対するファイルのアップロードによって、ワークフローの実行要求を受け付けるプラグインである。所定のフォルダは、配信管理サーバ１０の補助記憶装置１０２に形成されたフォルダでもよいし、配信管理サーバ１０にネットワークを介して接続される記憶装置（例えば、いずれかのクライアント端末２０又はファイルサーバの記憶装置）に形成されたフォルダでもよい。フォルダ入力プラグイン１２３は、例えば、所定のフォルダをポーリング（周期的に参照）し、当該フォルダに、処理対象のデータを格納したファイル（以下、「データファイル」という。）、及びフローＩＤや設定値等を格納したファイル（以下、「書誌ファイル」という。）が保存されていれば、当該データファイル及び書誌ファイルを取得する。フォルダ入力プラグイン１２３は、取得されたデータファイルと、取得された書誌ファイルに格納されている情報とを、フロー実行制御部１３が予定している形式に従ったジョブ情報に整形し、当該ジョブ情報をジョブキュー１５に記憶する。
【００３４】
クラウド入力プラグイン１２４は、クラウドストレージ４０に対するファイルのアップロードによって、ワークフローの実行要求を受け付けるプラグインである。クラウド入力プラグイン１２４は、例えば、クラウドストレージ４０における所定のアカウントに対する記憶領域（例えば、フォルダ）をポーリングし、当該記憶領域にファイルが保存されていれば、当該ファイルを取得する。クラウド入力プラグイン１２４は、取得されたファイル、及び当該ファイルの書誌情報を、フロー実行制御部１３が予定している形式に従ったジョブ情報に整形し、当該ジョブ情報をジョブキュー１５に記憶する。
【００３５】
このように、ジョブ投入部１２は、様々な形態で、ワークフローの実行要求を受け付けることができる。また、他のプラグインを追加することにより、他の形態で実行要求が受け付けられてもよい。例えば、Ｗｅｂページを介してワークフローの実行要求を受け付けるプラグインが追加されてもよい。
【００３６】
クラウド入力プラグイン１２４について更に詳細に説明する。図６は、クラウド入力プラグインの機能構成例を示す図である。
【００３７】
図６に示されるように、クラウド入力プラグイン１２４は、設定部１２４１、ファイル取得部１２４２、ファイル解析部１２４３、フロー選択部１２４４、ユーザ情報取得部１２４５、及びジョブ情報生成部１２４６として配信管理サーバ１０のＣＰＵ１０４を機能させる。
【００３８】
設定部１２４１は、クラウド入力プラグイン１２４に対する設定情報の入力を受け付け、当該設定情報を設定情報記憶部１２４７に記憶する。設定情報記憶部１２４７は、例えば、補助記憶装置１０２又は配信管理サーバ１０にネットワークを介して接続される記憶装置等を用いて実現可能である。
【００３９】
ファイル取得部１２４２は、監視対象のクラウドストレージ４０及に対するファイルのアップロードの有無を、クラウドストレージ４０との通信によって監視する。ファイル取得部１２４２は、監視対象に関してファイルがアップロードされると、当該ファイルを取得（ダウンロード）する。監視対象を識別する情報は、設定情報記憶部１２４７が記憶する設定情報に含まれている。複数の監視対象が設定されてもよい。なお、本実施の形態では、ファイルの保存先のクラウドストレージ４０と、ファイルの保存に用いられたアカウントとに応じて、フローＩＤが特定される。但し、ファイルの保存先のフォルダのフォルダ名やファイル名等に基づいて、フローＩＤが特定されてもよい。
【００４０】
ファイル解析部１２４３は、ファイル取得部１２４２によって取得されたファイルから、書誌情報を抽出する。書誌情報には、例えば、ファイル名、拡張子、及びユーザの勤務先の社員番号等が含まれる。社員番号は、ファイル名に含まれている。換言すれば、クラウドストレージ４０にファイルをアップロードするユーザは、ファイル名に自らの社員番号を含むファイル（例えばファイル名の先頭５桁等の規則に従って社員番号を入力したファイル等）を、アップロードする。なお、ユーザごとの識別情報として、社員番号以外の情報が用いられてもよい。従って、ファイル解析部１２４３は、所定の規則に従ってファイル名から取得した情報をユーザの識別情報として取り扱う。
【００４１】
フロー選択部１２４４は、ファイル取得部１２４２によるファイルの取得先、又は当該ファイルの書誌情報に基づいて、当該ファイルに関して実行されるワークフローを選択する。すなわち、フロー選択部１２４４によって、実行されるワークフローのフローＩＤが特定される。
【００４２】
ユーザ情報取得部１２４５は、ファイル解析部１２４３によってファイル名から抽出された社員番号に関連付けられて記憶されているユーザ情報を、ユーザ情報管理サーバ３０から取得する。
【００４３】
ジョブ情報生成部１２４６は、フローＩＤ、ファイルの書誌情報、ファイル、及びユーザ情報等を含むジョブ情報を生成し、当該ジョブ情報をジョブキュー１５に記憶する。
【００４４】
以下、配信管理サーバ１０が実行する処理手順について説明する。図７は、クラウドストレージを介したワークフローの実行要求の受け付け処理の処理手順の一例を説明するためのフローチャートである。
【００４５】
ファイル取得部１２４２は、監視対象のクラウドストレージ４０に対するファイルのアップロードの有無を監視する（Ｓ１０１）。監視対象は、例えば、設定情報記憶部１２４７に記憶されている情報に基づいて特定される。
【００４６】
図８は、設定情報記憶部の構成例を示す図である。図８において、設定情報記憶部１２４７は、監視対象ごとに、クラウドストレージ４０名、アカウント名、パスワード、及びフローＩＤ等を記憶する。クラウドストレージ４０名は、ファイル取得部１２４２が、監視対象とするクラウドストレージ４０の識別情報又はアドレス情報である。アカウント名は、クラウドストレージ４０名へのアクセスに利用されるアカウントの名前である。パスワードは、当該アカウントに対するパスワードである。
【００４７】
フローＩＤは、当該クラウドストレージ４０において当該アカウントによってアップロードされたファイルに関して実行されるワークフローのフローＩＤである。すなわち、本実施の形態では、クラウドストレージ４０及びそのアカウントに対して、ワークフローが対応付けられている。なお、設定情報記憶部１２４７には、複数のレコードを登録することが可能である。例えば、複数のクラウドストレージ４０及びアカウントが監視対象として設定され、それぞれに対して異なるフローＩＤを割り当てられてもよい。この場合、ファイル取得部１２４２は、複数のクラウドストレージ４０の複数のアカウントを監視することになる。ユーザは、クライアント端末２０を使用して、所望のワークフローに対応したクラウドストレージ４０に対して、当該ワークフローに対応したアカウントによってファイルをアップロードすることで、所望のワークフローを配信管理サーバ１０に実行させることができる。
【００４８】
図８の例では、アカウント名とフローＩＤとが別々の項目とされているが、例えば、アカウント名に、フローＩＤが含まれるようにしてもよい。
【００４９】
なお、設定情報は、例えば、図９に示されるような設定画面を介して設定されてもよい。図９は、設定画面の表示例を示す図である。図９に示される設定画面５１０は、追加ボタン５１１、編集ボタン５１２、削除ボタン５１３、設定リスト５１４、及びＯＫボタン５１５等を含む。
【００５０】
設定リスト５１４には、設定情報記憶部１２４７に記憶されている設定情報の一覧が表示される。追加ボタン５１１が押下されると、例えば、クラウドストレージ４０名、アカウント名、パスワード、及びフローＩＤを入力させるダイアログ（以下、「編集ダイアログ」という。）が表示される。編集ダイアログに対して各項目の値が入力されると、当該値を含む設定情報が、設定リスト５１４に追加される。
【００５１】
設定リスト５１４において、設定情報を含むいずれかの行が選択されると、編集ボタン５１２及び削除ボタン５１３の操作が可能となる。編集ボタン５１２が押下されると、選択されている行に係る設定情報の値が初期値として設定された、編集ダイアログが表示される。編集ダイアログを介して、いずれかの項目の値が変更されると、当該変更が、選択されている行に係る設定情報に反映される。削除ボタン５１３が押下されると、選択されている行が削除される。
【００５２】
ＯＫボタン５１５が押下されると、設定リスト５１４の内容が、設定情報記憶部１２４７に記憶される。
【００５３】
なお、設定画面５１０は、例えば、クライアント端末２０からの要求に応じて設定部１２４１が返信するＷｅｂページ等の表示データに基づいて、クライアント端末２０に表示されてもよい。この場合、任意のユーザによって設定の編集や削除等が行われないように、設定画面５１０を操作可能（編集や削除等が可能）なユーザが、管理者等の特定の者に制限されてもよい。そのようにすることで、通常のユーザ（管理者ではないユーザ）に対しては表示機能のみを提供することが出来る。
【００５４】
ステップＳ１０１において、ファイル取得部１２４２は、設定情報記憶部１２４７にクラウドストレージ４０名が記憶されているクラウドストレージ４０に、当該クラウドストレージ４０に対応されているアカウント名及びパスワードを用いてアクセスする。ファイル取得部１２４２は、アクセスに成功すると、ファイルの有無を確認する。ステップＳ１０１では、このような処理が、設定情報記憶部１２４７に登録されている各監視対象について、並列的又は直列的に実行される。
【００５５】
ファイル取得部１２４２は、いずれかの監視対象に対してファイルがアップロードされていることを検知すると（Ｓ１０２でＹｅｓ）、当該監視対象から当該ファイルを取得（ダウンロード）する（Ｓ１０３）。この際、当該ファイルのアップロード日時（保存日時）も取得される。以下の説明では、便宜上、一つのファイルが取得されたこととする。複数のファイルが取得された場合、以下において説明される処理が、各ファイルに対して実行されればよい。以下、取得されたファイルを「対象ファイル」という。
【００５６】
続いて、ファイル解析部１２４３は、対象ファイルのファイル名、拡張子、及びユーザの社員番号を、対象ファイルのファイル名から抽出する（Ｓ１０４）。続いて、フロー選択部１２４４は、対象ファイルの取得先の監視対象に対応付けられて設定情報記憶部１２４７に記憶されているフローＩＤを、対象ファイルに関して実行されるワークフローのフローＩＤとして選択する（Ｓ１０５）。続いて、ユーザ情報取得部１２４５は、ユーザ情報管理サーバ３０から、当該社員番号に対応するユーザ情報を取得する（Ｓ１０６）。
【００５７】
図１０は、ユーザ情報管理サーバが記憶する情報の構成例を示す図である。図１０において、ユーザ情報管理サーバ３０は、ユーザごとに、社員番号、氏名、所属部署名、メールアドレス、及び上司ＩＤ等を含むユーザ情報を記憶する。他の項目がユーザ情報に含まれてもよい。
【００５８】
社員番号は、ユーザの社員番号である。氏名は、ユーザの氏名である。所属部署名は、ユーザが所属する部署の名前である。メールアドレスは、ユーザのメールアドレスである。上司ＩＤは、ユーザの上司の社員番号である。すなわち、上司ＩＤは、ユーザの上司のユーザ情報を特定するための識別情報である。
【００５９】
続いて、ジョブ情報生成部１２４６は、ジョブ情報を生成する（Ｓ１０７）。
【００６０】
図１１は、ジョブ情報の構成例を示す図である。図１１において、ジョブ情報は、フローＩＤ、ファイル名、拡張子、社員番号、所属部署名、氏名、メールアドレス、上司ＩＤ、及びパス名等を含む。フローＩＤは、Ｓ１０５において選択されたフローＩＤである。ファイル名及び拡張子は、ステップＳ１０４においてファイルから抽出されたファイルのファイル名及び拡張子である。アップロード日時は、ステップＳ１０３においてファイルと共に取得されたアップロード日時である。社員番号は、ステップＳ１０４において、ファイル名から抽出された社員番号である。所属部署名、氏名、メールアドレス、及び上司ＩＤは、ステップ１０５において取得されたユーザ情報である。パス名は、ステップＳ１０３において取得されたファイルについて、配信管理サーバ１０における保存場所を示すパス名である。例えば、当該ファイルは、補助記憶装置１０２に記憶される。
【００６１】
なお、ジョブ情報は、ＸＭＬ（eXtensible Markup Language）ファイル、ＣＳＶ（Comma Separated Values）ファイル、又はその他の形式のファイルに格納されてもよい。
【００６２】
続いて、ジョブ情報生成部１２４６は、ジョブ情報を、ジョブキュー１５に記憶する（Ｓ１０８）。
【００６３】
ステップＳ１０３以降は、いずれかの監視対象に対してアップロードされたファイルが検出されるたびに繰り返し実行される。
【００６４】
続いて、ジョブキュー１５に登録されたジョブ情報に基づくワークフローの制御処理について説明する。
【００６５】
図１２は、ジョブ情報に基づくワークフローの制御処理の処理手順の一例を説明するためのフローチャートである。
【００６６】
フロー実行制御部１３は、例えば、定期的にジョブキュー１５を参照し、ジョブキュー１５にジョブ情報が記憶されていると、当該ジョブ情報をジョブキュー１５より取り出す（Ｓ２０１）。続いて、フロー実行制御部１３は、ジョブ情報に含まれているフローＩＤに対応するフロー定義データを、フロー定義記憶部１６より取得する（Ｓ２０２）。
【００６７】
続いて、フロー実行制御部１３は、取得されたフロー定義データに基づいて、ジョブ情報に含まれている添付データに関して、ワークフローの実行を制御する（Ｓ２０３）。具体的には、当該フロー定義データに中間処理が定義されている場合には、当該中間処理に係る処理部１４に当該中間処理を実行させる。また、フロー実行制御部１３は、当該フロー定義データに定義されている出力処理を、当該出力処理に係る処理部１４に実行させる。
【００６８】
なお、各中間処理又は出力処理において、ジョブ情報に含まれているユーザ情報が、処理制御のパラメータとして用いられてもよい。例えば、配信先が、上司ＩＤに基づいて特定される上司のメールアドレス宛とされてもよい。また、ユーザ自身のメールアドレスが、配信先とされてもよい。この場合、所定のクラウドストレージ４０にファイルをアップロードすると、当該アップロードに利用されたアカウントに対応するワークフローの実行結果（例えば、ＯＣＲの結果）が、電子メールによって返信されるといった操作感を、ユーザに提供することができる。
【００６９】
上述したように、本実施の形態によれば、クラウドストレージ４０にファイルをアップロードすることで、当該ファイルに関してワークフローの実行要求を入力することができる。したがって、例えば、携帯電話、スマートフォン、タブレット型端末、又はＰＣ等、ユーザが利用する機器に保存されているファイルを、簡易な操作で、ワークフローの入力データとすることができる。したがって、ワークフローの利便性を向上させることができる。
【００７０】
また、ユーザは、一つのファイルを、複数の監視対象にアップロードすることで、一つのファイルに関して、複数のワークフローを並列的に実行させることもできる。
【００７１】
更に、クラウドストレージ４０は、配信管理サーバ１０が配置されている勤務先の外部からアクセス可能である。したがって、ユーザは、自宅や出張先等から、クラウドストレージ４０に対してファイルをアップロードすることで、所望のワークフローを実行させることもできる。
【００７２】
なお、クラウド上で提供されているストレージ以外のストレージに関して、本実施の形態が適用されてもよい。例えば、ＬＡＮ上のファイルサーバに対して本実施の形態が適用されてもよい。この場合、クラウド入力プラグイン１２４は、フォルダ入力プラグイン１２３と同様の処理を実行してもよい。
【００７３】
ところで、上記の例では、ユーザは、所望のワークフローに対応するクラウドストレージ４０及びアカウントを知っておく必要が有る。この場合、選択肢（アップロード可能なクラウドストレージ４０及びアカウントの組み合わせ）が多くなると、所望のワークフローを実行させるために、いずれのクラウドストレージ４０に対していずれのアカウントでファイルをアップロードすべきであるのかを特定するのが困難になる可能性が有る。
【００７４】
そこで、アップロードされるファイルのファイル名にフローＩＤが含まれるようにしてもよい。この場合、同じクラウドストレージ４０に対して同じアカウントを利用してアップロードされたファイルであっても、ファイル名に含まれるフローＩＤに基づいて、相互に異なるワークフローを実行させることができる。すなわち、ユーザは、一つのクラウドストレージ４０に対する一つのアカウントを知っておけば、複数のワークフローを実行させることができる。
【００７５】
又は、例えば、配信管理サーバ１０は、図１３に示される機能構成を有してもよい。図１３は、本発明の実施の形態における配信管理サーバの第二の機能構成例を示す図である。図１３中、図３と同一部分には同一符号を付し、その説明は省略する。
【００７６】
図１３において、配信管理サーバ１０は、更に、アップロード支援部１１を有する。アップロード支援部１１は、ユーザが所望のワークフローを実行させるための、クラウドストレージ４０へのファイルのアップロードを支援する処理を実行する。なお、アップロード支援部１１は、配信管理サーバ１０にインストールされたプログラムが、ＣＰＵ１０４に実行させる処理により実現される。
【００７７】
図１４は、アップロード支援部が実行する処理の一例を説明するためのシーケンス図である。
【００７８】
ステップＳ３０１において、クライアント端末２０は、ユーザによる操作に応じ、フロー選択画面の取得要求を、アップロード支援部１１宛に送信する。フロー選択画面とは、設定情報記憶部１２４７において、クラウドストレージ４０及びアカウントに対応付けられているフローＩＤに係るワークフローの中から、実行対象とするワークフローをユーザに選択させるための画面をいう。
【００７９】
ユーザによる操作は、例えば、クライアント端末２０のＷｅｂブラウザに対する、アップロード支援部１１に割り当てられたＵＲＬ（Uniform Resource Locator）の入力であってもよい。この場合、フロー選択画面の取得要求は、ＨＴＴＰ（HyperText Transfer Protocol）によって送信される。また、この場合、クライアント端末２０には、専用のアプリケーションがインストールされる必要性を低減することができる。
【００８０】
アップロード支援部１１は、フロー選択画面の取得要求の受信に応じ、設定情報記憶部１２４７を参照して、フロー選択画面の表示データ（以下、「フロー選択画面データ」という。）を生成する（Ｓ３０２）。例えば、フロー選択画面データは、ＨＴＭＬ（HyperText Markup Language）を利用して生成されてもよい。続いて、アップロード支援部１１は、フロー選択画面データを含む応答を、クライアント端末２０に返信する（Ｓ３０３）。
【００８１】
クライアント端末２０は、当該応答を受信すると、当該応答に含まれているフロー選択画面データに基づいて、フロー選択画面を表示する（Ｓ３０４）。
【００８２】
図１５は、フロー選択画面の表示例を示す図である。図１５において、フロー選択画面５２０は、設定情報記憶部１２４７に記憶されているフローＩＤを選択肢として含む。なお、各ワークフローの説明文等が、フローＩＤの代わりに、又はフローＩＤと共に、各選択肢に含まれてもよい。この場合、当該説明文が、設定情報記憶部１２４７の各設定情報に含まれていてもよい。
【００８３】
フロー選択画面５２０の各選択肢には、リンクが貼られている。ユーザによっていずれかの選択肢（フローＩＤ）が選択されると、クライアント端末２０は、フロー選択画面データの定義に従って、ファイルダイアログを表示する。ファイルダイアログは、クライアント端末２０のファイルシステムの中から、ファイルを選択させるためのダイアログである。ユーザによって、ファイルダイアログを介していずれかのファイルが選択されると（Ｓ３０５）、クライアント端末２０は、フロー選択画面５２０において選択された選択肢に対応するクラウドストレージ４０に対して、ファイル選択されたファイルをアップロードする（Ｓ３０６）。
【００８４】
すなわち、フロー選択画面データには、各選択肢に対応するクラウドストレージ４０のクラウドストレージ４０名、アカウント名、及びパスワードが記述されている。これらの情報は、フロー選択画面データの生成時に、設定情報記憶部１２４７から取得される。クライアント端末２０は、選択された選択肢に対応付けられているクラウドストレージ４０名に係るクラウドストレージ４０に対して、当該選択肢に対応付けられているアカウント名及びパスワードを利用して、ファイルのアップロードを実行する。
【００８５】
図１４の処理が実行されることにより、ユーザは、所望のワークフローに対応するクラウドストレージ４０及びアカウントを意識することなく、ファイルのアップロードを行うことができる。
【００８６】
なお、フロー選択画面５２０の代わりに、フローＩＤと、当該フローＩＤに対応するストレージ名、アカウント名、及びパスワードとの一覧を含む画面が提供されてもよい。ユーザは、斯かる画面を参照することで、所望のワークフローに対応するストレージ名、アカウント名、及びパスワードを容易に知ることができる。当該画面も、設定情報記憶部１２４７を参照することで生成可能である。
【００８７】
なお、本実施の形態において、配信管理サーバ１０は、入力されたデータに対するデータ処理を実行する装置の一例である。配信管理サーバ１０は、サーバ装置、ＰＣ等の情報処理装置により実現され、また、１台以上の配信管理サーバ１０により構成される情報処理システムによってその機能を実現することが出来る。
【００８８】
クライアント端末２０は、ユーザの操作に応じてネットワーク上のストレージサービスに対しファイル等のデータを保存する処理が実行可能な端末装置の一例である。クラウドストレージ４０は、クライアント端末２０がファイル等のデータを保存する保存先であり、そのための記憶部や機能部を備える装置の一例である。クラウドストレージ４０は、少なくとも送信されたデータを保存するデータ保存装置としての機能を実現する。
【００８９】
なお、本実施の形態において、クライアント端末２０からクラウドストレージ４０に保存するデータの一例としてファイルを扱ったが、ファイル形式でなくても実現可能である。クライアント端末２０からクラウドストレージ４０に保存するデータとして、少なくともデータ処理の対象となる処理対象データに加えて、データ処理を実行するときの処理内容を制御する制御パラメータとして利用され得る情報または制御パラメータとして利用され得る情報を特定できる情報であるパラメータ情報が含まれていればよい。また、パラメータ情報は処理対象データに含まれていてもよい。つまり、本実施の形態における対象ファイルは処理対象データの一例であり、対象ファイルから抽出されるファイル名、拡張子、及びユーザの社員番号等の書誌情報は、パラメータ情報の一例である。また、ユーザの社員番号等のパラメータ情報に基づき取得される情報（例えばユーザの上司ＩＤ）は制御パラメータとして利用され得る情報の一例である。
【００９０】
ファイル取得部１２４２は、ユーザ操作に応じて端末装置からデータ保存装置に保存したデータを取得する取得部の一例である。また、この取得部は、予め設定された取得先を指定する情報に基づき、指定された取得先に保存されているデータを取得する。
【００９１】
ファイル解析部１２４３は、取得先から取得したデータから、パラメータ情報を取得する取得部の一例である。この取得部が取得するパラメータ情報は、必ずしも制御パラメータとして利用されるとは限らず、また、必ずしもパラメータ情報に基づいて取得した情報が制御パラメータとして利用されるとは限らないが（実行するデータ処理の内容によっては制御パラメータとして利用されない場合が合ってもよいが）、少なくともいずれかのデータ処理において制御パラメータとして利用されるか、あるいは、制御パラメータを取得するための情報として利用される情報である。
【００９２】
フロー選択部１２４４は、処理対象データに対して実行するデータ処理を選択（決定）する選択部の一例である。選択部は、取得したデータの取得先やパラメータ情報等の取得したデータに関する情報に基づいて実行するデータ処理を決定する。
【００９３】
ユーザ情報取得部１２４５は、取得先から取得したデータに基づいて情報を取得する取得部の一例である。また、所定の記憶領域に記憶されているユーザ情報等の情報から、取得したデータのパラメータ情報に関連付く情報を取得する処理を実行する取得部の一例である。この取得部が取得する情報は、必ずしも制御パラメータとして利用される情報とは限らないが（実行するデータ処理の内容によっては利用されない場合があってもよいが）、少なくともいずれかのデータ処理においては制御パラメータとして利用される情報である。
【００９４】
なお、これらの取得部を区別して表記する際には、「第一の取得部」「第二の取得部」「第三の取得部」といったように頭に番号を付すことで区別することとする。
【００９５】
ジョブ情報生成部１２４６は、選択されたデータ処理と、パラメータ情報またはパラメータ情報に基づき取得した情報とに従って、処理対象データに対するデータ処理を実行するための処理情報を生成する処理情報生成部の一例である。つまり、処理対象データに対するデータ処理は、この処理情報に従って実行される。なお、処理情報生成部は、パラメータ情報またはパラメータ情報に基づき取得した情報のうち、どの情報が制御パラメータとして利用されるかを必ずしも判別（認識）していなくてよい。なぜなら、パラメータ情報やパラメータ情報に基づき取得した情報が実際のデータ処理において制御パラメータとして利用されるか否かは、処理部１４が処理を実行するときにどの制御パラメータを要するかに依るため、各処理部１４において利用する制御パラメータは特定できるからである。従って、処理情報生成部が、パラメータ情報やパラメータ情報に基づき取得した情報を制御パラメータとして設定した処理情報を生成することで、以降のデータ処理においてこれらの情報が制御パラメータとして利用可能となる。
【００９６】
なお、ファイル名は、データの識別名の一例である。
【００９７】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００９８】
１            配信管理システム
１０          配信管理サーバ
１１          アップロード支援部
１２          ジョブ投入部
１３          フロー実行制御部
１４          処理部
１５          ジョブキュー
１６          フロー定義記憶部
２０          クライアント端末
３０          ユーザ情報管理サーバ
４０          クラウドストレージ
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１２１        スキャン入力プラグイン
１２２        メール入力プラグイン
１２３        フォルダ入力プラグイン
１２４        クラウド入力プラグイン
１２４１      設定部
１２４２      ファイル取得部
１２４３      ファイル解析部
１２４４      フロー選択部
１２４５      ユーザ情報取得部
１２４６      ジョブ情報生成部
１２４７      設定情報記憶部
Ｂ            バス
【先行技術文献】
【特許文献】
【００９９】
【特許文献１】特開２０１２−０６５００６号公報
【図１】
2015176401.tif 000003
【図２】
2015176401.tif 000004
【図３】
2015176401.tif 000005
【図４】
2015176401.tif 000006
【図５】
2015176401.tif 000007
【図６】
2015176401.tif 000008
【図７】
2015176401.tif 000009
【図８】
2015176401.tif 000010
【図９】
2015176401.tif 000011
【図１０】
2015176401.tif 000012
【図１１】
2015176401.tif 000013
【図１２】
2015176401.tif 000014
【図１３】
2015176401.tif 000015
【図１４】
2015176401.tif 000016
【図１５】
2015176401.tif 000017