(57)【要約】【課題】複数の情報処理装置において複数の処理を連携して実行する。【解決手段】ワークフロー情報により定義された複数の処理を実行する複数の情報処理装置を備える情報処理システムであって、ワークフロー情報は、複数の処理の順序、および、複数の処理のそれぞれの実行主体となる情報処理装置を定義する情報であって、複数の情報処理装置のうち選択された１つの情報処理装置を実行主体に定義可能であり、複数の情報処理装置は、ワークフロー情報に定義された複数の処理のそれぞれを、定義された順序で、実行主体として定義された情報処理装置が実行し、ワークフロー情報に実行主体が複数の情報処理装置のうち選択された１つの情報処理装置であると定義された処理を、予め定められた判定条件に従って選択された１つの情報処理装置が実行する。【選択図】図１６
2015060247.tif 000002
【特許請求の範囲】
【請求項１】
ワークフロー情報により定義された複数の処理を実行する複数の情報処理装置を備える情報処理システムであって、
前記ワークフロー情報は、複数の処理の順序、および、前記複数の処理のそれぞれの実行主体となる情報処理装置を定義する情報であって、前記複数の情報処理装置のうち選択された１つの情報処理装置を実行主体に定義可能であり、
前記複数の情報処理装置は、
前記ワークフロー情報に定義された複数の処理のそれぞれを、定義された順序で、実行主体として定義された情報処理装置が実行し、
前記ワークフロー情報に実行主体が複数の情報処理装置のうち選択された１つの情報処理装置であると定義された処理を、予め定められた判定条件に従って選択された１つの情報処理装置が実行する
情報処理システム。
【請求項２】
前記複数の情報処理装置のそれぞれは、
前記ワークフロー情報に定義された処理を実行する処理実行部と、
前記ワークフロー情報に自身が実行主体として定義されている処理を、前記処理実行部に実行させるフロー制御部と、
を備える請求項１に記載の情報処理システム。
【請求項３】
前記ワークフロー情報は、実行主体が第１の情報処理装置である処理と、実行主体が第２の情報処理装置である処理との間に、接続処理を含み、
前記接続処理において、前記第１の情報処理装置は、
前記第１の情報処理装置から前記第２の情報処理装置へと対象データを送信して、次の処理の実行主体を前記第２の情報処理装置に変更する
請求項１に記載の情報処理システム。
【請求項４】
前記ワークフロー情報には、実行主体が第１の情報処理装置である処理と、実行主体が第１の情報処理装置または第２の情報処理装置のうち選択された１つの情報処理装置である処理との間に、接続処理が挿入され、
前記接続処理において、前記第１の情報処理装置は、
予め定められた判定条件に従って１つの情報処理装置を選択し、
選択の結果、次の処理の実行主体が変更する場合には、第２の情報処理装置へと対象データを送信して、次の処理の実行主体を第２の情報処理装置に変更し、
選択の結果、処理の実行主体が変更しない場合には、次の処理を実行する
請求項１に記載の情報処理システム。
【請求項５】
前記ワークフロー情報には、実行主体が第１の情報処理装置または第２の情報処理装置のうち選択された１つの情報処理装置である処理が２以上連続する場合、前記連続する２以上の処理のそれぞれの前に、前記接続処理が挿入される
請求項４に記載の情報処理システム。
【請求項６】
前記ワークフロー情報には、実行主体が第１の情報処理装置または第２の情報処理装置のうち選択された１つの情報処理装置である処理が２以上連続する場合、先頭の処理の前に、前記接続処理が挿入され、
前記複数の情報処理装置のそれぞれは、前記連続する２以上の処理の先頭以外の処理の実行主体を、先頭の処理の実行主体と同一とする
請求項４に記載の情報処理システム。
【請求項７】
前記接続処理において、前記第１の情報処理装置は、
後続に、実行主体が前記第１の情報処理装置に戻る可能性のある前記接続処理が含まれる場合には、次の接続処理に実行を移行し、
実行主体が第２の情報処理装置である場合、前記第２の情報処理装置に対して前記第１の情報処理装置に実行主体が変更するかを受信し、実行主体が前記第１の情報処理装置に変更される場合には、前記対象データを前記第２の情報処理装置から受信する
請求項３から６の何れか１項に記載の情報処理システム。
【請求項８】
前記接続処理において、前記第１の情報処理装置は、
第２の情報処理装置との通信が不能である場合には、次の処理の実行主体を前記第１の情報処理装置とする
請求項４に記載の情報処理システム。
【請求項９】
前記接続処理において、前記第１の情報処理装置は、予め設定されたグループに属する情報処理装置を、次の処理の実行主体として選択する
請求項４に記載の情報処理システム。
【請求項１０】
前記接続処理において、前記第１の情報処理装置は、通信速度に基づき、次の処理の実行主体となる情報処理装置を選択する
請求項４に記載の情報処理システム。
【請求項１１】
前記接続処理において、前記第１の情報処理装置は、プロセッサの負荷率に基づき、次の処理の実行主体となる情報処理装置を選択する
請求項４に記載の情報処理システム。
【請求項１２】
前記接続処理において、前記第１の情報処理装置は、対象データのデータ量に基づき、次の処理の実行主体となる情報処理装置を選択する
請求項４に記載の情報処理システム。
【請求項１３】
請求項１から１２の何れか１項に記載の情報処理システムに備えられる情報処理装置。
【請求項１４】
コンピュータを、請求項１３に記載の情報処理装置として機能させるためのプログラム。
【請求項１５】
ワークフロー情報により定義された複数の処理を実行する複数の情報処理装置を備える情報処理システムで実行される情報処理方法であって、
前記ワークフロー情報は、複数の処理の順序、および、前記複数の処理のそれぞれの実行主体となる情報処理装置を定義する情報であって、前記複数の情報処理装置のうち選択された１つの情報処理装置を実行主体に定義可能であり、
前記ワークフロー情報に定義された複数の処理のそれぞれを、定義された順序で、実行主体として定義された情報処理装置が実行し、
前記ワークフロー情報に実行主体が複数の情報処理装置のうち選択された１つの情報処理装置であると定義された処理を、予め定められた判定条件に従って選択された１つの情報処理装置が実行する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の処理を実行する情報処理システム、情報処理装置、プログラムおよび情報処理方法に関する。
【背景技術】
【０００２】
従来、プリンタ、スキャナおよびファクシミリ等の機能を有する複合機は、複数の処理の手順を予め定義したワークフローを、スキャナ等により取り込んだ画像データに対して実行する機能を有する（例えば、特許文献１参照）。ワークフローを定義することにより、複合機は、取り込んだ画像データを、指定されたフォルダーに自動で送信したり、自動でメール送信したりすることができる。
【０００３】
また、サーバがワークフローを実行するシステムも知られている。このシステムでは、複合機が取り込んだ画像データをサーバに送信し、サーバがワークフローにより定義された複数の処理を実行する。このようなシステムによれば、複合機では実行が困難であるような処理（例えば、画像補正処理および文字認識処理等）を含むワークフローを実行することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、従来、ワークフローを実行する装置は、複合機またはサーバの何れか一方であった。しかし、近年、複合機の機能が向上したことにより、比較的に負荷の重い処理も実行可能となってきた。そこで、複合機とサーバとがより柔軟に連携して効率良くワークフローを実行することが望まれる。
【０００５】
そこで、本発明は、上記に鑑みてなされたものであって、ワークフロー情報により定義された複数の処理を複数の情報処理装置が連携して効率良く実行する情報処理システム、情報処理装置、プログラムおよび情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明に係る情報処理システムは、ワークフロー情報により定義された複数の処理を実行する複数の情報処理装置を備える情報処理システムであって、前記ワークフロー情報は、複数の処理の順序、および、前記複数の処理のそれぞれの実行主体となる情報処理装置を定義する情報であって、前記複数の情報処理装置のうち選択された１つの情報処理装置を実行主体に定義可能であり、前記複数の情報処理装置は、前記ワークフロー情報に定義された複数の処理のそれぞれを、定義された順序で、実行主体として定義された情報処理装置が実行し、前記ワークフロー情報に実行主体が複数の情報処理装置のうち選択された１つの情報処理装置であると定義された処理を、予め定められた判定条件に従って選択された１つの情報処理装置が実行することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ワークフロー情報により定義された複数の処理を複数の情報処理装置が連携して効率良く実行することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る情報処理システムの構成を示す図である。
【図２】図２は、情報処理システムにより実行される複数の処理と、実行主体となる情報処理装置との対応関係を示す図である。
【図３】図３は、複合機のハードウェア構成の一例を示す図である。
【図４】図４は、ワークフローサーバ、管理サーバおよび管理者端末のハードウェア構成の一例を示す図である。
【図５】図５は、管理サーバおよび管理者端末の機能構成を示す図である。
【図６】図６は、装置リストテーブルの一例を示す図である。
【図７】図７は、接続情報の一例を示す図である。
【図８】図８は、ワークフロー情報の作成処理のフローを示す図である。
【図９】図９は、ワークフロー情報の作成中の画面の第１例を示す図である。
【図１０】図１０は、ワークフロー情報の作成中の画面の第２例を示す図である。
【図１１】図１１は、ワークフロー情報の作成中の画面の第３例を示す図である。
【図１２】図１２は、ワークフロー情報の作成中の画面の第４例を示す図である。
【図１３】図１３は、ワークフロー情報の作成中の画面の第５例を示す図である。
【図１４】図１４は、接続処理を挿入する前におけるワークフロー情報の一例を示す図である。
【図１５】図１５は、図１４のワークフロー情報に、接続情報を挿入した後におけるワークフロー情報を示す図である。
【図１６】図１６は、複合機およびワークフローサーバの機能構成を示す図である。
【図１７】図１７は、図１５のワークフロー情報を実行した場合のシーケンスを示す図である。
【図１８】図１８は、ログイン時の画面の一例を示す図である。
【図１９】図１９は、ワークフローの選択時の画面の一例を示す図である。
【図２０】図２０は、接続処理のフローを示す図である。
【図２１】図２１は、実施形態に係る情報処理システムがクラウドシステムに適用された場合の構成を示す図である。
【図２２】図２２は、クラウドシステムでの複合機とワークフローサーバとの間のデータのやり取りの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本発明に係る実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。
【００１０】
図１は、実施形態に係る情報処理システム１０の構成を示す図である。情報処理システム１０は、一例として、複合機２０と、クライアント端末２１と、携帯機器２２と、ワークフローサーバ３０と、管理サーバ３１と、管理者端末３２とを備える。
【００１１】
複合機２０、クライアント端末２１、携帯機器２２、ワークフローサーバ３０、管理サーバ３１および管理者端末３２は、ネットワーク４０を介して接続される。ネットワーク４０は、ＬＡＮ（Local  Area  Network）またはＬＡＮがルータを介して接続されたＷＡＮ（Wide  Area  Network）であってもよい。また、ネットワーク４０は、インターネットまたは電話通信回線等を含んでいてもよい。また、ネットワーク４０は、有線で構成されていてもよいし、一部または全部が無線により構成されていてもよい。
【００１２】
複合機２０は、スキャナ機能、プリンタ機能およびファクシミリ機能の少なくとも１つを有するとともに、通信機能および表示機能および入力機能等を有する。さらに、複合機２０は、プログラムを予め記憶し、プログラムに従ってデータ処理を実行する情報処理装置として機能する。複合機２０は、一例として、用紙をスキャンして画像データを取り込み、取り込んだ画像データに対してプログラムに従ったデータ処理を実行する。
【００１３】
クライアント端末２１は、デスクトップ型コンピュータ、ノート型コンピュータ、ワークステーション等およびテレビ会議端末等である。クライアント端末２１は、通信機能および表示機能および入力機能等を有する。さらに、クライアント端末２１は、プログラムを予め記憶し、プログラムに従ってデータ処理を実行する情報処理装置として機能する。
【００１４】
携帯機器２２は、スマートフォン、タブレット端末、携帯電話機およびデジタルカメラ等のユーザにより携帯される機器である。携帯機器２２は、通信機能および表示機能および入力機能等を有する。さらに、携帯機器２２は、プログラムを予め記憶し、プログラムに従ってデータ処理を実行する情報処理装置として機能する。
【００１５】
なお、複合機２０、クライアント端末２１および携帯機器２２は、ワークフローサーバ３０に対してワークフローの実行を要求することができる情報処理装置の一例である。情報処理システム１０は、複合機２０、クライアント端末２１および携帯機器２２以外の情報処理装置を備えてもよい。
【００１６】
ワークフローサーバ３０は、一台以上のコンピュータにより構成される。ワークフローサーバ３０は、通信機能を有し、さらに、プログラムを予め記憶し、プログラムに従ってデータ処理を実行する情報処理装置として機能する。
【００１７】
ワークフローサーバ３０は、ワークフロー情報を予め記憶する。ワークフロー情報は、複数の処理の順序、および、複数の処理のそれぞれの実行主体となる情報処理装置を定義する情報である。さらに、ワークフロー情報は、複数の情報処理装置のうち選択された１つの情報処理装置を実行主体に定義可能である。ここで、実行主体となる情報処理装置は、ワークフローサーバ３０、および、このワークフローサーバ３０に対してネットワーク４０を介してワークフローの実行を要求する情報処理装置（例えば、複合機２０、クライアント端末２１または携帯機器２２）である。
【００１８】
ワークフローサーバ３０は、ワークフローの実行を要求する情報処理装置（複合機２０、クライアント端末２１または携帯機器２２）に対して、要求されたワークフロー情報を提供する。そして、ワークフローサーバ３０は、ワークフローの実行を要求してきた情報処理装置と連携して、ワークフロー情報に定義された複数の処理を実行する。より具体的には、ワークフローサーバ３０およびワークフローの実行を要求してきた情報処理装置は、ワークフロー情報に定義された複数の処理のそれぞれを、定義された順序で、実行主体として定義された情報処理装置が実行する。この場合において、ワークフローサーバ３０およびワークフローの実行を要求してきた情報処理装置は、実行主体が変更する場合には、処理対象となる対象データをネットワーク４０を介して受け渡しをする。
【００１９】
さらに、ワークフローサーバ３０およびワークフローの実行を要求してきた情報処理装置は、実行主体が複数の情報処理装置のうち選択された１つの情報処理装置であるとワークフロー情報に定義された処理については、予め定められた判定条件に従って選択された１つの情報処理装置が実行する。
【００２０】
管理サーバ３１は、一台以上のコンピュータにより構成される。管理者端末３２は、管理者により操作されるコンピュータである。管理サーバ３１および管理者端末３２は、管理者の操作に従いワークフロー情報を作成して、ワークフローサーバ３０内に登録する。なお、管理サーバ３１は、ワークフローサーバ３０と一体的に構成されていてもよい。
【００２１】
このような情報処理システム１０は、ワークフローサーバ３０と、ワークフロー情報が提供された複合機２０、クライアント端末２１または携帯機器２２とが連携して、ワークフロー情報に定義された複数の処理を実行する。
【００２２】
以下、ワークフローサーバ３０と複合機２０とが連携して複数の処理を実行する場合を例にとって説明する。
【００２３】
図２は、情報処理システム１０により実行される複数の処理と、実行主体となる情報処理装置との対応関係を示す図である。ワークフロー情報には、複数の処理の内容および順序、並びに、複数の処理のそれぞれの実行主体となる情報処理装置が定義される。
【００２４】
ワークフロー情報では、一例として、データを取り込む処理（例えば、スキャン処理、撮像処理、メール受信処理、および、ファクシミリ受信処理等）を定義することができる。また、ワークフロー情報では、一例として、各種のデータ処理（データ圧縮処理、文字認識処理（ＯＣＲ処理）、フィルタリング処理、データ合成処理、特定のデータ形式への符号化処理、特定のファイル形式への変換処理（例えばＰＤＦ化処理）等）を定義することができる。また、ワークフロー情報では、一例として、データを外部に出力する処理（印刷処理、表示処理、音声出力処理、データのサーバへの配信（アップロード）処理、および、メール配信処理等）を定義することができる。
【００２５】
また、ワークフロー情報には、処理の実行順序が定義される。それぞれの処理を実行する情報処理装置は、前段の処理の結果である対象データを受け取り、受け取った対象データに対して処理を実行する。なお、対象データは、画像データ、動画像データ、テキストデータ、音声データおよびコンピュータプログラム等、どのようなデータであってもよい。
【００２６】
また、ワークフロー情報には、それぞれの処理を実行する実行主体となる情報処理装置が定義される。例えば、複合機２０とワークフローサーバ３０とが連携して複数の処理を実行する場合には、ワークフロー情報には、それぞれの処理を複合機２０またはワークフローサーバ３０の何れが実行するかが定義される。
【００２７】
また、ワークフロー情報には、実行主体として、予め定められた判定条件に従って選択された１つの情報処理装置を定義することができる。例えば、複合機２０とワークフローサーバ３０とが連携して複数の処理を実行する場合には、ワークフロー情報には、複合機２０またはワークフローサーバ３０のうち、予め定められた判定条件に従って選択された一方が、実行主体となると定義することができる。このような定義が記載されている場合には、その対象の処理の実行前において、複合機２０またはワークフローサーバ３０は、何れが実行主体となるかを予め定められた判定条件に従って選択する。そして、選択された一方の装置が、その対象の処理を実行する。
【００２８】
また、ワークフロー情報に従った複数の処理を実行する複数の情報処理装置は、処理の実行主体が、前段の処理から変更する場合、前段の処理の結果である対象データを、前段の処理の実行主体となる第１の情報処理装置から次の処理の実行主体となる第２の情報処理装置へと送信する。例えば、複合機２０およびワークフローサーバ３０は、処理の実行主体が複合機２０からワークフローサーバ３０へ変更するとき、または、その逆に変更するときに、対象データ（前段の処理の結果）をネットワーク４０を介して引き渡す。これにより、複合機２０およびワークフローサーバ３０は、ワークフロー情報に定義された複数の処理を連携して実行することができる。
【００２９】
また、ワークフロー情報は、コンピュータにより解釈が可能なデータ形式で記述がされる。ワークフロー情報は、一例として、ＸＭＬ（Extensible  Markup  Language）により記述される。
【００３０】
図３は、複合機２０のハードウェア構成の一例を示す図である。複合機２０は、一例として、コントローラ１１０と、オペレーションパネル１２５と、ファクシミリコントロールユニット（ＦＣＵ）１２６と、撮像部１２７と、印刷部１２８とを有する。
【００３１】
コントローラ１１０は、ＣＰＵ１１１（Central  Processing  Unit）と、ＡＳＩＣ１１２（Application  Specific  Integrated  Circuit）と、ＮＢ１１３（ノースブリッジ）と、ＳＢ１１４（サウスブリッジ）と、ＭＥＭ−Ｐ１１５（システムメモリ）と、ＭＥＭ−Ｃ１１６（ローカルメモリ）と、ＨＤＤ１１７（ハードディスクドライブ）と、メモリカードスロット１１８と、ＮＩＣ１１９（ネットワークインタフェースコントローラ）と、ＵＳＢデバイス１２０と、ＩＥＥＥ１３９４デバイス１２１と、セントロニクスデバイス１２２とを有する。
【００３２】
ＣＰＵ１１１は、種々の情報処理を実行するためのＩＣであり、ＯＳ（Operating  System）またはプラットホーム上で、アプリケーションをプロセス単位で並列的に実行する。ＡＳＩＣ１１２は、画像処理用の半導体デバイスである。ＮＢ１１３は、ＣＰＵ１１１とＡＳＩＣ１１２とを接続するためのブリッジである。ＳＢ１１４は、ＮＢ１１３と周辺機器等とを接続するためのブリッジである。ＡＳＩＣ１１２とＮＢ１１３とは、例えばＡＧＰ（Accelerated  Graphics  Port）を介して接続されている。
【００３３】
ＭＥＭ−Ｐ１１５は、ＮＢ１１３に接続されたメモリである。ＭＥＭ−Ｃ１１６は、ＡＳＩＣ１１２に接続されたメモリである。ＨＤＤ１１７は、ＡＳＩＣ１１２に接続されたストレージであり、画像データ蓄積、文書データ蓄積、プログラム蓄積、フォントデータ蓄積およびフォームデータ蓄積等を行うために使用される。
【００３４】
ＨＤＤ１１７には、種々のアプリケーションプログラム（コピープログラム、スキャナプログラム、プリンタプログラム、ファックスプログラム等）が記憶されている。また、ＨＤＤ１１７には、各種のプラグインプログラムが記憶されている。プラグインプログラムは、ワークフロー情報に定義された各種の処理を実行するためのプログラムである。これらのプログラムは、インストール可能な形式または実行可能な形式のファイルである。また、ＨＤＤ１１７には、ワークフロー処理プログラムが記憶されている。ワークフロー処理プログラムは、ワークフロー情報を解析して、必要なプラグインプログラムを呼び出して、ワークフロー情報に応じた処理を実行させるためのプログラムである。
【００３５】
メモリカードスロット１１８は、ＳＢ１１４に接続され、メモリカード１２４をセット（挿入）するために使用される。メモリカード１２４は、ＵＳＢメモリ等のフラッシュメモリであり、ワークフロー処理プログラムおよびプラグインプログラムを配布するために使用される。また、ワークフロー処理プログラムおよびプラグインプログラムは、所定のサーバから複合機２０にダウンロードすることで配布することもできる。
【００３６】
ＮＩＣ１１９は、ネットワーク４０等を介してＭＡＣアドレス等を使用したデータ通信を行うためのコントローラである。ＵＳＢデバイス１２０は、ＵＳＢ（Universal  Serial  Bus）規格に準拠したシリアルポートを提供するためのデバイスである。ＩＥＥＥ１３９４デバイス１２１は、ＩＥＥＥ１３９４規格に準拠したシリアルポートを提供するためのデバイスである。セントロニクスデバイス１２２は、セントロニクス仕様に準拠したパラレルポートを提供するためのデバイスである。ＮＩＣ１１９と、ＵＳＢデバイス１２０と、ＩＥＥＥ１３９４デバイス１２１と、セントロニクスデバイス１２２とは、ＰＣＩ（Peripheral  Component  Interconnect）バスを介してＮＢ１１３およびＳＢ１１４に接続されている。
【００３７】
オペレーションパネル１２５は、ユーザが複合機２０に入力を行うためのハードウェア（操作部）であるとともに、複合機２０がメニュー画面を表示するハードウェア（表示部）である。オペレーションパネル１２５は、ＡＳＩＣ１１２に接続されている。ＦＣＵ１２６と撮像部１２７と印刷部１２８とは、ＰＣＩバスを介してＡＳＩＣ１１２に接続されている。
【００３８】
撮像部１２７は、コンタクトガラスに載置された原稿を光学的に走査して、その反射光をＡ／Ｄ変換して画像処理を施し、カラーまたはモノクロの画像データを生成する。
【００３９】
印刷部１２８は、例えばタンデム型の感光ドラムを有し、画像データまたはクライアント端末２１等から受信したＰＤＬ（Page  Description  Language）データに基づきレーザビームを変調し感光ドラムを走査して潜像を形成する。そして、印刷部１２８は、潜像にトナーを付着して現像した１ページ毎の画像を用紙に熱と圧力で転写する。印刷部１２８は、このような電子写真方式のプロッタに限られず、液滴を吐出して画像を形成するインクジェット型のプロッタエンジンでもよい。
【００４０】
ＦＣＵ１２６は、ＮＩＣ１１９を介してネットワーク４０に接続し例えばＴ．３７，Ｔ．３８の規格に対応した通信手順または公衆通信網に接続し例えばＧ３、Ｇ４規格に対応した通信手順に従い画像データの送受信を行う。また、ＦＣＵ１２６は、複合機２０の電源がＯＦＦのときに画像データを受信しても、印刷部１２８を起動して画像データを用紙に印刷することができる。
【００４１】
図４は、ワークフローサーバ３０、管理サーバ３１および管理者端末３２のハードウェア構成の一例を示す図である。
【００４２】
ワークフローサーバ３０、管理サーバ３１および管理者端末３２は、ＣＰＵ３０１と、ＲＯＭ（Read  Only  Memory）３０２と、ＲＡＭ（Random  Access  Memory）３０３と、ＨＤＤ３０４と、ディスプレイ３２０が接続されたグラフィックボード３０５と、入力装置３０６と、メディアドライブ３０７と、ネットワーク通信部３０８とを有する。ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、ＨＤＤ３０４、グラフィックボード３０５、入力装置３０６、メディアドライブ３０７、および、ネットワーク通信部３０８は、バスにより接続されている。
【００４３】
ＣＰＵ３０１は、ＨＤＤ３０４に記憶されたプログラムをＲＡＭ３０３に展開して実行し、各部品を制御して入出力を行ったり、データの加工を行ったりする。ＲＯＭ３０２には、ＢＩＯＳ（Basic  Input／Output  System）およびブートストラップローダをＨＤＤ３０４からＲＡＭ３０３に読み出すスタートプログラムが記憶されている。ブートストラップローダは、ＯＳをＨＤＤ３０４からＲＡＭ３０３に読み出す。
【００４４】
ＨＤＤ３０４は、不揮発性のメモリであればよくＳＳＤ（Solid  State  Drive）などでもよい。ＨＤＤ３０４は、ＯＳおよびデバイスドライバを記憶している。さらに、ＨＤＤ３０４には、ワークフロー処理プログラムが記憶されている。また、ＨＤＤ３０４には、各種のプラグインプログラムが記憶されている。これらのプログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータで読み取り可能な記録メディアに記録して配布される。また、プログラムは、サーバからダウンロードすることにより配布されてもよい。
【００４５】
ディスプレイ３２０には、プログラムが指示し、グラフィックボード３０５が作成したＧＵＩ画面が表示される。入力装置３０６は、例えば、キーボードまたはマウス等であり、ユーザの操作を受け付ける。メディアドライブ３０７は、コンパクトディスク、ＤＶＤ（Digital  Versatile  Disk）およびブルーレイディスクなどの光学メディアに対してデータを読み書きする。また、メディアドライブ３０７は、フラッシュメモリなどのメモリカードに対してデータを読み書きしてもよい。ネットワーク通信部３０８は、例えばＬＡＮに接続するためのイーサネット（登録商標）カードである。
【００４６】
図５は、管理サーバ３１および管理者端末３２の機能構成を示す図である。図６は、装置リストテーブルの一例を示す図である。図７は、接続情報の一例を示す図である。
【００４７】
管理サーバ３１は、画面データ記憶部４１と、装置リストテーブル記憶部４２と、接続情報記憶部４３と、画面データ送信部４４と、ワークフロー情報受信部４５と、再構成部４６と、登録部４７とを有する。画面データ記憶部４１は、ワークフロー情報の作成時に管理者端末３２に表示される画面データを記憶する。
【００４８】
装置リストテーブル記憶部４２は、装置リストテーブルを記憶する。装置リストテーブルには、例えば、図６に示すように、ワークフロー情報で定義することが可能な複数の処理と、それぞれの処理の実行主体となることが可能な１以上の情報処理装置およびマシンＩＤとが、対応付けて登録されている。なお、マシンＩＤは、それぞれの情報処理装置に一意に割り振られた識別情報である。
【００４９】
接続情報記憶部４３は、それぞれの情報処理装置に接続するために必要となる接続情報を記憶する。接続情報には、例えば、図７に示すように、情報処理装置の名称と、その情報処理装置のネットワーク上のアドレス（ＩＰアドレス）と、その情報処理装置にアクセスするために必要となる認証情報（例えば、ユーザ名およびパスワード）とが、対応付けて登録されている。なお、情報処理装置にアクセスするために必要となる認証情報は、予め登録されていなくてよい。この場合、ワークフローを実行する際にユーザが入力した認証情報を用いて情報処理装置にアクセスする。
【００５０】
画面データ送信部４４は、画面データ記憶部４１に記憶されている画面データ、および、装置リストテーブル記憶部４２に記憶されている装置リストテーブルを、管理者端末３２に送信する。ワークフロー情報受信部４５は、管理者端末３２から、管理者の操作に従い作成されたワークフロー情報を受信する。
【００５１】
再構成部４６は、ワークフロー情報受信部４５により受信されたワークフロー情報を再構成する。より具体的には、再構成部４６は、ワークフロー情報受信部４５により受信されたワークフロー情報を解析して、処理の実行主体となる情報処理装置が変更する位置を検出し、検出した位置に接続処理を挿入する。この場合において、再構成部４６は、接続情報記憶部４３に記憶された接続情報に基づき、接続処理を作成する。なお、接続処理の挿入位置については、図１４および図１５を参照してさらに説明する。また、接続処理の具体的な処理内容については、図２０を参照してさらに説明する。
【００５２】
登録部４７は、再構成部４６により再構成されたワークフロー情報をワークフローサーバ３０に送信して、ワークフローサーバ３０内に登録する。
【００５３】
管理者端末３２は、画面データ受信部５１と、制御部５２と、ワークフロー情報送信部５３とを有する。画面データ受信部５１は、管理サーバ３１から画面データを受信する。
【００５４】
制御部５２は、画面データ受信部５１により受信された画面データをディスプレイ３２０に表示するとともに、入力装置３０６により入力された情報に応じて、ワークフロー情報を作成する。より具体的には、制御部５２は、複数の処理の順序、および、それぞれの処理と実行主体となる情報処理装置との対応付けを定義するための画面をディスプレイ３２０に表示する。そして、制御部５２は、画面上での操作入力に応じて、複数の処理の順序、および、それぞれの処理の実行主体となる情報処理装置を定義するワークフロー情報を作成する。ワークフロー情報送信部５３は、制御部５２により作成されたワークフロー情報を管理サーバ３１に送信する。
【００５５】
図８は、ワークフロー情報の作成処理のフローを示す図である。管理サーバ３１および管理者端末３２は、図８に示すフローの手順でワークフロー情報を作成する。
【００５６】
まず、例えば管理者端末３２からの要求に応じて、ステップＳ１１１において、管理サーバ３１は、画面データおよび装置リストテーブルを、管理者端末３２に送信する。続いて、ステップＳ１１２において、管理者端末３２は、管理サーバ３１から送信された画面データおよび装置リストテーブルを受信する。
【００５７】
続いて、ステップＳ１１３において、管理者端末３２は、ディスプレイ３２０に画面を表示する。続いて、ステップＳ１１４において、管理者端末３２は、画面に対する管理者の操作に基づき、ワークフロー情報により定義すべき複数の処理およびその実行の順序を設定する。続いて、ステップＳ１１５において、管理者端末３２は、設定した複数の処理のそれぞれの実行主体を設定する。なお、管理者端末３２は、ステップＳ１１４およびステップＳ１１５を繰り返して、設定を行ってもよい。
【００５８】
ステップＳ１１４およびステップＳ１１５での設定が確定すると、続いて、ステップＳ１１６において、管理者端末３２は、設定された内容に基づき、ワークフロー情報を作成する。管理者端末３２は、一例として、複数の処理の順序と、複数の処理の実行主体とが記述されたＸＭＬ文書をワークフロー情報として作成する。
【００５９】
続いて、ステップＳ１１７において、管理者端末３２は、作成したワークフロー情報を管理サーバ３１に送信する。続いて、ステップＳ１１８において、管理サーバ３１は、管理者端末３２から送信されたワークフロー情報を受信する。
【００６０】
続いて、ステップＳ１１９において、管理サーバ３１は、ワークフロー情報を解析して、実行主体が変更する点（または実行主体が変更する可能性がある点）が存在するか否かを判断する。管理サーバ３１は、存在しない場合には（ステップＳ１１９のＮｏ）、処理をステップＳ１２１にフローを移行する。管理サーバ３１は、存在する場合には（ステップＳ１１９のＹｅｓ）、フローをステップＳ１２０に移行する。
【００６１】
ステップＳ１２０において、管理サーバ３１は、ワークフロー情報により定義された複数の処理中における、実行主体が変更する処理と処理との間に（または、実行主体が変更する可能性がある処理と処理との間）、接続処理を挿入して、ワークフロー情報を再構成する。接続処理では、実行主体を変更するか否かの判定、および、実行主体を変更するために必要な通信処理が実行される。なお、接続処理の挿入位置については、図１４および図１５を参照してさらに説明する。また、接続処理の具体的な処理内容については、図２０を参照してさらに説明する。
【００６２】
管理サーバ３１は、ステップＳ１２０を終えると、フローをステップＳ１２１に移行する。ステップＳ１２１において、管理サーバ３１は、再構成したワークフロー情報をワークフローサーバ３０に送信して、ワークフローサーバ３０内に登録する。
【００６３】
図９、図１０、図１１、図１２および図１３は、ワークフロー情報の作成中の画面例を示す図である。管理者端末３２は、図８のステップＳ１１４およびステップＳ１１５の処理で、例えば図９から図１３に示すような画面を表示して、ワークフロー情報の作成の支援をする。
【００６４】
管理者端末３２は、ワークフロー情報の作成支援のための画面内に、論理フロー領域１０１と、物理フロー領域１０２と、処理リスト領域１０３と、装置リスト領域１０４とを表示する。
【００６５】
論理フロー領域１０１は、管理者が処理の順序を設定するための領域である。物理フロー領域１０２は、論理フロー領域１０１に設定された処理の実行主体を設定するための領域である。論理フロー領域１０１および物理フロー領域１０２は、上下に並べて表示される。論理フロー領域１０１は、上段側に配置される。物理フロー領域１０２は、下段側に配置される。
【００６６】
処理リスト領域１０３は、ワークフロー情報に定義可能な処理を表す処理アイコンを表示する領域である。処理アイコンは、一例として、文字認識処理またはメール配信処理等の具体的な内容が理解されるように表示される。
【００６７】
装置リスト領域１０４は、処理の実行主体として定義可能な情報処理装置を示す装置アイコンを表示する領域である。装置リスト領域１０４には、例えば、複合機２０を示す装置アイコン、および、ワークフローサーバ３０を示す装置アイコンが表示される。
【００６８】
さらに、装置リスト領域１０４には、２つの情報処理装置のうち選択された１つの情報処理装置が実行主体となる仮想的な装置を示す装置アイコンが表示される。ここでは、装置リスト領域１０４には、複合機２０またはワークフローサーバ３０のうち選択された一方が処理の実行主体となる仮想的な自律選択装置を示す装置アイコンが表示される。
【００６９】
例えば、図９に示すように、管理者は、まず、管理者端末３２の入力装置３０６を操作して、処理リスト領域１０３に表示された何れかの処理アイコン（例えば、処理１）を選択して、論理フロー領域１０１にドラッグする。これにより、論理フロー領域１０１には、選択された処理アイコン（処理１）が配置される。
【００７０】
続いて、図１０に示すように、管理者は、次に実行すべき処理の処理アイコン（処理２）を選択して、論理フロー領域１０１にドラッグする。管理者端末３２は、２以上の処理が論理フロー領域１０１に配置されると、処理アイコンと処理アイコンとの間を、順序を示す矢印で接続する。なお、管理者端末３２は、処理アイコンが配置された位置から処理順序を自動で判断して、矢印を配置してもよいし、管理者の操作に応じて矢印を配置してもよい。
【００７１】
さらに、図１０に示すように、管理者は、処理の実行主体となる情報処理装置を示す装置アイコン（例えば、複合機アイコン）を、装置リスト領域１０４から選択して、物理フロー領域１０２にドラッグする。これにより、物理フロー領域１０２には、選択された装置アイコンが配置される。
【００７２】
続いて、図１１に示すように、管理者は、論理フロー領域１０１に配置された処理アイコンと、物理フロー領域１０２に配置された装置アイコンとを対応付ける操作をする。この操作に応じて、管理者端末３２は、論理フロー領域１０１に配置された処理アイコンと、物理フロー領域１０２に配置された装置アイコンとの間を線により接続して、両者を対応付ける。なお、管理者端末３２は、論理フロー領域１０１に配置された処理を実行できる情報処理装置が１つのみであった場合には、自動的に、装置アイコンを物理フロー領域１０２に配置して、処理アイコンと装置アイコンとの間を線で接続してもよい。
【００７３】
また、図１２に示すように、管理者は、さらに、論理フロー領域１０１に処理アイコン（例えば、処理３および処理４）をドラッグしてもよい。さらに、管理者は、物理フロー領域１０２に、自律選択装置（複合機２０またはワークフローサーバ３０のうち何れか選択された一方が実行主体となることを示した仮想装置）のアイコンを配置してもよい。そして、管理者端末３２は、この自律選択装置のアイコンと、論理フロー領域１０１に配置された処理とを線で接続して対応付けてもよい。
【００７４】
そして、図１３に示すように、論理フロー領域１０１への処理アイコンの配置、物理フロー領域１０２への装置アイコンの配置、および、処理アイコンと装置アイコンとの対応付けが完了したとする。すると、管理者端末３２は、論理フロー領域１０１および物理フロー領域１０２に配置されたアイコン、矢印および線の情報を解析して、ワークフロー情報を作成する。
【００７５】
より具体的には、管理者端末３２は、論理フロー領域１０１に配置された複数の処理アイコンに示された複数の処理を、矢印で接続した順序で実行させることを定義したワークフロー情報を作成する。さらに、管理者端末３２は、論理フロー領域１０１に配置された複数の処理アイコンに示された複数の処理のそれぞれの実行主体を、物理フロー領域１０２上の線で結ばれた装置アイコンで示される情報処理装置とすることを定義したワークフロー情報を作成する。このように、管理者端末３２は、簡単なユーザインターフェースによりワークフロー情報を作成することができる。
【００７６】
図１４は、接続処理を挿入する前におけるワークフロー情報の一例を示す図である。図１５は、図１４のワークフロー情報に、接続情報を挿入した後にけるワークフロー情報を示す図である。
【００７７】
管理サーバ３１は、管理者端末３２から、管理者による操作に従って作成したワークフロー情報を受信する。そして、管理サーバ３１は、受信したワークフロー情報における、処理の実行主体となる情報処理装置が変更する位置（または変更する可能性のある位置）に接続処理を挿入する。
【００７８】
例えば、管理サーバ３１は、図１４および図１５に示すように、処理１と処理２との間に、接続処理１．１を挿入する。すなわち、管理サーバ３１は、実行主体が第１の情報処理装置（この場合、複合機２０）である処理と、実行主体が第２の情報処理装置（この場合、ワークフローサーバ３０）である処理との間に、接続処理を挿入する。この位置に接続処理が挿入されることにより、第１の情報処理装置（この場合、複合機２０）および第２の情報処理装置（この場合、ワークフローサーバ３０）は、処理と処理との間において、第１の情報処理装置から第２の情報処理装置へと対象データを送信して、次の処理の実行主体を第２の情報処理装置に変更することができる。
【００７９】
また、例えば、管理サーバ３１は、図１４および図１５に示すように、処理２と処理３との間に、接続処理２．１を挿入する。すなわち、管理サーバ３１は、実行主体が第１の情報処理装置（この場合、ワークフローサーバ３０）である処理と、実行主体が第１の情報処理装置（この場合、ワークフローサーバ３０）および第２の情報処理装置（この場合、複合機２０）のうち選択された１つの情報処理装置である処理との間に、接続処理を挿入する。
【００８０】
この位置に接続処理が挿入されることにより、第１の情報処理装置（この場合、ワークフローサーバ３０）は、予め定められた判定条件に従って、第１の情報処理装置および第２の情報処理装置のうちの一方の情報処理装置（複合機２０またはワークフローサーバ３０）を選択することができる。そして、第１の情報処理装置（この場合、ワークフローサーバ３０）および第２の情報処理装置（この場合、複合機２０）は、選択の結果、次の処理の実行主体が変更する場合には、第２の情報処理装置へと対象データを送信して、次の処理の実行主体を第２の情報処理装置に変更することができる。また、第１の情報処理装置（この場合、ワークフローサーバ３０）は、選択の結果、処理の実行主体が変更しない場合には、次の処理を実行することができる。
【００８１】
また、例えば、管理サーバ３１は、図１４および図１５に示すように、処理３と処理４との間に、接続処理３．１を挿入する。すなわち、管理サーバ３１は、実行主体が第１の情報処理装置または第２の情報処理装置のうち選択された１つの情報処理装置である処理が２以上連続する場合、連続する２以上の処理のそれぞれの前に、接続処理を挿入する。この位置に接続処理が挿入されることにより、第１の情報処理装置および第２の情報処理装置は、予め定められた判定条件に従って、第１の情報処理装置および第２の情報処理装置のうちの一方の情報処理装置を選択することができる。
【００８２】
そして、第１の情報処理装置および第２の情報処理装置は、選択の結果、次の処理の実行主体が変更する場合には、選択された情報処理装置へと対象データを送信して、次の処理の実行主体を選択された情報処理装置に変更することができる。また、第１の情報処理装置および第２の情報処理装置は、選択の結果、処理の実行主体が変更しない場合には、選択された情報処理装置が次の処理を実行することができる。
【００８３】
なお、管理サーバ３１は、実行主体が第１の情報処理装置または第２の情報処理装置のうち選択された１つの情報処理装置である処理が２以上連続する場合、先頭の処理の前に、接続処理を挿入してもよい。そして、この位置に接続処理が挿入された場合、第１の情報処理装置および第２の情報処理装置は、連続する２以上の処理の先頭以外の処理の実行主体を、先頭の処理の実行主体と同一とする。
【００８４】
また、例えば、管理サーバ３１は、図１４および図１５に示すように、処理４と処理５との間に、接続処理４．１を挿入する。すなわち、管理サーバ３１は、実行主体が第１の情報処理装置または第２の情報処理装置のうち選択された１つの情報処理装置である処理と、実行主体が第２の情報処理装置（この場合、ワークフローサーバ３０）である処理との間に、接続処理を挿入する。この位置に接続処理が挿入されることにより、第１の情報処理装置および第２の情報処理装置は、処理と処理との間において、実行主体が変更するか否かを判断することができる。
【００８５】
そして、第１の情報処理装置および第２の情報処理装置は、判断の結果、次の処理の実行主体が変更する場合には、第１の情報処理装置から第２の情報処理装置へと対象データを送信して、次の処理の実行主体を選択された情報処理装置に変更することができる。また、第１の情報処理装置および第２の情報処理装置は、判断の結果、処理の実行主体が変更しない場合には、第２の情報処理装置が次の処理を実行することができる。
【００８６】
図１６は、複合機２０およびワークフローサーバ３０の機能構成を示す図である。ワークフローサーバ３０は、処理実行部６１と、ワークフロー記憶部６２と、サーバ内通信部６３と、フロー制御部６４とを備える。
【００８７】
処理実行部６１は、ワークフロー情報に定義されたそれぞれの処理を実行する。処理実行部６１は、複数の処理部７１（７１−１、７１−２、…、７１−Ｎ）を有する。複数の処理部７１のそれぞれは、互いに異なる処理を実行する。複数の処理部７１のそれぞれは、フロー制御部６４により呼び出されたプラグインプログラムをプロセッサが実行することにより実現される。
【００８８】
例えば、処理実行部６１は、文字認識用プラグインプログラムが予め登録されており、文字認識用プラグインプログラムが呼び出されることにより、文字認識処理（ＯＣＲ処理）を実行する。また、例えば、処理実行部６１は、メール配信用プラグインプログラムが予め登録されており、メール配信用プラグインプログラムが呼び出されることにより、メール配信処理を実行する。また、処理実行部６１は、接続用プラグインプログラムが予め登録されており、接続処理プラグインプログラムが呼び出されることにより、詳細を図２０で説明する接続処理を実行する。
【００８９】
ワークフロー記憶部６２は、管理サーバ３１から登録された少なくとも１つのワークフロー情報を記憶する。サーバ内通信部６３は、ネットワーク４０を介して複合機２０および他の情報処理装置等と通信をする。
【００９０】
フロー制御部６４は、サーバ内通信部６３を介して、複合機２０からのワークフロー情報の選択を受け付ける。フロー制御部６４は、選択されたワークフロー情報をワークフロー記憶部６２から読み出して実行する。これとともに、フロー制御部６４は、読み出したワークフロー情報をサーバ内通信部６３を介して複合機２０に送信する。そして、フロー制御部６４は、サーバ内通信部６３を介して複合機２０と対象データのやり取りをして、ワークフロー情報に自身が実行主体として定義されている処理を処理実行部６１に実行させる。
【００９１】
複合機２０は、処理実行部６１と、フロー制御部６４と、複合機内通信部６５と、ログイン部６６と、ワークフロー選択部６７と、機能実行部６８と、機能制御部６９とを備える。
【００９２】
処理実行部６１およびフロー制御部６４は、ワークフローサーバ３０が備える処理実行部６１およびフロー制御部６４と同様の機能および構成を有する。ただし、複合機２０内のフロー制御部６４は、ワークフロー情報を複合機内通信部６５を介して、ワークフローサーバ３０から取得する。
【００９３】
また、複合機２０内の処理実行部６１は、ワークフローサーバ３０の処理実行部６１とは、実行可能な処理の内容が異なっていてもよい。すなわち、複合機２０の処理実行部６１は、ワークフローサーバ３０の処理実行部６１と異なる種類のプラグインプログラムが登録されていてもよい。ただし、複合機２０の処理実行部６１は、少なくとも接続用のプラグインプログラムは予め登録されており、接続処理プラグインプログラムが呼び出されることにより、詳細を図２０で説明する接続処理を実行することができる。
【００９４】
複合機内通信部６５は、ネットワーク４０を介してワークフローサーバ３０と通信をする。ログイン部６６は、ユーザの操作に基づきログイン情報を受け付ける。ワークフロー選択部６７は、選択可能なワークフローのリストを表示して、ユーザの操作に基づき実行するワークフローを選択する。
【００９５】
機能実行部６８は、複合機２０が備える特有の機能を実行する。機能実行部６８は、一例として、スキャン部８１と、プリント部８２と、ファクシミリ部８３と、表示入力部８４とを有する。
【００９６】
スキャン部８１は、原稿台にセットされた用紙をスキャンして画像データを取得する。プリント部８２は、用紙に画像等を印刷する。ファクシミリ部８３は、電話回線を介してファクシミリの送信または受信をする。表示入力部８４は、ユーザに対して情報を表示し、また、ユーザからの操作情報を入力する。
【００９７】
機能制御部６９は、機能実行部６８により実行される機能を制御する。機能制御部６９は、ワークフロー情報に機能実行部６８により実行される処理が定義されている場合には、フロー制御部６４からの呼び出しに応じて機能実行部６８に処理を実行させる。
【００９８】
図１７は、図１５のワークフロー情報を実行した場合のシーケンスを示す図である。複合機２０およびワークフローサーバ３０は、図１５に示すワークフロー情報を実行する場合、図１７に示すようなシーケンスで処理を進める。
【００９９】
まず、ステップＳ２０１において、複合機２０は、ユーザに対してログイン画面を表示する。例えば、複合機２０は、図１８に示すような、ユーザ名およびパスワードの入力を受け付けるログイン画面を表示する。
【０１００】
続いて、ステップＳ２０２において、複合機２０は、ログイン情報を受け付けて、認証を行う。複合機２０は、例えば、ネットワーク４０上に設けられた認証サーバ等に認証情報を送信して、認証サーバに認証処理を依頼する。複合機２０は、認証が成功すると、フローをステップＳ２０３に移行する。
【０１０１】
続いて、ステップＳ２０３において、複合機２０は、ワークフローサーバ３０から実行可能なワークフローのリストを取得し、取得したリストを表示する。例えば、複合機２０は、図１９に示すようなリストを表示する。
【０１０２】
続いて、ステップＳ２０４において、複合機２０は、ユーザからのワークフローの選択を受け付ける。続いて、ステップＳ２０５において、複合機２０は、選択されたワークフローの実行要求をワークフローサーバ３０へ送信する。
【０１０３】
続いて、ステップＳ２０６において、ワークフローサーバ３０は、ワークフローの実行要求を受信して、受信した実行要求に示されたワークフロー情報を読み出す。続いて、ステップＳ２０７において、ワークフローサーバ３０は、読み出したワークフロー情報を複合機２０に送信する。
【０１０４】
そして、ステップＳ２０８およびステップＳ２０９において、複合機２０およびワークフローサーバ３０のそれぞれは、読み出したワークフロー情報に従ったワークフローの実行を開始する。
【０１０５】
ここで、複合機２０およびワークフローサーバ３０のそれぞれは、ワークフロー情報に示された最初の処理が、自身が実行主体となっている場合には、ワークフロー情報の最初の処理から実行を開始する。一方、複合機２０およびワークフローサーバ３０のそれぞれは、ワークフロー情報に示された最初の処理が、自身が実行主体となっていない場合には、ワークフロー情報に示された最初の接続処理に移行して、最初の接続処理を実行する。
【０１０６】
従って、図１５に示すワークフロー情報の場合であれば、複合機２０は、処理１から実行を開始する。ワークフローサーバ３０は、接続処理１．１から処理を開始する。
【０１０７】
続いて、ステップＳ２１０において、複合機２０は、まず、処理１を実行する。続いて、複合機２０およびワークフローサーバ３０は、接続処理１．１を実行する。
【０１０８】
接続処理１．１内では、ステップＳ２１１において、複合機２０およびワークフローサーバ３０は、通信をしてトラッキングを実行する。複合機２０およびワークフローサーバ３０は、トラッキングにおいて、ワークフロー中の処理の位置を同期させる。続いて、ステップＳ２１２において、複合機２０は、処理１の実行結果である対象データをワークフローサーバ３０に送信する。
【０１０９】
ステップＳ２１２を終了すると、複合機２０は、実行主体がワークフローサーバ３０に変更されるので、ワークフロー情報に示された次の接続処理２．１にフローを移行する。また、ワークフローサーバ３０は、ステップＳ２１２を終了すると、実行主体となるので、ワークフロー情報に示された次の処理２にフローを移行する。
【０１１０】
続いて、ステップＳ２１３において、ワークフローサーバ３０は、処理２を実行する。続いて、複合機２０およびワークフローサーバ３０は、接続処理２．１を実行する。
【０１１１】
接続処理２．１内では、ステップＳ２１４において、実行主体であるワークフローサーバ３０は、予め定められた判定条件に従って、次の処理３を複合機２０またはワークフローサーバ３０の何れで実行するかを判定する。判定条件の具体例については、本フローの後に説明する。ここでは、ワークフローサーバ３０は、次の処理３の実行主体が複合機２０であると判定したとする。
【０１１２】
続いて、ステップＳ２１５において、複合機２０およびワークフローサーバ３０は、通信をしてトラッキングを実行する。複合機２０およびワークフローサーバ３０は、トラッキングにおいて、ワークフロー中の処理の位置を同期させる。これとともに、ここでのトラッキングでは、複合機２０は、ワークフローサーバ３０による判定結果を取得する。判定の結果、実行主体が変更されるので、ステップＳ２１６において、ワークフローサーバ３０は、処理２の処理結果である対象データを、複合機２０に送信する。ステップＳ２１６を終了すると、ワークフローサーバ３０は、実行主体が複合機２０に変更されるので、ワークフロー情報に示された次の接続処理３．１にフローを移行する。また、複合機２０は、ステップＳ２１６を終了すると、実行主体となるので、ワークフロー情報に示された次の処理３にフローを移行する。
【０１１３】
続いて、ステップＳ２１７において、複合機２０は、処理３を実行する。続いて、複合機２０およびワークフローサーバ３０は、接続処理３．１を実行する。
【０１１４】
接続処理３．１内では、ステップＳ２１８において、実行主体である複合機２０は、予め定められた判定条件に従って、次の処理４を複合機２０またはワークフローサーバ３０の何れで実行するかを判定する。ここでは、複合機２０は、次の処理４の実行主体が複合機２０であると判定したとする。
【０１１５】
続いて、ステップＳ２１９において、複合機２０およびワークフローサーバ３０は、通信をしてトラッキングを実行する。複合機２０およびワークフローサーバ３０は、トラッキングにおいて、ワークフロー中の処理の位置を同期させる。これとともに、ここでのトラッキングでは、ワークフローサーバ３０は、複合機２０による判定結果を取得する。
【０１１６】
判定の結果、実行主体が変更されないので、ワークフローサーバ３０は、ステップＳ２１９を終了すると、ワークフロー情報に示された次の接続処理４．１にフローを移行する。判定の結果、実行主体が変更されないので、複合機２０は、処理３の処理結果である対象データを、ワークフローサーバ３０へとは送信せずに、ワークフロー情報に示された次の処理４にフローを移行する。
【０１１７】
続いて、ステップＳ２２０において、複合機２０は、処理４を実行する。続いて、複合機２０およびワークフローサーバ３０は、接続処理４．１を実行する。
【０１１８】
接続処理４．１内では、ステップＳ２２１において、複合機２０およびワークフローサーバ３０は、通信をしてトラッキングを実行する。複合機２０およびワークフローサーバ３０は、トラッキングにおいて、ワークフロー中の処理の位置を同期させる。続いて、ステップＳ２２２において、複合機２０は、処理４の実行結果である対象データをワークフローサーバ３０に送信する。
【０１１９】
ステップＳ２２２を終了すると、複合機２０は、実行主体がワークフローサーバ３０に変更され、以後、ワークフロー情報に接続処理が存在しないので、ワークフロー情報に従ったワークフローの実行を終了する。また、ワークフローサーバ３０は、ステップＳ２２２を終了すると、実行主体となるので、ワークフロー情報に示された次の処理５に移行する。
【０１２０】
そして、ステップＳ２２３において、ワークフローサーバ３０は、処理５を実行する。続いて、ステップＳ２２４において、ワークフローサーバ３０は、処理６を実行する。そして、ステップＳ２２４を終了すると、以後、ワークフロー情報に処理が存在しないので、複合機２０は、ワークフロー情報に従ったワークフローの実行を終了する。
【０１２１】
以上のように、複合機２０およびワークフローサーバ３０は、ワークフロー情報に定義された複数の処理を互いに連携して順次に実行することができる。
【０１２２】
ここで、ワークフロー情報に、複合機２０およびワークフローサーバ３０の選択された一方の情報処理装置で処理を実行すると定義されている場合、例えば、次のような判定条件で選択を行う。
【０１２３】
例えば、複数の複合機２０がネットワーク４０に接続されている場合、管理者が予め複数の複合機２０のそれぞれをグルーピングしておく。そして、接続処理において、複合機２０またはワークフローサーバ３０は、複合機２０が予め設定されたグループに属するか否かを判定し、予め設定されたグループに属する場合には、実行主体を複合機２０とし、属さない場合には実行主体をワークフローサーバ３０とする。
【０１２４】
管理者は、例えば、複合機２０の通信速度に応じてグルーピングをしてもよい。この場合、接続処理において、複合機２０またはワークフローサーバ３０は、複合機２０が例えば通信速度の速いグループに属する場合には、実行主体を複合機２０として、属さない場合には実行主体をワークフローサーバ３０とする。これにより、複合機２０またはワークフローサーバ３０は、通信速度に基づき、次の処理の実行主体を選択することができる。
【０１２５】
また、複合機２０の通信速度に応じたグルーピングを、管理者が設定するのではなく、管理サーバ３１等が、動的に行ってもよい。例えば、管理サーバ３１は、複数の複合機２０のそれぞれにテストパケットを送信して、ネットワーク的な時間距離を測定してグルーピングをしてもよい。また、管理サーバ３１は、定期的にテストパケットを送信して、グルーピングを変更してもよい。また、管理サーバ３１は、時間帯に応じたネットワーク的な時間距離の統計を算出して、算出した統計に基づきグルーピングを変更してもよい。また、管理サーバ３１は、テストパケットを送信するのではなく、実際のアクセス時のネットワーク速度を測定および履歴化して、グルーピングを変更してもよい。
【０１２６】
また、複合機２０またはワークフローサーバ３０は、複合機２０のプロセッサの負荷率またはワークフローサーバ３０のプロセッサの負荷率に基づき、次の処理の実行主体を選択してもよい。例えば、複合機２０またはワークフローサーバ３０は、複合機２０のプロセッサの負荷率が予め定められた閾値より低ければ、処理主体を複合機２０とする。また、例えば、複合機２０またはワークフローサーバ３０は、ワークフローサーバ３０のプロセッサの負荷率が予め定められた閾値より低ければ、処理主体をワークフローサーバ３０としてもよい。これにより、複合機２０およびワークフローサーバ３０は、負荷率の低いリソースを有効に利用して、効率良く処理を実行することができる。
【０１２７】
また、複合機２０またはワークフローサーバ３０は、対象データのデータ量に基づき、次の処理の実行主体を選択してもよい。例えば、複合機２０またはワークフローサーバ３０は、対象データのデータ量が予め定められた閾値より小さければ、処理主体を複合機２０とする。これにより、複合機２０およびワークフローサーバ３０は、比較的に軽い処理を複合機２０に実行させ、比較的に重い処理をワークフローサーバ３０に実行させることができる。
【０１２８】
複合機２０またはワークフローサーバ３０の実行主体である一方は、接続処理において、他方との間の通信が不能である場合には、次の処理の実行主体を変更しないでもよい。つまり、第１の情報処理装置および第２の情報処理装置の間で複数の処理を実行している場合であれば、接続処理において、第１の情報処理装置は、第２の情報処理装置との通信が不能である場合には、次の処理の実行主体を第１の情報処理装置とする。第１の情報処理装置および第２の情報処理装置は、通信が不能であっても、処理を継続することができる。
【０１２９】
図２０は、接続処理のフローを示す図である。複合機２０およびワークフローサーバ３０のそれぞれは、接続処理において、図２０に示す処理を実行する。なお、ここでは、複合機２０の処理として説明をするが、ワークフローサーバ３０も同様の処理を実行する。
【０１３０】
まず、ステップＳ３１１において、複合機２０は、直前の処理において、実行主体であったか否かを判断する。複合機２０は、直前の処理において実行主体であった場合には（ステップＳ３１１のＹｅｓ）、ステップＳ３１２にフローを移行する。
【０１３１】
ステップＳ３１２において、複合機２０は、ワークフロー情報に次の処理の実行主体が自律選択装置と定義されているか否かを判断する。すなわち、複合機２０は、次の処理が、複合機２０またはワークフローサーバ３０のうち予め定められた判定条件に従い選択された一方が実行主体となる処理であるかを判断する。複合機２０は、次の処理が、複合機２０またはワークフローサーバ３０のうち選択された一方が実行主体となる場合（ステップＳ３１２のＹｅｓ）には、ステップＳ３１３にフローを移行する。複合機２０は、次の処理が、複合機２０またはワークフローサーバ３０のうち選択された一方が実行主体ではない、つまり、ワークフローサーバ３０が実行主体である場合（ステップＳ３１２のＮｏ）には、ステップＳ３１７にフローを移行する。
【０１３２】
続いて、ステップＳ３１３において、複合機２０は、判定条件および評価情報を取得する。複合機２０は、一例として、複合機２０が属するグループ、複合機２０の通信速度、複合機２０またはワークフローサーバ３０のプロセッサの負荷率または対象データのデータ量等の判定条件および評価情報を取得する。
【０１３３】
続いて、ステップＳ３１４において、ワークフローサーバ３０は、取得した判定条件および評価条件に基づき、複合機２０またはワークフローサーバ３０のうち何れかが実行主体となるかを判断する。判定の結果、実行主体が変更する場合には（ステップＳ３１４のＹｅｓ）、複合機２０は、フローをステップＳ３１７に移行する。判定の結果、実行主体が変更しない場合には（ステップＳ３１４のＮｏ）、複合機２０は、フローをステップＳ３１５に移行する。
【０１３４】
ステップＳ３１５において、複合機２０は、ワークフローサーバ３０との間で通信をしてトラッキングを実行する。このトラッキングにおいて、複合機２０は、ワークフローサーバ３０との間でワークフロー中の処理の位置を同期させるとともに、ワークフローサーバ３０に実行主体が変更しないことを通知する。
【０１３５】
続いて、ステップＳ３１６において、複合機２０は、ワークフロー情報における実行位置を次の処理に移行させる。そして、複合機２０は、ステップＳ３１６を終了すると、本接続処理を終了する。
【０１３６】
また、ステップＳ３１７において、複合機２０は、ワークフローサーバ３０との間で通信をしてトラッキングを実行する。これにより、複合機２０は、このトラッキングにおいて、ワークフローサーバ３０との間でワークフロー中の処理の位置を同期させるとともに、ワークフローサーバ３０に実行主体が変更することを通知する。
【０１３７】
続いて、ステップＳ３１８において、複合機２０は、対象データをワークフローサーバ３０に送信する。
【０１３８】
続いて、ステップＳ３１９において、複合機２０は、ワークフロー情報を解析して、本接続処理の後続に、他の接続処理が存在するか否かを判断する。すなわち、複合機２０は、以後の処理において、実行主体となる可能性があるか否かを判断する。後続に、他の接続処理が存在しない場合には（ステップＳ３１９のＮｏ）、複合機２０は、以後、ワークフロー情報に従った処理を実行しないので、ワークフローの実行を終了する。
【０１３９】
後続に他の接続処理が存在する場合には（ステップＳ３１９のＹｅｓ）、複合機２０は、以後もワークフロー情報に従った処理を実行する可能性があるので、フローをステップＳ３２０に移行する。ステップＳ３２０において、複合機２０は、ワークフロー情報における実行位置を次の接続処理に移行させる。そして、複合機２０は、ステップＳ３２０を終了すると、本接続処理を終了する。
【０１４０】
一方、複合機２０は、ステップＳ３１１の判断において直前の処理において実行主体でなかった場合には（ステップＳ３１１のＮｏ）、ステップＳ３２１にフローを移行する。
【０１４１】
ステップＳ３２１において、複合機２０は、ワークフローサーバ３０との間で通信をしてトラッキングを実行する。このトラッキングにおいて、複合機２０は、ワークフローサーバ３０が対応する接続処理するまで処理を待機して、ワークフローサーバ３０との間でワークフロー中の処理の位置を同期させる。そして、このトラッキングにおいて、複合機２０は、実行主体が変更するか否かの情報を、ワークフローサーバ３０から受信する。
【０１４２】
続いて、ステップＳ３２２において、複合機２０は、トラッキングの結果、実行主体が変更しない場合には（ステップＳ３２２のＮｏ）、フローをステップＳ３１９に移行する。そして、複合機２０は、後続に他の接続処理が存在するか否かを判断し（ステップＳ３１９）、他の接続処理が存在しない場合には（ステップＳ３１９のＮｏ）、ワークフローの実行を終了し、他の接続処理が存在する場合には（ステップＳ３１９のＹｅｓ）、実行位置を次の接続処理に移行させる（ステップＳ３２０）。
【０１４３】
トラッキングの結果、実行主体が変更する場合には（ステップＳ３２２のＹｅｓ）、複合機２０は、フローをステップＳ３２３に移行する。ステップＳ３２３において、複合機２０は、対象データをワークフローサーバ３０から受信する。続いて、ステップＳ３２４において、複合機２０は、ワークフロー情報における実行位置を次の処理に移行させる。そして、複合機２０は、ステップＳ３２４を終了すると、本接続処理を終了する。
【０１４４】
以上の説明のように、本実施形態に係る情報処理システム１０によれば、ワークフロー情報により定義された複数の処理を、複数の情報処理装置（例えば、複合機２０およびワークフローサーバ３０）が連携して効率良く実行することができる。さらに、本実施形態に係る情報処理システム１０は、１つの処理を、複数の情報処理装置のうち予め定められた判定条件に従って選択された一つの情報処理装置が実行することもできる。これにより、情報処理システム１０によれば、より自由度の高いワークフローを実行することができる。
【０１４５】
図２１は、実施形態に係る情報処理システム１０がクラウドシステム５００に適用された場合の構成を示す図である。
【０１４６】
本実施形態の情報処理システム１０は、クラウドシステム５００に適用することもできる。クラウドシステム５００は、一例として、企業内ネットワークシステム５１０と、サービス提供システム５２０とを備える。企業内ネットワークシステム５１０とサービス提供システム５２０とはインターネットを介して接続される。
【０１４７】
企業内ネットワークシステム５１０では、複合機２０およびクライアント端末２１等が、ネットワーク４０を介して接続される。また、企業内ネットワークシステム５１０内の各機器は、ファイアウォール５１１を介して、外部のサーバ等と接続される。従って、複合機２０等は、外部のサーバ等へとアクセスできるが、サーバ等から直接アクセスはされない。
【０１４８】
サービス提供システム５２０は、複数のサービス提供装置５２２を有する。複数のサービス提供装置５２２は、複数台の情報処理装置により構成されていてもよいし、複数の装置が１台の情報処理装置により構成されていてもよい。
【０１４９】
ここで、ある１つのサービス提供装置５２２は、情報処理システム１０におけるワークフローサーバ３０の機能を、企業内ネットワークシステム５１０内の複合機２０等に提供する。
【０１５０】
アクセス制御装置５２１は、企業内ネットワークシステム５１０内の複合機２０等が、サービス提供システム５２０にアクセスするための認証を行う。ここで、サービス提供システム５２０への認証には、例えば企業毎に割り当てられた組織コードと呼ばれるコードが用いられる。企業内ネットワークシステム５１０内の各機器は、アクセス制御装置５２１による認証が成功すると、それぞれのサービス提供装置５２２にアクセスすることができる。
【０１５１】
このようなクラウドシステム５００によれば、ワークフローサーバ３０を企業内ネットワークシステム５１０内に設けなくてもよいので、高価なサーバ等を設置せずにワークフローサーバ３０の機能を実現することができる。
【０１５２】
図２２は、クラウドシステム５００での複合機２０とワークフローサーバ３０との間のデータのやり取りの一例を示す図である。
【０１５３】
このようなクラウドシステム５００の場合、ファイアウォール５１１が存在するので、複合機２０からワークフローサーバ３０へとアクセスすることは可能であるが、ワークフローサーバ３０から複合機２０へアクセスすることは困難である。
【０１５４】
そこで、クラウドシステム５００では、ワークフローサーバ３０から複合機２０へと対象データ等を送信する場合には、複合機２０からワークフローサーバ３０へのアクセスに対するレスポンスに、対象データ等を含める。例えば、クラウドシステム５００では、接続処理におけるトラッキングおよび対象データの送信において、必ず複合機２０側からワークフローサーバ３０へとアクセスする。これにより、複合機２０およびワークフローサーバ３０は、ファイアウォール５１１が存在しても、接続処理において必要なデータの送信および受信が可能となる。
【０１５５】
以上、本実施の形態の情報処理装置（複合機２０およびワークフローサーバ３０等）は、ＣＰＵなどの制御装置と、ＲＯＭ（Read  Only  Memory）やＲＡＭなどの記憶装置と、ＨＤＤ、ＣＤドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１５６】
本実施形態の情報処理装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１５７】
また、本実施形態の情報処理装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の情報処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、本実施形態のプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１５８】
本実施の形態の情報処理装置で実行されるプログラムは、上述した各部（処理実行部６１およびフロー制御部６４）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、処理実行部６１およびフロー制御部６４が主記憶装置上に生成されるようになっている。
【符号の説明】
【０１５９】
１０  情報処理システム
２０  複合機
２１  クライアント端末
２２  携帯機器
３０  ワークフローサーバ
３１  管理サーバ
３２  管理者端末
４０  ネットワーク
４１  画面データ記憶部
４２  装置リストテーブル記憶部
４３  接続情報記憶部
４４  画面データ送信部
４５  ワークフロー情報受信部
４６  再構成部
４７  登録部
５１  画面データ受信部
５２  制御部
５３  ワークフロー情報送信部
６１  処理実行部
６２  ワークフロー記憶部
６３  サーバ内通信部
６４  フロー制御部
６５  複合機内通信部
６６  ログイン部
６７  ワークフロー選択部
６８  機能実行部
６９  機能制御部
７１  処理部
８１  スキャン部
８２  プリント部
８３  ファクシミリ部
８４  表示入力部
１０１  論理フロー領域
１０２  物理フロー領域
１０３  処理リスト領域
１０４  装置リスト領域
１１０  コントローラ
１１１  ＣＰＵ
１１２  ＡＳＩＣ
１１３  ＮＢ
１１４  ＳＢ
１１５  ＭＥＭ−Ｐ
１１６  ＭＥＭ−Ｃ
１１７  ＨＤＤ
１１８  メモリカードスロット
１１９  ＮＩＣ
１２０  ＵＳＢデバイス
１２１  ＩＥＥＥ１３９４デバイス
１２２  セントロニクスデバイス
１２４  メモリカード
１２５  オペレーションパネル
１２６  ＦＣＵ
１２７  撮像部
１２８  印刷部
３０１  ＣＰＵ
３０２  ＲＯＭ
３０３  ＲＡＭ
３０４  ＨＤＤ
３０５  グラフィックボード
３０６  入力装置
３０７  メディアドライブ
３０８  ネットワーク通信部
３２０  ディスプレイ
５００  クラウドシステム
５１０  企業内ネットワークシステム
５１１  ファイアウォール
５２０  サービス提供システム
５２１  アクセス制御装置
５２２  サービス提供装置
【先行技術文献】
【特許文献】
【０１６０】
【特許文献１】特開２００９−１４０４０１号公報
【図１】
2015060247.tif 000003
【図２】
2015060247.tif 000004
【図３】
2015060247.tif 000005
【図４】
2015060247.tif 000006
【図５】
2015060247.tif 000007
【図６】
2015060247.tif 000008
【図７】
2015060247.tif 000009
【図８】
2015060247.tif 000010
【図９】
2015060247.tif 000011
【図１０】
2015060247.tif 000012
【図１１】
2015060247.tif 000013
【図１２】
2015060247.tif 000014
【図１３】
2015060247.tif 000015
【図１４】
2015060247.tif 000016
【図１５】
2015060247.tif 000017
【図１６】
2015060247.tif 000018
【図１７】
2015060247.tif 000019
【図１８】
2015060247.tif 000020
【図１９】
2015060247.tif 000021
【図２０】
2015060247.tif 000022
【図２１】
2015060247.tif 000023
【図２２】
2015060247.tif 000024