(57)【特許請求の範囲】
【請求項１】
情報処理装置であって、
監視対象として設定された識別情報に係る、ネットワークを介して参照可能な複数の記憶部を監視する監視部と、
前記監視部によって前記記憶部に対するデータの保存が検知されると、前記記憶部からの前記データの取得を実行する第１の取得部と、
前記第１の取得部によって取得されたデータに対して、１以上の処理単位を任意に組み合わせた処理フローを実行する実行部と、
を有し、
前記監視部は、前記複数の記憶部のそれぞれごとに、当該記憶部に対するデータの保存が検知された時期を示す情報を記録し、前記時期を示す情報の履歴に基づいて、前記記憶部ごとに、当該記憶部を監視する間隔を決定し、
前記第１の取得部は、前記複数の記憶部のうち、前記監視部によってデータの保存が検知された記憶部からのデータの取得を実行する、
ことを特徴とする情報処理装置。
【請求項２】
前記監視部は、複数の記憶部のそれぞれごとのスレッド又はプロセスを用いて前記複数の記憶部を監視する、
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記監視部は、前記監視対象として設定された１つの識別情報に関連付けられている、複数の記憶部を監視する、
ことを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記１つの識別情報に関連付けられている複数の記憶部を示す情報を取得する第２の取得部を有し、
前記監視部は、前記第２の取得部によって取得された情報が示す複数の記憶部を監視し、
前記第２の取得部は、一定期間ごとに前記１つの識別情報に関連付けられている複数の記憶部を示す情報を取得する、
ことを特徴とする請求項３記載の情報処理装置。
【請求項５】
情報処理装置が、
監視対象として設定された識別情報に係る、ネットワークを介して参照可能な複数の記憶部を監視する監視手順と、
前記監視手順において前記記憶部に対するデータの保存が検知されると、前記記憶部からの前記データの取得を実行する取得手順と、
前記取得手順において取得されたデータに対して、１以上の処理単位を任意に組み合わせた処理フローを実行する実行手順と、
を実行し、
前記監視手順は、前記複数の記憶部のそれぞれごとに、当該記憶部に対するデータの保存が検知された時期を示す情報を記録し、前記時期を示す情報の履歴に基づいて、前記記憶部ごとに、当該記憶部を監視する間隔を決定し、
前記取得手順は、前記複数の記憶部のうち、前記監視手順においてデータの保存が検知された記憶部からのデータの取得を実行する、
ことを特徴とする情報処理方法。
【請求項６】
情報処理装置に、
監視対象として設定された識別情報に係る、ネットワークを介して参照可能な複数の記憶部を監視する監視手順と、
前記監視手順において前記記憶部に対するデータの保存が検知されると、前記記憶部からの前記データの取得を実行する取得手順と、
前記取得手順において取得されたデータに対して、１以上の処理単位を任意に組み合わせた処理フローを実行する実行手順と、
を実行させ、
前記監視手順は、前記複数の記憶部のそれぞれごとに、当該記憶部に対するデータの保存が検知された時期を示す情報を記録し、前記時期を示す情報の履歴に基づいて、前記記憶部ごとに、当該記憶部を監視する間隔を決定し、
前記取得手順は、前記複数の記憶部のうち、前記監視手順においてデータの保存が検知された記憶部からのデータの取得を実行する、
ることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
複合機等の画像形成装置においてスキャンされた画像データに対して予め設定された処理フローを実行可能なコンピュータシステムが有る。
【０００３】
上記のようなコンピュータシステムの中には、画像形成装置以外を処理フローの処理対象のデータの入力元として設定可能なものが有る。例えば、当該コンピュータシステムを構成するコンピュータのローカルフォルダに保存されたデータに対して、処理フローを実行可能なものも有る。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記コンピュータシステムでは、当該コンピュータシステムのローカルフォルダ以外のフォルダ（すなわち、当該コンピュータシステムにネットワークを介して接続される記憶装置のフォルダ）に保存されたデータを、処理フローの処理対象とすることはできず、ネットワークを介した外部システムと連携して上記コンピュータシステムに組み込むことはできなかった。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、ネットワークを介した記憶部に保存されているデータを予め設定された処理フローの処理対象とすることを目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、情報処理装置は、監視対象として設定された識別情報に係る、ネットワークを介して参照可能な複数の記憶部を監視する監視部と、前記監視部によって前記記憶部に対するデータの保存が検知されると、前記記憶部からの前記データの取得を実行する第１の取得部と、前記第１の取得部によって取得されたデータに対して、１以上の処理単位を任意に組み合わせた処理フローを実行する実行部と、を有し、前記監視部は、前記複数の記憶部のそれぞれごとに、当該記憶部に対するデータの保存が検知された時期を示す情報を記録し、前記時期を示す情報の履歴に基づいて、前記記憶部ごとに、当該記憶部を監視する間隔を決定し、前記第１の取得部は、前記複数の記憶部のうち、前記監視部によってデータの保存が検知された記憶部からのデータの取得を実行する。
【発明の効果】
【０００７】
ネットワークを介した記憶部に保存されているデータを予め設定された処理フローの処理対象とすることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態における配信管理システムの構成例を示す図である。
【図２】本発明の実施の形態における配信管理サーバのハードウェア構成例を示す図である。
【図３】本発明の実施の形態における配信管理サーバの機能構成例を示す図である。
【図４】ワークフローの一例を示す図である。
【図５】ジョブ投入部の構成例を示す図である。
【図６】フォルダ入力プラグインの機能構成例を示す図である。
【図７】フォルダの監視の開始時に実行される処理手順の一例を説明するためのフローチャートである。
【図８】監視対象一覧の一例を示す図である。
【図９】フォルダの監視処理の処理手順の一例を説明するためのフローチャートである。
【図１０】ファイルの取得処理の処理手順の一例を説明するためのフローチャートである。
【図１１】ジョブ情報に基づくワークフローの制御処理の処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における配信管理システムの構成例を示す図である。図１において、配信管理システム１は、配信管理サーバ１０、ＰＣ２０ａ及びＰＣ２０ｂ等の１以上のＰＣ２０、ＤＦＳコントローラ３０、ＤＮＳサーバ４０、及びドメインコントローラ５０等を含む。各装置は、ＬＡＮ（Local Area Network）、ＶＰＮ（Virtual Private Network）、又はＷＡＮ（Wide Area Network）等のネットワーク（有線又は無線の別は問わない。）を介して通信可能に接続されている。
【００１０】
配信管理サーバ１０は、入力されるデータ等に関して、予め設定されたワークフローを実行する１以上のコンピュータである。ワークフローとは、例えば、それぞれが独立して又は単独で完結した機能を実現する一以上の処理単位（タスク）の任意な組み合わせによって実現される処理の流れ（処理フロー）をいう。当該処理単位は、一般的なワークフローの用語における、アクティビティに当てはめられてもよい。
【００１１】
ＰＣ２０は、本実施の形態において、ワークフローに対する入力データの保存先として用いられる装置である。すなわち、本実施の形態では、配信管理サーバ１０のローカルなフォルダに記憶されたデータのみならず、配信管理サーバ１０にネットワークを介して接続されるＰＣ２０等における、リモートなフォルダに記憶されたデータについても、ワークフローに対する入力データとすることができる。なお、配信管理システム１が企業において利用される場合、各ＰＣ２０は、各従業員に割り当てられた端末であってもよい。
【００１２】
ＤＦＳコントローラ３０は、分散ファイルシステム（ＤＦＳ（Distributed File System））によって共有されているフォルダのパス名（以下、「ＤＦＳパス名」という。）と、当該フォルダの参照先の実際のフォルダのパス名（以下、「実パス名」という。）との対応付けを管理するコンピュータである。
【００１３】
ＤＮＳサーバ４０は、ＤＮＳ（Domain Name System）を構成するコンピュータである。例えば、ＤＮＳサーバ４０は、ＤＦＳパス名に含まれているホスト名について名前解決を実行して、当該ホスト名をＩＰアドレスに変換する。本実施の形態において、ＤＮＳサーバ４０は、ＤＦＳコントローラ３０が、ＤＦＳパスを実パス名に変換する際に利用される。
【００１４】
ドメインコントローラ５０は、ＤＦＳコントローラ３０のＩＰアドレス等を管理するコンピュータである。
【００１５】
図２は、本発明の実施の形態における配信管理サーバのハードウェア構成例を示す図である。図２の配信管理サーバ１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００１６】
配信管理サーバ１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１７】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って配信管理サーバ１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１８】
なお、配信管理サーバ１０は、複数のコンピュータ、によって構成されてもよい。
【００１９】
図３は、本発明の実施の形態における配信管理サーバの機能構成例を示す図である。図３において、配信管理サーバ１０は、ジョブ投入部１２、フロー実行制御部１３、及び処理部１４等を有する。これら各部は、配信管理サーバ１０にインストールされたプログラムがＣＰＵ１０４に実行させる処理により実現される。配信管理サーバ１０は、また、ジョブキュー１５、及びフロー定義記憶部１６等の記憶部を利用する。これら各記憶部は、補助記憶装置１０２、又は配信管理サーバ１０にネットワークを介して接続される記憶装置等を用いて実現可能である。ジョブキュー１５については、メモリ装置１０３が用いられてもよい。
【００２０】
フロー定義記憶部１６は、フロー定義データを記憶する。フロー定義データとは、ワークフローの処理の流れ等に関する定義情報が記録されたデータをいう。本実施の形態において、一つのフロー定義データは、一つのワークフローに対応する。したがって、フロー定義データは、相互に処理手順の異なるワークフローごとに作成される。
【００２１】
ジョブ投入部１２は、ワークフローの実行要求（指定されたワークフローに対する処理対象のデータの入力）に応じ、当該ワークフローに係るジョブ情報をジョブキュー１５に投入する。本実施の形態において、ジョブとは、ワークフローの実行単位をいう。例えば、同一のワークフローが複数回実行された場合、各実行時のジョブは異なる。
【００２２】
ジョブキュー１５は、投入されたジョブ情報を記憶する。ジョブ情報は、例えば、実行対象のワークフローを指定するための識別子や処理対象のデータ等を含む情報である。
【００２３】
フロー実行制御部１３は、ジョブキュー１５よりジョブ情報を取得し、当該ジョブ情報に対応するフロー定義データの定義に従って、ワークフローの実行を制御する。
【００２４】
処理部１４は、ワークフローを構成する処理単位（アクティビティ）ごとの処理を実行する。例えば、一つのアクティビティは、一つの処理部１４によって実現される。したがって、ワークフローは、相互に処理内容の異なる１以上の処理部１４による処理の接続によって実現される。図３では、処理部Ａ及び処理部Ｂ等が例示されている。各処理部１４は、それぞれ独立したプログラムモジュールによって実現されてもよい。この場合、各プログラムモジュールは、プラグインとして、容易にインストール可能とされてもよい。
【００２５】
フロー定義データの詳細について説明する。本実施の形態において、ワークフローを構成する１以上の処理単位は、中間処理又は出力処理に大別される。中間処理は、例えば、ワークフローの処理対象とされたデータに対する加工処理である。中間処理の一例として、ノイズ除去処理、ＯＣＲ（Optical Character Recognition）処理、翻訳処理、及びデータ変換処理等が挙げられる。
【００２６】
出力処理は、ワークフローからのデータの出力処理である。出力処理の一例として、フロー定義データにおいて指定されているフォルダへの配信処理が挙げられる。また、フロー定義データにおいて指定されているメールアドレスが配信先とされてもよい。
【００２７】
なお、本実施の形態では、配信が出力形態の一例として説明されるが、例えば、印刷等、他の出力形態による出力処理がワークフローを構成してもよい。
【００２８】
フロー定義データには、少なくとも一つの出力処理と、必要に応じて一以上の中間処理との順序付けられた組み合わせに関する定義が記録されている。分岐した処理が並列的に実行されるようにワークフローが定義されてもよい。
【００２９】
図４は、ワークフローの一例を示す図である。図４では、入力された画像データへの画像変換処理と、画像変換された画像データのフォルダへの配信処理とが直列的に実行され、かつ、入力された画像データを電子メールで送信する処理が並列的に実行されるワークフローが示されている。フロー定義データには、例えば、図４に示されるワークフローの定義が当該ワークフローの識別子（以下、「フローＩＤ」という。）と共に記述されている。
【００３０】
続いて、ジョブ投入部１２の詳細について説明する。図５は、ジョブ投入部の構成例を示す図である。
【００３１】
ジョブ投入部１２において、データの入力元とのやりとりは、プラグイン可能なプログラムによって実現される。図５では、スキャン入力プラグイン１２１、メール入力プラグイン１２２、及びフォルダ入力プラグイン１２３が例示されている。
【００３２】
スキャン入力プラグイン１２１は、画像形成装置よりワークフローの実行要求を受信するプラグインである。すなわち、スキャン入力プラグイン１２１は、画像形成装置においてスキャンされた画像データに対するワークフローの実行要求を、画像形成装置より受信する。当該実行要求には、画像データと共に、フローＩＤ及びワークフローに対する設定値等が指定される。スキャン入力プラグイン１２１は、受信されたフローＩＤ、画像データ、及び設定値等を、フロー実行制御部１３が予定している形式に従ったジョブ情報に整形し、当該ジョブ情報をジョブキュー１５に記憶する。
【００３３】
メール入力プラグイン１２２は、予め決められたメールアドレス宛の電子メールによってワークフローの実行要求を受け付けるプラグインである。この場合、当該電子メールに添付されたデータが、ワークフローの処理対象とされる。当該データは、画像データであってもよいし、他の形式のデータであってもよい。メール入力プラグイン１２２は、電子メールに添付されているデータと、電子メールに記述されている情報とを、フロー実行制御部１３が予定している形式に従ったジョブ情報に整形し、当該ジョブ情報をジョブキュー１５に記憶する。
【００３４】
フォルダ入力プラグイン１２３は、所定のフォルダに対するデータのアップロードによって、ワークフローの実行要求を受け付けるプラグインである。所定のフォルダは、配信管理サーバ１０の補助記憶装置１０２に形成されたフォルダでもよいし、ＰＣ２０等の配信管理サーバ１０にネットワークを介して接続される記憶装置に形成されたフォルダでもよい。フォルダ入力プラグイン１２３は、例えば、所定のフォルダを監視し、当該フォルダにデータ、及びフローＩＤや設定値等を格納したファイルが保存されていれば、当該データ及びファイルを取得する。フォルダ入力プラグイン１２３は、取得されたデータと、取得されたファイルに格納されている情報とを、フロー実行制御部１３が予定している形式に従ったジョブ情報に整形し、当該ジョブ情報をジョブキュー１５に記憶する。
【００３５】
このように、ジョブ投入部１２は、様々な形態で、ワークフローの実行要求を受け付けることができる。また、他のプラグインを追加することにより、他の形態で実行要求が受け付けられてもよい。例えば、Ｗｅｂページを介してワークフローの実行要求を受け付けるプラグインが追加されてもよい。
【００３６】
フォルダ入力プラグイン１２３について更に詳細に説明する。図６は、フォルダ入力プラグインの機能構成例を示す図である。図６に示されるように、フォルダ入力プラグイン１２３は、パス解決部１１１、監視部１１２、及びファイル取得部１１３等として配信管理サーバ１０のＣＰＵ１０４を機能させる。
【００３７】
パス解決部１１１は、監視対象として設定されている、ネットワークを介して参照可能なフォルダのパス名を、フロー定義記憶部１６から取得する。すなわち、フロー定義記憶部１６には、フロー定義データの他に、監視対象のフォルダのパス名の一覧（以下、「監視対象一覧」という。）が、例えば、フォルダ入力プラグイン１２３に対する設定情報として記憶されている。当該定義情報は、フロー定義データとは別に管理されていてもよい。パス解決部１１１は、監視対象一覧に含まれているパス名を、監視部１１２に通知する。但し、パス解決部１１１は、ＤＦＳパス名については、当該ＤＦＳパス名に対応する実パス名をＤＦＳコントローラ３０から取得し、取得された実パス名を監視部１１２に通知する。
【００３８】
監視部１１２は、パス解決部１１１から取得された各パス名に係るフォルダを監視する。監視部１１２は、監視対象のフォルダに対してファイルが保存されたことを検知すると、監視部１１２は、当該フォルダの実パス名をファイル取得部１１３に通知する。
【００３９】
ファイル取得部１１３は、監視部１１２から通知されたパス名に係るフォルダからファイルを取得する。ファイル取得部１１３は、当該ファイルに格納されているデータに関するジョブ情報を、ジョブキュー１５に記憶する。
【００４０】
以下、配信管理サーバ１０が実行する処理手順について説明する。図７は、フォルダの監視の開始時に実行される処理手順の一例を説明するためのフローチャートである。
【００４１】
ステップＳ１０１において、パス解決部１１１は、監視対象一覧をフロー定義記憶部１６から取得する。
【００４２】
図８は、監視対象一覧の一例を示す図である。図８に示されるように、監視対象一覧は、監視対象のフォルダごとに、パス名、ユーザ名、パスワード、及びフローＩＤ等を含む。
【００４３】
パス名は、監視対象のフォルダのパス名である。パス名は、ＰＣ２０等のフォルダのパス名でもよいし、配信管理サーバ１０のローカルフォルダのパス名でもよい。ユーザ名及びパスワードは、当該フォルダに対してアクセス件（参照する権利）を有するアカウントのユーザ名及びパスワードである。フローＩＤは、当該フォルダに保存されたファイルに格納されているデータに対して実行すべきワークフローのフローＩＤである。すなわち、本実施の形態では、パス名に対してフローＩＤが関連付けられる。したがって、ユーザは、実行したいワークフローに対応したフォルダに、ファイルを保存する。
【００４４】
続いて、パス解決部１１１は、監視対象一覧に含まれているパス名の中で、未処理の一つのパス名を処理対象とする（Ｓ１０２）。例えば、図８において１番目のレコードのパス名が処理対象とされる。以下、処理対象とされたパス名を「対象パス名」という。なお、未処理のパス名とは、ステップＳ１０３以降が実行されていないパス名をいう。
【００４５】
続いて、パス解決部１１１は、対象パス名がＤＦＳパス名であるか否かを判定する（Ｓ１０３）。対象パス名がＤＦＳパス名であるか否かは、例えば、対象パス名の形式（書式）に基づいて判定される。具体的には、ＤＦＳパスは、「￥￥％ドメイン名％￥共有フォルダ名￥フォルダ名」又は「￥￥％ホスト名％￥共有フォルダ名￥フォルダ名」の形式を有する。一方、「￥￥」の後が、ＩＰアドレスであるパス名（すなわち、リモートのフォルダのパス名が直接的に指定されている場合）、又は「Ｃ：」で始まるパス名（配信管理サーバ１０のＣドライブのパス名）は、ＤＦＳパス名には該当しない。したがって、図８において１番目のレコードのパス名は、ＤＦＳパス名であると判定される。
【００４６】
対象パス名がＤＦＳパス名である場合（Ｓ１０３でＹｅｓ）、パス解決部１１１は、ＤＦＳコントローラ３０のＩＰアドレスを、ドメインコントローラ５０から取得する（Ｓ１０４）。続いて、パス解決部１１１は、取得されたＩＰアドレス宛（すなわち、ＤＦＳコントローラ３０宛）に、対象パスの解決要求を送信する（Ｓ１０５）。続いて、パス解決部１１１は、当該解決要求に対するＤＦＳコントローラ３０からの応答を受信する（Ｓ１０６）。当該応答には、ＤＦＳパス名の解決後の実パス名と、当該実パス名に係るフォルダに対するアカウント情報とが含まれている。なお、ＤＦＳでは、１つの共有フォルダに対して複数の装置に跨る複数のフォルダを関連付けることができる。したがって、ステップ１０６において受信される応答には、対象パス名に係るフォルダに関連付けられている複数のフォルダのそれぞれごとに、実パス名及びアカウント情報等が含まれている可能性が有る。例えば、「￥￥ｄｏｍａｉｎ￥ｓｈａｒｅ￥ｔｅｓｔ」の解決要求に対して、「￥￥１０．６１．５４．１２４￥ｔｅｓｔ（アカウント情報：ｔｅｓｔ１）」、「￥￥１０．６１．５４．１２５￥ｔｅｓｔ（アカウント情報：ｔｅｓｔ２）」等の実パス名を含む応答が返信される場合も有る。なお、括弧内において、アカウント情報に続く文字列（ｔｅｓｔ１又はｔｅｓｔ２）は、当該実パス名に係るフォルダに対してアクセス件を有するアカウントのユーザ名である。ここでは、便宜上、パスワードは省略されているが、パスワードが応答に含まれていてもよい。
【００４７】
続いて、パス解決部１１１は、ＣＰＵ１０４を監視部１１２として機能させるスレッドを、実パス名ごとに起動する（Ｓ１０７）。パス解決部１１１は、各スレッドに対して、監視対象の実パス名及びアカウント情報と、対象パス名に対応するフローＩＤとを設定する。すなわち、本実施の形態では、１つの監視対象のフォルダに対して１つの監視部１１２のスレッドが割り当てられる。１つのスレッドが、複数のフォルダを監視することによる処理負荷を軽減するためである。但し、監視部１１２のスレッドとフォルダとの関係は、１対１でなくてもよく、１対Ｎでもよい。Ｎは、２以上の整数である。
【００４８】
続いて、パス解決部１１１は、ファイル取得部１１３としてＣＰＵ１０４を機能させるスレッドを起動済みであるか否かを判定する（Ｓ１０８）。当該スレッドが起動されていない場合（Ｓ１０８でＮｏ）、パス解決部１１１は、当該スレッドを起動する（Ｓ１０９）。すなわち、ファイル取得部１１３のスレッドは、１つだけ起動される。但し、監視部１１２のスレッド群が複数のグループに分割され、グループごとにファイル取得部１１３のスレッドが起動されてもよい。または、監視部１１２のスレッドと、ファイル取得部１１３のスレッドとは、１対１の関係を有してもよい。いずれの場合であっても、監視部１１２による監視を行うためのスレッドと、ファイル取得部１１３によるファイル取得を行うためのスレッドとが割り当てられる。但し、それぞれ別にスレッドが割り当てられなければ発明が実施できないというわけではない。
【００４９】
一方、対象パス名がＤＦＳパス名でない場合（Ｓ１０３でＮｏ）、パス解決部１１１は、ステップＳ１０４〜Ｓ１０６を実行せずに、ステップＳ１０７を実行する。ステップＳ１０７において、パス解決部１１１は、起動された監視部１１２のスレッドに対して、対象パス名と、対象パス名に対応するユーザ名、パスワード、及びフローＩＤとを設定する。なお、図８において２番目のレコードについては、ステップＳ１０４〜Ｓ１０６が実行されずに、ステップＳ１０７が実行される。
【００５０】
監視対象一覧に含まれている全てのパス名に関してステップＳ１０２以降が実行されると（Ｓ１１０でＹｅｓ）、図７の処理は終了する。
【００５１】
なお、ＤＦＳにおいて、或るＤＦＳパス名に関連付けられる実パス名は、図７の処理とは無関係なタイミングで変更可能である。例えば、図７の処理の終了後に、或るＤＦＳパス名に関連付けられる実パス名が変更される可能性も有る。なぜならば、ＤＦＳは配信管理サーバ１０との連携のためだけに利用されるわけではなく、むしろ別の目的があってファイル共有をするために利用されることが考えられるためである。そこで、パス解決部１１１は、監視対象一覧に含まれているパス名のうち、ＤＦＳパス名に関しては、一定期間ごとにステップＳ１０４以降を実行してもよい。そうすることで、ＤＦＳパス名と実パス名との関連付けの変更に対して迅速に対応可能とすることができる。ＤＦＳパス名に関して一定期間ごとにステップＳ１０４以降を実行される場合、当該ＤＦＳパス名に関する前回のステップＳ１０４以降の実行時と、今回の実行時との間で、ステップＳ１０６において得られる実パス名に過不足が有る場合、パス解決部１１１は、当該過不足を監視部１１２に反映する。すなわち、新たに関連付けられた実パス名に対応する監視部１１２のスレッドが起動され、関連付けが解除された実パス名に対応する監視部１１２のスレッドは停止される。
【００５２】
また、ＤＦＳパス名に関するステップＳ１０４以降の再実行は、ユーザによる入力に応じて実行されてもよい。
【００５３】
また、監視部１１２及びファイル取得部１１３は、スレッドではなくプロセスとして起動されてもよい。
【００５４】
続いて、監視部１１２の各スレッドが実行する処理手順について説明する。図９は、フォルダの監視処理の処理手順の一例を説明するためのフローチャートである。図９では、監視部１１２のスレッドを、単に、監視部１１２として説明する。
【００５５】
ステップＳ２０１において、監視部１１２は、監視対象として設定されたパス名に係るフォルダ（以下、「対象フォルダ」という。）を参照する。この際、監視部１１２は、当該パス名と共に設定されたアカウント情報（ユーザ名及びパスワード）を用いて、対象フォルダへのアクセス権を獲得する。
【００５６】
続いて、監視部１１２は、対象フォルダにファイルが保存されているか否かを確認する（Ｓ２０２）。ファイルが保存されている場合（Ｓ２０２でＹｅｓ）、監視部１１２は、対象フォルダのパス名と、対象フォルダに対するアカウント情報と、パス解決部１１１によって設定されたフローＩＤとを、ファイル取得部１１３に通知する（Ｓ２０３）。
【００５７】
続いて、監視部１１２は、一定時間経過後に（Ｓ２０４でＹｅｓ）、ステップＳ２０１以降を繰り返す。つまり、監視部１１２は、監視対象に対するファイル有無の確認を順に行い、ファイルの取得をファイル取得部１１３に委任する。ある監視対象からファイルを取得してから次の監視対象の監視を開始すると、ファイル取得に時間を要した場合に、ファイル有無の確認が遅れるためである。
【００５８】
なお、監視部１１２は、対象フォルダにおいてファイルの存在が検知された日時を含むログデータ（ファイルが検知された時期を示す情報）を、例えば、補助記憶装置１０２等に記憶するようにしてもよい。ログデータの履歴の数が、所定量に達した場合、監視部１１２は、ログデータの履歴に基づいて、ステップＳ２０４における一定時間を決定してもよい。例えば、ログデータ群に基づいて、ファイルの検知間隔の平均値が算出され、当該平均値が、当該一定時間とされてもよい。ファイルの検知間隔の平均値は、時間帯ごと、曜日ごとに算出されてもよい。この場合、時間帯ごと、曜日ごとに当該一定時間が変更されてもよい。一定時間の変更は、監視部１１２のスレッドごとに行われる。すなわち、監視対象のフォルダごとに、一定時間の変更が行われる。その結果、利用頻度が高いフォルダの監視間隔は短くなり、利用頻度が低いフォルダの監視間隔は長くなる。したがって、各フォルダの利用頻度に応じた間隔で、各フォルダを監視することができ、監視処理に関する処理負荷や通信負荷等に関して、過剰な増加を抑制することができる。
【００５９】
続いて、ファイル取得部１１３が実行する処理手順について説明する。図１０は、ファイルの取得処理の処理手順の一例を説明するためのフローチャートである。
【００６０】
ファイル取得部１１３は、監視部１１２としてのいずれかのスレッド（以下、「監視スレッド」という。）からの通知を待機している（Ｓ３０１）。いずれかの監視スレッドから、パス名、アカウント情報、及びフローＩＤが通知されると（Ｓ３０１でＹｅｓ）、ファイル取得部１１３は、通知されたパス名に係るフォルダに保存されているファイルを取得する（Ｓ３０２）。この際、ファイル取得部１１３は、通知されたアカウント情報に基づいて、当該フォルダに対するアクセス権を獲得する。
【００６１】
続いて、ファイル取得部１１３は、取得されたファイルと、通知されたフローＩＤとを含むジョブ情報を生成する（Ｓ３０３）。続いて、ファイル取得部１１３は、生成されたジョブ情報をジョブキュー１５に記憶する。
【００６２】
このように、ファイル取得部１１３は、監視部１１２から通知が有った場合に、ファイルの取得を行う。したがって、ファイル取得部１１３によって実行される通信量の増加を抑制することができる。
【００６３】
続いて、フロー実行制御部１３が実行する処理手順について説明する。図１１は、ジョブ情報に基づくワークフローの制御処理の処理手順の一例を説明するためのフローチャートである。
【００６４】
フロー実行制御部１３は、例えば、定期的にジョブキュー１５を参照している（Ｓ４０１）。ジョブキュー１５にジョブ情報が記憶されていると（Ｓ４０２でＹｅｓ）、フロー実行制御部１３は、当該ジョブ情報をジョブキュー１５から取り出す（Ｓ４０３）。続いて、フロー実行制御部１３は、ジョブ情報に含まれているフローＩＤに対応するフロー定義データを、フロー定義記憶部１６より取得する（Ｓ４０３）。
【００６５】
続いて、フロー実行制御部１３は、取得されたフロー定義データに基づいて、ジョブ情報に含まれているファイルに格納されているデータに関して、ワークフローの実行を制御する。具体的には、当該フロー定義データに中間処理が定義されている場合には、当該中間処理に係る処理部１４に当該中間処理を実行させる。また、フロー実行制御部１３は、当該フロー定義データに定義されている出力処理を、当該出力処理に係る処理部１４に実行させる。
【００６６】
なお、各中間処理又は出力処理において、ジョブ情報に含まれているファイルの取得先のパス名や、当該パス名に係るフォルダに対するアカウント情報等が、処理制御のパラメータとして用いられてもよい。例えば、出力処理において、当該アカウント情報に含まれているユーザ名をフォルダ名とするフォルダが生成され、当該フォルダに対してワークフローの実行結果のデータが保存されてもよい。また、当該ユーザ名に関連付けられて管理されているメールアドレス宛に、ワークフローの実行結果のデータが添付された電子メールが送信されてもよい。この場合、ファイル取得部１１３は、監視部１１２から通知されたパス名やアカウント情報を含むジョブ情報を生成すればよい。
【００６７】
上述したように、本実施の形態によれば、配信管理サーバ１０にネットワークを介して接続されているＰＣ２０等の補助記憶装置に記憶されているデータを、ワークフローの処理対象とすることができる。その結果、例えば、配信管理サーバ１０のローカルフォルダへのアクセスの集中を回避することができる。
【００６８】
また、本実施の形態によれば、ＤＦＳを利用することで、１つのＤＦＳパス名に対して、複数の実パス名を割り当てることができる。したがって、ユーザは、設定情報として、１つのＤＦＳパスを設定することで、複数のフォルダを監視対象とさせることができる。その結果、監視対象の設定作業の負担を軽減することができる。
【００６９】
また、本実施の形態によれば、例えばＤＦＳのように、別の用途で使用されている他のシステムによって管理されている１以上のフォルダ等の記憶領域を、システムのパスを指定するだけでワークフローシステムの監視対象として指定することができるため、各記憶領域のパスを配信管理サーバ１０において改めて指定する作業を要しない。
【００７０】
そのため、本実施の形態におけるパス解決部１１１は、データの取得先（監視対象）を指定する設定情報（パス名）が、特定の記憶領域（フォルダ）を指定するか、特定のシステムを指定するか、を判定する機能部の一例を開示する。また、パス解決部１１１は、設定情報が特定のシステムを指定していると判定した場合に、当該システムにおいて管理される１以上の記憶領域（フォルダ）のそれぞれを特定し、取得先に指定する機能部の一例を開示する。監視部１１２は、取得先として指定された記憶領域に記憶されたデータ（ファイル）を取得する機能部の一例を開示する。
【００７１】
なお、本実施の形態において、配信管理サーバ１０は、情報処理装置の一例である。ファイル取得部１１３は、第１の取得部の一例である。フロー実行制御部１３は、実行部の一例である。パス解決部１１１は、第２の取得部の一例である。フォルダは、記憶部の一例である。パス名は、記憶部の識別情報の一例である。
【００７２】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００７３】
１            配信管理システム
１０          配信管理サーバ
１２          ジョブ投入部
１３          フロー実行制御部
１４          処理部
１５          ジョブキュー
１６          フロー定義記憶部
２０、２０ａ、２０ｂ          ＰＣ
３０          ＤＦＳコントローラ
４０          ＤＮＳサーバ
５０          ドメインコントローラ
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１１１        パス解決部
１１２        監視部
１１３        ファイル取得部
Ｂ            バス
【先行技術文献】
【特許文献】
【００７４】
【特許文献１】特開２０１２−０６５００６号公報
【図１】
0006610050.tif 000002
【図２】
0006610050.tif 000003
【図３】
0006610050.tif 000004
【図４】
0006610050.tif 000005
【図５】
0006610050.tif 000006
【図６】
0006610050.tif 000007
【図７】
0006610050.tif 000008
【図８】
0006610050.tif 000009
【図９】
0006610050.tif 000010
【図１０】
0006610050.tif 000011
【図１１】
0006610050.tif 000012