(57)【要約】【課題】任意にプラグインを組み合わせて仮想プラグインを生成し、生成した仮想プラグインを用いてワークフローを設定すること。【解決手段】画像データを取得して、画像データを配信する機能を有する画像形成装置であって、画像データにおける入力処理、画像変換処理、出力処理の各プラグインを記憶する記憶手段と、記憶手段に記憶された複数のプラグインを示すプラグイン情報を含む結合情報を取得する結合情報取得手段３１２と、結合情報取得手段により取得された結合情報に基づいて、少なくとも２つのプラグインを結合して仮想プラグインを生成する結合手段３１３と、仮想プラグインを含むプラグインを任意に組み合わせたワークフローを設定するフロー設定手段３１６と、ワークフローに基づく配信処理が要求された場合、前記ワークフローに含まれる処理の制御を行うワークフロー制御手段とを備える。【選択図】図６
2014017879.tif 000002
【特許請求の範囲】
【請求項１】
画像データを取得して、前記画像データを配信する機能を有する画像形成装置であって、
前記画像データにおける入力処理、画像変換処理、出力処理の各プラグインを記憶する記憶手段と、
前記記憶手段に記憶された各プラグインを示すプラグイン情報を複数含む結合情報を取得する結合情報取得手段と、
前記結合情報取得手段により取得された結合情報に基づいて、複数のプラグインを結合して仮想プラグインを生成する結合手段と、
前記仮想プラグインを含むプラグインを任意に組み合わせたワークフローを設定するフロー設定手段と、
前記ワークフローに基づく配信処理が要求された場合、前記ワークフローに含まれる処理の制御を行うワークフロー制御手段と
を備える画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの配信を行う画像形成装置に関する。
【背景技術】
【０００２】
近年、多くの企業において、多機能複合機などの画像入出力機器のネットワーク上への配置・接続が進んでいる。画像入出力機器は、業務の効率化を図る手段として大きな役割を担っている。特に、紙文書の電子化と配布を効率的に行う配信管理システムが重要になっている。配信管理システムを構成する大きな要素は、画像入力機器（例えばスキャナなど）と配信管理サーバである。配信管理サーバには、あらかじめさまざまな業務・用途にあわせた複数の配信処理メニューが登録されている。利用者は、スキャナのオペレーションパネル（操作部）から、業務に適した処理メニューを選択してスキャンを行う。
【０００３】
例えば、特開２００６−０１８６４０号公報には、配信処理や画像変換処理をプラグイン化し、ユーザや管理者がそれらプラグインを任意に組み合わせて入力、画像変換、出力のワークフローを作成し、作成されたワークフローを利用して画像データの配信処理を行う技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、ベンダが作成するプラグインは、様々なユーザを考慮しているため、粒度の小さい処理が規定されるのが一般的である。これにより、ワークフローを設定するユーザは、様々な組み合わせのワークフローを設定できるが、プラグインの粒度が小さいため同じプラグイン同士を何度も組み合わせなければならない場合がある。また、ある会社や部署によっては、例えばプラグイン１の後にプラグイン２を行なうことが規定されているような場合にも、ワークフローとしてプラグイン１、２を同時に設定することはできず、それぞれプラグイン１、２の順にフローを構築して設定する必要があった。
【０００５】
そこで、本発明は上記問題点に鑑みてなされたものであり、任意にプラグインを組み合わせて仮想プラグインを生成し、生成した仮想プラグインを用いてワークフローを設定することができる画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明における一局面の画像形成装置は、画像データを取得して、前記画像データを配信する機能を有する画像形成装置であって、前記画像データにおける入力処理、画像変換処理、出力処理の各プラグインを記憶する記憶手段と、前記記憶手段に記憶された各プラグインを示すプラグイン情報を複数含む結合情報を取得する結合情報取得手段と、前記結合情報取得手段により取得された結合情報に基づいて、複数のプラグインを結合して仮想プラグインを生成する結合手段と、前記仮想プラグインを含むプラグインを任意に組み合わせたワークフローを設定するフロー設定手段と、前記ワークフローに基づく配信処理が要求された場合、前記ワークフローに含まれる処理の制御を行うワークフロー制御手段とを備える。
【発明の効果】
【０００７】
本発明によれば、任意にプラグインを組み合わせて仮想プラグインを生成し、生成した仮想プラグインを用いてワークフローを設定することができる画像形成装置を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】実施例１に係る画像処理システムの一例を示す図。
【図２】実施例１に係るＭＦＰのハードウェア構成の一例を示すブロック図。
【図３】実施例１に係る画像処理サーバのハードウェア構成の一例を示すブロック図。
【図４】実施例１におけるＭＦＰの構成の一例を示すブロック図。
【図５】実施例１におけるＭＦＰと画像処理サーバとの機能構成の一例を示すブロック図。
【図６】ワークフロー設定手段の機能構成の一例を示すブロック図。
【図７】プラグインの結合を示すＵＩ画面の遷移例１を示す図。
【図８】プラグイン一覧のデータ構造の一例を示す図。
【図９】仮想プラグイン情報のデータ構造の一例を示す図。
【図１０】ワークフロー一覧のデータ構造の一例を示す図。
【図１１】プラグインの結合を示すＵＩ画面の遷移例２を示す図。
【図１２】仮想プラグインをさらに結合して仮想プラグインを生成する画面例を示す図。
【図１３】仮想プラグインを分解する画面例を示す図。
【図１４】分解禁止設定がされていた場合の画面例を示す図。
【図１５】設定値の引継ぎを選択可能にする画面例を示す図。
【図１６】引継設定を含めた仮想プラグイン情報のデータ構造の一例を示す図。
【図１７】システムの階層の一例を示す図。
【図１８】使用制限情報を含む仮想プラグイン情報のデータ構造の一例を示す図。
【図１９】仮想プラグインのインポート／エクスポートを行う画面例を示す図。
【図２０】マージ処理を説明するためのデータ構造の一例を示す図。
【図２１】プラグインの設定値変更を説明するためのデータ構造の一例を示す図。
【図２２】実施例１におけるプラグインの結合処理の一例を示すフローチャート。
【図２３】実施例２におけるワークフロー設定手段の機能構成の一例を示すブロック図。
【図２４】結合禁止情報のデータ構造の一例を示す図。
【図２５】実施例２における結合処理の一例を示すフローチャート。
【図２６】実施例３における画像形成装置の機能構成の一例を示すブロック図。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明にかかる画像形成装置の実施例を詳細に説明する。
【００１０】
また、以下に示す実施例では、画像データを入力する画像入力装置として、プリンタ機能、スキャナ機能、コピー機能、ファクシミリ機能を一つの筐体に搭載した複合機を例にあげて説明しているが、これに限定されるものではなく、画像データを入力可能であれば、スキャナ装置、ファクシミリ装置、コピー装置などいずれにも適用することができる。
【００１１】
［実施例１］
＜システム構成とハードウェア構成＞
図１は、実施例１に係る画像処理システムの一例を示す図である。図１に示すように、画像処理システムは、ネットワークを介してＭＦＰ（Multifunction Peripheral）１０、ＭＦＰ２０、画像処理サーバ３０、画像管理サーバ４０、情報処理端末（例えば、ＰＣ（Personal Computer）、ＰＤＡ（Personal Data Assistance）など）５０が接続されている。以下、画像形成装置はＭＦＰを例にして説明する。
【００１２】
ＭＦＰ１０、２０は、スキャン機能、コピー機能、プリンタ機能、ファクシミリ機能などを一つの筐体に搭載したものである。ＭＦＰ１０、２０は、スキャナ機能により紙媒体等をスキャン処理して画像データを生成し、生成された画像データを画像処理サーバ３０に送信する。ＭＦＰの詳細については後述する。また、画像データは、文書の画像データを含む。
【００１３】
画像処理サーバ３０は、各ＭＦＰでスキャンされた画像データを受信して、指定されたワークフローに従って種々の処理や配信処理を実行するワークステーション等のコンピュータである。ワークフローには、メール送信、ＦＡＸ送信、フォルダ配信などがある。
【００１４】
また、画像処理サーバ３０は、入力された画像データに基づいてワークフローを実行するサーバであり、ユーザによって構築されたワークフローに従って文書の蓄積又は配信処理を実行する。即ち、画像を処理するという観点において、画像処理サーバ３０も画像処理装置として機能する。画像処理サーバ３０の詳細については後述する。なお、画像処理サーバ３０は、ＭＦＰ１０、２０に組み込まれてもよい。
【００１５】
画像管理サーバ４０は、画像処理サーバ３０から配信された画像データを蓄積、管理するサーバである。また、画像管理サーバ４０は、蓄積した画像データに対して画像タイプを登録したり、検索を行ったりすることもできる。
【００１６】
情報処理端末５０は、管理者によりデータ配信に関する管理ツールが起動され、入力、画像変換、出力の各プラグインが順に選択されることでワークフローを作成する。なお、ネットワークを介して接続されるＭＦＰやサーバや情報処理端末の数は、それぞれ任意の数でもよい。また、画像処理サーバ３０がＭＦＰに組み込まれる場合は、ＭＦＰにおいて、ワークフローを作成することも可能である。
【００１７】
実施例１に係るＭＦＰ１０と画像処理サーバ３０とのハードウェア構成について説明する。図２は、実施例１に係るＭＦＰ１０のハードウェア構成の一例を示すブロック図である。
【００１８】
図２に示すように、ＭＦＰ１０は、制御部１１、主記憶部１２、補助記憶部１３、外部記憶装置Ｉ／Ｆ部１４、ネットワークＩ／Ｆ部１６、操作部１７、表示部１８を含む。
【００１９】
制御部１１は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵである。また、制御部１１は、主記憶部１２に記憶されたプログラムを実行する演算装置であり、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
【００２０】
主記憶部１２は、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などであり、制御部１１が実行する基本ソフトウェアであるＯＳやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【００２１】
補助記憶部１３は、ＨＤＤ（Hard Disk Drive）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
【００２２】
外部記憶装置I／F部１４は、ＵＳＢ（Universal Serial Bus）などのデータ伝送路を介して接続された記憶媒体１５（例えば、フラッシュメモリなど）と当該ＭＦＰとのインタフェースである。
【００２３】
また、記憶媒体１５に、所定のプログラムを格納し、この記憶媒体１５に格納されたプログラムは外部記憶装置Ｉ／Ｆ部１４を介してＭＦＰ１０にインストールされ、インストールされた所定のプログラムはＭＦＰ１０により実行可能となる。
【００２４】
ネットワークＩ／Ｆ部１６は、有線及び／又は無線回線などのデータ伝送路により構築されたＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などのネットワークを介して接続された通信機能を有する周辺機器と当該ＭＦＰ１０とのインタフェースである。
【００２５】
操作部１７や表示部１８は、キースイッチ（ハードキー）とタッチパネル機能（ＧＵＩのソフトウェアキーを含む：Graphical User Interface）を備えたＬＣＤ（Liquid Crystal Display）とから構成され、ＭＦＰ１０が有する機能を利用する際のＵＩ（User Interface）として機能する表示及び／又は入力装置である。
【００２６】
図３は、実施例１に係る画像処理サーバ３０のハードウェア構成の一例を示すブロック図である。図３に示すように、画像処理サーバ３０は、制御部３１、主記憶部３２、補助記憶部３３、外部記憶装置Ｉ／Ｆ部３４、ネットワークＩ／Ｆ部３６を含む。
【００２７】
制御部３１は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵである。また、制御部３１は、主記憶部３２に記憶されたプログラムを実行する演算装置であり、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
【００２８】
主記憶部３２は、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などであり、制御部３１が実行する基本ソフトウェアであるＯＳやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【００２９】
補助記憶部３３は、ＨＤＤ（Hard Disk Drive）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
【００３０】
外部記憶装置I／F部３４は、ＵＳＢ（Universal Serial Bus）などのデータ伝送路を介して接続された記憶媒体１５（例えば、フラッシュメモリなど）と当該画像処理サーバとのインタフェースである。
【００３１】
また、記憶媒体１５に、所定のプログラムを格納し、この記憶媒体１５に格納されたプログラムは外部記憶装置Ｉ／Ｆ部３４を介して画像処理サーバ３０にインストールされ、インストールされた所定のプログラムは画像処理サーバ３０により実行可能となる。
【００３２】
ネットワークＩ／Ｆ部３６は、有線及び／又は無線回線などのデータ伝送路により構築されたＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などのネットワークを介して接続された通信機能を有する周辺機器と当該画像処理サーバとのインタフェースである。
【００３３】
＜機能構成＞
図４は、実施例１におけるＭＦＰ１０の構成の一例を示すブロック図である。図４に示すようにスキャナアプリ１１、プリンタアプリ１２、ＯＣＲ（Optical Character Reader）アプリ１３、コントロールサービス層１４、ＯＳ（Operating System）１５、ネットワークコントローラ１６、Ｂ＆ＷＬＰ１７、ＣｏｌｏｒＬＰ１８、スキャナ１９を含む。
【００３４】
スキャナアプリ１１は、画像をスキャンして画像データを取得するスキャナ用アプリケーションである。プリンタアプリ１２は、ページ記述言語（ＰＤＬ）、ＰＣＬ及びポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションである。ＯＣＲアプリ１３は、光学的に文字認識を行うＯＣＲ用のアプリケーションである。
【００３５】
また、コントロールサービス層１４は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスである。ＯＳ１５は、ＵＮＩＸ（登録商標）の汎用オペレーティングシステムであり、アプリケーションの各ソフトウェアをそれぞれプロセスとして並列実行する。また、ＯＳ１５は、ＵＮＩＸ（登録商標）に限定されるものではなく、いずれのＯＳを利用することができる。
【００３６】
ネットワークコントローラ１６は、スキャナ用データ形式のビットマップなどの画像データ形式への変換処理、ＳＮＭＰプロトコルの通信準備などの処理を行う。Ｂ＆ＷＬＰ１７は、白黒のラインプリンタである。ＣｏｌｏｒＬＰ１８は、カラーラインプリンタである。スキャナ１９は、画像をスキャンして画像データを取得する。ＭＦＰ１０は、ネットワークコントローラ１６、Ｂ＆ＷＬＰ１７、ＣｏｌｏｒＬＰ１８、スキャナ１９やファクシミリ、メモリなどのハードウェアリソースを有する。図４に示すように、ＭＦＰは多機能化しており、システムリソースを効率よく利用する必要がある。
【００３７】
図５は、実施例１におけるＭＦＰ１０と画像処理サーバ３０との機能構成の一例を示すブロック図である。まず、ＭＦＰ１０の機能構成について説明する。なお、図５に示す例では、ＭＦＰ１０と画像処理サーバ３０とを別構成にしたが、画像処理サーバ３０はＭＦＰ１０に組み込まれてもよい。
【００３８】
図５に示すように、ＭＦＰ１０は、画像読込手段１０１、通信手段１０２、受付手段１０３、記憶手段１０４を含む。その他一般的なＭＦＰが有するプリンタ機能やコピー機能やＦＡＸ機能等については図示していない。
【００３９】
画像読込手段１０１は、スキャン機能により原稿を読み込んで画像データを取得する。画像データの取得については、ＦＡＸで受信したり、情報処理端末５０から取得したりしてもよい。
【００４０】
通信手段１０２は、機器情報や画像データなどの送受信を行う。特に、通信手段１０２は、画像データのワークフロー処理要求などがユーザから指示された場合、画像データと当該要求とを画像処理サーバ３０に送信する。
【００４１】
受付手段１０３は、ユーザからのワークフローの指定を受け付ける。ワークフローの指定は、操作部１７、表示部１８を用いて行われる。このとき、ワークフローに含まれる処理の書誌情報がユーザから入力される。書誌情報とは、例えば、画像変換処理の場合は、画像形式や画像サイズなどであり、メール配信の場合は、配信先のメールアドレスなどである。書誌情報としてのユーザＩＤは、システムにログインしたユーザのユーザ情報から取得する。
【００４２】
記憶手段１０４は、入力処理、画像変換処理、又は出力処理の各プラグインを格納し、また、各プラグインが組み合わされたワークフローを１又は複数格納する。なお、記憶手段１０３は必ずしも設ける必要はなく、画像処理サーバ３０の記憶手段３０６からワークフローに関する情報を取得するようにしてもよい。
【００４３】
次に、画像処理サーバ３０の機能構成について説明する。画像処理サーバ３０は、ワークフロー設定手段３０１、通信手段３０２、ジョブ実行手段３０３、ワークフロー制御手段３０４、ワークフロー処理手段３０５、記憶手段３０６を含む。
【００４４】
ワークフロー設定手段３０１は、入力処理、画像変換処理、又は出力処理の各プラグインを任意に組み合わせたワークフローをユーザにより設定された場合、設定されたワークフローを例えばＸＭＬ形式で記憶手段３０６に記憶する。ワークフロー設定手段３０１の詳細については図６を用いて後述する。
【００４５】
通信手段３０２は、機器情報や画像データなどの送受信を行う。特に、通信手段３０２は、ＭＦＰ１０から画像データを受信したり、ワークフローの配信先に対し、画像処理した画像データを送信したりする。
【００４６】
また、通信手段３０２は、ワークフローの識別情報や、ワークフローの各処理の書誌情報などをＭＦＰ１０から受信する。通信手段３０２は、ＭＦＰ１０からワークフローの処理要求（ジョブ要求）を受信した場合は、ワークフローの識別情報や、ワークフローの各処理の書誌情報などをジョブ実行手段３０３に出力する。
【００４７】
ジョブ実行手段３０３は、ＭＦＰ１０から要求されたジョブを実行する。ジョブ実行手段３０３は、ワークフロー制御手段３０４に対し、ワークフローの処理要求を行うと共に、ワークフローの識別情報やワークフローの各処理の書誌情報、画像データを出力する。
【００４８】
ワークフロー制御手段３０４は、ジョブ実行手段３０３からワークフローの処理要求を受けた場合、ワークフローに含まれる各処理の実行を制御する。また、ワークフロー処理手段３０５は、ワークフロー制御手段３０４からワークフロー制御の指示を受けると、この指示に従ってワークフローを実行し、配信処理を行う。つまり、ワークフロー処理手段３０５は、ワークフローに含まれる各処理をフロー順に実行し、配信先へ画像データを配信する。
【００４９】
なお、ワークフロー処理手段３０５が行う各処理は、振り分け処理、画像処理、配信処理（出力処理）に分けられる。振り分け処理とは、画像データをどこに配信するかを振り分ける処理のことを言う。例えば、フォルダに配信するのか、メールサーバに送信するのかなどをワークフローに含まれる最終的な処理に基づいて判定する。
【００５０】
画像処理とは、ＰＤＦ変換やＴＩＦＦ変換など、画像変換を行う処理のことを言う。配信処理とは、振り分け処理において振り分けされた配信先に画像データを配信する処理のことを言う。また、ワークフロー処理手段３０５において、少なくとも配信処理は行われることとする。
【００５１】
記憶手段３０６は、入力処理、画像変換処理、又は出力処理の各プラグインを格納し、また、各プラグインが組み合わされたワークフローを１又は複数格納する。
【００５２】
次に、ワークフロー設定手段３０１について詳細に説明する。図６は、ワークフロー設定手段３０１の機能構成の一例を示すブロック図である。図６に示すように、ワークフロー設定手段３０１は、ＵＩ手段３１１、結合／分解情報取得手段３１２、結合／分解手段３１３、引継設定手段３１４、使用制限手段３１５、フロー設定手段３１６、記憶手段３１７を含む。
【００５３】
ＵＩ手段３１１は、ワークフローを設定するためのＵＩ画面を制御する。ＵＩ手段３１１は、ＵＩ画面を表示部１８や情報処理端末の表示部に表示するなどして、ワークフローの構築やプラグインの設定値の入力を受け付ける。ＵＩ画面の例については後述する。
【００５４】
結合／分解情報取得手段３１２は、ＵＩ手段３１１により表示されたＵＩ画面からユーザがプラグインの結合（グルーピング）を指示すると、結合対象のプラグインの情報（例えばプラグインＩＤやプラグイン名）を取得する。結合／分解情報取得手段３１２は、取得した結合対象のプラグイン情報を結合情報に含めて結合／分解手段３１３に出力する。なお、結合されたプラグインを仮想プラグインと呼ぶ。また、結合対象のプラグインは少なくとも２つある。
【００５５】
また、結合／分解情報取得手段３１２は、ＵＩ手段３１１により表示されたＵＩ画面からユーザが仮想プラグインの分解を指示すると、分解対象の仮想プラグインの情報（例えばプラグインＩＤ）を取得する。結合／分解情報取得手段３１２は、取得した分解対象の仮想プラグインのプラグイン情報を分解情報に含めて結合／分解手段３１３に出力する。
【００５６】
結合／分解手段３１３は、結合／分解情報取得手段３１２から結合対象のプラグイン情報を含む結合情報を取得する。次に、結合／分解手段３１３は、仮想プラグインに新しいプラグインＩＤと名称とを付与して記憶手段３０６に記憶する。
【００５７】
また、結合／分解手段３１３は、新しいプラグインＩＤに結合対象のプラグイン情報を関連付けて記憶手段３１７に記憶する。これにより、記憶手段３１７を参照することで、仮想プラグインに含まれるプラグインを判別することができる。
【００５８】
また、結合／分解手段３１３は、結合／分解情報取得手段３１２から分解対象の仮想プラグインのプラグイン情報を含む分解情報を取得する。次に、結合／分解手段３１２は、取得した分解情報に含まれるプラグイン情報に関連する情報を記憶手段３１７から削除する。これにより、結合された仮想プラグインを削除する、つまり、仮想プラグインを分解することができる。
【００５９】
引継設定手段３１４は、ＵＩ画面からプラグインを結合させる際、プラグインの設定値を引き継ぐか新しく設定値を設定するかをユーザに選択させることができる。例えば、ＵＩ手段３１１は、ユーザがＵＩ画面からプラグインの結合を指示した後に、プラグインの設定を引継ぐか否かを選択させるチェックボックスを表示すればよい。なお、引継設定手段３１４により取得された、引継ぐか否かの情報は、仮想プラグイン毎に記憶手段３１７に記憶しておけばよい。
【００６０】
使用制限手段３１５は、仮想プラグインの使用をどの階層まで許可するかの情報を取得する。例えば、上位層から、画像処理システム全体、ＭＦＰ毎、プロジェクトのみに分かれるとした場合、仮想プラグインの使用許可を画像システム全体にすれば、画像処理システム全体で仮想プラグインを使用することができる。また、仮想プラグインの使用許可をＭＦＰ毎にすれば、ＭＦＰによって、仮想プラグインの使用許可を設定することができる。また、仮想プラグインの使用許可をプロジェクトのみにすれば、プロジェクト毎に使用許可を設定することができる。なお、使用制限手段３１５により取得された階層を示す情報は、仮想プラグイン毎に記憶手段３１７に記憶しておけばよい。
【００６１】
フロー設定手段３１６は、ＵＩ手段３１１により表示されたＵＩ画面を用いて、ユーザにより設定されたワークフローからプラグインＩＤを取得し、取得したプラグインＩＤを関連付けて新たにワークフローＩＤを付与して記憶手段３０６に記憶する。また、フロー設定手段３１６は、仮想プラグインを通常のプラグインと同様にワークフローに含めて設定することができる。
【００６２】
記憶手段３１７は、仮想プラグイン情報を記憶する。仮想プラグイン情報とは、結合されたプラグインを示す情報である。例えば、仮想プラグイン情報は、結合された仮想プラグインの名称と、プラグインＩＤとを関連付けた情報である。なお、記憶手段３１７は、記憶手段３０６と同一であってもよく、それぞれのリストが区別されて記憶されればよい。
【００６３】
＜処理例＞
次に、プラグインの結合に関する処理例について説明する。以下では、プラグインの結合処理、分解処理、引継処理、使用制限処理、プラグインのインポート／エクスポート、設定値のマージ処理、設定値の変更処理の順に説明する。
【００６４】
（結合処理）
プラグインの結合に関する処理例について説明する。図７は、プラグインの結合を示すＵＩ画面の遷移例１を示す図である。図７に示すＵＩ画面は、画面左はプラグイン一覧が表示され、画面右はワークフロー（配信）設定領域である。ワークフロー設定領域上で、プラグイン一覧に含まれるプラグインをドラッグ＆ドロップなどをすることでワークフローが構築される。
【００６５】
図７（Ａ）は、プラグイン一覧上で結合を指示する例を示す図である。図７（Ａ）に示すように、結合対象のプラグインをユーザが選択して、ユーザが右クリックをすると、ＵＩ手段３１１は、結合するか否かを選択するボックスＡを表示する。ここでは、「ＰｌｕｇｉｎＡ」と「ＰｌｕｇｉｎＣ」とが連結される例を示す。次に、ユーザが「結合」をクリックすると、結合／分解情報取得手段３１２は、クリックを検知し、連結対象の「ＰｌｕｇｉｎＡ」と「ＰｌｕｇｉｎＣ」とのプラグインＩＤを取得する。
【００６６】
図７（Ｂ）は、仮想プラグインがプラグイン一連に表示される例を示す図である。図（Ａ）の状態からユーザが「結合」をクリックすると、図７（Ｂ）の状態へと遷移する。結合／分解手段３１３は、取得した結合対象のプラグインを結合すべく、記憶手段３０６に記憶されるプラグイン一覧に仮想プラグインのＩＤと名称とを記憶する。また、結合／分解手段３１３は、記憶手段３１７に記憶される仮想プラグイン情報に、仮想プラグインのＩＤと結合されたプラグインＩＤとを記憶する。
【００６７】
図８は、記憶手段３０６に記憶されるプラグイン一覧のデータ構造の一例を示す図である。図８に示すように、プラグイン一覧では、プラグインＩＤ（Ｐ−ＩＤともいう）、プラグイン名、動作設定が関連付けられて記憶される。
【００６８】
例えば、Ｐ−ＩＤ「００１」は、プラグイン名「ＰｌｕｇｉｎＡ」であり、「ＰｌｕｇｉｎＡ」の動作設定として「設定１」、「設定２」、「設定３」が関連付けられる。１つのプラグインでも、設定値を変えて保存することができる。この場合、いずれの動作設定がデフォルト設定かを決めておくとよい。なお、Ｐ−ＩＤ「００５」のプラグイン名「Ｃｕｓｔｏｍ１」は、図７に示すようにしてプラグインが結合されたことを示す仮想プラグインの名称である。
【００６９】
図９は、記憶手段３１７に記憶される仮想プラグイン情報のデータ構造の一例を示す図である。図９に示すように、仮想プラグイン情報は、仮想プラグインのＰ−ＩＤ、仮想プラグイン名、Ｐ−ＩＤ（前）、Ｐ−ＩＤ（後）が関連付けられる情報である。ここで、Ｐ−ＩＤ（前）は、仮想プラグインのフローにおいて、前のプラグインのプラグインＩＤを示し、Ｐ−ＩＤ（後）は、Ｐ−ＩＤ（前）のプラグインに続くプラグインのプラグインＩＤを示す。
【００７０】
さらに、プラグインＩＤには、いずれの動作設定を用いるかを合わせて関連付けておいてもよい。動作設定を関連付けない場合、各プラグインはデフォルト設定に基づく。また、図７（Ａ）に示す例では、選択された２つのプラグインのうち、どちらのプラグインを前にするかは、どちらのプラグインを先に選択したかで決めるとよい。
【００７１】
また、図１０は、記憶手段３０６に記憶されるワークフロー一覧のデータ構造の一例を示す図である。図１０に示すように、ワークフロー一覧は、ワークフローＩＤ（Ｗ−ＩＤともいう）、ワークフロー名、Ｐ−ＩＤ、動作設定が関連付けられて記憶される。例えば、Ｗ−ＩＤ「００１」は、ワークフロー名「プロジェクトＡ」であり、「プロジェクトＡ」に含まれるＰ−ＩＤには、それぞれ動作設定が関連付けられている。
【００７２】
なお、Ｗ−ＩＤ「００３」は、Ｐ−ＩＤ「００１」と「００５」とからワークフローが構成されている。Ｐ−ＩＤ「００５」は、図８、図９に示すように仮想プラグインを示す。Ｐ−ＩＤ「００５」のプラグインは、実際には、「ＰｌｕｇｉｎＡ（設定１）」、「ＰｌｕｇｉｎＣ（設定２）」の順に行われる処理を表している。
【００７３】
図１１は、プラグインの結合を示すＵＩ画面の遷移例２を示す図である。図１１（Ａ）は、ワークフローを構築した後に、結合対象のプラグインを指定する例を示す図である。図１１（Ａ）に示す例では、「ＰｌｕｇｉｎＡ」と「ＰｌｕｇｉｎＣ」とを選択して結合することにより仮想プラグインを生成しようとする例である。仮想プラグインの生成については、図７で説明した内容と同様である。
【００７４】
図１１（Ｂ）は、仮想プラグインがワークフローに含まれる例を示す図である。図１１（Ｂ）に示す画面は、図１１（Ａ）に示す画面においてボックスＡの「結合」をクリックした後に表示される画面を示す。図１１に示す例では、ワークフローに仮想プラグイン「Ｃｕｓｔｏｍ１」が含まれることを視覚的に認識することができる。
【００７５】
図１２は、仮想プラグインをさらに結合して仮想プラグインを生成する画面例を示す図である。図１２に示すように、仮想プラグインを結合することで、３つ以上のプラグインを結合することを可能にする。このとき、図９に示す仮想プラグイン情報のデータ構造としては、Ｐ−ＩＤ（前）やＰ−ＩＤ（後）に仮想プラグインを示すＰ−ＩＤが記述される。なお、前述した例では、同時に２つのプラグインを結合する例について説明したが、同時に３つ以上のプラグインを選択して結合することも同様の処理で行うことができる。
【００７６】
（分解処理）
次に、仮想プラグインにおいて結合されたプラグインを分解する例について説明する。図１３は、仮想プラグインを分解する画面例を示す図である。図１３に示す例では、仮想プラグイン「Ｃｕｓｔｏｍ１」上で右クリックをすることにより、「分解」を選択可能なボックスＡがＵＩ手段３１１により表示される。ユーザが「分解」をクリックすることで、結合／分解情報取得手段３１２は、分解が指示された仮想プラグインのプラグインＩＤを取得し、取得したプラグインＩＤを含む分解情報を結合／分解手段３１３に出力する。
【００７７】
結合／分解手段３１３は、取得した分解情報に含まれるプラグインＩＤに関連付けられた情報を、記憶手段３１７に記憶される仮想プラグイン情報から削除する。これにより、仮想プラグインにより結合されたプラグインは分解されることになる。
【００７８】
図１４は、分解禁止設定がされていた場合の画面例を示す図である。図１４に示す例では、システムの運用前に仮想プラグイン「Ｃｕｓｔｏｍ１」を生成し、外部設定ファイルＢに、「Ｃｕｓｔｏｍ１」の分解を禁止する設定をしたとする。次に、ワークフローを構築するユーザが「Ｃｕｓｔｏｍ１」を右クリックした時に、ＵＩ手段３１１は、外部設定ファイルＢを参照することで、「Ｃｕｓｔｏｍ１」は分解が禁止されていることを判断できる。ＵＩ手段３１１は、禁止されていると判断した場合、「分解」をクリックできないようにしてボックスＡを表示する。これにより、例えば、仮想プラグインを作成したユーザが意図しない分解を禁止することができる。
【００７９】
（引継処理）
次に、仮想プラグインを生成する際に、各プラグインの設定値を引き継ぐ処理について説明する。図１５は、設定値の引継ぎを選択可能にする画面例を示す図である。図１５に示すように、ユーザがボックスＡの「結合」をクリックした場合、次に、引継設定ボックスＢが、ＵＩ手段３１１により表示される。引継設定ボックスＢは、プラグインを結合する際、各プラグインの設定値を引き継ぐか否かを選択させるボックスである。
【００８０】
ユーザが引継設定ボックスＢ中の「ＹＥＳ」をクリックした場合、引継設定手段３１４は、設定値を引き継ぐことを示す情報を記憶手段３１７の仮想プラグイン情報に記憶する。図１６は、引継設定を含めた仮想プラグイン情報のデータ構造の一例を示す図である。
【００８１】
図１６に示すように、Ｐ−ＩＤ「００５」の仮想プラグインは、引継が「する」に設定されているため、各プラグインの設定値を利用して処理を行う。なお、図１６に示すＰ−ＩＤ「００８」の仮想プラグインは、引継が「しない」になっているため、動作設定がＰ−ＩＤに関連付けられていない。これは、Ｐ−ＩＤ「００８」の仮想プラグインを含むワークフローをユーザが指定する際に、ユーザにその都度設定値を選択させることを意味する。
【００８２】
（使用制限処理）
次に、仮想プラグインを生成する際、仮想プラグインの使用を制限する処理について説明する。図１７は、システムの階層の一例を示す図である。図１７に示す例では、「Ｓｙｓｔｅｍ」は、画像処理システム全体を示し、「Ｐｒｏｆｉｌｅ」は、ＭＦＰを示し、「Ｐｒｏｊｅｃｔ」は、ワークフローを示す。
【００８３】
図１７に示すように、ボックスＡ中の「結合」をユーザがクリック（選択）した後、ＵＩ手段３１１は、どの階層まで仮想プラグインの使用を許可するかのチェックボックスＢを表示する。ユーザがチェックボックスにチェックを付けると、使用制限手段３１５は、チェックがついた階層を示す情報を記憶手段３１７の仮想プラグイン情報に記憶する。
【００８４】
図１８は、使用制限情報を含む仮想プラグイン情報のデータ構造の一例を示す図である。図１８に示すように、Ｐ−ＩＤ「００５」の仮想プラグインは、使用制限が「Ｐｒｏｊｅｃｔ」に設定されているため、プロジェクト単位で使用許可の設定を行うことができる。例えば、「ＰｒｏｊｅｃｔＡ−１」のみにＰ−ＩＤ「００５」の仮想プラグインの使用を許可すると設定することができる。また、Ｐ−ＩＤ「００８」の仮想プラグインは、使用制限が「Ｐｒｏｆｉｌｅ」に設定されているため、ＭＦＰ毎に使用許可の設定を行うことができる。例えば、「Ｐｒｏｆｉｌｅ）Ａ」のみに、Ｐ−ＩＤ「００８」の仮想プラグインの使用を許可すると設定することができる。
【００８５】
（インポート／エクスポート処理）
次に、仮想プラグインのインポート及び／又はエクスポート処理について説明する。図１９は、仮想プラグインのインポート／エクスポートを行う画面例を示す図である。図１９に示すように、仮想プラグイン上でユーザが右クリックをした場合、ＵＩ手段３１１は、インポートかエクスポートかを選択するボックスＡを表示する。
【００８６】
このとき、図１８に示す使用制限が、「Ｓｙｓｔｅｍ」に設定されていれば、自由にエクスポートを行うことができるが、使用制限が、「Ｐｒｏｆｉｌｅ」に設定されていれば、使用できるＭＦＰに対してのみエクスポートする。また、使用制限が「Ｐｒｏｊｅｃｔ」に設定されていれば、どのＭＦＰにもエクスポートできないので、ＵＩ手段３１１は、エクスポートを選択できないようにしてボックスＡを表示する。なお、使用制限の設定がない場合は、インポート及び／又はエクスポートを自由に行うことができる。
【００８７】
インポート／エクスポートは、通信手段３０２を介して行われる。インポートされた仮想プラグインは、記憶手段３０６のプラグイン一覧に記憶される。さらに、記憶手段３１７の仮想プラグイン情報にも、仮想プラグインに含まれるプラグインのＩＤ同士が関連付けられて記憶される。
【００８８】
（マージ処理）
次に、仮想プラグインを生成する際、各プラグインで重複する設定のマージ処理について説明する。図２０は、マージ処理を説明するためのデータ構造の一例を示す図である。図２０に示すデータ構造は、記憶手段３０６に記憶されるワークフロー一覧のデータ構造の一例を示す。図２０（Ａ）は、仮想プラグイン生成前のデータ構造の一例を示す図である。図２０（Ａ）に示す例では、ワークフロー名「ＰｒｏｊｅｃｔＡ」は、「ＴｏＦｏｌｄｅｒ」、「ＴｏＳＭＴＰ」の順にプラグインの処理が実行される。また、各プラグインには設定項目毎に設定値が設定されている。
【００８９】
図２０（Ｂ）は、「ＴｏＦｏｌｄｅｒ」と「ＴｏＳＭＴＰ」とを結合して仮想プラグインが生成された場合のデータ構造の一例を示す図である。図２０（Ｂ）に示すように、結合／分解手段３１３は、プラグインを結合する際、各プラグインの設定値が重複する場合には、設定値をマージする。これにより、ユーザが仮想プラグインを利用する際、ユーザの設定が容易になる。
【００９０】
（設定値変更処理）
次に、仮想プラグインを生成する際、各プラグインの設定値を変更する処理について説明する。図２１は、プラグインの設定値変更を説明するためのデータ構造の一例を示す図である。図２１に示すデータ構造は、記憶手段３０６に記憶されるワークフロー一覧のデータ構造の一例を示す。図２１（Ａ）は、仮想プラグイン生成前のワークフロー一覧のデータ構造の一例を示す図である。図２１（Ａ）に示す例では、ワークフロー名「ＰｒｏｊｅｃｔＢ」は、「スキャン」、「ＯＣＲ」の順にプラグインの処理が実行される。
【００９１】
図２１（Ｂ）は、「スキャン」と「ＯＣＲ」とを結合して仮想プラグインが生成された場合のワークフロー一覧のデータ構造の一例を示す図である。図２１（Ｂ）に示すように、「ＯＣＲ」と「スキャン」とを結合することで、設定項目「解像度」の設定値が「３００」に変更されている。これは、「ＯＣＲ」の設定項目「天地識別」が「しない」に設定されているため、「スキャン」の設定項目「解像度」は「３００」で十分であるという考えに基づく。
【００９２】
前述した設定値変更を実現するため、プラグインの設定項目における設定値において、他の設定項目の設定値との関係で適切な設定値を定めた設定値連動情報を記憶手段３０６に記憶しておけばよい。結合／分解手段３１３は、プラグインを結合する際、設定値連動情報を参照することで、設定値を適切な値に自動的に変更することができる。
【００９３】
なお、前述した分解処理、引継設定、使用制限処理、インポート／エクスポート処理、マージ処理、設定値変更処理については、画像処理サーバ３０にとって必ずしも必要な処理ではなく、必要に応じて各処理を画像処理サーバに設計すればよい。
【００９４】
＜動作＞
次に、実施例１における画像処理サーバの動作について説明する。図２２は、実施例１におけるプラグインの結合処理の一例を示すフローチャートである。図２２に示すように、ステップＳ１１において、結合／分解情報取得手段３１２は、結合対象のプラグインのプラグイン情報（例えば、プラグインＩＤ）を取得する。
【００９５】
ステップＳ１２において、結合／分解手段３１３は、結合／分解情報取得手段３１２から取得した情報に基づいて、結合処理を行う。具体的には、結合／分解手段３１３は、新規にプラグインＩＤを付与し、仮想プラグイン名とともに、記憶手段３０６のプラグイン一覧に記憶する。次に、結合／分解手段３１３は、付与したプラグインＩＤと結合されたプラグインＩＤとを関連付けて、記憶手段３１７の仮想プラグイン情報に記憶する。
【００９６】
ステップＳ１３において、引継設定手段３１４は、各プラグインの設定値を引き継ぐか否かを判定する。引継設定手段３１４は、ユーザがクリックした「Ｙｅｓ」か「ＮＯ」かのボタン（図１５参照）に対応する引継設定情報をＵＩ手段３１１から取得することで判定することができる。ステップＳ１３の判定結果がＹＥＳ（引継ぎする）であればステップＳ１４に進み、判定結果がＮＯ（引継ぎしない）であれば処理を終了する。
【００９７】
ステップＳ１４において、引継設定手段３１４は、各プラグインの設定値を引継ぐ旨の情報を仮想プラグインのプラグインＩＤに関連付けて記憶手段３１７に記憶する。図２２に示す結合処理では、使用制限処理やマージ処理などを記載していないが、これらの処理を適宜行うことができることは言うまでもない。
【００９８】
以上、実施例１によれば、任意にプラグインを組み合わせて仮想プラグインを生成し、生成した仮想プラグインを用いてワークフローを設定することができる。また、仮想プラグインを生成する際、各プラグインの設定値を引継いだり、重複する設定値をマージしたりしてもよい。また、仮想プラグインの使用範囲を設定したり、仮想プラグインを結合する際、プラグインの設定値を他のプラグインとの関係において適切な設定値に自動で変更したりしてもよい。
【００９９】
［実施例２］
次に、実施例２における画像処理サーバについて説明する。実施例２では、プラグインを結合する際に、結合対象のプラグインが結合してもよいプラグイン同士かを判定する。これにより、リソースに多大な負荷を与える組み合わせや、設定値の相性が悪い組み合わせによる結合を防ぐことができる。
【０１００】
＜機能構成＞
実施例２における画像処理サーバの機能構成について説明する。実施例２では、ワークフロー設定手段４００以外は実施例１と同様であるため、以下、ワークフロー設定手段４００について説明する。
【０１０１】
図２３は、実施例２におけるワークフロー設定手段の機能構成の一例を示すブロック図である。図２３に示すように、ワークフロー設定手段４００は、ＵＩ手段３１１、結合／分解情報取得手段４０１、結合／分解手段４０４、引継設定手段３１４、結合判定手段４０２、使用制限手段３１５、フロー設定手段３１６、記憶手段３１７、記憶手段４０３を含む。なお、図２３に示す機能において、図６に示す機能と同様のものは同じ符号を付し、その説明を省略する。
【０１０２】
結合／分解情報取得手段４０１は、ＵＩ手段３１１により表示されたＵＩ画面からユーザが仮想プラグインの分解を指示すると、分解対象の仮想プラグインの情報（例えばプラグインＩＤやプラグイン名）を含む分解情報を取得する。結合／分解情報取得手段４０１は、取得した分解情報に含まれる仮想プラグインのプラグイン情報を結合判定手段４０２に出力する。
【０１０３】
結合判定手段４０２は、結合／分解情報取得手段４０１から結合対象のプラグインのプラグイン情報を取得すると、記憶手段４０３に記憶されている結合禁止情報を参照して、結合禁止情報に含まれる組み合わせか否かを判定する。結合禁止情報は、結合を禁止するプラグインの組み合わせ、及び／又は結合を禁止するプラグインの設定値の組み合わせを示す情報である。
【０１０４】
結合判定手段４０２は、結合禁止情報に含まれる組み合わせは結合できないと判定し、その旨を結合／分解手段４０４に通知する。また、結合判定手段４０２は、結合できない旨の情報をＵＩ手段３１１に通知し、ＵＩ手段３１１によりエラー表示を行わせるようにしてもよい。なお、結合／分解手段４０４と結合判定手段４０２とは１つの機能構成として画像処理サーバに備えられてもよい。
【０１０５】
また、結合禁止情報に、各プラグインの相性が悪い設定値の組み合わせ情報が含まれる場合、結合判定手段４０２は、プラグインの組み合わせだけではなく、プラグインの設定値の組み合わせに基づいても結合判定を行う。つまり、プラグインを結合する際、ユーザが設定値の引継ぎを指定した場合でも、結合対象のプラグインの設定値が結合禁止情報に含まれるときには、結合できないと判定する。
【０１０６】
なお、結合判定手段４０２は、結合対象のプラグインの設定値が結合禁止情報に含まれる場合、プラグインを結合できないと判定するのではなく、設定値の引継ぎができないと判定してもよい。このとき、結合判定手段４０２は、結合／分解手段４０４に対し、設定値の引継ぎができないことを通知する。
【０１０７】
記憶手段４０３は、結合禁止情報を記憶する。図２４は、結合禁止情報のデータ構造の一例を示す図である。結合禁止情報は、例えば図２４に示すようにリスト構造で記憶手段４０３に記憶される。
【０１０８】
図２４（Ａ）は、結合禁止情報の例１を示す図である。図２４（Ａ）に示す例では、結合が禁止されるプラグインＩＤが関連付けられている。図２４（Ａ）に示す例では、プラグインＩＤ「００１」とプラグインＩＤ「００５」とは結合が禁止される。リソースに負荷をかけるプラグイン、例えば、メモリを多大に要するプラグイン同士を結合することで、機器の動作が不安定になってしまう。かかる場合に、機器の動作が不安定になるプラグインの組み合わせを結合禁止情報として設定しておけばよい。メモリを多大に要するプラグインとしてはＯＣＲなどがある。
【０１０９】
図２４（Ｂ）は、結合禁止情報の例２を示す図である。図２４（Ｂ）に示す例では、プラグインの相性が悪い（設定値同士の対応がとれない）設定値が関連付けられている。例えば、「スキャン」の設定値が「Ａ４」であり、「ＯＣＲ」の設定値が「Ａ３」である場合、それぞれの設定値が対応しないことにより処理エラーとなる可能性がある。かかる場合には、「スキャン」と「ＯＣＲ」との結合を禁止する、又は、設定値の引継ぎを禁止すればよい。なお、図２４に示す例１と例２との結合禁止情報は、いずれか一方、又は両方記憶手段４０３に記憶してもよい。
【０１１０】
結合／分解手段４０４は、結合判定手段４０２から結合できない旨の通知を受けた場合、結合処理を行わない。また、結合／分解手段４０４は、結合判定手段４０２から設定値の対応がとれていないため結合できないとの通知を受けた場合、設定値の引継をしないことをユーザに確認し、引継ぎをしないに設定してプラグインを結合してもよい。
【０１１１】
＜動作＞
次に、実施例２における画像処理サーバの動作について説明する。図２５は、実施例２における結合処理の一例を示すフローチャートである。図２５に示す処理において、図２２に示す処理と同様の処理を行うものは同じ符号を付し、その説明を省略する。
【０１１２】
図２５に示すステップＳ２１において、結合判定手段４０２は、結合対象のプラグイン情報が、結合禁止情報に含まれるか否かにより結合できるか否かを判定する。ステップＳ２１の判定結果がＹＥＳ（結合可）であればステップＳ１２に進み、判定結果がＮＯ（結合不可）であればステップＳ２２に進む。
【０１１３】
ステップＳ２２において、ＵＩ手段３１１は、結合判定手段４０２から結合できないとの通知を受けると、結合できない旨のエラーを表示部に表示する。なお、ステップＳ２２において、結合できない理由が設定値の相性が悪いことであれば、結合／分解手段４０４は、設定値の引継ぎをしないことを条件にプラグインの結合を行ってもよい。
【０１１４】
以上、実施例２によれば、プラグインを結合する際に、結合対象のプラグインが結合していいプラグイン同士かを判定することにより、リソースに多大な負荷を与える組み合わせや、設定値の相性が悪い組み合わせによる結合を防ぐことができる。
【０１１５】
［実施例３］
次に、実施例３における画像形成装置について説明する。実施例３では、前述した画像処理サーバがＭＦＰに組み込まれている。図２６は、実施例３における画像形成装置の機能構成の一例を示すブロック図である。図２６に示すように、実施例３における画像処理サーバが組み込まれた画像形成装置の各機能は、基本的には図５に示す画像形成装置の機能及び画像処理サーバの機能と同様である。これにより、実施例３に係る画像形成装置６０によれば、ＭＦＰ単体で、各実施例に示した処理を行なうことができる。
【０１１６】
また、実施例３における画像形成装置６０は、サーバ機能やＭＦＰの各機能を有するため、効率よくリソースを使わないと動作が不安定になってしまう。よって、画像形成装置６０は、実施例２で前述した結合禁止情報を保持し、プラグインの結合判定を行えば、画像形成装置６０の機能を安定して実施することができる。
【０１１７】
なお、各実施例の画像処理サーバは、ＣＰＵなどの制御装置と、ＲＯＭ（Read Only Memory）やＲＡＭなどの記憶装置と、ＨＤＤ、ＣＤドライブ装置などの外部記憶装置などの装置を備えており、ワークステーションや通常のコンピュータを利用したハードウェア構成となっている。
【０１１８】
実施例１、２の画像処理サーバや実施例３のＭＦＰで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１１９】
また、実施例１、２の画像処理サーバや実施例３のＭＦＰで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、実施例１、２の画像処理サーバや実施例３のＭＦＰで実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１２０】
また、実施例１、２の画像処理サーバや実施例３のＭＦＰで実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１２１】
実施例１、２の画像処理サーバや実施例３のＭＦＰで実行されるプログラムは、前述した各手段を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記憶媒体からプログラムを読み出して実行することにより上記各手段が主記憶装置上にロードされ、上記各手段が主記憶装置上に生成されるようになっている。
【０１２２】
なお、本発明は、上記実施例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施例に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施例に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施例にわたる構成要素を適宜組み合わせても良い。
【符号の説明】
【０１２３】
１０、２０、６０  ＭＦＰ
３０  画像処理サーバ
４０  画像管理サーバ
５０  情報処理端末
１０１  画像読込手段
１０２  通信手段
１０３  受付手段
１０４  記憶手段
３０１、４００  ワークフロー設定手段
３０２  通信手段
３０３  ジョブ実行手段
３０４  ワークフロー制御手段
３０５  ワークフロー処理手段
３０６  記憶手段
３１１  ＵＩ手段
３１２、４０１  結合／分解情報取得手段
３１３、４０４  結合／分解手段
３１４  引継設定手段
３１５  使用制限手段
３１６  フロー設定手段
３１７  記憶手段
４０２  結合判定手段
４０３  記憶手段
【先行技術文献】
【特許文献】
【０１２４】
【特許文献１】特開２００６−０１８６４０号公報
【図１】
2014017879.tif 000003
【図２】
2014017879.tif 000004
【図３】
2014017879.tif 000005
【図４】
2014017879.tif 000006
【図５】
2014017879.tif 000007
【図６】
2014017879.tif 000008
【図７】
2014017879.tif 000009
【図８】
2014017879.tif 000010
【図９】
2014017879.tif 000011
【図１０】
2014017879.tif 000012
【図１１】
2014017879.tif 000013
【図１２】
2014017879.tif 000014
【図１３】
2014017879.tif 000015
【図１４】
2014017879.tif 000016
【図１５】
2014017879.tif 000017
【図１６】
2014017879.tif 000018
【図１７】
2014017879.tif 000019
【図１８】
2014017879.tif 000020
【図１９】
2014017879.tif 000021
【図２０】
2014017879.tif 000022
【図２１】
2014017879.tif 000023
【図２２】
2014017879.tif 000024
【図２３】
2014017879.tif 000025
【図２４】
2014017879.tif 000026
【図２５】
2014017879.tif 000027
【図２６】
2014017879.tif 000028
【手続補正書】
【提出日】平成25年10月25日(2013.10.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ワークフローに含まれる処理を実行する処理装置におけるワークフロー設定方法であって、
前記ワークフローを設定するための、入力処理、変換処理、出力処理の各プラグインを第一の表示領域に表示するプラグイン表示工程と、
前記各プラグインを用いて設定されるワークフローを、前記第一の表示領域とは異なる第二の表示領域に表示するワークフロー表示工程と、
設定された前記ワークフローを構成する任意の複数のプラグインが指定されたことに基づき、該指定された複数のプラグインを結合させるための結合指示手段を表示する結合指示表示工程と、
前記結合指示手段による指示に基づき結合された結合プラグインを、結合前の前記複数のプラグインが識別可能となるように、前記第二の表示領域に表示されているワークフローに反映する結合プラグイン表示工程と
を有することを特徴とするワークフロー設定方法。
【請求項２】
前記第二の表示領域は、前記入力処理、変換処理、出力処理の各プラグインを組み合わせて設定されるワークフローを表示するための表示領域であり、前記第一の表示領域は、前記ワークフローを設定するためのプラグイン一覧が表示される領域であることを特徴とする請求項１に記載のワークフロー設定方法。
【請求項３】
前記結合指示手段による指示に基づくプラグインの結合に伴い、結合対象の複数のプラグインそれぞれに設定されている設定値を、前記結合プラグインに継承するか否かを選択させる選択手段を表示することを特徴とする請求項１に記載のワークフロー設定方法。
【請求項４】
前記プラグイン表示工程は、前記結合指示手段による指示に基づき結合された結合プラグインを、結合前の前記複数のプラグインが識別可能となるように、前記各プラグインとともに前記第一の表示領域に表示することを特徴とする請求項１に記載のワークフロー設定方法。
【請求項５】
前記プラグイン表示工程は、前記各プラグインを一覧形式で表示することを特徴とする請求項１に記載のワークフロー設定方法。
【請求項６】
コンピュータを、ワークフローに含まれる処理を実行する処理装置として機能させるプログラムであって、前記コンピュータに、
前記ワークフローを設定するための、入力処理、変換処理、出力処理の各プラグインを第一の表示領域に表示するプラグイン表示工程と、
前記各プラグインを用いて設定されるワークフローを、前記第一の表示領域とは異なる第二の表示領域に表示するワークフロー表示工程と、
設定された前記ワークフローを構成する任意の複数のプラグインが指定されたことに基づき、該指定された複数のプラグインを結合させるための結合指示手段を表示する結合指示表示工程と、
前記結合指示手段による指示に基づき結合された結合プラグインを、結合前の前記複数のプラグインが識別可能となるように、前記第二の表示領域に表示されているワークフローに反映する結合プラグイン表示工程と
を実行させることを特徴とするプログラム。
【請求項７】
ワークフローに含まれる処理を実行する処理装置におけるワークフロー設定方法であって、
前記ワークフローを設定するための、入力処理、変換処理、出力処理の各プラグインを第一の表示領域に選択可能に表示するプラグイン表示工程と、
前記各プラグインを用いて設定されるワークフローを、前記第一の表示領域とは異なる第二の表示領域に表示するワークフロー表示工程と、
設定された前記ワークフローを構成する任意の複数のプラグインが指定されたことに基づき、該指定された複数のプラグインを結合させるための結合指示手段を前記第一の表示領域に表示する結合指示表示工程と、
前記結合指示手段による指示に基づき結合された結合プラグインを、結合前の前記複数のプラグインが識別可能となるように、前記各プラグインとともに前記第一の表示領域に表示する結合プラグイン表示工程と
を有することを特徴とするワークフロー設定方法。
【請求項８】
前記結合プラグイン表示工程は、前記結合プラグインに、前記結合プラグインを構成する結合前の前記複数のプラグインのプラグイン名を表示することを特徴とする請求項７に記載のワークフロー設定方法。
【請求項９】
前記結合指示表示工程は、前記複数のプラグインのそれぞれに予め結合禁止の設定がなされている場合は、前記結合が禁止されていることが識別可能となるように、前記結合指示手段を表示することを特徴とする請求項７に記載のワークフロー設定方法。
【請求項１０】
コンピュータを、ワークフローに含まれる処理を実行する処理装置として機能させるプログラムであって、前記コンピュータに、
前記ワークフローを設定するための、入力処理、変換処理、出力処理の各プラグインを第一の表示領域に選択可能に表示するプラグイン表示工程と、
前記各プラグインを用いて設定されるワークフローを、前記第一の表示領域とは異なる第二の表示領域に表示するワークフロー表示工程と、
設定された前記ワークフローを構成する任意の複数のプラグインが指定されたことに基づき、該指定された複数のプラグインを結合させるための結合指示手段を前記第一の表示領域に表示する結合指示表示工程と、
前記結合指示手段による指示に基づき結合された結合プラグインを、結合前の前記複数のプラグインが識別可能となるように、前記各プラグインとともに前記第一の表示領域に表示する結合プラグイン表示工程と
を実行させることを特徴とするプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、ワークフロー設定方法及びプログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
そこで、本発明は上記問題点に鑑みてなされたものであり、任意にプラグインを組み合わせて仮想プラグインを生成し、生成した仮想プラグインを用いてワークフローを設定することができるワークフロー設定方法及びプログラムを提供することを目的とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本発明における一局面のワークフロー設定方法は、ワークフローに含まれる処理を実行する処理装置におけるワークフロー設定方法であって、前記ワークフローを設定するための、入力処理、変換処理、出力処理の各プラグインを第一の表示領域に表示するプラグイン表示工程と、前記各プラグインを用いて設定されるワークフローを、前記第一の表示領域とは異なる第二の表示領域に表示するワークフロー表示工程と、設定された前記ワークフローを構成する任意の複数のプラグインが指定されたことに基づき、該指定された複数のプラグインを結合させるための結合指示手段を表示する結合指示表示工程と、前記結合指示手段による指示に基づき結合された結合プラグインを、結合前の前記複数のプラグインが識別可能となるように、前記第二の表示領域に表示されているワークフローに反映する結合プラグイン表示工程とを有する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明によれば、任意にプラグインを組み合わせて仮想プラグインを生成し、生成した仮想プラグインを用いてワークフローを設定することができるワークフロー設定方法及びプログラムを提供することができる。